zoukankan      html  css  js  c++  java
  • 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. 计算周期函数在各个分量下的内积, 并求和

  • 相关阅读:
    C#按键打开文件选择对话框,并把选择好的路径保存/显示到textBox
    C#按钮打开浏览器,网址
    阅读笔记05
    进度条14
    冲刺4--10
    冲刺3
    冲刺2
    课堂训练书本
    进度条13
    课堂水王2
  • 原文地址:https://www.cnblogs.com/draven123/p/11403284.html
Copyright © 2011-2022 走看看