• What is the theory behind LPC?
  • Why are(were) certain implementations of LPC said to be more tolerant of transmission or encoding errors quantization than other compressed voice encoding schemes?

  • Can LPC methods also be used for smoothing or short term "prediction" similar to the use of Kalman filter methods?

  • Under what conditions or constraints is the use of LPC valid?
  • $\begingroup$ "Why is(was) LPC said to be more tolerant of transmission or encoding errors than some other compressed voice encoding schemes?" Who said that? I don't know LPC very well, but I thought it had to do with reducing redundancy, which would have the opposite effect. $\endgroup$
    – endolith
    May 23 '12 at 1:41
  • $\begingroup$ This question is misleading as it is on false premise. Please close and rectify this. $\endgroup$ May 23 '12 at 12:59
  • $\begingroup$ There are multiple questions and premises here. Which one(s) do you think need repairing? $\endgroup$
    – hotpaw2
    May 23 '12 at 13:22
  • 1
    $\begingroup$ The statement Why are(were) certain implementations of LPC said to be more tolerant of transmission or encoding errors quantization than other compressed voice encoding schemes? is rather false. Can you cite any reference that specifically tells what is better over other? $\endgroup$ May 25 '12 at 5:14
  • 1
    $\begingroup$ That's actually my question. I heard this somewhere, but don't know why this might have been stated. $\endgroup$
    – hotpaw2
    May 25 '12 at 5:43

First, to say linear predictive coding (LPC) is "more tolerant of transmission or encoding errors" isn't entirely true. The form in which the coefficients is transmitted makes a big difference. For example, if the linear prediction coefficients are solved for, they can be very sensitive to quantization, much like high order IIR filter coefficients (this is because the synthesis filter will be IIR, but more on that later). However, if they are transmitted in some other form, this problem can be mitigated easily.

One way is to transfer the reflection coefficients. If you recursively solve for a k-th order linear prediction filter, the highest order coefficient at each stage is called the reflection coefficient. These can be used together to completely characterize the system (which can easily be seen from the Levinson recursion). In fact, you can use all of them together to form a lattice filter. These filters are often used when quantization is a concern, as they're much more robust to low bit counts. In addition, if the magnitude of these reflection coefficients are bounded by unity, you're guaranteed a BIBO stable filter which is critical for LPC where the filter is used to synthesize your signal. There are other methods such as line spectral pairs which are frequently used, but aren't as intuitively defined as the reflection coefficients in relation to AR modeling for LPC.

Now, to address the first question, the theory of LPC revolves around vocal tract modeling. Essentially, we're modeling speech as air vibrating as an input to a tube of some structure. You can look for some resources that go into much more detail to flesh out this model (length of tubes, intensity of air, structure etc). These resources relate these structures directly to IIR filters responding to various stimuli, white noise for example.

So when we solve for the linear prediction coefficients, we're looking for the coefficients such that if we input our signal (voice for example) into an FIR filter created from the coefficients, we get white noise as an output. So think about what that means. We're inputting a highly correlated signal, and outputting a white noise sequence. So in effect, we're removing all linear dependence of that signal. Another way to look at this, is that all of the meaningful information is contained in the coefficients that remove this linear dependence. Therefore, we can transfer these coefficients (or some form of them as above), and the receiving end can recreate the signal. This is done by inverting the linear predictive FIR filter to create an IIR filter, and inputting white noise. So the compression comes in from removing this linear dependence, and transferring the coefficients. This is why the Burg method is also sometimes referred to as the maximum entropy method, as it aims to maximize the "randomness" or whiteness of the output noise in the linear prediction filter. Another way to look at this, outside of physical modeling, is that vocal spectrum (with exception to unvoiced sounds such as hissing) tend to be very impulsive, making them excellent candidates for AR modeling.

To answer your final question, I'm not sure what you're asking entirely. LPC, or linear predictive coding is meant to "compress" the signal assuming that it can be efficiently modeled as previously discussed. You can certainly use linear prediction to do "shortterm prediction" as you've mentioned. This is the implicit basis behind the high resolution AR methods used for power spectral density estimation. The autocorrelation sequence may be recursively extended from it's finite form from the limited data record to infinity as the theoretical autocorrelation sequence of the unwindowed sequence. This is also why AR methods of PSD estimation don't exhibit sidelobe phenomena.

  • 1
    $\begingroup$ "the theory of LPC revolves around vocal tract modeling" Is this always true? FLAC uses LPC on generic audio waveforms, not just voice. $\endgroup$
    – endolith
    May 23 '12 at 3:09
  • 3
    $\begingroup$ My apologies, I originally learned it through the analogy of vocal chords as a physical model which is where that came from. As I said, there are places where they delve into this much deeper into this. But you're correct, LPC is suitable for generic audio waveforms. As I mentioned, it works well on any impulsive spectrum. As a corollary, it works poorly on noisy signals where the spectrum is less impulsive (this is because noisy signals are better modeled as ARMA processes). $\endgroup$
    – Bryan
    May 23 '12 at 3:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.