controlul inteligent

99
Capitolul 4. Sisteme adaptive

Upload: doinafilip

Post on 16-Apr-2017

277 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Controlul inteligent

Capitolul 4. Sisteme adaptive

Page 2: Controlul inteligent

CuprinsCuprinsNoţiuni introductiveTeoria filtrării optimaleTeoria filtrării optimaleFiltre adaptive bazate pe minimizarea erorii medii pătraticepFiltre adaptive bazate pe optimizarea în sensul celor mai mici pătrateExemple de aplicaţii

2

Page 3: Controlul inteligent

Noţiuni introductiveNoţiuni introductiveFiltru adaptiv = filtru capabil să-și modifice parametrii pe baza unui algoritm recursiv, în scopul optimizării unor caracteristici ale sale.

d(n)

Filtru digital

x(n) y(n) e(n)+−

Algoritm adaptivadaptiv

( ) ( ) ( )e n d n y n= − Funcţie cost J(e(n)) ↓ minimizată( ) ( ) ( )y Funcţie cost J(e(n)) ↓ minimizată

3

Page 4: Controlul inteligent

• Exemple de funcţii cost:

{ }2( )- eroarea medie pătratică: { }2( )E e n

- suma ponderată a pătratelor erorilor:2( )

nn k e kλ −∑

1k=∑

• Criterii de performanţă:- viteza de convergenţă: numărul de iteraţii necesare pentru a se

j l l ţi fi i t d i tă d ti ăajunge la o soluţie suficient de apropiată de cea optimă; - dezadaptarea: exprimă măsura în care valoarea finală a erorii

medii pătratice diferă faţă de cea dată de filtrul optim;

- capacitatea de urmărire a variaţiilor statistice ale semnalelor,în condiţiile în care acestea nu sunt staţionare;

- complexitatea aritmetică: numărul de operaţii aritmeticeefectuate în fiecare iteraţie şi capacitatea de memorie necesară;efecte ale calcului numeric: erori de cuantizare stabilitate numerică- efecte ale calcului numeric: erori de cuantizare, stabilitate numerică,precizie numerică în reprezentarea coeficienţilor.

4

Page 5: Controlul inteligent

Identificarea sistemelor

Filtruadaptiv

y(n)−

Sistemx(n)

y(n)

d(n)

e(n)

+Sistem

necunoscutx(n)

Exemplu de aplicaţie: modelarea canalului radio.

5

Page 6: Controlul inteligent

Modelarea inversă

Filtru adaptiv

Sistem necunoscut

x(n)

y(n)e(n)

Întârziere

d(n)+

Exemplu de aplicaţie: egalizarea adaptivă a canalelor de comunicaţii.6

Page 7: Controlul inteligent

Predicţia

Filtru adaptiv

x(n)Întârziere

Ieşirea 2

y(n)e(n)

−Ieşirea 1

d(n)+

Exemplu de aplicaţie: codarea predictivă a semnalelor vocale.

7

Page 8: Controlul inteligent

Suprimarea interferenţelor

( ) Filtruadaptiv

x(n)

( )

Semnalul secundar(zgomot)

y(n)

d(n)

e(n)

+

d(n)+Semnalul

primar(util + zgomot)

Exemplu de aplicaţie: reducerea zgomotului de fond.

8

Page 9: Controlul inteligent

Reducerea zgomotului de fond

Sursa de zgomot

voce

g

zgomot 1 zgomot 2

microfon 1 microfon 2

Filtru adaptiv

z2(n)

p

v(n) + z1(n)

≈ z1(n)+

vr(n) ≈ v(n)

9

Page 10: Controlul inteligent

1

0 0.5 1 1.5 2 2.5 3 3.5 4-1

0a1

0 0 5 1 1 5 2 2 5 3 3 5 4-1

0b

0 0.5 1 1.5 2 2.5 3 3.5 4

1

0

1

c

0 0.5 1 1.5 2 2.5 3 3.5 4-1

0

1

d

0 0.5 1 1.5 2 2.5 3 3.5 4-1

secunde

(a) semnalul original; (b) semnalul “corupt” (AWGN - SNR = 10dB);(c) semnalul refăcut - NLMS; (d) semnalul refăcut - RLS.

10

Page 11: Controlul inteligent

1

0 0.5 1 1.5 2 2.5 3 3.5 4-1

0a1

0 0.5 1 1.5 2 2.5 3 3.5 4-1

0b

0 0.5 1 1.5 2 2.5 3 3.5 4

1

0

1

c

0 0.5 1 1.5 2 2.5 3 3.5 4-1

0

1

d

0 0.5 1 1.5 2 2.5 3 3.5 4-1

secunde

(a) semnalul original; (b) semnalul “corupt” (highway noise);(c) semnalul refăcut - NLMS; (d) semnalul refăcut - RLS.

11

Page 12: Controlul inteligent

1

0 0.5 1 1.5 2 2.5 3 3.5 4-1

0a1

0 0 5 1 1 5 2 2 5 3 3 5 4-1

0

1b

0 0.5 1 1.5 2 2.5 3 3.5 4

1

0

1

c

0 0.5 1 1.5 2 2.5 3 3.5 4-1

0

1

d

0 0.5 1 1.5 2 2.5 3 3.5 4-1

secunde

(a) semnalul original; (b) semnalul “corupt” (car engine noise);(c) semnalul refăcut - NLMS; (d) semnalul refăcut - RLS.

12

Page 13: Controlul inteligent

Compensarea ecoului acustic

x(n)x(n)

hCale de ecou acusticĥ(n)

Filtru adaptiv

ZgomotEcou

acustic-Zgomot

ambiental

e(n)d(n)

microfon v(n)

13

Page 14: Controlul inteligent

(a)

0

0.005

0.01

0 100 200 300 400 500 600 700 800 900 1000-0.01

-0.005

0

30

-20(b)

esantioane

-50

-40

-30

dB

0 0.5 1 1.5 2 2.5 3 3.5 4-60

frecventa [kHz]

Cale de ecou acustic: (a) răspunsul la impuls; (b) răspunsul în frecvenţă.

14

Page 15: Controlul inteligent

0.1(a)

0.05

0 100 200 300 400 500 600 700 800 900 1000-0.05

0

esantioane

0

(b)

40

-20dB

0 0.5 1 1.5 2 2.5 3 3.5 4

-40

frecventa [kHz]

Cale de ecou acustic: (a) răspunsul la impuls; (b) răspunsul în frecvenţă.

15

Page 16: Controlul inteligent

(a)

0

0.05

0.1

0 500 1000 1500 2000 2500 3000-0.1

-0.05

0

0 500 1000 1500 2000 2500 3000esantioane

10(b)

-20

-10

0

dB

0 0.5 1 1.5 2 2.5 3 3.5 4-30

20

frecventa [kHz]

Cale de ecou acustic: (a) răspunsul la impuls; (b) răspunsul în frecvenţă.

16

Page 17: Controlul inteligent

CuprinsCuprinsNoţiuni introductiveTeoria filtrării optimaleTeoria filtrării optimaleFiltre adaptive bazate pe minimizarea erorii medii pătraticepFiltre adaptive bazate pe optimizarea în sensul celor mai mici pătrateExemple de aplicaţii

17

Page 18: Controlul inteligent

Formularea problemei. NotaţiiFormularea problemei. Notaţiid(n)

Filtru digital

x(n) y(n) e(n)+−digital

Datele:Datele:

{ x(0), x(1), x(2), … } semnalul de intrare

{ d(0), d(1), d(2), … } semnalul “dorit”

Procese aleatoare staţionare în sens larg,Procese aleatoare staţionare în sens larg,cu valori medii nule.

18

Page 19: Controlul inteligent

Formularea problemei (2)d(n)

wk*

(k 0 N 1)

x(n) y(n) e(n)+−(k = 0,...,N-1)

Notaţii:

N = lungimea filtrului (nr de coeficienţi)N lungimea filtrului (nr. de coeficienţi)

x(n) = [x(n), x(n – 1), …, x(n – N + 1)]T vectorul semnaluluide intrarede intrare

w = [w0, w1, …, wN – 1]T vectorul coeficienţilor filtrului

sistem invariant în timp ( ! NU adaptiv )

19

Page 20: Controlul inteligent

Formularea problemei (3)d(n)

wk*

(k = 0 N-1)

x(n) y(n) e(n)+−

Relaţii:

semnalul de ieşire

(k 0,...,N 1)

( ) ( )( ) ( ) ( )1

*

0

NH

kk

y n x w n w x n k n−

= ∗ = − =∑ w x

- semnalul de ieşire

0k=

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

*N

Hke n d n y n d n w x n k d n n

−= − = − − = −∑ w x

- semnalul eroare:( ) ( ) ( ) ( ) ( ) ( ) ( )

0k

ke n d n y n d n w x n k d n n

=∑ w x

20

Page 21: Controlul inteligent

Formularea problemei (4)d(n)

wk* = ?

(k = 0,...,N-1)

x(n) y(n) e(n)+−

Problema:* ? tf l î ât ( ) d( )wk* = ? astfel încât y(n) ≈ d(n)

Soluţia:

- minimizarea unei funcţii “cost” J = f{e(n)}

Criteriul de optimizare

21

Page 22: Controlul inteligent

Criteriul de optimizared(n)

wk* = ?

(k = 0,...,N-1)

x(n) y(n) e(n)+−

Definim funcţia cost:

( ){ }2 di ă i ă( ){ }2J E e n= eroarea medie pătratică

( ! pot fi folosite şi alte funcţii cost )

Scopul anularea gradientului complex

1, , ....,T

NJ J JJ ×

⎡ ⎤∂ ∂ ∂∇ = =⎢ ⎥w 0 1

0 1 1, , ...., N

NJ

w w w ×−

∇ ⎢ ⎥∂ ∂ ∂⎣ ⎦w 0

22

Page 23: Controlul inteligent

Criteriul de optimizare (2)

( ){ } ( ) ( ){ }2 *J E e n E e n e n= =

( ) ( ) ( ) ( )1 1

* * *

0 0

N Nk k

k kE d n w x n k d n w x n k

− −⎧ ⎫⎡ ⎤ ⎡ ⎤⎪ ⎪= − − ⋅ − −⎢ ⎥ ⎢ ⎥⎨ ⎬⎢ ⎥ ⎢ ⎥⎪ ⎪⎣ ⎦ ⎣ ⎦⎩ ⎭

∑ ∑0 0k k= =⎢ ⎥ ⎢ ⎥⎪ ⎪⎣ ⎦ ⎣ ⎦⎩ ⎭

( ) ( ){ } ( ) ( ){ }1

* *N

kE d n d n w E x n k d n−

= − −∑( )( )*

dxr k( ) ( ){ } ( ) ( ){ }

( ) ( ){ } ( ) ( ){ }0

1 1 1* * * *

kk

N N Nk k i

E d n d n w E x n k d n

w E x n k d n w w E x n k x n i

=− − −

=

− + − −

∑ ∑ ∑2dσ

( )*xdr k= −

( ) ( ){ } ( ) ( ){ }0 0 0

k k ik k i

w E x n k d n w w E x n k x n i= = =

+∑ ∑ ∑dσ

( )xdr k− ( )xxr i k−23

Page 24: Controlul inteligent

Criteriul de optimizare (3)

( ) ( ) ( )1 1 1 1

2 * * *N N N N

J w r k w r k w w r i k− − − −

= +∑ ∑ ∑ ∑σ ( ) ( ) ( )0 0 0 0

d k xd k xd k i xxk k k i

J w r k w r k w w r i k= = = =

= − − − − + −∑ ∑ ∑ ∑σ

Notaţii:

( ) ( ){ } ( ) ( ) ( )* 0 , 1 , ...., ( 1) Txd xd xdE n d n r r r N= = − − −⎡ ⎤⎣ ⎦p x

Notaţii:

( ) ( ){ }HE n n=R x x

2 H H HdJ = − − +w p p w w Rwσ

24

Page 25: Controlul inteligent

Ecuaţiile Wiener-Hopfţ p

2 H H HJ + R Funcţia cost2 H H HdJ = − − +w p p w w Rwσ Funcţia cost

Funcţie de gradul doi de variabile complexe wk = ak+jbk

(k = 0, 1, …, N – 1)Minimului funcţiei J anularea gradientului complex:Minimului funcţiei J anularea gradientului complex:

1, , ....,T

NJ J JJ ×

⎡ ⎤∂ ∂ ∂∇ = =⎢ ⎥∂ ∂ ∂⎣ ⎦

w 0 10 1 1

NNw w w ×−

⎢ ⎥∂ ∂ ∂⎣ ⎦w

1J J Jj⎛ ⎞∂ ∂ ∂

= −⎜ ⎟ *1J J Jj⎛ ⎞∂ ∂ ∂

= +⎜ ⎟2k k k

jw a b

= ⎜ ⎟∂ ∂ ∂⎝ ⎠* 2 k kk

ja bw

⎜ ⎟∂ ∂∂ ⎝ ⎠25

Page 26: Controlul inteligent

Ecuaţiile Wiener-Hopf (2)ţ p ( )

2 H H HJ + R2 H H HdJ = − − +w p p w w Rwσ

{ }H H∂ { }*

1 11

H H

iN N

w− −

∂+

⎧ ⎫⎛ ⎞∂ ∂ ⎪ ⎪

w p p w

( ) ( ) ( ) ( )

( )

1 1*

0 0

12

N Nk k xd k k xd

i i k kj a jb r k a jb r k

a b

i= =

⎧ ⎫⎛ ⎞∂ ∂ ⎪ ⎪= + − − + + −⎨ ⎬⎜ ⎟∂ ∂ ⎪ ⎪⎝ ⎠⎩ ⎭∑ ∑

( )xdr i= −

{ }H H∇ + =w p p w p{ }∇ + =w w p p w p

26

Page 27: Controlul inteligent

Ecuaţiile Wiener-Hopf (3)

2 H H HdJ = − − +w p p w w Rwσ

{ }*H∂ w Rw{ }

( )( ) ( )

*

1 11i

N Nk k l l xx

w

j a jb a jb r l k− −

⎧ ⎫⎛ ⎞∂ ∂ ⎪ ⎪= + − + −⎨ ⎬⎜ ⎟ ∑ ∑ ( )( ) ( )

( )

0 01

2 k k l l xxi i k l

Nl xx

j j ja b

w r l i

= =−

⎨ ⎬⎜ ⎟∂ ∂ ⎪ ⎪⎝ ⎠⎩ ⎭

= −

∑ ∑

∑ ( )0

l xxl

w r l i=∑

{ }H∇ =w w Rw Rw{ }w

27

Page 28: Controlul inteligent

Ecuaţiile Wiener-Hopf (4)ţ p ( )2 H H HdJ = − − +w p p w w Rwσ

{ }H

{ }2 { }H H

{ }H∇ =w w Rw Rw

{ }21d Nσ ×∇ =w 0 { }H H∇ − − = −w w p p w p

J∇ = − +w p Rw

2(Pozitiv semidefinit)

J(w) = suprafaţă de forma unui paraboloid, având un minim

Hessianul transformării 2 2J= ∇ =wH R p.s.d

( ) p ţ p ,care anulează gradientul.

28

Page 29: Controlul inteligent

Ecuaţiile Wiener-Hopf (5)ţ p ( )

J∇ = − +w p Rw Gradientul funcţiei cost

( ) ( )min 0 oJJ J J∇ =

= =w wfi i ţii ti i0J∇w coeficienţii optimi

Ecuaţiile1N oJ ×∇ = ⇒ =w 0 Rw p Ecuaţiile

Wiener-Hopf

( ) ( )1

0, 0,1,..., 1

Nol xx xd

lw r l i r i i N

−− = − = −∑

0l=

29

Page 30: Controlul inteligent

Ecuaţiile Wiener-Hopf (6)ţ p ( )1

o o−= ⇒ =Rw p w R p Coeficienţii

optimi

2 H H HdJ = − − +w p p w w Rwσ

( ) ( )min 0 oJJ J J∇ =

= =w

w w

2 H H Hd o o o oσ= − − +w p p w w Rw

2 Hd oσ= −p w

2 1H −RJmin = varianţa erorii minime

2 1Hdσ= −p R p

30

Page 31: Controlul inteligent

Principiul ortogonalităţiip g ţd(n)

wo

x(n) yo(n) eo(n)+−

Filtrul optim

( ) ( )H( ) ( )Ho oy n n= w x ieşirea filtrului optim

( ) ( ) ( )Ho oe n d n n= −w x eroarea filtrului optim( ) ( ) ( )o o p

( ) ( ){ }* ?oE n e n =x ( ) ( ){ }o

31

Page 32: Controlul inteligent

Principiul ortogonalităţii (2)d(n)

wo

x(n) yo(n) eo(n)+−

Filtrul optim

{ }( ) ( ){ } ( ) ( ) ( ){ }* * Ho oE n e n E n d n n⎡ ⎤= −⎣ ⎦x x x w

{ } { }* H( ) ( ){ } ( ) ( ){ }* HoE n d n E n n= −x x x w

1= − =p Rw 0 1o N×= − =p Rw 0

32

Page 33: Controlul inteligent

Principiul ortogonalităţii (3)d( )

( )

d(n)

( )wo

x(n) yo(n) eo(n)+−

Filtrul optim

( ) ( ){ }*E n e nx 0 P i i i l t lităţii( ) ( ){ } 1o NE n e n ×=x 0 Principiul ortogonalităţii

În cazul filtrării optimaleÎn cazul filtrării optimale,eroarea este ortogonală pe eşantioanele intrării.

( ) ( ){ } ( ) ( ){ }* *HE E 0Consecinţă: ( ) ( ){ } ( ) ( ){ } 1H

o o o o NE y n e n E n e n ×= =w x 0Consecinţă:

33

Page 34: Controlul inteligent

Aplicaţiid(n)

1.

wo = ?x(n) y(n) e(n)+− J(w) = ?

J ?Se cunosc:

l i filt l i N 2

Jmin = ?

- lungimea filtrului N = 2

- varianţa semnalului dorit σd2 = 0.9486

1 1 0 5⎡ ⎤- matricea de autocorelaţie a semnalului de intrare

- vectorul de corelaţie

1.1 0.50.5 1.1⎡ ⎤

= ⎢ ⎥⎣ ⎦

R0.5272⎡ ⎤

= ⎢ ⎥pvec o u de co e ţ e0.4458⎢ ⎥−⎣ ⎦

p

34

Page 35: Controlul inteligent

Aplicaţii 1. (continuare)p ţ

( ) 2 H H HdJ σ= − − +w w p p w w Rw( ) dJ σ= +w w p p w w Rw

( ) [ ] [ ] 00 1 0 1

1

0.5272, 0.9486 0.5272 0.4458

0.4458w

J w w w ww⎡ ⎤⎡ ⎤

= − − − ⎢ ⎥⎢ ⎥−⎣ ⎦ ⎣ ⎦

[ ] 00 1

1

1.1 0.50.5 1.1

ww w

w

⎣ ⎦⎡ ⎤⎡ ⎤

+ ⎢ ⎥⎢ ⎥⎣ ⎦ ⎣ ⎦1⎣ ⎦ ⎣ ⎦

( ) ( )2 2( ) ( )2 20 1 0 1 0 1 0 1, 0.9486 1.0544 0.8961 1.1J w w w w w w w w= − + + + +

35

Page 36: Controlul inteligent

Aplicaţii 1. (continuare)

60

40

50

30

40

J(w0,w1)

10

20

02

4 -4-2

0

0

-4-2

0 02

4 w0w136

Page 37: Controlul inteligent

Aplicaţii 1. (continuare)

1o o

−= ⇒ =Rw p w R p Coeficienţiioptimi

EcuaţiileWiener-Hopf optimiWiener Hopf

101.1 0.5 0.5272 0.8363 ow− ⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤

= = = ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥w10.5 1.1 0.4458 0.7854o

ow= ⋅ = = ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥− −⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

w

( ) ( )min 0 oJJ J J∇ =

= =w

w w Varianţa erorii minime

( ) ( )2 20 1 0 1 0 1 0 1, 0.9486 1.0544 0.8961 1.1

0 1579

o o o o o o o oJ w w w w w w w w

J

= − + + + +

min0.1579 J= =

37

Page 38: Controlul inteligent

Aplicaţii(! necorelate)

?≈ q(n)q(n) + v(n)2.

(! necorelate)

semnal util zgomot albσv

2 cunoscut

d(n) = q(n)Abordare pe baza filtrului optim:

x(n) = q(n) + v(n)

d(n) q(n)

y(n) e(n)+wo = ?

x(n) q(n) v(n) y(n) e(n)+−

! D t l t di ibil! Doar acest semnal este disponibil

38

Page 39: Controlul inteligent

Aplicaţii 2. (continuare)

1o o

−= ⇒ =Rw p w R p Coeficienţiioptimi

EcuaţiileWiener Hopf o op p

optimiWiener-Hopf

( ) ( ){ } ( ) ( ) ( ){ }* * *E n d n E n x n v n⎡ ⎤= =p x x( ) ( ){ } ( ) ( ) ( ){ }( ) ( ){ } ( ) ( ) ( ){ }* *

E n d n E n x n v n

E n x n E n n v n

⎡ ⎤= = −⎣ ⎦

= − +⎡ ⎤⎣ ⎦

p x x

x u v{ } { }( ) ( ){ } ( ) ( ){ } ( ) ( ){ }* * *E n x n E n v n E n v n= − −x u v

= 0 = σ 2[1 0 0]T 0 σv [1, 0, …, 0]

( ) ( ){ } [ ]* 2 1, 0, , 0 TvE n x n σ= −p x …

! Depinde doar de parametrii disponibili39

Page 40: Controlul inteligent

Aplicaţii 2 ( i )

1

Aplicaţii 2. (continuare)

1o

−=w R p

( ) ( ){ } [ ]1 * 1 2 1 0 0 TE n x n σ− −R x R( ) ( ){ } [ ]1, 0, , 0vE n x n σ= −R x R …

[ ]2 1 1 0 0 T−⎡ ⎤[ ]2 1 1, 0, , 0 To vσ

−⎡ ⎤= −⎣ ⎦w I R …

! Depinde doar de parametrii disponibili:- inversa matricei de autocorelaţie a semnalului de intrare- varianţa zgomotuluivarianţa zgomotului

40

Page 41: Controlul inteligent

CuprinsCuprinsNoţiuni introductiveTeoria filtrării optimaleTeoria filtrării optimaleFiltre adaptive bazate pe minimizarea erorii medii pătraticepFiltre adaptive bazate pe optimizarea în sensul celor mai mici pătrateExemple de aplicaţii

41

Page 42: Controlul inteligent

IntroducereIntroducere

d(n)Teoria filtrării Wiener optimale:

x(n)

d(n)

y(n)wo

x(n) y(n) e(n)+−

1o o

−= ⇒ =Rw p w R p Coeficienţiioptimi

EcuaţiileWiener-Hopf o o⇒Rw p w R p optimiWiener-Hopf

( ) ( ){ }*E d( ) ( ){ }HER ( ) ( ){ }E n d n=p x( ) ( ){ }HE n n=R x x

42

Page 43: Controlul inteligent

Introducere (continuare)Introducere (continuare)

Limitările filtrării Wiener optimale:

- necesită evaluarea matricei de autocorelaţie Rşi a vectorului de corelaţie p.

- necesită evaluarea matricei inverse R–1.

- nu este adecvată mediilor nestaţionare / variabile în timp.

Soluţia:Soluţia:

- determinarea iterativă a coeficienţilor optimi.

w(0) … w(n) w(n +1) … wo

43

Page 44: Controlul inteligent

Introducere (continuare)( )

d(n)Filtrul Wiener optimal:

wo

x(n) y(n) e(n)+−

Filtru “iterativ” (adaptiv): d(n)

w(n)x(n) y(n) e(n)+

44

Page 45: Controlul inteligent

Metoda pantei descendente maximeMetoda pantei descendente maxime(Steepest descent)

d(n)

x(n)

d(n)

y(n) e(n)+w(n)

x(n) y(n) e(n)+−

( ) ( )1n n Jμ+ = − ∇w wNe “deplasăm” pe suprafaţa de cost,în direcţia inversă pantei maxime de creştere a gradientului,

( ) ( )1n n Jμ+ = ∇ww w

în direcţia inversă pantei maxime de creştere a gradientului,cu un anumit pas μ.

45

Page 46: Controlul inteligent

Metoda pantei descendente maxime(continuare)

( ) ( )1n n Jμ+ = − ∇ww w

J∇ = − +w p Rw

( ) ( ) ( )1+ +⎡ ⎤⎣ ⎦w w p Rw( ) ( ) ( )1n n nμ+ = − − +⎡ ⎤⎣ ⎦w w p Rw

Notaţie: ( ) ( ) on n= −c w w vectorul eroare a coeficienţilor( ) ( ) o

( ) ( ) ( )1n n nμ+ − = − − − + − +⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎣ ⎦ ⎣ ⎦ ⎣ ⎦w w w w p Rw Rw Rw( ) ( ) ( )1 o o o on n nμ+ − = − − − + − +⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎣ ⎦ ⎣ ⎦ ⎣ ⎦w w w w p Rw Rw Rw

( ) ( ) ( )1 on n nμ+ = − − + +⎡ ⎤⎣ ⎦c c p Rc Rw

( ) ( ) ( )1n nμ+ = −c I R c (ecuaţiile Wiener-Hopf)

46

Page 47: Controlul inteligent

Metoda pantei descendente maxime(continuare)

( ) ( ) ( )1n n nμ+ = − − +⎡ ⎤⎣ ⎦w w p Rw

( ) ( ) ( )1n nμ+ = −c I R c

⎣ ⎦Pasul μ poate lua orice valoare?

• Analiza stabilităţii algoritmuluiH=R QΛQ descompunerea matricei de autocorelaţieR QΛQ descompunerea matricei de autocorelaţie

0 1 1[ , ,..., ]N−=Q q q q0 1 1diag[ , ,..., ]Nλ λ λ −=Λ

matricea vectorilor proprii (! QHQ = I)matricea valorilor proprii

( )det 0 , 0, 1i i Nλ λ− = ⇒ = −R IH!

0 1 1[ , , , ]NQ q q q p p ( )matriceunitară

, 0, 1 0,Hi i i j ii N i jλ= = − = ≠Rq q q q

!47

Page 48: Controlul inteligent

Metoda pantei descendente maxime(continuare)(continuare)

( ) ( ) ( )1n nμ+ = −c I R cHR QΛQ

( ) ( ) ( )1 Hn nμ+ = −c I QΛQ c=R QΛQ

( )( ) ( ) ( )1H Hn nμ+ = −Q c I Λ Q c

Notaţie: ( ) ( )Hn n=v Q c vectorul eroare rotit

( ) ( ) ( )1n nμ+ = −v I Λ v

( ) ( ) ( )1 1 , 0, 1k k kv n v n k Nμλ+ = − = −

Condiţii iniţiale: ( ) ( ) ( )0 0 0H Ho= = −⎡ ⎤⎣ ⎦v Q c Q w w

( ) ( ) ( ) , ,k k kμ

( ) ( ) ( )1 0 0 1n k Nλ( ) ( ) ( )1 0 , 0, 1nk k kv n v k Nμλ= − = −

48

Page 49: Controlul inteligent

Metoda pantei descendente maxime(continuare)

( ) ( ) ( )1 0 , 0, 1nk k kv n v k Nμλ= − = −

(continuare)

Convergenţă (stabilitate):

( ) 0 1 1, 0, 1k kv n k Nμλ→ ⇒ − < = −( ) 0 1 1, 0, 1k knv n k Nμλ→∞

→ ⇒ <

0 2 0 1k Nμλ< < =0 2, 0, 1k k Nμλ< < = −

2 C diţi d

max

20 μλ

< <Condiţia destabilitate

{ }max 0 1 1max , ,..., Nλ λ λ λ −=49

Page 50: Controlul inteligent

Metoda pantei descendente maxime(continuare)(continuare)

• Analiza convergenţei algoritmului

( ) ( ) ( )1 0 , 0, 1nk k kv n v k Nμλ= − = −

( ) ( )/n τ( ) ( )/ 01 0 1

knk k

k

v n e v

k N

τ

τ

−=

= − = −, 0, 1ln 1k

kk Nτ

μλ= =

( ) ( ) ( )H Hn n n⎡ ⎤⎣ ⎦v Q c Q w w ( ) ( )n n= +w w Qv( ) ( ) ( ) on n n= = −⎡ ⎤⎣ ⎦v Q c Q w w ( ) ( )on n= +w w Qv

( ) ( ) ( )/ 0kN N

no k k o k kn v n e vτ−= + = +∑ ∑w w q w q( ) ( ) ( )

1 10o k k o k k

k kn v n e v

= =+ +∑ ∑w w q w q

50

Page 51: Controlul inteligent

Metoda pantei descendente maxime(continuare)

!( ) ( )/

10k

Nn

o k kk

n e vτ−

== + ∑w w q 0 | n → ∞

!

1 , 0, 1l 1k k Nτ

λ= − = −

ln 1kkμλ−

1 1τ≤ ≤0, 1max minln 1 ln 1k k Nτ

μλ μλ= −− ≤ ≤ −− −

“rapid” “lent”

51

Page 52: Controlul inteligent

Metoda pantei descendente maxime(continuare)(continuare)

, 0 2αμ αλ

= < <maxλ

"lent"1 1τλ

= − = −

( )min

maxln 1 ln 1

λ ααλ χ

− −R

Numărul condiţionalal matricei R

( ) max

min

λχ

λ=R

min

Matrice “rău” condiţionatămax minλ λ>>

! convergenţă lentă52

Page 53: Controlul inteligent

Metoda pantei descendente maxime(continuare)(continuare)

• Curba de “învăţare” (learning curve) a algoritmului

( ) ( ){ }2 ?J n E e n= =

( ) ( ) on n= −c w w

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )H H He n d n n n d n n n n n= =w x w x c x( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )oe n d n n n d n n n n n= − = − −w x w x c x

( ) ( ) ( )Hoe n n n= − c x eroarea filtrului optim

( ) ( ){ } ( ) ( ){ }2 *J n E e n E e n e n= =

{ }*H H⎡ ⎤ ⎡ ⎤( ) ( ) ( ) ( ) ( ) ( ){ }*H Ho oE e n n n e n n n⎡ ⎤ ⎡ ⎤= − −⎣ ⎦ ⎣ ⎦c x x c

53

Page 54: Controlul inteligent

Metoda pantei descendente maxime(continuare)

( ) ( ) ( ){ } ( ) ( ) ( ){ }* Ho o oJ n E e n e n E e n n n= − x c( ) ( ) ( ){ } ( ) ( ) ( ){ }

( ) ( ) ( ){ } ( ) ( ) ( ) ( ){ }*

o o o

H H HoE n n e n E n n n n− +c x c x x cJmin

= 0(principiul ortogonalităţii)

R

( ) ( ) ( )minHJ n J n n= + c Rc

( ) ( )minH HJ n n= + c QΛQ c

( ) ( )HJ n n= + v Λv( ) ( )minJ n n= + v Λv

54

Page 55: Controlul inteligent

Metoda pantei descendente maxime(continuare)

( ) ( ) ( )minHJ n J n n= + v Λv( ) ( ) ( )min

( )1 2

min0

Nk k

kJ v nλ

−= + ∑

0k=

( ) ( )1 22

min 1 0N n

k k kJ vλ μλ−

= + −∑ ( ) ( )0k=∑

( )1 22 /

min 0kN

nk kJ e vτλ

−−= + ∑

( )J J în condiţii de stabilitate

( )min0

k kk=∑

( ) minnJ n J→∞

= în condiţii de stabilitate

55

Page 56: Controlul inteligent

Metoda pantei descendente maxime(continuare)

• AplicaţieSe cunosc:Se cunosc:

- lungimea filtrului N = 2

- valorile iniţiale ale coeficientilor ( )1

01−⎡ ⎤

= ⎢ ⎥−⎣ ⎦w

- matricea de autocorelaţie a semnalului de intrare

- vectorul de corelaţie1.1 0.50 5 1 1⎡ ⎤

= ⎢ ⎥⎣ ⎦

R

⎣ ⎦

0.5 1.1⎣ ⎦0.52720.4458

⎡ ⎤= ⎢ ⎥−⎣ ⎦

p

Măsura performanţei:( ) 2

1020log o n−w w- dezalinierea (misalignment) normată = [dB]10

220log

ow( g ) [ ]

56

Page 57: Controlul inteligent

Metoda pantei descendente maxime(continuare)(continuare)

• Aplicaţie (continuare)

1o o

−= ⇒ =Rw p w R p Coeficienţiioptimi

EcuaţiileWiener-Hopf

101.1 0.5 0.5272 0.8363

0 5 1 1 0 4458 0 7854o

ow− ⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤

= ⋅ = = ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

w10.5 1.1 0.4458 0.7854o

ow⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥− −⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

2 Condiţia deAlgoritmul

max

20 μλ

< <Condiţia destabilitate

Algoritmulsteepest descent

( )d λ λ λ( ) 0 1det 0 0.6 1.6 1.25λ λ λ μ− = ⇒ = = ⇒ <R I57

Page 58: Controlul inteligent

Metoda pantei descendente maxime(continuare)

• Aplicaţie (continuare)

Algoritmul steepest descent

Iniţializare: w(0)

Date: R, p, μ

( ) ( ) ( )⎡ ⎤

ţ ( )

For n = 0, 1, 2, …, nr_iteraţii

( ) ( ) ( )1n n nμ+ = − − +⎡ ⎤⎣ ⎦w w p Rwend

58

Page 59: Controlul inteligent

Metoda pantei descendente maxime(continuare)

• Aplicaţie (continuare)

Cod MATLAB:

R=[1.1 0.5;0.5 1.1];p=[0.5272;-0.4458];wo=[0.8363;-0.7854];w=[-1;-1];mu=0.01;mu 0.01;W=w;for n=1:1000

w=w+mu*(p-R*w);[ ]W=[W w];

m(n)=20*log10(norm(wo-w)/norm(wo));end

59

Page 60: Controlul inteligent

Metoda pantei descendente maxime(continuare)

• Aplicaţie (continuare) μ = 0.01

1.5

0

10

0.5

1

-10

0

dB]

-0.5

0h 1

-30

-20

mis

alig

nmen

t [d

w1

-1

0.5

-50

-40

-1.5 -1 -0.5 0 0.5 1 1.5-1.5

h0

0 100 200 300 400 500 600 700 800 900 1000-60

Iteratiiw060

Page 61: Controlul inteligent

Metoda pantei descendente maxime(continuare)

• Aplicaţie (continuare) μ = 1

1

1.5

-10

0

0.5

1

-40

-30

-20

[dB

]-0.5

0h 1

70

-60

-50

mis

alig

nmen

t

w1

-1

-90

-80

-70

-1.5 -1 -0.5 0 0.5 1 1.5-1.5

h0

0 100 200 300 400 500 600 700 800 900 1000-100

Iteratiiw061

Page 62: Controlul inteligent

Metoda pantei descendente maxime(continuare)

• Aplicaţie (continuare) μ = 1.3 (! μ < 1.25)

1.5

600

700

0.5

1

400

500

600

[dB

]-0.5

0h 1

300

400

mis

alig

nmen

t [

w1

-1

0.5

100

200

-1.5 -1 -0.5 0 0.5 1 1.5-1.5

h0

0 100 200 300 400 500 600 700 800 900 10000

Iteratiiw062

Page 63: Controlul inteligent

Metoda pantei descendente maxime(continuare)

• Aplicaţie (continuare) μ = 0.001

1.5

4

5

0.5

1

1

2

3

dB]

-0.5

0h 1

-1

0

1

mis

alig

nmen

t [d

w1

-1

0.5

-4

-3

-2

-1.5 -1 -0.5 0 0.5 1 1.5-1.5

h0

0 100 200 300 400 500 600 700 800 900 1000-5

Iteratiiw063

Page 64: Controlul inteligent

Algoritmul LMS (Least Mean Square)Algoritmul LMS (Least Mean Square)

Metoda steepest descent :

i ă l i i i R 1

- permite determinarea iterativă a coeficienţilor optimi.

- necesită cunoaşterea matricei de autocorelaţie Ri t l i d l ţi

- nu necesită evaluarea matricei inverse R–1.

şi a vectorului de corelaţie p.

Soluţia:Soluţia:

- estimarea matricei de autocorelaţie R şi avectorului de corelaţie p.

64

Page 65: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)(continuare)

( ) ( ) ( )1 ⎡ ⎤R

Metoda steepest descent :

( ) ( ) ( )1n n nμ+ = − − +⎡ ⎤⎣ ⎦w w p Rw

Cea mai simplă metodă de estimare:

( ) ( ){ } ( ) ( )ˆH HE n n n n= → =R x x R x x

p

( ) ( ){ } ( ) ( )* *ˆE n d n n d n= → =p x p x

⎡ ⎤( ) ( ) ( ) ( ) ( ) ( ) ( )*1 Hn n n d n n n nμ ⎡ ⎤+ = − − +⎣ ⎦w w x x x w

( ) ( ) ( ) ( ) ( )* Hn n d n n nμ ⎡ ⎤= + −⎣ ⎦w x x w( ) ( ) ( ) ( ) ( )n n d n n nμ ⎡ ⎤= + ⎣ ⎦w x x we*(n)

65

Page 66: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)(continuare)

Algoritmul LMS:

( ) ( ) ( ) ( )*1n n n e nμ+ = +w w x

d(n)

w(n)x(n) y(n) e(n)+

− Filtruadaptiv

LMS

AlgoritmAlgoritmadaptiv

66

Page 67: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)

Algoritmul LMS

Date: μ

Iniţializare: w(0) = 0N x 1

For n = 0, 1, 2, …, nr_iteraţii

( ) ( ) ( )e n d n y n= −

( ) ( ) ( )Hy n n n= w x N x , N – 1 +

1 +

end( ) ( ) ( ) ( )*1n n n e nμ+ = +w w x( ) ( ) ( )y

N + 1 x , N +

2N + 1 x 2N +2N + 1 x , 2N +

67

Page 68: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)

• Analiza convergenţei algoritmului LMS• Analiza convergenţei algoritmului LMS

Criteriul 1 Convergenţa în medie

( ){ } onE n

→∞=w w

Criteriul 2 Convergenţa în medie pătratică

( ) ( ) constantnJ n J→∞

= ∞ =

68

Page 69: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)(continuare)

• Convergenţa în medie a algoritmului LMS

( ) ( ) ( ) ( )*1n n n e nμ+ = +w w x* H⎡ ⎤( ) ( ) ( ) ( ) ( )* Hn n d n n nμ ⎡ ⎤= + −⎣ ⎦w x x w

( ) ( ) ( ) ( ) ( )*Hn n n n d nμ μ⎡ ⎤= − +⎣ ⎦I x x w x( ) ( ) ( ) ( ) ( )n n n n d nμ μ+⎣ ⎦I x x w x

( ){ } ( ) ( ){ }1E n E nμ μ+ = − +w I R w p( ){ } ( ) ( ){ }μ μp

( ) ( ) on n= −c w w

( ){ } ( ) ( ){ }( ){ } ( ) ( ){ }1E n E nμ+ = −c I R c69

Page 70: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)( )

( ){ } ( ) ( ){ }1E n E nμ+ = −c I R cHH=R QΛQ

( ) ( )Hn n=v Q c( ){ } ( ) ( ){ }1E n E nμ+ = −v I Λ v

( ){ } ( ) ( ){ }1 0 , 0, 1nk k kE v n E v k Nμλ= − = −{ } { }

( ){ } 0 1 1, 0, 1knE n k Nμλ

→∞→ ⇒ − < = −v

max

20 μλ

< < ( ){ } onE n

→∞=w w

Condiţia de convergenţă în medie

70

Page 71: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)

• Convergenţa în medie pătratică a algoritmului LMSConvergenţa în medie pătratică a algoritmului LMS

( ) ( ) constantnJ n J→∞

= ∞ =

( ) ( ) ( ) ( )He n d n n n= −w xH H H⎡ ⎤( ) ( ) ( ) ( )H H Ho od n n n n⎡ ⎤= − − −⎣ ⎦w x w w x

( ) ( ) ( )Hoe n n n= − c x( ) ( ) ( )oe n n nc x

( ) ( ) ( ) ( )*1n n n e nμ+ = +w w x* H⎡ ⎤( ) ( ) ( ) ( ) ( )* Hon n e n n nμ ⎡ ⎤= + −⎣ ⎦w x x c

71

Page 72: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)( )

( ) ( ) ( ) ( ) ( ) ( ) ( )*1 Hon n n e n n n nμ μ+ = + −w w x x x c

– wo – wo

( ) ( ) ( ) ( ) ( ) ( ) ( )*1 Hon n n e n n n nμ μ+ = + −c c x x x c

wo wo

*H⎡ ⎤( ) ( ) ( ) ( ) ( )*Hon n n n e nμ μ⎡ ⎤= − +⎣ ⎦I x x c x

Notaţii: ( ) ( ) ( ){ }Hn E n n=K c c matricea de autocorelaţieNotaţii: ( ) ( ) ( ){ }n E n n=K c c ţa vectorului c(n)

( ) ( ){ }*min o oJ E e n e n= varianţa erorii minime

( ) ( ) ( ){ }1 1 1Hn E n n+ = + + =K c c …2

{ }

( ) ( )( ) 2minn Jμ μ μ= − − +I R K I R R

72

Page 73: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)

( ) ( ){ } ( ) ( ){ }2 *J n E e n E e n e n= =

( ) ( ) ( ) ( ) ( ) ( ){ }*H HE ⎡ ⎤ ⎡ ⎤( ) ( ) ( ) ( ) ( ) ( ){ }H Ho oE e n n n e n n n⎡ ⎤ ⎡ ⎤= − −⎣ ⎦ ⎣ ⎦c x x c

( ) ( ) ( ) ( ){ }minH HJ E n n n n= + c x x c( ) ( ) ( ) ( ){ }min

( )min exJ J n= + eroarea în exces

( ) ( ) ( ) ( ) ( ){ }exH HJ n E n n n n= c x x c Pp. x(n) – secvenţă aleatoare

gaussiană

{ }⎡ ⎤( ) ( ) ( ) ( ) ( ){ }ex tr H HJ n E n n n n⎡ ⎤= ⎣ ⎦c x x c tr urma unei matrice= Σ valorilor proprii

( ) ( ){ } ( ) ( ){ } ( )tr tr 0H HE n n E n n n⎡ ⎤ >⎡ ⎤⎣ ⎦⎢ ⎥x x c c RK( ) ( ){ } ( ) ( ){ } ( )tr tr 0E n n E n n n⎡ ⎤= = >⎡ ⎤⎣ ⎦⎢ ⎥⎣ ⎦x x c c RK

73

Page 74: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)

⎡ ⎤( ) ( )ex trJ n n= ⎡ ⎤⎣ ⎦RKH=R QΛQ ( ) ( )tr trH n n⎡ ⎤= = ⎡ ⎤⎣ ⎦⎣ ⎦ΛQ K Q ΛZ

( ) ( )ex tr HJ n n⎡ ⎤= ⎣ ⎦QΛQ K

Q Q ( ) ( )tr trn n⎡ ⎤⎣ ⎦⎣ ⎦ΛQ K Q ΛZ

( ) ( )ex ,1

Nl l l

lJ n z nλ

== ∑

QH H

elementele diagonalei matricei Z(n)

( ) ( ) ( )( ) 2min1n n Jμ μ μ+ = − − +K I R K I R R

1l=QH· QH··Q ·Q

( ) ( ) ( )( ) 21 J+ +Z I Λ Z I Λ Λ( ) ( ) ( )( ) 2min1n n Jμ μ μ+ = − − +Z I Λ Z I Λ Λ

( ) ( ) ( )2 2, , min1 1 , 0, 1l l l l l lz n z n J l Nμλ μ λ+ = − + = −

convergentă dacă 1 1, 0, 1l l Nμλ− < = −20 μ< < Condiţia de convergenţă

max0 μ

λ< <

în medie pătratică

74

Page 75: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)

( ) ( ) ( )2 2, , min1 1 , 0, 1l l l l l lz n z n J l Nμλ μ λ+ = − + = −

( )

n → ∞ ( ) ( ) ( )2 2, , min1l l l l l lz z Jμλ μ λ∞ = − ∞ +

( ) minJμ( ) min, , 0, 1

2l ll

Jz l N

μμλ

∞ = = −−

( ) ( )1 1N N

lμλ− −

∑ ∑( ) ( )ex , min0 0 2

ll l l

ll lJ z J

μλλ

μλ= =∞ = ∞ =

−∑ ∑

( ) ( ) ( )iJ n J J J= ∞ = + ∞( ) ( ) ( )min exnJ n J J J→∞

= ∞ = + ∞

1min 1 constant

NlJ

μλ−⎛ ⎞= + =⎜ ⎟⎜ ⎟∑min

0 2 ll μλ=⎜ ⎟⎜ ⎟−⎝ ⎠

∑75

Page 76: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)

• Criterii pentru alegerea pasului algoritmului LMS

2 ?!max

20 μλ

< < ?! λmax – dificil de determinat în practică

1N−[ ]

1max

0tr

Nl

lλ λ

== >∑R

[ ] ( ) 22

20xN

μσ

< <

[ ] ( ) 2tr 0xx xNr Nσ= =R x

Dezadaptarea (misadjustment): ( ) 1ex

NlJ

mμλ−∞

= = ∑min 0 2 llJ μλ= −∑

Dacă μ << 1/λ1

2N

lm Nμ μλ σ−

≈ =∑Dacă μ << 1/λmax

02 2l xl

m Nλ σ=

≈ =∑76

Page 77: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)

• Performanţele algoritmului LMS depind de:

- Pasul de adaptare μ(compromis între viteza de convergenţă şi dezadaptare:pas mare convergenţă rapidă dar dezadaptare mare;pas mic dezadaptare scăzută dar convergenţă lentă.)

- Valorile proprii ale matricei de autocorelaţie asemnalului de intrare(matrice rău condiţionată convergenţă lentă)(matrice rău condiţionată convergenţă lentă)

- Lungimea filtrului adaptiv Ng p(lungime mare convergenţă lentă, dezadaptare mare)

77

Page 78: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)

• AplicaţieIdentificare de sistem

Filtruadaptiv

y(n)

Si tx(n)

y(n)

d(n)

e(n)

+

Sistem necunoscut

x(n)

v(n) zgomot78

Page 79: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)( )

S l l d i t ( )zgomot alb gaussian [randn]

• Aplicaţie (continuare)

Semnalul de intrare x(n)semnal AR(1) (autoregresiv de ordinul 1)

x(n) = ax(n – 1) + g(n) zg. alb gauss.

[x = filter(1,[1, -a],g)]

N = 640 15

0.2

0.25

Sistemul necunoscut

0 10 20 30 40 50 60-0.1

-0.05

0

0.05

0.1

0.15

E santioane

N = 1280 . 0 6

căi de ecou electric(ITU-T G168)

N = 128

0 2 0 4 0 6 0 8 0 1 0 0 1 2 0- 0 . 0 6

- 0 . 0 4

- 0 . 0 2

0

0 . 0 2

0 . 0 4

E s a n t i o a n e

Zgomotul v(n) zgomot alb gaussian [randn], σv2 = 0.001.

79

Page 80: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)

• Aplicaţie (continuare)

Funcţie MATLAB pentru algoritmul LMS:Funcţie MATLAB pentru algoritmul LMS:

function [m]=lms(x,d,mu,N,wo);L=length(x);g ( );xf=zeros(N,1);w=zeros(N,1);m=zeros(L,1);m zeros(L,1);for n=1:L

xf=[x(n);xf(1:N-1)];y=w'*xf;y w xf;e=d(n)-y;w=w+mu*xf*e';m(n)=20*log10(norm(wo-w)/norm(wo));m(n)=20*log10(norm(wo-w)/norm(wo));

end80

Page 81: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)

1 5

N = 64x(n) - randn• Aplicaţie (continuare)

5

1 0 μ = 0 . 0 0 5μ = 0 . 0 1μ = 0 . 0 1 5μ = 0 . 0 3

22 0.0312

xNμ

σ< =

-5

0

nmen

t [dB

]

-1 5

-1 0

Mis

alig

n

3 0

-2 5

-2 0

0 5 0 0 1 0 0 0 1 5 0 0 2 0 0 0 2 5 0 0 3 0 0 0-3 0

It e ra t i i

81

Page 82: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)( )

1 5

N = 128x(n) - randn• Aplicaţie (continuare)

5

1 0

μ = 0 . 0 0 5μ = 0 . 0 1μ = 0 . 0 1 5 2

2 0.0156xN

μσ

< =

0

5

men

t [dB

]

-1 0

-5

Mis

alig

nm

2 0

-1 5

0 5 0 0 1 0 0 0 1 5 0 0 2 0 0 0 2 5 0 0 3 0 0 0-2 0

It e ra t i i

82

Page 83: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)

N = 64x(n) - AR(1), a = 0,6• Aplicaţie (continuare)

1 5

5

1 0μ = 0 . 0 0 5

μ = 0 . 0 1μ = 0 . 0 1 5 2

2 0.0186xN

μσ

< =

-5

0

men

t [dB

]

-1 5

-1 0

Mis

alig

nm

3 0

-2 5

-2 0

0 5 0 0 1 0 0 0 1 5 0 0 2 0 0 0 2 5 0 0 3 0 0 0-3 0

It e ra t i i

83

Page 84: Controlul inteligent

Algoritmul LMS (Least Mean Square) (continuare)

N = 64x(n) - AR(1), a = 0,7• Aplicaţie (continuare)

1 5 0 0 0 5

5

1 0μ = 0 . 0 0 5

μ = 0 . 0 1μ = 0 . 0 1 5

2

-5

0

nmen

t [dB

] 22 0.0077

xNμ

σ< =

-1 5

-1 0

Mis

alig

n

3 0

-2 5

-2 0

0 5 0 0 1 0 0 0 1 5 0 0 2 0 0 0 2 5 0 0 3 0 0 0-3 0

It e ra t i i

84

Page 85: Controlul inteligent

Variante ale algoritmului LMSg

• Algoritmul NLMS (Normalized LMS)g ( )

Algoritmul LMS: ( ) ( ) ( ) ( )*1n n n e nμ+ = +w w xg ( ) ( ) ( ) ( )1n n n e nμ+ = +w w x

Avantaj: simplitate / complexitate redusă

Problema: alegerea pasului algoritmuluiProblema: alegerea pasului algoritmului

μ = constant = ?

Soluţia: alegerea unui pas “variabil” μ(n)85

Page 86: Controlul inteligent

Variante ale algoritmului LMS (continuare)

( ) ( ) ( ) ( ) ( )*1n n n e nnμ+ = +w w x

( ) ( ) ( ) ( )He n d n n n= −w x eroarea a priori

( ) ( ) ( ) ( )1Hn d n n nε = − +w x eroarea a posteriori

Scopul: ε(n) = 0 ( ) ( ) ( )1Hd n n n= +w xp ( )

( ) ( ) ( ) ( ) ( ) ( ) ( )H Hn d n n n n e n nε μ⎡ ⎤= − +⎣ ⎦w x x

( ) ( ) ( )1d n n n+w x

⎣ ⎦

( ) ( ) ( ) ( ) ( ) ( ) ( )H Hd n n n n n n e nμ= − −w x x x

( ) ( ) ( ) ( )1 H⎡ ⎤( ) ( ) ( ) ( )1 Hn n n e nμ⎡ ⎤= −⎣ ⎦x x86

Page 87: Controlul inteligent

Variante ale algoritmului LMS (continuare)Variante ale algoritmului LMS (continuare)

[ e(n) ≠ 0 ]( ) ( ) ( ) ( ) ( )1 0Hn n n e nn με ⎡ ⎤= ⎣ ⎦ =x x [ e(n) ≠ 0 ]( ) ( ) ( ) ( ) ( )1 0n n n e nn με ⎡ ⎤= ⎣ ⎦ =− x x

1( )( ) ( )

1Hn

n nμ =

x x

( ) ( ) ( ) ( )1 2 2

20

NH

kn n x n k n

== − =∑x x x

02 pentru 1

k

xN Nσ=

≈ >>

μ(n) depinde de “puterea” semnalului de intrareμ(n) depinde de puterea semnalului de intrare

87

Page 88: Controlul inteligent

Variante ale algoritmului LMS (continuare)

Consideraţii practice:

( )( ) ( )Hnn n

ηδ

μ =+ x x

Pasul algoritmului NLMS1.

η – pasul normalizat

realizează “compromisul”

δ – parametrul de regularizare

evită împărţirea prin numere miciîntre viteza de convergenţăşi dezadaptare

în situaţia când xH(n)x(n) ≈ 0

Se poate calcula recursiv:2 Se poate calcula recursiv:

( ) ( ) ( ) ( ) ( ) ( )2 21 1H Hn n n n x n x n N= − − + − −x x x x

2.

1 x , 2 +N x , N – 1 +88

Page 89: Controlul inteligent

Variante ale algoritmului LMS (continuare)

Stabilitatea algoritmului NLMS

g

⎡ ⎤( ) ( ) ( ) ( ) ( )1 Hn n n n e nε μ⎡ ⎤= −⎣ ⎦x x

( ) η ( ) [ ] ( )1n e nε η= −( )

( ) ( )Hnn nημ =

x x(Pp. δ = 0)

Condiţia de stabilitate: ( ) ( )n e nε < 1 1η− <

0 2η< <Parametrul de regularizare δ > 0gnu influenţează stabilitatea algoritmului

89

Page 90: Controlul inteligent

Variante ale algoritmului LMS (continuare)

Algoritmul NLMS

Date: 0 < η < 2 δ > 0

Iniţializare: w(0) = 0N x 1

For n = 0 1 2 nr iteraţii

Date: 0 < η < 2 , δ > 0

For n = 0, 1, 2, …, nr_iteraţii

( ) ( ) ( )( ) ( ) ( )Hy n n n= w x N x , N – 1 +

( ) ( ) ( )e n d n y n= − 1 +

( )( ) ( )Hn ημ

δ= 1 x , 3 + , 1 /

end( ) ( ) ( ) ( ) ( )*1n n n n e nμ+ = +w w x

( )( ) ( )H n nδ + x x

N + 1 x , N +

end2N + 2 x , 2N + 3 + , 1 /

90

Page 91: Controlul inteligent

Variante ale algoritmului LMS (continuare)

Observaţie:

Algoritmul NLMS poate fi privit ca o problemă deoptimizare cu constrângeri.

Funcţia cost:

( ) ( ) ( ) ( ) ( ) ( ){ }221 Re 1HJ n n n d n n nλ ⎡ ⎤= + − + − +⎣ ⎦w w w x{ }2 ⎣ ⎦

constrângerea ε(n) = 0norma variaţieimultiplicator Lagrangecoeficienţilor

( ) ( )J n∇ = 0Anularea

( ) ( )( ) ( ) ( )11 1HNn d n n n

J n ×+ = +∇ =w w x

0gradientului:

91

Page 92: Controlul inteligent

Variante ale algoritmului LMS (continuare)

( ) ( ) ( ) ( ) ( )1112n J n n n nλ+∇ = + − −⎡ ⎤⎣ ⎦w w w x

1N×= 0

( ) ( ) ( )11 λxH(n) · xH(n) ·

( ) ( ) ( )112

n n nλ+ = +w w x

( ) ( ) ( ) ( ) ( ) ( )1H H Hd*(n) – d*(n) –

( ) ( ) ( ) ( ) ( ) ( )112

H H Hn n n n n nλ+ = +x w x w x x

( ) ( ) ( )* 10 Hλ ( )*2e nλ( ) ( ) ( )0

2He n n nλ= − x x ( )

( ) ( )H n nλ =

x x

( ) ( ) ( ) ( )*11n n n e n+ = +w w x NLMS( ) ( )( ) ( )

( ) ( )1 Hn n n e nn n

+ = +w w xx x

NLMS

92

Page 93: Controlul inteligent

Variante ale algoritmului LMS (continuare)

• AplicaţieIdentificare de sistem

Filtruadaptivadaptiv

y(n)e(n)−

zg. alb gauss.

Sistem necunoscut

x(n) d(n)+zg. alb gauss.[randn]

l AR(1)

v(n)2 0 001

(ITU-T G168)N = 64 / N = 128

semnal AR(1)zg. alb gauss.x(n) = ax(n – 1) + g(n)

t ITU T G168 zg. alb gauss. σv2 = 0.001css_st – ITU-T G168

93

Page 94: Controlul inteligent

Variante ale algoritmului LMS (continuare)

5

N = 64x(n) - randn• Aplicaţie (continuare)

0

5

η = 0 .1η = 0 .5

!-1 0

-5

nmen

t [dB

]

η = 1η = 1 .5η = 2

!

-2 0

-1 5

Mis

alig

n

-3 0

-2 5

0 5 0 0 1 0 0 0 1 5 0 0 2 0 0 0 2 5 0 0 3 0 0 0It e ra t i i

94

Page 95: Controlul inteligent

Variante ale algoritmului LMS (continuare)

N = 128x(n) - randn• Aplicaţie (continuare)

5

0 1

0

5 η = 0 . 1η = 0 . 5η = 1η = 1 . 5

2

-1 0

-5

nmen

t [dB

]

η = 2

-2 0

-1 5

Mis

alig

n

-3 0

-2 5

0 5 0 0 1 0 0 0 1 5 0 0 2 0 0 0 2 5 0 0 3 0 0 0It e ra t i i

95

Page 96: Controlul inteligent

Variante ale algoritmului LMS (continuare)

N = 64x(n) - AR(1), a = 0,7• Aplicaţie (continuare)

0

5

η = 0 . 1η = 0 . 5

-1 0

-5

men

t [dB

]

ηη = 1η = 1 . 5η = 2

-2 0

-1 5

Mis

alig

nm

-3 0

-2 5

0 5 0 0 1 0 0 0 1 5 0 0 2 0 0 0 2 5 0 0 3 0 0 0It e ra t i i

96

Page 97: Controlul inteligent

Variante ale algoritmului LMS (continuare)

N = 64x(n) - randn• Aplicaţie (continuare)

0 L M S - μ = 0 0 1 5

-5

L M S - μ = 0 . 0 1 5N L M S - η = 1

-1 0

nmen

t [dB

]

-1 5

Mis

alig

0 5 0 0 1 0 0 0 1 5 0 0 2 0 0 0 2 5 0 0 3 0 0 0-2 5

-2 0

0 5 0 0 1 0 0 0 1 5 0 0 2 0 0 0 2 5 0 0 3 0 0 0

It e ra t i i

97

Page 98: Controlul inteligent

Variante ale algoritmului LMS (continuare)

N = 64x(n) - randn• Aplicaţie (continuare)

6 0 L M S 0 0 1 5x(1500)↑

4 0

5 0L M S - μ = 0 . 0 1 5N L M S - η = 1

x(1500)↑

2 0

3 0

nmen

t [dB

]

0

1 0

Mis

alig

n

3 0

-2 0

-1 0

0 5 0 0 1 0 0 0 1 5 0 0 2 0 0 0 2 5 0 0 3 0 0 0-3 0

It e ra t i i

98

Page 99: Controlul inteligent

Variante ale algoritmului LMS (continuare)

N = 64x(n) – css_st• Aplicaţie (continuare)(G168)2

-2

0

L M S μ = 0 0 1 5

-6

-4

nmen

t [dB

]

L M S - μ = 0 . 0 1 5N L M S - η = 1

-1 0

-8Mis

alig

n

1 4

-1 2

0

0 5 0 0 1 0 0 0 1 5 0 0 2 0 0 0 2 5 0 0 3 0 0 0-1 4

It e ra t i i

99