基于MATLAB的数字滤波器设计.doc_第1页
基于MATLAB的数字滤波器设计.doc_第2页
基于MATLAB的数字滤波器设计.doc_第3页
基于MATLAB的数字滤波器设计.doc_第4页
基于MATLAB的数字滤波器设计.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于MATLAB的FIR数字滤波器设计海燕 通信工程一班【摘要】:提出FIR数字滤波器的设计方案,并基于Matlab实现滤波仿真。通过使用Matlab信号处理工具箱提供的函数,选择适当的窗函数编写程序,其中窗函数按照实际信号的处理需求,参数折中选择在用窗函数法设计FIR数字滤波器时,设计的优化主要是通过调整窗函数来进行的。文中提出一种新的优化算法,其基本思想是在窗函数和滤波器阶数不变的情况下,通过迭代运算寻找一个最佳的频率响应函数,对此频率响应函数的傅里叶反变换进行加窗所设计出的滤波器的频率响应相对于理想频率响应的逼近误差最小。实验获得了比较理想的滤波器特性,可以实现较好的滤波作用。而且在实际应用中只需按需求修改滤波器参数,并结合程序的相应改动,即可实现不同功能的滤波器。【关键词】:Matlab;FIR窗函数;滤波器Based on the MATLAB FIR digital filter design【 abstract 】 : put forward the design scheme of FIR digital filters, and based on the Matlab simulation filtering. Through the use of Matlab signal processing tools provide function, selecting the appropriate window function program, including window function according to the actual signal processing requirements, parameter compromise choice in window function method design FIR digital filter, the optimization of the design is mainly by adjusting the window function to the. This paper presents a new algorithm is proposed in this paper, the basic idea is to in the window function and filter order number under the condition of constant, through iterative operation looking for an optimal frequency response function, the frequency response function of the inverse Fourier transform, and the filter window design of frequency response relative to the ideal frequency response approximation error minimum. The experiment won the ideal filter characteristics, can achieve better filtering effect. And in practical application according to the requirements by modified filter parameters, and combined with the corresponding program changes, can realizedifferent function of the filter.【 key words 】 : Matlab; FIR window function; filter引言 数字滤波器可以过滤时间离散信号,通过对抽样数据进行数字处理来达到频域滤波的目的,目前已经广泛应用在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域。所谓数字滤波器就是具有某种选择性的器件、网络或以计算机硬件支持的计算程序。其功能性质是按事先设计好的程序,将一组输入的数字序列通过一定的运算后转变为另一组输出的数字序列。从而改变信号的形式和内容,达到对信号加工或滤波以符合技术指标的要求。由于计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现。借助Mathb强大的数据处理能力,灵活使用模块集和工具箱,可以按照需求编写程序来实现多种滤波器设计。伴随Matlab的不断发展以及工具箱的不断开发,工作平台的改善,使用Mathb的编程工作量会大大减少。Matlab提供了完整的联机查询、帮助系统,提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。而这也使得基于Matlab的设计变得方便易于使用。一. 数字滤波器及设计方案 应用数字滤波器处理模拟信号时,首先要对输入模拟信号进行限带、抽样和模数转换,数字滤波器输入信号的抽样率应大于被处理信号带竟的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即12抽样频率点呈镜像对称。滤波器的输出信号须经数模转换、平滑处理。数字滤波器的输出值与输出的过去值表达关系如下: (1) 这是不断乘累加的过程,解决了滤波器的系数问题,再加上乘法和加法计算即可实现滤波器设计。由于FIR滤波器的单位脉冲响应h(n)是有限长序列,因此滤波器没有不稳定的问题,FIR滤波器一般为非递归结构,因此在采用Matlab设计时采用有限精度的计算,以避免出现递归结构中极性震荡等不稳定现象。常见的两种FIR滤波器设计方法是窗函数法和频率采样法。虽然频率采样法可以精确控制采样点的频率响应,但是设计中必须插入过渡点来改善纹波,而且截止频率不易控制,过渡点也需要进一步的优化,对比来看窗函数法则是一种基本的设计理念,设计方法比较成熟。并且Matlab中提供的函数可以方便地实现加窗线性相位FIR滤波器设计,包括了比较常见的低通、带通、高通和带阻数字滤波器。本文采用的是窗函数结合编程的设计方法。二.FIR数字滤波器设计 窗函数法设计FIR滤波器方案: 在Matlab中可直接产生窗函数:矩形窗(Rectangle Window),三角窗(Triangular Window),汉宁窗(Hanging Window),凯塞窗(Kaiser Window)等,通过调用系统的函数即可实现窗的加载。具体调用方法如下:调用格式:w=函数名(n),根据长度n产生一个矩形窗w。一般正常的心电信号频率范围在005100 Hz之内,这本身就是一种比较微弱的电信号,当受到身体其他器官的干扰信号后,心电信号将会严重失真。另外还要考虑到电子器件噪声和50 Hz的工频信号的存在。这就需要尽量消除噪声和干扰的影响。这里选取低通滤波器的设计指标为:通带截止频率p=02,阻带截止频率s=03,最小阻带衰减As50 dB。所以得出过渡带宽tr_width=s-p,列长N=10 tr_width。选择窗函数一般是选择主瓣较宽的,这样可以增加阻带的衰减,保证了通带的平稳,另外在保证阻带最小衰减指标的情况下,适当增加列长N值,窄化过渡带。根据窗函数最小阻带衰减的特性。只有海明窗和凯塞窗可提供大于50 dB的衰减。实际应用中选用窗函数大多是它们的折中,凯塞窗可以通过改变参数值来折中选择主瓣宽度和旁瓣衰减,基于此的滤波器适应能力强且比较灵活。利用凯塞窗设计的FIR数字带通滤波器,利用凯塞窗自由选择主辦宽度和旁辮衰减的办法,通过MATLAB进行滤波器的仿真。实验结果表明,利用凯塞窗函数设立的滤波器,是使主辦具有最大能量意义下的最佳窗函数。FIR滤波器的数学表达式可用差分方程(1)来表示: (2) 其中:x是FIR的滤波器的抽头数;b(r)是第r级抽头数(单位脉冲响应);x(n-r)是延时r个抽头的输入信号。 设计滤波器的任务就是寻求一个因果,物理上可实现的系统函数H(z),使其频率响应H(ejw)满足所希望得到的频域指标。 窗函数设计法是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,设计步骤为: (1)通过傅里叶逆变换获得理想滤波器的单位脉冲响应。 (2) (2)由性能指标确定窗函数W(n)和窗口长度N。 (3)求得实际滤波器的单位脉冲响应h(n),h(n)即为所设计FIR滤波器系数向量a(n)。 (3) (4)检验滤波器性能。 Matlab信号处理工具箱提供了各种窗函数、滤波器设计函数和滤波器实现函数。设计中利用Matlab提供的函数firl来实现,编程则是直接调用这些函数简单直观的完成设计。调用格式:firl(n,Wn,ftype,Window),其中n为阶数、Wn为截止频率、ftype是滤波器的类型、Window是窗函数。 窗函数法又称傅里叶级数法,其设计是在时域进行的。设需设计的理想滤波器的频率响应和单位冲激响应,一般是无限长且非因果的,设计时需用一个合适的窗函数把截成有限长的因果序列,使对应的频率响应(的傅里叶变换)尽可能好地逼近理想频率响应。窗函数法的基本思想是先给定理想的滤波器频响为, (1) 式中:c为截止频率; 而所要求设计的频响为,之后的工作便是使 (2)逼近。加窗w(n)对理想滤波器的单位抽样响应 截断,得到所要设计的h(n)。 (3) 窗函数法的主要缺点是:一、不容易设计预先给定截止频率的滤波器;二、满足同样设计指标的情况下所设计出的滤波器的阶数通常偏大。三程序运行结果: 图1 图2 图3 图4从滤波效果图看,所设计的滤波器基本消除了噪声和干扰的影响,客观的得出真实信号。按照设计方案中滤波器的指标,执行函数操作可以得到:N=46,As=59。之后增加参数N值。在该设计中,利用凯塞窗函数,执行了多种N值的改变。伴随N值增大,过渡带变窄,但阻带的最小衰减没有改变。四结论 从图14的特性曲线中可以看出该滤波器的性能基本达到了妻求,滤波作用比较明显。曲线相对比较平稳,能够满足微弱信号滤波器的设计技术指标。特别是从方案二中的相频特性曲线来看,曲线通过原点且为一条平滑直线,说明具有良好的线性相位特性,而这也是在应用中选择FIR数字滤波器的重要原因,但是它的实际效果还要经过实践的检验。FIR幅频特性精度比IIR低,且滤波器所需阶次比较高,但是它拥有很好的线性相位,即不同频率分量的信号经过FIR滤波器后他们的时问差不变。另外,FIR还存在的缺点应加以改善,如信号的延迟偏大。这就考虑到用高性能的DSP器件,由于其处理速度快,此缺点在一点程度上是可以改善的。五 .结语 本文通过设计实例,介绍了利用Matlab实现数字信号处理中的数字滤波器设计,从结果可以看出它们均可以达到技术指标要求,而且方法简单、快捷,大大减轻了工作量。滤波器的设计工作完成后,可以借助Matlah的export操作导出所设计滤波器的系统函数H(x)。由于Matl-ah具有强大的接口功能,仿真后的结果可以很方便的移植到DSP,CPLD或FPGA等器件中。在实际应用中,只需按要求修改滤波器参数,并对程序作较少的改动,即可实现不同的滤波器,实用性较强。六参考文献1武晓春,FIR数字滤波器的MATLAB设计J.甘肃科技纵横.2005,34(1);23,171.2王宏,MATLAB6.5及其在信号处理中的应用M.北京:清华大学出版社,2004.3黎雄.数字滤波器的最优设计及实现J.信息技术 2004(10).4李春宇.用MATLAB设计FIR数字滤波器J.淮阴工学院学报2005,14(1).5柴政 任海平.关于数字滤波器设计方式的讨论J.通信电源技术.2007,1:33-35.6 彭红平 杨福宝 武汉理工大学学报(信息与管理工程版) 2005 第5期 - 万方数据 7 张华 赵秋亮 现代电子技术 2007 第12期 % Hamming N = 46; b = fir1(N, 0.475, high); H,w = freqz(b,1,512); figure(1); stem(b); text(15,0.4,海燕 12010245375)title(Impulse Response Coefficients); text()xlabel(Time index n);ylabel(hn); figure(2); plot(w/pi, 20*log10(abs(H);grid; text(0.3,-10,海燕 12010245375)xlabel(omega/pi);ylabel(Gain, dB); title(Highpass filter designed using Hamming window);axis(0 1 -80 10);% Hann N = 42; b = fir1(N, 0.475, high, hanning(N+1); H,w = freqz(b,1,512); figure(3); stem(b); text(15,0.4,海燕 12010245375)title(Impulse Response Coefficients); xlabel(Time index n);ylabel(hn); figure(4); plot(w/pi, 20*log10(abs(H);grid; text(0.3,-10,海燕 12010245375)xlabel(omega/pi);ylabel(Gain, dB); title(Highpass filter designed using Hann window); axis(0 1 -80 10);一个数字FIR低通滤波器:通带截止频率:p=0.2,通带波动:Rp=0。25dB阻带截止频率:s=0.3,阻带波动:As=50dBfunction hd = ideal_lp(wc,M);% Ideal LowPass filter computation% hd = ideal_lp(wc,M)% hd = 0 到 M-1 之间的理想脉冲响应% wc = 截止频率(弧度)% M = 理想滤波器的长度alpha = (M-1)/2;n = 0:1:(M-1);m = n - alpha + eps;hd = sin(wc*m) ./ (pi*m); wp=0.2*pi;ws=0.3*pi;As=50;tr_width=ws-wp;M=ceil(As-7.95)/(14.36*tr_width/(2*pi)+1)n=0:1:M-1;beta=0.1102*(As-8.7)wc=(ws+wp)/2;hd=ideal_lp(wc,M);w_kai=(kaiser(M,beta);h=hd.*w_kai; % 画图H,W = freqz(h,1);subplot(2,2,1);stem(n,hd);title(理想脉冲响应);axis(0,M-1,-0.1,0.3);gridsubplot(2,2,2);stem(n,w_kai);title(凯泽窗);axis(0,M-1,0,1.1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论