实验六IIR数字滤波器的设计.docx
- 文档编号:8583366
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:12
- 大小:47.87KB
实验六IIR数字滤波器的设计.docx
《实验六IIR数字滤波器的设计.docx》由会员分享,可在线阅读,更多相关《实验六IIR数字滤波器的设计.docx(12页珍藏版)》请在冰豆网上搜索。
实验六IIR数字滤波器的设计
通信092邱盛成200900402071
实验六IIR数字滤波器的设计
一、实验目的
1.掌握双线性变换法及冲激响应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及冲激响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程。
2.观察双线性变换及冲激响应不变法设计的滤波器的频域特性,了解双线性变换法及冲激响应不变法的特点。
3.熟悉Butterworth滤波器、Chebyshev滤波器的频率特性。
二、实验原理与方法
(1)冲激响应不变法
用数字滤波器的单位冲激响应序列h(n)模仿模拟滤波器的冲激响应ha(t),让h(n)正好等于ha(t)的采样值,即
h(n)=ha(nT)
其中T为采样间隔,如果以Ha(S)及H(z)分别表示ha(t)的拉式变换及h(n)的Z变换,则
(2)双线性变换法
S平面与z平面之间满足以下映射关系:
s平面的虚轴单值地映射于z平面的单位圆上,s平面的左半平面完全映射到z平面的单位圆内。
双线性变换不存在混叠问题。
双线性变换时一种非线性变换
,这种非线性引起的幅频特性畸变可通过预畸而得到校正。
IIR低通、高通、带通数字滤波器设计采用双线性原型变换公式:
变换类型
变换关系式
备 注
低通
高通
带通
为带通的上下
边带临界频率
以低通数字滤波器为例,将设计步骤归纳如下:
1.确定数字滤波器的性能指标:
通带临界频率fp、阻带临界频率fr;通带内的最大衰减Ap;阻带内的最小衰减Ar;采样周期T;
2. 确定相应的数字角频率,ωp=2πfpT;ωr=2πfrT;
3. 计算经过预畸的相应模拟低通原型的频率,
;
4. 根据Ωp和Ωr计算模拟低通原型滤波器的阶数N,并求得低通原型的传递函数Ha(s);
5. 用上面的双线性变换公式代入Ha(s),求出所设计的传递函数H(z);
6. 分析滤波器特性,检查其指标是否满足要求。
三、实验内容及步骤
(1)fp=0.3KHz,Ap=0.8dB,fr=0.2KHz,Ar=20dB,T=1ms;设计一Chebyshev(I型)高通滤波器,观察其通带损耗和阻带衰减是否满足要求。
(2)设计满足下列指标的Butterworth型数字低通滤波器,观察其通带损耗和阻带衰减是否满足要求。
fp=1.2kHz,Ap≤0.5dB,fr=2KHz,Ar≥40dB,fs=8KHz
(3)设计满足下列指标的Chebyshev(I型)带通滤波器,观察其通带损耗和阻带衰减是否满足要求。
fp1=1.2kHz,fp2=2KHz,Ap≤0.5dB;
fst1=0.8kHz,fst2=2.4KHz,Ar≥60dB;
fs=8KHz
(4)设计满足下列指标的巴特沃兹带阻滤波器,观察其通带损耗和阻带衰减是否满足要求。
Fst1=1.2kHz,fst2=2KHz,Ar≥80dB;
fp1=0.8kHz,fp2=3KHz,Ap≤0.3dB;
fs=10KHz
(1)fp=0.3KHz,Ap=0.8dB,fr=0.2KHz,Ar=20dB,T=1ms;设计一Chebyshev(I型)高通滤波器;观察其通带损耗和阻带衰减是否满足要求。
用来估计契比雪夫I型滤波器阶数的函数:
[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs)。
Wp为归一化通带截止频率(0到1之间的整数),Ws为归一化阻带截止频率,Rp,Rs分别为单位为分贝的通带波纹系数和最小阻带衰减。
现有[Wp,Ws,Rp,Rs]=[2*fp*T,2*fr*T,Ap,Ar],所以代入即可。
然后求传输函数使用如下两个命令:
(1)[num,den]=cheby1(N,Rp,Wn),Wn是标量,则为低通,否则为带通;
(2)[num,den]=cheby1(N,Rp,Wn,’filterType’),Wn是标量,filterType可以填high为高通;Wn是双元素向量,填stop为带阻。
所以本例使用:
[num,den]=cheby1(N,Rs,Wn,’high’)
(1)设计一Chebyshev(I型)高通滤波器
Wp=2*300*0.001;%wp的归一化wp=2*pi*T*f/pi,并转化成标准单位
Ws=2*200*0.001;
Rp=0.8;
Rs=20;
[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs);%根据通带截止频率,阻带截止频率,波纹系%数和衰减系数求得契比雪夫的阶次N,及%截止频率Wn
[num,den]=cheby1(N,Rp,Wn,'high');%再由阶数和衰减系数设计的契比雪夫I型%波器的分子分母多项式的值赋给num和den。
disp('①分子系数是:
');disp(num);
disp('②分母系数是:
');disp(den);
[h,w]=freqz(num,den);
subplot(2,1,1);
plot(w/pi,abs(h));grid;%画出滤波器的频谱函数h
xlabel('\omega/\pi');
ylabel('振幅(幅值)');
title('契比雪夫Ⅰ型高通滤波器的幅频响应');
subplot(2,1,2);
plot(w/pi,20*log10(abs(h)));grid;%画出滤波器的频谱分贝图
xlabel('\omega/\pi');
ylabel('振幅(分贝)');
title('契比雪夫Ⅰ型高通滤波器的幅频响应');
%disp('通带截至频率处衰减:
');disp(num2str(abs(h(fix(0.6*512)))));
%plot(w/pi,20*log(abs(h)));grid;
error=0;
forstep=fix(0.6*512):
1:
512%[f(n)表示取接近且小于n的整数]选择
%从0.6*512的下取整的数到512中的整数点
ifabs(20*log10(abs(h)))>=0.8%判断通带内的点是否满足最高损耗为0.8dB
%以下判断均为类似
error=1;
disp('③通带内有个别点值不满足最高损耗--0.8dB--的要求:
(');
%disp(num2str(20*log10(abs(h))))
end
end
iferror==0
disp('③通带内所有点值均满足最高损耗--0.8dB--的要求:
)');
end
error=0;
forstep=0:
1:
fix(0.4*512)
ifabs(20*log10(abs(h)))<20
error=1;
disp('④阻带内有个别点值不满足最低衰减--20dB--的要求:
(');
%disp(num2str(20*log10(abs(h))))
end
end
iferror==0
disp('④阻带内所有点值均满足最低衰减--20dB--的要求:
)');
end
%--------------------注意:
log10(x)是以10为底和log(x)是以e为底
(2)
Wp=2*1200*(1/8000);
Ws=2*2000*(1/8000);
Rp=0.5;
Rs=40;
[N,Wn]=buttord(Wp,Ws,Rp,Rs);
[num,den]=butter(N,Wn);
disp('①分子系数是:
');disp(num);
disp('②分母系数是:
');disp(den);
[h,w]=freqz(num,den);
subplot(2,1,1);
plot(w/pi,abs(h));grid;
xlabel('\omega/\pi');
ylabel('振幅(幅值)');
title('巴特沃兹型低通滤波器的幅频响应');
subplot(2,1,2);
plot(w/pi,20*log10(abs(h)));grid;
xlabel('\omega/\pi');
ylabel('振幅(分贝)');
title('巴特沃兹型低通滤波器的幅频响应');
%disp('通带截至频率处衰减:
');disp(num2str(abs(h(fix(0.6*512)))));
%plot(w/pi,20*log(abs(h)));grid;
error=0;
forstep=1:
1:
fix(0.3*512)
ifabs(20*log10(abs(h)))>=0.5
error=1;
disp('③通带内有个别点值不满足最高损耗--0.5dB--的要求:
(');
%disp(num2str(20*log10(abs(h))))
end
end
iferror==0
disp('③通带内所有点值均满足最高损耗--0.5dB--的要求:
)');
end
error=0;
forstep=fix(0.5*512):
1:
512
ifabs(20*log10(abs(h)))<40
error=1;
disp('④阻带内有个别点值不满足最低衰减--40dB--的要求:
(');
%disp(num2str(20*log10(abs(h))))
end
end
iferror==0
disp('④阻带内所有点值均满足最低衰减--40dB--的要求:
)');
end
%--------------------注意:
log10(x)是以10为底和log(x)是以e为底
(3)契比雪夫I型带通
Wp=[0.30.5];
Ws=[0.20.6];
Rp=0.5;
Rs=60;
[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs);%用契比雪夫设置带通滤波器
[num,den]=cheby1(N,Rp,Wn);
disp('①分子系数是:
');disp(num);
disp('②分母系数是:
');disp(den);
[h,w]=freqz(num,den);%求幅频响应
subplot(2,1,1);
plot(w/pi,abs(h));grid;
xlabel('\omega/\pi');
ylabel('振幅(幅值)');
title('契比雪夫Ⅰ型带通滤波器的幅频响应');
subplot(2,1,2);
plot(w/pi,20*log10(abs(h)));grid;
xlabel('\omega/\pi');
ylabel('振幅(分贝)');
title('契比雪夫Ⅰ型带通滤波器的幅频响应');
%disp('通带截至频率处衰减:
');disp(num2str(abs(h(fix(0.6*512)))));
%plot(w/pi,20*log(abs(h)));grid;
error=0;
forstep=fix(0.3*512):
1:
fix(0.5*512)
ifabs(20*log10(abs(h)))>=0.5
error=1;
disp('③通带内有个别点值不满足最高损耗--0.5dB--的要求:
(');
break;
%disp(num2str(20*log10(abs(h))))
end
end
iferror==0
disp('③通带内所有点值均满足最高损耗--0.5dB--的要求:
)');
end
error=0;
forstep=1:
1:
fix(0.2*512)
ifabs(20*log10(abs(h)))<60
error=1;
disp('④阻带内有个别点值不满足最低衰减--60dB--的要求:
(');
break;
%disp(num2str(20*log10(abs(h))))
end
end
forstep=fix(0.6*512):
1:
512
ifabs(20*log10(abs(h)))<60
error=1;
disp('④阻带内有个别点值不满足最低衰减--60dB--的要求:
(');
break;
%disp(num2str(20*log10(abs(h))))
end
end
iferror==0
disp('④阻带内所有点值均满足最低衰减--60dB--的要求:
)');
end
%--------------------注意:
log10(x)是以10为底和log(x)是以e为底
(4)巴特沃兹带阻滤波器
Wp=[0.160.6];
Ws=[0.240.4];
Rp=0.3;
Rs=80;
[N,Wn]=buttord(Wp,Ws,Rp,Rs);
[num,den]=butter(N,Wn,'stop');
disp('①分子系数是:
');disp(num);
disp('②分母系数是:
');disp(den);
[h,w]=freqz(num,den);
subplot(2,1,1);
plot(w/pi,abs(h));grid;
xlabel('\omega/\pi');
ylabel('振幅(幅值)');
title('巴特沃兹带阻滤波器的幅频响应');
subplot(2,1,2);
plot(w/pi,20*log10(abs(h)));grid;
xlabel('\omega/\pi');
ylabel('振幅(分贝)');
title('巴特沃兹带阻滤波器的幅频响应');
%disp('通带截至频率处衰减:
');disp(num2str(abs(h(fix(0.6*512)))));
%plot(w/pi,20*log(abs(h)));grid;
error=0;
forstep=fix(0.24*512):
1:
fix(0.4*512)
ifabs(20*log10(abs(h)))<80
error=1;
disp('③阻带内有个别点值不满足最低衰减--80dB--的要求:
(');
break;
%disp(num2str(20*log10(abs(h))))
end
end
iferror==0
disp('③阻带内所有点值均满足最低衰减--80dB--的要求:
)');
end
error=0;
forstep=1:
1:
fix(0.16*512)
ifabs(20*log10(abs(h)))>0.3
error=1;
disp('④通带内有个别点值不满足最高损耗--0.3dB--的要求:
(');
break;
%disp(num2str(20*log10(abs(h))))
end
end
forstep=fix(0.6*512):
1:
512
ifabs(20*log10(abs(h)))<60
error=1;
disp('④通带内有个别点值不满足最高损耗--0.3dB--的要求:
(');
break;
%disp(num2str(20*log10(abs(h))))
end
end
iferror==0
disp('④通带内所有点值均满足最高损耗--0.3dB--的要求:
)');
end
%--------------------注意:
log10(x)是以10为底和log(x)是以e为底
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 IIR 数字滤波器 设计