首先对题目进行分析,采样率为2Hz,允许0.6Hz以下信号通过说明该滤波器的截止频率为0.6,也就是幅频增益下降3dB或者是最大幅频增益的0.707倍(对应的是根号2分之一)
题目的意思应该是根据3dB截止频率自己设计通带最大衰减Rp和阻带最大衰减Rs,进而求出通带截止频率fp和阻带截止频率fs
求出上面的东西就可以得出巴特沃斯低通滤波器了,但是我不知道怎么只根据3dB截止频率0.6Hz就求出上面的东西。
所以这里暂且设置为:
fp=0.5;%通带截止频率 fs=0.7;%阻带截止频率 Rp=1;%通带最大衰减 Rs=30;%阻带最小衰减
具体MATLAB实现代码如下:
fk=2;%采样频率 fp=0.5;%通带截止频率 fs=0.7;%阻带截止频率 Wp=0.5;%fp/(fk/2);%=0.5/1=0.5 通带截止频率 Ws=0.7;%fs/(0.5*fk);%=0.7/1=0.7 阻带截止频率 Rp=1;%通带最大衰减 Rs=30;%阻带最小衰减 [n,Wn]=buttord(Wp,Ws,Rp,Rs);%返回归一化频率Wn和巴特沃斯滤波器阶数N [b,a]=butter(n,Wn);%返回传递函数,以b,a行向量形式返回 [H,w]=freqz(b,a,512); plot(w*fk/(2*pi),abs(H)); title('巴特沃斯滤波器幅频特性'); saveas(gcf, 'D:\桌面文件\大三上\数字信号处理\上机实验\Experiment_5.jpg');
1 首先是用buttord函数得到归一化频率Wn和巴特沃斯滤波器阶数N
[n,Wn] = buttord(Wp,Ws,Rp,Rs)
Wp 通带截止频率 Ws阻带截止频率 Rp通带最大衰减(dB) Rs阻带最小衰减(dB)
其中Wp和Rp是归一化后的频率,即Wp=fp/(fk/2),Ws=fs/(fk/2)
2 然后是用butter函数返回巴特沃斯低通滤波器的系统函数,以[b,a]向量的形式
[b,a]=butter(n,Wn);
对于数字滤波器,系统函数用b和a向量表示:
3 最后用freqz函数得到此滤波器的频率响应
[H,w] = freqz(b,a,N);
N是频率轴分点数,建议为2的整数次幂 w 返回频率坐标轴向量供绘图用
4 绘图
plot(w*fk/(2*pi),abs(H));
幅频特性,abs(H);
最后图像:
标签:Hz,滤波器,Rp,幅频特性,截止频率,阻带,低通滤波器,fk,通带 From: https://www.cnblogs.com/zyssj/p/16838128.html