NAP
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Types | Public Member Functions | List of all members
FFTBuffer Class Referencefinal

#include </opt/build/repo/nap/system_modules/napfft/src/fftbuffer.h>

Public Types

enum  EOverlap : uint {
  One = 1, Three = 3, Five = 5, Seven = 7,
  Nine = 9, Eleven = 11
}
 
using AmplitudeSpectrum = std::vector< float >
 
using PhaseSpectrum = std::vector< float >
 

Public Member Functions

 FFTBuffer (uint dataSize, EOverlap overlap=EOverlap::One)
 
 ~FFTBuffer ()
 
void supply (const std::vector< float > &samples)
 
uint getBinCount () const
 
uint getDataSize ()
 
const AmplitudeSpectrumgetAmplitudeSpectrum ()
 
const PhaseSpectrumgetPhaseSpectrum ()
 

Description

Wraps a kiss context

Member Typedef Documentation

◆ AmplitudeSpectrum

using AmplitudeSpectrum = std::vector<float>

◆ PhaseSpectrum

using PhaseSpectrum = std::vector<float>

Member Enumeration Documentation

◆ EOverlap

enum EOverlap : uint
strong

Number of overlaps (hops)

Enumerator
One 
Three 
Five 
Seven 
Nine 
Eleven 

Constructor & Destructor Documentation

◆ FFTBuffer()

FFTBuffer ( uint  dataSize,
EOverlap  overlap = EOverlap::One 
)
Parameters
dataSizeFFT buffer size
overlapFFT buffer overlap

◆ ~FFTBuffer()

~FFTBuffer ( )

Member Function Documentation

◆ getAmplitudeSpectrum()

const AmplitudeSpectrum& getAmplitudeSpectrum ( )
Returns
normalized magnitudes (rho)

◆ getBinCount()

uint getBinCount ( ) const
Returns
the number of FFT bins

◆ getDataSize()

uint getDataSize ( )
Returns
the number of sample buffer data elements

◆ getPhaseSpectrum()

const PhaseSpectrum& getPhaseSpectrum ( )
Returns
normalized phase angles (theta)

◆ supply()

void supply ( const std::vector< float > &  samples)

Update the internal sample buffer to perform FFT on. This funtion is thread-safe.