利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器_第1页
利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器_第2页
利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器_第3页
利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器_第4页
利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、武汉理工大学数字电子技术课程设计说明书 附件1:学 号: 0121109310631课 程 设 计题 目利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器学 院信息工程学院专 业通信工程班 级 姓 名指导教师2013年 12月 18 日课程设计任务书学生姓名: 专业班级: 通信工程 指导教师: 工作单位: 信息工程学院 题 目: 利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器时间安排:第16周,安排任务(鉴主15楼通信实验室1)第17-19周,仿真设计(鉴主15楼通信实验室1)第20周,完成(答辩,提交报告,演示)初始条件:1 MATLAB编程的基础知识

2、2信号与系统滤波器的相关知识3数字信号处理的相关知识要求完成的主要任务:利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器。参考书目:徐明远主编MATLAB仿真在通信与电子工程中的应用刘泉主编信号与系统刘泉主编数字信号处理指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日 目录 TOC o 1-3 h z u HYPERLINK l _Toc494 课程设计任务书 PAGEREF _Toc494 2 HYPERLINK l _Toc6254 目录 PAGEREF _Toc6254 3 HYPERLINK l _Toc27223 摘要 PAGEREF _Toc2

3、7223 1 HYPERLINK l _Toc24976 Abstract PAGEREF _Toc24976 2 HYPERLINK l _Toc28025 1课程设计原理介绍 PAGEREF _Toc28025 1 HYPERLINK l _Toc2989 1.1 数字滤波器原理介绍 PAGEREF _Toc2989 1 HYPERLINK l _Toc26423 1.2 FIR滤波器原理介绍 PAGEREF _Toc26423 1 HYPERLINK l _Toc32345 1.3 窗函数原理介绍 PAGEREF _Toc32345 2 HYPERLINK l _Toc5921 1.3.

4、1利用窗函数设计FIR滤波器原理 PAGEREF _Toc5921 2 HYPERLINK l _Toc24554 1.3.2 几种常用窗函数原理说明 PAGEREF _Toc24554 3 HYPERLINK l _Toc796 矩形窗函数原理介绍 PAGEREF _Toc796 4 HYPERLINK l _Toc15375 三角窗函数原理介绍 PAGEREF _Toc15375 4 HYPERLINK l _Toc6156 汉宁窗函数原理介绍 PAGEREF _Toc6156 4 HYPERLINK l _Toc25670 汉明窗函数原理介绍 PAGEREF _Toc25670 5 HY

5、PERLINK l _Toc241 布莱克曼窗函数原理介绍 PAGEREF _Toc241 6 HYPERLINK l _Toc12365 凯泽窗函数原理介绍 PAGEREF _Toc12365 6 HYPERLINK l _Toc16402 2滤波器的设计及实现 PAGEREF _Toc16402 8 HYPERLINK l _Toc13347 2.1 MATLAB环境介绍 PAGEREF _Toc13347 8 HYPERLINK l _Toc14080 2.2 滤波器设计要求 PAGEREF _Toc14080 1 HYPERLINK l _Toc30125 2.2.1 滤波器技术指标

6、PAGEREF _Toc30125 1 HYPERLINK l _Toc30344 2.2.2 滤波器技术指标分析 PAGEREF _Toc30344 2 HYPERLINK l _Toc17733 2.3 MATLAB中FIR滤波器窗函数设计方法 PAGEREF _Toc17733 2 HYPERLINK l _Toc3417 2.4 MATLAB中的窗函数 PAGEREF _Toc3417 3 HYPERLINK l _Toc24491 2.4.1矩形窗功能函数 PAGEREF _Toc24491 3 HYPERLINK l _Toc21176 2.4.2三角窗功能函数 PAGEREF _

7、Toc21176 3 HYPERLINK l _Toc15989 2.4.3汉宁窗功能函数 PAGEREF _Toc15989 4 HYPERLINK l _Toc25537 2.4.4汉明窗功能函数 PAGEREF _Toc25537 4 HYPERLINK l _Toc21697 2.4.5 布莱克曼窗功能函数 PAGEREF _Toc21697 4 HYPERLINK l _Toc20420 2.4.6 凯泽窗功能函数 PAGEREF _Toc20420 4 HYPERLINK l _Toc25250 3 MATLAB中仿真记录 PAGEREF _Toc25250 5 HYPERLINK

8、 l _Toc5250 3.1 窗函数仿真结果记录 PAGEREF _Toc5250 5 HYPERLINK l _Toc7401 3.1.1矩形窗函数仿真结果 PAGEREF _Toc7401 5 HYPERLINK l _Toc20816 3.1.2三角窗函数仿真结果 PAGEREF _Toc20816 6 HYPERLINK l _Toc5170 3. 1. 3汉宁窗函数仿真结果 PAGEREF _Toc5170 6 HYPERLINK l _Toc23904 3.1.4汉明窗函数仿真结果 PAGEREF _Toc23904 7 HYPERLINK l _Toc16437 3.1.5 布

9、莱克曼窗函数仿真结果 PAGEREF _Toc16437 8 HYPERLINK l _Toc20202 3.1.6 凯泽窗函数仿真结果 PAGEREF _Toc20202 8 HYPERLINK l _Toc353 3.2 各类窗函数仿真结果比较 PAGEREF _Toc353 9 HYPERLINK l _Toc426 3.2.1各种窗函数时域波形比较 PAGEREF _Toc426 9 HYPERLINK l _Toc24437 3.2.2各种窗函数频谱比较 PAGEREF _Toc24437 10 HYPERLINK l _Toc26243 3. 2. 3各种窗函数幅频特性比较 PAG

10、EREF _Toc26243 11 HYPERLINK l _Toc13782 3.2.4 各种窗函数单位脉冲响应比较 PAGEREF _Toc13782 12 HYPERLINK l _Toc28020 PAGEREF _Toc28020 12 HYPERLINK l _Toc20425 3.3 滤波器滤波性能测试 PAGEREF _Toc20425 13 HYPERLINK l _Toc24430 3.3.1 矩形窗函数FIR滤波器滤波性能测试 PAGEREF _Toc24430 13 HYPERLINK l _Toc22019 3.3.2 三角窗函数FIR滤波器滤波性能测试 PAGERE

11、F _Toc22019 14 HYPERLINK l _Toc25957 3.3.3 汉宁窗函数FIR滤波器滤波性能测试 PAGEREF _Toc25957 15 HYPERLINK l _Toc29390 3.3.4 汉明窗函数FIR滤波器滤波性能测试 PAGEREF _Toc29390 16 HYPERLINK l _Toc6422 3.3.5 布莱克曼窗函数FIR滤波器滤波性能测试 PAGEREF _Toc6422 17 HYPERLINK l _Toc30499 3.3.6 凯泽窗函数FIR滤波器滤波性能测试 PAGEREF _Toc30499 18 HYPERLINK l _Toc2

12、9954 3.3 滤波器稳定性能测试 PAGEREF _Toc29954 18 HYPERLINK l _Toc21312 3.3.1 矩形窗函数滤波器稳定性能测试 PAGEREF _Toc21312 19 HYPERLINK l _Toc4391 3.3.2 三角窗函数滤波器稳定性能测试 PAGEREF _Toc4391 19 HYPERLINK l _Toc27903 3.3.3 汉宁窗函数滤波器稳定性能测试 PAGEREF _Toc27903 20 HYPERLINK l _Toc31360 3.3.4 汉明窗函数滤波器稳定性能测试 PAGEREF _Toc31360 20 HYPERL

13、INK l _Toc2512 3.3.5 布莱克曼窗函数滤波器稳定性能测试 PAGEREF _Toc2512 21 HYPERLINK l _Toc9115 3.3.6 凯泽窗函数滤波器稳定性能测试 PAGEREF _Toc9115 21 HYPERLINK l _Toc29052 4 滤波器设计及实现过程中遇到的问题 PAGEREF _Toc29052 22 HYPERLINK l _Toc7874 5心得体会 PAGEREF _Toc7874 23 HYPERLINK l _Toc22565 6参考文献 PAGEREF _Toc22565 24 HYPERLINK l _Toc5771 附

14、录 PAGEREF _Toc5771 25 HYPERLINK l _Toc20764 附录1设计窗函数FIR滤波器代码 PAGEREF _Toc20764 25 HYPERLINK l _Toc24525 附录2比较各类窗函数性能的代码 PAGEREF _Toc24525 26 HYPERLINK l _Toc22912 附录3 测试各类窗函数的FIR滤波器性能的代码 PAGEREF _Toc22912 28摘要随着计算机和信息技术的飞速发展,数字信号处理已经成为高速实时处理的一项关键技术,广泛应用在语音识别、智能检测、工业控制等各个领域。数字滤波器是对数字信号实现滤波的线性时不变系统。数字

15、滤波实质上是一种运算过程,实现对信号的运算处理。数字滤波器具有稳定性好、精确度高、灵活性强及不受外界影响等特性。数字滤波器广泛应用于语音图像处理、数字通信、频谱分析、模式识别、自动控制等领域,具有广阔的发展空间。FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特性。因此,具有线性相位的FIR数字滤波器在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。FIR滤波器的设计中,为获得有限长单位取样响应,需要用窗函数截断无限长单位取样响应序列。另外,在功率谱估计中也要遇到窗函数加权问题。由此可见,窗函数加权技术在数字信号处理中的重要地位。此次课设基于MATLA

16、B环境下,用窗函数法设计FIR滤波器的过程和设计实例。通过利用不同的窗函数方法设计FIR滤波器,对所设计的滤波器进行分析比较,得出各种方法设计的滤波器的优缺点及其不同的使用场合,从而可以在设计滤波器时能够正确的选择FIR数字滤波器的窗函数的选取及设计方法。关键词:数字滤波器 FIR 窗函数 MATLABAbstractWith the rapid development of computer and information technology, digital signal processing has become a very important technology of high-

17、speed and real-time processing, widely used in speech recognition, intelligent detection, industrial control and other areas. Digital filter is a linear filter to the digital signal and invariant time system. Digital filter is essentially an operation process, realizing the operation of signal proce

18、ssing. It has good stability, high accuracy and strong flexibility,widely used in speech and image processing, digital communication, spectrum analysis, pattern recognition, automatic control and other fields.The FIR filter to meet the requirements of the amplitude frequency response at the same tim

19、e, can obtain the strict linear phase characteristic. Therefore, a linear phase FIR digital filter in the signal processing of high fidelity, such as digital audio, image processing, data transmission, is widely used in the fields of biomedicine.During the designing of FIR filter, in order to obtain

20、 limited long unit sampling response, we need to use the window function truncation of the infinite long unit sampling response sequence. In addition, in the power spectrum to meet a window function weighting estimation. Therefore, the window function has an important position in digital signal proc

21、essing. This set of classes based on the MATLAB environment, using process and design examples of the design of FIR filter window function. By using the window function method to design FIR filter is different, the filters are designed by analysis and comparison, to find the advantages and disadvant

22、ages of various methods of filter design and the use of different occasions, thereby can select window function of FIR digital filter of the correct in the filter design and design method.Keywords:Digital Filters, FIR, Window Function, MATLA武汉理工大学数字电子技术课程设计说明书 PAGE 261课程设计原理介绍1.1 数字滤波器原理介绍数字滤波在DSP中占

23、有重要地位。数字滤波器按实现的网络结构或者从单位脉冲响应,分为IIR(无限脉冲响应)和FIR(有限脉冲响应)滤波器。如果IRR滤波器和FIR滤波器具有相同的性能,那么通常IIR滤波器可以用较低的阶数获得高的选择性,执行速度更快,所有的存储单元更少,所以既经济又高效。数字滤波器精确度高,使用灵活,可靠性高,具有模拟设备没有的许多优点,已广泛地应用与各个科学技术领域,例如数字电视,语音,通信、雷达、声纳、遥感、图像、生物医学以及许多工程应用领域。随着信息时代数字时代的到来,数字滤波技术已经成为一门及其重要的科学和技术领域。以往的滤波器大多采用模拟电路技术,但是模拟电路技术存在很多难以解决的问题,而

24、采用数字则避免很多类似的难题,当然数字滤波器在其他方面也有很多突出的优点都是模拟技术所不能及的,所以采用数字滤波器对信号进行处理是目前的发展方向。本课程设计采用FIR滤波器。1.2 FIR滤波器原理介绍FIR(Finite Impulse Response)滤波器,即有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件。它可以在保证任意幅频特性的同时具有严格的线性相频特性,而且其单位冲激响应是有限的,没有输出到输入的反馈,是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域有着广泛应用。FIR滤波器的硬件实现主要有数字集成芯片、DSP芯片FIR滤波器、可编程FIR滤波器,后两

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

26、相乘的结果就像透过窗口“看”其他函数一样。窗函数在光谱分析、滤波器设计以及音频数据压缩等方面有广泛的应用。常用的窗函数有矩形窗、巴特利特(Bartlett)窗、三角窗、海明(Hamming)窗、汉宁(Hanning)窗、布莱克曼(Blackman)窗、切比雪夫(Chebyshev)窗、凯泽(Kaiser)窗。1.3.1利用窗函数设计FIR滤波器原理因此设计FIR滤波器的方法之一可以从时域出发,截取有限长的一段冲击响应作为H(z)的系数,冲击响应长度N就是系统函数H(z)的阶数。只要N足够长,截取的方法合理,总能满足频域的要求。一般这种时域设计、频域检验的方法要反复几个回合才能成功。要设计一个线

27、性相位的FIR数字滤波器,首先要求理想频率响应。是w的周期函数,周期为,可以展开成傅氏级数: (式1-1)使用上述的传递函数去逼近,一个理想的频率响应的傅立叶反变换: (式1-2)其中是与理想频响对应的理想单位抽样响应序列。但不能用来作为设计FIR DF用的h(n),因为一般都是无限长、非因果的,物理上无法实现。为了设计出频响类似于理想频响的滤波器,可以考虑用来近似。窗函数的基本思想:先选取一个理想滤波器(它的单位抽样响应是非因果、无限长的),再截取(或加窗)它的单位抽样响应得到线性相位因果FIR滤波器。这种方法的重点是选择一个合适的窗函数和理想滤波器。设是一个长序列,是长度为N的窗函数,用截

28、断,得到N点序列,即 (式1-3)在频域上则有 (式1-4)由此可见,窗函数不仅仅会影响原信号在时域上的波形,而且也会影响到频域内的形状。加窗使过渡带变宽,过渡带的带宽取决于窗谱的主瓣宽度。矩形窗情况下的过渡带宽是。N越大,过渡带越窄、越陡;过渡带两旁产生肩峰,肩峰的两侧形成起伏振荡。肩峰幅度取决于窗谱主瓣和旁瓣面积之比。矩形窗情况下是8.95,与N无关。工程上习惯用相对衰耗来描述滤波器,相对衰耗定义为: (式1-5)这样两个肩峰点的相对衰耗分别是0.74dB和-21dB。其中(-0.0895)对应的点的值定义为阻带最小衰耗。以上的分析可见,滤波器的各种重要指标都是由窗函数决定,因此改进滤波器

29、的关键在于改进窗函数。1.3.2 几种常用窗函数原理说明下面就矩形窗函数、三角窗函数、汉宁窗函数、汉明窗函数、布莱克曼窗函数、凯泽窗函数这六种窗函数展开介绍。矩形窗函数原理介绍矩形窗(Rectangular Window)函数的时域形式可以表示为: (式1-6)频域特性为 (式1-7)Boxcar函数:生成矩形窗调用方式w = boxcar (n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。从功能上讲,该函数又等价于w = ones(n,1)。三角窗函数原理介绍三角窗(Triangular Window)函数时域形式可表示为: (式1-8)窗谱为: (式1-9)式中,当

30、N远大于1时,此时,窗谱主瓣宽度为8/N。汉宁窗函数原理介绍汉宁窗函数又称为升余弦窗,其窗函数为 (式1-10)利用傅里叶变换的调制特性,可得出汉宁窗的频谱函数为 (式1-11)其中,为矩形窗的频谱函数: (式1-12)当N1时,式 可近似为 (式1-13)这三部分之和使旁瓣互相抵消,能量更集中在主瓣,但是代价是主瓣宽度比矩形窗的主瓣宽度增加一倍,即为8/N。汉明窗函数原理介绍汉明窗又称为改进的升余弦窗。对升余弦窗加以改进,可得到旁瓣更小的效果,窗函数为 (式1-14)其频率响应的幅度函数为 (式1-15)其结果可将99.963%的能量集中在窗谱的主瓣内,与汉宁窗相比,主瓣宽度同为8/N,但旁

31、瓣幅度更小,旁瓣峰值峰值小于主瓣峰值的1%。 布莱克曼窗函数原理介绍布莱克曼窗又称为二阶升余弦窗。为了更进一步抑制旁瓣,可再加上余弦的二次谐波分量,得到布莱克曼窗函数 (式1-16)其频谱的幅度函数为 (式1-17) 此时主瓣宽度为矩形窗谱主瓣宽度的3倍,即12/N。 凯泽窗函数原理介绍凯泽窗是一种适应性较强的窗,其窗函数的表达式为 (式1-18)其中是第一类变形修正零阶贝塞尔函数,它可以用以下的级数来计算: (式1-19) 在实际应用中,级数取1525项就可以达到足够的精度。凯泽窗是一族窗函数。是一个可调参数,它可以同时调整主瓣宽度与旁瓣电平,越大,则窗越窄,而频谱的旁瓣越小,但主瓣宽度也相

32、应增加。因而改变值就可以对主瓣宽度与旁瓣衰减进行选择。一般选择49,这相当于旁板幅度与主瓣幅度的比值由3.1%变到0.047%(-30 -67dB)。表11 不同窗函数之间的性能指标表窗类型窗谱性能指标加窗后滤波器性能指标旁瓣峰值(dB)主瓣宽度过渡带宽最小阻带衰减(dB)矩形窗-13dB4/N4/N-21dB三角窗-25dB8/N8/N-25dB汉宁窗-31dB8/N8/N-44dB汉明窗-41dB8/N8/N-53dB布莱克曼窗-57dB12/N12/N-74dB凯泽窗(=8.865)-57dB10/N10/N-80dB上表是矩形窗函数、三角窗函数、汉宁窗函数、汉明窗函数、布莱克曼窗函数、

33、凯泽窗函数这六种窗函数的性能指标介绍。2滤波器的设计及实现2.1 MATLAB环境介绍MATLAB是美国MathWorks公司出品的商业HYPERLINK /view/1658637.htm数学软件,用于HYPERLINK /view/7420.htm算法开发、数据可视化、数据分析以及HYPERLINK /view/920695.htm数值计算的高级技术计算语言和交互式环境。 MATLAB是矩阵实验室(MatrixLaboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。图2-1 MATLAB2010软件图标MATLAB由一

34、系列工具组成。这些工具方便用户使用MATLAB的HYPERLINK /view/15061.htm函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作HYPERLINK /view/31260.htm空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接

35、运行,而且能够及时地报告出现的错误及进行出错原因分析。 使用MATLAB这一软件来设计滤波器,与传统的设计思路相比是非常简便的。在MATLAB环境下,使用者无需了解程序内部具体编写情况,即可输入期望的滤波器性能指标以实现系统仿真,完成对数字滤波器频率响应的处理和波形的检测。对所设计的滤波器进行分析比较,得出各种方法设计的滤波器的优缺点及其不同的使用场合,从而可以在设计滤波器时能够正确的选择FIR数字滤波器的窗函数的选取及设计方法。图2-2 MATLAB软件编辑页面图2-3 MATLAB软件波形仿真页面 2.2 滤波器设计要求利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器。

36、2.2.1 滤波器设计要求要求:分别使用矩形窗、三角形窗、汉宁窗、汉明窗、布莱克曼窗、凯泽窗进行设计,并输出滤波器的频率特性。2.2.2 滤波器技术指标分析窗函数谱的两个最重要的指标是:主瓣宽度和旁瓣峰值衰耗。旁瓣峰值衰耗定义为: 旁瓣峰值衰耗20lg(第一旁瓣峰值主瓣峰值) (公式1-6)为了改善滤波器的性能,需使窗函数谱满足:(1)主瓣尽可能窄,以使设计出来的滤波器有较陡的过渡带。(2)尽量减少最大旁瓣的相对幅度,也就是能量集中于主瓣,以减小带内、带外波动的最大幅度,增大阻带衰减。一般来说,以上两点很难同时满足。当选取主瓣宽度很窄时,旁瓣的分量势必增加,从而带内、带外的波动也增加了;当选取

37、最小的旁瓣幅度时,降低了带内、带外的波动,但是过渡带的陡度减小了。所以实际采用的窗函数其特性往往是它们的折中,在保证主瓣宽度达到一定要求的前提下,适当牺牲主瓣宽度来换取旁瓣波动的减小。2.3 MATLAB中FIR滤波器窗函数设计方法基本思路:从时域出发设计 h(n)逼近理想 hd(n)。设理想滤波器的单位响应在时域表达为hd(n),则Hd(n) 一般是无限长的,且是非因果的,不能直接作为FIR 滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器单位抽样响应 h(n),最直接的方法是先将hd(n)往右平移,再迕行截断,即截取为有限长因果序列:h(n)=hd(n)w(n),并用合适的窗函数迕行

38、加权作为 FIR 滤波器的单位脉冲响应。按照线性相位滤波器的要求,线性相位FIR数字低通滤波器的单位抽样响应h(n)必须是偶对称的。对称中心必须等于滤波器的延时常数,即用矩形窗设计的FIR 低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,返个现象称为吉布斯(Gibbs)效应。为了消除吉布斯效应,一般采用其他类型的窗函数。MATLAB 设计 FIR 滤波器有多种方法和对应的函数。窗函数设计法不仅在数字滤波器的设计中占有重要的地位,同时可以用于功率谱的估计,从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs现象所带来的影响。 FIR滤

39、波器设计的主要任务是根据给定的性能指标确定滤波器的系数b。即系统单位脉冲序列h(n),它是一个有限长序列。具体设计步骤为:1)对滤波器理想特性Hd(ejw)求出其单位脉冲响应hd(n);对于理想的数字低通滤波器频率响应,可以通过下面子程序来实现:function hd=ideal_lp(w,N)%hd为理想脉冲响应序列%w为截至频率%N为理想滤波器的长度 alpha=(N-1)/2; n=0:(N-1); m=n-alpha+eps; %加一个极小值以避免0作为除数 hd=sin(w*m)./(pi*m);2)由性能指标确定窗函数W(n)和窗口长度N,由过渡带宽度近似于窗函数主瓣宽求得窗口长度

40、N。3)求得实际滤波器的单位脉冲序列h(n)=hd(n)*w(n)h(n)即为所设计FIR滤波器系数向量。此种方法不依赖MATLAB中的滤波器设计函数,而是依据FIR滤波器的设计步骤自己求解理想滤波器的冲击响应,然后用窗函数对冲击响应进行截短,从而得到FIR滤波器,由于低通滤波器设计较为简单,因而可以通过两个低通的理想冲击响应函数相减得到理想带通的冲击响应,再通过窗函数对其截短,从而得到实际可行的FIR滤波器。2.4 MATLAB中的窗函数2.4.1矩形窗功能函数利用w=boxcar(n)的形式得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,它的元素由窗函数的值组成。w=boxc

41、ar(n)等价于w=ones(1,n).2.4.2三角窗功能函数利用w=triang(n)的形式得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,它的元素由窗函数的值组成。w=triang(N-2)等价于bartlett(N)。2.4.3汉宁窗功能函数利用w=hanning(n)得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,包含了窗函数的n个系数。2.4.4汉明窗功能函数利用w=hamming(n)得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,包含了窗函数的n个系数。它和汉宁窗的主瓣宽度相同,但是它的旁瓣进一步被压低。2.4.5 布莱克曼窗功能函数利

42、用w=blackman(n)得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,包含了窗函数的n个系数。它的主瓣宽度是矩形窗主瓣宽度的3倍,为12*pi/N,但是它的最大旁瓣值比主瓣值低57dB。2.4.6 凯泽窗功能函数利用w=kaiser(n,beta)的形式得到窗函数。得到n点的凯塞窗函数,其中beta为影响窗函数旁瓣的参数。利用凯泽窗进行设计时,滤波器的参数可以用以下函数求得:调用函数n,wn,bta,ftype=kaiserord(f,a,dev,fs)参数:1)f为对应的归一化频率2)a为由f指定的各个频带上的幅值向量,一般只有0和1,和f长度关系为(2*a的长度)2=(

43、f的长度)3)devs用于指定各个频带输出滤波器的频率响应与其期望幅值之间的最大输出误差或偏差,长度与a相等。4)fs为信号的采样频率。3 MATLAB中仿真记录此次课设基于MATLAB环境下,用窗函数法设计FIR滤波器的过程和设计实例。通过利用不同的窗函数方法设计FIR滤波器,对所设计的滤波器进行分析比较,得出各种方法设计的滤波器的优缺点及其不同的使用场合,从而可以在设计滤波器时能够正确的选择FIR数字滤波器的窗函数的选取及设计方法。以下是不同的窗函数方法设计FIR滤波器及其性能的仿真结果记录。3.1 窗函数仿真结果记录依据FIR滤波器的设计步骤自己求解理想滤波器的单位脉冲响应,然后用窗函数

44、对单位脉冲响应进行截短,从而得到实际可行的FIR滤波器。3.1.1矩形窗函数仿真结果图3-1矩形窗函数带通滤波器性能图从图3-1矩形窗函数带通滤波器性能图中,矩形窗函数主瓣比较集中,缺点是HYPERLINK /search?word=旁瓣&fr=qb_search_exp&ie=utf8旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。3.1.2三角窗函数仿真结果图3-2三角窗函数带通滤波器性能图从图3-2三角窗函数带通滤波器性能图中,三角窗函数主瓣宽约等于矩形窗的两倍,但旁瓣小,而且无负旁瓣。3.1.3汉宁窗函数仿真结果图3-3汉宁窗函数带通滤波器性能图从图3-3矩形窗

45、函数带通滤波器性能图中,汉宁窗主瓣加宽(第一个零点在2/T处)并降低,旁瓣则显著减小。第一个旁瓣衰减一32dB,而矩形窗第一个旁瓣衰减-13dB。此外,汉宁窗的旁瓣衰减速度也较快,约为60dB/(10oct),而矩形窗为20dB/(10oct)。由以上比较可知,从减小泄漏观点出发,汉宁窗优于矩形窗。但汉宁窗主瓣加宽,相当于分析带宽加宽,频率HYPERLINK /search?word=分辨力&fr=qb_search_exp&ie=utf8分辨力下降。3.1.4汉明窗函数仿真结果图3-4汉明窗函数带通滤波器性能图从图3-4汉明窗函数带通滤波器性能图中,汉明窗函数主瓣更集宽中,汉明窗HYPERL

46、INK /search?word=加权&fr=qb_search_exp&ie=utf8加权的系数能使旁瓣达到更小。分析表明,汉明窗的第一旁瓣衰减为-42dB。海明窗的频谱也是由 3个矩形时窗的频谱合成,但其旁瓣衰减速度为20dB/(10oct),这比汉宁窗衰减速度慢。3.1.5 布莱克曼窗函数仿真结果图3-5布莱克曼窗函数带通滤波器性能图从图3-5布莱克曼窗函数带通滤波器性能图中,布莱克曼窗主瓣宽,旁瓣小,频率识别精度最低,但幅值识别精度最高。3.1.6 凯泽窗函数仿真结果图3-6凯泽窗函数带通滤波器性能图从图3-6凯泽窗函数带通滤波器性能图中,凯泽窗函数中,是一个可调参数,它可以同时调整主

47、瓣宽度与旁瓣电平,越大,则窗越窄,而频谱的旁瓣越小,但主瓣宽度也相应增加。因而改变值就可以对主瓣宽度与旁瓣衰减进行选择。一般选择49,这相当于旁板幅度与主瓣幅度的比值由3.1%变到0.047%(-30 -67dB)。3.2 各类窗函数仿真结果比较3.2.1各种窗函数时域波形比较图3-7各种窗函数时域波形比较图从图3-7各种窗函数时域波形比较图中,可以观察到不同窗函数的时域波形形状。3.2.2各种窗函数频谱比较图3-8各种窗函数的频谱比较图从图3-8各种窗函数的频谱比较图中,可以观察到,矩形窗函数主瓣比较集中;三角窗函数主瓣宽约等于矩形窗的两倍;汉宁窗主瓣加宽并降低,旁瓣则显著减小;汉明窗函数主

48、瓣更集宽中,汉明窗HYPERLINK /search?word=加权&fr=qb_search_exp&ie=utf8加权的系数能使旁瓣达到更小;布莱克曼窗主瓣宽,旁瓣小;凯泽窗函数中,是一个可调参数,它可以同时调整主瓣宽度与旁瓣电平,越大,则窗越窄,而频谱的旁瓣越小,但主瓣宽度也相应增加。3.2.3各种窗函数幅频特性比较 图3-9各种窗函数幅频响应比较图从图3-9各种窗函数幅频响应比较图中,可以看到,各种窗函数都具有明显的主瓣和旁瓣。主瓣频宽和旁瓣的幅值衰减特性决定了窗函数的应用场合。矩形窗具有最窄的主瓣,但也有最大的旁瓣峰值(第一旁瓣衰减为13dB);不同窗函数在这两方面的特点是不同的,因

49、此应根据具体的问题进行选择。通常来讲,汉明窗和汉宁窗的主瓣,具有较小的旁瓣和较大的衰减速度,是较为常用的窗函数。3.2.4 各种窗函数单位脉冲响应比较图3-10各种窗函数单位脉冲响应比较图从图3-10各种窗函数单位脉冲响应比较图中,观察到不同窗函数设计的滤波器的单位脉冲响应的波形图。3.3 滤波器滤波性能测试为了测试各类窗函数的FIR滤波器的滤波性能,我用MATLAB模拟生成含有不同频率的数字信号,然后利用设计的滤波器对数字信号进行滤波,为方便观察,模拟生成的信号只含有包含在阻带的两个频率2000Hz、8000Hz的分量和一个包含于通带的频率5000Hz的分量,共同构成输入原始信号。通过观察输

50、入原始信号和输出滤波信号的波形,可以判断各类窗函数的FIR滤波器的滤波性能。3.3.1 矩形窗函数FIR滤波器滤波性能测试图3-11矩形窗函数FIR滤波器滤波性能测试图从图3-11矩形窗函数FIR滤波器滤波性能测试图中,输入原始信号波形和滤波后的信号波形对比可以看出,在用矩形窗函数设计的滤波器进行滤波后信号基本成单一频率的正弦波,滤波效果满足设计要求。3.3.2 三角窗函数FIR滤波器滤波性能测试图3-12三角窗函数FIR滤波器滤波性能测试图从图3-12三角窗函数FIR滤波器滤波性能测试图中,输入原始信号波形和滤波后的信号波形对比可以看出,在用三角窗函数设计的滤波器进行滤波后信号基本成单一频率

51、的正弦波,滤波效果满足设计要求。3.3.3 汉宁窗函数FIR滤波器滤波性能测试图3-13汉宁窗函数FIR滤波器滤波性能测试图从图3-13汉宁窗函数FIR滤波器滤波性能测试图中,输入原始信号波形和滤波后的信号波形对比可以看出,在用汉宁窗函数设计的滤波器进行滤波后信号基本成单一频率的正弦波,滤波效果满足设计要求。3.3.4 汉明窗函数FIR滤波器滤波性能测试图3-14汉明窗函数FIR滤波器滤波性能测试图从图3-14汉明窗函数FIR滤波器滤波性能测试图中,输入原始信号波形和滤波后的信号波形对比可以看出,在用汉明窗函数设计的滤波器进行滤波后信号基本成单一频率的正弦波,滤波效果满足设计要求。3.3.5

52、布莱克曼窗函数FIR滤波器滤波性能测试图3-15布莱克曼窗函数FIR滤波器滤波性能测试图从图3-15布莱克曼窗函数FIR滤波器滤波性能测试图中,输入原始信号波形和滤波后的信号波形对比可以看出,在用布莱克曼窗函数设计的滤波器进行滤波后信号基本成单一频率的正弦波,滤波效果满足设计要求。3.3.6 凯泽窗函数FIR滤波器滤波性能测试图3-16凯泽窗函数FIR滤波器滤波性能测试图从图3-16凯泽窗函数FIR滤波器滤波性能测试图中,输入原始信号波形和滤波后的信号波形对比可以看出,在用凯泽窗函数设计的滤波器进行滤波后信号基本成单一频率的正弦波,滤波效果满足设计要求。3.3 滤波器稳定性能测试FIR滤波器的

53、一个突出优点便是它的稳定性,从信号与系统的理论可知,当一个系统的Z域的传递函数的极点都在单位圆内时系统是稳定的,FIR滤波器的传递函数的分母为1,即FIR滤波器一定是稳定的,MATLAB中也提供了专门用于绘制零极点图的函数:zplane(),通过该函数可以轻松绘制系统的零极点图。通过观察各类窗函数设计的FIR滤波器绘制的零极点图,可以知道各类窗函数设计的FIR滤波器的稳定性能。3.3.1 矩形窗函数滤波器稳定性能测试图3-17矩形窗函数FIR滤波器稳定性能测试图从图3-17矩形窗函数的零极点图可以看出,它的所有极点全部位于Z=0处,因而矩形窗函数设计的FIR滤波器系统始终是稳定的。3.3.2

54、三角窗函数滤波器稳定性能测试图3-18三角窗函数FIR滤波器稳定性能测试图从图3-18三角窗函数的零极点图可以看出,它的所有极点全部位于Z=0处,因而三角窗函数设计的FIR滤波器系统始终是稳定的。3.3.3 汉宁窗函数滤波器稳定性能测试图3-19汉宁窗函数FIR滤波器稳定性能测试图从图3-19汉宁窗函数的零极点图可以看出,它的所有极点全部位于Z=0处,因而汉宁窗函数设计的FIR滤波器系统始终是稳定的。3.3.4 汉明窗函数滤波器稳定性能测试图3-20汉明窗函数FIR滤波器稳定性能测试图从图3-20汉明窗函数的零极点图可以看出,它的所有极点全部位于Z=0处,因而汉明窗函数设计的FIR滤波器系统始

55、终是稳定的。3.3.5 布莱克曼窗函数滤波器稳定性能测试图3-21布莱克曼窗函数FIR滤波器稳定性能测试图从图3-21布莱克曼窗函数的零极点图可以看出,它的所有极点全部位于Z=0处,因而布莱克曼窗函数设计的FIR滤波器系统始终是稳定的。3.3.6 凯泽窗函数滤波器稳定性能测试图3-22凯泽窗函数FIR滤波器稳定性能测试图从图3-22凯泽窗函数的零极点图可以看出,它的所有极点全部位于Z=0处,因而凯泽窗函数设计的FIR滤波器系统始终是稳定的。4 滤波器设计及实现过程中遇到的问题1、在正式开始编写程序的过程中,我遇到了很多困难,先是程序有error,然后又是仿真的过程中也遇到了一些问题,但是在与同

56、学讨论之后,以及老师的帮助下,仿真的结果开始好转。2、在仿真的过程中,又一次发现问题,仿真的波形结果与预想中的差别很大,于是我从思路上重新更改程序,重新调试,最终实现预期的结果。3、我发现在程序的编写过程中,最重要的还是思路,有了正确、简化的思路才能更快更有效的实现。5心得体会拿到这个课程设计题目后,我开始到网上搜索相关内容,顺便到学校图书馆借相关书籍,经过不断比较与讨论,对本次课程设计的要求和实现方法有了一个大致的轮廓。本次MATLAB课程设计主要任务是完成FIR滤波器的设计,对我来说这个题目还是很有挑战性的,因为自己对MATLAB中有关滤波器的设计知识了解较少,但正是这种有挑战性的题目才能

57、提高自己的能力,才有研究价值,入手这个题目后我查阅了相关的资料,也从网上获得了不少有关MATLAB设计滤波器的资料,加上自己之间对MATLAB有一定的了解,因而设计思路渐渐明朗,经过自己的不断尝试和探索,终于弄明白了FIR滤波器的工作原理,通过查阅相关资料和研究MATLAB中提供的帮助信息,我也明白了FIR滤波器设计相关的一些函数的使用方法,并用它们来设计FIR滤波器,最终完成了题目。虽然本次设计出的FIR滤波器并不够完美,但我确实有一种成就感。通过这次课程设计,我加强了自己掌握和理解书本知识的能力,培养了自己的实际动手能力与综合设计能力,并提高了自己的技术素质。基本达到了MATLAB课程设计

58、的任务,明确了MATLAB的基本知识与应用;在对对FIR滤波器的理论分析的过程中,我对数字信号处理的相关知识进行了复习,更深一个层次的掌握了数字信号处理的相关概念和使用技巧;同时掌握了MATLAB仿真设计的基本方法,学会了运用仿真软件,绘制相应的仿真波形图,对计算出的参数进行验证,反复推导,使参数更加符合要求。在这次的课程设计中,遇到问题,最好的办法就是问别人,因为每个人掌握情况不一样,不可能做到处处都懂,发挥群众的力量,复杂的事情就会变得很简单。这一点我深有体会,在很多时候,我遇到的困难或许别人之前就已遇到,向他们请教远比自己在那冥思苦想来得快。学习的这段日子确实令我收益匪浅,不仅是巩固了先

59、前学的数字信号处理的理论知识,而且也培养了我的动手能力,更令我的创造性思维得到拓展。希望今后类似这样课程设计、类似这样的锻炼机会能更多些! 在此次课程设计中我们得到老师的指点,班上同学和各位学长的帮助,我才得以圆满地完成此次设计,在此对给予支持与关怀的人士表示衷心的感谢!6参考文献刘泉、阙大顺、郭志强 ,数字信号处理原理与实现 电子工业出版社2009 2宋寿鹏,数字滤波器设计及工程应用.江苏大学出版社,2007 3葛哲学,精通MATLAB.电子工业出版社,2008 4陈亚勇,MATLAB信号处理详解.人民邮电出版社,2008 5周开利,邓春辉,MATLAB基础及其应用教程.北京大学出版社,20

60、07 6普埃克著,方艳梅译数字信号处理(第四版).电子工业出版社,2007 7赵静、张瑾 基于MATLAB的通信系统仿真 北京航空航天大学出版社 2006附录附录1设计窗函数FIR滤波器代码%以设计汉明窗函数带通滤波器为例 wlp = 0.35*pi; %低端通带截止频率 whp = 0.65*pi; %高端通带截止频率 whs = 0.75*pi; %高端阻带截止频率 wls = 0.3*pi; %低端阻带截止频率 wc = wlp/pi,whp/pi; %3dB截止截止频率 B = wlp-wls; %通带带宽 N = ceil(8/0.15); %计算滤波器长度 n=0:N-1; win

温馨提示

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

评论

0/150

提交评论