首页 > 其他分享 >第5题:试设计一巴特沃斯低通滤波器,其处理的数据采样率为2Hz,允许0.6Hz以下的信号通过。请绘制此滤波器的幅频特性。(MATLAB)

第5题:试设计一巴特沃斯低通滤波器,其处理的数据采样率为2Hz,允许0.6Hz以下的信号通过。请绘制此滤波器的幅频特性。(MATLAB)

时间:2022-10-29 10:12:39浏览次数:107  
标签:Hz 滤波器 Rp 幅频特性 截止频率 阻带 低通滤波器 fk 通带

首先对题目进行分析,采样率为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

相关文章