繪制方波
方波可以近似表示為多個正弦波的疊加
任意一個方波信號都可以用無窮傅里葉級數來表示
# 傅里葉級數是以正弦函數和余弦函數為基函數的無窮級數
Code
import numpy as np import matplotlib.pyplot as plt t = np.linspace(-np.pi, np.pi, 201) k = np.arange(1, 5) k = 2 * k - 1 #k = 99 f = np.zeros_like(t) for i in range(len(t)): f[i] = np.sum(np.sin(k * t[i])/k) f = (4 / np.pi) * f plt.plot(t, f) plt.show()
方波的無窮級數表示
歐拉公式
第一步:
以上為省略余項的麥克勞林公式
第二步:
在的展開式中把x換成±ix
第三步:
中將x = π, 得出
傅里葉級數
泰勒展開是將函數展開成冪函數的形式
傅里葉展開是將函數展開成三角函數的形式, 即 y= 1 + sinx +cosx +sin2x + cos2x + …..
# 頻率是反映周期變化的快慢
# 只有e^x 和sinx、cosx的二階導數是它們自身
1. 傅里葉展開就是把周期函數拆開成 常數(直流分量)+一倍頻分量+2倍頻分量+…
# 正弦函數和余弦函數的不同只是相位的不同
2.計算周期函數在各個倍頻分量下的投影
一個函數和另一個函數的的投影, 就是一個函數和另一個函數的內積, 就是兩個函數相乘, 然后在全區間上做積分
3. 根據投影計算各倍頻分量下的內積
4. 將這些內積求和
數學定義:
給定一個周期為T的函數x(t),那么它可以表示為無窮級數:
其中,
j為虛數單位
2π/T 表示該分量的頻率
表示x(t)的各個分量
表示函數x(t)在各個分量上的投影
ak * fk(t) 表示周期函數x(t)在某個分量下的內積
這是一個方波我們可以看出來,它是由sinx,sin3x,sin5x,sin7x組成的。其中, 紅色正弦函數的頻率稱為基頻, 其他所有正弦函數的頻率都是它的倍數.
傅里葉展開就是
1. 根據基頻, 計算出各個分量
2. 計算周期函數在這些分量中的投影
3. 計算周期函數在各個分量下的內積, 並求和