【发布时间】:2013-02-19 09:08:57
【问题描述】:
如果我有一个波形x 比如
x = [math.sin(W*t + Ph) for t in range(16)]
用任意的W 和Ph,我计算它的(Real) FFT f 用
f = numpy.fft.rfft(x)
我可以得到原始的x
numpy.fft.irfft(f)
现在,如果我需要将恢复波形的范围向左和向右扩展多个样本,该怎么办? IE。波形y 使得len(y) == 48、y[16:32] == x 和y[0:16], y[32:48] 是原始波形的周期性扩展。
换句话说,如果 FFT 假设它的输入是一个无限函数 f(t) 在 t = 0, 1, ... N-1 上采样,如何恢复 f(t) 的 t<0 和 t>=N 的值?强>
注意:我以完美的正弦波为例,但实际上x 可以是任何信号:任意信号,例如x = range(16) 或x = np.random.rand(16),或任意长度的段取自一个随机的.wav 文件。
【问题讨论】:
-
您可能也想在dsp.stackexchange.com 中问这个问题,以防万一。
-
不要在两个论坛上提问。如果您意识到您在错误的地方提问,请删除并在其他地方提问,或者请版主移动它。 meta.stackexchange.com/questions/64068/…
标签: python numpy signal-processing fft ifft