HARDT - The Ham Radio DSP Toolkit
Public Member Functions | List of all members
HHumFilter< T > Class Template Reference

#include <hhumfilter.h>

Inheritance diagram for HHumFilter< T >:
Inheritance graph
[legend]
Collaboration diagram for HHumFilter< T >:
Collaboration graph
[legend]

Public Member Functions

 HHumFilter (HWriter< T > *writer, H_SAMPLE_RATE rate, int frequency, int cutoffFrequency, size_t blocksize, HProbe< T > *probe=NULL)
 
 HHumFilter (HWriterConsumer< T > *consumer, H_SAMPLE_RATE rate, int frequency, int cutoffFrequency, size_t blocksize, HProbe< T > *probe=NULL)
 
 HHumFilter (HReader< T > *reader, H_SAMPLE_RATE rate, int frequency, int cutoffFrequency, size_t blocksize, HProbe< T > *probe=NULL)
 
 ~HHumFilter ()
 
void Filter (T *src, T *dest, size_t blocksize)
 
- Public Member Functions inherited from HCombFilter< T >
 HCombFilter (HWriter< T > *writer, H_SAMPLE_RATE rate, int frequency, float alpha, size_t blocksize, HProbe< T > *probe=NULL)
 
 HCombFilter (HWriterConsumer< T > *consumer, H_SAMPLE_RATE rate, int frequency, float alpha, size_t blocksize, HProbe< T > *probe=NULL)
 
 HCombFilter (HReader< T > *reader, H_SAMPLE_RATE rate, int frequency, float alpha, size_t blocksize, HProbe< T > *probe=NULL)
 
 ~HCombFilter ()
 
- Public Member Functions inherited from HFilter< T >
 ~HFilter ()
 
int Write (T *src, size_t blocksize)
 
int Read (T *dest, size_t blocksize)
 
bool Start ()
 
bool Stop ()
 
bool Command (HCommand *command)
 
void Enable ()
 
void Disable ()
 
bool GetEnabled ()
 
- Public Member Functions inherited from HObject
 HObject ()
 
- Public Member Functions inherited from HWriter< T >
virtual ~HWriter ()=default
 
HWriter< T > * Writer ()
 
- Public Member Functions inherited from HReader< T >
virtual ~HReader ()=default
 
HReader< T > * Reader ()
 
- Public Member Functions inherited from HWriterConsumer< T >
HWriterConsumer< T > * Consumer ()
 

Additional Inherited Members

- Static Public Member Functions inherited from HFilter< T >
static std::vector< float > ReadCoeffsFromFile (std::string filename)
 
static std::vector< float > ReadCoeffsFromFile (char *filename)
 
- Protected Member Functions inherited from HFilter< T >
 HFilter (HWriter< T > *writer, size_t blocksize, HProbe< T > *probe=NULL)
 
 HFilter (HWriterConsumer< T > *consumer, size_t blocksize, HProbe< T > *probe=NULL)
 
 HFilter (HReader< T > *reader, size_t blocksize, HProbe< T > *probe=NULL)
 
void SetWriter (HWriter< T > *writer)
 
- Protected Attributes inherited from HFilter< T >
int _blocksize
 

Detailed Description

template<class T>
class HHumFilter< T >

Filter that removes or reduces mains hum by combining a comb filter with a lowpass filter in the feedback branch, which gradually reduces the filter effect. The result is a lowpass filter with extra notches at the mains frequency and harmonics. By giving the hum frequency and a cutoff frequency, you can adjust how aggressive the filter is and how far up the lowpass effect reaches.

Examples
saq.cpp.

Constructor & Destructor Documentation

◆ HHumFilter() [1/3]

template<class T >
HHumFilter< T >::HHumFilter ( HWriter< T > *  writer,
H_SAMPLE_RATE  rate,
int  frequency,
int  cutoffFrequency,
size_t  blocksize,
HProbe< T > *  probe = NULL 
)
inline

Construct a new HHumFilter that writes to a writer

◆ HHumFilter() [2/3]

template<class T >
HHumFilter< T >::HHumFilter ( HWriterConsumer< T > *  consumer,
H_SAMPLE_RATE  rate,
int  frequency,
int  cutoffFrequency,
size_t  blocksize,
HProbe< T > *  probe = NULL 
)
inline

Construct a new HHumFilter that register with an upstream writer

◆ HHumFilter() [3/3]

template<class T >
HHumFilter< T >::HHumFilter ( HReader< T > *  reader,
H_SAMPLE_RATE  rate,
int  frequency,
int  cutoffFrequency,
size_t  blocksize,
HProbe< T > *  probe = NULL 
)
inline

Construct a new HHumFilter that reads from a reader

◆ ~HHumFilter()

template<class T >
HHumFilter< T >::~HHumFilter ( )
inline

Default destructor

Member Function Documentation

◆ Filter()

template<class T >
void HHumFilter< T >::Filter ( T *  src,
T *  dest,
size_t  blocksize 
)
inlinevirtual

Run a block of samples through the filter

Reimplemented from HCombFilter< T >.


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