fir低通滤波器课程设计.doc_第1页
fir低通滤波器课程设计.doc_第2页
fir低通滤波器课程设计.doc_第3页
fir低通滤波器课程设计.doc_第4页
fir低通滤波器课程设计.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

DSP第二次课程设计 基于汉明窗函数的FIR低通滤波器的设计 姓名 钱海涛 学号 201022030305 孙佳云 201021030304 吴洪天 201022030106 张雷锋 201021030314 代 赟 201021030301基于汉明窗函数的FIR低通滤波器的设计一 数字滤波器的基本理论1.数字滤波器的定义和分类 数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。因此,数字滤波器本身既可以是用数字硬件装配成的一台完成给定运算的专用的数字计算机,也可以将所需要的运算编成程序,让通用计算机来执行。 从数字滤波器的单位冲击响应来看,可以分为两大类:有限冲击响应(FIR)数字滤波器和无限冲击响应(IIR)数字滤波器。IIR滤波器保留了模拟滤波器较好的幅度特性,设计简单有效。但这些特性是以牺牲相位特性为代价而获得的,然而现在许多数据传输、图像处理系统都越来越多的要求系统具有线性相位特性。在这方面FIR滤波器具有独特的优点,它可以保持严格的线性相位特性,因此越来越受到广泛的重视。FIR滤波器的设计方法有窗函数法、频率抽样法等,两种方法分别从时域和频域为出发点来进行设计的。滤波器按功能上分可以分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BSF)。2.数字滤波器的优点 相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用将会越来越广泛。同时DSP处理器(Digital Signal Processor)的出现和FPGA(Field Programmable Gate Array)的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。 数字滤波器具有以下显著优点:(1)精度高 (2)灵活性大(3)可靠性高(4)易于大规模集成(5)并行处理:数字滤波器的另外一个最大优点就是可以实现并行处理。 二 数字滤波器的设计1.数字滤波器设计的基本步骤如下(1) 确定指标。在设计一个滤波器之前,必须首先根据工程实际需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给出幅度响应和相位响应。幅度指标主要以两种方式给出。第一是绝对指标,它提供对幅度响应函数的要求,一般应用于FIR滤波器的设计。第二种指标是相对指标。它以分贝值的形式给出要求,在工程实际中,比较受到欢迎。对于相位响应指标形式,通常希望系统在通频带中仍然有线性相位。运用线性相位响应的指标进行滤波器设计具有如下优点:只包含实数算法,不涉及复数运算;不存在延迟失真,只有固定数量的延迟;长度为N的滤波器(阶数为N-1),计算量为N/2数量级。(2)逼近。确定了技术指标后,就可以建立一个目标的数字滤波器模型。通常采用理想的数字滤波器模型。之后,利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的目标。(3)性能分析和计算机仿真。上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求,或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。2.窗函数法设计FIR滤波器的MATLAB仿真MATLAB是一套用于科学计算的可视化高性能语言与软件环境。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个界面友好的用户环境。它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个优秀的算法研究与辅助设计的工具。对于线性相位FIR滤波器通常采用窗函数法设计。窗函数设计FIR滤波器基本思想,就是从时域出发, 把理想的无限长的用一定形状的窗函数截取成有限长的,以此来逼近,从而使所得到的频率响应与所要求的理想频率响应相接近。理想的数字滤波器频率特性是无法实现的,FIR的设计就是要寻找一个可以得到的频率特性来逼近,这相当于用一个可实现的单位脉冲响应去逼近一个理想单位脉冲响。要想用一个有限长的因果序列去逼近它,最简单的方法是截取n从0N-1的一段来表示它,即: (0nN-1);当n为其他的数时,=0。同时,为了保证线性相位,还要满足偶对称: ,这就好像通过一个窗口观看到的一段,因此就表示成和一个“ 窗口函数” 的乘积。这样,对的求解就变为:这里的就称为窗口函数。窗口函数相当于对在时域上截取一段,势必造成频域的矩形窗口的失真,结果就是截取出的信号也相应失真。为了补偿这种失真,只有改变原来窗口的形状,修正经过时域截取后的窗口失真。改善窗口函数的标准:(1)尽量减少窗口频谱的旁瓣,使能量集中在主瓣中,以减少波动的幅度和次数,提高阻带衰减。这样,主瓣就不能太窄;(2)主瓣的宽度应尽量窄,以得到尽量窄的过渡带。工程中常用的窗函数有以下六种:矩形窗,三角形窗,汉宁窗,汉明窗,布莱克曼窗,凯泽窗(可变窗函数)。表1为六种窗函数的性能指标。 表1 常用传函数的性能指标 3.具体低通滤波器的设计:下文以低通滤波器设计为例,设计指标如下:通带截止频率为,阻带截止频率为,通带纹波=0.5dB,最小阻带衰减=50dB。 根据条件,设计采用汉明窗。程序如下:wp=0.2*pi;wr=0.4*pi;trwidth=wr-wp; %过渡带宽度N=ceil(6.64*pi/trwidth)+1;%滤波器的长度 (注:有表中汉明窗的过度带宽得 %滤波器阶数N=2M+1n=0:1:N-1;wc=(wr+wp)/2;hd=ideal_lp(wc,N);w_ham=(hamming(N);h=hd.*w_ham;db,mag,pha,grd,w=freqz_m(h,1);delta_w=2*pi/1000; Ap=-(min(db(1:1:wp/delta_w+1);Ar=-round(max(db(wr/delta_w+1:1:501);subplot(221);stem(n,hd);title(理想单位脉冲响应hd(n)subplot(222);plot(n,w_ham);title(海明窗w(n)subplot(223);stem(n,h);title(实际单位脉冲响应h(n)subplot(224);plot(w/pi,db);title(幅度响应(dB)输出结果如下:由上图可以看到:通带纹波为0.0301dB,最小阻带衰减为55dB。满足设计指标的要求。滤波器系数N=35 具体系数如下:-0.000462885479098098 0.00102707805978426 0.002356825273471590.00198992091909062 -0.00151370239796531 -0.00662950110914604-0.00784166881995514 4.84287457256860e-18 0.01423664691969440.0220404383682397 0.00935693617842729 -0.0232325534213008-0.0520253274593482 -0.0411589138840292 0.03052864357449910.146663518130600 0.255501129233867 0.300000000000000下面我把滤波器的阶数人为的设置成75,程序略(只是将语句N=ceil(6.64*pi/trwidth)+1;改为N=75,下同)。我们又得到如下的输出结果:由上图可以看到:通带纹波为0.0284dB,最小阻带衰减为58dB。滤波器系数N=75,具体系数如下: -0.000212677112018045 0.000424385520556443 0.0007877413127754090.000521908615236118-0.000316778198329297 -0.00114313847313289-0.001149805954994991.85808965952045e-18 0.001617067666306930.00224777751162074 0.000860093436879993 -0.00191752807465884-0.00380467721328828-0.00259525212498815 0.001575889171840550.00557714595345204 0.00543347922058852 -5.63174891239327e-18-0.00705432968250602-0.00941026503276069 -0.003462546533910460.00744780981210846 0.0143175463145263 0.00950876719070009-0.00565280789164806-0.0197072975308605 -0.01904536642449069.86912293278530e-180.0249534989765668 0.03397760153154240.0129433901251334 -0.0293614691025597 -0.0610623471176339-0.0455454008238548 0.0323010583882615 0.1503638094846580.257091359911331 0.300000000000000 下面我再次把滤波器的阶数人为的设置成15,程序略。我们又得到如下的输出结果:由上图可以看到:通带纹波为1.6322dB,最小阻带衰减为16dB。显然不能满足指标要求。滤波器系数N=15,具体系数如下:0.00112415044923825 -0.00391515738696378 -0.0161188746641399-0.0204703938321935 0.0210615085977838 0.1251496714246940.245787044932965 0.300000000000000综上所述:当滤波器的阶数增加时,可以减小通带纹波,增加最小阻带衰减。但同时计算量也随之增大,成本也要同样增加。下面,我用MATLAB中的Filter Design and Analysis 工具进行同样的设计,设置阶数为35,低通,窗口选择hamming,归一化频率。 结果如下: 幅频特性曲线相频特性曲线 冲击响应零极点图 部分滤波器系数三 结论 FIR滤波器以它优越的性能,在数字信号处理领域中占有很重要的地位,是现代电子技术中必须掌握的设计技术。本文通过讨论FIR数字滤波器的基本原理和设计步骤,阐述了窗函数法设计FIR数字滤波器的思路。在MATLAB中, 通过窗函数法设计了FIR数字滤波器,并很好的完成了设计要求的指标。 另附上ideal_lp和freqz_m函数程序:function hd = ideal_lp(wc,M)alpha = (M-1)/2;n =0:1:(M-1);m = n - alpha + eps;hd = sin(wc*m) ./ (pi*m);function db,mag,pha,grd,w = freqz_m(b,a)% Modified version of freqz subroutine% -% db,mag,pha,grd,w = freqz_m(b,a);% db = Relative magnitude in dB computed over 0 to pi radians% mag = absolute magnitude computed over 0 to pi radians % pha = Phase response in radians over 0 to pi radians% grd = Group delay over 0 to pi radians% w = 501 frequency samples between 0 to pi radians% b = numerator polynomial of H(z) (for FIR: b=h)% a = denominator polynomial of H(z) (for FIR: a=1)H,w = fre

温馨提示

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

评论

0/150

提交评论