一、傅里叶级数说明
f(t)=A0+n∑n=1[ancos(nωt)+bnsin(nωt)]
系数A0 an bn 可以通过函数f(t)在一个周期内的积分来计算。
需要满足狄利克雷条件条件:
(1)在一周期内,连续或只有有限个第一类间断点;
(2)在一周期内,极大值和极小值的数目应是有限个;
(3)在一周期内,信号是绝对可积的。
- 2.争议性
数学、物理学里很多定理都是通过公式推导得来的,而傅里叶级数原理确实傅里叶假想出来的(傅里叶在做热传导计算时提出),这个定理特殊处在于它无法正向去推导,而是先提出定理再去证明和应用。
大概时间线是这样的:
傅里叶任命助教,协助拉格朗日进行数学教学工作;
傅里叶在《热的传播》中提出:任何连续周期信号可以由一组适当的正弦曲线组合而成;
拉普拉斯等人赞同此文章,但拉格朗日强烈反对;
傅里叶发表《热的解析理论》,提出傅里叶级数;
狄利克雷傅里叶级数收敛的充分条件,即狄利克雷条件;
自始至终,拉格朗日认为正弦曲线无法组合成一个带有棱角的信号,而傅里叶级数表明可以用正弦曲线来非常逼近地表示它,逼近到两种表示方法不存在能量差别。
- 3.关于本文
本文主要是求解相关系数,并不能正向证明如何得到傅里叶级数,毕竟大佬们争议如此久的话题岂是我等能考虑的。
二、提前准备
- 1.泰勒级数
任意一个函数都可以用一个多项式来逼近:
f(x)=A+Bx+Cx2+Dx3+...
- 2.麦克劳林待定系数法
在泰勒级数基础上,依次对等式左右两边求n阶导数,然后令x=0,即可求得系数A、B、C...
f′(x)=B+2Cx+3Dx2+4Ex3...
f′′(x)=2C+6Dx+12Ex2...
...
A=f(0)
B=f′(0)
C=f′′(0)/(1∗2)
D=f′′′(0)/(1∗2∗3)
N=fn(x)/n!
...
- 3.三角函数的正交性
一个三角函数系:1,cosx , sinx , cos2x , sin2x , … , cosnx , sinnx , … 这一堆函数(包括常数1)中任何两个不同函数的乘积在区间[-π, π]上的积分等于零。
举例证明:
coskx∗cosnx=12[cos(k+n)x+cos(k−n)x]
当k不等于n时:
∫π−πcos(nx)dx=0 (n=1,2,3...)
∫π−πsin(nx)dx=0 (n=1,2,3...)
∫π−πsin(kx)∗cos(nx)dx=0 (k,n=1,2,3...)
∫π−πcos(kx)∗cos(nx)dx=0 (k,n=1,2,3...;k!=n)
∫π−πsin(kx)∗sin(nx)dx=0 (k,n=1,2,3...;k!=n)
∫π−πcos(kx)∗cos(kx)dx=π (k=1,2,3...)
∫π−πsin(kx)∗sin(kx)dx=π (k=1,2,3...)
注意第3个式子中k是可以和n想等的!
推导①:
∫π−πsin(kx)∗sin(nx)dx=−12[∫π−πcos(k+n)xdx−∫π−πcos(k−n)xdx]
=−12[1k+nsin(k+n)x|π−π−1k−nsin(k−n)x|π−π]
=0+0=0
推导②:
∫π−πcos(kx)∗cos(kx)dx=12[∫π−π1dx+∫π−πcos(2kx)dx]
=12∫π−π1dx
=π
其他公式同理。
∫baCdx=C∗(b−a)
三、傅里叶级数解推导
- 1.神奇的三角函数
由于物体的振动可以用三角函数来表示:
f(t)=Asin(ωt+ϕ)
其中A.ω.ϕ分别表示振幅、角频率、初相位。
- 2.傅里叶猜想
傅里叶引入猜想:任意周期函数都可以表示成许多的三角函数线性叠加(猜想来源貌似是解热方程和振动方程),即:
f(t)=A0+n∑n=1An∗sin(nωt+ϕn)
其中A0、n、An、ϕn都是常数,即对任意周期函数f(t)而言,可以分解乘很多个三角函数线性叠加,这些三角函数有一个基准角频率ω0(n=1),其他的三角函数角频率依次是ω0的整数(也就是我们现在熟知的谐波)
根据三角函数展开,得到:
f(t)=A0+n∑n=1[Ansin(nωt)cos(ϕn)+Ancos(nωt)sin(ϕn)]
令
an=Ansin(ϕn)
bn=Ancos(ϕn)
故
f(t)=A0+n∑n=1[ancos(nωt)+bnsin(nωt)]
由于此时的这个公式只是猜想的,方程中只有f(t)是已知的,而A0、an、bn是未知的,想要公式成立,只需要
证明A0、an、bn可以由已知的f(t)来表示
- 3.傅里叶级数证明
对f(t)=A0+∑nn=1[ancos(nωt)+bnsin(nωt)]两边进行[−π,π]的积分:
∫π−πf(t)=∫π−πA0+∫π−πn∑n=1[ancos(nωt)+bnsin(nωt)]
根据三角函数的正交性,得到:
∫π−πf(t)=∫π−πA0+0
根据常数定积分原理,得到:
∫π−πf(t)=A0∗(2π)=2πA0
故:
A0=12π∫π−πf(t)
对f(t)=A0+∑nn=1[ancos(nωt)+bnsin(nωt)]两边乘以coskωt(其中k=n):
f(t)∗coskωt=A0∗coskωt+n∑n=1[ancos(nωt)∗coskωt+bnsin(nωt)∗coskωt]
展开累加项得到:
f(t)∗coskωt=A0∗coskωt
+[a1cos(1ωt)∗cosnωt+a2cos(2ωt)∗cosnωt+...ancos(nωt)∗cosnωt]
+[a1sin(1ωt)∗cosnωt+a2sin(2ωt)∗cosnωt+...ansin(nωt)∗cosnωt]
两边进行[−π,π]的积分:
∫π−πf(t)∗coskωt=∫π−πA0∗coskωt
+[∫π−πa1cos(1ωt)∗cosnωt+∫π−πa2cos(2ωt)∗cosnωt+...∫π−πancos(nωt)∗cosnωt]
+[∫π−πa1sin(1ωt)∗cosnωt+∫π−πa2sin(2ωt)∗cosnωt+...∫π−πansin(nωt)∗cosnωt]
根据三角函数的正交性,得到:
∫π−πf(t)∗coskωt=0
+[0+0+...∫π−πancos(nωt)∗cosnωt]
+[0+0+...0]
=an∫π−πcos(nωt)∗cosnωt
=anπ
故:
an=1π∫π−πf(t)∗coskωt (k=n)
同理对f(t)=A0+∑nn=1[ancos(nωt)+bnsin(nωt)]两边乘以sinkωt(其中k=n),
然后两边进行[−π,π]的积分,得到:
bn=1π∫π−πf(t)∗sinkωt (k=n)
综上:
f(t)=A0+n∑n=1[ancos(nωt)+bnsin(nωt)]
其中:
A0=12π∫π−πf(t)
an=1π∫π−πf(t)∗coskωt (k=n)
bn=1π∫π−πf(t)∗sinkωt (k=n)
参考:https://zhuanlan.zhihu.com/p/41455378
离散周期信号的傅里叶级数
1.只说结论:
x(t)=∑+∞n=−∞anejn(2πT)t
an=1T∫Tx(t)e−jn(2πT)tdt
推导参考:https://zhuanlan.zhihu.com/p/617495973
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通