离散傅里叶变换(DFT)的理解(1)
离散傅里叶变换(DFT)
定义:
X
(
k
)
=
D
F
T
[
x
(
n
)
]
=
∑
n
=
0
N
−
1
x
(
n
)
W
N
k
n
(
k
=
0
,
1
,
⋯
 
,
N
−
1
)
x
(
n
)
=
I
D
F
T
[
X
(
k
)
]
=
1
N
∑
k
=
0
N
−
1
X
(
k
)
W
N
−
k
n
(
n
=
0
,
1
,
⋯
 
,
N
−
1
)
\begin{aligned} X(k)=DFT[x(n)]=&\sum^{N-1}_{n=0}x(n)W^{kn}_{N}\space\space(k=0,1,\cdots,N-1)\\ x(n)=IDFT[X(k)]=\frac{1}{N}&\sum^{N-1}_{k=0}X(k)W^{-kn}_{N}\space\space(n=0,1,\cdots,N-1) \end{aligned}
X(k)=DFT[x(n)]=x(n)=IDFT[X(k)]=N1n=0∑N−1x(n)WNkn (k=0,1,⋯,N−1)k=0∑N−1X(k)WN−kn (n=0,1,⋯,N−1)
为了方便数字化的处理信号,就不免要
- 对信号数字化
- 对信号处理过程数学化
数字信号处理这门课对应信号数字化的过程主要是将连续信号转变为离散信号的采样过程,以及比较容易被忽略的量化过程(用有限字长去近似表示实数实际上已经将幅度离散化了)
而对信号进行的最基本处理便是频域滤波,频域滤波要想实现就必须对连续信号引入频谱。这就要引入傅里叶变换,对各个频谱的分量进行分析。
而存在以下两个简单的问题:
- 计算机无法处理时间、幅度两者之一连续的变量
- 计算机无法处理(我们在理论分析中研究的)时间无限的信号
- 传统的傅里叶变换基于积分运算,对于计算机而言也是基于离散求和逼近的种种算法来计算的
我们有必要为计算机找到一种傅里叶变换。
没法无限就不要无限,没法处理连续那就离散吧
先说我们将离散时间傅里叶变换
X
(
e
j
ω
)
=
∑
n
=
−
∞
∞
x
(
n
)
e
−
j
ω
n
X(e^{j\omega})=\sum^{\infty}_{n=-\infty}x(n)e^{-j\omega n}
X(ejω)=n=−∞∑∞x(n)e−jωn
在
(
0
,
2
π
)
(0,2\pi)
(0,2π)上采出N个样
X
(
k
)
=
∑
n
=
−
∞
∞
x
(
n
)
e
−
j
2
π
N
k
n
(
k
=
0
,
1
,
⋯
 
,
N
−
1
)
X(k)=\sum^{\infty}_{n=-\infty}x(n)e^{-j\frac{2\pi}{N}k n}\space\space(k=0,1,\cdots,N-1)
X(k)=n=−∞∑∞x(n)e−jN2πkn (k=0,1,⋯,N−1)
然后我们就发现了一个惊人的问题:
我们知道的
X
(
k
)
X(k)
X(k)只能代表一个周期信号谱特性!
x
(
n
)
≠
∑
k
=
0
N
−
1
X
(
k
)
e
j
2
π
N
k
n
x(n)\neq\sum^{N-1}_{k=0}X(k)e^{j\frac{2\pi}{N}kn}
x(n)̸=k=0∑N−1X(k)ejN2πkn
就这样吧,那我就不研究一个非周期信号的谱了?不,我用周期信号去研究非周期信号的谱,这带来的代价就是截断效应
下一篇文章想谈谈以上的思想,重点是隐含周期性、DFT和DFS的映射关系的问题
参考文献:
[1]: 高西全 丁玉美 《数字信号处理》 第四版 P83