LabSignal01

信号原理Lab1

郭高旭 ggx21@mails.tsinghua.edu.cn 2021010803

实验目的

通过对傅里叶级数的可视化,建立起对里叶级数如何近似周期函数的直观感受,同时练习傅里叶级数参数$a_0,a_n,b_n$的计算

实验内容

补充程序内容,实现对方波信号半圆波信号的可视化

实验步骤

  1. 实现信号函数:

    实现信号函数f(t),传入自变量,返回函数值

  2. 计算傅里叶级数的系数
    $$
    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包带入公式求解,具体内容见代码.

  3. 将N_Fourier改为2,4,8,16,32,64,128,得到不同傅里叶级数的可视化结果

    建立一个数组,遍历执行visualize即可

实验现象

  • 视频中的红线基本上平行于x轴

  • 随着N_Fourier取值增加,红线更加平行

实验结论

  • 傅里叶级数确实可以近似周期函数,随着n的增加,近似程度更高。




本文总阅读量