Substituting the actual values for the first outer loop iteration:

  for(i=1; i<=10; i++) {
   sum = 0.0;
    for(j=1; j<=0; j++)
     sum += a[i-1][j]*R[i-j];   <-- this line never gets executed

- David

On 20/09/16 00:06, Steve wrote:
> I know this is 20 year old code, but in looking for why my program
> produces different pitch values (off by a fraction), I am looking at
> this algorithm in lpc.c:
>
> void levinson_durbin(  float R[], float lpcs[], int order) {
> float a[order+1][order+1];   <---- automatic no initialization
>
>  for(i=1; i<=order; i++) {
>   sum = 0.0;
>    for(j=1; j<=i-1; j++)
>     sum += a[i-1][j]*R[i-j];   <-- R multiplied by unknown data
>
> I've even looked at the referenced Makhoul paper, and it glosses over
> whatever "a" is supposed to be initially assigned.
>
> I tried assigning 1.0 to "a" elements. Even -1.0 just for kicks.
>
> I guess it doesn't really matter what "a" is, as it seems to work anyway??
>
>
>
> ------------------------------------------------------------------------------
>
>
>
> _______________________________________________
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>

------------------------------------------------------------------------------
_______________________________________________
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to