4 — LP (Linear Prediction)
O que significa LP
LP é o acrônimo de Linear Prediction (Predição Linear).
Diferentemente de LPC ou LPCC, LP não é um conjunto de coeficientes, mas sim o princípio matemático que fundamenta todo o método.
A ideia central da predição linear é simples, porém profunda:
Um sinal pode ser aproximado como uma combinação linear de seus valores passados.
Esse princípio aparece em:
- Processamento de sinais
- Teoria de controle
- Modelagem AR (Auto-Regressive)
- Filtros adaptativos
- Séries temporais
No contexto do artigo de referência, LP é o alicerce conceitual sobre o qual LPC e LPCC são construídos.
Predição linear como modelo autoregressivo (AR)
Em LP, o sinal é modelado como um processo autoregressivo:
\[
\hat{x}[n] = \sum_{k=1}^{p} a_k x[n-k]
\]
onde:
- \( \hat{x}[n] \) é a predição da amostra atual
- \( a_k \) são os coeficientes de predição
- \( p \) é a ordem do modelo
O erro de predição é definido como:
\[
e[n] = x[n] – \hat{x}[n]
\]
O objetivo da LP é minimizar a energia média desse erro:
\[
E = \mathbb{E}{e^2[n]}
\]
Esse critério leva diretamente às equações normais que originam o LPC.
Interpretação como filtro digital
Um ponto essencial, muitas vezes negligenciado, é que a predição linear equivale a um filtro digital.
Reescrevendo o modelo:
\[
x[n] + \sum_{k=1}^{p} a_k x[n-k] = e[n]
\]
No domínio Z:
\[
X(z)\left(1 + \sum_{k=1}^{p} a_k z^{-k}\right) = E(z)
\]
Logo, o sistema é um filtro tudo-polo com função de transferência:
\[
H(z) = \frac{1}{1 + \sum_{k=1}^{p} a_k z^{-k}}
\]
Isso explica por que:
- LPC modela ressonâncias
- Os polos correspondem a formantes
- O erro representa a excitação
Essa visão é crucial para entender LPCC como descritor do filtro, não do sinal bruto.
Estabilidade do modelo LP
Como todo filtro IIR, a predição linear exige estabilidade.
Condições práticas:
- Todos os polos devem estar dentro do círculo unitário
- Levinson-Durbin garante estabilidade quando:
- A matriz de autocorrelação é positiva definida
- O sinal é estacionário no intervalo analisado
Em firmware:
- Instabilidade → overflow, ruído numérico, coeficientes divergentes
- Por isso:
- Normalização
- Janelamento
- Escolha adequada da ordem ( p )
são obrigatórios.
Escolha da ordem do modelo (p)
A ordem ( p ) define o poder descritivo do modelo.
Regras práticas clássicas:
- Fala:
\[
p \approx 2 + \frac{f_s}{1000}
\] - Vibração / acústica mecânica:
- Depende do número de ressonâncias relevantes
- Tipicamente entre 8 e 20
Trade-off:
- \( p \) baixo → submodelagem
- \( p \) alto → overfitting e instabilidade
LPCC herda diretamente essas consequências.
Relação direta entre LP, LPC e LPCC
Agora a hierarquia fica clara:
- LP → princípio matemático
- LPC → solução numérica do problema de LP
- LPCC → transformação cepstral dos coeficientes LPC
Em forma de pipeline conceitual:
Sinal → LP → LPC → LPCC → Classificação
Cada etapa adiciona estrutura, não complexidade arbitrária.
Exemplo conceitual em C — erro de predição
Para reforçar a intuição, um exemplo simples de cálculo do erro LP:
/**
* Calcula o erro de predição linear
*/
float prediction_error(const float *x,
const float *a,
size_t p,
size_t n)
{
float pred = 0.0f;
for (size_t k = 1; k <= p; k++) {
pred += a[k - 1] * x[n - k];
}
return x[n] - pred;
}
Esse erro é o sinal que o LPC tenta minimizar estatisticamente.