FIR数字带通滤波器的设计_第1页
FIR数字带通滤波器的设计_第2页
FIR数字带通滤波器的设计_第3页
FIR数字带通滤波器的设计_第4页
FIR数字带通滤波器的设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计题 目 数字FIR带通滤波器的设计 学生姓名 黄迎旭 学号 1110064036 所在院(系) 物电学院 专业班级 电信1102班 指导教师 井敏英 完成地点 陕西理工学院 2014年 9月26日10数字FIR带通滤波器的设计黄迎旭(陕西理工学院物电学院电子信息科学与技术专业1102班)指导教师 井敏英摘 要 数字滤波器是由数字乘法器、加法器和延时单元组成的一种装置。它是一个离散时间系统,其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。本论文首先介绍了数字滤波器的基本概念和设计方法。重点介绍了FIR数字滤波器的设计方法。即窗函数法、频率采样法和等波纹最佳逼近法。

2、在此基础上,用DSP虚拟实现任意阶FIR数字滤波器。用MATLAB来编辑设计程序以实现FIR数字带通滤波器的模拟过程。关键字 数字滤波器、MATLAB、切比雪夫等波纹最佳逼近法The design of digital FIR bandpass filterHuang Yingxu(shaanxi institute of technology college of electronic information science and technology professional 1102 class) Quick English teachers wellto picked digital

3、 filter is a digital multiplier, adder and delay unit consisting of a device. It is a discrete time system, its function is to input the number of discrete signal code for processing, in order to achieve the purpose of the change of signal spectrum. This paper firstly introduces the basic concept of

4、 digital filter and the design method. Introduced design method of FIR digital filter. The window function method, frequency sampling method and moire best approximation method. On this basis, the virtual realization of arbitrary order FIR digital filter with DSP. Use MATLAB to edit the design in or

5、der to realize the simulation of FIR digital band-pass filter. key words, MATLAB, chebyshev digital filter ripple best approximation method目录摘要 1目录 21数字滤波器的基本概念和设计方法3 1.1数字滤波器的基本概念3 1.2数字滤波器的设计方法3 1.2.1窗函数法3 1.2.2频率采样法4 1.2.3切比雪夫等波纹最佳逼近法42 MATLAB概述53设计方案64在MATLAB上的系统仿真7 4.1设计过程7 4.2设计程序7 4.3仿真结果9 4.

6、4结果分析105总结106参考文献117致谢121数字滤波器的基本概念和设计方法1.1数字滤波器的基本概念所谓数字滤波器,是指输入、输出均为数字信号,通过数值运算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。因此,数字滤波的概念和模拟滤波相同,只是信号的形式和实现滤波方法不同。正因为数字滤波通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活、不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊滤波功能。如果要处理的是模拟信号,可通过A/DC和D/AC,在信号形式上进行匹配转换,同样可以使用数字滤波器对模拟信号进行滤波。1.2数字滤波器的设

7、计方法 数字滤波器的设计方法主要有三种:窗函数法、频率采样法和(切比雪夫)等波纹最佳逼近法。1.2.1窗函数法数字信号处理的主要数学工具是博里叶变换而傅里叶变换是研究整个时间域和频率域的关系。不过,当运用计算机实现工程测试信号处理时,不可能对无限长的信号进行测量和运算,而是取其有限的时间片段进行分析。做法是从信号中截取一个时间片段,然后用观察的信号时间片段进行周期延拓处理,得到虚拟的无限长的信号,然后就可以对信号进行傅里叶变换、相关分析等数学处理。无线长的信号被截断以后,其频谱发生了畸变,原来集中在f(0)处的能量被分散到两个较宽的频带中去了(这种现象称之为频谱能量泄漏)。为了减少频谱能量泄漏

8、,可采用不同的截取函数对信号进行截短,截短函数称为窗函数,简称为窗。信号截短以后产生的能量泄漏现象是必然的,因为窗函数w(t)是一个频带无限的函数,所以即使原信号x(t)是限带宽信号,而在截短以后也必然成为无限带宽的函数,即信号在频域的能量与分布被扩展了窗函数法设计的基本思想是:首先根据技术指标要求,选取合适的阶数N和窗函数的类型 w(n),使其幅频特性逼近理想滤波器幅频特性。其次,因为理想滤波器的 hd(n)是无限长的,所以需要对 hd(n) 进行截断,数学上称这种方法为窗函数法。 简而言之,用窗函数法设计FIR滤波器是在时域进行的,先用傅里叶变换求出理想滤波器单位抽样相应hd(n),然后加

9、时间窗w(n)对其进行截断,以求得FIR数字滤波器的单位抽样响应h(n)。对于窗函数的选择,应考虑被分析信号的性质与处理要求。如果仅要求精确读出主瓣频率,而不考虑幅值精度,则可选用主瓣宽度比较窄而便于分辨的矩形窗,例如测量物体的自振频率等;如果分析窄带信号,且有较强的干扰噪声,则应选用旁瓣幅度小的窗函数,如汉宁窗、三角窗等;对于随时间按指数衰减的函数,可采用指数窗来提高信噪比。1.2.2频率采样法一个有限长的序列,如果满足频率采样定理,可以通过频谱的有限个采样点的值被准确地得以恢复。频率取样法是指在脉冲响应h(n)为有限长度的条件下,根据频域取样定理,对所要求的频率响应进行取样,从样点中恢复原

10、来的频率特性,达到设计滤波器的目的频率抽样法从频域出发,把给定的理想频率响应加以等间隔抽样得到Hd(k) 频率取样法先对理想频响抽样,得到样值H(k)6。再利用插值公式直接求出系统函Hd(ejw)数 H(z)以便实现之,或者求出频响Hd(ejw)以便与理想频响作比较。在O,2区间上对Hd(ejw)进行N点采样,等效于时域以N为周期延拓。设理想频响Hd(ejw)的采样是H(k),k=0,1,N-1,则其IDFT是 则FIR滤波器的系统函数可写为: 所以当采样点数N已知后,便是常数,只要采样值H(k)确定,则系统函数H(z)就可以确定,要求的FIR滤波器就设计出来了。频率取样法设计的关键是正确确定

11、数字频域系统函数H(k)在0,2内的N个样点,其约束条件为 0 kN-11.2.3切比雪夫等波纹最佳逼近法等波纹最佳逼近法是一种优化设计法,它克服了窗函数设计法和频率采样法的缺点,使最大误差(即波纹的峰值)最小化,并在整个逼近频段上均匀分布。用等波纹最佳逼近法设计的FIR数字滤波器的幅频响应在通带和阻带都是等波纹的,而且可以分别控制通带和阻带的波纹幅度,这就是等波纹的含义。最佳逼近是指在滤波器长度给定的条件下,使加权误差波纹幅度最小化。在数据采集系统中,输入信号均含有种种噪声和干扰,它们来自被测信号源本身、传感器和环境等。为了进行准确测量和控制,必须消除被测信号中的噪声和干扰。工程上常用的软件

12、滤波方法有:算术平均值法、滑动平均值法、防脉冲干扰平均值法等。但对周期性干扰尤其是工频干扰和白噪声抑制作用较差,而且平滑度不高。切比雪夫等波纹逼近方法是FIR滤波器设计方法之一。FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。它采用“最大误差最小化”优化准则,即min(max|E()|),其中权函数误差E()=W()Hd()-H(),W()为加权

13、函数,Hd()为期望频率响应,H()为实际频率响应。2 MATLAB概述MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,MATLA

14、B成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。传统的数字滤波器的设计过程复杂、计算工作量大,滤波特性调整困难,影响了它的应用。这里介绍了一种利用MATLAB信号处理工具箱(Signal Processing Toolbox)快速有效的设计由软件组成的常规数字滤波器的设计方法。给出了使用MATLAB语言进行程序设计和利用信号处理工具箱工具进行界面设计的详细步骤。MATLAB语言之所以能

15、如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其它语言的特点1、语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开了繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都是由本领域的专家编写,所以用户不必担心函数的可靠性。2、 运算符丰富。由于MATLAB是用C语言编写的,所以MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。3. MATLAB既具有结构化的控制语句,又有面向对象编程的特性。4. 语法限制不严格,程序设计自由度大5. 程序的可移植性很好,基本上不做修改就可以在各种型号

16、的计算机和操作系统上运行。6. MATLAB的图形功能强大。在C和FORTRAN语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。此外,MATLAB还具有较强的编辑图形界面的能力.7. MATLAB具有的一项重要特色是拥有功能强大的工具箱。MATIAB包含两个部分:核心部分和各种可选的工具箱。核心部分有数百个核心内部函数。其工具箱又可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。功能性工具箱能用于多种学科。而学科性工具箱是专业性比较强的,如control toolbox、signal proc

17、essing toolbox, communication toolbox等。这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。8. 源程序的开放性。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。3设计方案窗函数有截短和平滑的作用,窗函数选择的好,可以在相同阶次的情况下,提高滤波器的性能,或是在满足设计要求的情况

18、下,减少滤波器阶数。窗函数法是从时域进行设计。窗函数法由于简单、物理意义清晰,因而得到了较为广泛的应用不同的窗函数对信号频谱的影响是不一样的,这主要是因为不同的窗函数,产生泄漏的大小不一样,频率分辨能力也不一样。信号的截短产生了能量泄漏,而用FFT算法计算频谱又产生了栅栏效应,从原理上讲这两种误差都是不能消除的,但是我们可以通过选择不同的窗函数对它们的影响进行抑制。(矩形窗主瓣窄,旁瓣大,频率识别精度最高,幅值识别精度最低;布莱克曼窗主瓣宽,旁瓣小,频率识别精度最低,但幅值识别精度最高)当选用主瓣宽度较窄时,虽然得到的幅频特性较陡峭,但通带、阻带波动会明显增加;当选用较低的旁瓣幅度时,虽然得到

19、的幅频特性较平缓匀滑,但过渡带变宽。因此,实际的选择往往是取折衷。 频率取样法的阻带衰耗比较小,可以通过增加过渡带样点的方法增大阻带衰耗。对于一个无限长的序列,用频率采样法必然有一定的逼近误差,误差的大小取决于理想频响曲线的形状, 理想频响特性变换越平缓, 则内插函数值越接近理想值,误差越小。为了提高逼近的质量,可以通过在频率相应的过渡带内插入比较连续的采样点,扩展过渡带使其比较连续,从而使得通带和阻带之间变换比较缓慢,以达到减少逼近误差的目的。与窗函数设计法和频率采样法比较,由于切比雪夫等波纹逼近法使最大误差均匀分布,所以设计的滤波器性能价格比最高。阶数相同时,这种设计法使滤波器的最大逼近误

20、差最小,即通带最大衰减最小,阻带最小衰减最大;指标相同时,这种设计方法使滤波器阶数最低。综合上述,本文采用切比雪夫等波纹逼近法来设计数字FIR带通滤波器。4在MATLAB上的系统仿真4.1设计过程(1)根据给定的逼近指标估算滤波器阶数N和误差加权函数W(w);(2)采用remez算法得到滤波器单位脉冲响应h(n)。4.2设计程序利用MATLAB编程设计一个数字带通滤波器:rs=60;rp=1;Fs=50Hz; f=0.2,0.35,0.65,0.8 ;m=0,1,0;dat1=(10(rp/20)-1)/(10(rp/20)+1);dat2=10(-rs/20);rip=dat2,dat1,d

21、at2;M,fo,mo,w=remezord(f,m,rip,Fs);hn=remez(M,fo,mo,w);%M为FIR数字滤波器阶数,hn长度为N=M+1%f为边界频率变量,0f1%m是与f对应的幅度向量,f的长度是m的两倍,m中每个元素表示f给定的一个逼近频段上希望逼近的幅度值。%rip表示f和m描述的各逼近频段允许的波纹幅度(幅频响应最大偏差),其长度为f的一半%Fs为采样频率,缺省时默认Fs=2Hz%dat1和dat2分别表示滤波器的通带和阻带振荡波纹幅度h,f=freqz(b,1,512); %滤波器的幅频特性图H,W=freqz(b,a,M) %当N是整数时函数返回N点的频率向量

22、和幅频响应向量figure(1)plot(f*fs/(2*pi),20*log10(abs(h); %参数分别是频率与幅值xlabel('频率/赫兹');ylabel('增益/分贝');title('滤波器的增益响应');f1=500;f2=1500;f3=2000;f4=3000; %待滤波正弦信号频率t=(0:200)/fs;%定义时间的步长s=sin(2*f1*pi*t)+sin(2*f2*pi*t)+sin(2*f3*pi*t)+sin(2*f4*pi*t);%滤波前信号sf=filter(b,1,s); %使用filter函数对信号进行

23、滤波figure(2)subplot(211)plot(t,s); %滤波前的信号图像xlabel('时间/秒');ylabel('幅度');title('信号滤波前时域图');subplot(212)Fs=fft(s,512);AFs=abs(Fs);f=fs/512*(0:255);plot(f,AFs(1:256); %滤波前的信号频域图xlabel('频率/赫兹');ylabel('幅度');title('信号滤波前频域图');figure(3)subplot(211)plot(t,sf); %滤波后的信号图像xlabel('时间/秒');ylabel('幅度');title

温馨提示

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

评论

0/150

提交评论