如果我有一个波形x,例如
x = [math.sin(W*t + Ph) for t in range(16)]
与任意Wand Ph,我计算它的(Real)fFFT
f = numpy.fft.rfft(x)
x我可以得到原件
numpy.fft.irfft(f)
现在,如果我需要将恢复波形的范围扩展到左侧和右侧多个样本,该怎么办?即一个波形y,len(y) == 48和是原始波形的周期性扩展y[16:32] == x。y[0:16], y[32:48]
换句话说,如果 FFT 假设它的输入是一个f(t)在 上采样的无限函数t = 0, 1, ... N-1,我如何恢复f(t)fort<0和的值t>=N?
注意:我以完美的正弦波为例,但实际上x可以是任何信号:任意信号,例如x = range(16)or x = np.random.rand(16),或从随机.wav文件中获取的任意长度的段。