MATLAB在巴特沃思低通滤波器设计中的应用研究.docx
- 文档编号:30146511
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:37
- 大小:177.63KB
MATLAB在巴特沃思低通滤波器设计中的应用研究.docx
《MATLAB在巴特沃思低通滤波器设计中的应用研究.docx》由会员分享,可在线阅读,更多相关《MATLAB在巴特沃思低通滤波器设计中的应用研究.docx(37页珍藏版)》请在冰豆网上搜索。
MATLAB在巴特沃思低通滤波器设计中的应用研究
MATLAB在巴特沃思低通滤波器设计中的应用研究
摘要
本文首先论述了滤波器,介绍了滤波器的分类、数字滤波器的概念和设计方法概述及模拟滤波器的设计,重点论述了低通巴特沃思滤波器的设计理论,介绍了FIR和IIR数字滤波器的设计原理及设计理论,在对MATLAB进行了较为细致和全面的论述后,重点研究了MATLAB的应用,最后论述了低通巴特沃思滤波器的MATLAB实现。
配以实际的MATLAB实验应用程序及程序运行结果全面讲解有关低通滤波器的最新设计理念。
利用MATLAB可节省大量的编程时间。
将其用于数字信号处理实验,则可大大提高实验效率,在有限的上机时间内,实验内容可增加几倍。
另外,MATLAB的工具箱及图形显示(打印)功能,可满足各层次人员直观、方便地进行分析、计算和设计工作,从而可大大节省时间,在美国的一些大学里,MATLAB已经成为辅助教学的有益工具。
因此本文用重点的篇幅介绍了MATLAB。
关键词:
巴特沃思滤波器矩阵实验室数字信号处理
TheMATLABisinthedesignofButterworthLow-passFilter
ABSTRACT
Thepaperintroducesthedefinition,classificationandmethodofdigitalfilters,especiallyfocusedonthedesignofButterworthlow-passfilterandthetheoryofFIRandIIRdigitalfilter.ThemethodissimulatedinMatlab,theresultofsimulationshowagoodperformance.
ItcouldsavealotoftimeandimproveefficiencytouseMatlab.ThetoolboxesandpicturefunctionsofMatlabareconvenientforustoanalyze,designandcompute,andsavemuchtime.Matlabhasbecomeausefultoolforeducationnowadays,thusthispaperintroducesitespecially.
KeyWords:
Butterworthfilter;Matrixlab;DigitalSignalProcessing.
第一章前言
1.1课题背景
数字信号处理器(DSP)己经发展了20多年,最初仅在信号处理领域内应用,近年来随着半导体技术的发展,其高速运算能力使很多复杂的控制算法和功能得以实现,同时将实时处理能力和控制器的外设功能集于一身,在控制领域内也得到很好的应用。
数字控制系统克服了模拟控制系统电路功能单一、控制精度不高的缺点,它抗干扰能力强,可靠性高,可实现复杂控制,增强了控制的灵活性。
所谓信号处理是指对信号进行滤波、变换、分析、加工、提取特征参数等的过程。
因而滤波器的研究显得尤为重要。
滤波器主要有模拟滤波器和数字滤波器,而在数字信号处理中,数字滤波占有极其重要的地位[1]。
数字滤波是语音和图像处理、模式识别、谱分析等应用中的一个基本处理算法。
在许多信号处理应用中使用数字滤波器代替模拟滤波器是有利的。
数字滤波器容易实现不同的幅度和相位频率特性指标,克服与模拟滤波器器件性能相关的电压漂移、温度漂移和噪声问题。
几乎每一科学和工程领域例如声学、物理学、通信、数据通信、控制系统和雷达都涉及信号。
在许多应用中都希望根据期望的指标把一个信号的频谱加以修改、整形或运算。
这些过程都可能包含衰减一个频率范围阻止或隔离一些频率成分。
数字滤波器扩展了应用范围,例如数字图像处理、模式识别、谱分析等。
数字滤波器在数字信号处理中占有重要的地位,数字滤波器又分为无限冲激响应滤波器(IIR)和有限冲激响应滤(FIR)滤波器,有限冲激响应滤(FIR)滤波器具有不含反馈环路、结构简单以及可以实现的严格线性相位等优点,因而在对相位要求比较严格的条件下,易采用FIR数字滤波器。
同时,由于在许多场合下,需要对信号进行实时处理,因而对于单片机的性能要求也越来越高。
普通的单片机例如MCS51难以满足这一要求。
由于DSP控制器具有许多独特的结构,例如采用多组总线结构实现并行处理,独立的累加器和乘法器以及丰富的寻址方式,采用DSP控制器就可以提高数字信号处理运算的能力,可以对数字信号做到实时处理,用可编程DSP芯片实现数字滤波可通过修改滤波器的参数十分方便改变滤波器的特性[2]。
1.2发展概况
随着数字信号处理的发展,数字滤波器的应用范围越来越广,例如数字图像处理、模式识别、谱分析等。
数字信号处理(DigitalSignalProcessing)是利用专用处理器或计算机,以数字的形式对信号进行采样、变换、滤波、增强、压缩、识别等处理,以得到符合人们要求的信号形式。
数字信号处理器(DigitalSignalProcessor,简称DSP)是一种处理数字信号的专用微处理器,主要应用于实时快速地实现各种信号的数字处理算法。
它在结构上针对数字信号处理的特点进行了改进和优化,并且增加了特殊的指令专门用于数字处理,因而处理速度更快,效率更高。
一个带宽受限的连续时间信号能够通过采样的方法变换成离散时间信号,经过处理后离散时间信号能够转换回连续时间信号。
有限长单位冲激响应(FIR)数字滤波器,与传统的通过硬件电路实现的模拟滤波器相比有以下几大优点[3]:
(1)简化了硬件电路的设计,提高了硬件电路的集成度和可靠性。
(2)对干扰信号的抑制能力有了明显提高,这对系统的控制精度和稳定性的提高起到了促进作用。
(3)数字滤波器的参数调节比起模拟滤波器来更加方便、灵活。
在上一个世纪中,滤波器的发展经历了从无源到有源和从模拟到数字两个过程。
高精度无源滤波器从设计到制造都是难度非常高的技术。
有源滤波器虽然很大地改进了滤波器的性能,也降低了一些制造工艺的难度,但从其性能的大幅度改进,与其它信号处理技术的结合,实现的手段之便捷,还是要数数字滤波器后来居上。
随着电子工业的发展,对滤波器的性能要求越来越高,功能也越来越多,并且要求它们向集成方向发展。
我国滤波器研制和生产与上述要求相差甚远,为缩短这个差距,电子工程和科技人员负有重大的历史责任[4]。
第二章模拟滤波器与数字滤波器的比较
滤波器的应用已经变得越来越广泛,而滤波器主要分为经典滤波器和现代滤波器。
目前主要研究的是经典滤波器,主要包括数字滤波器和模拟滤波器,而数字滤波器又分为无限冲激响应滤波器和有限冲激响应滤波器。
数字滤波器在现代研究和开发中起的作用也越来越大,主要是因为相对于模拟滤波器,数字滤波器具有以下显著优点:
(1)精度高:
模拟电路中元件精度很难达到高精度,而数字系统17位字长就可以达到很高的精度。
因此在一些精度要求很高的滤波系统中,就必须采用数字滤波器来实现。
(2)灵活性大:
数字滤波器的性能主要取决于乘法器的各系数,而这些系数是存放在系数存储器中的,只要改变存储器中存放的系数,就可以得到不同的系统,这些都比改变模拟滤波器系统的特性要容易和方便的多,因而具有很大的灵活性。
(3)可靠性高:
因为数字系统只有两个电平信号:
"1”和“0",受噪声及环境条件的影响小,而模拟滤波器各个参数都有一定的温度系数,易受温度、振动、电磁感应等影响。
并且数字滤波器多采用大规模集成电路,如用CPLD或FPGA来实现,也可以用专用的DSP处理器来实现,这些大规模集成电路的故障率远比众多分立元件构成的模拟系统的故障率低。
(4)易于大规模集成:
因为数字部件具有高度的规范性,便于大规模集成,大规模生产,且数字滤波电路主要工作在截止或饱和状态,对电路参数要求不严格,因此产品的成品率高,价格也日趋降低。
相对于模拟滤波器,数字滤波器在体积、重量和性能方面的优势己越来越明显。
比如在用一些用模拟网络做的低频滤波器中,网络的电感和电容的数值会大到惊人的程度,甚至不能很好地实现,这时候若采用数字滤波器则方便的多。
(5)并行处理:
数字滤波器的另外一个最大优点就是可以实现并行处理,比如数字滤波器可采用DSP处理器来实现并行处理。
TI公司的TMS320C5000系列的DSP芯片采用8条指令并行处理的结构,时钟频率为l00MHZ的DSP芯片,这时可高达800MIPS(即每秒执行百万条指令)。
两类数字滤波器无论是在性能上还是在设计方法上都有着很大的区别。
FIR滤波器可以对给定的频率特性直接进行设计,而IIR滤波器设计则需要先用模拟滤波器的设计方法进行设计,然后再转换为满足预定指标的数字滤波器。
理想滤波器物理上是不可实现的。
其原因是从一个频带到另一个频带之间的突变在物理上是无法实现的。
为了物理上的实现,应从一个频带到另一个频带之间应设置一个过渡带,且在通带和止带之间不应该严格为1或0,应给以较小的容限。
数字滤波器的技术要求,
分别是通带、阻带的容限,但具体技术指标往往由通带允许的最大衰减
及阻带应达到的最小衰减
给出。
由于在数字滤波器中
是用弧度表示的,而实际上给出的频率要求往往是频率
,单位为Hz,因此在数字滤波器的设计中还应给出抽样频率
。
不论是IIR滤波器还是FIR滤波器的设计都包括三个步骤:
(1)给出所需要的滤波器的技术指标;
(2)设计一个H(z)使其逼近所需要的技术指标;
(3)实现所设计的H(z):
一般来讲,滤波器的性能要求往往以频率响应的幅度特性的允许误差来表征。
滤波器在其实现方法上,有IIR滤波器和FIR滤波器之分。
目前,IIR数字滤波器设计的通用方法是借助于模拟滤波器的设计方法。
模拟滤波器设计已经有了一套相当成熟的方法,有比较完整的设计公式和较完整的图表供查询。
但是它需要先设计模拟滤波器,然后进行数字化,这将造成非线性相移。
例如,模拟频率
与数字频率
之间的双线性变换公式为:
(2-1)
上式T为抽样周期。
从上式可以看到频率
只与
之间存在着严重的非线性关系。
这就使得一个线性相位的模拟滤波器经双线性变换后得到非线性相位的数字滤波器,不再保持原有的线性相位了。
其它IIR滤波器设计方法也同样存在这样的问题。
这种非线性关系不能够满足对程序运行周期要求十分严格的DSP技术。
在现代电子系统、图像处理、数据传输等波形传递系统中,以及动力学信号分析中都越来越多的要求信道具有线性的相位特性。
在这方面,FIR滤波器具有独到的优点。
它可以在幅度特性随意设计的同时,保证精确、严格的线性相位。
FIR有限长单位冲击响应数字滤波器的设计方法主要有窗函数法和频率抽样设计法两种。
窗函数法是从时域出发,把理想的
用一定形状的窗函数截取成有限长
,以此
来近似理想的
。
用这样得到的频率响应
逼近所要求的理想的频率响应
。
频率抽样法是从频域出发,把给定的理想频率响应
加以等间隔抽样,这种方法较窗函数法设计复杂,不易于用软件实现[5]。
2.1模拟滤波器及其设计方法
电子产品中信号处理几乎都会使用到滤波器,目前电子产品中大都使用阻容元件的模拟滤波器,模拟滤波器是现代测控系统中的重要部件,传统设计方法的设计过程繁琐。
对传统方法与MATLAB编程方法进行了比较,研究了用MATLAB实现巴特沃思滤波器的设计,只要改变程序中相应的参数可以很容易地实现低通、高通、带通、带阻滤波器,简化了模拟滤波器的设计。
在测控系统中,传感器输出的信号往往混有噪声干扰,虽然可以采取合理布线及屏蔽技术等措施来防止噪声进入系统,但信号中仍含有不可忽略的噪声,通常采用模拟滤波器来消除这些噪声。
因此,设计一个合理的模拟滤波器是测控系统中一个非常重要的环节。
使用MATLAB设计模拟滤波器时,对于不同的设计要求,只需修改程序中的参数,运行后即可得到相应的阶数和截止频率,避免了复杂的运算及查表,因此,用MATLAB可以简化模拟滤波器的设计。
利用MATLAB不仅可以设计巴特沃思滤波器而且也可以设计切比雪夫滤波器等,设计简单、直观。
无限冲激响应(IIR)数字滤波器是数字信号处理中最重要的研究内容之一。
其设计方法有许多种,应用最为广泛的是借助于模拟滤波器的方法,即先设计模拟滤波器,然后利用双线性变换将模拟滤波器转换为数字滤波器。
在这种方法中,核心部分就是模拟滤波器的设计。
另外,模拟滤波器本身在网络分析中也具有重要意义。
在目前已出版的各种有关数字信号处理的专著中,对模拟滤波器的设计往往只是从一些特殊情况入手考虑,讨论过于简单,方法上也有所差异;加之各自用的符号体系相互间差别很大,难以兼容,因而缺乏统一的、适合于一般情况下的设计方法。
针对上面的问题提出了一种统一的模拟滤波器设计方法,特点是采用一套兼容性较好的符号体系,概括并包含了一般文献中的各种设计思想和方法,具有普遍的适用性,物理意义直观、清晰,便于操作和使用。
在模拟滤波器设计中,最为关键的是设计低通滤波器(LP)。
只要设计好了低通,则其它类型滤波器的传输函数便可通过频率变换由低通滤波器的传输函数求得。
所以低通滤波器也称原型低通滤波器。
模拟滤波器设计步骤主要分为3步:
1由给定的待设计滤波器技术要求,利用
将其转换为原型低通滤波器的技术要求。
2设计原型低通滤波器。
根据得到的原型低通的技术要求,求出N,
,进而利用查表法得到
和
(2-3)
③频率变换。
利用S=f(S’)便可得到待设计滤波器的转移函数[6]。
例如一900MHz巴特沃思低通滤波器的设计如下:
随着移动通信业务的广泛应用和普及,人们对移动通信的质量也提出了越来越高的要求,因此对于移动通信设备的设计与制造就受到了格外的重视。
900MHz滤波器是移动通信设备中的一个十分重要的部件,在对贝塞尔、契比雪夫、巴特沃思滤波器进行比较的基础上,认定巴特沃思滤波器有更好的滤波特性,因此选定巴特沃思滤波器。
设计滤波器首先应确定滤波器的阶数、信源内阻和负载电阻,然后查巴特沃思滤波器的参数表,得到在归一化角频率和归一化阻抗情况下滤波器各元件的参数,再将它们转换成900MHz工作频率和工作阻抗时的值,即可得到所设计的滤波器电路。
现取阶数n=5,并假设信源内阻和负载电阻均为508
,经查巴特沃思滤波器的参数表,得到归一化角频率和归一化阻抗情况下低通滤波器各元件的参数。
在进行上述工作的基础上,将滤波器各元件的参数转换成900MHz工作频率和工作阻抗时的值,其电容采用导纳参数、电感采用阻抗参数,转换的公式如式(2-4):
(2-4)
通过式(2-4)转换出的参数即为滤波器电路设计的参数。
滤波器设计和搭接后,需连接到相应的仪表上进行测试,以确定其品质的优劣。
测试的方法是,先将所设计的滤波器电路加载,然后:
(1)接到频谱分析仪上进行测试,测试频率的范围为400MHz~3.0GHz通过测试直接得到巴特沃思低通滤波器的特性曲线,如图2.1所示:
图2.1巴特沃思低通滤波器的特性曲线
图中A曲线是传输特性曲线,B曲线是反射特性曲线
对于900MHz巴特沃思低通滤波器的设计,由于其工作频率较高,必须对阻抗匹配的性能进行认真研究,特别是该滤波器具有中等加载的Q值,在设计中,经过选择阶数n和元件参量计算(注意精度)等过程后,一定要运用向量网络分析仪对加载后S11参量的复域轨迹进行分析,这是保证设计优化的重要手段。
当匹配性能不满足设计要求时,应适当增加滤波器的阶数。
2.2数字滤波器及其设计方法
数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用。
它是通过对采样数据信号进行数学运算处理来达到滤波的目的。
滤波器有模拟滤波器和数字滤波器两种形式,从功能上又可分为:
低通、高通、带通和带阻滤波器。
如果滤波器的输入和输出都是离散时间信号,则该滤波器的冲击响应也必然是离散的,这种滤波器定义为数字滤波器,它通过对时域中离散的采样数据作差分方程运算来达到滤波目的。
有限冲击响应滤波器,简称FIR(FiniteImpulseResponse)型,此时系统的输出仅与输入有关,这是一种非递归型滤波器;当系数不全为零时,滤波器为无限冲击响应滤波器,简称IIR(InfiniteImpulseResponse)型,此时系统的输出与输入和输出都有关,这是一种递归型滤波器。
数字滤波器是对一个数字信号(数字序列)按一定要求进行运算,然后以数字形式输出的系统。
数字滤波器有时可理解为一个计算程序或算法。
数字滤波器可以分为无限冲激响应(IIR)数字滤波器和有限冲激响应(FIR)数字滤波器两种。
数字滤波器的常用设计方法有窗函数法、频率采样法、等波纹法等,这些方法都可以保证线性相位和系统的可实现。
但前二者都是在线性相位条件约束下,简单地选取有限项正弦(余弦)函数的线性组合去逼近希望的频率响应特性,没有考虑任何最优化原则(矩形窗除外,它满足频域最小均方误差准则)。
等波纹法根据设计要求,使整个逼近频率区域(通带和阻带)上逼近误差的绝对值的最大值最小,使误差在整个逼近域上均匀分布。
对于同样的技术指标,等波纹逼近法所需的阶数要比其他设计法低。
阶数固定时,这种逼近的最大误差最小。
假若数字滤波器设计目标是模拟具有无限长单位冲激响应的模拟滤波器,那么采用无限长单位冲激响应滤波器,并且采用冲激响应不变法进行变换。
以MatLab作为计算工具来确定数字滤波器的阶数和传递参数。
其中无限冲击响应数字滤波器也称IIR是采用对离散采样数据作差分方程运算来进行滤波。
IIR数字滤波器设计最有效的方法是采用双线性变换法,该方法不是直接设计出数字滤波器而是把数字滤波器规定的幅频响应技术指标等效地转化为一个发展很成熟的模拟滤波器[7]。
第三章MATLAB语言的特点及应用进行分析
3.1MATLAB语言简介
MATLAB工具是国内外广泛流行的数学计算软件。
MATLAB诞生在20世纪70年代,它的编写者是CleveMole博士和他的同事。
当时,CleveMoler博士和他的同事开发了EISPACK和FORTRAN子程序库。
这两个程序库主要是求解线性方程的程序库。
但是,CleveMoler发现学生使用这两个程序库时有困难,主要是接口程序不好写,很浪费时间。
于是CleveMoler自己动手,在业余时间里编写了EISPACK和LINPACK的接口程序。
CleveMoler给这个接口程序取名为MATLAB,意思为矩阵(MATRIX)和实验室(LABORATORY)的组合。
由于MATLAB中的数字图像是以矩阵形式表示的,利用MATLAB强大的矩阵运算能力进行数字图像处理非常方便,应用简单、效果好。
MATLAB是当前在国内外十分流行的工程设计和系统仿真软件包。
它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。
MATLAB的推出得到了各个领域专家、学者的广泛关注,其强大的扩展功能为各个领域的应用提供了基础。
由各个专家学者相继推出了MATLAB工具箱,其中的信号处理(signalprocessing)、控制系统(controlsystem)、神经网络(neuralnetwork)、图像处理(imageprocessing),健壮控制(robustcontrol)、非线性系统控制设计(nonlinearsystemcontroldesign)、系统辨识(systemidentification)、最优化(optimization)、模糊逻辑(fuzzylogic)、小波(wavelet)、通信(communication)、统计(statistics)等工具箱,这些工具箱给各个领域的研究和工程应用提供了有力的工具,借助于这些“巨人肩上的工具”,各个层次的研究人员可直观、方便地进行分析、计算及设计工作,从而大大地节省了时间。
MATLAB名字由Matrix和Laboratory两词的前三个字母组合而成,亦即矩阵实验室,是MathWorks公司于1982年推出的一套高性能的数值计算和可视化软件。
MATLAB的基本单位是矩阵。
它的表达式与数学、工程计算中常用的形式十分相似,极大地方便了用户的学习和使用,它集中了日常数学处理中的各种功能,包括高效的数值计算、矩阵运算、信号处理和图形生成等功能。
在MATLAB环境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各种操作[8].
3.2MATLAB语言发展综述
MATLAB语言的首创者CleveMoler教授在数值分析,特别是在数值线性代数的领域中很有影响,他参与编写了数值分析领域一些著名的著作和两个重要的Fortran程序EISPACK和UNPACK。
他曾在密西根大学、斯坦福大学和新墨西哥大学任数学与计算机科学教授。
1980年前后,当时的新墨西哥大学计算机系主任Moler教授在讲授线性代数课程时,发现了用其他高级语言编程极为不便,便构思并开发了MATLAB(MATRIXLABORATORY,即矩阵实验室),这一软件利用了当时数值线性代数领域最高水平的EISPACK和UNPACK两大软件包中可靠的子程序,用Fortran语言编写了将命令翻译、科学计算于集于一身的一套交互式软件系统。
所谓交互式语言,是指人们给出一条命令,立即就可以得出该命令的结果。
该语言无需像C和Fortran语言那样,首先要求使用者去编写源程序,然后对之进行编译、连接,最终形成可执行文件。
这无疑给使用者带来了极大的方便。
早期的MATLAB是用Fortran语言编写的,只能作矩阵运算,绘图也只能用极其原始的方法,即用星号描点的形式画图,内部函数也只提供了几十个。
但即使其当时的功能十分简单,当它作为免费软件出现以来,还是吸引了大批的使用者。
CleveMoler和JohnLittle等人成立了一个公司。
该公司于1984年推出了第一个版本。
当时的MATLAB版本已经用C语言作了完全的改写,CleveMATLAB其后又增添了丰富多彩的图形图像处理、多媒体功能、符号运算和它与其他流行软件的接口功能,使得MATLAB的功能越来越强大。
MathWorks公司于1992年推出了具有划时代意义的MATLAB4.0版本,并于1993年推出了其微机版,可以配合MicrosoftWindows一起使用,使之应用范围越来越广。
1994年推出的4.2版本扩充了4.0版本的功能,尤其在图形界面设计方面更提供了新的方法。
1997年推出的MATLAB5.0版允许了更多的数据结构,如单元数据、数据结构体、多维矩阵、对象与类等,使其成为一种更方便编程的语言。
1999年初推出的MATLAB5.3版在很多方面又进一步改进了MATLAB语言的功能。
2000年10月底推出了其全新的MATLAB6.0正式版,在核心数值算法、界面设计、外部接口、应用桌面等诸多方面有了极大的改进。
2002年6月新推出的MATLABRelease13,即MATLAB6.5版/ISimulink4.1版是目前的最新版本,功能已经十分强大,其新的虚拟现实工具箱更给仿真结果三维视景下显示带来新的解决方案。
虽然MATLAB语言是计算数学专家倡导并开发的,但其普及和发展离不开自动控制领域学者的贡献。
甚至可以说,MATLAB语言是自动控制领域学者和工程技术人员捧红的,因为在MATLAB语言的发展进程中,许多有代表性的成就和控制界的要求与贡献是分不开的。
迄今为止,大多数工具箱也都是控制方面的。
MATLAB具有强大的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 巴特沃思低通 滤波器 设计 中的 应用 研究