FFT中实部和虚部的对称性

信息处理 fft 自由度
2022-01-02 14:50:24
INPUT
x[0] = (0.00 + j 0.00)
x[1] = (1.00 + j 0.00)
x[2] = (2.00 + j 0.00)
x[3] = (3.00 + j 0.00)
x[4] = (4.00 + j 0.00)
x[5] = (5.00 + j 0.00)
x[6] = (6.00 + j 0.00)
x[7] = (7.00 + j 0.00)
x[8] = (8.00 + j 0.00)
x[9] = (9.00 + j 0.00)
x[10] = (0.00 + j 0.00)
x[11] = (0.00 + j 0.00)
x[12] = (0.00 + j 0.00)
x[13] = (0.00 + j 0.00)
x[14] = (0.00 + j 0.00)
x[15] = (0.00 + j 0.00)

FFT:
X[0] = (45.00 + j 0.00)
X[1] = (-25.45 + j 16.67)
X[2] = (10.36 + j -3.29)
X[3] = (-9.06 + j -2.33)
X[4] = (4.00 + j 5.00)
X[5] = (-1.28 + j -5.64)
X[6] = (-2.36 + j 4.71)
X[7] = (3.80 + j -2.65)
X[8] = (-5.00 + j 0.00)
X[9] = (3.80 + j 2.65)
X[10] = (-2.36 + j -4.71)
X[11] = (-1.28 + j 5.64)
X[12] = (4.00 + j -5.00)
X[13] = (-9.06 + j 2.33)
X[14] = (10.36 + j 3.29)
X[15] = (-25.45 + j -16.67)

从上面的 FFT 输出中,我注意到以下内容:

Re(x[1])=Re(x[15]), Im(x[1])=-Im(x[15])

Re(x[2])=Re(x[14]), Im(x[2])=-Im(x[14])

Re(x[3])=Re(x[13]), Im(x[3])=-Im(x[13])

Re(x[4])=Re(x[12]), Im(x[4])=-Im(x[12])

等等

这是一个经过验证的结果

 Re(X[n])=Re(x[N-n]), and Im(X[n])=-Im(x[N-n])  for 0<n<N-1, where N is no. of DFT points?

如果是,那么是否有任何特定条件可以证明这是真的?一般化的结果是什么?

如果这是一般规则,那么我可以节省大量内存和算术,因为我只关心 DFT 输出的幅度,而不是相位。

1个回答

是的,如果 DFT 的输入是实值的,这总是正确的它被称为“共轭复对称”,因为

XNn=Xn
其中是 DFT 输出,表示共轭。可以通过将性质插入时域序列的变换公式来证明: 使用我们发现 现在我们利用对于所有都是实数重写上面的: Xn()xk
Xn=k=0N1xkej2πknNXNn=k=0N1xkej2πk(Nn)N=k=0N1xkej2πkej2πknN
exp(j2πk)=1k
XNn=k=0N1xkej2πknN
xkk
XNn=k=0N1(xkej2πknN)=Xn
现在很容易证明这对 IDFT 也是有效的。(实频谱->复共轭对称时域序列)。此外,相反的说法也是正确的:如果 DFT (IDFT) 的输入是复共轭对称的,则其输出是实值。