绘制方波
方波可以近似表示为多个正弦波的叠加
任意一个方波信号都可以用无穷傅里叶级数来表示
# 傅里叶级数是以正弦函数和余弦函数为基函数的无穷级数
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. 计算周期函数在各个分量下的内积, 并求和