Hello all,
Any experts on linear prediction here ?
During my current holidays in Greece, apart from SCUBA diving,
I've been reading up and doing a lot of simulations (in Python)
of algorithms related to linear prediction. This has been - I
must adimit - a gaping hole in my practical DSP experience up
to now.
Things work well, but there is one thing that remains strange.
It is usually said (see e.g. JOS) that the required order of
the prediction should be a bit higher than twice the number
of resonances (or formants for voice processing) in the signal
to be predicted. This makes sense as each resonance is in
essence a second-order process.
From my experiments it seems that at a sample rate of
e.g. 48 kHz
(indeed much higher than normally used to for speech processing),
a much higher order is required to model a low frequency formant
at e.g. 350 Hz.
What seems to happen at low order is that processing the prediction
error (residual) by the the synthesis filter produces and almost
perfect reconstruction of the input, but that the filter is
actually just doing the -6dB/oct slope above the resonance,
while the resonance itself remains in the residual.
So e.g. trying to move the formant by modifying the filter will
fail.
As far as I can see, a prediction order of around 50 is required
to correctly model a resonance at such low frequencies.
So my question now is this: is the rule mentioned above just
wrong, or am I missing something ?
Ciao,
--
FA