IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
Windowing problem before LPC
hyeewang
post Mar 17 2010, 02:55
Post #1





Group: Members
Posts: 99
Joined: 2-August 07
From: Shanghai,China
Member No.: 45817



Why window the signal before computing LPC coefficients?

What is the whys of windowing? I know windowing can prevent spectrum leakage,but LPC is none of business of FFT, so it has no spectrum leakage.

Any comments would be appreciated!
Go to the top of the page
+Quote Post
jmvalin
post Mar 20 2010, 03:39
Post #2


Xiph.org Speex developer


Group: Developer
Posts: 482
Joined: 21-August 02
Member No.: 3134



QUOTE (hyeewang @ Mar 17 2010, 10:55) *
Why window the signal before computing LPC coefficients?

What is the whys of windowing? I know windowing can prevent spectrum leakage,but LPC is none of business of FFT, so it has no spectrum leakage.

Any comments would be appreciated!


You're always windowing -- even when you think you're not. As soon as you're not including an infinite number of samples, it means you've applied some kind of window. What you probably consider as "not windowing" is actually "using a rectangular window". The rectangular window has about the same effect on LPC as it has on FFT (yes, leakage!).
Go to the top of the page
+Quote Post
igor_b
post Apr 4 2010, 03:13
Post #3





Group: Members
Posts: 5
Joined: 19-December 09
Member No.: 76147



QUOTE (hyeewang @ Mar 17 2010, 02:55) *
Why window the signal before computing LPC coefficients?

What is the whys of windowing? I know windowing can prevent spectrum leakage,but LPC is none of business of FFT, so it has no spectrum leakage.

Any comments would be appreciated!


in LPC (linear prediction) you are predicting a value of next sample based on some number of previous samples. if you just take a block of signal "without windowing" (apply a rectangular window on a signal to be correct) then, on a beggining of a block you are actually trying to predict something from a bunch of previous zeros, and at the end of a block you are trying to predict zeros from some signal. that is why the prediction error is very high on the beggining and at the end of a block. by using windowing you make this error much smaller.

This post has been edited by igor_b: Apr 4 2010, 03:14
Go to the top of the page
+Quote Post
bluepen
post Jun 18 2010, 18:10
Post #4





Group: Members
Posts: 1
Joined: 18-June 10
Member No.: 81618



QUOTE (igor_b @ Apr 4 2010, 10:13) *
QUOTE (hyeewang @ Mar 17 2010, 02:55) *
Why window the signal before computing LPC coefficients?

What is the whys of windowing? I know windowing can prevent spectrum leakage,but LPC is none of business of FFT, so it has no spectrum leakage.

Any comments would be appreciated!


in LPC (linear prediction) you are predicting a value of next sample based on some number of previous samples. if you just take a block of signal "without windowing" (apply a rectangular window on a signal to be correct) then, on a beggining of a block you are actually trying to predict something from a bunch of previous zeros, and at the end of a block you are trying to predict zeros from some signal. that is why the prediction error is very high on the beggining and at the end of a block. by using windowing you make this error much smaller.


That sounds reasonable, thx!

Another approach may be utilizing some previous & afterwards points for calculating autocorrelation.
Go to the top of the page
+Quote Post
jmvalin
post Jun 20 2010, 05:07
Post #5


Xiph.org Speex developer


Group: Developer
Posts: 482
Joined: 21-August 02
Member No.: 3134



QUOTE (bluepen @ Jun 19 2010, 02:10) *
Another approach may be utilizing some previous & afterwards points for calculating autocorrelation.


In theory yes, but in practice there's two problems with this approach:
1) This no longer fits the definition of an auto-correlation and the resulting matrix is not Toeplitz, so you can't use the Levinson-Durbin algorithm
2) The filter you will find is not guaranteed to have its roots within the unit circle. If you're using it only for analysis (FIR), that's fine, but if you're also using it for synthesis (IIR), it means that you're likely to end up with instabilities.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 24th October 2014 - 16:04