威望0
积分7976
贡献0
在线时间763 小时
UID1
注册时间2021-4-14
最后登录2024-11-24
管理员
- UID
- 1
- 威望
- 0
- 积分
- 7976
- 贡献
- 0
- 注册时间
- 2021-4-14
- 最后登录
- 2024-11-24
- 在线时间
- 763 小时
|
[mw_shl_code=applescript,true]%带通滤波器
%系统采样频率
fs=1200
%原始信号
N=400;
n=0:N-1;t=n/fs;
fl=100
fh=400
y=sin(2*pi*fl*t)+sin(2*pi*fh*t);
%显示原始信号
subplot(321)
plot(t,y)
title('输入信号');xlabel('t/s');ylabel('幅度');
%对原始信号频谱分析
sfft=fft(y);
subplot(322);
plot((1:length(sfft)/2)*fs/length(sfft),2*abs(sfft(1:length(sfft)/2))/length(sfft));
title('信号频谱');xlabel('频率/Hz');ylabel('幅度');
%设计低通滤波器
K = 2;
f1=60;f2=350
w1=2*pi*f1;w2=2*pi*f2;
Wo=sqrt(w1*w2);
Bw=w2-w1;
[z,p,k] = buttap(K);
[b,a] = zp2tf(z,p,k);
[b,a] = lp2bp(b,a,Wo,Bw);
[b1,a1] = bilinear(b,a,fs);
[H,W] = freqz(b1,a1,N,fs);
subplot(323)
plot(W,abs(H));
title('带通滤波器');
grid on;
%滤波
y1=filter(b1,a1,y);
%显示滤波后的波形及频谱
subplot(324);
plot(t,y1);
title('输出信号');xlabel('t/s');ylabel('幅度');
y2=fft(y1);
subplot(325);
plot((1:length(y2)/2)*fs/length(y2),2*abs(y2(1:length(y2)/2))/length(y2));
title('带通滤波后频谱');xlabel('频率/Hz');ylabel('幅度');
[/mw_shl_code] |
|