登录论坛

查看完整版本 : 傅里叶谐波分析?


风声边剑
2009-08-12, 20:12
大家好:
假如吧俩组数据导入mathcad,画出图形s(例如是1500个点),在进行fft的时候把点设置为1024,y=fft(s),进一步求出绝对值|y|,现在主要是横坐标的问题,根据f=length(y)=513,请问接下来要画出谐波波形,横坐标是f 吗?是不是还要经过一定的变化?如果这样觉得和matlab有点出入,不知道怎么办,请大家指教,谢谢!

cgfan
2009-08-21, 14:31
假设你有两组数据{t}和{data}, 采样频率为fs的话, 可以这样处理

首先假设数据总个数为是2的正整数次方,此外系统变量ORIGIN=0

信号的频谱向量 F=FFT(data)

求取最后一个向量的个数N: N=last(data) (记住ORIGIN是0不是1哦)

然后定义下标变量i: i=1..N (不是0..N)

功率谱为 Power i=|F i|^2

那么用于作图的频率(Hz)定义为 freq i=fs*(i/N)

然后就是作图了. 一般如果低频成分多的话,可以分段作图,看频率会清楚一些,没必要把所有的自变量都做出来,否则看上去峰无法分开. 此外如果数据个数不是2的整数次方的话,用cfft, CFFT也可以,不过就要分析另外一半频谱了