滤波函数:Filter,Filtfilt,Fftfilt,Filter2;
1. Filter函数:直接矩形滤波器
2. Filter2函数:二维FIR数字滤波
3. Filtfilt函数:标准差分
4. Fftfilt函数:基于傅里叶变换和重叠相加法的FIR滤波器。
特性分析函数:Impz,Freqz,
1. impz函数:脉冲响应
2. Freqz函数:频率响应
巴特沃斯滤波器
[z,p,k]=buttap(n);返回设计的零点、极点和增益,表示滤波器阶数。
【例1】
Wc=10000;Ws=40000;
Ap=3;As=35;
Np=sprt(10^(0.1*Ap)-1);Ns=sprt(10^(0.1*As)-1);
n=ceil(log10(Ns/Np)/log10(Ws/Wc));
[z,p,k]=buttap(n);
syms rad;
Hs1=k/(i*rad/Wc-p(1))/(i*rad/Wc-p(2))/(i*rad/Wc-p(3));
Hs2=10*log10((abs(Hs1))^2);
ezplot(Hs2,[-60000,60000]);
切比雪夫滤波器一型
[z,p,k]=cheblab(n,rp);返回滤波器零点、极点和增益,n为滤波器阶数,rp为最大衰减值。
n=5;rp=0.05;
[z,p,k]=cheblab(n,rp);
[b,a]=zp2tf(z,p,k);
w=logspace(-1,1);
freqs(b,a);
切比雪夫滤波器二型
[z,p,k]=cheblab(n,rs);返回滤波器零点、极点和增益,n为滤波器阶数,rs为最小衰减值。
n=3;rs=60;
[z,p,k]=cheb2ab(n,rs);
[b,a]=zp2tf(z,p,k);
w=logspace(-1,1);
freqs(b,a);
椭圆低通滤波器
[z,p,k]=ellipap(n,rp,rs);返回滤波器零点、极点和增益,n为滤波器阶数,rp为最大衰减值,rs为最小衰减值
n=3;rs=60;rp=3;
[z,p,k]=ellipap(n,rp,rs);
[b,a]=zp2tf(z,p,k);
w=logspace(-1,1);
freqs(b,a);