信号原理Lab1
郭高旭 ggx21@mails.tsinghua.edu.cn 2021010803
实验目的
通过对傅里叶级数的可视化,建立起对里叶级数如何近似周期函数的直观感受,同时练习傅里叶级数参数$a_0,a_n,b_n$的计算
实验内容
补充程序内容,实现对方波信号
和半圆波信号
的可视化
实验步骤
-
实现信号函数:
实现信号函数f(t),传入自变量,返回函数值
-
计算傅里叶级数的系数
$$
a_n = \frac{2}{T} \int_{0}^{T} f(x) \cos\left(\frac{2\pi n x}{T}\right) dx\
b_n = \frac{2}{T} \int_{0}^{T} f(x) \sin\left(\frac{2\pi n x}{T}\right) dx\
a_0 = \frac{1}{T} \int_{0}^{T} f(x) dx
$$-
对于方波信号来说,傅里叶级数的计算比较简单即
$$
a_0=0.5;a_n=0;b_n=\frac {2}{n\pi},n\in奇,=0,n\in 偶
$$ -
对于半圆波来说,除了$a_0=\frac {\pi^2}{4}$易得外,系数不太好得出解析解,故采用了
scipy.integrate
包带入公式求解,具体内容见代码.
-
-
将N_Fourier改为2,4,8,16,32,64,128,得到不同傅里叶级数的可视化结果
建立一个数组,遍历执行visualize即可
实验现象
-
视频中的红线基本上平行于x轴
-
随着N_Fourier取值增加,红线更加平行
实验结论
-
傅里叶级数确实可以近似周期函数,随着n的增加,近似程度更高。