juanli9880 发表于 2010-9-2 22:19

帮我看看这个FFT程序吧,绝对不是随便发的帖子

   
这是程序:要实现的功能我放在附件里了,因为公式有点麻烦,只好用附件上传了,麻烦大家下载看一下了。
clear
sim('rub12s8s');               %将simulink中系统模型引入
Gp0=1;                            %公式8里的Gp0               
Ts=0.01;                        %采样时间,可能对结果也有影响   
fs=1/Ts;                           %采样频率
yc1=yc(1:2560);               % 取系统的部分响应数据大概是0-25s
uc1=uc(1:2560);               
N=length(yc1);                  % 根据采样时间,确定数据长度
fft_yc=(fft(yc1))';               %进行fft变换
fft_uc=(fft(uc1))';
k=0:N-1;
w=k*(2*pi/N/Ts);            %不知道这样取w有没有问题?
Gp=(1./(j*w)+fft_yc)./(1./(j*w)+fft_uc);   %公式(2)   得到对象频率响应
Gp=;                        % conj:求共轭 增加负频率部分(ps:这是在论坛里看到的要这样做,可以减小ifft的误差)
n=length(Gp);                     
y=n*(ifft((Gp(1:2560)-Gp0))'./(j*w))+Gp0;       %公式(8 ),得到时域响应


    这个问题,我研究很长时间了,始终没有突破,可能是对这方面悟性实在是太差了。发这帖子之前,我在论坛里搜过一些关于FFT的帖子,好像有点启发,不过最后还是没能实现,所以这帖子绝对不是一点不思考就发出来的,真的是苦思冥想,毫无结果,希望经过的高人能指点一下,开阔一下思路。

juanli9880 发表于 2010-9-2 22:22

不好意思,不知道这些图怎么还显示出来了,请路过的高手们看看附件吧,有很详尽的描述!
http://forum.vibunion.com/forum-viewthread-tid-67937-highlight-IFFT.html
这个帖子是我看过的,觉得很好,可是到了自己手里觉得怎么都做不出来,希望大家指点一下,让思路开阔一点

juanli9880 发表于 2010-9-6 09:13

都没人知道吗,给我指点一下吧,急啊

juanli9880 发表于 2010-9-6 18:29

{:{19}:}唉,,,又是这样
页: [1]
查看完整版本: 帮我看看这个FFT程序吧,绝对不是随便发的帖子