Documente Academic
Documente Profesional
Documente Cultură
(1)
1 + ak z
k =1
(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
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)
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
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)
125
PNS Lucrarea 13
xx [0] xx [1] ... xx [ p 1]
xx [1] xx [0]
(10)
(11)
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
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
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.
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;
%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
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
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:
(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