📄 bassel.m
字号:
%贝塞尔Bassel滤波器的离散滤波算法 模拟程序
%程序设计:刘辉
%pangelaca@yahoo.com.cn (email/msn)
%由于我在柏林工业大学学习,源程序的一些变量名由德语缩写成.(但其实阅读上没有影响)
%各种参数都可以替换,产生不同阶,不同极点的Bassel滤波器.
%程序会显示其传递函数对数振幅特性曲线,相位特性曲线,冲激响应,阶跃响应等,涉及了信号处理的方方面面.
%将图像显示部分去掉,利用产生的分子系数和分母系数,可以实现直接对任何输入信号的滤波.
%各参数说名:
%N: 阶数
%Pol_Bassel: N个极点的位置
%kBassel: Bassel系数
%源程序里给出的关于7阶Bassel滤波器的极点参数,是一份比较精确的珍贵数据.
N=7;
Pol_Bassel=[0.772640+0.071838i, 0.772640-0.071838i, 0.790860+0.150033i, 0.790860-0.150033i, 0.830690+0.246936i, 0.830690-0.246936i,0.767193];
kBassel=7.8790e-5;
KoefPol_Bassel=poly (Pol_Bassel);
Zahler=zeros(1,N);
Zahler(1)=kBassel;
[HzB,w]=freqz(Zahler,KoefPol_Bassel,2048);
AmpBassel=log(abs(HzB));
subplot(4,1,1);
plot (w,AmpBassel);
title ('对数幅频特性曲线');
PhaBassel=angle(HzB);
subplot(4,1,2);
plot (PhaBassel);
title ('相位特性曲线');
ImpulsFolge=zeros(1,800);
ImpulsFolge(1)=1;
ImpulsantwortBassel=filter(Zahler,KoefPol_Bassel,ImpulsFolge);
subplot(4,1,3);
bar (ImpulsantwortBassel);
title ('冲激响应');
SprungFolge=ones(1,800);
SprungantwortBassel=filter(Zahler,KoefPol_Bassel,SprungFolge);
subplot(4,1,4);
bar (SprungantwortBassel);
title ('阶跃响应');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -