基于窗函数法的数字带通FIR滤波器设计

更新时间:2023-12-21 17:48:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课程设计任务书

学生姓名: 专业班级:

指导教师: 工作单位:武汉理工大学

题 目:基于窗函数法的数字带通FIR滤波器设计 初始条件:MATLAB软件,计算机

要完成的主要任务: 利用MATLAB仿真软件系统结合窗函数法设计一个

数字带通FIR滤波器

性能指标如下:通带下限截止频率fc1=100HZ,通带上限截止频率fc2=200HZ,采样频率为1000HZ,阶数为81,最小阻带衰减As=-70dB。

时间安排:课程设计时间为5天。

(1)方案设计, 时间1天; (2)软件设计,时间2天; (3)系统调试,时间1天;

(4)答辩,时间1天。

指导教师签名: 2009年 1月15 日

系主任(或责任教师)签名: 2009年 1月 日

武汉理工大学《MATLAB应用》课程设计

I

武汉理工大学《MATLAB应用》课程设计

目录

目录................................................................................................................................. 1 摘 要 ...............................................................................................................................II Abstract .......................................................................................................................... III 1.FIR滤波器简介........................................................................................................... 1 2.线性相位FIR带通滤波器的设计 ................................................................................. 3 3.窗函数设计法 ............................................................................................................. 5 4.窗函数法设计FIR滤波器............................................................................................ 6

4.1.设计步骤........................................................................................................... 6

4.2.设计要求........................................................................................................... 7 5.MATLAB环境下的设计实例 ....................................................................................... 8 6.心得体会 .................................................................................................................. 12 7.课程设计参考资料 .................................................................................................... 13

I

武汉理工大学《MATLAB应用》课程设计

摘 要

随着信息时代的到来,数字信号处理已经成为当今一门及其重要的学科和技术,并且在通信、语音、图像、自动控制等众多领域得到了广泛的应用,在数字信号处理中,数字滤波器占有及其重要的地位,它具有精度高,可靠性好、灵活性大等特点,现代数字滤波器可以用软件和硬件两种方式来实现,软件方式实现的优点是可以通过滤波器参数的改变去调整滤波器的性能。

MATLAB是一种面向科学和工程计算的语言,它集数值分析,矩阵运算、信号处理和图形显示于一体,具有编程效率高、调试手段丰富、扩充能力强等特点,MATLAB的信号处理工具箱具有强大的函数功能,它不仅可以用来设计数字滤波器,还可以使设计达到最优化,是数字滤波器设计的强有力工具。本文介绍了如何利用MATLAB仿真软件系统结合窗函数法设计一个数字窗函数法

关键字:数字信号处理 数字滤波器 MATLAB 重要的地位 窗函数法窗函数法

II

武汉理工大学《MATLAB应用》课程设计

Abstract

With the advent of the information age, digital signal processing has become an important subject and its technology, and communications, voice, video, and many in the field of automatic control is widely used in digital signal processing, digital filtering Possession of the device and its important status, which has high accuracy, reliability, flexibility, and other major characteristics of modern digital filter software and hardware can be achieved in two ways, the way software has the advantage of through the filter parameters Change to adjust the filter performance.

MATLAB is a science and engineering-oriented computing language, which set numerical analysis, matrix computing, graphics and signal processing in one, the program has a highly efficient means of debugging a rich, strong, and other characteristics of the expansion, MATLAB signal processing tools Box features a powerful function, which not only can be used to design digital filters can also optimize the design so that, the digital filter design is a powerful tool. This article describes how to use MATLAB simulation software systems to design a window function digital window function

Keyword: digital signal processing digital filter MATLAB an important role in the window function window function

III

武汉理工大学《MATLAB应用》课程设计

4.窗函数法设计FIR滤波器

4.1.设计步骤

FIR 滤波器的窗函数法设计过程为:

(9)

式中:Hd(ejΩ)为逼近的理想滤波器频率响应;hd(k)为理想滤波器的单位脉冲响应,是无限长序列。

(1)根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N(或阶数M=N-1),窗函数类型可根据最小阻带衰减As独立选择,因为窗口长度N对最小阻带衰减As没有影响,在确定窗函数类型以后,可根据过渡带宽小于给定指标确定所拟用的窗函数的窗口长度N,设待求滤波器的过渡带宽为Δw,它与窗口长度N近似成反比,窗函数类型确定后,其计算公式也确定了,不过这些公式是近似的,得出的窗口长度还要在计算中逐步修正,原则是在保证阻带衰减满足要求的情况下,尽量选择较小的N,在N和窗函数类型确定后,即可调用MATLAB中的窗函数求出窗函数wd(n)。

(2)根据待求滤波器的理想频率响应求出理想单位脉冲响应hd(n),如果给出待求滤波器频率应为Hd(ejw),则理想的单位脉冲响应可以用下面的傅里叶反变换式求出:

(10)

在一般情况下,hd(n)是不能用封闭公式表示的,需要采用数值方法表示;从w=0到w=2π采样N点,采用离散傅里叶反变换(IDFT)即可求出。

(3)用窗函数wd(n)将hd(n)截断,并进行加权处理,得到

6

武汉理工大学《MATLAB应用》课程设计

h(n)?hd(n)?(n)(11)

如果要求线性相位特性, 则h(n)还必须满足:

根据上式中的正、 负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。 要根据所设计的滤波特性正确选择其中一类。 例如, 要设计线性相位低通特性可选择h(n)=h(N-1-n)一类,而不能选h(n)=-h(N-1-n)一类。

(4)验算技术指标是否满足要求,为了计算数字滤波器在频域中的特性,可调用freqz子程序,如果不满足要求,可根据具体情况,调整窗函数类型或长度,直到满足要求为止。

(12) h(n)??h(N?1?n)4.2.设计要求

(1)窗谱主瓣尽可能地窄,以获得较陡的过渡带;

(2)尽量减少窗谱的最大旁瓣的相对幅度,也就是使能量尽量集中于主瓣,减小峰肩和纹波,进行增加阻带的衰减。

根据工程经验,给定的滤波器指标参数一般为通带截止频率wp、阻带截止频率ws、实际通带波动Rp和最小阻带衰减As。

7

武汉理工大学《MATLAB应用》课程设计

5.MATLAB环境下的设计实例

用窗函数设计FIR带通滤波器,性能指标如下:通带下限截止频率fc1=100HZ,通带上限截止频率fc2=200HZ,采样频率为1000HZ,阶数为81,最小阻带衰减As=-70dB。

分析:从表1可以看出凯泽窗能提供74dB的最小阻带衰减,所以选用凯泽窗进行设计,程序主要部分如下:

程序运行结果如图2所示

8

武汉理工大学《MATLAB应用》课程设计

图2 凯泽窗设计的FIR带通滤波器的响应

程序结果如图2所示,滤波器长度为81,最小阻带衰减为-80dB,满足设计要求。

如果不考虑最小阻带衰减,也可用另外五个窗函数设计,只需修改程序中的加窗函数即可。

矩形窗程序修改如下:w_box=(boxcar(M))';

h=hd.*w_box;

图3 矩形窗设计的FIR带通滤波器的响应

程序结果如图3所示,滤波器长度为81,最小阻带衰减为-21dB。

9

武汉理工大学《MATLAB应用》课程设计

三角窗程序修改如下:w_tri=(triang(M))';

h=hd.*w_tri;

图4 三角窗设计的FIR带通滤波器的响应

程序结果如图4所示,滤波器长度为81,最小阻带衰减为-25dB。

汉宁窗程序修改如下:w_han=(hanning(M))';

h=hd.* w_han ;

图5

汉宁窗设计的FIR带通滤波器的响应

程序结果如图5所示,滤波器长度为81,最小阻带衰减为-44dB。

10

武汉理工大学《MATLAB应用》课程设计

海明窗程序修改如下:w_ham=(hamming(M))';

h=hd.*w_ham;

图6 海明窗设计的FIR带通滤波器的响应

程序结果如图6所示,滤波器长度为81,最小阻带衰减为-53dB。

11

武汉理工大学《MATLAB应用》课程设计

6.心得体会

在这次课程设计中,我的最大体会是要学会强迫自己动手,整合思路,查

找资料,为己所用。平时所学的理论知识只是基础,真正应用软件做设计的时候才能知道自己的局限性。一味停留在老师的教学中自己能做的实在是少之又少。老师只是在较高的层次上为自己的学习指明道路,为数字信号处理的整体概念指出思路。至于具体的某个程序要怎么编写,某个新后要怎么处理,不可能手把手的交给自己。所以就应该学会利用资料,首先就是互联网,然后是图书馆。由于本次课设的时间限制,最合理的资料应该是互联网,快速,方便。搜集到资料以后不能照抄,应该仔细阅读,读懂,然后根据自己的要求改变参数。总之,只有知道怎么自己学习,才能知道怎么自己动手。

另一方面,即具体的方面,我的收获是了解了MATLAB这个软件,熟悉了MATLAB在数字信号处理过程中的应用,并能正确地运用它对语音信号进行采样、设计滤波器、分析频谱特性等。能将之前所学的理论知识和这次的设计及仿真结合起来,掌握了滤波器的设计和正确使用,加深了对数字信号处理的理解。比如之前对时域,频域,FFT等概念只是有了抽象上的了解,并没有很深刻的掌握,通过这次的反复利用,加深了理解和印象。对于FIR并不知道各种滤波器到底怎么用,到底有什么不同,这次设计把这些滤波器全都利用了一遍,实在收获颇丰。

12

武汉理工大学《MATLAB应用》课程设计

7.课程设计参考资料

教材:Vinay K.Ingle主编:《数字信号处理及其MATLAB实现》,电子工业出版社,1998年出版。

参考书:Sanjit K. Miltra编著:《Digital Signal Processing Laboratory Using Matlab》,McGraw-Hill出版社,2000年出版。

13

武汉理工大学《MATLAB应用》课程设计

本科生课程设计成绩评定表

姓 名 专业、班级 性 别 男 课程设计题目: 基于窗函数法的数字带通FIR滤波器设计 课程设计答辩或质疑记录: 1.选择各种窗函数的标准是什么? (1)窗谱主瓣尽可能地窄,以获得较陡的过渡带; (2)尽量减少窗谱的最大旁瓣的相对幅度,也就是使能量尽量集中于主瓣,减小峰肩和纹波,进行增加阻带的衰减。 根据工程经验,给定的滤波器指标参数一般为通带截止频率wp、阻带截止频率ws、实际通带波动Rp和最小阻带衰减As。 2.窗函数对频谱有什么影响? 不同的窗函数对信号频谱的影响是不一样的,这主要是因为不同的窗函数,产生泄漏的大小不一样,频率分辨能力也不一样。信号的截断产生了能量泄漏,而用FFT算法计算频谱又产生了栅栏效应,从原理上讲这两种误差都是不能消除的,但是我们可以通过选择不同的窗函数对它们的影响进行抑制。几种常用的窗函,其中矩形窗主瓣窄,旁瓣大,频率识别精度最高,幅值识别精度最低;布莱克曼窗主瓣宽,旁瓣小,频率识别精度最低,但幅值识别精度最高。 3.此次课程设计有什么收获? 了解了MATLAB这个软件,熟悉了MATLAB在数字信号处理过程中的应用,并能正确地运用它对语音信号进行采样、设计滤波器、分析频谱特性等。能将之前所学的理论知识和这次的设计及仿真结合起来,掌握了滤波器的设计和正确使用,加深了对数字信号处理的理解。对于FIR并不知道各种滤波器到底怎么用,到底有什么不同,这次设计把这些滤波器全都利用了一遍,实在收获颇丰 成绩评定依据: 最终评定成绩(以优、良、中、及格、不及格评定)

指导教师签字:

年 月 日

14

本文来源:https://www.bwwdw.com/article/bf85.html

Top