DSPF_sp_iir
[Filtering and convolution]

Collaboration diagram for DSPF_sp_iir:


Detailed Description

void DSPF_sp_iir (float *restrict y1, const float *x, float *restrict y2, const float *hb, const float *ha, int nr)


Function Documentation

void DSPF_sp_iir ( float *restrict  y1,
const float *  x,
float *restrict  y2,
const float *  hb,
const float *  ha,
int  nr 
)

The IIR performs an auto-regressive moving-average (ARMA) filter with 4 auto-regressive filter coefficients and 5 moving-average filter coefficients for nr output samples. The output vector is stored in two locations. This routine is used as a high pass filter in the VSELP vocoder. The 4 values in the r1 vector store the initial values of the delays.

Parameters:
y1[nr+4] Delay element values (i/p and o/p).
x[nr] Pointer to the input array.
y2[nr+4] Pointer to the output array.
hb[5] Auto-regressive filter coefficients.
ha[5] Moving average filter coefficients.
nr Number of output samples.
Algorithm:
DSPF_sp_iir_cn.c is the natural C equivalent of the optimized linear assembly code without restrictions. Note that the linear assembly code is optimized and restrictions may apply.
Assumptions:
The value of ‘nr’ must be a multiple of 2.
Extraneous loads are allowed in the program.
Implementation Notes:
Interruptibility: The code is interruptible. Endian Support: The code supports both big and little endian modes.


Copyright 2014, Texas Instruments Incorporated