# Fftwindow = 1024, spectrumdata from 510-1023 are 0

**URL:** <https://qa.fmod.com/t/fftwindow-1024-spectrumdata-from-510-1023-are-0/14847>\
**Category:** FMOD Engine\
**Created:** [July 11, 2019, 9:34am UTC](https://qa.fmod.com/t/fftwindow-1024-spectrumdata-from-510-1023-are-0/14847 "2019-07-11T09:34:13Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![amnesiaaa](https://avatars.discourse-cdn.com/v4/letter/a/ad7895/32.png) [@amnesiaaa](https://qa.fmod.com/u/amnesiaaa)\
**Post date:** [July 11, 2019, 9:34am UTC](https://qa.fmod.com/t/fftwindow-1024-spectrumdata-from-510-1023-are-0/14847/1 "2019-07-11T09:34:13Z")

</div>

Hey, when i get the spectrum data with fftwindow = 1024 all values from 510 - 1023 in this array are 0 by every kind of music. It is normal?

```
        lowLevelSystem.createDSPByType(DSP_TYPE.FFT, out fft);
        fft.setParameterInt((int)DSP_FFT.WINDOWTYPE, (int)DSP_FFT_WINDOW.HANNING);
        fft.setParameterInt((int)DSP_FFT.WINDOWSIZE, FftWindowSize);
        channelGroup.addDSP(CHANNELCONTROL_DSP_INDEX.TAIL, fft);

        System.IntPtr unmanagedData;
        uint length;
        fft.getParameterData((int)DSP_FFT.SPECTRUMDATA, out unmanagedData, out length);
        fft.getParameterFloat((int)DSP_FFT.DOMINANT_FREQ, out dominantFreq);
        fftData = (DSP_PARAMETER_FFT)Marshal.PtrToStructure(unmanagedData, typeof(DSP_PARAMETER_FFT));
        float[][] spectrumData = fftData.spectrum;
```

---

<div class="post-metadata">

**Author:** ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)\
**Post date:** [July 16, 2019, 3:47am UTC](https://qa.fmod.com/t/fftwindow-1024-spectrumdata-from-510-1023-are-0/14847/2 "2019-07-16T03:47:19Z")

</div>

The FFT stores the data forwards then backwards but we don’t write the second half as it is a mirror of the first half.

So if you want to use a window size of 1024, you will need to iterate over the array from zero up to `0.5 x FftWindowSize`, then iterate over the array again from `0.5 x FftWindowSize` back to zero.
