FreeCalypso > hg > gsm-codec-lib
view libtwamr/lag_wind.c @ 553:ebcf414b7d99
doc/TFO-transform: describe details for FRv1, both modes
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 07 Oct 2024 08:24:24 +0000 |
parents | a8dab7028e4d |
children |
line wrap: on
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 : lag_wind.c * Purpose : Lag windowing of autocorrelations. * ******************************************************************************** */ /* ******************************************************************************** * MODULE INCLUDE FILE AND VERSION ID ******************************************************************************** */ #include "namespace.h" #include "lag_wind.h" /* ******************************************************************************** * INCLUDE FILES ******************************************************************************** */ #include "typedef.h" #include "basic_op.h" #include "oper_32b.h" #include "no_count.h" /* ******************************************************************************** * LOCAL VARIABLES AND TABLES ******************************************************************************** */ #include "lag_wind.tab" /* Table for Lag_Window() */ /* ******************************************************************************** * PUBLIC PROGRAM CODE ******************************************************************************** */ /************************************************************************* * * 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. * *************************************************************************/ 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; }