为什么直流分量导致归一化频谱变小?
直接举一个例子。
假设有一个包含N个样本的信号,表示\(x[n]\),其中\(n = 0, 1, 2, ..., N - 1\)。
信号的DFT表示\(X[k]\),其中\(k = 0, 1, 2, ..., N - 1\),对应信号在不同频率上的分量,DFT的计算公式如下:
\[X[k] = \sum\nolimits_{n=0}^N x[n] \cdot e^{-j(2\pi/N) \cdot k \cdot n}
\]
其中对于索引\(k\),\(k=0\)对应着频率为0的直流分量,\(k=1\)对应着第一个正频率分量。。。所以说,如果计算\(X[0]\)的值不为0,说明信号中含有直流分量。
DFT得到的频谱是复数,幅值谱就是为:
\[|X[k]| = \sqrt{Re(X[k])^2 + Im(X[k])^2}
\]
为了将频谱归一化到0到1之间,可以使用如下公式:
\[Normalized |X[k]| = \cfrac{|X[k]|}{\max(|X[0]|, |X[1]|, ..., |X[N-1]|)}
\]
例如现在信号为x为[1,2,3,2],N = 4。
- 计算DFT
\[X[0] = 1 + 2 + 3 + 2 = 8 \\
X[1] = -2 \\
X[2] = -2 \\
X[3] = 2 \\
\]
- 计算幅值谱
\[|X[0]| = 8 \\
|X[1]| = 2 \\
|X[2]| = 2 \\
|X[3]| = 2 \\
\]
- 归一化频谱
\[Normalized|X[0]| = \cfrac{8}{\max(8,2,2,2,2)} = 1 \\
Normalized|X[1]| = 2/8 = 0.25 \\
Normalized|X[2]| = 0.25 \\
Normalized|X[3]| = 0.25 \\
\]
可见,信号的直流分量在分母中做了最大的贡献(数值为8),分母大,使得归一化频谱变小。