为什么我们在傅里叶变换中使用复指数,为什么我们想要相位部分?与没有相位而只有幅度的 DCT 不同?
此外,这个阶段对信号重构/分解具体意味着什么?(我知道它与信号的偏移有关,即我知道 sin 和 cos 相移 pi/2 rad ue 90 度,但我在傅里叶中无法真正理解它?
为什么我们在傅里叶变换中使用复指数,为什么我们想要相位部分?与没有相位而只有幅度的 DCT 不同?
此外,这个阶段对信号重构/分解具体意味着什么?(我知道它与信号的偏移有关,即我知道 sin 和 cos 相移 pi/2 rad ue 90 度,但我在傅里叶中无法真正理解它?
DCT 与 DFT 相同,其长度是输入数据与其镜像连接的两倍。与其镜像连接的数据会产生对称数据。
由于对称向量是严格偶数的,因此 DFT 结果中没有奇数(正弦或虚数)分量。只是余弦(或实数或偶数)分量。因此,您可以在没有全零虚部的情况下重建原始输入。(在实践中,可能会有一些数值舍入噪声)。
仅原始数据(未加倍和镜像)的 DFT 并非如此,这可能不是完全对称(偶数)。因此,您需要 DFT 的完整复数结果来重建其输入(除非它恰好围绕第一个向量元素 x(0) 完全圆对称)。
例如我们有一个信号 x[]:
x[] = [1, 1, 1, 1, 0, 0, 0, 0]
我们得到 x[] 的 DFT(只有幅度):
DFT(x)[] = [4.000, 2.613, 0.000, 1.082, 0.000, 1.082, 0.000, 2.613]
x[] 的 DCT:
DCT(x)[] = [4.000, 2.563, 0.000, -0.900, -0.000, 0.601, -0.000, -0.510]
现在,我们移动信号,创建新信号 y[]:
y[] = [0, 0, 1, 1, 1, 1, 0, 0]
我们得到 y[] 的 DFT:
DFT(y)[] = [4.000, 2.613, 0.000, 1.082, 0.000, 1.082, 0.000, 2.613]
和 y[] 的 DCT:
DCT(y)[] = [4.000, 0.000, -2.613, -0.000, 0.000, 0.000, 1.082, 0.000]
您可以看到 x[] 和 y[] 在 DFT 中具有相同的幅度,但在 DCT 中具有非常不同的幅度。
因此,DFT 中的相位信息允许具有相同频率成分但不同相位的信号在 DFT 中具有相同的幅度。与此相反,由于 DCT 没有相位信息,信号的相位信息在 DCT 中变为幅度。它使具有相同频率成分但不同相位的信号在 DCT 中给出不同的幅度结果。
您可以丢弃 DFT 的相位信息。例如,在绘制频谱图时,大多数情况下您不需要绘制相位。但是,有时您需要相位信息。例如,在重构信号时,给定 DFT:
DFT()[] = [4.000, 2.613, 0.000, 1.082, 0.000, 1.082, 0.000, 2.613]
你无法知道信号是 x[] 还是 y[]。