基于MATLAB的IIR数字带通滤波器设计
基于MATLAB的IIR数字滤波器的设计
基于MA TL AB 的IIR 数字滤波器的设计陈爱萍,胡晓东Ξ(湖南工程学院电气与信息工程系,湖南湘潭411101) 摘 要:在进行DSP 系统设计时,往往先采用MA TLAB 等对算法进行仿真,确定最佳算法和参数.利用MA TLAB 的信号处理工具箱可以直接设计数字滤波器,也可以建立模拟原型,离散化设计数字滤波器.介绍了IIR 数字滤波器的设计原理、步骤以及在MA TLAB 中的实现.关键词:IIR 数字滤波器;数字信号处理(DSP );MA TLAB ;仿真中图分类号:TN911.72 文献标识码:A 文章编号:1671-119X (2004)03-0008-030 引 言数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,从而得到人们所需的信号形式.信号的数字化处理包括两个步骤,一个是信号在时间上的离散化,即采样;另一个是幅度上的离散化,即分层.数字化之后的信号,将全部变为01序列,这就使信息的采集、存贮、传输、复制、加工等非常方便.数字信号处理技术在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用.而在数字信号处理中,数字滤波器十分重要并已获得广泛应用.数字滤波器与模拟滤波器比较,具有精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配以及实现模拟滤波器无法实现的特殊滤波功能等优点.本文介绍IIR 数字滤波器的设计原理、步骤以及在MA TLAB 中的实现.1 IIR 数字滤波器设计的原理数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR )数字滤波器和有限长冲激响应(FIR )数字滤波器.IIR 数字滤波器的特征是,具有无限持续时间冲激响应,需要用递归模型来实现,其差分方程为:y (n )=∑Mi =0b i x (n -i )-∑Nk =1a k y (n -k )系统函数为:H (z )=∑Mi =0b i z -11+∑Nk =1a k z -k设计IIR 滤波器的任务就是寻求一个因果、物理上可实现的系统函数H (z ),使其频率响应H(e j ω)满足所希望得到的频域指标,即符合给定的通带截止频率、阻带截止、通带衰减和阻带衰减.2 IIR 数字滤波器设计的基本步骤IIR 数字滤波器的设计方法有两类,一类是借助于模拟滤波器的设计方法设计出模拟滤波器,利用冲激响应不变法或双线性变换法转换成数字滤波器,再用硬件或软件实现;另一类是直接在频域或时域中进行设计,设计时需要计算机作辅助工具.随着MA TLAB 软件尤其是MA TLAB 的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化.IIR 数字滤波器设计的基本步骤如下:(1)根据任务,确定性能指标:在设计一个滤波器之前,首先根据工程实际的需要确定滤波器的技术指标:边界频率:ωp ,ωs ,ωc ;阻带最小衰减αs 和通带最大衰减αp ;(2)将数字滤波器的技术指标转换成模拟滤波器指标.主要是边界频率W p 1,W s 的转换,双线性变换法的转换关系为:Ω=2T tanω2第14卷第3期2004年9月 湖南工程学院学报Journal of Hunan Institute of Engineering Vo1.14.No.3Sept.2004Ξ收稿日期:2003-12-19作者简介:陈爱萍(1964-),女,副教授,研究方向:数字信号处理.(3)用模拟滤波器设计方法得到模拟滤波器的传输函数H a(s);可借助巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer)滤波器、贝塞尔(Bessel)滤波器等,这些滤波器都有严格的设计公式、现成的曲线和图表供设计人员使用.(4)映射实现:利用双线性变换法将模拟滤波器H a(s)转换成数字滤波器H(z).(5)用有限精度算法实现这个系统函数H(z). (包括选择运算结构、选择合适的字长、有效数字处理方法.)(6)用适当的软、硬件技术实现.包括采用:通用计算机软件、数字滤波器硬件或者软硬件结合.确定DF采用的结构将会影响其精度、稳定性、经济性及运算速度等很多重要性质:①计算复杂性,一个运算结构应含有最少的乘法器和最少的延时器.乘法器最费时间,乘法器少,运算速度快;②延时器最费存储单元,延时器少,则存储器少.③有限存储器长度的影响与运算结构有关.即有时会希望使用一种运算结构,虽然它的乘法器和延时器并不是最少的,但它对存储器的有限字长效应是最不敏感的.设计好IIR数字滤波器后,用MA TLAB等对其进行仿真,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断.3 IIR数字滤波器的MA TLAB设计3.1 MA TLAB简介MA TLAB是一种用于科学工程数值计算和可视化的人机交互式和基于矩阵的体系,在工程技术界,MA TLAB被用来解决一些实际课题和数学模型问题.典型的应用包括数值计算、算法预设计与验证,以及一些特殊的矩阵计算应用,如自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等,集科学计算、图像处理、语音处理于一身. MA TLAB软件的诞生,使数字信号处理系统的分析与设计问题变得简单了,它为数字信号处理系统的设计与仿真提供了一个强有力的工具.在设计数字滤波器时,通常采用MA TLAB来进行辅助设计和仿真.3.2 IIR滤波器的MA TLAB设计下面以双线性变换法设计一个IIR带通滤波器为例来说明IIR滤波器的MA TLAB设计方法.IIR 带通滤波器的性能指标如下:通带中心频率ωp0=0.5π;通带截止频率ωp1= 0.4π,ωp2=0.6π;通带最大衰减αp=3dB;阻带最小衰减αs=15dB;阻带截止频率ωs2=0.7π;取样间隔T=5π×10-6s.MA TLAB程序如下:%数字带通滤波器技术指标wp0=0.53pi;wp1=0.43pi;wp2=0.63pi; Ap=3;ws2=0.73pi;As=15;T=53pi310^(-6);%用双线性变换法设计滤波器%频率预畸变ws1=wp0-(ws2-wp0);wc1=(2/T)3tan(wp1/2);wc2=(2/T)3tan (wp2/2);wr1=(2/T)3tan(ws1/2);wr2=(2/T)3tan (ws2/2);w0=(2/T)3tan(wp0/2);B=wc2-wc1;%将指标转换成归一化模拟低通滤波器的指标normwr1=(((wr1^2)-(w0^2))/(B3wr1));normwr2=(((wr2^2)-(w0^2))/(B3wr2));normwc1=(((wc1^2)-(w0^2))/(B3wc1));normwc2=(((wc2^2)-(w0^2))/(B3wc2));%设计归一化的模拟低通滤波器if(abs(norm-wr1)-abs(normwr2))>0 normwr=abs(normwr2);else normwr=abs(normwr1);endnormwc=1;N=buttord(normwc,normwr,Ap,As,’s’);[bL P,aL P]=butter(N,normwc,’s’);[bBP,aBP]=lp2bp(bL P,aL P,w0,B);%用双线性变换法转换成数字滤波器Fs=1/T;[b,a]=bilinear(bBP,aBP,Fs);w=linspace(0,23pi,500);h=freqz(b,a,w);plot(w,203log10(abs(h)));axis([0,23pi,-120,20]);gridxlabel(’frequency(rad)’);ylabel(’gain(db)’);sys=tf(b,a,T)9第3期 陈爱萍等:基于MA TLAB的IIR数字滤波器的设计 图1 IIR 带通滤波器的幅频特性IIR 带通滤波器的幅频特性如图1所示.4 数字滤波器的实现方法数字滤波器的实现方法有如下几种:①通用的微型计算机(PC 机)上用软件(如C 、FOR TRAN 语言)实现;②利用通用的可编程DSP 芯片实现.DSP 有适合于数字信号处理的软件和硬件资源,适用于复杂的数字信号处理算法;数字滤波同样可以实现,这种方法非常适合于通用数字信号处理的开发,为数字信号处理的应用打开了新局面;③用加法器、乘法器、延时器设计专用所滤波器;④用专用的DSP 芯片实现.在一些特殊场合,要求的信号处理速度极高,用通用的DSP 芯片很难实现,可用完成数字滤波运算的专用芯片实现,这些芯片中,软件算法已在芯片内部用硬件实现,缺点是灵活性差,开发工具不完善; ⑤在通用的计算机系统中加上加速卡实现;加速卡可以是通用的加速处理机,也可以是由DSP 开发的用户加速卡;⑥用FP G A 等可编程阵列产品开发ASIC 芯片实现数字滤波算法.由于FP G A 产品的发展,人们可以利用Altera 、Xilinx 等公司的产品及其相应软件或V HDL 等开发语言,通过软件编程用硬件实现特定的数字滤波算法.5 结束语数字滤波器的应用十分广泛,利用MA TLAB 语言,很容易地设计出IIR 滤波器.IIR 滤波器可以用较少的阶数获得很高的选择特性,所用的存储单元少、运算次数少,具有经济、高效的特点.在相位要求不敏感的场合,如语音通信等,适合用IIR 滤波器;因为IIR 数字滤波器是递归结构,极点必须在z 平面单位圆内才能稳定,这种结构运算中的四舍五入处理有时会引起寄生振荡.除了有限字长效应以外,不同结构引入的误差也有所不同.在实际设计中,要注意实现中的误差问题.另外,IIR 滤波器在对相位要求严格线性的场合,需加全通网络进行较正,增加了滤波器的阶数和复杂性.这时可选用FIR 滤波器,它具有严格的线性相位.参 考 文 献[1] 朱铭锆.DSP 应用系统设计[M ].电子工业出版社,2002.[2] 韩得竹,王 华.MA TLAB 电子仿真与应用[M ].国防工业出版社,2001.[3] 邹 鲲,袁俊泉,龚享铱.MA TLAB6.x 信号处理[M ].清华大学出版社,2002.[4] 郑佳春.数字滤波器的MA TLAB 设计与DSP 上的实现[J ].单片机及嵌入式系统应用,2003,(9).Design of IIR Digital Filter B ased on MAT LABCHEN Ai -ping ,HU Xiao -dong(Dept.of Elect.and Information Eng.,Hunan Institute of Engineering ,Xiangtan 411101,China )Abstract :When DSP system is designed ,algorithms must be simalatd by MA TLAB so that best algorithms and parameters can be detemined.By signal processing toolbox of MA TLAB ,the digital filter can be designed and the analog filter model can be built.This paper introduces design principle of digital filter ,procedures and real 2ization with MA TLAB.K ey w ords :IIR digital filter ;digital signal processing (DSP );MA TLAB ;simulation01 湖南工程学院学报 2004年。
基于matlab的IIR滤波器设计
基于Matlab 的IIR 滤波器的设计摘要:IIR(Infinite Impulse Response)数字滤波器,又名“无限脉冲响应数字滤波器”,或“递归滤波器”。
其具有无限的脉冲响应。
本文主要介绍了IIR 数字滤波器的基本概念,以及借助Matlab 设计IIR 滤波器的方法,并举例介绍。
一、IIR 数字滤波器IIR 滤波器的系统函数如式1.1所示()()()()()1.11100∑∑∑=-=-∞=-+===Nk kk Mr rr n nzb zb z n h Z X Z Y z H由于它的脉冲响应序列()n h 是无限长的,故称无限冲激响应滤波器。
IIR 和FIR 滤波器相比,优点是在满足相同性能指标要求条件下,IIR 滤波器的阶数要明显低于FIR 滤波器。
但IIR 滤波器的相位是非线性的1)IIR 滤波器经典设计IIR 滤波器设计的经典法,基于模拟滤波器变换原理,首先根据滤波器的指标技术设计出相应的模拟滤波器,然后再将设计好的模拟滤波器变换成满足给定技术指标的数字滤波器。
在Matlab 中,IIR 滤波器的经典设计法步骤如下:→ → → 其中离散化的主要任务就是把模拟滤波器变换成数字滤波器,即把模拟滤波器的系数()s H 映射成数字滤波器的系统函数()z H从模拟滤波器到数字滤波器的变换技术,最重要的有两种:冲击不变法和双线性变换法。
(1)冲击不变法设取样时间为T ,则冲击不变为()()nT n h h a =模拟频率Ω与数字频率ω之间存在的关系为eeTj j TΩ=Ω=ωωS 平面与Z 平面之间的关系为e STZ =系统函数之间的关系为模拟低通滤波器原型频率变换 模拟离散化 IIR 滤波器()∑∞-∞=⎪⎭⎫ ⎝⎛-=k a k T j s T z H H π21在给定数字低通滤波器指标ωp,ωs,Rp和A s的情况下,设计()z H 按如下步骤:① 选T,确定模拟频率T Ts s pp ωω==ΩΩ② 利用Ωp,Ωs,Rp和A s 设计模拟滤波器()S H a③ 利用部分分式展开,将()S H a写成()∑=-=N k kkaP R H S S 1④ 将模拟极点Pk变换成数字极点{}e TP k,这样得()∑=--=Nk T k Ze R P Z H k111(2)双线性变换法双线性变换是S 域与Z 域之间的最佳映射:212111211sT sT Z T S z z -+=+-=--或写成0122=+-+z s Tsz T 因此S 与Z 之间为线性关系。
基于MATLAB的IIR滤波器的设计及应用
基于MATLAB的IIR滤波器的设计及应用IIR滤波器是一种无限脉冲响应滤波器,其设计和应用常常基于MATLAB进行。
在设计IIR滤波器时,首先需要确定滤波器的规格要求,例如带通或带阻滤波器、截止频率以及通带和阻带的最大衰减要求等。
设计IIR滤波器常用的方法有Butterworth、Chebyshev和Elliptic 等。
其中,Butterworth滤波器在通带区具有最平坦的幅频特性,而Chebyshev和Elliptic滤波器在通带和阻带区的幅频特性则更陡峭。
选择滤波器的类型取决于应用的具体需求。
通过MATLAB可以使用“butter”函数设计Butterworth滤波器,使用“cheby1”或“cheby2”函数设计Chebyshev滤波器,使用“ellip”函数设计Elliptic滤波器。
这些函数可以指定滤波器的类型、阶数、截止频率和衰减要求等参数。
设计得到的滤波器系数可以用于滤波器的实施。
IIR滤波器在信号处理领域有广泛的应用。
其中,带通滤波器用于从原始信号中提取感兴趣的频率成分,例如心电图中的QRS波群。
带阻滤波器则用于去除原始信号中的频率成分,例如去除电源线频率的干扰。
此外,IIR滤波器还可用于音频信号处理、图像处理等领域。
MATLAB提供了多种方法来应用IIR滤波器。
可以使用“filter”函数对信号进行滤波处理,其中需指定滤波器的系数和待滤波的信号。
另外,MATLAB还提供了“filtfilt”函数进行无相位滤波,即正向和反向滤波,从而减小滤波器的相应延迟。
总之,基于MATLAB的IIR滤波器设计和应用是信号处理领域的常见任务。
通过选择适当的滤波器类型和参数,可以实现对信号的滤波处理,满足各种应用的需求。
MATLAB提供了丰富的函数和工具,便于设计、实施和应用IIR滤波器。
基于Matlab的IIR数字滤波器设计
机械与电子 2011( 1)
基于 M atlab 的 IIR 数字滤 波器设计
自动控制与检测
电主轴的最高转速 15 000 r/ m in, 即最高转速 为 250 r/ s, 设采样频率 f s= 1 kH z, 通带频率 f p = 100 H z, 通带 衰减 小于 1 dB, 阻 带 频率 f st = 200 H z, 阻带衰减大于 50 dB。利用双线性变换法设计 巴特沃思型数字低通滤波器。运行结果为 N ( 滤波 器阶数) = 8 W n( 截止频率) = 707. 605 7。M 文件 程序代码如下:
29
自动控制与检测
薄壁零件受力分析实验数据自动采集装置的设计
付延召, 周燕飞 ( 南京航空航天大学机电学院, 江苏 南京 210016)
Design of Autom atic Dat a Acquisition Device for Analysis of T hin W alled Com ponent s
关键词: M at lab; 高速电主轴; 转换函数法; IIR 数字滤波器
中图分类号: T N713. 7 文献标识码: A 文章编号: 1001 2257( 2011) 01 0028 02 Abstract: Digit al filt er play s an import ant ro le in digit al signals. T he convent ional w ay have som e disadvant ages; for ex ample: low er eff iciency, com plex m et hod and so on. Mat lab have a pow erf ul com put e, using M at lab can desig n f ilt ers t hat f ixed to the needs quickly, per for mance param et ers can be easily modified and be simulat ed. It has mor e advantage compar ed t o t he tr aditional. T his paper design a IIR dig it al f ilter using t he conversio n funct ion method of M at lab f or t he high speed spin dle of 15 000 r / min. T he result s show t hat t his method has a g ood ref erence t o t he design of t he filt er. It can be w idely applied in t he rot or vibrat io n signal prepro cessing . Key words: M at lab; high speed spindle; conver sion f unct ion m et hod; IIR dig ital filt er
基于MATLAB的IIR数字滤波器的设计
基于MATLAB的IIR数字滤波器的设计摘要:介绍IIR数字滤波器的传统设计思想与步骤。
及其计算机辅助设计方法。
以一数字带通滤波器为例,着重说明了基于MATLAB的三种实现手段:模拟低通原型、合适模拟带通及直接原型,为数字滤波器设计带来全新的实现手段,设计快捷方便,仿真波形直观。
数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。
它的基本工作原理是利用离散系统特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用的信号分量输出。
数字滤波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、带通、带阻等类型,与模拟滤波器相比,数字滤波器除了具有数字信号处理的固有优点外,还有滤波精度高(与系统字长有关)、稳定性好(仅运行在0与l两个电平状态)、灵活性强等优点。
数字滤波器按单位脉冲响应的性质可分为无限长单位脉冲响应滤波器IIR和有限长单位脉冲响应滤波器(FIR)两种。
本文介绍(IIR)数字滤波器的设计与分析。
1 IIR数字滤波器设计思路与步骤IIR 数字滤波器可用一个n阶差分方程y(n)=Σb r x(n-r)+Σa k y(n-k),或用它的Z域系统函数:对照模拟滤波器的传递函数:不难看出,数字滤波器与模拟滤波器的设计思路相仿,其设计实质也是寻找一组系数{b,a},去逼近所要求的频率响应,使其在性能上满足预定的技术要求;不同的是模拟滤波器的设计是在S平面上用数学逼近法去寻找近似的所需特性H(S),而数字滤波器则是在Z平面寻找合适的H(z)。
IIR数字滤波器的单位响应是无限长的,而模拟滤波器一般都具有无限长的单位脉冲响应,因此与模拟滤波器相匹配。
由于模拟滤波器的设计在理论上已十分成熟,因此数字滤波器设计的关键是将H(S)→H(Z),即,利用复值映射将模拟滤波器离散化。
基于MATLAB的IIR数字带通滤波器设计
基于MA TLAB的IIR数字带通滤波器设计摘要窗函数法在IIR 数字滤波器的设计中有着广泛的应用, 但这不是最优化的设计。
介绍了一种基于等波纹切比雪夫逼近准则的IIR 数字滤波器的最优化设计方法,通过MA TLAB 的仿真实现, 证明了该方法是一种最优化的设计。
传统的数字滤波器设计方法繁琐且结果不直观,本文利用MA TLAB具有强大的科学计算和图形显示这一优点,与窗函数法设计理论相结合共同设计IIR数字滤波器,不但使设计结果更加直观,而且提高了滤波器的设计精度,从而更好地达到预期效果。
关键词:IIR数字滤波器;窗函数,等波纹切比雪夫逼近,MA TLAB 仿真ABSTRACTWindow function method in the design of IIR digital filter has a wide range of applications, but this is not the most optimal design. Such as corrugated paper, a Chebyshev approximation for IIR digital filter criteria for the optimization design method to achieve through the MA TLAB simulation proved that the method is one of the most optimized design. Conventional digital filter design method is cumbersome and results are not intuitive, this paper, MA TLAB has a powerful scientific computing and graphics display the advantages, with the window function method combines design theory to design IIR digital filter design results not only more intuitive, but also improve the accuracy of the filter design to better achieve the desired results.KEY WORDS: IIR digital filters,window function,such as ripple Chebyshev approximation,MA TLAB simulation目录引言.............................................第页第1 章数字滤波器................................第页第2 章IIR数字滤波器设计方法......................第页2.1用脉冲相应不变法设计IIR数字滤波器..........第页2.2 脉冲响应不变法优缺点........................第页2.3用双线性变换法设计IIR数字滤波器............第页2.4双线性变换法优缺点..........................第页第3章IIR数字带通滤波器设计过程...................第页3.1设计步骤.....................................第页3.2程序流程框图.................................第页3.3 MA TLAB程序..................................第页第四章结果及分析.................................第页第五章总结.......................................第页参考文献..........................................第页致谢..............................................第页附录..............................................第页引言随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。
基于MATLAB的IIR数字滤波器设计与仿真
基于MATLAB的IIR数字滤波器设计与仿真一、概述在现代数字信号处理领域中,数字滤波器扮演着至关重要的角色。
其通过对输入信号的特定频率成分进行增强或抑制,实现对信号的有效处理。
无限脉冲响应(IIR)数字滤波器因其设计灵活、实现简单且性能优良等特点,得到了广泛的应用。
本文旨在基于MATLAB平台,对IIR数字滤波器的设计与仿真进行深入研究,以期为相关领域的研究与应用提供有益的参考。
IIR数字滤波器具有无限长的单位脉冲响应,这使得其在处理信号时能够展现出优秀的性能。
与有限脉冲响应(FIR)滤波器相比,IIR滤波器在实现相同性能时所需的阶数更低,从而减少了计算复杂度和存储空间。
在需要对信号进行高效处理的场合,IIR滤波器具有显著的优势。
MATLAB作为一款功能强大的数学软件,提供了丰富的函数和工具箱,使得数字滤波器的设计与仿真变得简单而高效。
通过MATLAB,我们可以方便地实现IIR滤波器的设计、分析和优化,从而满足不同应用场景的需求。
本文将首先介绍IIR数字滤波器的基本原理和特性,然后详细阐述基于MATLAB的IIR数字滤波器的设计方法和步骤。
接着,我们将通过仿真实验验证所设计滤波器的性能,并对其结果进行分析和讨论。
本文将总结IIR数字滤波器设计与仿真的关键技术和注意事项,为相关领域的研究人员和工程师提供有益的参考和启示。
1. IIR数字滤波器概述IIR(Infinite Impulse Response)数字滤波器是数字信号处理中常用的一类滤波器,它基于差分方程实现信号的滤波处理。
与FIR (Finite Impulse Response)滤波器不同,IIR滤波器具有无限长的单位脉冲响应,这意味着其输出不仅与当前和过去的输入信号有关,还与过去的输出信号有关。
这种特性使得IIR滤波器在实现相同的滤波效果时,通常具有更低的计算复杂度,从而提高了处理效率。
IIR滤波器的设计灵活多样,可以根据不同的需求实现低通、高通、带通和带阻等多种滤波功能。
基于matlab的IIR数字滤波器设计(doc 19页)
在MATLAB 中,模拟滤波器的系统函数 H(S)=)()()1()((.....)2()1()1()(......)2()1(11S A S B N A S N A S A S A M B S M B S B S B N N M M =++++++++++--数字滤波器的系统函数 H(Z)=)()()1()(.....)2()1()1()(.....)2()1()1(1)1(1Z A Z B Z N A Z N A Z A A Z M B Z M B Z B B N N M M =++++++++++--------在实际工程中,需要的设计结果是系数向量B 和A ,用B 和A 来综合滤波器的硬件实现结构或软件运算结构,为了直观的看出设计结果,本文的实例均以滤波器幅频响应曲线作为设计结果输出。
如果需要滤波器系数,在运行程序后,只要在MATLAB 命令窗口键入系数向量名,则相应的系数就显示出来了。
2.1.2.程序设计实例分析(a )设计高通和带通Butterworth 数字滤波器我们给出四阶归一化 Butterworth 模拟滤波器的系统函数16131.24142.36131.21)(234++++=S S S S S H用双线性变换法从Ha (s )设计四阶带通butterworth数字滤波器)(Z H BP ,并图示|)(jw BP e H |,设计采样周期T=1s ,指标如下 ππ65.0,35.01==uc c w w现在我们分步进行:■建模由于本例主要涉及三个问题:(1) 由数字滤波器指标求相应的模拟滤波器指标;(2) 模拟滤波器频率变换(因为已给定阶数和模拟滤波器的归一化低通原型);(3) 由相应的模拟滤波器到数字滤波器(双线性变换法)。
由于调用bilinear 函数将模拟滤波器转换成数字滤波器非常容易,并且有效抑制频率失真的问题,本例给定了数字滤波器指标,所以首先要设计处与该指标相应的四阶Butterworth 模拟滤波器,然后调用bilinear 函数将其转换为数字滤波器即可,应当特别注意的是,对于双线性变换法,由数字边界频率求相应的模拟边界频率时,一定要考虑预畸变矫正。
4.基于MATLAB的IIR数字滤波器设计
实验四基于MATLAB的IIR数字滤波器设计一、实验目的:1.加深对IIR数字滤波器常用指标的理解;2.学会设计IIR数字滤波器;3.根据指标要求设计数字滤波器,并进行信号的处理。
二、实验原理:补充:(1)filter函数用来实现数字滤波器对数据的滤波,函数调用格式为:y=filter(b,a,x)其中,b,a分别为滤波器系统函数H(z)的分子和分母多项式的系数,x为滤波器的输入,y为滤波器的输出,y与x具有相同大小的向量。
(2)filtfilt函数实现零相位前后与后向结合滤波,其调用格式为:y=filtfilt(b,a,x)其中,b,a分别为滤波器系统函数H(z)的分子和分母多项式的系数,x为滤波器的输入,y为滤波器的输出,y与x具有相同大小的向量,这个函数实现的滤波后其输出信号与输入信号的相位一致,也就是没有改变信号波形形状。
但filter函数滤波后有一些延迟,改变了信号的形状。
三、作业:1.用脉冲响应不变法设计Butterworth低通数字滤波器,要求Wp=0.2*pi ,Ws=0.3*pi,通带波纹小于1dB,幅度衰减大于15dB,采样周期为0.01s。
画出滤波器的幅频图像。
Wp=0.2*pi;Ap=1; As=15; f=100; wp=Wp*f; ws=Ws*f;N=buttord(wp,ws,Ap,As,'s'); wc=wp/(10^(0.1*Ap)-1)^(1/2/N); [numa,dena]=butter(N,wc,'s'); [numd,dend]=impinvar(numa,dena,f); w=linspace(0,pi,512); h=freqz(numd,dend,w); norm=max(abs(h)); numd=numd/norm;plot(w/pi,20*log10(abs(h)/norm)); w=[Wp,Ws];h=freqz(numd,dend,w);fprintf('Ap=% .4f\n',-20*log10(abs(h(1)))); fprintf('As=% .4f\n',-20*log10(abs(h(2))));00.10.20.30.40.50.60.70.80.91-70-60-50-40-30-20-102. 假设一个信号x (t )= sin(2*pi*f1*t)+0.25cos(2*pi*f2*t),其中f1=5Hz ,f2=40Hz 。
IIR数字带通滤波器设计
《数字信号处理课程设计报告》题目:IIR数字带通滤波器设计学院:专业:班级:姓名:指导教师:2012年6月24日目录1数字滤波器设计原理 (3)1.1数字滤波器简介 (3)1.2 IIR滤波器的设计原理 (3)2 IIR数字滤波器设计方法 (4)2.1用脉冲相应不变法设计IIR数字滤波器 (4)2.2用双线性变换法设计IIR数字滤波器 (7)3 IIR数字带通滤波器设计过程 (9)3.1设计步骤 (9)3.2程序流程框图 (10)3.3 MATLAB程序 (11)4运行结果及分析 (12)5总结 (13)6参考书目 (14)基于MATLAB的IIR数字带通滤波器设计一、数字滤波器设计原理1.1 数字滤波器简介数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。
如果系统是一个连续系统,则滤波器称为模拟滤波器。
如果系统是一个离散系统,则滤波器称为数字滤波器。
信号通过线性系统后,其输出就是输入信号和系统冲激响应的卷积。
除了外,的波形将不同于输入波形。
从频域分析来看,信号通过线性系统后,输出信号的频谱将是输入信号的频谱与系统传递函数的乘积。
除非为常数,否则输出信号的频谱将不同于输入信号的频谱,某些频率成分较大的模,因此,中这些频率成分将得到加强,而另外一些频率成分的模很小甚至为零,中这部分频率分量将被削弱或消失。
因此,系统的作用相当于对输入信号的频谱进行加权。
1.2 IIR滤波器的设计原理IIR数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth函数、chebyshev函数、bessel 函数、椭圆滤波器函数等。
IIR数字滤波器的设计步骤:(1)按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标;(2)根据模拟滤波器技术指标设计为响应的模拟低通滤波器;(3)很据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器;(4) 如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。
基于MATLAB的IIR数字带通滤波器设计
毕业设计说明书中文摘要毕业设计说明书外文摘要1 绪论 (1)1.1 数字滤波器的优点 (2)1.2 数字滤波器的发展概况 (3)1.3 开发工具 (4)1.3.1 MATLAB软件简介 (4)1.3.2 MATLAB特点 (5)2 数字滤波器理论研究 (6)2.1 滤波器的设计 (6)2.2 数字滤波器的定义 (7)2.3 滤波器的设计步骤 (8)2.4 数字滤波器的类型 (8)2.5 滤波器的选择 (9)2.5.1 FIR和IIR数字滤波器的比较 (9)2.5.2 FIR或IIR滤波器的选取原则 (10)2.6 数字滤波器的实现方法 (10)3 IIR滤波器的设计 (11)3.1 数字滤波器 (11)3.2 IIR数字滤波器设计方法 (12)3.2.1用脉冲相应不变法设计IIR数字滤波器 (13)3.2.2 用双线性变换法设计IIR数字滤波器 (15)4 IIR数字带通滤波器设计过程 (18)4.1 设计步骤: (18)4.2 程序流程框图: (19)4.3 MATLAB程序: (19)结论 (22)参考文献 (23)致谢 (24)基于MATLAB的IIR数字带通滤波器设计1 绪论凡是有能力进行信号处理的装置都可以称为滤波器。
在近代电信设备和各类控制系统中,滤波器应用极为广泛;在所有的电子部件中,使用最多,技术最为复杂的要算滤波器了。
滤波器的优劣直接决定产品的优劣,所以,对滤波器的研究和生产历来为各国所重视。
1917年美国和德国科学家分别发明了LC滤波器,次年导致了美国第一个多路复用系统的出现。
20世纪50年代无源滤波器日趋成熟。
自60年代起由于计算机技术、集成工艺和材料工业的发展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力,其中小体积、多功能、高精度、稳定可靠成为70年代以后的主攻方向。
导致RC有源滤波器、数字滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展,到70年代后期,上述几种滤波器的单片集成已被研制出来并得到应用。
iir数字滤波器的设计matlab
iir数字滤波器的设计matlabIIR数字滤波器的设计(Matlab)数字滤波器是一种用于信号处理的重要工具,可以对信号进行滤波、去噪和频率分析等操作。
其中,IIR(Infinite Impulse Response)数字滤波器是一种常见的数字滤波器,具有无限冲激响应的特点。
本文将介绍如何使用Matlab设计IIR数字滤波器。
首先,我们需要明确设计IIR数字滤波器的目标。
通常,设计IIR数字滤波器的目标是在满足一定的频率响应要求的前提下,使得滤波器的阶数尽可能低。
这样可以减少计算量和延迟,提高滤波器的实时性。
在Matlab中,可以使用`designfilt`函数来设计IIR数字滤波器。
该函数提供了多种设计方法和滤波器类型的选择。
常见的设计方法有巴特沃斯(Butterworth)、切比雪夫(Chebyshev)和椭圆(Elliptic)等。
这些方法在满足不同的频率响应要求和阶数限制方面有所不同。
以巴特沃斯滤波器为例,我们可以使用以下代码来设计一个低通滤波器:```matlabfs = 1000; % 采样频率fc = 100; % 截止频率order = 4; % 阶数[b, a] = butter(order, fc/(fs/2), 'low'); % 设计低通滤波器freqz(b, a); % 绘制滤波器的频率响应曲线```在上述代码中,`fs`表示采样频率,`fc`表示截止频率,`order`表示滤波器的阶数。
`b`和`a`分别是滤波器的分子和分母系数。
`butter`函数根据给定的阶数、截止频率和滤波器类型来设计滤波器。
设计完成后,我们可以使用`freqz`函数来绘制滤波器的频率响应曲线。
该函数可以显示滤波器的幅度响应和相位响应。
通过观察频率响应曲线,我们可以了解滤波器的频率特性,以及是否满足设计要求。
除了低通滤波器,我们还可以设计高通、带通和带阻滤波器。
例如,以下代码可以设计一个带通滤波器:```matlabfs = 1000; % 采样频率f1 = 100; % 通带下限频率f2 = 200; % 通带上限频率order = 4; % 阶数[b, a] = butter(order, [f1/(fs/2), f2/(fs/2)], 'bandpass'); % 设计带通滤波器freqz(b, a); % 绘制滤波器的频率响应曲线```在上述代码中,`f1`和`f2`分别表示带通滤波器的通带下限频率和通带上限频率。
基于MATLAB的IIR滤波器的设计
基于MATLAB的IIR滤波器的设计一、引言数字滤波是数字信号处理中的重要部分,它用于从输入信号中去除噪声、抑制干扰、改变频谱等。
IIR滤波器(Infinite Impulse Response,无限冲激响应滤波器)是一种数字滤波器,其特点是具有无限长度的冲激响应。
本文将介绍基于MATLAB的IIR滤波器的设计方法及实现。
二、IIR滤波器的基本原理IIR滤波器根据其传递函数的特性可分为低通、高通、带通和带阻滤波器。
其传递函数一般由差分方程表示,即y(n) = b(0)x(n) + b(1)x(n-1) + ... + b(nb)x(n-nb) - a(1)y(n-1) - ... - a(na)y(n-na)其中,y(n)为输出信号,x(n)为输入信号,b(k)和a(k)为滤波器的系数。
根据滤波器的类型和具体设计要求,可以通过选择适当的系数来设计出满足要求的IIR滤波器。
在MATLAB中,可以利用信号处理工具箱中的函数来实现IIR滤波器的设计。
以下是一种基于MATLAB的IIR滤波器设计流程:1.确定滤波器的类型和设计要求。
根据具体应用场景,选择滤波器的类型(低通、高通、带通或带阻),并确定滤波器的截止频率、通带增益、阻带增益等设计要求。
2. 利用信号处理工具箱中的函数进行滤波器设计。
MATLAB提供了多种函数来设计IIR滤波器,其中常用的有butter、cheby1、cheby2、ellip等。
这些函数可以根据设计要求自动生成滤波器的系数。
3. 通过查看滤波器的幅频响应、冲激响应、相位响应等来评估滤波器的性能。
MATLAB提供了freqz、impz、grpdelay等函数来实现对IIR滤波器性能的评估。
4. 利用设计好的滤波器对输入信号进行滤波。
可以利用filter函数对输入信号进行滤波处理,得到输出信号。
四、实例演示下面通过一个实际的例子来展示如何利用MATLAB设计和实现IIR滤波器。
例:设计一个低通IIR滤波器,截止频率为2kHz,阻带增益为40dB。
matlab实验报告 IIR数字滤波器设计
实验报告姓名:李鹏博 实验名称: IIR 数字滤波器设计 学号:2011300704 课程名称: 数字信号处理 班级:03041102 实验室名称: 航海西楼303 组号: 1 实验日期: 2014.06.20一、实验目的、要求掌握IIR 数字滤波器设计的冲激响应不变法和双线性变换法。
掌握IIR 数字滤波器的计算机编程实现方法,即软件实现。
二、实验原理为了从模拟滤波器设计IIR 数字滤波器,必须先设计一个满足技术指标的模拟滤波器,然后将其数字化,即从s 平面映射到z 平面,得到所需的数字滤波器。
虽然IIR 数字滤波器的设计本质上并不取决于连续时间滤波器的设计,但是因为在许多应用中,数字滤波器就是用来模仿模拟滤波器功能的,所以由模拟滤波器转化为数字滤波器是很自然的。
因此,由模拟滤波器设计数字滤波器的方法准确、简便,是目前最普遍采用的方法。
三、实验环境PC 机,Windows XP ,office 2003,Matlab 软件。
四、实验过程、数据记录、分析及结论实验过程1.编程设计滤波器,用冲激响应不变法设计IIR 数字滤波器。
2.编程设计滤波器,用双线性变换法设计IIR 数字滤波器。
3.求脉冲响应、频率响应以及零极点。
4.编程滤波,求滤波器输出,完成对不同频率的多个正弦信号的滤波。
实验步骤根据所给定的技术指标进行指标转换。
112c c f πΩ=,222c c f πΩ=,112s s f πΩ=,222s s f πΩ=,21p c c B Ω==Ω-Ω,221222s s s s s B Ω-ΩΩΩ=Ω,3,18p s αα=-=-。
根据指标设计Butterworth 模拟低通滤波器。
调用函数[n,wn]=buttord(wp,ws,rp,rs,’s ’)确定阶次。
调用函数[zl,pl,kl]=buttap(n),求低通原型的模型。
调用函数[bl,al]=zp2tf(zl,pl,kl)实现模型转换。
基于matlab的IIR数字滤波器设计
基于matlab的IIR数字滤波器设计一.IIR数字滤波器介绍1.IIR数字滤波器的根本原理所谓数字滤波器,是指输入,输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相比照例或者滤除某些频率成分的硬件。
实质上就是一个由有限精度算法实现的线性时不变离散系统。
它的根本工作原理是利用离散系统的特性对系统输入信号进展加工和变换,改变输入序列的频谱或信号波形,让有用的频率分量通过,抑制无用的信号分量输出,因此数字滤波与模拟滤波的概念一样,根据其频率特性同样可以分为低通,高通,带通,带阻,只是信号的形式和实现滤波方式有所不同。
如果要处理的信号是模拟信号,就可以通过A/D或者D/A转换,在信号形式上进展匹配转换,同样可以使用数字滤波器对模拟信号进展滤波。
数字滤波器滤波的数学表达式:y〔n〕=x(n)*h(n); 如果滤波器的输入输出信号都是离散信号,那么该滤波器的脉冲响应也一定是离散信号,这样的滤波器就成为了数字滤波器。
上面的系统为时域离散系统时,其频域特性为:其中分别是数字滤波器的输出序列和输入序列的频域响应,是数字滤波器的频域响应。
可以看见按照输入信号的频谱特点和处理信号的目的适中选择滤波器的频域响应,使得滤波后的输出信号满足设计性能要求,就是滤波器的滤波原理。
2.IIR数字滤波器传输特性IIR数字滤波器的系统函数可以表示为:H(Z)=,式中H(Z)称为N阶IIR滤波器函数。
3..数字滤波器的技术要求.我们通常设计的数字滤波器一般属于选频滤波器,。
我们的目的是要设计一个因果可实现的滤波器,另外买也要考虑到本钱和复杂性问题,因此实用中通带和阻带都允许一定的误差容限,即通带不一定是完全水平的,阻带也不可能完全衰减到零。
而且,通带和阻带之间还要设置一定带宽的过渡带。
如如下图表示低通滤波器的技术要求:图中,分别表示通带截止频率和阻带截止频率,通带频率范围为0≤w≤,通带中要求〔1-δ1〕≤|H≤1,阻带截止频率范围≤w≤Π,再阻带中要求≤δ2,从p w 到s w 称为过渡带,在这个频带内,幅度响应从通带平滑的下落到阻带。
基于MATLAB的IIR滤波器的设计
基于MATLAB的IIR滤波器的设计IIR (Infinite Impulse Response) 滤波器是一种数字滤波器,由其无限长的冲激响应函数所定义。
MATLAB中提供了强大而灵活的工具来设计和实现IIR滤波器。
在本文中,我们将探讨基于MATLAB的IIR滤波器设计的原理、步骤以及一些常见的应用实例。
IIR滤波器设计的原理:IIR滤波器设计的基本原理是将滤波器的传递函数表示为分子多项式和分母多项式的比值。
分母多项式是滤波器的极点,分子多项式是滤波器的零点。
通过选择合适的极点和零点,可以实现不同的滤波特性,如低通滤波、高通滤波、带通滤波等。
MATLAB中的IIR滤波器设计步骤:1.确定所需滤波器的规格:确定滤波器的类型(低通、高通、带通等),截止频率,衰减等级等。
2. 设计滤波器的理想传递函数:根据滤波器的规格,使用MATLAB中的相应函数(例如,butter、cheby1、cheby2等)设计滤波器的理想传递函数。
3. 转换理想传递函数为一阶和二阶部分:使用MATLAB中的函数(例如,tf2sos、zpk2sos等)将理想传递函数转换为一阶和二阶部分。
4.选择滤波器的实现方式:根据设计要求,选择IIR滤波器的直接形式、传输形式或级联形式等实现方式。
5. 将设计好的IIR滤波器进行实现:使用MATLAB中的函数(例如,filter、dfilt)来实现设计好的IIR滤波器。
IIR滤波器设计的应用实例:1.语音信号处理:IIR滤波器在语音信号处理中广泛应用,可以提取语音信号中的特定频率成分,如去除噪声、语音增强等。
2.图像处理:IIR滤波器可用于图像处理中的边缘检测、平滑处理、锐化处理等。
3.生物医学信号处理:IIR滤波器在生物医学信号处理中常用于心电图(ECG)滤波、脑电图(EEG)滤波等。
4.控制系统:IIR滤波器可以用于控制系统中的数模转换、滤波、模拟信号转数字信号等。
总结:MATLAB提供了强大而灵活的工具来设计和实现IIR滤波器。
基于matlab的iir数字滤波器的设计
基于matlab的iir数字滤波器的设计数字滤波器是数字信号处理中的重要组成部分,IIR数字滤波器是其中常用的一种类型,它采用了反馈结构,具有延迟时间较短和可调节性强等优点。
本文将介绍如何基于MATLAB实现IIR数字滤波器的设计方法。
1. 设计参数的确定在设计IIR数字滤波器之前,首先需要确定一些参数,如滤波器的类型、截止频率和阶数等。
通常来说,可以先根据系统需求选择滤波器的类型和截止频率,在此基础上再确定阶数和滤波器的反馈结构。
2. 滤波器的设计步骤在MATLAB软件中设计IIR数字滤波器主要包括以下步骤:(1) 调用MATLAB中的“fdtool”函数,打开滤波器设计工具界面。
(2) 在滤波器设计工具界面中,选择所需要的滤波器类型和截止频率等参数。
(3) 根据选择的参数计算出滤波器的系数,并在界面上显示出来。
(4) 在设计完成后,可以通过MATLAB中的“filter”函数对输入信号进行滤波处理。
3. 采用反馈结构设计IIR数字滤波器在滤波器系数计算完毕后,MATLAB会默认生成IIR数字滤波器的直接形式,但是直接形式计算量大,延迟时间也较长,因此可以采用反馈结构来优化滤波器性能。
反馈结构可以通过MATLAB的“tf2sos”函数计算得到,它会返回一组二阶滤波器的系数和反馈系数,这些系数可以直接用于滤波器的设计中,从而实现滤波器性能的优化。
4. 滤波器性能评价在设计完成后,需要对IIR数字滤波器的性能进行评价。
MATLAB提供了“freqz”函数,可以绘制滤波器的幅频特性曲线和相频特性曲线,从而了解滤波器的增益和相位响应情况。
同时,还可以通过MATLAB中的“fvtool”函数,绘制滤波器的频率响应、瞬态响应和群延迟等特性曲线,从而更全面地了解滤波器的性能。
总之,基于MATLAB的IIR数字滤波器设计方法不仅可以方便地实现滤波器的设计,还可以通过滤波器性能评价来优化滤波器的性能。
因此,在数字信号处理中广泛应用,是一种非常实用和有效的技术手段。
基于MATLAB的IIR数字滤波器设计
2016-3-24基于MATLAB的IIR数字滤波器设计肖逸20122301机自05班基于MATLAB 的IIR 数字滤波器设计一 概述数字滤波器由数字乘法器、加法器和延时单元组成的一种算法或装置。
数字滤波器的功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
数字滤波器对信号滤波的方法是:用数字计算机对数字信号进行处理,处理就是按照预先编制的程序进行计算。
数字滤波器的原理如图1所示,它的核心是数字信号处理器。
图1 数字滤波器的方框图如果采用通用的计算机,随时编写程序就能进行信号处理的工作,但处理的速度较慢。
如果采用专用的计算机芯片,它是按运算方法制成的集成电路,连接信号就能进行处理工作,处理的速度飞快,但功能不易更改。
如果采用可编程的计算机芯片,那么,装入什么程序机器就能具有什么功能。
这种可编程芯片的优点很多,是现代电子产品的首选。
如果是对模拟信号进行处理,则需要添加模数转换器和数模转换器。
二 数字滤波器的特性2.1 滤波器基础知识数字滤波器按频率特性也有低通、高通、带通、带阻全通等类型。
由于频率响应的周期性,频率变量以数字频率ω来表示(ω=ΩΤ=Ω/f s ,Ω位模拟角频率,Τ位抽样时间间隔,f s 为抽样频率),所以数字滤波器设计中必须给出抽样频率。
图2为各种数字滤波器的理想频率响应(只表示了正频率部分)。
在图2中,2π等于数字域抽样频率,即ωs =Ωs T =2πf s T =2πf s f s =2π,T =1f sωs 2⁄=π是折叠频率,按照奈奎是特采样定理,频率特性只能限于折叠频率以内,即限于|ω|<ωs 2⁄=π范围之内。
一般情况下,数字滤波器是一个线性移时不变离散时间系统,利用有限精度算法来实现。
2.2 数字滤波器的性能要求一般说来,滤波器的性能要求往往以频率响应的幅度特性的允许误差来表征。
以低通滤波器为例,如图3所示,频率响应有通带、过渡带及阻带三个范围(而不是理想的陡截止的通带、阻带两个范围)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字滤波器(Digital Filter)在数字信号处理(DSP, Digital Signal Processing)中具有非常重要的作用。在许多应用中,例如数据压缩、生物医学信号处理、语音处理、数据传输、数字音频、电话回音对消等等,数字滤波器和模拟滤波器相比因为具有如下一个或多个优势而被优先采用。
(2)有限字长效应:数字滤波器受量化一个连续信号而引起的ADV噪声的影响,以及在计算过程中发生的舍入噪声的影响。递归滤波器的阶数越高,舍入噪声的累计就越大,可能会引起滤波器的不稳定。
(3)设计和开发期限长:数字滤波器设计和开发期限,特别是硬件的开发可能比模拟滤波器要长得多。不过,一旦硬件和/或软件开发出来,不需要或者稍加变动就可以将其用在别的滤波任务或者DSP任务中。好的计算机辅助设计(CAD)支持软件使得设计滤波器成为一项令人愉快的任务,但是如何充分而有效地利用这些辅助工具就需要专门的技术了。
基于MATLAB的IIR数字带通滤波器设计
1 绪论
凡ห้องสมุดไป่ตู้有能力进行信号处理的装置都可以称为滤波器。在近代电信设备和各类控制系统中,滤波器应用极为广泛;在所有的电子部件中,使用最多,技术最为复杂的要算滤波器了。滤波器的优劣直接决定产品的优劣,所以,对滤波器的研究和生产历来为各国所重视。
1917年美国和德国科学家分别发明了LC滤波器,次年导致了美国第一个多路复用系统的出现。20世纪50年代无源滤波器日趋成熟。自60年代起由于计算机技术、集成工艺和材料工业的发展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力,其中小体积、多功能、高精度、稳定可靠成为70年代以后的主攻方向。导致RC有源滤波器、数字滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展,到70年代后期,上述几种滤波器的单片集成已被研制出来并得到应用。80年代,致力于各类新型滤波器的研究,努力提高性能并逐渐扩大应用范围。90年代至现在主要致力于把各类滤波器应用于各类产品的开发和研制。当然,对滤波器本身的研究仍在不断进行。
(1)数字滤波器可以具有模拟滤波器不可能具有的某些特征,例如真正的线性相位响应。
(2)数字滤波器的性能不像模拟滤波器那样随环境的改变(例如温度的变化)而改变。这样就不必经常去校验。
(3)如果利用一个可编程的处理器来实现,那么数字滤波器的频率响应就能被自动地调整。这就是为什么在自适应的滤波器中广泛利用数字滤波器的原因。
数字滤波器领域的一个重要发展是对有限冲激响应(FIR)和无限冲激响应(IIR)关系的认识的转化。在初期,一般认为IIR滤波器比FIR滤波器具有更高的运算效率,因而明显地倾向于前者,但当人们提出用快速傅立叶变换(FFT)实现卷积运算的概念之后,发现高阶FIR滤波器也可以用很高的运算效率来实现,这就促使人们对高性能FIR滤波器的设计方法和数字滤波器的频域设计方法进行了大量的研究,从而出现了此后数字滤波器设计中频域方法和时域方法并驾齐驱的局面。然而,这些均属数字滤波器的早期研究。早期的数字滤波器尽管在语音、声纳、地震和医学的信号处理中曾经发挥过作用,但由于当时计算机主机的价格很昂贵,严重阻碍了专用数字滤波器的发展,使数字滤波器的设计仅仅是对相应模拟滤波器的逼近。上世纪70年代科学技术蓬勃发展,数字信号处理开始与大规模和超大规模集成电路技术,微处理器技术、高速数字算术单元、双极型高密度半导体存储器、电荷转移器件等新技术、新工艺相结合,并且引进了计算机辅助设计方法。一般说来,通过对模拟滤波器函数的变换来设计数字滤波器,很难达到逼近任意频率响应或冲激响应,而采用计算机辅助设计则有可能实现频域或时域的最佳逼近,或频域时域联合最佳逼近。这样,数字滤波器的分析与设计的内容也更加丰富起来,各种新的数字信号处理系统,也都能用专用数字硬件实时加以实现。
1.2数字滤波器的发展概况
数字滤波是数字信号处理理论的重要组成部分。数字信号处理主要是研究用数字或符号的序列来表示信号波形,并用数字的方式去处理这些序列,以便估计信号的特征参量,或削弱信号中的多余分量或增强信号中的有用分量。具体来说,凡是用数字方式对信号进行滤波、变换、调制、解调、均衡、增强、压缩、估值、识别、产生等加工处理,都可纳入数字信号处理领域。数字信号处理学科的一项重大进展是关于数字滤波器设计方法的研究。关于数字滤波器,早在上世纪40年代末期,就有人讨论过它的可能性问题,但直到60年代中期,才开始形成关于数字滤波器的一整套完整的正规理论。在这一时期,提出了各种各样的数字滤波器结构,有的以运算误差最小为特点,有的则以运算速度高见长,而有的则二者兼而有之,从而出现了数字滤波器的各种逼近方法和实现方法,对递归和非递归两类滤波器作了全面的比较,统一了数字滤波器的基本概念和理论。
(8)数字滤波器可以以极低的频率运行,例如在生物医学中有许多极低频率应用的例子,在这些应用中采用模拟滤波器是不现实的。另外,数字滤波器仅通过改变抽样频率就可以在很大的频率范围内工作。
和模拟滤波器相比,数字滤波器主要有以下缺点:
(1)速度限制:数字滤波器能实时处理的最大信号带宽,比模拟滤波器低得多。在实时情况下,模拟-数字-模拟转化过程对数字滤波器的性能引入了速度的限制。ADC的转换时间和DAC的建立时间限制了能够处理的最高频率。此外,数字滤波器的运行速度,依赖于所用到的数字处理器的速度,以及滤波算法必须执行的算术操作的数目。滤波器的响应越紧凑,则滤波器的速度越快。
我国广泛使用滤波器是50年代后期的事,当时主要用于话路滤波和报路滤波。经过半个世纪的发展,我国滤波器在研制、生产和应用等方面已纳入国际发展步伐,但由于缺少专门研制机构,集成工艺和材料工业跟不上来,使得我国许多新型滤波器的研制应用与国际发展有一段距离。
目前数字滤波器的设计有许多现成的高级语言设计程序,但他们都存在设计效率较低,不具有可视图形,不便于修改参数等缺点,而Matlab为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。他以矩阵运算为基础,把计算、可视化、程序设计融合到了一个交互式的工作环境中。尤其是Matlab工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。其中的信号处理工具箱、图像处理工具箱、小波工具箱等更是为数字滤波研究的蓬勃发展提供了可能。
(4)几个输入信号或通道可以用一个数字滤波器来滤波,而不需要重复硬件。
(5)滤波过的和未滤波的数据都可以将其存储以备将来使用。
(6)可以充分利用在VLSI技术方面的技术进展来制造数字滤波器,使滤波器体积更小、功耗低、价格便宜。
(7)在实践中,模拟滤波器能达到的精度是受限制的。例如,利用现有的元件设计的有源滤波器,通常可能达到最大阻带衰减是60-70dB。而对于数字滤波器,它的精度仅受限于它所采用的字长。