Documente Academic
Documente Profesional
Documente Cultură
Î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.
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.
(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)
(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.
(8)
Figura 3 ilustrează semnalul u(n).
Figura 3 Reprezentarea
grafică a semnalului u(n).
(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)
5
Semnalul x(n) definit de (12) poate fi reprezentat grafic prin
dependenţa amplitudei:
(15)
şi dependenţa fazei:
(16)
c. Clasificarea semnalelor.
(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.
(23)
Consecutiv semnalele periodice sunt semnale de putere.
7
Ordinea îndeplinirii lucrării de laborator
Lansaţi pachetul de programe MATLAB . Pe cran va apărea
fereastra de comandă.
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
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),... ).
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
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
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
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
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),... ).
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),... ).
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,... ).
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
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),... ).
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),... ).
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),... ).
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),... ).
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.
Noţiuni teoretice.
16
Fig.3 Discretizarea periodică a semnalului analog.
xa(t)=Acos Ω0 t (5)
18
1. Studierea transformării A/D
1.1 Lansaţi pachetul de programe MATLAB . Pe cran va apărea
fereastra de comandă.
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.
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
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
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
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.
(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.
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).
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).
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.
(3)
Sistemele descries prin relaţiile de întrare ieşire de mai jos sunt
sisteme dinamice:
(4)
(5)
a) c)
26
b) d)
(6)
Fig. 7
1 M −1
y ( n) =
M k =0
∑
x(n − k ) (4)
27
Lansaţi pachetul de programe MATLAB . Pe cran va apărea
fereastra de comandă.
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
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
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
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
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
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 ')
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.
y k ( n) = T [ xk ( n) ] (4)
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)
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)
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).
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).
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');
h=[1 4 2];
x=[1 2 3 4 5 4 3 3 2 2 1 1];
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)')
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')
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)
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
α 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)
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
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
45
2
1.5
0.5
Imaginary Part
-0.5
-1
-1.5
-2
POLES sunt la
0.1816 + 2.1444i
0.1816 - 2.1444i
-0.6816 + 0.6317i
-0.6816 - 0.6317i
(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)
R1 : ∞≥ z >3.2361
R 2 : 3.2361 > z >1.2361
R3 : 1.2361 > z >1
R 4 : 1 > z ≥0
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
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.
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
Noţiuni teoretice.
50
atunci primele L valori ale semnalului în timp vor fi folosite pentru
transformare în domeniul de frecvenţă.
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 ')
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 ')
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 ')
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 ')
53
2.1 Creaţ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
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
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
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
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
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
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')
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')
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.
59
Fig. 1 Efectul filtrării a unei sinusoide.
60
Fig.3 Filtru cu bandă joasă tipic.
61
Ordinea îndeplinirii lucrării de laborator.
Ordinea îndeplinirii lucrării de laborator.
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
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
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
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.
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.
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:
67
Fig. 3. Formele de undă ale semnalului
modulator (a), purtătorului (b), amplitudinii
instantanee (c) şi semnalului MA (d).
(2.3)
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)
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)
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
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
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)
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
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
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
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
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
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