21.07.2015 Views

"TMS320C55x DSP Library DSPLIB Programmer's Reference"

"TMS320C55x DSP Library DSPLIB Programmer's Reference"

"TMS320C55x DSP Library DSPLIB Programmer's Reference"

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

iircas51This function retains the address of the delay filter memory d containing theprevious delayed values to allow consecutive processing of blocks. This functionis more efficient for block-by-block filter implementation due to the C-callingoverhead. However, it can be used for sample-by-sample filtering (nx = 1).The usage of 5 coefficients instead of 4 facilitates the design of filters with aunit gain of less than 1 (for overflow avoidance), typically achieved by filtercoefficient scaling.Algorithm(for biquad)d(n) x(n) a1*d(n 1) a2*d(n 2)y(n) b0*d(n) b1*d(n 1) b2*d(n 2)Overflow Handling MethodologyNo scaling implemented for overflow prevention.Special Requirements noneImplementation Notes noneExampleBenchmarksSee examples/iircas5 subdirectory(preliminary)Cycles † Core: nx * (5 + 5 * nbiq)Overhead: 60Code size(in bytes)126† Assumes all data is in on-chip dual-access RAM and that there is no bus conflict due to twiddletable reads and instruction fetches (provided linker command file reflects those conditions).iircas51FunctionCascaded IIR Direct Form I (5 Coefficients per Biquad)ushort oflag = iircas51 (DATA *x, DATA *h, DATA *r, DATA *dbuffer, ushort nbiq,ushort nx)(defined in iircas51.asm)Argumentsx [nx]h[5*nbiq]Pointer to input data vector of size nxPointer to filter coefficient vector with the followingformat:h = b01 b11 b21 a11 a21 ....b0i b1i b2i a1i a2Iwhere i is the biquad index (a21 is the a2 coefficient ofbiquad 1). Pole (recursive) coefficients = a. Zero(non-recursive) coefficients = bFunction Descriptions4-59

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!