MATLAB中的fftshift在双面光谱中具有偶数个数据点

信息处理 离散信号 傅里叶变换 频谱 傅里叶级数
2022-01-28 18:47:31

我有一个关于此表的问题。 在此处输入图像描述

偶数 N 时,频率轴极值应为±Fs/2,其中 Fs 是采样频率。然而,在数组中,我们只有一个值对应于奈奎斯特频率。按照第一列表格的符号,N=10,我们有

[c0 c1 c2 c3 c4 c5 c4 c3 c2 c1]

在 fftshift 之后应该变成

[c5 c4 c3 c2 c1 c0 c1 c2 c3 c4 ]

c5 值对应于奈奎斯特频率。那么当 N 为偶数时,我们的双边频谱如何对称?对于实值函数,它将为零,但 MATLAB 是否有理由首先计算负频率,如表中所示?

示例:A_even=[0 0 0 1 1 1 1 0 0 0],

N=10

B=fft(A_even)'

C=fftshift(B)

那么C等于

0.0000+0.0000i0.30900.9511i0.4271+0.5878i0.8090+0.5878i2.92710.9511i4.0000+0.0000i2.9271+0.9511i0.80900.5878i0.42710.5878i0.3090+0.9511i

这意味着c5= 0.0000 + 0.0000i 和c0= 4.0000+0000i 谢谢。

1个回答

如果尺寸NDFT 是偶数,只有一个“极值”点(在 之后fftshift)是奈奎斯特。如果N是偶数,你不能有一个任意的c5c5. 他们必须添加到你的任何c5术语是。

如果 DFT 的输入是纯真实的,并且如果N是偶数,考虑奈奎斯特点,在cN/2分成两半。一半是负频率分量,另一半是正频率分量。由于负频率分量和正频率分量必须是彼此的复共轭,并且由于cN/2=cN/2拆分后,这意味着cN/2必须是纯粹真实的c0也必须是真实的。