一、离散时间傅里叶变换(DTFT)
在时间连续域中,信号一般用带有时间变量的函数表示,系统则用微分方程表示。在频域中,则使用傅里叶变换或拉普拉斯变换表示。
在时间离散域中,信号一般用序列表示,系统则用差分方程表示。在频域中,则使用序列的傅里叶变换或Z变换表示。
时间连续模拟信号的傅里叶变换会得到连续的频域信号。那么时间离散信号(序列)的傅里叶变换呢?
x
(
n
)
x(n)
x(n)是一个长为M的序列,其离散时间傅里叶变换(DTFT)为:
公式(1):
X
(
e
j
ω
)
=
D
T
F
T
[
x
(
n
)
]
=
∑
n
=
−
∞
∞
x
(
n
)
e
−
j
ω
n
X(e^{j\omega})=DTFT[x(n)]=\sum_{n=-\infty}^{\infty}x(n)e^{-j\omega n}
X(ejω)=DTFT[x(n)]=∑n=−∞∞x(n)e−jωn
离散时间傅里叶逆变换为:
公式(2):
x
(
n
)
=
1
2
π
∫
−
π
π
X
(
e
j
ω
)
e
j
ω
n
d
ω
x(n)=\frac{1}{2\pi}\int_{-\pi}^{\pi}X(e^{j\omega})e^{j\omega n}d\omega
x(n)=2π1∫−ππX(ejω)ejωndω
从公式(1)可以看出时间离散信号的DTFT得到的是连续的频域信号!这也是DTFT最明显的特征。
二、离散傅里叶变换(DFT)
x
(
n
)
x(n)
x(n)是一个长为M的序列,其离散傅里叶变换(DFT)为:
公式(3):
X
(
k
)
=
D
F
T
[
x
(
n
)
]
=
∑
n
=
0
N
−
1
x
(
n
)
e
−
j
2
π
N
k
n
,
k
=
0
,
1
,
2
,
.
.
.
,
N
−
1
X(k)=DFT[x(n)]=\sum_{n=0}^{N-1}x(n)e^{-j \frac{2\pi}{N}kn}, k=0,1,2, ..., N-1
X(k)=DFT[x(n)]=∑n=0N−1x(n)e−jN2πkn,k=0,1,2,...,N−1
离散傅里叶逆变换为:
公式(4):
x
(
n
)
=
I
D
F
T
[
X
(
k
)
]
=
1
N
∑
n
=
0
N
−
1
X
(
k
)
e
j
2
π
N
k
n
,
n
=
0
,
1
,
2
,
.
.
.
,
N
−
1
x(n)=IDFT[X(k)]=\frac{1}{N}\sum_{n=0}^{N-1}X(k)e^{j \frac{2\pi}{N}kn}, n=0,1,2, ..., N-1
x(n)=IDFT[X(k)]=N1∑n=0N−1X(k)ejN2πkn,n=0,1,2,...,N−1
从公式(3)可以看出时间离散信号的DFT得到的是离散的频域信号!
那么对 x ( n ) x(n) x(n)进行DFT得到的 X ( k ) X(k) X(k)和对 x ( n ) x(n) x(n)进行DTFT得到的 X ( e j ω ) X(e^{j\omega}) X(ejω)之间有什么实际物理关系呢?
公式(5): X ( k ) = X ( e j ω ) ∣ ω = 2 π N k , k = 0 , 1 , 2 , . . . , N − 1 X(k)=X(e^{j\omega})|_{\omega=\frac{2\pi}{N}k},k=0,1,2,...,N-1 X(k)=X(ejω)∣ω=N2πk,k=0,1,2,...,N−1
因此,从公式(5)可以看出对 x ( n ) x(n) x(n)进行DFT得到的X(k)是对 x ( n ) x(n) x(n)进行DTFT得到的 X ( e j ω ) X(e^{j\omega}) X(ejω)在区间 [ 0 , 2 π ] [0,2\pi] [0,2π]上的N点等间隔采样。
由于时域非周期信号的转换到频域会得到周期的频域信号,因此区间 [ 0 , 2 π ] [0,2\pi] [0,2π]是指频域信号一个周期内的所有频域分量。在实际的通信系统中,区间 [ 0 , 2 π ] [0,2\pi] [0,2π]对应的是信号采样角频率 ω s = 2 π F s \omega s=2\pi Fs ωs=2πFs的范围。这也正是画频谱时,整个频谱宽度等于采样率 F s Fs Fs。
也就是说,对 x ( n ) x(n) x(n)进行DTFT得到的 X ( e j ω ) X(e^{j\omega}) X(ejω)是一个连续的频域信号,而对 x ( n ) x(n) x(n)进行DFT就相当于在频域,在采样频率范围内,对连续的 X ( e j ω ) X(e^{j\omega}) X(ejω)进行N点采样。
三、DTFT和DFT区别的例子
例如序列
x
(
n
)
=
[
0
,
1
,
2
,
3
]
x(n)=[0,1,2,3]
x(n)=[0,1,2,3],其DTFT为:
X
(
e
j
ω
)
=
∑
n
=
0
3
x
(
n
)
e
−
j
ω
n
=
1
+
e
−
j
ω
+
e
−
j
ω
2
+
e
−
j
ω
3
=
1
−
e
−
j
ω
3
1
−
e
−
j
ω
=
e
−
j
ω
3
2
s
i
n
(
ω
3
/
2
)
s
i
n
(
ω
/
2
)
X(e^{j\omega})=\sum_{n=0}^{3}x(n)e^{-j\omega n}\\ = 1+e^{-j\omega} +e^{-j\omega 2} +e^{-j\omega 3} \\ =\frac{1-e^{-j\omega 3}}{1-e^{-j\omega}}=e^{\frac{-j\omega 3}{2}}\frac{sin(\omega 3/2)}{sin(\omega/2)}
X(ejω)=∑n=03x(n)e−jωn=1+e−jω+e−jω2+e−jω3=1−e−jω1−e−jω3=e2−jω3sin(ω/2)sin(ω3/2)
其8点DFT为:
X
(
k
)
=
∑
n
=
0
7
x
(
n
)
e
−
j
2
π
8
k
n
=
e
−
j
3
π
8
k
s
i
n
(
π
2
k
)
s
i
n
(
π
8
k
)
,
k
=
0
,
1
,
.
.
.
,
7
X(k)=\sum_{n=0}^{7}x(n)e^{\frac{-j2\pi}{8}kn}=e^{\frac{-j3\pi}{8}k}\frac{sin(\frac{\pi}{2}k)}{sin(\frac{\pi}{8}k)},k=0,1,...,7
X(k)=∑n=07x(n)e8−j2πkn=e8−j3πksin(8πk)sin(2πk),k=0,1,...,7
它们对应的时域和频域幅度曲线如下所示:
![在这里插入图片描述](https://img-blog.csdnimg.cn/202fcbfe329446a1adaf52f2ec361f36.jpeg#pic_center)
四、快速傅里叶变换(FFT)
直接计算DFT的计算复杂度和点数N的平方成正比,当N较大时,计算量太大。因此,FFT仅仅是降低DFT计算复杂度的各种快速DFT算法的总称。
总结
本博文介绍了离散时间傅里叶变换(DTFT)、离散傅里叶变换(DFT)和快速傅里叶变换(FFT)的原理。其中,DTFT最明显的特征是将时域离散信号变换为频域连续信号,DFT是在一个采样角频率范围内对DTFT得到的频域连续信号的等间隔N点采样,而FFT仅仅是在DFT基础上简化复杂度后的各种算法总称。