📄 cauer.m
字号:
%考尔Cauer滤波器的离散滤波算法 模拟程序
%程序设计:刘辉
%pangelaca@yahoo.com.cn (email/msn)
%由于我在柏林工业大学学习,源程序的一些变量名由德语缩写成.(但其实阅读上没有影响)
%各种参数都可以替换,产生不同阶,不同极点,不同零点的Cauer滤波器.
%程序会显示其对数振幅特性曲线,相位特性曲线,冲激响应,阶跃响应等,涉及了信号处理的方方面面.
%将图像显示部分去掉,利用产生的分子系数和分母系数,可以实现直接对任何输入信号的滤波.
%各参数说名:
%N: 阶数
%Pol_Cauer: N个极点的位置
%Null_Cauer: N个零点的位置
%kCauer: Cauer系数
%源程序里给出的7阶的Cauer滤波器各零极点参数,是一份比较精确的珍贵数据.
N=7;
Null_Cauer=[0.903710+0.428145i, 0.903710-0.428145i, 0.965298+0.261152i, 0.965298-0.261152i, 0.975060+0.221964i, 0.975060-0.221964i, 0]
Pol_Cauer=[0.977990+0.076022i, 0.977990-0.076022i, 0.981010+0.130168i, 0.981010-0.130168i, 0.984920+0.154134i, 0.984920-0.154134i, 0.976644]
kCauer=9.11e-5;
KoefNull_Cauer=kCauer* poly (Null_Cauer);
KoefPol_Cauer=poly (Pol_Cauer);
[HzC,w]=freqz(KoefNull_Cauer,KoefPol_Bassel,2048);
AmpCauer=log(abs(HzC));
subplot(4,1,1);
plot (w,AmpCauer);
title ('对数幅频曲线');
PhaCauer=angle(HzC);
subplot(4,1,2);
plot (PhaCauer);
title ('相位特性曲线');
ImpulsantwortCauer=filter(KoefNull_Cauer, KoefPol_Cauer,ImpulsFolge);
subplot(4,1,3);
bar (ImpulsantwortCauer);
title ('冲激响应');
SprungantwortCauer=filter(KoefNull_Cauer,KoefPol_Cauer,SprungFolge);
subplot(4,1,4);
bar (SprungantwortCauer);
title ('阶跃响应');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -