IIR数字滤波器设计及实现.docx

上传人:b****7 文档编号:11095683 上传时间:2023-02-25 格式:DOCX 页数:11 大小:86.34KB
下载 相关 举报
IIR数字滤波器设计及实现.docx_第1页
第1页 / 共11页
IIR数字滤波器设计及实现.docx_第2页
第2页 / 共11页
IIR数字滤波器设计及实现.docx_第3页
第3页 / 共11页
IIR数字滤波器设计及实现.docx_第4页
第4页 / 共11页
IIR数字滤波器设计及实现.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

IIR数字滤波器设计及实现.docx

《IIR数字滤波器设计及实现.docx》由会员分享,可在线阅读,更多相关《IIR数字滤波器设计及实现.docx(11页珍藏版)》请在冰豆网上搜索。

IIR数字滤波器设计及实现.docx

IIR数字滤波器设计及实现

实验三IIR数字滤波器设计及实现

一、实验目的

(1)熟悉用脉冲响应不变法和双线性变换法设计IIR数字滤波器的原理与方法;

(2)学会调用MATLAB信号处理工具箱中滤波器设计函数设计IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。

二、实验原理

设计IIR数字滤波器一般采用脉冲响应不变法和双线性变换法。

脉冲响应不变法:

根据设计指标求出滤波器确定最小阶数N和截止频率Wc;计算相应的模拟滤波器系统函数

;将模拟滤波器系统函数

转换成数字滤波器系统函数

双线性变换法:

根据数字低通技术指标得到滤波器的阶数N;取合适的T值,几遍校正计算相应模低通的技术指标

;根据阶数N查表的到归一化低通原型系统函数

,将

代入

,去归一化得到实际的

;用双线性变换法将

转换成数字滤波器

三、实验内容及步骤

1、用脉冲响应不变法设计

(1)根据设计指标求出滤波器确定最小阶数N和截止频率Wc

clear;closeall;clc;%开始准备

fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs;%T=1s的模拟滤波器设计指标

W1p=fp/Fs*2;W1s=fs/Fs*2;%求归一化频率

[N,Wn]=buttord(W1p,W1s,Rp,Rs,'s';%确定butterworth的最小阶数N和频率参数Wn

得到结果为:

N=

7

Wn=

0.3266

即:

该设计指标下的模拟滤波器最小阶数为N=7,其截至频率为Wn=0.3266;

(2)计算相应的模拟滤波器系统函数

clear;closeall;clc;%开始准备

fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs;%T=1s的模拟滤波器设计指标

W1p=fp/Fs*2;W1s=fs/Fs*2;%求归一化频率

[N,Wn]=buttord(W1p,W1s,Rp,Rs,'s';%确定butterworth的最小阶数N和频率参数Wn

[B,A]=butter(N,1,'s'%计算相应的模拟滤波器系统函数

得到结果为:

B=

1.0e-003*

00000000.3966

A=

1.00001.46781.07730.50840.16610.03750.00550.0004

>>

(3)将模拟滤波器系统函数

转换成数字滤波器系统函数

clear;closeall;clc;%开始准备

fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs;%T=1s的模拟滤波器设计指标

W1p=fp/Fs*2;W1s=fs/Fs*2;%求归一化频率

[N,Wn]=buttord(W1p,W1s,Rp,Rs,'s';%确定butterworth的最小阶数N和频率参数Wn

[B,A]=butter(N,1,'s';%计算相应的模拟滤波器系统函数

[Bz,Az]=impinvar(B,A%用脉冲相应不变法将模拟滤波器转换成数字滤波器

sys=tf(Bz,Az,T;%得到传输函数

Bz=

1.0e-004*

-0.00000.00450.20450.87470.70940.10900.00160

Az=

1.0000-5.541513.2850-17.842814.4878-7.10691.9491-0.2304

>>

>>

即:

由Bz和Az可以写出数字滤波器系统函数为:

Transferfunction:

-9.992e-015z^7+4.454e-007z^6+2.045e-005z^5+8.747e-005z^4+7.094e-005z^3+1.09e-005z^2

+1.561e-007z

---------------------------------------------------------------------------------------------------------

z^7-5.541z^6+13.28z^5-17.84z^4+14.49z^3-7.107z^2+1.949z-0.2304

Samplingtime:

4.5351e-005

>>

(4)绘图

clear;closeall;clc;%开始准备

fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs;%T=1s的模拟滤波器设计指标

W1p=fp/Fs*2;W1s=fs/Fs*2;%求归一化频率

[N,Wn]=buttord(W1p,W1s,Rp,Rs,'s';%确定butterworth的最小阶数N和频率参数Wn

[B,A]=butter(N,Wn,'s';%计算相应的模拟滤波器系统函数

[Bz,Az]=impinvar(B,A;%用脉冲响应不变法将模拟滤波器转换成数字滤波器

sys=tf(Bz,Az,T;%得到传输函数

[H,W]=freqz(Bz,Az,512,Fs;%生成频率响应参数

plot(W,20*log10(abs(H;%绘制幅频响应

gridon;%加坐标网格

得到结果为:

观察实验结果图可看到:

在频率为3402Hz处频率为衰减2.015db,在频率为5017Hz处幅度衰减21.36db。

且相位不满足线性。

2、用双线性变换法完成上述设计

clear;closeall;clc;%开始准备

fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs;%设计指标

Wp=2*tan(2*pi*fp*T/2/pi;Ws=2*tan(2*pi*fs*T/2/pi;%求归一化频率

[N,Wn]=buttord(Wp,Ws,Rp,Rs,'s'%设计过渡模拟滤波器

结果为:

N=

6

Wn=

0.3749

clear;closeall;clc;%开始准备

fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs;%设计指标

Wp=2*tan(2*pi*fp*T/2/pi;Ws=2*tan(2*pi*fs*T/2/pi;%求归一化频率

[N,Wn]=buttord(Wp,Ws,Rp,Rs,'s';

[B,A]=butter(N,Wn,'s';%计算相应的模拟滤波器系统函数

[Bz,Az]=bilinear(B,A,Fs%用双线性变换法转换成数字滤波器

结果为

>>

Bz=

1.0e-014*

00-0.17760.7105-0.71050.4441-0.0777

Az=

1.0000-5.999914.9997-19.999314.9993-5.99970.9999

>>

clear;closeall;clc;%开始准备

fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs;%设计指标

Wp=2*tan(2*pi*fp*T/2/pi;Ws=2*tan(2*pi*fs*T/2/pi;%求归一化频率

[N,Wn]=buttord(Wp,Ws,Rp,Rs,'s';

[B,A]=butter(N,Wn,'s';

[Bz,Az]=bilinear(B,A,Fs;

sys=tf(Bz,Az,T

结果为:

Transferfunction:

-1.776e-015z^4+7.105e-015z^3-7.105e-015z^2+4.441e-015z-7.772e-016

-----------------------------------------------------------------------------

z^6-6z^5+15z^4-20z^3+15z^2-6z+0.9999

Samplingtime:

4.5351e-005

>>

[N,Wn]=buttord(Wp,Ws,Rp,Rs,'s'

[z,p,k]=buttap(N;%设计模拟低通原型的零极点增益参数

[Bp,Ap]=zp2tf(z,p,k;%将零极点增益转换成分子分母参数

[Bs,As]=lp2lp(Bp,Ap,Wn*pi*Fs;%将低通原型转换为模拟低通

[Bz,Az]=bilinear(Bs,As,Fs;

结果为:

Bz=

0.00470.02800.07000.09330.07000.02800.0047

Az=

1.0000-1.91612.1559-1.38660.5585-0.12570.0125

sys=tf(bz,az,T%给出传输函数H(z)

结果为:

Transferfunction:

0.004664z^6+0.02798z^5+0.06996z^4+0.09328z^3+0.06996z^2+0.02798z

+0.004664

----------------------------------------------------------------------------------

z^6-1.916z^5+2.156z^4-1.387z^3+0.5585z^2-0.1257z+0.01252

Samplingtime:

4.5351e-005

freqz(Bz,Az,512,Fs;%生成频率响应参数

gridon;%加坐标网格

title('双线性变换法';

结果为:

由图可以看出,设计满足要求,在频率为3402Hz处衰减1.009db,在频率为5017Hz处幅度衰减20.26db。

且相位不满足线性。

实验四FIR数字滤波器设计及实现

一、实验目的

(1)掌握用窗函数法设计FIR数字滤波器的原理和方法。

(2)学会调用MATLAB函数设计与实现FIR滤波器。

二、设计原理

有限脉冲响应(FIR)数字滤波器的传输函数为:

,其单位脉冲响应就是系统传输函数各次项的系数。

设计FIR数字滤波器就是要根据给定的技术指标,确定系统单位脉冲响应h(n,使系统的相位特性线性、幅度特性逼近给定的技术指标。

如果h(n是实数序列,且满足偶对称或奇对称条件,则滤波器就具有严格的线性相位特性。

本实验设计FIR滤波器的采用窗口设计法。

窗口设计法是从时域出发,将理想滤波器的单位脉冲响应截取一段作为传输函数的系数。

通常情况下,滤波器指标往往在频域给出,算出的理想单位脉冲响应一般是非因果、无限长、物理上不可实现的,需先截短再右移使之成为有限长因果序列,只要截取的长度和方法合理,总能满足频域指标要求。

截短就是加窗,矩形窗最简单,在频域属最小平方逼近,但峰肩和波纹不太理想。

一般希望窗函数的频谱主瓣尽可能地窄,以获得较陡的过渡带,同时能量又要尽量集中在主瓣,以减小峰肩和波纹,进而增加阻带衰减。

实际工程中常用窗的特性及MATLAB函数比较如表1所示。

表1常用窗函数性能比较

窗类型

最小阻带衰减

主瓣宽度

精确过渡带宽

窗函数

矩形窗

21dB

4π/M

1.8π/M

boxcar

三角窗

25dB

8π/M

6.1π/M

bartlett

汉宁窗

44dB

8π/M

6.2π/M

hanning

哈明窗

53dB

8π/M

6.6π/M

hamming

布莱克曼窗

74dB

12π/M

11π/M

blackman

取凯塞窗时用kaiserord函数来得到长度M和β

kaiser

利用窗口设计法设计FIR数字滤波器的过程:

具体操作步骤如下:

1、对设计指标进行归一化处理。

数字滤波器传输函数只与频域的相对值有关,故在设计时可先将滤波器设计指标对采样频率进行归一化处理,归一化公式为:

2、根据阻带衰减要求和过渡带宽,由表1选择窗函数的类型并估计窗口长度M,此时滤波器的阶数为M-1(注意窗口长度与滤波器类型的关系)。

3、根据滤波器的理想频响求出理想单位脉冲响应

4、将理想单位脉冲响应与窗函数相乘,得系统单位脉冲响应。

5、用freqz函数验算技术指标是否满足要求。

三、实验内容及步骤

设计一线性相位FIR数字低通滤波器,要求通带临界频率fp=2000Hz,通带允许波动Rp=1dB,阻带临界频率fs=4000Hz,阻带衰减Rs=50db,截止频率Fc=(fp+fs/2=3000Hz,采样频率Fs=22050Hz。

clear;closeall;clc;

fp=2000;fs=4000;Fs=22050;Rp=1;Rs=50;%输入设计指标

W1p=fp/(Fs/2;W1s=fs/(Fs/2;W1c=(W1p+W1s/2;%求归一化频率

%选择窗函数的类型(Rs=50选哈明窗并估计窗口长度M

dW=W1s-W1p

M=ceil(6.6/dW

N=M+mod(M+1,2%选用第一类滤波器,保证N为奇数

结果为

dW=

0.1814

M=

37

N=

37

即:

滤波器阶数取满足要求的最小整数为37,带宽为0.1814

hn=fir1(N-1,W1c,hamming(N;%用哈明窗加窗

freqz(hn,1,512,Fs;

gridon;%绘制结果并加网络

结果为:

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1