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 _______________________________________________ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org https://lists.linuxaudio.org/listinfo/linux-audio-dev