# Algorisme LMS

L'algorisme LMS (de l'anglès, Least-Mean-Square algorithm) s'usa en filtres adaptatius per trobar els coeficients del filtre que permeten obtenir el valor esperat mínim del quadrat del senyal d'error, definit com la diferència entre el senyal desitjat i el senyal produït a la sortida del filtre.
Pertany a la família dels algorismes de gradient estocàstic, és a dir, el filtre s'adapta sobre la base de l'error en l'instant actual únicament. Va ser inventat en 1960 pel professor de la Universitat Stanford Bernard Widrow i el seu primer estudiant de doctorat, Ted Hoff.
La seva importància és que és un algorisme molt simple. No requereix mesures de les funcions de correlació, ni tampoc inversió de la matriu de correlació.
Un filtre és un procés mitjançant el qual a un senyal qualsevol se li modifica el seu contingut espectral. L'algorisme LMS és un algorisme de filtratge lineal adaptatiu que, en general, consisteix en dos processos bàsics:
* Un procés de filtratge, que involucra:
** El còmput de la sortida d'un filtre lineal en resposta a un senyal d'entrada, i
** La generació d'una estimació de l'error mitjançant la comparació d'aquesta sortida amb el senyal desitjat.
* Un procés adaptatiu, que involucra l'ajust automàtic dels paràmetres del filtre d'acord amb l'error estimat.
Quan es parla de filtres adaptatius, està implícit que els paràmetres que caracteritzen el filtre, com ara l'amplada de banda i freqüències dels zeros, entre d'altres, canvien amb el temps, és a dir, els coeficients dels filtres adaptatius canvien amb el temps, en contraposició als coeficients dels filtres fixos que són, teòricament, invariants amb el temps.

## Resum de l'algorisme LMS

L'algorisme LMS, per a un filtre d'ordre $M$, es pot resumir de la següent manera:
| Paràmetres: | $M=$ ordre del filtre |
| | $\mathrm {M} =$ mida del pas |
| Inicialització: | Si es disposa d'informació sobre el vector de coeficients del filtre ${\hat {\mathbf {w} }}(n)$, usar per triar un valor vàlid de ${\hat {\mathbf {w} }}(0)$. En cas contrari, fer servir ${\hat {\mathbf {w} }}(0)=\mathbf {0}$ |
| Dades: |
| Donats : | $\mathbf {o} (n)=\left[u(n),o(n-1),\dots ,o(n-M+1)\right]^{T}$: senyal d'entrada a l'instant $n$ |
| | $D(n)$: senyal desitjat a la sortida del filtre |
| A calcular : | ${\hat {\mathbf {w} }}(n+1)=\left[{\hat {w}}_{0}(n+1),{\hat {w}}_{1}(n+1),\dots ,{\hat {w}}_{M-1}(n+1)\right]^{T}$: estimació del vector de coeficients del filtre en l'instant $n+1$ |
| Còmput: | Per $n=0,1,2,\dots$, calcular: |
| | $e(n)=d(n)-{\hat {\mathbf {w} }}^{H}(n)\cdot \mathbf {o} (n)$: senyal d'error |
| | ${\hat {\mathbf {w} }}(n+1)={\hat {\mathbf {w} }}(n)+\mu \,e^{*}(n)\mathbf {o} (n)$: adaptació dels coeficients del filtre |
El superíndex $T$ denota transposició, el superíndex $H$ denota transposada conjugada, l'asterisc denota conjugació i ${\hat {\mathbf {w} }}^{H}(n)\cdot \mathbf {o} (n)$ és la sortida del filtre, que es calcula com el producte intern entre el vector de coeficients del filtre ${\hat {\mathbf {w} }}(n)$, els components solen anomenar pesos o weighs , i el vector de dades d'entrada al filtre $\mathbf {o} (n)$.

## Vegeu també

* Algorisme RLS
* Equalitzador adaptable

## Enllaços externs

* eduardo/docencia/tds/librohtml/lms1.htm Algorisme LMS