1mlib_SignalLPCAutoCorrelGetmEendeiragLyi_bSm1Ll6ii(bb3r_MaSLriIygBn)FaulnLcPtCiAountsoCorrelGetEnergy_S16(3MLIB)
2
3
4
6 mlib_SignalLPCAutoCorrelGetEnergy_S16, mlib_SignalLPCAutoCorrelGetEn‐
7 ergy_S16_Adp - return the energy of the input signal
8
10 cc [ flag... ] file... -lmlib [ library... ]
11 #include <mlib.h>
12
13 mlib_status mlib_SignalLPCAutoCorrelGetEnergy_S16(
14 mlib_s16 *engery, mlib_s32 escale, void *state);
15
16
17 mlib_status mlib_SignalLPCAutoCorrelGetEnergy_S16_Adp(
18 mlib_s16 *engery, mlib_s32 *escale, void *state);
19
20
22 Each of the functions returns the energy of the input signal.
23
24
25 In linear predictive coding (LPC) model, each speech sample is repre‐
26 sented as a linear combination of the past M samples.
27
28 M
29 s(n) = SUM a(i) * s(n-i) + G * u(n)
30 i=1
31
32
33
34 where s(*) is the speech signal, u(*) is the excitation signal, and G
35 is the gain constants, M is the order of the linear prediction filter.
36 Given s(*), the goal is to find a set of coefficient a(*) that mini‐
37 mizes the prediction error e(*).
38
39 M
40 e(n) = s(n) - SUM a(i) * s(n-i)
41 i=1
42
43
44
45 In autocorrelation method, the coefficients can be obtained by solving
46 following set of linear equations.
47
48 M
49 SUM a(i) * r(|i-k|) = r(k), k=1,...,M
50 i=1
51
52
53
54 where
55
56 N-k-1
57 r(k) = SUM s(j) * s(j+k)
58 j=0
59
60
61
62 are the autocorrelation coefficients of s(*), N is the length of the
63 input speech vector. r(0) is the energy of the speech signal.
64
65
66 Note that the autocorrelation matrix R is a Toeplitz matrix (symmetric
67 with all diagonal elements equal), and the equations can be solved
68 efficiently with Levinson-Durbin algorithm.
69
70
71 See Fundamentals of Speech Recognition by Lawrence Rabiner and Biing-
72 Hwang Juang, Prentice Hall, 1993.
73
74
75 Note for functions with adaptive scaling (with _Adp postfix), the scal‐
76 ing factor of the output data will be calculated based on the actual
77 data; for functions with non-adaptive scaling (without _Adp postfix),
78 the user supplied scaling factor will be used and the output will be
79 saturated if necessary.
80
82 Each function takes the following arguments:
83
84 energy The energy of the input signal.
85
86
87 escale The scaling factor of the energy, where actual_data = out‐
88 put_data * 2**(-scaling_factor).
89
90
91 state Pointer to the internal state structure.
92
93
95 Each function returns MLIB_SUCCESS if successful. Otherwise it returns
96 MLIB_FAILURE.
97
99 See attributes(5) for descriptions of the following attributes:
100
101
102
103
104 ┌─────────────────────────────┬─────────────────────────────┐
105 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
106 ├─────────────────────────────┼─────────────────────────────┤
107 │Interface Stability │Committed │
108 ├─────────────────────────────┼─────────────────────────────┤
109 │MT-Level │MT-Safe │
110 └─────────────────────────────┴─────────────────────────────┘
111
113 mlib_SignalLPCAutoCorrelInit_S16(3MLIB), mlib_SignalLPCAutoCor‐
114 rel_S16(3MLIB), mlib_SignalLPCAutoCorrelGetPARCOR_S16(3MLIB), mlib_Sig‐
115 nalLPCAutoCorrelFree_S16(3MLIB), attributes(5)
116
117
118
119SunOS 5.11 2mlMiabr_S2i0g0n7alLPCAutoCorrelGetEnergy_S16(3MLIB)