【问题标题】:what is the result inside fft bin at different index?不同索引的fft bin内的结果是什么?
【发布时间】:2017-06-08 07:42:59
【问题描述】:

例如,如果我在以 100 Hz 采样的系统中的 FFT 中有 10 个样本。那么 FFT bin 输出中的结果如何表示? 频率分辨率将是每个 DFT bin 代表多少 Hz。正如您所指出的,这是由 fs/N 给出的。在这种情况下:--

resolution = 100/10 = 10 hz

FFT的定义表明频率范围[0,fs]用N个点表示。

但是当结果来的时候:--

  • X[0] 是常数项(也称为直流偏置)
  • X[1] 是 10 赫兹
  • X[2] 是 20 赫兹
  • X[3] 是 30 赫兹
  • X[4] 是 40 赫兹
  • X[5] 是 50 赫兹
  • X[6] 到 X[9] 分别是 X[4] 到 X[1] 的复共轭。

所以我的问题是:--
X[6] 是 60hz 信号,它的值将是 40hz 信号的复共轭.. 对吗?
或者 X[6] 不包含 60hz 的光谱,而只是 X[4] 的复共轭?

请提出建议。

【问题讨论】:

    标签: fft dft


    【解决方案1】:

    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]

    【讨论】:

    • 这意味着 DFT 的输出或(使用 FFT 算法执行的 DFT).. 两者都将包含高达采样频率的信息?如果我对 fs/2 = 50 hz 的频率感兴趣并且我放置了一个截止频率略高于 50 hz 的抗混叠滤波器 .. 假设 55 hz .. 那么在这种情况下我的 FFT bin X[6] = X[7]= X[8]= X[9]=0 .. 对吗?
    • 对你的问题和最后一句话,没有。那些上部的 bin 代表第一个 Nyquist 区域中的负频率。通过加入抗混叠滤波器,它仅仅意味着模拟世界中的较高频率将被阻止映射到采样过程中的第一个奈奎斯特区域。我相信我还有另一篇文章详细说明了这一点;让我找到它
    • 这篇文章可能会对您有所帮助:dsp.stackexchange.com/questions/31843/… 较高的奈奎斯特区是模拟中的频率范围,由于采样过程,该频率范围将映射到与第一个奈奎斯特区相同的频率。
    • 这个链接也很好解释....nutaq.com/analog-digital-part-3-signal-sampling
    【解决方案2】:

    假设您的输入信号是纯真实的,那么X[6] 只是X[4] 的复共轭。频谱的上半部分对于真实信号来说基本上是多余的。详情请参阅:this question and answer

    请注意,输入信号的带宽应限制在fs / 2,否则会出现aliasing,因此对于基带信号,不应有任何分量>= fs / 2

    【讨论】:

    • 您说“假设您的输入信号是纯真实的”,如果我的输入信号是复数,那么 X[6] 到 X[9] 不是 X[4] 到 X 的复共轭[1] .. 对吗?
    • 是的,这是正确的——你只能得到纯实输入的复共轭对称性。
    • 这意味着 DFT 的输出或(使用 FFT 算法执行的 DFT).. 两者都将包含高达采样频率的信息?如果我对 fs/2 = 50 hz 的频率感兴趣并且我放置了一个截止频率略高于 50 hz 的抗混叠滤波器 .. 假设 55 hz .. 那么在这种情况下我的 FFT bin X [6] = X[7]= X[8]= X[9]=0 .. 对吗?
    • 您需要一个具有截止低于 fs/2 (Nyquist) 的抗锯齿过滤器来避免锯齿。另请注意,箱的上半部分对应于从 fs / 2 到 fs 的频率 - 它们实际上是负频率(但当然输出在频域中也是周期性的,所以这些负频率可以混叠)。
    • 是的,你没看错,通带通常延伸到 fs / 2 以下,因此 fs / 2 在阻带中。
    猜你喜欢
    • 2022-01-07
    • 2017-09-28
    • 2017-11-09
    • 2021-03-14
    • 2015-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-05
    相关资源
    最近更新 更多