再回首看之前写的两篇文章,总感觉还欠差一点什么,这里在加一点。
虽然对傅里叶变换有了一定的理解,但是每次看到离散傅里叶变换的公式还是有点懵的感觉,这里将详细的退一下离散傅里叶变换公式的由来及其意义。
何为离散傅里叶变换?就是先将连续傅里叶变换通过冲击函数进行取样获得离散的数据,然后对这些离散的数据进行傅里叶变换,这就是傅里叶离散变换,公式如下:
F
~
(
u
)
=
∫
−
∞
∞
f
~
(
t
)
e
−
j
2
π
u
t
d
t
=
∫
−
∞
∞
∑
n
=
−
∞
∞
f
(
t
)
δ
(
t
−
n
Δ
T
)
e
−
j
2
π
u
t
d
t
=
∑
n
=
−
∞
∞
∫
−
∞
∞
f
(
t
)
δ
(
t
−
n
Δ
T
)
e
−
j
2
π
u
t
d
t
=
∑
n
=
−
∞
∞
f
n
e
−
j
2
π
u
n
Δ
T
\widetilde{F}(u)=\int^{\infty}_{-\infty}\widetilde{f}(t)e^{-j2\pi ut}dt\\ =\int^{\infty}_{-\infty}\sum^{\infty}_{n=-\infty}f(t)\delta(t-n\Delta T)e^{-j2\pi ut}dt\\ =\sum^{\infty}_{n=-\infty}\int^{\infty}_{-\infty}f(t)\delta(t-n\Delta T)e^{-j2\pi ut}dt\\ =\sum^{\infty}_{n=-\infty}f_ne^{-j2\pi un\Delta T}
F
(u)=∫−∞∞f
(t)e−j2πutdt=∫−∞∞n=−∞∑∞f(t)δ(t−nΔT)e−j2πutdt=n=−∞∑∞∫−∞∞f(t)δ(t−nΔT)e−j2πutdt=n=−∞∑∞fne−j2πunΔT
上式的最后一个公式无非是应用了冲击响应的性质将t替换成了
n
Δ
T
n\Delta T
nΔT而已,没什么了不起的,很好理解。接下来才是重点。
我们知道离散傅里叶变换得到的结果也是离散函数,而上面得到的是连续函数,所以上面不是我们真正想要的解。
上面的连续函数是f(x)的傅里叶变换函数F(u)以
Δ
T
\Delta T
ΔT为周期平移得到的,而我们需要的只是其中一个周期即[0,
Δ
T
\Delta T
ΔT]内的部分,因为这部分就是F(u),为了得离散的数据,我们将[0,
Δ
T
\Delta T
ΔT]的数据平均分成M份(因为原始数据为M个离散点),而这m份就是我们最后的结果,他们的坐标为:
u
=
m
M
Δ
T
u=\frac{m}{M\Delta T}
u=MΔTm
带入之前的式子就得到了离散傅里叶变换的公式了:
F
m
=
∑
n
=
0
M
−
1
e
−
j
2
π
m
n
/
M
,
m
=
0
,
1
,
2
,
3
,
4...
,
M
−
1
F_m=\sum_{n=0}^{M-1}e^{-j2\pi mn/M},m=0,1,2,3,4...,M-1
Fm=n=0∑M−1e−j2πmn/M,m=0,1,2,3,4...,M−1