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