#include <Filters.h>
Inheritance diagram for csl::Filter:

Public Member Functions | |
| Filter () | |
| Default constructor generates a zeroth order "do-nothing" filter. | |
| Filter (unsigned num_b, unsigned num_a=1) | |
| Filter (UnitGenerator &in, unsigned num_b=1, unsigned num_a=1) | |
| Filter (UnitGenerator &in, sample *bCoeffs, sample *aCoeffs, unsigned num_b, unsigned num_a) | |
| This constructor takes arrays of coefficients and constructs the filter accordingly. | |
| ~Filter () | |
| Filter destructor frees temp memory. | |
| void | clear (void) |
| clears the input/output buffers | |
| virtual void | setupCoeffs () |
| void | setupCoeffs (sample *bCoeffs, sample *aCoeffs, unsigned num_b, unsigned num_a) |
| supply the coefficients directly | |
| virtual void | nextBuffer (Buffer &outputBuffer, unsigned outBufNum) throw (CException) |
| void | dump () |
| log information about myself | |
Protected Member Functions | |
| void | init (unsigned a, unsigned b) |
| shared initialization function | |
Protected Attributes | |
| float | mBCoeff [FILTER_MAX_COEFFICIENTS] |
| array of numerator coeffs | |
| float | mACoeff [FILTER_MAX_COEFFICIENTS] |
| array of denominator coeffs | |
| unsigned | mBNum |
| number of coeffs in b | |
| unsigned | mANum |
| number of coeffs in a | |
| Buffer * | mPrevInputs |
| arrays of past input and output samples | |
| Buffer * | mPrevOutputs |
| float | mFrame |
| helpful to keep hold of sample rate for calculating coeffs | |
|
|
Default constructor generates a zeroth order "do-nothing" filter. Generic Filter class with scalable order and generic next_buffer method that implememnts the canonical filter diference equation. Subclasses must supply filter order and override the setupCoeffs() method. |
|
||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||||||||||
|
This constructor takes arrays of coefficients and constructs the filter accordingly.
|
|
|
Filter destructor frees temp memory.
|
|
|
clears the input/output buffers
|
|
|
Reimplemented in csl::Butter, csl::Formant, csl::Notch, csl::Allpass, and csl::Moog. |
|
||||||||||||||||||||
|
supply the coefficients directly to be overloaded by subclasses |
|
||||||||||||
|
Reimplemented in csl::Moog. |
|
|
log information about myself
|
|
||||||||||||
|
shared initialization function
|
|
|
array of numerator coeffs
|
|
|
array of denominator coeffs
|
|
|
number of coeffs in b
|
|
|
number of coeffs in a
|
|
|
arrays of past input and output samples
|
|
|
|
|
|
helpful to keep hold of sample rate for calculating coeffs
|
1.4.5-20051010