This routine implements a circularly addressed FIR filter. ‘nh’ is the number of filter coefficients. ‘nr’ is the number of the output samples.
- Parameters
-
x[] | Input array (circular buffer of 2^(csize+1) bytes). |
h[nh] | Filter coefficients array. Must be double-word aligned. |
y[ny] | Output array |
index | Offset by which to start reading from the input array. |
csize | Size of circular buffer x[] is 2^(csize+1) bytes. |
nh | Number of filter coefficients. |
ny | Number of output samples |
- Algorithm:
- DSPF_sp_fircirc_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 circular input buffer x[] must be aligned at a 2^(csize+1) byte boundary.
h and y must be aligned at double word boundary.
csize must lie in the range 2 <= csize <= 31.
The number of coefficients (nh) must be a multiple of 2 and >= 4.
The number of outputs (nr) must be a multiple of 4 and >= 4.
The 'index' (offset to start reading input array) must be mutiple of 2.
The coefficient array is assured to be in reverse order; i.e., h(nh-1) to h(0).
- Implementation Notes:
- Interruptibility: The code is interruptible.
Endian Support: The code supports both big and little endian modes.