返回信息流我产生了两个cos信号,一个是20hz,另一个是200hz。我设计了一个低通滤波器,截止频率为50hz,程序如下,但输出滤波结果不对,请问是哪里出了错,该怎么改?谢谢!
t=1/10000:1/10000:1;
fL=20;
fH=200;
sL=cos(2*pi*fL*t);
sH=cos(2*pi*fH*t);
s=sL+sH;
%设计低通滤波器:
Wp = 50/10000; Ws = 100/10000; %截止频率50Hz,阻带截止频率100Hz,采样频率10000Hz
[n,Wn] = buttord(Wp,Ws,1,50); %阻带衰减大于50db,通带纹波小于1db
%估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wn
[a,b]=butter(n,Wn); %设计Butterworth低通滤波器
[h,f]=freqz(a,b,500,10000); %求数字低通滤波器的频率响应
figure(1);
plot(f,abs(h)); %绘制Butterworth低通滤波器的幅频响应图
title('巴氏低通滤波器');
grid; %绘制带网格的图像
sf=filter(a,b,s); %叠加函数S经过低通滤波器以后的新函数
figure(2);
plot(t,sf); %绘制叠加函数S经过低通滤波器以后的时域图形
xlabel('时间 (seconds)');
ylabel('时间按幅度');
这是一条镜像帖。来源:北邮人论坛 / matlab / #6522同步于 2010/3/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
matlab低通滤波问题
cfin
2010/3/25镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复