1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
use crate*;
use crate*;
/*****************************************************************************/
/* */
/* Define filter coefficients */
/* Coefficient are given by the filter transfert function : */
/* */
/* 0.46363718 - 0.92724705z(-1) + 0.46363718z(-2) */
/* H(z) = −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* 1 - 1.9059465z(-1) + 0.9114024z(-2) */
/* */
/* giving: */
/* y[i] = B0*x[i] + B1*x[i-1] + B2*x[i-2] */
/* + A1*y[i-1] + A2*y[i-2] */
/* */
/*****************************************************************************/
/* coefficients are stored in Q1.13 */
const A1: Word16 = 15836;
const A2: Word16 = -7667;
const B0: Word16 = 7699;
const B1: Word16 = -15398;
const B2: Word16 = 7699;
/* Initialization of context values */
/*****************************************************************************/
/* postProcessing : high pass filtering and upscaling Spec 4.2.5 */
/* Algorithm: */
/* y[i] = BO*x[i] + B1*x[i-1] + B2*x[i-2] + A1*y[i-1] + A2*y[i-2] */
/* parameters: */
/* -(i/o) decoderChannelContext : the channel context data */
/* -(i/o) signal : 40 values in Q0, reconstructed speech, output */
/* replaces the input in buffer */
/* */
/*****************************************************************************/