DSP_iir_lat
[Filtering and convolution]

Collaboration diagram for DSP_iir_lat:


Detailed Description

void DSP_iir_lat (short *x, int nx, const short *restrict k, int nk, int *restrict b, short *r)


Function Documentation

void DSP_iir_lat ( short *  x,
int  nx,
const short *restrict  k,
int  nk,
int *restrict  b,
short *  r 
)

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.

Parameters:
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
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)
Algorithm:
DSP_iir_lat_cn.c is the natural C equivalent of the optimized intrinsic C code withoutrestrictions. Note that the intrinsic C code is optimized and restrictions may apply.
Assumptions:
There are no assumptions.
Implementation Notes:
Interruptibility : The code is interruptible.
Endian support : supports both Little and Big endian modes.


Copyright 2014, Texas Instruments Incorporated