1 /*
2  *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 
11 /******************************************************************
12 
13  iLBC Speech Coder ANSI-C Source Code
14 
15  WebRtcIlbcfix_GetLspPoly.h
16 
17 ******************************************************************/
18 
19 #ifndef MODULES_AUDIO_CODING_CODECS_ILBC_MAIN_SOURCE_GET_LSP_POLY_H_
20 #define MODULES_AUDIO_CODING_CODECS_ILBC_MAIN_SOURCE_GET_LSP_POLY_H_
21 
22 #include "defines.h"
23 
24 /*----------------------------------------------------------------*
25  * Construct the polynomials F1(z) and F2(z) from the LSP
26  * (Computations are done in Q24)
27  *
28  * The expansion is performed using the following recursion:
29  *
30  * f[0] = 1;
31  * tmp = -2.0 * lsp[0];
32  * f[1] = tmp;
33  * for (i=2; i<=5; i++) {
34  *    b = -2.0 * lsp[2*i-2];
35  *    f[i] = tmp*f[i-1] + 2.0*f[i-2];
36  *    for (j=i; j>=2; j--) {
37  *       f[j] = f[j] + tmp*f[j-1] + f[j-2];
38  *    }
39  *    f[i] = f[i] + tmp;
40  * }
41  *---------------------------------------------------------------*/
42 
43 void WebRtcIlbcfix_GetLspPoly(
44     int16_t *lsp, /* (i) LSP in Q15 */
45     int32_t *f);  /* (o) polonymial in Q24 */
46 
47 #endif
48