Texas Instruments TMS320C64X Programmer's Reference Manual page 84

Dsp little-endian dsp library
Hide thumbs Also See for TMS320C64X:
Table of Contents

Advertisement

DSP_iirlat
DSP_iirlat
Function
Arguments
Description
Algorithm
4-56
All-Pole IIR Lattice Filter
void DSP_iirlat(const short * restrict x, int nx, const short * restrict k, int nk, int
* restrict b, short * restrict r)
x[nx]
Input vector (16-bit).
nx
Length of input vector.
k[nk]
Reflection coefficients in Q.15 format.
nk
Number of reflection coefficients/lattice stages. Must be >=4.
Make multiple of 2 to avoid bank conflicts.
b[nk+1]
Delay line elements from previous call. Should be initialized to
all zeros prior to the first call.
r[nx]
Output vector (16-bit).
This routine implements a real all-pole IIR filter in lattice structure (AR lattice).
The filter consists of nk lattice stages. Each stage requires one reflection
coefficient k and one delay element b. The routine takes an input vector x[] and
returns the filter output in r[]. Prior to the first call of the routine, the delay
elements in b[] should be set to zero. The input data may have to be pre-scaled
to avoid overflow or achieve better SNR. The reflections coefficients lie in the
range −1.0 < k < 1.0. The order of the coefficients is such that k[nk−1]
corresponds to the first lattice stage after the input and k[0] corresponds to the
last stage.
This is the C equivalent of the assembly code without restrictions. Note that
the assembly code is hand optimized and restrictions may apply.
void iirlat(short *x, int nx, short *k, int nk, int *b,
short *r)
{
int rt;
/* output
int i, j;
for (j=0; j<nx; j++)
{
rt = x[j] << 15;
for (i = nk − 1; i >= 0; i−−)
{
*/

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

Tms320c64x+

Table of Contents