8/2/2019 Indrumar metodic PS
1/50
MINISTERUL EDUCAIEI al REPUBLICII MOLDOVA
UNIVERSITATEA TEHNIC A MOLDOVEI
Catedra Automatic i Tehnologii Informaionale
ndrumar pentru lucrri de laboratorla disciplina
Chiinu 2011
8/2/2019 Indrumar metodic PS
2/50
2
Elaborat dr.conf. Romanenko Alexandru
8/2/2019 Indrumar metodic PS
3/50
3
Cuprins
Introducere ..................................................................................... 4
Lucrare de laborator Nr.1 ............................................................... 5Lucrare de laborator Nr.2 ............................................................. 13
Lucrare de laborator Nr.3 ............................................................. 24
Lucrare de laborator Nr.4 ............................................................. 35
Lucrare de laborator Nr.5 ............................................................. 41
Lucrare de laborator Nr.6 ............................................................. 47
Bibliografia .................................................................................. 50
8/2/2019 Indrumar metodic PS
4/50
4
Introducere
Acest ndrumar metodic este alctuit din 6 laboratoare, care vor ajuta studenii la studiereaprincipiilor de baz de prelucrare a semnalelor digitale utiliznd pachetul de programe MATLAB 6.5.0.
Trecnd acest curs de laboratoare studentul va cunoate: calculele matematice principale care stau labaza teoriei de prelucrare a semnalelor digitale; va utiliza, n practic, operaiile de baz, efectuate asuprasemnalelor n procesul lor de prelucrare; va studia, dup posibilitile proprii, toate funciile i
posibilitile pachetului de programe MATLAB, care, ntr-un mod oarecare, sunt legate de prelucrareadigital semnalelor; va fi capabil s creeze programe n mediul MATLAB i s creeze m-file; s cunoascmai detaliat pachetul MATLAB i posibil va continua studierea MATLAB i aprofundarea n potenialulimens al acestuia utilizat n alte domenii.
Acest ndrumar nu este necesar de considerat ca un manual, capabil s predea teoria prelucrriisemnalelor n mod ideal.Scopul principal este atragerea studenilor i a profesorilor spre studierea unuiaa mediu de calcul tehnic, vizualizarea i programarea matematic, cum este MATLAB. Studierea iutilizarea MATLAB, precum idetalierea n el este dorina insistenti pozitiv a autorului.
n acest ndrumar sunt prezentate un numrdeosebit de programe, mprite pelucrri de laboratorn corespundere cu tema lucrrii. Este recomandabil, ndeosebi, introducerea, prelucrarea i analizafiecrei programe prezentaten fiecare laborator.
De asemenea, este recomandat de studiat compartimentul HELP al pachetului MATLAB, ncepndcu toi operatorii, funciile i cuvintelespeciale ale domeniului MATLAB, reprezentate n fiecare lucrarede laborator.
Matematicafundamentul oricrei tiine. Autorul sincer recomand tuturor, n special matematiciii programatorii, s utilizeze mediul MATLABn aplicarea domenilor sale pozitive.
8/2/2019 Indrumar metodic PS
5/50
5
Lucrare de laborator Nr.1Tema: Semnale digitale discrete.
Sarcina: S nvm a generara, vizualiza i transforma diferite tipuri de secvene elementare.
Noiuni TeoreticePrelucrarea digital a semnalelor transformarea unui semnal digital, numit semnal de intrare,ntr-
un alt semnal, numitsemnal de ieire, i care posed anumite proprieti dorite.Uneori este necesar s seextrag principalele proprieti ale semnalelor (proprietile cheie) prin aplicarea, asupra acestora, a unoralgoritmi de prelucrare. Este posibil s se identifice proprietile sistemului discret prin analizasemnalelor de ieire la aplicarea anumitor semnale de intrare ale sistemului studiat. n acest caz, estenecesar, pentru nceput, de a ne nvaa generarea unor semnale discrete de baz n mediul MATLAB i dea efectua operaii elementare asupra lor, ceea ce determin sarcina iniial a acestei lucrri de laborator. Adoua sarcin principal va fi studierea unor comenzi de baz a mediului MATLAB i aplicarea lorspecific n problemele de prelucrare a semnalelor digitale.
La pornirea aplicaiei MATLAB urmeaz s deschidei un nou mfile, s introducei n el textul unui
anumit program. Dup verificarea textului de erori urmeaz pornirea programului (tastai F5), eventualsalvnd-o (Ctrl+S).
Comenzile MATLAB utilizate:
Operatori i simboluri speciale: . + - * / ; %
Matrici elementare i operaiile asupra lori ones pi rand randn zeros
Funcii elementare
cos exp imag real
Grafic bidimensionalaxis grid legend plot stairs stem title xlabel ylabel
Funcii grafice de uz generalclf subplot
Program 1_1Destinat pentru generarea i vizualizarea segenelor elementare.
% Program P1_1
% Generarea unei secvene de elementeclf% Generarea vectorului de la -10 pn la 20n= -10 : 20;% Generarea secveneloru=[zeros(1,10) 1 zeros(1,20)];% Afiarea secvenelor la ecranstem(n,u);xlabel('Timpul n');ylabel('Amplitudinea');title('Secvena de elemente');axis([-10 20 0 1.2]);
8/2/2019 Indrumar metodic PS
6/50
6
-10 -5 0 5 10 15 200
0.2
0.4
0.6
0.8
1
Timpul n
Amplitudinea
Secvena de elemente
Program 1_2Una dintre principalele tipuri de reprezentare a semnalelor discretesecvena exponeial. Astfel de
tip de secven poate fi generat cu ajutorul urmtorilor operatori MATLAB: .^ i exp. Programul estedestinat pentru a genera o secven de numere exponeniale definite prin numere complexe.
% Program P1_2% Generarea secvenelor exponeniale complexeclf;c=-(1/12)+(pi/6)*i;K=2;n=0:40;x=K*exp(c*n);subplot(2,1,1);stem(n,real(x));xlabel('Timpul n');ylabel('Amplitudinea');title('Partea real');subplot(2,1,2);
stem(n,imag(x));xlabel('Timpul n');ylabel('Amplitudinea');title('Partea imaginara');
8/2/2019 Indrumar metodic PS
7/50
7
0 5 10 15 20 25 30 35 40-2
-1
0
1
2
Timpul n
Amp
litudinea
Partea real
0 5 10 15 20 25 30 35 40-1
0
1
2
Timpul n
Amp
litudinea
Partea imaginara
Program 1_3Este destinat pentru a genera o secven de numere exponeniale definite real.% Program P1_3% Generarea de secvene exponeniale reale
clf;n=0:35;a=1.2;K=0.2;x=K*a.^n;stem(n,x);xlabel('Timpul n');ylabel('Amplitudinea');
8/2/2019 Indrumar metodic PS
8/50
8
0 5 10 15 20 25 30 350
20
40
60
80
100
120
Timpul n
Amplitudinea
Program 1_4Este util o aa clas de semnale digitale, ca semnalele descrise printr-o sinusoid prezentate n
numere reale. Aa fel de semnale sinusoidale pot fi generate n MATLAB cu ajutorul operatorilortrigonometrici sin i cos.
% Program P1_4% Generarea secvenelor sinusoidaleclf;n=0:40;f=0.1;phase=0;A=1.5;arg=2*pi*f*n - phase;x=A*cos(arg);stem(n,x); % Concluzia secvenelor generateaxis([0 40 -2 2]);grid;title('Sinusoida');xlabel('Timpul n');ylabel('Amplitudinea');axis;
8/2/2019 Indrumar metodic PS
9/50
9
0 5 10 15 20 25 30 35 40-2
-1.5
-1
-0.5
0
0.5
1
1.5
2Sinusoida
Timpul n
Amplitudinea
Program 1_5Un exemplu tipic de prelucrare a semnalului digital este separarea semnalului de zgomot de la
semnalul distorsionat de zgomot. Fie s[n] semnal distorsionat de un zgomot aliatoriu d[n] i ca urmareredarea unui semnal x[n]=s[n] + d[n]. Obiectivul principal convertirea semnalului x[n] astfel, pentru aprimi y[n] care va fi maximal ct mai aproape de semnalul original s[n]. Cel mai simplu algorimt-mediu:y[n] = (x[n-1] + x[n] = x[n+1]), ceea ce execut programul de mai jos.
% Program P1_5% ndreptarea semnalului prin mediereclf;R=51;d=0.8*(rand(R,1)-0.5); % Generarea zgomotului aleatorium=0:R-1;s=2*m.*(0.9.^m); % Generarea semnalului curatx=s+d'; % Generarea semnalului distorsionat de zgomotsubplot(2,1,1);
plot(m,d','r-',m, s,'g--',m, x,'b-.');xlabel('Timpul n');ylabel('Amplitudinea');legend('d[n] ','s[n] ','x[n] ');x1=[0 0 x]; x2=[0 x 0]; x3=[x 0 0];y=(x1+x2+x3)/3;subplot(2,1,2);plot(m,y(2:R+1),'r-',m,s,'g--');legend('y[n] ','s[n] ');xlabel('Timpul n');ylabel('Amplitudinea');
8/2/2019 Indrumar metodic PS
10/50
10
0 5 10 15 20 25 30 35 40 45 50-5
0
5
10
Timpul n
Amplitudinea
d[n]
s[n]
x[n]
0 5 10 15 20 25 30 35 40 45 500
2
4
6
8
Timpul n
Amplitudinea
y[n]
s[n]
Program 1_6Pentru a transmite un semnal de frecven mult mai joas pe canalul de comunicare , semnalul este
convertit ntr-un semnal de frecen nalt prin modularea semnalului. Semnalul modulat de frecvennalt este demodulat la receptor, n urma cruia i apare semnalul de frecven joas.Aici vei studia
funcionarea a dou tipuri de scheme de modulare: modularea de amplitudine i modularea deamplitudine n quadratur.
n modularea de amplitudine, amplitudinea semnalului sinusoidal de frecven nalt A*cos(0 n),numit ipurttoare de semnal, semnalul variabil de frecven naltx[n], numit i semnal modulat, caregenereazsemnal de frecen nalt, numit semnal modulaty[n], care se calculeaz dup formula:
y[n] = A x[n] cos(0 n)% Program P1_6% Generarea secvenelor modulate de aplitudineclf;n=0:150;
m=0.8;fH=0.1;fL=0.01;xH=sin(2*pi*fH*n);xL=sin(2*pi*fL*n);y=(1+m*xL).*xH;stem(n,y);grid;xlabel('Timpul n');ylabel('Amplitudinea');
8/2/2019 Indrumar metodic PS
11/50
11
0 50 100 150-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Timpul n
Amplitudinea
Program 1_7Frecvena semnalului sinusoidal este egal cu prima derivat a fauzei de timp . De aceea, pentru
obinerea semnalului cu frecvena liniar dependent de timp, argumentul semnalului surs trebuie s fie ofuncie patratic de timp. Presupunem c argumentul are forma: an2+bn. Programul 1_7 genereaz unastfel tip de semnal.
% Program P1_7% Generarea semnalului sinusoidal cu o frecven purificatn=0:100;a=pi/2/500;b=0;arg=a*n.*n+b*n;x=sin(arg);clf;stem(n,x);axis([0, 100, -1.5, 1.5]);
title('Semnal sinusoidal cu frecven purificat');xlabel('Timpul n');ylabel('Amplitudinea');grid;axis;
8/2/2019 Indrumar metodic PS
12/50
12
0 10 20 30 40 50 60 70 80 90 100-1.5
-1
-0.5
0
0.5
1
1.5Semnal sinusoidal cu frecven purificat
Timpul n
Amplitudinea
8/2/2019 Indrumar metodic PS
13/50
13
Lucrare de laborator Nr.2Tema: Sisteme discrete n timp continuu sau discretScopul lucrrii: De a nva cum screm diferite sisteme n conformitate cu sistemul iniial.
Noiuni teoreticeSistemele discrete n timp convertesc semnalul de intrare n domeniul de timp cu scopul de a obine
la ieire un semnal cu proprieti dorite. Asupra semnalului de intrare se aplic diferii, care constau noperaii simple. Scopul acestei lucrri de laborator const n prezentarea ctorva tipuri simple de discrete,cu prorprietile lor.
ntr-un sistem liniar n timp discret pentru un semnal de intrare x[n]=x1[n]+x2[n] ca rspuns vomavea y[n]=y1[n]+y2[n] unde y1[n] i y2[n] sunt rspunsuri la secvenele corespuntoare x1[n] x2[n].
ntr-un sistem discret n timp continuu ca rspuns la semnalul de intrare x[n]=x1[n-n0] va fisemnalul y[n]=y1[n-n0] unde n0numr intregnenul i y1[n] raspuns la x1[n].
Sistemul continuu dup valori i n timp cotinuu (system continuu ,Linear Time-Invariant-LTI)satisfice ambele criterii de liniaritate i continuitate.
Dac y1[n] i y2[n] sunt rspunsuri ale unui sistem discret cauzal la intrrile corespunztoare u1[n] iu2[n], atunci u1[n]= u2[n] cnd n
8/2/2019 Indrumar metodic PS
14/50
14
Programul 2_1Prezentarea unui filtru simplu cu M-vrfuri, numrul crora se introduce de ctre utilizator.% Programul P2_1% Simularea filtrului FIR de o lungime arbitrara% generarea semnalului de intrareclf; n=0:100;
s1=cos(2*pi*0.05*n); % semnal de o frecventa joasas2=cos(2*pi*0.47*n); % semnal de o frecventa inaltax=s1+s2;% Realiyarea filtrului FIRM=input('Lungimea dorita a filtrului = ');num=ones(1,M);y=filter(num,1,x)/M;% Afisarea semnalelor de intare si de isiresubplot(2,2,1);plot(n,s1);axis([0, 100, -2, 2]);xlabel('Timpul n'); ylabel('Amplituda');title('semnal #1');
subplot(2,2,2);plot(n,s2);axis([0, 100, -2, 2]);xlabel('Timpul n'); ylabel('Amplituda');title('semnal #2');subplot(2,2,3);plot(n,x);axis([0, 100, -2, 2]);xlabel('Timpul n'); ylabel('Amplituda');title('Semnalul de intrare');subplot(2,2,4);plot(n,y);axis([0, 100, -2, 2]);
xlabel('Timpul n'); ylabel('Amplituda');title('Semnalul de iesire');axis;
8/2/2019 Indrumar metodic PS
15/50
15
0 50 100-2
-1
0
1
2
Timpul n
Am
plituda
semnal #1
0 50 100-2
-1
0
1
2
Timpul n
Am
plituda
semnal #2
0 50 100-2
-1
0
1
2
Timpul n
Am
plituda
Semnalul de intrare
0 50 100-2
-1
0
1
2
Timpul n
Am
plituda
Semnalul de iesire
Programul 2_2Programul de mai jos poate fi folosit pentru generarea semnalului de intrare x[n], compus din suma
a dou secvene sinusoidale.
% Programul P2_2
% generarea semnalului sinusoidal de intrareclf;n=0:200;x=cos(2*pi*0.05*n);% Calcularea semnalului de iesirex1 = [x 0 0]; % x1[n] = x[n+1]x2 = [0 x 0]; % x2[n] = x[n]x3 = [0 0 x]; % x3[n] = x[n-1]y=x2.*x2 + x1.*x3;y=y(2:202);% Vizualizarea semnalului de intre si a celui de iesire subplot(2,1,1);plot(n,x);xlabel(Timpul n); ylabel(Amplituda);
title(semnalul de intrare);subplot(2,1,2);plot(n,y);xlabel(Timpul n); ylabel(Amplituda);title('Semnalul de iesire');
8/2/2019 Indrumar metodic PS
16/50
16
0 20 40 60 80 100 120 140 160 180 200-1
-0.5
0
0.5
1
Timpul n
Am
plituda
semnalul de intrare
0 20 40 60 80 100 120 140 160 180 200-0.5
0
0.5
1
1.5
2
Timpul n
Amp
lituda
Semnalul de iesire
Programul 2_3n programul acesta este realizat sistemul reprezentat prin urmtoarea expresie:y[n]-0.4y[n-1]+0.75y[n-2]=2.2403x[n]+2.4908x[n-1]+2.2403x[n-2].
Se genereaz treisecvene de intrare x1[n], x2[n] x[n]=a*x1[n]+b*x2[n]. Se calculeaz treisecvene de ieire y1[n], y2[n] y[n], cu reprezentarea lor grafic.
% Programul P2_3% Generarea secvenelor de iesireclf;n=0:40;a=2; b=-3;x1=cos(2*pi*0.1*n);x2=cos(2*pi*0.4*n);x=a*x1+b*x2;num=[2.2403 2.4908 2.2403];den=[1 -0.4 0.75];
ic=[0 0]; % initializareay1=filter(num,den,x1,ic); % Calcularea semnalului de iesire y1[n]y2=filter(num,den,x2,ic); % Calcularea semnalului de iesire y2[n]y=filter(num,den,x,ic); % Calcularea semnalului de iesire y[n]yt=a*y1+b*y2;d=y-yt; % calcularea abaterii d[n]%Vizualizarea semnalelor de iesire si a semnalului de abateresubplot(3,1,1);stem(n,y);ylabel('Amplituda ');
title('Semnalul de iesire, conform semnalului de intrare incarcat : a\cdot x_{1}[n] + b \cdot x_{2}[n]');
subplot(3,1,2);
stem(n,yt);ylabel('Amplituda');title('semnalul de iesire incarcat : a \cdot y_{1}[n] + b \cdot y_{2}[n]');subplot(3,1,3);
8/2/2019 Indrumar metodic PS
17/50
17
stem(n,d);xlabel('Timpul n'); ylabel('Amplituda');title('semnalul diferential ');
0 5 10 15 20 25 30 35 40-40
-20
0
20
Amplituda
Semnalul de iesire, conform semnalului de intrare incarcat : a x1[n] + b x
2[n]
0 5 10 15 20 25 30 35 40-40
-20
0
20
Amplituda
semnalul de iesire incarcat : a y1[n] + b y
2[n]
0 5 10 15 20 25 30 35 40-5
0
5x 10
-15
Timpul n
Amplituda
semnalul diferential
Programul 2_4Pentru aceast expresie se creaz sistemul ce o simuleaz:y[n]-0.4y[n-1]+0.75y[n-2]=2.2403x[n]+2.4908x[n-1]+2.2403x[n-2]. Dou secvene de intrare
diferite x[n] i x[n-D]. Se calculeaz i se vizualizeaz corespunztor doua secvenzede ieirei abatereay1[n]y2[n+D].
% Programul P2_4% Generarea secventelor de intrareclf; n=0:40; D=10; a=3.0; b=-2;x=a*cos(2*pi*0.1*n)+b*cos(2*pi*0.4*n);xd=[zeros(1,D) x];num=[2.2403 2.4908 2.2403]; den=[1 -0.4 0.75];ic=[0 0]; % setarea conditiilor initiale%Calcularea semnalului de iesire y[n]y=filter(num,den,x,ic);% Calcularea semnalului de iesire yd[n]yd=filter(num,den,xd,ic);% Calcularea semnalului deabatere d[n]d=y-yd(1+D:41+D);%Afisarea graficelor semnalelor de iesiresubplot(3,1,1);stem(n,y);ylabel('Amplituda');title('Semnalul de iesire y[n]'); grid;
subplot(3,1,2);stem(n,yd(1:41));ylabel('Amplituda');
8/2/2019 Indrumar metodic PS
18/50
18
title(['iesirea,la intirzierea semnalului la intrarex[n',num2str(D),']']); grid;
subplot(3,1,3);stem(n,d);xlabel('Timpul n'); ylabel('Amplituda');title('semnalul de abatere'); grid;
0 5 10 15 20 25 30 35 40-40
-20
0
20
Amp
litu
da
Semnalul de iesire y[n]
0 5 10 15 20 25 30 35 40-40
-20
0
20
Am
plitu
da
iesirea, la intirzierea semnalului la intrare x[n 10]
0 5 10 15 20 25 30 35 40-1
0
1
Timpul n
Amp
litu
da
semnalul de abatere
Programul 2_5Aici se calculeaz i se afieaz la ecran impulsul rspunsului sistemului, corespunztor expresiei:y[n]-0.4y[n-1]+0.75y[n-2]=2.2403x[n]+2.4908x[n-1]+2.2403x[n-2].
% Programul P2_5% calcularea impulsului de raspuns yclf;N=40;num=[2.2403 2.4908 2.2403];den=[1 -0.4 0.75];
y=impz(num,den,N);% Reprezentareagrafic a impulsului de raspunsstem(y);xlabel('Timpul n'); ylabel('Amplituda');title('Impulsul de raspuns'); grid;
8/2/2019 Indrumar metodic PS
19/50
19
0 5 10 15 20 25 30 35 40-3
-2
-1
0
1
2
3
4
Timpul n
Amplituda
Impulsul de raspuns
Programul 2_6Programul acesta realizeaz sistemul de 4 conditii: y[n]+1.6y[n-1]+2.28y[n-2]+1.325y[n-
3]+0.68y[n-4] = 0.06x[n]-0.19x[n-1]+0.27x[n-2]-0.26x[n-3]+0.12x[n-4] i Sisteme cascade :Etapa 1: y1[n]+0.9y1[n-1]+0.8y1[n-2]=0.3x[n]-0.3x[n-1]+0.4x[n-2];
Etapa 2: y2[n]+0.7y2[n-1]+0.85y2[n-2]=0.2y1[n]-0.5y1[n-1]+0.3y1[n-2];
% Programul P2_6% Realizarea cascadelorclf;x=[1 zeros(1,40)]; % Generarea semnalului de intraren=0:40;% Coeficientii sistemului de gradul 4den=[1 1.6 2.28 1.325 0.68];num=[0.06 -0.19 0.27 -0.26 0.12];% calcularea semnalului de ieasire asistemului de gradul 4 y=filter(num,den,x);% Coefocoentii sistemelordegradul 2num1=[0.3 -0.2 0.4]; den1=[1 0.9 0.8];
num2=[0.2 -0.5 0.3]; den2=[1 0.7 0.85];% Semnalul de iesire y1[n] a primei etape a cascadeiy1=filter(num1,den1,x);% Semnalul deiesire y2[n] etapei a doua a cascadeiy2=filter(num2,den2,y1);% abaterea dintre y[n] si y2[n]d=y-y2;% Graficele semnalelor de iesire si a abateriisubplot(3,1,1);stem(n,y);ylabel('Amplituda');title('afisarea realizrii de gradul 4'); grid;subplot(3,1,2);
stem(n,y2);ylabel('Amplituda');title('Afisarea realizarii cascada'); grid;subplot(3,1,3);
8/2/2019 Indrumar metodic PS
20/50
20
stem(n,d);xlabel('Timpul n'); ylabel('Amplituda ');title('semnalul abaterii'); rid;
0 5 10 15 20 25 30 35 40-0.5
0
0.5
1
Amplituda
afisarea realizarii de gradul 4
0 5 10 15 20 25 30 35 40-1
0
1
Amplituda
Afisarea realizarii cascada
0 5 10 15 20 25 30 35 40-1
0
1
Timpul n
Amplituda
semnalul abaterii
Programul 2_7Operaiunea de convoluie se realizeaz n MATLAB cu comanda conv. Pentru aceasta se folosescdou secvene finite i de aceeai lungime.
% Programul P2_7
clf;
h=[3 2 1 -2 1 0 -4 0 3]; % raspuns de impuls
x=[1 -2 3 -4 3 2 1]; % secventa deintrare
y=conv(h,x);
n=0:14;
subplot(2,1,1);
stem(n,y);
xlabel('Timpul n'); ylabel('Amplituda');
title('Semnalul de iesire,obtinut in urma convolutiei'); grid;
x1=[x zeros(1,8)];
y1=filter(h,1,x1);
subplot(2,1,2);
stem(n,y1);
xlabel('Timpul n'); ylabel('Amplituda');
title('Semnalul de iesire obtinut in urma filtrarii'); grid;
8/2/2019 Indrumar metodic PS
21/50
21
0 2 4 6 8 10 12 14-20
-10
0
10
20
Timpul n
Am
plituda
Semnalul de iesire,obtinut in urma convolutiei
0 2 4 6 8 10 12 14-20
-10
0
10
20
Timpul n
Am
plituda
Semnalul de iesire obtinut in urma filtrarii
Programul 2_8Programul calculeaz suma valorilor absolute ale raspunsului inpuls
% Programul P2_8% Testarea stabilitatii bazat pe suma valorilor absolute ale elementelor
raspuns impulsclf;num=[1 -0.8]; den=[1 1.5 0.9];N=200;h=impz(num,den,N+1);parsum=0;for k=1:N+1;
parsum=parsum+abs(h(k));if abs(h(k))
8/2/2019 Indrumar metodic PS
22/50
22
0 20 40 60 80 100 120 140 160 180 200-3
-2
-1
0
1
2
3
Timpul n
Amplituda
Programul 2_9
Aici se prezint dou sisteme: y[n] = 0.5x[n]+0.27x[n-1]+0.77x[n-2]i y[n] = 0.45x[n] +0.5x[n-1]+0.45x[n-2]+0.53y[n-1]-0.46y[n-2].
% Programul P2_9% Generarea semnalului deintareclf;n=0:299;x1=cos(2*pi*10*n/256);x2=cos(2*pi*100*n/256);x=x1+x2;% Calcularea secvenelor de iesirenum1=[0.5 0.27 0.77];
y1=filter(num1,1,x); % Iesirea sistemului #1den2=[1 -0.53 0.46];num2=[0.45 0.5 0.45];y2=filter(num2,den2,x); % Iesirea sistemului #2% Graficele secventelor de iesiresubplot(2,1,1);plot(n,y1); axis([0 300 -2 2]);ylabel('Amplituda');title('semnalul de iesire #1'); grid;subplot(2,1,2);plot(n,y2); axis([0 300 -2 2]);xlabel('Timpul n'); ylabel('Amplituda');title(semnalul de iesire#2'); grid;
8/2/2019 Indrumar metodic PS
23/50
23
0 50 100 150 200 250 300-2
-1
0
1
2
Ampl
itu
da
semnalul de iesire #1
0 50 100 150 200 250 300-2
-1
0
1
2
Timpul n
Amp
litu
da
semnalul de iesire#2
8/2/2019 Indrumar metodic PS
24/50
24
Lucrare de laborator Nr.3Tema: Studierea transformrilor: transformata Fourier n timp discret (DTFT) i transformata-Z.Sarcina: De a studia gsirea tranformatei Fourier i de dezvluit proprietile sale.
Consideraii teoreticeTransformata Fourrier n timp discret (DTFT) (Discret-Time Fourier Transform) X(ej) a unui
semnal discretx[n]este o funcie continu de . Dup cum MATLAB lucreaz exclusiv doar cu vectori,X(e
j) poate fi determinat n anumite secvene discrete date. Mai mult ca att, poate fi studiat doar aceaclas deDTFT care este deteminat conform funciei raionale de la e-j dup formula urmtoare:
(1)Cea mai important caracterisitic a semnalului iniial este transformata Fourier proprie. Dac
semnalul iniial este determinat de o funcief(t), definit pe axa real, atunci transformata lui Fourier estedeterminat prin formula:
dttfeFiwt
)()(2
(2)
Funcia )(F sau modulul ei este interpretat ca intensitatea semnalului iniial la frecvena .Transformarea invers este dat de o formul similar:
dFetfiwt
)()(2
(3)
Cele mai importante proprieti ale transformatei Fourier sunt: pentru simplitate, legtura dintrefuncia i transformata sa Fourier va fi notat astfel: )()( wFtf . Dac ),()(),()( wGtgwFtf
atunci )()()()( wbGwaFtbgtaf i )()(2
wFeatfiwa
.
Convoluia a dou funcii este funcia )(*)()( tgtfth
, redat prin formula:
dxxgxtfth )()()( .
Are loc relaia )()()( wGwFth .Relaia bilateral are forma: )(*)()()( wGwFtgtf .Vorbind la general, nu ne asumm faptul c funciaf(t)este real. Dac ntr-adevr este aa, atunci
)()( wFwF
i )(2)( wwiFxf . Aceast formul este obinut prin diferenierea oficial aconinutului de sub integrala din formula (3).
Comenzile MATLAB utilizate:Comenzi de uz generaldispOperatori i simboluri speciale: . + - * / ; % < > .* ^ .^ ~=Construcii sintacticeBreak end error for function if input pause
Matrici elementare i operaiile asupra lorfliptr i pi zeros
Funcii elementareabs angle conj exp imag real rem
Funcii de interpolare i polinomialeconvGrafic bidimensional
8/2/2019 Indrumar metodic PS
25/50
25
axis grid plot stem title xlabel ylabelFuncii grafice de uz generalclf subplot
Funcii de lucru cu irurinum2str
Funcii ale transformatei Fourier i de analiz a datelor
fft ifft max minFuncii ale pachetului de prelucrare a semnalelorFreqz impz residuez tf2zp zp2cos zp2tf zplane
Program 3_1
Programul dat servete pentru realizarea i vizualizarea transformrii DTFT, corespunztoareexpresiei date mai sus.
% Program P3_1% Aprecierea DTFT
clf;% Calcularea valorilor frecvenelor DTFTw=-4*pi:8*pi/511:4*pi;num=[2 1]; den=[1 -0.6];h=freqz(num,den,w);% Graficul DTFTsubplot(2,1,1);plot(w/pi,real(h)); gridtitle('Partea real H(e^{j\omega})');xlabel('\omega /\pi');ylabel('Amplitudinea');subplot(2,1,2);plot(w/pi,imag(h)); gridtitle('Partea imaginar H(e^{j\omega})');xlabel('\omega /\pi');ylabel('Amplitudinea');pausesubplot(2,1,1);plot(w/pi,abs(h)); gridtitle('Spectru de valori |H(e^{j\omega})|');xlabel('\omega /\pi');ylabel('Aplitudinea');subplot(2,1,2);plot(w/pi,angle(h)); gridtitle('Spectru de faze arg[H(e^{j\omega})]');xlabel('\omega /\pi');ylabel('Faza n radiani');
8/2/2019 Indrumar metodic PS
26/50
26
Rezultatul programului 3_1:
-4 -3 -2 -1 0 1 2 3 40
2
4
6
8Partea real H(ej)
/
Amplitudinea
-4 -3 -2 -1 0 1 2 3 4-4
-2
0
2
4Partea imaginar H(ej)
/
Amplitudinea
-4 -3 -2 -1 0 1 2 3 40
2
4
6
8Spectru de valori |H(ej)|
/
Aplitudinea
-4 -3 -2 -1 0 1 2 3 4-2
-1
0
1
2Spectru de faze arg[H(ej)]
/
Faza
n
radiani
8/2/2019 Indrumar metodic PS
27/50
27
Program 3_2Programul dat servete pentru pentru identificarea proprietilor de modificare n timp a
transformatei DTFT.
% Program P3_2% Proprietile DTFT de modificare n timpclf;w=-pi:2*pi/255:pi;wo=0.4*pi;D=10;num=[1 2 3 4 5 6 7 8 9];h1=freqz(num,1,w);h2=freqz([zeros(1,D) num],1,w);subplot(2,2,1);plot(w/pi,abs(h1));gridtitle('Spectru de valori a secvenei iniiale');subplot(2,2,2);plot(w/pi,abs(h2));grid
title('Spectru de valori a unei secvene modificate n timp');subplot(2,2,3);plot(w/pi,angle(h1));gridtitle('Spectrul de faze a secvenei iniiale');subplot(2,2,4);plot(w/pi,angle(h2));gridtitle('Spectrul de faze a secvenei modificate n timp');
Rezultatul programului 3_2:
-1 -0.5 0 0.5 10
20
40
60Spectru de valori a secvenei iniiale
-1 -0.5 0 0.5 10
20
40
60Spectru de valori a unei secvene modificate n timp
-1 -0.5 0 0.5 1-4
-2
0
2
4Spectrul de faze a secvenei iniiale
-1 -0.5 0 0.5 1-4
-2
0
2
4Spectrul de faze a secvenei modificate n timp
8/2/2019 Indrumar metodic PS
28/50
28
Program 3_3Programul dat servete pentru identifcarea proprietilor de modificare a frecvenei DTFT.% Program P3_3% Proprietatea de modificare a frecvenei DTFTclf;
w=-pi:2*pi/255:pi; wo=0.4*pi;num1=[1 3 5 7 9 11 13 15 17];L=length(num1);h1=freqz(num1,1,w);n=0:L-1;num2=exp(wo*i*n).*num1;h2=freqz(num2,1,w);subplot(2,2,1);plot(w/pi,abs(h1)); gridtitle('Spectrul de valori a secvenei iniiale');subplot(2,2,2);plot(w/pi,abs(h2)); gridtitle('Spectrul de valori a secveelor cu frecvena modificat');
subplot(2,2,3);plot(w/pi,angle(h1)); gridtitle('Spectrul de faze a secvenei iniiale');subplot(2,2,4);plot(w/pi,angle(h2)); gridtitle('Spectrul de faze a secvenelor cu frecvena modificat');
Rezultatul programului 3_3:
-1 -0.5 0 0.5 10
50
100Spectrul de valori a secvenei iniiale
-1 -0.5 0 0.5 10
50
100Spectrul de valori a secveelor cu frecvena modificat
-1 -0.5 0 0.5 1-4
-2
0
2
4Spectrul de faze a secvenei iniiale
-1 -0.5 0 0.5 1-4
-2
0
2
4Spectrul de faze a secvenelor cu frecvena modificat
8/2/2019 Indrumar metodic PS
29/50
29
Program 3_4Aici este identificat proprietatea de convoluie a transformatei DTFT.% Program P3_4% Proprietatea de convoluie a DTFTclf;w=-pi:2*pi/255:pi;x1=[1 3 5 7 9 11 13 15 17];
x2=[1 -2 3 -2 1];y=conv(x1,x2);h1=freqz(x1,1,w);h2=freqz(x2,1,w);hp=h1.*h2;h3=freqz(y,1,w);subplot(2,2,1);plot(w/pi,abs(hp)); grid;title('Modulul spectrului');subplot(2,2,2);plot(w/pi,abs(h3)); grid;title('Spectrul de valori a secvenei de convoluie');subplot(2,2,3);
plot(w/pi,angle(hp)); grid;title('Suma de faze a spectrului');subplot(2,2,4);plot(w/pi,angle(h3)); grid;title('Spectrul de faze a secvenei de convoluie');
Rezultatul programului 3_4
-1 -0.5 0 0.5 10
50
100Modulul spectrului
-1 -0.5 0 0.5 10
50
100Spectrul de valori a secvenei de convoluie
-1 -0.5 0 0.5 1-4
-2
0
2
4Suma de faze a spectrului
-1 -0.5 0 0.5 1-4
-2
0
2
4Spectrul de faze a secvenei de convoluie
8/2/2019 Indrumar metodic PS
30/50
30
Program 3_5Acesta este programul de evaluare a proprietii de modulare a transformrii DTFT.
% Program P3_5% Proprietatea de modulare a DTFTclf;w=-pi:2*pi/255:pi;
x1=[1 3 5 7 9 11 13 15 17];x2=[1 -1 1 -1 1 -1 1 -1 1];y=x1.*x2;h1=freqz(x1,1,w);h2=freqz(x2,1,w);h3=freqz(y,1,w);subplot(3,1,1);plot(w/pi,abs(h1)); gridtitle('Spectrul de valori din prima secven');subplot(3,1,2);plot(w/pi,abs(h2)); gridtitle('Spectrul de valori din a doua secven');subplot(3,1,3);
plot(w/pi,abs(h3)); gridtitle('Spectrul de valori din secvena final');
Rezultatul programului:
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10
50
100Spectrul de valori din prima secven
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10
5
10Spectrul de valori din a doua secven
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10
50
100Spectrul de valori din secvena final
8/2/2019 Indrumar metodic PS
31/50
31
Program 3_6Aici este dezvluit proprietatea de inversare a timpului n trasformarea DTFT.
% Program P3_6% Proprietatea de inversare a timpului DTFTclf;w=-pi:2*pi/255:pi;
num=[1 2 3 4];L=length(num)-1;h1=freqz(num,1,w);h2=freqz(fliplr(num),1,w);h3=exp(w*L*i).*h2;subplot(2,2,1);plot(w/pi,abs(h1)); gridtitle('Spectrul de valori a secvenei iniiale');subplot(2,2,2);plot(w/pi,abs(h3)); gridtitle('Spectrul de valori a secvenei cu timp inversat');subplot(2,2,3);plot(w/pi,angle(h1)); grid
title('Spectrul de faze a secvenei iniiale');subplot(2,2,4);plot(w/pi,angle(h3)); gridtitle('Spectrul de faze a secvenei cu timp inversat');
Rezultatul programului:
-1 -0.5 0 0.5 12
4
6
8
10Spectrul de valori a secvenei iniiale
-1 -0.5 0 0.5 12
4
6
8
10Spectrul de valori a secvenei cu timp inversat
-1 -0.5 0 0.5 1-4
-2
0
2
4Spectrul de faze a secvenei iniiale
-1 -0.5 0 0.5 1-4
-2
0
2
4Spectrul de faze a secvenei cu timp inversat
8/2/2019 Indrumar metodic PS
32/50
32
Program 3_7Aceast program este utilizat pentru a ilustra principiul de schimbare ciclic a secvenelor de lungime
fix. Pentru aceasta este utilizat funcia MATLAB circshift.
% Program P3_7% Ilustrarea principiului de schimbare ciclic a secvenelorclf;M=6;a=[0 1 2 3 4 5 6 7 8 9];b=circshift(a,M);L=length(a)-1;n=0:L;subplot(2,1,1);stem(n,a);axis([0,L,min(a),max(a)]);title('Secvena iniial');subplot(2,1,2);stem(n,b);axis([0,L,min(a),max(a)]);title('Secvena obinut prin schimbarea ciclic');
Rezultatul programului:
0 1 2 3 4 5 6 7 8 9
0
2
4
6
8
Secvena iniial
0 1 2 3 4 5 6 7 8 90
2
4
6
8
Secvena obinut prin schimbarea ciclic
Program 3_8Aici se dezvluie proprietatea de schimbare ciclic n timpul transformrii DTFT.
% Programul P3_8% Proprietatea DTFT de schimbare ciclic n timpclf;x=[0 2 4 6 8 10 12 14 16];N=length(x)-1; n=0:N;y=circshift(x,5);XF=fft(x);YF=fft(y);
subplot(2,2,1);stem(n,abs(XF)); gridtitle('DFT a secvenei iniiale');subplot(2,2,2);
8/2/2019 Indrumar metodic PS
33/50
33
stem(n,abs(YF)); gridtitle('DFT a secvenei cu schimbare ciclic n timp');subplot(2,2,3);stem(n,angle(XF)); gridtitle('Faza DFT a secvenei iniiale');subplot(2,2,4);stem(n,angle(YF)); gridtitle('Faza DFT a secvenei cu schimbare ciclic n timp');
Rezultatul programului:
0 2 4 6 80
20
40
60
80DFT a secvenei iniiale
0 2 4 6 80
20
40
60
80DFT a secvenei cu schimbare ciclic n timp
0 2 4 6 8-4
-2
0
2
4Faza DFT a secvenei iniiale
0 2 4 6 8-4
-2
0
2
4Faza DFT a secvenei cu schimbare ciclic n timp
Program 3_9Aici vom stabili legtura ntre transformrile DFT ale prilor secvenelor periodice pare i
periodice impare ale numerelor reale cu transformarea DFT a acestei secvene.
% Programul P3_9% Legtura ntre transformrile DFT periodice pare i impare% a prilor secvenelor ale numerelor realex=[1 2 4 2 6 32 6 4 2 zeros(1,247)];x1=[x(1) x(256:-1:2)];xe=0.5*(x+x1);XF=fft(x);XEF=fft(xe);clf;k=0:255;subplot(2,2,1);plot(k/128,real(XF)); grid;ylabel('Amplitudinea');title('Re(DFT\{x[n]\})');subplot(2,2,2);plot(k/128,imag(XF)); grid;ylabel('Amplitudinea');
title('Im(DFT\{x[n]\})');subplot(2,2,3);plot(k/128,real(XEF)); grid;xlabel('Timpul n');
8/2/2019 Indrumar metodic PS
34/50
34
ylabel('Amplitudinea');title('Re(DFT\{x_{e}[n]\})');subplot(2,2,4);plot(k/128,imag(XEF)); grid;xlabel('Timpul n');ylabel('Amplitudinea');title('Im(DFT\{x_{e}[n]\})');
Rezultatul programului:
0 0.5 1 1.5 2-50
0
50
100
Amplitudinea
Re(DFT{x[n]})
0 0.5 1 1.5 2-100
-50
0
50
100
Amplitudinea
Im(DFT{x[n]})
0 0.5 1 1.5 2-50
0
50
100
Timpul n
Amplitudinea
Re(DFT{xe[n]})
0 0.5 1 1.5 2
-0.5
0
0.5
x 10-14
Timpul n
Amplitudinea
Im(DFT{xe[n]})
8/2/2019 Indrumar metodic PS
35/50
35
Lucrare de laborator Nr.4
Tema:Sisteme discrete liniare n timp continuu cercetate n domeniul de frecvenScopul lucrii:De studiat proprietile de baz ale sistemelor discrete n timp continuu n domeniul
de frecven.
Noiuni teoreticeOrice sistem discret liniar n timp continuu este complet caracterizat de domeniul de frecven n
secvena de impulsuri de raspuns. Astfel semnalul de ieire poate fi obinut pentru orice sistem de aa tipprin convoluia secvenei de intrare cu secvena impulsului de raspuns al ei. Anumite categorii de astfel desisteme, de asemenea, pot fi caracterizate printr-o ecuaie (de difereniere) liniar cu coefcieni constani.Pentru aceste categorii de sisteme semnalul de ieire poate fi calculat recursiv pentru orice secven deintrare. Aplicnd DTFT sau transformata-z la rezultatul convolutiei sau la ecuaia de difereniere,sistemele discrete liniare i continue n timp pot fi carcterizate in domeniul de frecven. Acest tip despecificarea sistemelor furnizeaz informaii suplimentare despre comportamentul sistemului, pe lng
faptul c o astfel de specificare a sistemelor acord posibiliti mai uoare de proiectri, realizri iutilizri n diferite aplicaii.
Comenzile MATLAB utilizate:
Comenzi de uz generaldispOperatori i simboluri speciale: . + - * / ; %
Construcii sintacticefunction pause
Matrici elementare i operaiile asupra lorfliplr pi
Funcii elementarecos abs angle imag log10 real
Grafic bidimensionalaxis plot stem title xlabel ylabel grid
Funcii grafice de uz general
clf subplot
Funcii pachetului de prelucrare a semnalelorfilter impz filtfilt fregz grpdelay poly2rc sinc zplane
Programul 4_1n acestprogram se calculeaz aproximarea de sus. Se folosete funcia sinc din sistemul MATLAB%Programul P4_1% raspunsul impuls filtrului idealclf;fc=0.25;
n=[-6.5:1:6.5];y=2*fc*sinc(2*fc*n);k=n+6.5;stem(k,y); title('N=13'); axis([0 13 -0.2 0.6]);
8/2/2019 Indrumar metodic PS
36/50
36
xlabel('Timpul n'); ylabel('Amplituda'); grid
Rezultatul programului:
0 2 4 6 8 10 12-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6N=13
Timpul n
Amplituda
Programul 4_2Programul calculeaz rspunsul propriu al filtrului de frecven joas.
% Programul P4_2% Rspunsul propriu al filtrului de frecven joas.clf;
M=2;num=ones(1,M)/M;w=0:pi/255:pi;h=freqz(num,1,w);g=20*log10(abs(h));plot(w/pi,g); gridaxis([0 1 -50 0.5]);xlabel('\omega /\pi'); ylabel('Adaugare');title(['M = ',num2str(M)]);
8/2/2019 Indrumar metodic PS
37/50
37
Rezultatul programului:
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-50
-45
-40
-35
-30
-25
-20
-15
-10
-5
0
/
Adaugare
M = 2
Programul 4_3
Cu ajutorul programul dat putem analiza proprietile celor patru tipuri de funcii de transfer carecaracterizeaz filtrele:
Tipul 1: Rspunsul impuls simetric de lungime impar;
Tipul 2: Rspunsul impuls simetric de lungime par;
Tipul 3: Rspunsul impuls asimetric de lungime impar;
Tiplu 4: Rspunsul impuls asimetric de lungime par.
% Programul P4_3% Punctele zero FIR filtrelor in faza liniaraclf;b=[1 -8.5 30.5 -63];
num1=[b 81 fliplr(b)];num2=[b 81 81 fliplr(b)];num3=[b 0 -fliplr(b)];num4=[b 81 -81 -fliplr(b)];n1=0:length(num1)-1;n2=0:length(num2)-1;subplot(2,2,1); stem(n1,num1);xlabel('Timpul n'); ylabel('Amplituda'); gridtitle('Tipul 1 FIR filtrului');subplot(2,2,2); stem(n2,num2);xlabel('Timpul n'); ylabel('Amplituda'); gridtitle('Tip 2 FIR filtrului');subplot(2,2,3); stem(n1,num3);
xlabel('Timpul n'); ylabel('Amplituda'); gridtitle(' Tip 3 FIR filtrului ');subplot(2,2,4); stem(n2,num4);xlabel('Timpul n'); ylabel('Amplituda'); grid
8/2/2019 Indrumar metodic PS
38/50
38
title('Tip 2 FIR filtrului');pausesubplot(2,2,1); zplane(num1,1);title(' Tip 1 FIR filtrului ');subplot(2,2,2); zplane(num2,1);title(' Tip 2 FIR filtrului ');subplot(2,2,3); zplane(num3,1);title('Tip 3 FIR filtrului');subplot(2,2,4); zplane(num4,1);title('Tip 4 FIR filtrului');disp('Zeroul FIR filtrului de Tip 1');disp(roots(num1));disp(' Zeroul FIR filtrului de Tip 2');disp(roots(num2));disp(' Zeroul FIR filtrului de Tip 3');disp(roots(num3));disp(' Zeroul FIR filtrului de Tip 4');disp(roots(num4));
Rezultatul programului:
0 2 4 6 8-100
-50
0
50
100
Timpul n
Amplituda
Tipul 1 FIR filtrului
0 5 10-100
-50
0
50
100
Timpul n
Amplituda
Tip 2 FIR filtrului
0 2 4 6 8-100
-50
0
50
100
Timpul n
Amplituda
Tip 3 FIR filtrului
0 5 10-100
-50
0
50
100
Timpul n
Amplituda
Tip 2 FIR filtrului
8/2/2019 Indrumar metodic PS
39/50
39
-1 0 1 2 3
-1
0
1
8
Real Part
Imagin
aryPart
Tip 1 FIR filtrului
-2 0 2 4
-2
-1
0
1
2
9
Real Part
Imagin
aryPart
Tip 2 FIR filtrului
-2 0 2 4 6
-2
0
2
8
Real Part
Imaginary
Part
Tip 3 FIR filtrului
-1 0 1 2 3
-1
0
1
9
Real Part
Imaginary
Part
Tip 4 FIR filtrului
b = 1.0000 -8.5000 30.5000 -63.0000
Zeroul FIR filtrului de Tip 12.9744
2.0888
0.9790 + 1.4110i
0.9790 - 1.4110i
0.3319 + 0.4784i
0.3319 - 0.4784i
0.4787
0.3362
Zeroul FIR filtrului de Tip 2
3.7585 + 1.5147i
3.7585 - 1.5147i0.6733 + 2.6623i
0.6733 - 2.6623i
-1.0000
0.0893 + 0.3530i
0.0893 - 0.3530i
0.2289 + 0.0922i
0.2289 - 0.0922i
Zeroul FIR filtrului de Tip 34.7627
1.6279 + 3.0565i
1.6279 - 3.0565i
-1.0000
1.0000
0.1357 + 0.2549i
0.1357 - 0.2549i
0.2100
Zeroul FIR filtrului de Tip 4
3.41391.6541 + 1.5813i
1.6541 - 1.5813i
-0.0733 + 0.9973i
-0.0733 - 0.9973i
1.0000
0.3159 + 0.3020i
0.3159 - 0.3020i
0.2929
8/2/2019 Indrumar metodic PS
40/50
40
Programul 4_4Acest program prezint cercetarea stabilitii a filtrului numeric IIR. Stabilitatea filtrului
ereprezint o calitate foarte important a filtrului. Filtrul numeric IIR este stabil dac polii funciei detransfer se afl n interiorul cercului unitate.
% Programul P4_4
% Test de verificare a stabilitatiiclf;den=input('Introduceti coeficientii de numitor:');ki=poly2rc(den);disp('Parametrii testului de stabilitate: ');disp(ki);
Exemplu:
Introduceti coeficientii de numitor:10
Parametrii testului de stabilitate:
>>
8/2/2019 Indrumar metodic PS
41/50
41
Lucrare de laborator Nr.5Tema: Prelucrarea digital a semnalelor continue n timp.Sarcina: De a studia restabilirea unui semnal continuu dintr-un semnal discret dat, cu o cantitate
minim de pierderi.
Consideraii teoreticeAlgoritmii de prelucrare a semnalelor discrete sunt adesea aplicate asupra semnalelor continue ntimp. Aceast lucrare de laborator permite studierea algoritmilor principali de transformare asemnalelor continue n semnale discrete, mai apoi, dup aplicarea corespunztoare a algoritmilor detransformare, va avea loc transformarea semnalului ntr-un semnal continuu echivalent lui, dup
posibilitate cu cantiti minime de cheltuieli.Restabilirea semnalului discret: sarcinade gsit condiiile necesare, cu ajutorul crora semnalul
poate fi restabilit conform eantioanului discret. nainte de toate:2/)]()([)2cos( 000 wwwwtw .
Transformata Fourier a secvenei
Fie avem un semnal x(t), i este ales un pas de discretizare S. Funcia este nlocuit printr-osecven )(][ nSxny .Definiie. Transformata Fourier a unei secvene este numit funcia
n
wiSnenywY
2][)( (4).
Funcia )(wY este o funcie periodic. Deseori, pentru simplitate, vom presupune S=1, i n acestcaz perioada funciei este egal cu 1. Aceasta este diferena fundamental ntre transformatele Fouriera funciilor i a secvenelor. n acelai timp, ambele transformate sunt strns legate ntre ele. Fie avem
n
nSttu )()( , atunci
dtetxtuwY wit2)()()( (5),
adic, este transformata Fourier a produsului a dou funcii, dintre care una este funciegeneralizat. Conform teoriei generale, transformata Fourier a produsului a dou funcii este egal cuconvoluia de imagini ale factorilor. Pentru simplificarea notaiilor S=1. Gsim
)(wU
dtetu
wit2)( . Punem
N
Nn
iwt
NdtentwU
2)()( =
N
Nn
iwne
2 . Atragem atenia la
faptul c, aceasta este o funcie periodic cu perioada egal cu 1, prezentat ca suma progresieigeometrice.
Avemiw
wNiiNw
N
e
eewU
2
)1(22
1)(
. nmulim numrtorul i numitorul la iwe .
Obinem)sin(
))2/1(2sin()(w
wNwUN
.
n apropierea la
c
c
c
c
Ndw
iw
wNwdwwUw
))2/1(2sin()()()( se pretinde ctre N la
)0( . Pentru orice S se poate de scris formula: SS
nwSnt /)()( (6).
Relaiile dintre transformatele Fourier de tip discret i continue. Frecventa Nyquist.
Utiliznd formulele (5) i (6) i, presupunnd adevrat declaraia despre transformarea Fourier dela produsul a dou funcii, primim relaiile:
)(*)()( wXwUwY
unde )()( wXtx ,
de unde reiese:
8/2/2019 Indrumar metodic PS
42/50
42
SS
nwXwY /)()( (7)
Aceast formul stabilete legtura ntre transformata Fourier de tip continuu i cea de tip discret.Dup cum urma de ateptat, )(wY are perioada S/1 , ceea ce este n concordan cu (4).
Comenzile MATLAB utilizate
Comenzi de uz generalLength sizeOperatori i simboluri speciale: . + - * / ; % == ~ & |
Matrici elementare i operaiile asupra lorones linspace pi
Funcii elementareabs cos expGrafic bidimensionalaxis grid plot stem title xlabel ylabel
Funcii grafice de uz generalclf grid plot stem subplot
Funcii ale pachetului de prelucrare a semnalelorbutter buttord cheb1ord cheb2ord cheby1 cheby2 ellipellipord freqz sinc
8/2/2019 Indrumar metodic PS
43/50
43
Program 5_1
Aici vom transforma condiionat un semnal continuu ntr-un semnal discret corespunztor, curedarea ambelor grafice.
% Program P5_1% Ilustrarea procesului de discretizare n domeniul de timpclf;t=0:0.0005:1;
f=13;xa=cos(2*pi*f*t);subplot(2,1,1);plot(t,xa); grid;xlabel('Timpul, msec');ylabel('Amplitudinea');title('Semnal continuu n timp x_{a}(t)');axis([0 1 -1.2 1.2]);subplot(2,1,2);T=0.1;n=0:T:1;xs=cos(2*pi*f*n);k=0:length(n)-1;
stem(k,xs); grid;xlabel('Timpul n');ylabel('Amplitudinea');title('Semnal discret n timp x[n]');axis([0 (length(n)-1) -1.2 1.2]);
Rezultatul programului:
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-1
-0.5
0
0.5
1
Timpul, msec
Amplitudinea
Semnal continuu n timp xa(t)
0 1 2 3 4 5 6 7 8 9 10
-1
-0.5
0
0.5
1
Timpul n
Amplitudinea
Semnal discret n timp x[n]
Program 5_2
Aici vom restabili semnalul continuu din semnalul discret deja existent. n ambele cazuri vomprimi o secven cu o valoare finit de elemente, dar secvena semnalului continuu rezultat va fi maiaproape de continuitate. Restabilirea are loc n timp.
8/2/2019 Indrumar metodic PS
44/50
44
%Program P5_2% Demonstrarea efectului de imaginaie n domeniul de timpclf;T=0.1; f=13;n=(0:T:1)';xs=cos(2*pi*f*n);t=linspace(-0.5,1.5,500)';ya=sinc((1/T)*t(:,ones(size(n))) - (1/T)*n(:,ones(size(t)))')*xs;plot(n,xs,'o',t,ya);grid;xlabel('Timpul, msec');ylabel('Amplitudinea');title('Semnalul continuu restabilit y_{a}(t)');axis([0 1 -1.2 1.2]);
Rezultatul programului:
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Timpul, msec
Amplitudinea
Semnalul continuu restabilit ya(t)
Program 5_3
Programul dat deasemenea restabilite semnalul continuu dintr-un semnal discret existent, darutilizeaz alt algoritm care lucreaz cu frecena.
% Program P5_3% Demonstrarea efectului de imaginaie n domeniul de frecvenclf;t=0:0.005:10;xa=2*t.*exp(-t);subplot(2,2,1);plot(t,xa); grid;xlabel('Timpul, msec');ylabel('Amplitudinea');title('Semnal continuu x_{a}(t)');
subplot(2,2,2);wa=0:10/511:10;ha=freqs(2,[1 2 1],wa);plot(wa/(2*pi),abs(ha)); grid;
8/2/2019 Indrumar metodic PS
45/50
45
xlabel('Frecvena, KHz');ylabel('Amplitudinea');title('|X_{a}(j/Omega)|');axis([0 5/pi 0 2]);subplot(2,2,3);T=1;n=0:T:10;xs=2*n.*exp(-n);k=0:length(n)-1;stem(k,xs); grid;xlabel('Timpul n');ylabel('Amplitudinea');title('Semnal discret n timp x[n]');subplot(2,2,4);wd=0:pi/255:pi;hd=freqz(xs,1,wd);plot(wd/(T*pi),T*abs(hd)); grid;xlabel('Frecvena, KHz');ylabel('Amplitudinea');title('|X(e^{j/omega})|');axis([0 1/T 0 2]);
Rezultatul programului:
0 5 100
0.2
0.4
0.6
0.8
Timpul, msec
Amplitudinea
Semnal continuu xa(t)
0 0.5 1 1.50
0.5
1
1.5
2
Frecvena, KHz
Amplitudinea
|Xa(j/Omega)|
0 5 100
0.2
0.4
0.6
0.8
Timpul n
Amplitudinea
Semnal discret n timp x[n]
0 0.5 10
0.5
1
1.5
2
Frecvena, KHz
Amplitudinea
|X(ej/omega)|
Program 5_4
Aici se demostreaz lucrul filtrului analogic, utilizat la restabilirea semnalului continuu.
% Program P5_4% Proiectarea filtrului analogicclf;Fp=3500; Fs=4500;Wp=2*pi*Fp; Ws=2*pi*Fs;
[N,Wn]=buttord(Wp,Ws,0.5,30,'s');[b,a]=butter(N,Wn,'s');wa=0:(3*Ws)/511:3*Ws;h=freqs(b,a,wa);
8/2/2019 Indrumar metodic PS
46/50
46
plot(wa/(2*pi),20*log10(abs(h))); grid;xlabel('Frecvena, Hz');ylabel('Adugare');title('Rspunsul de cretere');axis([0 3*Fs -60 5]);
Rezultatul programului:
0 2000 4000 6000 8000 10000 12000-60
-50
-40
-30
-20
-10
0
Frecvena, Hz
Adu
gare
Rspunsul de cretere
8/2/2019 Indrumar metodic PS
47/50
47
Lucrare de laborator Nr.6Tema: Structura filtrelor numerice
Scopul lucrrii: De a nva cum se construiesc diferite structuri a filtrelor n dependen deproprietile dorite a viitoarelor structuri.
Noiuni generalen aceast lucrare de laborator se analizeaz diferite structuri de filtre (paralel i cascad).
Structura definit a filtrelor permite cptarea relaiilor corespunztoare (convenabile ) ntrevariabilele interne, i, n consecin, semnalul de ieire corespunztor.
Orice cauzalitate IIR(Infinite Impulse Response filtru cu caracteristic infinit a impulsului)filtrul se caracterizeaz prin funcia de transformare:
Filtrele numerice sunt cazuri particulare ale sistemelor liniare invariante. Limitarea semnificativdatorat realizrii fizice a sistemului.
Definiie: Sistema este numit fizic realizabil,dac semnalul la ieire n momentul de timp tdepinde de semnalul de intrare n momentul de timp t.
Fie un SLI (sistem liniar invariant) T. S analizm ntrun punct al secvenei0,0][,1]0[: tt .
Fie ]}[{}{ nhT , i prin definiie ][][ kttk
. Pentru secvena arbitrar ]}[{ nx este valid
extinderea k
kkxnx ][]}[{ . De liniaritate
k
kTkxnxT },{][]}[{ iar de invariantitii
]}[{}{ knhTk
. n cele din urm, n cazul n care ]}[{]}[{ nxTny , atunci k
knhkxny ][][][
(9).
Cu alte cuvinte, reacia la orice secven se obine prin convoluia acestei secvene i secvena]}[{ nh , numit impuls de raspuns sau funcia de rspuns.
Comenzile MATLAB utilizate:Comenzi de uz generalDisp length
Operatori i simboluri speciale: . + - * / ; %
Matrici elementare i operaiile asupra lorones pi
Funcii pachetului de prelucrare a semnalelorresidue latc2tf poly2rc residuez tf2latc zp2sos
Programul 6_1Cu ajutorul funciei din MATLAB zp2sos programul calculeaz coeficieniiH(z)apelnd funcia
de tranziie.% Programul P6_1% Tratarea funciei de tranziie n forma coeficienti
8/2/2019 Indrumar metodic PS
48/50
48
num=input('Vectorul coeficientilor numaratorului:');den=input('Vectorul coeficientilor numitorului: ');[z,p,k]=tf2zp(num,den); sos=zp2sos(z,p,k);Exemplu:
Vectorul coeficientilor numaratorului:[10,20,30]
Vectorul coeficientilor numitorului: [12,34,45]
sos = 0.8333 1.6667 2.5000 1.0000 2.8333 3.7500
Programul 6_2Exist dou forme paralele de realizare funciei de conversie cauzale IIR. Prima forma se bazeaz
pe poriuni de spaiu dat, n funcie de z-1. Ea se realizeaz cu ajutorul funciei MATLAB residuez. Iarforma a doua depinde dezi se realizeaz cu ajutorul funciei MATLAB residue.
% Programul P6_2% Realizarea in forma paralela a functiei de tranzitie IIRnum=input('Vectorul coeficientilor numaratorului ');den=input('Vectorul coeficientiloe numitorului ');[r1,p1,k1]=residuez(num,den);[r2,p2,k2]=residue(num,den);disp('Forma paralela 1')disp('Ramasite: '); disp(r1);disp('Polii: '); disp(p1);disp('Constanta: '); disp(k1);disp('Forma paralela 2')disp('Ramasite: '); disp(r2);disp('Polii: '); disp(p2);disp('Constanta: '); disp(k2);
Rezultatul rularii programului:
Vectorul coeficientilor numaratorului [10,20,30]
Vectorul coeficientiloe numitorului [12,34,45]
Forma paralela 1
Ramasite:0.0833 + 0.1736i
0.0833 - 0.1736i
Polii:
-1.4167 + 1.3202i
-1.4167 - 1.3202i
Constanta:0.6667
Forma paralela 2
Ramasite:-0.3472 - 0.1359i
-0.3472 + 0.1359i
Polii:
-1.4167 + 1.3202i
-1.4167 - 1.3202i
Constanta:0.8333
Programul 6_3n acest program se realizeaz algoritmul Gray-Markel. Realizarea grilaj cascad Gray-Markel
funciei de taranziie H(z) de ordinul N, se bazeaz pe realizarea grilaj cascad funciei intermediarede tranzacieAN(z), avnd acelai numitor, ca i funcia H(z).
% Programul P6_3% Structura grilaj cascada Gray-Markel% k vectorul parametrilor grilajului% alpha vectorul mutiplicatorilor de legatura directa
format long% introducerea coeficientilornum=input('Vectorul coeficientilor numaratorului: ');den=input('Vectorul coeficientilor numitorului: ');
8/2/2019 Indrumar metodic PS
49/50
49
N=length(den)-1; % Gradul polinomului de la numitork=ones(1,N);a1=den/den(1);alpha=num(N+1:-1:1)/den(1);for ii=N:-1:1,
alpha(N+2-ii:N+1)=alpha(N+2-ii:N+1)-alpha(N-ii+1)*a1(2:ii+1); k(ii)=a1(ii+1);a1(1:ii+1)=(a1(1:ii+1)-k(ii)*a1(ii+1:-1:1))/(1-k(ii)*k(ii));
enddisp('Parametrii grilajului: '); disp(k)disp('Multiplicatorii legaturii directe: '); disp(alpha)subplot(1,2,1); title('Parametrii grilajului');bar(k);subplot(1,2,2); title('Multiplicatorii legaturii directe');bar(alpha);
Rezultatul rulrii programului:
Vectorul coeficientilor numaratorului: [10,20,30]
Vectorul coeficientilor numitorului: [12,34,45]
Parametrii grilajului:
0.596491228070175 3.750000000000000
Multiplicatorii legaturii directe:
2.500000000000000 -5.416666666666667 -5.310672514619883
1 20
0.5
1
1.5
2
2.5
3
3.5
4
1 2 3-6
-5
-4
-3
-2
-1
0
1
2
3
8/2/2019 Indrumar metodic PS
50/50
Bibliografia
1. A. . , ,. , 20032. S.Haykin, B.V. Veen, Signals and Sistems, New Yorc, 19993. D.M.Etter,Engineering Problem Solving with MATLAB, Matlab Curriculum Series, 1996