欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

python scipy fftshift

最编程 2024-08-14 14:36:28
...

scipy.fftpack.fftshift是SciPy库中的一个函数,用于将傅里叶变换的结果移动到频谱的中心。它通过将傅里叶变换的结果的前半部分移动到后半部分,并将后半部分移动到前半部分来实现移位。这使得频谱的中心位置与频率0对齐,并且可以使图像更加直观和易于理解。

示例:

import numpy as np
from scipy.fftpack import fft, fftshift
import matplotlib.pyplot as plt

# Generate a test signal
t = np.linspace(0, 1, 1000, endpoint=False)
sig = np.sin(2 * np.pi * 5 * t)

# Compute the FFT
fft_sig = fft(sig)

# Shift the FFT to center the spectrum
fft_sig_shifted = fftshift(fft_sig)

# Plot the original signal and the shifted FFT
plt.figure()
plt.plot(t, sig)
plt.title('Original Signal')

plt.figure()
plt.plot(np.abs(fft_sig_shifted))
plt.title('Shifted FFT')

plt.show()

在上面的代码中,我们生成了一个测试信号,并使用fft函数计算了它的傅里叶变换。然后使用fftshift函数将傅里叶变换的结果移动到频谱的中心。最后,我们绘制了原始信号和移位后的傅里叶变换结果。