qm-dsp 1.8
DetectionFunction Class Reference

#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.
 
double processFrequencyDomain (const double *reals, const double *imags)
 Process a single frequency-domain frame, provided as frameLength/2+1 real and imaginary component values.
 

Private Member Functions

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

Private Attributes

int m_DFType
 
unsigned int m_dataLength
 
unsigned int m_halfLength
 
unsigned 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::DetectionFunction ( DFConfig  Config)

◆ ~DetectionFunction()

DetectionFunction::~DetectionFunction ( )
virtual

Definition at line 34 of file DetectionFunction.cpp.

References deInitialise().

Member Function Documentation

◆ getSpectrumMagnitude()

double * DetectionFunction::getSpectrumMagnitude ( )

Definition at line 279 of file DetectionFunction.cpp.

References m_magnitude.

◆ processTimeDomain()

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().

◆ processFrequencyDomain()

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().

◆ whiten()

void DetectionFunction::whiten ( )
private

◆ runDF()

double DetectionFunction::runDF ( )
private

◆ HFC()

double DetectionFunction::HFC ( unsigned int  length,
double *  src 
)
private

Definition at line 164 of file DetectionFunction.cpp.

Referenced by runDF().

◆ specDiff()

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

Definition at line 176 of file DetectionFunction.cpp.

References m_magHistory.

Referenced by runDF().

◆ phaseDev()

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

Definition at line 200 of file DetectionFunction.cpp.

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

Referenced by runDF().

◆ complexSD()

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

Definition at line 233 of file DetectionFunction.cpp.

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

Referenced by runDF().

◆ broadband()

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

Definition at line 265 of file DetectionFunction.cpp.

References m_dbRise, and m_magHistory.

Referenced by runDF().

◆ initialise()

◆ deInitialise()

void DetectionFunction::deInitialise ( )
private

Member Data Documentation

◆ m_DFType

int DetectionFunction::m_DFType
private

Definition at line 73 of file DetectionFunction.h.

Referenced by initialise(), and runDF().

◆ m_dataLength

unsigned int DetectionFunction::m_dataLength
private

Definition at line 74 of file DetectionFunction.h.

Referenced by initialise().

◆ m_halfLength

unsigned int DetectionFunction::m_halfLength
private

Definition at line 75 of file DetectionFunction.h.

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

◆ m_stepSize

unsigned int DetectionFunction::m_stepSize
private

Definition at line 76 of file DetectionFunction.h.

Referenced by initialise().

◆ m_dbRise

double DetectionFunction::m_dbRise
private

Definition at line 77 of file DetectionFunction.h.

Referenced by broadband(), and initialise().

◆ m_whiten

bool DetectionFunction::m_whiten
private

Definition at line 78 of file DetectionFunction.h.

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

◆ m_whitenRelaxCoeff

double DetectionFunction::m_whitenRelaxCoeff
private

Definition at line 79 of file DetectionFunction.h.

Referenced by initialise(), and whiten().

◆ m_whitenFloor

double DetectionFunction::m_whitenFloor
private

Definition at line 80 of file DetectionFunction.h.

Referenced by initialise(), and whiten().

◆ m_magHistory

double* DetectionFunction::m_magHistory
private

◆ m_phaseHistory

double* DetectionFunction::m_phaseHistory
private

Definition at line 83 of file DetectionFunction.h.

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

◆ m_phaseHistoryOld

double* DetectionFunction::m_phaseHistoryOld
private

Definition at line 84 of file DetectionFunction.h.

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

◆ m_magPeaks

double* DetectionFunction::m_magPeaks
private

Definition at line 85 of file DetectionFunction.h.

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

◆ m_windowed

double* DetectionFunction::m_windowed
private

Definition at line 87 of file DetectionFunction.h.

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

◆ m_magnitude

double* DetectionFunction::m_magnitude
private

◆ m_thetaAngle

double* DetectionFunction::m_thetaAngle
private

◆ m_unwrapped

double* DetectionFunction::m_unwrapped
private

◆ m_window

Window<double>* DetectionFunction::m_window
private

Definition at line 92 of file DetectionFunction.h.

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

◆ m_phaseVoc

PhaseVocoder* DetectionFunction::m_phaseVoc
private

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