FFT CMSIS always showing zero for non-multiples of fund frequency

Hi all, I am using STM32H7 controller. I have 2 signals one at 50Hz (Fund Frequency) and another one at 175Hz (20% amplitude of 50Hz), My sampling rate is 25600 (About 512 samples / Cycle of fund frequency).

Running 4096 point FFT with 8 cycles of data. as per my sampling rate the frequency spread is 6.25Hz. So Expecting the fund at 8th bin which is coming properly. But expecting 175Hz spectrum at 28th Bin. But 28th bin is always zero. Instead some value is showing at 24th bin and some at 32nd bin. 

Then I tried with 160, 180Hz. But other than 8, 16, 24, 32... all other bins are always zero. 

Can somebody help me on this?. Thanks in advance

  • Convert wavelength to m if necessary. If the wavelength is given in nanometer form, you need to convert it to the standard unit of meters by dividing that value by the number of nanometers per meter.

    Note, when the value you are dealing with is very small or very large, you need to convert that value back to the standard scientific data form to make it easier. In this article, some of the values ​​may not be recorded in the standard format, so when you take an assignment or a quiz or participate in a science forum, you need to change it.

    For example: λ = 322 nm

    322 nm x (1 m / 109 nm) = 3.22 x 10-7 m = 0.000000322 m (Standard unit)

    The wave speed divided by the wavelength. To calculate the frequency, f, we take the propagation velocity of the wave, V, divided by the wavelength in meters, λ.

    Example: f = V / λ = 320 / 0.000000322 = 993788819.88 = 9.94 x 108 Hz (Frequency Unit)

More questions in this forum