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
函数将傅里叶变换的结果移动到频谱的中心。最后,我们绘制了原始信号和移位后的傅里叶变换结果。
推荐阅读
-
两种方法将YUV420P文件转换为PNG图像格式的Python实现
-
python读取结果 python读取yuv
-
Python implementation of the Virtual Machine Project in Chapter 8 of [From Nand to Tetris]
-
OpenCV-based Object Tracking in C++/Python (使用C++/Python进行基于OpenCV的目标追踪)
-
学习实时目标跟踪:Python进阶指南
-
KCF跟踪算法在Python中的应用
-
Python实现具备单一目标、多目标、多尺度和自定义特征的KCF跟踪算法实例代码
-
用Python实现2048小游戏(终端升级版)相比上篇 增添了撤回功能和历史最高分数的统计
-
使用200行Python代码编写2048游戏
-
Python游戏开发,pygame模块,Python实现2048小游戏