Sunteți pe pagina 1din 77

MINISTERUL EDUCAŢIEI al REPUBLICII MOLDOVA

UNIVERSITATEA TEHNICĂ A MOLDOVEI

Catedra Microelectronică şi Dispozitive cu Semiconductori

Îndrumar de Laborator
la disciplina

Chişinău 2007
Elaborat dr.conf. S.Railean

2
Lucrarea de laborator N 1
Iniţiere în MATLAB. Studierea şi proiectarea semnalelor elementare
folosind MATLAB.

Scopul lucrării: Studierea şi proiectarea semnalelor elementare folosind


MATLAB.

a. Semnale discrete.
Un semnal discret în timp x(n) este o funcţie de o variabilă
independentă care este un număr integru. Reprezentarea grafică a unui
semnal discret este prezentată în figura 1. Menţionăm, că semnalul discret în
timp x(n) nu este definit pe intervalul dintre două probe succesive. De
asemenea nu e corect de considerat că semnalul x(n) este egal cu zero când n
nu este integru. Pur şi simplu x(n) nu este definit pe valoarea neintegră a
variabilei n.

Figura 1 Reprezentarea grafică


a semnalului discret în timp..

Dacă semnalul x(n) a fost obţinut din semnalul analogic xa(t),


atunci x(n) =xa(nT), unde T este perioada de discretizare.
Există câteva metode de reprezentare a semnalelor discrete:
1. Reprezentarea în formă de funcţie:

(1)
2. Reprezentarea în formă de tabelă:

(2)
3. Reprezentarea în formă de secvenţă. O secvenţă cu durata infinită
sau o secvenţă cu originea timpului (n = 0) indicată prin simbolul ↑ este
reprezentată:

(3)
O secvenţă x(n), care este egală cu zero pentru n < 0, este reprezentată:
3
(4)
O secvenţă cu durata finită este reprezentată:

(5)
Dacă o secvenţă cu durata finită satisface condiţia x(n) = 0 pentru n <
0 atunci ea poate fi reprezentată:

(6)

b. Câteva semnale discrete elementare.


1. Secvenţa cu o singură probă sau impulsul-unitate δ(n) este definită:

(7)
Cu alte cuvinte, impulsul-unitate este un semnal care este egal cu zero
oriunde, cu excepţia n = 0, unde are valoarea egală cu unul. Reprezentarea
grafică a semnalului δ (n) este în Fig. 2.

Figura 2 Reprezentarea grafică


a semnalului δ (n).

2. Semnalul cu un “prag-unitate” e notat prin u(n) şi este definit:

(8)
Figura 3 ilustrează semnalul u(n).

Figura 3 Reprezentarea
grafică a semnalului u(n).

3. Semnalul cu o singură înclinaţie e notat prin ur(n) şi e notat prin:

(9)
Figura 4 ilustrează semnalul u(n).

Figura 4 Reprezentarea
grafică a semnalului ur(n)
4
4. Semnalul exponenţial e o secvenţă de forma:
(10)
Dacă parametrul a este real, atunci x(n) este un semnal real. Figura 5
ilustrează x(n) pentru diferite valori ale parametrului a.
Dacă parametrul a are o valoare complexă:
(11)
unde r şi θ sunt parametri. Semnalul poate fi reprezentat:

(12)

Figura 5 Reprezentarea grafică


a semnaluluiexponenţial
Figure 2.5 Graphical
representation of
exponential signals
Deci dacă x(n) are o valoare complexă, el poate fi reprezentat grafic prin
afişarea părţii reale:
(13)
ca funcţie de n, şi separate afişarea părţii imaginare:
(14)
ca funcţie de n. Figura 6 ilustrează dependenţa xR(n) şi xI(n) pentru r = 0.9 şi
θ = n/10.

Figura 6 Dependenţa xR(n) şi xI(n) pentru r = 0.9 şi θ = n/10.

5
Semnalul x(n) definit de (12) poate fi reprezentat grafic prin
dependenţa amplitudei:
(15)
şi dependenţa fazei:
(16)

Figura 7 ilustrează A(n) şi φ(n) pentru r = 0.9 şi θ = π /10.

Figura 7 Dependenţa A(n) şi φ(n) pentru r = 0.9 şi θ= π /10.

c. Clasificarea semnalelor.

Semnale energetice şi semnale de putere. Energie


semnalului este definită:

(17)
Energia semnalului poate fi finită şi infinită. Dacă E este finită (0 < E
< ∞ ), atunci x(n) este numit semnal energetic. Energia acestor semnale
uneori este notată Ex..
Multe semnale au o energie infinită, dar posedă putere medie finită.
Puterea medie a semnalului discret x(n) este definită:

(18)
Dacă definim energia semnalului x(n) pe intervalul —N ≤ n ≤ N cxa
N

∑x(n)
2
EN ≡ (19)
n =−N
atunci putem exprima energia semnalului E :
(20)
şi puterea medie a semnalului x(n) ca
6
(21)
Este evident, că dacă E este finită, P = 0. Şi dacă E este infinită, puterea
medie P poate fi atât finită cât şi infinită. Dacă P este finită, (şi diferită de
zero), semnalul este numit semnal de putere.

Semnale periodice şi aperiodice. Semnalul x(n) este periodic


cu perioada (N > 0) dacă şi numai dacă:
(22)
Cea mai mică valoare a N pentru care (2.22) este adevărată, este numită
perioada (fundamentală). Dacă nu există valori pentru N care satisfac (2.22),
semnalul este numit neperiodic sau aperiodic.
Energia unui semnal periodic x(n) pe o perioadă, sau pe intervalul 0
≤ n ≤ N-1, este finită dacă semnalul ia valori finite pe acest interval. Energia
semnalului pentru - ∞ ≤ n ≤ ∞ este infinită. Puterea medie a unui semnal
periodic este finită şi este egală cu puterea medie pe un interval. Deci dacă
semnalul x(n) este periodic cu perioada fundamentală N şi ia valori finite,
atunci puterea acestui semnal:

(23)
Consecutiv semnalele periodice sunt semnale de putere.

Semnale simetrice (even) şi antisimetrice (odd). Un semnal cu


valoarea reală x(n) este numit simetric (even) dacă
(26)
Semnalul x(n) este antisimetric (odd) dacă:
(27)
Exemple de semnale simetrice şi antisimetrice sunt prezentate în
Figura 8.

Figura 8 Exemplu de semnal simetric (a) şi antisimetric(b).

7
Ordinea îndeplinirii lucrării de laborator
Lansaţi pachetul de programe MATLAB . Pe cran va apărea
fereastra de comandă.

1. Modelarea semnalelor elementare.

1.1 Modelaţi un semnal periodic în formă dreptunghiulară folosind funcţia


square, pentru aceasta culegeţi programa:

A=1;
w0=10*pi;
rho=0.5;
t=0:.001:1;
sq=A*square(w0*t+rho);
plot(t,sq), grid, set (gca,'FontName', ...
'ArialCyr','FontSize',16)
title('Semnal periodic in forma dreptunghiulara')
xlabel('t,sec'),ylabel('X(t)'),grid

Notă: Schimbaţi parametrii semnalului sq (A,w0 şi rho), notaţi noul


semnal prin sq1. Afişaţi pe acelaş grafic semnalul iniţial şi sel modificat şi
observaţi modificările întroduse asupra formei semnalului (plot
(t,sq,t,sq1),... ).

1.2 Modelaţi un impuls în formă dreptungiulară folosind funcţia


rectpuls: y=rectpuls(t,w), unde w este lăţimea, t este deplasarea de la t=0.
Pentru aceasta culegeţi programa:

A=2;
t=0:0.01:10;
y=A*rectpuls(t-3,2)+ ...
0.5*rectpuls(t-8,0.4)+ ...
1.25*rectpuls(t-5,0.8);
plot(t,y), grid, set (gca,'FontName', ...
'Arial Cyr','FontSize',16)
title('Exemplu de utilizare a procedurii rectpuls')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

8
1.3 Modelaţi un semnal periodic în formă treungiulară folosind funcţia
sawtooth, pentru aceasta culegeţi programa:

A=1;
w0=10*pi;
W=0.5;
t=0:0.001:1;
tri=A*sawtooth(w0*t+W);
plot(t,tri), grid, set (gca, ...
'FontName','Arial Cyr','FontSize',16)
title('Exemplu de utilizare a procedurii sawtooth')
xlabel('timpul(s)'),ylabel('functia try(t)'),grid

Notă: Schimbaţi parametrii semnalului tri (A,w0 şi W), notaţi noul semnal
prin tri1. Afişaţi pe acelaş grafic semnalul iniţial şi sel modificat şi observaţi
modificările întroduse asupra formei semnalului (plot (t,tri,t,
tri1),... ).

1.4 Modelaţi un impuls în formă treungiulară folosind funcţia tripuls:


y=tripuls(t,w,s). Pentru aceasta culegeţi programa:

t=0:0.01:10;
y=0.75*tripuls(t-1,0.5)+ ...
0.5*tripuls(t-5,0.5,-1)+ ...
1.35*tripuls(t-3,0.8,1);
plot(t,y), grid, set (gca,'FontName', ...
'Arial Cyr','FontSize',16)
title('Exemplu de utilizare a procedurii tripuls')
xlabel('timpul(s)'),
ylabel('functia y(t)'),grid

1.5 Modelaţi un semnal periodic în formă sinusoidală folosind funcţia


cos, pentru aceasta culegeţi programa:

A=4;
w0=20*pi;
phi=pi/6;
t=0:.001:1;
cosine=A*cos(w0*t+phi);
plot(t,cosine), grid, set (gca, ...
'FontName','Arial Cyr','FontSize',16)
9
title('Exemplu de utilizare a procedurii cos')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

1.6 Modelaţi un semnal discret în formă sinusoidală folosind funcţia cos,


pentru aceasta culegeţi programa:

A=4;
w0=20*pi;
phi=pi/6;
t=0:.005:1;
cosine=A*cos(w0*t+phi);
stem(t,cosine), grid, set (gca, ...
'FontName','Arial Cyr','FontSize',16)
title('Exemplu de utilizare a procedurii cos')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

Notă: Schimbaţi parametrii semnalului cosine (A,w0 şi phi), notaţi noul


semnal prin cosine1. Afişaţi pe acelaş grafic semnalul iniţial şi sel modificat şi
observaţi modificările întroduse asupra formei semnalului (plot (t,
cosine,t,cosine1),... ).

1.7 Modelaţi un semnal discret în formă sinusoidală şi reprzentaţi


dependenţa în formă de histogramă, folosind funcţia bar, pentru
aceasta culegeţi programa:

A=4;
w0=20*pi;
phi=pi/6;
t=0:.005:1;
cosine=A*cos(w0*t+phi);
bar(t,cosine), grid, set (gca, ...
'FontName','Arial Cyr','FontSize',16)
title('Exemplu de utilizare a procedurii cos')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

Notă: Schimbaţi parametrii semnalului cosine (A,w0 şi phi), notaţi noul


semnal prin cosine1. Afişaţi pe acelaş grafic semnalul iniţial şi sel modificat şi
observaţi modificările întroduse asupra formei semnalului (bar (t,
cosine,t,cosine1),... ).

2. Modelarea semnalelor exponenţiale.


10
2.1 Modelaţi un semnal exponenţial cu valoarea crescândă folosind
funcţia exp, pentru aceasta culegeţi programa:

B=1;
a=5;
t=0:.001:1;
x=B*exp(a*t);
plot(t,x), grid, set (gca,'FontName',...
'Arial Cyr','FontSize',16)
title('Exemplu de utilizare a procedurii exp')
xlabel('timpul(s)'),
ylabel('functia y(t)'),grid

Notă: Schimbaţi parametrii semnalului x (B şi a), notaţi noul semnal prin x1.
Afişaţi pe acelaş grafic semnalul iniţial şi sel modificat şi observaţi modificările
întroduse asupra formei semnalului (plot (t,x,t,x1),... ).

2.2 Modelaţi un semnal exponenţial cu valoarea descrescândă folosind


funcţia exp, pentru aceasta culegeţi programa:

B=5;
a=6;
t=0:.001:1;
x=B*exp(-a*t);
plot(t,x), grid, set (gca,'FontName', ...
'Arial Cyr','FontSize',16)
title('Exemplu de utilizare a procedurii exp')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

Notă: Schimbaţi parametrii semnalului x (B şi a), notaţi noul semnal prin x1.
Afişaţi pe acelaş grafic semnalul iniţial şi sel modificat şi observaţi modificările
întroduse asupra formei semnalului (plot (t,x,t,x1),... ).

2.3 Modelaţi un semnal exponenţial discret cu valoarea descrescândă


folosind funcţia stem, pentru aceasta culegeţi programa:

B=5;
r=0.85;
n=-10:10;

11
y=B*r.^n;
stem(n,y), grid, set (gca,'FontName', ...
'Arial Cyr','FontSize',16)
title('Exemplu de utilizare a procedurii exp')
xlabel('timpul(s)'),ylabel
('functia y(t)'),grid

Notă: Schimbaţi parametrii semnalului y (B şi r), notaţi noul semnal prin y1.
Afişaţi pe acelaş grafic semnalul iniţial şi sel modificat şi observaţi modificările
întroduse asupra formei semnalului (plot (t,y,t,y1,... ).

2.4 Modelaţi un semnal sinusoidal discret cu valoarea descrescândă


folosind funcţia stem, pentru aceasta culegeţi programa:

A=60;
w0=20*pi;
phi=0;
a=6;
t=0:0.001:1;
expsin=A*sin(w0*t+phi).*exp(-a*t);
plot(t,expsin), grid,
set (gca,'FontName','Arial Cyr', ...
'FontSize',16)
title('Exemplu de utilizare a procedurii exp')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

Notă: Schimbaţi parametrii semnalului expsin (A,w0 şi a), notaţi noul


semnal prin expsin1. Afişaţi pe acelaş grafic semnalul iniţial şi sel modificat şi
observaţi modificările întroduse asupra formei semnalului (plot (t,
expsin,t,expsin1),... ).

3. Funcţii speciale.
3.1 Modelaţi un semnal care va constitui o sinusoidă modulată după
funcţia lui Gaus, folosind funcţia gauspuls, pentru aceasta culegeţi
programa:

t=-10:.01:10;
y=0.75*gauspuls(t+3,1,0.5);
plot(t,y), grid, set (gca,'FontName', ...
'Arial Cyr','FontSize',16)

12
title('Exemplu de utilizare a procedurii gauspuls')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

Notă: Schimbaţi parametrii semnalului y, notaţi noul semnal prin y1. Afişaţi pe
acelaş grafic semnalul iniţial şi sel modificat şi observaţi modificările întroduse
asupra formei semnalului (plot (t, y,t, y1),... ).

3.2 Modelaţi un semnal care va constitui transformarea Fourier inversă a


unui impuls dreptungiular cu lăţimea 2π şi înălţimea 1, folosind
funcţia sinc, pentru aceasta culegeţi programa:

t=0:.01:50;
y1=0.7*sinc(pi*(t-25)/5);
plot(t,y1), grid, set (gca,'FontName', ...
'Arial Cyr','FontSize',16)
title('Exemplu de utilizare a procedurii sinc')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

Notă: Schimbaţi parametrii semnalului y1, notaţi noul semnal prin y2. Afişaţi
pe acelaş grafic semnalul iniţial şi sel modificat şi observaţi modificările
întroduse asupra formei semnalului (plot (t, y1,t, y2),... ).

3.3 Modelaţi o cosinusoidă, frecvenţa căreia se schimbă linear cu timpul,


folosind funcţia chirp, pentru aceasta culegeţi programa:

t=0:0.001:1;
y=0.75*chirp(t);
plot(t,y), grid, set (gca,'FontName', ...
'Arial Cyr','FontSize',16)
title('Exemplu de utilizare a procedurii chirp')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

Notă: Schimbaţi parametrii semnalului y, notaţi noul semnal prin y1. Afişaţi pe
acelaş grafic semnalul iniţial şi sel modificat şi observaţi modificările întroduse
asupra formei semnalului (plot (t, y,t, y1),... ).

3.4 Modelaţi un semnal care va constitui dependenţa funcţiei Dirihlet,


folosind funcţia diric, pentru aceasta culegeţi programa:

13
t=0:.01:50;
y=0.7*diric(t,4);
plot(t,y), grid, set (gca,'FontName', ...
'Arial Cyr','FontSize',16)
title('Exemplu de utilizare a procedurii diric')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

Notă: Schimbaţi parametrii semnalului y, notaţi noul semnal prin y1. Afişaţi pe
acelaş grafic semnalul iniţial şi sel modificat şi observaţi modificările întroduse
asupra formei semnalului (plot (t, y,t, y1),... ).

Conţinutul Dării de seamă.


- scopul lucrării,
- scurte noţiuni teoretice;
- programele de modelare a semnalelor.
- semnalele modelate,
- concluzii.

Literatura.
1. S.Haykin, B.V. Veen Signals and Sistems, New Yorc, 1999
2. D.M.Etter Engineering Problem Solving with MATLAB, Matlab
Curriculum Series, 1996.

14
Lucrarea de laborator N 2
Studierea transformării Analog-Digitale a semnalelor folosind
MATLAB. Aproximarea datelor.

Scopul lucrării: Studierea transformării A/D a semnalelor folosind MATLAB.

Noţiuni teoretice.

Cele mai întrebuinţate semnale din punct de vedere practic, aşa ca


semnalul vorbirii, semnalele biologice, semnalele seismice, semnalele radar,
semnalele sonore şi diferite semnale de comunicaţie (audio şi video semnalele)
sînt analogice. Pentru prelucrarea semnalelor analogice cu ajutorul
procesoarelor digitale e necesar în primul rînd de a transforma semnalele în
formă digitală. Această procedură se numeşte transformarea analog-digitală
(A/D), şi corespunzător dispozitivul e numit convertor A/D.
Conceptual procesul de transformare A/D e un proces cu trei trepte
(fig.1).

Fig.1 Părţile componente ale convertorului A/D

1. Discretizarea – e numită conversia semnalului continuu în timp în


semnal discret în timp prin luarea "probelor" din semnalul continuu
15
în timp. Deci, dacă xa(t) este semnalul de întrare a discretizatorului,
atunci xa(nT)=x(n) este semnalul de ieşire, unde T este intervalul de
discretizare.
2. Quantizarea – este conversia semnalului discret în timp cu valori
continue în semnal discret în timp cu valori discrete în timp (semnal
digital). Valoare fiecărei "probe" a semnalului e reprezentată printr-o
valoare ce aparţine unui set de valori posibile. Diferenţa dintre
"probele"nequantizate x(n) şi cele quantizate xq(n) se numeşte greşala
(eroarea) quantizării.
3. Codarea - reprezentarea fiecărei valori quantizate a semnalului xq(n)
printr-un şir de valori binare
În multe cazuri de interes practic (semnalul vorbirii) e necesar de a
transformasemnalul digital în semnal de formă analogică. Procesul de
conversie a semnalului digital în semnal analogic e cunoscut ca conversie
digital-analogică (D/A).Orice conversie D/A e cunoscută ca "unirea probelor"
în semnalul digital pentru transformarea semnalului digital în semnal
analogic. Figura 2 ilustrează o simplă formă a transformării D/A, numită
aproximarea pe trepte ("zero-order hold" – eng.).
Un alt exemplu de aproximare posibilă este conectarea liniară a
perechilor consecutive a "probelor" (aproximarea liniară)

Fig. 2 Conversia A/D prin aproximarea pe trepte

Există multe forme de discretizare a semnalelor. Ne vom limita cu


descrierea discretizării periodice sau discretizării uniforme, care este cea mai
des folostă în practică. Discretizarea periodică se descrie :
x(n) = xa(nT) (1)
unde x(n) este semnalul discret în timp obţinut prin luarea "probelor" din
semnalul analogic xa(t) în orice T secunde. Această procedură este ilustrată în
fig. 3.

16
Fig.3 Discretizarea periodică a semnalului analog.

Intervalul de timp T între "probele" consecutive se numeşte perioada


de discretizare, iar mărimea inversă - 1/T=F - este viteza de discretizare
("probe" pe secundă) sau frecvenţa de discretizare.
După cum am menţionat mai sus , semnalul digital e o consecutivitate
de numere ("probe") în care fiecare număr e reprezentat cu o precizie finită.
Procesul de conversie a semnalului discret în timp cu o amplitudine
continua într+un semnal discret în timp cu exprimarea fiecărei valori cu un
număr finit de valori se numeşte quantizare. Eroarea întrodusă în
reprezentarea semnalului cu valoarea continua cu un set de valori discrete se
numeşte eroarea quantizării sau zgomotul quantizării.Operaţia quantizării a
"probelor" x(n) ca Q[x(n)] , şi xq(n) - un şir de "probe" quantizate :
xq(n) = Q[x(n)] (2)
Eroarea quantizarii e definită ca un şir eq(n) de diferenţe dintre
valorile quantizate şi valorile reale ale "probelor" :

eq(n)=xq(n) – x(n) (3)

Acest proces este ilustrat în fig. 4 , unde e reprezentat un exemplu de


quantiyare a şirului :
0.94, n 0
X(n) = (4)
0, n 0
17
obţinut prin discretizarea semnalului analogic exponenţial xa=0.9t , t
0 cu frecvenţa de discretizare de 1 Hz.

Fig. 4 Ilustrarea quantizării


În figura 5 este ilustrat procesul de discretizare şi quantizare a
semnalului analog sinusoidal :

xa(t)=Acos Ω0 t (5)

Liniile oriyontale reprezintă nivelele de quantizare. Liniile verticale


repretintă timpul de discretizare.

Fig. 5 Discretizarea şi quantizarea semnalului sinusoidal.

Ordinea îndeplinirii lucrării de laborator.

18
1. Studierea transformării A/D
1.1 Lansaţi pachetul de programe MATLAB . Pe cran va apărea
fereastra de comandă.

1.2 Culegeţi comanda demo – va apărea fereastra cu exemple in


MATLAB.

1.3 Găsiţi directoriul "Блок-схемы " şi deschideţi-l, apoi deschideţi


directoriul "Блок-схемы DSP" . În acest directoriu găsiţi fişierul
"Sigma-Delta A/D conversion" şi startaţi programa de demonstrare.
Va apărea bloc-schema fig. 6.

Fig. 6 Bloc-schema convertorului A/D

1.4 Din comanda File deschideţi un nou fişier de modelare şi copiaţi


întreaga bloc-schemă în fişierul nou.

19
1.5 Startaţi modelarea şi urmăriţi semnalele de întrare şi de ieşire.
Schimbaţi forma semnalului (sinosoidal, treungiular) de la
„Generatorul de semnale” şi urmariţi transformarea acestora.

1.6 În directoriul "Блок-схемы DSP" găsiţi fişierul "Библиотека блок-


схем DSP" si deschideţi-l. Deschideţi fişierul "DSP Sincs", apoi
deschideţi fişierul "Simulink Sincs". Adăugaţi ecranul de vizionare a
semnalelor după fiecare bloc în bloc-schemă.

1.7 Startaţi simularea şi urmăriţi prelucrarea semnalului de fiecare bloc.


1.8 Schimbaţi forma semnalului de la sursa de semnale şi repetaţi p. 1.7

(semnal sinusoidal, în formă dreptungiulară şi în frmă de undă


treungiulară).

20
2. Aproximarea datelor.
2.1 Aproximarea polinomială.
Aproximarea polinomială se înfăptuieşte cu ajutorul procedurii
polyfit(X,Y,n), unde n este ordinul polinomului de aproximare.
Reprezentaţi pe un singur grafic dependenţele polinoamelor de
aproximare după cum urmează:

x=[1 2 3 4 5 6 7 8 9];
y=[-1.1 0.2 0.5 0.8 0.7 0.6 0.4 0.1 -1];
p1=polyfit(x,y,1);
p2=polyfit(x,y,2);
p3=polyfit(x,y,3);
p4=polyfit(x,y,4);
stem(x,y); hold
x1=0.5:0.05:9.5;
y1=polyval(p1,x1);
y2=polyval(p2,x1);
y3=polyval(p3,x1);
y4=polyval(p4,x1);
plot(x1,y1,x1,y2,x1,y3,x1,y4), grid, set(gca,'FontName', ...
'Arial Cyr','FontSize',16)
title('Aproximarea polinomiala')
xlabel('Argumentul'),ylabel('functia'),grid

Notă: Schimbaţi parametrii semnalului y, notaţi noul semnal prin yp=[0.1


0.2 0.18 0.28 0.3 0.32 0.48 0.46 0.6] şi repetaţi aproximarea
polinomială pentru noul semnal.

2.2 Aproximarea “cubic spline”.


Aproximarea “cubic spline” se înfăptuieşte cu ajutorul procedurii
spline(X,Y,Xi). Reprezentaţi aproximarea “cubic spline” după cum
urmează:
x=-0.5:0.1:0.3;
y=[-1.1 0.2 0.5 0.8 0.7 0.6 0.4 0.1 -1];
stem(x,y); hold
x1=-0.5:0.01:0.3;

21
y2=spline(x,y,x1);
plot(x,y,x1,y2), grid, set (gca,'FontName', ...
'Arial Cyr','FontSize',16)
title('Aproximarea cubic spline')
xlabel('Argumentul'),ylabel('functia'),grid

Notă: Schimbaţi parametrii semnalului y, notaţi noul semnal prin ycs=[0.1


0.2 0.18 0.28 0.3 0.32 0.48 0.46 0.6] şi repetaţi aproximarea „cubic
spline” pentru noul semnal.

2.3 Aproximarea tabelară unidimesională.


Aproximarea tabelară unidimesională se înfăptuieşte cu ajutorul
procedurii interpl(X,Y,Xi,'metoda'), şi permite de a indica metoda de
aproximare. unde n este ordinul polinomului de aproximare.
Reprezentaţi aproximarea lineară (nu se indică), pe praguri, cubică şi
“cubic spline” după cum urmează:

x=-0.5:0.1:0.3;
y=[-1.1 0.2 0.5 0.8 0.7 0.6 0.4 0.1 -1];
stem(x,y); hold
x1=-0.5:0.01:0.3;
y1=interp1(x,y,x1);
y2=interp1(x,y,x1,'nearest');
y3=interp1(x,y,x1,'cubic');
y4=interp1(x,y,x1,'spline');
plot(x1,y1,x1,y2,x1,y3,x1,y4), grid, set(gca,'FontName', ...
'Arial Cyr','FontSize',16)
title('Aproximarea prin procedura interpl')
xlabel('Argumentul'),ylabel('functia'),grid

Notă: Schimbaţi parametrii semnalului y, notaţi noul semnal prin ytu=[0.1


0.2 0.18 0.28 0.3 0.32 0.48 0.46 0.6] şi repetaţi aproximarea
tabelară unidimesională pentru noul semnal.

Conţinutul Dării de seamă.


- scopul lucrării,
22
- scurte noţiuni teoretice;
- bloc-schema convertorului A/D (perfecţionată).
- semnalele de intrare şi ieşire modelate (sinusoidal, dreptunghiular şi
triunghiular),
- textele programelor de aproximare şi figurele obţinute;
- concluzii.

Literatura.
1. S.Haykin, B.V. Veen Signals and Sistems, New Yorc, 1999
2. D.M.Etter Engineering Problem Solving with MATLAB, Matlab
Curriculum Series, 1996

23
Lucrarea de laborator N 3
Sisteme Discrete în Timp.
Generarea zgomotului şi fultrarea lui.
Scopul lucrării: Generarea zgomotului şi filtrarea lui folosind Sistema
Discretă în timp „M-point Moving Average Sistem”

Noţiuni teoretice.

Sitemă este numit orice dispozitiv sau algoritm, ce îndeplineşte


operaţii asupra semnalului.
Sistemă Discretă in Timp este numit orice dispozitiv sau algorotm,
care influenţează asupra Semnalului discret în timp numit Semnal de Întrare
sau Excitaţie – x(n)- în coordonare cu reguli bine definite pentru a obţine un
alt semnal discret numit Semnal de eşire - y(n) – sau Răspuns (fig. 1) . Sau
semnalul de întrare x(n) este transformat de sistemă în semnalul y(n) şi
relaţia dintre x(n) şi y(n) este:

(1)
unde simbolul T transformerea (sau operatorul) înfăptuită de sistemă asupra
x(n) pentru a obţine y(n). Relaţia (1) este ilustrată în Fig. 1.

Descrirea relaţiei întrare-ieşire. Descrierea relaţiei întrare-ieşire


constă expresii matematice sau reguli fixe, care definesc relaţia dintre
semnalul de întrare şi semnalul de ieşire (relaţia întrare-ieşire). Structura
internă exactă a sistemei deseori e necunoscută sau ignorată.

Figura 1 Bloc diagrama


representării a unei sisteme
discrete.

O notaţie alternativă a expresiei (1) este următoarea:

24
(2)
care reprezintă y(n) ca răspunsul sistemei T la excitaţia x(n).

Reprezentarea sistemelor.
Sumatorul. În Figura 2 este ilustrată o sistemă (Sumator) care
înfăptuieşte adunarea a două semnale pentru a obţine o a treia secvenţă
(suma) y(n).

Figure 2 Reprezentarea grafică a


sumatorului.

as y(n). Note that it is not necessary to store either one of the sequences in
order to perform the addition. In other words, the addition operation is
memoryless.
Multiplicatorul constant. Această sistemă este ilustrată în Figura 3 şi
reprezintă multiplicarea cu o constantă a întrării x(n).

Figura 3 Reprezentarea grafică a


multiplicatorului constant.

Multiplicatorul a două semnale. Figura 4 ilustrează multiplicarea a


două semnale pentru a obţine un al treilea semnal (produsul), semnat în
fugură cu y(n).

Figura 4 Reprezentarea grafică a


multiplicatorului.

Mişcarea cu o unitate. Mişcarea cu o unitate este o sistemă care mişcă


valorile semnalului cu o unitate. Figura 5 ilustrează această sistemă. Dacă
semnalul de întrare este x(n), semnalul de ieşire va fi x(n - 1). Este folosit
simbolul z-1 pentru a exprima această operaţie.

Figure 5 Reprezentarea grafică a


mişcării cu o unitate.

25
Avansarea cu o unitate. Avansarea cu o unitate mişcă semnalul de
întrare x(n) în aşa fel că semnalul de ieşire x(n +1).

Classificarea sistemelor.

Sisteme Statice şi Sisteme dinamice. Sistema este numită Statică sau


fără memorie dacă Semnalul de ieşire în orice moment n depinde de semnalul
de întrare la acelaş moment n , şi nu de momentele precedente sau viitoare.
În orice alt caz sistema este Dinamică cau cu memorie. Dacă semnalul de
ieşire la un moment n depinde de semnalul de întrare cu intervalul n-N – pînă
la n, atunci Sistema are o memorie cu durata N. Dacă N=0 , sistema este
Statică.
Sistemele descries prin relaţiile de întrare ieşire de mai jos sunt
sisteme statice:

(3)
Sistemele descries prin relaţiile de întrare ieşire de mai jos sunt
sisteme dinamice:

(4)

Sisteme Invariante în Timp. Sistema este numită invariantă în timp, dacă


caracteristica Intrare-Ieşire nu depinde de timp. Dacă schimbăm semnalul de
întrare cu k
unităţi – x(n-k) – la ieşire vom primi y(n-k).

(5)

Câteva exemple de sisteme variente în timp:

a) c)
26
b) d)

Figure 6 Exemple de sisteme variante în timp.

Sisteme neliniare şi Sisteme liniare. Sistema este numită liniară dacă


satisface condiţia de suprapunere – răspunsul sistemei la suma unor semnale
este egală cu suma răspunsurilor sistemei la fiecare semnal aparte (fig.7):

(6)

Fig. 7

Un exemplu simplu de Sistemă discretă în Timp este sistema MAF


( „M-point Moving Average Sistem”), definină :

1 M −1
y ( n) =
M k =0

x(n − k ) (4)

Fie că avem un semnal s(n), afectat de zgomot d(n) pentru n>0 în


rezultatul măsurărilor:
x(n)=s(n) + d(n) (5)

În lucrarea de laborator se propune de a reduce efectul afectării


semnalului original de către zgomot. Pentru atingerea acestui scop se
propune folosirea Sistemei MAF („Moving Average Filter”).

Ordinea îndeplinirii lucrării de laborator.

27
Lansaţi pachetul de programe MATLAB . Pe cran va apărea
fereastra de comandă.

1. Cercetarea proceselor aleatorii.


1.1 Zgomotul alb cu reprezentare după dependenţa gauss este
realizat de către procedura rand. Generaţi un proces aleatoriu după cum
urmează:

Ts=0.01;
t=0:Ts:5;
x1=rand(1,length(t));
plot(t,x1), grid, set (gca,'FontName', ...
'Arial Cyr','FontSize',16)
title('Exemplu de utilizare a procedurii rand')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

1.2 Reprezentaţi această dependenţă în formă de histogramă:

Ts=0.01;
t=0:Ts:5;
x1=rand(1,length(t));
hist(x1,t), grid, set (gca,'FontName', ...
'Arial Cyr','FontSize',16)
title('Exemplu de utilizare a procedurii rand')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

1.3 Repetaţi p. 1.1 pentru Ts=0.001:

Ts=0.001;
t=0:Ts:5;
x2=rand(1,length(t));
plot(t,x2), grid, set (gca,'FontName', ...
'Arial Cyr','FontSize',16)
title('Exemplu de utilizare a procedurii rand')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

28
1.4 Reprezentaţi dependenţă funcţiei x2 în formă de histogramă:

Ts=0.001;
t=0:Ts:5;
x2=rand(1,length(t));
hist(x2,t), grid, set (gca,'FontName', ...
'Arial Cyr','FontSize',16)
title('Exemplu de utilizare a procedurii rand')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

1.5 Proiectaţi un filtru digital de ordinul doi cu frecvenţa oscilaţiilor


proprii 1 Hz, lansaţi prin acest filtru semnalul x1 şi afişaţi semnalul la ieşirea
filtrului:

Ts=0.01;
om0=2*pi;
dz=0.005;
A=1;
oms=om0*Ts
a(1)=1+2*dz*oms+oms^2;
a(2)=-2*(1+dz*oms);
a(3)=1;
b(1)=A*2*oms^2;
t=0:Ts:50;
x1=rand(1,length(t));
y1=filter(b,a,x1);
plot(t,y1), grid, set (gca,'FontName', ...
'Arial Cyr','FontSize',16)
title('Exemplu de utilizare a procedurii rand')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

1.6 Repetaţi p. 1.5 pentru semnalul x2:

Ts=0.001;
29
om0=2*pi;
dz=0.005;
A=1;
oms=om0*Ts
a(1)=1+2*dz*oms+oms^2;
a(2)=-2*(1+dz*oms);
a(3)=1;
b(1)=A*2*oms^2;
t=0:Ts:50;
x2=rand(1,length(t));
y2=filter(b,a,x2);
plot(t,y2), grid, set (gca,'FontName', ...
'Arial Cyr','FontSize',16)
title('Exemplu de utilizare a procedurii rand')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

2. Filtrarea semnalelor afectate de zgomot.

1. Generaţi un semnal original nafectat de zgomot s(n) :

% Generarea unui semnal neafectat


R = 50;
m = 0:1:R-1;
s = 2*m.*(0.9.^m) ;
stem(m,s)
xlabel('Indecsul de timp n'); ylabel('Amplituda')
title('Semnalul original')

30
2. Generaţi un zgomot, folosind funcţia rand cu ajutoul programei ce
urmează :
% Generarea zgomotului
R = 50;
m = 0:1:R-1;
d = rand(1,R)-0.5;
stem(m,d)
xlabel('Indecsul de timp n'); ylabel('Amplituda')
title('Zgomotul ')

3. Reprezentaţi aceste semnale un altă formă, culegînd programa :

% Generarea unui semnal neafectat şi a zgomotului


R = 50;
m = 0:1:R-1;
s = 2*m.*(0.9.^m) ;
d = rand(1,R)-0.5;
plot(m,d,'r-',m,s,'b--')
xlabel('Indecsul de timp n'); ylabel('Amplituda')
title('Semnalul original şi zgomotul')

4. Sumaţi aceste două semnale :

% semnalul afectat de zgomotşi cel original


R = 50;
m = 0:1:R-1;
s = 2*m.*(0.9.^m) ;
d = rand(1,R)-0.5;
x=s+d;
plot(m,x,'r-',m,s,'b--')
xlabel('Indecsul de timp n'); ylabel('Amplituda')
title('Semnalul original şi afectat de zgomot ')

5. Proiectaţi un filtru MAF şi filtraţi semnalul afectat de zgomot.


Reprezentaţi pe un grafic semnalul deja filtrat şi cel original, pentru
aceasta :

% filtrarea semnalului afectat de zgomot


31
R = 50;
m = 0:1:R-1;
s = 2*m.*(0.9.^m) ;
d = rand(1,R)-0.5;
x=s+d;
M=3;
b=ones(M,1)/M;
y=filter(b,1,x);
plot(m,s,'r-',m,y,'b--')
xlabel('Indecsul de timp n'); ylabel('Amplituda')
title('Semnalul original şi semnalul filtrat ')

Conţinutul Dării de seamă.


- scopul lucrării,
- programele şi semnalele obţinute.
- concluzii.

Literatura.
1. S.Haykin, B.V. Veen Signals and Sistems, New Yorc, 1999
2. D.M.Etter Engineering Problem Solving with MATLAB, Matlab
Curriculum
eries, 1996

Lucrarea de laborator N 4

32
Convoluţia a două secvenţe şi proprietăţile ei.
Scopul lucrării: Cercetarea convoluţiei două secvenţe şi proprietăţior ei.

Noţiuni teoretice.

Tehnici de analiză a sistemelor lineare.


Există două tehnici de analiză a sistemelor lineare cu scopul găsirii
răspunsului sistemei la semnalul dat de întrare. Prima metodă e bazată pe
soluţia directă a ecuaţiei de întrare-ieşire a sistemei, care are forma:
y ( n ) = F [ y ( n − 1), y ( n − 2 ),.... y ( n − N ), x ( n ), x ( n − 1),..
(1)
...., x ( n − M )]

Pentru sistemele LTI forma generală a ecuaţiei de întrare-ieşire a sistemei


este:
N M
y ( n) = −
k =1
∑ ak y ( n −k) + ∑
k =0
b x(n − k )
k (2)
unde {ak} şi {bk} sunt parametrii constanţi care specifică sistema şi sunt
independenţi de x(n) şi y(n).
Metoda a doua de analiză a comportării sistemei la un semnal dat la
întrare este bazată pe descompunerea semnalului de întrare într-o sumă de
semnale elementare. Semnalele elementare sunt alese în aşa fel, ca răspunsul
sistemei la fiecare semnal elementar este uşor de găsit. Apoi, folosind
proprietatea de linearitate a sistemei, răspunsurile sistemei la semnalele
elementare sunt sumate pentru a găsi răspunsul total al sistemei la semnalul
de întrare.
Fie că semnalul de întrare x (n) este descompus într-o sumă scalată de
semnale elementare {xk(n)} după cum urmează:
x (n) = ∑ c k x k (n) (3)
k

unde {ck} este un set de amplitude (coeficienţi de scalare) în descompunerea


semnalului x(n). Fie că răspunsul sistemei la semnalul elementar xk(n) este
yk(n). Atunci:

y k ( n) = T [ xk ( n) ] (4)

iar răspunsul sistemeui la ckxk(n) este ckyk(n), ca consecinţă a proprietăţii de


scalare a sistemei lineare.
33
În final, răspunsul total al sistemei la semnalul de întrare x(n) este:
 

y (n) =T [ x (n)] =T 


c k xk ( n)  =


∑ ckT [ xk (n)] = ∑ ck y k ( n) (5)
k  k k

In (1.35) we used the additivity property of the linear system.

Dacă semnalul de întrare x(n) este periodic cu perioada N, este mai


convinabil mathematic de a allege semnalele elementare:
jω n
x k ( n) = e k , k = 0,1,..., N − 1 (6)
unde frecvenţele {ωk} asunt associate (harmonically related) în felul următor:
 2π 
ωk =  
k , k = 0,1,..... N − 1 (7)
 N 
Frecvenţa 2π / N este numită frecvenţa fundamentală.
For the resolution of the input signal into a weighted sum of unit
sample sequences, we must first determine the response of the system to a
unit sample sequence and then use the scaling and multiplicative properties
of the linear system to determine the formula for the output given any
arbitrary input. This development is described in detail as follows.

Descompunerea semnalului în semnale elementare


Fie că avem un semnal elementar x(n) pe care îl vom descompuneîntr-
o sumă de impulsuri-unitate. we wish to resolve into a sum. Vom alege
semnalul elementar (impulsul-unitate) xk(n) în felul murmător:
x k ( n) = δ ( n − k ) (8)
unde k reprezintă deplasare umpulsului-unitate.
Să multiplicăm secvenţele x(n) şi δ (n - k). Secvenţa δ(n - k) este zero
oriunde cu excepţia n = k, unde valoare ei este ugală cu unu. Rezultatul
multiplicării ecte o altă secvenţă, este zero oriunde cu excepţia n = k, unde
valoarea ei este x(k), după cum este ilustrat în figura 1. Atunci:
x( n)δ( n − k ) = x ( k )δ( n − k )
(9)

34
x(n)

k
n
-3 –2 –1 0 n
1
n
(n-k)

0 n
n n
x(n) (n-kk)

0 n
n n Fig. 1

este o secvenţă care este zero oriunde cu excepţia n = k, unde valoarea ei este
x(k). Dacă vom repeat multiplicarea semnalului x(n) cu δ (n - m), unde m este
o altă deplasare (m = k), rezultatul va fi o altă secvenţă care este zero oriunde
cu excepţia n = m, iar valoarea ei va fi x(m). Deci
x(n) = δ (n − m) = x( m)δ (n − m) (9-a)
Cu alte cuvinte fiecare multiplicare a semnalului x(n) cu impulsul-unitate la o
deplasare k, [ δ (n - k)], amplasează valoarea x (k) semnalului a semnalului x
(n) la deplasarea unde umpulsul-unitate este nonzero. Consecutiv, dacă
repetăm multiplicarea la toate deplasările posibile, -∞ < k < ∞, şi sumăm
toate secvenţele-produs, acest rezultat va fie gal cu secvenţa x(n), deci,

x ( n) = ∑x ( k )δ( n −k )
k =−

(9-b)

Partea dreaptă a egalităţii (1.39b) este o sumă de un număr infinit de


impulsuri-unitate δ (n - m), care au amplitude x(k). Deci partea dreaptă a
egalităţii (1.39b) reprezintă descompunerea semnalului arbitrar x(n) într-o
sumă scalată de immpulsuri-unitate deplasate.

Suma convoluţiei.
35
Având descompunerea semnalului arbitrar x(n) într-o sumă scalată
de immpulsuri-unitate deplasate, putem determina răspunsul sistemei la
orice semnal de întrare. Mai întâi vom nota răspunsul y(n, k) sistemei la
impulsul unitate la n = k printr-un symbol special y the special h( k), -∞ < k <
∞. Deci,
y ( n , k ) ≡ h ( k ) = T [δ ( n − k ) ] (10)
În (10) am notat prin n indicele timpului iar prin k parametrul care arată
locaţia impulsului-unitate de întrare. Dacă impulsul unitate este scalat cu ck
== x(k), răspunsul sistemei va vi de asemenea scalat:
c k h ( k ) = x ( k ) h ( n, k )
(11)
În final, dacă întrarea este un semnal arbitrar x(n) şi este exprimat printr-o
sumă scalată de impulsuri-unitate:

x ( n) = ∑x ( k )δ( n −k )
k =−

(12)

atunci răspunsul sistemei la x(n) este corespunzător o sumă de răspunsuri


scalate:
 ∞  ∞ ∞
y ( n) =T [x(n)] =T 


∑ x ( k )δ( n −k )  =


∑ x ( k )T [δ(n −k )] = ∑
k =−
∞  k =−
∞ k=
(13)
Expresia (13) este răspunsul sistemei lineare la un semnal arbitrar de
întrare x(n). Această expresie este o funcţie atât de x(n) cât şi de δ(n,k) –
răspunsul sistemei la impulsul-unitate δ (n - k) pentru -∞ < k < ∞.
Dacă sistema este invariantă în timp, expresia (13) se reduce
considerabil. Dacă răspunsul sistemei LTI la impulsul-unitate δ(n) este
h(n), atunci:
h( n) =T [δ ( n)] (14)
şi după proprietatea invariantă în timp, răspunsul sistemei la impulsul-
unitate deplasat δ (n - k) va fi:
h(n − k ) =T [δ (n − k )] (15)
Consecutiv formula (13) se reduce la:

y ( n) = ∑x ( k ) h( n −k )
k =−

(16)

Observăm, că sistema LTI este complet caracterizată de funcţia h(n), numită


răspunsul ei la impulsul-unitate δ 8(n).
Expresia (16) arată răspunsul y(n) sistemei LTI ca funcţie de semnalul
de întrare x (n) şi răspunsul la impulsul unitate h (n) şi această expresie este

36
numită suma convoluţiei. Se spune că întrarea x(n) este în convoluţie cu
răspunsul h(n) pentru a găsi răspunsul y(n).

Ordinea îndeplinirii lucrării de laborator.

Lansaţi pachetul de programe MATLAB . Pe cran va apărea


fereastra de comandă.
1. Generaţi două secvenţe finite a(n) şi b(n) cu lungimea 5 şi 4 respectiv :

% Generarea a două secvenţe


a=[-2 0 1 –1 3];
b=[1 2 0 –1];
m=5;
n=1:1:m;
c=4;
l=1:1:c;
subplot(2,1,1);
stem(n,a);
xlabel(‘Indecsul de timp n’); ylabel(‘Amplituda’)
title(‘Secvenţa „a”’)
subplot(2,1,2);
stem(l,b);
xlabel(‘Indecsul de timp n’); ylabel(‘Amplituda’)
title(‘Secvenţa „b”’)

2. Efectuaţi operaţia de convoluţie a acestor două secvenţe, pentru aceasta :

% Convoluţia a două secvenţe


a=[-2 0 1 –1 3];
b=[1 2 0 –1];
c=conv(a,b);
m=8;
n=1:1:8;
disp(‘secventa de iesire=’);disp(c)
stem(n,c)
xlabel('Indecsul de timp n'); ylabel('Amplituda')
title('Convolutia secventei a(n) si b(n)')

37
3. Determinaţi Transformarea Fourier a secvenţelor a(n) şi b(n), apoi
produsul transformărilor obţinute.Acest produs este egal cu Transformarea
Fourier a convoluţiei semnalelor a(n) şi b(n). Deci detrminînd Transformarea
Fourier Inversă a produsului Transformărilor Fourier a secvenţelor a(n) şi
b(n), obţinem convoluţiei semnalelor a(n) şi b(n).

% Generarea a două secvenţe


a=[-2 0 1 –1 3];
b=[1 2 0 –1];
m=8;
n=1:1:8;
% Transformarea Fourier a secventelor
AE=fft(a,m);
BE=fft(b,m);
%Transformarea Fourier Invesa a produsului AE*BE
y1=ifft(AE.*BE);
%Eroarea convolutiei circulare si directe
c=conv(a,b);
%Afisarea Transformarii Fourier Invesa a produsului AE*BE
stem(n,y1)
xlabel('Indecsul de timp n'); ylabel('Amplituda')
title(' Transformarea Fourier Invesa a produsului AE*BE');

4. Comparati convolutia obtinuta cu cea initiala.Aflaţi eroarea dintre


convoluţia iniţială şi cea obţinută :

% Generarea a două secvenţe


a=[-2 0 1 –1 3];
b=[1 2 0 –1];
m=8;
n=1:1:8;
% Transformarea Fourier a secventelor
AE=fft(a,m);
BE=fft(b,m);
%Transformarea Fourier Invesa a produsului AE*BE
y1=ifft(AE.*BE);
%Eroarea convolutiei circulare si directe
c=conv(a,b);
error=c-y1;
%Afisarea convolutiei initiale, Transformarii Fourier Invesa
a produsului AE*BE si a Erorii convolutiei circulare si
directe
subplot(3,1,1)
stem(n,c)

38
xlabel('Indecsul de timp n'); ylabel('Amplituda')
title(' Convolutia secventelor a(n) si b(n)');
subplot(3,1,2)
stem(n,y1)
xlabel('Indecsul de timp n'); ylabel('Amplituda')
title(' Transformarea Fourier Invesa a produsului AE*BE');
subplot(3,1,3)
stem(n,abs(error))
xlabel('Indecsul de timp n'); ylabel('Amplituda')
title(' Eroarea convolutiei circulare si directe');

5. Metoda menţionată efectuează convoluţia a două semnale integral. În unele


aplicaţii e necesar de a efectua convoluţia semnalului în măsura formării sau
măsurării lui. În aşa caz se efectuează convoluţia pe blocuri, în care semnalul
este divizat pe blocuri şi se efectuează convoluţia pe blocuri.
Fie că avem două semnale de tipul unui semnal de întrare şi al doilea
– răspunsul sistemei la impulsul unitate:

h=[1 4 2];
x=[1 2 3 4 5 4 3 3 2 2 1 1];

Determinaţi convoluţia lineară:

h=[1 4 2];
x=[1 2 3 4 5 4 3 3 2 2 1 1];
c=conv(x,h);
m=14;
n=1:1:14;
disp(‘secventa de iesire=’);disp(c)
stem(n,c)
xlabel('Indecsul de timp n'); ylabel('Amplituda')
title('Convolutia secventei x(n) si h(n)')

Împărţiţi semnalul de întrare în două blocuri a câte 6 probe şi


prelucraţi aceste blocuri separat:

x1=x(1:6);
h=[1 4 2];
c1=conv(x1,h);
m=8;
n=1:1:8;
disp(‘secventa de iesire=’);disp(c1)

39
stem(n,c1)
xlabel('Indecsul de timp n'); ylabel('Amplituda')
title('Convolutia primului bloc')

şi:

x2=x(7:end);
h=[1 4 2];
c2=conv(x2,h);
m=8;
n=1:1:8;
disp(‘secventa de iesire=’);disp(c2)
stem(n,c2)
xlabel('Indecsul de timp n'); ylabel('Amplituda')
title('Convolutia blocului doi')

Rezultatul convoluţiei finale se află:

y_add=[c1(1:6) c1(7:8)+ c2(1:2) c2(3:end)];


m=14;
n=1:1:14;
disp(‘secventa de iesire=’);
stem(n,y_add)
xlabel('Indecsul de timp n'); ylabel('Amplituda')
title('Convolutia secventei x(n) si h(n)')

Conţinutul Dării de seamă.


- scopul lucrării,
- scurte noţiuni teoretice;
- programele şi semnalele obţinute.
- concluzii.

Literatura.
40
1. S.Haykin, B.V. Veen Signals and Sistems, New Yorc, 1999
2. D.M.Etter Engineering Problem Solving with MATLAB, Matlab
Curriculum
eries, 1996

Lucrarea de laborator N 5
Studierea Z-Transformării directe şi factorială. Determinarea
Regiunii de Convergenţă.
Scopul lucrării: Studierea Z-Transformării directe şi factorială.
Determinarea
Regiunii de Convergenţă

Noţiuni teoretice.

Z-transformarea directă
Z-transformarea directă a semnalului x(n) este definită ca o serie de
putere:

(1)
unde z este o variabilă complexă. Relaţia (1) este numită Z-transformarea
directă deoarece transformă semnalul din domeniul de timp x(n) în
reprezentarea lui pe planul complex X(z). Procedura obţinerii semnalului
x(n) din X(z) se numeăte Z-transformarea inversă..
Deseori Z-transformarea semnalului x(n) se notează:
(2)
sau relaţia dintre x(n) şi X(Z) este indicată:
(3)
41
Z-transformarea este o serie de putere infinită. Regiunea de
convergenţă (ROC) a X(z) este un set de valori a valorii z pentru care X(z) ia
valori finite.
Din punct de vedere matematic Z-transformarea semnalului x(n)
este o reprezentare alternativă compactă a semnalului.
Fie variabila complexă z în formă polară este exprimată :

(4)
unde r= z şi θ= z. Atunci X(z) poate fi exprimată:

(5)

X ( z) z=re
j θ = ∑x(n) r-ne-j θ n
−∞
În ROC a X(z), X ( z) < ∞ . Însă

(6)
Deci |X(z)| este finită dacă secvenţa x(n)r-n este absolut sumabilă.
Problema găsirii ROC pentru X(z) este echivalentă cu deterninarea
valorilor r pentru care secvenţa x(n)r-n este absolut sumabilă. Să ecsprimăm
(6) prin:

(7)

Dacă x(z) este convergent pe o regiune a planului complex, ambele


sume din (7) trebuie să fie finite.În prima sumă din (7) treuie să ecziste un aşa
r valorila mai mici decât care satisfac condiţia ca secvenţa x(-n)r-n , 1 ≤ n < ∞ ,
să fie absolut sumabilă. Deci ROC a primei sume constă din toate punctele
din interiorul unui cerc cu raza r1, unde r1< ∞ , cun este ilustrat în Fig. 4.1a.

42
Fig. 1

Pe de altă parte, pentru suma a doua din (7) treuie să ecziste un aşa r
valorile mai mari decât care satisfac condiţia ca secvenţa x(n)/rn, 1 ≤ n < ∞ ,
să fie absolut sumabilă. Deci ROC a sumei a doua constă din toate punctele
din exteriorul unui cerc cu raza r2, cun este ilustrat în Fig. 2.

r2

r2

Fig. 2

Deci convergenţa X(z) necesită ca ambele sume din(7) să fie finite, sau
ROC pentru X(z) este regiune a z-planului, r2 < r < r1, care este o regiune
comună unde ambele sume să fie finite.
Această regiune este ilustrată în Fig. 3.

43
Fig.3

Să determinăm Z-transformarea semnalului:

α n , n ≥0
x ( n ) = α n u ( n) =  (8)
 0, n <0
Soluţie: După definiţie :
∞ ∞ n

X (z) = ∑α
n =0
n
z −n
= ∑(αz
n =0
−1
) (9)

Dacă α z −1 <1 sau echivalent , |z| > α, această serie de putere

este convergentă pe 1/(1- αz −1 )


Deci avem perechea Z-transformării:

1
x ( n) = α n u ( n) ←
→z
X ( z) = ROC z >α (10)
1 − αz −1

ROC este exteriorul unui cerc ce are raza | α |. În Figura 4 este arătat
graficul semnalului x(n) şi Regiunea de Convergenţă corespunzătoare acestui
semnal.
Dacă vom nota α = 1 vom obţine Z-transformarea:

z 1
x (n) = u (n) ←→ X ( z) = ROC z >1 (11)
1 − z −1

44
Fig.4

Ordinea îndeplinirii lucrării de laborator.

1. Determinaţi forma factorială a z-transformării următoare. Afişaţi


„POLES” şi „ZERO” –urile transformării obţinute:

2 z 4 + 16 z 3 + 44 z 2 + 56 z + 32
G( z) =
3 z 4 + 3 z 3 − 15 z 2 + 18 z − 12

% Deterinarea formei factoriale


num=[2 16 44 56 32];
den=[3 3 –15 18 –12];
[z,p,k]=tf2zp(num,den);
m=abs(p);
disp(‘ZEROS sunt la’);disp(z);
disp(‘POLES sunt la’);disp(p);
disp(‘Constanta GAIN este la’);disp(k);
disp(‘Raza POES-urilor sunt’);disp(m);
sos=zp2sos(z,p,k);
disp(‘Sectiunea de ordinul doi’);disp(real(sos));
zplane(num,den)

45
2

1.5

0.5
Imaginary Part

-0.5

-1

-1.5

-2

-4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1


Real Part

>> ZEROS sunt la


-4.0000
-2.0000
-1.0000 + 1.0000i
-1.0000 - 1.0000i

POLES sunt la
0.1816 + 2.1444i
0.1816 - 2.1444i
-0.6816 + 0.6317i
-0.6816 - 0.6317i

Constanta GAIN este la


0.6667

Raza POES-urilor sunt


2.1521
2.1521
0.9293
46
0.9293

Sectiunea de ordinul doi


0.6667 4.0000 5.3333 1.0000 -0.3632 4.6315
1.0000 2.0000 2.0000 1.0000 1.3632 0.8637

Deci forma factoriala a expresiei (1) va fi:

(0.0667 + 0.4 z −1 + 0.5333 z −2 )(10 .0 + 20 .0 z −1 + 20 .0 z −2 )


G( z) = =
(1.0 + 2.0 z −1 − 4.0 z −2 )(1.0 −1.0 z −1 +1.0 z −2 )

(1 + 6 z −1 + 8 z −2 )(1 + 2 z −1 + 2 z −2 )
= 0.667
(1 + 2 z −1 − 4 z −2 )(1 − z −1 + z −2 )
(2)

Din expresia (2) Regiunea de Convergenţă va fi:

R1 : ∞≥ z >3.2361
R 2 : 3.2361 > z >1.2361
R3 : 1.2361 > z >1
R 4 : 1 > z ≥0

3. Repetaţi determinarea formei factoriale a z-transformării următoare. Afişaţi


„POLES” şi „ZERO” –urile transformării obţinute:

7 z 4 − 3 z 3 + 55 z 2 − 23 z + 9
G( z ) =
67 z 4 + 88 z 3 − 5 z 2 + 2 z + 26

4. Cercetarea Z-transformării CZT.

- Din meniul „MATLAB DEMO” selectaţi „Toolboxex”, apoi „Signal processing”.


Selectaţi „Chirp Z-Transform” şi lnsaţi aplicaţia apăsând „Run Chirp Z-Transform”

47
Pe ecran va apărea interfaţa

- Schimbaţi valorile R1, R2, Fs, Fmin, Fmax şi cecetaţi influienţa acestora
asupra Magnitudei şi părţii imaginare a Z-transformării.

Conţinutul Dării de seamă.


- scopul lucrării,
- programele şi semnalele obţinute.
- concluzii.

Literatura.
1. S.Haykin, B.V. Veen Signals and Sistems, New Yorc, 1999
2. D.M.Etter Engineering Problem Solving with MATLAB, Matlab
Curriculum
eries, 1996

48
Lucrarea de laborator N 6
Analiza domeniului de frecvenţa a semnalelor folosind
MATLAB

Scopul lucrării: Analiza domeniului de frecvenţă a semnalului


Sinusoidal folosind MATLAB.

Noţiuni teoretice.

La discretizarea semnalului continuu f(t) în orice T secunde obtinem o


consecutivitate de valori ale semnalului original : fk=f(kT).
Notarea vectorului în MATLAB se începe cu 1 : x(1), x(2) ….. Notarea
semnalelor de obicei startează cu zero – g0, g1, …, cît şi co orice altă valoare,
inclusiv negativă – h-2, h-1, h0 …. Dacă semnalele g şi h conţin cîte 10 valori,
49
atunci vectorii corespunzători vor conţine de asemenea 10 valori : vectorul kg
va conţine valorile de la 0 .. 9 iar vectorul kh va conţine valorile –2 .. 7.
Domeniul de frecvenţă a semnalelor poate fi reprezentat prin valori
complexe care reprezintă sinusoidele ce fac parte din semnal.
Algoritmul Transformării Fourier Discrete (TFD) se foloseşte pentru a
transforma semnalul digital din domeniul de timp într-un set de puncte în
domeniul de frecvenţă. Intrarea algoritmului TFD este un set de N valori din
dimeniul de timp [fk] : algoritmul modelează un set de N valori complexe [F k]
care reprezintă informaţia despre domeniul de frecvenţă. Dacă N este un
număr cu baza 2 (N=2M) atunci se foloseşte Transformarea Fourier Rapidă
(TFR).

Fie că un semnal digital a fost discretizat la orice T secunde, sau avem


1/T probe pe secundă. Alegerea vitezei de quantizare se efectuiază în aşa fel
ca să fie eliminată suprapunerea , problemă ce apare cînd discretizarea e
prea lentă. Pentru a inlătura această problemă discretizarea se efectuiază cu
o viteză mai mare decît dublul frecvenţei a fiecărui semnal sinusoidal. Dacă
avem un semnal ce comţine două sinusoide cu frecvenţa 10 şi respectiv 35 Hz,
discretizarea se efectuiază la o fracvenţă mai mare decît 70 Hz. Frecvenţa
Nyquist este egală cu jumătate din frecvenţa de quantizare şi reprezintă
limita de sus a frecvenţei care trebuie să se conţină în semnalul digital.
Funcţia MATLAB care transformarea TFD este fft. Această funcţie poate
fi folosită cu un sau cu două argumente la întrare. Dacă se foloseşte un singur
argument care este un vector ce conţine un semnal în timp, ieşirea acestei
funcţii va fi un alt vector de acelaş tip ce conţine valori complexe care
reprezintă conţinutul de frecvenţă a semnalului. Dacă se folosesc două
argumente – primul este un vector ce conţine semnalul în timp, iar al doilea
argument este o valoare integră L care specifică numărul de puncte a
vectorului de ieşire. Dacă L > N atunci L-N zerouri vor fi aplicate la
sfîrşitul semnalului în timp înainte de procesul de transformare. Dacă L < N,

50
atunci primele L valori ale semnalului în timp vor fi folosite pentru
transformare în domeniul de frecvenţă.

Valorile domeniului de frecvenţă prin folosire fft corespund frecvenţelor


separate cu 1/NT Hz. Dacă avem 32 de probe a semnalului în timp care a fost
discretizat cu frecvenţa de 1000 Hz, valorile frecvenţei transformate prin fft
corespund : 0 Hz, 1/0.032 Hz, 2/0.032 Hz … .Aceste valori sînt 0 Hz, 31.25
Hz , 62.5 Hz … . Frecvenţa Nyquist este egală cu 1/2T şi va corespunde cu F16
. Deci, TFD este o funcţie periodică şi valorile frecvenţei mai mari decît
frecvenţa Nyquist nu reprezintş informaţie nouă,

Ordinea îndeplinirii lucrării de laborator.

Lansaţi pachetul de programe MATLAB . Pe cran va apărea


fereastra de comandă.

I Transformarea Fourier.

51
1.1 Generaţi un semnal în timp, care conţine 64 de probe. Pentru
aceasta culegeţi :

N=64;
T=1/128;
k=0:N-1;
f=sin(2*pi*20*k*T);
plot(k,f),grid, set (gca,'FontName', ...
'Arial Cyr','FontSize',16)
xlabel('Indecsul k'); ylabel('Y(t)')
title('Semnalul original ')

Semnalul f este o sinusoidă cu frecvenţa 20 Hz


discretizat cu frecvenţa de 128 Hz. Dacă f este o
singură sinusoidă , atunci conţinutul de frecvenţă va fi
zero cu excepţia punctului în domeniul de frecvenţă
care corespunde 20 Hz.

1.2. Pentru a determina Fk care corespunde frecvenţei 20 Hz se


modelează creşterea în Hz dintre punctele din domeniul de frecvenţă care
este 1/NT sau 2 Hz. . Acum componenta cu 20 Hz va apărea la F10

N=64;
T=1/128;
k=0:N-1;
f=sin(2*pi*20*k*T);
F=fft(f);
magF= abs(F);
plot(k,magF) ,grid, set (gca,'FontName', ...
'Arial Cyr','FontSize',16)
xlabel('Indecsul k'); ylabel('Modulul')
title('fft a semnalul original ')

Din figură se vede că componenta cu 20 Hz este repetată de asemenea la F54


ca o cauză a periodicităţii TFD. De asemenea vectorul k conţine notaţia ce
corespunde semnalelor f şi F.

52
1.3 In genere se recomandă de a desena numai jumătate din valorile
modulului . De Asemenea este mai convenabil de a prezenta axa x în Hz faţă
de indicele k. Pentru aceasta culegeţi programa :

N=64;
T=1/128;
k=0:N-1;
f=sin(2*pi*20*k*T);
F=fft(f);
magF= abs(F);
hertz=k*(1/(N*T));
plot(hertz(1:N/2),magF(1:N/2)) ,grid, ...
set (gca,'FontName','Arial Cyr','FontSize',16)
xlabel('Frecvenţa Hz'); ylabel('Modulul')
title('fft a semnalul original ')

1.4 Să presupunem că frecvenţa sinusoide era de 19 Hz (în loc de 20) .


Pasul de creştere a valorilor Fk în Hz este de 2 Hz, deci sinusoida va apărea la
Fk unde k=9.5. Însă k este integră şi nu sunt valori la F9.5. În acest caz
sinusoida va apăra la valorile vecine F9 şi F10. Pentru a ilustra aceasta,
culegeţi:

N=64;
T=1/128;
k=0:N-1;
f=sin(2*pi*19*k*T);
F=fft(f);
magF= abs(F);
hertz=k*(1/(N*T));
plot(hertz(1:N/2),magF(1:N/2)), grid, set
(gca,'FontName',...
'Arial Cyr','FontSize',16)
xlabel('Frecvenţa Hz'); ylabel('Modulul')
title('fft a semnalul original ')

II Determinarea modului şi fazei Transformării Fourier.

53
2.1 Creaţi un semnal după cum urmează:

t = (0:1/99:1); % Vectorul de timp


x = sin(2*pi*15*t) + sin(2*pi*40*t); % Semnalul
% determinarea DFT, magnituda şi faza secvenţei x
y = fft(x); % Modelarea DFT
m = abs(y); p = unwrap(angle(y)); % Magnituda şi faza
% afişarea magnitudei şi fazei
f = (0:length(y)-1)*99/length(y); % Vectorul frecvenţei
plot(f,m); title('Magnitude');
set(gca,'XTick',[15 40 60 85]);
figure; plot(f,p*180/pi); title('Faza');
set(gca,'XTick',[15 40 60 85])

III Determinarea Transformării Fourier a umpulsului


dreptungiular

3.1 Modelaţi un semnal după cum urmează:

A=0.75;
w=0.5;
Ts=0.01;
T=100;
t=0:Ts:T;
y=A*rectpuls(t,w);
stem(t(1:100),y(1:100)), grid, set (gca,'FontName', ...
'ArialCyr','FontSize',16)
title('Semnal periodic
in forma dreptunghiulara')
xlabel('t,sec'),ylabel('Y(t)'),grid

3.2 Aplicaţi procedura fft şi afişaţi dependenţa modului de frecvenţă


după cum urmează:

54
A=0.75;
w=0.5;
Ts=0.01;
T=100;
t=0:Ts:T;
y=A*rectpuls(t,w);
x=fft(y);
df=1/T; Fmax=1/Ts;
f=0:df:Fmax;
a=abs(x);
stem(f,a), grid, set (gca,'FontName', ...
'ArialCyr','FontSize',16)
title('Modului TF a semnalui periodic
in forma dreptunghiulara')
xlabel('Frecvenţa Hz'),ylabel('Modulul'),grid

3.3 Aplicaţi procedura fftshift şi afişaţi dependenţa modului de frecvenţă:

A=0.75;
w=0.5;
Ts=0.01;
T=100;
t=0:Ts:T;
y=A*rectpuls(t,w);
x=fft(y);
xp=fftshift(x);
a=abs(xp);
df=1/T; Fmax=1/Ts;
f1=-Fmax/2:df:Fmax/2;
stem(f1,a), grid, set (gca,'FontName', ...
'ArialCyr','FontSize',16)
title('Modului TF a semnalui periodic in forma
dreptunghiulara')
xlabel('Frecvenţa Hz'),ylabel('Modulul'),grid

3.4 Afişaţi pe o singură dependenţă modulul şi faza TF:

A=0.75;
w=0.5;
Ts=0.01;
T=100;
t=0:Ts:T;

55
y=A*rectpuls(t,w);
x=fft(y);
xp=fftshift(x);
df=1/T; Fmax=1/Ts;
f1=-Fmax/2:df:Fmax/2;
dch=real(xp); mch=imag(xp);
plot(f1,dch,f1,mch), grid, set (gca,'FontName', ...
'ArialCyr','FontSize',16)
title('Modulul şi faza TF a semnalui periodic
in forma dreptunghiulara')
xlabel('Frecvenţa Hz'),ylabel('Modulul şi faza'),grid

VI TFD a zgomotului “alb”:

Deseori Transformarea Fourier este utilizată pentru determinarea


componentelor de frecvenţă a semnalelor afectate de zgomot.

4.1 Generaţi un proces în forma zgomotului “alb”:

Ts=0.01;
T=50;
t=0:Ts:T;
x1=rand(1,length(t));
plot(t,x1), grid, set (gca,'FontName', ...
'ArialCyr','FontSize',16)
title('Zgomot alb')
xlabel('Timpul'),ylabel('X1(t)'),grid

4.2 Proiectaţi un filtru şi filtraţi zgomotul “alb”:

Ts=0.01;
T=50;
t=0:Ts:T;
x1=rand(1,length(t));
om0=2*pi; dz=0.05; A=1; oms=om0*Ts;
a(1)=1+2*dz*oms+oms^2;
a(2)=-2*(1+dz*oms);
a(3)=1;

56
b(1)=A*2*dz*oms^2;
y1=filter(b,a,x1);
plot(t,y1), grid, set (gca,'FontName', ...
'ArialCyr','FontSize',16)
title('Iesirea filtrului')
xlabel('Timpul'),ylabel('Y1(t)'),grid

4.3 Reprezentaţi TF a zgomotului “alb” şi spectrul densităţii de


putere:

Ts=0.01;
T=50;
t=0:Ts:T;
x1=rand(1,length(t));
om0=2*pi; dz=0.05; A=1; oms=om0*Ts;
a(1)=1+2*dz*oms+oms^2;
a(2)=-2*(1+dz*oms);
a(3)=1;
b(1)=A*2*dz*oms^2;
y1=filter(b,a,x1);
df=1/T; Fmax=1/Ts;
f=-Fmax/2:df:Fmax/2;
dovg=length(f);
Fu1=fft(x1)/dovg; Fu2=fft(y1)/dovg;
Fu1p=fftshift(Fu1); Fu2p=fftshift(Fu2);
A1=abs(Fu1p); A2=abs(Fu2p);
S1=Fu1p.*conj(Fu1p)*dovg; S2=Fu2p.*conj(Fu2p)*dovg;
subplot(2,1,1);
stem(f,A1), grid, set (gca,'FontName', ...
'ArialCyr','FontSize',16)
title('Modulul zgomotului');
subplot(2,1,2);
stem(f,S1), grid, set (gca,'FontName', ...
'ArialCyr','FontSize',16)
title('Spectrul densităţii de putere');
xlabel('Frecventa Hz')

4.4 Repetaţi p. 4.4 pentru semnalele de la ieşirea filtrului:

c1=fix(dovg/2)-200; c2=fix(dovg/2)+200; length(f)


subplot(2,1,1);
stem(f(c1:c2),A2(c1:c2)), grid, set (gca,'FontName', ...
'ArialCyr','FontSize',16)

57
title('Modulul zgomotului la iesirea filtrului');
subplot(2,1,2);
stem(f(c1:c2),S2(c1:c2)), grid, set (gca,'FontName', ...
'ArialCyr','FontSize',16)
title('Spectrul densităţii de putere la iesirea filtrului
');
xlabel('Frecventa Hz')

Conţinutul Dării de seamă.


- scopul lucrării,
- scurte noţiuni teoretice,
- programele folosite la TFD.
- semnalele modelate,
- concluzii.

Literatura.
1. S.Haykin, B.V. Veen Signals and Sistems, New Yorc, 1999
2. D.M.Etter Engineering Problem Solving with MATLAB, Matlab
Curriculum
eries, 1996

58
Lucrarea de laborator N 7
Filtrarea semnalelor elementare folosind MATLAB
Scopul lucrării: Proiectarea filtrelor digitale şi filtrarea semnalelor.

Noţiuni teoretice.

Funcţia de transfer a unei sisteme analogice este reprezentată de o


funcţie de transfer H(s) şi funcţia de transfer a unei sistene digitale este
reprezentată de o funcţie complexă H(z). Aceste funcţii de transfer descriu
efectul sistemei asupra semnalului de întrare, cît şi efectul de filtrare a
sistemei. Ambele funcţii sînt funcţii de frecvenţă, unde
s = jω şi z = e jωt . Dacă K este amplituda şi Φ este faza funcţiei de
transfer, atunci dacă la întrare se conţine un semnal , amplituda acestuia se
va multuplica cu K şi faya se fa scimba cu Φ . Efectul acestei schimbări este
reprezentat în fig.1.

59
Fig. 1 Efectul filtrării a unei sinusoide.

Funcţia de transfer oferă descrierea benzii de frecvenţă care trece prin


filtru. De exemplu filtrul cu banda de frecvenţă joasă stopează frecvenţele
mai înnalte ca frecvenţa de hotar, filtrul cu banda de frecvenţe înnaltă va
stopa frecvenţele mai joase ca frecvenţa de hotar, filtrul cu banda de
frecvenţă de trecere va stopa frecvenţele în din afara unei benzi cpecifice.
Figura 2 reprezintă exemple de funcţii de transfer ale tipurilor principale de
filtre.

Fig.2 Funcţiile de transver ideale.

Figura 3 reprezintă un exemplu al amplitudinei a unui filtru tipic cu


banda de frecvenţe joasă. Se observă trei regiuni : banda de trecere, banda
intermediară şi banda de stopare.

60
Fig.3 Filtru cu bandă joasă tipic.

Banda de trecere este limitată de frecvenţa de hotar ω c care


corespunde 0.7 din modulul amplitudei şi frecvenţa de stopare este limitată
de frecvenţa ω r care este egală cu 0.1 din modulul amplitudei.
Un filtru analog definit de funcţia de transfer H(s). În formî generală
funcţia H(s) este :

Cîteva exemple de funcţii de ttransfer :

61
Ordinea îndeplinirii lucrării de laborator.
Ordinea îndeplinirii lucrării de laborator.

Lansaţi pachetul de programe MATLAB . Pe cran va apărea


fereastra de comandă.

1. Modelarea funcţiei de transfer.

1.1 Modelaţi funcţia de transfer a dou[ filtre, pentru aceasta culegeţi programa
:

%
w1=0:0.05:5.0;
B1=[0.5279];
A1=[1,1.02725,0.5279]
H1s=freqs(B1,A1,w1);
%
62
w2=0:0.001:0.3;
B2=[1,0,0];
A2=[1,0.1117,0.0062];
H2s=freqs(B2,A2,w2);
clg
subplot(221),plot(w1,abs(H1s)),grid
subplot(222),plot(w2,abs(H2s)),grid

2.Filtrarea semnalelor.
2.1 Modelaţi un semnal iniţial, culegând programa :

Ts=0.001;
t=0:Ts:20;
A1=0.75;
T1=1;
Yi=A1*sin(2*pi*t/T1);
plot(t(10002:end),Yi(10002:end)),
grid, set (gca,'FontName','Arial Cyr','FontSize',16)
title('Semnalul initial')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

2.2 Fie că în rezultatul măsurării la semnalul iniţial s-a adăugat zgomotul


aparatului de măsurat şi zgomotul “alb”:

T2=0.2;
A2=10;
Eps=pi/4;
Ash=5;
x=A1.*sin(2*pi*t./T1)+A2.*sin(2*pi.*t./T2 +eps)
+Ash*rand(1,length(t));
plot(t(10002:end),x(10002:end)),
grid, set (gca,'FontName','Arial Cyr','FontSize',16)

63
title('Semnalul masurat')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

2.3 Pentru prelucrarea acestui semnal şi obţinerea celui iniţial


proiectaţi un filtru cu frecvenţa egală cu cea a semnalului iniţial şi filtraţi
semnalului măsurat, pentru aceasta culegeţi :

T1=1;
Ts=0.001;
Tf=T1;
dz=0.05;
om0=2*pi/Tf;
A=1;
oms=om0*Ts;
a(1)=1+2*dz*oms+oms^2;
a(2)=-2*(1+dz*oms);
a(3)=1;
b(1)=A*Ts*Ts*(2*dz*om0^2);
y=filter(b,a,x);
plot(t(10002:end),y(10002:end),t(10002:end),Yi(10002:end)),
grid, set (gca,'FontName','Arial Cyr','FontSize',16)
title('Semnalul la iesirea filtrului')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

2.4 Însă procesul de restabilire a semnalului iniţial posedă o reţinere


in atingerea amplitudei şi o reţinere de fază (π ⁄ 2):

Y=filter(b,a,x);
plot(t,y,t,Yi),
grid, set (gca,'FontName','Arial Cyr','FontSize',16)
title('Semnalul la iesirea filtrului')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

64
2.5 Pentru e exclude aceste reţineri, folosiţi procedura filtrării duble
filtfilt, pentru aceasta :

Y=filtfilt(b,a,x);
plot(t,y,t,Yi),
grid, set (gca,'FontName','Arial Cyr','FontSize',16)
title('Utilizarea procedurii filtfilt')
xlabel('timpul(s)'),ylabel('functia y(t)'),grid

3.

Conţinutul Dării de seamă.


- scopul lucrării,
- scurte noţiuni teoretice;
- programele şi semnalele obţinute.
- concluzii.

Literatura.
1. S.Haykin, B.V. Veen Signals and Sistems, New Yorc, 1999
2. D.M.Etter Engineering Problem Solving with MATLAB, Matlab Curriculum
eries, 1996

65
Lucrarea de laborator N 8
Modulaţia semnalelor
Scopul lucrării: Cercetarea modulaţiei semnalelor digitale.

Noţiuni teoretice.

Modulaţia. Definiţii şi clasificări


În procesul de modulaţie intervin următoarele semnale:
- semnalul s(t) ce conţine informaţia (mesajul), denumit semnal modulator;
- semnalul P(t), asupra căruia se transferă informaţia, denumit purtâtor;.
- semnalul sM(t) rezultat prin acţiunea semnalului modulator asupra
purtătorului, denumit semnal modulat.
Modulaţia constă în modificarea unui parametru al purtătorului P(t)
de câtre semnalul modulator s(t), ce urmează a fi transmis.
După natura semnalului purtător P(t), putem avea:
- modulaţie cu purtător sinusoidal;
- modulaţie cu purtător în impulsuri.

Fig.2 Purtător sinusoidal

66
Noţiuni generale. Tipuri de modulaţie
Purtătorul P(t) cu variaţie sinusoidală în timp se reprezintă analitic prin
expresia:
(1)
În această expresie A0 reprezintă amplitudinea oscilaţiei, Ω 0 - frecvenţa
unghiulară (pulsaţia), iar ∅ 0 — faza iniţială (diferenţa de fază sau unghiul de
fază).
Reprezentarea grafică a lui P(t) şi semnificaţia parametrilor săi sînt date
în figura 2.
A modula înseamnă a stabili o dependenţă între un parametru al
purtătorului P(t) şi semnalul modulator s(t). Este indicat ca această
dependenţă să fie liniară, căci în acest caz prin transformare inversă, numită
demodulaţie, se poate obţine simplu semnalul util s(t) din semnalul modulat.
Fiecare din cei trei parametri ce definesc purtătorul poate prelua
variaţiile semnalului modulator, obţinându-se corespunzător următoarele
tipuri de modulaţie:

—modulaţie de amplitudine (MA);


— modulaţie de frecvenţă (MF);
— modulaţia de fază (M∅) sau (MP).

Modulaţia de amplitudine cu purtător sinusoidal


Fie semnalul modulator s(t), si purtătorul P(t) :
(2)
Conform celor afirmate anterior, amplitudinea instantanee A(t) a semnalului
MA trebuie să fie într-o relaţie de dependenţă liniară cu semnalul s(t). A(t)
poate fi o funcţie de timp de forma:

67
Fig. 3. Formele de undă ale semnalului
modulator (a), purtătorului (b), amplitudinii
instantanee (c) şi semnalului MA (d).

(2.3)

Expresia în domeniul timp a semnalului MA este prin urmare:

Aceasta reprezintă forma cea mai generală a unui semnal MA, întrucât
asupra mesajului s(t) nu s-a făcut nici o restricţie.
în figura 3 sînt reprezentate, în ordine, funcţiile de timp (formele de undă)
ale semnalului modulator s(t), purtătorului P(t), amplitudinii instantanee A(t)
şi semnalului modulat sMA(t). Curba reprezentată punctat în figura 3,d poartă
denumirea .de înfăşurătoare sau anvelopă a semnalului MA şi reproduce
forma semnalului modulator.
Până acum am analizat forma de undă a semnalului MA, sau altfel spus,
reprezentarea sa în domeniul timp. Să examinăm în continuare
reprezentarea semnalului MA în domeniul frecvenţă (spectrul de frecvenţă)
considerând trei situaţii di-ferite prin forma de undă a semnalului modulator
s(t).
1. Presupunem că s(t) este un semnal sinusoidal de forma:
(5)

Amplitudinea A(t) si semnalul sMA(t), date de relaţiile (3) şi (4), devin în acest
caz:

(6)

(7)
Parametrul

68
reprezintă gradul de modulaţie. După cum se observă, m este proporţional cu
amplitudinea semnalului modulator.
Din relaţia (6) rezultă amplitudinile maximă şi minimă ale semnalului
MA:

(8)

Fig. 4. Formele de undă ale semnalului modulator (a), purtătorului (b) şi


semnalului MA (c).

deci

(9)
Relaţiile (9) se utilizează în determinarea experimentală a gradului de
modulaţie prin vizualizarea pe osciloscop a semnalului MA.
Formele de undă ale semnalelor s{t), P(t) şi sMA(t), corespunzătoare acestui
caz, sînt reprezentate grafic în figura 4.
Gradul de modulaţie m trebuie să satisfacă condiţia:
m≤ 1 (10)
pentru ca la recepţie s(t) să poată îi reconstituit.
Dacă m > 1 (fig. 5), înfăşurătoarea semnalului MA nu mai reproduce
forma semnalului modulator s(t) şi acesta nu se mai poate obţine prin
demodulare.
Expresia (7) se poate scrie sub forma:

69
(11)

Fig. 5. Semnal MA supramodulatm>1)


(

care pune în evidenţă componentele spectrale ale semnalului modulat.


Reprezentarea spectrelor de amplitudine ale mesajului, purtătorului şi
semnalului MA este dată în figura 2.6, a, b, c. Figura 2.6, c este reprezenta-
rea semnalului MA- în domeniul frecvenţă, la frecvenţe fizice (ω > 0).
Constatăm că spectrul semnalului MA conţine trei componente armonice:
- o componentă centrală de frecvenţa Ω 0 şi amplitudine A0, care este chiar
purtătorul;
- două componente de frecvenţe Ω 0+ ω 0,

Ω 0 - ω 0 de amplitudine care se numesc componente laterale


(inferioară şi superioară). Banda de frecvenţe ocupată de semnalul MA este
B = 2ω .

Ordinea îndeplinirii lucrării de laborator.

Lansaţi pachetul de programe MATLAB . Pe cran va apărea


fereastra de comandă.

70
1. Generaţi un semnal modulator, purtătorul de fravenţă şi efectuaţi mdulaţia de
amplitudă:

t=-1:0.01:1;
s_M=3*cos(2*pi*t)-sin(6*pi*t+pi/4);
Fc=10;
s_AM=s_M.*cos(2*pi*Fc*t);
subplot(2,1,1)
plot(t,s_M)
grid on
subplot(2,1,2)
plot(t,s_AM,t,abs(s_M), ‘—-‘)
grid on

2. Adăgaţu o constantă pentru a primi un semnal unipolar;

t=-1:0.01:1;
s_M=3*cos(2*pi*t)-sin(6*pi*t+pi/4);
Fc=10;
s_AM=(4+s_M).*cos(2*pi*Fc*t);
plot(t,s_AM,t,4+s_M,‘--‘)
grid on

3. Generaţi un semnal modulator, purtătorul de fravenţă şi efectuaţi modulaţia de


amplitudă uniton pentru diferiţi coeficienţi de modulare:

Fs=100;
t=-10:1/Fs:10;
omega0=10;
OMEGA=1;
s_AM_0=cos(omega0*t);
s_AM_50=(1+0.5*cos(OMEGA*t)).*cos(omega0*t);
s_AM_100=(1+cos(OMEGA*t)).*cos(omega0*t);
subplot(3,1,1)
plot(t,s_AM_0)
grid on
subplot(3,1,2)
plot(t,s_AM_50)
grid on
subplot(3,1,3)
plot(t,s_AM_100)

3. Generaţi un semnal modulator, purtătorul de fravenţă şi efectuaţi mdulaţia de


amplitudă pentru a obţine un semnal supramodulat:

71
Fs=100;
t=-10:1/Fs:10;
omega0=10;
OMEGA=1;
A_AM_150=1+1.5*cos(OMEGA*t);
s_AM_150=A_AM_150.*cos(omega0*t);
plot(t,s_AM_150,t,abs(A_AM_150), ‘—‘)
grid on
4. Cercetaţi spectrul semnalului modulator şi a semnalului modulat:

w=-20:0.1:20;
w0=10;
S_A=1./(1+w.^2);
S_AM=0.5./(1+(w+w0).^2)+ 0.5./(1+(w-w0).^2);
plot(w,S_A, ‘—‘,w,S_AM)
grid on

5. Cercetaţi suprapunerea „cozilor”spectrului semnalului modulator şi a


semnalului modulat:

w=-5:0.1:5;
w0=2;
S_A=1./(1+w.^2);
S_AM=0.5./(1+(w+w0).^2)+ 0.5./(1+(w-w0).^2);
plot(w,S_A,`--`,w,S_AM)
grid on

6. Efectuasţi demodularea semnalului modulat:

Fs=100;
t=-10:1/Fs:10;
omega0=10;
OMEGA=1;
s_AM_50=(1+0.5*cos(OMEGA*t)).*cos(omega0*t);
y=abs(s_AM_50);
[b,a]=butter(5,2*OMEGA/pi/Fs);
z=filtfilt(b,a,y);
plot(t(1:1000),y(1:1000),‘--‘, t(1:1000),z(1:1000))
grid on

6. Efectuasţi demodularea sincronă a semnalului modulat:

72
Fs=100;
t=-10:1/Fs:10;
omega0=10;
OMEGA=1;
s_AM_50=(1+0.5*cos(OMEGA*t)).*cos(omega0*t);
y=s_AM_50.*cos(omega0*t);
[b,a]=butter(5,2*OMEGA/pi/Fs);
z=filtfilt(b,a,y);
plot(t(1:1000),y(1:1000), ‘--‘, t(1:1000),z(1:1000))
grid on

7. Generaţi un semnal modulator, purtătorul de fravenţă şi efectuaţi modulaţia de


amplitudă – amplitude modulation with supprwessed carrier:

t=0:0.01:10;
omega0=20;
OMEGA=1;
s_M=cos(OMEGA*t);
s_M_SC=s_M.*cos(omega0*t);
plot(t,s_M_SC)
grid on

Conţinutul Dării de seamă.


- scopul lucrării,
- scurte noţiuni teoretice;
- programele şi semnalele obţinute.
- concluzii.

Literatura.
1. S.Haykin, B.V. Veen Signals and Sistems, New Yorc, 1999
2. D.M.Etter Engineering Problem Solving with MATLAB, Matlab Curriculum
eries, 1996

73
74
75
76
77