Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-03-19, 21:46   #1
kcdreamer
初级会员
 
注册日期: 2008-12-13
年龄: 40
帖子: 2
声望力: 0
kcdreamer 正向着好的方向发展
默认 [求助]信号如何通过滤波器

各位大虾们,小弟做了一个模拟低通滤波器,但是不知道如何让信号通过,请帮帮忙,多谢!程序如下:

f1=100; %载波一频率
f2=200; %载波二频率
fs=2000; &采样频率
t=0:1/fs:0.1; &采样时间
x=2*cos(2*pi*f1*t)+4*cos(2*pi*f2*t); &合成信号
subplot(2,2,1)
plot(t,x)
k=1024; &信号x的fft
ff=fs*(0:k/2-1)/k;
p=abs(fft(x,k));
subplot(2,2,2)
plot(ff,p(1:k/2))

wp=2*pi*110; &模拟滤波器设计
ws=2*pi*130;
ap=2;as=20;
[n,wc]=buttord(wp,ws,ap,as,'s');
[b,a]=butter(n,wc,'s');
m=filter(b,a,x); &通过滤波器后的信号m
subplot(2,2,3)
plot(t,m)
subplot(2,2,4)
v=abs(fft(m,k));
plot(ff,v(1:k/2))

如果是因为信号是数字的,滤波器是模拟的,所以没有结果。那我将滤波器代码变为
wp=2*pi*110/fs; &模拟滤波器设计
ws=2*pi*130/fs;
ap=2;as=20;
[n,wc]=buttord(wp,ws,ap,as);
[b,a]=butter(n,wc);
后,为何滤出的波形和原先信号一样?就是说滤波器没起作用?望大虾们赐教!
kcdreamer 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 21:05


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.