12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- /*
- ********************************************************************************
- *
- * GSM AMR-NB speech codec R98 Version 7.6.0 December 12, 2001
- * R99 Version 3.3.0
- * REL-4 Version 4.1.0
- *
- ********************************************************************************
- *
- * File : levinson.h
- * Purpose : Levinson-Durbin algorithm in double precision.
- * : To compute the LP filter parameters from the
- * : speech autocorrelations.
- *
- ********************************************************************************
- */
- #ifndef levinson_h
- #define levinson_h "$Id $"
-
- /*
- ********************************************************************************
- * INCLUDE FILES
- ********************************************************************************
- */
- #include "typedef.h"
- #include "cnst.h"
-
- /*
- ********************************************************************************
- * LOCAL VARIABLES AND TABLES
- ********************************************************************************
- */
-
- /*
- ********************************************************************************
- * DEFINITION OF DATA TYPES
- ********************************************************************************
- */
- typedef struct {
- Word16 old_A[M + 1]; /* Last A(z) for case of unstable filter */
- } LevinsonState;
-
- /*
- ********************************************************************************
- * DECLARATION OF PROTOTYPES
- ********************************************************************************
- */
-
- int Levinson_init (LevinsonState **st);
- /* initialize one instance of the pre processing state.
- Stores pointer to filter status struct in *st. This pointer has to
- be passed to Levinson in each call.
- returns 0 on success
- */
-
- int Levinson_reset (LevinsonState *st);
- /* reset of pre processing state (i.e. set state memory to zero)
- returns 0 on success
- */
- void Levinson_exit (LevinsonState **st);
- /* de-initialize pre processing state (i.e. free status struct)
- stores NULL in *st
- */
- int Levinson (
- LevinsonState *st,
- Word16 Rh[], /* i : Rh[m+1] Vector of autocorrelations (msb) */
- Word16 Rl[], /* i : Rl[m+1] Vector of autocorrelations (lsb) */
- Word16 A[], /* o : A[m] LPC coefficients (m = 10) */
- Word16 rc[] /* o : rc[4] First 4 reflection coefficients */
- );
-
- #endif
|