gtkIOStream  1.7.0
GTK+ << C++ IOStream operators for GTK+. Now with ORBing, numerical computation, audio client and more ...
IIR Class Reference

#include <IIR.H>

Inheritance diagram for IIR:
[legend]

Public Member Functions

 IIR ()
 
virtual ~IIR ()
 
int reset (const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > &Bin, const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > &Ain)
 
int reset ()
 
int setMem (const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > &memIn)
 
int setMem (const IIR &iir)
 
void resetMem ()
 
int process (const Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > &x, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > const &y)
 
int process (const Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > &x, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > const &y, const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > &BStep, const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > &AStep)
 
int getChannelCount ()
 
Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > getB ()
 
Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > getA ()
 
Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > getMem ()
 

Protected Attributes

Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > B
 
Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > A
 
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > yTemp
 
Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > mem
 

Detailed Description

An IIR filter. The Direct Form II algorithm doesn't suit signals which get large, i.e. 1e12. Best to use this direct form II for signal which are bounded small, such as acoustic signals -1<=x<=1

Examples:
IIRTest.C.

Definition at line 49 of file IIR.H.

Constructor & Destructor Documentation

◆ IIR()

IIR::IIR ( )

Definition at line 19 of file IIR.C.

◆ ~IIR()

IIR::~IIR ( )
virtual

Definition at line 24 of file IIR.C.

Member Function Documentation

◆ getA()

Eigen::Array<double, Eigen::Dynamic, Eigen::Dynamic> IIR::getA ( )
inline

Definition at line 80 of file IIR.H.

◆ getB()

Eigen::Array<double, Eigen::Dynamic, Eigen::Dynamic> IIR::getB ( )
inline

Copy A, B and mem to another class - possibly with a different channel count

Definition at line 79 of file IIR.H.

◆ getChannelCount()

int IIR::getChannelCount ( )
inline

Definition at line 73 of file IIR.H.

◆ getMem()

Eigen::Array<double, Eigen::Dynamic, Eigen::Dynamic> IIR::getMem ( )
inline

Definition at line 81 of file IIR.H.

◆ process() [1/2]

int IIR::process ( const Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > &  x,
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > const &  y 
)

Direct form II algorithm

Examples:
IIRTest.C.

Definition at line 66 of file IIR.C.

Here is the call graph for this function:

◆ process() [2/2]

int IIR::process ( const Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > &  x,
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > const &  y,
const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > &  BStep,
const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > &  AStep 
)

Definition at line 95 of file IIR.C.

Here is the call graph for this function:

◆ reset() [1/2]

int IIR::reset ( const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > &  Bin,
const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > &  Ain 
)
Examples:
IIRCascadeTest.C, and IIRTest.C.

Definition at line 36 of file IIR.C.

Here is the call graph for this function:

◆ reset() [2/2]

int IIR::reset ( void  )
inline

Definition at line 61 of file IIR.H.

◆ resetMem()

void IIR::resetMem ( )
inline

Definition at line 67 of file IIR.H.

◆ setMem() [1/2]

int IIR::setMem ( const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > &  memIn)

Definition at line 49 of file IIR.C.

Here is the call graph for this function:

◆ setMem() [2/2]

int IIR::setMem ( const IIR iir)

Definition at line 58 of file IIR.C.

Here is the call graph for this function:

Member Data Documentation

◆ A

Eigen::Array<double, Eigen::Dynamic, Eigen::Dynamic> IIR::A
protected

Definition at line 52 of file IIR.H.

◆ B

Eigen::Array<double, Eigen::Dynamic, Eigen::Dynamic> IIR::B
protected

Definition at line 51 of file IIR.H.

◆ mem

Eigen::Array<double, Eigen::Dynamic, Eigen::Dynamic> IIR::mem
protected

Definition at line 54 of file IIR.H.

◆ yTemp

Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic> IIR::yTemp
protected

Definition at line 53 of file IIR.H.


The documentation for this class was generated from the following files:
gtkIOStream: IIR Class Reference
GTK+ IOStream  Beta