傅立叶级数与周期信号分析
傅立叶级数用于将周期信号分解为不同频率的正弦和余弦函数的线性组合。对于周期为 ( T ) 的信号 ( x(t) ),其傅立叶级数展开为:
[ x(t) = a_0 + \sum_{n=1}^{\infty} \left( a_n \cos \frac{2\pi n t}{T} + b_n \sin \frac{2\pi n t}{T} \right) ]
其中,系数 ( a_0 )、( a_n ) 和 ( b_n ) 的计算公式为:
[ a_0 = \frac{1}{T} \int_{-T/2}^{T/2} x(t) dt ]
[ a_n = \frac{2}{T} \int_{-T/2}^{T/2} x(t) \cos \frac{2\pi n t}{T} dt ]
[ b_n = \frac{2}{T} \int_{-T/2}^{T/2} x(t) \sin \frac{2\pi n t}{T} dt ]
以下是一个Python示例,计算方波的傅立叶级数并绘制前5项谐波叠加的效果:
import numpy as np
import matplotlib.pyplot as plt
def fourier_series_square_wave(t, T, n_terms):
result = np.zeros_like(t)
for n in range(1, n_terms + 1):
harmonic = (4 / (np.pi * (2*n - 1))) * np.sin(2 * np.pi * (2*n - 1) * t / T)
result += harmonic
return result
T = 2 * np.pi
t = np.linspace(-2 * np.pi, 2 * np.pi, 1000)
plt.plot(t, fourier_series_square_wave(t, T, 5), label='5 terms')
plt.title('Square Wave Fourier Series Approximation')
plt.legend()
plt.grid()
plt.show()
傅立叶变换与非周期信号分析
傅立叶变换将非周期信号从
1万+

被折叠的 条评论
为什么被折叠?



