DSPRelated.com
Forums

Burg's Recursion anomalies

Started by DBH 7 years ago4 replieslatest reply 7 years ago230 views
I am using Burg's method of linear prediction to replace invalid sections of audio data. The method works fairly successfully 95% of the time but occasionally fails with a reflection coefficient >1 leading to an erroneous set of linear prediction coefficients. My programme , in Visual C++, is based on a paper by Cedrick Collomb to be found at :- http://www.emptyloop.com/technotes/A%20tutorial%20on%20Burg%27s%20method,%20algorithm%20and%20recursion.pdf His expression for the Reflection Coefficient Mu has Numerator and Denominator terms. Burg's Recursion focusses on calculating the Denominator of the (k+1)th order term from the kth order term. In order to isolate the problem I tried replacing the Recursion process with a straight forward calculation of the (k+1)th denominator ( more cpu intensive but simpler). I find the numbers produced by the Recursive process are quite different from the straightforward process but I cannot see why. I have worked through Cedrick Collomb's theory fairly rigorously but can see no errors. Has anyone any experience of this problem.
[ - ]
Reply by Tim WescottAugust 21, 2017

Code it up in Matlab or Scilab, and see if it works?  I don't know squat about Burg, but if an algorithm looks good on paper but misbehaves in C++ I'll see if I can do it in Scilab -- it's usually fewer lines, and easier to debug.  Then if the Scilab version works, I'll work on porting that to C++.

[ - ]
Reply by DBHAugust 21, 2017

Thanks for the advice Tim

[ - ]
Reply by artmezAugust 21, 2017

Not pertinent per se, but went to http://www.emptyloop.com/ to find that reference, got distracted by a tool he has (unlocker) to delete "sticky" files (I have a bunch of NAS folders with dead thumbs.db files I can't delete), but Chrome gave me a malware warning when I tried to view that link. Just a warning (if it's warranted). I have had other false warnings from Chrome and gmail. Just saying.

BTW: I ran into this: https://www.opus-codec.org/docs/vos_fastburg.pdf It implies a fast method (like an FFT) to compute the terms.

[ - ]
Reply by DBHAugust 21, 2017

Thanks for the warning