SPUC  3.0
Files | Classes | Functions
IIR filters
Collaboration diagram for IIR filters:

Files

file  notch_comb.h
 

Classes

class  SPUC::cutboost< Numeric, Coeff >
 IIR structure that can cut or boost signals at a programmed frequency. More...
 
class  SPUC::iir< Numeric, Coeff >
 Tempate Class for iir filter. More...
 
class  SPUC::iir_1st< Numeric, Coeff >
 Template Class for 1st Order iir filter. More...
 
class  SPUC::iir_2nd< Numeric, Coeff >
 Template for 2nd Order IIR filter. More...
 
class  SPUC::iir_allpass1< Numeric, Coeff >
 Template Class for IIR Filter using 2 1st order sections. More...
 
class  SPUC::iir_allpass1_cascade< Numeric, Coeff >
 Template Class for iir filter consisting of 1st order allpass sections. More...
 
class  SPUC::iir_allpass1_halfband< Numeric, Coeff >
 Template Class for Allpass halfband IIR Filter. More...
 
class  SPUC::iir_allpass2< Numeric, Coeff >
 Template Class for IIR filter using sum of 2nd Order Allpass sections. More...
 
class  SPUC::iir_allpass_variable_cascade< Numeric, Coeff >
 
class  SPUC::iir_coeff
 Class for iir filter design. More...
 
class  SPUC::iir_comb< Numeric, Coeff >
 Template for IIR comb type filter with programmable delay and gain. More...
 
class  SPUC::iir_delay_allpass1< Numeric, Coeff >
 Template Class for IIR filter consisting of 2 1st Order Allpass sections. More...
 
class  SPUC::iir_df< Numeric, Coeff >
 Template Class for Modeling a Direct Form IIR. More...
 
class  SPUC::iir_exp1< Numeric, Coeff >
 Template Class for 1st Order lowpass iir filter. More...
 
class  SPUC::iir_hpf< Numeric, Coeff >
 Template Class for 1st Order high pass IIR filter from S-domain transformation. More...
 
class  SPUC::iir_hpf1< Numeric, Coeff >
 Template Class for 1st Order High-pass iir filter. More...
 
class  SPUC::iir_lpf< Numeric, Coeff >
 
class  SPUC::iir_lpf1< Numeric, Coeff >
 Template Class for 1st Order lowpass iir filter. More...
 
class  SPUC::iir_shelf< Numeric, Coeff >
 
class  SPUC::notch_allpass< Numeric, Coeff >
 IIR notch filter based on 2nd order allpass structure. More...
 
class  SPUC::notch_iir< Numeric, Coeff >
 IIR notch filter based on 2nd order biquad. More...
 
class  SPUC::shelf_allpass1< Numeric, Coeff >
 IIR zolzer filter based on 2nd order allpass structure. More...
 

Functions

void SPUC::butterworth_allpass (std::vector< float_type > &a0, std::vector< float_type > &a1, int L)
 Calculate Allpass coefficients for halfband bireciprocal wave filter. More...
 
void SPUC::butterworth_iir (iir_coeff &filt, float_type fcd, bool lpf, float_type amax)
 Calculate coefficients for IIR assuming butterworth frequency response. More...
 
void SPUC::chebyshev_iir (iir_coeff &cheb, float_type fcd, bool lpf, float_type ripple)
 Calculate coefficients for IIR assuming chebyshev frequency response. More...
 
void SPUC::elliptic_allpass (std::vector< float_type > &a0, std::vector< float_type > &a1, float_type fp, int L)
 Calculate Allpass coefficients for halfband bireciprocal wave filter. More...
 
void SPUC::elliptic_iir (iir_coeff &filt, float_type fcd, bool lpf, float_type fstop, float_type stopattn, float_type ripple)
 Calculate coefficients for IIR assuming elliptic frequency response. More...
 

Detailed Description

Function Documentation

void SPUC::butterworth_allpass ( std::vector< float_type > &  a0,
std::vector< float_type > &  a1,
int  L 
)

Calculate Allpass coefficients for halfband bireciprocal wave filter.

assuming butterworth frequency response

Author
Tony Kirke
Tony Kirke, Copyright(c) 2001

References PI.

Referenced by SPUC::nested_shelf_allpass_2< Numeric, Coeff >::init().

void SPUC::butterworth_iir ( iir_coeff &  filt,
float_type  fcd,
bool  lpf = true,
float_type  amax = 3.0 
)

Calculate coefficients for IIR assuming butterworth frequency response.

Constructor, fcd = cut-off (1=sampling rate) ord = Filter order amax = attenuation at cut-off

Author
Tony Kirke, Copyright(c) 2001
Tony Kirke

References SPUC::iir_coeff::bilinear(), SPUC::butterworth_s(), SPUC::iir_coeff::convert_to_ab(), SPUC::iir_coeff::order, PI, SPUC::iir_coeff::poles, and SPUC::iir_coeff::zeros.

Referenced by main().

Here is the call graph for this function:

void SPUC::chebyshev_iir ( iir_coeff &  filt,
float_type  fcd,
bool  lpf,
float_type  ripple = 3.0 
)

Calculate coefficients for IIR assuming chebyshev frequency response.

fcd = cut-off (1=sampling rate) ord = Filter order ripple = passband ripple in dB

Author
Tony Kirke, Copyright(c) 2001
Tony Kirke

References SPUC::iir_coeff::bilinear(), SPUC::chebyshev_s(), SPUC::iir_coeff::convert_to_ab(), SPUC::iir_coeff::order, PI, SPUC::iir_coeff::poles, and SPUC::iir_coeff::zeros.

Here is the call graph for this function:

void SPUC::elliptic_allpass ( std::vector< float_type > &  a0,
std::vector< float_type > &  a1,
float_type  fp,
int  L 
)
void SPUC::elliptic_iir ( iir_coeff &  filt,
float_type  fcd,
bool  lpf,
float_type  fstop,
float_type  stopattn,
float_type  ripple 
)

Calculate coefficients for IIR assuming elliptic frequency response.

Author
Tony Kirke, Copyright(c) 2001
Tony Kirke

References SPUC::iir_coeff::bilinear(), SPUC::iir_coeff::convert_to_ab(), SPUC::ellpk(), SPUC::lamda_plane(), SPUC::msqrt(), SPUC::iir_coeff::order, PI, SPUC::iir_coeff::poles, SPUC::s_plane(), SPUC::sqrt(), and SPUC::iir_coeff::zeros.

Referenced by main().

Here is the call graph for this function: