FFTshift导致振荡 - 为什么? (numpy)
问题描述:
我的原始问题如下:FFTshift导致振荡 - 为什么? (numpy)
我在一个数组a(0元素=时间0,最后一个元素=时间T)中有一个脉冲包络。 我想要傅立叶谱的脉冲。所以我做的是np.fft.fftshift(np.fft.fft(a))
。都好。
但后来我被告知也要事先做一个转变:np.fft.fftshift(np.fft.fft(np.fft.fftshift(a)))
。然后出现振荡。
现在我不知道为什么人会做2班,如上图所示,为什么会出现振荡...
这里的例子: 我有以下代码
x = np.arange(100)
a =np.sin(np.pi*x**2/1000)
a_fft = np.fft.fft(a)
a_fft_shift = np.fft.fftshift(a_fft)
a_shift = np.fft.fftshift(a)
a_shift_fft = np.fft.fft(a_shift)
a_shift_fft_shift = np.fft.fftshift(a_shift_fft)
移位之前:低频率是在0和100的移位后,它们在50中,就好像它们在相当高的频率。 FFT和FFT^{ - 1}非常接近。因此,随着移位信号的FFT被计算,出现高频闭塞。 'np.fft.fftshift()'仅用于在曲线中间显示低频。仅用于显示! – francis