czk108 发表于 2010-9-29 16:16

本帖最后由 czk108 于 2010-9-29 16:17 编辑

回复 songjianjiang 的帖子

我的意思是对信号f时域加窗w,然后做FFT不是相当于先得到信号f和窗w的频率特性再卷积,这2个过程不是等效的吗?也就是公式F=F(f)*F(w),F表示傅里叶变换。fw是f乘以w,*为卷积符号。
我现在就是想对等号左右分别用matlab编程实现,看是否一致。
右边的卷积过程不知道怎么做,有没有什么方法?3q

songjianjiang 发表于 2010-9-29 16:40

那就用matlab进行测试,卷积同样是conv,但是必须是时域以及窗的谱,这你要确定一下。

czk108 发表于 2010-9-29 17:08

回复 songjianjiang 的帖子

但是必须是时域以及窗的谱    不明白啊   

songjianjiang 发表于 2010-9-29 17:26

t = 0:0.001:1.023;
single = sin(2 * pi * 100 * t);
wind = hanning(1024)';
SigWind = single.*wind;
figure(1);
plot(abs(fft(hilbert(SigWind ))));
FFTSingle = fft(hilbert(single));
FFTWind = fft(hilbert(wind));
FFTConv = conv(FFTSingle, FFTWind);
figure(2);
plot(abs(FFTConv))
你试试,样子差不多,差个倍数关系,还有卷积后数据量多了一倍,Wr窗你自己试吧

czk108 发表于 2010-9-29 18:03

回复 songjianjiang 的帖子

为什么做fft时要加hilbert呢   有什么作用啊?为什么幅值会差那么大呢
太谢谢了

songjianjiang 发表于 2010-9-29 20:19

进行hilbert,以及幅值差别这么大的原因是双边谱与单边谱的原因,应该有N/2的倍数关系
页: 1 [2]
查看完整版本: FFT的实现过程问题