rockzone 发表于 2008-1-19 15:13

H=;
=lsim(H,y,t);%y是原始信号

yA就是滤波后的波形

rockzone 发表于 2008-1-19 19:13

刚做了FFT滤波,不知道对不对
麻烦大家帮忙看看

dt=1/1000;
N=5000;
n=0:N-1;
t=n*dt;
f=n/(N*dt);
x1=exp(-t);
x2=0.025*sin(2*pi*50*t);
y1=x1+x2;
z=fft(y1);
z(251)=0.;%50Hz点频谱幅度置零
figure(1)
plot(t,x1)
title('指数信号')
xlabel('时间/S')
figure(2)
plot(t,y1)
xlabel('时间/S')
title('指数信号叠加50Hz纹波')
figure(3)
plot(t,real(ifft(z)))
title('FFT滤波后,通过IFFT变换到时间域')
xlabel('时间/S')

这种方法应该很彻底的滤掉了50HZ正弦波

但是滤波效果不太理想,是我程序有问题吗?

麻烦高手帮我看看。谢谢了 ~

VibrationMaster 发表于 2008-1-19 20:28

要共扼置零,也就是z(4751)也要为零

songzy41 发表于 2008-1-19 20:34

本帖最后由 wdhd 于 2016-9-8 14:52 编辑

原帖由 rockzone 于 2008-1-19 19:13 发表
刚做了FFT滤波,不知道对不对
麻烦大家帮忙看看

dt=1/1000;
N=5000;
n=0:N-1;
t=n*dt;
f=n/(N*dt);
x1=exp(-t);
x2=0.025*sin(2*pi*50*t);
y1=x1+x2;
z=fft(y1);
z(251)=0.;%50Hz点频谱幅度置零
figur ...
把“z(251)=0.;%50Hz点频谱幅度置零”语句改为
z(251)=0.;z(4751)=0;%50Hz点频谱幅度置零
就能把正弦信号消去,得下图:

rockzone 发表于 2008-1-20 13:07

高手就是高手,谢谢楼上二位!!

witty01 发表于 2008-1-24 10:41

回复12楼的帖子

这是一篇文献里面设计陷波滤波器的公式,能够设计出连续的滤波器,我想知道楼主在得到b,a参数的时候用到的是什么公式,得到陷波器的性能与采样频率还有什么关系吗?

附件里是pdf格式的文献

[ 本帖最后由 witty01 于 2008-1-24 10:44 编辑 ]

witty01 发表于 2008-1-24 10:42

回复12楼的帖子



[ 本帖最后由 witty01 于 2008-1-24 10:44 编辑 ]

rockzone 发表于 2008-1-26 15:22

我做的模拟陷波器就是应用G(s)传递函数

至于b,a的确定方法,看看matlab帮助,或者信号教材,你就知道怎么确定了

模拟滤波器跟采样频率没关系
页: 1 [2]
查看完整版本: 如何滤除指数信号叠加的正弦波?