Collaboration diagram for DSPF_sp_iir:
void | DSPF_sp_iir (float *restrict y1, const float *x, float *restrict y2, const float *hb, const float *ha, int nr) |
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.
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. |