Project Ne10
An open, optimized software library for the ARM architecture.

Functions  
ne10_result_t  ne10_iir_lattice_init_float (ne10_iir_lattice_instance_f32_t *S, ne10_uint16_t numStages, ne10_float32_t *pkCoeffs, ne10_float32_t *pvCoeffs, ne10_float32_t *pState, ne10_uint32_t blockSize) 
Initialization function for the floatingpoint IIR lattice filter. More...  
void  ne10_iir_lattice_float_c (const ne10_iir_lattice_instance_f32_t *S, ne10_float32_t *pSrc, ne10_float32_t *pDst, ne10_uint32_t blockSize) 
Specific implementation of ne10_iir_lattice_float using plain C. More...  
void  ne10_iir_lattice_float_neon (const ne10_iir_lattice_instance_f32_t *S, ne10_float32_t *pSrc, ne10_float32_t *pDst, ne10_uint32_t blockSize) asm("ne10_iir_lattice_float_neon") 
Specific implementation of ne10_iir_lattice_float using NEON SIMD capabilities. More...  
Variables  
void(*  ne10_iir_lattice_float )(const ne10_iir_lattice_instance_f32_t *S, ne10_float32_t *pSrc, ne10_float32_t *pDst, ne10_uint32_t blockSize) 
Processing function for the floatingpoint IIR lattice filter. More...  
blockSize
samples through the filter. pSrc
and pDst
point to input and output arrays containing blockSize
values.fN(n) = x(n) fm1(n) = fm(n)  km * gm1(n1) for m = N, N1, ...1 gm(n) = km * fm1(n) + gm1(n1) for m = N, N1, ...1 y(n) = vN * gN(n) + vN1 * gN1(n) + ...+ v0 * g0(n)
pkCoeffs
points to array of reflection coefficients of size numStages
. Reflection coefficients are stored in timereversed order. {kN, kN1, ....k1}
pvCoeffs
points to the array of ladder coefficients of size (numStages+1)
. Ladder coefficients are stored in timereversed order. v0, v1, ...vN
pState
points to a state array of size numStages + blockSize
. The state variables shown in the figure above (the g values) are stored in the pState
array. The state variables are updated after each block of data is processed; the coefficients are untouched. *arm_iir_lattice_instance_f32 S = {numStages, pState, pkCoeffs, pvCoeffs};
numStages
is the number of stages in the filter; pState
points to the state buffer array; pkCoeffs
points to array of the reflection coefficients; pvCoeffs
points to the array of ladder coefficients. void ne10_iir_lattice_float_c  (  const ne10_iir_lattice_instance_f32_t *  S, 
ne10_float32_t *  pSrc,  
ne10_float32_t *  pDst,  
ne10_uint32_t  blockSize  
) 
Specific implementation of ne10_iir_lattice_float using plain C.
Definition at line 112 of file NE10_iir.c.
void ne10_iir_lattice_float_neon  (  const ne10_iir_lattice_instance_f32_t *  S, 
ne10_float32_t *  pSrc,  
ne10_float32_t *  pDst,  
ne10_uint32_t  blockSize  
) 
Specific implementation of ne10_iir_lattice_float using NEON SIMD capabilities.
ne10_result_t ne10_iir_lattice_init_float  (  ne10_iir_lattice_instance_f32_t *  S, 
ne10_uint16_t  numStages,  
ne10_float32_t *  pkCoeffs,  
ne10_float32_t *  pvCoeffs,  
ne10_float32_t *  pState,  
ne10_uint32_t  blockSize  
) 
Initialization function for the floatingpoint IIR lattice filter.
[in]  *S  points to an instance of the floatingpoint IIR lattice structure. 
[in]  numStages  number of stages in the filter. 
[in]  *pkCoeffs  points to the reflection coefficient buffer. The array is of length numStages. 
[in]  *pvCoeffs  points to the ladder coefficient buffer. The array is of length numStages+1. 
[in]  *pState  points to the state buffer. The array is of length numStages+blockSize. 
[in]  blockSize  number of samples to process. 
Definition at line 44 of file NE10_iir_init.c.
void(* ne10_iir_lattice_float) (const ne10_iir_lattice_instance_f32_t *S, ne10_float32_t *pSrc, ne10_float32_t *pDst, ne10_uint32_t blockSize) 
Processing function for the floatingpoint IIR lattice filter.
[in]  *S  points to an instance of the floatingpoint IIR lattice structure. 
[in]  *pSrc  points to the block of input data. 
[out]  *pDst  points to the block of output data. 
[in]  blockSize  number of samples to process. 
Points to ne10_iir_lattice_float_c or ne10_iir_lattice_float_neon.
Definition at line 193 of file NE10_init_dsp.c.