ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:199.81KB ,
资源ID:8837878      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8837878.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(FIR滤波器加窗效应分析.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

FIR滤波器加窗效应分析.docx

1、FIR滤波器加窗效应分析引 言 随着科学技术的发展,信号处理理论和分析方法已应用于许多领域和学科中。不仅是无线电、通信、电子工程等专业的主要技术,还是相关工科专业非常实用的工具。尤其是数字计算机的出现和大规模集成技术的高度发展,有力的推动了数字信号处理技术的发展和应用。当今社会已进入信息时代,人们每天都要接触各种各样的载有信息的信号形式,如接收广播、电视信号、使用电话传送声信号等等,其目的是把不同形式的信息借助一定形式传送出去并能够准确实时的接收到信息信号处理技术的发展与应用就显得尤为重要!信号处理技术就是利用一定的部件或设备,对观测到的信号进行分析、变换、综合、识别等加工的技术,已达到提取有

2、用信息和便于利用的目的。对信号进行分析与处理的时候常伴有噪声,根据有用信号和噪声的不同特征,消除或削弱噪声、提取有用信号的过程即为滤波。从本质上说,滤波就是改变信号中各频率分量的相对幅度和相位。根据滤波器预处理的信号性质不同可分为模拟滤波器和数字滤波器。前者处理连续时间信号后者处理离散时间信号。其中数字滤波器又分有限长(FIR)与无限长脉冲响应(IIR)滤波器。本次设计为前者,且同时用MATIAB来仿真实现。一、摘要数字滤波技术是数字信号处理的一个重要组成部分,滤波器的设计是信号处理的核心问题之一。FIR滤波器典型设计方法是借助于窗函数法和频率采样法。本次课程设计为分析FIR数字滤波器的基本原

3、理,在MATLAB环境下利用窗函数设计FIR滤波器,实现FIR低通滤波器的设计仿真,并对常用的几种窗函数进行比较,同时给出在MATLAB环境下,用窗函数法设计FIR滤波器的过程和实例。仿真结果表明,设计的FIR滤波器的各项性能指标均可达到指定要求,且设计方法简单而有效,能得到较好的幅度特性。因此该方法为快速、高效地设计FIR滤波器提供了一个可靠而有效的途径。通过实验结果表明FIR滤波器准确度高、稳定性好,可以有效的滤除干扰信号,设计结果满足性能指标要求。数字滤波器的应用十分广泛,运行MATLAB语言,能很容易地设计出具有严格要求(如线性相位等)的滤波器。关键字: FIR 滤波器 MATLAB

4、仿真二、FIR 数字滤波器的基本原理2.1关于FIR滤波器设h(n)(n=0,1,2N-1)为滤波器的冲激响应,输入信号为x(n),则FIR滤波器就是要实现下列差分方程: F IR 滤波器的最主要的特点是没有反馈回路,因此它是无条件稳定系统。它的单位脉冲响应h(n)是一个有限长序列。由方程(1)可见,FIR滤波算法实际上是一种乘法累的有限加运算,它不断地输入样本x(n),经延时后做乘法累加,再输出滤波结果y(n)。对式(1)进行Z 变换,整理后可得FIR滤波器的传递函数为:由式(2)可以看出,FIR滤波器的一般结构如图1所示。FIR数字滤波器的设计方法主要有窗函数法和频率采样法,其中窗函数法是

5、简单而有效的设计方法。2.2 FIR滤波器的优点所谓数字滤波器,是指其输入、输出均为数字信号,通过一定的运算关系改变输入信号所含频率成分的相对比例或滤出掉某些频率成分的器件,因而在数字通讯、语音图象处理、谱分析、模式识别、自动控制等领域得到了广泛的应用。相对于模拟滤波器,数字滤波器没有电压漂移、温度漂移和噪声等,还能够处理低频信号,频率响应特性可作成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用将会越来越来广泛。数字滤波器具有以下显著优点:1、精度高:因此在高精度要求的滤波设计系统中,一般就采用数字滤波来实现。2、灵活性大:数字滤波的性能主要取决于乘法器的

6、各项系数,而这些系数是存放在系统存储器中的,只要改变存储器存放的系数,就可以得到不同的系统,这些都比改变模拟滤波器系统的特性要容易和方便的多,因而具有很大的灵活性。3、可靠性高:因为数字系统只有两个电平信号“1”和“O”,受噪声及环境条件的影响小,而模拟滤波各个参数都有一定的温度系数,易受到温度、振动、电磁感应等影响。4、易于大规模集成:数字部件具有高度的规范性,便于大规模集成,大规模生产,且数字滤波器电路主要工作在截止或饱和状态,对电路参数要求不严格,因此产品的成品率高,价格也日趋降低。相对于模拟滤波器,数字滤波器在体重、重量和性能方面的优势己越来越来明显。5、并行处理:数字滤波器的另外一个

7、最大的优点就是可以实现并行处理,比如数字滤波器可以采取DSP处理器来实现并行处理。2.3数字滤波器的设计数字滤波器设计的基本步骤如下:(l)确定指标在设计一个滤波器之前,必须首先根据工程实际需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给出幅度响应和相位响应。幅度指标主要以两种方式给出。第一是绝对指标,它提供对幅度响应函数的要求,一般应用于FIR滤波器的设计;第二种指标是相对指标,它以分贝值的形式给出要求,在工程实际中,比较受到欢迎。对于相位响应指标形式,通常希望系统在通频带中仍然有线性相位。运用线性相位响应的指标进行滤波器设计具有如

8、下优点:只包含实数算法,不涉及复数运算;不存在延迟失真,只有固定数量的延迟;长度为M的滤波器(阶数为M-l),计算量为M/2数量级。(2)逼近确定了技术指标后,就可以建立一个目标的数字滤波器模型。通常采用理想的数字滤波器模型。之后,利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的目标。(3)性能分析与仿真上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求,或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。窗函数法设计FIR滤波器的MATLAB仿真MATLAB是一套用于科学计算的可视化高性能语

9、言与软件环境。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个界面友好的用户环境。它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个优秀的算法研究与辅助设计的工具。三、FIR数字滤波器设计的基本方法3.1窗函数法 窗函数法的设计思想是按照所要求的理想滤波器频率响,设计一个FIR滤波器,使频率响应逼近。先由的傅里叶反变换导出理想滤波器的冲激响应序列即:。由于是矩形频率特性,所以是一无限长的序列,且是非因果的,而要计的FIR滤波器的冲激响应序列是有限长的,所以要用有限长的序列h(n)来逼近无限长的序列,最有效的方法是截断,或者说用一个有限长度的窗口函数w(n)序列来截取

10、,即:按照复卷积公式,在时域中的乘积关系可表示成在频域中的周期性卷积关系,即可得所设计的FIR滤波器的频率响应:其中,为截断窗函数的频率特性。由此可见,实际的FIR数字滤波器的频率响应逼近理想滤波器频率响应的好坏,完全取决于窗函数的频率特性。如果w(n)的形式为:w(n)相当于一个矩形,我们称之为矩形窗。即我们可采用矩形窗函数w(n)将无限脉冲响应截取一段来近似为。经过加矩形窗后所得的滤波器实际频率响应能否很好地逼近理想频率响应呢?下图给出了理想滤波器加矩形窗后的情况。理想低通滤波器的频率响应如图中左上角图,矩形窗的频率响应T 错误!未找到引用源。为左下角图。根据卷积定理,即得实际滤波器的频率

11、响应图形为图中右图。由图可看出,加矩形窗后使实际频率响应偏离理想频率响应,主要影响有三个方面:(1)理想幅频特性陡直边缘处形成过渡带,过渡带宽取决于矩形窗函数频率响应的主瓣宽度;(2)过渡带两侧形成肩峰和波纹,这是矩形窗函数频率响应的旁瓣引起的,旁瓣相对值越大,旁瓣越多,波纹越多;(3)随窗函数宽度M的增大,矩形窗函数频率响应的主瓣宽度减小,但不改变旁瓣的相对值。为了改善滤波器的性能,需使窗函数谱满足:主瓣尽可能窄,以使设计出来的滤波器有较陡的过渡带;第一副瓣面积相对主瓣面积尽可能小,即能量尽可能集中在主瓣,外泄少,使设计出来的滤波器的肩峰和余振小逼近于理想滤波器。但是这两个条件是相互矛盾的,

12、实际应用中,折衷处理,兼顾各项指标。上边只考虑了矩形窗,如果我们使窗的主瓣宽度尽可能地窄,旁瓣尽可能地小,可以获得性能更好的滤波器,通过改变窗的形状来达到这个目的。在数字信号处理的发展过程中形成了不同于矩形窗的很多窗函数,这些窗函数在主瓣和旁瓣特性方面各有特点,可满足不同的要求。为此,用窗函数法设计FIR数字滤波器时,要根据给定的滤波器性能指标选择窗口宽度N和窗函数w(n)。下面具体介绍几类窗函数及其特性。3.2、矩形窗矩形窗函数的时域形式可以表示为:它的频域特性为:3.3汉宁窗函数汉宁窗函数的时域形式可以表示为: 它的频域特性为:其中,为矩形窗函数的幅度频率特性函数。汉宁窗函数的最大旁瓣值比

13、主瓣值低31dB,但是主瓣宽度比矩形窗函数的主瓣宽度增加了1倍,为8/N。3.4海明窗函数海明窗函数的时域形式可以表示为: 它的频域特性为:其中,为矩形窗函数的幅度频率特性函数。海明窗函数的最大旁瓣值比主瓣值低41dB,但它和汉宁窗函数的主瓣宽度是一样大的。3.5布莱克曼窗 增加一个二次谐波余弦分量,可进一步降低旁瓣,但主瓣宽度进一步增加,增加N可减少过渡带。频谱的幅度函数为: +0.043.6三角窗函数三角窗是最简单的频谱函数为非负的一种窗函数。三角窗函数的时域形式可以表示为:当n为奇数时:当n为偶数时:它的频域特性为:三角窗函数的主瓣宽度为8/N,比矩形窗函数的主瓣宽度增加了一倍,但是它的

14、旁瓣宽度却小得多。3.7凯泽窗 以上几种窗函数,都是以增加主瓣宽度为代价来降低旁瓣。凯泽窗则可自由选择主瓣宽度和旁瓣衰减,如图(一)。图(2)式中I0(x)是零阶贝塞尔函数,参数可自由选择,决定主瓣宽度与旁瓣衰减。越大,w(n)窗越窄,其频谱的主瓣变宽,旁瓣变小。一般取 49,=5.44 接近汉明=8.5 接近布莱克曼=0 为矩形 。 3.8多尔夫-切比雪夫窗定义:, -Mn=M其中,是一个用分数表示的旁瓣相对幅度是X的第e阶切比雪夫多项式。不同的窗函数对信号频谱的影响是不一样的,这主要是因为不同的窗函数,产生泄漏的大小不一样,频率分辨能力也不一样。信号的截断产生了能量泄漏,而用FFT算法计算

15、频谱又产生了栅栏效应,从原理上讲这两种误差都是不能消除的,但是我们可以通过选择不同的窗函数对它们的影响进行抑制。(矩形窗主瓣窄,旁瓣大,频率识别精度最高,幅值识别精度最低;布莱克曼窗主瓣宽,旁瓣小,频率识别精度最低,但幅值识别精度最高。四、MATLAB仿真滤波实现4.1MATLAB软件简介MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在

16、很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB 产品族可以用来进行以下各种工作:数值分析,数值和符号计算,工程与科学绘图,控制系统的设计与仿真,通讯系统设计与仿真,财务与金融工程。4.1.1、友好的工作平台和编程环境MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精

17、致,更加接近Windows的标准界面,人机交互性更强,操作更简单。4.1.2简单易用的程序语言Matlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。4.1.3强大的科学计算机数据处理能力MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C+

18、 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。4.1.4出色的图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。4.1.5应用广泛的模块集合工具箱MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。4.1.6实用的程序接口和发布平台新版本的MATLAB可以利用MATLAB编译器和C/C+数学

19、库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C+代码。允许用户编写可以和MATLAB进行交互的C或C+语言程序。4.2 实验结果分析(1)相同的窗口加不同的窗长程序一、汉宁窗不同窗长function lpfir5wc=0.25*pi;N=11 21 41;M=N-1;n1=0:N(1)-1;n2=0:N(2)-1;n3=0:N(3)-1;hl1=fir1(M(1),wc/pi,hanning(N(1);hl2=fir1(M(2),wc/pi,hanning(N(2);hl3=fir1(M(3),wc/pi,hanning(N(3);h1,w11=freqz(hl1

20、,1,512);h2,w12=freqz(hl2,1,512);h3,w13=freqz(hl3,1,512);plot(w11/pi,20*log(abs(h1)/max(abs(h1);hold onplot(w12/pi,20*log(abs(h2)/max(abs(h2),:);hold onplot(w13/pi,20*log(abs(h3)/max(abs(h3),-);axis(0 1 -350 10);title(汉宁窗不同窗长);xlabel(/); ylabel(|H(ej)|);legend(M=10,M=20,M=40);end 图(3)图(3)分别给出了M=10,M=

21、20及M=40时的的幅频特性曲线可以看出,当M取不同值时,都在不同程度上近似于。M过小时,通频带过窄,且阻带内纹波较大,过渡带较宽。当M增大时,近似的程度越来越好,即通频带接近0.25,阻带纹波减小,过渡带变窄。由该图还可知,当M增大时,通带内出现了纹波,随着M的继续增大,这些纹波并不消失,只是最大的上冲越来越接近于间断点()。这种现象称作吉布斯现象。(2)不同窗口加相同的窗长程序二、同窗长的汉宁窗与矩形窗比较function lpfir4wc=0.25;N=21;M=N-1;hl1=fir1(M,wc,hanning(N);hl2=fir1(M,wc,boxcar(N);h1,w11=fre

22、qz(hl1,1,512);h2,w12=freqz(hl2,1,512);plot(w11/pi,20*log(abs(h1)/max(abs(h1);hold onplot(w12/pi,20*log(abs(h2)/max(abs(h2),:);title(同窗长的汉宁窗与矩形窗比较);xlabel(/); ylabel(|H(ej)|)legend(汉宁窗,矩形窗)En 图(4)过渡带的宽度:对不同的窗口,其主瓣宽度不一样(例如矩形窗,汉宁窗)因此对于不同窗口过渡带宽度不同。阻带衰减:不同窗口,当旁瓣的幅度衰减速率比较快的时候,阻带的衰减则会增大。汉宁窗相对于矩形窗就具有这样的性质,旁

23、瓣衰减较快。吉布斯现象:矩形窗的吉布斯现象比汉宁窗要明显,这与旁瓣的多少和衰减速率的快慢有关,汉宁窗相对于矩形窗,旁瓣较少,衰减较快。(3)窗函数要求a、主瓣尽可能窄,以获得较陡的过渡带。b、最大的副瓣相对于主瓣尽可能的小,即能量集中在主瓣中。这样,就可以减少肩峰和余振,提高阻带的衰减。这两项要求不可能同时得到最佳要求,常用的窗函数是在这两个因素之间取得适当的折衷。往往需要增加主瓣宽度以换取副瓣的抑制,如果选用一个窗函数的主要目的是为了得到较锐的截至,就应选用主瓣较窄的窗函数,这样在通带中将产生一些震荡,在阻带中会出现显著的波纹。如果主要目的是为了得到平坦的幅度响应和较小的阻带波纹,这时选用的

24、窗函数的副瓣电平就要较小,但所设计的FIR滤波器的截止锐度就不会很大。4.3设计主要用到的MATLAB 函数4.3.1 firl 函数fir1函数实现线性相位FIR数字滤波器的窗函数法设计。利用这一函数可以设计出标准的低通、高通、带通和带阻线性相位FIR滤波器。调用格式:(1)b = fir1(n,wn)用海明窗设计低通或带通的FIR滤波器:w(n)是截止频率,以“ 弧度”为单位。fir1函数返回FIR滤波器的系数向量b。如果w(n) 是一个标量,则返回的是一个n 阶的低通FIR数字滤波器。如果w(n) 是一个二元向量,即w(n) = w1,w2,则返回的是一个2n阶的带通滤波器,其通带为w1

25、 w2。(2)b = fir1(n,wn, type, window)type为滤波器的类型,当type=high 时,设计高通FIR滤波器;当type=stop 时,设计带阻FIR滤波器。向量window 用来指定窗函数类型,其长度为n+1,缺省时为海明窗。4.3.2 freqz 函数为了检验所设计的数字滤波器是否正确,可以画出其幅频特性.。Matlab提供了求解数字滤波器频率响应的函数freqz ,其调用格式如下:h,w = freqz(b,a,n)返回数字滤波器的n点频率响应h和频率向量w。若n缺省,则自动取n为默认值512。4.3.3 plot函数plot(Y)如果Y是mn的数组,以1

26、:m为X横坐标,Y中的每一列元素为Y坐标,绘制n条曲线;如果Y是n1或者1n的向量,则以1:n为横坐标,Y为坐标表绘制1条曲线;如果Y是复数,则plot(Y)等效于plot(real(Y),imag(Y);其它使用情况下,忽略坐标数据中的虚部。plot(X1,Y1,.)如果X和Y都是数组,按列取坐标数据绘图,此时它们必须具有相同的尺寸;如果X和Y其中一个是向量另一个为数组,X和Y中尺寸相等的方向对应绘制多条曲线;如果X和Y其中一个是标量另一个为向量,那么将绘制垂直X或者Y轴离散的点。4.3.4 title函数title就是给已经画出的图加一个标题title ()里面的内容就是图片标题的名称。4

27、.3.5 legend函数legend(string1,string2,string3, .)分别将字符串1、字符串2、字符串3标注到图中,每个字符串对应的图标为画图时的图标。4.3.6 xlabel() ylabel()函数Xlabel()函数给x坐标轴添加标注,ylabel()函数给y坐标轴添加标注。4.3.7 hold onHold on命令可以保护当前的坐标系,使以后再使用plot()函数时将新的曲线叠印在原来的图上,用hold off则可以取消保护状态。4.3.8 axisaxis(【xmin xmax ymin ymax】)设置坐标轴的极限范围。五、课程设计心得近一周的课程设计过程

28、虽然短暂,但也让我学到了不少知识。其中之前从未接触过的便是MATLAB软件。最初学习使用MATLAB软件阶段,由于毫无基础,根本不知如何操作。经过各种途径查阅相关资料,及老师与同学的指导,略懂了基本的操作,但实际编程过程中仍会出现函数或者命令输入错误等各种低级小错误,导致程序运行错误,无法得到正确的图形。虽然都是小错,但是极其容易被忽视,通常因这些错误要找半天。但是慢慢熟练之后便会注意这些马虎,编程有所进步!此外,通过这次课设,我又对数字信号处理课程学习了一遍,经过仔细翻阅课本及相关课外书籍,我进一步了解了有限长数字低通滤波器的一些性能及设计步骤,虽然刚开始时不知从何着手!但是,幸好有老师与同

29、学们的帮助,我可以比较顺利的完成此次课程设计的任务!总之,课程设计的过程是一个很好的学习过程,把课本的理论知识与实际结合起来,是一个很好的实践过程。同时,我也明白了一个小道理,那就是在短暂的时间内学习一个新东西,只靠自己闷头学习钻研是不可取的,遇到问题可以请教周围的同学与老师,每个人掌握的情况是不同的,我们可以互相帮助,发挥团队的优势与力量。此次虽然只是简单的学习了MATLAB软件,而且操作与应用仍是很生疏,但是以后我会继续学习与使用它的。对于数字信号处理中的滤波器设计也是了解的有限,仍有较多知识等待我的学习。六、参考文献【1】薛定宇 陈阳泉著 高等应用数学问题的MATLAB求解(第二版) 清华大学出版社 2008年10月【2】胡广书著 数字信号处理 理论、算法与实现(第二版) 清华大学出版社 2003年8月【3】王世一著 数字信号处理(修订版) 北京理工大学出版社 2003年2月

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1