Sunteți pe pagina 1din 140

CUPRINS

1. IDENTIFICAREA SISTEMELOR FOLOSIND PACHETUL DE PROGRAME


MATLAB. OBIECTE I PROCEDURI UTILIZATE DE SUBPACHETUL SYSTEM
IDENTIFICATION TOOLBOX...........................................................................................5
2. SIMULAREA COMPORTRII SISTEMELOR LINIARE DE ORDINUL I I
ORDINUL II FOLOSIND PACHETUL DE PROGRAME
MATLAB............................................................................................................................17
3. ALGORITMI DE TIPUL FFT (FAST FOURIER TRANSFORM). CALCULUL
FUNCIILOR DE CONVOLUIE I COVARIAN FOLOSIND
FFT...................................................................................................................................27
4. INDICATORI STATISTICI AI MSURRILOR. FUNCII MATLAB PENTRU
CALCULE STATISTICE..................................................................................................35
5. FILTRAREA DATELOR EXPERIMENTALE AFECTATE DE
ZGOMOTE........................................................................................................................45
6. ESTIMATORI M. ESTIMATORI DE PARAMETRI ROBUTI................................56
7. INTERPOLAREA I APROXIMAREA DATELOR...................................................63
8. IDENTIFICAREA SISTEMELOR FOLOSIND METODA CELOR MAI MICI
PTRATE. ALGORITMI DE CALCUL.........................................................................70
9. IDENTIFICAREA EXPERIMENTAL A SISTEMELOR DE ORDINUL I I
ORDINUL II......................................................................................................................76
10. METODE DE SUBSPAIU N IDENTIFICAREA SISTEMELOR.........................84
11. TEHNICI DE IDENTIFICARE DINAMIC A PROCESELOR. NOIUNI DE
BAZ PRIVIND IDENTIFICAREA MODELELOR DINAMICE ALE
PROCESELOR..................................................................................................................89
12. IDENTIFICAREA EXPERIMENTAL A UNUI SISTEM ALCTUIT DIN DOU
VASE N CASCAD......................................................................................................101
13. IDENTIFICARE DINAMIC PENTRU CONDUCEREA UNUI SISTEM DE
REGLARE A PRESIUNII...............................................................................................111





LUCRAREA 1

IDENTIFICAREA SISTEMELOR FOLOSIND
PACHETUL DE PROGRAME MATLAB.
OBIECTE I PROCEDURI UTILIZATE DE
SUBPACHETUL SYSTEM IDENTIFICATION
TOOLBOX



1. OBIECTIVELE LUCRRII

Familiarizarea cu facilitile i procedurile de identificare oferite de
subpachetul System Identification Toolbox din pachetul de programe
MATLAB. n etapa acoperit de lucrarea prezent se exploreaz
obiectele principale din subpachet asociate cu sistemele dinamice n
reprezentri variate i procedurile ar, arx, armax.

2. BREVIAR TEORETIC

Procedura de identificare experimental a unui sistem se realizeaz
n contextul unei lipse totale a informaiei privitoare la forma
modelului matematic, avnd la dispoziie sistemul a crei dinamic
trebuie modelat. Sistemul este tratat ca black box, pentru care
modelul se va sintetiza din informaiile de tip I/E.

System Identification Toolbox SIT se refer la problema
construirii modelelor matematice ale sistemelor dinamice bazate pe
date experimentale. SIT este alctuit dintr-o colecie de tehnici de baz,
bine nelese i verificate n aplicaii practice.


IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

6


Identificarea modelelor folosind datele experimentale presupune
decizia factorului uman implicat n cutarea modelelor, ca i
prelucrarea acestor date n scopul furnizrii bazei acestor decizii. De
regul, trebuie s fie parcurse mai multe bucle, revizuind deciziile
anterioare. In acest context, softul interactiv reprezint modalitatea
logic de abordare practic a identificrii sistemelor, fiind totodat i
un mijloc elegant de a compacta noiunile teoretice extensive,
fcndu-le accesibile utilizatorului.

MATLAB este un mediu excelent pentru asemenea calcule interactive,
date fiind conceptul su de workspace, facilitile grafice i modul de
lucru cu datele. SIT este o colecie de fiiere tip .m care implementeaz
cele mai uzuale tehnici parametrice/neparametrice disponibile. Este, de
asemenea, dedicat pentru utilizator, nu numai din punct de vedere al
calculului, ci i al evaluarii modelelor. Pentru automatiti, SIT este de
foarte mare utilitate n problema identificrii sistemelor.

SIT se afla n directorul ident.off al directorului principal MATLAB,
fiierul demonstrativ putnd fi accesat cu comanda iddemo.

O list complet a funciilor pe care subpachetul de identificare le
conine se poate vizualiza, dup o prealabil invocare a platformei
MATLAB, prin comanda

help toolbox/ident

care are ca efect afiarea listei respective cu numele funciilor pe
categorii, nsoite de scurte explicaii n limba englez.

Detaliile asupra funciilor si funcionrii acestor programe se obin prin
comanda help urmat de numele programului/funciei, type, urmat de
numele programului respectiv, sau dbtype urmat de numele
programului i de o pereche de ntregi separaii de : care indic linia
de nceput i linia de sfrit a prii din program afiate pe monitor.

2.1. Obiecte din subpachetul System Identification Toolbox
Prima seciune din lucrare are ca scop familiarizarea cu funciile
MATLAB care creeaz obiecte asociate cu sisteme dinamice diverse
n variatele forme n care acestea se pot prezenta.
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

7


Se verific pe rnd i apoi n relaia lor logic funciile din subpachetul
System Identification Toolbox i din alte subpachete cu care
programele de identificare au legtur.

Funcia tf cu dou argumente se studiaz dupa cum urmeaz

num=[1 2]; % se iniializeaz coeficienii numrtorului
funciei de
transfer.
den=[1 2 5]; % se iniializeaz coeficienii numitorului funciei
de
transfer.
sis=tf(num,den) % se genereaz un obiect de tipul tf care conine
informaia structural i parametric a
sistemului
dinamic modelat prin funcia de transfer
afiat.

Rspunsul la comanda ultim (fr caracterul ; la final) este:

transfer function:

s + 2
------------
s^2 + 2s +5

Se poate crea astfel un obiect a crui structur se poate citi prin
comanda get(sis),
cu rezultatul n mare parte uor de interpretat:

num = {[0 1 2]}
den = {[1 2 5]}
Variable = s
Ts = 0

Td = 0
InputName = { }
OutputName = { }
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

8


Notes = {}
UserData = []

Aceasta este convenabil n lucrul cu sisteme dinamice, cu structuri i
parametrizri diverse. De exemplu, prin comanda save nume fiier sis
se poate depune n memorie n fiierul nume fiier.mat informaia din
sis care poate fi oricnd recuperat prin comanda load nume fiier sis.

n plus, prin apelurile simple la alte funcii, cum sunt impulse (sis) sau
step(sis) se pot obine rspunsurile sistemului la intrrile tipice -
impulsul unitar i treapta unitar.

Recuperarea pe buci a informaiei din obiectul cu numele sis, de
tipul tf se obine prin comenzile [a,b] = tfdata (sis) sau [a,b] =
tfdata(sis,v) cu rezultatul depunerii n a i b a numrtorului i
numitorului funciei de transfer inclus n sis, n varianta a doua sub
forma vectorial explicit.

Modificarea unei pri a unui obiect tf se poate face prin intermediul
comenzilor de genul set (sis,numeproprietate,valoare).

Un obiect din categoria tf poate servi ca argument multor altor funcii
cum sunt bode, freqrest, nyquist, ltiview, nichols etc. i se recomand
ncercarea lor i urmrirea efectelor.

Aceeai funcie tf poate crea obiecte asemntoare, dar care se refer la
sisteme discrete in timp. Pentru aceasta se include obligatoriu un al
treilea argument care reprezint intervalul de eantionare:

sisd = tf (num,den,0.1);

Prin invocarea numelui rezultatului sisd se obine coninutul
obiectului, adic forma funciei de transfer i intervalul de discretizare.
Variabila care apare n scrierea simbolic a funciei de transfer este z.

Dac este vorba de modele continue n timp sau discrete n timp, exist
posibilitatea ca funcia s fie scris n alte variabile cum ar fi p pentru
reprezentri continue, z
-1
sau q pentru reprezentri discrete.

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

9


Un alt gen de obiect de un tip diferit, tipul ss, se refer la modelele
ecuaie-de-stare-ecuaie-de-observare. Secvena care urmeaz duce la
crearea unui obiect de acest tip.

a = [-2 1;1 -3];
b = [1 1] ;
c = [1 0;0 1];
d = [0 0];
sistem=ss (a,b,c,d);

Ultima comand, fr caracterul suprimat al afirii ; expune pe
monitor cele patru matrici care intervin in forma modelului

dx = Ax(t)+Bu(t) (1.1)
dt
y(t) = Cx(t)+Du(t)

care ia n considerare evoluia strii sistemului n forma continu sau
n forma discret

x(t+t) = Ax(t)+Bu(t) (1.2)
y(t) = Cx(t)+Du(t)

dac, din nou, se mai adaug funciei ss nc un argument care este
intervalul de eantionare. Se intelege c n varianta din urm timpul nu
poate fi dect multiplu ntreg al intervalului t.

Cu un obiect de acest tip, cum este obiectul sistem, se pot evalua
rspunsurile sistemului la intrri variate, cu aceleai comenzi utilizate
i cu obiectul sis, de un alt tip, de tipul tf.

Matricile se pot recupera pe rnd si separat prin comenzi de genul

al = sistem.a;


Foarte popular printre automatiti este descrierea unui sistem prin
zerourile, polii si amplificarea/amplificrile lui. Pentru aceasta, System

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

10


Identification Toolbox include o funcie zpk destinata crerii de
obiecte de un tip diferit de cele descrise sumar mai devreme.

Sintaxa acestei funcii este sys=zpk(z,p,k) sau sys=zpk(z,p,k,t) din nou
dup cum este vorba de reprezentri continue sau discrete in timp.

Dac sistemul este de tipul o intrare-o ieire (SISO- Single Input-
Single Output), atunci zerourile i polii se introduc ca vectori (vectorul
vid uneori!), iar amplificarea ca un scalar.

Dac sistemul este de tip MIMO (Multiple Inputs-multiple Outputs), cu
mai multe intrri i mai multe ieiri, atunci argumentele z i p sunt
matrici celulare cu cte o celul de vectori z[i, j],p[i, j] pentru fiecare
intrare (j)-ieire (i), iar k este o matrice rectangular care conine
amplificrile, de asemenea pentru fiecare canal intrare-ieire.

Exemplu

Comanda

sist=zpk {{[];[2 3]}, {-1;[0 1]},[-5;1]}

este pentru crearea obiectului /sistemului sist cu o intrare i doua ieiri

[ -5/(s+1) ]
[(s-2) (s-3)/s(s+1)]

Deoarece n situaii diferite pot fi necesare modele ale sistemelor n
forme diferite, exist un numr de funcii care permit transformarea
modelelor de un anumit tip n modele de un alt tip.

Astfel:
Cu comenzile ss2tf i tf2ss cu argumente potrivite se pot
converti modelele de tip ecuaie-de-stare ecuaie-de-observare
n modele de tip funcie de transfer i invers.



IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

11


Cu comenzile zp2tf i tf2zp cu argumente potrivite se pot
converti modelele de tip poli-zerouri i invers.
Cu comenzile ss2zp si zp2ss cu argumente potrivite se pot
converti modelele de tip ecuaie-de-stare ecuaie-de-observare
n modele de tip poli-zerouri i invers.
Comenzile c2d si d2c permit trecerea de la modele/sisteme
continue n timp la modele/sisteme discrete n timp.

Desigur, aici nu se pot da toate detaliile referitoare la funciile din
System Identification Toolbox.. Prin comenzile specifice help se pot
observa i studia mai n amnunt funciile invocate. Exemple simple
tratate cu funciile subpachetului sunt, de asemenea, recomandate.

O alt form n care se stocheaz i se manevreaz structuri i
parametri de modele este forma/obiectul theta.

O comand help theta dezvluie structura acestui obiect care este o
matrice. O matrice theta conine informaii de structur, parametrii
(estimai) pe structura dat i acurateea lor (de asemenea estimat).

Pentru modelele structurilor cu ieiri multiple si cu evidenierea
spaiului strilor exist reprezentarea thss, analog n bun msur cu
modul de reprezentare theta.

Comanda help thss lmurete proprietile matricilor thss i diferenele
dintre cele dou reprezentri din aceeai familie. Nu sunt de ignorat
elementele de datare calendaristic i orar coninute n aceste
reprezentri, utile n identificarea n sens strict a unor rezultate stocate
n aceste forme.

Matricile theta au n vedere structura de model intrare-ieire
polinomial foarte general:

A(q)y(t) = [B(q) / F(q)] u(t-nk) + [C(q) / D(q)] e(t) (1.3)

cu A, B, C, D si F polinoame n operatorul de ntrziere q, de ordinul
n
a
, n
b
, n
c
, n
d
, d
f,
respectiv.

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

12


Matricile theta sunt create de comenzile poly2th, pem, iv, iv4, arx,
armax, oe, bj, ar, ivar. Ele pot fi transformate n alte reprezentri cu
comenzile trf, zp, th2poly, th2th, th2ss si th2par.

Matricile thss sunt structuri care definesc n general modele liniare n
spaiul strilor.

Sunt folosite de comenzile/funciile pem, th2arx, th2par,th2ss, idsim,
present, thinit, fixpar, unfixpar, th2th, sunt create prin comenzile
ms2th, mf2th, arx, iv4, arx2th i pot fi modificate prin comenzile pem,
thinit, fixpar i unfixpar.

Detalierea coninutului matricilor theta se poate obine cu ajutorul
funciei/comenzii present.

Apelul la comanda help urmat de un nume din list clarific aciunea
fiecrei funcii din cele menionate.

2.2. Proceduri din subpachetul System Identification Toolbox
Forma general a modelelor intrare-ieire pentru sistemele cu ieire
unic este

) (
) (
) (
) (
) (
) (
) ( ) (
1
1
1
1
t e
q D
q C
n t u
q F
q B
t y q A
k
n
i
+ =

=
(1.4)

cu u
t
intrarea numrului i din cele n
u
intrri, cu y ieirea, cu A, B
t
, C, D
i F
t
polinoame n operatorul de deplasare q
1
(sau z
-1
).

Structura general este definit prin ntrzierile n
ki
i prin ordinele
polinoamelor implicate care coincid cu numrul de poli i de zerouri
ale modelului dinamic de la intrri la ieire i ale modelului
perturbaiilor de la e la y.

Cteva cazuri speciale, particulare, ale modelului de mai sus sunt
urmatoarele:

ARX: A(q)y(t) = B(q) u(t-n
k
)+e(t)
ARMAX: A(q)y(t) = B(q) u(t-n
k
)+C(q) e(t)
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

13


OE: y(t) = B(q) u(t-n
k
)+e(t) (1.5)
F(q)
BJ: y(t) = B(q) u(t-n
k
)+C(q) e(t) (Box-Jenkins)
F(q) D(q)

Procedura arx este utilizat pentru identificarea sistemelor de tip ARX.
Calculele se fac pe baza unor date (y,u) observate experimental.

Secvena care urmeaz execut un exemplu de identificare pe date
experimentale generate prin simularea unui sistem dinamic de form
cunoscut.

clear
sisc=tf {[1 1],[1 2 5]} % se creeaz un sistem continuu n timp
step (sisc) % se reprezint grafic rspunsul la treapt
unitar
sisd=c2d (sisc,0.01) % se convertete sistemul la timp discret
hold on % pe acelai grafic
step (sisd) % se reprezint rspunsul la treapt unitara
[y,t]= step (sisd); % se evalueaz rspunsul la treapt unitar
u1=sign ( randn (size (t) ) ); % se creeaza o intrare binar- aleatoare
[y1,t]=lsim (sisd, u1, t); % se evalueaz rspunsul prin simulare
z=[y1 u1]; % se creeaz matricea cu coloanele y1,u1
thd=arx (z, [2 2 1]) % se aplic procedura de identificare pe z,
pe structura cunoscut [na,nb,nk]=[2 2 1]
e=pe(z,thd); % se calculeaz erorile de reprezentare
figure % pe un grafic nou
h2=gcf; % cu handler-ul h2
set(h2,Position,[150 90 560 420]); % dup poziionarea graficului
plot(t,e) % se reprezint erorile de modelare
y1=y1+0.0001*randn(size(t)); % se altereaz ieirile observate
z1=[y1 u1]; % se creeaz noua matrice z sub numele de
z1
thd1=arx(z1,[2 2 1]) % se aplic din nou procedura de identificare
e1=pe(z1,thd1); % se calculeaz erorile de reprezentare
title (Erori de modelare)
ylabel (Date curate)
xlabel (Timp (s) )
subplot(2,1,2)
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

14


plot(t,e1) % se reprezint erorile de modelare
ylabel (Date cu erori)
xlabel (Timp (s) )

Procedura armax este utilizat pentru identificarea sistemelor de tipul
ARMAX. O simpl nlocuire n secvena de mai sus a apelului la
funcia arx prin apelul la funcia armax, nlocuire insotit de
modificarea argumentului relativ la structur, [2 2 0 1] n loc de [ 2 2
1], face secvena utilizabil pentru ilustrarea identificrii unui sistem
ARMAX.

Procedura oe este utilizat pentru identificarea sistemelor modelate
prin relaii de tipul OE. i de data aceasta, o simpl nlocuire n
secvena de mai sus a apelului la funcia arx prin apelul la funcia oe
face secvena utilizabil identificrii unui sistem OE. Dei semnificaia
componentelor vectorului de structur se modific, acesta poate
rmne neschimbat: [2 2 1].

Pentru modele de tipul BJ (Box-Jenkins) este utilizat procedura bj. i
de aceast dat, n secvena de mai sus a apelului la funcia arx prin
apelul la funcia bj face secvena utilizabil pentru ilustrarea
identificrii unui sistem BJ. Vectorul de structur se modific din [2 2
1] in [2 0 0 2 1 ].

Invocarea comenzii help urmat de numele funciei particulare
utilizate lmurete semnificaia vectorului de structur pentru fiecare
caz n parte.

n secvena MATLAB de mai sus apare i funcia/comanda pe. Aceast
comand, n varianta de apelare

e = pe (z, th);

produce diferenele (erorile) dintre datele experimentale z i modelul th
dat n forma theta. O invocare cu o lista mai complet de restituiri

[ e, v, w, a, b, c, d, f] = pe (z, th)


IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

15


genereaz nu numai erorile de modelare ci i alte informaii asupra
modelului. n a, b, c, d i f sunt depuse polinoamele care apar n forma
general a modelului, iar n ceilali doi vectori cantitile

w=(b/f) u si
v = a [y -w].

O comand/ funcie care poate face tot ce pot face funciile referite mai
devreme este funcia pem, cu urmtoarele posibilitati de apelare:

th=pem (z, thstruc);
th=pem (z, thstruc, index);

i cu alte posibiliti sondabile prin comanda help pem. n aproape
toate cazurile, thstruc este o matrice cu structura modelului i cu o
parametrizare, fie ea si provizorie, n genul celor generate de funcia
poly2th. Se poate ns apela funcia pem i cu thstrc n form
vectorial, simpl

[na nb nc nd nf nk].

Forma de apelare fr index face operaia de identificare cu
iniializarea liber sau inspirat de parametrii din matricea thstruc,
dac aceasta este complet.

Forma cu argumentul index face aceeai operaie, dar numai pentru
parametrii din linia specificat prin acel index. Se nelege c, n acest
din urm caz, matricea thstruc trebuie s fie complet.

n ambele cazuri, introducerea unui ultim argument de tip ir cu
valoarea trace produce afiarea pe monitor a etapelor calculului de
estimare.

3. MODUL DE LUCRU

Dac nu este deja creat, se creeaz un director/folder de lucru.
Se activeaz platforma MATLAB i se introduce comanda

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

16


Cd (calea spre directorul/folderul de lucru)

Se apeleaz funciile care creeaz sisteme cu obiecte de toate
tipurile, continue sau discrete in timp. Se memoreaz sistemele
i apoi se recupereaz, dup o comand intermediar clear ( care
elibereaz memoria din spaiul MATLAB de lucru curent). Se
verific coninutul spaiului de lucru curent cu comenzile who
i/sau whos.
Din imaginaie sau din lucrrile anterioare se creeaz modele de
tipuri variate ale unor sisteme dinamice. Se aplic sistemelor
intrarea impulse sau intrarea step, prin comenzile adecvate
descrise sumar mai sus, si se urmresc rspunsurile sistemelor.
Se exploreaz conversiile posibile ntre diferite forme de modele
i ntre diferite forme sintetice de stocare a caracteristicilor lor.
Se extrag caracteristicile numerice ale rspunsurilor - lista de
valori ale ieirilor i vectorul momentelor la care rspunsurile
sunt observate.
Se creeaz un script dup modelul dat n seciunea Breviar
teoretic. Scriptul va fi executat repetat cu schimbrile semnalate
n acea seciune.
Se exploreaz identificarea n condiii de zgomot variate.
Exemplul dat introduce un zgomot cu abaterea medie ptratic
de 0,0001, coeficientul numeric din linia

y1=y1+0.0001*randn (size (t));

Se modific structura propus i se repet operaia de estimare
de parametri.
Din imaginaie sau din lucrri anterioare se creeaz sisteme
dinamice i modele de structuri diverse. Se introduc n script i
se face succesiv identificarea lor.
Se supun observrii critice n identificare i legtura lor cu
structurile alternative propuse i cu acurateea datelor.






LUCRAREA 2

SIMULAREA COMPORTRII SISTEMELOR
LINIARE DE ORDINUL I I ORDINUL II
FOLOSIND PACHETUL DE PROGRAME
MATLAB


1. OBIECTIVELE LUCRRII
Studiul comportrii sistemelor liniare de ordinul I i ordinul II la
intrri uzuale (treapt, ramp, sinusoid, aleatoare).

2. BREVIAR TEORETIC
Funcia de transfer a sistemului de ordinul I simulat este:
H(s)=
1
k
Ts +
, (2.1)
iar funcia de transfer a sistemului de ordinul II :
H(s)=
( )
2
2 2
1
2
n
n n
kw s
s w s w

+
+ +
(2.2)
cu notaiile uzuale: k pentru factorul de amplificare, w
n
pentru
pulsaia natural, pentru factorul de amortizare . Cazul =0 este
deplin reprezentativ, dar i cazurile cu gradul n s al numrtorului
egal cu unitatea sunt de luat n considerare.

Pentru a realiza o simulare ct mai sugestiv a unui sistem este
necesar a fi precizate cteva elemente cum sunt:
- Orizontul de timp pe care se realizeaz simularea;
- Numrul de puncte n care se cere a fi evaluat rspunsul
sistemului;
- Intervalul de timp ntre dou momente succesive, care coincide
uzual cu un interval de eantionare.
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

18


Toate aceste elemente depind de particularitile sistemului (tip,
constantele sistemului) precum i de tipul semnalului aplicat la intrarea
sistemului.

Sistem de ordinul I
O alegere posibil a constantelor este k=2, T=5 s .

Secvena MATLAB

num=2; % introducerea numrtorului
den=[5 1]; % i a numitorului funciei H(s)
step(num,den); % simularea i reprezentarea grafic a
rspunsului

corespunde cazului n care programul MATLAB alege automat, dup
reguli proprii, elementele de timp. Pentru a putea aduce la vedere
aceste elemente ultima instruciune se execut sub forma:

[y,x,t]=step(num,den); % alegerea elementelor temporale i
simularea.

In continuare

plot(t,y); % reprezentarea grafic a rspunsului
length(t); % afiarea lungimii vectorului t
t(2)-t(1); % afiarea intervalului dintre dou evaluri
t(length(t)); % afiarea orizontului de timp


Forma obinuit a vectorului momentelor t este t=0:p:t
max
, cu p
distana dintre dou puncte succesive i cu t
max
orizontul de timp pe
care se face simularea .

Se deduce uor c numrul de elemente ale vectorului t aste de (t
max

/p)+1. Timpul pe care se observ simularea pentru un sistem de
ordinul I se ia de obicei de apx. patru ori coeficientul T din expresia
funciei de transfer, pentru a cuprinde i o zon din regimul aproape
staionar.

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

19


Iat o secven MATLAB cu alegerea interactiv a vectorului
temporal:
t=0:0.5:25; % iniializarea vectorului t
y=step(num,den,t); % calcule de simulare
plot(t,y); % reprezentarea grafic a rspunsului

Intrarea sistemului poate fi i de alte tipuri diferite de forma treapt. n
toate aceste cazuri se utilizeaz funcia MATLAB lsim.

Urmtoarea secven simuleaz sistemul i rspunsul lui la un semnal
ramp:

t=0:0.5:25; % initializarea vectorului t
u=t; % realizarea semnalului ramp
y=lsim(num,den,u,t); % calcule de simulare
plot(t,[y u']); % reprezentarea grafic a intrarii i a
rspunsului

Dac intrarea este sinusoidal, este necesar a se alege pasul de
eantionare mai mic de un sfert din perioada sinusoidei.

Secvena urmatoare de instruciuni simuleaz rspunsul sistemului de
ordinul I la intrarea sinusoidal.

a=1; % amplitudinea sinusoidei
per=3; % perioada semnalului sinusoidal
w=2*pi/per; % pulsaia (frecvena unghiular)
t=0:per/16:5*per; % iniializarea vectorului temporal

u=a*sin(w*t); % evaluarea eantioanelor intrrii
y=lsim(num,den,u,t); % calculul de simulare
plot(t,[y u']); % reprezentarea grafic a intrrii i a
rspunsului

Rspunsul tinde la o sinusoid dup ce depete regimul tranzitoriu.

Pentru o intrare aleatoare, secvena MATLAB corespunztoare este
prezentat n continuare:

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

20


dt=1; % intervalul de eantionare
tm=25; % orizontul de timp pe care se face simularea
t=0:dt:tm; % vectorul temporal
for i=1:length(t)
u(i)=-1+rand(1); % realizarea intrrii aleatoare
end;
y=lsim(num,den,u,t); % calculul de simualare
plot(t,[y u']); % reprezentarea grafic a intrrii i
rspunsului

Sistem de ordinul II
Se propune mai nti scrierea funciilor MATLAB pentru sistemele de
ordinul II urmtoare:

function zvar(k,wn,nrz)
% zvar(k,wn,nrz)
% Calculeaz rspunsul la intrarea treapt unitar al unei familii
% de sisteme de ordinul II cu amplificarea k si pulsaia natural wn,
% la un factor de amortizare variabil ntre 0 i 1, nrz>1 este numrul
% de valori pentru factorul zeta sau numrul graficelor-rspuns
obinute
% Exemplu de apelare a funciei: zvar(1,1,10)
num=k*wn^2;
den=[1 0 wn^2]; % valoarea din den(2) se completeaz mai
tarziu
tmax=20/wn; % se stabilete durata simulrii
t=0:0.1:tmax;
z=zeros(length(t),nrz); %matricea pentru rspuns
if nrz>1
dz=1/(nrz-1); % increment pentru zeta
zeta=-dz; % se iniializeaz zeta
for i=1:nrz
zeta=zeta+dz;
x(i)=zeta;
den(2)=2*zeta*wn;
z(:,i)=step(num,den,t);
end
mesh(t,x,z')
xlabel('Timp')
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

21


ylabel('Factor de amortizare','Position',[-1,0.3,0])
zlabel('Iesire')
title('Raspunsul la intrare treapta unitara pentru factor de
amortizare variabil')
end

function zfix(k,wn,zeta)
% zfix(k,wn,zeta)
% Calculeaz rspunsul la intrare treapta unitar al unui sistem
% de ordinul II cu amplificarea k, pulsaia natural wn, i factorul
% de amortizare zeta cu reprezentare grafic
% Exemplu de apelare a funciei: zfix(1,1,0.2)
num=k*wn^2; % coeficieni numrtor
den=[1 2*zeta*wn wn^2]; % coeficieni numitor
tmax=20/wn; % se stabilete durata simulrii
t=0:0.1:tmax; % vectorul timp al eantionrilor
z=step(num,den,t); % matricea pentru rspuns
plot(t,z)
xlabel('Timp')
ylabel('Iesire')
sir=num2str(zeta);
sir=strcat('Raspunsul la intrare treapta unitara pentru factorul de
amortizare zeta =',sir);
title('Sir')
hold on
y=[1 1];
x(1)=t(1);
x(2)=tmax;
grid
plot(x,y)
hold off

function isin(k,wn,zeta)
% isin(k,wn,zeta)
% Calculeaz rspunsul la intrri sinusoidale al sistemului de ordin
II
% cu amplitudinea k, pulsaia natural wn, i factorul de amortizare
zeta
% cu reprezentarea grafic i corelarea cu diagrama Bode
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

22


% Exemplu de apelare a funciei: isin(1,1,0.4)
wi=[0.5 1.0 1.5]; % factori de modificare a frecvenei la intrare
dt=0.1/wn;
tmax=500*dt;
t= 0:dt:tmax;
num=k*wn^2;
den=[1 2*zeta*wn^2];
clf
for i=1:3
u=sin(wi(i)*wn*t);
y(:,i)=lsim(num,den,u,t);
end
figure(1)
for i=1:3
subplot(3,1,i)
plot(t,y(:,i))
axis([0,tmax,-5,5])
grid on
if i==3
xlabel('Timp')
end
sir=num2str(wi(i));
sir=strcat('Iesire la w=',sir,'*wn');
ylabel(sir)
end
figure(2)
w=logspace(log10(wn)-1,log10(wn)+1);
m=bode(num,den,w);
clf
loglog(w,m)
grid on
xlabel('Pulsatia w')
ylabel('Amplificare')
title('Diagrama Bode')
set(gcf,'Position',[140 100 560 420])

Reprezentrile grafice obinute ca urmare a rulrii secvenelor de
program exemplificate mai sus sunt prezentate n figura 2.1 i n figura
2.2.
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

23


3. MODUL DE LUCRU

Se activeaz platforma MATLAB i se introduc succesiv
secvenele de program menionate mai devreme.

Cerine pentru sistemele de ordinul I

Pentru cazul aplicrii semnalului de tip treapt se modific
lungimea vectorului t de la 20 la cca. 100 puncte, se modific
orizontul de timp meninnd numrul de puncte la 101 puncte; se
ncearc evaluarea coeficienilor k i T pe grafic; se modific cele
dou valori i se observ stabilitatea sistemului.
n fiecare caz se examineaz aspectele legate de reprezentarea
grafic.
Pentru intrarea treapt se ncearc identificarea prin metoda
indicial, se fac aprecieri asupra preciziei.
Pentru intrarea sinusoidal se studiaz regimul tranzitoriu i
tendina spre regimul staionar.
Se recomand studiul atent al funciei de generare a numerelor
aleatoare rand i al comportrii sistemului n cazul utilizrii unei
intrri aleatoare.

Cerine pentru sistemele de ordinul II

Prin apelarea funciei zvar se obine o reprezentare n trei
dimensiuni pe care se poate observa influena factorului de
amortizare asupra formei rspunsului la un salt treapt unitar, al unui
sistem de ordinul II cu poli complex conjugai. Valorile factorului de
amortizare sunt n acest caz subunitare i pozitive;
Prin apelarea repetat a funciei zfix, se obin grafice ale
rspunsului unui sistem de ordinul II pentru valori fixe ale factorului
de amortizare chiar supraunitare sau negative;
n fiecare caz se examineaz aspectele legate de reprezentarea
grafic, aspectele privitoare la stabilitatea sistemului;
Pe graficele pentru valori fixate ale factorului de amortizare se
ncearc identificarea prin metoda indicial, se fac aprecieri asupra
preciziei evalurilor;

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

24


Apelarea funciei isin permite observarea comportrii unui
sistem de ordinul II dac la intrare se aplic o sinusoid de
amplitudine maxim unitar. Se pot face comparaii cu diagrama
Bode;
Se recomand realizarea unui grafic cu toate rspunsurile pe
aceeai diagram pentru facilitarea comparrii amplitudinilor la
ieire n zona staionar (regimul permanent);
Se fac comparaii cu diagrama Bode;
n vederea altor aplicaii, se vor studia funciile din biblioteca
MATLAB utilizate n secvenele de program din lucrare (grid,
logspace, clf, loglog, plot etc. ).

Fig.2.1. Reprezentri grafice pentru sistemele de ordinul I



















Fig.2.2. Reprezentri grafice pentru sistemele de ordinul II



Fi

0 5 10 15 20 25 30
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
graficul raspunsului
0 5 10 15 20 25
0
5
10
15
20
25
30
35
40
45
graficul intrarii si raspunsului la semnal rampa
0 5 10 15
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
graficul la intrare sinusoidala si raspunsul acesteia
0 5 10 15 20 25
-1.5
-1
-0.5
0
graficul unei intrari aleatoare si a raspunsului
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

25


Fig.2.2. Reprezentri grafice pentru sistemele de ordinul II






































0 2 4 6 8 10 12 14 16 18 20
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
timp
i
e
s
i
r
e
raspunsul la intrare treapta unitara pentru factorul de amortizare zeta=0.2
0 5 10 15 20 25 30 35 40 45 50
-5
0
5
raspuns la intrari sinusoidale
ies
ire
la
w=
0.5
*w
n
0 5 10 15 20 25 30 35 40 45 50
-5
0
5
ies
ire
la
w=
1*
wn
0 5 10 15 20 25 30 35 40 45 50
-5
0
5
timp
ies
ire
la
w=
1.5
*w
n
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

26






















10
-1
10
0
10
1
10
-2
10
-1
10
0
10
1
pulsatia w
Diagrama Bode




LUCRAREA 3

ALGORITMI DE TIPUL FFT
(FAST FOURI ER TRANSFORM).
CALCULUL FUNCIILOR DE CONVOLUIE I
COVARIAN FOLOSIND FFT



1. OBIECTIVELE LUCRRII
Studiul transformatei Fourier folosind algoritmul FFT implementat
cu pachetul de programe MATLAB. Calculul functiilor de
convolutie si covarianta folosind FFT.

2. BREVIAR TEORETIC
2.1. Algoritmul FFT
Este esenial, pentru nceput, s fie subliniat faptul c algoritmul FFT
pentru calculul transformatei Fourier discrete a unei secvene este
punctul nodal al procesrii semnalelor digitale. El este aplicat n
filtrare, convoluie, calculul rspunsului la frecven, ca i n aplicaii
referitoare la estimarea spectrului de putere.

fft(x) este transformata Fourier discret a vectorului x, calculat cu o
transformat Fourier rapid. Dac X este o matrice, fft(X) este
transfornmata Fourier rapid a fiecrei coloane a lui X.

fft(x,n) este transformata Fourier rapid n n puncte. Dac lungimea lui
x este mai mic dect n, x este completat cu zerouri pn la lungimea
lui n. Dac lungimea lui x este mai mare dect n, secvena x este
trunchiat. Cnd X este matrice, lungimea coloanelor este ajustat n
acelai fel.
ifft(x) este transformata Fourier invers a vectorului x.
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

28

Cele dou funcii care urmeaz implementeaz perechea transformata
Fourier transformata Fourier invers dat:

X(k+1)=
( )
1
0
1
N
kn
N
n
x n W

=
+


X(n+1)=
( )
1
0
1
1
N
kn
N
k
X k W
N

=
+

, (3.1)
unde
N
W e =
-j(2t/n)
i N=lungime(x)

Exemplu

FFT a unui vector coloan x, de forma

x=[4 3 7 9 1 0 0 0|

se gsete cu

y=fft(x)

i d drept rezultat

y=6.0000
11.4853 -2.7574i
-2.0000 -12.0000i


( )
( )
,
,
fft b h
h
fft a n
= (3.2)

2.2. Funcii de convoluie i de corelaie
Exist o colecie de funcii disponibile pentru convoluie, deconvoluie
i pentru calculul estimrilor funciilor de corelaie, i anume:
conv funcii de convoluie
deconv funcii de deconvoluie
xcorr funcii de transcorelare
xcov funcii de transcovarian
corrcoef coeficieni de corelaie
cov matrice de covarian
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

29

2.2.1. Convoluie i deconvoluie
Propoziia
c=conv(a,b)
face convoluia vectorilor a i b.

Suma de convoluie este

( ) ( ) ( )
1
0
1 1
N
k
c n a k b n k

=
+ = +

(3.3)
unde N este lungimea secvenei maxime.

Operaia
|q,r|=deconv(b,a)
face deconvoluia vectorului a din vectorul b. Rezultatul este ntors n
vectorul q i restul n vectorul r, astfel nct b=conv(q,a)+r

Dac a,b sunt vectori cu coeficieni polinomiali, convoluia este
echivalent cu multiplicarea celor dou polinoame, iar deconvoluia
este o mprire polinomial.

Fig. 3.1. Fereastra de prezentare n MATLAB a transformatei Fourier
discret
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

30

0 20 40 60 80 100
-40
-20
0
20
40
M
a
g
n
i
t
u
d
e

(
d
B
)
Frequency (Hertz)
0 0.2 0.4 0.6 0.8 1
-1
-0.5
0
0.5
1
W
a
v
e
f
o
r
m
Time (Seconds)
Click and drag waveform to change
fundamental frequency and amplitude

0 20 40 60 80 100
-40
-20
0
20
40
M
a
g
n
i
t
u
d
e

(
d
B
)
Frequency (Hertz)
0 0.2 0.4 0.6 0.8 1
-1
-0.5
0
0.5
1
W
a
v
e
f
o
r
m
Time (Seconds)
Click and drag waveform to change
fundamental frequency and amplitude

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

31
0 20 40 60 80 100
-40
-20
0
20
40
M
a
g
n
i
t
u
d
e

(
d
B
)
Frequency (Hertz)
0 0.2 0.4 0.6 0.8 1
-1
-0.5
0
0.5
1
W
a
v
e
f
o
r
m
Time (Seconds)
Click and drag waveform to change
fundamental frequency and amplitude


Fig.3.2. Fereastra de prezentare in MATLAB a transformatei Fourier
continue
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

32

-8 -6 -4 -2 0 2 4 6 8
0
1
2
M
a
g
n
i
t
u
d
e
Frequency (Hertz)
-1 -0.5 0 0.5 1
-1
0
1
W
a
v
e
f
o
r
m
Time (Seconds)
Click and drag waveforms to change frequency and amplitude

-8 -6 -4 -2 0 2 4 6 8
0
1
2
M
a
g
n
i
t
u
d
e
Frequency (Hertz)
-1 -0.5 0 0.5 1
-1
0
1
W
a
v
e
f
o
r
m
Time (Seconds)
Click and drag waveforms to change frequency and amplitude


3. MODUL DE LUCRU. PROBLEME PROPUSE

- Calculul FFT a vectorului coloan v = [9 8 12 4 6 5 5 5].
fprintf(Transformata Fourier a vectorului:)
v=[9 8 12 -4 6 5 5 5]
fprintf(este :)
tfv=fft(v)
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

33

- Calculul FFT a matricei A=[1 2 3, 4 5 6, 7 8 9],

fprintf(Transformata Fourier a matricei:)
a=[1 2 3 ; 4 5 6 ;7 8 9]
fprintf(este :)
tfa=fft(a)

- Calculul FFT invers a matricei B=[6 7 8 9, 4 5 6 8, 1 1 2 3, 4 7 6 7].

fprintf(Transformata Fourier inversa a matricei:)
b=[6 7 8 9 ;4 5 6 8 ;1 1 2 3 ;4 7 6 7]
fprintf(este :)
itfb=ifft(b)

- Cu setul de date obinut dintr-un cosinus eantionat cu 10 pai pe
perioad: y=cos(2k/10), interpolai datele cu un pas dublu i verificai
valorile obinute.
Se interpoleaz datele cu o singur variabil utiliznd metoda FFT
(Fast Fourier Transform) cu ajutorul funciei interpft.

- Considernd funciile x=5+6t, y=6t i z=5sin(t), se cere calculul
coeficienilor de corelaie Rxy i Rxz, pentru domeniul t [0,5].
.
t=0:1:5;
x=5+6*t;
y=6*t;
z=5*sin(t);
plot(t,x,t,y,t,z);
rxy=corrcoeff(x,y)
rxz=corrcoeff(x,z)

- Cu funciile de la punctul precedent, dar cu t de forma
t=3w
2
+3cos(2t w/3),
calculai coeficienii de corelaie Rxy i Rxz, pentru w [0,25].

- Ce concluzii tragei n urma efecturii punctelor de mai sus unde ai
folosit funcia corrcoef ?
Ce dependen exist ntre x i y, dar ntre x i z? Justificai rspunsul.
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

34

- Pentru matricile de la punctele de mai sus, s se afle matricea de
covarian.
Indicaie : se va folosi funcia cov.

- Considernd A = [5 6 2 1] i B = [4 3 2 1] doi vectori care conin
coeficienii a dou polinoame s se fac convoluia i deconvoluia
acestora.
Indicaie : se va folosi funciile conv i deconv.

- Folosind funciile de transcorelare i de transcovarian, (xcorr i
respectiv xcov), cu un set de date ales arbitrar, s se interpreteze
rezultatele obinute.





LUCRAREA 4


INDICATORI STATISTICI AI
MSURRILOR. FUNCII MATLAB PENTRU
CALCULE STATISTICE



1. OBIECTIVELE LUCRRII

Studiul funciilor MATLAB pentru calcule statistice. Aplicaii.

2. BREVIAR TEORETIC

Funciile uzuale MATLAB folosite pentru calcule statistice sunt
urmtoarele:

1) cumsum(x,dim) calculeaz suma cumulat a elementelor
vectorului x de dimensiune dim.
Pentru o matrice rezultatul este tot o matrice cu dimensiunile lui x i
conine suma cumulat pentru fiecare coloan.

Exemplu

Pentru X=[1 2 3; 1 2 3],

cumsum(X,1);

are ca rezultat matricea [1 2 3;2 4 6]

iar cumsum(X,2);

are ca rezultat vectorul [1 3 6;1 3 6];
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

36

2) cumprod(x,dim) calculeaz produsul cumulat al elementelor
vectorului x. Pentru x matrice rezultatul este tot o matrice cu
dimensiunile lui x i conine produsul cumulat al fiecrei coloane.

Exemplu

cumprod(x,1)

are ca rezultat matricea [1 2 3; 1 4 9]

cumprod(x,2)

are ca rezultat matricea [1 2 6; 1 2 6].

3) corrcoef(x) calculeaz o matrice pentru coeficieni de corelaie
pentru un vector x, n care fiecare linie a matricei este o observaie, iar
fiecare linie este o variabil.

corrcoef(x,y,) , unde x i y sunt vectori coloan este acelai lucru cu a
scrie corrcoef([x,y]).

Coeficienii de corelaie ai datelor se folosesc pentru a stabili dac
ntre dou seturi de date nregistrate n 2 vectori diferii exist o
dependen liniar.

Exemplu
x=[1 2 3; 2 7 5; 3 5 8]
a=[1 2 3;4 5 6; 7 8 9];
r=corrcoef(x)

are ca rezultat
r=
1.0000 0.5960 0.9934
0.5960 1.0000 0.5000
0.9934 0.5000 1.0000
iar
r=corrcoef(a,x)

are ca rezultat
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

37
r=
1.0000 0.7614
0.7614 1.0000

4) cov(x) dac x este un vector funcia ntoarce variana acestuia.
Dac x este o matrice cu liniile observaii i coloanele variabile aceasta
funcie va returna o matrice de covarian

Exemplu
cov(x) pentru matricea de mai sus va returna

1.0000 1.5000 2.5000
1.5000 6.3333 3.1667
2.5000 3.1667 6.3333

5) diff(x) diferena dintre numerele succesive.
Pentru un vector cu elementele x
1
x
n
diferena este tot un vector
calculat astfel [x
2
x
1
x
n
x
n-1
], iar pentru o matrice se face
diferena dintre liniile succesive.

Exemplu
a= [2 4 3 5 1 7];
diff(a) = [2 -1 2 -4 6]
x=[1 2 3; 2 7 5; 3 5 8];
diff(x) = [1 5 2;1 -2 3]

6)n=hist(y) mparte elementele lui y n 10 intervale egale i
returneaz numrul de elemente din fiecare interval. Dac y este o
matrice hist va lucra n josul coloanelor.

Hist() fr argumente produce o histogram, conform exemplelor
prezemtate in figura 4.1 i figura 4.2.

Exemplul 1

Secvena de program
a= [2 4 3 5 1 7]
hist(a)

produce reprezentarea grafic din figura 4.1.
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

38


Fig.4.1. Histograma corespunztoare exemplului 1

Exemplul2

Secvena de program
x=[1 2 3; 2 7 5; 3 5 8];
hist(x).
produce histograma din figura 4.2.

Fig.4.2. Histograma corespunztoare exemplului 2


IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

39

7) max(x), min(x) returneaz valoare maxim, respectiv minim a
componentelor vectorului x.
Dac x este matrice returneaz ntr-un vector maximul/minimul de pe
fiecare coloan.

Exemplu
a= [2 4 3 5 1 7] ;
min(a)= 1
x=[1 2 3; 2 7 5; 3 5 8];
max(x)=[3 7 8]

8) mean(x) returneaz valoarea medie a unui set de date dintr-un
vector x. Dac datele sunt elementele unei matrice, valoarea medie
este coninut de un vector care are elementele valorile medii ale
fiecrei coloane.

Exemplu
a= [2 4 3 5 1 7] ;
x=[1 2 3; 2 7 5; 3 5 8];
mean(a)=3,667
mean(x)=[ 2.0000 4.6667 5.3333]

9) prod(x) calculeaz produsul elementelor unui vector, iar pentru o
matrice rezultatul este un vector care are ca elementele produsul de pe
fiecare coloan a matricei.

Exemplu
a= [2 4 3 5 1 7];
x=[1 2 3; 2 7 5; 3 5 8];
prod(a)=840
prod(x)=[6 70 120]

10)sort(x) sorteaz elementele unui vector sau matrice n ordine
cresctoare (la matrice sortarea se face pe fiecare coloan)

Exemplu
a= [2 4 3 5 1 7] ;
x=[1 2 3; 2 7 5; 3 5 8];

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

40

sort(a)=[ 1 2 3 4 5 7]
sort(x)=[ 1 2 3; 2 5 5; 3 7 8]

11) std(x) calculeaz abaterea standard.

Exemplu
a= [2 4 3 5 1 7] ;
x=[1 2 3; 2 7 5; 3 5 8];
std(a)= 2.1602
std(x)=[ 1.0000 2.5166 2.5166]

12) sum(x) calculeaz suma elementelor unui vector, iar pentru o
matrice se obine un vector cu elemente ce au valoarea egal cu suma
de pe fiecare coloan.

Exemplu
a= [2 4 3 5 1 7] ;
x=[1 2 3; 2 7 5; 3 5 8];
sum(a)=22
sum(x)=[6 14 16]

13) trapz(x) calculeaz integrala folosind metoda trapezelor lund n
considerare i spaiile.

Exemplu
a= [2 4 3 5 1 7] ;
x=[1 2 3; 2 7 5; 3 5 8];
trapz(a)= 17,5
trapz(x)=[4 10,5 10,5]

14) table1(tab,x0) returneaz un tabel cu interpolarele liniare ale
liniilor din tabelul tab.

Exemplu
a= [2 4 3 ; 5 1 7] ;
r=table1(a,3)= [3 4,333]

15) y=interpft(x,n) returneaz vectorul y cu lungimea n obinut prin
interpolarea lui x prin metoda transformatei Fourier.
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

41

Dac x este o matrice interpolarea se face pe fiecare coloan.

Exemplu
a= [2 4 3 ; 5 1 7] ;
y=interpft(a,2)= [2 4 3
5 1 7]

16) polyfit(x,y,n) aproximeaz un set de date cu un polinom P(x) de
gradul n.

Exemplu
a=[2 4 3;5 1 7];
b=[1 4 2; 1 5 7];
polyfit(a,b,3)
ans =[-0.0109 0.5471 -3.3582 7.192]

17) griddata(x,y,z,xi,yi) interpoleaz prin metoda distanei inverse
valoarea unei funcii de dou variabile x, y.

3. MODUL DE LUCRU
3.1. Probleme rezolvate

1. Fie doi vectori x=[-2 -1 0 2 4 ]; y=[-15 -3 2 3 10]; S se aplice o
procedura de regresie liniar celor doi vectori i s se reprezinte grafic
rezultatul obinut.

Rezolvare

x=[-2 -1 0 2 4 ];
y=[-15 -3 2 3 10];
coef=polyfit(x,y,1);
xn=-2:1:4;
y1=polyval(coef,xn)
plot(xn,y1,'r');
coef = 3.4828 -2.6897
y1 =-9.6552 -6.1724 -2.6897 0.7931 4.2759 7.7586
11.2414

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

42

Reprezentarea grafic a dreptei obinute n urma aplicrii procedurii de
regresie liniar este cea din figura 4.3.


Fig.4.3. Regresie liniar

2. Pentru un servomotor cu poziioner s-au obinut datele
experimentale din tabelul urmtor:

P[bar] 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
H[mm] 0 5 12 16 21 27 32 32 32
S se traseze caracteristica static a servomotorului cu poziioner .

Rezolvare

p=[0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1];
h1=[0 5 12 16 21 27 32 32 32];
table1(p,0.2);
plot(p,h1);
grid on;
ylabel('H[mm]');
xlabel('presiunea [bar]');
title('CARACTERISTICA STATICA A SERVOMOTORULUI
CU POZITIONER');

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

43




Fig.4.4. Caracteristica static a servomotorului cu poziioner

3.2. Probleme propuse

1. S se determine minimul i maximul vectorului V i matricei M,
unde :

V=[1 3 -9 0]
M=[1 2 3; -4 0 9; 13 7 -10]

2 S se sorteze matricele A i B de forma:

A=[1 -2 3; 5 -9 0 ; -10 3 0]
B=[7 2 -5 4 -1; 5 8 1 -6 -4; 2 0 -3 6 9]

3. S se realizeze prin interpolare graficul unei funcii tiind c acesta
conine punctele A(1,1), B(2,3), C(2.5,5), D(4,6), E(6,10).

4. Fie vectorii

x=[-2 -1 0 2 4 ]; y=[-15 -3 2 3 10].

S se aplice o procedur de regresie liniar celor doi vectori.
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

44

5. Fie matricea A, de forma

A=[1 3 2 5; 3 5 7 6; 2 8 5 9; 4 2 1 1].

S se calculeze:
- suma cumulat;
- produsul cumulat;
- produsul i suma elementelor;
- s se sorteze mai nti dup linii i apoi dup coloane.
S se reprezinte grafic histograma corespunztoare.




LUCRAREA 5
FILTRAREA DATELOR EXPERIMENTALE
AFECTATE DE ZGOMOTE

1. OBIECTIVELE LUCRRII
Studiul posibilitilor de diminuare a zgomotelor care nsoesc datele
experimentale recoltate n scopul identificrii unui sistem.
2. BREVIAR TEORETIC
Datele experimentale sunt nsoite de cele mai multe ori de zgomote.
Figurile 5.1.si 5.2. ilustreaz rspunsul normalizat al unui sistem liniar
de ordinul I la intrare treapt unitar neafectat, respectiv afectat de
prezena zgomotului.







Fig. 5.1. Rspunsul normalizat al unui sistem de ordinul I la intrare
treapt unitar, neafectat de zgomote.

Fig. 5.2. Rspunsul normalizat al unui sistem de ordinul I la intrare
treapt unitar, afectat de zgomote.
R

s
p
u
n
s

i
n
d
i
c
i
a
l

R

s
p
u
n
s

i
n
d
i
c
i
a
l

Timp
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

46


Pentru identificarea sistemului prin metoda indicial este necesar
evaluarea derivatei ntr-un moment oarecare, n particular n origine, i
apoi intersectarea dreptei tangente la curb cu dreapta y=1. Diferena
absciselor punctului n care se evalueaz derivata i a celui de
intersecie a tangentei cu orizontala regimului staionar este exact
constanta de timp a sistemului. Evaluri ale derivatelor i a funciei
rspuns se cer i pentru alte sisteme de ordine variate. Dac evalurile
pot fi acceptate n cazul datelor puin (sau deloc) afectate de zgomot,
pentru situaiile cnd zgomotul devine important, evalurile pe calea
clasic, n esen o cale grafic, sunt imposibile.

O metod de a netezi curbele experimentale de genul celor prezentate
anterior este filtrarea printr-un filtru trece-jos. Este vizibil faptul c
fenomenul tranzitoriu este relativ lent, aadar este reprezentat de
frecvenele joase ale spectrului, n timp ce fluctuaiile datorate
zgomotului sunt fenomene considerabil mai rapide, legate prin urmare
de frecvene mai ridicate din spectru. Pentru semnale analogice se pot
utiliza filtre trece-jos analogice. Un simplu divizor RC cu ieirea pe
capacitate, de exemplu, este un filtru trece-jos, fr caliti deosebite,
dar este un filtru care atenueaz cu precdere frecvenele nalte.

Datele recoltate uzual sunt date numerice de tip eantioane prelevate
cu o anumit regularitate ale unor funcii definite pe intervale de timp
dense pe axa real a timpului. Exist o varietate de filtre numerice de
tipul trece-jos care pot fi utilizate pentru diminuarea zgomotului.

Filtrele numerice cele mai simple sunt filtrele de mediere. Ieirea unui
astfel de filtru se prezint ca media aritmetic a unui numr de
eantioane succesive

1
1
( ) ( 1)
n
i
y t x t i
n
=
= +

(5.1)

Graficele care urmeaz ilustreaz efectul filtrrii prin medierea a trei
sau a cinci valori consecutive.



IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

47






























Fig.5. 3. Efectul filtrrii prin medierea valorilor
consecutive

Se observ evoluia calitativ a datelor pe msur ce numrul de
eantioane mediate crete: trei pentru figura (3), cinci pentru figura (4).
Datele brute, nefiltrate sunt reprezentate n figura (2). Se reia pentru
ilustrare i graficul (1) cu rspunsul neafectat de zgomot.

Graficele au fost generate cu secvena MATLAB urmtoare:



(
1
)

(
2
)

(
3
)

(
4
)

Timp
Timp
Timp
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

48


% Programul realizeaz filtrarea unui semnal afectat de zgomot
%Sintaxa de apelare este Filtrare(k,a,m)
%k-coeficientul din functia de transfer
%a-timpul de intarziere al sistemului
%m-numarul de date luate in fiecare medie facuta

Function Filtrare(k,a,m)
sis=tf(k,[a,1];
[y,t]=step(sis);
hold on;
z=rand(size(y));
y1=y+(z-5)*.05;
pause;
plot(t,y1);
for j=1:109-m;
s=0;
forI=j:j+m;
s=s+y1(I);
end
y2(j)=1/(m+1)*s;
end
hold off;
pause;
plot(t,y2,g);
pause;

Filtrarea prin mediere nu este singura modalitate de a obine din date
afectate de zgomot, date mai puin marcate de fluctuaiile satistice. Un
efect de filtrare trece-jos are i interpolarea rspunsului din
eantioanele sale prin mijlocirea funciei sinc

sinc(x)=

=
0
) sin(
0 1
x
x
x
x

(5.2)
combinat cu o fereastr finit.




IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

49


Se cunoate faptul c un semnal de band limitat se poate
reconstitui pe baza relaiei:



(5.3)


dac frecvena eantioanelor este cel puin egal cu dublul frecvenei
celei mai mari din spectrul de frecvene al semnalului. Relaia de mai
sus, cunoscut i sub numele de teorema eantionrii, care conine
amintita funcie sinc, este nepractic din cauza sumei infinite pe care o
conine. Se recurge, de aceea, la un numr finit de eantioane ceea ce
se poate interpreta ca privirea eantioanelor printr-o fereastr
rectangular, descris de relaia

1, (5.4)

0, n rest

i care este de lrgime finit , definit n jurul originii dar centrat
succesiv pe momente de timp variate, momente n care se urmrete a
fi (re)evaluat semnalul s(t) din eantioanele sale. Relaia de interpolare
se modific dup cum urmeaz

(5.5)



i cu toate c valorile extreme ale indicelui dup care se face
nsumarea au fost meninute aceleai, infinite, nsumarea se face de
fapt pe un numr finit de eantioane, cele cuprinse n fereastr.
Formula de interpolare cu fereastr dat mai sus se utilizeaz i pentru
semnale de band nelimitate (semnalul observat la ieirea unui sistem
cnd la intrarea lui se aplic o variaie treapt este de aceast natur)
cu pierderi de componente din partea superioar a spectrului. De aici
utilul i ateptatul efect de filtrare/diminuare a zgomotelor nsoitoare
ale unui semnal.

|
.
|

\
|

|
.
|

\
|

|
.
|

\
|
=

+
=
W
n
t W
W
n
t W
W
n
s t s
n
2
2
2
2 sin
2
) (

=
|
.
|

\
|

2
,
2

t
) (t w
|
.
|

\
|

|
.
|

\
|

|
.
|

\
|

|
.
|

\
|
=

+
=
W
n
t W
W
n
t W
W
n
t w
W
n
s t s
n
2
2
2
2 sin
2 2
) (

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR



50

Utilizarea ferestrei rectangulare este n toate privinele
echivalent cu filtrarea prin mediere dac eantioanele sunt ponderate
astfel ca suma ponderilor s fie egal cu unitatea. Stabilirea acestor
ponderi se face simplu prin normalizarea eantioanelor unui semnal
cuprinse n fereastr.

Fereastra rectangular nu este singurul tip de fereastr utilizat n
calcule de filtrare. Exist posibilitatea de a alege ntre mai multe tipuri
de ferestre i de a selecta o deschidere anume pentru fereastra reinut
pentru calcule. Sunt date imediat cteva ferestre dintre cele mai
utilizate.
Fereastra Bartlett

1
( , )
0
x
Bartlett x

= (5.6)
Fereastra Blackmann

0.42 0.50 cos 0.08 cos 2
( , )
0
x x
Blackmann x

| | | |

| |
\ . \ .

+ +
=
(5.7)
Fereastra Gauss


2
2
( , , )
0
x
Gauss x


| |
|
|
\ .

= (5.8)
Ferestrele Hann i Hamming, foarte asemntoare, diferite numai
prin parametrul (=0.5, respectiv =0.54)


(1 )cos
( , , )
0
x
H x

| |

|
\ .

+
= (5.9)

Fereastra Kaiser cu parametrul ajustabil care controleaz ct de
rapid se apropie de zero laturile ferestrei


pentru
n rest
x <

n rest
x <

x <

n rest
x <

n rest
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

51


2
0
0
( 1 ( / ) )
( , , )
( )
0
I x
Kaiser x
I


= (5.10)
cu I
0
(x) funcia Bessel modificat de ordinul zero.

Fereastra Lanczos, lobul central al funciei sinc extins la un interval
dat
sin
( , , )
0
x
Kaiser x x

| |

|
\ .

= x < (5.11)

Fereastra Parzen, o aproximare cubic pe poriuni a ferestrei Gauss de
ntindere doi.


3
2 3
2 3
3
(2 )
4 6 3
( , , ) 4 6 3
(2 )
0
x
x x
Parzen x x x
x

+

= +

(5.12)

Fereastra Welch, descris de relaia (5.13)


2
1
( , , )
0
x
Welch x

| |

\ .

= (5.13)

In figura 5.4. este reprezentat grafic un semnal sinusoidal, iar n
figurile 5.5. i 5.6, acelai semnal sinusoidal filtrat utiliznd, respectiv,
ferestrele Bartlett i Kaiser.
Graficele au fost generate cu urmtoarea secven de program :






x <

n rest
n rest
1 0 x
0 1 x
1 2 x

n rest
pentru
x <

n rest
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

52

f unct i on gr af i ce( t au, al f a)
t =1;
f or x=- t au- 1: . 1: t au+1;
y( t ) =si n( si n( 10*x) / 7+cos( 9. 5*x/ 2) / 10) / 2;
t =t +1;
end
x=- t au- 1: . 1: t au+1;
f i gur e
qq=pol yf i t ( x, y, 3) ;
pp=pol yval ( x, qq) ;
xx=- t au- 1: . 001: t au+1;
nnv=spl i ne( x, y, xx) ;
pl ot ( xx, nnv) ;
t i t l e( ' Semnal si nusoi dal
si n( si n( 10*x) / 7+cos( 9. 5*x/ 2) / 10) / 2' ) ;
hol d on;
gr i d;
t =1;
f i gur e;
f or x=- t au- 1: . 1: t au+1;
i f ( ( x>=- t au) &( x<=t au) )
bar t l et t ( t ) =1- abs( x) / t au;
el se
bar t l et t ( t ) =0;
end
t =t +1;
end
x=- t au- 1: . 1: t au+1;
qq=pol yf i t ( x, bar t l et t , 3) ;
pp=pol yval ( x, qq) ;
xx=- t au- 1: . 001: t au+1;
nnv=spl i ne( x, bar t l et t , xx) ;
pl ot ( xx, nnv, ' r ' ) ;
%t i t l e( ' Fer east r a Bar t l et t ' ) ;
hol d on;
t =1;
yt 1=y+bar t l et t ;
qq=pol yf i t ( x, yt 1, 3) ;
pp=pol yval ( x, qq) ;
xx=- t au- 1: . 001: t au+1;
nnv=spl i ne( x, yt 1, xx) ;
pl ot ( xx, nnv) ;
t i t l e( ' Fi l t r ar ea cu aj ut or ul f er est r ei Bar t l et t ' )
gr i d;
t =1;
f i gur e;

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

53


f or x=- t au- 1: . 1: t au+1;
i f ( ( x>=- t au) &( x<=t au) )
kai ser ( t ) =bessel i ( 0, x) *( al f a*( 1-
( x/ t au) ^2) ^( 1/ 2) / bessel i ( 0, al f a) ) ;
el se
kai ser ( t ) =0;
end
t =t +1;
end
x=- t au- 1: . 1: t au+1;
qq=pol yf i t ( x, kai ser , 3) ;
pp=pol yval ( x, qq) ;
xx=- t au- 1: . 001: t au+1;
nnv=spl i ne( x, kai ser , xx) ;
pl ot ( xx, nnv, ' r ' ) ;
hol d on;
%t i t l e( ' Fer east r a Kai ser ' ) ;
t =1;
%f i gur e
yt 2=y+kai ser ;
qq=pol yf i t ( x, yt 2, 3) ;
pp=pol yval ( x, qq) ;
xx=- t au- 1: . 001: t au+1;
nnv=spl i ne( x, yt 2, xx) ;
pl ot ( xx, nnv) ;
t i t l e( ' Fi l t r ar ea cu aj ut or ul f er est r ei Kai ser ' )
gr i d;


Fig.5.4. Semnal sinusoidal nefiltrat
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

54



Fig.5.5. Semnal sinusoidal filtrat cu fereastra Bartlett



Fig.5.6. Semnal sinusoidal filtrat cu fereastra Kaiser

n identificarea prin metoda indicial se utilizeaz derivarea curbei
rspunsului la intrarea treapt. Pentru evaluarea derivatei exist
posibilitatea utilizrii funciei cosc, de forma
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

55




2
cos( ) sin( )
cos ( )
0
x x
c x x x

= (5.14)

care este derivata funciei sinc menionat mai devreme. Derivarea
termen cu termen a sumei din teorema eantionrii produce o sum de
funcii cosc cu coeficieni proporionali cu eantioanele semnalului.
Prin utilizarea unor ferestre din cele prezentate mai sus se pot obine
estimri ale derivatei semnalului.

3. MODUL DE LUCRU

Se genereaz o secven de eantioane ale rspunsului indicial al
unui alt sistem liniar de ordinul I i se observ efectul zgomotului i
efectul filtrrii trece-jos prin mediere.

Se elaboreaz programe care definesc funcii capabile s filtreze un
semnal prin mijlocirea celorlalte ferestre din cele prezentate n
Breviar teoretic Blackmann, Gauss, Hann, Hamming, Parzen,
Lanczos. Se observ efectul filtrrii trece-jos realizate.

Se elaboreaz programul de implementare al unui algoritm de calcul
al derivatei cu funcia cosc i fereastr rectangular. Se observ
efectul de filtrare la evaluarea derivatei pe baza datelor-eantioane.

Se evalueaz derivata rspunsului cu funcia cosc i fereastra
rectangular n condiii variate de zgomot.
0 x
pentru

pentru

0 x =





LUCRAREA 6

ESTIMATORI M. ESTIMATORI DE
PARAMETRI ROBUTI





1. OBIECTIVELE LUCRRII
Studiul comportrii aa-numiilor estimatori M, estimatori de
parametri nrudii cu binecunoscutul estimator bazat pe metoda celor
mai mici ptrate, dar cu robustee mbuntit n prezena erorilor
grosiere prezente n date.

2. BREVIAR TEORETIC
O tehnic robust foarte popular n estimarea de parametri este
tehnica aa-numiilor estimatori M.

Fie r
i
rezidualul experimental i, adic diferena dintre observaia i i
valoarea dat de un model. Metoda standard a celor mai mici ptrate
ncearc s minimizeze suma ptratelor acestor reziduale
i
r
i
2
.
ncercarea poate fi instabil dac n date sunt prezente erorile grosiere
(outliers). Datele cu erori grosiere pot produce un efect att de
important n minimizarea sumei ptratelor nct parametri estimai s
fie grav distorsionai.

Estimatorii M pot reduce efectul erorilor grosiere prin nlocuirea
rezidualelor luate la ptrat din expresia clasic a celor mai mici ptrate
cu o alt funcie de reziduale,
i
( r
i
), cu o funcie simetric (par)
pozitiv definit, cu un minim unic n origine i cu o cretere mai lent
dect ptratul.
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

57

n locul rezolvrii directe a problemei se implementeaz o metod
iterativ a celor mai mici ptrate reponderate dup algoritmul prezentat
n continuare.

Fie p=[p
1
p
m
]
T
vectorul parametrilor modelului care trebuie
estimai din date experimentale. Produsul unui estimator M care
utilizeaz funcia este vectorul p soluie a ecuaiilor

i
(r
i
) r
i
/p
j
=0, pentru j=1,2,,m (6.1)

n care funcia (derivat) (x)=d(x)/dx este numit funcie de
influen.

Prin definirea funciei pondere
w(x)=
( )
x
x

(6.2)
ecuaia de mai sus devine

i
w(r
i
) r
i
* r
i
/p
j
=0 pentru j=1,2,,m
(6.3)

ceea ce este exact sistemul de ecuaii care se obine la rezolvarea
problemei iterative a celor mai mici ptrate reponderate

min
i
w(r
I
(k-1)
) r
i
2
(6.4)

cu indicele superior ataat iteraiei curente. Ponderile trebuie evaluate
dup fiecare iteraie pentru a fi utilizate n iteraia urmtoare.

Funcia de influen (x), dup cum i numele indic, este o msur a
influenei pe care o observaie o are asupra parametrilor estimai.
Pentru cele mai mici ptrate, de exemplu, (x)=x
2
/2 i funcia de de
influen este (x)x, adic influena unei singure observaii, nu
import care, asupra estimaiei parametrilor crete liniar cu mrimea
erorii, ceea ce reprezint un semn al lipsei de robustee a metodei.

Un estimator este robust dac influena unei singure observaii este
insuficient pentru a produce o deplasare semnificativ n estimaii. Un
estimator M robust trebuie s satisfac un numr de condiii:
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

58


S aib o funcie de influen mrginit;
S asigure unicitatea soluiei. Funcia obiectiv prin minimizarea
creia se obine vectorul de parametri p trebuie s fie unimodal (cu
un singur extrem) ceea ce matematic corespunde unei convexiti a
funciei n variabila p;
Ori de cte ori derivata a doua
2
(.)/p
2
este singular, funcia
obiectiv trebuie s aib un gradient nenul, (.)/p0, pentru a evita
cutarea prin ntreg spaiul parametrilor.

Cteva dintre funciile uzual utilizate n estimarea de parametri sunt
prezentate n Tabelul 6.1. , cu proprietile:

Estimatorul L
2
(al celor mai mici ptrate) nu este robust din
cauz c funcia de influen nu este mrginit.
Estimatorul L
1
(valoarea absolut) nu este stabil deoarece
funcia =|x| nu este strict convex i derivata a doua n origine
nu este mrginit. O soluie nedeterminat este oricnd posibil.
Estimatorul L
1
reduce influena erorilor mari dar acestea au nc
influen din cauz c funcia de influen nu are puncte de
tiere.
Estimatorul L
1
L
2
mprumut de la estimatorul L
1
capacitatea
de a reduce influena erorilor mari i de la estimatorul L
2
,
proprietatea de a fi convex.
Funciile din L
P
(ale celor mai mici puteri) alctuiesc o familie
de funcii. Cu =2 se regsete estimatorul L
2
, cu =1 cazul se
reduce la L
1
. Cu ct este mai redus cu att incinta erorilor mari
asupra estmaiilor p este mai lipsit de importan. Se pare c un
moderat asigur un estimator relativ robust, slab perturbat de
erorile grosiere. Investigaiile unor cercettori duc la valori ale
lui n apropiere de valoarea 1,2 sunt ns probleme de calcul:
rezidualele nule fac calculele dificile pentru 1<<2.
Estimatorul Fair are pretitundeni derivate pna la ordinul trei
inclusiv i produce soluii unice. Eficiena asimptotic de 95%
pe distribuii normale standard este atins pentru c=1.345.
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

59
Estimatorul bazat pe funcia Hubber, o parabol n apropiere
de origine si liniar dincolo de un prag k pentru valoarea
absolut a variabilei x, atinge eficiena asimptotic de 95%
pentru k=1,345.

Estimatorul este att de eficient nct este recomandat aproape
n toate situaiile. Totui, uneori apar dificulti probabil din
cauza lipsei de stabilitate n valoare a gradientului legat de
discontinuitatea derivatei a doua n punctele x=k

( )
> 0
1
=
2
2
k x pentru
k x pentru
dx
x d
(6.5)

Eficiena asimptotic de 95% pe distibuii normale standard
este atins pentru k=1,2107.
Funcia Cauchy cunoscut i sub numele de funcia lui
Lorentz nu garanteaz soluia unic n problema estimrii. Cu
derivata scztoare, funcia are tendina de a produce soluii
eronate ntr-o manier inobservabil. Constanta regulatoare c se
recomand a avea valoarea 2.3849.
Celelalte funcii au aceleai probleme ca i funcia Cauchy.
Graficele indic o descretere a influenei erorilor mari doar
liniar cu mrimea lor. Funcile German-McClure i Welsh sunt
o ncercare de a reduce si mai mult efectul erorilor grosiere,
funcia Tukey dublu ponderat eliminand chiar punctele strine
(outliers). Eficiena asimptotic a funciei Tukey dublu
ponderat, la 95% pe distribuia standard normal, se obine cu
constanta de acordare c=4.6851 iar pentru funcia Welsh cu
c=2.9846.

Pare a fi dificil a alege o funcie pentru uz generalizat fr a
introduce o doz de arbitrar. Urmnd ideea lui Rey, pentru
problemele de localizare i de regresie cea mai bun alegere este
funcia L
p
, care n pofida non-robusteei teoretice, practic se
dovedete cvasi-robust. Sunt ns dificulti de calcul. Urmtoarea
este funcia Fair care produce proceduri de calcul elegant
convergente. Urmeaz apoi funcia lui Hubber, n forma originar
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

60
sau n forma modificat. Toate aceste funcii nu elimin complet
influena erorilor grosiere importante.




Tabelul 6.1.
Tip (x) (x) w(x)
L
2

2
2
x

x 1
L
1





L
2
L
1

|x|

2(
2
+ 1
2
x
1)
Sgn(x)
2
+ 1
2
x
x

x
1

2
+ 1
1
2
x

L
p


Fair


c
2
[
c
x
log(
c
x
+ 1 )]
sgn(x) x
1
c
x
x
+ 1


x
2
c
x
+ 1
1

Hubber |x|
k
|x| > k




Cauchy


Geman-
McClure


Welch


2
2
2
2
k
x k
x
( )
sgn x k
x
2
+ 1 log
2
2 2
x c
2
+ 1
c
x
x
2
+ 1
1
c
x
2
2
+ 1
2
x
x
( )
2
2
+ 1 x
x
( )
2
2
+ 1
1
x
exp 1
2
2
2
c
x c
exp
2
c
x
x exp
2
c
x
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

61
Tukey






Ultimele patru funcii prezentate nu garanteaz unicitatea soluiei
problemei de estimare dar reduce considerabil sau chia elimin
complet influena erorilor grosiere de amploare. Cum propune
Hubber, n aceste cazuri se pote ncepe cu o funcie convex, se
aduce calculul la convergen i apoi se execut cteva iteraii cu
una din funciile non-convexe pentru a elimina efectele erorilor
foarte mari.

3. MODUL DE LUCRU

Dac nu este deja creat, se creeaz un director/folder de lucru.
Se transfer fiierele specifice lucrrii prezente, date luc.mat,
estimatorm.m, filuc4.m, de pe dischet sau din directorul
corespunztor din reea, n directorul de lucru.
Se activeaz platforma MATLAB i se introduc succesiv
secvenele de program menionate mai sus.
Se reprezint grafic funciile din tabelul cuprins n seciunea
Breviar teoretic i se observ variaia ponderilor, convexitatea
funciilor de influen i alte aspecte legate de eficiena i robusteea
estimatorilor M corespunztori. Un exemplu pentru funcia L
2
este
urmtorul:

function [rho,psi,w]=L2(x)
rho=x.^2/2;
psi=x;
w=ones(size(x));
subplot(1,3,1)
plot(x,rho)
axis([-3 3 0 4.5])
title('rho(x)')
6
1 1
6
2
3
2
2
c
c
x c
0
1
2
2
c
x
x
0
1
2
2
c
x
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

62
subplot(1,3,2)
plot(x,psi)
axis([-3 3 -3 3])
title('psi(x)')
subplot(1,3,3)
plot(x,w)
axis([-3 3 0 3])
title('w(x)')

Se iniializeaz un vector de valori ale variabilei t
t=-3:0.02:3;

Se apeleaz (repetat)
L2(t);

Se apeleaz help estimatorm pentru a observa condiiile n care
script-ul estimatorm se poate apela i care sunt funciile lui.
Dup selectarea unei funcii se apeleaz script-ul. Se observ
graficele generate i se apreciaz calitile estimatorului dup
criteriile menionate n Breviarul teoretic. Figura ultim din
cele trei (Stabilitate) ilustreaz diferenele modelelor obinute n
situaiile cnd: a) datele au erori normale; b) datele sunt afectate
de erori grave sistematice.
Se cere implementarea software i a celorlalte tipuri de funcii
din cele menionate n Breviarul teoretic, urmat de analiza i
observaiile care se impun.
Vor fi propuse i funcii la libera alegere a studenilor, tot n
condiiile menionate n Breviarul teoretic: convexitate,
mrginire a influenei erorilor mari, garantarea soluiei unice. Se
cere, de asemenea, formularea unor concluzii consecutive
analizei funciilor propuse.






LUCRAREA 7


INTERPOLAREA I APROXIMAREA
DATELOR




1. OBIECTIVELE LUCRRII
Studiul metodelor de aproximare a datelor prin regresie liniar i
polinomial;
Studiul metodelor de interpolare liniar prin metoda
transformatei Fourier.

2. BREVIAR TEORETIC
Se propune urmtoarea strategie de aproximare: mai nti, aproximarea
unui set de date printr-o linie dreapt (regresie liniar), apoi prin
aproximarea printr-un polinom (regresie polinomial).

Pentru ca aproximarea s fie considerat foarte bun, suma ptratelor
distanelor de la fiecare punct la curba aproximat (linie sau polinom)
trebuie s fie minim. Cu aceast condiie ndeplinit, este posibil ca
nici un punct al setului de date s nu se gseasc pe curba aproximant,
ceea ce reprezint diferena fa de interpolare, la care toate punctele
sunt situate pe curb.

2.1. Regresie liniar

Regresia liniar aproximeaz setul de date printr-o dependen liniar
care minimizeaz suma ptratelor dintre dreapta de aproximare i
punctele date.

IDENTIFICAREA SISTEMELOR INDRUMAR DE LABORATOR

64



Msura calitii unei aproximri liniare, dat de suma ptratelor
distanelor de la fiecare punct la estimaia liniar, este exprimat prin

sum p= sum ((y-y
1
).

2) (7.1)

Determinarea parametrilor m i n ai dreptei de aproximare y = mx+n
se face folosind funcia polyfit.

Exemplul 1.
S se aproximeze n sensul CMMP cu o regresie liniar setul de date:

x=[0,1,2,3,4,5]
y=[0,20,60,68,77,100].

Secvena MATLAB care realizeaz aceast aproximare este
prezentat n continuare.

x=[0,1,2,3,4,5];
y=[0,20,60,68,77,100];
coef=polyfit(x,y,1);
m=coef(1);
n=coef(2);
y1=m*x+n;
sump=sum((y-y
1
).

2);
axis([-1,6,-20,120]);
plot(x,y
1
,x,y,0);
grid on

Interpretai reprezentarea grafic obinut.

2.2. Regresie polinomial

Regresia polinomial realizeaz aproximarea setului de date printr-un
polinom de forma
p(x)=
0
N
N i
i
i
a x

=

=a
0
x
N
+ a
1
x
N - 1
+ ...+a
N-1
x+a
N

(7.2)
IDENTIFICAREA SISTEMELOR INDRUMAR DE LABORATOR

65



Coeficienii a
0
,a
1
,...a
N
ai polinomului de regresie sunt calculai cu
ajutorul metodei CMMP, ceea ce presupune minimizarea funciei
obiectiv

2 1
1 0
1
)] ... ( [ ) (
N
N
i
N
i
m
i
i ob
a x a x a y A f + + + =

=

(7.3)
Algoritmul regresiei polinomiale cuprinde urmtoarele etape:

1. Calculul sumelor n x
i
i y
i
;

. 1 ,..., 2 ,
;
; 1 2 ,... 2 ,
;
max
1
1
1
1
max
1
1
1
+ = =
=
+ = =
=

=
=
=

n j x y Sxy
y Sxy
n j x Sx
m Sx
j
i
m
i
i j
m
i
i
m
i
j
i j
(7.4)
2. Calculul polinomului de regresie de grad n.

3. Generarea matricii sistemului de ecuaii, a termenului liber i
rezolvarea sistemului de ecuaii liniare

1 ,..., 1 ,
; 1 ,..., 1 ,
; 1 ,..., 1 , 1 ,... 1 ,
1
+ = =
=
+ = =
+ = + = =
+
n j a w
B CA
n j Sxy b
n i n j Sx c
j ni
j j
j i ij
(7.5)

4. Calculul dispersiei i a abaterii standard

2
2
2
0
1
2
;
; )] ... ( [
s disp
s
a x a y s
n
N
N
i
m
i
i
=
=
+ + =

=
(7.6)

5. Testarea gradului polinomului de regresie n vederea validrii
lui
n<n
max
n=n+1 i salt la 3;
n>n
max
salt la 6.
IDENTIFICAREA SISTEMELOR INDRUMAR DE LABORATOR

66



6. Determinarea gradului optim j al polinomului de regresie
min (grad
j
, j=1,,n
max
)
j
Dac setul de date are N elemente, toate datele se afl pe curba de
aproximare. Pentru un polinom avnd gradul mai mic dect numrul
de date, aproximarea este cu att mai bun cu ct gradul polinomului
este mai apropiat de numrul de date. Utilizarea unui polinom de
aproximare de grad mai mare dect setul de date poate conduce la erori
de aproximare considerabile.

Determinarea celei mai bune aproximri a unui set de date (x,y) cu un
polinom de ordinul n se face folosind funcia polyfit, cu sintaxa

p=polyfit(x,y,n)

care returneaz coeficienii a
i
ai polinomului p(x) caracterizat de
proprietatea c prezint, n punctele precizate de vectorul x, valorile
date de vectorul y (n sensul CMMP).

Exemplul 2
Fie polinomul p(x)=x
3
-6x
2
+11x-6, peste care este suprapus un zgomot
cu distribuie normal. Aproximai n sensul CMMP datele rezultate cu
un polinom de grad 3. Reprezentai grafic datele cu zgomot i
polinomul aproximant.

Secvena de program MATLAB este

p=[1,-6,11,-6];
x=0:.25:4;
y=polyval(p,x)+rand n(size(x));
c=polyfit(x,y,3);
poli3=polyval(c,x);
plot(x,poli3,x,y,0);
grid on

Obs. Funcia polyval(p,s) evalueaz polinomul definit de vectorul p, al
coeficienilor polinomiali, n punctul s.
IDENTIFICAREA SISTEMELOR INDRUMAR DE LABORATOR

67



2.3.Interpolarea funciilor de o singur variabil

2.3.1. Interpolarea prin metoda transformatei Fourier
Funcia interpft interpoleaz datele cu o singur variabil utiliznd
metoda FFT i se apeleaz cu sintaxa

y=interpft(x,n)

care returneaz un vector y de lungime n obinut din vectorul x.
Numrul n trebuie s fie mai mare dect numrul de elemente al
vectorului x, iar rezultatul are o periodicitate circular dat de
utilizarea transformatei Fourier.

Exemplul 3
Fie datele obinute dintr-un sinus eantionat cu 8 pai pe perioad
y=
2
sin
8
k
(7.7)
Interpolai datele cu un pas dublu i verificai valorile obinute cu
secvena MATLAB.

k=0:7;
x=sin(2*pi*k/8);
yi=interpft(x,16);
k1=0:15;
yr=sin(2*pi*k1/16);
d=max(yi-yr);

Rezultatul obinut este

d=5.5511e
-0,16


Diferena maxim ntre valorile interpolate i cele reale este egal cu
ordinul de mrime al celui mai mic numr reprezentabil n calculator
(eroarea de trunchiere).

2.3.2.Interpolarea liniar
Dac se presupune c funcia dintre dou puncte de coordonate (x
1
,
y
1
), respectiv (x
2
, y
2
), poate fi estimat printr-o linie dreapt, atunci
IDENTIFICAREA SISTEMELOR INDRUMAR DE LABORATOR

68



valoarea funciei n orice punct x dintre cele dou valori se deduce cu
expresia
f(x)=
( )
1
1 2 1
2 1
x x
y y y
x x

(7.8)

Interpolarea liniar a funciilor de o singur variabil se face cu funcia
tabel care se apeleaz cu sintaxa

y=tabel(nume_tabel,x)

Primul argument al funciei este numele tabelului care conine datele
ce se refer la coordonatele (x
i
,y
i
). Dac acesta este un fiier pe disc,
atunci nume_fiier trebuie s fie mai nti ncrcat cu funcia load.

Al doilea argument se refer la valorile lui x pentru care se dorete
determinarea valorilor interpolate y.

Datele din prima coloan a tabelului (valorile lui x) trebuie s fie n
ordine cresctoare, iar valorile x trebuie s se gseasc ntre prima i
ultima valoare a primei coloane; n caz contrar, se afieaz un mesaj de
eroare.

Dac tabelul din care se citesc datele conine mai mult de dou
coloane, funcia tabel returneaz un vector linie cu N-1 elemente, unde
N este numrul de coloane ale tabelului. Fiecare valoare returnat este
interpolat din coloana corespunztoare a datelor.

Exemplul 4.
Estimai valorile temperaturii la momentele de timp 2.5 sec i 4.9 sec,
cu datele urmtoare:
0.0C ....................... 0.0 s
20.0C ....................... 1.0 s
60.0C ....................... 2.0 s
68.0C ....................... 3.0 s
77.0C ....................... 4.0 s
110.0C .......................5.0 s

IDENTIFICAREA SISTEMELOR INDRUMAR DE LABORATOR

69



Se introduc datele ntr-o matrice care are n prima coloan valorile
timpului i n a doua coloan temperaturile corespunztoare:

temp1(:,1)=[0.0,1.0,2.0,3.0,4.0,5.0];
temp1(:,2)=[0.0,20.0,60.0,68.0,77.0,110.0];

Cu instruciunea


y=tabel(temp1,[2.5 4.9])

se obin rezultatele

y=[64.0 107.0]


3. MODUL DE LUCRU. PROBLEME PROPUSE

Dac nu este deja creat, se creeaz un director/folder de lucru.
Se activeaz platforma MATLAB i se introduc secvenele de
program prezentate n exemplele din cuprinsul Breviarului
teoretic, urmrindu-se ndeplinirea cerinelor enunate la fiecare
dintre ele.
Se consider un traductor de debit cu diafragm. Setul de date
experimentale obinute pentru trasarea caracteristicii statice, i
anume mrimea de intrare - debitul volumic - i mrimea de ieire -
curentul generat de traductor - sunt urmtoarele:

10,14 m
3
/h.10 mA
8,64 m
3
/h ....8 mA
7,20 m
3
/h.6 mA
4,5 m
3
/h3,5 mA
2 m
3
/h.2,5 mA
1,5 m
3
/h.2,2 mA
0,1 m
3
/h....2 mA

IDENTIFICAREA SISTEMELOR INDRUMAR DE LABORATOR

70

Se cere aproximarea setului de date printr-un polinom de forma
prezentat n relaia (7.2), pe baza algoritmului de la paragraful 2.2.





LUCRAREA 8

IDENTIFICAREA SISTEMELOR FOLOSIND
METODA CELOR MAI MICI PTRATE.
ALGORITMI DE CALCUL




1. OBIECTIVELE LUCRRII

Estimarea parametrilor unui model matematic folosind metoda celor
mai mici ptrate (MCMMP).

2. BREVIAR TEORETIC

n cadrul metodei celor mai mici ptrate (MCMMP), sistemul se
consider descris de urmtoarea ecuaie cu diferene

A(q
-1
)y(t)=B(q
-1
)u(t)+e(t) (8.1)
unde :
u(t)=mrimea de intrare ;
y(t)=mrimea de ieire ;
e(t)=zgomot alb de medie zero i dispersie
2
;
q
-1
=operator de ntrziere
Modelul se consider descris de o ecuaie cu diferene, care are aceeai
structur cu ecuaia (8.1)

A
T
(q
-1
)y(t)=B
T
(q
-1
)u(t)+e(t) (8.2)
unde :
e(t)=reziduul modelului ;
A
T
(q
-1
)=1+a
1T
q
-1
+ a
2T
q
-2
+..+ a
naT
q
-na
;
A
T
(q
-1
)=1+b
1T
q
-1
+ b
2T
q
-2
+..+ b
nbT
q
-nb
.
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

71


Se fac urmtoarele notaii:

=[a
1T
a
naT,
b
1T
b
nbT
]
T
(t)=[-y(t-1).. -y(t-na) u(t-1).. u(t-nb)]
T
; (8.3)

cu aceste notaii mrimea de ieire dat de model fiind

y
m
(t)=
T
(t)+(t). (8.4)

Avnd disponibil structura modelului (na,nb), se impune condiia ca
media ptratic a erorii de predicie s fie minim. Estimaia celor mai
mici ptrate a lui , bazat pe n date de definiie, este


( )

V min arg =

, (8.5)
unde
( ) ( ) ( ) | |

=
n
i
T
t t y V
1
2

(8.6)
Din condiia de mai sus rezult
( ) ( ) ( ) ( )

=

=
|
.
|

\
|
=
N
i
N
i
T
t y t t t
1
1
1

. (8.7)
Cu notaiile :

=[a
1T
a
naT,
b
1T
b
nbT
]
T
: parametrii modelului
(t)=[-y(t-1).. -y(t-na) u(t-1).. u(t-nb)]
T
: vectorul care
conine istoria procesului (intrrile i ieirile anterioare),

ecuaia (8.1) devine

y(t)=
T
(t)+(t). (8.8)

Modelul va fi descris printr-o ecuaie de aceeai form

y
m
(t)=
T
(t)+(t). (8.9)

Estimarea parametrilor modelului () presupune n primul rnd
stabilirea gradelor na i nb i apoi determinarea vectorului pe baza
datelor experimetale de intrare-ieire.
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

72


De fapt, esena metodei const n a presupune faptul c modelul este
determinist

y
m
(t)=
T
(t) , (8.10)

situaie n care se calculeaz impunndu-se urmtoarea condiie

2 2
1 1
1 1
arg min ( ( ) ( )) arg min ( ( ) ( ) )
N N
T
m
t t
y t y t y t t
N N


= =
= =

(8.11)
Expresia explicit a lui

se obine din condiia de anulare a


gradientului funciei criteriu
( ) 0

V
,
( ) ( ) ( ) ( ) 0

1
2
1
2

= =

=
=
N
t
T
t t y t
N
V



( ) ( ) ( ) ( )

= =
=
N
t
T
N
t
t t t y t
1 1



( ) ( ) ( ) ( )

=

=
(

=
N
t
N
t
T
t y t t t
1
1
1

. (8.12)
Dac se noteaz
( ) ( ) | |
T
N y y Y 1 = , ( ) ( ) | | N
T
1 = , (8.13)
atunci se obine
( ) ( )

=
=
N
t
T
T
t t
1

(8.14)
( ) ( ) | |
( )
( )
( ) ( )

=
=
(
(
(

=
N
t
T
t y t
N y
y
N Y
1
1
1
(8.15)
+ = Y . (8.16)

Cu aceste notaii estimatorul se poate scrie sub forma

| | Y
T T
=
1

(8.17)


IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

73


Estimatorul dat prin relaia de mai sus reprezint estimatorul celor mai
mici ptrate care s-a obinut pe baza datelor de intrare ( ) ( ) N u u , , 1 i a
celor de ieire ( ) ( ) N y y , , 1 .
Proprietile estimatorului celor mai mici ptrate

Estimatorul celor mai mici ptrate este un predictor al mrimii de
ieire la momentul t dedus pe baza datelor de ieire pn la momentul
(t-1) (predictor de pas).

y
m
(t)=
T
(t),
(t)=[-y(t-1).. -y(t-na) u(t-1).. u(t-nb)]
T
(8.18)

deci y
m
(t)=y(t/t-1),

de unde rezult c y(t) este determinat pe baza datelor de intrare/ieire
pn la momentul (t-1).

O alt proprietate a estimatorului celor mai mici ptrate se refer la
faptul c eroarea de predicie
2
1
1
( )
N
t
q t
N
=

este minim.
Aceast afirmaie se justific avnd n vedere relaiile urmtoare

2 2
1 1
1 1
( ) ( ( ) ( ))
N N
m
t t
q t y t y t
N N
= =
=

(8.19)
2
1
1
arg min ( ( ) ( ) )
N
T
t
y t t
N


=
=

(8.20)

3. MODUL DE LUCRU
Dac nu este creat, se creeaz directorul de lucru ;
Se activeaz platforma de lucru MATLAB ;
Se consider modelul descris de urmtoarea ecuaie cu diferene

y(t)-1.5y(t-1)+0.7y(t-2)=u(t-1)+0.5u(t-2)+e(t)

Se va utiliza urmtoarea secven de program :
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

74


a=[1 -1.5 0.7];
b=[0 1 0.5];
c=[1];
d=[1];
f=[1];
n1=200;
k=10;
ths=poly2th(a,b,c,d,f);
u=sign(randn(n1,1));
e=randn(n1,1)/k;
ys=idsim([u e],ths);
z=[ys u e]
idplot([ys u]);

unde k este factorul de ponderare al erorii, iar =[ys u e] reprezint o
matrice cu trei coloane ce conine ieirea (ys), intrarea (u) i perturbaia
(e).

Dup execuia secvenei de mai sus, intrarea i ieirea sistemului
vor arta ca n figura 8.1., unde n graficul din partea superioar a fost
reprezentat secvena datelor de ieire, iar n graficul din partea
inferioar secvena datelor de intrare.


Figura 8.1. Reprezentrile grafice ale intrrii i ieirii sistemului
descris de modelul din relaia 8.27.

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

75


Se elaboreaz programul care implementeaz etapa de
estimare i se verific obinerea modelului (considernd na=2 i
nb=2) de forma

y(t)-1.496y(t-1)+0.703y(t-2)=0.997u(t-1)+0.523u(t-2)+e(t)

i a unei erori medii de 0.0183.

Se modific structura propus i se repet operaia de
estimare de parametri i de determinare a erorii medii ptratice.

Se verific faptul c prin creterea gradelor polinoamelor
modelului, eroarea medie ptratic nu scade considerabil.




LUCRAREA 9

IDENTIFICAREA EXPERIMENTAL
A SISTEMELOR
DE ORDINUL I I ORDINUL II



1. OBIECTIVELE LUCRRII

Identificarea unor sisteme de diverse ordine de mrime prin
urmrirea evoluiei n timp a ieirii n condiiile aplicrii la intrarea
sistemelor a unor semnale tip: treapt, ramp, sinusoid;

2. BREVIAR TEORETIC

2.1.Sisteme de ordinul nti

Modelul unui sistem de tip continuu, liniar, invariant, monovariabil i
cu parametri concentrai este
( ) ( ) ( )
( )
( )
,
0
.
1
1
1 0
.
1
1
1
u b u b u b u b y a y a y a y
r
r
r
r
n
n
n
+ + + + = + + + +


(9.1)
unde: u=mrime de intrare; y=mrime de ieire.
n regim staionar se obine modelul
0 0
, a y b u = (9.2)
care conduce la obinerea unui rspuns de forma
( )
0 0
/ y b a u = (9.3)

n ceea ce privete ordinul maxim de derivare al intrrii i al ieirii, se
deosebesc trei cazuri:

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

77


-dac r<n, sistemul este strict propriu;
-dac r=n, sistemul este simplu propriu;
-dac r>n, sistemul este impropriu.

Sistemele de ordinul nti sunt descrise de ecuaia
.
1 0 0
, a y a y b u + = (9.4)
Rezolvnd aceast ecuaie n domeniul timpului se obine urmtorul
rspuns al sistemului
( )
( )
0 1
/
0
1
a a t
y t b u e

| |
|
\ .
= (9.5)

Notnd cu
T
1
=
0 1
/ a a i cu
( )
0 0 0
/ y b a u = , se obine urmtoarea
expresie a ieirii:

( )
( )
/
0
1
t T
y t y e

= (9.6)
unde:
T =constanta de timp a sistemului;

0
y = rspunsul sistemului n regim staionar;
Durata regimului tranzitoriu este
tr
T =3T i exprim timpul n care
rspunsul sistemului ajunge la 95% din valoarea rspunsului n regim
staionar.

Pentru sistemele de ordinul nti fr anticipare (ordinul maxim de
derivare al intrarii este zero), se deosebesc urmatoarele cazuri:

a)
0 0
0, 0 a b , modelul staionar este
( )
0 0 0
/ y b a u = (9.7)
i exprim sistemul de tip proporional;

b)
0 0
0, 0 a b = , sistemul este de tip integrator cu urmtorul model
.
1 0
a y b u = , (9.8)
avnd rspunsul
( ) ( )
0 0
0
/
t
y t b a udt =

(9.9)
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

78


n cazul n care ordinul de derivare al intrrii este 1 i este mai mare
dect ordinul de derivare al ieirii (sistemul este impropriu), se mai
poate deosebi un al treilea caz care este clar idealizat deoarece toate
sistemele fizice sunt sisteme proprii.

c)
0 0
0, 0 a b = , sistemul este de tip derivator, cu modelul
.
0 1
a y b u = , (9.10)
care are rspunsul:
( )( )
1 0
/ / y b a du dt = (9.11)
Funcia de transfer a unui sistem de ordinul nti fr anticipare este

( ) ( )
0 1 0
/ H s b a s a = + (9.12)

Graficele rspunsului n timp ale sistemelor de ordinul nti la diferite
tipuri de intrri: treapt, ramp i sinusoid sunt reprezentate n figura
9.1.
0 5 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Salt
0 5 10
0
1
2
3
4
5
6
7
8
9
10
Rampa
0 5 10
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
sin t

Fig.9.1. Rspunsuri n timp ale sistemului de ordinul nti la diferite
tipuri de mrimi de intrare: treapt, ramp i sinusoid

Practic, un sistem de ordinul nti se poate obine cu un circuit RC,
reprezentat n figura 9.2.
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

79

Fig.9.2.. Circuit RC

Modelul matematic este prezentat n setul (9.13)
( )
.
.
1/
r c
r
c
c
c
r
U U U
U Ri
U C idt i CU
U RCU

= +
=
= =
=

(9.13)
Ecuaia care descrie sistemul de ordinul nti este

.
c
c
RCU U U + = (9.14)
unde:
c
U =cderea de tensiune pe condensator;

r
U =cderea de tensiune pe rezisten;
U=tensiunea de alimentare a circuitului RC;
I=intensitatea curentului prin circuit;
R=rezisten, C=condensator.

Intrarea sistemului a fost considerat tensiunea de alimentare a
circuitului RC, iar ieirea sistemului a fost considerat tensiunea
msurat la bornele condensatorului C (Uc). Schema bloc a sistemului
de ordinul nti este prezentat n figura 9.3.

Fig. 9.3.. Schema bloc a sistemului de ordinul nti



IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

80

2.2 Sisteme de ordinul doi
Sistemele continue de ordinul doi fr anticipare sunt descrise de
ecuaia
.. .
2 1 0 0
a y a y a y b u + + = , (9.15)
Rezolvnd ecuaia n domeniul timpului se obine rspunsul sistemului
( )
/ /
1 2 0
A t B t
l
y t c e c e b u

= + + , (9.16)
cu
1
c si
2
c dou constante determinate din condiiile iniiale, iar A, B
soluii ale ecuaiei
.
2
2 1 0
0 a r a r a + + = (9.17)
Componenta
( )
/ /
1 2
A t B t
l
y t c e c e

= + se numete component liber,
dependent numai de structura sistemului, neinfluenat de forma de
variaie a intrrii, iar componenta
( ) ( )
0 0
/
f
y t b a u = , se numete
component forat, numit astfel deoarece este rezultatul forrii in
forma rspunsului a unei componente de tipul intrrii.
Funcia de transfer a unui sistem de ordinul doi fr anticipare este
( )
( )
2
0 2 1 0
/ H s b a s a s a = + + (9.18)
Graficele rspunsurilor n timp ale sistemelor de ordinul doi la diferite
intrri tip: treapt, ramp, sinusoid sunt prezentate n figura 9.4.
0 5 10
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Salt
0 5 10
0
1
2
3
4
5
6
7
8
9
Rampa
0 5 10
-1
-0.5
0
0.5
1
1.5
sin t

Fig.9.4. Graficele rspunsurilor n timp ale sistemelor de ordinul doi la
diferite tipuri de mrimi de intrare: treapt, ramp i sinusoid

Practic, un sistem de ordinul doi se poate obine cu un circuit RLC de
tipul celui din figura 9.5.
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

81

Fig.9.5. Circuit RLC

Modelul matematic este

( )
( ) ( )
.
.. .
1/ 2 2
1 2 / /
r
c
c
U Ri
U C i dt i CU
Ul i i LCUl L R Ul L R U

=
= =
= + + =

(9.19)

Se obine astfel un model de forma
( ) ( )
.. .
/ / LCUl L R Ul Ul L R U + + = (9.20)
unde:
U=tensiunea de alimentare a circuitului RLC;
r
U =cderea de tensiune pe rezisten;
c
U =cderea de tensiune pe condensator;
l
U =cderea de tensiune pe bobine;
i=intensitatea curentului prin rezisten;
1
I =intensitatea curentului prin bobine;
2
I =intensitatea curentului prin condensator;
R=rezisten;
C=condensator;
L=bobin.
Intrarea sistemului a fost considerat tensiunea de alimentare a
circuitului RLC, U, n timp ce ieirea a fost considerat cderea de
tensiune pe bobina L,
1
U .

Schema bloc a sistemului este reprezentat n figura 9.6.
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

82

Fig.9.6. Schema bloc a sistemului de ordinul doi.

3. MODUL DE LUCRU
Schema bloc a montajului utilizat pentru identificarea sistemelor de
diverse ordine de mrime este reprezentat n figura 9.7.

Fig. 9.7. Schema bloc a montajului utilizat pentru identificarea
experimental a sistemelor.

1. Conform schemei din figura 9.7, se interconecteaz blocurile
componente, cu urmtoarele observaii:
- se vor respecta regulile de conectare a interfeei la alimentarea
cu 5V (plusul, respectiv masa, de la sursa de alimentare, la firul de
+5V, respectiv de mas, la interfa);
- se va conecta cablul paralel de la interfa la portul paralel al
PC-ului;
- se va conecta la intrarea interfeei ieirea de la cele dou
sisteme; acestea vor avea la intrare semnalele de tip treapt sau
sinusoid date de versatester.
2. Se lanseaz n execuie programul aferent (IS.EXE, varianta de
DOS, sau IDENT. EXE, varianta de Windows);
3. De la generatorul de semnal versatester tip E0502 se vor emite un
semnal sinusoidal, respectiv dreptunghiular, cu frecvena de 1 Hz;
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

83

4. n urma vizualizarii rezultatelor experimentului, se vor identifica
sistemele analizate;
5. La sfritul lucrrii se vor deconecta elementele componente.

Cu ajutorul generatorului de semnal, studenii vor aplica la intrarea
circuitelor RC si RLC (descrise n partea teoretic), semnale de tip
treapt i sinusoid.

Pentru obinerea unei bune discretizri a semnalului analogic y, s-a
utilizat un convertor analogic-numeric pe 8 bii la ieire. Deoarece
portul paralel are doar 4 bii de intrare a fost necesar utilizarea unui
buffer.

Interfaa proces calculator are la baz un convertor analog-numeric
care face posibil vizualizarea pe monitorul unui calculator a valorilor
ieirii y n timp i a graficelor ieirii y pentru diversele intrri aplicate
la intrarea sistemelor.







LUCRAREA 10

METODE DE SUBSPAIU N
IDENTIFICAREA SISTEMELOR


1. OBIECTIVELE LUCRRII
Identificarea sistemelor prin metode de subspaiu;
Obinerea direct din date experimentale a modelelor cu
evidenierea spaiului strilor, adic sub forma ecuaie de stare
ecuaie de observare.

2. BREVIAR TEORETIC
Metodele de subspaiu sunt n cmpul identificrii sistemelor de
relativ puin timp (1994) i aparin unor cercettori belgieni,
Peter Van Overschee i Bart De Moore. Ele reprezinta o tratare a
problemei identificrii sistemelor concomitent deterministe i
stochastice, etichetata drept revoluionar. Foarte repede, aceast
problem a fost implementat n pachetul de programe
MATLAB, n subpachetul Toolbox/Ident, sub numele n4sid.

Algoritmic, pe baza unor proiecii ale ieirilor viitoare ale
sistemului pe intrrile trecute i viitoare i pe ieirile
trecute (trecutul i viitorul sunt delimitate de indicele i i
sunt, aadar, noiuni convenionale), problema se trateaz n
maniera prezentat n continuare.

Pasul 1. Determinarea celor dou proiecii Z
i
i Z
i+1

Z
i
=Y
i/2i-1
0/i-1
i/2i-1
0/i-1
U
U
Y






=
( )
0/i-1
1 2 3
i/2i-1
0/i-1
i i i
U
L L L U
Y






(10.1)

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

85

0/i
1 i 1/2i-1 i 1/2i-1
0/
i
i
U
Z Y U
Y
+ + +






= (10.2)
cu U i Y matrici bloc de intrri i ieiri observate experimental
ntre momentele scrise ca indici.

Pasul 2. Determinarea descompunerii prin valori singulare
( ) ( )
0/i-1 1 3
1
1 2
0/i-1
0
0 0
T
i i
U
L L U U V
Y









= (10.3)
Ordinul sistemului este egal cu numrul de valori singulare nenule

1/2
1 1 i
U = i
1/2
1 1 i-1
U = (10.4)

Pasul 3. Determinarea soluiei prin metoda celor mai mici
ptrate ( cu
1
i
2
reziduale)
p
1 11 12 1 i-1
21 22 2 / i/2i-1
n
l
p
i i i
i i
j n mi j j
n Z n K K n Z n
l Y l K K mi U l

+
= + (10.5)


Pasul 4. Obinerea matricilor sistemului succesiv, astfel:

4.1. n prima etap A K
11
i C K
12


4.2. Se obin B i D care rezult din A, C, K
12
i K
22
prin
rezolvarea unui sistem de ecuaii liniare.
4.3. analog,
( )
S S
T
S S
Q S
S R






1 1 1 2
2 1 2 2
1
T T
T T
j







Subsistemul determinist este identificat exact pe msur ce
j, independent de numrul i.

Aproximarea subsistemului stochastic depinde de i i converge pe
msur ce i.


IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

86

Tot acest algoritm aparent complicat este implementat n funcia
MATLAB cu numele n4sid, sub forma simpl

TH=N4SID(Z)

sau mai complicat

[TH,AO]=N4SID(Z,ORDER,NY,AUXORD,DKX,MAXSIZE,TSMP)

n TH se returneaz modelul cu evidenierea strii sistemului, n
formatul THETA. Funcia nu furnizeaz un model al
covariaiilor.

n matricea Z sunt plasate datele de ieire i de intrare sub forma
unor vectori coloan [y u]. Dac sistemul are mai multe intrri
(n) i mai multe ieiri (p) atunci Z=[y1 y2 ... yp u1 u2 ... un].

Variabila ORDER specific ordinul/ordinele posibil(e) al(e)
modelului (dimensiunea vectorului de stare). Introdus ca vector,
de pild 3:10, ea face ca funcia s genereze un grafic cu
informaii asupra tuturor ordinelor propuse. Prin default
ORDER=1:10. Dac variabila ORDER este introdus ca best,
se alege aceast valoare de default. NY este numrul de ieiri din
matricea de date; prin default NY=1.

AUXORD este un ordin auxiliar care este folosit la selectarea
variabilelor de stare. Prin default ea este 1.2*ORDER+3. Dac
AUXORD este introdus ca un vector linie atunci este reinut
acea valoare care minimizeaz eroarea de predicie.


Variabila DKX este un vector care definete structura DKX=
[D,K,X]. D=1 indic estimarea unui termen direct de la intrare la
ieire, D=0 indic postularea unei ntrzieri de la intrare la ieire.
K=1 impune estimarea unei matrici K, iar K=0 oblig la o matrice
K nul. X=1 indic o estimare a strii iniiale a sistemului, X=0
indic iniierea la zero.

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

87

Pentru definirea unei structuri de ntrziere a intrrilor NK, cu
NK(ku) ntrzierea de la intrarea ku la oricare din ieiri se pune
DKX= [D,K,X,NK] cu NK un vector linie de lungime egal cu
numrul intrrilor. Dac se specific NK, atunci valoarea D este
ignorat .

Prin default, DKX=[0,1,1].

3. MODUL DE LUCRU

Dac nu este deja creat, se creeaz un director/folder de lucru.
Se creeaz un sistem dinamic cu una sau mai multe intrri, cu
una sau mai multe ieiri. Secvena urmtoare, utilizat i n alte
lucrri este tipic pentru generarea funciei de transfer pentru unul
din canalele (1,1, de pild) intrare-ieire.

sisc11=tf([1 2],[1 2 5])
sisd11=c2d(sisc,0.01,'zoh')

Ea poate fi utilizat, cu modificri de coeficieni potrivite, i la
generarea altor funcii de transfer, pentru alte canale.
Se aplic sistemului intrri, preferabil sub forma unor secvene
binare aleatoare

u1=sign(randn(size(t)));

i se observ ieirile. Ieirile se corup cu secvene de zgomot alb

sig=0.0001;
y1=y1+sig*randn(size(t));


cu sig la alegere, cu t vectorul de momente echidistante la care se
obsev sistemul, sau cu secvene de zgomot colorat. n acest din
urm caz, zgomotul alb este trecut mai nti printr-un filtru ( )
-1
q C .
Se constituie astfel matricea Z de date experimentale.


IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

88

Se invoc funcia n4sid i se examineaz rezultatele
identificrii pentru structuri uor modificate i pentru erori n date
(sig) de importan mai mare sau mai mic.
Prin utilizarea funciilor MATLAB de conversie a modelelor,
cnd este posibil se revine la forma funcie de transfer i se
compar cu modelul care a generat datele.
Sunt recomandate reprezentrile grafice n acelai spaiu ale
datelor experimentale i ale rspunsurilor calculate cu
modelul/modelele estimate.
























LUCRAREA 11


TEHNICI DE IDENTIFICARE DINAMIC A
PROCESELOR.
NOIUNI DE BAZ PRIVIND IDENTIFICAREA
MODELELOR DINAMICE ALE PROCESELOR



1. OBIECTIVELE LUCRRII

Lucrarea prezint principiile de baz ale identificrii modelelor
dinamice ale proceselor i principalele tipuri de algoritmi de adaptare
parametric ce intervin n metodele de identificare recursive.

2. BREVIAR TEORETIC
2.1. Metoda celor mai mici ptrate

n cadrul metodei celor mai mici ptrate (MCMMP), sistemul se
consider descris de urmtoarea ecuaie cu diferene

( )
( )
( )
( ) ( )
1 1
A q y t B q u t e t

= + (11.1)
unde:
( )
u t - mrimea de intrare;
( )
y t - mrimea de ieire;
( )
e t - zgomotul alb de medie zero i dispersie
2
;
1
q

- operator de ntrziere.


IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

90

Modelul se consider descris de o ecuaie cu diferene care are aceeai
structur cu ecuaia de mai sus.

( )
( )
( )
( ) ( )
1 1
A q y t B q u t t

= + (11.2)
unde:
( )
u t - mrimea de intrare;
( )
y t - mrimea de ieire;
( )
t - reziduul modelului;
1
q

- operator de ntrziere;

( )
1 1
1 1
na
na A q a q a q

= + + +

(11.3)
( )
1 1
1 1
nb
nb B q b q b q

= + + +

(11.4)
Se fac urmtoarele notaii:

1 1
T
na nb a a b b
(

=

(11.5)
( ) ( ) ( ) ( )
( )
1 1
T
t y t y t na u t u t nb
(
(

=

(11.6)

Cu aceste notaii, mrimea de ieire dat de model este

( ) ( ) ( )
T
m
y t t t

= + (11.7)

Avnd disponibil structura modelului ( ) nb na, se impune condiia ca
media ptratic a erorii de predicie s fie minim. Estimaia celor mai
mici ptrate a lui , bazat pe n date, este prin definiie

( )
argminV

, (11.8)
unde

( )
( ) ( )
2
1
n
T
i
V y t t

=
(

=

(11.9)

Din condiia de mai sus rezult
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

91

( ) ( ) ( ) ( )
1
1 1
N N
T
i i
t t t y t

= =
| |
|
|
\ .
=

(11.10)

In continuare, vor fi enunate cteva rezultate referitoare la existena
inversei matricei

( ) ( )
1
N
T
i
V t t


=
=

, (11.11)

i a consistenei estimatorului

.

Problema consistenei estimatorului i a existenei inversei matricei de
mai sus este strns corelat cu persistena semnalului de intrare u .
Dac se noteaz

1 1
T
na nb a a b b
(

= - parametrii modelului,
iar cu
( ) ( ) ( ) ( ) ( )
1 1
T
a
b
t y t y t n u t u t n
(

= - vectorul care
conine istoria procesului (intrrile i ieirile anterioare), atunci ecuaia
principal devine

( ) ( ) ( )
T
y t t t = + (11.12)

Modelul va fi descris printr-o ecuaie de aceeai form

( ) ( ) ( )
T
m
y t t t = + , (11.13)

unde
- parametrii estimai, iar
( ) ( )
( )
( )
( )
1 1
T
a
b
t y t y t n u t u t n
(
(

= (11.14)
Estimarea parametrilor modelului
( )
presupune n primul rnd
stabilirea
a
n ,
b
n i apoi determinare vectorului pe baza datelor de
intrare i ieire.
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

92

De fapt, esena metodei const n a presupune faptul c modelul este
determinist

( ) ( )
T
m
y t t = , (11.15)

situaie n care

se calculeaz impunndu-se urmtoarea condiie



( ) ( )
( )
( ) ( )
2
2
1 1
1 1
argmin argmin
N N
T
m
t t
y t y t y t t
N N


= =
| |
|
\ .
= =


(11.16)

Expresia explicit a lui

se obine din condiia de anulare a


gradientului funciei criteriu

( )

0 V

= ,
( ) ( ) ( )
2

1
1

2 0
N
T
t
V
t y t t
N

=
=
| |
|
\ .

= =



( ) ( ) ( ) ( )
1 1

N N
T
t t
t y t t t
= =
=

(11.17)
( ) ( ) ( ) ( )
1
1 1

N N
T
t t
t t t y t

= =
(
(
(

=



Dac se noteaz cu

( ) ( )
1
T
Y y y N
(

= ,
( ) ( )
1
T
N
(

= , (11.18)


atunci se obine

( ) ( )
1
N
T
T
t
t t
=
=

, (11.19)
( ) ( )
( )
( )
( ) ( )
1
1
1
N
T
t
y
Y N t y t
y N

=
(
(
(
(

(
(

= =

, (11.20)
Y = + . (11.21)
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

93

Cu aceste notaii estimatorul se poate scrie sub forma urmtoare

1

T T
Y

(

= (11.22)

Estimatorul dat prin relaia de mai sus reprezint estimatorul celor mai
mici ptrate care s-a obinut pe baza datelor de intrare
( ) ( )
1, , u u N i
a celor de ieire
( ) ( )
1, , y y N .

2.2. Metoda variabilei instrumentale

Metoda variabilei instrumentale poate fi privit ca o generalizare a
metodei celor mai mici ptrate care furnizeaz numai partea
determinist a modelului.

Fie sistemul descris de urmtoarea ecuaie cu diferene

( )
( )
( )
( ) ( )
1 1
A q y t B q u t t

= + , (11.23)

sau de ecuaia

( ) ( ) ( )
T
y t t t = + (11.24)

unde s-a notat cu

( ) ( ) ( ) ( ) ( )
1 1
T
na nb
t y t y t n u t u t n
(

=

1 1
T
na
nb
a a b b
(

= . (11.25)

Estimaia se poate obine i euristic nmulindu-se relaia (11.25) la
stnga cu
( )
t

( ) ( ) ( ) ( ) ( ) ( )
T
t y t t t t t = +
( ) ( ) ( ) ( ) ( ) ( )
1 1 1
N N N
T
t t t
t y t t t t t
= = =
= +

(11.26)
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

94

( ) ( ) ( ) ( )
1
1 1

N N
T
t t
t t t y t

= =
(
(
(

=



n aceast relaie s-a neglijat termenul

( ) ( ) ( ) ( )
1
1 1
N N
T
t t
t t t t

= =
(
(
(



(11.27)

Dac i sunt necorelate, atunci termenul de mai sus care s-a
neglijat n relaia respectiv este nesemnificativ, ceea ce nseamn ca
y i respectiv u i sunt necorelate.

Observaie
n cazul acestei estimri s-a presupus structura modelului identic cu
cea a sistemului. Aspectul care intervine n analiza care urmeaz se
refer la faptul c u i sunt necorelate, dar y i sunt corelate
deoarece
T
y = + , deci se adaug la ieire. Pornind de la
aceast constatare se nmulete relaia care descrie sistemul (a doua
din 11.26) cu
( )
z t format numai din valori ale lui
( )
u t , situaie n care
( ) ( )
1
N
t
z t t
=

se poate neglija deoarece


( )
u t i
( )
t sunt necorelate.

Cu aceste observaii relaia devine

( ) ( ) ( ) ( )
1 1

N N
T
t t
z t t z t t
= =
| |
|
|
\ .
=

(11.28)

unde

se numete estimaie de variabil instrumental, iar


( )
z t
este vector de variabil instrumental care nu are o semnificaie
fizic, constituind doar un instrument de lucru.

Dac se consider
( ) ( )
dim dim
a
b
z n n n

= = + = , atunci



IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

95

( ) ( ) ( ) ( )
1
1 1

N N
T
t t
z t t z t y t

= =
| |
|
|
\ .
=

(11.29)
n relaia anterioar s-a considerat faptul c exist inversa matricei

( ) ( )
1
N
T
t
z t t
=
| |
|
|
\ .

(11.30)

Un vector variabil instrumental frecvent utilizat n conjuncie cu
relaia precedent este i vectorul urmtor

( )
( )
( ) ( )
1
1
T
z t F q u t u t n

(

= (11.31)

unde
( )
1
F q

este un filtru stabil.



Dac nu exist informaii despre sistem, atunci se consider
( )
1
1 F q

= . Dac sunt disponibile informaii (de exemplu se cunosc


estimaiile iniiale A

, B

pentru polinoamele A i B ), atunci se poate


alege

( ) ( )
1 1
1/ F q A q

=

(11.32)
Introducerea lui
( )
1
F q

are o mare importan n ceea ce privete


precizia i stabilitatea numeric a algoritmului de identificare.

O transformare liniar a vectorului
( )
z t nu afecteaz estimaia. Pentru
a demonstra aceast afirmaie se consider urmtoarea transformare
liniar i nesingular a lui
( )
z t

( ) ( )
z t S z t = (11.33)
unde S este o matrice de dimensiune
( )
n n

.
Utilizndu-se transformarea de mai sus, relaia lui

devine


IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

96

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
1 1
1 1 1 1
N N N N
T T
t t t t
z t t z t y t S z t t S z t y t

= = = =
| | | | | |
| | |
| | |
\ . \ . \ .
= = =



( ) ( ) ( ) ( )
1
1 1

N N
T
t t
z t t z t y t

= =
| | | |
| |
| |
\ . \ .
= =

(11.34)

ceea ce justific faptul c transformarea respectiv nu afecteaz
estimaia.

Pentru a pune n eviden anumite aspecte ale estimatorului de
variabil instrumental se consider transformarea urmtoare

( ) ( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
1
1
1
1
1
1
1
. .
.
. .
.
. .
.
1
1
.
.
1
.
.
.
.
.
.
.
a
b
a
b
b
b
B q
u t
A q
z t
y t
y t n z t n
B q
z t S z t
u t n
u t
u t
A q
u t
u t n
u t n
u t n

(
(
(

(
(

(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(


(
(
( (





= = = =


(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(

.
(11.35)

n relaia de mai sus s-a considerat
( )
( )
( )
( ) ( )
1 1
A q y t B q u t t

= +

,
unde s-a neglijat reziduul aleator
( )
t , iar
( )
1
A q

i
( )
1
B q

reprezint
estimaii iniiale (aproximative) ale prii deterministe a modelului.

Se poate arta faptul c dac
( )
1
A q

i
( )
1
B q

sunt prime, atunci


mrimea S este nesingular. Utilizndu-se transformarea de mai sus se
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

97

poate afirma c pentru aproximaii bune a prii deterministe
( )
; ; A B A B

i pentru un N suficient de mare are loc urmtoarea
relaie

( ) ( ) ( ) ( )
1 1
N N
T T
t t
z t t z t z t
= =


(11.36)

deci matricea care se inverseaz tinde, pe msur ce estimaiilor A

, B


se corecteaz, la o matrice simetric, pozitiv definit i mai bine
condiionat dect o matrice nesimetric i indefinit. n acest caz
estimatorul variabil instrumental obinut este mai precis, ceea ce
justific calculele efectuate cu transformarea
( ) ( )
z t S z t = .

O problem care se analizeaz n cele ce urmeaz este i consistena
estimatorului de variabil instrumental. Se consider sistemul
stochastic monovariabil ( ) S definit prin ecuaia urmtoare

( )
( )
( )
( ) ( )
1 1
A q y t B q u t t

= + (11.37)

iar modelul descris prin ecuaia

( )
( )
( )
( ) ( )
1 1
A q y t B q u t t

= + (11.38)
unde

( )
( )
( )
1
t H q e t

= ,
( )
( )
( )
1
t H q t

= ,

( )
e t - zgomot alb,

( )
t - reziduurile modelului.

Dup cum se tie
( )
1
H q

i
( )
1
H q

reprezint modelul zgomotului,


iar n cele ce urmeaz se consider de forma urmtoare

( )
1 1
1
1
nc
nc
H q c q c q

= + + (11.39)
( )
1 1
1 1
nc
nc H q c q c q

= + + (11.40)

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

98

Se definete vectorul variabil instrumental de forma

( ) ( ) ( ) ( ) ( )
1 1
T
c c c b
z t y t n y t n n u t u t n
(

=
(11.41)

n aceste condiii estimaia

este dat de relaia urmtoare



( ) ( ) ( ) ( )
1
1 1
1

N N
T
t t
z t t z t t
N

= =
( | |
| (
|
(
\ .
= +

(11.42)

Termenul
( ) ( )
1
0
N
t
z t t
=

din relaia anterioar tinde la zero daca N


tinde la infinit, deoarece
( )
z t nu mai este corelat cu
( )
t . Aceasta se
justific prin faptul c
( )
t conine eantioane pn la momentul
( )

c
t n , iar
( )
z t conine eantioanele
( ) ( )
1
c c c
y t n y t n n
care nu mai sunt corelate cu
( )
{ }
1,
c
i n
t i
=
.

n cele ce urmeaz se face urmtoarea notaie

( )
min , ,
a a c c
b b
n n n n n n n = (11.43)

necesar estimrii teoremei de mai jos.

n continuare este prezentat algoritmul metodei variabilei
instrumental pentru cazul cnd vectorul z este de forma


( )
( ) ( ) ( )
1 1
T
a a a b z z t z t n z t n z t n n
(
(

= =
( )
( )
( )
( )
1 1
T
a b z t z t n u t u t n
(
(

= (11.44)

unde

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

99

( )
( )
( )
( )
1
1
1
B q
z t i u t
A q

1, a i n = (11.45)

nregistrrile obinute de la proces se presupun cunoscute i se noteaz
cu
( ) ( )
{ }
1,
,
t N
u t y t
=
.

Algoritmul metodei de variabil instrumental

Pas 1: Se determin

i B

utiliznd metoda celor mai mici ptrate.



Pas 2: Se iniializeaz contorul 1 i =

Pas 3: Se determin estimaia de variabil instrumental

( ) ( ) ( ) ( )
1
1 1

N N
i T
t t
z t t z t y t

= =
| |
|
|
\ .
=

(11.46)


unde
1 1


T
i i i i i
na
nb
a a b b
(
(

== (11.47)
( )
( )
( )
( )
( )
( ) ( ) ( )
1 1 1 1
1 1 1 1

1 1

T
i i
i
a
b
i i
B q B q
z u t u t n u t u t n
A q A q


(
(
(
(

=
(11.48)
( ) ( ) ( ) ( ) ( )
1 1
T
a b
t y t y t n u t u t n
(

= (11.49)

iar
1

i
B

,
1

i
A

reprezint estimaiile obinute pentru valoarea contorului


egal cu
( )
1 i .

Pas 4: Se incrementeaz contorul 1 i i = + ;

Pas 5: Dac
( ) ( )
impuls
M z t t
(

, atunci STOP, altfel continu;
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

100

Pas 6: Dac
impuls
i M < atunci salt la Pas3, altfel STOP.

Dup cum se observ algoritmul se oprete dac este ndeplinit una
din urmtoarele condiii de STOP:

( ) ( )
impuls
M z t t
(

, ceea ce nseamn c vectorul estimatelor

s-a obinut cu o precizie bun;



impuls
i M < ceea ce nseamn c dup parcurgerea a unui numr
impuls
M de iteraii nu s-a ndeplinit criteriul anterior.

3. Modul de lucru

Dac nu este deja creat, se creeaz un director/folder de lucru.;
Se activeaz platforma de lucru MATLAB;
Se consider modelul descris de urmtoarea ecuaie cu diferene

y(t)-1.5y(t-1)+0.7y(t-2)=u(t-1)+0.5u(t-2)+e(t)

Se elaboreaz programul care implementeaz etapa de estimare din
cadrul algoritmului MCMMP;
Se elaboreaz programul care implementeaz algoritmul metodei
variabilei instrumentale;
Se analizeaz comparativ rezultatele obinute n urma aplicrii
celor dou metode de identificare.












LUCRAREA 12
IDENTIFICAREA EXPERIMENTAL
A UNUI SISTEM ALCTUIT DIN DOU VASE
N CASCAD

1. OBIECTIVELE LUCRRII
Determinarea unui model matematic pe baza unor date experimentale
obinute de la un sistem dinamic. Se au n vedere urmtoarele metode
de identificare: metoda celor mai mici ptrate liniare i neliniare,
metoda verosimilitii maxime i metodele recursive.
2. BREVIAR TEORETIC
Modelul matematic dinamic al procesului de acumulare ntr-un
vas.
Pentru oricare din vasele din figura 12.1, n regim staionar este
valabil relaia
Q
i
=Q
e
(12.1)

unde Q
i
i Q
e
sunt debitele lichidului la intrarea, respectiv la ieirea
din vas. Este evident c n acest caz nivelul din vas este constant, H.

Pentru cazul n care , are loc un proces de acumulare a
lichidului n vas, iar zestrea de lichid a acestuia variaz n timp, astfel
nct se poate scrie succesiv:


IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

102
Acumulare=Intrare-Iesire

(12.2)

unde A este aria transversal a vasului.


Fig.12.1. Schema instalaiei experimentale alctuit din dou vase n
cascad
R
1
- rotametru, R
e
- robinet cu servomotor electromagnetic, V
1
, V
2
-
vase de acumulare ; C - contact.

Deoarece scurgerea din vas este liber, debitul Q
e
se poate exprima cu
ajutorul relaiei
(12.3)

unde A
r
este aria seciunii minime de trecere prin robinetul instalat pe
calea de evacuare a lichidului, - un coeficient de debit, g -acceleraia
gravitaiei. Rezult ecuaia

(12.4)

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

103
care n regim stationar are partea stng nul i n care att nlimea H
ct i debitul Q
i
se nlocuiesc cu valorile staionare H
0
i Q
i0
.
Dezvoltnd funcia n serie Taylor n jurul punctului H = H
0
i
reinnd numai primii doi termeni ai dezvoltrii rezult

(12.5)


Prin nlocuire n ecuaia diferenial de mai sus se obine

(12.6)

In relaiile ultime s-au notat abaterile
respectivelor mrimi de la valorile care corespund regimului staionar
i
(12.7)


Ecuaia diferenial n abateri de la regimul staionar este varianta
liniarizat a ecuaiei difereniale generale scrise mai devreme, care este
neliniar. Varianta ultim este valabil numai n apropierea punctului
staionar reprezentat de H
0
si Q
i0
.

Modelul matematic dinamic pentru dou vase n cascad

Pentru vasul al doilea din figura 12.1 se poate scrie, de asemenea,
ecuaia diferenial general

(12.8)

i pentru individualizarea cazurilor mrimile pot primi un indice
suplimentar, 1 sau 2, ntocmai cum volumele celor dou vase sunt
notate n figur cu V
1
si V
2
.
Desigur, Q
e1
= Q
i2.

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

104
Intruct scurgerea din vasul al doilea este, de asemenea, liber, ecuaia
pentru vasul al doilea este

(12.9)


i este o ecuaie neliniar. Un procedeu similar de exprimare liniar a
radicalilor n jurul unor valori de regim staionar H
10
i H
20
conduce la
o ecuaie diferenial liniar n H
2
n care apare i H
1


(12.10)

cu coeficienii c i e care se pot exprima n funcie de geometria
vaselor V
1
i V
2
i de seciunile de trecere minime ale cilor de
evacuare a lichidului din fiecare vas

(12.11)

Modelul liniarizat al ansamblului celor dou vase este, aadar,

(12.12)
cu coeficienii a i b adaptai corespunztor vasului V
1
.

In cazul n care evacuarea lichidului din oricare din vase se face prin
conducte lungi, atunci modelul matematic al vaselor se modific.
Sistemul si modific ordinul deoarece pentru fiecare vas se mai
adaug o ecuaie

(12.13)


IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

105
care exprim faptul c masa de lichid din conduct are o dinamic
proprie de micare sub combinaia de fore reprezentat de presiunile
diferite de la capetele conductei i de frecarea vscoas a lichidului de
el nsui. Factorul de frecare ntre straturi adiacente de lichid n
micare f este adimensional. Conducta de evacuare are diametrul d i
lungimea l. Ecuaia este de luat n considerare ori de cte ori termenul
al doilea din parantez este important comparativ cu primul termen. O
valoare a factorului de frecare pentru ap, care corespunde vscozitii
ei la temperaturi ambiante uzuale, este f =2,509.10
-1
.

Primul din cele dou vase din instalaia experimental este un sistem
dinamic de ordinul nti. Modelul matematic n varianta lui liniarizat
conduce prin integrarea ecuaiei difereniale-model la urmtorul
rspuns la saltul treapt n debitul Q
1i
care alimenteaz vasul

(12.14)

Sistemul de dou vase considerat liniar este de ordinul al doilea.
Variaia cotei n vasul prim rmne aceeai ca n expresia de mai sus.
Variaia cotei n vasul al doilea are expresia general

(12.15)

cu E dependent de B i C, respectiv E =-C/(B - C), ceea ce aduce
expresia ultim la forma
(12.16)
Ambele expresii se refer la rspunsul sistemului la aplicarea unei
modificri treapt a debitului de lichid Q
1i
care alimenteaz primul
vas.

Metoda celor mai mici ptrate liniare este utilizat ca metod de
estimare a parametrilor atunci cnd modelul este liniar sau poate fi
liniarizat n raport cu parametrii si. Se disting dou variante ale
acestei metode: fr ponderi sau cu ponderi. In ambele variante se
caut valorile parametrilor modelului cnd se cunosc rezultatele
observrii experimentale a uneia sau mai multor variabile dependente
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

106
(ieiri), n condiii de bun stpnire a variabilelor independente
(intrri) ale sistemului modelat. Acest lucru semnific faptul c
variabilele independente sunt msurate/modificate/meninute cu o
precizie net mai bun dect cele dependente, astfel nct valorile
primelor se pot considera cunoscute aproape exact, pe cnd valorile
celor din urm sunt afectate de erori care nu pot fi trecute cu vederea.
In cazul n care erorile de observare a variabilei (variabilelor)
dependente sunt aceleai pe tot domeniul lor de valori, se aplic
metoda celor mai mici ptrate fr ponderi, ceea ce rezid n
rezolvarea sistemului de ecuaii care rezult din condiiile de minim al
sumei de ptrate
(12.17)
exprimat i ca o sum de termeni reprezentnd diferenele
experiment-model pentru fiecare k = 1, 2, ..., N din cele N
observaii/experiene, dar i n funcie de vectorii observaiilor y
o
i
valorilor calculate din model y
c
.

Dac erorile care afecteaz ieirile sunt diferite pe ntinderea
domeniului de valori, se aplic metoda celor mai mici ptrate
ponderate, adic se rezolv sistemul de ecuaii care rezult din
condiiile de minim al sumei de ptrate

(12.18)
cu ponderile q
k
(k =1, 2, ..., N) coninute explicit n suma de ptrate
sau n matricea diagonal Q. Ponderile sunt de obicei invers
proporionale cu erorile medii ptratice sau cu dispersiile observaiilor
n punctele de indice k. In ambele cazuri minimizarea sumei S
dependent ptratic de parametrii modelului se reduce la a rezolva un
sistem normal de ecuaii liniare cu necunoscutele tocmai parametrii de
estimat.

Metoda celor mai mici ptrate neliniare este analog celei liniare:
aceleai sume de ptrate trebuie minimizate, de la caz la caz cu sau
fr ponderi (cu ponderi egale). Suma ptratelor este ns o funcie mai
complicat de parametrii de estimat i minimizarea ei necesit
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

107
utilizarea unor metode speciale, de pild metodele de gradient sau alte
metode nc mai rafinate.

Metoda verosimilitii maxime se utilizeaz atunci cnd erorile de
msurare/meninere a variabilelor independente nu mai sunt nici ele
att de lipsite de importan. Valorile parametrilor maximum
verosimile sunt acelea care fac maxim o probabilitate combinat a
diferenelor model-experiment.

Metodele recursive au la baz metodele de mai sus, dar i altele,
caracteristic fiindu-le utilizarea datelor experimentale pe msura
observrii lor. Aadar, ele pot fi utilizate on-line pentru estimarea
parametrilor modelului asociat unui sistem dinamic dat. Aspectele
teoretice ale estimrii de parametri recursive au fost date, cel puin
pentru metoda celor mai mici ptrate recomandat a se aplica n
lucrarea prezent, la cursul de Identificarea sistemelor.
Prin utilizarea metodelor de estimare enumerate n seciunea
precedent se vor realiza programe de calcul pentru estimarea din
datele experimentale la dispoziie a parametrilor A, B, C i D.

Pentru metoda verosimilitii maxime se presupune c eroarea medie
ptratic de citire a timpului este de 1.5 secunde.

Metoda celor mai mici ptrate se aplic aici n varianta neliniar.
Intr-adevr, suma ptratelor abaterilor pentru sistemul de ordinul unu
reprezentat de primul vas este

(12.19)

fiind o funcie neliniar de parametrii A i B. La fel, pentru nivelul
observat i calculat la diferite momente n vasul al doilea suma
ptratelor diferenelor

(12.20)

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

108
este o funcie neliniar n parametri de estimat B, C i D. Cele dou
funcii sunt msuri ale distanei model-experiment i trebuie
minimizate prin stabilirea celor mai potrivite valori ale parametrilor A,
B, C i D.
Minimizarea funciilor obiectiv, cele de mai sus sau altele, se poate
obine pe ci diverse.

Metodele de gradient au n vedere vectorul derivatelor pariale ale
funciei de minimizat numit i gradientul funciei. Evaluarea
gradientului ntr-un punct permite stabilirea direciei n care funcia
scade/crete cel mai rapid. O modificare a variabilelor, n cazul de fa
a parametrilor de estimat, proporional cu valorile derivatelor pariale,
asigur deplasarea pe direcia gradientului. Variaii de semn contrar pe
fiecare direcie component a gradientului, nu foarte importante, fac ca
funcia s scad. Evaluri repetate ale gradientului i deplasarea n
spaiul explorat pe direcia vectorului gradient conduc n cele din urm
la stabilirea coordonatelor unui extrem (minim). Acesta poate fi n
cazul general al funciilor cu mai multe extreme un extrem local.
Localizarea extremului cel mai extrem poate fi uneori problematic.
Reluarea calculelor cu un alt punct de pornire ofer o ans de a atinge
un alt minim, care poate fi cel mai minim ntre minimele funciei.
Sub aspectul rapiditii cu care este localizat un extrem, metodele de
gradient pot fi uneori lente. De aceea s-au pus la punct variante ale
metodelor de gradient, care fac cutarea eficient.
pe categorii de funcii.
Programul recomandat, est.pas, face estimarea de parametri n etape.
Mai nti produce valori pentru parametrii sistemului de ordinul unu
constituit de primul din cele dou vase n cascad. Apoi face acelai
lucru pentru sistemul n ansamblu, meninnd valorile pentru primul
vas constante, aa cum au fost stabilite n prima etap. Aici se mizeaz
pe relativa independen a vasului prim de cel de al doilea, ceea ce este
n bun msur corect. In general, estimarea de parametri trebuie
fcut concomitent prin minimizarea sumei celor dou funcii obiectiv
tratate aici separat.

Programul propus utilizeaz metoda celor mai mici ptrate
(neliniare) i metoda verosimilitii maxime. In cazul din urm
pentru primul vas este obtinut i o elips de ncredere, echivalent
intervalului de ncredere din cazul unidimensional, elips care conine
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

109
n interiorul ei toate perechile de valori ale parametrilor la fel de bune
sub aspect statistic ca i valorile centrale, utilizabile aadar n egal
msur n modelul dinamic al sistemului. Nu s-a recurs la calculul
similar pentru sistemul incluznd al doilea vas deoarece n etapa a
doua a calculului sunt estimai concomitent trei parametri i
reprezentrile grafice sunt mai dificile. Este sugerat completarea
programului cu reprezentarea tridimensional a elipsoidului de
ncredere pentru parametrii estimai.
Cnd datele sunt recoltate n timp real, sunt preferate metodele
recursive de estimare a parametrilor. Pe aceleai date experimentale,
programul rec.pas execut operaia de estimare a parametrilor n
manier recursiv. Se admite c sistemul de vase n cascad este
discret sau, mai corect, este descris de un model matematic de tip
discret.
3. MODUL DE LUCRU
Determinarea modelului matematic se bazeaz pe datele experimentale
referitoare la evoluia n timp a cotelor lichidului n cele dou vase n
cascad .
Se studiaz rspunsul sistemului din figura 12.1 pentru un semnal
treapt aplicat debitului de alimentare a primului vas Q
i1
.
Desfurarea experimentului se realizeaz dup cum urmeaz:
1. Se aduce procesul ntr-un regim staionar caracterizat prin constana
funciilor de timp Q
i1
(t), H
1
(t), H
2
(t). Un punct staionar convenabil
este Q
i1
(t)=50 l/or, H
1
(t)=75 mm, H
2
(t)=80 mm. Obinerea acestor
valori se realizeaz prin manevrarea robinetelor instalaiei, cu robinetul
de acionare electromagnetic R
e
nchis.
2. Prin intermediul robinetelor R
e
sau R
2
se d o variaie treapt
debitului Q
i1
. Se recomand o treapt pozitiv astfel nct Q
i1
s
ajung la 70-80 l/or. Se noteaz evoluia n timp a nivelurilor H
1
i
H
2
pe indicatoarele de nivel ataate vaselor. Aceste date vor fi trecute
ntr-un tabel tabelul 12.1- urmnd apoi a fi introduse ntr-un fiier de
date, expe.dat.
Tabelul 12.1
t (s) h
1
h
2

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

110

In tabel timpul este marcat cu t, iar cotele n cele dou vase sunt notate
cu h
1
, h
2
.
Este foarte important ca pe durata regimului tranzitoriu valoarea
debitului Q
i1
s nu se modifice. n acest scop, va fi observat
permanent debitul indicat de rotametrul instalaiei. Micile variaii se
recomand a fi eliminate prin acionarea robinetului R
1
.

3. Pentru determinarea constantelor de timp, se traseaz graficele
funciilor H
1
(t) i H
2
(t) .

Identificarea sistemului propus prin determinarea modelului matematic
se va realiza prin parcurgerea urmtoarelor etape:
Estimarea pe baza datelor experimentale a constantelor de timp
ale sistemului cu acumulare de lichid, folosind programul
est.pas;
Estimarea n manier recursiv, pe baza datelor experimentale, a
constantelor de timp ale sistemului, folosind programul rec.pas;
Compararea valorilor obinute prin aplicarea diferitelor metode
de identificare ;
Estimarea modelului matematic utiliznd alte metode de
identificare: metoda erorii de predicie, metoda variabilei
instrumentale, cu elaborarea programelor software de calcul
corespunztoare.









IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

111
program est;
{ Programde estimare a parametrilor }
uses CRT,graph;
const
dt=15.0;
sir:array [1..18] of string=
('E C U A T I I diferentiale exacte:',
'dVl/dt=FO-al.uVl',
'dV2/dt=al.uVl-a2.uV2',
'Regimul initial (stationar): t=0 =>F0=al.uV10=a2.uV20',
'Aproximare liniart:',
'uV=u(VO+eV)=~uVO.(l+eV)',
'E C U A T I I liniarizate:',
'deVl/dt=eF-(a I/(2.UV10)).eVI',
'deV2/dt=(al/(2.UV10)).eVI-(a2/ (2.uV20)).eV2',
'S o 1 u t i a sistemului liniarizat:',
'eVl=A.(l-exp(-al.t)) cu al=al/(2.uVlO)',
'eV2=B+C.exp(-al.t)-(B+C).exp(-a2.t) cu a2=a2/(2.uV20)',
' Sunt de estimat cinci parametri: A, B, C, al si a2',
'Date experimentale (En fisierul EXPE.DAT',
'Metoda de estimare:',
' Initializati (En PARA. DAT pe o linie A, al pe o a doua linie B, al, C, a2! ')
Opt:array [1..2] of string=('Cele mai mici patrate',
'Verosimilitate maxima') ;
type
deri=array [1..3,1..60] of double;
var
f,g:text;
gdriver,gmode,i,j,k,m,n,nit,opty,x0,yO:integer;
eps, rol, ro2, t0,xl,x2, yl,y2, yd, yc2 ,u,we: array [1..60] of double;
sd:deri;
alf,alfa,alfa0,bet,beta,betaO,gama,gamaO,delta,deltaO,dl,d2,
pas,s,sO,samare,sarnica,ualfa:double;
tt,uu,xx,yy,zz:string;
car:char;
cov:array [1..3,1..3] of double;
label
unu;
procedure axe;
begin
for i:=0 to 1 do begin
line(30,400+i,610,400+i);
line(30-i,50,30-1,400) ;
line(30-i,50,25-1,55) ;
line(30-i,50,35-i,55) ;
line(610,400+1,605,395+i) ;
line(610,400+i,605,405+i)
end;
for i:=0 to 8 do begin
line(30+70*1,400,30+70*1,397) ;
str(100*i:3,xx) ;
outtextxy(30+70*i,410,xx)
end;
outtextxy(615,410,'[s]') ;
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

112
for i:=0 to 3 do begin
line(30,400-100*1,33,400-100*i) ;
str(20*i:2,xx) ;
outtextxy(15,400-100*1,xx)
end;
end;
procedure axel;
var
Ix,ly / xO /yO:integer;
begin
settextjustifyd, 1) ;
for i:=0 to 1 do begin
line(30,400+1,610,400+1);
line(30-1,50,30-1,400);
line(30-i,50,25-i,55) ;
line(30-i,50,35-i,55) ;
line(610,400+i,605,395+i) ;
line(610,400+i,605,405+i)
end;
for i:=0 to 6 do begin
line(30+90*1,400,30+90*1,397);
str(85+5*1:3,xx) ;
outtextxy(30+90*i,410,xx)
end;
outtextxy(615,410,'A [nm]') ;
for i:=0 to 3 do begin
line(30,400-100*1,33,400-100*1) ;
str(1.3+0.l*i:3:l,xx) ;
outtextxy(15,400-100*i,xx)
end;
outtextxy(60,40,'1000.al [1/s]');
end;
procedure dubluvas;
var
alfal,alfa2,ca0,cal,ca2,f0,kl,k2,ro0,rol,ro2,vl,v2:double;
kll,kl2,kl3,kl4,k21,k22,k23, k2 4 , past, t, vll, v21: double;
1:integer;
function dery(1:integer;vl,v2:double):double;
begin
case i of 1: dery:=2.0*beta0*xl[1]*(1.6-sqrt(1.0+vl/xl[1]))
2: dery:=2.0*beta0*xl[1]*sqrt(1.0+vl/xl[1])
-2.0*delta0*x2[l]*sqrt(1.0+v2/x2[1]) ;
end;
end;
begin
past:=15;
vll:=0.0;
v21:-0.0;
t:=0.0;
i:=0;
repeat
t:=t+past;
i:=i+l;
xO:=30+round(4*t) ;
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

113
vl:-vll;v2:=v21;
kll =past*dery(l,vl,v2) ;
k21 -past*dery(2,vl,v2);
kl2 =past*dery(l,vl+kll/2.0,v2+k21/2.0) ;
k22 =past*dery(2,vl+kll/2.0,v2+k21/2.0) ;
kl3 =past*dery(l,vl+kl2/2.0,v2+k22/2.0) ;
k23 =past*dery(2,vl+kl2/2.0,v2+k22/2.0) ;
kl4 =past*dery(l,vl+kl3,v2+k23) ;
k24 =past*dery(2,vl+kl3,v2+k23) ;
vll =vl+(kll+2.0*kl2+2.0*kl3+kl4)/6.0;
v21 =v2+(k21+2.0*k22+2.0*k23+k241/6.0 ;
ycl[i]:=vll;yc2[i]:=v21;
until t>780;
end;
procedure sl(var s:double;var sd:deri;m:integer) ;
var
a:double;
begin
3:=0.0;
for i:=l to 2 do sd [i, 1] : =0 . 0;
for i:=l to n do begin
a:-exp(-beta*(i-1)*dt) ;
yl[i]:=alfa* (1.0-a) ;
s:=s+sqr(yl[i]-xl[i]+xl[1]) ;
if m>0 then begin
sd[l,l]:=sd[l,l]+2.0*(yl[i]-xl[i]+xl[1])* (1.0-a) ;
sd[2,l]:=sd[2,l]+2.0*(yl[i]-xl[i]+xl[1])*alfa*a*(i-l)*dt
end
end;
end;
procedure s2(var s:double;var sd:deri;m:integer);
var
a,b:double;
begin
s:=0.0;
for i:=l to 3 do sd[i,1]:=0.0;
for i:=l to n do begin
a:=exp (-beta*(i-1)*dt) ;
b:=exp(-delta*(i-1)*dt) ;
y2 [i]:=alfa+gama*a-(alfa+gama)*b;
s:=s+sqr(y2[i]-x2[i]+x2[1]);
if m>0 then begin
sd[l,l]:=sd[l,l]+2.0*(y2[i]-x2[i]+x2[1])*(1.0-b) ;
sd[2,l] :=sd[2,l]+2.0*(y2[i]-x2[i]+x2[l] )* (a-b) ;
sd[3,1]:=sd[3,1]+2.0*(y2[i]-x2[i]+x2[l])*(alfa+gama)*(i-1)*dt
end
end;
end;
procedure s3(var s:double;var sd:deri;m:integer) ;
var
a:double;
jx:array [1..3] of double;
begin
s:=0.0;
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

114
for i:=l to n do begin
a:=exp(-beta*(i-1)*dt) ;
yl [i]:=alfa* (1.0-a) ;
eps[i]:-yl[i]-xl[i]+xl(l];
jx[l]:=alfa*a*beta;
jx[2]:=-1.0;
we [i] :=cov[l,l]*sqr(jx[l] )+cov [2 , 2 ] *sqr ( jx [2 ] ) ;
rol [i] :=abs (eps [i] ) /sqrt (we [i] ) ;
s : =s+sqr (eps [i] ) /we [i] ;
if m>0 then begin
sd[l,i]:=1.0-a;
sd[2,i]:=alfa*a*(i-1)*dt
end
end;
end;
procedure s4(var s:double;var sd:deri;m:integer) ;
var
a,b:double;
jx:array [1..3] of double;
begin
s:=0.0;
for i:=l to n do begin
a:=exp(-beta*(i-1)*dt) ;
b:=exp(-delta*(i-1)*dt) ;
y2 [i]:=alfa+gama*a-(alfa+gama)*b;
eps[i] :=y2[i]-x2[i]+x2[l] ;
jx[1]:=-gama*a*beta+(alfa+gama)*b*delta ;
jx[2] :=-1.0;
we [i] :=cov [1,1] *sqr (jx[l] ) +cov[3, 3] *sqr (jx[2]);
ro2 [i] :=abs(eps[i])/sqrt (we [i]) ;
s:-s+sqr (eps [i])/we [i];
if m>0 then begin
sd[l,i]:=1.0-b;
sd[2,ij:=a-b;
sd[3,i]:=(-gama*a+(alfa+gama)*b)*(i-1)*dt
end
end;
end;
procedure eli(m:integer);
var
btb,btbi,bteb,wa:array [1..3,1..3] of double;
c,fl0,f20:double;
begin
{ restorecrtmode;}
for i:=l to 3 do for j:=l to 3 do
begin btb [i, j ] : =0 . 0 ;btbi [i, j ] : =0 . 0,-bteb [i, j ] :=0 . 0 end;
for i:=l to 3 do btbi [i, i] :=1. 0;
for j:=1 to mdo
for k:=j to mdo begin
for i:=l to n do btb [j,k]:=btb(j,k]+sd[j,i]*sd[k,i];
btb[k,j]:=btb[j,k]
end;
for j : =1 to mdo
for k:=l to mdo
for i:=l to n do bteb[j,k]:=bteb(j,k]+sd[j,i]*we [i]*sd[k,i];
for i:=l to mdo begin
c:=btb[i,i];
for j:=i to mdo btb[i,j]:=btb[i,j]/c;
for j:=l to mdo btbi[i,j]:=btbi[i,j]/c;
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

115
for k:^! to mdo
if koi then begin
c:=btb [k,i];
for j:=i to mdo btb[k,j]:=btb[k,j]-c*btb[i,j] ;
for j:=l to mdo btbi [k,j]:=btbi[k,j]-c*btbi[i,j]
end;
end;
for j:=l to mdo for k:=l to mdo btb [j,k]:=0.0;
for j:=l to mdo for k:=l to mdo
for i:=l to mdo btb [j,k]:=btb[j,k]+btbi[j,i]*bteb[i,k];
for j:=l to mdo for k:=l to mdo wa [j , k] :=0 . 0;
for j:=l to mdo for k:=l to mdo
for i:=l to mdo wa [j,k]:=wa [j,k]+btb[j,i]*btbi[i,k];
for j:=l to mdo for k:=l to mdo
begin bteb[j,k]:=0.0;if j=k then bteb[j,k]:=1.0 end;
for i:=l to mdo begin
c:=wa[i,i];
for j^i to mdo wa [ i / j ] : =wa [ i, j ] /c;
for ]:=! to mdo bteb[i,j]:=bteb[i,j]/c;
for k:=l to mdo
if koi then begin
c: =wa[k, i] ;
for j:=i to mdo wa [k,j]:=wa[k,j]-c*wa[i,j];
for j:=l to mdo bteb [k,j]:=bteb [k,j]-c*bteb [i,j]
end;
end;
writeln(wa[l,l],wa[l,2],wa[2,l],wa[2,2]);
samare:=bteb[l,l]+bteb[2,2];
samica:=bteb[l,l]*bteb[2,2]-bteb [1,2]*bteb[2, 1] ;
samica : =sqrt f sqr (samare) -4.0 ^"s arnica) ;
fl0:=(samare-samica)/2.0;
f20:=(samare+samica)/2.0;
samare:=2.45/sqrtfflO) ;
samica:=2.45/sqrt(f20) ;
f20:--bteb[2,1]/ (bteb [2,2]-flO) ;
ualfa:=57.297*arctan(f20) ;
writein(samare,samica,ualfa) ;
axel;
setcolor(12)
line(30+round(18*(alfa0-2*samare-85)),400-round(1000*(1000*beta0-l.3))
,30+round(18*(alfa0+2*samare-85)),400-round(1000*(1000*beta0-l.3)))
line(30+round(18*(alfaO-85)),400-round(1000*(1000*beta0-2000*samica-l.3))
,30+round(18*(alfaO-85)),400-round(1000*(1000*beta0+2000*samica-l.3))),
set color (15) ;
ellipse(30+round(18*(alfaO-85) )
,400-round(1000*(1000*beta0-l.3) ), 0,360
,round (18*samare),round(l.e6*samica)) ;
outtextxy(300,450,'Pentru continuare apasati orice tasta!');
outtextxy (400,70,'Elipsa de (Encredere (95%) pentru vasul nr.l');
str(samare:6:2,xx) ;
str(1000*samica:6:3,yy);
str (ualfa:6:3,zz);
outtextxy(400,90,'Semiaxa mare: '+xx+' [mm]') ;
outtextxy (400,100,'lOOOxSemiaxa mict: '+yy+' [1/s]');
outtextxy(400,110,'Inclinarea axei mari:'+zz+'0 ');
car:=readkey;
res torecrtmode;
setgraphmode(getgraphmode)
end;
function spl (alfa,beta:double):double;
var
suma:double;
i:integer;
begin
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

116
suma : =0 . 0;
for i:=l to n do suma:=suma+sqr(xl[i]-alfa*(1.0-exp(beta*t0[i]))) ;
spl:=suma
end;
function sp2(alfa,beta,gama,delta:double):double;
var
suma,co:double;
i:integer;
begin
co:=gama/(beta-gama);
suma:=0.0;
for i:=l to n do
suma:=suma+sqr (x2[i]-delta*(1.0-co*u[i]+(co-1.0) *exp(gama*t0 [i]) ) ) ;
sp2:=suma
end;
begin
assign (f,'expe.dat') ;
reset (f) ;
readin(f,n) ;
for i:=l to n do readin(f,tO[i],xl[i],x2[i]);
close(f);
for i:=2 to n do u[i]:=ln (1.0-(xl[i]-xl[1])/103.5) ;
samare:=0.0;
samica:=0.0;
for i:=2 to n do begin
samare:=samare+sqr(tO[i]) ;
sarnica:=samica+t0[i]*u[i]
end;
samica:=samica/samare ;
samare:=0.0;
for i:=2 to n do samare:=samare+sqr(samica*t0[i]-u[i]);
write(samica,samare);readin;
assign(f,'cov.dat') ;
reset(t) ;
readin(f,nit);
for i:=l to 3 do for j:=l to 3 do read(f,cov[i,j]);
close(f) ;
assign(g,'para.dat');
reset(g) ;
readin(g,alfa0,beta0);
readin(g,alfa0,beta0,gamaO,deltaO) ;
close(g) ;
s0:=spl(alfa0,beta0) ;
dl:=(sO-spl(1.001*alfa0,beta0))/ (0.001*alfa0) ;
d2:=(sO-spl(alfa0,1.001*beta0))/(0.001*beta0) ;
write(dl,d2) ;
( readin;
exit;)
detectgraph(gdriver,gmode) ;
InitGraph(gdriver,gmode,'');
dubluvas ;
settextjustify(1,1);
outtextxy(500,50,'OPTIUNE ASUPRA METODEI');
rectangle(400,60,600,105) ;
k:=l;
outtextxy(320,420,
'Selectare: tastele cu sgeti '+#24+#25+'; Activare: Enter.')
repeat
for i:=l to 2 do begin
if i^k then setcolor(13) else setcolor(15);
outtextxy(500,60+15*1,opt[i] ) ;
end;
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

117
car:=readkey;
if car=#0 then begin
car:=readkey;
if car=#80 then k:=k+l;
if car=#72 then k:=k-l;
if k<l then k:=2;
if k>2 then k:=l;
end;
until car=#13;
opty:=k;
restorecrtmode ;
setgraphmode(getgraphmode) ;
settextjustify(0, 1) ;
for i:=l to 18 do outtextxy(30,40+15*i,sir[i]);
setcolor (13) ;
outtextxy(30,280,sir[16]+opt[opty]) ;
setcolor (15) ;
settextjustify (1,1) ;
outtextxy(300,450,'Pentru continuare apasati orice tasta!');
car:=readkey;
restorecrtmode;
setgraphmode(getgraphmode) ;
settextjustify (1,1) ;
assign(g,'para.dat');
reset(g);
readin(g,alfa0,beta0) ;
close(g) ;
randomize;
axe;
outtextxy(40,40,'ehl [mm]') ;
for i:=l to n do begin
circle(30+round(0.7*t0[i]),400-round(5*(xl[i]-xl[1])),2) ;
setcolor (11);
circle(30+round(0.7*(tO[i]+15)),400-round(5*ycl[i]),2) ;
setcolor(15)
end;
x0:=30;y0:=400;
alfa:=alfa0;
beta:=beta0;
moveto(xO,yO) ;
case opty of 1: sl(s0,sd,0); 2: s3(s0,sd,0); end;
for i:=l to n do begin
x0:=30+round(0.7*(i-1)*15) ;
y0:=400-round(5*yl[i]) ;
lineto(x0,y0) ;
end;
str(alfa0:8:3,xx);str(betaO:11:8,yy);str (sO:8:4,zz) ;
outtextxy(300,430,'A='+xx+' al='+yy+' S^'+zz);
outtextxy(300,450,'Pentru continuare apasati orice tasta!'it-
car: =readkey;
setcolor(0) ;
for i:=l to n do begin
circle(30+round(0.7*t0[i]),400-round(5*(xl[i]-xl[1])),2) ;
circle(30+round(0.7 *(t0(i]+15)),400-round(5*yc1[i]),2)
end;
x0:=30;y0;=400;
alfa:=alfa0;
beta:=beta0;
moveto(xO,yO);
case opty of 1: sl (sO, sd, 0) ; 2: s3(s0,sd,0); end;
for i:=l to n do begin
x0:=30+round(0.7*(i-1)*15) ;
y0:=400-round(5*yl[i]) ;
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

118
lineto(x0,y0);
end;
outtextxy(300,450,'Pentru continuare apasati orice tasta!');
setcolor(15) ;
k:=0;
repeat
x0:=30;y0:=400;
alfa:=alfa0+0.05*(1.0-2.O*random) ;
beta:=beta0+0.0001*(1.0-2.O*random) ;
moveto(xO,yO) ;
case opty of 1: sl(s,sd,0); 2: s3(s,sd,0); end;
for i:=l to n do begin
x0:=30+round(0.7*(i-1)*15);
y0:=400-round(5*yl[i] ) ;
lineto(xO,yO) ;
end;
for i:=l to n do
circle(30+round(0.7*t0[i]),400-round(5*(xl[i]-xl [ 1])),2);
delay (100) ;
setcolor(0) ;
x0:=30;y0:=400;
moveto(xO,yO) ;
case opty of 1: sl(s,sd,0); 2: s3(s,sd,0); end;
for i:=l to n do begin
x0:=30+round(0.7*(i-1)*15) ;
y0:=400-round(5*yl[i]) ;
lineto (x0,y0) ;
end;
setcolor(15);
if s0>s then begin alfaO:=alfa;beta0:=beta;sO:=s;k:=l end else k:=k+l;
if k=10*(k div 10) then begin
if k>0 then
begin setcolor(0);outtextxy(500,320,xx+yy);setcolor(15) end;
str(s:10:3,xx);str(k:5,yy);outtextxy(500,320,xx+yy)
end;
until k=nit;
x0:=30;y0:=400;
moveto(xO,yO) ;
alfa:=alfa0;beta:=beta0;
case opty of 1: sl(s,sd,0>; 2: s3(s,sd,0); end;
for i:=l to n do begin
x0:=30+round(0.7*(i-1)*15) ;
y0:=400-round(5*yl[i]) ;
lineto(x0,y0);
end;
alf:=alfa0;bet:=beta0;
setcolor (0) ,-outtextxy (500, 320,xx+yy) ; setcolor (14) ;
sir (alfaO: 8: 3,xx) ; str (betaO : 11: 8,yy) ; str (s0 : 8 : 4, zz) ;
outtextxy(300,440,'A='+xx+' al='+yy+' S='+zz);
setcolor(15);
case opty of 1: begin
str (s0/ (n-2):6:4,xx) ;
str(n-2:3,yy);
outtextxy(500,320,'sy='+xx);
outtextxy(500,335,'Grade de libertate: '+yy);
str(sqrt(s0/(n-2)):6:3,xx) ;
outtextxy(500,350,'Abatere medie patratica: '+xx);
end;
2: begin
str(sO/n:7:4,xx) ;
outtextxy(500,320,'Distanta normalizata medie:'+xx);
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

119
outtextxy(500,335,'Valoarea critica (95%): 2.45');
end;
end;
outtextxy(300,450,'Pentru continuare apasati orice tasta!');
car:^readkey;
restorecrtmode;
setgraphmode(getgraphmode) ;
if opty=2 then begin s3(s,sd,1);eli (2) end;
settextjustify(1,1) ;
assign(g,'para.dat');
reset(g) ;
readin(g,alfaO,betaO) ;
readln(g,alfa0,beta0,gamaO,deltaO) ;
beta0:=bet;
close(g) ;
axe;
outtextxy(40,40,'eh2 [mm]');
for i:=l to n do begin
circle(30+round(0.1*t0[i]),400-round(5*(x2[i]-x2 [1])),2);
setcolor (11) ;
circle(30+round(0.7 *(tO[i]+15)),400-round(5*yc2[i] ) , 2) ;
seteolor(15)
end;
x0:=30;y0:=400;
alfa:=alfa0;beta;=beta0 ;
gama:=gama0;delta:=delta0;
moveto(xO,yO);
case opty of 1: s2(s0,sd,0); 2: s4(s0,sd,0); end;
for i;=l to n do begin
x0:-30+round(0.7*(i-1)*15) ;
y0:-400-round(5*y2[i]) ;
lineto(x0,y0) ;
end;
strfalfa0:8:3,xx);str(beta0:ll:8,yy);
str(gama0:8:3,tt);str(deltaO:ll:8,uu);str(s0:8:4,zz);
outtextxy(320,430,'B='+xx+' al='+yy+' C='+tt+' a2='+uu+' S='+zz)
outtextxy (300,450,'Pentru continuare apasati orice tasta!');
car:=readkey;
setcolor (0);
for i:=l to n do begin
circle(30+round(0.7*10 [i]),400-round(5*(x2[i]-x2[1])),2);
circle(30+roundfO.7*(tO[i]+15)),400-round(5*yc2[i]),2)
end;
xO:=30;y0:=400;
alfa:=alfa0;beta:=beta0;
gama:=gama0;delta:=delta0 ;
moveto (xO, yO) ;
case opty of 1: s2(s0,sd,0); 2: s4(s0,sd,0); end;
for i:=1 to n do begin
xO:-30+round(0.7*(i-1)*15) ;
y0:=400-round(5*y2[i]);
lineto(x0,y0) ;
end;
outtextxy(300,450,'Pentru continuare apasati orice tasta!');
setcolor(15);
k:=0;
repeat
x0:=30;y0;=400;
alfa:=alfa0+0.05*(1.0-2.O*random) ;
beta:=beta0;
gama:=gama0+0.05*(1.0-2.O*random) ;
delta:=delta0+0.000005*(1.0-2.0*random) ;
moveto(x0,y0) ;
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

120
case opty of 1: s2(s,sd,0); 2; s4(s,sd,0); end;
for i:=l to n do begin
x0:=30+round(0.7*(i-1)*15);
y0:=400-round(5*y2[i]) ;
lineto(x0,y0) ;
end;
for i: =1 to n do
circle(30+round(0.7*t0[i]),400-round(5 *(x2[i]-x2[1])),2) ;
delay (20) ;
setcolor (0) ;
x0:=30;y0:=400;
moveto(xO,yO);
case opty of 1: s2(s,sd,0); 2: s4(s,sd,0); end;
for i:=l to n do begin
x0:=30+round(0.7*(i-1)*15) ;
yO:=400-round(5*y2[i] ) ;
lineto (x0,y0) ;
end;
setcolor(15);
if s0>s then begin
alfa0:=alfa;beta0:=beta;
gamaO:=gama;delta 0:=delta;
s0:=s;k:=l
end else k:=k+l;
if k=10*(k div 10) then begin
if k>0 then
begin setcolor (0) ,-outtextxy (500, 320,xx+yy) ; setcolor (15) end;
str(s:10:3,xx);str(k:5,yy);outtextxy(500,320,xx+yy)
end;
until k=nit;
for i:=l to n do
circle(30+round(0.7*t0[i]),400-round(5*(x2[i]-x2[1] ) ) ,2) ;
x0:=30;y0:=400;
alfa:=alta0;beta:=beta0;
gama:=gama0;delta:=delta0;
moveto(xO,yO);
case opty of 1: s2(s0,sd,0); 2: s4(s0,sd,0); end;
for i:=l to n do begin
x0:=30+round(0.7*(i-l)*15) ;
y0:=400-round(5*y2[i]) ;
lineto(x0,y0) ;
end;
setcolor(0);outtextxy(500,320,xx+yy);setcolor (14) ;
strfalfaO:8:3,xx);str (betaO:11:8,yy) ;
str(gamaO:8:3,tt);str(delta0:ll:8,uu);str(s0:8:4,zz);
outtextxy(320,440,'B='+xx+' al='+yy+' C='+tt+' a2='+uu+' S='+zz);
setcolor (15) ;
case opty of 1: begin
str (s0/ (n-3) : 6: 4,xx) ;
str(n-3:3,yy) ;
outtextxy(500,320,'sy='+xx) ;
outtextxy(500,335,'Grade de libertate: '+yy);
str(sqrt(s0/(n-3)):6:3,xx) ;
outtextxy(500,350,'Abatere medie patratica: '+xx);
end;
2: begin
str(sO/n:1:4,xx) ;
outtextxy(500,320,'Distanta normalizata medie:'+xx);
outtextxy (500,335,'Valoarea critict (95%): 2.45');
end;
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

121
end;
rewrite(g) ;
writeln(g,alf:10:3,' ',bet:12:8) ;
writeln(g,alfa0:10:3,' ',betaO:12:8,' ',gamaO:10:3,' ',deltaO:12:8) ;
close(g) ;
outtextxy(300,450,'Pentru continuare apasati orice tasta!');
car:=readkey;
closegraph;
assign (f,'est.dat') ;
rewrite(f);
case opty of 1: writelnff,' t hi hie ehl h2 h2c eh2')
2: writeln(f,' t hi hie rol h2 h2c ro2')
end;
for i:=l to n do
case opty of 1:
wnteln(f,t0 [i] : 5 : l,xl [i] : 8 :1, yl [i]+xl[l] : 7 :2 , yl [i]+xl [1]-xl [i] :6:2
,x2 [i] :8:l,y2 [i]+x2 [1] : 7 : 2 , y2 [i]+x2 [ 1]-x2 [i] :6:2) ;
2:
writeln(f,t0[i] :5:l,xl [i]:8:1,yl[i]+xl[1]:7:2,rol[i]:6:3
,x2[i]:8:l,y2[i]+x2[1]:7:2,ro2[i]:6:3);
end;
close(f)
end.
program rec;
uses CRT,graph;
{ Fisierul EGAVGA.BGI trebuie sa fie prezent in directorul/folderul de lucru(
const
nf=32;
model:array [1..2] of string=( ' y (t+1) =cl. y (t)+sl. u (t) ' ,
'y(t+l)=cl.y(t)+c2.y(t-l)+sl.u(t) ' ) ;
para:array [1..2] of string=( ' e ' '= [cl aal ] ' , ' e ' ' ='[cl c2 sl ] ' ) ;
fata:array [l..nf] of string=(
' PROGRAM PENTRU ESTIMAREA DE PARAMETRI',
' RECURSIVA',
' Programul prezent ilustreaza estimarea recursiva a parametrilor in doua',
'modele, unul de ordinul intai, altui de ordinul al doilea.',
' Datele experimentale din fisierul EXPE.DAT sunt recoltate efectiv de pe ',
'un sistemde doua vase cu scurgere libera, in cascada. Primui vas detasat',
'din context este (aproximativ) un sistemde ordinul unu, cu o intrare',
'(debitui de alimentare de la reteaua de apa curenta) si o iesire (nivelul',
'in vas). Ansamblul celor doua vase este (tot aproximativ) un sistemde',
'ordinul doi, de asemenea cu o intrare (aceeasi ca mai sus) si una sau doua',
' iesiri (nivelul in unul din vase sau ambele niveluri).',
' Sunt de estimat doi sau, respectiv trei parametri. Modelele discretizate',
'apar pe ecran la momentui potrivit. La fei vectorul parametrilor de esti-',
'mat e.',
' Relatia de recurenta este',
e (t+l)=e (t)+K(t+l) .i(t+l) ',
' cu' ,
K(t+l)=P(t) .z(t+l)/(a(t+l)+z' ' (t+1) .P(t) .z(t+l)) ',
'in care ' ,
a(t+1)=a0.a(t)+(l-a0) ',
' si cu ' ,
i (t+l)=y(t+l)-z" (t+1) .e(t) ' ,
' Matricea P se calculeaza recursiv cu relatia',
'P(t+l)=[P(t)-P(t) .z(t+l) . (a(t+l)+z' ' (t+1) .P(t) .z (t+1) ).z''(t+l).P(t)]/a(t+l)'
' In cazurile tratate',
z (t+l)=[-y(t) u(t) ] ',
'respectiv',
z (t+l)=[-y (t) -y(t-l) u(t)]',
' Programul are in vedere o singura metoda, cea a celor mai mici patrate.',
'','Pentru continuare apasati orice tasta!');
drl:array [1..4] of pointtype=((x:70;y:150),(x:180;y:150)
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

122
,(x:180;y:210),(x:70;y:210)) ;
dr2 : array [1..4] of pointtype" ( (x: 460; y: 170) , (x: 570,-y: 170)
,(x:570;y:230),(x:460;y:230)) ;
pur:fillpatterntype=($FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF) ;
var
f:text;
gdriver,gmode,i,j,k,l,m,mx,my,n:integer;
t0:array [1..60] of double;
yl,yc,yest:array [1..60,1..2] of double;
a,psi,tetal,tetaO:array [1..5] of double;
b,pl,p0,pp:array [1..5,1..5] of double;
alfa,la,la0,y:double;
car:char;
xx:string;
function ing(a:real;nd:integer):string;
var
xx,yy:string;
i:integer;
begin
str(10.0*a,xx) ;
yy:-";
for i:=l to nd+6 do yy:=yy+' ';
yy[l]:=xx[l] ;
yy[2]:='.';
yy[3] :=xx[2];
if nd>l then for i:=2 to nd do yy[i+2]:=xx [i+2];
yy[nd+3]:=xx(18] ;
yy[nd+4]:=xx[19] ;
yy[nd+5]:=xx[22];
yy[nd+6]:-xx[23] ;
ing:=' '+copy(yy,1/nd+6);
end;
procedure axe;
var
xx:string;
begin
for i:=0 to 1 do begin
line(30,400+i,610,400+i) ;
line(30-i,50,30-1,400) ;
line(30-i,50,25-i,55) ;
line (30-i,50,35-i,55) ;
line(610,400+i,605,395+i);
line(610,400+i,605,405+i)
end;
for i:=0 to 8 do begin
line(30+70*1,400,30+70*1,397) ;
str(100*i:3,xx) ;
outtextxy(30+70*i,410,xx)
end;
outtextxy(615,410,'[s]') ;
for i:=0 to 3 do begin
line(30,400-100*1,33,400-100*1);
str(20*i:2,xx) ;
outtextxy (15,400-100*1,xx)
end;
end;
procedure fatada;
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

123
begin
settextjustify(0,1) ;
for i:=l to nf-1 do outtextxy(10,14*i,fata[i]);
settextjustify(1,1);
setcolor (14) ;
outtextxy(320,14*nf,fata[nf]) ;
setcolor(15)
end;
procedure recu(m:integer) ;
begin
setfillpattern(pur,15) ;
fillpoly(4,drl);
fillpoly(4,dr2) ;
settextjustify(1,1) ;
setcolor (0) ;
line(75,150,75,210) ;
line(465,170,465,230) ;
line (75,180,175,180) ;
line(465,200,565,200) ;
case mof 2: outtextxy(85,155,'d');
3: outtextxy(100,155,'cl,c2');
end;
outtextxy(475,175,'sl') ;
setcolor (15) ;
axe;
str (m-1: 1, xx) ;
outtextxy(40,40,'eh'+xx+' [mm]') ;
outtextxy(320,425,'MODEL: '+model[m-1]) ;
outtextxy(320,440,'VECTOROL PARAMETRILOR DE ESTIMAT: '+para[m-1]),
for i: =1 to n do
circle(30+round(0.7*t0[i]),400-round(5*(yl[i,m-1]-yl[1,m-l])),2);
for i:=l to 5 do tetal[i]:=0.0;
for i: =1 to 5 do
for j:=l to 5 do begin
pi [i,j]:-0.0;if i=j then pl[i,j]:=1.0
end;
for i:=l to m-1 do yest[i,m-l]:=0.0;
la 0:=0.95;la:=0.95;
settextjustify (0,1) ;
circle(60,80,2) ;
outtextxy(70,80, 'EXPERIMENTAL') ;
setcolor(14);
circle(60,95, 2) ;
outtextxy(70,95,'ESTIMAT PAS CU PAS ' ) ;
outtextxy(70,475,
'Treceti de la un moment la urmatorul apasand o tasta oarecare!');
setcolor(13);
circle (60,110,2) ;
outtextxy(70,110,'CALCULAT CU MODELUL FINAL');
setcolor(15) ;
settextjustify(1,1) ;
outtextxy(386+36*m,290,'MATRICEA P');
line(390,300,390,310+10-m);
line (390, 300, 3 93, 300) ;
line(390,310+10*m,393,310+10*m) ;
line(400+72*m,300,400+72*m,310+10*m);
line(397+72*m,300,400+72*m,300);
line(397+72*m,310+10*m,400+72*m,310+10*m) ;
outtextxy(336,55+5*m,'e =');
outtextxy(328,50+5*m,'"');
line(400-44,50,400-44,60+10*m);
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

124
line(400+54,50,400+54,60+10*m);
line(356,50,359,50) ;
line(356,60+10*m,359,60+10*m) ;
line(451,50,454,50);
line(451,60+10*m,454,60+10*m) ;
for k:=mto n do begin
for i;=l to mdo for j:=l to mdo pO[i,j]:^pl[i,]] ;
for i:=l to mdo tetaO[i]:=tetal[i] ;
for i:=l to mdo begin
for j:=l to mdo outtextxy(350+72*i,300+10*j,ing(pO[i,j],3));
outtextxy(400,50+10*i,ing(tetaO[i],5)) ;
end;
for i:=l to m-1 do putpixel(75+2*(k-m),180-round(20*teta0[i]),2*(i-1))
putpixel(465+2*(k-m),200-round(300*teta0[m]),0) ;
car:=readkey;
setcolor(0) ;
for i:=l to mdo begin
for j:=l to mdo outtextxy(350+72*i,300+10*j,ing(pO[i,j],3));
outtextxy(400,50+10*i,ing(teta0[i],5));
end;
setcolor(15) ;
for i:=l to m-1 do psi[i]:=-yl[k-i.m-1]+yl[l,m-l] ;
psi[m]:=30.0;
y:=yl[k,m-l]-yl[l,m-l] ;
for i:=l to mdo begin
a[i]:=0.0;
for j:=l to mdo a[i]:=a[i]+psi[i]*p0[j,i]
end;
la:=la0*la+l.0-laO;
alfa:=la;
for i =1 to mdo alfa:=alfa+a [i]*psi[i] ;
alfa:=1.0/alfa;
for i =1 to mdo for j:=1 to mdo pp[i,j]:=alfa*psi[i]*psi[j] ;
for i ^1 to mdo for j :=1 to mdo b[i,j]:=0.0;
for i =1 to mdo for j:=1 to mdo
for 1:=1 to mdo b[i,j]:=b[i,j]+p0[i,l]*pp[1,j] ;
for i =1 to mdo for j :=1 to mdo pp [i, j ] :=0.0;
for i =1 to mdo for j:=1 to mdo
for 1:=1 to mdo pp [i, j ] :=pp [i, j ]+b [i, 1] *p0 [1, j ] ;
for i:=l to mdo for j:=l to mdo pi [i, j ] :=(pO [i , j ]-pp [i , j ] )/la;
yest[k,m-l]:=0.0;
for i:=l to mdo yest[k,m-1]:=yest[k,m-l]+psi[i]*teta0[i];
setcolor(14) ;
circle(30+round(0.7*t0[k]),400-round(5*yest[k,m-l]),2);
setcolor(15) ;
for i:=l to mdo a[i]:=0.0;
for i:=l to mdo for 1:=1 to mdo a [i] :-a [i]+p0 [i, 1] *psi [1] ;
for i:=l to mdo begin
a[i]:=alfa*(y-yest[k,m-l])*a[i];
tetal[i):=teta0[i]+a[i]
end;
end;
if m=2 then assign(f,'reel.dat') else assign(f,'rec2.dat');
rewrite(f) ;
for i:=l to m-1 do yc[i,m-l]:=yl[i,m-l]-yl[l,m-l] ;
setcolor(13) ;
for k:=mto n do begin
yc[k,m-l]:=tetal[m]*30.0;
for i:=1 to m-1 do
yc[k,m-l]:=yc[k,m-l]-tetal[i]*yc [k-i,m-l] ;
circle(30+round(0.7*t0[k]),400-round(5*yc[k,m-1]),2) ;
wnteln(f,yl [k, m-1]-yl [ 1, m-1] : 10 : 2 , yest [ k,m-l] : 12 : 3 , yc [k,m-l] : 12 :3)
end;
close(f) ;
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

125
for i:=1 to mdo begin
for j:=l to mdo outtextxy(350+72*i,300+10*j,ing(pO[i,j],3));
outtextxy(400,50+10*1,ing(teta0 [i],5)) ;
end;
car:=readkey;
clear viewport;
setcolor(15)
end;
begin
assign (f,'expe.dat') ;
reset (f) ;
readin(f,n) ;
for i:=l to n do readin(f,tO[i],yl[i,1],yl[i,2]);
close(f) ;
detectgraph(gdriver,gmode) ;
InitGraph(gdriver,gmode,'') ;
mx:=getmaxx;
my:=getmaxy;
fatada;
car:=readkey;
clear viewport;
recu(2) ;
recu(3) ;
closegraph
end.











LUCRAREA 13

IDENTIFICARE DINAMIC PENTRU
CONDUCEREA UNUI SISTEM DE REGLARE A
PRESIUNII



1. OBIECTIVELE LUCRRII

Aplicarea tehnicilor de identificare dinamic a proceselor n
scopul proiectrii unui regulator pentru conducerea unui sistem
de reglare a presiunii.
Elaborarea unui program software de achiziie de date i
identificare pentru un sistem de reglare a presiunii.

2. BREVIAR TEORETIC

2.1. Descrierea SRA-P

Sistemul de reglare automat ce urmeaz a fi studiat este destinat
reglrii presiunii aerului ntr-un recipient i se afl n laborator.
Schema sistemului de reglare automat este prezentat n figura 13.1.

Traductorul de presiune PT sesizeaz continuu variaia presiunii P
2
i
transmite regulatorului PC un semnal electric proporional cu valoarea
curent a acestuia. Regulatorul compar valoarea semnalului I
r
cu
valoarea I
i
asociat prescrierii P
i
i n cazul n care apare o abatere se
emite o comand I
c
robinetului de reglare, dup un algoritm de tip PI
sau PID. Convertorul electro-pneumatic face posibil compatibilitatea
funcionrii regulatorului PC electronic - cu robinetul de reglare RR-
pneumatic.


IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

112



Fig. 13.1. Schema sistemului de reglare automat a presiunii.

Sistemul de reglare este dublat de un element de comand manual HC
(conturul punctat). Comutatorul ce selecteaz cuplarea/decuplarea
sistemului de reglare este amplasat pe elementul de comand manual
HC.

2.2. Modelul matematic al procesului

n regim dinamic cele dou vase sunt descrise de ecuaiile:
; V
1 1
1
1 e i
Q Q
dt
d
=

(13.1)
. V
2 1 2 2
2
2 e e e i
Q Q Q Q
dt
d
=

(13.2)
Curgerea prin robinetele R
2
i R
3
fiind turbulent, poate fi scris
relaia

) (
2 1 2 1
P P K Q
V e
= (13.3)
De asemenea, se cunoate

, P
RT
M
= (13.4)

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

113

nlocuind relaiile (13.3) i (13.4) n (13.2), rezult:

= ; ) (
2 1 1 2 1
1 1
P P P
RT
M
K Q
dt
dP
RT
M V
V i
(13.5)
. ) (
2 2 1 1 2
2 2
e V
Q P P P
RT
M
K
dt
dP
RT
M V
= (13.6)

care, liniarizate n jurul punctului ( )
0 2 0 1 20 10
; ; ;
e i
Q Q P P , conduc la:

2
20 10
2
10
10
1 1
20 10
2
10
20 10
1
1
2 2
2
2 2
P
P P P
P
RT
M
K Q P
P P P
P P
RT
M
K P
RT
M V
V i V

+ =


e V V
Q P
P P P
P P
RT
M
K P
P P P
P
RT
M
K P
RT
M V
2 1
20 10
2
10
20 10
2
20 10
2
10
10
2
2
2
2
2
2 2

;
(13.7)
respectiv:

2 12 1 11 1 1 1
P b Q b P P a
i
+ = +


e
Q b P b P P a
2 22 1 21 2 2 2
+ = +

(13.8)

unde:

( )
20 10
20 10
2
10
1
1
2
2
2
P P K
P P P
M
RT
RT
M V
a
V

=

10
20 10
2
10
2
2
2
2
P K
P P P
M
RT
RT
M V
a
V

=

( )
20 10
20 10
2
10
11
2
2
2
P P K
P P P
M
RT
b
V

=
10
20 10
2
10
22
2
2
P K
P P P
RT
M
b
V

=
20 10
10
12
2 P P
P
b

= ;

10
20 10
21
2
P
P P
b

= ; (13.9)
Valori practice pentru constantele de timp i coeficienii de amplificare
asociate instalaiei din laborator sunt considerate a fi urmtoarele:
035 , 0 5 , 0
4
3 , 0
4
2 2
2 1
=

= = = =

H
D
V V V
3
m ;
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

114

2
1
= P bar
2 5
/ 10 2 m N = ; 1
2
= P bar
2 5
/ 10 m N = ;

38 , 2
293 8315
10 2 29
5
1 1
=


= = P
RT
M

3
/ m Kg ;
001 , 0 38 , 2 15
4
006 , 0
4
2
1
2
=

= =

d
Q s Kg / ;

( )
( )
6
5
2 1 1
10 2
10 1 2 38 , 2
001 , 0
2

=

=

=
P P
Q
K
V


2
m ;
( )
( )
60
10 10 4 10 2
10 1 2 10 2 2
29
293 8315
293 8315
29 035 , 0
5 5 6
5 5
1


= a s ;
( )
85
10 2 10 2
10 1 2 10 2 2
29
293 8315
293 8315
29 035 , 0
5 6
5 5
2


= a s ;
( )
( )
8
5 6
5 5
11
10 36 , 1
10 1 4 10 2
10 1 2 10 2 2
29
293 8315
=


= b
ms
1
;
67 , 0
1 2 2
2
2
20 10
10
12
=

=

=
P P
P
b ;
5 , 1
2
1 2 2 2
10
10 20 10
21
=

=

=
P
P P P
b ;
( )
8
5 6
5 5
22
10 05 , 2
10 2 10 2
10 1 2 10 2 2
29
293 8315
=


= b
ms
1
.

Este evident c valorile constantelor
22 21 12 11 2 1
, , , , , b b b b a a pot fi
modificate, printre altele, cu ajutorul robinetului R
2
.

Avnd n vedere c cele dou vase sunt n interaciune, fapt evideniat
i de modelul matematic, schema bloc a procesului, figura 13.2,
conine un element cu reacie.

Fig. 13.2. Schema bloc a procesului de acumulare a gazului n cele
dou vase cu interaciune
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

115



Sistemul de ecuaii difereniale care reprezint modelul i schema bloc
din figura 13.2 permit evidenierea urmtoarelor funcii de transfer:

( )
( )
( ) 1
1
11
1
1
1
+
=

=
s a
b
s Q
s P
s Y ,
( )
( )
( ) 1
1
12
2
1
2
+
=

=
s a
b
s P
s P
s Y ,
( )
( )
( ) 1
2
22 2
3
+
=

=
s a
b
s Q
s P
s Y
e
, (13.10)
( )
( )
( ) 1 1
2
21
1
2
4
+
=

=
s a
b
P
s P
s Y .

n ansamblu, procesul reprezint un sistem caracterizat prin funcii de
transfer ce fac legtura ntre mrimea de execuie, mrimea
perturbatoare i mrimea de ieire.

Pentru procesul de acumulare a gazului din cadrul SRA-P schema bloc
este adus la forma din figura 13.3. Aplicnd algebra funciilor de
transfer pentru sisteme cu reacie se poate scrie:

( ) ( ) ( ) ( ) s Q Y s P Y Y s Q Y Y s P
e
+ =
3 2 4 2 1 4 1 2
(13.11)

ceea ce conduce la

( ) ( ) ( ) s Q
Y Y
Y
s Q
Y Y
Y Y
s P
e

=
4 2
3
1
4 2
4 1
2
1 1
(13.12)


Fig. 13.3. Schema bloc simplificat a procesului
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

116



Din relaia de mai sus se deduc funciile de transfer asociate
procesului, de forma:

( )
( )
( )
4 2
4 1
1
2
1 Y Y
Y Y
s Q
s P
s Y
P

=
( )
( )
( )
4 2
3 2
1 Y Y
Y
s Q
s P
s Y
e
PP

= (13.13)

2.3. Identificarea dinamic n contextul proiectrii unui
sistem de reglare

Identificarea este operaia de determinare a caracteristicilor dinamice
ale procesului (sistemului), a crui cunoatere este necesar pentru
proiectarea i implementarea unui sistem performant de reglare.

Figura 13.4 rezum principiile generale de proiectare si calcul ale unui
regulator.

Fig. 13.4. Principiul proiectrii i calculului unui regulator.

Pentru a proiecta corect un regulator sunt necesare:
specificarea performanelor dorite pentru bucla de
comand/reglare;
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

117

cunoaterea modelului dinamic al procesului (numit model
de comand) ce descrie relaia ntre variaiile comenzii i
variaiile ieirii;

disponibilitatea unei metode adecvate de calcul al regulatorului
compatibil cu performanele specificate i caracteristicile
modelului procesului.

Noiunea de model matematic al unui sistem sau fenomen este un
concept fundamental. n general, exist diferite tipuri de modele,
fiecare model fiind destinat unei aplicaii specifice.

De exemplu, modelele de cunoatere (bazate pe legile fizice, chimice,
etc.) permit o descriere destul de complet a sistemelor i sunt utilizate
pentru simularea i modelarea proceselor. Aceste modele sunt, n
general, extrem de complexe i rareori direct utilizabile n automatic.
Modelele dinamice de comand, ce dau relaia ntre variaiile intrrilor
unui sistem i variaiile ieirii, sunt tipuri de modele necesare pentru
proiectarea i ajustarea sistemelor de comand/reglare. Dei indicaii
asupra structurii acestor modele de comand se pot obine pornind de
la structura modelului de cunoatere, n general, este foarte dificil s se
determine valorile parametrilor semnificativi pornind de la aceste
modele.

De aceea, n marea majoritate a situaiilor practice, este pus in
aplicare o metodologie de identificarea direct a acestor metode
dinamice (de comand). De notat c modelele de comand sunt de
dou tipuri:
modele neparametrice ( rspuns n frecven, rspuns la treapt).
modele parametrice ( funcie de transfer, ecuaie diferenial sau
cu diferene).

Metoda de identificare clasic utilizat pentru obinerea modelelor
parametrice pornind de la modele neparametrice de tip rspuns la
treapt este prezentat n figura 13.5.

Aceast metod a fost utilizat iniial pentru a obine modele
parametrice continue, apoi a fost extins pentru identificarea
modelelor discrete. Pornind de la forma rspunsului procesului la
IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

118

treapt, se alege un tip de model i se determin grafic parametrii
modelului. Cunoscnd frecvena de eantionare, se poate obine cu
ajutorul tabelelor modelul discret corespunztor.

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

119


Fig. 13.5. Metoda clasic de identificare.

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

120

Principiul estimrii parametrilor modelelor discrete este prezentat
n figura 13.6.



Fig. 13.6. Principiul estimrii parametrilor unui model

Un model discret cu parametri ajustabili este implementat pe
calculator. Eroarea ntre ieirea procesului la momentul t, ( ) t y , i
ieirea predictat de model, ( ) t y

, numit eroare de predicie, este


utilizat de algoritmul de ateptare parametric. Acesta va modifica
parametrii modelului la fiecare moment de eantionare, astfel nct s
se minimizeze aceast eroare. Intrarea este, n general, o secven
pseudo aleatoare binar de un nivel foarte slab, generat de
calculator (succesiune de impulsuri dreptunghiulare cu durat aleator
variabil). Odat modelul obinut, o validare obiectiv poate fi fcut
prin teste statistice asupra erorii de predicie ( ) t i ieirii predictate
( ) t y

. Testul de validare permite pentru un proces dat s se aleag cel


mai bun model, respectiv cea mai bun structur i cel mai bun
algoritm pentru estimarea parametrilor.

Calculnd i reprezentnd grafic rspunsul la o treapt i rspunsul n
frecven al modelului identificat, se poate determina modelul
continuu (rspuns la o treapt sau rspuns n frecven).

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

121

3. MODUL DE LUCRU

Echipamentul de conducere este compus din calculator i
interfa AX5411.
Se utilizeaz interfaa AX5411 multifuncional, cu urmtoarele
caracteristici:
Subsistemul intrrilor analogice
Numr de intrri 16 simple (AI0 AI15)
Rezoluie 12 bit
Frecvena de achiziie 60 kHZ max.
Timpul de conversie A/D 15 s max
Timpul de achiziie 5s max/canal
Domenii de intrare 10 V, 5V, 2,5V, 1.25 V
0,625V, 0,3125V selectabile software
Impedana de ieire > 10 M, 50 pF
Neliniaritate 1 LSB
Eroare inerent 1 LSB

Subsistemul ieirilor analogice
Numr de ieiri 2 (DA0, DA1)
Rezoluie 12 bit
Frecvena 33 kHZ max.
Domenii de ieire 0-5V, 0-10V selectabile hard
Curent de ieire 5 mA max

Subsistemul ieirilor/intrrilor numerice
Intrri numerice 24 (disponibile 8 DI0-DI7)
Ieiri numerice 24 (disponibile 8 DO0-DO7)
Nivele intrare/iesire compatibile TTL
Conector intrare/ieire 50 pini

Caracteristici de interfa
Magistrala compatibil IBM PC AT
Bii adres utilizai A9- A0
Adres de baz (port) 300 hexa
Locaii necesare 16 (octei)
Nivele de ntrerupere 2,3,4,5,6,7 (controlabile soft)
Sursa de ntreruperi FINISH bit conversie A/D
Opiuni DMA DMA1 sau DMA3 selectabile hard

IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

122

n figura 13.7 este prezentat asignarea pinilor n conectorul
interfeei AX5411. Adresa portului de baz pentru interfa este 0x300.
Fa de aceasta, interfaa utilizeaz 16 adrese consecutive care
constituie spaiul de I/O (R=read, W=write) conform figurii 13.8.


Fig. 13.7. Asignarea pinilor conectorului interfeei AX5411


Fig.13.8. Spaiul I/O al interfeei AX5411


IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

123

Se studiaz aplicaia de achiziie i identificare a parametrilor
modelului matematic, care este format din trei seciuni
principale, descrise n continuare.

Programul de achiziie permite generarea unor tensiuni ctre robinet
i achiziionarea informaiei primite de la traductorul de presiune
(fig.13.9).


Fig. 13.9. Partea de achiziie a aplicaiei

Programul permite vizualizarea continu a parametrilor instalaiei i a
comenzii date ctre robinet prin indicatoarele aflate pe form
(fig.13.10).


Fig. 13.10. Fereastra vizualizare date din proces


IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

124

n modul de baz se face achiziia de pe canalul 0, comanda de
stabilizare este de 7 mA, comanda pentru treapta aplicat procesului
este de 15 mA i filtrul software este activ. Aceti parametri pot fi
schimbai utiliznd butoanele din partea stng a ferestrei, prezentate
n figura 13.11.


Fig. 13.11.Setri placa de achiziie

Fiecare modificare este adus la cunotina utilizatorului prin
intermediul ferestrei de vizualizare comenzi. n cazul cnd fereastra
este plin, pentru a evita pierderea unei informaii, se realizeaz nti o
tergere a comenzilor anterioare i apoi se afieaz ultima comand
executat de ctre utilizator.

n figura 13.12 sunt prezentate unele comenzi executate urmnd
procedura descris anterior.


Fig.13.12. Fereastr vizualizare comenzi


IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

125

Aplicaia permite achiziia datelor genernd fie un semnal treapt,
fie unul ramp. Acest lucru se realizeaz utiliznd meniul prezent n
partea de sus a ferestrei, conform prezentrii din figura 13.13..


Fig. 13.13. Meniu generare semnale

Datele achiziionate vor fi salvate n fiierele de tip text: adi_tp.txt,
adi_rp.txt, direct n rdcina disk-ului C.
Din forma de achiziie se poate face o rentoarcere n forma principal
sau, dup achiziionarea datelor, trecere n seciunea de identificare.

Programul de identificare are o fereastr asociat prezentat n figura
13.14.


Fig.13.14. Fereastra asociat procedurii de identificare



IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

126


Tabelul din figur va prelua datele achiziionate din proces dup
apsarea butonului Incrcare date. Un exemplu, utilizat la aplicarea
procedurii de identificare pentru estimarea parametrilor modelului,
este prezentat n figura 13.15. Butonul de identificare rmne inactiv
pn cnd sunt preluate datele din fiierul text realizat n partea de
achiziie.

Fig.13.15. Tabelul cu datele achiziionate

n urma derulrii procedurii de identificare, pe ecran apare un
indicator de tip ProgressBar care arat procentul realizat din
identificare (fig.13.16), fereastra care prezint modelul matematic
actualizat n urma identificrii (fig. 13.17) i o aa-numit fereastr de
utilizator, care specific separat valoarea parametrilor estimai n urma
aplicrii procedurii de identificare (fig.13.18).




IDENTIFICAREA SISTEMELOR NDRUMAR DE LABORATOR

127


Fig. 13.16. Indicator proces identificare


Fig. 13.17. Fereastra model matematic


Fig. 13.18.Fereastra informare utilizator

Dup ncheierea procedurii de identificare se poate trece la ultima
parte a aplicaiei: reglarea predictiv a sistemului, acionnd butonul
Reglare.

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