FreeCalypso > hg > gsm-codec-lib
comparison libtwamr/levinson.h @ 385:c713061b6edf
libtwamr: integrate levinson.c
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Mon, 06 May 2024 06:01:56 +0000 | 
| parents | |
| children | 
   comparison
  equal
  deleted
  inserted
  replaced
| 384:a8dab7028e4d | 385:c713061b6edf | 
|---|---|
| 1 /* | |
| 2 ******************************************************************************** | |
| 3 * | |
| 4 * GSM AMR-NB speech codec R98 Version 7.6.0 December 12, 2001 | |
| 5 * R99 Version 3.3.0 | |
| 6 * REL-4 Version 4.1.0 | |
| 7 * | |
| 8 ******************************************************************************** | |
| 9 * | |
| 10 * File : levinson.h | |
| 11 * Purpose : Levinson-Durbin algorithm in double precision. | |
| 12 * : To compute the LP filter parameters from the | |
| 13 * : speech autocorrelations. | |
| 14 * | |
| 15 ******************************************************************************** | |
| 16 */ | |
| 17 #ifndef levinson_h | |
| 18 #define levinson_h "$Id $" | |
| 19 | |
| 20 /* | |
| 21 ******************************************************************************** | |
| 22 * INCLUDE FILES | |
| 23 ******************************************************************************** | |
| 24 */ | |
| 25 #include "typedef.h" | |
| 26 #include "cnst.h" | |
| 27 | |
| 28 /* | |
| 29 ******************************************************************************** | |
| 30 * LOCAL VARIABLES AND TABLES | |
| 31 ******************************************************************************** | |
| 32 */ | |
| 33 | |
| 34 /* | |
| 35 ******************************************************************************** | |
| 36 * DEFINITION OF DATA TYPES | |
| 37 ******************************************************************************** | |
| 38 */ | |
| 39 typedef struct { | |
| 40 Word16 old_A[M + 1]; /* Last A(z) for case of unstable filter */ | |
| 41 } LevinsonState; | |
| 42 | |
| 43 /* | |
| 44 ******************************************************************************** | |
| 45 * DECLARATION OF PROTOTYPES | |
| 46 ******************************************************************************** | |
| 47 */ | |
| 48 | |
| 49 void Levinson_reset (LevinsonState *st); | |
| 50 /* reset of pre processing state (i.e. set state memory to zero) | |
| 51 returns 0 on success | |
| 52 */ | |
| 53 | |
| 54 int Levinson ( | |
| 55 LevinsonState *st, | |
| 56 Word16 Rh[], /* i : Rh[m+1] Vector of autocorrelations (msb) */ | |
| 57 Word16 Rl[], /* i : Rl[m+1] Vector of autocorrelations (lsb) */ | |
| 58 Word16 A[], /* o : A[m] LPC coefficients (m = 10) */ | |
| 59 Word16 rc[] /* o : rc[4] First 4 reflection coefficients */ | |
| 60 ); | |
| 61 | |
| 62 #endif | 
