傅里叶变换python
时间: 2023-07-31 17:07:00 浏览: 100
在Python中,可以使用scipy库中的fft函数来进行傅里叶变换。下面是一个简单的示例代码:
```python
import numpy as np
from scipy.fftpack import fft
import matplotlib.pyplot as plt
# 生成信号数据
Fs = 2000 # 采样频率
Ts = 1.0 / Fs # 采样间隔
N = 2000 # 采样点数
t = np.linspace(0, N * Ts, N) # 时间序列
data = 2 * np.sin(4 * np.pi * 50 * t) + 4 * np.sin(4 * np.pi * 120 * t) # 原始信号
# 进行傅里叶变换
data_f = fft(data) # 傅里叶变换结果
# 绘制频域图
frq = np.arange(N) * Fs / N # 频率序列
data_f1 = data_f\[:N // 2\] # 取一半频谱
plt.plot(frq\[:N // 2\], np.abs(data_f1), 'red') # 绘制频谱图
plt.xlabel('Frequency (Hz)')
plt.ylabel('Amplitude')
plt.title('Frequency Spectrum')
plt.show()
```
这段代码首先生成了一个包含两个正弦波的信号数据,然后使用fft函数对信号进行傅里叶变换,得到频域表示。最后,使用matplotlib库绘制了频域图。
#### 引用[.reference_title]
- *1* *3* [时间序列信号处理(四)——傅里叶变换和短时傅里叶变换python实现](https://blog.csdn.net/abc1234abcdefg/article/details/123502072)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [python_傅里叶变换(DFT、FFT、STFT)](https://blog.csdn.net/qq_34229228/article/details/123417079)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文