Sunteți pe pagina 1din 13

Universitatea Tehnica a Moldovei

Departamentul Inginerie Software


si Automatica

Procesarea semnalelor
Lucrare de laborator nr. 1

Tema: Iniţiere în MATLAB.


Studierea şi proiectarea semnalelor elementare folosind MATLAB.

RAPORT

Verificat de: Elaborat de:


conf, univ. st. gr. FAF-172
Railean Sergiu Ion Dodon

Chisinau 2020
Scopul lucrarii
De studiat semnalele elementare. Obtinerea deprinderilor de proiectare, modificare si prelucrare a
semnalelor elmentare in programul Matlab.

Notiuni teoretice
Un semnal discret în timp x(n) este o funcţie de o variabilă independentă care este un număr integru.
Semnalul x(n) poate fi obţinut din semnalul analogic xa(t), atunci x(n) =xa(nT), unde T este perioada de
discretizare.

Metode de reprezentare a semnalelor discrete:

1. funcţie:

2. formă de tabelă:

3. secvenţă:

Semnale discrete elementare:

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

2. Semnalul în formă de “prag-unitate” e notat prin u(n):

3. Semnalul în formă de ”pantă-unitate” este notat prin ur(n):

4. Semnalul exponenţial este o secvenţă reprezentată de expresia:

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ă:
unde r şi θ sunt parametri. Semnalul poate fi reprezentat:

Figura 5 Reprezentarea grafică a


semnalului exponenţial

Deci dacă x(n) are o valoare complexă, el poate fi reprezentat grafic prin afişarea părţii reale:

ca funcţie de n, şi separat afişarea părţii imaginare:

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.

Semnalul x(n) definit de (12) poate fi reprezentat grafic prin dependenţa amplitudei:

şi dependenţa fazei:

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.

Clasificarea semnalelor.
Semnale energetice şi semnale de putere. Energie semnalului este definită:

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ă:

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


N
EN≡ ∑ |x( n)|2
n=−N

atunci putem exprima energia semnalului E :

şi puterea medie a semnalului x(n) ca

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ă:

Cea mai mică valoare N pentru care (22) este adevărată, este numită perioada (fundamentală). Dacă nu
există valori pentru N care satisfac (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:
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ă

Semnalul x(n) este antisimetric (odd) dacă:

Exemple de semnale simetrice şi antisimetrice sunt prezentate în Figura 8.

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

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);
 
A1=0.5;
sq1=A1*square(w0*t+rho);
plot(t,sq);
hold on;
plot(t,sq1);
 
title('Semnal periodic in forma dreptunghiulara');
xlabel('t,sec');
ylabel('X(t)');
grid;

Daca schimbam cel putin unul din parametrii functiei, graficul acesteia suporta modificari. In cazul dat achumbat
valoarea amplitutinei del la 1 la 0.4 si se observa bine pe grafic cum a doua functie are o amplitudine mai joasa decat
functia initiala.

1.2 Modelaţi un impuls în formă dreptungiulară folosind funcţia rectpuls: y=rectpuls(t-k,w),


unde w este lăţimea, t-k este deplasarea de la t=0 (de exemplu t-3) şi afişaţi semnalul în formă continuă
folosind funcţia plot. Schimbaţi un parametru al semnalului y (t-k sau w), notaţi noul semnal prin y1.

A = 3;
Table 1
w = 2; % latimea
t = 0:0.01:10;
k = 3;
y = A * rectpuls(t­k, w);
plot(t, y);
 
hold on;
A1 = 1.5;
w1 = 1;
k1 = 5;
y1 = A1 * rectpuls(t­k1, w1);
plot(t, y1);

Dupa ce a fost miscsorata amplitudinea, observam ca graficul este la un nivel mai jos, iar schimbarea coeficientului
w a facut ca distanta de la urcarea graficului pana la coborarea lui sa fie mai mica.

1.3 Modelaţi un semnal periodic în formă treungiulară folosind funcţia sawtooth, după exemplul din p.
1.1: tri=.... şi afişaţi semnalul în formă continuă folosind funcţia plot. Schimbaţi unul din parametrii
semnalului tri (A,w0 sau 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.

A = 0.1;
A1 = 0.5;
 
w0 = 3 * pi;
w1 = 7 * pi;
 
W = 0.5;
t = 0:0.001:1;
 
tri = A * sawtooth(w0 * t + W);
tri1 = A1 * sawtooth(w1 * t + W);
 
plot(t, tri, t, tri1);

Marirea lui w duce la crearea mai multor


triunghiuri, adica o frecventa mai mare. Iar Scaderea lui A face ca aceste “triunghiuri” sa fie mai joase.

1.4 Modelaţi un impuls în formă treungiulară folosind funcţia tripuls: y=tripuls(t-k,w,s) unde w
este lăţimea, t-k este deplasarea de la t=0 (de exemplu t-3), s poate lua valoarea +1 sau -1, şi afişaţi
semnalul în formă continuă folosind funcţia plot. Generaţi un alt semnal cu valoarea opusă a parametrului s
observaţi modificările întroduse asupra formei semnalului.

t = 0:0.01:10;
k = 0;
w = 0.5;
y = 0.75 * tripuls(t­k, w);
    
k1 = 2;
w1 = 0.9;
s1 = ­1;
y1 = tripuls(t­k1, w1, s1);
 
k2 = 2;
w2 = 0.9;
s2 = 1;
y2 = tripuls(t­k2, w2, s2);
 
plot(t, y, t, y1); hold on;
plot(t, y2);

Dupa ce am schimbar ‘s’ cu o valoare opusa, observam ca graficul obtinut este de fapt graficul initial doar ca inverat.

1.5 Modelaţi un semnal periodic în formă sinusoidală folosind funcţia cos, după modelul din p. 1.1:
cosine=... şi afişaţi semnalul în formă continuă folosind funcţia plot. Schimbaţi un parametru al
semnalului cosine (A,w0 sau phi), notaţi noul semnal prin cosine1.
A = 4;
w = 20 * pi;
phi = pi / 6;
t = 0:0.001:1;
cosine = A * cos(w * t + phi);
 
A1 = 3;
w1 = 5 * pi;
phi1 = phi / 6;
cosine1 = A1 * cos(w1 * t +
phi1);
 
plot(t, cosine, t, cosine1);

Marirea lui ‘w’ (frecventa) a dus la marirea


numarului de ondulaii,iar micsorarea lui ‘A’
(amplitudinea) face ca aceste ondulatii sa aiba un deplasament mai mic fata de OX.

1.6 Modelaţi un semnal periodic în formă sinusoidală folosind funcţia cos, după modelul din p. 1.1:
cosine=... . Specificaţi pasul în indicele timpului t prin 0.005. Afişaţi semnalul în formă discretă, folosind
funcţia stem(t,cosine). Schimbaţi unul din parametrii semnalului cosine (A,w0 sau phi), notaţi
noul semnal prin cosine1 şi afişaţi-l pe alt grafic.
A = 3;
w = 20 * pi;
phi = pi / 6;
t = 0:.005:1;
cosine=A * cos(w * t + phi);
 
w1 = 10 * pi;
cosine1=A * cos(w1 * t + phi);
 
stem(t, cosine);
hold on;
stem(t,cosine1)

Functia steam face ca graficul sa fie representat intr-o forma discreta. La fel ca si in cazurile precedenta, daca marin
‘w’ (frecventa), obtinem perioade mai mici, respectiv un numar mai mare de ondulatii.

1.7 Modelaţi un semnal în formă sinusoidală şi reprzentaţi dependenţa folosind


funcţia bar: bar(t,cosine). Schimbaţi unul din parametrii semnalului cosine (A,w0 sau phi),
notaţi noul semnal prin cosine1 şi afişaţi-l pe alt grafic.
A = 4;
w = 20 * pi;
phi = pi / 6;
t = 0:.005:1;
cosine = A * cos(w * t + phi);
 
phi1 = pi / 10;
cosine1 = A * cos(w * t + phi1);
 
bar(t,cosine);
hold on;
bar(t,cosine1);

Daca modificam valoare phi obtinem acelasi grafic doar ca putin deplasat in dependenta de semnul lui phi.

2. Modelarea semnalelor exponenţiale.


2.1 Modelaţi un semnal exponenţial cu valoarea crescândă folosind funcţia exp: ex=A*exp(a*t) – cu
valorile A=1 şi a=5, şi afişaţi semnalul în formă continuă continuă folosind funcţia plot. Schimbaţi un
parametru al semnalului ex (A sau a), notaţi noul semnal prin ex1.
A = 1;
a = 3;
a1 = 5;
t = 0:.001:1;
x = A * exp(a * t);
x1 = A * exp(a1 * t);
 
plot (t,x,t,x1); 

Observam ca cu cat mai mare este coeficientul de


pe langa t cu atat mai repede creste functia exponentiala.

2.2 Modelaţi un semnal exponenţial cu valoarea descrescândă folosind funcţia exp şi afişaţi semnalul în
formă continuă folosind funcţia plot, dar schimaţi valoarea parametrului a în neganivă faţă de p. 2.1.

A = 10;
a = 5;
a1 = 10;
t = 0:.001:1;
 
ex = A * exp(­a * t);
ex1 = A * exp(­a1 * t);
 
plot(t, ex, t, ex1);

Respectiv, daca valoarea data ca parametru la functia exp este negativa, atunci graficul functiei exponentiale este unul
descrescator in timp.

2.3 Modelaţi un semnal de putere cu valoarea descrescândă folosind: pwr=B*r.^n, înainte de aceasta
specificînd parametrul n prin n=-10:10, unde B=5, r=0.85. Afişaţi rezultatul în formă discretă, folosind
funcţia stem(n,y). Schimbaţi unul din parametrii semnalului pwr(B sau r), notaţi noul semnal prin pwr1
şi afişaţi-l pe alt grafic.
B = 5;
r = 0.85;
r1 = 0.7;
n = ­10:10;
 
y = B * r .^ n;
y1 = B * r1 .^ n;
 
stem(n, y);
hold on;
stem(n,y1), 

Observam ca functia r^n este una descrescatore in cazult cand n este mai mic sau egal ca 1. In cazul dat a fost folosita
functia stem din Matlab pentru a reprezenta graficele intr-o forma discreta.

2.4 Modelaţi un semnal sinusoidal cu valoarea descrescândă folosind procedura de multiplicare a două
semnale: expsin=A*sin(....).*exp(-a*t), afişaţi semnalul în formă continuă folosind funcţia
plot. Schimbaţi unul din parametrii semnalului expsin (A,w0 sau a), notaţi noul semnal prin expsin1.

A = 35;
w0 = 5 * pi;
w1 = 20 * pi;
phi = pi / 3;
a = 6;
% a1 = 12;
t = 0:0.001:1;
 
expsin = A * sin(w0 * t + phi) .*
exp(­a * t);
expsin1 = A * sin(w1 * t + phi) .*
exp(­a * t);
 
plot(t, expsin, t, expsin1);

In cazul dat avem graficele ce reprezinta multiplicarea a doua semnale pentru fiecare in parte. Acetse doua
semnale sunt reprezentate de functiile sinus si exp. Observam ca cu cat t este mai mare cu atat ele mai putin
variaza di la plus infinit devin aproximativ egale cu OX.

3. Funcţii speciale.
3.1 Modelaţi un semnal care va constitui o sinusoidă modulată după funcţia Gaus, folosind funcţia gauspuls:
gp=A*gauspuls(t+k,w,s), cu valorile parametrilor k=3, w=1, s=0.5, înainte de aceasta specificînd
parametrul t prin t=-10:.01:10. Afişaţi semnalul în formă continuă folosind funcţia plot. Schimbaţi
unul din parametrii semnalului gp, notaţi noul semnal prin gp1.

t = ­10:.01:10;
k = 3;
w = 1;
s = 0.5;
 
s1 = 1;
y = 0.88 * gauspuls(t + k, w, s);
y1 = 0.88 * gauspuls(t + k, w,
s1);
plot(t, y, t, y1);

3.2 Modelaţi un semnal care va constitui forma transformării Fourier a unui impuls dreptungiular, folosind
funcţia sinc: ft=0.7*sinc(pi*(t-25)/5); pentru aceasta specificaţi timpul t=0:.01:50; Afişaţi
semnalul în formă continuă folosind funcţia plot. Schimbaţi unul din parametrii semnalului ft, notaţi noul
semnal prin ft2.

t=0:.01:50;
 
ft = 0.7 * sinc(pi * (t ­ 25) / 5);
ft1 = 0.9 * sinc(pi * (t ­ 25) /
5);
 
plot(t, ft, t, ft1);

3.3. Modelaţi o cosinusoidă, frecvenţa căreia se schimbă linear cu timpul, folosind funcţia chirp:
cp=0.75*chirp(t); pentru aceasta specificaţi timpul t=0:0.001:1; Afişaţi semnalul în formă continuă
folosind funcţia plot. Schimbaţi parametrii semnalului cp, notaţi noul semnal prin cp1.
t = 0:0.001:1;
cp = 0.75 * chirp(t);
cp1 = 0.5 * chirp(t);
 
plot(t, cp, t, cp1); 

3.4 Modelaţi un semnal care va constitui funcţia Dirihlet, folosind diric, dir=0.7*diric(t,4),pentru
aceasta specificaţi timpul t=0:.01:50. Afişaţi semnalul în formă continuă folosind funcţia plot.
Schimbaţi parametrii semnalului dir, notaţi noul semnal prin dir1. Afişaţi pe acelaş grafic semnalul iniţial şi
sel modificat şi observaţi modificările întroduse asupra formei semnalului.

t = 0:.01:50;
 
dir = 0.7 * diric(t, 4);
dir1 = 0.7 * diric(t, 20);
 
 
plot(t, dir, t, dir1);

Concluzii:

Efectuand aceasta lucrare de laborator am obtinut deprinderi de a lucra cu praogramul Matlab, am inteles
cum sa creez grafice pentru orice tip de functie, in special grafice cu valori discrete. Modificand parametrii
functiilor se observa foarte bine cum comportamentul acestora. Am observat ca toate semnalele periodice
au o amplitunine, iar aceasta fiind modificata ne spune cat de mare este distata unui punct al functiei fata
de axa OX. Am inteles ca semnalele pot fi reprezentate grafic in forma discreta si in forma continua. Cele
discrete pot fi, de exemplu, impulsul-unitate, prag-unitate, pantă-unitate, semnalul exponenţial. La fel,
semnalele pot fi clasificate in semnale energetice si de putere. Unele dintre cele mai importante lucruri de
memorat referitor la aceasta clasificare este ca dacă energia semnalului (E) este finită, P = 0 si 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. Alte clasificari sunt: semnalele pot fi: periodice si aperiodice, simetrice sau
asimetrice.

S-ar putea să vă placă și