傅里叶变换、卷积
傅里叶分析
傅里叶级数(Fourier Series,周期信号)
如上图所示,很多个sin函数可以组合为一个类矩形(无穷多个可以组合为一个真矩形)的周期函数。
周期为 2 Π 2\Pi 2Π 的傅里叶级数
所有周期函数都可以由sin函数和cos函数组合而来,如下就是傅里叶级数的公式:
假设上式成立,等式左右两边同时进行如下操作:
因为三角函数系的正交性,上述计算过程中有很多积分为0。正交(即向量垂直)性的公式如下:
通过上上图,可以求得
a
2
a_2
a2:
同理可以求
b
4
b_4
b4:
总结:
既然能求出
a
n
a_n
an和
b
n
b_n
bn,那么”所有周期函数都可以由sin函数和cos函数组合而来“的说法是正确的。
周期为 2 L 2L 2L 的傅里叶级数
如果周期不是
2
Π
2\Pi
2Π,而是
2
L
2L
2L,即,将周期为
2
L
2L
2L 的函数展开为傅里叶级数(为什么要这么想?目的是推出周期为
T
T
T 时的傅里叶级数):
在一些教科书上或者工程上习惯把傅里叶级数按照下面的写法(周期为
T
T
T 的傅里叶级数):
周期为2L的函数展开
傅里叶级数的复数形式
复变函数中,
e
(
i
θ
)
=
(
c
o
s
θ
+
i
s
i
n
θ
)
e^{(i \theta)}=(cos \theta+isin \theta)
e(iθ)=(cosθ+isinθ) 称为欧拉公式,
e
e
e 是自然对数的底,
i
i
i 是虚数单位。引入欧拉公式(Euler’s Formula),可得:
进一步可以得到傅里叶级数的复数形式:
其中,
C
n
C_n
Cn 是傅里叶级数复数形式的系数,表示如下:
将如下等式带入上式:
可得:
经过上面计算可以得到,对于所有的
n
n
n 都可以用一个表达式计算,即,对于一个周期为
T
T
T 的傅里叶级数的复数形式可以表示为:
傅里叶级数的复数形式
傅里叶级数部分解释
前面提到的矩形波是在时域的样子,那么在频域中是什么样子的呢?(傅里叶级数中的频域是离散的)
根据傅里叶分析之掐死教程(完整版)中的描述,可以根据下图理解:
频域中没有包括时域的全部信息,只能看到正弦波的振幅,无法看到相位。
参考:傅里叶分析之掐死教程(完整版)
傅里叶变换(Fourier Transformation,非周期信号)
频域和时域、周期函数和离散型函数
根据傅里叶级数复数形式(周期函数),可以解释时域和频域的关系,频率(频域,
w
0
w_0
w0)是周期(时间,时域,
T
T
T,
t
t
t)的倒数。
从图中可以看出,频域上是离散形式。
非周期函数和连续函数
前面介绍的傅里叶级数都是周期函数,那么非周期函数,即一般形式呢?
当周期
T
T
T 趋向无穷大的时候,周期函数变为非周期函数,而且
(
n
−
1
)
w
0
−
n
w
0
=
w
0
=
2
π
/
T
(n-1)w_0 - nw_0 = w_0 = 2\pi/T
(n−1)w0−nw0=w0=2π/T 趋向于0,即,从图中可以看出频域上
C
n
C_n
Cn函数从离散变为连续。
进一步把上上图的(2)式代入(1)式,可以得到:
傅里叶变换和傅里叶变换的逆变换:
从傅里叶级数推导傅里叶变换
傅里叶级数和傅里叶变换的对比
傅里叶级数的本质是将一个周期的信号分解成无限多分开的(离散的)正弦波。但是,现实中,信号往往不是周期性的,此时傅里叶变换登场。
傅里叶级数,将时域周期且连续的函数,转换为频域非周期离散的函数。傅里叶变换,则是将一个时域非周期连续的函数,转换为一个在频域非周期连续的函数。
如上图,傅里叶变换,在频域上从傅里叶级数的离散谱变成了连续谱,在计算上也从求和符号变成了积分符号。
三个傅里叶变换的例子
因为很多在时域内看不见的特性在频域内能很清楚的得到,所以傅里叶变换的物理意义是将非周期信号用无限的周期正余弦函数进行叠加,以表示所需要时域的函数。比如说,矩形波,在时域内就一直线,当用傅里叶变换后在频域内,我们就能看见像各谐波的频率,相位,振幅,能量等信息,会给我们分析问题带来很大的方便。同时,傅里叶变换把函数变换为正弦或余弦,正余弦函数的好处就是其微分和积分也是正余弦,计算起来很方便。同时,根据欧拉公式,正余弦函数是指数为复数的指数函数,指数函数的微分积分也是它本身,这也给我们提供了非常方便的计算途径。
卷积
定义
离散形式:
连续形式:
为什么叫卷积?
卷积也是一种运算符号,跟加减乘除类似。为什么叫“卷”?先看离散的情况,根据上面的公式,
τ
\tau
τ 和
n
−
τ
n-\tau
n−τ 的和为
n
n
n,如果固定
n
n
n,那么
τ
\tau
τ 是变量。若计算
f
∗
g
(
30
)
f*g(30)
f∗g(30),计算过程可以用下图模拟:
上图看起来是交叉相乘,看起来不够直观,因此可以将
f
f
f 函数翻折一下:
达到如下效果:
这样翻折其实不能体现“卷”这个含义,其实
f
f
f 翻折后的效果可以用“卷”来实现,如下图:
如果换成连续形式,可以模拟为如下图:
将
f
f
f旋转180度:
同样上述翻转可以用“卷”实现:
卷积,先进行卷折,然后把变量对齐做乘积,最后做(累加)积分。
根据不同的 n n n,还需做平移,然后对齐做乘积,做积分(累加),平移-乘积-积分(累加),一直循环下去。
卷积定理
在泛函分析中,卷积 (Convolution) 是通过两个函数 f f f 和 g g g 生成第三个函数的一种数学算子,表征函数 f f f 与 g g g 经过翻转和平移的重叠部分的面积。卷积与傅里叶变换有着密切的关系。利用一点性质,即两函数的傅里叶变换的乘积等于它们卷积后的傅里叶变换,能使傅里叶分析中许多问题的处理得到简化。
定义
卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积。即,一个域中的卷积相当于另一个域中的乘积,例如时域中的卷积就对应于频域中的乘积: F ( g ( x ) ∗ f ( x ) ) = F ( g ( x ) ) F ( f ( x ) ) F(g(x)*f(x)) = F(g(x))F(f(x)) F(g(x)∗f(x))=F(g(x))F(f(x))
其中, F F F 表示的是傅里叶变换。
推导
卷积公式:
对其进行傅氏变换:
交换次序:
注意:CNN的卷积和GNN的卷积模仿了数学定义的卷积,并不完全相等。