文档库 最新最全的文档下载
当前位置:文档库 › 基于Matlab的IIR数字低通滤波器的计

基于Matlab的IIR数字低通滤波器的计

基于Matlab的IIR数字低通滤波器的计
基于Matlab的IIR数字低通滤波器的计

引言

当今,数字信号处理技术正飞速发展,它不但自成一门学科,更是以不同的形式渗透到其他学科。它与国民经济息息相关,与国防建设紧密相连;它影响和改变着我们的生产、生活方式,因此受到人们普遍的关注。数字化、智能化和网络化是当代信息技术发展的大趋势,而数字化是智能化和网络化的基础。数字滤波技术是数字信号分析、处理技术的重要分支。无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对于信号安全可靠和有效灵活地传输是至关重要的。在所有的电子系统中,使用最多技术最复杂的要算数字滤波器了。数字滤波器的优劣直接决定产品的优劣。因此,在教学中,我们也要学会低通滤波器的设计

1 IIR数字滤波器

1.1数字滤波器的概念

滤波器是指用来对输入信号进行滤波的硬件和软件。数字滤波器是对数字信号实现滤波的线性

、不要求阻抗匹配

理。

1.2 IIR数字滤波器结构

IIR数字滤波器的系统函数可以写成封闭函数的形式。IIR数字滤波器采用递归型结构,即结构上带有反馈环路。运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。

IIR数字滤波器在计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。

1.3 数字低通滤波器的设计原理

数字滤波器(Digital Filter,简称DF)是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。DF根据其实现的网络结构或者从单位脉冲响应函数的时域特性分类,可分为两种,即无限脉冲响应(IIR)滤波器和有限脉冲响应(FIR)滤波器。

数字滤波器分为有限脉冲响应数字滤波器(FIR)和无限脉冲响应数字滤波器(IIR)。我们可以借助于模拟滤波器的理论和设计方法来设计IIR滤波器的方法,即根据给定的滤波器技术指标,确定滤波器的系统函数,使其尽可能地逼近滤波器的指标,并用MATLAB进行仿真。

数字滤波器的最通用的方法是借助于模拟滤波器的设计方法。模拟滤波器设计已经有了相当成熟的技术和方法,有完整的设计公式,还有比较完整的图表可以查询,因此设计数字滤波器可以充分利用这些丰富的资源来进行。

数字滤波器是指输入、输出都是离散时间信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。数字滤波器在数字信号处理中起着非常重要的作用,在信号的过滤、检测与参数的估计等方面,是使用最为广泛的一种线性系统。为了保证转换后H(z)稳定,必须满足以下条件:第一:因果稳定的模拟滤波器转换成数字滤波器,仍是因果稳定的,s平面的左半平面映射z平面的单位圆内部;第二:数字滤波器的频率响应模仿模拟滤波器

的频响,s 平面的虚轴映射z 平面的单位圆,相应的频率之间成线性关系。运用数字滤波器的方法有两种:一是采用计算机软件进行,就是把所要完成的工作通过程序让计算机来实现;二是设计专用的数字处理硬件。这个地方主要用到的就是第一种方法。即是用Matlab 提供的信号处理工具箱来实现数字滤波器。

Matlab 信号处理程序提供了丰富的设计方法,可以使得繁琐的程序设计简化成函数的调用,只要以正确的指标参数调用函数,就可以正确快捷地得到设计结果.

它们的系统函数分别为:0

1

()1M

r

j j N

k

k k b z H z a z -=-==

+

(1.1)

1

()()N n n H z h n z --==

∑ (1.2)

1.1式中H(z)称为N 阶IIR 数字滤波器系统函数;1.2式中H(z)称为N-1阶FIR 数字滤波器系统函数。典型的模拟低通滤波器的指标如下:,P S ΩΩ分别为通带频率和阻带频率,,P S δδ分别为通带和阻带容限(峰波纹值)。在通带内要求1()1P a H J δ-≤Ω≤,有时指标由通带最大衰减p α和阻带最小衰减s α给出,定义如下:20lg(1)p p αδ=-- 和20lg()s s αδ=-

第二种常用指标是用参数ε和A 表示通带和阻带要求,如图1.1所示

图1.1

二者之间的关系为:21/2

[(1)1]p εδ-=--和1/s A δ=,根据这几个参数可导出另外两个参数d ,

k ,分别称为判别因子和选择性因子。

d =

/p s k =ΩΩ

BUTTERWORTH 低通滤波器:幅度平方函数定义为2

21

()1(/)

a N

c H J Ω=

+ΩΩ,N

为滤波器阶数,

c Ω为截止频率。当c Ω=Ω

时,有()a H J Ω=3DB 带宽。

BUTTERWORTH 低通滤波器系统函数有以下形式:

1111

1

()...()

N

c a N

N N N N

k H s s a s a s a k s s --=Ω=

=

++++∏-

由模拟滤波器设计IIR 数字滤波器,必须建立好s 平面和z 平面的映射关系。使模拟系统函数()a H s 变换成数字滤波器的系统函数()H z ,通常采用冲激相应不变法和双线性变换法。冲激相应不变法存在频谱混叠现象,双线性变换法消除了这一线象,在IIR 数字滤波器的设计中得到了更广泛的应用。

s 平面和Z 平面的映射关系为11

21()1s Z s f Z T Z

---==+,将s j =Ω和jw

z e =待入数字频率和等效的模拟频率之间的映射关系:tan()2

w Ω=,由于二者不是线性关系,所以称为预畸变。

1.4 方案选择

一般滤波器的设计有两种方法:直接法或者间接法,间接法是通过模拟滤波器的设计方法进行

的,设计步骤:先设计过渡模拟滤波器得到系统函然后将按照某种方法装换成数字滤波器的系统函数H(z)。由于这种方法已经比较成熟所以我采用种种方法设计:利用巴特沃斯设计数字低通滤波器。成熟的模拟滤波器设计方法主要有脉冲响应不变法和双线性变换法。

2.设计结果及分析

2.1用脉冲相应不变法设计IIR 数字滤波器

Ω和数字频率ω之间呈线性关系ω=ΩT 。因而,一个线性相位的模拟

滤波器。脉冲响应不变法的最大缺点是有频率响应的混叠效应。所以脉冲响应不变法只适用于限带的模拟滤波器(例如衰减特性很好的低通或带通滤波器),而且高频衰减越快,混叠效应越小。至于高通和带阻滤波器,由于它们在高频部分不衰减因此将完全混淆在低频响应中。如果要对高通和带阻滤波器采用脉冲响应不变法就必须先对高通和带阻滤波器加保护滤波器,滤掉高于折叠频率以上的频率然后再使用脉冲响应不变法转换为数字滤波器。当然这样会进一步增加设计复杂性和滤波器的阶数。

程序设计:

fp=2100; fs=8000; Fs=20000; Rp=0.5; Rs=30;

T=1/Fs; %设计指标

W1p=fp/Fs*2;W1s=fs/Fs*2;%求归一化频率 [N,Wn]=buttord(W1p,W1s,Rp,Rs,'s');

%确定butterworth 的最小介数N 和频率参数Wn

[z,p,k]=buttap(N); %设计模拟低通原型的零极点增益参数 [bp,ap]=zp2tf(z,p,k); %将零极点增益转换成分子分母参数 [bs,as]=lp2lp(bp,ap,Wn*pi*Fs);%将低通原型转换为模拟低通 [bz,az]=impinvar(bs,as,Fs); %用脉冲响应不变法进行模数变换

)(s H s )

(s H s

sys=tf(bz,az,T); %给出传输函数H(Z) [H,W]=freqz(bz,az,512,Fs); %生成频率响应参数 subplot(2,1,1);

plot(W,20*log10(abs(H))); %绘制幅频响应 grid on; %加坐标网格 xlabel('频率/Hz'); ylabel('振幅/dB'); subplot(2,1,2);

plot(W,abs(H)); grid on; xlabel('频率/Hz'); ylabel('振幅/H'); 运行结果: N =4

bz = 0.0000 0.0999 0.1914 0.0252

az= 1.0000 -1.4336 1.0984 -0.4115 0.0627 程序图如图2.1:

01000200030004000

5000600070008000900010000

-40

-20

20

频率/Hz

振幅/d B

01000200030004000

5000600070008000900010000

0.5

1

1.5

频率/Hz

振幅/H

图2.1 脉冲响应不变法

2.2.用双线性变换法设计IIR 数字滤波器

双线性变换的这个特点是靠频率的严重非线性关系而得到的由于这种频率之间的非线性变换关系就产生了新的问题。首先,一个线性相位的模拟滤波器经双线性变换后得到非线性相位的数字滤器,不再保持原有的线性相位了。其次,这种非线性关系要求模拟滤波器的幅频响应必须是分段常数型的,即某一频率段的幅频响应近似等于某一常数,一般典型的低通、高通、带通、带阻型滤波器的响应特性不然变换产生的数字滤波器幅频响应相对于原模拟滤波器的幅频响应会有畸变。 2.2.1用双线性变换法设计椭圆数字低通滤波器

程序设计:

fs=20000;

wp=2*pi*2100/fs;

ws=2*pi*8000/fs;

Rp=0.5;

Rs=30;

Ts=1/fs;

Wp=2/Ts*tan(wp/2);Ws=2/Ts*tan(ws/2); %按频率转换公式进行转换[N,Wn]=ellipord(Wp,Ws,Rp,Rs,'s'); %计算模拟滤波器的最小阶数

[z,p,k]=ellipap(N,Rp,Rs);%设计模拟原型滤波器

[Bap,Aap]=zp2tf(z,p,k); %零点极点增益形式转换为传递函数形式

[b,a]=lp2lp(Bap,Aap,Wn); %低通转换为低通滤波器的频率转化

[bz,az]=bilinear(b,a,fs); %运用双线性变换法得到数字滤波器传递函数[H,f]=freqz(bz,az,512,fs);

subplot(2,1,1);

plot(f,20*log10(abs(H)));

title('N=2 频率响应');

grid on;

xlabel('频率/Hz');

ylabel('振幅/dB');

subplot(2,1,2);

plot(f,abs(H)); grid on;

xlabel('频率/Hz');

Ylabel(‘振幅/H’);

N=2

bz= 0.1213 0.1662 0.1213

az= 1.0000 -0.9889 0.4218

01000200030004000

5000600070008000900010000

-100

-50

N=2 频率响应

频率/Hz

振幅/d B

01000200030004000

5000600070008000900010000

0.5

1

频率/Hz

振幅/H

图2.2.1双线性变换法的椭圆数字低通滤波器

2.2.2.切比雪夫设计数字低通滤波器

设计Chebyshev I 型和Chebyshev II 型数字低通滤波器,要求通带边界频率fp=2.1kHZ 通带最大衰减Rp=0.5dB ,阻带边界频率fs=8kH ,阻带最小衰减Rs=30dB,采样频率为Fs=20kHZ 。 Chebyshev I 型的M 程序如下:

Fs=20000; %抽样频率20KHz Flp=2100; Fls=8000;

Wp=2*Flp/Fs; %归一化的通带截止频率 Ws=2*Fls/Fs; %归一化的阻带截止频率 Rp=0.5; %通带最大衰减单位

dB Rs=30; %阻带最小衰减单位

dB

[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs); %返回最小阶数和截止频率 [b,a]=cheby1(N,Rp,Wn); %返回H(z)的分子分母系数 [hw,w]=freqz(b,a); subplot(2,1,1);

plot(w/pi,20*log10(abs(hw)));grid on; xlabel('ω/π');ylabel('幅度dB') title('切比雪夫I 型幅频响应'); subplot(2,1,2);plot(w/pi,abs(hw)); grid on;

xlabel('ω/π');ylabel('幅度H'); 程序结果: N=2

b= 0.1007 0.2014 0.1007 a= 1.0000 -0.9872 0.4140 程序图形:

00.10.20.30.4

0.50.60.70.80.91

-150

-100

-50

ω/π

切比雪夫I 型幅频响应

00.10.20.30.4

0.50.60.70.80.91

0.5

1

ω/π

图2.2.2.1 双线性变换发的切比雪夫I 数字低通滤波

Chebyshev II 的程序如下:

Fs=20000; %抽样频率20KHz Flp=2100; Fls=8000;

Wp=2*Flp/Fs; %归一化的通带截止频率 Ws=2*Fls/Fs; %归一化的阻带截止频率 Rp=0.5; %

dB Rs=30; %

dB [N,Wn]=cheb2ord(Wp,Ws,Rp,Rs); %返回最小阶数和截止频率 [b,a]=cheby2(N,Rs,Wn); %返回H(z)的分子分母系数 [hw,w]=freqz(b,a); subplot(2,1,1);

plot(w/pi,20*log10(abs(hw)));grid on; xlabel('ω/π');ylabel('dB '); title('切比雪夫II 型幅频响应'); subplot(2,1,2);plot(w/pi,abs(hw)); grid on;

xlabel('ω/π');ylabel('H

');

N=2

b= 0.2357 0.4241 0.2357 a= 1.0000 -0.2996 0.1950

程序响应图2.2.2.2:

图2.2.2.2 双线性变换发的切比雪II 夫数字低通滤波

从频率响应图中可以看出:巴特沃斯滤波器具有单调下降的幅频特性通带内平滑;chebyshev I 型滤波器的幅频特性在通带内有波动阻带内单调;chebyshev II 型滤波器的幅频特性在阻带内有波动通带内单调;椭圆滤波器的选择性相对前三种是最好的。下降斜度比较大,通带和阻带内均为等波纹同样的性能指标,椭圆滤波器可以最低的阶数来实现。这样根据不同的要求可以选用不同类滤波器。

3.总结

(1)在实验过程MATLAB 函数命令有数字滤波器函数[N,Wn]=buttord(Wp,Ws,Rp,Rs)、模拟滤波器函数[N,Wn]=buttord(Wp,Ws,Rp,Rs,‘s ’)。式中Wp,Ws 分别上通带和阻带的截止频率,实际上它们是归一化频率,其值在0~1之间,Rp,Rs 分别是通带和阻带的衰减,单位为dB 。N 是求出的相应低通滤波器的阶次,Wn 是求出的3dB 频率,第二个式子的单位为rad/s ,因此,它们实际上是频率。

用来设计模拟低通原型滤波器()G p ,其调用格式是[z,p,k]=buttap(N) N 是欲设计的低通原型滤波器的阶次,z 、p 和k 分别是设计出的()G p 的极点、零点及增益。

以下4个文件用来将模拟低通原型滤波器()G p 分别转换为低通、高通、带通、及带阻滤波器。其调用格式分别是:

(1)[B,A]=lp2lp(b,a,Wo) 或 [B,A]=lp2hp(b,a,Wo) (2)[B,A]=lp2bp(b,a,Wo,Bw) 或 [B,A]=lp2bs(b,a,Wo,Bw)

式中b ,a 分别是模拟低通原型滤波器()G p 有分子、分母多项式的系数向量,B ,A 分别是转换后的()s H 有分子、分母多项式的系数向量;在格式(1)中,Wo 是低通或高通滤波器的截止频率;在格式(2)中Wo 是带通或带阻滤波器的中心频率,Bw 是其带宽。

实现双线性变换,即由模拟滤波器()s H 得到数字滤波器()z H 。其调用格式是

[Bz,Az]=bilinear(B,A,Fs)式中B 、A 分别是()s H 的分子、分母多项式的系数向量;Bz 、Az 分别是()z H 的分子、分母多项式的系数向量,Fs 是抽样频率。

致谢

在这次课程设计的撰写过程中,我得到了许多人的帮助。

首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把设计做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计商的难题。同时也感谢学院为我提供良好的做课程设计的环境。最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学!

参考文献

[1].罗军辉等《7.0在数字信号处理中的应用》。北京:机械工业出版社, ,2004,P109-114.

[2].邵毅、张明玉等基于Matlab的IIR数字滤波器【J】, 2009年02期,P36-44.

[3].刘春:Matlab在数字滤波器设计中的应用【J】2006年05期,P153-166.

[4].柴政、任海平:关于数字滤波器设计方式的探讨【J】;通信电源技术;2007年05期,P113-156.

[5].刘泉.数字信号处理原理与实现[M]第二版.北京:高等教育出版社,2008,P189-200.

matlab滤波器设计

长安大学 数字信号处理综合设 计 专业_______电子信息工程_______ 班级__24030602___________ 姓名_______张舒_______ 学号2403060203 指导教师陈玲 日期_______2008-12-27________

一、课程设计目的: 1. 进一步理解数字信号处理的基本概念、基本理论和基本方法; 2.熟悉在Windows环境下语音信号采集的方法; 3.学会用MATLAB软件对信号进行分析和处理; 4.综合运用数字信号处理理论知识,掌握用MATLAB软件设计FIR和IIR数字滤波器的方法; 5. 提高依据所学知识及查阅的课外资料来分析问题解决问题的能力。 二、课程设计内容: 1.语音信号的采集 利用windows下的录音机录制一段自己的话音,时间控制在1秒左右;并对语音信号进行采样,理解采样频率、采样位数等概念。 2.语音信号的频谱分析 利用函数fft对采样后语音信号进行快速傅里叶变换,得到信号的频谱特性。 3.设计数字滤波器 采用窗函数法和双线性变换法设计下列要求的三种滤波器,根据语音信号的特点给出有关滤波器的性能指标: 1)低通滤波器性能指标,fp=1000Hz,fc=1200Hz, As=100dB,Ap=1dB; 2)高通滤波器性能指标,fc=4800Hz,fp=5000Hz ,As=100dB,Ap=1dB; 3)带通滤波器性能指标,fp1=1200Hz,fp2=3000Hz,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB。 4.对语音信号进行滤波 比较用两种方法设计的各滤波器的性能,然后用性能好的滤波器分别对采集的语音信号进行滤波;并比较滤波前后语音信号的波形及频谱,分析信号的变化。 5.回放语音信号,感觉滤波前后的声音变化。 三、实验原理 (一)基于双线性Z变换法的IIR数字滤波器设计 由于的频率映射关系是根据推导的,所以使jΩ轴每隔2π/Ts便映射到单位圆上一周,利用冲激响应不变法设计数字滤波器时可能会导致上述的频域混叠现象。为了克服这一问题,需要找到由s平面到z平面的另外的映射关系,这种关系应保证: 1) s平面的整个jΩ轴仅映射为z平面单位圆上的一周; 2) 若G(s)是稳定的,由G(s)映射得到的H(z)也应该是稳定的; 3) 这种映射是可逆的,既能由G(s)得到H(z),也能由H(z)得到G(s); 4) 如果G(j0)=1,那么。 双线性Z变换满足以上4个条件的映射关系,其变换公式为

基于MATLAB的数字滤波器的设计程序

IIR 低通滤波器的设计程序为: Ft=8000; Fp=1000; Fs=1200; As=100 ; Ap=1; wp=2*pi*Fp/Ft; ws=2*pi*Fs/Ft; 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); axes(handles.axes1); plot(w*8000*0.5/pi,abs(h)); xlabel('Frequency/Hz'); ylabel('Magnitude'); title('巴特沃斯数字低通滤波器'); 巴特沃斯带通滤波器设计程序为: 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)); axis([0 4000 0 1.5]); xlabel('Frequency/Hz'); ylabel('Magnitude'); title('巴特沃斯数字带通滤波器'); 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); axes(handles.axes1); plot(w*21000*0.5/pi,abs(h)); xlabel('Frequency/Hz'); ylabel('Magnitude'); title('切比雪夫Ⅰ型数字高通滤波器');

matlab中关于数字滤波器的函数介绍

MATLAB下的数字信号处理实现示例 一信号、系统和系统响应 1、理想采样信号序列 (1)首先产生信号x(n),0<=n<=50 n=0:50; %定义序列的长度是50 A=444.128; %设置信号有关的参数 a=50*sqrt(2.0)*pi; T=0.001; %采样率 w0=50*sqrt(2.0)*pi; x=A*exp(-a*n*T).*sin(w0*n*T); %pi是MATLAB定义的π,信号乘可采用“.*”close all %清除已经绘制的x(n)图形 subplot(3,1,1);stem(x); %绘制x(n)的图形 title(‘理想采样信号序列’); (2)绘制信号x(n)的幅度谱和相位谱 k=-25:25; W=(pi/12.5)*k; X=x*(exp(-j*pi/12.5)).^(n’*k); magX=abs(X); %绘制x(n)的幅度谱 subplot(3,1,2);stem(magX);title(‘理想采样信号序列的幅度谱’); angX=angle(X); %绘制x(n)的相位谱 subplot(3,1,3);stem(angX) ; title (‘理想采样信号序列的相位谱’)(3)改变参数为:1,0734.2,4.0,10==Ω==TAα n=0:50; %定义序列的长度是50 A=1; %设置信号有关的参数 a=0.4; T=1; %采样率 w0=2.0734; x=A*exp(-a*n*T).*sin(w0*n*T); %pi是MATLAB定义的π,信号乘可采用“.*”close all %清除已经绘制的x(n)图形 subplot(3,1,1);stem(x); %绘制x(n)的图形 title(‘理想采样信号序列’); k=-25:25; W=(pi/12.5)*k; X=x*(exp(-j*pi/12.5)).^(n’*k); magX=abs(X); %绘制x(n)的幅度谱 subplot(3,1,2);stem(magX);title(‘理想采样信号序列的幅度谱’); angX=angle(X); %绘制x(n)的相位谱 subplot(3,1,3);stem(angX) ; title (‘理想采样信号序列的相位谱’) 2、单位脉冲序列 在MatLab中,这一函数可以用zeros函数实现: n=1:50; %定义序列的长度是50 x=zeros(1,50); %注意:MATLAB中数组下标从1开始

基于matlab的数字滤波器设计

淮北煤炭师范学院 2009届学士学位论文 基于MA TLAB的数字滤波器设计 学院、专业物理与电子信息学院 电子信息科学与技术 研究方向基于MATLAB的数字滤波器设计 学生姓名耿博 学号200513432024 指导教师姓名邹锋 指导教师职称讲师 2009 年4 月18

基于MATLAB的数字滤波器设计 耿博 (淮北煤炭师范学院物理与电子信息学院235000) 摘要随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 数字滤波是数字信号处理的重要内容,数字滤波器可分为IIR和FIR两大类。对于IIR数字滤波器的设计,需要借助模拟原型滤波器,再将模拟滤波器转化为数字滤波器,文中采用的设计方法是脉冲响应不变法、双向性变换法和完全函数设计法;对于FIR数字滤波器的设计,可以根据所给定的频率特性直接设计,文中采用的设计方法是窗函数法。本文根据IIR滤波器和FIR滤波器的特点,在MATLAB坏境下分别用双线性变换法设计IIR和用窗函数设计FIR数字滤波器,并对采集的语音信号进行分析,最后给出了IIR和FIR对语音滤波的效果。 关键词数字滤波器;IIR ;FIR ;MATLAB

The Design of Digital Filter based on MATLAB Geng Bo School of Physics and Electronics Information, Huaibei Coal Industry Teachers? College, 235000 ABSTRACT Along with the information age and the digital world arrival, the digital signal processing has become a now extremely important discipline and the area of technology.The digital signal processing in the correspondence, the multitudinous domains the pronunciation such as the image, the automatic control, the radar, the military, the aerospace, the medical service and the domestic electric appliances and so on have obtained the widespread application.In the digital signal processing application, the digital filter are extremely important and have obtained the widespread application. The digital filter are the digital signal processing important content, the digital filter may divide into IIR and the FIR two main kinds. As for the IIR digital filter design, we need the help of analog prototype filter, and then transform analog filter into digital filter. In the paper we use the design of the pulse response invariable method, the bilinear method and full function design; as for the FIR filter, we can design it directly based on the giving frequency, in the paper it uses the design of the window function.This article according to the IIR filter and the FIR filter characteristic, uses the bilinearity method of transformation under the MATLAB bad boundary to design IIR and to design the FIR numeral filter separately with the window box number, and carries on the analysis to the gathering pronunciation signal, and finally gives IIR and FIR to the pronunciation filter effect. Keywords Digtial Filter;IIR;FIR;MATLAB

基于Matlab数字带通滤波设计

《数字信号处理课程设计报告》 课程设计题目:数字带通滤波设计 学院:信息工程学院 专业:通信工程 班级: 学生姓名: 指导老师: 日期:2012年5月4日至17日

目录 1. 课程设计的目的和意义 (3) 1.1课程目的 (3) 1.2实验意义 (3) 2.课程设计题目描述及要求 (4) 3.实验内容 (4) 3.1数字滤波器的简介 (4) 3.2 椭圆数字带通滤波器设计原理 (4) 3.3实验流程框图 (5) 3.4实验步骤 (7) 3.5 程序代码 (8) 3.6实验仿真结果图 (9) 3.7实验结果分析 (10) 4.实验总结 (10) 参考文献 (11)

1.课程设计的目的和意义 1.1课程目的 (1) 学习椭圆模拟带通滤波器的设计。 (2) 使用椭圆模拟带通滤波器逼近数字带通滤波器。 (3) 双线性变换法的应用原理。 (4) 使用matlab对滤波器进行仿真和频谱分析。 1.2实验意义 数字滤波器是个离散时间系统(按预定的算法,将输入离散时间信号换为所要求的输出离散时间信号的特定功能装置)。应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。 利用Matlab设计滤波器,可以按照设计要求非常方便地调整设计参数,极大地减轻了设计的工作量,有利于滤波器设计的最优化。Matlab因其强大的数据处理功能被广泛应用于工程计算,其丰富的工具箱为工程计算提供了便利,利用Matlab信号处理工具箱可以快速有效地设计各种数字滤波器,设计简单方便。本文介绍了在Matlab环境下滤波器设计的方法和步骤。

数字滤波器的MATLAB设计与DSP上的实现

数字滤波器的MAT LAB设计与 DSP上的实现 数字滤波器的MATLAB 设计与DSP上的实现 公文易文秘资源网佚名2007-11-15 11:56:42我要投稿添加到百度搜藏 摘要:以窗函数法设计线性相位FIR数字滤波器为例,介绍用MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在CCS5000仿真开发,然后将程序加载到TMS320VC5409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实现的关键问题。关键词 摘要:以窗函数法设计线性相位 FIR数字滤波器为例,介绍用 MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在 CCS5000仿真开发,然后将程序加载到 TMS320VC5 409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实 现的关键问题。 关键词:数字滤波器MATLAB DSP 引言 随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应

用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 1数字滤波器的设计 1.1数字滤波器设计的基本步骤 数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR )滤波器和有限长冲激响应(FIR )滤波器。IIR滤波器的特征是,具有无限持续时间冲激响应。种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。FIR滤波器的冲激响应只能延续一定时间, 在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和Chebyshev逼近法等等。随着 MATLAB软件尤 其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。 数字滤波器设计的基本步骤如下: (1确定指标 在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给岀幅度和相位响应。幅度指标主要以两种方式给岀。第一种是绝对指标。它提供对幅度响应函数的要求,一般应用于FI R滤波器的设计。第二种指标是相对指标。它以分贝值的形式给岀要求。在工程实际中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统在通频带中人有线性相位。运用线性相位响应指标进行滤波器设计具有如下优点:①只包含实数算法,不涉及复数运算;②不存在延迟失真,只有固定数量的延迟;③长度为N的滤波器(阶数为N-1),计算量为N/2数量级。因此,本文中滤波器的设计就以线性相位FIR滤波器的设计为例。 (2)逼近

实验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 产生。 例1 用凯塞窗设计一FIR 低通滤波器,通带边界频率π3.0=Ωp ,阻带边界频率π5.0=Ωs ,阻带衰减 不小于50dB 。 解 首先由过渡带宽和阻带衰减 来决定凯塞窗的N 和 π2.0=Ω-Ω=?Ωp s , , S P P S Passband Stopband Transition band Fig 1 Typical magnitude specification for a digital LPF

数字滤波器matlab的程序

数字滤波器matlab的源代码 function lvbo(Ua,Ub,choise) %参考指令:lvbo(2*pi,10*pi,1/0/-1) U1=min(Ua,Ub); U2=max(Ua,Ub); Us=16*U2; T=2*pi/Us; T_sum=4*max(2*pi/Ua,2*pi/Ub); sum=T_sum/T; t=T:T:T_sum; x=sin(U1*t)+0.8*sin(U2*t); X=DFT(x); figure(1); subplot(221) U=Us/sum:Us/sum:Us; stem(U,abs(X));grid on axis([Us/sum,Us/2,0,1.2*max(abs(X))]) title('原模拟信号采样频谱图') Ucd=U1+(U2-U1)*1/5;Usd=U2-(U2-U1)*1/5; switch choise case 1 Hz_ejw=IIR_DF_BW(Ucd,1,Usd,30,T,sum); case -1 Hz_ejw=IIR_DF_CF(Ucd,1,Usd,30,T,sum); case 0 Hz_ejw=FIR_DF_HM(U1,U2,T,sum); otherwise Hz_ejw=IIR_DF_BW(Ucd,1,Usd,30,T,sum); end Y=X.*Hz_ejw; y=1/sum*conj(DFT(conj(Y))); figure(1); subplot(224) plot(t,real(y)); title('模拟信号滤波后');grid on axis([0,T_sum,-max(real(y))*1.5,max(real(y))*1.5]) subplot(222); plot(t,x); hold on

实验11 用MATLAB设计FIR数字滤波器

实验11 用MATLAB 设计FIR 数字滤波器 一、实验目的: 1、加深对窗函数法设计FIR 数字滤波器的基本原理的理解。 2、学习用MA TLAB 语言的窗函数法编写设计FIR 数字滤波器的程序。 3、了解MATLAB 语言有关窗函数法设计FIR 数字滤波器的常用函数用法。 二、实验内容及步骤 2、选择合适的窗函数设计FIR 数字低通滤波器,要求: w p =0.2π,R p =0.05dB ; w s =0.3π,A s =40dB 。描绘该滤波器的脉冲响应、窗函数及滤波器的幅频响应曲线和相频响应曲线。 分析:根据设计指标要求,并查表11-1,选择汉宁窗。程序清单如下: function hd=ideal_lp(wc,N) wp=0.2*pi;ws=0.3*pi;deltaw=ws-wp; tao=(N-1)/2; n=[0:(N-1)]; m=n-tao+eps; hd=sin(wc*m)./(pi*m); function[db,mag,pha,grd,w]=freqz_m(b,a); [H,w]=freqz(b,a,1000,'whole'); H=(H(1:501))';w=(w(1:501))'; mag=abs(H); db=20*log10((mag+eps)/max(mag)); pha=angle(H); grd=grpdelay(b,a,w); wp=0.2*pi;ws=0.3*pi;deltaw=ws-wp; wc=(ws+wp)/2; 课程名称:数字信号处理 实验成绩: 指导教师: 实 验 报 告 院系: 信息工程学院 班级: 电信二班 学号: 姓名: 日期:

matlab数字滤波器设计程序

%要求设计一butterworth低通数字滤波器,wp=30hz,ws=40hz,rp=0.5,rs=40,fs=100hz。>>wp=30;ws=40;rp=0.5;rs=40;fs=100; >>wp=30*2*pi;ws=40*2*pi; >> [n,wn]=buttord(wp,ws,rp,rs,'s'); >> [z,p,k]=buttap(n); >> [num,den]=zp2tf(z,p,k); >> [num1,den1]=impinvar(num,den); Warning: The output is not correct/robust. Coeffs of B(s)/A(s) are real, but B(z)/A(z) has complex coeffs. Probable cause is rooting of high-order repeated poles in A(s). > In impinvar at 124 >> [num2,den2]=bilinear(num,den,100); >> [h,w]=freqz(num1,den1); >> [h1,w1]=freqz(num2,den2); >>subplot(1,2,1); >>plot(w*fs/(2*pi),abs(h)); >>subplot(1,2,2); >>plot(w1*fs/(2*pi),abs(h1)); >>figure(1); >>subplot(1,2,1); >>zplane(num1,den1); >>subplot(1,2,2); >>zplane(num2,den2);

高级数字滤波器设计及Matlab实现

高级数字滤波器设计及Matlab 实现 利用Parks-McClellan 算法设计线性相位FIR 滤波器 一、 算法原理 长度为2n+1的线性相位数字滤波器的传输函数为:20 ()n k k k G z h Z -== ∑。当 Z=exp(j T ω)=exp(2j F π)时,可得到频率响应: ()exp(2)cos 2n k k G F j nF d k F ππ==-∑ exp(2)()j F H F π=- 其中2n k k d h -=,k=0,……,n-1,0n d h = max ()()()W F D F H F - 对于一个理想的低通滤波器上式中的H(F)可以表示为: 误差加权函数: 允许设计者自己给定通带和阻带内的误差范围。令p s B B A = ,设计长度为2n+1的线性相位低通滤波器只要找到k d 并使得m a x ()()()W F D F H F -最小。 设空间A 是[0,1/2]的封闭子空间,为了使0 ()cos 2n k k H F d kF π== ∑是D(F) 在A 上唯一的最佳逼近,加权误差方程()()[()()]E F W F D F H F =-在A 上至少要有n+2个交错点。因此1()()i i E F E F E -=-=±,011,n i F F F F A +<∈ ,

max ()E E F =。算法的流程如图1所示。 对于给定的n+2个频率点,需要计算n+2个方程: ()(()())(1)k k k k W F H F D F ρ-=-- 写成矩阵的形式就是: 图 1.

0000001 1 1 1 1011 1 1 1 11 1cos 2cos 4cos 2()()11cos 2cos 4cos 2()()()(1)1cos 2cos 4cos 2()n n n n n n n F F nF W F d D F d F F nF D F W F d D F F F nF W F ππππππρπππ++++++?? ???? ?? ?? ??-????????????=??????????????????-?? ????? ? 通过该方程组可得: 其中: 利用拉格朗日插值公式可得: 这里 利用求得的H(F)求出误差函数E(F)。如果对所有的频率都有()E F ρ≤,说明ρ是纹波极值,交错频率点121,n F F F + 是交错频率点。若存在某些频率使得()E F ρ>,说明初始交错点组中的某些点需要交换。 对于上次确定的121,n F F F + 中每一点,都检查其附近是否存在某一频率 ()E F ρ>,如果有再在该点附近找出局部极值点,并用该,点代替原来的

基于matlab的fir数字滤波器设计要点

基于matlab的fir数字滤波器设计 sea (湖南涉外经济学院湖南长沙 421000) 摘要:介绍了应用Matlab语言设计FIR数字滤波器时采用直接程序设计法。同时介绍了FIR数字滤波器几种设计方法的函数调用格式;通过实例,给出了程序设计法的详细步骤,并在Matlab的Simulink环境下,对所设计的滤波器进行了仿真。 关键词:数字滤波器;Matlab Abstract: It Introduced the application of Matlab language when designing FIR digital filter with direct procedures. At the same time it introduced several formats of function calls when designing FIR digital filter; through some examples of programming method it gives the detail steps of Simulink in Matlab environment, and to simulate the designed filter. Keywords: digital filter MATLAB 引言 1. MATLAB的特点 MATLAB(Matrix Laboratory)机矩阵实验室是由美国MathWorks公司推出的一款集数值分析、矩阵计算、信号处理和图形显示于一体的工具软件。它的命令语句功能非常强大,包含了大量高度集成的可直接调用的函数,高效简洁;另一方面,它又是一个开放系统,针对不同的学科,推出了不同的工具箱。自1984年推向市场以来,经过十几年的发展和竞争,现已成为国际认可(IEEE)的最优化的科技应用软件一。 正是由于MATLAB具有良好的扩展性以及强大的数据分析和处理能力,现已广泛应用于矩阵代数、数值计算、数字信号处理、振动理论、神经网络控制、动态仿真等领域。MATLAB是用M语言编程,尽管不能在M文件中直接调用C语言程序,但可以通过MATLAB提供的应用编程接口(API)来与外部接口,在MATLAB环境中调用C语言或Fortran程序、输入或输出数据以及与其他软件程序建立客户/服务 器关系。在MATLAB中调用C语言程序,必须通过MEX文件来实现。

基于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数字滤波器设计及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

基于MATLAB的数字滤波器设计(DOC)

目录 1 引言 (1) 2 设计任务 (2) 2.1设计内容 (2) 2.2设计要求 (2) 3 语音信号的采集及时频分析 (3) 3.1语音信号的采集 (3) 3.2语音信号的时频分析 (3) 4 基于MATLAB的数字滤波器的设计 (5) 4.1数字滤波器的设计 (5) 4.1.1数字滤波器的基本概念 (5) 4.1.2 IIR滤波器设计思想 (5) 4.2IIR数字滤波器设计 (5) 4.2.1 IIR低通滤波器设计 (5) 4.2.2 IIR带通滤波器设计 (7) 4.2.3 IIR带通滤波器设计 (9) 5 合成信号及其滤波 (12) 5.1合成信号 (12) 5.2合成信号滤波 (13) 6 设计系统界面 (15) 6.1系统界面设计工具—GUI概述 (15) 6.2界面设计及使用说明 (15) 7 心得体会 (18) 参考文献 (19) 附录 (20)

1 引言 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。 数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。 IIR滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。 MATALB 可以创建图形用户界面GUI (GraphicalUser Interface) ,它是用户和计算机之间交流的工具。MATLAB 将所有GUl 支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。而且具有强大的绘图功能,可以轻松的获得更高质量的曲线图。 滤波器的设计可以通过软件或设计专用的硬件两种方式来实现。随着MATLAB软件及信号处理工具箱的不断完善,MATLAB很快成为应用学科等领域不可或缺的基础软件。它可以快速有效地实现数字滤波器的设计、分析和仿真,极大地减轻了工作量,有利于滤波器设计的最优化。

基于MATLAB的数字滤波器设计

基于matlab的数字滤波器设计 摘要:本文介绍的是数字滤波器在MATLAB环境下的设计方法。数字滤波是数字信号处理的重要内容,在实际应用中有非常大的作用。我们研究的数字滤波器可分为IIR和FIR两大类。对于IIR数字滤波器的设计,我们需要借助模拟原型滤波器,然后再将模拟滤波器转化为数字滤波器,文中采用的设计方法是脉冲响应不变法、双向性变换法和完全函数设计法;对于FIR数字滤波器的设计,可以根据所给定的频率特性直接设计,文中采用的设计方法是窗函数法。根据IIR 滤波器和FIR滤波器的特点,本文在MATLAB坏境下分别用双线性变换法设计IIR和用窗函数设计FIR数字滤波器,并让这两种滤波器对采集的语音信号进行分析和比较,经过分析,最后给出了IIR和FIR对语音滤波的效果,并总结这两种滤波器在MATLAB环境下设计方法的优缺点。 关键词:数字滤波器;IIR ;FIR ;MATLAB

The Design of Digital Filter based on MATLAB Abstract:This article describes a digital filter in the MATLAB environment design. Digital filtering is an important part of digital signal processing which is playing a very big role in practice .The digital filter we studied can be divided into two categories——IIR and FIR. For the IIR digital filter design, we will need the help of simulation prototype filter, analog filters and then converted it into digital filter For the IIR digital filter design .The design methods used in the text is the same impulse response method, bi-sexual transformation and full function design ;We can based on the frequency characteristics of the given direct design, design method used in the text is the window function for FIR digital filter design. Based on the characteristics of IIR filter and FIR filters ,the bad paper in the MATLAB environment under the bilinear transformation method were used to design IIR and FIR with window function digital filter design and filters to capture both the voice signal analysis and compare. Through analysis of IIR and FIR Finally, the effect of filtering on the speech, and concluded the advantages and disadvantages in the two filter design methods in the MATLAB environment. Key words: Digital Filter ;IIR;FIR;MATLAB

实验报告基于MATLAB的数字滤波器设计

实验7\8基于MATLAB勺数字滤波器设计实验目的:加深对数字滤波器的常用指标和设计过程的理解。 实验原理:低通滤波器的常用指标: 1 一6P 兰G(e^) ≤ 1 + 6P , for 国≤ ωP G(J") ≤ 6s, for 国s ≤ ⑷≤ ∏ 通带边缘频率:'P ,阻带边缘频率:'s, 通带起伏:J P,通带峰值起伏: C(P= —20 IOg io (^-OP )【d B 】阻带起伏.冠S PaSSband StOPband Tran Siti on band Fig 7.1 TyPiCaI magn itude SPeCifiCati On for a digital LPF :S = -20 log ιo(r)[dB 】 O 数字滤波器有IIR和FlR两种类型,它们的特点和设计方法不同。 在MATLAB^,可以用[b , a]=butter ( N,Wr)等函数辅助设计IIR数字滤波器,也可以用b=fir1(N,Wn, 'type ')等函数辅助设计FIR数字滤波器。 实验内容:利用MATLAB编程设计一个数字带通滤波器,指标要求如下: 通带边缘频率:??P1=0.45^,?? P2=0?65 二,通带峰值起伏:[dB】O 阻带边缘频率:'s1 0.3…,'s2 0.75…,最小阻带衰减:-S 4°[dB] O 分别用IIR和FlR两种数字滤波器类型进行设计。 实验要求:给出IIR数字滤波器参数和FIR数字滤波器的冲激响应,绘出它们的幅度和相位频响曲线,讨论它们各自的实现形式和特点。 实验内容: IRR代码: wp=[0.45*pi,0.65*pi]; ws=[0.3*pi,0.75*pi]; Ap=1; A S=40; [N,Wc]=buttord(wp∕pi,ws∕pi,Ap,As); [b,a]=butter(N,Wc)%[b,a] = butter( n, Wn,'ftype') 最小阻带衰减:

相关文档
相关文档 最新文档