hehewangying 发表于 2008-8-4 14:41

请教下这样做傅氏滤波是不是不对啊?

程序如下:一个原始信号,然后加噪声,然后我想用傅氏滤波把噪声滤除掉!
出来的结果好像不对!
请各位指教!
万分感谢!!!
clear all;
t=0:0.0001:0.05
w=100*pi;
y1=20*exp(-t/0.03);
y2=20*sin(w*t+pi/3)+4*sin(2*w*t)+10*sin(3*w*t)+2*sin(4*w*t)+6*sin(5*w*t);
x1=y1+y2
subplot(311),plot(t,x1);title('原始信号')
x2=y1+y2+5/2*randn(1,501)
subplot(312),plot(t,x2);title('加噪后信号')
F=ifft(x2);
subplot(313),plot(t,F);title('滤波后信号')

songzy41 发表于 2008-8-4 15:18

从F=ifft(x2);
得到的怎么是'滤波后信号'信号呢?

hehewangying 发表于 2008-8-4 16:42

那后边应该怎么用傅氏滤波滤除掉噪声呢?
呵呵,我刚接触不太明白!学校放假又借不到这方面的书!
万分感谢!!!

zhwang554 发表于 2008-8-4 16:54

回复楼主

close all;clc;clear all;
t=0:0.0001:0.05
w=100*pi;
y1=20*exp(-t/0.03);
y2=20*sin(w*t+pi/3)+4*sin(2*w*t)+10*sin(3*w*t)+2*sin(4*w*t)+6*sin(5*w*t);
x1=y1+y2;
subplot(411),plot(t,x1);title('原始信号')
x2=y1+y2+10/2*randn(1,501);
subplot(412),plot(t,x2);title('加噪后信号')
F=ifft(x2);
ff=abs(F);
subplot(413),plot(t,ff);title('加噪信号的振幅谱')
F1=;%取出信号的谱线,其余置零
bb=fft(F1);
subplot(414),plot(t,2*bb);title('滤波后信号')

hehewangying 发表于 2008-8-5 15:36

真是万分感谢,我试了下图形还真是不错了!
虽然后边我还没有太看懂:)

laoaren 发表于 2008-8-9 21:47

回复 地板 zhwang554 的帖子

对于加噪的信号去噪时,为什么不是先FFT,求出频谱。然后取FFT后的几条主谱线,再IFFT,求出滤波后的信号呢?
这样滤波可以吗?

zhwang554 发表于 2008-8-10 07:13

回复 6楼

先FFT,求出频谱。然后取FFT后的几条主谱线,再IFFT,求出滤波后的信号

先IFFT,求出频谱。然后取IFFT后的几条主谱线,再FFT,求出滤波后的信号
是一样的
楼2程序是先IFFT,这样IFFT后的系数不必归1了

laoaren 发表于 2008-8-10 13:58

回复 7楼 zhwang554 的帖子

明白了。谢谢老师指点。

hehewangying 发表于 2008-8-18 13:55

恩,谢谢指教!我要更加努力学习了……
页: [1]
查看完整版本: 请教下这样做傅氏滤波是不是不对啊?