计算原始数据的傅里叶级数系数

时间:2015-02-16 02:47:17

标签: matlab

我试图计算原始数据(随机信号)的Fourier series系数。

我成功地计算了信号的FFT,但我无法计算傅立叶级数系数​​。我的主要想法是生成一个分数或数字,表示有多少cos和sin波可以产生我的信号。例如,如果信号是正弦波,这意味着它是100%纯,因为它只能由一个正弦信号产生,如果它由两个正弦波组成,这意味着它不是纯波,如果它是100正弦波它真的不准确等等。

所以我的解决方案是计算信号的FFT,然后使用IFFT(逆FFT)生成另一个信号,使用较少数量的FFT样本,并检查原始信号和生成信号之间的相关性。如果它是相同的,这意味着它具有少量的正弦波。我不确定我是对还是错......答案是什么?

我的代码:

x = fft(s); %s is 2000 sample points
y = ifft(x(1:400), 2000);
c =  real(corr(s', y'));

0 个答案:

没有答案