matlab 滤波窗函数,Matlab窗函数设计FIR滤波器

一、设计目的

1、熟悉FIR滤波器设计的基本方法。

2、掌握用窗函数设计FIR滤波器的基本原理和方法,熟悉MATLAB语言。

3、熟悉线性相位FIR滤波器的幅频特性和相位特性。

4、了解各种不同窗函数对滤波器性能的影响。

5、熟悉MCS51系列单片机基本原理。

6、掌握MCS51系列单片机基本指令和编程。

7、利用MATLAB仿真的数据,用单片机实现FIR滤波器的设计。

二、原理和方法

(一)FIR滤波器的设计

滤波器是设计来进行频率选择或频率分辨任务的线性时不变系统的通用名称。离散时间LTI(线性时不变)系统称为数字滤波器。按照LTI系统的单位脉冲响应长度是否有限可以分为有限长度脉冲响应(FIR)滤波器和无限长度脉冲响应(IIR)滤波器。

LTI离散系统可以用下列形式的线性常系数差分方程来描述:

(1)

(1)式中的下列部分描述的是一个因果FIR滤波器。

(2)

(1)式中的下列部分描述的是一个递推滤波器,其中输出y(n)可用其以前算得的值

(3)

递推计算而得,所以也称为自回归(AR)滤波器。因为脉冲响应是无限长,所以称为IIR滤波器。FIR滤波器也称为非递推或滑动平均(MA)滤波器。式(1)中有两个部分:一个AR部分和一个MA部分。

FIR滤波器可以利用快速傅立叶变换进行快速卷积来实现,另外,FIR滤波器具有严格的相位特性,这对于语音信号处理和数据传输是很重要的。IIR滤波器的优异幅度响应是以相位的非线性为代价的,而非线性相位会引起频率色散。目前FIR滤波器的设计方法主要有三种:窗函数法、频率采样法和切比雪夫等波纹逼近的最优化设计方法。最常用的是窗函数法和切比雪夫等波纹逼近的最优化设计法。本设计中用的窗函数法比较简单,可以应用现成的窗函数公式,在技术要求不高的时候是比较方便灵活的。它从时域出发,用一个窗函数截取理想的hd(n)得到h(n),以有限长序列h(n)近似理想的hd(n);如果从频域出发,用理想的Hd(ejw)在单位圆上等角度取样得到h(k),根据h(k)得到h(z)将逼近理想的hd(z),这就是频率取样法。

(二)性能指标

数字滤波器的指标形式应为频域中的幅度和相位响应。在通带中通常希望具有线性相位响应,在FIR滤波器中,可以得到精确的线性相位。

幅度指标可以以两种方式给出。第一种叫做绝对指标,它提供对幅度响应函数| H(ejw)|的要求。第二种方法叫做相对指标,它以分贝(dB)值的形式提出要求,其值定义为:

为了说明这些指标,下面以低通滤波器设计为例进行讨论。

绝对指标

低通滤波器的典型绝对指标如图1a所示。其中

•[0,ωp]段叫做通带,δ1是理想通带响应中能接受的容限(或波动)。

•[ωs,π]段叫做阻带,δ2是相应的容限。

•[ωp,ωs]段叫做过渡带,在此段上对幅度响应没有限制。

相对指标(dB)

低通滤波器的典型相对技术指标如图1b所示。其中

•Rp是通带波动。

•As是阻带衰减的dB数。

图1  FIR滤波器技术指标:(a)绝对  (b)相对

显然,上述两种指标里给定的参数存在一定的关系。由于绝对指标中的|Hd(ejw)|max

等于1+δ1,因此,有

你可能感兴趣的:(matlab,滤波窗函数)