[数字信号处理]FIR&IIR数字滤波器

摘要

        本文阐述了FIR、IIR数字滤波器的设计思路并设计了不同类型的FIR和IIR滤波器。随后通过对音乐信号进行滤波处理,观察滤波的效果,进行了各自特点以及滤波效果的比较。

目录

一、研究背景

二、设计IIR数字滤波器

1.确定IIR数字滤波器的设计指标

2.CBI型IIR数字滤波器的设计

(1)问题分析

(2)MATLAB实现以及结果

(3)结果分析

3.其它类型IIR数字滤波器的设计

(1)BW型

(2)CBII型

(3)椭圆型

(4)结果分析

三、设计FIR数字滤波器

1.设计FIR数字滤波器

2.凯泽窗和Parks-McClellan算法设计FIR数字滤波器

(1)凯泽窗设计FIR数字滤波器

(2)Parks-McClellan算法设计FIR数字滤波器

四、比较IIR和FIR数字滤波器

1.比较相同指标IIR和FIR数字滤波器的阶数

2.比较相同指标IIR和FIR数字滤波器的滤波效果


一、研究背景

        Dhexian.wav是将D大调和弦以8000Hz抽样所得的数字音乐信号,下面设计数字滤波器从和弦中分离出乐音A,即440Hz的频率分量。

        现列出分离乐音A的模拟滤波器的设计指标如下:

[数字信号处理]FIR&IIR数字滤波器_第1张图片

二、设计IIR数字滤波器

1.确定IIR数字滤波器的设计指标

        由DbGA的频率关系我们可以看出,要从和弦中分离A,我们需要设计一个高通滤波器。由于脉冲响应不变法会导致严重的频域混叠现象,因此我们采用双线性变换法

        在双线性变换法中

        由此我们可以分别计算出题目中5个IIR滤波器的数字指标:

        下面仅列出指标1的详细计算过程:已知数字音频信号抽取频率为8000HZ,则T=1/8000。模拟高通滤波器指标为ωp=2πfp=2701.76968,ωs=2πfs=2324.77856 进而得到ωpωs。最后根据公式Ω=2arctan⁡(Tω/2)计算出相关数字滤波器的指标。

指标1:Ωp=0.33456,Ap=1dB,Ωs=0.28857,As=20dB;

指标2:Ωp=0.33456,Ap=1dB,Ωs=0.28857,As=50dB;

指标3:Ωp=0.34219,Ap=1dB,Ωs=0.28857,As=50dB;

指标4:Ωp=0.34219,Ap=1dB,Ωs=0.29626,As=50dB;

指标5:Ωp=0.34219,Ap=1dB,Ωs=0.28088,As=50dB;

2.CBI型IIR数字滤波器的设计

(1)问题分析

        由1.计算出了五个数字滤波器的设计指标(通带截频Ωp、通带最大衰减Ap、阻带截频Ωs、阻带最小衰减As)对于比较这几个数字滤波器,我们可以将给定音频分别通过这五个滤器,通过观察频谱情况,来分析滤波器效果。

(2)MATLAB实现以及结果

        1)给定和弦频谱

        首先给出给定和弦未经滤波的频谱图可以观察到

[数字信号处理]FIR&IIR数字滤波器_第2张图片 给定和弦频谱

        2)滤波器的设计

        由于用到的均为CBI型滤波器,所以在设计这五个滤波器时,只需要在开头更改相关设计指标即可。滤波器设计代码如下:

[数字信号处理]FIR&IIR数字滤波器_第3张图片 CBI型数字滤波器MATLAB代码

        


        指标1滤波器

        fp=430Hz,Ap≤1dB,fs=370Hz,As≥20dB

[数字信号处理]FIR&IIR数字滤波器_第4张图片 指标1 CBI型滤波器

         得到的滤波器Ap=1.0000、As= 22.3144、N=7。通过滤波后的频谱我们可以看出440Hz的乐音A可以通过,且乐音G的衰减超过20dB,符合要求。 


  

        指标2滤波器

        fp=430Hz,Ap≤1dB,fs=370Hz,As≥50dB

[数字信号处理]FIR&IIR数字滤波器_第5张图片 指标2 CBI型滤波器

         得到的滤波器Ap=1.0000、As= 51.5778、N=13。通过滤波后的频谱我们可以看出440Hz的乐音A可以通过,且乐音G的衰减超过50dB,符合要求。


        指标3滤波器

         fp=440Hz,Ap≤1dB,fs=370Hz,As≥50dB

[数字信号处理]FIR&IIR数字滤波器_第6张图片 指标3 CBI型滤波器

         得到的滤波器Ap=1.0000、As= 51.2560、N=12。通过滤波后的频谱我们可以看出440Hz的乐音A可以通过,且乐音G的衰减超过50dB,符合要求。


        指标4滤波器

         fp=440Hz,Ap≤1dB,fs=380Hz,As≥50dB

[数字信号处理]FIR&IIR数字滤波器_第7张图片 指标4 CBI型滤波器

        得到的滤波器Ap=1.0000、As= 50.7582、N=13。通过滤波后的频谱我们可以看出440Hz的乐音A可以通过,且乐音G的衰减超过50dB,符合要求。


        指标5滤波器

         fp=440Hz,Ap≤1dB,fs=360Hz,As≥50dB

[数字信号处理]FIR&IIR数字滤波器_第8张图片 指标5 CBI型滤波器

         得到的滤波器Ap=1.0000、As= 50.6835、N=11。通过滤波后的频谱我们可以看出440Hz的乐音A可以通过,且乐音G的衰减超过50dB,符合要求。

(3)结果分析

        对着五个滤波器进行比较可以发现:

        指标1与指标2滤波器截频相同,相邻乐音G的衰减程度随阻带最小衰减的增大而增大,证明滤波效果更好。但对应的阶数N将增大,实现难度将提高。

        指标3、指标4、指标5滤波器的衰减条件相同,相邻乐音G的衰减程度随阻带截频的提高而增大,证明滤波效果更好,但对应的阶数N将增大,实现难度将提高。

        这五个滤波器都可以满足滤波设计指标,但指标一的效果明显差于其它指标的滤波器。由于考虑硬件设计的复杂程度,我们在滤波效果好的情况下选取阶数N较低的滤波器,因此选取指标5设计的滤波器,既可以很好的实现滤波效果,又能在一定程度上降低阶数,降低成本。

3.其它类型IIR数字滤波器的设计

(1)BW型

        经过CBI型滤波器的比较,我们最终选用指标5来进行其它滤波器的设计,具体指标为:

fp=440Hz,Ap≤1dB,fs=360Hz,As≥50dB

[数字信号处理]FIR&IIR数字滤波器_第9张图片 指标5 BW型滤波器MATLAB代码

[数字信号处理]FIR&IIR数字滤波器_第10张图片 指标5 BW型滤波器

         得到的滤波器Ap=0.7079、As= 50.0000、N=33。通过滤波后的频谱我们可以看出440Hz的乐音A可以通过,符合要求。

(2)CBII型

[数字信号处理]FIR&IIR数字滤波器_第11张图片 指标5 CBII型滤波器MATLAB代码

[数字信号处理]FIR&IIR数字滤波器_第12张图片 指标5 CBII型滤波器

         得到的滤波器Ap=1.0000、As= 55.2789、N=11。通过滤波后的频谱我们可以看出440Hz的乐音A可以通过,符合要求。

(3)椭圆型

[数字信号处理]FIR&IIR数字滤波器_第13张图片 指标5 椭圆型滤波器MATLAB代码

[数字信号处理]FIR&IIR数字滤波器_第14张图片 指标5 椭圆型滤波器

         得到的滤波器Ap=1.0000、As= 83.1831、N=6。通过滤波后的频谱我们可以看出440Hz的乐音A可以通过,符合要求。

(4)结果分析

        下面列出各类型滤波器的阶数要求

滤波器类型

BW型

CBI型

CBII型

椭圆型

阶数N

33

11

11

6

        可以看到,BW型对阶数的要求最高,椭圆型对阶数要求最低,CBI与CBII型阶数要求相同。上述四种滤波器都很好的完成了滤波设计指标。但从实际角度来讲,椭圆型的滤波器较难实现。因此,综合考虑CBI、II型为最优方案。

三、设计FIR数字滤波器

1.设计FIR数字滤波器

        由于需要逼近理想滤波器的特性,则中心截频可由下公式得出

         根据常用窗函数性质表选择窗函数。

常用窗函数性质表

窗函数类型

主瓣宽度

近似过渡带宽度

矩形

Hann

Hamming

Blackman

        下面列出几个指标的截频:

[数字信号处理]FIR&IIR数字滤波器_第15张图片

         首先,给出五个指标的幅度响应总览图:

[数字信号处理]FIR&IIR数字滤波器_第16张图片 五种指标FIR滤波器的幅度响应总览

         下面是五种滤波器各自的幅度响应以及和弦通过滤波器的幅度响应:

[数字信号处理]FIR&IIR数字滤波器_第17张图片 五种指标FIR滤波器的幅度响应

[数字信号处理]FIR&IIR数字滤波器_第18张图片 和弦分别通过五种指标FIR滤波器的幅度响应

         根据幅频响应的比较,可以得出,除了指标一的衰减明显差于其它四种指标滤波器外,其它指标设计的FIR滤波器均可满足要求指标。考虑到硬件设计的复杂度,我们选择阶数最低的指标五来设计滤波器。阶数M=349。此外,若对于衰减要求不高,指标一为最优选择。

        下面给出MATLAB的实现代码:

[数字信号处理]FIR&IIR数字滤波器_第19张图片

[数字信号处理]FIR&IIR数字滤波器_第20张图片

[数字信号处理]FIR&IIR数字滤波器_第21张图片

[数字信号处理]FIR&IIR数字滤波器_第22张图片

[数字信号处理]FIR&IIR数字滤波器_第23张图片

2.凯泽窗和Parks-McClellan算法设计FIR数字滤波器

(1)凯泽窗设计FIR数字滤波器

        首先给出凯泽窗设计结果:

[数字信号处理]FIR&IIR数字滤波器_第24张图片 Kaiser 窗幅度、相位幅度

[数字信号处理]FIR&IIR数字滤波器_第25张图片 Kaiser窗增益函数图

         MATLAB代码如下:

[数字信号处理]FIR&IIR数字滤波器_第26张图片

(2)Parks-McClellan算法设计FIR数字滤波器

        首先给出Parks-McClellan算法设计FIR数字滤波器结果

[数字信号处理]FIR&IIR数字滤波器_第27张图片 PM算法设计滤波器的幅度、相位响应

[数字信号处理]FIR&IIR数字滤波器_第28张图片 PM算法设计滤波器的增益函数图

         MATLAB代码如下:

[数字信号处理]FIR&IIR数字滤波器_第29张图片

四、比较IIR和FIR数字滤波器

1.比较相同指标IIR和FIR数字滤波器的阶数

数字滤波器类型

指标5

阶数

IIR

BW型

33

CBI型

11

CBII型

11

椭圆型

6

FIR

Hamming窗

349

        可以发现,相同指标下,FIR的设计阶数远远大于IIR。

2.比较相同指标IIR和FIR数字滤波器的滤波效果

        从幅度响应看,FIR滤波器的阻带是等波纹振荡,而IIR滤波器阻带和通带都较平整,这是因为阶数不同导致的。

        从相位响应看,FIR滤波器是线性相位,而IIR滤波器相位响应非线性。因此在对相位要求较高的情况下适宜FIR滤波器,而对相位要求不高推荐IIR滤波器,因为阶数低,易于物理实现。

你可能感兴趣的:(数字信号处理,FIR滤波器,matlab)