Documente Academic
Documente Profesional
Documente Cultură
Elemente introductive
Scopul acestei lucrări de laborator este familiarizarea cu mediul
de lucru MATLAB.
1 Considerații teoretice
1.1 Prezentarea mediului MATLAB
MATLAB (MATrix LABoratory) este un program interactiv,
destinat prelucrării numerice a datelor furnizate sub formă vectorială
sau matriceală.
MATLAB-ul include și aplicaţii specifice, numite TOOLBOX-uri.
Acestea sunt colecţii extinse de funcţii MATLAB.
1.2 Lansarea în lucru a programului MATLAB
Se selectează icoana specifică programului MATLAB şi apoi
MATLAB.exe. Pe monitor va apărea fereastra de comenzi ca în Figura
meniul pricipal
bara de omenzi
1.
1
Lucrarea 1
2
Lucrarea 1
funcții.
3
Lucrarea 1
● funcții trigonometrice
cos, sin, tan, cot, sec funcțiile trigonometrice uzuale
acos, asin, atan, acot, asec funcțiile trigonometrice inverse
uzuale
cosh, sinh, tanh, coth, sech funcții hiperbolice
acosh, asinh, atanh, acoth, asech funcții hiperbolice inverse
5
Lucrarea 1
7
Lucrarea 1
Exemplul 6. Dacă = se poate defini funcția
utilizator astfel:
g=inline(‘sin(x)./(sin(x)+cos(x)+4)’)
9
Lucrarea 1
0.5
x(t)
-0.5
-1
0 20 40 60 80 100
timp sec)
0.5
y(t)
-0.5
0 20 40 60 80 100
timp (sec)
11
Lucrarea 1
1.5
0.5
-0.5
-1
-1.5
-2
0 5 10 15 20 25 30 35 40
1.5
0.5
-0.5
-1
-1.5
-2
0 5 10 15 20 25 30 35 40
12
Lucrarea 1
13
Lucrarea 1
0.8
0.6
0.4
0.2
f(x) si g(x)
0
-0.2
-0.4
-0.6
-0.8
-1
0 0.005 0.01 0.015 0.02
t
2 Desfășurarea lucrării
2.1 Operarea cu matrici, vectori și scalari
a) Se consideră următoarele matrici:
A = [2 3 4; 5 2 9; 16 0 0]
B = [1 2 3; 1 1 1; 2 3 2]
Să se calculeze în MATLAB:
a) C1 = A + B
b) C2 = A − B
c) C 3 = A + p , p este un scalar
d) C 4 = A * B , p este un scalar
e) C 5 = A * p , p este un scalar
f) D = A'
g) E = B'
h) Z = A/ B
i) W = A\ B
j) Y = A.^ p , p este un scalar
14
Lucrarea 1
a = [2 3]
b = [− 4 4]
2.2 Reprezentarea grafică
1. Să se reprezinte grafic semnalul discret:
1
x(n ) = sin 2π n pentru n ∈ [0,20]
10
Graficul să fie cu culoarea roșie, cu cerculețele umplute. Să se
scrie titlul și identificările axelor.
2. Să se genereze o secvență exponențială complexă de tipul:
x ( n ) = e cn ,
unde c = a + jb . Să se reprezinte grafic partea reală și partea
imaginară ale aceastei secvențe pe aceeași figură, cu specificarea
axelor, a titlurilor graficelor.
3. Să se creeze o funcție, pe care o veți numi generareexp.m,
prin care să se genereze o secvență exponențială x (n ) = a n , de lungime
finită N, începând cu indicele n0. Apoi să se reprezinte grafic această
funcție.
15
Lucrarea 2
Clasificarea sistemelor
Scopul lucrării este de a se studia, prin diferite exemple,
clasificarea sistemelor discrete.
1 Considerente teoretice
Un sistem discret este un dispozitiv sau un algoritm care
operează asupra unui semnal discret, numit intrare sau excitaţie,
conform unor reguli bine definite, pentru a produce un alt semnal
discret, numit ieşirea sau răspunsul sistemului.
Semnalul de intrare este transformat de sistemul discret în
semnalul de ieşire , conform relaţiei:
≡ !"# (1)
unde H reprezintă procesarea realizată de sistem asupra lui
pentru a produce .
1.1 Sisteme statice şi dinamice
Un sistem discret se numeşte static sau fără memorie dacă ieşirea
sa la un moment oarecare n depinde numai de intrarea din acel
moment.
În caz contrar, sistemul se numeşte dinamic sau cu memorie. Dacă
ieşirea unui sistem la un moment n este complet determinată de
intrările − %, … , % ≥ 0, se spune că acesta are memorie
de ordinul N. Dacă N este finit, sistemul este cu memorie finită, iar
dacă N = ∞, sistemul are memorie infinită.
16
Lucrarea 2
17
Lucrarea 2
1 Aplicații rezolvate
1.6 Liniaritatea sistemelor discrete
% lucrarea2_exemplul1
% generare semanal intrare
clear all
close all
n = 0:40;
a = 2;b = -3;
x1 = cos(2*pi*0.1*n);
x2 = cos(2*pi*0.4*n);
x = a*x1 + b*x2;
%definirea sistemului
num = [2.2403 2.4908 2.2403];
den = [1 -0.4 0.75];
%calculul iesirii y1[n] si y2[n]
y1 = filter(num,den,x1);
y2 = filter(num,den,x2);
%calculul iesirii y[n]
y = filter(num,den,x);
yt = a*y1 + b*y2;
% calculul diferentei iesirilor d[n]
d = y - yt;
% afisarea iesirilor si a diferentei
subplot(3,1,1)
stem(n,y);
ylabel('Amplitudine');
title('Iesire produsa suma ponderata a semnalelor de
intrare : a \cdot x_{1}[n] + b \cdot x_{2}[n]');
subplot(3,1,2)
stem(n,yt);
ylabel('Amplitudine');
title('Iesirea ponderata: a \cdot y_{1}[n] + b \cdot
y_{2}[n]');
subplot(3,1,3)
stem(n,d);
xlabel('Timp n');ylabel('Amplitudine');
title('diferenta iesirilor');
18
Lucrarea 2
Amplitudine
0
-50
0 5 10 15 20 25 30 35 40
Iesirea ponderata: a ⋅ y1[n] + b⋅ y2[n]
50
Amplitudine
-50
0 5 10 15 20 25 30 35 40
-15
x 10 diferenta iesirilor
5
Amplitudine
-5
0 5 10 15 20 25 30 35 40
Timp n
Figura 2.1. Verificarea proprietății de liniaritate
% lucrarea2_exemplul2
% generarea semnalului de intrare
clear all
n = 0:20;
k = input('decalarea este k=');
a = 2;b = 3;
x = a*cos(2*pi*0.1*n) + b*cos(2*pi*0.4*n);
%semnal decalat cu k unitati
xd = [zeros(1,k) x];
%definirea sistemului prin definirea coeficientilor de la
numaratorul si numitorul functiei de transfer
num = [2.2403 2.4908 2.2403];
den = [1 -0.4 0.75];
% calculul iesirii y[n]
y = filter(num,den,x);
% calculul iesirii yd[n]
yd = filter(num,den,xd);
% calculul diferentei d[n]
%[zeros(1,k) y] este iesirea decalata cu k esantioane
ydecalat=[zeros(1,k) y];
d=ydecalat-yd;
% afisarea iesirilor
19
Lucrarea 2
subplot(4,1,1)
stem(n,y);
ylabel('Amplitudine');
title('Iesirea y[n]'); grid;
subplot(4,1,2)
stem(ydecalat)
title('Iesirea decalata cu k y[n-k]'); grid;
subplot(4,1,3)
stem(yd)%(1:21));
ylabel('Amplitudine');
title('iesirea datorata intrarii decalate cu k x[n-k]');
grid;
subplot(4,1,4)
stem(d);
xlabel('Timp n'); ylabel('Amplitudine');
title('Diferenta semnalelor'); grid;
Iesirea y[n]
Amplitudine
20
0
-20
0 5 10 15 20
Iesirea decalata cu k y[n-k]
20
0
-20
0 5 10 15 20 25
iesirea datorata intrarii decalate cu k x[n-k]
Amplitudine
20
0
-20
0 5 10 15 20 25
Diferenta semnalelor
Amplitudine
1
0
-1
0 5 10 15 20 25
Timp n
2 Desfășurarea lucrării
1. Se consideră programul lucrarea2_exemplul1.m.
Ieşirea obţinută prin ponderarea intrării şi obţinută
prin combinarea ieşirilor şi 0 cu aceleşi ponderi conduc la
20
Lucrarea 2
21
Lucrarea 3-4
Transformata Laplace
1 Transformata Laplace bilaterală
Transformata Laplace bilaterală a unei funcții f(t), notată cu F(s)
este:
<
: = ;< = >, = ? + @A, ∈ CDE (1)
unde ROC este regiunea de convergentă.
22
Lucrarea 2
1 CDE
P Q>Q :
⊇ CDEG
<
∩ R: CRS > 0S
=T ∈ J : − CDEG + CR S
∗ :F CDE
⊇ CDEG ∩ CDEH
∗ : ∗ ∗ CDEG
− >: CDEG
>
0
= 0, 0
<0 = lim :
=→
<
lim = 0, lim
→
< →
<
< 0, = lim :
=→
Y lim Y
→
<
<∞
23
Lucrarea 2
Exemplul 1
Săse calculeze transformata Laplace bilaterală a semnalelor:
a)
b)
24
Lucrarea 2
25
Lucrarea 2
r
s<
1
= P : = >
2q@
rs<
(3)
Calculul necesită integrarea în planul complex și se face prin
aplicarea teoremei rezidurilor (cunoscută din teoria funcțiilor de o
variabilă complexă).
Cele mai multe dintre transformatele Laplace de interes sunt funcții
raționale, prin urmare pentru a calcula transformata Laplace inversă se
folosește descompunerea în fracții simple.
Dacă sistemele sunt liniare și transformatele Laplace ale unor
semnale uzuale se găsesc în tabele, este ușor să se afle transformata
Laplace inversă.
Astfel, dacă se notează cu X(s) transformata Laplace a unui semnal
x(t) și X(s) este o funcție rațională, atunci X(s) poate fi scrisă sub forma:
− t − t0 … − tu
: = ,
− v − v0 … − vj
(4)
având m rădăcini ale numărătorului (zerouri) și n rădăcini ale
numitorului (poli).
Dacă X(s) este o funcție proprie (gradul numărătorului este mai mic
decât gradul numitorului, m<n), atunci pot exista mai multe situații.
a) Poli reali simpli (n poli)
Descompunerea în fracții simple este de tipul:
w w0 wj
: = + + ⋯+
− v − v0 − vj
(5)
Coeficienții ck se obțin fie prin aducerea la același numitor și
identificarea membrului stâng cu membrul drept, fie folosind relațiile:
w] = : − v] |=oxy
(6)
Dacă semnalul x(t) este cauzal, atunci:
26
Lucrarea 2
(8)
b) Poli reali de multiplicitate r (polul pn este de multiplicitate r)
w wj wj
wj
z
: = + ⋯+ + +⋯+
− v − vj − vj 0 − vj z
(9)
1 d i −1
s − pn ) X ( s )
r
i −1 (
cn + r −i = , i = 1,K , r
( i − 1)! ds s = pn
(10)
Pentru determinarea semnalului x(t) se ține seama de
transformatele Laplace
!
ℒR j \S =
j
ℒR S = : − .
`
0
De exemplu, transformata inversă a lui : = =
0n este
= 2 0 \.
c) Poli complecși (apar în perechi complex conjugate)
(11)
Determinarea coeficienților B și C se face prin aducerea la același
numitor (după ce s-au determinat coeficienții A) și apoi prin identificarea
membrului stâng cu membrul drept. În x(t) vor apărea termini în sin și
cos.
27
Lucrarea 2
Exemplul 2
Să se calculeze transformata Laplace inversă pentru:
2 + 1
: = 0,2 0
+ 4 + 13
(12)
Rezolvare:
2 + 2 3
: = 0,2 + 0,2
+ 20 + 9 + 20 + 9
= 0,4 0
cos3 + 0,2 0 sin3.
28
Lucrarea 2
−5
=
+ 20
(13)
Pentru descompunerea
Se scrie în MATLAB:
syms t s
F1=(s-5)/(s*(s+2)^2);
f1=ilaplace(F)
simplify(f1)
pretty(f1)
(14)
Dacă se dorește să se descompună în fracții simple, atunci se scrie
următorul cod:
num=[0 0 1 5];
den=[1 5 17 13];
r,p,k]=residue(num,den)
5 Aplicații propuse
1) Să se calculeze transformatele Laplace ale următoarelor funcții:
a)
29
Lucrarea 2
b)
c)
2) Să se calculeze transformatele Laplace inverse pentru:
a)
b)
c)
=
d) : =
=
= n
=
30
Lucrarea 5-6
Aplicaṭii ale transformatei
Laplace
1 Funcția de transfer
Un sistem dinamic neted cu parametri concentraţi liniar invariant în
timp pentru care semnalele de intrare şi ieşire sunt semnale
unidimensionale (sistem monovariabil) este descris de o ecuaţie
diferenţială ordinară, liniară, cu coeficienţi constanţi, de forma:
>j > j >
.j j + .j j + ⋯ . + .
> > >
>u > u >
= Ij u + Ij u + ⋯ I + I , 1
> > >
unde .
∈ , = 1,
, , . ≠ 0; Is ∈ , @ = 1,
, .I ≠ 0; , ∈ .
Transformata Laplace ale unui semnalul x(n) se notează cu
ℒRxnS = Xs. Transformatele Laplace ale derivatelor de ordin n ale
acestuia sunt date de relațiile următoare:
>
ℒ = : − 0 ,
>
>
0
>
ℒ 0 = 0 : − 0 − , 2
> > o
j
>j >
ℒ ]j = j : − j
> > o
o
31
Lucrarea 2
32
Lucrarea 2
%
= . 8
∏]o + ?] ∏uo + ?u + Au
0 0
33
Lucrarea 2
¥ + E
+ 0 . 9
+ ? 0 + A
Răspunsul la impuls al sistemui este de tipul:
ℎ = §¨
¤] ¨¨©¨¨
\ ¬u r w®Au + ¯u \ . 10
¨ª + §¨¨¨¨¨¨¨¨©¨¨¨¨¨¨¨¨ª
ry
Exemplul 1.
Se consideră un circuit RLC reprezentat în Figura 2. Se
presupune L=0, adică este un circuit RC.
Tensiunea inițială pe condensator este de 2 V, adică 0 = 2².
C=1/20 F, R=5Ω.
= 2\.
Rezolvare
Atunci când se prefer abordarea în domeniul timp, se rezolvă
direct acuația diferențială care descrie funcționarea sistemului. Se
determină răspunsul la intrare zero, răspunsul la stare zero, precum
și răspunsul total al circuitului (tensiunea pe rezistor).
Aici se prezintă o rezolvare alternativă, bazată pe transformata
Laplace.
Ecuația diferențială ordinară care descrie funcționarea este
următoarea (a se revedea cursul/lucrarea de laborator cu
demonstrația respectivă!):
> >
+ 4 = . 11
> >
35
Lucrarea 2
Prin urmare,
y¶ t = 2e
¸ \. 19
Să se compare cu rezultatul obținut prin rezolvare directă a
ecuației diferențiale.
d) Răspunsul total al sitemului este format din suma celor două
răspunsuri y¶ t și y¶ t.
y = y¶ t + y¶ t =
= 2e
¸ − 0,4e
¸ + 0,4cos2t + 0,2sin2t\
37
Lucrarea 2
Figura 3. Elemente ale sistemului vestibular (din urechea internă)
38
Lucrarea 2
2
Charles S. Lessard, Basic Feedback Controls in Biomedicine, 147-153, 2009,
Morgan & Claypool
39
Lucrarea 2
¼ ¼0
! = , 24
¼ + 1¼0 + 1
unde
1 ¥
¼ ¼0 = ș ¼ +¼0 = . 25
Valorile constantelor de timp ¼ , ¼0 au fost estimate la
¼ = 0,006 și ¼0 = 13 . Funcția de transfer devine egală cu:
0,078
! = . 26
0,078 0 + 13,006 + 1
, + ,0
! = . 28
+ ¿ + ¿0
40
Lucrarea 2
la aplicarea
a) unui semnal impuls unitate (impuls Dirac)
b) unui semnal treaptă unitate (răspuns indicial)
c) unui semnal dreptunghiular periodic, cu perioada 4 s (se va
utiliza pentru generare funcția gensig.m).
Se va considera durata de simulare de 10 s, iar pasul de 0,1 s.
42
Lucrarea 2
Impulse Response
1
Amplitude
0
-1
0 1 2 3 4 5 6 7 8 9 10
Time (sec)
Step Response
0.5
Amplitude
-0.5
0 1 2 3 4 5 6 7 8 9 10
Time (sec)
Linear Simulation Results
1
Amplitude
-1
0 1 2 3 4 5 6 7 8 9 10
Time (sec)
4 Aplicații propuse
1. Să se afle funcția de transfer a sistemului descris prin
următoarea ecuație diferențială, precum și răspunsul la semnal
treaptă unitate, considerându-se condițiile inițiale egale cu 0.
> 0 >
+3 + 2 = . 29
> 0 >
Să se reprezinte în MATLAB răspunsul sistemului, pe o durată de
timp egală cu 2 s.
2. Se consideră circuitul din Figura 1 cu: À = 1⁄12 ! ,C =
7⁄12 Ω, E = 1. Să se afle funcția de transfer și răspunsul
sistemului (tensiunea pe condensator), ¿, când la intrare se aplică
semnalul:
= 2 \
și condițiile inițiale sunt:
¿Ã 0 = 0, ¿0 = 5
43
Lucrarea 2
44