23
Adaptivni sistemi predavač: prof. dr. Ljubiša Stanković Seminarski rad Tema seminarskog: Modifikacije LMS algoritma i njihova primjena na identifikaciju sistema. Radili: Marko Ćetković, Nebojša Medan, Miljan Radonjić, Mladen Kasalica Elektrotehnički fakultet, Univerzitet Crne Gore Podgorica, decembar 2005. godine

Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

Adaptivni sistemi

predavač: prof. dr. Ljubiša Stanković

Seminarski rad

Tema seminarskog: Modifikacije LMS algoritma i njihova primjena na identifikaciju sistema.

Radili: Marko Ćetković, Nebojša Medan, Miljan Radonjić, Mladen Kasalica Elektrotehnički fakultet, Univerzitet Crne Gore Podgorica, decembar 2005. godine

Page 2: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

2

Sadržaj:

3...........................Uvod 5...........................Normalizovani LMS 6...........................Curenje (Leakage) 7...........................Dead zone (zona prekida) 8...........................Signed-error LMS (SE) 8...........................Signed-regressor LMS (SR) 9...........................Sign-sign LMS (SS) 9...........................Quantized state LMS 10..........................Adaptivni rekurzivni sistemi 12..........................Primjer i međusobno poređenje članova LMS porodice 12..........................LMS 14..........................NLMS 15..........................SE 17..........................SR 19..........................LMS sa aritmetičkim usrednjavanjem 21..........................Primjena LMS-a na rekurzivne sisteme 23..........................Literatura

Page 3: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

3

Uvod

LMS algoritam je predstavljen kao način rekurzivnog podešavanja parametra W(k) linearnog filtra sa ciljem minimizacije greške između datog željenog signala izlaza i izlaza iz filtra. LMS je jedan od mnogih algoritama koji su pogodni za ovaj zadatak i čitava familija algoritama je razvijena, fokusirajući se na različite probleme podešavanja, računskih ograničenja i minimizacionih kriterijuma. Možemo početi sa derivacijama LMS-a stalnih aproksimacija do najoštrije minimizacije funkcije koštanja V(W(k)), što rezultira jednostavnom rekurzivnom formom: (1.1) gdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji zovemo vektor regresor), kao i greške između lzlaza iz linearnog filtra i željenog signala. Neka opšta zapažanja data su zahvaljujći pozitivnim (ili negativnim) aspektima performansi LMS-a, i različiti potomci LMS-a su predstavljeni kao pokušaji da se prevaziđu neki problemi ili da fino namjeste neki aspekti LMS algoritma. Ovi algoritmi imaju opštu rekurzivnu formulu:

))(())1(()1()1()( kegkXFkkWkW −−+−= μ (1.2)

gdje W(k) predstavlja procjenu novog parametra u trenutku k, F: R^m --> R a g:R --> R funkcije vektora regresora X(k) i greške signala e(k), redom, a veličina koraka μ(k) je parametar proizvoljno izabran od strane korisnika i može se vremenom mijenjati. Svi algoritmi iz “familije LMS-a” su specijalni slučajevi jednačine (1.2). Mnoge varijante LMS-a zapravo ne minimizuju najmanju srednju kvadratnu grešku (least mean square error). Signed-error varijanta, na primjer, pokušava da smanji apsolutnu vrijednost greške. Kod Leakage LMS-a sa parametrom curenja (leakage parameter), algoritam želi da minimizuje linearnu kombinaciju najmanje srednje kvadratne greške i kvadratne greške ispod neke nominalne vrijednosti. Druge varijante ne priznaju interpretaciju minimizacije uopšte, itd. Veliki dio literature posvećen je analizi ponašanja pojedinih članova LMS porodice. Tu su se prije svega izdvojila tri analitička metoda. Prvi od ovih metoda, pokušava da razvije “statističku teoriju adaptacije” inicijalizovanu od strane Widrow-a i njegovih koautora. Ispitivanjem očekivanog ponašanja sistema za algoritam pod različitim pretpostavkama za ulazni i očekivani signal, razvili su korisnu vodilju za implementaciju algoritama (uključujući optimalni izbor veličine koraka), i dobili izraze koji opisuju statističke performanse algoritma. Druga analitička tehnika, “deterministički pristup”, tretira računanje greške procjene parametara kao nelinearni dinamički sistem, i koristi alate teorije stabilnosti da ispita konvergenciju i stabilnosne karakteristike algoritma. Primijetimo da izraz (1.2) postiže “srednji ekvilibrijum” (ekvilibrijum- situacija kada su suprotne sile ili uticaji balansirani i pod kontrolom) kad god je srednja vr. od( (F(Φ)g(e))=0 ). Pod pretpostavkom da imamo idealni sistem W* tada možemo tačno postići dinamiku željenog signala, pogodni uslovi (poznate kao uslovi “konstantnosti pobude”) za karakter ulazne sekvence mogu biti dobijeni što implicira da procjena parametra W(k) konvergira ovom idealnom W*, i da se ova konvergencija pojavljuje u blizini željenog ekvilibrijuma. PE (persistant of excitation-konstantnost pobude) uslovi su različiti za različite članove LMS porodice. Na primjer postoje ulazi za koje signed-error algoritam konvergira a signed-regressor varijanta divergira. Ideja totalne stabilnosti proširuje ove konvergencija/divergencija rezultate na realniji neidealni scenario, gdje su smetnje prisutne, to je

procjena novog

parametra

procjena starog

parametra

veličina

korakanova

informacija = +

Page 4: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

4

onda kada je željeno ulaz-izlaz mapiranje nemoguće tačno predstaviti kao linearan sistem parametrizovan sa W*. Treća analitička tehnika je pristup »stohastičkom aproksimacijom«, čiji je pionir L. Ljung, u kojoj se proračun greške novog parametra ispituje indirektno proučavanjem povezanih običnih diferencijalnih jednačina (ordinary differential equations-ODE). U pojedinim slučajevima, lokalna stabilnost ODE implicira slabu konvergenciju algoritma. Kroz analizu zahtijev je nestajanje veličine koraka (μ 0, kada vrijeme ∞), mada se ova ograničenja mogu i ukinuti. Povezanost kretanja greške procjene parametra sa forsiranim diferencijalnim jednačinama (forced differential equations) dozvoljava konvergenciju (stacionarnu) raspodjela da bude izražena na konkretan način. Posmatrajmo to na slijedeći način: opšte ponašanje LMS-a i njegovih varijanti je da procjena parametra konvergira regionu oko svoje konačne vrijednosti, i tada »igra« oko ove vrijednosti kao rezultat neizbježnih šumova i smetnji. Dobra strana stohastičkog pristupa je što se ovakvo »igrajuće« ponašanje često može opisati preko specifičnih raspodjela vjerovatnoće. Postoje i drugi načini shvatanja raznih članova LMS familije, ali su ova tri (do sada) najrašireniji i najmoćniji. Analitičke teorije su komplementarne, i svaka nudi jedinstven uvid u ponašanje i performanse algoritma. Dodatak: LMS algoritam je forma finog smanjivanja gradijenta koji pokušava da smanji funkciju koštanja (cost function) V(W(k)) na svakom koraku k pogodnim izborom parametarskog vektora W(k). Strategija je ponovno računanje parametra proporcionalno gradientu dV(W(k-1))/d(W(k-1)), to daje:

))1(())1(()1()(

−−

−−=kWdkWdVkWkW μ (1.3) , gdje je μ mala pozitivna veličina, a znak

minus osigurava da greška prorčuna parametara opada. Ako adaptivni filter ima linearnu strukturu, izlaz može biti izražen kao:

1)-1)W(k-(kXy(k) T= (1.4) Birajući funkciju koštanja da bude:

2)())1((

2 kekWV =− (1.5) ,

LMS algoritam je dat kao: 1)e(k)-X(k 1)-W(kW(k) μ+= (1.6) (koeficijent 2 koji množi μ je izostavljen jer se ta

konstanta može kompenzovati kroz izbor μ) Ukoliko postoji fiksni vektor W*, takav da je željeni signal y(k) generisan iz linearnog sistema sa parametrizacijom W*, onda imamo:

(k) *1)W-(k Xy(k) T ε+= (1.7) , gdje ε(k) predstavlja komponentu šuma koja se ne može modelovati. Sada (1.3) možemo zapisati kao:

=−+−−−= )()1()1()1()1( - 1)-(kW (k)W ~~~

kkXkWkXkX T εμμ

)()1()1())1()1((~

kkXkWkXkXI T εμμ −+−−−−= (1.8)

Page 5: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

5

gdje je W(k)=W*-W(k), zapravo greška u procjeni parametra. Ona se zove greška sistema (sistem error) i prije svega je korisna u analizama, pošto je greška parametra u suštini dobra za opisivanje ponašanja procjene parametra W(k) do prave parametrizacije W*.

Normalizovani LMS Želja da se napravi brza konvergencija od predloženih početnih vrijednosti ka željenim vrijednosti parametara zahtijeva veliku veličinu koraka. Ovo je suprostavljeno sa željom da imamo značajno uglačavanje signala šuma u balansiranom, stabilnom stanju, što zahtijeva malu veličinu koraka. Očito modifikovani algoritam koristi veliki korak na početku a onda ga smanjuje u mali korak u blizini predjela rješenja. Normalizovani LMS algoritam omogućava jedan način automatizacije ovog izbora različitih veličina koraka. U svakom trenutku, algoritam pomjera distancu μ(d(k)-y(k)) odnosno μe(k) u pravcu X(k-1) . »Optimalna« distanca bi bila za:

)1()1(1)1(

−−=−

kXkXk Tμ

Ukoliko posmatramo jednačinu (1.8) vidimo da je:

))1()1()1()1(()1()1(

−−−−

−=−−−kxkXkxkXIkXkXI T

TTμ

Za optimalno μ(k-1) tada se izraz (1.7) maksimalno kontrahuje (pri jediničnoj vrijednosti tačno je jednak nuli) u pravcu jediničnog vektora X(k-1). Zapravo, velčina koraka μ se češće uzima kao:

)1()1(1)1(

−−+=−

kXkXk T

μμμ

gdje se μ izabran dovoljno mali da obezbijedi lagano približavanje stabilnom stanju, a 1 je tu da bi izbjegli dijeljenje sa nulom u slučaju kada je X(k-1)X(k-1) = 0. To vodi da jednačina procjena novih parametara sistema dobija novi oblik:

)1()1(1)()1()1()(−−+

−+−=

kXkXkekXkWkW Tμ

μ (1.9)

Dakle, radije nego da uzimamo male korake kao u opštoj definiciji LMS-a, parametar procjene u prethodnoj jednačini je projektovan na podprostor komplementaran sa X(k-1). Kao posljedica toga, normalizovani LMS često je nazivan »projekcioni algoritam«.

T

Page 6: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

6

Šematski prikaz: Jednokanalni normalizovani LMS sa spoljnim ulazom signala greške a korakom (μ) i curenjem kao unutrašnjim parametrima:

Curenje (Leakage)

Postoji mogućnost osjetljivosti na neke parazitne smetnje i nagle greške jer je LMS algoritam u prirodi integrator. Uvođenjem malog parametra curenja (leakage parameter) λ є (0,1) 1)e(k)-X(k 1)-)W(k -(11)-W(k μλ += (1.10) možemo se zaštititi od numeričkih problema. Efekat λ najbolje se može uočiti transformacijom (1.10) u njegov sisitem greške (jednačina (1.8)) :

*W 1)-X(k 1)- W(k1)]-(k1)X-X(k-)I-[(I (k)W T~

λεμμλ ++= (1.11) Za bilo koji ograničeni vektor regresor i smetnju ε(k) , korak može biti izabran dovoljno mali da se izraz u zagradi eksponencijalno skuplja i da je sistem greške ograničenog ulaza i izlaza stabilan. Iako parametar curenja predstavlja eksponencijalnu sigurnu zonu iz koje procjena parametra ne može pobjeći, postoji cijena ovog višeg stepena stabilnosti. Ta cijena je to što će procjena biti pomjerena od svoje prave vrijednosti (što je za W(k)=W* ili za W(k)=0) čak i za odsustvo smetnji. Ovo pomjeranje će biti proporcionalno λ i nepoznatom W*. Alternativni način uvida u uticaj λ je pretpostavka da je za parametar W* poznato da se nalazi ispod neke vrijednosti W . Takvo apriori znanje može biti uvršteno u algoritam razmatranjem funkcije koštanja:

))1(())1((22

))()(())1(( 002

WkWWkWkdkykWV T −−−−+−

=−μλ

(1.12)

In

In In

-R

Z -R

Z -R

Z

∑ ∑ Out

N L M S

x(k)

y(k)

W0 WN-1 W1

e(k) de/dw

~

o

Page 7: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

7

Onda je gradijent )()1())1(( kg

kdWkWdV

=−−

:

0)1()1()()( WkWkXkekgμλ

μλ

−−+−−= (1.13)

a algoritam gradijenta, koji pokušava da minimizuje ovo koštanje:

W 1)e(k)-X(k 1)-)W(k -(11)- W(k 0λμλ ++= (1.14) Dakle algoritam sa parametrom curenja (1.10) predstavljen prethodno kao metod borbe sa potencijalnim numeričkim problemima identičan je sa modelom (1.14) u specijalnom slučaju kada izvorno znamo nominalnu vrijednost W .

Dead zone (zona prekida)

Male geške mogu biti odraz smetnji ili šumova, ili numeričkih problema. S druge strane, velike greške su prije izazvane slabom procjenom parametara. Član LMS porodice stvoren da se suprotstavi numeričkim problemima kod malih signala greške ne dopušta obnavljanje proračuna ispod nekog praga definisanog od strane korisnika. Nelinearnost dead zone-e se može predstaviti kao: g(x) = Ako ovo primijenimo na LMS algoritam imamo sljedeći oblik LMS-a:

))(()1( 1)-W(k W(k) kegkx −+= μ (1.16) Kao i kod leakage algoritma možemo posmatrati promjenu kao modifikaciju funkcije koštanja V(W(k-1)):

dkekdeke >− |)(|),()(22

1

1))-V(W(k = (1.17) Onda je dV / dW = X g(e(k)), i (1.16) je gradijent algoritam koji minimizuje funkciju koštanja V.

x-d , x>d>0 0 , -d<x<d x+d, x<-d<0

dkekdeke >− )(),()(22

1

dked <<− )(,0

dkekdeke −>− )(),()(22

1

o

(1.15)

Page 8: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

8

Signed-error LMS (LMS sa znakom greške)

Iako računski LMS nije komplikovan, uvijek postoje aplikacije za koje je čak i ograničen broj množenja previše. Razumno je predpostaviti da dok je ispravni pravac gradienta postignut, egzaktna vrijednost koraka je nevažna. Ovo predlaže upotrebu sgn(e(k)) umjesto e(k) u izrazu (1.6), i daje signed-error (SE) algoritam: ))(sgn()1( 1)-W(kW(k) kekX −+= μ (1.18) pri čemu je: sgn(x) = Ako je μ izabrano da bude stepen broja 2, onda izraz μX(k-1)sgn(e(k)) može biti direktno izračunat sa šiftovanjem bita, i nikakva množenja nisu potrebna, značajno smanjujući računsku opterećenost kod adaptacije. Što je žrtvovano u smislu performanse sa ovim pojednostavljenjem? Na jednoj strani, očito je da će SE algoritam (1.18) imati tendenciju sporije konvergencije nego LMS algoritam (makar u početnoj fazi kada je procjena loša), zato što će promjene parametara biti sporije za mali dati korak μ. Na drugoj strani, za male greške, SE algoritam će imati tendenciju da brže reaguje. Najjednostavniji način upoređivanja ova dva algoritma je da upredimo njihove funkcije koštanja. Ukoliko je:

)())1(( kekWV =− (1.20) Onda imamo:

))(sgn()( kekXdWdV

−= (1.21)

Prema tome, SE može biti posmatran kao algoritam koji pokušava da minimizuje najmanju apsolutnu vrijednost greške. Prema tome za SE se ni u kom slučaju ne može tvrditi da je SE degradirana verzija LMS-a. Prije, on je validna minimizaciona šema za sopstvenu funkciju koštanja.

Signed-regressor LMS (LMS sa znakom regresora)

Alternativni način smanjenja numeričke kompleksnosti je primjena signum funkcije element po element na vektor regresor, što vodi ka signed-regresor (SR) varijanti LMS-a: 1))e(k)-sgn(X(k 1)-W(kW(k) μ+= (1.22)

1 ,x>0 0 ,x=0 -1 ,x<0

(1.19)

Page 9: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

9

Kao i kod SE algoritma, ako je μ izabrano kao stepen broja 2, izraz za ponovnu procjenu može biti računat sa zamjenom multiplikacija sa šiftovanjem bita. Štaviše, SR algoritam ima sposobnost da reaguje brže na velike greške, za razliku od SE algoritma. SR algoritam je razvijen od strane Moschner-a i već je implementiran u dosta aplikacija. Classen i Mecklenbrauker napominju da pravac ponovnog računa (update-a) može biti značajno drugačiji od pravog pravca gradijenta (na primjer vektor (100,0.01,-0.01) vodi u radikalno drukčijem smjeru od njegove sign verzije (1,1,-1)), što daje hipotezu da ovo može prouzrokovati da algoritam povećava, prije nego što smanjuje gradijent. Ali, na primjer, za Gausovski ulaz se ponovna procjena, u prosjeku, ponaša kao razumna aproksimacija u opadajućem pravcu. Za neke klase ulaza ovakav način procjene može dovesti do divergencije procjene ka beskonačnosti, barem teoretski. Iako su ovakvi ulazi rijetki u tipičnim aplikacijama, postoje situacije kada ovaj nedostatak može da prouzrokuje katastrofalno podbacivanje LMS algoritma. Posljedica toga je da je potrebno više informacija o okolini u kojoj algoritam radi prije primjene SR algoritma nego u upotrebi nekih drugih varijanti. Ove primjeri divergencije objašnjavaju zašto nijedna interpretacija minimizacije gradijenta nije moguća za SR algoritam – ne postoji nijedna funkcija V(W) koja dozvoljava da beskonačno W bude njeno minimalno rješenje.

Sign-sign LMS

Još jedan način reduciranja numeričke kompleksnosti LMS-a je primjena signum funkcije na oboje i regresor i grešku:

))1))sgn(e(k-sgn(X(k 1)-W(k W(k) μ+= (1.23) što se često naziva sign-sign (SS) varijanta LMS-a. Ponovo, nisu potrebna nikakva množenja, a čak i n sabiranja može biti pojednostavljeno pažljivim izborom μ. Ovo je najstarija varijanta LMS-a prvo korišćena od strane Lucky-a 1966. godine. Adaptivna modulacija diferencijalnog pulsnog koda (ADPCM) standard koristi signum funkciju za oboje, regresor i grešku signala. Iako je prva nastala, ova verzija LMS-a je najmanje razotkrivena, vjerovatno zahvaljujući većoj kompleksnosti usled uparene nelinearnosti (signala greške i regresora). Međutim postoje veliki napori da se precizno definiše klasa ulaznih signala koji prouzrokuju loše ponašanje ovog algoritma.

Quantized state LMS (LMS kvantizovanog stanja)

Varijante LMS-a sa znakom uspjele su da smanje iako već male numeričke zahtjeve LMS-a u zamjenu za sporiji stepen konvergencije. Postoji li način postizanja numeričke jednostavnosti bez ove žrtve? Jedan od jednostavnijih predloga u pravcu SS algoritma je korišćenje dva koraka: veliki korak μL

na početku kada je greška velika, i mali korak μs kada smo u konvergacionoj fazi da pomognemo značajnu finoću u tom dijelu. Ako su μL i μs oboje stepen broja dva nema značajnijeg usložnjavanja računa u odnosu na signed varijante. Jedna razumna generalizacija ove ideje je:

))(())1(()1()( 21 keQkXQkWkW −+−= μ (1.24)

Page 10: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

10

gdje su Q1 i Q2 kvantizacione funkcije primijenjene na regresor i signal greške redom. Ova generalizacija transformiše izbor na μL i μs na (vrijednosti greške na kojima se prekida rečunanje) na izbor odgovarajućih kvantizacionih funkcija. Ovo ne doprinosi dodatnoj kompleksnosti anlize algoritma (u odnosu na SS) osim što moramo odrediti način na koji se pristupa nalaženju optimalnog Q.

Adaptivni rekurzivni sistemi

Kod ovih sistema, predviđanje se ne dobija samo na osnovu ulaza, već i na osnovu prethodnih vrijednosti izlaza:

)()()()()(10

rnynbrnxnanyL

rr

L

rr −+−= ∑∑

==

Taj sistem izgleda ovako :

Formalno, ovo se može predstaviti matričnom jednačinom :

)()()()()( nynBnxnAny TT += ,

gdje su :

[ ]TL nanananA )(),...,(),()( 10=

e(n)

d(n)

y(n)

T T

T

T

x(n)

1a (n) La (n)

b 1 (n)

b 2 (n)

b L (n) T

0a (n)

Page 11: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

11

[ ]TLnxnxnxnx )(),...,1(),()( −−=

[ ]TL nbnbnB )(),...,()( 1=

[ ]TLnynyny )(),...,1()( −−= ,

ili skraćeno : )()()( nUnWny T= , gdje su :

)()()(

nBnAnW =

)()(

)(nynx

nU =

Adaptaciju vršimo po algoritmu : )()()1( nnWnW εμ∇−=+

))(,...,)(,)(,...,)(,)()((2)()(110 LL b

nybny

any

any

anyne

Wnn

∂∂

−∂∂

−∂∂

−∂∂

−∂∂

−=∂∂

=∇εε

gdje su:

)()()( nyndne −=

)()()()(1

nrnblnxany

l

L

rlr

l

αα =−+−=∂∂ ∑

=

)()()()(1

nrnblnybny

l

L

rlr

l

ββ =−+−=∂∂ ∑

=

Pokazuje se da se µ ne može uzeti isto za sve koeficijente, pa se uvodi matrica

M~ =

μμ

...00...

0...00...0

2

1

pa je : )(~)()1( nMnWnW ε∇−=+

Page 12: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

12

Primjer i međusobno poređenje članova LMS porodice

Rad pojedinih članova LMS porodice prikazan je na jednom primjeru: Ulaz je dat kao: x=randn(1,100) Izlaz iz sistema dat je formulom: d(n)=x(n)-0.7x(n-1)+0.5x(n-2), n=1:N, N=100 Imamo da je x(n)=0, n= -1,-2,-3,...; Inicijalizovane (početne) vrijednosti parametara linearnog sistema su: Wo= { 0, 0, 0, 0 } Vektor regresor X(n-1) je u ovom slučaju predstavljen kao: X(n) = { x(n), x(n-1), x(n-2), x(n-3) } Buduću vrijednosti parametara filtra u n-tom trenutku računamo prema formuli:

)1()))1((()1()1()(

−−

−+−=ndWnWVdnxnWnW μ , gdje V(W(n-1)) predstavlja naš minimizicioni

kriterijum, različit kod nekih članova LMS porodice (na primjer V(W(k-1))=e^2 kod LMS algoritma, a V(W(k-1))=|e| kod signed-error LMS-a) Greška na izlazu iz sistema u n-1-om trenutku data je kao razlika između očekivane vrijednosti d(n-1) i izračunate vrijednosti y(n-1) za prethodno izračunate parametre W(n-1).

1)-y(n-1)-d(ne = , pri čemu je )1()1()1( −−=− nxnWny T Očekivani rezultat je da poslije određenog broja proračuna parametara linearnog filtra algoritam nađe vrijednosti parametara koje odgovaraju onim zadatim za d(n). Odnosno da je: Wn= { 1, -0.5, 0.7, 0 } Sve probleme ćemo rješavati u MATLAB-u. LMS h=[1 -0.7 0.5]; x=randn(1,100); %Ulaz u sistem N=100; Wr=[]; Wn=[]; mi=0.1; Wo=[0 0 0 0]; %Wo je početna procjena vrijednosti parametara filtra

Page 13: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

13

for n=4:N d=h(1)*x(n)+h(2)*x(n-1)+h(3)*x(n-2); %Računamo n-ti izlaz iz sistema y=Wo*[x(n),x(n-1),x(n-2),x(n-3)]'; %Računamo n-to y za parametre Wo e=d-y; %Računamo grešku na izlazu iz sistema Wn=Wo+2*mi*e*[x(n),x(n-1),x(n-2),x(n-3)]; %Računamo nove parametre sistema Wn if 0.9999<Wn(1,1) & Wn(1,1)<1.0001 %Provjeravamo kada je greška procjene prvog parametra manja od 0.01% m=[m n]; end % i u vektor m smještamo trenutke u kojima smo imali takvu situaciju Wo=Wn; Wr=[Wr Wo]; end m=sort(m); figure,plot(Wr'); Sada možemo predstaviti dijagram vrijednosti parametara filtra koje je adaptivni sistem našao u n-tim trenutcima: Najčešće će m(1), odnosno prvi trenutak kada je greška procjene prvog parametra manja od 0.01% biti za n između 50 i 70. Bolju procjenu rada možemo dobiti prikazivanjem čitavog vektora m=( 58 71 79 80 81 82 83 84 85 86 89 92 ... 100). Vidimo da se stabilnost postiže tek za n=m=79. Možemo vidjeti i koji je broj računskih operacija potreban za izvršenje ovog algoritma (s tim da ćemo posmatrati samo proračun novih parametara, ostali proračuni su isti za različite članove LMS porodice): Wn=Wo+2*mi*e*[x(n),x(n-1),x(n-2),x(n-3)] Dakle za svako n imamo 4 množenja i 4 sabiranja. Za 100 računanja Wn (n=1:100) imamo 400 množenja i 400 sabiranja. Ipak relevantniji podatak će nam biti broj računskih operacija izvršenih do trenutka stabilizacije adaptivnog procesa, odnosno do trenutka n=79. Tada je broj sabiranja koje je potrebno izvršiti 79x4 a broj množenja je isti.

Sl.1: Dijagram vrijednosti parametara filtra koje je adaptivni sistem našao u n-tim trenutcima: apscisa 4n, ordinata Wr

Sl.2: Dijagram vrijednosti 1. parametra filtra koje je adaptivni sistem našao u n-tim trenutcima: apscisa n, ordinata Wr(1:4:length(Wr))

Page 14: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

14

B+lms=316, Bxlms=316 Ovaj broj računskih operacija potrebnih za izvršenje ovog algoritma nadalje ćemo upoređivati sa brojem računskih operacija potrebnih za izvršenje drugih algoritama članova LMS porodice. NLMS h=[1 -0.7 0.5]; x=randn(1,100); N=100; Wr=[]; Wn=[]; mi1=0.1; Wo=[0 0 0 0]; for n=4:N d=h(1)*x(n)+h(2)*x(n-1)+h(3)*x(n-2)+e1(n); y=Wo*[x(n),x(n-1),x(n-2),x(n-3)]'; e=d-y; k=1+mi1*[x(n),x(n-1),x(n-2),x(n-3)]*[x(n),x(n-1),x(n-2),x(n-3)]'; Wn=Wo+(2*mi*e*[x(n),x(n-1),x(n-2),x(n-3)])/k; % Zapravo jedina razlika u odnosu na LMS algoritam je u formuli za % računanje Wn (automatizoval smo izbor koraka mi) if 0.9999<Wn(1,1) & Wn(1,1)<1.0001 m=[m n]; end Wo=Wn; Wr=[Wr Wo]; end m=sort(m); figure,plot(Wr'); Sada možemo predstaviti dijagram vrijednosti parametara filtra koje je adaptivni sistem našao u n-tim trenutcima:

Sl.3: Dijagram vrijednosti parametara filtra koje je adaptivni sistem preko NLMS algoritma našao u n-tim trenutcima:apscisa 4n, ordinata Wr

Sl.4: Dijagram vrijednosti 1. parametra filtra koje je adaptivni sistem preko NLMS algoritma našao u n-tim trenutcima: apscisa n, ordinata Wr(1:4:length(Wr))

Page 15: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

15

Najčešće će m(1), odnosno prvi trenutak kada je greška procjene prvog parametra manja od 0.01% biti za n=m(1) između 40 i 55. U ranijem izlaganju je naglašeno da je izbor koraka automatizovan na taj način da u početku kada je procjena parametara loša uzimamo veći korak pa ga smanjujemo kako se približavamo predjelu rješenja. Dakle rezultati odgovaraju očekivanjima da će NLMS brže naći parametre linearnog sistema. Posmatrajmo vektor m (dobijeno na osnovu identičnog ulaza kao kod LMS-a), m=( 49 50 51 52 53 54 55 56 57 58 59 60 ... 100). Vidimo da se sistem mnogo brže stabilizovao (za n=49). Pogledajmo sada i broj računskih operacija potrebnih za izvršenje ovog algoritma. k=1+mi1*[x(n),x(n-1),x(n-2),x(n-3)]*[x(n),x(n-1),x(n-2),x(n-3)]'; Wn=Wo+(2*mi*e*[x(n),x(n-1),x(n-2),x(n-3)])/k; U prvom izarazu za svaki trenutak n potrebno je izvršiti 4 množenja i 4 sabiranja. U drugom izrazu imamo 5 množenja i 4 sabiranja. Odnosno za svako n imamo 9 množenja i 8 sabiranja. S obzirom da smo se nakon n=m(1)=49 našli u predjelu rješenja imamo da je ukupni broj množenja jednak 49x9 a sabiranja 49x8. B+nlms=441, Bxnlms=432 Vidimo da smo na račun bržeg pronalaska (manjeg m(1)) pravih parametara povećali broj operacija koje se za to vrijeme izvrši u odnosu na onaj kod LMS algoritma. Možemo još prikazati kako se mijenja veličina koraka kod NLMS algoritma mi1/k za n=1,2,3,...,99,100. Sl. 5: Možemo primijetiti da ne dolazi do konstantnog smanjivanja koraka, ipak vidljivo je da njegova prosječna vrijednost opada sa porastom n. Signed-error LMS (SE algoritam) h=[1 -0.7 0.5]; x=randn(1,100); N=100; Wr=[]; Wn=[]; mi=0.1;

Sl.5: Dijagram vrijednosti veličine koraka kod NLMS algoritma u toku n=1,2,3,...,99,100.

Page 16: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

16

Wo=[0 0 0 0]; m=[]; for n=4:N d=h(1)*x(n)+h(2)*x(n-1)+h(3)*x(n-2); y=Wo*[x(n),x(n-1),x(n-2),x(n-3)]'; e=sign(d-y); Wn=Wo+2*mi*e*[x(n),x(n-1),x(n-2),x(n-3)]; if Wn(1,1)>0.9999 & Wn(1,1)<1.0001 m=[m n]; end Wo=Wn; Wr=[Wr Wo]; end figure,plot(Wr'); Uzeli smo istu veličinu koraka kao i kod LMS i NLMS algoritama. Imamo sljedeće rezultate za vrijednosti parametara filtra koje je adaptivni sistem našao u n-tim trenutcima:

Sa slike (Sl.7) se jasno vidi da imamo slabu konvergenciju ka traženim vrijednostima parametara filtra. Zapravo najčešće će vektor m=[ ]. To ukazuje da se ni u jednom trenutku nismo našli u predjelu W*(1,1) 0.01%. Za ispravan rad SE algoritma, kao što je i ranije naznačeno, potrebno je uzeti manji korak da bi imali bolju konvergenciju ka željenim vrijednostima parmetara filtra W*. Uzmimo da je mi=0.01. U tom slučaju imamo sljedeće rezultate, Sl.8 i Sl.9:

Sl.6: Dijagram vrijednosti parametara filtra koje je adaptivni sistem preko SE algoritma našao u n-tim trenutcima: apscisa 4n, ordinata Wr

Sl.7: Dijagram vrijednosti 1. parametra filtra koje je adaptivni sistem našao u n-tim trenutcima: apscisa n, ordinata Wr(1:4:length(Wr))

+-

Sl.8: Dijagram vrijednosti parametara filtra koje je adaptivni sistem preko SE algoritma našao u n-tim trenutcima, za mi=0.01 : apscisa 4n, ordinata Wr

Sl.9: Dijagram vrijednosti 1. parametra filtra koje je adaptivni sistem našao u n-tim trenutcima, za mi=0.01 : apscisa n, ordinata Wr(1:4:length(Wr))

Page 17: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

17

Dakle imamo bolju konvergenciju za mi=0.01. U ovom slučaju m=[97], što znači da smo se u predjelu rješenja (W* 0.01%) našli samo za n=97. U poglavlju Signed-error LMS naznačili smo da SE varijanta ima tendenciju da brže otklanja male greške. To možemo testirati tako što ćemo modifikovati SE i LMS algoritam tako da početna procjena parametara bude Wo=[0.9,-0.6,0.4,0]. Tražićemo trenutke n kada je procjena prvog parametara Wn(1,1)=W* ± 0.5=1 ± 0.5, i smještati ih u vektor m. Pogledajmo rezultate za procjenu prvog parametra:

U ovom slučaje za SE algoritam imamo da je m(1)=4 a za LMS algoritam m(1)=8. Imamo pojednostavljenje algoritma (SE) koji brže reaguje na male greške na štetu stabilnosti i preciznosti rješenja. Za kraj testiranja SE algoritma da ponovimo da SE može biti posmatran kao algoritam koji pokušava da minimizuje najmanju apsolutnu vrijednost greške. Prema tome za SE se ni u kom slučaju ne može tvrditi da je SE degradirana verzija LMS-a. Prije, on je validna minimizaciona šema za sopstvenu funkciju koštanja. Što se tiče operacija potrebnih za izvršenje SE algoritma, njihov broj nije smanjen ali su one pojednostavljene, tako da je u praksi njegova realizacija lakša i jeftinija. Signed-regressor LMS (SR algoritam) h=[1 -0.7 0.5]; x=randn(1,100); N=100; Wn=[]; mi=0.1; Wo=[0 0 0 0]; Wr=Wo; m=[]; for n=4:N d=h(1)*x(n)+h(2)*x(n-1)+h(3)*x(n-2);

- +

Sl.10: SE algoritam Sl.11: LMS algoritam

Page 18: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

18

y=Wo*[x(n),x(n-1),x(n-2),x(n-3)]'; e=d-y; x1=sign([x(n),x(n-1),x(n-2),x(n-3)]); Wn=Wo+2*mi*e*x1; if Wn(1,1)>0.9999 & Wn(1,1)<1.0001 m=[m n]; end Wo=Wn; Wr=[Wr Wo]; end figure,plot(Wr'); Prikažimo i rezultate izvršenja ovog programa:

Najčešće dobijamo da je n=m(1)=25. To odgovara našim očekivanjima da SR algoritam reaguje znatno brže na velike greške (Wo=[0,0,0,0], W*=[1,-0.7,0.5,0]). Pogledajmo što se dešava ukoliko povećamo varijansu i trajanje ulaznog signala. Neka je x=5*randn(1,1000). Da sistem ne bi divergirao moramo smanjiti veličinu koraka mi=0.005 kod oba algoritma LMS i SR. Za isti ulaz imamo različite rezultate: Prvih 10 članova vektora m kod LMS algoritma je: m(1:10)=[ 58 62 63 64 65 66 67 68 69 70] pa bi se moglo zaključiti da se procjena prvog parametra kod LMS algoritma

Sl.12: Dijagram vrijednosti parametara filtra koje je adaptivni sistem preko SR algoritma našao u n-tim trenutcima: apscisa 4n, ordinata Wr

Sl.13: Dijagram vrijednosti 1. parametra filtra koje je adaptivni sistem našao u n-tim trenutcima: apscisa n, ordinata Wr(1:4:length(Wr))

SL.14 Reakcija LMS algoritma za x=5*randn(1,1000). SL.15 Reakcija SR algoritma za x=5*randn(1,1000).

Page 19: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

19

stabilizuje za n=62. Kod SR algoritma imamo jako sporu konvergenciju i vektor m=[ ]. Dakle kod signala ulaza koji ima veliku varijansu (ili velike varijacije u vrijednosti) uzimanje samo znaka regresora vodi nas ka znatno sporijem nalaženju parametara. Što se tiče broja računskih operacija kod SR algoritma, on je znatno redukovan u odnosu na LMS, što bržim izvršenjem algoritma za velike greške, što pojednostavljenjem računskih operacija (primjena signum funkcije na regresor). LMS sa aritmetičkim usrednjavanjem h=[1 -0.7 0.5]; x=randn(1,100); %Ulaz u sistem N=100; Wr=[]; Wn=[]; mi=0.1; Wo=[0 0 0 0]; %Wo je poèetna vrijednost parametara filtra m=[];t=1; for n=4:N d=h(1)*x(n)+h(2)*x(n-1)+h(3)*x(n-2); %Raèunamo n-ti izlaz iz sistema y=Wo*[x(n),x(n-1),x(n-2),x(n-3)]'; %Raèunamo n-to y za parametre Wo e(t)=d-y; A(:,:,t)=e(t)*[x(n),x(n-1),x(n-2),x(n-3)]; if t>2 A=(A(:,:,t-2)+A(:,:,t-1)+A(:,:,t))/3; %A je aritmetièka sredina else A=A(:,:,t); end Wn=Wo+2*mi*A; %Raèunamo nove parametre sistema t=t+1; if 0.99<Wn(1,1) & Wn(1,1)<1.01 %Provjeravamo kada je greska procjene novog parametra manja od 0.01% m=[m n]; end % i u vektor m smjestamo trenutke u kojima smo imali takvu situaciju Wo=Wn; Wr=[Wr Wo]; end m=sort(m); figure, plot(Wr'); figure, plot(Wr(1,1:4:length(Wr))); Razlika kod LMS-a sa aritmetičkim usrednjavanjem u odnosu na LMS algoritam je u tome što aproksimaciju gradijenta e(k)X(k) kod algoritma sa aritmetičkim usrednjavanjem mijenjamo sa aritmetičkom sredinom sadašnjeg i prošlih gradijenata:

)(/1)()(1

0

rkefkXkef

r

−= ∑−

=

Za isto mi=0.1 varijanta LMS-a sa aritmetičkim usrednjavanjem pokazivaće sporiju konvergenciju. Uporedimo ova dva algoritma na istom ulaznom signalu. Pogledajmo reakciju LMS-a i LMS-a sa aritmetičkim usrednjavanjem:

Page 20: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

20

Vidimo da smo primjenom aritmetičkog usrednjavanja izbjegli nagle promjene parametara filtra, pa imamo praktično linearno približavanje željenim vrijednostima parametara. Pogledajmo kako će ova dva algoritma reagovati na povećanje veličine koraka. Uzmimo da je mi=0.3. Vidimo da u ovom slučaju LMS algoritam divergira, dok LMS sa aritmetičkim usrednjavanjem uspijeva da ostvari cilj, odnosno da pronađe željene parametre linearnog sistema. Probajmo sada sa mi=0.9. Pogledajmo rezultate:

SL.16 Reakcija LMS-a sa aritmetičkim usrednjavanjem

SL.17 Reakcija LMS-a

SL.18 Reakcija LMS-a sa aritmetičkim usrednjavanjem za mi=0.3

SL.19 Reakcija LMS-a za mi=0.3

SL.20 Reakcija LMS-a sa aritmetičkim usrednjavanjem za mi=0.9

SL.21 Reakcija LMS-a za mi=0.3

Page 21: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

21

Pogledajmo i rezultate za procjenu prvog parametra kod LMS-a sa aritmetičkim usrednjavanjem: Dok LMS kod velikog koraka pokazuje divergenciju ka velikim vrijednostima, LMS sa aritmetičkim usrednjavanjem u ovakvim uslovima mnogo bolje reaguje i najčešće uspijeva da vrati parametre sistema na nulu. Ovakvo ponašanje je posljedica toga da kad greška na izlazu poraste, u tom smjeru rastu i novi parametri sistema. Kada je korak prevelik nećemo se naći u »sigurnoj zoni«, ali nagli porast parametara mijenja znak greške, tako da aritmetičkim usrednjavanjem nalazimo aritmetičku sredinu velikih pozitivnih i negativnih vrijednosti, pa na taj način spriječavamo da parametri sistema porastu na ogromne vrijednosti. Primjena LMS-a na rekurzivne sisteme h=[1 -0.7 0.5 -0.3]; x=randn(1,300); N=300; Wn=[]; mi=0.01; Wo=[0 0 0 0 0 0]; Wr=Wo; m=[]; for k=1:2 d(k)=0; y(k)=0; end for n=4:N d(n)=h(1)*x(n)+h(2)*x(n-1)+h(3)*x(n-2)+h(4)*d(n-1); y(n)=Wo*[x(n),x(n-1),x(n-2),x(n-3),y(n-1),y(n-2)]'; e=d(n)-y(n); Wn=Wo+2*mi*e*[x(n),x(n-1),x(n-2),x(n-3),y(n-1),y(n-2)]; Wo=Wn; Wr=[Wr Wo]; end figure,plot(Wr'); Izlazni signal u rekurzivnim sistemima ne zavisi samo od ulaza, već i od prethodnih izlaza. U našem primjeru izlaz iz linearnog sistema je d(n)=x(n)-0.7x(n-1)+0.5x(n-2)-0.3d(n-1). Dakle izlaz u n-tom trenutku zavisi i od izlaza u n-1-om trenutku. Pokazuje se da pri modifikaciji LMS za rekurzivne sisteme nema suštinske promjene, odnosno novi parametri se mogu računati po

SL.22 Reakcija LMS-a sa aritmetičkim usrednjavanjem za mi=0.9, kod procjene prvog parametra

Page 22: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

22

sličnoj formuli: Wn=Wo-2*mi*[x(n),x(n-1),...,x(n-r),y(n-1),y(n-2),...,y(n-k)], tako da se kod rekurzivnih linearnih sistema mogu primijeniti i ranije naznačene adaptacije LMS-a (NLMS, SE, SR itd.) s tim da treba izvršiti potrebne izmjene na regresoru. U odnosu na prethodne primjere povećali smo trajanje ulaznog signala (N=300), kako bi sistemu dali više vremena da se stabilizuje oko tražene vrijednosti parametara. Da bi obezbijedili konvergenciju procijenjenih vrijednosti parametara ka željenim vrijednostima, morali smo smanjiti veličinu koraka mi=0.01. Očekujemo da parametri koji se traže, Wn, konvergiraju ka (1, -0.7, 0.5, 0, -0.3, 0) sa porastom n. Sada možemo vidjeti i rezultate izvršenja LMS-a za ovaj rekurzivni sistem (posmatraćemo kako je tekla procjena parametara za n=1:300):

Da bi bolje uočili promjene možemo posmatrati kako je tekla procjena pojedinih parametara:

Sl.23: Dijagram vrijednosti parametara rekurzivnog sistema koje je adaptivni sistem preko LMS algoritma našao u n-tim trenutcima, za mi=0.01 : apscisa 6n, ordinata Wr

Sl.24 Procjena 1. parametra Sl.25 Procjena 2. parametra Sl.26 Procjena 3. parametra

Sl.27 Procjena 4. parametra Sl.28 Procjena 5. parametra Sl.29 Procjena 6. parametra

Page 23: Seminarski rad - dos.ac.me filegdje je nova informacija funkcija prošlih i sadašnjeg ulaza (često predstavaljena kao vektor koji predstavlja njihovu međusobnu povezanost, koji

23

Vidimo da imamo dobre rezultate za mi=0.01, ipak se mogu primijetiti male razlike u konvergenciji pojedinih parametara. Stoga se rad LMS-a primijenjenog na rekurzivni sistem može poboljšati uzimanjem različitog mi za pojedine članove regresora, pa je tada: Wn=Wo+2*e*[mi11*x(n),mi12*x(n-1),...,mi1r*x(n-r+1),mi21*y(n-1),mi22*y(n-2),...,mi2k*y(n-k)]. Literatura: »Adaptive system identification and signal processing algorithms«, od N.Kalouptsidis-a i S.Theodoridis-a Za izradu seminarskog korišćeni su i materijali sa sajta: www.adaptlib.com