Sunteți pe pagina 1din 8

PNS Lucrarea 13

Metode parametrice de analiz spectral

Lucrarea 13 Metode parametrice de analiz spectral


Metodele neparametrice expuse anterior foloseau transformata Fourier n estimarea densitii spectrale de putere a unui semnal. Constrngerile impuse de calculul transformatei Fourier determin limitri severe n rezoluia frecvenial, limitri ce devin inacceptabile dac este necesar s se analizeze semnale de scurt durat. Mai mult, aceste metode sufer de un fenomen numit scurgere spectral (spectral leakege) ca efect al convoluiei dintre spectrul unei ferestre cu spectrul semnalului care determin o lrgire a spectrului. Acest lucru poate conduce la mascarea unor componente spectrale de amplitudine mic. Cu ajutorul metodelor parametrice o parte din dezavantajele metodelor clasice sunt nlturate. Una din principalele limitri ale metodelor neparametrice era aceea c estimatul funciei de autocorelaiei rxx [m] era zero pentru m N . Metodele moderne pornesc de la stabilirea unui model al procesului ce a generat eantioanele de date, bazat pe existena unor informaii apriori sau a unor ipoteze. Vor trebui parcurse urmtoarele etape: selectarea modelului corespunztor seriei temporale respective; estimarea (identificarea) parametrilor modelului respectiv pornind de la datele (observaiile) de care se dispune; calculul estimatorului spectral prin nlocuirea parametrilor estimai n formula densitii spectrale de putere specifice modelului. 1. Modele pentru procese aleatoare Modelele parametrice se bazeaz pe consideraia c secvena de date x[n] este ieirea unui sistem liniar caracterizat de o funcie de transfer raional de forma:
H ( z) =
k =0 p k bk z k q

(1)

1 + ak z
k =1

Ecuaia cu diferene corespunztoare este:


x[n] = ak x[n k ] + bk w[n k ]
k =1 k =0 p q

(2)

unde w[n] este secvena de date din intrarea sistemului. Cu observaia c dac semnalul de intrare este un proces staionar atunci i ieirea sistemului este un proces staionar, se poate scrie c densitatea spectral de putere a lui x[n] este:
Pxx ( f ) = H ( f ) P W(f)
2

(3)

2 Cu presupunerea c semnalul w[n] este un proces de tip zgomot alb cu dispersia W i cu medie nul densitatea spectral de putere (d.s.p.) devine: 2 2 Pxx ( f ) = W H ( f ) sau n domeniul Z Pxx ( z ) = W H ( z ) H ( z 1 ) 2

(4)

124

PNS Lucrarea 13

Metode parametrice de analiz spectral

Se pot identifica astfel trei modele corespunztoare celor trei forme sub care se poate prezenta funcia de sistem H ( z ) : modelul ARMA (autoregresiv cu medie alunectoare) denumit i poli-zerouri cu: H ( z) = b0 + b1 z 1 + ..... + bq z q 1 + a1 z 1 + .... + a p z p (5)

H(z) are q zerouri i p poli. modelul MA (medie alunectoare) denumit i numai-zerouri cu H ( z ) = b0 + b1 z 1 + .... + bq z q

(6)

modelul AR (autoregresiv) denumit i numai-poli cu :

H ( z) =

1 + a1 z

1 + ..... + a p z p

(7)

Dintre cele trei modele liniare cel mai folosit este pe departe modelul AR. Avantajele acestuia sunt: spectrul dedus cu un model AR de ordin mic are o rezoluie satisfctoare; parametrii modelului se calculeaz relativ uor n raport cu parametrii modelului ARMA. Pe de alt parte, calculul densitii spectrale de putere cu ajutorul modelului MA este ntr-un fel asemntor periodogramei, de aceea modelul MA nu este folosit n metodele parametrice. n lucrarea de fa se va trata modelul AR i calculul d.s.p. cu ajutorul acestui model.
2. Estimarea spectrului de putere pentru semnale modelate AR

Relaiile dintre funcia de autocorelaie i parametrii modelului sunt:


p ak xx [m k ] k =1 p q m 2 xx [m] = ak xx [m k ] + w h[k ]bk + m k =0 k =1 * xx [ m] m>q 0mq m<0 (8)

Dac se adopt un model AR(p) pentru datele observate, relaia dintre parametrii modelului i secvena de autocorelaie se obine din (8), pentru q=0, adic: p ak xx [m k ] k =1 p 2 xx [m] = ak xx [m k ] + w k =1 * xx [ m] m>0 m=0 m<0 (9)

n acest caz parametrii {ak} se obin din soluia sistemului de ecuaii

125

PNS Lucrarea 13
xx [0] xx [1] ... xx [ p 1]

Metode parametrice de analiz spectral


... xx [ p + 1] a1 xx [1] a [2] ... xx [ p + 2] 2 = xx . ... ... ... ... ... xx [ p 2] ... xx [0] a p xx [ p ]

xx [1] xx [0]

(10)

care reprezint ecuaiile Yule-Walker sau normale.


2 poate fi obinut din ecuaia: Dispersia w
2 w = xx [0] + ak xx [ k ] k =1 p

(11)

Ecuaiile (10) i (11) sunt de obicei combinate n una singur, de forma

xx [0] [1] xx .............. xx [ p] sau

2 ... xx [ p] 1 w a ... xx [ p + 1] . 1 = 0 ............. ... ..................... ... ........ xx [ p 1] ... xx [0] a p 0

xx [1] xx [0]

(12)

2 1 w = a 0

(13)

Realiznd inversa matricei [ ] se pot calcula parametrii modelului AR. Pentru un ordin p al modelului AR, trebuie calculate p + 1 valori ale funciei de autocorelaiei xx . O soluie recursiv eficace n mod particular pentru aceast problem se poate obine cu ajutorul algoritmului Levinson-Durbin. n afara eficacitii, sale acest algoritm permite determinarea ordinului adecvat pentru un model AR, ceea ce este deosebit de util, deoarece nu este cunoscut apriori. Algoritmul Levinson-Durbin pune n eviden faptul c eroarea de predicie este o funcie necresctoare cu ordinul modelului, nu are un minim absolut i nu permite s alegem un ordin care s fie asociat cu cea mai mic eroare din toate modelele posibile. Exist mai multe criterii folosite n alegerea ordinului modelului. Dou din cele mai bune criterii pentru selectarea ordinului modelului au fost propuse de Akaike: 1. Criteriul erorii de predicie finale FPE (Final Prediction Error) n care ordinul este selectat astfel nct s se minimizeze indicele de performan

N + p +1 FPE ( p ) = 2 p N p 1
unde 2 p este dispersia estimat a erorii de predicie liniar.

(14)

2. Criteriul informaiei Akaike AIC(p),(Akaike Information Criterion) se bazeaz pe alegerea ordinului care minimizeaz cantitatea

126

PNS Lucrarea 13

Metode parametrice de analiz spectral

AIC ( p) = ln 2 p + 2p/ N

(15)

Ordinul p al modelul se alege astfel nct s minimizeze cantitatea din (14) sau (15).
Pentru a calcula parametrii modelului trebuie cunoscute valorile funciei de autocorelaie. Acestea nu sunt cunoscute apriori, ci trebuie estimate din secvena de date avut la dispoziie, ceea ce presupune un numr de observaii mult mai mare dect ordinul modelului AR. Pentru metoda Yule-Walker exist funciile Matlab aryule respectiv pyulear. a=aryule(x,ordin) returneaz parametrii ak ai modelului AR. Argumentele de intrarea sunt: x - vectorul ce conine eantioanele semnalului al crui spectru trebuie estimat; ordin - ordinul modelului AR ales. Pxx=pyulear(x,ordin) - returneaz direct estimatul spectrului semnalului.
3. Metoda Burg

Metoda elaborat de Burg se bazeaz tot pe algoritmul Levinson-Durbin pentru a p ] , singura diferen fiind aceea c parametrii determina estimaii parametrilor modelului [a modelului AR sunt determinai direct din datele x[n] evitnd astfel estimarea autocorelaiei segmentului de date. Avantajul major este acela c metoda d rezultate bune i pentru lungimi reduse ale vectorului de date spre deosebire de metoda Yule-Walker unde, dup cum se va vedea rezultatele nu sunt satisfctoare. Apar ns i dezavantaje, precum apariia a dou linii spectrale n locul uneia singure efect denumit line splitting sau apariia unor componente spectrale (vrfuri) false la ordine prea mari. Programul Matlab permite deducerea parametrilor modelului AR cu ajutorul acestei metode folosind funcia arburg. De asemenea se poate calcula direct densitatea spectral de putere cu metoda Burg folosind funcia pburg. Acestea au sintaxa identic cu aryule i pyulear.
4. Aplicaii rezolvate Exemplul 1. Se generezeaz o secven de tip un zgomot alb, gaussian, cu medie nul i dispersie 0.25 care va fi n intrarea unui filtru cu funcia de sistem:
H ( z) = 1 . 1 + 0.5 z + 0.75 z 2
1

Obiectul acestei aplicaii este acela de a identifica procesul de tip AR i de a determina parametrii ( 2 , a1 , a2 ) care corespund datelor. Se va utiliza funcia Matlab zplane pentru a reprezenta polii i zerourile filtrului. Se va arta c spectrul semnalului filtrat este proporional cu rspunsul n frecven a filtrului.
%functia de calcul a coeficientilor cu ajutorul modelului AR function [coef, sigma2]=param_AR(semnal,ordin);

127

PNS Lucrarea 13

Metode parametrice de analiz spectral

N=length(semnal); r=xcorr(semnal,'unbiased'); [max1,pos]=max(r); autocor_semnal=r(pos:pos+ordin); matr_toeplitz=toeplitz(autocor_semnal); parametri=inv(matr_toeplitz)*[1 ;zeros(ordin,1)]; coef=parametri/parametri(1); sigma2=1/parametri(1); zplane(1,coef'); %P13_1 noise=randn(1,2048)*0.5; b=1 ;a=[1 0.5 0.75]; y=filter(b,a,noise); y=y; [coef,sigma2]=param_AR(y,2); zplane(1,coef) ; title(Polii unui proces AR deordin 2) ;

Se calculeaz apoi densitatea spectral de putere a semnalului filtrat, completnd programul P13_1 cu urmtoarele linii:
%Reprezentarea spectrului figure(2); [H,w]=freqz(sigma2,coef); plot(w/pi,abs(H)); title('Raspunsul in frecventa al filtrului'); xlabel('Frecventa normalizata'); ylabel('Amplitudine');

Observaie: Se observ cu uurin c rspunsul n frecven al filtrului cu doi poli (complexconjugai) corespunde unui Filtru Trece Band. Exemplul 2. Se genereaz 512 de eantioane dintr-un semnal sinusoidal (pur) cu frecvena de 50 Hz eantionat cu 200 Hz i e reprezent densitatea sa spectral de putere considernd acest semnal ca un proces AR, pentru care se va determina ordinul optim conform criteriului FPE a lui Akaike (relaia (14)). n cadrul acestei aplicaii se va folosi funcia aryule, funcie ce determin coeficienii modelului AR precum i eroarea ptratic folosind algoritmul Levinson-Durbin.

Sintaxa funciei aryule


[coef,sigma2]=aryule(semnal,ordin); -semnal - secvena pentru care se dorete determinarea spectrului; -ordin - ordinul p pentru care se face estimarea coeficienilor; -coef - coeficienii returnai; -sigma2 - eroarea ptratic medie.

Se genereaz o funcia dsp_ar ce calculeaz d.s.p. cunoscnd parametrii modelului AR i eroarea ptratic medie de estimare.
function [dsp,frecv]=dsp_ar(coef,sigma2,Ndsp); [H,w]=freqz(1,coef,Ndsp); plot(w/pi,abs(H));

128

PNS Lucrarea 13
dsp=sigma2*abs(H); frecv=w/2/pi;

Metode parametrice de analiz spectral

%P13_2 lung=512; n=0:lung-1; F1=50; Fs=200; y=sin(2*pi*F1/Fs*n); y=y' ; FPE=0; for ord=1:10; [coef,sigma2]=aryule(y,ord); FPE(ord)=((lung+ord+1)/(lung-ord-1))*sigma2; coef; end; [minim,ordinoptim]=min(FPE); [coef,sigma2]=aryule(y,ordinoptim); [dsp,f]=dsp_ar(coef,sigma2,lung); plot(f,dsp);title('DSP al semnalului'); xlabel('Frecventa normalizata'); ylabel('Amplitudine'); ordinoptim coef

Exemplul 3. Se genereazun semnal compus din dou sinusoide ale cror frecvene sunt: Prima sinusoid A doua sinusoid frecvena= 25 Hz frecvena= 50 Hz amplitudine = 0.1 amplitudine= 1

peste care se suprapune un zgomot alb, gaussian, centrat de dispersie 0.031. Frecvena de eantionare este de 200Hz. Se va determine ordinul optim pentru un model AR i densitatea spectral de putere a semnalului. De asemenea se va reprezenta eroarea final de predicie pe un interval cuprins n jurul ordinului optim.
function [ordin,FPE]=akaike_fpe(y,start_ord,end_ord); lung=length(y); for ord=start_ord:end_ord; [coef,sigma2]=aryule(y,ord); FPE(ord)=((lung+ord)/(lung-ord))*sigma2; end; [min1,poz]=min(FPE); ordin=start_ord+poz-1;
%P13_3 lung=512; n=0:lung-1; F1=25; F2=50; Fs=200; maxord=100; y=sin(2*pi*F1/Fs*n)+0.1*sin(2*pi*F2/Fs*n)+randn(1,lung)*0.031 ; [ordin,FPE]=akaike_fpe(y,1,maxord) ; [coef,sigma2]=aryule(y,ordin) ; [dsp,f]=dsp_ar(coef,sigma2,1024) ;

129

PNS Lucrarea 13

Metode parametrice de analiz spectral

subplot(2,1,1);plot(f,10*log10(dsp)); title('DSP');xlabel('Frecventa normalizata');ylabel('Amplitudine'); subplot(2,1,2);plot(FPE);axis([1 maxord 0 0.009]); title('FPE');xlabel('Ordinul modelului AR');ylabel('Valoare FPE');

Comparai rezultatele cu cele obinute la metodele clasice. Se va repeta exemplul de mai sus dar n acest caz se vor determina parametrii AR cu ajutorul metodei Burg. Se va substitui funcia 'aryule' cu funcia 'arburg' att n scriptul pentru exemplul 3 (P13_3) ct i n funcia 'akaike_fpe'. Repetai aceleai operaiuni i pentru lungimea vectorului de date de 30. n acest caz maxord=15.
Exemplul 4. Se genereaz un semnal definit pe 20 eantioane compus din dou sinusoide de frecven 23Hz, respectiv 36Hz i de amplitudine 1 i un zgomot alb, gaussian. Frecvena de eantionare este 100Hz iar raportul semnal zgomot este de 20dB. Folosind un model AR(4) se va reprezenta densitatea spectral de putere a semnalului cu ajutorul celor dou metode YuleWalker i Burg. Observaie: n Matlab sunt implementate funciile pyulear i pburg, funcii ce au sintaxa: Pxx=pyulear(x,ordin); sau Pxx=pburg(x,ordin); unde: x - segmentul de date; ordin ordinul p al modelului AR; Pxx - d.s.p. estimat a semnalului x.
%P13_4 lung=20; n=0:lung-1; F1=23; F2=36; Fs=100; x=sin(2*pi*F1/Fs*n)+sin(2*pi*F2/Fs*n)+randn(1,lung)*sqrt(0.01) ; X1=pyulear(x,4); X2=pburg(x,4); frecv=(0:length(X1)-1)/(2*length(X1)); plot(frecv,10*log10(X1),frecv,10*log10(X2),'r'); title('D.s.p. estimat cu metoda Y-W si Burg'); xlabel('Frecventa normalizata'); ylabel('Magnitudine (dB)'); legend('metoda Y-W','metoda Burg',-1); grid

Se observ c metoda Yule-Walker d un estimat al spectrului extrem de neted n timp, n timp ce la metoda Burg se observ o mai bun estimare, ns cu apariia unei deplasri. Concluzia este c metoda Burg este superioar metodei Yule-Walker pentru lungimi de date reduse. Ca exerciiu se poate mri lungimea segmentului de date cu un ordin de mrime (de exemplu 256) i se poate constata c cele dou metode dau rezultate asemntoare.
Exemplul 5. Pentru a pune n eviden influena alegerii ordinului modelului asupra estimatului d.s.p. se va calcula d.s.p. pentru diverse ordine p. Folosind semnalul generat anterior se va estima d.s.p. a acestuia cu metoda Burg pentru mai multe ordine ale modelului AR: AR(2), AR(4), AR(16). Comentai rezultatele.
%P13_5 lung=100; n=0:lung-1;

130

PNS Lucrarea 13

Metode parametrice de analiz spectral

F1=23; F2=36; Fs=100; x=sin(2*pi*F1/Fs*n)+sin(2*pi*F2/Fs*n)+rand(1,lung)*sqrt(0.01); Pxx1=pburg(x,2); Pxx2=pburg(x,4); Pxx3=pburg(x,16) ; frecv=(0:length(Pxx1)-1)/(2*length(Pxx1)); plot(frecv,10*log10(Pxx1));hold on; plot(frecv,10*log10(Pxx2),'r');hold on; plot(frecv,10*log10(Pxx3),'g'); legend('AR(2)','AR(4)','AR(16)',-1); xlabel('Frecventa normalizata'); ylabel('Magnitudine (dB)'); title('D.S.P. cu metoda Burg'); grid

5. Aplicaii propuse 1. S se determine efectul fazei iniiale asupra estimatului cu metoda lui Burg. n aceste se vor genera ase semnale pe 20 de eantioane de forma:

xi [n] = sin(2 f1n + 1i ) + cos(2 f 2 n + 2i ) + w[n]

(i 1) ; i = 1,..., 6 , w[n] o secven de tip zgomot 6 alb cu dispersia 0.03. Se va calcula densitatea spectral de putere cu metoda Burg pentru fiecare dintre cele ase semnale. Rezultatele se vor reprezenta pe acelai grafic.
unde f1 = 0.23 , f 2 = 0.36 , 1i = 2i = 2
2. Mrind ordinul modelului peste cel al ordinului optim, ce se observ n cazul unui semnal de tip sinus afectat de zgomot? 3. S se proiecteze un filtru trece jos FIR, prin metoda ferestrelor, de ordinul 32, cu frecvena discret de tiere de 0.2 ( f (0, 0.5) ). Fie un semnal de tip zgomot alb w[n] de medie nul i dispersie 0.1 n intrarea filtrului proiectat anterior. S se determine parametrii modelului AR(2), AR(4), AR(16) prin metoda Yule-Walker i Burg i s se reprezinte densitatea spectral de putere a semnalului din ieirea filtrului.

131