Functions
Collaboration diagram for DSPF_sp_iir:

Functions

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

Detailed Description

Function Documentation

◆ DSPF_sp_iir()

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]Moving average filter coefficients.
ha[5]Auto-regressive filter coefficients.
nrNumber 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 2022, Texas Instruments Incorporated