Sound Design Toolkit  078
Physically informed sound synthesis for everyday sounds
Cascade of biquadratic sections

Typedefs

typedef struct SDTBiquad SDTBiquad
 Opaque data structure for biquad cascade object.
 
typedef struct SDTBiquad SDTBiquad
 Opaque data structure for biquad cascade object.
 

Functions

SDTBiquadSDTBiquad_new (int nSections)
 Object constructor. More...
 
void SDTBiquad_free (SDTBiquad *x)
 Object destructor. More...
 
void SDTBiquad_butterworthLP (SDTBiquad *x, double fc)
 Designs a Butterworth lowpass filter, at the given cutoff frequency. More...
 
void SDTBiquad_butterworthHP (SDTBiquad *x, double fc)
 Designs a Butterworth highpass filter, at the given cutoff frequency. More...
 
void SDTBiquad_butterworthAP (SDTBiquad *x, double fc)
 
void SDTBiquad_linkwitzRileyLP (SDTBiquad *x, double fc)
 Designs the lowpass part of a Linkwitz-Riley crossover filter, at the given cutoff frequency. WARNING: the filter must have an even number of biquad sections! More...
 
void SDTBiquad_linkwitzRileyHP (SDTBiquad *x, double fc)
 Designs the highpass part of a Linkwitz-Riley crossover filter, at the given cutoff frequency. WARNING: the filter must have an even number of biquad sections! More...
 
double SDTBiquad_dsp (SDTBiquad *x, double in)
 Signal processing routine. Call this function at sample rate to compute the filtered signal. More...
 

Detailed Description

Classic cascade of biquad sections, useful to implement a wide variety of filters.

Function Documentation

void SDTBiquad_butterworthHP ( SDTBiquad x,
double  fc 
)

Designs a Butterworth highpass filter, at the given cutoff frequency.

Parameters
[in]fcCutoff frequency, in Hz
void SDTBiquad_butterworthLP ( SDTBiquad x,
double  fc 
)

Designs a Butterworth lowpass filter, at the given cutoff frequency.

Parameters
[in]fcCutoff frequency, in Hz
double SDTBiquad_dsp ( SDTBiquad x,
double  in 
)

Signal processing routine. Call this function at sample rate to compute the filtered signal.

Parameters
[in]inInput sample
Returns
Output sample
void SDTBiquad_free ( SDTBiquad x)

Object destructor.

Parameters
[in]xPointer to the instance to destroy
void SDTBiquad_linkwitzRileyHP ( SDTBiquad x,
double  fc 
)

Designs the highpass part of a Linkwitz-Riley crossover filter, at the given cutoff frequency. WARNING: the filter must have an even number of biquad sections!

Parameters
[in]fcCutoff frequency, in Hz
void SDTBiquad_linkwitzRileyLP ( SDTBiquad x,
double  fc 
)

Designs the lowpass part of a Linkwitz-Riley crossover filter, at the given cutoff frequency. WARNING: the filter must have an even number of biquad sections!

Parameters
[in]fcCutoff frequency, in Hz
SDTBiquad * SDTBiquad_new ( int  nSections)

Object constructor.

Parameters
[in]nSectionsNumber of sections in the cascade. The order of the resulting filter is twice this value (i.e. nSections = 4 -> order = 8).
Returns
Pointer to the new instance