1#ifndef __SPECTRALANALYSIS__
2#define __SPECTRALANALYSIS__
7enum Mode { kMagnitudeSpectrum = 0, kEnergySpectrum = 1 };
9class SpectralAnalysis {
11 SpectralAnalysis(
const SpectralAnalysis&);
12 void operator=(
const SpectralAnalysis&);
21 SpectralAnalysis(Mode _mode,
int _fftSize,
int _windowSize,
int _hopSize);
32 void doFFT(
float* inputBuffer,
float* magSpectrum,
float* imagSpectrum);
34 inline int multiplyBuffers(
float* tgtPtr,
const float* srcPtrA,
35 const float* srcPtrB,
int n);
36 inline void clearBuffer(
float* tgtPtr,
int n);
37 inline int copyToBuffer(
float* tgtPtr,
const float* srcPtr,
int n);
39 inline void generateBlackmanHarris92Window(
float* window,
int size);
40 inline void generateBlackmanHarris74Window(
float* window,
int size);
41 inline void generateBlackmanHarrisWindow(
float* window,
int size);