DFT 中每个 bin 的频率从 $n = 0 到 N-1$,其中每个频率以 $n F_s/N$ 的形式给出。
由于采样过程,对于任何信号(实信号和复信号),从 $F_s/2$ 延伸到小于 $F_s$ 1 个样本的频谱的上半部分相当于负半频谱(从 $-F_s/2% 延伸到小于 0 的 1 个样本的光谱。)。这适用于 DFT 和所有数字信号。
这在下图中进行了演示,显示了模拟频谱(第一行)如何与以 20 Hz 采样的系统的采样频谱(第二行)进行卷积,从而产生采样信号的数字频谱。由于频谱在 20 Hz 范围内是唯一的(并且在其他任何地方重复),我们只需要显示任何 20 Hz 范围内的频率来表示信号。这可以从 -10 Hz 到 +10 Hz 或 0 到 20 Hz 以相同的方式显示。
表示在 -10Hz 到 +10Hz 范围内以 20Hz 采样的真实信号的采样频谱:
同样的信号也可以在 0 到 20 Hz 的范围内表示:
表示在 -10Hz 到 +10Hz 范围内以 20Hz 采样的复信号的采样频谱:
同样的信号也可以在 0 到 20 Hz 的范围内表示:
由于 DFT 的频谱是离散的,因此样本从 $n = 0 到 N-1$,其中每个频率以 $F_s/n$ 的形式给出,如上所述。当然,DFT 中也只有 N 个样本,但是当您在 DFT 中旋转样本时,您可以有效地通过上面的扩展频谱。查看圆周从 0 到 $F_s$ 的圆柱表面上的光谱会很有帮助,您会看到 $F_s$ 等于 0,从 0 倒退相当于进入负半光谱.
所以在你的例子中具体来说:
X[0] = 直流
X1 = 10
X2 = 20
X3 = 30
X4 = 40
X[5] = 50
X[6] = 60
X[7] = 70
X[8] = 80
X[9] = 90
也可以表示为
X[0] = 直流
X1 = 10
X2 = 20
X3 = 30
X4 = 40
X[5] = -50
X[6] = -40
X[7] = -30
X[8] = -20
X[9] = -10
请注意,MATLAB 中的命令“FFTSHIFT”会相应地移动 DFT 向量以产生以下顺序,表示从 -F_s/2 到 +F_s/2 的范围:
fftshift([X[0], X1, X2, X3, X4, X[5], X[6], X[7], X[8] , X[9]]) =
[X[5], X[6], X[7], X[8], X[9], X[0], X1, X2, X3, X 4]