Sunteți pe pagina 1din 6

Identificarea sistemelor - Laborator 1:

Introducere in toolbox-ul matlab IDENT


Cuprins
ˆ Scopul laboratorului 1

ˆ Generarea unui set de date de test

ˆ Obietul IDDATA

ˆ Interfata grafica IDENT

ˆ Clasificare sumara a modelelor de identificare

Scopul laboratorului 1
In acest laborator ne propunem sa va prezentam, pe scurt, cateva dintre
instrumentele utile si necesare pe care le veti folosi pe parcursul laboratorului
de Identificarea Sistemelor.
Aceste instrumente sunt obiectul matlab IDDATA si interfata grafica mat-
lab IDENT.

Generarea unui set de date de test


Pentru inceput, va propunem sa generam un set de date artificial, pentru a-l
putea folosi apoi in explorarea celor doua instrumente specificate mai sus:
obiectul IDDATA si interfata grafica IDENT.

Descrierea experimentului:
Sa presupunem ca datele de iesire sunt provenite de la un proces, H(s) de
ordinul I, avand o amplificare unitara (i.e. k = 1) si o latime de banda de
10 rad/sec (i.e. ω = 10 rad/sec). Iesirea este obtinuta ca rezultatul aplicarii
unei intrari de tip treapta unitara, si in plus este afectata de un zgomot de
masura aditiv uniform distribuit. Se mai cunoaste de asemenea ca iesirea
este masurata la un interval uniform de timp de 0.01 secunde (i.e. Ts = 0.01
sec). In final, putem presupune ca iesirea procesului este o temperatura,
masurata in grade Celsius, pe cand intrarea este un o tensiune electrica.
Va reamintim ca o functie de transfer de ordin I are urmatoarea structura:

H(s) = (1)
s+ω

1
Urmatoarea sectiune cu cod matlab va genera datele de intrare iesire
descrise in experimentul de mai sus.

1 %% Generator de date simulate - IS Lab1


2 % H - functie de transfer de ordin 1
3 % u - intrare tip treapta unitara
4 % yc - iesire sistemului H(s) la treapta unitara
5 % y - iesirea sistemului H(s) afectata de un zgomot alb aditiv
6 % Ts - periada de esantionare
7 % ------------------------------------------------------------
8 % Definirea functii de transfer
9 k = 1;
10 w = 10;
11
12 H = tf(k*w, [1 w]);
13
14 % Definirea vectorului de timp si a perioadei de esantionare
15 Ts = 0.01;
16 t = 0 : Ts : 1;
17
18 % Raspunsul la o intrare tip treapta unitara
19 yc = step(H, t);
20

21 % Dfinirea zgootului alb si a deviatiei standard asociate


22 std = 0.1;
23 noise = std*randn(length(yc), 1);
24
25 % Datele de intrare si iesire (u si y)
26 u = ones(length(t), 1);
27 y = yc + noise;
28
29 % Afisarea rezultatelor
30 figure
31 subplot(211)
32 plot(t, u)
33 title('Intrarea treapta unitara (u)')
34 xlabel('Timp [sec]')
35 ylabel('Amplitudine [V]')
36 subplot(212)
37 plot(t, y)
38 hold on
39 plot(t, yc)
40 hold off
41 title('Iesirea sistemului (y)')
42 xlabel('Timp [sec]')
43 ylabel('Amplitudine [grade C]')
44 legend('y\ zgomotos', 'y\ curat', 'location', 'SE')

2
Obicectul IDDATA
Acest obiect este o structura de data creata pentru cu ajutorul functiei
matlab (constructor) iddata. Aceasta structura va pastra datele de in-
trare/iesire inregistrate, impreuna cu un set de detalii in ceea ce le priveste,
dar si al experimentului din care provin.
Pentru a obtine mai multe detalii referitoare la aceasta functie, apelati
comanda matlab:
help iddata
Pentru a genera un astfel de obiect cu datele generate folosind rutina
matlab de mai sus, puteti folosi urmatoarea comanda:
data = iddata(y, u, Ts)
Restul campurilor vor putea fi completate in diferite feluri. Unul dintre
ele este folosind functia:
set(data, 'PropertyName', PropertyValue)
Ca de exemplu, daca vrem sa modificam campul NUME cu valoarea ’H(s)’
a variabilei IDDATA data, folosim comanda:
set(data, 'Name', 'H(s)')
Pentru a descoperi si vedea semnificatia celorlalte campuri ale variabilei
IDDATA, data, puteti folosi comanda:
idprops iddata
Mai departe, pentru a salva datele pentru a putea fi folosite in sesiuni
ulterioare va puteti folosi comanda: save. Cu ajutorul fuctiei help explorati
cum se foloseste aceasta functie.
Lista de comenzi matlab de mai jos va crea un obiect IDDATA pe baza
datelor generate in sectiunea de mai sus:

1 %% Creare obiect IDDATA si salvarea datelor


2 % Creare obiect IDDATA
3 data1 = iddata(y, u, Ts);
4
5 % Completarea campurilor obiectului IDDATA
6 set(data1, 'Name', 'H(s)');
7
8 % Salvarea obiectului IDDATA
9 save('Data1 gen 6oct20', 'data1')

Ca exercitiu, va ramane sa completati restul campurilor variabilei ID-


DATA, data, folosindu-va de informatiile prezentate in Descriere experiment.

3
Interfata grafica IDENT
Sa presupunem ca datele pe care vrei sa le prelucrati nu sunt disponibile in
spatiul de luctu al matlabului, dar acestea au fost salvate in prealabil. Pentru
a le incarca puteti folosi comanda load. In cazul exemplului nostru, aceasta
devine:
load('Data1 gen 6oct20')
Dupa executarea acestei comenzi, datele salvate in fisierul incarcat (in
cazul nostru data1 ) vor fi disponibile in spatiul de lucru.
De asemenea, pentru a afla mai multe detalii despre aceasta comanda,
puteti folosi functia help.
Pentru a accesa interfata grafica IDENT, tastati in linie de comanda a
matlabului:
ident
O sa remarcati ca pentru versiuni mai noi a matlabului acesta o sa va
sugereze sa folositi comanda:
systemIdentification
Eplicatia este ca in versiuni viitoare ale matlabului comanda ident o sa
fie eliminata si inlocuita definitiv cu comanda systemIdentification.
O data executata aceasta comanda, pe ecran va aparea fereastra interfetei
grafice IDENT, ca in imaginea de mai jos:

4
In continuare vom face o scurta descriere a interfetei grafice IDENT (mai
multe detalii o sa primiti in timpul sesiunii online).
In sectiunea a) se vor importa datele ce vor fi prelucrate. Aceasta in-
terfata va ofera mai multe optiuni de importare date, una dintre ele fiind
obiecte de tip IDDATA (ceea ce o sa folosim noi in cadrul laboratorului de
astazi).
O data importate datele, acestea vor fi disponibile in Sectiunea b). Se
poate observa ca pot fi introduse mai multe seturi de date, si apoi putem
selecta cu care vom lucra. In josul acestei sectiuni, aveti cateva optiuni pt
vizializarea datelor selectate (Time plot, Data spectra, etc).
In continuare, dupa ce am selectat datele pe care dorim sa le prelucram
(drag-and-drop in chenarul intitulat Workind Data), vom alege metoda de
estimare dorita, parcurgand lista din Sectiunea c) (in cazul nostru vom alege:
Transfer Function Models - pe parcursul semetrului in cadrul cursului veti
vom studia detaliat o parte din metodele de estimare prezente in acea lista).
Dupa ce ati executat acest pas, o fereastra in care trebuie sa indicati
o serie de detalii despre procesul de estimare va aparea pe ecran. O data
selectate, apasati Estimate, iar procedura de estimare va incepe. Dupa ce
estimarea este completa, modelul determinat in functie de datele din Working
Data, metoda de estimare si parametrii indicati va fi disponibil in Sectiunea
d).
De asemenea, sub aceasta sectiune aveti o serie de metode sa vizualizati
detaliile si comportamentul sitemului identificat.
In final, daca vreti sa aveti disponibil modelul identificat, puteti sa mu-
tati modelul determinat ce se gaseste in Sectiunea d) in zona intitulata To
Workspace, cu o actiune drag-and-drop. Acelasi lucru puteti face daca vreti
sa stergeti un model (sau un set de date), dar de data aceasta il deplasati
peste zona denumita sugestiv Trash, ce e reprezentata simbolul unui ”cos de
gunui”.
Puteti remarca si sectiunea denumita Validation Data. Acolo veti pune
un set de date ce va fi folosit pentru validarea modelului. Este recomandat
ca acesta sa nu fie acelasi cu setul de date din Working Data (cu toate ca
matlabul nu va constrange sa alegeti un set diferit).

Exercitii Practice
1. Generati trei seturi de date folosind rutina matlab prezentata in sec-
tiunea Generarea unui set de date de test, fiecare set generat avand
o deviatie standard diferita: σ1 = 0.1, σ2 = 0.03, σ3 = 0.01. Afisati
grafic cele patru iesiri (iesirea neafectata de zgomot impreuna cu iesirile

5
corespunzatoare celor trei deviatii standard a zgomotului).

2. Creati trei obiecte de tipul IDDATA corespunzatoare ficarui set de date


generat.

3. Folositi interfata grafica IDENT (systemIdentification) pentru a estima


parametrii functiei de transfer generata. Identificati doar doua modele
corespunzatoare datelor ce au deviatia standard σ1 = 0.1, respectiv
σ3 = 0.01, in timp ce setul de date cu deviatia standard σ2 = 0.03 va
fi folosit pentru validarea celor 2 modele.

4. Intocmiti un raport in care sa prezentati rezultatele obtinute si conluzile


voastre.

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