Fftwindow = 1024, spectrumdata from 510-1023 are 0

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;

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.