0
$
h(k).u(n-k) ;
e(n) = d(n) - y(n) ; (eroarea la pasul curent n)
h
n+$
(k) = h
n
(k) + .e(n).u(n-k) ; k = 0,$,...,N-$ #i n = 0,$,2,......
unde h
n
(k) reprezint" coeficientul de index k la pasul n . Parametrul controleaz" stabilitatea #i viteza de
convergen!" ale algoritmului de ajustare recursiv #i se nume#te constant" sau pas de adaptare
n concluzie algoritmul LMS presupune c" la fiecare e#antion al intr"rii u(n) ( la fiecare pas) se efectueaz"
urmatoarele:
$. - calculul ie#irii filtrului adaptiv ( y(n) ); se presupune c" la n=0 avem h(0)=0;
2. - calculul erorii ntre e#antionul de ie#ire al filtrului adaptiv #i e#antionul ie#irii dorite;
3. - actualizarea coeficien!ilor filtrului adaptiv ( h(k) cu k = 0,$,...,N - $).
Constanta de adaptare, , trebuie aleas" suficient de mare pentru ca viteza de convergen!" s" fie ridicat"
#i suficient de mic" pentru a men!ine stabilitatea algoritmului.
Pe de alt" parte alegerea lui depinde de caracteristicile statistice ale semnalului de intrare, u(n) ; de
asemenea dac" este prea mic termenul .e(n).u(n-k) poate fi considerat nul datorit" cuantiz"rii ce apare n
structura hardware care implementeaz" filtrul adaptiv - n acest caz ajustarea coeficien!ilor se ncheie f"r" ca
minimul erorii p"tratice medii s" fie atins.
Se demonstreaz" c" trebuie s" ndeplineasc" urm"toarea condi!ie :
0 < < $ / ( $0.N.P
u
) , unde N este num"rul de coeficien!i ai filtrului adaptiv (de tip FIR) , iar
P
u
este puterea semnalului de intrare definit" astfel :
P
u
= [$/(M+$)] .
n
M
=
0
u
2
(n) ;
Implementarea algoritmului LMS
n continuare se prezint" o modalitate se implementare a algoritmului LMS de adaptare a coeficientilor.
Rutina trebuie apelat" la fiecare achizi!ie a unui e#antion nou. Implementarea filtrului adaptiv ( pentru ALE, sau
pentru compensatorul adaptiv de ecou) va con!ine o rutin" de implementare a filtrului FIR #i o rutin" de adapare a
coeficien!ilor filtrului FIR.
{----------------Algoritmul LMS -----------------------}
{parametrii de intrare :
mx0=eroarea , my1 =pasul de adaptare
i3 ->linia de intirziere
i6 ->coeficientii FIR adaptiv
cntr =numarul de coeficienti ai FIR
parametrii de iesire : coeficientii FIR actualizati
lms: mf=mx0*my1(rnd), mx0=dm(i3,m1); {mf =e(n) * }
{mx0 =u(n-k)}
mr=mx0*mf(rnd), ay0=pm(i6,m5); {mr1=e(n)**u(n-k)}
{ay0 =h(n)}
do adaptive until ce;
ar=mr1+ay0, mx0=dm(i3,m1), ay0=pm(i6,m4);
{h(n) =h(n) +mr1=e(n)**u(n-k) }
{citeste urmatorul h(n)}
adaptive: pm(i6,m6)=ar, mr=mx0*mf(rnd); {h(n+1) =h(n) }
{mr1=e(n)**u(n-k)}
modify(i6,m4); {reface i6}
modify(i3,m3); {reface i3}
rts;