/* ======================================================================== */
/*  TEXAS INSTRUMENTS, INC.                                                 */
/*                                                                          */
/*  NAME                                                                    */
/*      DSPF_sp_iirlat -- Single Precision All-Pole IIR lattice filter      */
/*                                                                          */
/*   USAGE                                                                  */
/*       This routine has following C prototype:                            */
/*                                                                          */
/*            void DSPF_sp_iirlat(                                          */
/*                          float *x,                                       */
/*                          int nx,                                         */
/*                          const float * restrict k,                       */
/*                          int nk,                                         */
/*                          float * restrict b,                             */
/*                          float * r                                       */
/*                          )                                               */
/*         x[nx]   : Input vector                                           */
/*         nx      : Length of input vector.                                */
/*         k[nk]   : Reflection coefficients                                */
/*         nk      : Number of reflection coefficients/lattice stages       */
/*                   Must be multiple of 2 and >=6.                         */
/*         b[nk+1] : Delay line elements from previous call. Should be      */
/*                   initialized to all zeros prior to the first call.      */
/*         r[nx]   : Output vector                                          */
/*                                                                          */
/*     DESCRIPTION                                                          */
/*                                                                          */
/*         This routine implements a real all-pole IIR filter in lattice    */
/*         structure (AR lattice). The filter consists of nk lattice        */
/*     stages. Each stage requires one reflection coefficient k and         */
/*     one delay element b. The routine takes an input vector x[] and       */
/*     returns the filter output in r[]. Prior to the first call of the     */
/*     routine the delay elements in b[] should be set to zero. The input   */
/*     data may have to be pre-scaled to avoid overflow or achieve better   */
/*     The order of the coefficients is such that k[nk-1] corresponds to    */
/*     the first lattice stage after the input and k[0] corresponds to the  */
/*         last stage.                                                      */
/* ------------------------------------------------------------------------ */
/*            Copyright (c) 2003 Texas Instruments, Incorporated.           */
/*                           All Rights Reserved.                           */
/* ======================================================================== */
#ifndef DSPF_SP_IIRLAT_
#define DSPF_SP_IIRLAT_ 1

void DSPF_sp_iirlat(
                    float * x,
                    int nx,
                    const float * restrict k,
                    int nk,
                    float * restrict b,
                    float * r
                    );

#endif
/* ======================================================================== */
/*  End of file: dspf_sp_iirlat.h                                           */
/* ------------------------------------------------------------------------ */
/*          Copyright (C) 2003 Texas Instruments, Incorporated.             */
/*                          All Rights Reserved.                            */
/* ======================================================================== */