DSPRelated.com
Forums

Determining the best filter order for linear predictive coding

Started by bennjo November 6, 2014
Hi All,
I am wondering if there is an established method for choosing the best
filter order to use when performing linear predictive coding (such as that
used in audio file formats like FLAC).

My current approach is:

1. Take a chunk of signal
2. Window the signal with a 0.5 tukey window
3. Get the auto-correlation coefficients
4. Calculate the LPC coefficients using the auto-correlation coefficients
5. Generate the predicted signal using a standard FIR filter with the LPC
coefficients
6. Measure the error between the original and predicted signal
7. Goto step 1 and continue repeating with different filter orders ...
..
8. Choose best order based on lowest error

Is it possible to know the best filter order by looking at the error
created from step 4 of the process? I would like to shortcut to step 8 from
step 4 if possible. Looking at the FLAC source code it seems their
technique is basically a heuristic. 

Regards,
Ben

	 

_____________________________		
Posted through www.DSPRelated.com
On Thursday, November 6, 2014 11:56:49 AM UTC-6, bennjo wrote:
> Hi All, > I am wondering if there is an established method for choosing the best > filter order to use when performing linear predictive coding (such as that > used in audio file formats like FLAC). > > My current approach is: > > 1. Take a chunk of signal > 2. Window the signal with a 0.5 tukey window > 3. Get the auto-correlation coefficients > 4. Calculate the LPC coefficients using the auto-correlation coefficients > 5. Generate the predicted signal using a standard FIR filter with the LPC > coefficients > 6. Measure the error between the original and predicted signal > 7. Goto step 1 and continue repeating with different filter orders ... > .. > 8. Choose best order based on lowest error > > Is it possible to know the best filter order by looking at the error > created from step 4 of the process? I would like to shortcut to step 8 from > step 4 if possible. Looking at the FLAC source code it seems their > technique is basically a heuristic. > > Regards, > Ben > > > > _____________________________ > Posted through www.DSPRelated.com
There is a way to iteratively determine the order that is sufficient, although I have seen it in only one place (and I can't remember where). You might start with Dan Graupe's book on time series analysis.