

#include "arm_math.h"

/**    
 * @ingroup groupFilters    
 */

/**    
 * @addtogroup FIR_Lattice    
 * @{    
 */

  /**    
   * @brief Initialization function for the Q15 FIR lattice filter.    
   * @param[in] *S points to an instance of the Q15 FIR lattice structure.    
   * @param[in] numStages  number of filter stages.    
   * @param[in] *pCoeffs points to the coefficient buffer.  The array is of length numStages.     
   * @param[in] *pState points to the state buffer.  The array is of length numStages.     
   * @return none.    
   */

void arm_fir_lattice_init_q15(
  arm_fir_lattice_instance_q15 * S,
  uint16_t numStages,
  q15_t * pCoeffs,
  q15_t * pState)
{
  /* Assign filter taps */
  S->numStages = numStages;

  /* Assign coefficient pointer */
  S->pCoeffs = pCoeffs;

  /* Clear state buffer and size is always numStages */
  memset(pState, 0, (numStages) * sizeof(q15_t));

  /* Assign state pointer */
  S->pState = pState;

}

/**    
 * @} end of FIR_Lattice group    
 */
