Sunteți pe pagina 1din 44

Lucrarea 1

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.

Figura 1 - Fereastra de comenzi a MATLAB-ului

1
Lucrarea 1

Meniul principal al fereastrei de comenzi asigură accesul la unele


operații ce nu se regăsesc în bara de comenzi.
Pentru a deschide, din meniul principal al ferestrei de comenzi,
un fișier în Editorul/Debugger-ul MATLAB-ului, se procedează în felul
următor:
• pentru un fișier nou, se selectează File, apoi New, apoi
New M-file.
• pentru un fișier existent se selectează File, apoi Open M-
file și apoi se selectează fișierul dorit.
1.3 Moduri de lucru în MATLAB
Există două moduri de lucru în programul MATLAB: în linie de
comandă sau cu programe conținute în fişiere.
După lansarea în execuţie, programul MATLAB intră în modul
_linie de comandă", afişând prompterul >> şi aşteptând introducerea
unei comenzi de către utilizator.
Dacă nu se dorește afișarea rezultatului pe monitor, comanda
trebuie urmată de caracterul ; care nu anulează însă reprezentările
grafice.
Comanda introdusă anterior poate fi rechemată utilizând tasta ↑,
în timp ce o comandă de pe linia de comandă poate fi modificată cu
ajutorul tastelor ← ș i →.
Fişierele ce conţin instrucţiuni MATLAB se numesc fişiere M,
salvate cu extensia *.m, adică numefișier. m. Acestea pot fi fie fișiere
script fie fișiere function.
Un fişier scrip este un fişier extern care conţine o secvenţă de
comenzi MATLAB. După execuția completă a unui fișier script, toate
variabilele cu care acesta a operat rămân în zona de memorie a
aplicației.
Dacă prima linie a fişierului conţine cuvântul function fişierul
respectiv este fişier funcţie. O funcţie diferă de un fișier script prin
faptul că poate lucra cu argumente. La terminarea execuției unei
funcții, în memoria calculatorului rămân numai variabilele de ieșire
ale acesteia.
Se pot adăuga funcții noi în vocabularul MATLAB utilizând unele
funcții cunoscute. Comenzile și funcțiile ce formează noua funcție
trebuie salvate într-un fișier cu nume identic cu numele noii

2
Lucrarea 1

funcții.

Forma generală a primei linii a unui fişier funcţie este:


function [parametrii_ieşire]=nume(parametrii_intrare)
Prin
- function – declară fişierul ca fişier funcţie;
- nume – numele funcţiei reprezintă numele sub care se salvează
fişierul .m (nu poate fi identic cu cel al unui fişier .m deja existent);
- parametri_ieşire – reprezintă parametrii de ieşire ai funcţiei;

trebuie separaţi prin virgulă şi cuprinşi între paranteze drepte.
- parametri_intrare – reprezintă parametrii de intrare ai funcţiei

(trebuie separaţi prin virgule).

Exemplul 1. Să se definească o funcție care să permită
efectuarea sumei a două matrici x, y
function z=xplusy(x,y)
z=x+y

Se salvează sub numele de xplusy.


MATLAB cere ca fișierele M să fie salvate fie în directorul de
lucru sau într-un director care este specificat în lista căilor din
MATLAB. Pentru a putea accesa fișierul M dintr-un anume director,
trebuie ca să adăugăm directorul/fișierul la calea MATLAB.
1.4 Principalele comenzi și funcţii
1.4.1 Comenzi generale
Semnificațiile unor comenzi uzuale sunt următoarele:
● cd apelează directorul curent
● dir listează fișierele din directorul curent
● dir numedirector listează fișierele din directorul
“numedirector”
● chdir schimbă directorul curent cu directorul specificat
● who și whos furnizează numele variabilelor ce au fost
definite în spațiul de lucru MATLAB.
 who listează variabilele curente din memorie
 whos listează variabilele, dimensiunile lor, precum și
tipul acestora (reale sau complexe).
● what listează fișierele M, MAT și MEX din directorul curent
● clear toate variabilele din memoria de lucru

3
Lucrarea 1

● clc fereastra de comandă


● clg fereastra grafică
● diary numefișier determină copierea sesiunii de lucru
(comenzi și răspunsuri pe ecran) în fișierul “numefișier “
● home mută cursorul în colțul din stânga-sus a eranului
● error și fprintf afișează informațiile de eroare; sintaxa este
error (‘error string’) având ca efect afișarea textului “error string” și
abandonarea execuțiilor comenzilor din fișierul M din care face parte
● warring are efect similar cu error numai ca execuția
programului nu este înreruptă
● help obține informații despre toate comenzile din MATLAB
● help urmat de numele unei anumite funcții sau fișier M obține
informații cu privire la respectiva funcție sau respectivul fișier M.
● exit, quit determină părăsirea programului
1.4.2 Citirea datelor din fișiere
Cea mai utilizată funcție care citește un fișier de date este load.m.
1.4.3 Operatori aritmetici
În MATLAB se utilizează următorii operatori aritmetici:
+ adunare
- scădere
* înmulțire
/ împărțire
^ ridicare la
putere
‘ transpus

1.4.4 Operatori relaţionali şi logici


În MATLAB se utilizează următorii operatori relaționali și logici:
<, =<, >, >=, operatori relaţionali
uzuali
= = operatorul de egalitate
~ = operatorul de inegalitate
& operatorul de SI logic
| operatorul de SAU logic
~ operatorul de NU logic

1.4.5 Funcţii matematice


● funcții matematice elementare
4
Lucrarea 1

abs valoarea absolută


sqrt rădăcina pătrată
real partea reală a unei variabile complexe
imag partea imginară a unei variabile
complexe
angle unghiul (faza) unei variabile complexe
conj conjugatul unei variabile complexe
rem restul unei împărțiri întregi
sign semnul unei variabile
exp exponențială
log logaritm natural
log10 logaritm zecimal

● 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

1.4.6 Funcţii destinate analizei datelor


max valoarea maximă a unei variabile
min valoarea minimă a unei variabile
mean valoarea medie a unei variabile
sum suma elementelor unei variabile
cumsum suma cumulată a elementelor unei variabile
cumsqr suma pătratelor elementelor unei variabile
prod produsul elementelor unei variabile
cumprod produsul cumulat al elementelor unei
variabile
std deviația standard

1.4.7 Comenzi de control


if comandă pentru execuție condiționată
else, elseif comandă utilizată cu “if”
for comandă pentru crearea ciclurilor cu un număr finit de
pași
while comandă pentru crearea ciclurilor cu condiție logică
end comandă pentru încheierea ciclurilor “for”, “while” și “if”
break comandă pentru teerminarea forțată într-un ciclu
return returnează execuția la funcția precizată
pause generează o pauză și așteaptă intervenția utilizatorului

5
Lucrarea 1

1.4.8 Definirea variabilelor


Variabilelor li se pot atribuie valori numerice, tipărindu-se direct
expresia numerică sau o formulă ce utilizează operatorii menționați
anterior și un număr sau variabile definite anterior.
1.4.9 Matrici, vectori și scalari
MATLAB-ul este un pachet de programe care lucrează numai cu
un singur tip de obiecte și anume matrici numerice rectangulare ce au
elemente reale sau complexe. În acest sens scalarii sunt asimilaţi
matricilor cu o linie şi o coloană (1x1), iar vectorii sunt asimilaţi
matricelor cu o linie (1xn) sau o coloană (nx1). Operaţiile şi
comenzile în MATLAB sunt asemănătoare modului de lucru obişnuit.
Definirea matricelor se face prin una din metodele:
• introducerea explicită;
• generarea prin instrucţiuni şi funcţii;
• crearea de fişiere M;
• încărcarea din fişiere de date externe.
Cea mai simplă metodă constă în utilizarea unei liste explicite.
Trebuie respectate următoarele reguli:
• elementele unei linii trebuie separate prin spaţii sau
virgulă;
• liniile se separă prin punct-virgulă ”;”;
• elementele sunt cuprinse între paranteze drepte.
Elementele matricilor pot fi numere reale sau complexe sau orice
expresie MATLAB.
1 2 4
Exemplul 2. Se consideră matricea A =  .
3 6 8
În MATLAB se introduce
A=[1 2 4; 3 6 8 ]
Elementele unei matrici A pot fi identificate prin A(i,j) şi
semnifică elementul de la intersecţia liniei i cu coloana j.
Se remarcă faptul că dacă se atribuie o valoare unui element care
ocupă o poziție în afara dimensiunii maxime a unei matrici sau unui
vector, dimensiunea acesteia/acestuia este mărită automat până la
valoarea indicelui noului element, iar elementele nedefinite sunt
setate la valoarea zero.
● size (A) returnează dimensiunea matricei A.
6
Lucrarea 1

Se definesc un mai multe matrici speciale:


• matricea nulă: A=[]
• matricea nulă de ordin n x m :zeros(n,m)
• matricea unitară de ordin n x m : ones(n,m)
• matricea cu diagonală 1, de ordin n x n:eye(n)
• maticea de ordin n x m de numere aleatoare distribuite
uniform: rand (n,m)
• maticea de ordin n x m de numere aleatoare distribuite
normal: randn (n,m).
Vectorii pot fi definiți în două moduri.
1. Primul mod utilizează elemente arbitrare:
Exemplul 3.
v = [1 2 3 4 5]
crează un vector cu 1 linie și 5 coloane. Se pot adăuga elemente la
vector:
v(6)=6
ceea ce conduce la:
v=[1 2 3 4 5 6]
2. Al doilea mod este utilizat pentru a crea vectori cu pas linear
sau logaritmic (a se vedea funcțiile linspace și logspace). Pentru
definirea unui vector cu pas linear se poate folosi și următoarea
sintaxă:
k=amin:pas:amax
Pas definește incrementul. Dacă acesta lipseşte, atunci este 1.
Exemplul 4
k=0:0.5:5
ceează un vector cu elementele 0, 0.5, 1, 1.5 ....5.
Se pot defini mai multe tipuri speciale de vectori:
● vector cu elemente distribuite liniar
linspace (x1,x2,N) generează un vector linie cu N elemente
distribuite liniar între valorile x1 și x2
linspace (x1,x2) generează un vector linie cu 100 de
elemente spațiate liniar între x1 și x2.
● vector cu elemente distribuite logaritmic
logspace (d1,d2,N) generează un vector linie cu N elemente
distribuite logaritmic între decadele 10^d1 și 10^d2.

7
Lucrarea 1

logspace (d1,d2) generează un vector linie cu 50 elemente


distribuite logaritmic, egal spațiate între decadele 10^d1 și 10^d2.
● length (v) returnează lungimea vectorului v
Este posibil de a transforma o matrice cu anumite dimensiuni
într-o matrice cu alte dimensiuni.
Transformarea matricelor se face în felul următor: elementele
matricei originale se aşază într-un vector, coloană după coloană. Apoi
se transformă într-o matrice obținând din vector coloanele noii
matrici. Funcţia ce se utilizează se numeşte reshape.m1. In continuare
se prezintă câteva exemple de utilizare a acestei funcţii.
Exemplul 5
a = [11 12 13; 14 15 16]
b=reshape(a, 3, 2)
c=reshape(a, 2, 3)
d=reshape(a, 6, 1)
Se pot efectua diferite operații cu matrici și vectori. Astfel:
a) adunarea și scăderea
z=x+y
z=x-y
b) înmulțirea
z=x*y
c) împărțirea la dreapta
z=x/y
este identică cu x*y-1 (y-1 este inversa matricii y).
d) înmulțirea element cu element (între componentele a două
matrici de aceleași dimensiuni)
z=x.*y
e) împărțirea la stânga
z=x\y
este identică cu x-1*y (x-1 este inversa matricii x).
f) ridicarea la putere a fiecărui element
z=x.^p
reprezintă ridicarea la puterea p a matricei x.

1reshape(x,m,n) returnează o matrice cu m x n ale cărei elemente sunt luate


coloană după coloană din x; trebuie ca x să aibă m x n elemente.
8
Lucrarea 1

Expresia x^p are sens numai pentru matrici pătratice și p


scalar.
g) transpunerea
z=x’
Acest lucru face ca pentru o matrice cu dimensiunea nxm să se
obțină o matrice z cu dimensiunea mxn.
h) Produsul scalar al doi vectori se calculează cu instrucțiunea
sum:
z= sum(a.*b)
1.4.10 Reprezentarea polinoamelor. Interpolarea
MATLAB-ul furnizează funcţii pentru operaţii polinomiale
standard cum ar fi calculul rădăcinilor, evaluarea polinoamelor,
derivarea etc. Funcţiile polinomiale se află în folderul polyfun.
Pentru definirea unor funcții mai simple sau utilizarea temporară
a acestora se recomandă folosirea comenzii inline. Această funcție
este specifică pachetului MATLAB.

 
Exemplul 6. Dacă  = se poate defini funcția
 
 

utilizator astfel:
g=inline(‘sin(x)./(sin(x)+cos(x)+4)’)

1.5 Comenzi pentru reprezentări grafice


1.5.1 Funcţii MATAB elementare pentru reprezentari grafice
Câteva dintre funcţiile MATAB pentru reprezentarile grafice
elementare sunt:
● figure creează o fereastră grafică
● clf șterge figura curentă
● close all închide toate ferestrele grafice
● hold on/off permisiunea/interzicerea suprapunerii
reprezentărilor grafice
● plot desenează graficul în coordonate x-y liniare
● loglog este similar cu plot, cu excepția faptului că
reprezintarea grafică este la scară logaritmică pe x și y
● semilogx, semilogy reprezintare grafică la scară logaritmică
pe x, respectiv pe y
● subplot reprezintare grafică într-o porțiune a ecranului

9
Lucrarea 1

● bar reprezintă un grafic cu bare


● hist reprezintă un grafic sub forma unei histograme
● legend creează legenda graficelor
● text plasarea unui text pe grafic la o poziție impusă
● gtext plasarea unui text pe grafic la poziția selectabilă cu
mous-ul
● axis realizează scalarea axelor
Se vor prezenta sintaxele celor mai des utilizate comenzi.
Pentru reprezentarea graficilor în coordonate liniare se
utilizează funcția plot. Funcţia plot se apelează cu una din sintaxele:
● plot (x,y) reprezintă vectorul y funcție de vectorul x.
Dacă x este vector, iar y este matrice, atunci coloanele lui y sunt
trasate în funcție de vectorul x.
Dacă x și y sunt matrici de aceeași dimensiune, atunci se
reprezintă coloanele lui y în funcție de coloanele lui x
● plot (y)
Dacă argumentul y este complex, plot(y) este echivalent cu
plot(real(y), imag(y)).
Dacă y este un vector (linie sau coloană), atunci funcţia plot
trasează graficul y=y(i), unde i=1,2,…n este numărul de ordine al
elementului y.
● plot (x,y,’linie tip’) reprezintă vectorul y funcție de vectorul
x, cu linia tip specificată;
● plot (x1,y1,x2,y2,…) reprezintă simultan mai multe grafice, în
Același sistem de coordonate.
Pentru a reprezenta un grafic într-o anumită parte a ferestrei
grafice se folose;te comanda subplot având sintaxa:
● subplot(m,n,p) sau subplot(mnp) împarte fereastra grafică
într-o matrice mxn și reprezintă graficul în poziția p. Numerotarea
pozițiilor se face începând cu prima linie, apoi a doua ș.a.m.d;
● axis([xmin xmax ymin ymax]) stabilește scalarea axelor unei
reprezentari grafice curente la valorile precizate de scalarii: xmin,
xmax, ymin, ymax;
● axis(axis) “îngheață” limitele axelor la valorile curente, astfel
încât următoarele reprezentări să se facă cu aceleași limite;
● axis(‘auto’) autoscalează reprezentarea grafică curentă,
alegând cele mai bune limite;
10
Lucrarea 1

● axis(‘on’) reface etichetele axelor graficelor;


● axis(‘off’) șterge etichetele axelor graficelor;
● axis(‘tight’) setază limitele axelor corespunzător intervalului
datelor.
Reprezentarea discretă a datelor se face cu funcția stem sub
forma unor linii terminate cu cerculeț la extremitatea opusă axei. Se
apelează cu:
● stem(y) trasează un grafic din linii terminate cu cerculeț, cu
elementele vectorului y;
● stem(x,y) trasează un grafic din linii terminate cu cerculeț, cu
locațiile specificate de vectorul x. Valorile lui x trebuie să fie egal
spațiate și crescătoare;
● stem (x,y,’linie-tip’) Este similară funciei plot (x,y,’linie-
tip’), cu deosebirea că se trasează graficul cu linii terminale cu
cerculeț;
● stem (x,y, ‘filled’) este similară comenzii stem(x,y) cu
deosebirea că liniile sunt terminate cu buline.
Exemplul 7. Să se reprezinte grafic un semnal sinusoidal
 = 2 π 0.1t și un semnal  =  . .

Se scrie următorul program în MATLAB.


t=0:0.1:100;
x=sin(2*pi*0.1*t);
y=exp(-.1*t).*x;
subplot(2,1,1)
plot(t,x,'k'),ylabel('x(t)'),xlabel('timp sec)');
subplot(2,1,2)
plot(t,y,'k'),ylabel('y(t)'),xlabel('timp (sec)');
Se obţine următoarea reprezentare grafică:
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

Exemplul 8. Să se genereze un semnal discret


jπ n / 9
x (n ) = 2 e , n ∈ N , 0 ≤ n ≤ 40 și să se reprezinte grafic prin
linii terminate cu cerculețe.
Programul este următorul:
n=0:40;
x=2*exp((j*pi/9)*n);
stem(n,real(x),'filled');
stem(n,imag(x),'filled');

Reprezentarea grafică pentru partea reală este următoarea:

1.5

0.5

-0.5

-1

-1.5

-2
0 5 10 15 20 25 30 35 40

iar pentru partea imaginară:


2

1.5

0.5

-0.5

-1

-1.5

-2
0 5 10 15 20 25 30 35 40

Pentru plasarea în câmpul graficelor a unor texte, etichete ale


axelor, precum și a titlului se utilizează următoarele funcții:
● title (‘text’) titlul graficului se plasează deasupra acestuia;
‘text’ este un șir de caractere care reprezintă titlul graficului;
● xlabel (‘text’) precizarea etichetei axei x; ‘text’ este un șir de
caractere care reprezintă numele axei, unitatea de măsură, etc.
● ylabel (‘text’) precizarea etichetei axei y; ‘text’ este un șir de
caractere care reprezintă numele axei, unitatea de măsură, etc.
● grid on se trasează o rețea de linii orizontale și verticale pe
grafic
● grid off se elimină rețeaua de linii orizontale și verticale
trasate pe grafic

12
Lucrarea 1

Graficele se pot trasa utilizând linii, markere, culori. Acest lucru


este prezentat în Tabelul 1.

Tabel 1. Tipurile de linii, marchere şi culori pentru reprezentările grafice



Linii tip Markere tip Culori
continuă - plus + galben y

întreruptă -- steluță * mov m


două puncte : cerc ° albastru- c
deschis
linie-punct -. x x rosu r
punct . verde i
albastru b
alb w
negru k

Exemplul 9. Se reprezintă grafic funcția f ( x ) = sin (2π 50 t ) , cu
culoarea neagră și linie-punct și funcția g ( x ) = − f ( x ) cu markere * de
culoare roșie. Se scrie titlul graficele funcțiilor f(x) și g(x); pe axa x se
scrie t, iar pe y se scrie f(x) și g(x).
Programul MATLAB este:
t=0:.001:0.02
f=sin(2*pi*50*t)
g=-f
plot(t,f,'-.k',t,g,'*r'),grid on
title('Graficele functiilor f(x) si
g(x)'),xlabel('t'), ylabel('f(x) si g(x)')

Se obțin graficele următoare:

13
Lucrarea 1

Graficele functiilor f(x) si g(x)


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

b) Să se genereze un vector cu pas liniar, cu limitele:


a min = 2, a max = 10, pas = 2 .

14
Lucrarea 1

c) Să se genereze un vector cu pas liniar, cu limitele:


a min = 2, a max = 10, N = 5 , unde N este numărul de elemente.
d) Să se genereze un vector cu N=5 elemente distribuite
logaritmic între decadele 10-2 și 102.
e) Fie un vector y = [1 : 0 .11 : 123 ]
Să se genereze un vector cu toate elementele egale cu 1, având
lungimea egală cu numărul elementelor vectorului y.
f) Să se efectueze produsul scalar al vectorilor:

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

1.2 Sisteme discrete invariante şi variante în timp


Prin definiţie, un sistem relaxat este invariant în timp dacă şi
numai dacă:
) )
 → =>  − , →  − , (2)
pentru orice semnal de intrare  şi orice deplasare k.
Pentru a determina dacă un sistem este sau nu invariant în timp
se procedează în felul următor: se consideră o intrare arbitrară ,
care va produce răspunsul . Se întârzie semnalul de intrare cu k
unităţi şi se recalculează ieşirea. În general, aceasta se poate scrie:
, , = !" − ,# . (3)
Dacă ieşirea !" − ,# este egală cu  − , pentru toate
valorile lui k, sistemul este invariant în timp. În caz contrar, dacă
!" − ,# ≠  − ,, chiar pentru o singură valoare a lui k,
sistemul este variant în timp.
1.3 Sisteme discrete liniare şi neliniare
Prin definiţie, un sistem discret, relaxat este liniar dacă satisface
principiul superpoziţiei, adică:
!".   + .0 0 # = . !" # + .0 !"0 4# (4)
pentru orice secvenţe de intrare arbitrare   şi 0  şi pentru
orice constante arbitrare . şi .0 .
Dacă un sistem discret nu satisface principiul superpoziţiei, el se
numeşte neliniar.
1.4 Sisteme discrete cauzale şi necauzale
Un sistem discret este cauzal dacă ieşirea sa la un moment
n, , depinde numai de valoarea prezentă şi cele trecute ale
intrării (,  − 1, …  şi de nici o valoare viitoare  + 1,
 + 2, … . În caz contrar sistemul se numeşte necauzal.
1.5 Sisteme discrete stabile şi instabile
Un sistem oarecare, relaxat, se spune că este stabil în sens MIME
dacă şi numai dacă orice semnal de intrare limitat produce un semnal
de ieşire limitat, adică:

∃ 3 , 34 : || ≤ 3 < ∞ → || ≤ 34 < ∞, (5)

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');

Se obțin graficile din Figura 2.1.

18
Lucrarea 2

Iesire produsa suma ponderata a semnalelor de intrare : a⋅ x1[n] + b⋅ x2[n]


50

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

1.7 Invarianţa în timp pentru sistemele discrete

% 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;

Se obțin graficile din Figura 2.2.

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

Figura 2.2. Verificarea proprietății de invarianță în timp

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

concluzia ca sistemul este liniar sau neliniar?


2. Se consideră sistemul descris prin relația  = .
Să se demosnstreze că sistemul este liniar.
Să se modifice programul lucrarea2_exemplul1.m pentru această
situație.
3. Se consideră programul lucrarea2_exemplul2.m
Secvenţele de ieşire  şi  − 10 generate prin rularea
programului conduc la concluzia că sistemul este sau nu invariant în
timp?
4. Să se modifice programul astfel încât să simuleze sistemul
astfel încât  = .
Să se demonstreze ca sistemul este variant.
Noile secvenţe de ieşire  şi  − 10 generate prin rularea
programului conduc la concluzia că sistemul este sau nu invariant în
timp?

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

În Tabelul 1 sunt prezentate câteva proprietăţi ale transformatei


Laplace bilaterale.

Tabelul 1. Proprietăţi ale transformatei Laplace bilaterale


Domeniul Timp Domeniul Laplace
CDE
,  :, F CDEG , CDEH
. + I ., I ∈ J .: + IF CDE
⊇ CDEG ∩ CDEH
 −    ∈ M  =N : CDEG
O O∈M 1  1
:  CDEG
|O| O O
> : CDE ⊇ CDEG

>

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
→
<
<∞

În Tabelul 2 sunt prezentate transformate Laplace ale unor funcții


uzuale.
Tabelul 2. Transformate Laplace utile
Funcție Transformat
a Laplace
Z 1 ∀
\ 1 CRS > 0
(funcția 
Heaviside)
\ 1 CRS > 0
0
 \
] , = 1,2,3, … ,! CRS > 0
 ]

 ` \ .∈J 1 CRS
−. > CR.S
− ` \− .∈J 1 CRS
−. < CR.S
 a
sinA  \ O, A dM A CRS
 + .0 + A0 > −O
 a cosA  \ O, A dM +O CRS
 + .0 + A0 > −O

23
Lucrarea 2

sinA  \ A dM A CRS > 0


 0 + A0
cosA  \ A dM  CRS > 0
 + A0
0

Exemplul 1
Săse calculeze transformata Laplace bilaterală a semnalelor:
a)

b)

24
Lucrarea 2

2 Transformata Laplace unilaterală



<

: = P   = >


g
(2)
Tabelul 3. Proprietati ale Transformatei Laplace unilaterale
Domeniul Timp  Domeniul Laplace : CDE
,  :, F CDEG , CDEH
. ., I ∈ J .: + IF CDE
+ I ⊇ CDEG ∩ CDEH
 −    ∈ M,   =N : CDEG
>0
O O ∈, O > 0 1  1
:h i CDEG
O O O
> : − 0  CDE ⊇ CDEG

>
>j  j : − CDE ⊇ CDEG
  j
0  − ⋯ −
> j
l mgn 
− Y
l mgn og

l mgp 
Y
l mgp og
 1 CDE ⊇ CDEG
P Q>Q :
 ∩ R: CRS > 0S

 =T    ∈ J : −   CDEG + CR S
 :F CDE
∗  ⊇ CDEG ∩ CDEH
 ∗  : ∗  ∗  CDEG
− >: CDEG
>
0
  = 0,  0
 = lim :
=→
<
<0
lim   = 0,  lim  = lim :
→
< →
< =→
< 0,
Y lim Y
→
<
<∞

25
Lucrarea 2

3 Inversa transformatei Laplace

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

x ( t ) = c1e p1t u ( t ) + c2 e p2t u ( t ) + K + cn e pnt u ( t ) ,


(7)
iar dacă semnalul este necauzal:

(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.

4 Calculul transformatei Laplace în MATLAB


În MATLAB, calculul transformatei Laplace este simplu. Mai întâi
trebuie să se specifice că variabilele t și s sunt variabile simbolice. Acest
lucru se face cu comanda:
syms t s
Apoi trebuie definită funcția f(t). Pentru calculul transformatei se
folosește funcția:
laplace(f,t,s)
Pentru a face o reprezentare mai compactă, se pot folosi funcțiile
simplify.m și pretty.m.

Exemplul 3. Se consideră funcția f(t):


} = −1,25 + 3,5 0 + 1,25 0 \
(12)
Să se afle transformata Laplace.

Se scrie codul MATLAB:


syms t s
f=-1.25+3.5*t*exp(-2*t)+1.25*exp(-2*t);
F=laplace(f,t,s)
simplify(F)
pretty(ans)
Evident că se poate scrie și astfel:
F2=laplace(-1.25+3.5*t*exp(-2*t)+1.25*exp(-2*t));

Dacă se calculează se obține:

28
Lucrarea 2

−5
 =
 + 20
(13)

Pentru calculul transformatei Laplace inverse se folosește funcția


ilaplace.m.
Exemplul 4. Se consider transformata Laplace din relația (13):
Să se afle inversa aceste transformate.

Pentru descompunerea
Se scrie în MATLAB:
syms t s
F1=(s-5)/(s*(s+2)^2);
f1=ilaplace(F)
simplify(f1)
pretty(f1)

Rezultatul trebuie să fie egal cu funcția f(t) din relația (12).


Se poate scrie și astfel:
ilaplace((s-5)/(s*(s+2)^2))

Pentru descompunerea în fracții simple se poate folosi funcția


MATLAB residue.
Exemplul 5
Se cunoaște transformata Laplace
+5
: = €
 + 5 + 17 + 13
0

(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

În cazul în care condițiile inițiale sunt nule, adică:


> … 
… ” = 0, , = 1,2 … , 
> o
și dacă semnalele de intrare sunt cauzale, adică:
> … 
… ” = 0, , = 1,2 … , ‰
> o
se obține:
>] 
ℒ  =  ] F. 3
>]
>] 
ℒ  ]  =  ] :.
>
Aplicând transformata Laplace membrului stâng şi drept ai
relaţiei (1) și ținând seama de relațiile (3), se obţine:
.j  j + .j  j + ⋯ + .  + . F
= Iu  u + Iu  u + ⋯ + I  + I :
Iu  u + Iu  u + ⋯ + I  + I
F = : . 4
.j  j + .j  j + ⋯ + .  + .
Relaţia (4) exprimă transferul intrare-ieşire în domeniul
transformatelor Laplace (funcţiilor imagine).
Raportul dintre transformatele Laplace ale mărimilor de ieşire şi
de intrare ale sistemului dinamic (modelului matematic descris de
relaţia (1)) se numeşte funcţie de transfer (funcţie de sistem) a
sistemului.
F Iu  u + Iu  u + ⋯ + I  + I
! = = . 5
: .j  j + .j  j + ⋯ + .  + .
Funcţia de transfer este o funcţie raţională de variabila complexă
s, nu depinde nici de mărimea de intrare X(s) şi nici de mărimea de
ieşire Y(s), ci numai de structura şi parametrii sistemului.
Funcţia de transfer este obţinută în cazul condiţiilor iniţiale
nule, caz în care răspunsul sistemului este cel la stare zero (zero
state response, notat –= .
Dacă se cunoaşte relaţia intrare–ieşire din domeniul Laplace, prin
funcţia de transfer H(s) se poate determina răspunsul sistemului la
orice tip de excitaţie folosind relația:
F = !: . 6

32
Lucrarea 2

2 Zerourile și polii funcției de transfer


H(s) fiind raport de polinoame cu coeficienţi reali, poate fi scrisă
sub forma:
Iu ∏u …o − t… 
! = , 7
.j ∏j]o − v] 
t… ∈ J,  = 1,‡‡‡‡‡‡
‰ sunt zerourile cu valori finite (reale sau complex
conjugate) ale funcţiei de transfer. Zerourile sunt valorile
‡‡‡‡‡‡
t… ∈ J,  = 1, ‰ pentru care t…  = 0.
v] ∈ J,  = 1, ‡‡‡‡‡
 sunt polii cu valori finite (reale sau complex
conjugate) ai funcţiei de transfer. Polii sunt valorile v] ∈ J,  = 1, ‡‡‡‡‡

pentru care !v] = ∞. 
Polinomul polilor funcţiei de transfer (polinomul de la numitor)
este identic cu polinomul caracteristic al ecuaţiei diferenţiale (1).
Numărul v = ‰.‰,  se numeşte ordinul sistemului şi este
egal cu numărul minim de elemente acumulatoare de energie
independente între ele conţinute în sistem.
Polinomul zerourilor funcției de transfer modelează operații de
amplificare și derivare și are efect de anticipare a semnalului y(t) de la
ieșirea sistemului în raport cu semnalul de intrare x(t).
Inversul polinomului polilor modelează operații bazate pe
integrare și are efect de întârziere a semnalului y(t) de la ieșirea
sistemului în raport cu semnalul de intrare x(t). Efectul se manifestă
cu întârziere față de cauză, adică operatorul integrator este dominant
față de cel derivator. Acest lucru se întâmplă numai dac㠉 < .
Regiunea de convergență (ROC) a lui H(s) nu trebuie să
conţină poli! Regiunea de convergență a lui H(s) poate să conţină
oricâte zerouri.
Pentru semnale cauzale ROC a lui H(s): RRS > ? . Prin urmare,
ROC pentru un sistem LIT cauzal caracterizat prin funcția de transfer
H(s ) este dată de relația RRS > RRvz S, unde vz este polul ce este
poziționat cel mai la dreapta dintre cei n poli.
Relația (7) poate fi scrisă și sub forma următoare:
% %
! = = › œ
š  ∏]o + ?]  ∏ uo + 2?u  + ?u + Au 
0 0 0

%
= › œ . 8
 ∏]o + ?]  ∏uo + ?u  + Au 
0 0

33
Lucrarea 2

Pot apărea trei tipuri de poli ai funcției de transfer:


 L poli în s=0;
 K poli reali,  = −?] , 1 < , < Ÿ,
 M perechi de poli complex conjugați, s = ? ± jω .
Poli de multiplicitate L in 0 produc semnale de tip t  ut.
Termeni de acest tip produc ieșiri nemarginite, prin urmare un
sistem stabil nu va conține astfel de termeni, deci L=0, ceea ce
înseamnă că funcția de transfer devine:
¤ ¤œ ¥  + E
! = +⋯+ + +⋯
 + ?  + ?œ  + ?u 0 + Au 0

¥  + E
+ 0 . 9
 + ? 0 + A
Răspunsul la impuls al sistemui este de tipul:
œ 

ℎ = ’ §¨
¤] ¨¨©¨¨
\ ¬u  r­ w®Au  + ¯u \ . 10
¨ª + ’ §¨¨¨¨¨¨¨¨©¨¨¨¨¨¨¨¨ª
ry 

]o «y  uo «­ 


Se arată ca un sistem liniar invariant în timp cu n poli este stabil
în sens MIMO dacă și numai dacă partea reală a polilor este număr
negativ CRv] S < 0.
În Figura 1 se ilustrează calitativ forma răspunsului la impuls
ℎ

Figura 1. Natura formelor de undă pentru componentele ℎ]  și ℎu 


pentru diferite perechi °, ±

34
Lucrarea 2

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\.

Figura 2. Schema electrică a unui circuit RLC

Se urmărește tensiunea pe rezistorul R, adică semnalul de ieșie


din sistem este considetat .
Să se afle funcția de transfer a circuitului, precum și răspunsul la
impuls, răspunsul la stare zero, răspunsul la intrare zero și răspunsul
total al circuitului la aplicarea unui semnal egal cu:
 = 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

a) Deoarece funcția de transfer se definește pentru condiții


inițiale nule, aplicând transformata Laplace ecuației (11), se obține:
F + 4F = :, 12
și apoi funcția de transfer este:
F  +4−4 4
! = = = = 1−
:  + 4 +4 +4
Prin urmare, răspunsul la impuls este:
ℎ = Z − 4   \. 13.
b) De fapt Y(s) din relația (12) este transformata Laplace a
răspunsului la stare zero a sistemului, notat în aplicație cu –=  .
Prin urmare,
 2
F–=  = !: = h i³ 0 ´ . 14
+4  +4
Dacă se descompune (14) în fracții simple, se obține următoarea
expresie:
0,4 0,4 + 0,4
F–=  = − + . 15
+4 0 + 4
Prin urmare, calculând transformata Laplace inversă se obține
răspunsul la stare zero a sistemului –= :

y¶ t = −0,4e ¸ + 0,4cos2t + 0,2sin2t\. 16

Să se compare cu rezultatul obținut prin rezolavarea directă a


ecuației diferențiale.
c) Răspunsul la intrare zero, notat cu –…  se află atunci când la
intrare nu se aplică semnal, xt = 0, dar există condiție inițială
y0  = 2. Prin urmare, ecuația diferențială devine:
>–…
+ 4–…  = 0. 17
>
Aplicând transformata Laplace, se obține:

F–…  − 0  + 4F–…  = 0


F–…  − 2 + 4F–…  = 0
 + 4F–…  = 2
2
F–…  = . 18
+4
36
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\

 = 1,6e ¸ + 0,4cos2t + 0,2sin2t\. 20

Să se compare cu rezultatul obținut prin rezolvare directă a


ecuației diferențiale, precum și cu cel obținut când se ransformata
Laplace se aplică ecuației diferențiale (11), atunci când nu se
determină separat cele două componente –  și –  ale
răspunsului. În această ultimă situație, se obține:

F − 2 + 4F = :


2
 + 4F = 2 + 0
 +4
2s0 + 2s + 8
Ys = . 21
s + 4s 0 + 4

Exemplul 2
Funcții de transfer în cazul sistemului vestibular.

Sistemul vestibular este un sistem din urechea internă. El


determină echilibrul și orientarea spațială. Sistemul vestibular este
compus din câteva subsisteme, fiecare având o sarcină specifică.
Sistemul vestibular constă în partea neauditivă a urechii ce cuprinde
vestibulul și canalele semicirculare.
Vestibulul membranos este umplut cu un lichid bogat în potasiu
numit endolimfă. Vestibulul membranos contine 2 cavitati
membranoase: utricula si sacula (numite și organe otolitice sau
macule otolitice sau pete senzitive – “otolith organs”). Utricula are în
principal sezitivitate orizontală, în timp ce sacula are sezitivitate

37
Lucrarea 2

verticală. În utriculă se deschid cele 3 canale semicirculare


membranoase (Figura 3).


Figura 3. Elemente ale sistemului vestibular (din urechea internă)

Canale semicirculare dau informații în ceea ce privește


accelerația unghiulară a capului. Vestibulul membranos produce
răspuns atât la accelerația liniară, cât și la accelerația gravitațională.
O reprezentare schematică a sistemului vestibular este prezentată în
Figura 4.

Figura 4. Reprezentare schematică a sistemului vestibular

Deoarece cele două componente are sistemului vestibular sunt


sensibile la intrări diferite, trebuie ca fiecare componentă să fie
modelată individual.

38
Lucrarea 2

Pentru a obține funcțiile de transfer pentru subsistemele


componente ale sistemului vestibular, aproapte toate valorile sunt
determinate experimental2.
Canalele semicirculare sunt în număr de trei. Primul, cel
orizontal, ne ajută să ne dăm seama de mișcarile în jurul axei proprii
(în cerc), cel superior semicircular ajută la detectarea mișcărilor în
plan drept, iar cel posterior semicircular ne ajută să ne dăm seama de
mișcările stânga-dreapta ale capului.
Funcția de transfer a canalelor semicirculare pune în evidență
curgerea endolimfei în canalele semicirculare, precum și ieșirea
impulsului nervos. Pentru a determina funcția de transfer a canalelor
semicirculare, mișcarea cupulei este descrisă în domeniul timp ca o
mărime ce se modifică în funcție de accelerația capului.

>0 > >0


º 0 +¥ + Ÿy = º 0 . 22
> > >

y deviația unghiulară a endolimfei față de craniu


K- momentul cuplului pe unitate de deviație unghiulară
B- momentul de frecare
I- momentul de inerție a endolimfei
x - componenta acceleraței unghiulare a craniului, în spațiul
inerțial
Utilizând proprietățile transformatei Laplace, relația (22) devine:
º 0 F + ¥F + ŸF = º:
º 0 + ¥ + ŸF = º: 
Se face mențiunea că funcția de transfer dedusă este pentru
deplasarea endolimfei raportată la viteza capului x t =  »  și
:  = :.
Funcția de transfer este:
F º 1 
! = = 0 = . 23
:  º + ¥ + Ÿ Ÿ 1 + ¥  + º  0
Ÿ Ÿ
Relația (23) poate fi rescrisă sub forma:

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

Funcția de transfer obținută pentru vestibulul membranos, mai


precis pentru organul otolitic, se obține utilizând ecuațiile Trincker
[1], ce descriu răspunsul vestibulului la aplicarea accelerației:
1 >0  > 1 >0
³1 + ´ ‰ 0 + ¬ + , = ³1 − ´ ‰ 0 , 27
¾ > > ¾ >
unde:
m este masa;
r este forța vâscoasă pe unitate de viteză liniară;
k este forța elastică pe unitate de deplasare liniară;
ρ este densitatea;
y deplasarea liniară în raport cu capul;
x deplasarea liniară a capului.
Se obține următoarea funcție de transfer:

, + ,0 
! = . 28
 + ¿  + ¿0 

Se utilizează următoarele valori pentru constantele respective


(w2 poate fi neglijat la frecvențe înalte):
, = 62,14 ‰v w‰
,0 = 111,18 ‰v w‰
¿ = 2,47 ¬.>  

40
Lucrarea 2

3 Principalele comenzi MATLAB


În cazul semnalelor analogice, domeniul de definiție este infinit,
pentru semnale cauzale începând de la t=0.
Pentru simulare în MATLAB, se consideră un număr finit de
valori ale timpului:
 =  0 … ] .
Vectorul timp se poate alege considerând un pas de simulare
suficient de mic (de exemplu mai mic decât de 100 ori perioada de
eșantionare).
Semnalul de intrare este reprezentat prin:
 =  0 … . ]  =   0  … ]  .
Semnalul de ieșire este reprezentat prin:
 =  0 … . ]  =   0  … ]  .
Pentru calculul funcției de transfer se utilizează funcția tf.m.Este
necesar să se cunoască coeficienții polinomului de la numărător și
coeficienții polinomului de la numitor (ce se introduc în ordinea
descrescătoare a puterilor lui s), funcția de trasfer fiind o funcție
rațională.
Pentru a calcula răspunsul SLIT la aplicarea unui semnal impuls
unitate se folosește funcția impulse.m. Apelată sub forma
impulse(sys,t) funcția returnează răspunsul explicit pentru un interval
de timp specificat de vectorul t (inclusiv reprezentarea grafică a
răspunsului).
Pentru a calcula răspunsul SLIT la aplicarea unui semnal treaptă
unitate se folosește funcția step.m. Apelată sub forma step(sys,t)
funcția returnează răspunsul explicit pentru un interval de timp
specificat de vectorul t (inclusiv reprezentarea grafică a răspunsului).
Pentru a calcula răspunsul SLIT la aplicarea unui semnal de
intrare oarecare se folosește funcția lsim.m. Apelată sub forma
lsim(sys,u,t) funcția returnează răspunsul explicit pentru un interval
de timp specificat de vectorul t (inclusiv reprezentarea grafică a
răspunsului) la aplicare unui semnal de intrare specificat în vectorul
u. Vectorul u trebuie să fie de aceeași lungime ca vectorul t.
Exemplul 1 (MATLAB): să se calculeze și să se reprezinte
răspunsul unui sistem SLIT caracterizat prin funcția de transfer
−1
! = 0
 ++5
41
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.

Se scrie următorul cod MATLAB:


% H(s)=(s-1)/(s^2+s+5)
clear all
close all
num=[1 -1];
den=[1 1 5];
H=tf(num,den);
%definirea duratei de simulare
t=0:0.1:10;
%raspunsul la impuls
subplot(311)
impulse(H,t)
%raspunsul la aplicarea semnalului treapta unitate
subplot(312)
step(H,t)
%raspunsul la aplicarea unui senal dreptunghiular
subplot(313)
%generarea unui semnal dreptunghiular periodic, perioada 4s
[x,t]=gensig('square',4,10,0.1);
lsim(H,x,t)

Se obțin reprezentările din Figura 5.

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)

Figura 5 Raspunsul la impuls unitate, la treaptă unitate și la un semnal


dreptunghiular (exemplul 1 MATLAB)

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

Indicație: sistemul este descris prin următoarea ecuație


diferențială:
> 0 ¿ >¿
+7 + 12¿ = 12. 30
> 0 >

Să se reprezinte în MATLAB răspunsul sistemului, pe o durată de


timp egală cu 4 s.
3. Să se reprezinte răspunsul la stare zero al sistemului descris în
Exemplul 1.
4. Să se reprezinte răspunsul la impuls pentru sistemele descrise
prin funcțiile de transfer din Exemplul 2.










44

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