谱图X( - k )X(−k)

信息处理 matlab fft 离散信号 频率
2022-01-29 10:07:08

假设 FFT 为x[n]X(k)我想找到X(k). 我已经实现了两种技术:

  1. 我正在计算X(k) = fftshift(fft(x))然后发现X(-k)fliplr(X(k))
  2. 我编写for循环以对应 in 的每个符号X(k)X(NK+1)在哪里N是用于 FFT 的点数。

我得到了类似的答案,但在第二种方法中,我正在映射X(N)X(1)这是DC,不应该是这样。因此我怀疑我做错了什么。

谁能告诉我正确的实施方法是什么X(k)当你有X(k)?

1个回答

FFT (DFT) 定义为

DFT{x[n]}=X[k]=n=0N1x[n]ejk2πn/N

因此,X[k]

X[k]=n=0N1x[n]ejk2πn/N

通过研究逆 DFT 的公式(以及变量的快速变化nk为了更清楚),

IDFT{X[k]}=x[n]=1Nk=0N1X[k]ejk2πn/Nx[k]=1Nn=0N1X[n]ejk2πn/N

我们可以看到

X[k]=NIDFT{x[n]}
所以不用先计算FFT再转换结果,可以直接计算X[k]通过参加IFFT。