MityDSP Documentation Index
tcDspFpgaIir
@section intro_sec Introduction

The tcDspFpgaIir class may be used to provide access to a single IIR 
Filter core.  Each instance of DspFpgaIir provides access to up to 4 
individual filters.  These filters are arranged in 1-4 parallel paths.  
The number of paths (NP) is application-specific.  The number of filters 
(NF) cascaded along each path is configurable, as follows:
@li NP=1, NF=1-4
@li NP=2, NF=1-2
@li NP=3, NF=1
@li NP=4, NF=1

Each filter makes use of 5 coefficients (B0, B1, B2, A1, and A2) as
described below:
<TT>
@verbatim 

/// Xin --->+---->(xB0)---->(+)---->(+)-------------->+---> Yout /// | ^ ^ | /// Z-1 | | Z-1 /// | | | | /// +---->(xB1)---->(+) (+)<----(xA1)<----+ /// | ^ ^ | /// Z-1 | | Z-1 /// | | | | /// +---->(xB2)------+ +------(xA2)<----+ ///

There is no limit to the number of instances of tcDspFpgaIir that may be created, aside from the design of the FPGA module.

See also:
MityDSP::tcDspFpgaIir Class Reference

Example

This is a simple example of tcDspFpgaIir creation and usage:

{
unsigned int my_base_addr = 0xB0000180;
tcDspAwg *myIir;
int numPaths, numFilters;
int B0, B1, B2, A1, A2;
float fB0, fB1, fB2, fA1, fA2;
// create an IIR interface
myIir = new tcDspFpgaIir((void *)my_base_addr);
// determine paths available
numPaths = myIir->GetPaths();
// attempt to set two cascaded filters per set
if (myIir->SetFilters(2) == false)
{
// failed... number of paths must not be what app expected
printf("Couldn't set NF to 2, NP is %1d\r\n", numPaths);
return;
}
// set all filter coes (pass-thru in this simple example)
B0 = tcDspFpgaIir::gnCoeffScale;
B1 = B2 = A1 = A2 = 0;
myIir->SetCoeffs(0, 0, B0, B1, B2, A1, A2);
myIir->SetCoeffs(0, 1, B0, B1, B2, A1, A2);
// can also pass coes as floating point (-2 < x < 2)
fB0 = 1.0f;
fB1 = fB2 = fA1 = fA2 = 0.0f;
myIir->SetCoeffs(1, 0, fB0, fB1, fB2, fA1, fA2);
myIir->SetCoeffs(1, 1, fB0, fB1, fB2, fA1, fA2);
...
}

  
Generated on Mon Apr 22 2013 11:33:02 for MityDSP Core by  Doxygen Version 1.8.1.1
Copyright © 2009, Critical Link LLC, All rights reserved.