利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器.docx

上传人:s9****2 文档编号:551110095 上传时间:2023-04-20 格式:DOCX 页数:27 大小:214.38KB
返回 下载 相关 举报
利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器.docx_第1页
第1页 / 共27页
利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器.docx_第2页
第2页 / 共27页
利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器.docx_第3页
第3页 / 共27页
利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器.docx_第4页
第4页 / 共27页
利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器.docx_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器.docx》由会员分享,可在线阅读,更多相关《利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器.docx(27页珍藏版)》请在金锄头文库上搜索。

1、目录目录1摘要IAbstractII1 原理说明11.1 数字滤波技术11.2 FIR滤波器21.3 窗函数32 滤波器设计42.1 滤波器设计要求42.2 设计函数的选取42.3 窗函数构造52.4 设计步骤82.5 设计方法83 滤波器测试153.1 滤波器滤波性能测试153.2 滤波器时延测量163.3 滤波器稳定性测量174 心得体会195 参考文献20附件一:21附件二:22摘要Abstract1 原理说明随着信息时代的到来,数字信号处理已经成为一门极其重要的学科和技术,并且在通信、语音、图像、自动控制等众多领域得到了广泛的应用。在数字信号处理中,数字滤波器占有极其重要的地位,它具有

2、精度高、可靠性好、灵活性大等特点。现代数字滤波器可以用软件或硬件两种方式来实现。软件方式实现的优点是可以通过滤波器参数的改变去调整滤波器的性能。MATLAB是一种面向科学和工程计算的语言,它集数值分析、矩阵运算、信号处理和图形显示于一体,具有编程效率高、调试手段丰富、扩充能力强等特点。MATLAB的信号处理工具箱具有强大的函数功能,它不仅可以用来设计数字滤波器,还可以使设计达到最优化,是数字滤波器设计的强有力工具。1.1 数字滤波技术数字滤波,就是通过一定的计算或判断程序减少干扰在有用信号中的比重,故实质上是一种程序滤波。与此对应的就是模拟滤波,由于模拟滤波牵扯到的其他知识太多在此不详细介绍了

3、,模拟滤波主要无源绿波(直接用电阻、电容、电感等不外接电源的元件组成的)与有源滤波(如运算放大器等需要外接电源组成的),其目的是将信号中的噪音和干扰滤去或者将希望得到的频率信号滤出为我所用。数字滤波的出现克服了模拟滤波的很多不足,具有以下优点:A是用程序实现的,不需要增加硬设备,所以可靠性高,稳定性好。B可以对频率很低的信号实现滤波,克服了模拟滤波的缺陷。C可以根据信号的不同,采用不同的滤波方法或参数,具有灵活、方便、功能强的特点。几种常用的滤波方法:1 算术平均值法2 中值滤波法3 滑动平均值法4 限幅滤波法5 惯性滤波法数字滤波技术通过数字滤波器实现,从实现方法上可以分为FIR数字滤波器和

4、IIR数字滤波器,按功能可分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)和带阻滤波器(BSF)。本文主要对FIR滤波器加以介绍。1.2 FIR滤波器,FIR滤波器具有以下主要优点:1.FIR滤波器具有准确的线性相位;2.FIR滤波器永远稳定;3.FIR滤波器设计方法一般是线性的;4.FIR滤波器在硬件上具有更高的运行效率;5.FIR滤波器启动传输时间只需要有限时间。FIR滤波器的主要缺点有:1.FIR滤波器为达到同样的性能要求需要比IIR滤波器高得多的阶数;2.相应的FIR滤波器的时延比同等性能的IIR滤波器高很多。FIR滤波器的硬件实现主要有数字集成芯片,DSP芯片FI

5、R滤波器,可编程FIR滤波器,后两者的实际方法主要通过MATLAB软件进行设计,其设计方法多样,形式灵活,能够满足各种要求,并且不受数字集成芯片规格的限制。FIR滤波器的设计方法主要有窗函数法、多带和过渡带、约束最小二乘法、任意相应法、升余弦法,其中最常用的是窗函数法。1.3 窗函数窗函数法是设计FIR滤波器的最主要方法之一,实际中遇到的离散时间信号总是有限长的,因此不可避免的要遇到数据截短的问题,在信号处理中,对离散序列的截短是通过序列与窗函数相乘来实现的。在信号处理中,窗函数是一种除在给定区间之外取值均为0的实函数。譬如:在给定区间内为常数而在区间外为0的窗函数被形象地称为矩形窗。任何函数

6、与窗函数之积仍为窗函数,所以相乘的结果就像透过窗口“看”其他函数一样。窗函数在光谱分析、滤波器设计以及音频数据压缩等方面有广泛的应用。常用的窗函数有矩形窗、巴特利特(Bartlett)窗、三角窗、海明(Hamming)窗、汉宁(Hanning)窗、布莱克曼(Blackman)窗、切比雪夫(Chebyshev)窗、凯泽(Kaiser)窗。2 滤波器设计2.1 滤波器设计要求利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器。要求:分别使用矩形窗、三角形窗、汉明窗、布莱克曼窗、凯泽窗进行设计,并输出滤波器的频率特性。技术指标:1 采样频率为20kHz;2 通带边缘频率:fp1=4

7、.5kHz,fp2=6.5kHz;3 通带峰值起伏:p40dB2.2 设计函数的选取MATLAB信号处理工具箱提供了基于加窗的线性相位FIR滤波器设计函数fir1和fir2,fir1函数的调用格式为:b=fir1(n,Wn)b=fir1(n,Wn,ftype)b=fir1(n,Wn,window)b=fir1(n,Wn,ftype,window)b=fir1(.,normalization)函数参数说明如下:1n表示滤波器的阶数2ftype表示所设计滤波器的类型:3high表示高通滤波器4stop表示带阻滤波器5DC-1表示多通带滤波器,第一频带为通带6DC-0表示多通带滤波器,第一频带为阻带

8、;默认时为低通或带通滤波器;7window为窗函数,是长度为n+1的列向量,默认时函数自动取Hamming窗。该函数实现加窗的线性相位FIR滤波器设计,可以设计标准低通、带通、高通和带阻滤波器(具有任意频率响应的加窗滤波器可以采用fir2进行设计)2.3 窗函数构造MATLAB工具箱已经提供了各种窗函数的构造函数,因而窗函数的构造十分方便,下面给出几种常用窗函数的构造方法:1矩形窗:利用w=boxcar(n)的形式得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,它的元素由窗函数的值组成。w=boxcar(n)等价于w=ones(1,n).2三角窗:利用w=triang(n)的形式

9、得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,它的元素由窗函数的值组成。w=triang(N-2)等价于bartlett(N)。3汉宁窗:利用w=hanning(n)得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,包含了窗函数的n个系数。4海明窗:利用w=hamming(n)得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,包含了窗函数的n个系数。它和汉宁窗的主瓣宽度相同,但是它的旁瓣进一步被压低。5布拉克曼窗:利用w=blackman(n)得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,包含了窗函数的n个系数。它的主瓣宽度是矩形窗主瓣宽

10、度的3倍,为12*pi/N,但是它的最大旁瓣值比主瓣值低57dB。6切比雪夫窗:它是等波纹的,利用函数w=chebwin(N,R)方式设计出N阶的切比雪夫2窗函数,函数的主瓣值比旁瓣值高RdB,且旁瓣是等波纹的。7巴特里特窗:利用w=bartlett(n)的形式得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,包含了窗函数的n个系数。8凯泽窗:利用w=kaiser(n,beta)的形式得到窗函数。2.3.1 窗函数设计条件在使用窗函数设计滤波器时要满足以下两个条件:1 窗谱主瓣尽可能地窄,从而可以获得较陡峭的过渡带;2尽量减少窗谱的最大旁瓣的相对幅度,及尽可能是能量集中于主瓣,减少

11、峰肩和波纹,进而增加阻带的衰减。根据工程经验,给定的滤波器指标一般为通带截止频率p,阻带截止频率s,实际通带Rp,和最小阻带衰减As,窗函数的设计经验公式为:归一化过渡带: 公式(2-1)滤波器阶数: 公式(2-2)2.3.2 窗函数设计条件实际工程常用的窗函数有五种,即矩形窗、三角窗、汉宁窗、海明窗和凯泽窗。这些窗函数之间的性能比较如表2-1所示。表2-15种窗函数性能比较窗类型旁瓣峰值主瓣峰值最小阻带衰减矩形窗13dB4/M21dB三角窗25dB8/M25dB汉宁窗31dB8/M44dB海明窗41dB8/M53dB凯泽窗57dB12/M74dB常用窗函数绘图比较:在MATLAB中运行以下代

12、码:代码2-1:n=50;x=1:50;juxing=boxcar(n); %构造矩形窗sanjiao=triang(n); %构造三角窗hanming=hamming(n); %构造汉明窗bulaikeman=blackman(n); %构造布莱克曼窗kaize=kaiser(n); %构造凯泽窗plot(x,juxing,b.,x,sanjiao,gx,x,hanming,r+,x,bulaikeman,cd,x,kaize,k*);legend(矩形窗,三角窗,汉明窗,布莱克曼窗,凯泽窗); 运行结果如图2-1所示:图2-15种窗函数绘图比较2.4 设计步骤实际利用窗函数法进行FIR滤波

13、器设计时,依据所给的技术指标一般需要经过以下几个步骤进行设计:1 给定理想的频率响应函数Hd(ejw)及技术指标;2 求出理想的单位抽样响应hd(n);3 根据阻带衰减选择窗函数w(n)4 根据过渡带宽度确定N值;5 求出所设计的FIR滤波器的单位抽样响应;6 计算频率响应,验算指标是否满足要求。2.5 设计方法MATLAB作为一款优秀的数值计算软件,本身就内置了丰富的函数,其中便有用于通信仿真的一系列函数,并且MATLAB中还集成了通信设计的工具箱,不管是内置的函数,还是通信工具箱,均有专用于滤波器设计的工具,常用的主要有用函数法设计和用通信工具箱设计,下面分别予以介绍。2.5.1 依据设计

14、步骤编写M文件设计此种方法不依赖MATLAB中的滤波器设计函数,而是依据FIR滤波器的设计步骤自己求解理想滤波器的冲击响应,然后用窗函数对冲击响应进行截短,从而得到FIR滤波器,由于低通滤波器设计较为简单,因而可以通过两个低通的理想冲击响应函数相减得到理想带通的冲击响应,再通过窗函数对其截短,从而得到实际可行的FIR滤波器,这里以用汉明窗进行截短实现带通FIR滤波器,关键代码如下(完整代码见附页):代码2-2:wp1=0.3*pi; ws1=0.45*pi;wp2=0.65*pi; ws2=0.75*pi;tr_width=ws1-wp1;%求过渡带宽度M=ceil(6.6*pi/tr_width)+1;%求得所需窗函数的长度n=0:1:M-1;wc1=(ws1+wp1)/2; wc2=(ws2+wp2)/2;%求截止频率hd=ideal_lp(wc2,M)-ideal_lp(wc1,M);%求得理想带通的冲击响应w_ham=(hamming(M);%得到长度为M的汉明窗h=hd .* w_ham;%利用窗函数截短程序运行结

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号