当前位置:文档之家› FIR数字滤波器设计与实现

FIR数字滤波器设计与实现

FIR数字滤波器设计与实现
FIR数字滤波器设计与实现

FIR 数字滤波器设计与实现

一.摘要:数字滤波器是一种具有频率选择性的离散线性系统,在信号数字处理中有着广泛的应

用。其中FIR 滤波器是一种常用的滤波器,它在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性,在语音分析、图像处理、雷达监测等对信号相位要求高的领域有着广泛的应用,能实现IIR 滤波器不能实现的许多功能。 二.关键词:FIR 窗函数系统函数MATLAB 三.内容提要:

数字滤波器的功能就是把输入序列通过一定的运算变换成输出序列,因此数字滤波器的结构系

统中就必须包括一定数量和性能的运算器件和运算单元,而运算器件和运算单元的配置必须由数字滤波器的结构特点和性能特点来决定,因此在进行FIR 数字滤波器的设计之前,有必要介绍和总结FIR 数字滤波器的基本结构和相关特性(包括频响曲线(幅度和相位),单位冲激响应等),在介绍完其基本结构和相关特性后,就进行FIR 数字滤波器的设计和实现。 (一)FIR 滤波器的基本结构

在讨论任何一种滤波器时,都要着重分析其系统函数,FIR 滤波器的系统函数为:

n N n z n h z H ∑-==1

0)()(。从该系统函数可看出,FIR 滤波器有以下特点:

1)系统的单位冲激响应h(n)在有限个n 值处不为零;

2)系统函数H(z)在|z|>0处收敛,极点全部在z=0处(稳定系统);

3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包

含有反馈的递归部分。

1.FIR 滤波器实现的基本结构有:

1) 横截型(卷积型、直接型)

a.一般FIR 滤波器的横截型(直接型、卷积型)结构: 若给定差分方程为:

。则可以直接由差分方程得出FIR 滤波器结构如

下图所示:

这就是FIR 滤波器的横截型结构,又称直接型或卷积型结构。 b .线性相位FIR 滤波器的横截型结构

若h(n)呈现对称特性,即此FIR 滤波器具有线性相位,则可以简化成横截型结构,下面分情况

讨论:

①N 为奇数时线性相位FIR 滤波器实现结构如图所示: ②N 为偶数时线性相位FIR 滤波器实现结构如图所示

我们知道IIR 滤波器的优点是可利用模拟滤波器设计的结果,缺点是相位是非线性的,若需

要线性相位,则要用全通网络进行校正,比较麻烦,而FIR 滤波器的优点是可以方便地实现线性相位。

2)、级联型

将H (z )分解为若干个实系数一阶或二阶因子相乘: 实现结构如下图所示:

该结构图中有2L =M 个延迟器,2L +1=M +1个乘法器,2L =M 个加法器。

分析H (z )及结构图可以得出级联型的特点:

①每个基本节控制一对零点,便于控制滤波器的传输零点。

②系数比直接型多,所需的乘法运算多。

3)频率取样型

若FIR 滤波器的冲激响应为有限长(N 点)序列h(n),则有如图所示的关系: 因此,对h(n)可以利用DFT 得到H(k),然后利用内插公式: 来表示系统函数,这就为FIR 滤波器提供了另外一种结构:频率抽样结构,

这种结构由两部分级联而成:分析系统函数

其中级联的第一部分为:

这是一个梳状滤波器,它滤掉了频率

及其各次谐波。

级联的第二部分为N 个一阶网络并联而成,第k 个一阶网络为:

它在单位圆上有一个极点:

2L =M 个延迟器,2L +1=M +1个乘法器,2L =M 个加法器

11β21βL

1βL 2β12β22βx [k ]y [k ]1

-z 1-z h [0]

1-z 1-z 1

-z 1

-z

这是一个谐振频率的无损耗谐振器。这个谐振器的极点正好与梳状滤波器的一个

零点(i=k)相抵消,从而使这个频率上的频率响应等于H(k)。这样,N个谐振器的N个极点就和梳状滤波器的N个零点相抵消,从而在N个频率抽样点上的频率响应就分别等于N个H(k)值。

有上叙的理论分析基础可以得到FIR滤波器的频率抽样结构。

FIR滤波器的频率抽样结构如图所示:

频率抽样结构的特点是它的系数H(k)就是滤波器在处的响应,因此控制滤波器的频率响应很方便。

频率抽样结构存在问题的问题是:在有限长情况下,系数量化后极点不能和零点抵消,使FIR 系统不稳定。

解决方法:

在r圆上进行(r<1但近似等于1)取样,即用r1-z代替1-z,使极点和相应的零点移到单位圆

内。

(a)当N为偶数时的频率取样型结构如图所示。

(b)当N为奇数时频率抽样型结构如图所示。

4)快速卷积结构

若FIR滤波器的单位冲激响应h(n)是一个N1点有限长序列,输入x(n)是一个N2点有限长序列,那么输出y(n)是x(n)与h(n)的线性卷积,它是一个L=N1+N2-1点的有限长序列。

我们知道,将x(n)补上L-N2个零值点,将h(n)补上L-N1个零值点,然后进行L点圆周卷积,就可以代替原x(n)与h(n)的线性卷积。

而圆周卷积可以用DFT和IDFT的方法来计算,这样我们得到FIR滤波器的快速卷积结构:

这里DFT和IDFT都将采用快速傅里叶变换算法,当N1和N2足够长时,比直接计算线性卷积要快得多。

2.线性相位FIR滤波器的特点

从以上的讨论中可以看出,我们最感兴趣的是具有线性特性的FIR滤波器,因此在设计FIR滤波器时,需要着重研究线性相位FIR滤波器的特点和性质,在上述已经介绍了线性相位FIR滤波器的横截型结构,现在介绍它的频响特性。

FIR滤波器的单位冲激响应h(n)是有限长的(0≤n≤N-1),其Z变换为:其傅立叶变换为:

其中H(ω)是幅度函数,是一个纯实数,可正可负,θ(ω)是相位函数。可以证明,线性相位

FIR 滤波器的冲激响应满足对称条件:

h(n)=±h(N-1-n) 和)()(1)1(---±=z H z z H N

(1)、线性相位FIR 滤波器的幅度函数和相位函数:

(a )当h(n)是偶对称时,其幅度函数和相位函数分别为:

特点:

幅度函数H(ω)包括正负值,相位函数是严格线性相位,滤波器有(N-1)/2个抽样周期

的延时,它等于单位抽样响应h(n)长度N 的一半。

(b )当h(n)是奇对称时,其幅度函数和相位函数分别为: 特点:

相位函数是严格线性相位,但在零频率(ω=0)处有π/2的相移。仍有(N-1)个抽样周期的延时。因此当h(n)为奇对称时,FIR 滤波器将是一个具有准确相位的正交变换网络。

(2)、FIR 滤波器的线性相位特性

FIR 滤波器的线性相位特性如图所示。

(3)、任何一种线性相位FIR 滤波器的群延时都为: (4)FIR 滤波器幅度函数的特点

分四种情况分别讨论H (ω)的特点: (a )当h(n)偶对称,N 为奇数时: 幅度函数的特点:H (ω)对ω=0,,呈偶对称。

(b )当h(n)偶对称,N 为偶数 时 :

幅度函数的特点: 当

时,

,在z =-1处有一个零点,

是奇对称;

如果滤波器在处幅度不为零(如高通滤波器),则不能用这种滤波器。

(c )当h(n)奇对称,N 为奇数时

幅度函数的特点:

H (ω)在ω=0,,处都为零,也就是H(z)在处为零;

H (ω)对ω=0,,都成奇对称。

(d )当h(n)奇对称,N 为偶数时:

幅度函数的特点:

H (ω)在ω=0,处为零,即H(z)在z=1处为零点; H (ω)对ω=0,呈奇对称,对ω=呈偶对称。

(5)、零点位置:

线性相位FIR 滤波器的系统函数有以下关系:

可见,若i z z =是H(z)的零点,则i z z /1=也一定是H(z)的零点。又由于当h(n)

是实数时,H(z)的零点必成共轭对出现,所以i z z =及i z z /1=也一定是H(z)的零点。因而线性相位FIR 滤波器的零点必是互为倒数的共轭对。

其有四种可能性:

(1)既不在实轴上,也不在单位园上,则是互为倒数的两组共轭对。

(2)不在实轴上,但是在单位园上,则共轭对的倒数是它们本身,故只有一组共轭对。 (3)在实轴上而不在单位园上,只有倒数部分,无复共轭部分。 (4)既在实轴上又在单位园上,有两种可能,z =1或z =-1。 (二)FIR 数字滤波器的设计

在介绍和总结完FIR 数字滤波器的基本结构和相关特性(包括频响曲线(幅度和相位),单位

冲激响应等)后,就是FIR 数字滤波器的设计和实现,FIR 数字滤波器的设计步骤有: 1.技术要求(预期性能指标)

技术要求是由实际用途决定的,它可由理想滤波器的系统函数Hd(z)、脉冲响应h(n)和差分方程描述。

2.逼近(近似)

在数字滤波器性能分析的基础上,利用已经学过的概念和数学知识提供数字滤波器的表述,它是理想滤波器的一种近似。

3.实现

上面一步的结果是一个滤波器的表述,它既可能是一个系统函数、也可能为差分方程,或者是单位脉冲响应h(n),依据这个结果进行数字滤波器结构的实际和软硬件的实现。

下面重点介绍目前最主要的三种FIR数字滤波器的设计方法:

(1).窗函数设计法(时间窗口法)

这种方法也称为傅立叶级数法。其设计是在时域进行的,先用傅氏反变换求出理想数字滤波器的单位抽样响应h d(n),然后时域移位并加时间窗w(n)对其截断,从而求得FIR滤波器的单位抽样响应h(n);

在设计过程中,将无限长序列变为有限长是通过时域加矩形窗乘积实现数据的截断的。时域乘积对应了频域卷积,从而对频响特征发生的改变。常见的窗函数有:矩形窗、三角形(Bartlertt)窗、汉宁(Hanning)窗。海明(Hamming)窗、布拉克曼(Blackman)窗、凯泽(kaiser)窗等,下面介绍几种常用的窗函数:

矩形窗

例:用矩形窗设计低通数字滤波器

程序及运行结果如下:

omegac=0.37;

N=81;

m=(N-1)/2;

n=0:2*m+10;

h=omegac/pi*sinc(omegac*(n-m)/pi);

w=[ones(1,N)zeros(1,length(n)-N)];

hd=h.*w;

omega=-pi:2*pi/300:pi;

Hd=freqz(hd,1,omega);

plot(omega,abs(Hd));

汉宁窗(升余弦窗)

=0.5

利用傅氏变换的移位特性,汉宁窗频谱的幅度函数W(ω)可用矩形窗的幅度函数表示为:

三部分矩形窗频谱相加,使旁瓣互相抵消,能量集中在主瓣,旁瓣大大减小,主瓣宽度增加1倍。

汉明窗(改进的升余弦窗)

对汉宁窗的改进,在主瓣宽度(对应第一零点的宽度)相同的情况下,旁瓣进一步减小,可使99.96%的能量集中在主瓣内。

布莱克曼窗(三阶升余弦窗)

增加一二次谐波余弦分量,可进一步降低旁瓣,但主瓣宽度进一步增加,增加N可减少过渡带。频谱的幅度函数为:

凯塞窗

以上四种窗函数,都是以增加主瓣宽度为代价来降低旁瓣。凯塞窗则可自由选择主瓣宽度和旁瓣衰减。

I

(x)是零阶贝塞尔函数,参数β可自由选择,决定主瓣宽度与旁瓣衰减。β越大,w(n)窗越窄,0

其频谱的主瓣变宽,旁瓣变小。一般取4<β<9

β=5.44接近汉明

β=8.5接近布莱克曼

β=0为矩形

除了上述窗口外,还有所谓的“组构窗口”,即由一些简单的窗函数组合构成,如常见的三角形窗(Bartlett窗)

它是由二个长度为(N/2)的矩形窗进行线性卷积而成的。

几种窗函数的比较

四种常用的窗口函数

①矩形窗;②汉宁窗;③汉明窗;④布莱克曼窗

图窗口函数频谱(N=51,A=20lg|W(ω)/W(0)|)

从(a)→(d),旁弁的衰减逐步增加,主弁相应加宽(用对数可放大小旁瓣)。

图在同一指标下用四种窗口设计的LP 滤波器频率特性(N=51,c w =0.8π)

可见,矩形窗设计的过渡带最窄,但阻带最小衰减也最差,仅-21dB;布莱克曼窗设计的

阻带最小衰减最好,达-74dB,但过渡带最宽,约为矩形窗设计的三倍。几种窗口函数的具体性能比较见下表。

设计要点:

如果希望得到的滤波器的理想频率响应为)(jw e H 那么FIR 滤波器的设计就在于寻找一个

传递函数

去逼近)(jw e H ,在这种逼近中有两种直接的方法,一是从时域入手,即刚才讨论的窗函数设计

法。另一种从频域入手,就是即将讨论的频率取样法

窗函数设计法是从单位脉冲响应序列着手,使h(n)逼近理想的单位脉冲响应序列

)(n h d )(n h d 。我们知道)(n h d 可以从理想频响)(jw d e H 通过傅氏反变换获得

但一般来说,理想频响都为分段恒定,在边界频率处有突变点,所以,这样得到的理想

单位脉冲响应)(n h d 往往都是无限长序列,而且是非因果的。但FIR 的h(n)是有限长的,问题是怎样用一个有限长的序列去近似无限长的)(n h d 。最直接简单的办法是直接截取其一段来代替。这种截取可以形象地想象为h(n)就好象是通过一个“窗口”所看到一段)(n h d ,因此,h(n)也可表达为)(n h d 和一个“窗函数”的乘积,即

h(n)=w(n))(n h d

在这里窗口函数就是矩形脉冲函数)(n R N ,当然以后我们还可看到,为了改善设计滤波

器的特性,它还可以有其它的形式,相当于在矩形窗内对)(n h d 作一定的加权处理。

我们从一个截止频率为ωc 的线性相位理想低通滤波器为例来讨论FIR 的设计问题,设低通滤

波器的时延为α,即

理想特性的)(n h d 和)(w H d

这是一个以α为中心的偶对称的无限长非因果序列,如果截取一段n=0~N-1的)(n h d 作为h(n),

则为要保证所得到是线性相位FIR 滤波器,延时α应为h(n)长度N 的一半,

α=(N-1)/2

其中W R (n)=)(n R N (为了表示一致) 设)(jw e W 为该窗口函数的频谱:

用幅度函数和相函数来表示,则有

。其线性相位部分

e -j 则是表示延时一半长度α=(N-1)/2,对频响起作用的是它的幅度函数

图矩形窗函数及其幅度函数

理想频响也可以写成幅度函数和相位函数的表示形式)(jw d e H =)(w H d jwn e -

其中幅度函数为

二个信号时域乘积对应于频域卷积,所以有 如果也以幅度函数H(ω)和相位函数来表示)(jw e H ,

)(jw e H =H(ω)jwn e -

则实际FIR 滤波器的幅度函数H (ω)为

正好是理想滤波器幅度函数与窗函数幅度函数的卷积。

ω=0

的响应,因一般有ωc>>2π/N ,W R (ω)在[-ωc,ωc]内近似包含全频域的值,所

以,H(0)≈H d (0);

ω=ωc 时,一半重叠,H(ωc)/H(0)=0.5;

ω=ωc-2π/N 时,第一旁瓣(负数)在通带外,出现正肩峰; ω=ωc+2π/N

时,第一旁瓣(负数)在通带内,出现负肩峰。

由最后的频响函数图我们可以看到,

在通带截止频率的两旁ω=ωc ±

的地方,H(ω)出现最大正负肩峰值;

在这两个肩峰之间形成一个过渡带,过渡带的宽度等于

W R (ω)的主瓣宽度。在最大肩

峰的两侧,则形成长长的余振;

看公式

其中x=N ω/2,所以N 的改变不能

改变主瓣与旁瓣的比例关系,最多只能改变W R (ω)的绝对值大小和起伏的密度,当N 增加时,幅值拉高,频率轴变密,而最大肩峰经计算可知总为8.95%,这种现象称为吉布斯(Gibbs )效应。

肩峰值的大小决定了滤波器通带内的平稳程度和阻带内的衰减,所以对滤波器的性能

有很大的影响。

为了改善滤波器的这些特性,只有改变窗函数的形状,标准为:

窗谱主瓣宽度要窄,以获得较陡的过渡带;

相对于主瓣幅度,旁瓣要尽可能小,使能量尽量集中在主瓣中,这样就可以减小肩峰

和余振,以提高阻带衰减和通带平稳性。

但实际上这两个标准不能兼得,一般总是通过增加主瓣宽度来换取对旁瓣的抑制。 窗口法的优点是简单,有闭合的公式可用,性能及参数都有表格资料可查,计算程序简

单,较为实用。缺点是当)(jw d e H 较为复杂时,)(n h d 就不容易由反付里叶变换求得。边界频率因为加窗的影响而不易控制。 (2).频率取样法

工程上,常给定频域上的技术指标,所以采用频域设计更直接。

一、基本思想:

使所设计的FIR 数字滤波器的频率特性在某些离散频率点上的值准确地等于所需滤波器在这

些频率点处的值,在其他频率处的特性则有较好的逼近。

二.设计方法: 1)确定

2)计算h(n)

3)计算H(Z) 三、 约束条件:

为了设计线性相位的FIR 滤波器,采样值H (k )要满足一定的约束条件。

前已指出,具有线性相位的FIR 滤波器,其单位采样响应h(n)是实序列,且满足

h(n)=+/-h(N-1-n),由此得到的幅频和相频特性,就是对H(k)的约束。(见P101,表4.1)。

例如,要设计第一类线性相位FIR 滤波器,即N 为奇数,h(n)偶对称,则

幅度函数H (ω)应具有偶对称性; 令

由此可得,

必须取为:

而k H 必须满足对称性:k n k H H -=

同样,若要设计第二种线性相位FIR 滤波器,N 为偶数,h(n)偶对称,相位关系同上,由于幅

度特性是奇对称的,

因此,H k 也必须满足对称要求:k n k H H --=

其他两种线性相位FIR 数字滤波器的设计,同样也要满足幅度与相位的约束条件。

四、设计误差:

FIR 设计步骤: 给定指标

或H (z )

关心的是,由上述设计过程得到的与H(k)的逼近程度,以及与H(k)的关系。令,则

单位圆上的频响为:

这是一个内插公式,式中

为内插函数

令则

所以,在每个采样点上,频响严格

地与理想特性H(k)一致,在采样点之间,频响由各采样点的内插函数延伸迭加而形成,因而有一定的逼近误差,误差大小与理想频率响应的曲线形状有关,理想特性平滑,则误差小;反之,误差大,在理想频率响应的不连续点会产生肩峰和波纹。N增加,则采样点变密,内插误差减小。

(3).切比雪夫逼近法

除了窗函数设计法(时间窗口法)和频率采样法,还可以用切比雪夫逼近法设计FIR滤波器,且切比雪夫逼近法是一种等波纹逼近法,在用切比雪夫逼近法设计FIR滤波器时,需要用到雷米兹(Remez)交替算法,并且需要遵从两个准则:均方误差最小准则和最大误差最小化准则。

雷米兹(Remez)交替算法:能很好的解决通带截止频率和阻带截止频率不能精确控制的问题。下图就是雷米兹(Remez)交替算法的流程图

(三).算例描述

基于窗函数的FIR数字滤波器设计的方法十分简单,其主要步骤为:

(1)对滤波器的理想特性进行傅立叶逆变换获得理想滤波器的单位脉冲响应h(n)

(2)由性能指标确定窗函数W(n)和窗口长度N,由过度带宽近似于窗函数主瓣宽求得窗口长度N

(3)求得实际滤波器的单位脉冲响应h(n)

(4) 检验滤波器的性能

下面举例说明:

例1:用窗函数法设计一个线性相位FIR 低通滤波器,并满足性能指标。通带边界频率

5.0=p ωπ,阻带边界频率π6

6.0=ws ,阻带衰减不小于40,dB 通带波纹不大于3dB 。 由题意,阻带衰减不小于40dB ,选取汉宁窗。 用MATLAB 编程如下: %MATLABPROGRAMeg-1

%Window-basedFIRfilterdesign

%Perfomentparameter wp=0.5*pi; ws=0.66*pi;

%Widthoftransitionband wdelta=ws-wp; %Lengthofthefilter N=ceil(8*pi/wdelta) ifrem(N,2)==0

N=N+1; end

%Lengthofthewindow Nw=N;

%CutoffFrequencyofthefilter

wc=(wp+ws)/2;

%Computeimpulseresponseofidealfilter

n=0:N-1; alpha=(N-1)/2;

m=n-alpha+0.00001;

hd=sin(wc*m)./(pi*m);

%ComputetimeresponseoftheHanningWindow

win=hanning(Nw);

%Computeactureimpulseresponseofthefilter

h=hd.*win’;

b=h;freqz(b,1,512)

程序运行即得所设计FIR线形相位滤波器频率特性。如图所示:

该例题运用了上叙步骤进行编程,其实在MATLAB里,信号处理工具箱提供了基于上叙原理设计标准型FIR滤波器的工具函数FIR1,函数FIR1是采用经典窗函数设计线性相位FIR数字滤波器的函数,其调用格式为:

b=fir1(n,ω

n )b=fir1(n,ω

n

,‘ftype’)

b=fir1(n,ω

n

,window)

b=fir1(n,ω

n

,‘ftype’,windows)

下面的程序就是调用工具函数FIR1对上题进行重新编程%MATLABPROGRAMeg-1

%Window-basedFIRfilterdesign

%Perfomentparameter

wp=0.5*pi;

ws=0.66*pi;

%Widthoftransitionband

wdelta=ws-wp;

%Lengthofthefilter

N=ceil(8*pi/wdelta)

%CutoffFrequencyofthefilter

Wn=(0.5+0.66)*pi/2;

%using’FIR1’Designthefilter

b=fir1(N,Wn/pi,hanning(N+1));

freqz(b,1,512)

由上可知,用函数FIR1设计的FIR数字滤波器在通带内具有很好的线性相位特性例二:设计一个24阶FIR带通滤波器,通带频率为0.35≤ω≤0.65

利用工具函数FIR1编写程序如下:

%MATLABPROGRAMeg-2

%Window-basedFIRfilterdesign

%Perfomentparameter

wp=[0.350.65];

N=24;

%using’FIR1’Designthefilter

b=fir1(2*N,wp);

freqz(b,1,512)

这例也使用了函数fir1的设计方法。

例三:用CLS法设计一个25阶低通滤波器,截止频率0.3π

%MATLABPROGRAMeg-6

%desiredFIRlowerfilter

n=55;

wo=0.3;

dp=0.02;ds=0.008;b=fircls1(n,wo,dp,ds,‘plot’);

此例调用了fircls1函数。

在实际应用中,remez算法是一种比较常用的设计滤波器的算法。

其优点有:它靠一次次的迭代求得一组交错点组频率,避免了直接的烦琐的计算下面列举使用REMEZ函数设计滤波器的例子

例四:用雷米兹算法设计一个滤波器.程序及波形如下。

%designofequirippleliner-phrasefirfilters

N=14;

f=[00.20.40.70.81.0];

m=[0.10.1110.10.1];

b=remez(N,f,m);

>>[h,w]=freqz(b,1,256);

>>mag=20*log10(abs(h));

>>plot(w/pi,mag);grid;

>>figure;

>>k=0:N;

>>stem(k,b);

例五:用凯塞窗设计一FIR低通滤波器,低通边界频率,阻带边界频率,阻带衰减不小于50dB。

解:首先由过渡带宽和阻带衰减来决定凯塞窗的N和

凯塞窗设计对应的MATLAB程序为:

wn=kaiser(30,4.55);

nn=[0:1:29];

alfa=(30-1)/2;

hd=sin(0.4*pi*(nn-alfa))./(pi*(nn-alfa));

h=hd.*wn';

[h1,w1]=freqz(h,1);

plot(w1/pi,20*log10(abs(h1)));

axis([0,1,-80,10]);

grid;xlabel('归一化频率/p');ylabel('幅度/dB')

例六:利用雷米兹交替算法,设计一个线性相位低通FIR数字滤波器,其指标为:通带边界频

率f

c =800Hz,阻带边界f

r

=1000Hz,通带波动阻带最小衰减At=40dB,采样频率f

s

=4000Hz。解:

在MATLAB中可以用remezord和remez两个函数设计,其结果如图,MATLAB程序如下:

fedge=[8001000];

mval=[10];

dev=[0.05590.01];

fs=4000;

[N,fpts,mag,wt]=remezord(fedge,mval,dev,fs);

b=remez(N,fpts,mag,wt);

[h,w]=freqz(b,1,256);

plot(w*2000/pi,20*log10(abs(h)));

grid;

xlabel('频率/Hz')

ylabel('幅度/dB')

函数remezord中的数组fedge为通带和阻带边界频率,数组mval是两个边界处的幅值,而数组dev是通带和阻带的波动,fs是采样频率单位为Hz。

(四)设计心得与体会

作为一个电子信息类专业的学生,数字信号处理是我们的重要专业课程,是我们将来从事通信事业的基本保障。通过对该课程的学习,我们对数字通信理论有了更进一步的理解;通过对该数字滤波器的设计,我们也了解了数字滤波器的基本结构和基本特性,而且还掌握了基本的撰写论文的形式和思路。通过对作为该论文的重要部分—MATLAB的运用,从而大大提高了我们对集计算,编程与绘图于一体的该应用软件的运用能力。MATLAB包含的几十个工具箱,覆盖了通信,自动控制,信号处理,图象处理,财经,化工,生命科学等科学技术领域,汲取了当今世界这些领域的最新研究成果,已经成为从事科学研究和工程设计不可缺少的工具软件。该论文将数字信号处理的有关教学内容和MATLAB 语言紧密,有机地结合起来,使我们在学习基础理论知识的同时学会了应用MATLAB,在学习应用MATLAB 的同时,加深了对基本知识的理解,增强了我们的计算机应用能力,提高了学习效果。总之,无论是从教学知识掌握出发,还是从对MATLAB的应用出发,通过对数字滤波器的设计,我们受益非浅。

参考文献:

[1]程佩青编.数字信号处理教程.北京:清华大学出版社,2001

[2]丁玉美,高西全编著.数字信号处理.西安:西安电子科技大学出版社,2000

[3]黄文梅,熊桂林,杨勇编著.信号分析与处理-MATLAB语言及应用.长沙:国防科技大学出版社

FIR数字滤波器设计函数

FIR 数字滤波器设计函数 1. fir1 功能:基于窗函数的FIR 数字滤波器设计——标准频率响应。 格式:b=fir1(n,Wn) b=fir1(n,Wn,'ftype') b=fir1(n,Wn,Window) b=fir1(n,Wn,'ftype',Window) 说明:fir1函数以经典方法实现加窗线性相位FIR 滤波器设计,它可设计出标准的低通、带通、高通和带阻滤波器。 b=fir1(n,Wn)可得到n 阶低通FIR 滤波器,滤波器系数包含在b 中,这可表示成: n z n b z b b z b --++???++=)1()2()1()(1 这是一个截止频率为Wn 的Hamming(汉明)加窗线性相位滤波器,0≤Wn ≤1,Wn=1相应于0.5fs 。 当Wn=[W1 W2]时,fir1函数可得到带通滤波器,其通带为W1<ω< W2。 b=fir1(n,Wn,'ftype')可设计高通和带阻滤波器,由ftype 决定: ·当ftype=high 时,设计高通FIR 滤波器; ·当ftype=stop 时,设计带阻FIR 滤波器。 在设计高通和带阻滤波器时,fir1函数总是使用阶为偶数的结构,因此当输入的阶次为奇数时,fir1函数会自动加1。这是因为对奇数阶的滤波器,其在Nyquist 频率处的频率响应为零,因此不适合于构成高通和带阻滤波器。 b=fir1(n,Wn,Window)则利用列矢量Window 中指定的窗函数进行滤波器设计,Window 长度为n+1。如果不指定Window 参数,则fir1函数采用Hamming 窗。 Blackman 布莱克曼窗 Boxcar 矩形窗 Hamming 海明窗 Hann 汉宁窗 Kaiser 凯瑟窗 Triang 三角窗 b=fir1(n,Wn,'ftype',Window)可利用ftype 和Window 参数,设计各种加窗的滤波器。 由fir1函数设计的FIR 滤波器的群延迟为n/2。 例如: n=32;wn=1/4;window=boxcar(n+1) b=fir1(n,wn,window)

FIR数字滤波器设计与使用

实验报告 课程名称:数字信号处理指导老师:刘英成绩:_________________实验名称: FIR数字滤波器设计与使用同组学生姓名:__________ 一、实验目的和要求 设计和应用FIR低通滤波器。掌握FIR数字滤波器的窗函数设计法,了解设计参数(窗型、窗长)的影响。 二、实验内容和步骤 编写MATLAB程序,完成以下工作。 2-1 设计两个FIR低通滤波器,截止频率 C =0.5。 (1)用矩形窗,窗长N=41。得出第一个滤波器的单位抽样响应序列h 1(n)。记下h 1 (n) 的各个抽样值,显示h 1 (n)的图形(用stem(.))。求出该滤波器的频率响应(的N 个抽样)H 1(k),显示|H 1 (k)|的图形(用plot(.))。 (2)用汉明窗,窗长N=41。得出第二个滤波器的单位抽样响应序列h 2(n)。记下h 2 (n) 的各个抽样值,显示h 2(n)的图形。求出滤波器的频率响应H 2 (k),显示|H 2 (k)|的 图形。 (3)由图形,比较h 1(n)与h 2 (n)的差异,|H 1 (k)|与|H 2 (k)|的差异。 2-2 产生长度为200点、均值为零的随机信号序列x(n)(用rand(1,200)0.5)。显示x(n)。 求出并显示其幅度谱|X(k)|,观察特征。 2-3 滤波 (1)将x(n)作为输入,经过第一个滤波器后的输出序列记为y 1(n),其幅度谱记为|Y 1 (k)|。 显示|X(k)|与|Y 1 (k)|,讨论滤波前后信号的频谱特征。 (2)将x(n)作为输入,经过第二个滤波器后的输出序列记为y 2(n),其幅度谱记为|Y 2 (k)|。 比较|Y 1(k)|与|Y 2 (k)|的图形,讨论不同的窗函数设计出的滤波器的滤波效果。 2-4 设计第三个FIR低通滤波器,截止频率 C =0.5。用矩形窗,窗长N=127。用它对x(n)进行滤波。显示输出信号y

FIR数字滤波器设计与软件实现(精)讲解学习

实验二:FIR 数字滤波器设计与软件实现 一、实验指导 1.实验目的 (1掌握用窗函数法设计 FIR 数字滤波器的原理和方法。 (2掌握用等波纹最佳逼近法设计 FIR 数字滤波器的原理和方法。 (3掌握 FIR 滤波器的快速卷积实现原理。 (4学会调用 MA TLAB 函数设计与实现 FIR 滤波器。 2. 实验内容及步骤 (1认真复习第七章中用窗函数法和等波纹最佳逼近法设计 FIR 数字滤波器的原理; (2调用信号产生函数 xtg 产生具有加性噪声的信号 xt ,并自动显示 xt 及其频谱,如图 1所示;

图 1 具有加性噪声的信号 x(t及其频谱如图 (3请设计低通滤波器,从高频噪声中提取 xt 中的单频调幅信号,要求信号幅频失真小于 0.1dB ,将噪声频谱衰减 60dB 。先观察 xt 的频谱,确定滤波器指标参数。 (4根据滤波器指标选择合适的窗函数,计算窗函数的长度 N ,调用 MATLAB 函数 fir1设计一个 FIR 低通滤波器。并编写程序,调用 MATLAB 快速卷积函数 fftfilt 实现对 xt 的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。 (5 重复 (3 , 滤波器指标不变, 但改用等波纹最佳逼近法, 调用MA TLAB 函数 remezord 和 remez 设计 FIR 数字滤波器。并比较两种设计方法设计的滤波器阶数。 提示:○ 1MA TLAB 函数 fir1的功能及其调用格式请查阅教材; ○ 2采样频率 Fs=1000Hz,采样周期 T=1/Fs;

○ 3根据图 1(b和实验要求,可选择滤波器指标参数:通带截止频率 fp=120Hz,阻带截 至频率 fs=150Hz, 换算成数字频率, 通带截止频率 p 20.24 p f ωπ =T=π, 通带最大衰为 0.1dB , 阻带截至频率 s 20.3 s f ωπ =T=π,阻带最小衰为 60dB 。 3、实验程序框图如图 2所示,供读者参考。 图 2 实验程序框图 4.信号产生函数 xtg 程序清单(见教材 二、滤波器参数及实验程序清单 1、滤波器参数选取 根据实验指导的提示③选择滤波器指标参数: 通带截止频率 fp=120Hz,阻带截至频率 fs=150Hz。代入采样频率 Fs=1000Hz,换算成 数字频率,通带截止频率 p 20.24 p f

FIR数字滤波器设计及MATLAB使用要点

数字信号处理课程设计 《数字信号处理》 课程设计报告 FIR数字滤波器设计及MATLAB实现 专业:通信工程 班级:通信1101班 组次:第9组 姓名及学号: 姓名及学号:

目录 一、设计目的 (3) 二、设计任务 (3) 三、设计原理 (3) 3.1窗函数法 (3) 3.2频率采样法 (4) 3.3最优化设计 (5) 3.3.1等波纹切比雪夫逼近准则 (5) 3.3.2仿真函数 (6) 四、设计过程 (7) 五、收获与体会 (13) 参考文献 (13)

FIR数字滤波器设计及MATLAB实现 一、设计目的 FIR滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基 本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性, 同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR 滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。滤波器设 计是根据给定滤波器的频率特性,求得满足该特性的传输函数。 二、设计任务 FIR滤波器设计的任务是选择有限长度的() H e满足一定 h n,使传输函数()jw 的幅度特性和线性相位要求。由于FIR滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。 设计过程一般包括以下三个基本问题: (1)根据实际要求确定数字滤波器性能指标; (2)用一个因果稳定的系统函数去逼近这个理想性能指标; (3)用一个有限精度的运算去实现这个传输函数。 三、设计原理 FIR滤波器设计的任务是选择有限长度的() H e满足一定 h n,使传输函数()jw 的幅度特性和线性相位要求。由于FIR滤波器很容易实现严格的线性相位,所以FIR数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。 设计过程一般包括以下三个基本问题: (1)根据实际要求确定数字滤波器性能指标; (2)用一个因果稳定的系统函数去逼近这个理想性能指标; (3)用一个有限精度的运算去实现这个传输函数。 3.1窗函数法 设计FIR数字滤波器的最简单的方法是窗函数法,通常也称之为傅立叶级数法。FIR数字滤波器的设计首先给出要求的理想滤波器的频率响应()jw H e,设计 d

FIR数字滤波器设计与实现

FIR 数字滤波器设计与实现 一.摘要:数字滤波器是一种具有频率选择性的离散线性系统,在信号数字处理中有着广泛的应 用。其中FIR 滤波器是一种常用的滤波器,它在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性,在语音分析、图像处理、雷达监测等对信号相位要求高的领域有着广泛的应用,能实现IIR 滤波器不能实现的许多功能。 二.关键词:FIR 窗函数系统函数MATLAB 三.内容提要: 数字滤波器的功能就是把输入序列通过一定的运算变换成输出序列,因此数字滤波器的结构系 统中就必须包括一定数量和性能的运算器件和运算单元,而运算器件和运算单元的配置必须由数字滤波器的结构特点和性能特点来决定,因此在进行FIR 数字滤波器的设计之前,有必要介绍和总结FIR 数字滤波器的基本结构和相关特性(包括频响曲线(幅度和相位),单位冲激响应等),在介绍完其基本结构和相关特性后,就进行FIR 数字滤波器的设计和实现。 (一)FIR 滤波器的基本结构 在讨论任何一种滤波器时,都要着重分析其系统函数,FIR 滤波器的系统函数为: n N n z n h z H ∑-==1 0)()(。从该系统函数可看出,FIR 滤波器有以下特点: 1)系统的单位冲激响应h(n)在有限个n 值处不为零; 2)系统函数H(z)在|z|>0处收敛,极点全部在z=0处(稳定系统); 3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包 含有反馈的递归部分。 1.FIR 滤波器实现的基本结构有: 1) 横截型(卷积型、直接型) a.一般FIR 滤波器的横截型(直接型、卷积型)结构: 若给定差分方程为: 。则可以直接由差分方程得出FIR 滤波器结构如 下图所示: 这就是FIR 滤波器的横截型结构,又称直接型或卷积型结构。 b .线性相位FIR 滤波器的横截型结构

FIR数字滤波器设计与软件实现

实验二:FIR数字滤波器设计与软件实现 一、实验指导 1.实验目的 (1)掌握用窗函数法设计FIR数字滤波器的原理和方法。 (2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。(3)掌握FIR滤波器的快速卷积实现原理。 (4)学会调用MATLAB函数设计与实现FIR滤波器。 2.实验内容及步骤 (1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理; (2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图1所示; 图1 具有加性噪声的信号x(t)及其频谱如图 (3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB。先观察xt的频谱,确定滤波器指标参数。

(4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调用MATLAB函数fir1设计一个FIR低通滤波器。并编写程序,调用MATLAB快速卷积函数fftfilt实现对xt的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。(4)重复(3),滤波器指标不变,但改用等波纹最佳逼近法,调用MATLAB函数remezord和remez设计FIR数字滤波器。并比较两种设计方法设计的滤波器阶数。 提示:○1MATLAB函数fir1的功能及其调用格式请查阅教材; ○2采样频率Fs=1000Hz,采样周期T=1/Fs; ○3根据图1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120Hz,阻带截至频率fs=150Hz,换算成数字频率,通带截止 频率 p 20.24 p f ωπ =T=π,通带最大衰为0.1dB,阻带截至频率 s 20.3 s f ωπ =T=π,阻带最小衰为60dB。 ○4实验程序框图如图2所示,供读者参考。

FIR数字滤波器课程设计报告

吉林建筑大学 电气与电子信息工程学院 数字信号处理课程设计报告 设计题目:FIR数字滤波器的设计 专业班级: 学生姓名: 学号: 指导教师: 设计时间:

目录 一、设计目的 (3) 二、设计内容 (3) 三、设计原理 (3) 3.1 数字低通滤波器的设计原理 (3) 3.1.1 数字滤波器的定义和分类 (3) 3.1.2 数字滤波器的优点 (3) 3.1.3 FIR滤波器基本原理 (4) 3.2变换方法的原理 (7) 四、设计步骤 (8) 五、数字低通滤波器MATLAB编程及幅频特性曲线 (9) 5.1 MATLAB语言编程 (9) 5.2 幅频特性曲线 (10) 六、总结 (11) 七、参考文献 (13)

一、设计目的 课程设计是理论学习的延伸,是掌握所学知识的一种重要手段,对于贯彻理论联系实际、提高学习质量、塑造自身能力等于有特殊作用。本次课程设计一方面通过MATLAB 仿真设计内容,使我们加深对理论知识的理解,同时增强其逻辑思维能力,另一方面对课堂所学理论知识作一个总结和补充 二、设计内容 (1)设计一线性相位FIR 数字低通滤波器,截止频率 ,过渡带宽度 , 阻带衰减dB A s 30>。 (2)设计一线性相位FIR 数字低通滤波器,截止频率 ,过渡带宽度 ,阻带衰减dB A s 50>。 三、设计原理 3.1数字低通滤波器的设计原理 3.1.1 数字滤波器的定义和分类 数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。因此,数字滤波器本身既可以是用数字硬件装配成的一台完成给定运算的专用的数字计算机,也可以将所需要的运算编成程序,让通用计算机来执行。 从数字滤波器的单位冲击响应来看,可以分为两大类:有限冲击响应(FIR)数字滤波器和无限冲击响应(IIR)数字滤波器。滤波器按功能上分可以分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BSF) [4]。 3.1.2 数字滤波器的优点 相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用将会越来越广泛。同时DSP 处理器(Digital Signal Processor)的出现和FPGA(FieldProgrammable Gate Array)的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。 数字滤波器具有以下显著优点: 精度高:模拟电路中元件精度很难达到10-3,以上,而数字系统17位字长就可以达到10-5精度。因此在一些精度要求很高的滤波系统中,就必须采用数字滤0.2c ωπ=0.4ωπ?<0.2c ωπ=0.4ωπ?<

线性相位FIR数字滤波器设计

一、设计目的 1.掌握窗函数法设计FIR滤波器的原理和方法,观察用几种常用窗函数设计的 FIR数字滤波器技术指标; 2.掌握FIR滤波器的线性相位特性; 3.了解各种窗函数对滤波特性的影响。 二、设计原理 如果所希望的滤波器的理想频率响应函数为H d(e j J,则其对应的单位脉冲 1 响应为h d(n)=——f H (e恋)e j^dB,用窗函数W N(n)将h d(n)截断,并进行加权处 2兀7 理,得到实际滤波器的单位脉冲响应h(n)=h d(n)w N(n),其频率响应函数为 N _! H (e j ^ h(n)e」n。如果要求线性相位特性,贝U h(n)还必须满足 nM h(n)= h(N-1- n)。可根据具体情况选择h(n)的长度及对称性。 可以调用MATLAB工具箱函数firl实现本实验所要求的线性相位FIR-DF 的设计,调用一维快速傅立叶变换函数fft来计算滤波器的频率响应函数。 fir1是用窗函数法设计线性相位FIRDF hn=fir1(N, wc, ‘ ftype ' , window) fir1实现线性相位FIR滤波器的标准窗函数法设计。 hn=fir1(N,wc)可得到6 dB截止频率为wc的N阶(单位脉冲响应h(n)长度为 N+1)FIR低通滤波器,默认(缺省参数windows)选用hammiing窗。其单位脉冲响应 h(n)满足线性相位条件:h(n)=h(N-1-n) 其中wc为对n归一化的数字频率,OW wc< 1。 当wc= [wc1, wc2]时,得到的是带通滤波器。 hn=fir1(N,wc, ' ftype ') 当ftype=high时,设计高通FIR 当ftype=stop时,设计带阻FIR滤波器。 应当注意,在设计高通和带阻滤波器时,阶数N只能取偶数(h(n)长度N+1 为奇数)。不过,当用户将N设置为奇数时,fir1会自动对N加1。 hn=fir1(N,wc,window)可以指定窗函数向量window。如果缺省window参数,则 fir1默认为hamming窗。可用的其他窗函数有Boxcar, Hanning, Bartlett, Blackman, Kaiser和Chebwin 窗。例如:

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

数字信号处理 课程设计报告 设计名称:基于matlab的FIR数字滤波器设计 彪

一、课程设计的目的 1、通过课程设计把自己在大学中所学的知识应用到实践当中。 2、深入了解利用Matlab设计FIR数字滤波器的基本方法。 3、在课程设计的过程中掌握程序编译及软件设计的基本方法。 4、提高自己对于新知识的学习能力及进行实际操作的能力。 5、锻炼自己通过网络及各种资料解决实际问题的能力。 二、主要设计内容 利用窗函数法设计FIR滤波器,绘制出滤波器的特性图。利用所设计的滤波器对多个频带叠加的正弦信号进行处理,对比滤波前后的信号时域和频域图,验证滤波器的效果。 三、设计原理 FIR 滤波器具有严格的相位特性,对于信号处理和数据传输是很重要的。 目前 FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求高的时候是比较灵活方便的。 如果 FIR 滤波器的 h(n)为实数, 而且满足以下任意条件,滤波器就具有准确的线性相位: 第一种:偶对称,h(n)=h(N-1-n),φ (ω)=-(N-1)ω/2 第二种:奇对称,h(n)=-h(N-1-n), φ(ω)=-(N-1)ω/2+pi/2 对称中心在n=(N-1)/2处 四、设计步骤 1.设计滤波器 2.所设计的滤波器对多个频带叠加的正弦信号进行处理 3.比较滤波前后信号的波形及频谱 五、用窗函数设FIR 滤波器的基本方法 基本思路:从时域出发设计 h(n)逼近理想 hd(n)。设理想滤波器的单位响应在时域表达为hd(n),则Hd(n) 一般是无限长的,且是非因果的,不能

FIR数字滤波器设计的综述

FIR数字滤波器设计方法的综述 摘要:在数字信号处理中,数字滤波器是一种被广泛使用的信号处理部件,可改变信号中所含频率分量的相对比例或滤除某些频率分量,使其达到所需的效果,具有举足轻重的作用。在数字信号处理系统中,FIR(有限冲激响应)数字滤波器是一类结构简单的最基本的原件,具有严格的相频特性,能保证信号在传输过程中不会有明显的失真,是相当稳定的系统,其确保线性相位的功能进一步使它得到了广泛的应用。本综述分析了FIR数字滤波器的特征和设计的基本原理,得到了满足系统要求的数字滤波器的设计方法。 关键词:数字信号处理,FIR数字滤波器,设计方法

1引言 1.1背景 现在几乎在所有的工程技术领域中都会涉及到信号的处理问题,其信号表现形式有电、磁、机械以及热、光、声等。数字滤波技术可以在放大信号的同时去除噪声和干扰,而在模拟信号号和噪声同时被放大,数字信号还可以不带误差地被存储和恢复、发送和接收、处理和操纵。许多复杂的系统可以用高精度、大信噪比和可重构的数字技术来实现。目前,数字信号处理已经发展成为一项成熟的技术,并且在许多应用领域逐步代替了传统的模拟信号处理系统,如通讯、故障检测、语音、图像、自动化仪器、航空航天、生物医学工程、雷达等。 数字信号处理中一个非常重要且应用普遍的技术就是数字滤波。所谓数字滤波,是指其输入、输出均为数字信号,通过一定的运算关系改变输入信号所含的频率成分的相对比例或滤除某些频率成分,达到提取和加强信号中的有用成份,消弱干扰成份的目的。数字滤波作为数字信号处理的重要组成部分有着十分广泛的应用前景,可作为应用系统对信号的前置处

理。数字滤波器无论是在理论研究上还是在如通讯、雷达、图象处理、数字音频等实际应用上都有着很好的技术前景和巨大的实用价值。 1.2现状与前沿 在近代电信设备和各类控制系统中,滤波器应用极为广泛。在所有的电子部件中,使用最多,技术最为复杂的即为滤波器。滤波器的优劣直接决定产品的优劣,所以,对滤波器的研究和生产历来为各国所重视。 目前,国外有许多院校和科研机构在研究基于FPGA的DSP应用,比较突出的有Denmark 大学的研究小组正在从事FPGA实现数字滤波器的研究。而我国在DSP技术起步较早,产品的研究开发成绩斐然,基本上与国外同步发展。 随着电子工业的发展,对滤波器的性能要求越来越高。我国电子产品要想实现大规模集成,滤波器集成化仍然是个重要课题。总之,滤波器的发展始终是顺应电子系统的发展趋势的。如何进一步实现滤波器的小型化、集成化、高效化将是今后很长一段时间不变的研究和发展主题。 2 FIR数字滤波器的原理 2.1 FIR数字滤波器的结构特点 如果滤波器的输人和输出都是离散时间信号,则该滤波器的冲激响应也必然是离散的,这种滤波器称之为数字滤波器。该滤波器通过对时域中离散的采样数据作差分运算实现滤波。与IIR滤波器相比,FIR(有限长单位冲激响应)的实现是非递归的,总是稳定的。FIR数 字滤波器的特征是冲激响应只能延续一定时间并且很容易实现严格的线性相位,使信号经过处理后不产生相位失真、舍入误差小、稳定等优点,能够设计具有优良特性的多带通滤波器、微分器和希尔伯特变换器。FIR数字滤波器有以下几个特点: (1)系统的单位冲激响应h(n)在有限个值处不为零; (2)系统函数H(z)在处收敛,在处只有零点,有限z平面只有零点,而全部极点都在z=0处; (3)结构上主要是非递归结构。

FIR数字滤波器的设计与实现

FIR 滤波器的设计 一.摘 要:数字滤波器是一种具有频率选择性的离散线性系统,在信号数字处理中有 着广泛的应用。其中FIR 滤波器是一种常用的滤波器,它在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性,在语音分析、图像处理、雷达监测等对信号相位要求高的领域有着广泛的应用,能实现IIR 滤波器不能实现的许多功能。 二.关键词:FIR 窗函数 系统函数 MATLAB 三.引言: 数字滤波器的功能就是把输入序列通过一定的运算变换成输出序列,因此数字滤波器的结构系统中就必须包括一定数量和性能的运算器件和运算单元,而运算器件和运算单元的配置必须由数字滤波器的结构特点和性能特点来决定,因此在进行FIR 数字滤波器的设计之前,有必要介绍和总结FIR 数字滤波器的基本结构和相关特性(包括频响曲线(幅度和相位),单位冲激响应等),在介绍完其基本结构和相关特性后,就进行FIR 数字滤波器的设计和实现。 (1).FIR 滤波器的基本结构 在讨论任何一种滤波器时,都要着重分析其系统函数,FIR 滤波器的系统函数为: n N n z n h z H ∑-== 1 )()( 。从该系统函数可看出,FIR 滤波器有以下特点: 1)系统的单位冲激响应h(n)在有限个n 值处不为零; 2)系统函数H(z)在|z|>0处收敛,极点全部在z=0处(稳定系统); 3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。 1.FIR 滤波器实现的基本结构有: 1) 横截型(卷积型、直接型) a.一般FIR 滤波器的横截型(直接型、卷积型)结构: 若给定差分方程为: 。 则可以直接由差分方程得出FIR 滤波器 结构如下图所示: 这就是FIR 滤波器的横截型结构,又称直接型或卷积型结构。 b .线性相位FIR 滤波器的横截型结构 若h(n)呈现对称特性,即此FIR 滤波器具有线性相位,则可以简化成横截型结构,下面分情况讨论: ①N 为奇数时线性相位FIR 滤波器实现结构如图所示:

实验4 基于MATLAB的FIR数字滤波器设计

实验4 基于MATLAB 的FIR 数字滤波器设计 实验目的:加深对数字滤波器的常用指标和设计过程的理解。 实验原理:低通滤波器的常用指标: P P P for H Ω≤Ω+≤Ω≤-,1)(1δδ πδ≤Ω≤Ω≤ΩS S for H ,)( 通带边缘频率P Ω,阻带边缘频率S Ω ,通带起伏 P δ, 通带峰值起伏] )[1(log 2010dB p p δα--=, 阻带起伏s δ,最小阻带衰减])[(log 2010dB s S δα-=。 数字滤波器有IIR 和FIR 两种类型,它们的特点和设计方法不同。 在MATLAB 中,可以用b=fir1(N,Wn,’ftype’,taper) 等函数辅助设计FIR 数字滤波器。N 代表滤波器阶数;Wn 代表滤波器的截止频率(归一化频率),当设计带通和带阻滤波器时,Wn 为双元素相量;ftype 代表滤波器类型,如’high ’高通,’stop ’带阻等;taper 为窗函数类型,默认为海明窗,窗系数需要实现用窗函数blackman, hamming,hanning chebwin, kaiser 产生。 S P P S Passband Stopband Transition band Fig 1 Typical magnitude specification for a digital LPF

例1 用凯塞窗设计一FIR低通滤波器,通带边界频率π3.0 ,阻带边界频 Ω = p ,阻带衰减不小于 率π5.0 Ω = s 50dB。

解首先由过渡带宽和阻带衰减来决定凯塞窗的N和 π2.0 = Ω - Ω = ?Ω p s , ,

完美版—FIR数字滤波器的设计

1引言 数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。 数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。 数字信号处理的核心算法是离散傅立叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。而使数字信号处理从理论走向实用的是快速傅立叶变换(FFT),FFT的出现大大减少了DFT的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。 DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。 1.1DSP微处理器芯片的主要特点: (1)在一个指令周期内可完成一次乘法和一次加法; (2)程序和数据空间分开,可以同时访问指令和数据; (3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问; (4)具有低开销或无开销循环及跳转的硬件支持; (5)快速的中断处理和硬件I/O支持; (6)具有在单周期内操作的多个硬件地址产生器; (7)可以并行执行多个操作;

FIR数字滤波器设计及软件实现

实验五:FIR数字滤波器设计及软件实现 一、实验目的: (1)掌握用窗函数法设计FIR数字滤波器的原理和方法。 (2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。 (3)掌握FIR滤波器的快速卷积实现原理。 (4)学会调用MATLAB函数设计与实现FIR滤波器。 二、实验内容及步骤: (1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理; (2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图1所示; 图1 具有加性噪声的信号x(t)及其频谱如图 (3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB。先观察xt的频谱,确定滤波器指标参数。 (4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调用MATLAB 函数fir1设计一个FIR低通滤波器。并编写程序,调用MATLAB快速卷积函数fftfilt实现对xt的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。 (4)重复(3),滤波器指标不变,但改用等波纹最佳逼近法,调用MATLAB 函数remezord和remez设计FIR数字滤波器。并比较两种设计方法设计的滤波器阶数。 友情提示: ○1MATLAB函数fir1和fftfilt的功能及其调用格式请查阅本课本;

○ 2采样频率Fs=1000Hz ,采样周期T=1/Fs ; ○ 3根据图10.6.1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120Hz ,阻带截至频率fs=150Hz ,换算成数字频率,通带截止频率p 20.24p f ωπ=T =π,通带最大衰为0.1dB ,阻带截至频率s 20.3s f ωπ=T =π,阻带最小衰为60dB 。] ○ 4实验程序框图如图2所示。 图2 实验程序框图 三、实验程序: 1、信号产生函数xtg 程序清单: %xt=xtg(N) 产生一个长度为N,有加性高频噪声的单频调幅信号xt,采样频率Fs=1000Hz %载波频率fc=Fs/10=100Hz,调制正弦波频率f0=fc/10=10Hz. function xt=xtg N=1000;Fs=1000;T=1/Fs;Tp=N*T; t=0:T:(N-1)*T; fc=Fs/10;f0=fc/10; %载波频率fc=Fs/10,单频调制信号频率为f0=Fc/10;

fir数字滤波器设计及软件实现

如对您有帮助,请购买打赏,谢谢您! 实验二 FIR 数字滤波器设计与软件实现 1.实验目的 (1)掌握用窗函数法设计FIR 数字滤波器的原理和方法。 (2)掌握用等波纹最佳逼近法设计FIR 数字滤波器的原理和方法。 (3)掌握FIR 滤波器的快速卷积实现原理。 (4)学会调用MATLAB 函数设计与实现FIR 滤波器。 2. 两种设计FIR 滤波器的方法比较 窗函数法简单方便,易于实现。但存在以下缺点:滤波器边界频率不易精确控制。窗函数法总使通带和阻带波纹幅度相等,不能分别控制通带和阻带波纹幅度。所设计的滤波器在阻带边界频率附近的衰减最小,距阻带边界频率越远,衰减越大。,所以如果在阻带边界频率附近的衰减刚好达到设计指标要求,则阻带中其他频段的衰减就有很大富余量,存在较大的资源浪费。 等波纹最佳逼近法是一种优化设计方法,克服了窗函数法的缺点,使最大误差最小化,并在整个逼近频段上均匀分布。用等波纹最佳逼近法设计的FIR 数字滤波器的幅频响应在通带和阻带都是等波纹的,而且可以分别控制通带和阻带波纹幅度。与窗函数法相比,由于这种设计法使最大误差均匀分布,所以设计的滤波器性能价格比最高。阶数相同时,这种设计方法使滤波器的最大逼近误差最小,即通带最大衰减最小,阻带最小衰减最大。指标相同时,这种设计法使滤波器阶数最低。 3. 滤波器参数及实验程序清单 (1) 滤波器参数选取 根据加噪信号频谱图和实验要求,可选择一低通滤波器进行滤波,确定滤波器指标参数:通带截止频率Hz f p 130=,阻带截至频率Hz f s 150=,换算成数字频率,通带截止频率ππω26.02==T f p p ,通带最大衰减为dB p 1.0=α,阻带截至频率π πω3.02==T f s s ,阻带最小衰减为dB s 60=α。 (2) 实验程序清单 图1 程序流程图 信号产生函数xtg 程序清单 function xt=xtg %产生一个长度为N,有加性高频噪声的单频调幅信号xt,采样频率Fs=1000Hz %载波频率fc=Fs/10=100Hz,调制正弦波频率f0=fc/10=10Hz. N=1600; Fs=1000;T=1/Fs;Tp=N*T; t=0:T:(N-1)*T; fc=Fs/10;f0=fc/10; %载波频率fc=Fs/10,单频调制信号频率为f0=Fc/10; mt=cos(2*pi*f0*t); %产生单频正弦波调制信号mt ,频率为f0 ct=cos(2*pi*fc*t); %产生载波正弦波信号ct ,频率为fc xt=mt.*ct; %相乘产生单频调制信号xt nt=2*rand(1,N)-1; %产生随机噪声nt %=======设计高通滤波器hn,用于滤除噪声nt 中的低频成分,生成高通噪声======= fp=150; fs=200;Rp=0.1;As=70; % 滤波器指标

手把手教你设计FIR数字滤波器

手把手教你设计FIR 数字滤波器 1. 滤波器的时域、频域、s 域以及离散化 首先,我们要搞清楚一个概念就是滤波器,其实所谓的滤波器就是一个传递函数,它可是通过改变不同频段上信号的幅值来实现滤波,在知道这一点的前提下,下面的讲述就容易了很多。 这里我们假设滤波器的时域传递函数(连续)s 域为()H s ,时域为()h t ;原始信号s 域为()X s ,时域为()x t ;滤波器的输出s 域为()Y s ,时域为()y t ,如图1所示。(如果分不清楚s 域和时域的童鞋,我觉得你就不要反省了,这个领域不适合你!)我们知道传递函数之间的关系是相乘,而时域的关系是卷积。那么我们就有了下面的两个关系式。 ()()()Y s H s X s = (1) ()()*()y t h t x t =(其中的‘*’表示卷积) (2) 图1 滤波器的传递函数 当然,我们知道在数字滤波器中,当然不可能存在连续函数的,所以我们要对连续函数进行离散化,其实就是一个采样的过程,假设采样频率为S f ,这里我们就需要提到一个定理,就是香农采样定理(采样频率一定要大于传递函数截止频率的两倍,否则就会发生高次谐波的混迭,如果这个道理你不懂的话,建议你去恶补一下信号与系统,这里我只解释一点,便于理解,采样就是以时间间隔为S T 的脉冲采样,那么传递函数的频域就变成了周期为S f 的周期函数,当然如果不理解,也不耽误对下面讲解的理解),所以信号就离散成了()S x nT 、()S h nT 、()S y nT ,其中S T 为采样时间间隔,为了方便下面内容的讲述,这里我们做一个频率的归一化,我们取1S T =,那么采样频率就变成了1S f =,就有了下面的离散时域表示方法。 ()()()k y n h k x n k +∞=-∞= -∑ (3) 值得指出的是再这样种1S T =的归一化过程中,我们认为 2S f 为传递函数系统的最

实验5FIR数字滤波器设计与软件实现汇总

信息院14电信(师范) 实验五:FIR数字滤波器设计与软件实现 一、实验指导 1.实验目的 (1)掌握用窗函数法设计FIR数字滤波器的原理和方法。 (2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。 (3)掌握FIR滤波器的快速卷积实现原理。 (4)学会调用MATLAB函数设计与实现FIR滤波器。 2.实验内容及步骤 (1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理; (2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图1所示; 图1 具有加性噪声的信号x(t)及其频谱如图 程序代码:(信号产生函数xtg程序清单) function xt=xtg(N) %êμ?é??D?o?x(t)2úéú,2¢??ê?D?o?μ?·ù?μì?D??ú?? %xt=xtg(N) 2úéúò???3¤?è?aN,óD?óD????μ??éùμ?μ¥?μμ÷·ùD?o?xt,2é?ù?μ?êFs=10 00Hz

%??2¨?μ?êfc=Fs/10=100Hz,μ÷???y?ò2¨?μ?êf0=fc/10=10Hz. N=1000;Fs=1000;T=1/Fs;Tp=N*T; t=0:T:(N-1)*T; fc=Fs/10;f0=fc/10; %??2¨?μ?êfc=Fs/10£?μ¥?μμ÷??D?o??μ?ê?af0=F c/10; mt=cos(2*pi*f0*t); %2úéúμ¥?μ?y?ò2¨μ÷??D?o?mt£??μ?ê?af0 ct=cos(2*pi*fc*t); %2úéú??2¨?y?ò2¨D?o?ct£??μ?ê?afc xt=mt.*ct; %?à3?2úéúμ¥?μμ÷??D?o?xt nt=2*rand(1,N)-1; %2úéú???ú??éùnt %=======éè????í¨??2¨?÷hn,ó?óú??3y??éùnt?Dμ?μí?μ3é·?,éú3é??í¨ ??éù======= fp=150; fs=200;Rp=0.1;As=70; % ??2¨?÷??±ê fb=[fp,fs];m=[0,1]; % ????remezordoˉêy?ùDè2?êyf,m,dev dev=[10^(-As/20),(10^(Rp/20)-1)/(10^(Rp/20)+1)]; [n,fo,mo,W]=remezord(fb,m,dev,Fs); % è·?¨remezoˉêy?ùDè2?êy hn=remez(n,fo,mo,W); % μ÷ó?remezoˉêy??DDéè??,ó?óú??3y??éùnt?Dμ?μí?μ3é·? yt=filter(hn,1,10*nt); %??3y???ú??éù?Dμí?μ3é·?£?éú3é??í¨ ??éùyt %=========================================================== ===== xt=xt+yt; %??éù?óD?o? fst=fft(xt,N);k=0:N-1;f=k/Tp; subplot(3,1,1);plot(t,xt);grid;xlabel('t/s');ylabel('x(t)'); axis([0,Tp/5,min(xt),max(xt)]);title('(a) D?o??ó??éù2¨D?') subplot(3,1,2);plot(f,abs(fst)/max(abs(fst)));grid;title('(b) D?o??ó??éùμ??μ?×') axis([0,Fs/2,0,1.2]);xlabel('f/Hz');ylabel('·ù?è')输出波形: (3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅

FIR数字低通滤波器设计

第1章 绪论 1.1设计的作用、目的 课程设计是理论学习的延伸,是掌握所学知识的一种重要手段,对于贯彻理论联系实际、提高学习质量、塑造自身能力等于有特殊作用。本次课程设计一方面通过MATLAB 仿真设计内容,使我们加深对理论知识的理解,同时增强其逻辑思维能力,另一方面对课堂所学理论知识作一个总结和补充。 1.2设计任务及要求 通过课程设计各环节的实践,应使学生达到如下要求: 1.掌握双线性变换法及脉冲响应不变法设计IIR 数字滤波器以及窗函数法 设计FIR 数字滤波器的原理、具体方法及计算机编程。 2.观察双线性变换法、脉冲响应不变法及窗函数法设计的滤波器的频域特性,了解各种方法的特点。 3.用MATLAB 画出三种方法设计数字滤波器的幅频特性曲线,记带宽和衰减量,检查结果是否满足要求。 1.3设计内容 设计题目:FIR 数字滤波器的设计 设计内容: (1)设计一线性相位FIR 数字低通滤波器,截止频率π2.0=Ωf ,过渡带宽度 π4.0≤?Ω,阻带衰减dB A s 30>。 (2)设计一线性相位FIR 数字低通滤波器,截止频率π2.0=Ωf ,过渡带宽度π4.0≤?Ω,阻带衰减dB A s 50>。

第2章FIR 数字低通滤波器的原理 2.1 数字低通滤波器的设计原理 FIR 数字滤波器传统的设计方法有窗函数法、频率抽样法和等波纹逼近法。用窗函数设计FIR 数字滤波器就是用有限长的脉冲相应逼近序列,其基本设计思想为:首先选定一个理想的选频滤波器,然后截取它的脉冲响应得到线性相位。 滤波器(filter ),是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的直流电。对特定频率的频点或该频点以外的频率进行有效滤除的电路,就是滤波器,其功能就是得到一个特定频率或消除一个特定频率。就是允许某一部分频率的信号顺利的通过,而另外一部分频率的信号则受到较大的抑制,它实质上是一个选频电路。 1.滤波器的概念 滤波器是对输入信号起滤波的作用的装置。当输入、输出是离散信号,滤波器的冲激响应是单位抽样响应()n h 时,这样的滤波器称作数字滤波器(DF )。DF 是由差分方程描述的一类特殊的离散时间系统。 2.数字滤波器的系统函数与差分方程: 系统函数 (2-1) 差分方程 对上式进行 Z 反变换,即得: (2-2) 3.数字滤波器结构的表示 数字滤波器分FIR 数字滤波器和IIR 数字低通滤波器。其中FIR 低通滤波器分直接型和级联型,IIR 分直接型、级联型和并联型。 方框图法、信号流图法 ∑∑==-+-= N k M k k k k n x b k n y a n y 1 )()()(∑∑=-=--= = N k k M k k z a z b z X z Y z H k k 1 1) ()()(

相关主题
文本预览
相关文档 最新文档