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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

摘要........................................................................................................................................... I

1 MATLAB概况 (1)

2 MATLAB窗函数设计法原理 (2)

3 FIR数字滤波器的介绍 (5)

3.1 FIR数字滤波器的特点 (5)

3.2 线性相位FIR数字滤波器的特点 (5)

3.2.1 单位冲激响应h(n)的特点 (5)

3.2.2 线性相位的条件 (5)

3.2.3 线性相位特点和幅度函数的特点 (6)

3.3 FIR数字滤波器的设计原理 (7)

2.4 数字滤波器的性能指标 (8)

4 常见窗函数简介 (10)

4.1 基本窗函数 (10)

4.1.1 矩形窗函数 (10)

4.1.2 汉宁窗函数 (10)

4.1.3 布莱克曼窗函数 (11)

5 程序设计法 (12)

5.1 利用矩形窗进行设计 (12)

5.2 利用汉宁窗进行设计 (13)

5.3 利用布莱克曼窗函数进行设计 (13)

6 滤波器性能测试 (14)

7总结与体会 (16)

参考文献 (17)

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

摘要

现代图像、语声、数据通信对线性相位的要求是普遍的。正是此原因,使得具有线性相位的FIR数字滤波器得到大力发展和广泛应用。

在实际进行数字信号处理时,往往需要把信号的观察时间限制在一定的时间间隔内,只需要选择一段时间信号对其进行分析。这样,取用有限个数据,即将信号数据截断的过程,就等于将信号进行加窗函数操作。而这样操作以后,常常会发生频谱分量从其正常频谱扩展开来的现象,即所谓的“频谱泄漏”。当进行离散傅立叶变换时,时域中的截断是必需的,因此泄漏效应也是离散傅立叶变换所固有的,必须进行抑制。而要对频谱泄漏进行抑制,可以通过窗函数加权抑制DFT的等效滤波器的振幅特性的副瓣,或用窗函数加权使有限长度的输入信号周期延拓后在边界上尽量减少不连续程度的方法实现。而在后面的FIR滤波器的设计中,为获得有限长单位取样响应,需要用窗函数截断无限长单位取样响应序列。另外,在功率谱估计中也要遇到窗函数加权问题。由此可见,窗函数加权技术在数字信号处理中的重要地位。传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,影响了它的应用。本文介绍了一种利用MATLAB信号处理工具箱(Signal Processing Toolbox)快速有效的设计由软件组成的常规数字滤波器的设计方法。本文给出了使用MATLAB语言进行程序设计和利用信号处理工具箱的FDA Tool工具进行界面设计的方法。利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。

关键词数字滤波器窗函数频谱 MATLAB

1 MATLAB概况

MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多.

应用MATLAB这一软件来设计滤波器,与传统的设计思路相比是非常的简便的.具体来说主要有以下几点:

1) MATLAB的GUID可以提供给使用者一个进行人机交换的环境,在此环境中,使用者没有必要了解程序内部具体的编写情况,在这个界面上他只要输入他所期望的滤波器的性能指标就可以了。

2) 利用MATLAB可以进行系统仿真,也就是说,使用者可以通过计算机进行对数字滤波器的频率响应图据的处理和波形的检测,不像以前必须借助一定的实验器材才可以得到。

3) MATLAB内部有丰富的函数可供调用,使用者只需要根据自己的需要查到所需要的函数名,那就可以直接调用使用了.不需要自己把函数详细的编写出来.使编写内部程序变的简单。

MATLAB包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类.

开放性使MATLAB广受用户欢迎.除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包.

2 MATLAB 窗函数设计法原理

数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR )滤波器和有限长冲激响应(FIR )滤波器。IIR 数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。所以IIR 滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。FIR 数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。FIR 滤波器具有严格的相位特性,这对于语音信号处理和数据传输是和重要的。目前FIR 滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。

因此设计FIR 滤波器的方法之一可以从时域出发,截取有限长的一段冲击响应作为H(z)的系数,冲击响应长度N 就是系统函数H(z)的阶数。只要N 足够长,截取的方法合理,总能满足频域的要求。一般这种时域设计、频域检验的方法要反复几个回合才能成功。

要设计一个线性相位的FIR 数字滤波器,首先要求理想频率响应)(jw d e H 。)(jw d e H 是w 的周期函数,周期为π2,可以展开成傅氏级数:

∑∞-∞=-=n jwn d jw

d e n h e H )()( (式2-1)

使用上述的传递函数去逼近)(jw d e H ,一个理想的频率响应)(jw d e H 的傅立叶反变换:

ωπωπ

d d

e H n h n j jw d d )(21)(20⎰

= (式2-2)

其中)(n h d 是与理想频响对应的理想单位抽样响应序列。但不能用来作为设计FIR DF 用的h(n),因为)(n h d 一般都是无限长、非因果的,物理上无法实现。

相关文档
最新文档