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. |
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.