FreeCalypso > hg > gsm-codec-lib
annotate libtwamr/autocorr.h @ 371:4a8cabac281e
libtwamr: integrate q_plsf.c
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Mon, 06 May 2024 03:45:04 +0000 | 
| parents | 54f6bc41ed10 | 
| children | 
| rev | line source | 
|---|---|
| 
253
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /* | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 ******************************************************************************** | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 * | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 * GSM AMR-NB speech codec R98 Version 7.6.0 December 12, 2001 | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 * R99 Version 3.3.0 | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 * REL-4 Version 4.1.0 | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 * | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 ******************************************************************************** | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 * | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 * File : autocorr.h | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 * Purpose : Compute autocorrelations of signal with windowing | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 * | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 ******************************************************************************** | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 */ | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 #ifndef autocorr_h | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 #define autocorr_h "$Id $" | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 /* | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 ******************************************************************************** | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 * INCLUDE FILES | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 ******************************************************************************** | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 */ | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 #include "typedef.h" | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 /* | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 ******************************************************************************** | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 * DEFINITION OF DATA TYPES | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 ******************************************************************************** | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 */ | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 /* | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 ******************************************************************************** | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 * DECLARATION OF PROTOTYPES | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 ******************************************************************************** | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 */ | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 /* | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 ************************************************************************** | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 * | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 * Function : autocorr | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 * Purpose : Compute autocorrelations of signal with windowing | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 * Description : - Windowing of input speech: s'[n] = s[n] * w[n] | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 * - Autocorrelations of input speech: | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 * r[k] = sum_{i=k}^{239} s'[i]*s'[i-k] k=0,...,10 | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 * The autocorrelations are expressed in normalized | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 * double precision format. | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 * Returns : Autocorrelation | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 * | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 ************************************************************************** | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 */ | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 Word16 Autocorr ( | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 Word16 x[], /* (i) : Input signal (L_WINDOW) */ | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 Word16 m, /* (i) : LPC order */ | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 Word16 r_h[], /* (o) : Autocorrelations (msb) (MP1) */ | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 Word16 r_l[], /* (o) : Autocorrelations (lsb) (MP1) */ | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 const Word16 wind[]/* (i) : window for LPC analysis. (L_WINDOW) */ | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 ); | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 | 
| 
 
54f6bc41ed10
libtwamr: integrate a* modules
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 #endif | 
