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 m_magnitude, m_phaseVoc, m_thetaAngle, m_unwrapped, m_whiten, m_window, m_windowed, 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, 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(), DetectionFunction(), initialise(), and processTimeDomain().

◆ m_phaseVoc

PhaseVocoder* DetectionFunction::m_phaseVoc
private

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