您的当前位置:首页经典滤波器的设计和使用

经典滤波器的设计和使用

来源:锐游网


*******************

实践教学

*******************

兰州理工大学

计算机与通信学院

2015年春季学期

《信号处理》课程设计报告

题 目: 经典滤波器的设计和使用

班 级: 通信工程12级( 1 )班

姓名: 设计质量(30分): 学号: 122501xx 说明书质量(10分):

同组成员:

指导教师:

兰州理工大学课程设计报告

目录

摘要 ........................................................................................................................................................... 1 一、基本原理 ........................................................................................................................................... 2

1.1 1.2

IIR数字滤波器设计原理 ....................................................................................................... 2 FIR数字滤波器设计原理 ...................................................................................................... 3

二、滤波器详细设计 ............................................................................................................................... 5

2.1 信号源 ......................................................................................................................................... 5 2.2 低通滤波器 ................................................................................................................................. 6 2.3 带通滤波器 ................................................................................................................................. 9 2.3

高通滤波器 ........................................................................................................................... 11

总结 ......................................................................................................................................................... 13 参考文献 ................................................................................................................................................. 14 附录 ......................................................................................................................................................... 15

兰州理工大学课程设计报告

摘要

滤波器广泛应用于电子电路中,具有平滑信号、选频、去噪和使交流信号变为直流信号的功能。可分为低通滤波器、高通滤波器、带通滤波器和带阻滤波器,也可分为模拟滤波器和数字滤波器,数字滤波器分为IIR数字滤波器和FIR数字滤波器。设计滤波器之前先根据实际需要确定滤波器类型和指标,通过MATLAB分别设计低通、带通和高通三种滤波器,首先通过三种滤波器对时域信号滤波,然后对信号频域变换后滤波,最后对信号进行时域搬移后滤波。通过MATLAB得出的频谱图对信号的三种形式通过三种滤波器后的结果进行分析,通过分析比较各滤波器的优点和缺点。

关键词:MATLAB IIR滤波器 FIR滤波器 频域变换 时域搬移

1

兰州理工大学课程设计报告

一、基本原理 z1的有理多项式形式,即 数字滤波器是一个离散系统,其系统函数一般可表示为MbjzjH(z)j01aiziiaN

当{ai;i=1,2,…,N}都为0时,上式描述的系统称为有限脉冲响应数字滤波器,简称FIR(Finite-Impulse Response)数字滤波器。当系数{ai;i=1,2,…,N}中至少有一个是非0时,上式描述的系统称为无限脉冲响应数字滤波器,简称IIR(Infinite-Impulse Response)数字滤波器。对于IIR数字滤波器,一般满足M≤N,这时将系统称为N阶IIR数字滤波器。对于FIR数字滤波器,系统函数中z1的有理多项式的最高次幂M就是其阶数。

在设计数字滤波器时,首先根据具体的滤波成分,确定待设计数字滤波器的技术指标,再求解出满足设计指标的离散系统的系统函数H(z)。数字滤波器的技术指标通常用通带截频{p},通带最大衰减Ap,阻带截频{s},阻带最小衰减AS表示。

1.1 IIR数字滤波器设计原理

IIR滤波器的设计就是根据给定的数字滤波器技术指标,确定上式中滤波器的阶数N和系数{ai,bj}。在满足技术指标的条件下,滤波器的阶数应尽可能低。应为滤波器阶数越低,实现滤波器的成本就越低。

由于模拟滤波器的设计技术已经非常成熟,且可得闭合形式的解,因此在设计IIR滤波器时,一般是通过模拟滤波器来设计滤波器。设计方法是先将数字滤波器技术指标转换为对应的模拟滤波器技术指标,然后设计满足技术指标的模拟滤波器H(s),再将模拟滤波器H(s)转换为对应的数字滤波器H(z)。因此,在IIR数字滤波器设计中,模拟滤波器设计是基础,模拟滤波器到数字滤波器的转换是核心。而模拟滤波器的设计都是通过设计模拟低通滤波器来实现,比较常见的模拟低通滤波器有巴特沃思和切比雪夫等。将模拟滤波器变换为数字滤波器的主要方法有脉冲响应不变法和双线性变换法。

2

兰州理工大学课程设计报告

待设计数字 滤波器指标 频率 转换 模拟 滤波器指标 设计模拟 滤波器 模拟 滤波器H(s) S到z域 转换 数字 滤波器H(z) 图1-1 IIR数字滤波器的设计过程

1.2 FIR数字滤波器设计原理

表1-1 四种线性相位FIR滤波器的特性

类型 阶数M H[k]的对称性 I 偶数 偶对称 0.5M 0 偶对称 偶对称 2 任意 任意 LP,HP,BP,BS等 II III 奇数 偶数 偶对奇对称 称 0.5M 0.5M 0 0.5 偶对奇对称 称 奇对奇对称 称 4 2 任意 0 0 0 LP,BP 微分器,Hilbert(希尔伯特) 变换器 IV 奇数 奇对称 0.5M 0.5 奇对称 偶对称 4 0 任意 微分器,Hilbert(希尔伯特) 变换器,HP   A()关于=0的对称性 A()关于=的对称性 A()的周期 A(0) A() 可适用的滤波器类型 窗函数法设计FIR滤波器的基本思想是在时域逼近理想滤波器的单位脉冲相应。首先根据待逼近的理想滤波器的频率响应Hd(ej),由IDTFT求出理想滤波器的单位脉冲响应hd[k],再将无限长的hd[k]加窗截断得到有限长序列hd[k]。为了获得线性相位FIR滤波器,在窗函数法设计FIR滤波器的过程中,需要将线性相位因子ej(0.5M)加入理想滤波器的频率响应Hd(ej),具体步骤如下:

(1) 根据所需设计的滤波器,确定线性相位滤波器的类型(I型,II型,III型,IV型)。 (2) 确定理想滤波器的幅度函数Ad()。

3

兰州理工大学课程设计报告

(3) 确定理想滤波器的相位d()。

d()0.5M

对I型和II型线性相位FIR滤波器0,对III型和IV型线性相位FIR滤波器/2。

(4) 计算hd[k]。

(5) 截断hd[k]得

其中w[k]是长度N=M+1的矩形窗。

h)d[k]12Ad()ejd(ejkd

h[k]hd[k][k]

4

兰州理工大学课程设计报告

二、滤波器详细设计 2.1 信号源

产生一个连续信号,包含低频、中频、高频分量,对其进行采样,进行频谱分析分别设计三种高通、低通、带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。合成信号频谱程序如下:

t=(1:100)/2000;

x=sin(2*pi*t*20)+sin(2*pi*t*200)+sin(2*pi*t*500); plot(t,x); n=[1:100]; t=n/2000; X=fft(x,512); w=(0:255)/256*1000;

x=sin(2*pi*t*20)+sin(2*pi*t*200)+sin(2*pi*t*500); plot(w,abs(X(1:256))); xlabel('Hz');

ylabel('频率响应幅度'); title('合成信号频谱图');

图2-1 合成信号波形图

5

兰州理工大学课程设计报告

图2-2 合成信号频谱图

2.2 低通滤波器

根据数字滤波器的设计原理,首先将数字域的指标转化为模拟域的指标设计模拟低通滤波器,然后应用双线性变换法将模拟滤波器转化为数字滤波器将指标转换成归一化模拟低通滤波器的指标,通过归一化的模拟低通滤波器阶数N和3dB截止频率的计算,将模拟域频率变换成模拟低滤波器H(s),并用双线性变换法将H(s)转换成数字低通滤波器H(z),由此得到低通数字滤波器。

IIR低通滤波器的设计程序为:

Ft=8000; Fp=1000; Fs=1200; As=100; Ap=1;

wp=2*pi* Fp/Ft; ws=2*pi*Fs/Ft;

6

兰州理工大学课程设计报告

fp=2*Fp*tan(wp/2); fs=2*Fs*tan(ws/2);

[n11,wn11]=buttord(wp,ws,1,50,'s'); [b11,a11]=butter(n11,wn11,'s'); [num11,den11]=bilinear(b11,a11,0.5); [h,w]=freqz(num11,den11); plot(w*8000*0.5/pi,abs(h)); title('低通滤波器');

图2-3 IIR低通滤波器

读入信号对信号傅里叶变换进行频谱分析,利用filter函数滤波,对得到的信号傅里叶变换进行频谱分析,与滤波前进行比较。

图2-4 滤波前信号波形

7

兰州理工大学课程设计报告

图2-5滤波后信号波形

图2-6滤波后信号的频谱

图2-7滤波前信号的频谱

8

兰州理工大学课程设计报告

2.3 带通滤波器

IIR带通滤波器的设计程序为:

Ft=8000; Fp1=1200; Fp2=3000; Fs1=1000; Fs2=3200; As=100; Ap=1;

wp1=tan(pi*Fp1/Ft); wp2=tan(pi*Fp2/Ft); ws1=tan(pi*Fs1/Ft); ws2=tan(pi*Fs2/Ft); w=wp1*wp2/ws2; bw=wp2-wp1; wp=1;

ws=(wp1*wp2-w.^2)/(bw*w); [n12,wn12]=buttord(wp,ws,1, 50,'s'); [b12,a12]=butter(n12,wn12,'s');

[num2,den2]=lp2bp(b12,a12,sqrt(wp1*wp2),bw); [num12,den12]=bilinear(num2,den2,0.5); [h,w]=freqz(num12,den12); plot(w*8000*0.5/pi,abs(h)); title('带通滤波器');

9

兰州理工大学课程设计报告

图2-8 IIR带通滤波器

图2-9滤波后的信号波形

图2-10滤波后信号的频谱

10

兰州理工大学课程设计报告

读入信号对信号傅里叶变换进行频谱分析,利用filter函数滤波,对得到的信号傅里叶变换进行频谱分析,与滤波前进行比较.并在滤波前后用sound函数播放语音信号,观察滤波前后的变化。

2.3 高通滤波器

IIR高通滤波器的设计程序为:

Ft=8000; Fp=4000; Fs=3500;

wp1=tan(pi*Fp/Ft); ws1=tan(pi*Fs/Ft); wp=1;

ws=wp1*wp/ws1;

[n13,wn13]=cheb1ord(wp,ws,1,50,'s'); [b13,a13]=cheby1(n13,1,wn13,'s'); [num,den]=lp2hp(b13,a13,wn13); [num13,den13]=bilinear(num,den,0.5); [h,w]=freqz(num13,den13); plot(w*21000*0.5/pi,abs(h)); title('高通滤波器');

图2-11 IIR高通滤波器

11

兰州理工大学课程设计报告

图2-12滤波后的信号波形

图2-13滤波后的信号频谱

读入信号对信号傅里叶变换进行频谱分析,利用filter函数滤波,对得到的信号傅里叶变换进行频谱分析,与滤波前进行比较。

分析滤波前后信号的变化,波形图变窄,频谱变化表明:信号的高频率段被保留,低频率段被滤除。这说明滤波器设计基本符合指标要求。

12

兰州理工大学课程设计报告

总结 通过几周的课程设计,我对MATLAB的使用有了很大提高,能够熟练掌握MATLAB编程原理和应用MATLAB处理各种问题,MATLAB中带有海量功能函数和命令,在使用其设计滤波器时,首先要熟悉滤波器函数的使用方法,MATLAB应用范围广使用人数多,涌现出各类相关书籍、查询手册和网络资料。同时通过对滤波器的设计,提高了对数字信号处理的能力,此次设计的滤波器有低通滤波器、带通滤波器和高通滤波器,三种滤波器为IIR数字滤波器或FIR数字滤波器,在设计IIR滤波器之前需要根据实际分析得出数字滤波器的指标,在设计数字滤波器之前要设计模拟滤波器,所以需要将数字滤波器指标转换为模拟滤波器指标,设计好模拟滤波器后再通过脉冲响应不变法和双线性变换法变为IIR数字滤波器,FIR线性相位滤波器分为四种类型:I型、II型、III型、IV型。可以使用窗函数法设计线性相位FIR数字滤波器,设计的滤波器会有Gibbs现象,严重影响滤波器的性能,在设计时应减少这种现象的影响,常用窗函数有矩形窗、Hann窗、Hamming窗、Blackman窗、Kaiser窗。各个窗函数的特性都不一样,设计滤波器之前应熟悉这些窗函数的性能,以使设计出的滤波器性能更加完美,也可以使用频率取样法设计线性相位FIR数字滤波器。IIR滤波器的重大缺点在于,由于存在反馈其稳定性不能得到保证。另外,反馈还使IIR滤波器的数字运算可能溢出。从性能上来说,IIR滤波器传输函数的极点可位于单位圆内的任何地方,因此可用较低的阶数获得高的选择性,所用的存贮单元少,所以经济而效率高。但是这个高效率是以相位的非线性为代价的。选择性越好,则相位非线性越严重。相反,FIR滤波器却可以得到严格的线性相位,然而由于FIR滤波器传输函数的极点固定在原点,所以只能用较高的阶数达到高的选择性。在设计之初由于对MATLAB不熟悉和专业知识掌握不牢,设计相对艰难,进度缓慢,通过老师的指导、同学们的帮助和查阅资料,滤波器的设计才得以顺利进行,提高了独自处理问题的能力和团队合作能力,在此对指导老师和同学们表示感谢。

13

兰州理工大学课程设计报告

参考文献 [1] 丁玉美. 数字信号处理. 西安电子科技大学出版社,2012 [2] 陈后金. 数字信号处理(第2版). 高等教育出版社, 2012

[3] A.V.Oppenheim. 离散时间信号处理(第3版)英文版 ,电子工业出版社, 2011 [4] V.K. Ingle. 数字信号处理: 应用MATLAB(第3版)英文影印版,科学出版社, 2012 [5] 胡广书.数字信号处理.清华大学出版社(第3版), 2012. [6] 樊昌信. 通信原理. 北京:国防工业出版社,2010.

[7] 刘敏. MATLAB 通信仿真与应用. 北京:国防工业出版社.

14

兰州理工大学课程设计报告

附录 IIR低通滤波器滤波程序:

f1=20; f2=200; f3=500;

t=(1:100)/2000; x1=sin(2*pi*t*f1); x1=sin(2*pi*t*f2); x1=sin(2*pi*t*f3);

x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3); n=[1:100]; t=n/2000; X=fft(x,512);

w=(0:255)/256*1000;

x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3); Ft=8000; Fp=1000; Fs=1200; As=100; Ap=1;

wp=2*pi*Fp/Ft; ws=2*pi*Fs/Ft; fp=2*Fs*tan(wp/2); fs=2*Fs*tan(ws/2);

[n11,wn11]=buttord(wp,ws,1,50,'s'); [b11,a11]=butter(n11,wn11,'s');

[num11,den11]=bilinear(b11,a11,0.5); [h,w]=freqz(num11,den11); z11=filter(num11,den11,x); m11=fft(z11); plot(abs(x),'g');

title('滤波前信号的频谱'); plot(abs(m11),'r');

title('滤波后信号的频谱'); plot(x);

title('滤波前信号的波形'); plot(z11);

title('滤波后信号的波形'); IIR带通滤波器滤波程序:

f1=20; f2=200; f3=500;

t=(1:100)/2000; x1=sin(2*pi*t*f1); x2=sin(2*pi*t*f2);

15

兰州理工大学课程设计报告

x3=sin(2*pi*t*f3); x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3); n=[1:100]; t=n/2000; X=fft(x,512);

w=(0:255)/256*1000;

x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3); Ft=8000; Fp1=1200; Fp2=3000; Fs1=1000; Fs2=3200; As=100; Ap=1;

wp1=tan(pi*Fp1/Ft); wp2=tan(pi*Fp2/Ft); ws1=tan(pi*Fs1/Ft); ws2=tan(pi*Fs2/Ft); w=wp1*wp2/ws2; bw=wp2-wp1; wp=1;

ws=(wp1*wp2-w.^2)/(bw*w);

[n12,wn12]=buttord(wp,ws,1,50,'s'); [b12,a12]=butter(n12,wn12,'s');

[num2,den2]=lp2bp(b12,a12,sqrt(wp1*wp2),bw); [num12,den12]=bilinear(num2,den2,0.5); [h,w]=freqz(num12,den12); z12=filter(num12,den12,x); m12=fft(z12); plot(abs(x),'g');

title('滤波前信号的频谱'); plot(abs(m12),'r');

title('滤波后信号的频谱'); plot(x);

title('滤波前信号的波形'); plot(z12);

title('滤波后的信号波形'); IIR高通滤波器滤波:

f1=20; f2=200; f3=500;

t=(1:100)/2000; x1=sin(2*pi*t*f1); x2=sin(2*pi*t*f2); x3=sin(2*pi*t*f3);

x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3); n=[1:100];

16

兰州理工大学课程设计报告

t=n/2000; X=fft(x,512);

w=(0:255)/256*1000;

x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3); Ft=8000; Fp=4000; Fs=3500;

wp1=tan(pi*Fp/Ft); ws1=tan(pi*Fs/Ft); wp=1;

ws=wp1*wp/ws1;

[n13,wn13]=cheb1ord(wp,ws,1,50,'s'); [b13,a13]=cheby1(n13,1,wn13,'s'); [num,den]=lp2hp(b13,a13,wn13);

[num13,den13]=bilinear(num,den,0.5); [h,w]=freqz(num13,den13); z13=filter(num13,den13,x); sound(z13); m13=fft(z13); plot(abs(x),'g');

title('滤波前信号的频谱'); plot(abs(m13),'r');

title('滤波后信号的频谱'); plot(x);

title('滤波前信号的波形'); plot(z13);

title('滤波后的信号波形');

17

因篇幅问题不能全部显示,请点此查看更多更全内容

Top