view libtwamr/levinson.h @ 577:d68b2c92464a
libgsmhr1: bring in parts of dtx.[ch] needed for RxFE
author
Mychaela Falconia <falcon@freecalypso.org>
date
Thu, 13 Feb 2025 03:06:11 +0000 (6 weeks ago)
parents
c713061b6edf
children
line source
+ − /*
+ − ********************************************************************************
+ − *
+ − * 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
+ − ********************************************************************************
+ − */
+ −
+ − void Levinson_reset (LevinsonState *st);
+ − /* reset of pre processing state (i.e. set state memory to zero)
+ − returns 0 on success
+ − */
+ −
+ − 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