




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录摘要-31引言-32 FIR 滤波器的设计-32.1 FIR 滤波器简介-32.2 窗函数法-4 2.3 窗函数法的设计步骤-5 2.3.1窗函数设计法一-5 2.3.2窗函数设计法二-93 总结-10FIR数字滤波器的计算机仿真与设计【摘要】: 传统的数字滤波器设计方法繁琐且结果不直观,本文阐述啦滤波器窗函数法的基本原理和算法,并且对几种窗函数做了比较,阐明啦加窗对结果的影响,最后用汉宁窗设计FIR 数字高通滤波器,不但使设计结果直观,而且提高了滤波器的设计精度,从而更好地达到预期效果。【关键词】: 窗函数法 FIR 滤波器The design of digital fir filte
2、r based on computerAbstract: Traditional design method of digital filter is complicated but getting not direct vision output. This paper utilizes computer to solve the problem because of its ability of scientific compute and advantage of figure demonstration. On the base of analyzing window function
3、 method, this paper performed simulation calculations applying computer and window function method to design digital filter. Observing the output of filter, the paper achieves the desired results with its high precision and velocity.Key words: window function method; FIR digital filter; 1. 引言在数字信号处理
4、中, 数字滤波器十分重要并已获得广泛应用, 数字滤波器与模拟滤波器比较, 具有精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配以及实现模拟滤波器无法实现的特殊滤波功能等优点, 使数字滤波器成为信号处理领域的一个重要研究课题。现代数字滤波器可以用软件或硬件两种方式来实现, 软件方式实现的优点是可以通过滤波器参数的改变去调整滤波器的性能。MATLAB 是具有很强的科学计算和图形显示功能的软件系统,可以对数字滤波器进行精确设计,并且方便地进行FFT 频谱分析与频谱图显示。因而,该实现具有编程简单,对设备硬件要求不高,易于实现,能快速地在普通PC 机上完成信号的频谱分析和频谱图显示等特点, 能够对所
5、计的数字滤波器进行快速地检验和分析。2. FIR 滤波器的设计2.1 FIR 滤波器简介数字滤波器是一个能够完成特定任务的离散时间系统,它可以利用有限精度算法来实现。当采用一个因果稳定的离散线性移不变系统的系统函数去逼近滤波器所要求的性能指标时,由于系统函数有无限长单位冲激响应(IIR)系统函数和有限长单位冲激响应(FIR)系统函数两种,相应地数字滤波器也就有无限长单位冲激响应(IIR)滤波器和有限长单位冲激响应(FIR)滤波器两种。FIR 滤波器的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数的问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。FIR 滤波器的基本结构
6、可以理解为一个分节的延时线,把每一节的输出加权累加,可得到滤波器的输出。FIR 滤波器的冲激响应h(n)是有限长的,数学上M阶FIR 滤波器可以表示为: 其系统函数为:FIR数字滤波器的单位冲激响应h(n)满足偶(奇)对称 h(n)=h(N-n-1) 或 h(n)=-h(N-n-1)FIR数字滤波器具有线性相位: 或2.2 窗函数法窗函数是一种用一定宽度窗函数截取无限长脉冲响应序列获取有限长脉冲响应序列的设计方法。而其设计FIR 滤波器的基本思想: 根据给定的滤波器技术指标选取滤波器长度N 和窗函数w(n), 使其具有最窄宽度的主瓣和最小的旁瓣。其核心是从给定的频率特性, 通过加窗确定有限长单
7、位脉冲响应序列h(n)即实际滤波器的系数向量, 其是由理想滤波器脉冲响应hd(n)与窗函数函数w(n)相乘得到。工程上常用的窗函数有5 种, 即矩形窗(Rectangular Window)、三角形窗(bartlet Window)、汉宁窗(Hanning)、哈明窗(Hamming)和凯泽窗(blackman Window)。它们之间的性能如下:为了满足工程上需要, 可以通过改变窗函数的形状来改善滤波器的幅度频率特性。窗函数的选择原则是: (1) 具有较低的旁瓣幅度, 尤其是第一旁瓣的幅度;(2) 旁瓣的幅度下降的速率要快, 有利于增加阻带衰减;(3) 主瓣的宽度要窄, 这样可以得到较窄的过渡
8、带。通常以上几种难以同时满足, 实际中选用的窗函数往往是它们的折中。2.3 窗函数法的设计步骤2.3.1窗函数设计法一(1) 根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N(或阶数M=N- 1)。窗函数类型可根据最小阻带衰减AS 独立选择, 因为窗口长度N(或阶数M=N- 1) 对最小阻带衰减AS 没有影响。在N 和窗函数类型确定后,即可调用MATLAB 中的窗函数,求出窗函数。(2) 根据待求滤波器的理想频率响应求出理想单位脉冲响应hd(n)。如果给出待求滤波器的频率响应为,则理想的单位脉冲响应可以用下面的傅里叶反变换式求出: 在一般情况下,hd(n)是不能用封闭公式表示的,需
9、要采用数值方法表示。从到 采样N 点,采用离散傅里叶反变换(IDFT)即可求出。(3) 计算滤波器的单位脉冲响应h(n)。它是理想单位脉冲响应和窗函数的卷积,即h(n)=w(n)* hd(n)(4) 求出FIR 滤波器的频率响应(即傅立叶变换) =DFTh(n), 并检验是否满足设计要求。(5) 如果不满足要求, 视具体情况调整窗函数类型或长度,重复以上步骤, 直到满足要求为止。根据工程经验, 给定的滤波器指标参数一般为通带截止频率、阻带截止频率、实际通带波动Rp 和最小阻带衰减As。例 用汉宁窗设计一个FIR高通数字滤波器,满足以下参数要求:通带边界频率p=0.7,通带内衰减函数p=0.3d
10、B;阻带边界频率s=0.5,阻带内衰减函数为s=40dB。解:(1)根据设计要求我们选用的是汉宁窗由过渡带宽度,得,对高通滤波器, 必须取奇数故有汉宁窗函数为:(2),则要逼近(全通-低通)(3)求(4) 加窗 Matlab源程序为:M=41; wc1=0.6*pi;wc2=pi; % 理想低通滤波器参数n=0:M-1; r=(M-1)/2;nr=n-r+eps*(n-r)=0);hdn=sin(wc2*nr)/pi./nr-sin(wc1*nr)/pi./nr; % 计算理想高通单位脉冲响应hdnwn1=hanning(M); % 汉宁hn1=hdn.*wn1' % 加窗subplo
11、t(2,2,1),stem(n,hdn);axis(0 40 -0.5 0.8);grid on;xlabel('n'),ylabel('hd(n)'),title('理想高通滤波器单位脉冲响应h(n)');hold onsubplot(2,2,2),stem(n,wn1);axis(0 40 -0.6 1.5);grid on;xlabel('n'),ylabel('w(n)'),title('汉宁窗w(n)');hold onsubplot(2,2,3),stem(n,hn1); axis(0
12、40 -0.4 0.6);grid on;xlabel('n'),ylabel('h(n)'),title('汉宁窗设计的h(n)');hold onhw,w=freqz(hn1,1);subplot(2,2,4),plot(w/pi,20*log10(abs(hw);axis(0 1 -80 5);xlabel('w/pi'), ylabel('H(jw)(dB)'), title('实际高通滤波器频率响应');grid on;运行程序得:高通滤波器C语音源程序为:#include "s
13、tdio.h"#include "math.h"main() float im,hd201,h201,w201,wc,pi; float a,b,g,q,p,wf,re,d,db; int m,n,k,i,l; printf("This is a fir system design program.n"); printf("choose window lenth n .41,51,101,201.nn=n"); scanf("%d",&n); printf("choose wc, wc
14、is between 0.10 to 0.99.nwc= n"); scanf("%f",&wc); a=(n-1)/2; pi=4.0*atan(1.0); for(i=0;i<n;i+) if(i=a) hdi=wc; elseb=i-a; hdi=sin(pi*b*wc)/(pi*b); for(i=0;i<n;i+) wi=0.5-(1.0-cos(2.0*pi*(float)i/(n-1); for(i=0;i<n;i+) hi=hdi*wi; printf("h(%2d)=%10.6f ",i,hi); p
15、rintf("n"); printf("please choose l.nl=n"); scanf("%d",&l); p=4.0*atan(1.0)/l; for(k=1;k<=l;k+) wf=p*k; re=0.0; im=0.0; for(i=0;i<n;i+) re=re+hi*cos(float)i*wf); im=im+hi*sin(float)i*wf); d=sqrt(pow(re,2)+pow(im,2); db=20.0*log10(d); printf(" k=%2d 20LOG1
16、0H=%10.6f W=%8.6fn",k,db,wf); 运行程序得: 高通滤波器系数h(n)2.3.2窗函数设计法二1、根据实际阻带衰减指标,来确定所使用的窗函数。2、根据过渡带来计算出N值。3、利用Matlab所提供的函数fir1,来实现fir滤波器。 h=fir1(N,wn,ftype,windows(N+1)对于高通滤波器和带阻滤波器,N必须为偶数ftype指的是:low,bandpass,high,stop设计的滤波器为N+1阶例 用汉宁窗设计一个FIR高通数字滤波器,满足以下参数要求:通带边界频率p=0.7,通带内衰减函数p=0.3dB;阻带边界频率s=0.5,阻带内衰
17、减函数为s=40dB。Matlab源程序为:wc=0.6; N=40;%N=h(n)的长度-1hn=fir1(N,wc, 'high',hanning(41); subplot(2,1,1);n=0:40; stem(n,hn);axis(0 40 -0.4 0.6);grid on;xlabel('n'),ylabel('h(n)'),title('汉宁窗设计的h(n)');hold onhw,w=freqz(hn,1); subplot(2,1,2);plot(w/pi,20*log10(abs(hw);axis(0 1 -80 5);grid on;xlabel('w/pi'), ylabel('H(jw)(dB)'), title('频率响应');运
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年福建厦门同安同顺物业管理有限公司招聘笔试参考题库附带答案详解
- 2025年山东青岛海控集团金融控股有限公司招聘笔试参考题库附带答案详解
- 2025年山东寿光广播影视集团股份有限公司招聘笔试参考题库含答案解析
- 烟草证前培训试题及答案
- 2025年临床执业医师考试知识应用试题及答案
- 深入解读2025年乡村全科执业助理医师考试试题及答案
- 新兴事务面试题及答案
- 2024药剂考试复习策略试题及答案
- 生物药物应用前景试题及答案
- 深挖2024年信息系统项目管理师考试必考内容试题及答案
- 化工单元操作知到智慧树章节测试课后答案2024年秋烟台职业学院
- 谈黑色变-认识色素痣与黑素瘤.课件
- 电信运营商网络安全管理制度
- 魏晋风度课件
- 【MOOC】英国小说-南京大学 中国大学慕课MOOC答案
- 【读后续写】2021年11月稽阳联考读后续写讲评:Saving the Daisies 名师课件-陈星可
- 国开(浙江)2024年秋《信息技术与信息管理》形考作业1-4答案
- 化肥利用率研究
- 《中华人民共和国突发事件应对法》知识培训
- 福建师范大学《聚合物表征与测试》2023-2024学年第一学期期末试卷
- 《国家中长期教育改革和发展规划纲要》-20211107172134
评论
0/150
提交评论