傅里叶定理
法国科学家傅里叶说过, 任何一个周期函数都是n个不同振幅/不同频率/不同相位的正弦函数叠加而成.
合成方波
一个方波由如下参数的正弦波叠加而成:
y
=
4
π
×
s
i
n
(
x
)
y
=
4
3
π
×
s
i
n
(
3
x
)
y
=
4
5
π
×
s
i
n
(
5
x
)
.
.
.
.
y
=
4
2
n
−
1
π
×
s
i
n
(
(
2
n
−
1
)
x
)
y = 4\pi \times sin(x) \\ y = \frac{4}{3}\pi \times sin(3x) \\ y = \frac{4}{5}\pi \times sin(5x) \\ ....\\ y = \frac{4}{2n-1}\pi \times sin((2n-1)x) \\
y=4π×sin(x)y=34π×sin(3x)y=54π×sin(5x)....y=2n−14π×sin((2n−1)x)
案例:
"""
叠加方波
"""
import numpy as np
import matplotlib.pyplot as mp
x = np.linspace(-2*np.pi, 2*np.pi, 1000)
# 叠加3条曲线
y1 = 4*np.pi * np.sin(x)
y2 = 4/3*np.pi * np.sin(3*x)
y3 = 4/5*np.pi * np.sin(5*x)
y = y1 + y2 + y3
# 叠加1000条曲线
y = np.zeros(x.size)
for i in range(1, 1000):
y += 4/(2*i-1)*np.pi * np.sin((2*i-1)*x)
mp.grid(linestyle=':')
mp.plot(x, y1)
mp.plot(x, y2)
mp.plot(x, y3)
mp.plot(x, y,linewidth=2)
mp.show()