Gazebo Math

API Reference

8.0.0~pre1
BiQuad< T > Class Template Reference

Bi-quad filter base class. More...

#include <gz/math/Filter.hh>

Public Member Functions

 BiQuad ()=default
 Constructor.
 
 BiQuad (double _fc, double _fs)
 Constructor.
 
void Fc (double _fc, double _fs) override
 Set the cutoff frequency and sample rate.
 
void Fc (double _fc, double _fs, double _q)
 Set the cutoff frequency, sample rate and Q coefficient.
 
virtual const T & Process (const T &_x)
 Update the filter's output.
 
virtual void Set (const T &_val) override
 Set the current filter's output.
 
- Public Member Functions inherited from Filter< T >
virtual ~Filter ()
 Destructor.
 
virtual const T & Value () const
 Get the output of the filter.
 

Protected Attributes

double a0 = 0
 Input gain control coefficients.
 
double a1 = 0
 
double a2 = 0
 
double b0 = 0
 
double b1 = 0
 
double b2 = 0
 
x1 {}
 Gain of the feedback coefficients.
 
x2 {}
 
y1 {}
 
y2 {}
 
- Protected Attributes inherited from Filter< T >
y0 {}
 Output.
 

Detailed Description

template<class T>
class gz::math::BiQuad< T >

Bi-quad filter base class.

See also
http://www.earlevel.com/main/2003/03/02/the-bilinear-z-transform/

Constructor & Destructor Documentation

◆ BiQuad() [1/2]

template<class T >
BiQuad ( )
default

Constructor.

◆ BiQuad() [2/2]

template<class T >
BiQuad ( double  _fc,
double  _fs 
)
inline

Constructor.

Parameters
[in]_fcCutoff frequency.
[in]_fsSample rate.

References BiQuad< T >::Fc().

Member Function Documentation

◆ Fc() [1/2]

template<class T >
void Fc ( double  _fc,
double  _fs 
)
inlineoverridevirtual

Set the cutoff frequency and sample rate.

Parameters
[in]_fcCutoff frequency.
[in]_fsSample rate.

Implements Filter< T >.

References BiQuad< T >::Fc().

Referenced by BiQuad< T >::BiQuad(), and BiQuad< T >::Fc().

◆ Fc() [2/2]

template<class T >
void Fc ( double  _fc,
double  _fs,
double  _q 
)
inline

Set the cutoff frequency, sample rate and Q coefficient.

Parameters
[in]_fcCutoff frequency.
[in]_fsSample rate.
[in]_qQ coefficient.

References BiQuad< T >::a0, BiQuad< T >::a1, BiQuad< T >::a2, BiQuad< T >::b0, BiQuad< T >::b1, BiQuad< T >::b2, and GZ_PI.

◆ Process()

template<class T >
virtual const T & Process ( const T &  _x)
inlinevirtual

Update the filter's output.

Parameters
[in]_xInput value.
Returns
The filter's current output.

References BiQuad< T >::a0, BiQuad< T >::a1, BiQuad< T >::a2, BiQuad< T >::b1, BiQuad< T >::b2, BiQuad< T >::x1, BiQuad< T >::x2, Filter< T >::y0, BiQuad< T >::y1, and BiQuad< T >::y2.

◆ Set()

template<class T >
virtual void Set ( const T &  _val)
inlineoverridevirtual

Set the current filter's output.

Parameters
[in]_valNew filter's output.

Reimplemented from Filter< T >.

References BiQuad< T >::x1, BiQuad< T >::x2, Filter< T >::y0, BiQuad< T >::y1, and BiQuad< T >::y2.

Member Data Documentation

◆ a0

template<class T >
double a0 = 0
protected

Input gain control coefficients.

Referenced by BiQuad< T >::Fc(), and BiQuad< T >::Process().

◆ a1

template<class T >
double a1 = 0
protected

◆ a2

template<class T >
double a2 = 0
protected

◆ b0

template<class T >
double b0 = 0
protected

Referenced by BiQuad< T >::Fc().

◆ b1

template<class T >
double b1 = 0
protected

◆ b2

template<class T >
double b2 = 0
protected

◆ x1

template<class T >
T x1 {}
protected

Gain of the feedback coefficients.

Referenced by BiQuad< T >::Process(), and BiQuad< T >::Set().

◆ x2

template<class T >
T x2 {}
protected

◆ y1

template<class T >
T y1 {}
protected

◆ y2

template<class T >
T y2 {}
protected

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