Assim sendo, o que se quer é encontrar os coeficientes de forma a minimizar a função do chamado erro quadrático dada por:
O processo de encontrar estes coeficientes pode ser feito fazendo todas as derivadas
iguais a zero:
O que resulta na equação:
para 1
= j
= p, onde R é a autocorrelação do sinal x(n) e
p o número de coeficientes calculados para cada frame.
As equações acima descritas são chamadas de equações normais ou
equações de Yule-Walker. Em forma de matriz, as equações podem ser
escritas de maneira equivalente como R * a = r, onde a matriz de
autocorrelação R é uma matriz de Toeplitz1 com elementos ri,j = R(i-j)
e o vector r é o vector de autocorrelação rj = R(j) e o vector a é o
vector dos parâmetros
.
Calcular a solução da matriz R * a = r é um processo relativamente
pesado em termos de computacão. O método de eliminação de Gauss é
provavelmente a solução mais antiga para resolver matrizes mas este
não tira proveito eficazmente da simetria de R e r.
Um algoritmo bem mais rápido é o da recursividade de Levinson,
proposto por N. Levinson em 1947 e modificado mais tarde em 1959 por
J. Durbin, originando o nome Levinson-Durbin para este algoritmo que
recursivamente calcula a solução da matriz.
Os coeficientes
do filtro são então calculados usando este
algoritmo que parte da auto-correlação R(m).
A auto-correlação requere que algumas suposições iniciais sejam
feitas, nomeadamente, que x[n] seja considerado zero fora do frame actual.
A auto-correlação do sinal x[n] é dada por:
Para um filtro de ordem N = 10, temos então:
Os coeficientes
do filtro são encontrados resolvendo o sistema Ra = r. O algoritmo de Levinson-Durbin permite chegar à solução com
em vez de
usando o conhecimento de que a matriz R é uma matriz de Toeplitz.
Recursividade de Levinson Durbin:
Resolve-se para i = 1,2, ..., 10 e depois atribui-se: