傅里叶变换(FT)数学解析推导学习总结

2023-11-04

写在前面

本文是一篇非常容易理解,同时会很有收获的傅里叶变换推导教程

文章是学习B站DR-CAN老师傅里叶级数和傅里叶变换系列课程后的学习总结,主要目的以个人复习巩固为主,同时也分享给大家一些心得以及非常好的一位老师
附上链接 DR-CAN老师视频课地址

对傅里叶级数以及傅里叶变换不太了解,或者想开始了解的话,推荐可以先看一篇非常有趣同具深度的一篇傅里叶级数与傅里叶变换的知乎简介
附上链接傅里叶分析之掐死教程

下面正片开始

傅里叶级数

三角函数的正交性

首先我们介绍一个集合:三角函数系

{ 1 , s i n x , c o s x , s i n 2 x , c o s 2 x , . . . . . . . . . s i n ( n x ) , c o s ( n x ) } \{1,sinx,cosx,sin2x ,cos2x,.........sin(nx),cos(nx)\} {1,sinx,cosx,sin2x,cos2x,.........sin(nx),cos(nx)}

有没有发现有些奇怪——没错这个1出现的非常突兀,那我现在换成下面这个形式

{ s i n 0 x , c o s 0 x , s i n x , c o s x , s i n 2 x , c o s 2 x , . . . . . . . . . s i n ( n x ) , c o s ( n x ) } \{sin0x,cos0x,sinx,cosx,sin2x,cos2x,.........sin(nx),cos(nx)\} {sin0x,cos0x,sinx,cosx,sin2x,cos2x,.........sin(nx),cos(nx)}

集合中的 { 0 , 1 } \{0,1\} {01}就是 { s i n 0 x , c o s 0 x } \{sin0x,cos0x\} {sin0x,cos0x}

所以我们可以这样表示三角函数集:
f ( n ) = { s i n ( n x ) c o s ( n x ) n=0,1,2....... f(n)= \begin{cases}sin(nx) & \text{}\\cos(nx) & \text{n=0,1,2.......} \end{cases} f(n)={sin(nx)cos(nx)n=0,1,2.......(这个n放不到中间我也很头疼)

接下来我们讨论三角函数的正交性,通俗认为就是垂直
对于三角函数集中任取两个不同的三角函数相乘在-pi到+pi进行积分的结果都是0,数学表示:
∫ − π π s i n ( n x ) c o s ( m x )   d x = 0 n ≠ m ( 1 ) \int_{-\pi}^\pi {sin(nx)cos(mx)} \,{\rm d}x=0\qquad n\not=m\quad(1) ππsin(nx)cos(mx)dx=0n=m1
∫ − π π c o s ( n x ) c o s ( m x )   d x = 0 n ≠ m ( 2 ) \int_{-\pi}^\pi {cos(nx)cos(mx)} \,{\rm d}x=0\qquad n\not=m\quad(2) ππcos(nx)cos(mx)dx=0n=m2
∫ − π π s i n ( n x ) s i n ( m x )   d x = 0 n ≠ m ( 3 ) \int_{-\pi}^\pi {sin(nx)sin(mx)} \,{\rm d}x=0\qquad n\not=m\quad(3) ππsin(nx)sin(mx)dx=0n=m3

这里说明一下
(1)式在n=m的情况下依然成立(可理解为特殊情况)

如果感觉不好理解正交的概念,我们借用一点解析几何的概念:
我们都知道两个二维向量正交说明在xy平面上两向量相互垂直
a ⃗ ( 1 , − 2 ) b ⃗ ( 2 , 1 ) a ⃗ ⋅ b ⃗ = 0 \vec{a}(1,-2)\quad\vec{b}(2,1)\quad\vec{a}\cdot\vec{b}=0 a (1,2)b (2,1)a b =0
则有 1 ⋅ 2 + − 2 ⋅ 1 = 0 1\cdot2+-2\cdot1=0 12+21=0

现在拓展到n维向量
a ⃗ ( a 1 , a 2 , a 3 , a 4... a n ) b ⃗ ( b 1 , b 2 , b 3 , b 4... b n ) a ⃗ ⋅ b ⃗ = 0 \vec{a}(a1,a2,a3,a4...an)\quad\vec{b}(b1,b2,b3,b4...bn)\quad\vec{a}\cdot\vec{b}=0 a (a1,a2,a3,a4...an)b (b1,b2,b3,b4...bn)a b =0

依然要表明a向量与b向量正交
则有 ∑ i = 1 i = n a i b i = 0 \sum_{i=1}^{i=n}a_{i}b_{i}=0 i=1i=naibi=0

这是n个离散的向量加和,回到我们的三角函数系,系中的每一个三角函数都是连续的函数,我们想象将连续的三角函数拆分为离散的无穷多个点,这些无穷多个对应点相乘后相加,就是我们所说的连续正交,各个离散点求和时的求和号变为积分号,也就得到了上面的(1),(2),(3)式

可以将连续三角函数理解为无穷向量空间

同时我们希望讨论(2)式和(3)式在n=m情况下的结果,这是在后续推导中会用到结论

∫ − π π c o s ( n x ) c o s ( m x )   d x = π n = m \int_{-\pi}^\pi {cos(nx)cos(mx)} \,{\rm d}x=\pi\qquad n=m\quad ππcos(nx)cos(mx)dx=πn=m
∫ − π π s i n ( n x ) s i n ( m x )   d x = π n = m ( 4 ) \int_{-\pi}^\pi {sin(nx)sin(mx)} \,{\rm d}x=\pi\qquad n=m\quad(4) ππsin(nx)sin(mx)dx=πn=m4
利用三角函数和差化积(二倍角)非常好推导
有了以上基础我们可以开始第一步啦

简单的第一步——周期为2pi的函数展开为傅里叶级数

通过级数的知识我们知道,周期为2pi的函数是可以展开为一系列三角函数的加和:

f ( n ) = ∑ n = 0 ∞ a n c o s ( n x ) + ∑ n = 0 ∞ b n s i n ( n x ) ( 5 ) f(n)=\sum_{n=0}^{\infty}a_{n}cos(nx)+\sum_{n=0}^{\infty}b_{n}sin(nx)\quad(5) f(n)=n=0ancos(nx)+n=0bnsin(nx)5

这个式子和教科书上给出的傅里叶级数展开式有点不同对吗
f ( n ) = a 0 2 + ∑ n = 1 ∞ [ a n c o s ( n x ) + b n s i n ( n x ) ] F r o m   t e x t b o o k s ( 6 ) f(n)=\frac{a_{0}}{2}+\sum_{n=1}^{\infty}[a_{n}cos(nx)+b_{n}sin(nx)]\quad From\ textbooks(6) f(n)=2a0+n=1[ancos(nx)+bnsin(nx)]From textbooks6
相信大部分人和我是一样的,能发现两式a0的所在位置的不同
但是我也相信,绝大部分人知道a0的函数式但是却不会求a0的

a 0 a_{0} a0

接下来我们对(5)中提取出n=0项
f ( n ) = a 0 + ∑ n = 1 ∞ a n c o s ( n x ) + ∑ n = 1 ∞ b n s i n ( n x ) ( 7 ) f(n)=a_{0}+\sum_{n=1}^{\infty}a_{n}cos(nx)+\sum_{n=1}^{\infty}b_{n}sin(nx)\quad(7) f(n)=a0+n=1ancos(nx)+n=1bnsin(nx)7
注意这里虽然也是a0,但和(6)式中的a0意义不同在这里标记为a0(7)
现在我们想要求出a0(7) 的值,对(7)式两边进行(-pi,pi)的积分

∫ − π π f ( n )   d x = ∫ − π π a 0   d x + ∫ − π π 【 ∑ n = 1 ∞ a n c o s ( n x ) + ∑ n = 1 ∞ b n s i n ( n x ) 】   d x ( 8 ) \int_{-\pi}^\pi f(n) \,{\rm d}x=\int_{-\pi}^\pi a_{0} \,{\rm d}x+\int_{-\pi}^\pi 【\sum_{n=1}^{\infty}a_{n}cos(nx)+\sum_{n=1}^{\infty}b_{n}sin(nx)】 \,{\rm d}x\quad(8) ππf(n)dx=ππa0dx+ππn=1ancos(nx)+n=1bnsin(nx)dx8

由于三角函数的正交性,我们发现(8)式最后两项(含有三角函数的项)积分都为0
可以得到

a 0 = 1 2 π ∫ − π π f ( n )   d x ( 9 ) a_{0}=\frac{1}{2\pi}\int_{-\pi}^\pi f(n) \,{\rm d}x\quad(9) a0=2π1ππf(n)dx9

a n a_{n} an

同样我们对(7)式两边同乘cos(mx)和sin(mx)再进行(-pi,pi)的积分利用三角函数正交性可以得到这里会用到前面(4)式得到的结论

a n = 1 π ∫ − π π f ( n ) ⋅ c o s ( n x )   d x a_{n}=\frac{1}{\pi}\int_{-\pi}^\pi f(n)\cdot cos(nx) \,{\rm d}x\quad an=π1ππf(n)cos(nx)dx
b n = 1 π ∫ − π π f ( n ) ⋅ s i n ( n x )   d x ( 10 ) b_{n}=\frac{1}{\pi}\int_{-\pi}^\pi f(n)\cdot sin(nx) \,{\rm d}x\quad(10) bn=π1ππf(n)sin(nx)dx10

事实上教科书上为了统一方便(9)(10)三个式子,将(9)式中的a0乘2定义为a0,就得到了我们熟悉的傅里叶级数展开系数公式由这个式子我们就可以将一个周期为2pi的函数,展开为一系列三角函数的和集

周期为2l的函数展开为傅里叶级数

周期为2pi 的函数太多于单一,我们希望知道任意周期函数的傅里叶级数展开,我们通过周期为2pi的傅里叶级数展开公式为引,推导周期为2l的函数的傅里叶级数展开 :

首先我们做一个简单的伸缩变换

x = π l t ( 11 ) x=\frac{\pi}{l}t\quad(11) x=lπt11
那么也就有以下的代换关系

x x x t t t
− π -\pi π − l -l l
π \pi π l l l
2 π 2\pi 2π 2 l 2l 2l
d x dx dx π l d t \frac{\pi}{l}dt lπdt

将这些代换关系带入我们之前得到的周期为2pi的傅里叶级数展开式中,我们可以得到
a 0 = 1 l ∫ − l l f ( t )   d t a_{0}=\frac{1}{l}\int_{-l}^l f(t) \,{\rm d}t\quad a0=l1llf(t)dt
a n = 1 l ∫ − l l f ( t ) ⋅ c o s ( n π l t )   d t a_{n}=\frac{1}{l}\int_{-l}^l f(t)\cdot cos(\frac{n\pi}{l}t) \,{\rm d}t\quad an=l1llf(t)cos(lnπt)dt
b n = 1 l ∫ − l l f ( t ) ⋅ s i n ( n π l t )   d t ( 12 ) b_{n}=\frac{1}{l}\int_{-l}^l f(t)\cdot sin(\frac{n\pi}{l}t) \,{\rm d}t\quad(12) bn=l1llf(t)sin(lnπt)dt12

在工程和实际生活中,我们一般认为时间t是从0时刻开始,且周期T=2l,那么我们可以做一点小小的变换`
∫ − l l   d t = ∫ 0 2 l   d t = ∫ 0 T   d t \int_{-l}^l \,{\rm d}t\quad=\int_{0}^{2l} \,{\rm d}t\quad=\int_{0}^{T} \,{\rm d}t\quad lldt=02ldt=0Tdt
同时我们引入 ω = 2 π T \omega=\frac{2\pi}{T}\quad ω=T2π用函数周期和角频率来代换三角函数中的pi
这时候我们就得到了任意周期函数的傅里叶级数分解形式:

f ( t ) = a 0 2 + ∑ n = 1 ∞ [ a n c o s ( n ω t ) + b n s i n ( n ω t ) ] f(t)=\frac{a_{0}}{2}+\sum_{n=1}^{\infty}[a_{n}cos(n\omega t)+b_{n}sin(n\omega t)]\quad f(t)=2a0+n=1[ancos(nωt)+bnsin(nωt)]
a 0 = 2 T ∫ 0 T f ( t )   d t a_{0}=\frac{2}{T}\int_{0}^T f(t) \,{\rm d}t\quad a0=T20Tf(t)dt
a n = 2 T ∫ 0 T f ( t ) ⋅ c o s ( n ω t )   d t a_{n}=\frac{2}{T}\int_{0}^T f(t)\cdot cos(n\omega t) \,{\rm d}t\quad an=T20Tf(t)cos(nωt)dt
b n = 2 T ∫ 0 T f ( t ) ⋅ s i n ( n ω t )   d t ( 13 ) b_{n}=\frac{2}{T}\int_{0}^T f(t)\cdot sin(n\omega t) \,{\rm d}t\quad(13) bn=T20Tf(t)sin(nωt)dt13
这里提出两点疑问
(1)当周期函数的周期很大并趋于无穷的时候又会变成什么样呢
(2)n的最大值的选取对级数叠加的结果有什么影响

欧拉公式和傅里叶级数的指数形式

解决这两个问题我们需要对上(13)式再进行变换(因为三角函数太多且不统一,在分析时较为困难)
接下来请出宇宙第一美丽公式(人类认知)
↓ \downarrow
↓ \downarrow
↓ \downarrow
↓ \downarrow
↓ \downarrow
↓ \downarrow
↓ \downarrow
↓ \downarrow
↓ \downarrow
↓ \downarrow
↓ \downarrow
↓ \downarrow
↓ \downarrow
↓ \downarrow
↓ \downarrow
欧拉公式
e j π + 1 = 0 e^{j\pi}+1=0 ejπ+1=0
而我们最常用的形式是这样的:
e j x = c o s x + j s i n x ( 14 ) e^{jx}=cosx+jsinx\quad(14) ejx=cosx+jsinx14
我们这里做一个小小的变形,并且加入 ω \omega ω使得适用于我们的公式:

c o s n ω t = e j ω n t + e − j ω n t 2 cosn\omega t=\frac{e^{j\omega nt}+e^{-j\omega nt}}{2}\quad cosnωt=2ejωnt+ejωnt
s i n n ω t = − j e j ω n t − e − j ω n t 2 sinn\omega t=-j\frac{e^{j\omega nt}-e^{-j\omega nt}}{2}\quad sinnωt=j2ejωntejωnt

将上式带入(13)式中 f ( t ) f(t) ft的表达式里我们可以得到下面的式子:
f ( t ) = a 0 2 + ∑ n = 1 ∞ a n − j b n 2 e j ω n + ∑ n = 1 ∞ a n + j b n 2 e − j ω n f(t)=\frac{a_{0}}{2}+\sum_{n=1}^{\infty}\frac{a_{n}-j b_{n}}{2}e^{j\omega n}+\sum_{n=1}^{\infty}\frac{a_{n}+j b_{n}}{2}e^{-j\omega n}\quad f(t)=2a0+n=12anjbnejωn+n=12an+jbnejωn
这个式子呢由三项构成,看上去不是那么的美妙而且很繁琐,我们对第一项做等效替换,第二项不动,第三项用-n代替n:

f ( t ) =   ∑ n = 0 0   a 0 2 e j ω n t +   ∑ n = 1 ∞   a n − j b n 2 e j ω n t +   ∑ n = − ∞ − 1   a − n + j b − n 2 e j ω n t f(t)=\displaystyle\ \color{red}\sum_{n=0}^{0}\displaystyle\ \color{black}\frac{a_{0}}{2}e^{j\omega nt}+\displaystyle\ \color{red}\sum_{n=1}^{\infty}\displaystyle\ \color{black}\frac{a_{n}-j b_{n}}{2}e^{j\omega nt}+\displaystyle\ \color{red}\sum_{n=-\infty}^{-1}\displaystyle\ \color{black}\frac{a_{-n}+j b_{-n}}{2}e^{j\omega nt}\quad f(t)= n=00 2a0ejωnt+ n=1 2anjbnejωnt+ n=1 2an+jbnejωnt
这里我们可以明显发现n,,,,,,,
他打通关了——没错,从负无穷一直加到了正无穷
我们将其中的公因式提出来,并且将求和号合并可以得到:

f ( t ) = ∑ n = − ∞ ∞ C n e j ω n t ( 15 ) f(t)=\sum_{n=-\infty}^{\infty}C_{n}e^{j\omega nt}\quad(15) f(t)=n=Cnejωnt(15)

C n C_{n} Cn表示除公因式之外的系数

我舒服了,你呢。。

当然,我们这里对 C n C_{n} Cn在不同n值下的取值也需要给出:(通过上式也可以明显得到)

C ( n ) = { a 0 2 n=0 a n − j b n 2 n=1,2.......  a − n + j b − n 2 n=-1,-2.......  ( 16 ) C(n)= \begin{cases}\frac{a_{0}}{2} & \text{n=0}\\\frac{a_{n}-j b_{n}}{2} & \text{n=1,2....... }\\\frac{a_{-n}+j b_{-n}}{2}& \text{n=-1,-2....... } \end{cases}(16) C(n)=2a02anjbn2an+jbnn=0n=1,2....... n=-1,-2....... 16
(这个公式字咋这么小)
式(15)和(16)的限制条件就构成了傅里叶级数的指数形式(目前还不是最简形式,下文还有化简)

傅里叶变换

C n C_{n} Cn的再化简

从傅里叶级数到傅里叶变换的过程,首先从傅里叶级数的指数形式的系数,也就是上面的 C n C_{n} Cn,进行讨论
我们把(13)式中的 a 0 , a n , b n a_{0}, a_{n} ,b_{n} a0anbn带入(16)式中(需要用到三角函数奇偶性):

C n C_{n} Cn=
1 T ∫ 0 T f ( t ) d t ( n = 0 ) \frac{1}{T}\int_{0}^T f(t){\rm d}t\quad(n=0) T10Tftdtn=0
1 T ∫ 0 T f ( t ) ( c o s n ω t − j s i n n ω t ) d t ( n = 1 , 2 , 3.... ) \frac{1}{T}\int_{0}^T f(t)(cosn\omega t-jsinn\omega t){\rm d}t\quad(n=1,2,3....) T10Tftcosnωtjsinnωtdtn=1,2,3....
1 T ∫ 0 T f ( t ) ( c o s n ω t − j s i n n ω t ) d t ( n = − 1 , − 2 , − 3.... ) \frac{1}{T}\int_{0}^T f(t)(cosn\omega t-jsinn\omega t){\rm d}t\quad(n=-1,-2,-3....) T10Tftcosnωtjsinnωtdtn=1,2,3....

是不是看起来还是有点复杂?
我们再用欧拉公式将里面的三角函数化为指数形式试试?
(这里的思路和上面化简 f ( t ) f(t) ft的想法是类似的)

C n C_{n} Cn=
1 T ∫ 0 T f ( t ) e 0 d t = 1 T ∫ 0 T f ( t ) e − j ω n t d t ( n = 0 ) \displaystyle\frac{1}{T}\int_{0}^T f(t)e^{0}{\rm d}t=\color{red}\frac{1}{T}\int_{0}^T f(t)e^{{-j\omega nt}}{\rm d}t\quad(n=0) T10Tfte0dt=T10Tftejωntdtn=0
  1 T ∫ 0 T f ( t ) e − j ω n t d t ( n = 1 , 2 , 3.... ) \displaystyle\ \color{red}\frac{1}{T}\int_{0}^T f(t)e^{-j\omega nt}{\rm d}t\quad(n=1,2,3....)  T10Tftejωntdtn=1,2,3....
  1 T ∫ 0 T f ( t ) e − j ω n t d t ( n = − 1 , − 2 , − 3.... ) \displaystyle\ \color{red}\frac{1}{T}\int_{0}^T f(t)e^{-j\omega nt}{\rm d}t\quad(n=-1,-2,-3....)  T10Tftejωntdtn=1,2,3....

我们发现,,n,,,它又通关了

也就是说,在n从负无穷到正无穷的变化过程中,我们可以用一个表达式来表示 C n C_{n} Cn

C n C_{n} Cn=

1 T ∫ 0 T f ( t ) e − j ω n t d t ( n = . . . . − 3 , − 2 , − 1 , 0 , 1 , 2 , 3.... ) ( 17 ) \frac{1}{T}\int_{0}^T f(t)e^{-j\omega nt}{\rm d}t\quad(n=....-3,-2,-1,0,1,2,3....)(17) T10Tftejωntdtn=....3,2,1,0,1,2,3....17
( C n C_{n} Cn的最简式)

事实上,我们再仔细看这两个式子

  f ( t ) = ∑ n = − ∞ ∞ C n   e j ω n t ( 15 ) \displaystyle\ \color{blue}f(t)=\sum_{n=-\infty}^{\infty}C_{n}\ e^{j\omega nt}\quad(15)  f(t)=n=Cn ejωnt(15)

  C n = 1 T ∫ 0 T f ( t ) e − j ω n t d t ( n = . . . . − 3 , − 2 , − 1 , 0 , 1 , 2 , 3.... ) ( 17 ) \displaystyle\ \color{blue}C_{n}=\frac{1}{T}\int_{0}^T f(t)e^{-j\omega nt}{\rm d}t\quad(n=....-3,-2,-1,0,1,2,3....)(17)  Cn=T10Tftejωntdtn=....3,2,1,0,1,2,3....17

你会发现 (15)式中除了 C n C_{n} Cn之外的部分都是与 f ( t ) f(t) ft无关的,可以理解为一种规则,真正决定定义函数的变换形式的东西都在 C n C_{n} Cn
重点来了
C n C_{n} Cn可以理解为一个复数集合,当n取不同值的时候我们可以得到 C 1 , C 2 , C 3 , C 4 . . . C n C_{1},C_{2},C_{3},C_{4}...C_{n} C1C2C3C4...Cn(都是复数)

如果在图形上,以 n ω n\omega nω为x轴自变量,以 C n C_{n} Cn的实部和虚部分别为y和z轴,大致可以得到这样一个示意图
c
这个图其实就是 f ( t ) f(t) ft函数的频域描述,和我们平常看到的可能不同,我们平常见到的频谱图一般是单一的幅度谱( C n C_{n} Cn的模值)或者相位谱,也就是二维的频谱
在上面的这个图像中,对每一个 C n C_{n} Cn乘以对应的 e j ω n t e^{j\omega nt} ejωnt再叠加,就得到了我们的 f ( t ) f(t) ft也就是(15)式的形式

周期T趋于无穷

现在,我们来讨论之前提出的第一个问题:
(1)当周期函数的周期很大并趋于无穷的时候又会变成什么样呢

首先,当周期函数的周期趋于无穷大时,其实也就是一个非周期函数了,或者说是,在无穷长的时间后再进行重复的周期函数

还记得我们怎么引入的 ω \omega ω吗?
ω = 2 π T \omega=\frac{2\pi}{T}\quad ω=T2π
当周期T趋于无穷大时, ω \omega ω也就趋于0,上图中的 n ω n\omega nω之间的间隔 Δ ω \Delta\omega Δω也是同理趋近于0
我们也可以认为
Δ ω = 2 π T ( 18 ) \Delta\omega=\frac{2\pi}{T}\quad(18) Δω=T2π18

这样在上图中我们就可以发现,当周期趋于无穷时, C n C_{n} Cn个离散的点(上图中的 C 1 , C 2 , C 3 , C 4 . . . C_{1},C_{2},C_{3},C_{4}... C1C2C3C4...)之间的间距无限靠近,最终趋于一条连续变换的线,同时X轴的横坐标 n ω n\omega nω也就= ω \omega ω*(这里也回答了上面的第二个问题)

这里一定要看懂,原来X轴的横坐标 n ω n\omega nω是一个离散的变量,当T趋于无穷后,原来离散的坐标系变成了连续的坐标系,原来的X轴离散变量也就变成了连续的坐标变量 ω \omega ω

这同样也解释了我最近DSP课上老师反复强调的一句话:时域的周期函数,在频域一定是一系列离散的点,而时域非周期函数,频域上是连续函数

这个离散到连续的过程还是需要体会的

当然,我们不满足于仅仅在图像上的一个观察,在具体的表达式中,非周期函数是什么样呢?

对于(17)带入(15)式,同时将(18)式也带入我们观察下面这个式子:

f ( t ) = ∑ n = − ∞ ∞ Δ ω 2 π ∫ − T 2 T 2 f ( t ) e − j ω n t d t   e j ω n t ( n = . . . . − 3 , − 2 , − 1 , 0 , 1 , 2 , 3.... ) f(t)=\sum_{n=-\infty}^{\infty}\frac{\Delta\omega}{2\pi}\int_{-\frac{T}{2}}^\frac{T}{2} f(t)e^{-j\omega nt}{\rm d}t\ e^{j\omega nt}\quad(n=....-3,-2,-1,0,1,2,3....) f(t)=n=2πΔω2T2Tftejωntdt ejωntn=....3,2,1,0,1,2,3....

在周期T趋于无穷的过程中,也就是频域离散趋于连续的过程有些变量会发生改变

周期函数 非周期函数
T T T ∞ \infty
∫ − T 2 T 2 \int_{-\frac{T}{2}}^\frac{T}{2} 2T2T ∫ − ∞ ∞ \int_{-\infty}^\infty
∑ n = − ∞ ∞ Δ ω 2 π \sum_{n=-\infty}^{\infty}\frac{\Delta\omega}{2\pi} n=2πΔω 1 2 π ∫ − ∞ ∞ d ω \frac{1}{2\pi}\int_{-\infty}^\infty d \omega 2π1dω
n ω n\omega nω ω \omega ω

根据上式的变换,我们可以得到
f ( t ) = 1 2 π ∫ − ∞ ∞   ∫ − ∞ ∞ f ( t ) e − j ω t d t     e j ω t d ω ( 18 ) f(t)= \frac{1}{2\pi}\int_{-\infty}^\infty\displaystyle\ \color{blue} \int_{-\infty}^\infty f(t)e^{-j\omega t}{\rm d}t\ \displaystyle\ \color{black} e^{j\omega t}d \omega\quad(18) f(t)=2π1 ftejωtdt  ejωtdω(18)

我们令蓝色部分的函数变换式等于 F ( ω ) F(\omega ) F(ω)可以得到下面两个式子(熟悉的同学们应该已经可以看出来了)

  F ( ω ) = ∫ − ∞ ∞ f ( t ) e − j ω t d t ( 19 ) \displaystyle\ \color{red}F(\omega )=\int_{-\infty}^\infty f(t)e^{-j\omega t}{\rm d}t\quad(19)  F(ω)=ftejωtdt(19)
  f ( t ) = 1 2 π ∫ − ∞ ∞ F ( ω ) e j ω t d ω ( 20 ) \displaystyle\ \color{red}f(t)= \frac{1}{2\pi}\int_{-\infty}^\infty F(\omega )e^{j\omega t}d \omega\quad(20)  f(t)=2π1F(ω)ejωtdω(20)

上面的(19),(20)式就是我们常说的傅里叶变换 ( F o u r i e r    t r a n s f o r m a t i o n ) (Fourier\ \ transformation) (Fourier  transformation),和傅里叶逆变换 ( F o u r i e r    i n v e r s i o n ) (Fourier \ \ inversion) (Fourier  inversion)了:

自此,我们就通过基础的三角函数集,以及最基本的傅里叶级数分解知识,用最简单的数学知识推导得到了傅里叶变换和傅里叶反变换

结语

(1)如果你是直接跳到这里的,我建议你从头跟着思路认真自己推一遍,相信我,你会有自己的收获,觉得笔者写的不够通俗,较为晦涩难懂的,可以转去B站看老师的视频(强推!!)链接在文章开头

(2)如果你是认真读下来,或者自己确实推导出来的那么恭喜你,这才是真正掌握知识的过程!
(借用B站弹幕的一句话:傅里叶的脑子是怎么长的?)

写在最后

笔者水平有限,且较为粗心,如果有发现错误,或者表述不准确的地方,亦或是看不懂的地方,希望积极指出,我会及时改正,今后如果还有比较有收获的文章或者视频还会继续和大家分享!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

傅里叶变换(FT)数学解析推导学习总结 的相关文章

  • 什么是模式识别,对抗学习是什么?

    模式识别是什么 作为人工智能的一个重要方向 模式识别的主要任务是模拟人的感知能力 如通过视觉和听觉信息去识别理解环境 又被称为 机器感知 或 智能感知 人们在观察事物或现象的时候 常常要寻找它与其他事物或现象的不同之处 并根据一定目的把相似
  • phpcms v9文件上传漏洞复现

    1 压缩包文件无递归删除 file FILES file 检查文件是否为空文件 if file exit 请勿上传空文件 name file name dir upload ext strtolower substr strrchr nam
  • 【牛客C++入门】CPP24 字符串拼接

    描述 键盘输入两个字符串 将这两个字符串进行拼接后输出 输入描述 键盘输入两个字符串 输出描述 输出两个字符串拼接后的结果 示例1 输入 hello nihao 输出 hellonihao 分析 使用函数getline 进行字符串拼接 代码

随机推荐

  • Linux安装之打开BIOS虚拟化支持

    打开BIOS虚拟化支持步骤 1 首先 你需要确认的使你的计算机型号和CPU BIOS的型号 因为过老的计算机是不支持虚拟化技术的 2 那么怎么知道呢 方法很简单 开机时按F2 F12 DEL ESC等键就可以进入到BIOS 这就需要根据电脑
  • HTTP Content-Disposition Explanation [ from MDN ]

    在常规的HTTP应答中 Content Disposition 消息头指示回复的内容该以何种形式展示 是以内联的形式 即网页或者页面的一部分 还是以附件的形式下载并保存到本地 在multipart form data类型的应答消息体中 Co
  • 集合拷贝几种常用方法

    一种简单的方式是通过构造方 List
  • 内网通 文件存服务器吗,内网通的服务器地址怎么看

    内网通的服务器地址怎么看 内容精选 换一换 介绍常见的安全组配置示例 如下示例中 出方向默认全通 仅介绍入方向规则配置方法 允许外部访问指定端口不同安全组内的弹性云服务器内网互通仅允许特定IP地址远程连接弹性云服务器SSH远程连接Linux
  • 运动控制中的安全机制——限位

    一 限位 运动控制器能够通过安装限位开关或者设置软限位来限制各轴的运动范围 一旦限位开关失效 将可能造成控制设备的损坏或发生生产事故 因此限位开关的稳定性和可靠性对于各种运动和位置控制设备来讲是十分重要的 限位限制一般有三重 软限位 限位开
  • Deepin深度操作系统中编译和安装dde-file-manager

    目录 一 Deepin环境准备 二 编译源码 1 从git仓库下载源码 2 安装第三方库依赖 2 1 可以直接apt install的库 2 2 安装Qt 2 3 安装deepin其他第三方库 3 编译安装 三 测试运行 参考 Deepin
  • 单片机开发

    作者主页 编程指南针 作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智
  • C# 中奇妙的函数–6. 五个序列聚合运算(Sum, Average, Min, Max,Aggregate)

    今天 我们将着眼于五个用于序列的聚合运算 很多时候当我们在对序列进行操作时 我们想要做基于这些序列执行某种汇总然后 计算结果 Enumerable 静态类的LINQ扩展方法可以做到这一点 就像之前大多数的LINQ扩展方法一样 这些是基于IE
  • 【Flutter 3-5】Flutter进阶教程——在Flutter中使用Lottie动画

    作者 弗拉德 来源 弗拉德 公众号 fulade me Lottie动画 在移动开发中总是需要展示一些动画特效 作为程序员的我们并不是很擅长用代码做动画 即便是有些动画可以实现 在跨平台的过程中也会因为API的差异性导致动画在各个平台中展示
  • VS2019企业版安装

    安装环境VMware Win7sp1 Net Framework 4 6 win7sp1update VS企业版下载地址 链接 https pan baidu com s 1ToBLr8sZJ9KbNKWG 6YREg 提取码 m9dr N
  • vue如何实现el-menu与el-tabs联动,通过点击el-menu导航中的选项动态添加el-tabs页面

    Vue如何实现el menu与el tabs联动 通过点击el menu导航中的选项动态添加tab页面 老规矩 先上效果图 达成这个效果 首先我们先了解下原理 在el menu中有一个属性router 开发文档中写的非常清晰 选择该属性后即
  • c#使用多线程的几种方式介绍

    本文主要介绍了c 使用多线程的几种方式 通过示例学习c 的多线程使用方式 大家参考使用吧 1 不需要传递参数 也不需要返回参数 ThreadStart是一个委托 这个委托的定义为void ThreadStart 没有参数与返回值 代码如下
  • Docker使用

    1 下载安装 在linux下安装docker一共有三步 更新软件包列表 sudo apt get update 安装docker sudo apt get install docker ce 检查docker是否安装成功 docker ve
  • MES管理系统项目失败的原因,总结三点

    MES是一款管理系统 建设效果参差不齐 但是MES管理系统项目以胜利的寥寥无几 因为MES管理系统 主要面向管理人员 管理人员希望打开工厂黑河 然而工厂的数据来源基本都是由执行层提供的 建设MES生产管理系统的诉求与国家统计局需求是一样的
  • Chat GPT介绍

    推荐一个在线使用网站 ChatGPT Next Web chatnext top 可以免费使用 但有次数限制 体验一下ChatGPT还是不错的 次数用完可以充钱28 8元成为永久会员 我不是打广告 我只想让更多的人体验和接触ChatGPT
  • android 难题,Android开发中遇到的难题与解决方案

    引用资源文件错误 导致运行失败 无法确定错误位置 解决方案 在Android Studio的Terminal控制台输入 gradlew compileDebugSources 获取webView的高度 public void initVie
  • [windows][UI] WM_MOUSEACTIVATE

    当用户单击一个非激活的顶级窗体 或非激活的顶级窗体的子窗体时 系统就会发送WM MOUSEACTIVATE消息 还包括其他消息 给顶级窗体或子窗体 该消息在WM NCHITTEST消息之后 但在button down消息之前 当把 WM M
  • swift 类型判断 Dictory Array

    一 类型的判断 1 is 的介绍 Swift 中类型的判断的关键词是 is is操作用来判断某一个对象是否是某一个特定的类 它会返回一个bool类型的值 2 is的使用方法 1 gt is 的一般判断 Swift 系统也会自动判断 类型的一
  • C++/Python程序读取命令行参数

    C 程序读取命令行参数 include
  • 傅里叶变换(FT)数学解析推导学习总结

    写在前面 本文是一篇非常容易理解 同时会很有收获的傅里叶变换推导教程 文章是学习B站DR CAN老师傅里叶级数和傅里叶变换系列课程后的学习总结 主要目的以个人复习巩固为主 同时也分享给大家一些心得以及非常好的一位老师 附上链接 DR CAN