从听到傅立叶变换这个名词后到现在已经四年了,这次终于对傅立叶变换有了一个基本的初步了解。记录一下,这个傅立叶变换也同时记录了我本科到研究生的四年,一路以来跌跌撞撞,没想到最后还是入了图像的坑
数字图像处理——傅立叶变换
欧拉公式
对于一个复平面(对于欧几里得平面而言,把实数作为x轴,虚数作为y轴)
若在复平面上存在一个单位圆,所以在单位圆上的点可以表示为 cos θ + sin θ ⋅ i \cos\theta+\sin\theta\cdot i cosθ+sinθ⋅i
对于泰勒公式:
e
x
=
1
+
x
+
1
2
x
2
+
1
6
x
3
+
⋯
+
1
n
!
x
n
=
∑
i
=
0
n
1
i
!
x
i
sin
x
=
x
−
1
6
x
3
+
1
120
x
5
+
⋯
+
(
−
1
)
2
k
−
1
(
2
k
−
1
)
!
x
2
k
−
1
=
∑
i
=
1
n
(
−
1
)
i
−
1
(
2
i
−
1
)
!
x
2
i
−
1
cos
x
=
1
−
1
2
x
2
+
1
24
x
4
+
⋯
+
(
−
1
)
k
(
2
k
)
!
x
2
k
=
∑
i
=
0
n
(
−
1
)
i
(
2
i
)
!
x
2
i
\begin{aligned} e^x&=1+x+\frac{1}{2}x^2+\frac{1}{6}x^3+\dots+\frac{1}{n!}x^n=\sum_{i=0}^n\frac{1}{i!}x^i\\ \sin x&=x-\frac{1}{6}x^3+\frac{1}{120}x^5+\dots+\frac{(-1)^{2k-1}}{(2k-1)!}x^{2k-1}=\sum_{i=1}^n\frac{(-1)^{i-1}}{(2i-1)!}x^{2i-1}\\ \cos x&=1-\frac{1}{2}x^2+\frac{1}{24}x^4+\cdots+\frac{(-1)^k}{(2k)!}x^{2k}=\sum_{i=0}^n\frac{(-1)^i}{(2i)!}x^{2i} \end{aligned}
exsinxcosx=1+x+21x2+61x3+⋯+n!1xn=i=0∑ni!1xi=x−61x3+1201x5+⋯+(2k−1)!(−1)2k−1x2k−1=i=1∑n(2i−1)!(−1)i−1x2i−1=1−21x2+241x4+⋯+(2k)!(−1)kx2k=i=0∑n(2i)!(−1)ix2i
令
x
=
θ
i
x=\theta i
x=θi,则可得
e
θ
i
=
cos
θ
+
sin
θ
⋅
i
e^{\theta i}=\cos \theta+\sin \theta \cdot i
eθi=cosθ+sinθ⋅i
则单位圆存在如下表示:
傅立叶级数
对于傅立叶级数表示如果存在周期为
T
T
T的函数,那它一定可以由一组正弦和余弦函数表示,即:
f
(
x
)
=
a
0
+
∑
n
=
1
∞
(
a
n
sin
2
π
n
T
x
+
b
n
cos
2
π
n
T
x
)
f(x)=a_0+\sum_{n=1}^\infty(a_n\sin\frac{2\pi n}{T}x+b_n\cos\frac{2\pi n}{T}x)
f(x)=a0+n=1∑∞(ansinT2πnx+bncosT2πnx)
同时因为欧拉公式
e
θ
i
=
cos
θ
+
sin
θ
⋅
i
e^{\theta i}=\cos \theta+\sin \theta \cdot i
eθi=cosθ+sinθ⋅i,所以
{
e
θ
i
=
cos
θ
+
sin
θ
⋅
i
e
−
θ
i
=
cos
θ
−
sin
θ
⋅
i
⇒
{
cos
θ
=
e
θ
i
+
e
−
θ
i
2
sin
θ
=
e
θ
i
−
e
−
θ
i
2
i
\begin{cases} e^{\theta i}=\cos \theta+\sin \theta \cdot i\\ e^{-\theta i}=\cos \theta-\sin \theta \cdot i \end{cases} \Rightarrow \begin{cases} \cos\theta=\frac{e^{\theta i}+e^{-\theta i}}{2}\\ \sin\theta=\frac{e^{\theta i}-e^{-\theta i}}{2i} \end{cases}
{eθi=cosθ+sinθ⋅ie−θi=cosθ−sinθ⋅i⇒{cosθ=2eθi+e−θisinθ=2ieθi−e−θi
带入傅立叶级数可得:
f
(
x
)
=
a
0
+
∑
n
=
1
∞
(
a
n
e
2
π
n
T
x
⋅
i
+
e
−
2
π
n
T
x
⋅
i
2
+
b
n
e
2
π
n
T
x
⋅
i
−
e
−
2
π
n
T
x
⋅
i
2
i
)
=
a
0
+
∑
n
=
1
∞
(
a
n
e
2
π
n
T
x
⋅
i
+
e
−
2
π
n
T
x
⋅
i
2
−
b
n
e
2
π
n
T
x
⋅
i
−
e
−
2
π
n
T
x
⋅
i
2
⋅
i
)
=
a
0
+
∑
n
=
0
∞
(
a
n
−
b
n
⋅
i
2
e
2
π
n
T
x
⋅
i
+
a
n
+
b
n
⋅
i
2
e
−
2
π
n
T
x
⋅
i
)
\begin{aligned} f(x)&=a_0+\sum_{n=1}^\infty(a_n\frac{e^{\frac{2\pi n}{T}x\cdot i}+e^{-\frac{2\pi n}{T}x\cdot i}}{2}+b_n\frac{e^{\frac{2\pi n}{T}x\cdot i}-e^{-\frac{2\pi n}{T}x\cdot i}}{2i})\\ &=a_0+\sum_{n=1}^\infty(a_n\frac{e^{\frac{2\pi n}{T}x\cdot i}+e^{-\frac{2\pi n}{T}x\cdot i}}{2}- b_n\frac{e^{\frac{2\pi n}{T}x\cdot i}-e^{-\frac{2\pi n}{T}x\cdot i}}{2}\cdot i)\\ &=a_0+\sum_{n=0}^\infty(\frac{a_n-b_n\cdot i}{2}e^{\frac{2\pi n}{T}x\cdot i}+\frac{a_n+b_n\cdot i}{2}e^{-\frac{2\pi n}{T}x\cdot i})\\ \end{aligned}
f(x)=a0+n=1∑∞(an2eT2πnx⋅i+e−T2πnx⋅i+bn2ieT2πnx⋅i−e−T2πnx⋅i)=a0+n=1∑∞(an2eT2πnx⋅i+e−T2πnx⋅i−bn2eT2πnx⋅i−e−T2πnx⋅i⋅i)=a0+n=0∑∞(2an−bn⋅ieT2πnx⋅i+2an+bn⋅ie−T2πnx⋅i)
令
c
0
=
a
0
,
c
n
=
a
n
−
b
n
⋅
i
2
,
c
−
n
=
a
n
+
b
n
⋅
i
2
c_0=a_0,c_n=\frac{a_n-b_n\cdot i}{2},c_{-n}=\frac{a_n+b_n\cdot i}{2}
c0=a0,cn=2an−bn⋅i,c−n=2an+bn⋅i,则
f
(
x
)
=
∑
n
=
−
∞
c
n
e
2
π
n
T
x
⋅
i
f(x)=\sum_{n=-\infty}c_ne^{\frac{2\pi n}{T}x\cdot i}
f(x)=n=−∞∑cneT2πnx⋅i
其中
c
n
c_n
cn为傅立叶级数的系数,它代表原始函数
f
(
x
)
f(x)
f(x)在特定频率
n
n
n处的强度
对于
f
(
x
)
f(x)
f(x),此时等号左右两侧同时乘上
e
−
2
π
n
T
x
⋅
i
e^{-\frac{2\pi n}{T}x\cdot i}
e−T2πnx⋅i,则
e
−
2
π
n
T
x
⋅
i
×
f
(
x
)
=
e
−
2
π
n
T
x
⋅
i
×
∑
n
=
−
∞
c
n
e
2
π
n
T
x
⋅
i
e^{-\frac{2\pi n}{T}x\cdot i}\times f(x)=e^{-\frac{2\pi n}{T}x\cdot i}\times\sum_{n=-\infty}c_ne^{\frac{2\pi n}{T}x\cdot i}
e−T2πnx⋅i×f(x)=e−T2πnx⋅i×n=−∞∑cneT2πnx⋅i
在一个周期
T
T
T内进行积分:
∫
0
T
f
(
x
)
e
−
2
π
n
T
x
⋅
i
d
x
=
∫
0
T
e
−
2
π
n
T
x
⋅
i
×
∑
n
=
−
∞
c
n
e
2
π
n
T
x
⋅
i
d
x
=
∫
0
T
∑
n
=
−
∞
c
n
e
2
π
n
′
T
x
⋅
i
d
x
\begin{aligned} \int_0^T f(x)e^{-\frac{2\pi n}{T}x\cdot i}dx&=\int_0^Te^{-\frac{2\pi n}{T}x\cdot i}\times\sum_{n=-\infty}c_ne^{\frac{2\pi n}{T}x\cdot i}dx\\ &=\int_0^T\sum_{n=-\infty}c_ne^{\frac{2\pi n'}{T}x\cdot i}dx \end{aligned}
∫0Tf(x)e−T2πnx⋅idx=∫0Te−T2πnx⋅i×n=−∞∑cneT2πnx⋅idx=∫0Tn=−∞∑cneT2πn′x⋅idx
对于
e
2
π
n
′
T
x
⋅
i
e^{\frac{2\pi n'}{T}x\cdot i}
eT2πn′x⋅i在一个周期内积分,即考虑
e
2
π
(
n
−
m
)
T
x
⋅
i
e^{\frac{2\pi (n-m)}{T}x\cdot i}
eT2π(n−m)x⋅i在一个周期上积分
当
n
=
m
n=m
n=m时,
e
2
π
(
n
−
m
)
T
x
⋅
i
=
e
0
=
1
e^{\frac{2\pi (n-m)}{T}x\cdot i}=e^0=1
eT2π(n−m)x⋅i=e0=1,此时
∫
0
T
e
2
π
n
′
T
x
⋅
i
d
x
=
T
\int_0^Te^{\frac{2\pi n'}{T}x\cdot i}dx=T
∫0TeT2πn′x⋅idx=T
当
n
≠
m
n\not=m
n=m时,
e
2
π
n
′
T
x
⋅
i
=
cos
2
π
n
′
T
x
+
sin
2
π
n
′
T
x
⋅
i
e^{\frac{2\pi n'}{T}x\cdot i}=\cos \frac{2\pi n'}{T}x+\sin\ \frac{2\pi n'}{T}x\cdot i
eT2πn′x⋅i=cosT2πn′x+sin T2πn′x⋅i,此时
∫
0
T
e
2
π
n
′
T
x
⋅
i
d
x
=
∫
0
T
(
cos
2
π
n
′
T
x
+
sin
2
π
n
′
T
x
⋅
i
)
d
x
=
∫
0
T
cos
2
π
n
′
T
x
d
x
+
i
∫
0
T
sin
2
π
n
′
T
x
d
x
=
0
\begin{aligned} \int _0^Te^{\frac{2\pi n'}{T}x\cdot i}dx &=\int_0^T(\cos \frac{2\pi n'}{T}x+\sin\ \frac{2\pi n'}{T}x\cdot i)dx\\ &=\int_0^T\cos \frac{2\pi n'}{T}xdx+i\int_0^T\sin\ \frac{2\pi n'}{T}xdx\\ &=0 \end{aligned}
∫0TeT2πn′x⋅idx=∫0T(cosT2πn′x+sin T2πn′x⋅i)dx=∫0TcosT2πn′xdx+i∫0Tsin T2πn′xdx=0
所以:
∫
0
T
f
(
x
)
e
−
2
π
n
T
x
⋅
i
d
x
=
∫
0
T
e
−
2
π
n
T
x
⋅
i
×
∑
n
=
−
∞
c
n
e
2
π
n
T
x
⋅
i
d
x
=
∫
0
T
∑
n
=
−
∞
c
n
e
2
π
n
′
T
x
⋅
i
d
x
=
c
n
T
,
n
=
n
′
\begin{aligned} \int_0^T f(x)e^{-\frac{2\pi n}{T}x\cdot i}dx&=\int_0^Te^{-\frac{2\pi n}{T}x\cdot i}\times\sum_{n=-\infty}c_ne^{\frac{2\pi n}{T}x\cdot i}dx\\ &=\int_0^T\sum_{n=-\infty}c_ne^{\frac{2\pi n'}{T}x\cdot i}dx\\ &=c_nT \quad,n=n' \end{aligned}
∫0Tf(x)e−T2πnx⋅idx=∫0Te−T2πnx⋅i×n=−∞∑cneT2πnx⋅idx=∫0Tn=−∞∑cneT2πn′x⋅idx=cnT,n=n′
可得
c
n
=
1
T
∫
0
T
f
(
x
)
e
−
2
π
n
T
x
⋅
i
d
x
c_n=\frac{1}{T}\int_0^T f(x)e^{-\frac{2\pi n}{T}x\cdot i}dx
cn=T1∫0Tf(x)e−T2πnx⋅idx
对于三角函数
A
sin
(
ω
x
+
φ
)
A\sin(\omega x+\varphi)
Asin(ωx+φ)中周期为
T
=
2
π
ω
T=\frac{2\pi}{\omega}
T=ω2π,相位为
φ
\varphi
φ,振幅为
A
A
A,频率为
Δ
f
=
1
T
\Delta f=\frac{1}{T}
Δf=T1。
在复平面中
c
n
×
e
2
π
n
T
x
⋅
i
=
c
n
×
(
cos
2
π
n
T
x
+
sin
2
π
n
T
x
⋅
i
)
c_n\times e^{\frac{2\pi n}{T}x\cdot i}=c_n\times (\cos\frac{2\pi n}{T}x+\sin\frac{2\pi n}{T}x\cdot i)
cn×eT2πnx⋅i=cn×(cosT2πnx+sinT2πnx⋅i)
所以频率为
Δ
f
=
T
2
π
n
\Delta f= \frac{T}{2\pi n}
Δf=2πnT,振幅为
c
n
c_n
cn。
傅立叶变换
连续型
当周期
T
T
T趋向于无穷大时,函数不再是周期的,而是在整个实数轴上定义。此时频率
Δ
f
=
1
T
→
0
\Delta f= \frac{1}{T}\rightarrow0
Δf=T1→0,这意味着频率变得连续,而不再是离散的。当
T
→
∞
T\rightarrow\infty
T→∞时,
ω
=
2
π
n
T
\omega=\frac{2\pi n}{T}
ω=T2πn,则可以将
n
Δ
f
n\Delta f
nΔf替换为一个连续的频率。于是,我们从傅立叶级数系数
c
n
c_n
cn 得到傅立叶变换:
{
c
n
=
1
T
∫
0
T
f
(
x
)
e
−
2
π
n
T
x
⋅
i
d
x
T
=
∞
⇒
F
(
ω
)
=
1
2
π
∫
−
∞
+
∞
f
(
x
)
e
−
ω
x
⋅
i
d
x
,
ω
=
2
π
n
T
\begin{cases} c_n=\frac{1}{T}\int_0^T f(x)e^{-\frac{2\pi n}{T}x\cdot i}dx\\ T=\infty \end{cases} \Rightarrow F(\omega)=\frac{1}{2\pi}\int_{-\infty}^{+\infty}f(x)e^{-\omega x\cdot i}dx\quad,\omega=\frac{2\pi n}{T}
{cn=T1∫0Tf(x)e−T2πnx⋅idxT=∞⇒F(ω)=2π1∫−∞+∞f(x)e−ωx⋅idx,ω=T2πn
离散型
已知连续型的傅立叶变换为 F ( ω ) = 1 2 π ∫ − ∞ + ∞ f ( x ) e − ω x ⋅ i d x F(\omega)=\frac{1}{2\pi}\int_{-\infty}^{+\infty}f(x)e^{-\omega x\cdot i}dx F(ω)=2π1∫−∞+∞f(x)e−ωx⋅idx
当我们考虑离散的信号时,而不是连续的信号,我们需要使用离散傅立叶变换(Discrete Fourier Transform, DFT)。给定一个离散信号序列 x [ n ] x[n] x[n],其DFT为 X [ k ] X[k] X[k],定义如下:
X
[
k
]
=
∑
n
=
0
N
−
1
x
[
n
]
⋅
e
−
j
2
π
k
n
N
X[k] = \sum_{n=0}^{N-1} x[n] \cdot e^{-j \frac{2\pi kn}{N}}
X[k]=n=0∑N−1x[n]⋅e−jN2πkn
其中:
- x [ n ] x[n] x[n] 是在时域中的离散信号。
- X [ k ] X[k] X[k] 是在频域中的离散频率响应。
- N N N 是信号的总长度或总样本数。
- k k k 是离散频率的索引,范围从 0 0 0 到 N − 1 N-1 N−1。