File: SPpcXrc.html

package info (click to toggle)
libtsp 3r0-1
  • links: PTS
  • area: non-free
  • in suites: potato, woody
  • size: 5,096 kB
  • ctags: 1,798
  • sloc: ansic: 14,464; sh: 1,217; makefile: 182
file content (81 lines) | stat: -rw-r--r-- 2,594 bytes parent folder | download
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
77
78
79
80
81
<HTML>
<HEAD>
<TITLE>TSP (libtsp/SP) - SPpcXrc</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFACD">
<H2>SPpcXrc</H2>
<HR>
<H4>Routine</H4>
<DL>
<DT>
double SPpcXrc (const float pc[], float rc[], int Np)
</DL>
<H4>Purpose</H4>
<DL>
<DT>
Convert predictor coefficients to reflection coefficients
</DL>
<H4>Description</H4>
The given predictor coefficients are converted to reflection coefficients
using a recursive algorithm.  The reflection coefficients lie between -1 and
+1 if the corresponding synthesis filter is stable.  The procedure implements
the following step-down recursion to get the reflection coefficients k(j)
from the initial set of predictor coefficients.  The iteration index runs
from Np to 1.  For each order j, the step-down procedure finds the predictor
coefficients for a predictor of order j-1  from the predictor coefficients
for a predictor of order j.  The equations are as follows, where the primed
primed quantities indicate the j-1 term predictor obtained at iteration j.
<P>
<PRE>
  k(j) = -p(j)
</PRE>
<P>
<PRE>
          p(i) - k(j) p(j-i)
  p'(i) = ------------------ ,   0 &lt; i &lt; j,
            1 - k(j) k(j)
</PRE>
<P>
Reflection coefficients and predictor coefficients are usually expressed
algebraically as vectors with 1-offset indexing.  The correspondence to the
0-offset C-arrays is as follows.
<PRE>
  p(1) &lt;==&gt; pc[0]       predictor coefficient corresponding to lag 1
  p(i) &lt;==&gt; pc[i-1]     1 &lt;= i &lt; Np
  k(1) &lt;==&gt; rc[0]       first reflection coefficient
  k(i) &lt;==&gt; rc[i-1]     1 &lt;= i &lt; Np
</PRE>
<H4>Parameters</H4>
<DL>
<DT>
&lt;-  double SPpcXrc
<DD>
Normalized mean-square prediction error.  This is the energy of the
prediction residual for a case in which the given predictor coefficients
are matched to the signal.  Note that this value may be negative if the
given predictor coefficients do not correspond to a minimum phase
prediction error filter.
<DT>
 -&gt; const float pc[]
<DD>
Vector of predictor coefficients (Np values).  These are the coefficients
of the predictor filter, with pc[0] being the predictor coefficient
corresponding to lag 1, and pc[Np-1] corresponding to lag Np.
<DT>
&lt;-  float rc[]
<DD>
Vector of Np reflection coefficients.  The sign of these coefficients is
such that rc[Np-1] = -pc[Np-1].
<DT>
 -&gt; int Np
<DD>
Number of coefficients
</DL>
<H4>Author / revision</H4>
P. Kabal  Copyright (C) 1997
/ Revision 1.12  1997/10/10
<P>
<HR>
Main Index <A HREF="../libtsp.html">libtsp</A>
</BODY>
</HTML>