PDA

查看完整版本 : 怎么把输出变为符合FFT要求的变量


28637634
2008-05-11, 16:52
ia是从一个仿真模型中导出的一个量,我要做的是把这个量的频谱显示出来,不知道用什么语句好。
下面的代码好像是说ia这个量不符合要求,我该怎么做才能正确的把ia的频谱显示出来呢?求助~

t=0:1/512:1;x=ia;
y=fft(x);m=abs(y);f=(0:length(y)-1)'*512/length(y);
figure(1);subplot(2,1,1),plot(t,x),grid on;title('信号检测');
ylabel('Input \itx'),xlabel('Time');
subplot(2,1,2),plot(f,m);
ylabel('Abs. Magnitude'),grid on;
xlabel('Frequency(Hertz)')
??? Error using ==> fft
Function 'fft' is not defined for values of class 'struct'.

pobu
2008-05-12, 17:57
仿真模拟的数据有没有导入到工作区间?
我也遇到过这样的问题,我的数据是通过采样得到的,通过导入Excel表格里面的数据,导入到工作区间,导入到工作去见里面后你会在工作去见里面找到你的数据
例如你导入的是ia数据源,但是导入到工作区间后数据的名字就不是ia了,可能会是Sheet1或者是data,这个时候fft函数的对象就应该是Sheet1或这是data了,fft(Sheet1)或者是fft(data)。
这样就不会出现
??? Error using ==> fft
Function 'fft' is not defined for values of class 'struct'.


希望你能琢磨一下体会到其中的意思。

28637634
2008-05-14, 00:31
先谢谢楼上的答复。
我用了To workspace来把需要的数据导入到工作区间。我的目的是分析ia这个波形的频谱,FFT对它所分析的数据有什么要求呢?
手头没有相关书,急。。。

本贴含了现在做的仿真文件,红色组件为要分析的ia。