python连续函数的傅立叶变换
时间: 2023-11-20 12:57:50 浏览: 79
连续信号的傅立叶变换
傅立叶变换是一种将信号从时域转换到频域的方法,可以将一个连续时间的信号分解成一系列正弦和余弦函数的和。在Python中,可以使用SciPy库中的fft函数来进行傅立叶变换。
下面是一个简单的示例代码,展示如何使用Python进行连续函数的傅立叶变换:
```python
import numpy as np
from scipy.fft import fft, fftfreq
import matplotlib.pyplot as plt
# 定义连续函数
def f(x):
return np.sin(2*np.pi*x) + 0.5*np.sin(6*np.pi*x)
# 定义采样点数和采样间隔
N = 1000
T = 1.0 / 1000.0
# 生成采样点
x = np.linspace(0.0, N*T, N, endpoint=False)
y = f(x)
# 进行傅立叶变换
yf = fft(y)
xf = fftfreq(N, T)[:N//2]
# 绘制原始信号和傅立叶变换后的频谱图
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_xlabel('Time')
ax.set_ylabel('Amplitude')
fig, ax = plt.subplots()
ax.plot(xf, 2.0/N * np.abs(yf[:N//2]))
ax.set_xlabel('Frequency')
ax.set_ylabel('Amplitude')
plt.show()
```
在这个示例代码中,我们定义了一个连续函数f(x),然后生成了1000个采样点,并使用fft函数进行傅立叶变换。最后,我们绘制了原始信号和傅立叶变换后的频谱图。
阅读全文