从fft后获得的频率,幅度和相位重建原始信号

时间:2011-06-01 22:08:16

标签: matlab fft equation-solving

从fft后获得的频率,幅度和相位重建原始信号。

问候

我正在尝试重建一个信号来自频率,幅度和相位,这是在我做一个信号的fft之后获得的,但当我尝试将fft数据(频率,幅度和相位)组合回来看看是否我得到一个类似的信号,模式有点偏。我认为它有 我的配方可能有点不正确。

我用来组合数据的公式是:

amplitude*sin(2*pi*time*frequency+phase)+amplitude*cos(2*pi*time*frequency+phase);

请注意: 目前我不想使用IFFT,因为我将在计算完成之前编辑幅度和频率

情节图像如下。顶部的是原始信号,底部的是用等式创建的信号。如果你想知道我正在使用matlab,但我认为问题在于等式。 enter image description here

TIA

2 个答案:

答案 0 :(得分:2)

IFFT是以下转型的有效实施:

       N-1
x[n] = SUM X[k] exp(j*2*pi*n*k/N)
       k=0

其中X[k]是您的FFT结果(复杂幅度),x[n]是您的时域样本。对于实际输入,可以使用cossin(或cos phase项来重写),但通常更容易坚持复杂的代表性。

[这可以大量矢量化,但我会把它留给你!]

答案 1 :(得分:0)

我不明白你为什么要在你的等式中同时存在一个罪和一个cos项:这应该这样做......

amplitude*sin(2*pi*time*frequency+phase);

除非有一些关于FFT的奇怪之处,否则使用sin和余弦项会导致缩放问题和相移。但是我不知道这是否可以解释你所看到的失真。这可能与您使用的FFT块大小有关。