kevin19821 发表于 2007-8-15 08:11

谁帮我看段程序?谢谢了

FW =dt*fft(W)/2/pi;
Fyy=dt*fft(yy)/2/pi;
Fres = Fyy.*FW;
res = 2*pi*ifft(Fres)/dt;
res=res*2*pi*2*2^k;
res=res(1:2^k:end);
real_res=real(res);
imag_res=imag(res);
Freal_res=fft(real_res);
Hres=hilbert(real_res);
r=abs(res).^2;
A=sqrt(r);
figure(2);
subplot(211);
plot(real_res,'r');
hold on;
plot(imag_res,'k');
hold on;
subplot(212);
plot(A);

kevin19821 发表于 2007-8-15 08:23

也就是说时域为y2=0.05*sin(2*pi*150*t);y2的取值为实数
f3=fft(y2)进行fft之后为复数
,进行plot(f3)画图之后怎么才能看到和原来的y2波形一样呢?

zhlong 发表于 2007-8-15 08:33

回复 #2 kevin19821 的帖子

f3和y2波形一样?一个频域、一个时域。

kevin19821 发表于 2007-8-15 08:40

错了,忘记给y4=ifft(y3)
y4为复数,怎么画出时域和y2一样的

[ 本帖最后由 zhlong 于 2007-8-15 08:59 编辑 ]

kevin19821 发表于 2007-8-15 08:41

plot(real(y4),'r')
hold on
plot(imag(y4))
hold on 两个波形混在一起的,y4运行出来的话为一复数

[ 本帖最后由 kevin19821 于 2007-8-15 08:45 编辑 ]

songzy41 发表于 2007-8-15 08:55

real(y4)将和 y2一样。

kevin19821 发表于 2007-8-15 08:59

但是幅值不一样

zhlong 发表于 2007-8-15 09:37

回复 #7 kevin19821 的帖子

楼主的符号太混乱了。
建议举个例子,贴上结果的图片来讨论。

eight 发表于 2007-8-15 19:34

本帖最后由 wdhd 于 2016-9-7 15:26 编辑

原帖由 kevin19821 于 2007-8-15 08:11 发表
FW =dt*fft(W)/2/pi;
Fyy=dt*fft(yy)/2/pi;
Fres = Fyy.*FW;
res = 2*pi*ifft(Fres)/dt;
res=res*2*pi*2*2^k;
res=res(1:2^k:end);
real_res=real(res);
imag_res=imag(res);
Freal_res=fft(real_res); ...
建议多看看matlab版面的置顶贴,每次发帖把你遇到的问题描述清楚,而不是把程序一放就什么都不管了
页: [1]
查看完整版本: 谁帮我看段程序?谢谢了