FreeCalypso > hg > gsm-codec-lib
diff libgsmefr/lag_wind.c @ 53:49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 25 Nov 2022 16:18:21 +0000 |
parents | |
children | 8d63b167a5d3 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libgsmefr/lag_wind.c Fri Nov 25 16:18:21 2022 +0000 @@ -0,0 +1,37 @@ +/************************************************************************* + * + * FUNCTION: Lag_window() + * + * PURPOSE: Lag windowing of autocorrelations. + * + * DESCRIPTION: + * r[i] = r[i]*lag_wind[i], i=1,...,10 + * + * r[i] and lag_wind[i] are in special double precision format. + * See "oper_32b.c" for the format. + * + *************************************************************************/ + +#include "typedef.h" +#include "basic_op.h" +#include "oper_32b.h" +#include "count.h" + +#include "lag_wind.tab" + +void Lag_window ( + Word16 m, /* (i) : LPC order */ + Word16 r_h[], /* (i/o) : Autocorrelations (msb) */ + Word16 r_l[] /* (i/o) : Autocorrelations (lsb) */ +) +{ + Word16 i; + Word32 x; + + for (i = 1; i <= m; i++) + { + x = Mpy_32 (r_h[i], r_l[i], lag_h[i - 1], lag_l[i - 1]); + L_Extract (x, &r_h[i], &r_l[i]); + } + return; +}