Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
10 years ago

FFT Megacore Frequency Scaling

I have perused the forums with this same question and only found one from two years ago with incomplete data. More specifically I am working on a design with 16 bit accuracy using the FFT Megacore function on the Cyclone V. All of that is working just fine, with it outputting an FFT of length 256 points (because that is what I currently have it specified to). I am a bit confused on how to calculate the scaling for the frequency however. It's obvious that the output is that of the magnitude of the real and imaginary parts which makes sense. I've been reading the manual only confusing myself further. How do I determine the frequency scaling (the x values on a graph)?

2 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    I have perused the forums with this same question and only found one from two years ago with incomplete data. More specifically I am working on a design with 16 bit accuracy using the FFT Megacore function on the Cyclone V. All of that is working just fine, with it outputting an FFT of length 256 points (because that is what I currently have it specified to). I am a bit confused on how to calculate the scaling for the frequency however. It's obvious that the output is that of the magnitude of the real and imaginary parts which makes sense. I've been reading the manual only confusing myself further. How do I determine the frequency scaling (the x values on a graph)?

    --- Quote End ---

    fft bin width = Fs(sampling frequency)/N(fft resolution), so

    at any bin centre: f = bin index* fs/256 assuming index starts from 0(0 ~ 255 in your case) , e.g.

    at bin 0, f= 0

    at bin 128, f = 128 * Fs/256 = 0.5Fs

    bins 129 ~ 255 wrap up as negative frequencies e.g.

    at bin 255, f = 255 * Fs/256 = 0.996 Fs and wraps to => 0.996 Fs - Fs
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I know you responded a long time ago and I've been meaning to thank you! You did a great job explaining it, and it makes sense. Thank you!