FMOD_DSP_FFT_WINDOW

FMOD Studio API

Firelight Technologies FMOD Studio API

FMOD_DSP_FFT_WINDOW

List of windowing methods for the FMOD_DSP_TYPE_FFT unit. Used in spectrum analysis to reduce leakage / transient signals intefering with the analysis.
This is a problem with analysis of continuous signals that only have a small portion of the signal sample (the fft window size).
Windowing the signal with a curve or triangle tapers the sides of the fft window to help alleviate this problem.

C/C++ Syntax

typedef enum {
  FMOD_DSP_FFT_WINDOW_RECT,
  FMOD_DSP_FFT_WINDOW_TRIANGLE,
  FMOD_DSP_FFT_WINDOW_HAMMING,
  FMOD_DSP_FFT_WINDOW_HANNING,
  FMOD_DSP_FFT_WINDOW_BLACKMAN,
  FMOD_DSP_FFT_WINDOW_BLACKMANHARRIS
} FMOD_DSP_FFT_WINDOW;

JavaScript Syntax

FMOD.DSP_FFT_WINDOW_RECT
FMOD.DSP_FFT_WINDOW_TRIANGLE
FMOD.DSP_FFT_WINDOW_HAMMING
FMOD.DSP_FFT_WINDOW_HANNING
FMOD.DSP_FFT_WINDOW_BLACKMAN
FMOD.DSP_FFT_WINDOW_BLACKMANHARRIS

Values

FMOD_DSP_FFT_WINDOW_RECT

w[n] = 1.0

FMOD_DSP_FFT_WINDOW_TRIANGLE

w[n] = TRI(2n/N)

FMOD_DSP_FFT_WINDOW_HAMMING

w[n] = 0.54 - (0.46 * COS(n/N) )

FMOD_DSP_FFT_WINDOW_HANNING

w[n] = 0.5 * (1.0 - COS(n/N) )

FMOD_DSP_FFT_WINDOW_BLACKMAN

w[n] = 0.42 - (0.5 * COS(n/N) ) + (0.08 * COS(2.0 * n/N) )

FMOD_DSP_FFT_WINDOW_BLACKMANHARRIS

w[n] = 0.35875 - (0.48829 * COS(1.0 * n/N)) + (0.14128 * COS(2.0 * n/N)) - (0.01168 * COS(3.0 * n/N))

Remarks

Cyclic signals such as a sine wave that repeat their cycle in a multiple of the window size do not need windowing.
I.e. If the sine wave repeats every 1024, 512, 256 etc samples and the FMOD fft window is 1024, then the signal would not need windowing.
Not windowing is the same as FMOD_DSP_FFT_WINDOW_RECT, which is the default.
If the cycle of the signal (ie the sine wave) is not a multiple of the window size, it will cause frequency abnormalities, so a different windowing method is needed.

FMOD_DSP_FFT_WINDOW_RECT.


FMOD_DSP_FFT_WINDOW_TRIANGLE.


FMOD_DSP_FFT_WINDOW_HAMMING.


FMOD_DSP_FFT_WINDOW_HANNING.


FMOD_DSP_FFT_WINDOW_BLACKMAN.


FMOD_DSP_FFT_WINDOW_BLACKMANHARRIS.

See Also




Version 1.10.03 Built on Feb 1, 2018