欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

用Python实现连续信号的傅立叶变换与傅立叶级数详解

最编程 2024-02-19 08:11:57
...


直流分量和交流分量

任意信号f(t)可以分解为直流分和交流分量,该信号的直流分量就是该信号的几何平均值,是一个与事件无关的常数:

python连续信号的傅里叶变换 连续信号的傅里叶级数_html

以T为周期的周期信号的直流分量为:

python连续信号的傅里叶变换 连续信号的傅里叶级数_三角函数_02

从周期信号中减去直流分量就可以得到信号的交流分量。

 

三角型傅里叶级数

正弦函数是简单的周期函数:y=Asin(wt+Φ),其中周期为2π/w,A为振幅,w为角频率,Φ为初相位。

 要想研究非周期函数,先来讨论周期函数。可以将周期为2l的周期函数f(t)展开成简单的周期函数,例如三角函数组成的级数(这时候还不能叫做傅里叶级数)

 

python连续信号的傅里叶变换 连续信号的傅里叶级数_三角函数_03

其中A0表示f(t)的直流分量,A1sin(wt+Φ)称为一次谐波(也叫基波),而A2sin(2wt+Φ)称为二次谐波...等等。将Ansin(nwt+Φ)完全展开后得到:

python连续信号的傅里叶变换 连续信号的傅里叶级数_python连续信号的傅里叶变换_04

我们可以令A0=a0/2,AnsinΦn=an ,AncosΦn=bn,w=π/l,那么将这些带入公式可得:

 

python连续信号的傅里叶变换 连续信号的傅里叶级数_python连续信号的傅里叶变换_05

将πt/l=x,将式子整理得出:

python连续信号的傅里叶变换 连续信号的傅里叶级数_html_06

这样就得到了周期函数的三角函数级数。

傅里叶级数是一种频域分析工具,可以理解成一种复杂的周期波分解成直流项、基波(角频率为ω)和各次谐波(角频率为nω)的和,也就是级数中的各项。

为什么可以将周期信号分解成不同的简单正弦函数呢?下面看几幅图就比较清楚了:

python连续信号的傅里叶变换 连续信号的傅里叶级数_傅里叶级数_07

 

为了得到傅里叶级数,下面讨论三角函数系的正交性

三角函数系:1,cosx,sinx,cos2x,sin2x,...,cosnx,sinnx,...

三角函数系在区间[-π,π]上正交,就是指三角函数系中任意不同的两个函数乘积在区间[-π,π]上的积分等于0,如下图

python连续信号的傅里叶变换 连续信号的傅里叶级数_html_08

 

下面基于三角函数系讨论将函数展开成三角函数型傅里叶级数

python连续信号的傅里叶变换 连续信号的傅里叶级数_html_09

指数型傅里叶级数

上面已经讨论了三角函数型的傅里叶级数,下面将该傅里叶级数进行变形,通过欧拉公式,改写成指数型傅里叶级数。

python连续信号的傅里叶变换 连续信号的傅里叶级数_傅里叶级数_10

图中的圆形标记可以看出求和的上下限是1→无穷大,因为在三角函数型傅里叶级数中的频率是从基波(一次),二次,三次...依次进行累加。

 矩形框标记中显示了比较奇妙的思路:

python连续信号的傅里叶变换 连续信号的傅里叶级数_傅里叶级数_11

单独的一个Fnejmwt不能构成一个谐波分量,必须是Fnejmwt和F-ne-jmwt成对出现才能构成一个实际存在的谐波分量。负频率的出现仅仅是数学形式,实际并不存在。F-n=Fn*是Fn的共轭负数,他们总是成对出现的。

Fn的求解进行解释说明,在解释之前先写出Fn的定义式:

python连续信号的傅里叶变换 连续信号的傅里叶级数_html_12

其中对Fn的求解有两种求解方式,首先介绍第一种:

python连续信号的傅里叶变换 连续信号的傅里叶级数_傅里叶级数_13

其次是第二种,将三角函数型的傅里叶级数的系数表达式代入指数型傅里叶级数进行求解,然后通过归纳法求解通式:

python连续信号的傅里叶变换 连续信号的傅里叶级数_html_14

将已得到的结果进行合并写成:

python连续信号的傅里叶变换 连续信号的傅里叶级数_html_15

傅里叶级数之间的关系

python连续信号的傅里叶变换 连续信号的傅里叶级数_三角函数_16

 另外|Fn|=|F-n|是n的偶函数,Φn=-Φ-n是n的奇函数。

微分冲激法求解傅里叶系数

微分冲激法的主要思路是将信号进行多次微分成冲激信号 ,然后根据时移性和时域微分性对傅里叶级数的影响,从而求解出原信号的傅里叶级数,因为冲激信号的傅里叶级数是固定不变的,可以通过定义求解出来。

python连续信号的傅里叶变换 连续信号的傅里叶级数_傅里叶级数_17

 

 

--------------------------------------------------------------------------

Github地址: Extract-inner-image