IIR数字滤波器设计作业
通信工程 201304015
7.12
设计一个数字切比雪夫I型带通滤波器,给定指标为: (1) 波纹Rp?20dB,当200Hz?f?400Hz (2) 衰减As?20dB,f?100Hz,f?600Hz (3) 抽样频率fs?2kHz
1冲激响应不变法,2双线性变换法进行设计,试用○○最后写出H(z)的表达式,并画出
系统的幅频响应特性(dB)。 解:
1冲激响应不变法设计程序如下 ○
%冲激响应不变法,ex712.m clc;clear all
OmegaP1=2*pi*200;OmegaP2=2*pi*400;%带通截止频率 OmegaS1=2*pi*100;OmegaS2=2*pi*600;%1.5kHz阻带 Rp=2;%波纹系数 As=20;%阻带衰减dB Fs=2*10^3;%抽样频率2khz
OmegaP=[OmegaP1,OmegaP2];OmegaS=[OmegaS1,OmegaS2]; wp=OmegaP/Fs;ws=OmegaS/Fs;%等效数字频率
[N,OmegaC]=cheb1ord(OmegaP,OmegaS,Rp,As,'s')%滤波器阶数截止频率 [b,a]=cheby1(N,Rp,OmegaC,'s');ˉ系统函数的分子分母 [bz,az]=impinvar(b,a,Fs)%冲击不变法AF to DF w0=[wp,ws]%四个频点 Hx=freqz(bz,az,w0);%检验
[H,w]=freqz(bz,az);%计算0~pi上的响应
dbHx=-20*log10(abs(Hx)/max(abs(H)))%归一化并求dB dbH=20*log10(abs(H)/max(abs(H)));%归一化的频率响应 plot(w/pi,dbH);%画图
xlabel('\\Omega/\\pi');ylabel('dB'); axis([0,1,-60,5]);grid
运行,得
N = 3;
OmegaC =1.0e+03 * 1.2566 2.5133 w0 = 0.6283 1.2566 0.3142 1.8850
bz = -0.0000 0.0272 -0.0581 0.0109 0.0437 -0.0237 0 az = 1.0000 -3.3030 6.0060 -6.7463 5.1356 -2.4093 0.6290 dbHx = 2.0022 2.0015 41.6739 30.7707
0-20dB-40-6000.10.20.30.40.5?/?0.60.70.80.91
图1冲激响应不变法设计IIR带通滤波器
由程序返回得到的数值可以得知,这是一个3阶带通滤波器。转换为模拟原型滤波器的频率见OmegaC返回的值。数字滤波器的边界频率见w0返回的值。 由bz,az返回值可得
0.0272z-1?0.0581z-2?0.0109z-3?0.0137z-4?0.0237z-5H(z)?
1?3.303z-1?6.006z-2?6.7463z-3?5.1356z-4?2.4093z-5?0.629z-6由dbHx返回值可知在四个边界频率处幅度响应大小:
对应到模拟频率,即有
f/Hz 200 2.0022 400 2.0015 100 41.6739 600 30.7707 H(f) 满足题目要求的设计指标,通带波纹不大于2dB, 截止频率处衰减不小于20dB。
2双线性变换法设计程序如下 ○
%双线性变换法,ex7122m clc;clear all
OmegaP1=2*pi*200;OmegaP2=2*pi*400;%带通截止频率 OmegaS1=2*pi*100;OmegaS2=2*pi*600;%1.5kHz阻带 Rp=2;%波纹系数 As=20;%阻带衰减dB Fs=2*10^3;%抽样频率2khz
OmegaP=[OmegaP1,OmegaP2];OmegaS=[OmegaS1,OmegaS2]; wp=OmegaP/Fs;ws=OmegaS/Fs;%等效数字频率
OmegaP_t=2*Fs*tan(wp/2);OmegaS_t=2*Fs*tan(ws/2); [N,OmegaC]=cheb1ord(OmegaP_t,OmegaS_t,Rp,As,'s') [b,a]=cheby1(N,Rp,OmegaC,'s');ˉ系统函数的分子分母 [bz,az]=bilinear(b,a,Fs)%双线性变换法 AF to DF w0=[wp,ws];%四个频点
Hx=freqz(bz,az,w0);%计算四个频点上对应的幅度响应 [H,w]=freqz(bz,az);%计算0~pi上的响应
dbHx=-20*log10(abs(Hx)/max(abs(H)))%归一化并求dB dbH=20*log10(abs(H)/max(abs(H)));%归一化的频率响应 plot(w/pi,dbH);%画图
xlabel('数字频率域频率\\Omega/\\pi');ylabel('dB');
axis([0,1,-300,5]); grid
运行,得
N = 2;
OmegaC =1.0e+03 *1.2997 2.9062 w0 = 0.6283 1.2566 0.3142 1.8850
bz = 0.0512 -0.0000 -0.1024 -0.0000 0.0512 az = 1.0000 -2.0733 2.4881 -1.5944 0.6125 dbHx = 1.9997 1.9997 24.1325 22.3051
0-100dB-200-30000.10.20.30.40.50.60.7数字频率域频率?/?0.80.91
图2双线性变换法设计IIR带通滤波器
由程序返回得到的数值可以得知,这是一个2阶带通滤波器。转换为模拟原型滤波器的频率见OmegaC返回的值。数字滤波器的边界频率见w0返回的值。
0.0512?0.1024z-2?0.0512z-4由bz,az返回值可得H(z)? -1-2-3-41?2.0733z?2.4881z?1.5944z?0.6125z由dbHx返回值可知在四个边界频率处幅度响应大小:
对应到模拟频率,即有
f/Hz 200 1.9997 400 1.9997 100 24.1325 600 22.3051 H(f) 满足题目要求的设计指标,通带波纹不大于2dB, 截止频率处衰减不小于20dB。
7.14
设计一个数字切比雪夫I型带阻滤波器,给定指标为:
(1) 衰减As?30dB,当1kHz?f?2kHz (2) 波纹Rp?3dB,当f?500Hz,f?3kHz (3) 抽样频率fs?10kHz
试用双线性变换法进行设计,最后写出H(z)的表达式,并画出系统的幅频响应特性
(dB)。
解:
双线性变换法设计程序如下
%冲激响应不变法,ex714.m %设计数字切比雪夫I型带阻滤波器 %双线性变换法 clc;clear all
OmegaP1=2*pi*500;OmegaP2=2*pi*3000;%带通截止频率 OmegaS1=2*pi*1000;OmegaS2=2*pi*2000;%阻带截止频率 Rp=3;%通带波纹dB As=30;%阻带衰减dB
Fs=10*10^3;%抽样频率10khz
OmegaP=[OmegaP1,OmegaP2];OmegaS=[OmegaS1,OmegaS2]; wp=OmegaP/Fs;ws=OmegaS/Fs;%等效数字频率
OmegaP_t=2*Fs*tan(wp/2);OmegaS_t=2*Fs*tan(ws/2);
[N,OmegaC]=cheb1ord(OmegaP_t,OmegaS_t,Rp,As,'s')ˉ阶数和截至频率 [b,a]=cheby1(N,Rp,OmegaC,'stop','s');ˉ系统函数的分子分母 [bz,az]=bilinear(b,a,Fs)%双线性变换法F to DF w0=[wp,ws];%四个频点
Hx=freqz(bz,az,w0);%计算两个频点上对应的幅度响应