傅立叶级数变换恢复原始信号

时间:2010-11-21 18:19:52

标签: transform signals fft spectrum

假设我有三个复杂的波形(由许多正弦波组成):A,B和C.每个波形的频率如下:550,600,700 Hz。

现在我添加三个信号,即进行叠加以获得信号D.

我的目标是分别取回三个原始信号A,B和C.

我已经绘制了傅里叶谱,其中我获得了550,660和700 Hz的主峰。还有其他较小的山峰。我如何知道哪些波峰与哪些波形相关联,以便重新创建原始波形A,B和C?谢谢。

4 个答案:

答案 0 :(得分:5)

如果A,B和C不是纯正弦波,如果没有其他信息,您无法做到。假设A是频率为100和200 Hz的正弦波之和, B为300和400 Hz,C为500和600 Hz。现在考虑具有频率的信号D. 100和300 Hz,频率为200和500 Hz的E,频率为400和600 Hz的F, 每个组件的相位和幅度与A,B和C的组件相同。 (A + B + C)将与(D + E + F)具有相同的FFT,因此您无法区分它们。

答案 1 :(得分:2)

重要的是要意识到您需要在FFT之前应用window function,否则您将从您应用于时域数据的隐式矩形窗口的效果中获得频域中的假象。一个好的通用窗口函数是Hann (aka Hanning) window

答案 2 :(得分:1)

在不知道您正在使用哪种技术(DSP芯片,fftw等)的情况下,无法为您提供实施细节。但是,应用快速傅里叶变换,然后假设您想要在550,600和700重建三个纯正弦波,FFT将为您提供每个的幅度和相位。然后,y=a*sin(wt+p)形式的简单正弦表达式将重建信号。 “a”和“p”是来自FFT的幅度和相位,并且w = 2 * pi * f,其中f是550Hz,600Hz或700Hz。

答案 3 :(得分:0)

您需要添加任何形式的复杂信号吗?他们有模式吗?如果你想要检索任何形式的信号,那将是不可能的。但在某些情况下,你有一个限制材料,你可以做到这一点。例如,在旋律中,他们可以分离一些音高定义乐器的材料:http://www.youtube.com/watch?v=jFCjv4_jqAY