Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice



Acasa » referate » matematica
Estimare spectrala si analiza timp-frecventa in matlab

Estimare spectrala si analiza timp-frecventa in matlab



estimare spectrala si analiza timp-frecventa

Obiectivele lucrarii

Studiul estimatorilor spectrali clasici, parametrici si neparametrici

Studiul metodelor de analiza timp-frecventa a proceselor nestationare



3) Utilizarea functiilor MATLAB pentru implementarea tehnicilor de estimare spectrala si de analiza timp-frecventa;

4) Studiul interactiv al metodelor de estimare spectrala si de analiza timp-frecventa utilizand mediul DIDACTICIEL.

Desfasurarea lucrarii

Estimatorul spectral simplu

Fie un proces alb, gaussian, centrat () si de dispersie , definit pe 2048 esantioane. Sa se realizeze analiza spectrala a acestui proces utilizand estimatorul spectral simplu.

a) Sa se determine deplasarea si dispersia estimatorului.

b) Sa se refaca aceeasi analiza pentru 512, 1024 si 4096 esantioane.

c) Sa se verifice ca acest estimator este deplasat si ca dispersia sa nu depinde de durata observatiei (estimator inconsistent).

longueur_P=2048;

P=randn(1,longueur_P)*sqrt(0.25);

[spectre_simple,Frecventa]=periodo_simple(P,longueur_P);

semilogy(Frecventa,spectre_simple,'b'); 

xlabel('Frecventa normalizata');

ylabel('Amplitudine (dB)');

title('Periodograma simpla');

biais=mean(spectre_simple)

variance=std(spectre_simple)^2 

Estimatorul spectral mediat

In cazul aceluiasi proces aleator sa se realizeze analiza spectrala folosind estimatorul spectral mediat. Sa se studieze influenta numarului de secvente folosite pentru mediere. Sa se determine deplasarea si dispersia estimatorului.

longueur_sequence=256; 

[spectre_moyenne,Frecventa]=periodo_moyenne(P,longueur_sequence);

semilogy(Frecventa,spectre_moyenne,'b');

xlabel('frecventa normalizata');

ylabel('Amplitudine (dB)');

hold on;

longueur_sequence=128; 

[spectre_moyenne,Frecventa]=periodo_moyenne(P,longueur_sequence);

semilogy(Frecventa,spectre_moyenne,'--r');

title('Periodograma mediata');

legend('mediere pe 8 ferestre','mediere pe 16 ferestre');

Sa se verifice ca acest estimator este tot deplasat, dar consistent. Ce se poate spune despre variatia rezolutiei frecventiale in raport cu numarul de sectiuni mediate

Rezultatele se vor trece intr-un tabel de tipul:

Lungimea sectiunilor

Rezolutia frecventiala

Dispersia

Estimatorul spectral modificat

Sa se realizeze analiza spectrala a aceluiasi proces aleator folosind estimatorul spectral modificat. Sa se studieze influenta numarului de secvente folosite pentru mediere si a diferitelor ferestre utilizate pentru netezire. Sa se determine deplasarea si dispersia estimatorului.

fenetre=[boxcar(longueur_sequence)];

fenetre=fenetre*sqrt(longueur_sequence/ sum(fenetre.*fenetre));

fenetre=fenetre.';

[spectre_modifie,Frecventa]=periodo_modifie(P, longueur_sequence,fenetre);

semilogy(Frecventa,spectre_modifie,'b');

xlabel('frecventa normalizata');

ylabel('Amplitudine (dB)');

hold on;

title('Periodograma modificata');

Rezolutia dinamica

Sa se realizeze analiza spectrala a unui semnal compus din doua sinusoide afectate de zgomot. Parametrii componentelor semnalului sunt urmatorii:

prima sinusoida: a doua sinusoida: zgomot alb gaussian:

frecventa = 25 Hz frecventa = 50 Hz medie = 0

amplitudine = 1 amplitudine = 0.01 deviatie standard = 0.031

Frecventa de esantionare se considera 200 Hz. Lungimea a semnalului va lua valorile urmatoare : =.

Sa se testeze cei trei estimatori spectrali studiati anterior pentru: , , , si ferestrele rectangulara, Hamming si Blackman, fiind numarul de subsecvente in care este impartita secventa initiala.

longueur_signal=512;

t=0:1/200:(longueur_signal/200)-1/200;

y1=sin(2*pi*25*t); y2=0.01 * sin(2*pi*50*t);

bruit=randn(1,longueur_signal); signal=y1+y2+bruit*0.031;

[spectre_simple,Frecventa]=periodo_simple(signal, longueur_signal);

semilogy(Frecventa,spectre_simple,'b'); title('512 puncte');

longueur_sequence=256;

[spectre_moyenne,Frecventa]=periodo_moyenne(signal, longueur_sequence);

semilogy(Frecventa,spectre_moyenne,'b');

title('K=512, L=2');

longueur_sequence=256;

fenetre=[hamming(longueur_sequence)];

fenetre=fenetre*sqrt(longueur_sequence/ sum(fenetre.*fenetre));

fenetre=fenetre.';

[spectre_modifie,Frecventa]=periodo_modifie(signal, longueur_sequence,fenetre);

semilogy(Frecventa,spectre_modifie,'b');title('Hamming');

xlabel('frecventa normalizata');ylabel('Amplitudine')

Proces aleator AR

Sa se genereze un zgomot alb, gaussian, centrat, de dispersie

Sa se filtreze apoi acest semnal cu ajutorul unui filtru, avand caracteristica de transfer .

Sa se identifice procesul AR rezultat si sa se regaseasca valorile parametrilor (,,) corespunzator datelor generate. Se va presupune cunoscut ordinul procesului ().

bruit=randn(1,2048)*0.5;

b=1;a=[1 0.5 0.75];

y=filter(b,a,bruit); y=y.';

[coef,sigma2]=parametre_AR(y );

title('Polii si zerourile unui proces A.R. de ordinul 2');

ordre=2;dsp=0;



for nu=0:200

denominateur=1;

for ind=1:ordre

coef(ind+1,1);

coefm=coef(ind+1,1)*exp(-2*pi*j*ind*nu/200);

denominateur=denominateur+coefm ;

end;

dsp=[dsp sigma2/(abs(denominateur).^2)];

end

nu=

plot(nu,dsp(1,1:length(nu)));

title('Raspunsul in frecventa al filtrului');

xlabel('frecventa normalizata');

ylabel('Amplitudine');

Analiza spectrala de inalta rezolutie parametrica

Sa se genereze o sinusoida pura de frecventa 50 Hz esantionata la 200 Hz (definita pe 4096 esantioane). Reprezentati densitatea sa spectrala de putere considerand acest semnal ca un proces AR, al carui ordin se va determina folosind criteriul lui Akaike.

longueur=4096;t=0:1/200:(longueur/200)-1/200; y=sin(2*pi*50*t);y=y.';

dsp=[];FPE=zeros(1,10);

for ordre=1:10

[coef,sigma2]=parametre_AR(y,ordre);

FPE(1,ordre)=((longueur+ordre)/(longueur-ordre))*sigma2;

[mini,position]=min(FPE);

ordre_selectionne=position;

end

[coef,sigma2]=parametre_AR(y,ordre_selectionne);

for nu=0:200

denominateur=1;

for ind=1:ordre_selectionne

coef(ind+1,1);

coefm= coef(ind+1,1)*exp(-2*pi*j*ind*nu/200);

denominateur=denominateur+coefm ;

end;

dsp=[dsp sigma2/(abs(denominateur).^2)];

end

nu=0:1/200:0.5; dsp=dsp/max(dsp);

plot(nu,dsp(1,1:length(nu))); title('DSP a semnalului');

xlabel('frecventa normalizata');ylabel('Amplitudine');

Spectrograma unui semnal chirp

Un semnal MLF are urmatoarea expresie analitica:

unde , fiind durata semnalului.

a) Sa se genereze un astfel de semnal pentru .

b) Sa se reprezinte semnalul in domeniile temporal si frecvential.

c) Sa se reprezinte acelasi semnal in planul timp frecventa cu ajutorul spectrogramei.

a)

f1=2000;

f2=8000;

pulselength=

Fe=20000;

t=(0:1/Fe:pulselength);

beta=(f2-f1)/(2*pulselength);

chirp=sin(2*pi*(f1+beta*t).*t);

chirp2=vco(sawtooth((2*pi/pulselength)*t,1), [f1/Fe,f2/Fe]*Fe,Fe);

figure(1);clf;

subplot(

plot(t,chirp);

xlabel('Timp');

ylabel('Amplitudine');

title('Analiza unei modulatii liniare de frecventa')

b)

C=fftshift(abs(fft(chirp)).^2);

lc=length(chirp);

mc=lc/2;

freq=(-mc:1:mc-1)*Fe/lc;

subplot(

plot(freq,C);

xlabel('Frecventa [Hz]');

ylabel('Densitatea spectrala de putere')

c)

Wsize=32;

[Cspec,F,T] = specgram(chirp,128,Fe,Wsize);

figure(2);clf;

imagesc(1000*T,F/1000,abs(Cspec));

xlabel('Timp [ms]');

ylabel('Frecventa [kHz]');

title('Analiza unei modulatii liniare de frecventa')

Ce concluzie se poate trage in privinta informatiei aduse de cele 3 reprezentari

Compromisul rezolutie spectrala rezolutie temorala

Sa se genereze un semnal compus dintr o sinusoida si un Dirac.

Sa se analizeze acest semnal cu ajutorul spectrogramei pentru diverse dimensiuni ale ferestrei de analiza.

Sa se interpreteze rezultatele obtinute.

Fe=10000; f1=1000; f2=4000;

T=0.015; t=[0.005:1/Fe:T];

delta=0.005*Fe;

sig=[zeros(1,delta), sin(2*pi*f1*t), zeros(1,delta),

5*ones(1,1), zeros(1,2*delta)];

subplot(

plot(0:1000*(1/Fe):1000*(length(sig)/Fe-1/Fe),sig);

title('Semnal temporal');

xlabel('Timp [ms]');ylabel('Amplitudine');

[S,F,T] = specgram(sig,128,Fe,64);

subplot(312); imagesc(T*1000,F/1000,abs(S));

xlabel('Timp [ms]'); ylabel('Frecventa [kHz]');

Title('Spectrograma cu o fereastra de 64 puncte'),

[S,F,T] = specgram(sig,128,Fe,16);

subplot(313); imagesc(T*1000,F/1000,abs(S));

xlabel('Timp [ms]'); ylabel('Frecventa [kHz]');

title('Spectrograma cu o fereastra de 16 puncte')

Scalograma

Scalograma este o distributie de energie care se obtine ca modulul la patrat al transformatei wavelet continue.

a Undisoara Morlet este definita prin relatia:

Aceasta nu verifica proprietatea de medie nula. Pentru a aproxima aceasta conditie, conservand un numar mic de oscilatii Morlet a propus compromisul:

Sa se vizualizeze alura acestei undisoare pentru diversi parametri.

b) Puneti in evidenta variatiile rezolutiilor temporala si frecventiala in functie de pozitia in planul timp frecventa. Se va utiliza un semnal compus dintr un Dirac si doua sinusoide trunchiate, de frecvente diferite.



a

[onde,ts]= ond_mor(129, 10, 100);

figure(1);clf;

subplot(211);plot(ts,real(onde));

hold on;plot(ts,abs(onde),'r');

grid;title('Undisoara Morlet')

b)

Fe=64000;

f1=500; f2=8000; T=0.01;

t=[0:1/Fe:T];

delta=0.005*Fe;

sig1=[zeros(1,delta), sin(2*pi*f1*t), zeros(1,2*delta)];

sig2=[zeros(1,delta),sin(2*pi*f2*t), zeros(1,2*delta)];

sig=sig1+sig2;sig(4*delta+1:4*delta+5)=10*ones(1,5);

figure(1);subplot(212); plot(sig);

title('Semnal studiat: suma a doua sinusoide si un Dirac')

NB_OCT=8;NB_VOIES=1;

[TOnd_SIG, freqs] = morlet( sig, Fe, length(sig), Fe/2,

NB_OCT, NB_VOIES);

vec_Timp=[0:1/Fe:length(sig)/Fe]*1000;vec_freqs=[0:1:7];

figure(2);clf;colormap(gray);

imagesc(vec_Timp,vec_freqs,2*log10(abs(TOnd_SIG)));

set(gca,'YTickLabels',250*2.^([7:-1:0]));

title('Scalograma unui Dirac si doua sinusoide');

xlabel('Timp [ms]');ylabel('Frecventa [Hz]')

Distributia Wigner-Ville

a Sa se calculeze distributia Wigner-Ville a unui semnal MLF.

b) Sa se genereze un semnal compus din 3 sinusoide trunchiate: doua debutand la momentul , de frecvente si diferite, a treia debutand la momentul , de frecventa .

Sa se reprezinte distributia Wigner-Ville a acestui semnal si sa se concluzioneze asupra interferentelor temporale si frecventiale.

a)

f1=2000; f2=8000;T=0.008;Fe=20000;t=(0:1/Fe:T);

beta=(f2-f1)/(2*T); delta=0.001*Fe;

x=[zeros(1,delta), sin(2*pi*(f1+beta*t).*t),

zeros(1,delta)]; [W,Wr,abscisse]=wigner(x,Fe);

max(max(real(W)))

max(max(imag(W)))

sum(sum(W))

sum(x.^2)

b)

f1=1000;deltaf=3000;f2=f1+deltaf;

Fe=round(3*f2);T=0.01;t=[0:1/Fe:T];

deltat=0.01*Fe;marge=20;

sig1=[zeros(1,marge), sin(2*pi*f1*t),

zeros(1,T*Fe+deltat+marge)];

sig2=[zeros(1,marge),sin(2*pi*f2*t), zeros(1,T*Fe+deltat+marge)];

sig3=[zeros(1,marge+T*Fe+deltat),sin(2*pi*f1*t), zeros(1,marge)]; sig=sig1+sig2+sig3;

[W,Wr,fwv,abscisse]=wigner(sig,Fe); [N1,N2]=size(W);

figure(2);clf; zoom on ;

subplot(311); milieuf=round(((f1+f2)/2)/(Fe/2)*N1);

plot(abscisse,Wr(milieuf,:)); xlabel('Timp (ms)');

title('Studiul interferentelor')

subplot(312);milieut=round(marge+T*Fe+deltat);

plot(fwv,Wr(:,milieut));xlabel('Frecventa [kHz]')

subplot(313);repere=round(marge+T/2*Fe);

plot(fwv,Wr(:,repere));xlabel('Frecventa [kHz]')

Analiza multirezolutie

Sa se studieze cu ajutorul analizei multirezolutie un semnal format dintr o sinusoida cu zgomot. Pentru analiza se va folosi undisoara lui Haar.

Sa se realizeze sinteza aceluiasi semnal plecand de la coeficientii descompunerii si sa se arate ca este posibila filtrarea semnalului anuland o parte dintre acestia.

clear;Fe=5000;taille=1024;

Timp=[1:1:taille]/Fe;numpts=length(Timp);

data=sin(2*pi*25*Timp)+rand(1,taille);

[approx,detail]=analysehaar(data);

newsig=synthesehaar(approx,detail);

selection=detail;selection(8:10,:)=zeros(3,numpts);

sig_debruite=synthesehaar(approx,selection);

figure(1);clf; zoom on

for plt = 1:size(detail,1),

subplot(10,2,2*(plt-1)+1),plot(Timp,detail(plt,1:numpts));

grid;

if (plt == 1),

title('Detaliu');

end;

if (plt == 10);

xlabel('Timp [s]');

end

end

for plt = 1:size(approx,1),

subplot(10,2,2*plt),plot(Timp,approx(plt,1:numpts));grid

if (plt == 1),

title('Aproximare');

end;

if (plt == 10);

xlabel('Timp [s]');

end

end

figure(2);clf;zoom on;

subplot(311);plot(Timp,data);title('Semnal original');

subplot(312);plot(Timp,newsig);title('Semnal reconstruit');

subplot(313);plot(Timp,sig_debruite);

title('Semnal filtrat');xlabel('Timp [s]')

Studiul operatorilor de estimare spectrala si analiza timp frecventa utilizand mediul DIDACTICIEL

1) Se lanseaza DIDACTICIEL-ul prin introducerea comenzii:

didact

2) Se studiaza interactiv operatorii de estimare spectrala si analiza timp frecventa cu ajutorul meniurilor definite in:

Fourier analysisParametric Models

Fourier analysisEstimators

Deep StudyTime-Frequency Analysis

Tema

Sa se realizeze analiza spectrala folosind algoritmul MUSIC a unui semnal compus din doua sinusoide afectate de zgomot. Parametrii componentelor semnalului sunt urmatorii:

prima sinusoida:  a doua sinusoida: zgomot alb gaussian:

frecventa = 25 Hz frecventa = 30 Hz medie = 0

amplitudine = 1 amplitudine = 1 deviatie standard=0.25

Frecventa de esantionare se considera 100 Hz. Se considera ca se dispune de 32 esantioane ale semnalului util.

(Indicatie: matricea de autocorelatie se estimeaza folosind subsecvente ale semnalului, obtinute prin parcurgerea acestuia cu o fereastra glisanta de lungime 16, iar dimensiunea subspatiului semnal se considera egala cu 4).





loading...




Politica de confidentialitate

.com Copyright © 2020 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.


Proiecte

vezi toate proiectele
 PROIECT DE LECTIE CLASA: a X a EDUCATIE MUZICALA - OPERA IN GERMANIA SI RUSIA
 PROIECT DIDACTIC 3-5 ani Limba si comunicare - Strugurele, de Maria Gaitan
 Proiect instalatii electrice - Sa se proiecteze instalatia electrica si de forta a unei microintreprinderi la alegerea studentului
 PROIECT - Ingineria reglarii automate - sistemul de reglare automata a unei actionari cu motor electric

Lucrari de diploma

vezi toate lucrarile de diploma
 LUCRARE DE DIPLOMA - Rolul asistentului medical in ingrijirea pacientului cu A.V.C.
 Relatiile diplomatice dintre Romania si Austro- Ungaria din a doua jumatate a secolului al XIX-lea
 Lucrare de diploma managementul firmei “diagnosticul si evaluarea firmei”
 Lucrare de diploma tehnologia confectiilor din piele si inlocuitor - proiectarea constructiv tehnologica a unui produs de incaltaminte tip cizma scurt

Lucrari licenta

vezi toate lucrarile de licenta
 Lucrare de licenta contabilitate si informatica de gestiune - politici si tratamente contabile privind leasingul (ias 17). prevalenta economicului asupra juridicului
 Lucrare de licenta educatie fizica si sport - studiu asupra imbunataȚirii motricitaȚii in lectia de educatie fizica la clasele a v-a de la &
 Lucrare de licenta ecologie si protectia mediului - aspecte ecologice privind fauna de orthoptere si mantide din parcul national muntii macinului
 LUCRARE DE LICENTA - Asigurarea calitatii la firma Trans

Lucrari doctorat

vezi toate lucrarile de doctorat
 Diagnosticul ecografic in unele afectiuni gastroduodenale si hepatobiliare la animalele de companie - TEZA DE DOCTORAT
 Doctorat - Modele dinamice de simulare ale accidentelor rutiere produse intre autovehicul si pieton
 LUCRARE DE DOCTORAT ZOOTEHNIE - AMELIORARE - Estimarea valorii economice a caracterelor din obiectivul ameliorarii intr-o linie materna de porcine

Proiecte de atestat

vezi toate proiectele de atestat
 PROIECT ATESTAT INFORMATICA - GESTIONAREA STOCULUI UNEI FARMACII
 LUCRARE DE ATESTAT ELECTRONIST - TEHNICA DE CALCUL - Placa de baza
 Evidenta a clientilor dar si a serviciilor in Visual Fox pro 9 - Lucrare de atestat
 Lucrare atestat Tehnician in turism - CALITATEA SERVICIILOR TURISTICE




Forme patratice
Modele cu ecuatii simultane
Formula dreptunghiurilor de stinga
Locuri geometrice
Constructia unei baze ortonormate, pornind de la o baza data
PARTEA INTREAGA A UNUI NUMAR REAL CU O PROPRIETATE MAI PUTIN CUNOSCUTA
TRIUNGHIUL - Test 1
Estimare spectrala si analiza timp-frecventa in matlab




Termeni si conditii
Contact
Creeaza si tu