AudiClean
Public Member Functions | Protected Attributes | List of all members
NoiseFilter Class Referenceabstract

#include <NoiseFilter.h>

Inheritance diagram for NoiseFilter:
Inheritance graph
Collaboration diagram for NoiseFilter:
Collaboration graph

Public Member Functions

void RunFilter ()
 
std::thread * Start ()
 
void Stop ()
 
virtual double Filter (double dirtySample, double noiseSample)=0
 
void NextSignalSample (double sample)
 
void NextNoiseSample (double noise)
 
void SetOn (bool state)
 
bool GetOn ()
 

Protected Attributes

BlockingQueue< double > signalSamples
 
BlockingQueue< double > noiseSamples
 
std::thread worker
 
bool isOn = true
 

Detailed Description

A pipeline element to derive real-time noise removal filters from. Inherits SampleLink. Derived Classes must implement the pure abstract Filter() function. Noise and dirty samples are synchronised by making use of two instances of BlockingQueue. A worker thread loads each samples pair and performs the filtering per-sample.

Member Function Documentation

◆ Filter()

virtual double NoiseFilter::Filter ( double  dirtySample,
double  noiseSample 
)
pure virtual

Implemented in LinkDNF, and FirLMS.

◆ GetOn()

bool NoiseFilter::GetOn ( )

◆ NextNoiseSample()

void NoiseFilter::NextNoiseSample ( double  noise)

◆ NextSignalSample()

void NoiseFilter::NextSignalSample ( double  sample)

◆ RunFilter()

void NoiseFilter::RunFilter ( )

◆ SetOn()

void NoiseFilter::SetOn ( bool  state)

◆ Start()

std::thread * NoiseFilter::Start ( )

◆ Stop()

void NoiseFilter::Stop ( )

Member Data Documentation

◆ isOn

bool NoiseFilter::isOn = true
protected

◆ noiseSamples

BlockingQueue<double> NoiseFilter::noiseSamples
protected

◆ signalSamples

BlockingQueue<double> NoiseFilter::signalSamples
protected

◆ worker

std::thread NoiseFilter::worker
protected

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