[傅里叶变换及其应用学习笔记] 二. 周期性,三角函数表示复杂函数

    这份是本人的学习笔记,课程为网易公开课上的斯坦福大学公开课:傅里叶变换及其应用。

 

这节课目的

如何用像sincos这些简单的函数来表示复杂周期函数。

 

信号周期化

并不是所有现象都是周期性的,而且即使是周期性的现象(时间周期性),最终都会终结。而sincos这些数学函数是无始无终的,那么我们该怎么做?

我们采用了一种叫信号周期化的方法:

设有如下信号(左)

image

我们可以把它无限复制,这样就成了一个周期信号,然后研究我们感兴趣的部分(单一周期内的信号)。

由于有了信号周期化这种做法,我们的傅里叶研究将相当广泛。

 

设定周期

为了方便我们后面的学习,在此设定周期为1,后面的学习会遵循该设定,即

f(t+1)=f(t)

因此信号模型为sin(2πt)cos(2πt)

 

结论

首先引出结论,周期为1的信号,可以由sin(2πt)cos(2πt)组成

 

一个周期,多个频率

举个例子

下图分别为sin(2πt)sin(4πt)sin(6πt)的图形

sin2pit   sin4pit   sin6pit

sin(2πt)的周期是1,频率是1。

sin(4πt)的周期是1/2,频率是2,但是1也可以是它的周期。

sin(6πt)的周期是1/3,频率是3,但是1也可以是它的周期。

把他们组合起来(相加)得到sin(2πt)+sin(4πt)+sin(6πt),图形如下

sin(246pit)

这个复杂的图形的周期还是1,它是由周期为1,频率不同的sin函数组成的。

 

上面的例子只是不同频率的组合,我们还可以改变他们的振幅,相位。这表明我们通过sin已经可以组成非常多的信号

k=1nAksin(2πkt+φk)

注:k=1的项被称为基波(fundamental wave),k>1的项被称为谐波(harmonic)

 

公式推导

对sin进行分解

sin(2πkt+φk)=sin(2πkt)cosφk+cos(2πkt)sinφk

因此有

k=1nAksin(2πkt+φk)=k=1nAksin(2πkt)cosφk+cos(2πkt)sinφk=k=1n(akcos(2πkt)+bksin(2πkt))

ak,bk与相位φk和振幅Ak有关。

另外,我们还可以添加一个常量来表示其中不变的部分:

a02+k=1n(akcos(2πkt)+bksin(2πkt))

该常量a02被称为直流分量(DC component)。

 

复指数式

上面的式子还可以推导成复指数的方式

有如下欧拉公式:

e2πikt=cos(2πkt)+isin(2πkt),i=1

cos(2πkt)=e2πikt+e2πikt2

sin(2πkt)=e2πikte2πikt2i

 

通过欧拉公式对上述式子进行展开,得

akcos(2πkt)+bksin(2πkt)=ake2πikt+ake2πikt2+bke2πiktbke2πikt2i=ake2πikt+ake2πikt2+bkie2πikt+bkie2πikt2=akbki2e2πikt+ak+bki2e2πikt

分成akbki2e2πiktak+bki2e2πikt两部分。按照我们前面的推论,k作为调整频率的系数,是一个正整数,现在如果我们把复指数上的符号移动到k上,k就称为了覆盖正负的整数,那么上面的式子就变成

akcos(2πkt)+bksin(2πkt)=akbki2e2πikt+ak+bki2e2πiktk>0=akbki2e2πiktk>0+ak+bki2e2πiktk<0

akbki2ak+bki2取出来用Ck表示,则有,

Ck={akbki2 , k>0ak+bki2 , k<0

Ck为复数且满足以下条件,

Ck=Ck¯

 

有了上述条件,式子可以写成

k=1n(akcos(2πkt)+bksin(2πkt))=k=nnCke2πikt

 

上述推导引出一个结论:对于一个真实的信号(值为实数),当它转换为上述复数形式时,它的系数对称存在,即有k必然会有k,且CkCk共轭。反过来,如果系数满足上述条件,那么此信号也是真实信号。

 

通用性

我们已经从sin的组合推导到了复指数之和的形式。那么说回来,这种三角函数的组合形式是否可以用到更大的范围?它是否适用于一般周期函数?

下面,我们假设这个推断是成立的,三角函数之和适用于一般周期函数,则有,

f(t)=k=nnCke2πikt

取出该多项式其中的一项Cme2πimt,nmn

Cme2πimt=f(t)kmnCke2πikt

等号两边同时乘以e2πimt,得

Cm=e2πimtf(t)kmnCke2πimte2πikt =e2πimtf(t)kmnCke2πi(km)t

对等号两边同时积分

01Cmdt=Cm

 

01(e2πimtf(t)kmnCke2πi(km)t)dt=01e2πimtf(t)dtkmnCk01e2πi(km)tdt=01e2πimtf(t)dtkmnCk12πi(km)e2πi(km)t|01=01e2πimtf(t)dtkmnCk12πi(km)(e2π(km)te0)=01e2πimtf(t)dtkmnCk12πi(km)(cos2π(km)+isin2π(km)1)spread with Euler Formular=01e2πimtf(t)dtkmnCk12πi(km)(1+01)k and m is interger=01e2πimtf(t)dt

即,

Cm=01e2πimtf(t)dt

posted @   TaigaComplex  阅读(9628)  评论(18编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示