这份是本人的学习笔记,课程为网易公开课上的斯坦福大学公开课:傅里叶变换及其应用。
传统傅里叶变换所存在的问题
我们把我们前面所学习的傅里叶变换称为传统傅里叶变换。按照我们原来的理论,只有函数的积分收敛了,它才能进行傅里叶变换。如此一来,对于常规的sin,cos,常数函数等则无法进行傅里叶变换,因此,我们需要一个更鲁棒的傅里叶变换,使之能处理这些常规函数。
原本的傅里叶变换之所以无法应用到这些常规函数,问题的关键在于积分的收敛性。
传统的傅里叶变换主要有两个问题:
1. 傅里叶变换基于积分的收敛
2. 傅里叶逆变换必须可行,否则尽管傅里叶正变换被执行了也毫无意义
问题例子1
f(t)=Π(t)
FΠ=sincFΠ=∫∞−∞e−2πistdsF−1sinc=F−1FΠ=ΠF−1sinc=∫∞−∞e2πistsinπsπsdsFsinc=FFΠ=Π−=ΠFsinc=∫∞−∞e−2πistsinπsπsds
在左方的式子中,我们能很轻松地运用傅里叶的逆变换、对偶等定理得到结果,但是在实际应用中我们对信号进行傅里叶转换并处理后,通常需要像右方的式子进行计算后去获得原始的信号,而右方的第二三个式子的积分求法是非常困难的。另外,在计算的时候还必须面对一些函数的收敛性问题——由于Π函数是跳跃的,最终积分运算得到的Π会在跳变点±12处取值为12(0+1),尽管我们能处理这种情况。
结论就是,对于最简单的Π函数都出现了这样的问题,需要用特殊的技巧、进行特殊的讨论,这使得我们对传统的傅里叶变换的适用性产生了怀疑。
问题例子2
f(t)=1Ff(t)=∫∞−∞e−2πistdtf(t)=sin2πtFf(t)=∫∞−∞e−2πistsin2πtdtf(t)=cos2πtFf(t)=∫∞−∞e−2πistcos2πtdt
对于这些不收敛的函数的积分是无意义的。
处理这些问题的方法
有两种方法可以处理这些问题:
1. 针对特殊函数进行特殊的研究
2. 从基础重新研究傅里叶变换,得到一个更鲁棒的、能适用各种函数的新傅里叶变换的定义
在1940年代以前,各种数学家、科学家们都是采用第一种方法,对各种各样的函数进行研究。40年代以后,科学家们开始采用第二种方法,这种方法发展至今已经相当成熟,我们从这里开始研究第二种方法,探究新的傅里叶变换的定义。
傅里叶变换的最佳函数
首先找出最适合进行傅里叶变换的函数,这类函数被称为S(Schwartz定义了这类函数)。S需要满足两个前提条件
1. 如果f(t)∈S,那么Ff∈S
2. 如果f(t)∈S,f(t)能进行傅里叶正逆变换的积分计算,FF−1f=f,F−1Ff=f
条件一,排除了Π函数,因为我们能通过积分得到Π函数的傅里叶变换为sinc函数,而无法通过积分得到sinc的逆傅里叶变换。
条件二,排除了sin,cos常数函数,因为他们的傅里叶变换没有被定义,无法执行积分计算。
速降函数(Rapidly Decreasing Functions)
S(Schwartz)作为最适合进行傅里叶变换的函数,也被叫做速降函数,设有速降函数f(x)∈S它的定义如下
1. f(x)是无限可微的(光滑函数)
2. 对于任何m,n⩾0,都有limx→±∞|x|n∣∣∣∂m∂xmf(x)∣∣∣=0
即f(x)的任意阶导趋于0的速度都比x的的任意次方上升速度快。这些定义是由傅里叶的导数定理(derivative theorem)引申出来的。相关推导如下:
Decay ⇒ Smoothness
在传统傅里叶变换中我们经常假设|f(x)|是可积分的(integrable),现在我们更大胆点去假设|xf(x)|是可积的,即
∫∞−∞|xf(x)|dx<∞
那么xf(x)傅里叶变换是有意义的,那么−2πixf(x)也能进行傅里叶变换
F(−2πixf(x))=∫∞−∞(−2πix)e−2πisxf(x)dx=∫∞−∞(∂∂se−2πisx)f(x)dx=∂∂s∫∞−∞e−2πisxf(x)dx=∂∂s(Ff)(s)
在|xf(x)|可积的这个前提下,我们算出了Ff(s)是可微的(即连续的),它微分后得F(−2πixf(x))。
更深入探讨一下傅里叶变换的二阶微分,假设|x2f(x)|是可积分的,得
F((−2πix)2f(x))=∫∞−∞(−2πix)2e−2πisxf(x)dx=∫∞−∞(∂2∂2se−2πisx)f(x)dx=∂2∂2s∫∞−∞e−2πisxf(x)dx=∂2∂2s(Ff)(s)
以此类推,|xnf(x)|可积则代表了Ff(s)为n阶可微。|xnf(x)|的可积表示了其积分的值为固定值,因此f(x)会衰减,其衰减速率类似于1sn,随着n的增大,f(x)衰减的速度会越来越快,其傅里叶变换Ff(s)会变得更光滑,那么我们在此可以得到结论:
- f(x)衰减越快,其傅里叶变换Ff(s)则越光滑。
Smoothness ⇒ Decay
采用与上面的推导过程不同的方法,这里首先假设f(x)是可微的,它的导数f′是可积的,并且有limx→±∞f(x)=0,则
F(s)=∫∞−∞e−2πisxf(x)dx=[f(x)e−2πisx−2πis]x=∞x=−∞−∫∞−∞e−2πisx−2πisf′(x)dx=12πis∫∞−∞e−2πisxf′(x)dxlimx→±∞f(x)=0⇒[f(x)e−2πisx−2πis]x=∞x=−∞=0=12πis(Ff′)(s)
取绝对值,有
|Ff(s)|=∣∣∣12πis(Ff′)(s)∣∣∣=12πs∣∣∣∫∞−∞e−2πisxf′(x)dx∣∣∣⩽12πs∫∞−∞|e−2πisx||f′(x)|dx=12πs∫∞−∞|f′(x)|dx=12πs∥∥f′∥∥1
∥f′∥1表示了对f′的绝对值进行积分,这个叫做L1−norm。由于f′是可积的,因此其积分为固定值,这意味着Ff趋于0的速度类似于1s。
进一步假设f(x)是二阶可微,并且其一阶积分f′、二阶微分f′′可积,另外还满足limx→±∞f(x)=0,limx→±∞f′(x)=0。
则有,
Ff(s)=∫∞−∞e−2πisxf(x)dx=12πis∫∞−∞e−2πisxf′(x)dx(picking up on where we were before)=12πis([f′(x)e−2πisx−2πis]x=∞x=−∞−∫∞−∞e−2πisx−2πisf′′(x)dx)=1(2πis)2∫∞−∞e−2πisxf′′(x)dx(limx→±∞f′(x)=0⇒[f′(x)e−2πisx−2πis]x=∞x=−∞=0)=1(2πis)2(Ff′′)(s)
因此,
|Ff(s)|⩽1|2πs|2∥f′′∥1
由于f′′是可积的,因此其积分为固定值,这意味着Ff趋于0的速度类似于1s2。那么我们可以得出结论:
- f(x)越光滑,而且在这基础上其微分都可积,其傅里叶变换Ff(s)衰减得越快
速降函数
把得到的这两个结论结合起来,即
f(x) 的衰减速率及光滑度将会影响其傅里叶变换Ff(s)的光滑度与衰减速率。因此最简单有效结合这些现象的方式就是允许f(x)能以任意速率进行衰减,能有任意阶的光滑度:
|xm∂n∂xnf(x)|⩽Cmn
m,n的取值为任意非负整数。Cmn为常数,有了这个常数才能从式子中体现出f(x)衰减,即式子有上界Cmn。这个式子也等同于
|xm∂n∂xnf(x)|→0asx→±∞
在x轴两端趋于0。
速降函数的正逆傅里叶变换仍是速降函数
证明过程如下:
对于任意阶可微以及任意阶可衰减的速降函数来说,由前面衰减与光滑度的推论已经可以得到下面的等式,
(2πis)nFf(s)=(F∂n∂xnf)(s)∂n∂snFf(s)=F((−2πix)nf(x))
把两个等式合并起来
F(∂n∂xn((−2πix)mf(x)))=(2πis)n∂m∂smFf(s)(−2πi)mF(∂n∂xn(xmf(x)))=(2πis)n∂m∂smFf(s)|(−2πi)m|∣∣∣F(∂n∂xn(xmf(x)))∣∣∣=|(2πis)n|∣∣∣∂m∂smFf(s)∣∣∣(2π)m−n∣∣∣F(∂n∂xn(xmf(x)))∣∣∣=|s|n∣∣∣∂m∂smFf(s)∣∣∣
把∣∣F(∂n∂xn(xmf(x)))∣∣转换为L1−norm的形式,则有
∣∣sn∂m∂smFf(s)∣∣⩽(2π)m−n∥∥∂n∂xn(xmf(x))∥∥1
由于f(x)为速降函数,因此上边等式的右边得到的值为有限值,记为Cmn,因此有
∣∣sn∂m∂smFf(s)∣∣⩽Cmn
因此得结论
Ff(s)∈Sasf(x)∈S
逆傅里叶变换与正傅里叶变换只在e的复指数上相差一个−号,因此同理也能证明
F−1f(x)∈Sasf(s)∈S
Parserval等式
∫∞−∞|Ff(s)|2ds=∫∞−∞|f(x)|2dx
该等式表明信号在时域与频域的能量相等。其一般形式为:
设有f(x),g(x)∈S,则
∫∞−∞Ff(s)¯Fg(s)2ds=∫∞−∞f(x)¯g(x)dx
推导过程如下:
g(x)=∫∞−∞e2πisxFg(s)ds
→¯g(x)=∫∞−∞e−2πisx¯Fg(s)ds
则,
∫∞−∞f(x)¯g(x)dx=∫∞−∞f(x)(∫∞−∞e−2πisx¯Fg(s)ds)dx=∫∞−∞(∫∞−∞f(x)e−2πisxdx)¯Fg(s)ds=∫∞−∞Ff(s)¯Fg(s)ds
同理,由于|e2πisx|=1,因此
∫∞−∞|Ff(s)|2ds=∫∞−∞|f(x)|2dx
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架