#include <DetectionFunction.h>

Public Member Functions

double * getSpectrumMagnitude ()
 
 DetectionFunction (DFConfig config)
 
virtual ~DetectionFunction ()
 
double processTimeDomain (const double *samples)
 Process a single time-domain frame of audio, provided as frameLength samples. More...
 
double processFrequencyDomain (const double *reals, const double *imags)
 Process a single frequency-domain frame, provided as frameLength/2+1 real and imaginary component values. More...
 

Private Member Functions

void whiten ()
 
double runDF ()
 
double HFC (int length, double *src)
 
double specDiff (int length, double *src)
 
double phaseDev (int length, double *srcPhase)
 
double complexSD (int length, double *srcMagnitude, double *srcPhase)
 
double broadband (int length, double *srcMagnitude)
 
void initialise (DFConfig Config)
 
void deInitialise ()
 

Private Attributes

int m_DFType
 
int m_dataLength
 
int m_halfLength
 
int m_stepSize
 
double m_dbRise
 
bool m_whiten
 
double m_whitenRelaxCoeff
 
double m_whitenFloor
 
double * m_magHistory
 
double * m_phaseHistory
 
double * m_phaseHistoryOld
 
double * m_magPeaks
 
double * m_windowed
 
double * m_magnitude
 
double * m_thetaAngle
 
double * m_unwrapped
 
Window< double > * m_window
 
PhaseVocoderm_phaseVoc
 

Detailed Description

Definition at line 40 of file DetectionFunction.h.

Constructor & Destructor Documentation

DetectionFunction::DetectionFunction ( DFConfig  config)
DetectionFunction::~DetectionFunction ( )
virtual

Definition at line 34 of file DetectionFunction.cpp.

References deInitialise().

Member Function Documentation

double * DetectionFunction::getSpectrumMagnitude ( )

Definition at line 272 of file DetectionFunction.cpp.

References m_magnitude.

double DetectionFunction::processTimeDomain ( const double *  samples)

Process a single time-domain frame of audio, provided as frameLength samples.

Definition at line 94 of file DetectionFunction.cpp.

References Window< T >::cut(), m_magnitude, m_phaseVoc, m_thetaAngle, m_unwrapped, m_whiten, m_window, m_windowed, PhaseVocoder::processTimeDomain(), runDF(), and whiten().

double DetectionFunction::processFrequencyDomain ( const double *  reals,
const double *  imags 
)

Process a single frequency-domain frame, provided as frameLength/2+1 real and imaginary component values.

Definition at line 106 of file DetectionFunction.cpp.

References m_magnitude, m_phaseVoc, m_thetaAngle, m_unwrapped, m_whiten, PhaseVocoder::processFrequencyDomain(), runDF(), and whiten().

void DetectionFunction::whiten ( )
private
double DetectionFunction::runDF ( )
private
double DetectionFunction::HFC ( int  length,
double *  src 
)
private

Definition at line 164 of file DetectionFunction.cpp.

Referenced by runDF().

double DetectionFunction::specDiff ( int  length,
double *  src 
)
private

Definition at line 173 of file DetectionFunction.cpp.

References m_magHistory.

Referenced by runDF().

double DetectionFunction::phaseDev ( int  length,
double *  srcPhase 
)
private

Definition at line 196 of file DetectionFunction.cpp.

References m_phaseHistory, m_phaseHistoryOld, and MathUtilities::princarg().

Referenced by runDF().

double DetectionFunction::complexSD ( int  length,
double *  srcMagnitude,
double *  srcPhase 
)
private

Definition at line 227 of file DetectionFunction.cpp.

References m_magHistory, m_phaseHistory, m_phaseHistoryOld, and MathUtilities::princarg().

Referenced by runDF().

double DetectionFunction::broadband ( int  length,
double *  srcMagnitude 
)
private

Definition at line 258 of file DetectionFunction.cpp.

References m_dbRise, and m_magHistory.

Referenced by runDF().

void DetectionFunction::deInitialise ( )
private

Member Data Documentation

int DetectionFunction::m_DFType
private

Definition at line 73 of file DetectionFunction.h.

Referenced by initialise(), and runDF().

int DetectionFunction::m_dataLength
private

Definition at line 74 of file DetectionFunction.h.

Referenced by initialise().

int DetectionFunction::m_halfLength
private

Definition at line 75 of file DetectionFunction.h.

Referenced by initialise(), runDF(), and whiten().

int DetectionFunction::m_stepSize
private

Definition at line 76 of file DetectionFunction.h.

Referenced by initialise().

double DetectionFunction::m_dbRise
private

Definition at line 77 of file DetectionFunction.h.

Referenced by broadband(), and initialise().

bool DetectionFunction::m_whiten
private

Definition at line 78 of file DetectionFunction.h.

Referenced by initialise(), processFrequencyDomain(), and processTimeDomain().

double DetectionFunction::m_whitenRelaxCoeff
private

Definition at line 79 of file DetectionFunction.h.

Referenced by initialise(), and whiten().

double DetectionFunction::m_whitenFloor
private

Definition at line 80 of file DetectionFunction.h.

Referenced by initialise(), and whiten().

double* DetectionFunction::m_magHistory
private
double* DetectionFunction::m_phaseHistory
private

Definition at line 83 of file DetectionFunction.h.

Referenced by complexSD(), deInitialise(), DetectionFunction(), initialise(), and phaseDev().

double* DetectionFunction::m_phaseHistoryOld
private

Definition at line 84 of file DetectionFunction.h.

Referenced by complexSD(), deInitialise(), DetectionFunction(), initialise(), and phaseDev().

double* DetectionFunction::m_magPeaks
private

Definition at line 85 of file DetectionFunction.h.

Referenced by deInitialise(), DetectionFunction(), initialise(), and whiten().

double* DetectionFunction::m_windowed
private

Definition at line 87 of file DetectionFunction.h.

Referenced by deInitialise(), initialise(), and processTimeDomain().

double* DetectionFunction::m_magnitude
private
double* DetectionFunction::m_thetaAngle
private
double* DetectionFunction::m_unwrapped
private
Window<double>* DetectionFunction::m_window
private

Definition at line 92 of file DetectionFunction.h.

Referenced by deInitialise(), initialise(), and processTimeDomain().

PhaseVocoder* DetectionFunction::m_phaseVoc
private

The documentation for this class was generated from the following files: