帮我看看这个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的帖子,好像有点启发,不过最后还是没能实现,所以这帖子绝对不是一点不思考就发出来的,真的是苦思冥想,毫无结果,希望经过的高人能指点一下,开阔一下思路。
不好意思,不知道这些图怎么还显示出来了,请路过的高手们看看附件吧,有很详尽的描述!
http://forum.vibunion.com/forum-viewthread-tid-67937-highlight-IFFT.html
这个帖子是我看过的,觉得很好,可是到了自己手里觉得怎么都做不出来,希望大家指点一下,让思路开阔一点 都没人知道吗,给我指点一下吧,急啊 {:{19}:}唉,,,又是这样
页:
[1]