介绍
离散傅里叶变换(DFT)是数字信号处理中一种重要工具,它将一个等间隔采样的有限序列转换为相同长度的复数序列,表示该序列在频域中的频率成分。理解DFT的性质对于有效分析和处理频域中的信号至关重要。
本文将详细解释DFT的以下性质:
- 线性性
- 对称性
- 周期性
- 时移与频移
- 实值输入的性质
- 使用快速傅里叶变换(FFT)的高效计算
1. 线性性
定义:
DFT 是一种线性变换。这意味着如果你有两个信号 x 1 ( n ) x_1(n) x1(n) 和 x 2 ( n ) x_2(n) x2(n),它们的DFT分别为 X 1 ( k ) X_1(k) X1(k) 和 X 2 ( k ) X_2(k) X2(k),那么这些信号的线性组合同样遵循线性性。
数学表达式:
如果:
x
1
(
n
)
↔
DFT
X
1
(
k
)
x_1(n) \xleftrightarrow{\text{DFT}} X_1(k)
x1(n)DFT
X1(k)
x
2
(
n
)
↔
DFT
X
2
(
k
)
x_2(n) \xleftrightarrow{\text{DFT}} X_2(k)
x2(n)DFT
X2(k)
那么对于任意标量
a
1
a_1
a1 和
a
2
a_2
a2:
a
1
x
1
(
n
)
+
a
2
x
2
(
n
)
↔
DFT
a
1
X
1
(
k
)
+
a
2
X
2
(
k
)
a_1 x_1(n) + a_2 x_2(n) \xleftrightarrow{\text{DFT}} a_1 X_1(k) + a_2 X_2(k)
a1x1(n)+a2x2(n)DFT
a1X1(k)+a2X2(k)
解释:
- 线性性 意味着在时域中对信号进行缩放和相加,频域中的DFT也会按比例缩放和相加。
- 这个性质在信号分析和合成中非常重要,因为它允许将复杂信号分解为简单的成分。
示例:
假设:
x
1
(
n
)
=
[
1
,
2
,
3
,
4
]
x_1(n) = [1, 2, 3, 4]
x1(n)=[1,2,3,4]
x
2
(
n
)
=
[
2
,
3
,
4
,
5
]
x_2(n) = [2, 3, 4, 5]
x2(n)=[2,3,4,5]
计算它们的DFT X 1 ( k ) X_1(k) X1(k) 和 X 2 ( k ) X_2(k) X2(k),并验证 a 1 x 1 ( n ) + a 2 x 2 ( n ) a_1 x_1(n) + a_2 x_2(n) a1x1(n)+a2x2(n) 对应于 a 1 X 1 ( k ) + a 2 X 2 ( k ) a_1 X_1(k) + a_2 X_2(k) a1X1(k)+a2X2(k)。
设 a 1 = 1 a_1 = 1 a1=1, a 2 = − 1 a_2 = -1 a2=−1:
-
时域:
x ( n ) = x 1 ( n ) − x 2 ( n ) = [ 1 − 2 , 2 − 3 , 3 − 4 , 4 − 5 ] = [ − 1 , − 1 , − 1 , − 1 ] x(n) = x_1(n) - x_2(n) = [1-2, 2-3, 3-4, 4-5] = [-1, -1, -1, -1] x(n)=x1(n)−x2(n)=[1−2,2−3,3−4,4−5]=[−1,−1,−1,−1] -
频域:
X ( k ) = X 1 ( k ) − X 2 ( k ) X(k) = X_1(k) - X_2(k) X(k)=X1(k)−X2(k)
计算 X ( k ) X(k) X(k) 并验证它与 x ( n ) x(n) x(n) 的DFT匹配。
2. 对称性
定义:
DFT 具有对称性,尤其是当信号是偶数或奇数时。
偶数信号:
-
信号 x p ( n ) x_p(n) xp(n) 是偶数的,如果:
x p ( n ) = x p ( − n ) x_p(n) = x_p(-n) xp(n)=xp(−n) -
它的DFT满足:
X ( k ) = X ( − k ) X(k) = X(-k) X(k)=X(−k)
奇数信号:
-
信号 x p ( n ) x_p(n) xp(n) 是奇数的,如果:
x p ( n ) = − x p ( − n ) x_p(n) = -x_p(-n) xp(n)=−xp(−n) -
它的DFT满足:
X ( k ) = − X ( − k ) X(k) = -X(-k) X(k)=−X(−k)
解释:
- 对称性属性是由于DFT中使用的复指数基函数的固有对称性。
- 对于周期信号,这些属性可以扩展,考虑DFT的周期性。
示例:
考虑一个偶数信号 x ( n ) x(n) x(n):
- x ( n ) = x ( − n ) x(n) = x(-n) x(n)=x(−n)
- 令 N = 8 N = 8 N=8(DFT长度),且 x ( n ) = cos ( 2 π n 8 ) x(n) = \cos\left(\frac{2\pi n}{8}\right) x(n)=cos(82πn)
- 由于余弦函数是偶函数, x ( n ) x(n) x(n) 是偶数信号。
- 因此, X ( k ) = X ( − k ) X(k) = X(-k) X(k)=X(−k),这意味着DFT的幅值在 k = 0 k = 0 k=0 处对称。
3. 周期性
定义:
DFT 及其逆变换具有周期性,周期为 N N N。
数学表达式:
-
在时域:
x ( n + N ) = x ( n ) x(n + N) = x(n) x(n+N)=x(n) -
在频域:
X ( k + N ) = X ( k ) X(k + N) = X(k) X(k+N)=X(k)
解释:
- DFT 假设输入序列是无限周期序列中的一个周期。
- 时域信号和DFT在频域中都具有相同周期 N N N。
示例:
考虑一个长度为 N = 4 N = 4 N=4 的信号 x ( n ) x(n) x(n):
- x ( n ) = [ 1 , 2 , 3 , 4 ] x(n) = [1, 2, 3, 4] x(n)=[1,2,3,4]
- 周期性延拓
x
(
n
)
x(n)
x(n):
x ( n ) = x ( n + 4 ) x(n) = x(n + 4) x(n)=x(n+4)
所以,
x ( 0 ) = x ( 4 ) = 1 x(0) = x(4) = 1 x(0)=x(4)=1
x ( 1 ) = x ( 5 ) = 2 x(1) = x(5) = 2 x(1)=x(5)=2
依此类推。
4. 带周期性的扩展对称性
对于一个 N N N 点的DFT,对称性可以结合周期性表达:
-
偶对称性:
x ( n ) = x ( N − n ) ⟹ X ( k ) = X ( N − k ) x(n) = x(N - n) \implies X(k) = X(N - k) x(n)=x(N−n)⟹X(k)=X(N−k) -
奇对称性:
x ( n ) = − x ( N − n ) ⟹ X ( k ) = − X ( N − k ) x(n) = -x(N - n) \implies X(k) = -X(N - k) x(n)=−x(N−n)⟹X(k)=−X(N−k)
解释:
- 由于 x ( n ) x(n) x(n) 以周期 N N N 为周期, x ( − n ) x(-n) x(−n) 可以表示为 x ( N − n ) x(N - n) x(N−n)。
- 这使得可以在 [ 0 , N − 1 ] [0, N-1] [0,N−1] 范围内用正索引表示对称性。
示例:
给定 N = 8 N = 8 N=8,如果 x ( n ) = x ( 8 − n ) x(n) = x(8 - n) x(n)=x(8−n),那么 x ( 1 ) = x ( 7 ) x(1) = x(7) x(1)=x(7), x ( 2 ) = x ( 6 ) x(2) = x(6) x(2)=x(6) 等。
5. 实值输入的性质
共轭对称性:
如果 x ( n ) x(n) x(n) 是实值信号,则DFT具有共轭对称性:
X ( k ) = X ∗ ( − k ) = X ∗ ( N − k ) X(k) = X^*(-k) = X^*(N - k) X(k)=X∗(−k)=X∗(N−k)
- X ∗ ( k ) X^*(k) X∗(k) 表示 X ( k ) X(k) X(k) 的复共轭。
幅值对称性:
∣ X ( k ) ∣ = ∣ X ( − k ) ∣ = ∣ X ( N − k ) ∣ |X(k)| = |X(-k)| = |X(N - k)| ∣X(k)∣=∣X(−k)∣=∣X(N−k)∣
解释:
- 实值信号的DFT具有对称的幅值和共轭对称的相位。
- 这意味着幅度谱是对称的,而相位谱是反对称的。
示例:
对于一个实值信号 x ( n ) x(n) x(n):
- 计算 X ( k ) X(k) X(k)。
- 验证 Re [ X ( k ) ] = Re [ X ( N − k ) ] \text{Re}[X(k)] = \text{Re}[X(N - k)] Re[X(k)]=Re[X(N−k)] 和 Im [ X ( k ) ] = − Im [ X ( N − k ) ] \text{Im}[X(k)] = -\text{Im}[X(N - k)] Im[X(k)]=−Im[X(N−k)]。
- 幅值 ∣ X ( k ) ∣ |X(k)| ∣X(k)∣ 将围绕 k = 0 k = 0 k=0 对称。
6. 时移与频移
时移:
时域中的循环(周期性)平移对应于频域中的线性相移。
数学表达式:
如果:
x
′
(
n
)
=
x
(
(
n
−
l
)
m
o
d
N
)
x'(n) = x((n - l) \mod N)
x′(n)=x((n−l)modN)
那么:
X
′
(
k
)
=
e
−
j
2
π
k
l
N
X
(
k
)
X'(k) = e^{-j\frac{2\pi kl}{N}} X(k)
X′(k)=e−jN2πklX(k)
解释:
- 将信号在时域中平移 l l l 个样本,相当于在频域中乘以复指数 e − j 2 π k l N e^{-j\frac{2\pi kl}{N}} e−jN2πkl。
- 这会引入频域中的线性相移,但不会影响幅值谱。
示例:
将信号 x ( n ) x(n) x(n) 平移 l = 2 l = 2 l=2 个样本:
- x ′ ( n ) = x ( ( n − 2 ) m o d N ) x'(n) = x((n - 2) \mod N) x′(n)=x((n−2)modN)
- 计算 X ( k ) X(k) X(k) 和 X ′ ( k ) X'(k) X′(k)。
- 验证 $X’(k) = e^{-j\frac{4\pi k}{N}}
X(k)$。
频移:
在时域中乘以复指数会导致频域中的信号平移。
7. 快速傅里叶变换(FFT)
定义:
FFT 是一种高效计算DFT的算法,当 N N N 是2的幂时尤为有效。
解释:
- 计算复杂度:
- 直接计算DFT需要 O ( N 2 ) O(N^2) O(N2) 次运算。
- FFT 将其减少到 O ( N log 2 N ) O(N \log_2 N) O(Nlog2N) 次运算。
- 基-2 FFT 算法:
- 将DFT分解为偶数和奇数索引点的较小DFT(分而治之)。
- 递归地应用此过程,直到DFT大小为2。
示例:
使用FFT计算 x ( n ) = [ 1 , 2 , 3 , 4 ] x(n) = [1, 2, 3, 4] x(n)=[1,2,3,4] 的DFT:
-
分割序列:
- 偶数索引元素: x e ( n ) = [ 1 , 3 ] x_e(n) = [1, 3] xe(n)=[1,3]
- 奇数索引元素: x o ( n ) = [ 2 , 4 ] x_o(n) = [2, 4] xo(n)=[2,4]
-
计算较小序列的DFT。
-
合并结果:
- 使用“蝶形”运算合并 x e ( n ) x_e(n) xe(n) 和 x o ( n ) x_o(n) xo(n) 的DFT。
附加性质与示例
1. Parseval定理:
时域中的总能量等于频域中的总能量:
∑ n = 0 N − 1 ∣ x ( n ) ∣ 2 = 1 N ∑ k = 0 N − 1 ∣ X ( k ) ∣ 2 \sum_{n=0}^{N-1} |x(n)|^2 = \frac{1}{N} \sum_{k=0}^{N-1} |X(k)|^2 n=0∑N−1∣x(n)∣2=N1k=0∑N−1∣X(k)∣2
示例:
计算 x ( n ) = [ 1 , 2 , 3 , 4 ] x(n) = [1, 2, 3, 4] x(n)=[1,2,3,4] 在时域和频域中的能量,验证Parseval定理。
2. 卷积定理:
时域中的循环卷积对应于频域中的乘法,反之亦然。
-
时域循环卷积:
x 3 ( n ) = x 1 ( n ) ⊛ x 2 ( n ) x_3(n) = x_1(n) \circledast x_2(n) x3(n)=x1(n)⊛x2(n) -
频域乘法:
X 3 ( k ) = X 1 ( k ) ⋅ X 2 ( k ) X_3(k) = X_1(k) \cdot X_2(k) X3(k)=X1(k)⋅X2(k)
示例:
使用DFT计算两个序列的循环卷积,验证 X 1 ( k ) ⋅ X 2 ( k ) X_1(k) \cdot X_2(k) X1(k)⋅X2(k) 的逆DFT等于 x 3 ( n ) x_3(n) x3(n)。
实际应用
1. 信号重建:
理解这些性质对于从DFT重建信号尤其重要,尤其是在修改特定频率成分时。
2. 滤波:
- 通过修改频域中的 X ( k ) X(k) X(k)(例如,将某些频率设为零)可以滤波信号。
- 对称性属性有助于设计具有实值脉冲响应的滤波器。
3. 频谱分析:
- 分析 X ( k ) X(k) X(k) 的幅值和相位可以提供关于信号频率内容的见解。
- 对称性简化了实值信号的频谱解释。
结论
掌握DFT的性质可以有效地操作和分析离散信号。线性性、对称性、周期性和时移-频移性质是实现各种信号处理应用的基础。FFT算法的高效性使得对大序列计算DFT成为可能,这在现代数字信号处理任务中至关重要。
通过学习示例并理解这些性质的原理,您将对DFT的工作原理以及如何在实际场景中利用其特性建立直观认识。
进一步阅读的参考文献:
- 《离散时间信号处理》 - Oppenheim 和 Schafer
- 《数字信号处理:原理、算法与应用》 - Proakis 和 Manolakis
- 在线资源:
- MIT OpenCourseWare: Signals and Systems
- Khan Academy: Fourier Transforms