numpy繪制方波及方波無窮級數的表示


繪制方波

方波可以近似表示為多個正弦波的疊加

任意一個方波信號都可以用無窮傅里葉級數來表示

  # 傅里葉級數是以正弦函數和余弦函數為基函數的無窮級數

 

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. 計算周期函數在各個分量下的內積, 並求和

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM