Documente Academic
Documente Profesional
Documente Cultură
Laborator Upg
Laborator Upg
Laborator Upg
PACHETUL DE PROGRAME
II
FOLOSIND
PACHETUL
DE
PROGRAME
MATLAB............................................................................................................................17
3. ALGORITMI DE TIPUL FFT (FAST FOURIER TRANSFORM). CALCULUL
FUNCIILOR
DE
CONVOLUIE
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.
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 = { }
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.
(1.1)
(1.2)
10
11
(1.3)
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
n
A(q) y (t ) =
i =1
C (q)
B1 (q)
e(t )
u1 (t nk ) +
D(q)
F1 (q)
(1.4)
OE:
BJ:
13
(1.5)
plot(t,e1)
ylabel (Date cu erori)
xlabel (Timp (s) )
14
15
3. MODUL DE LUCRU
Dac nu este deja creat, se creeaz un director/folder de lucru.
Se activeaz platforma MATLAB i se introduce comanda
16
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:
k
H(s)=
,
(2.1)
Ts + 1
iar funcia de transfer a sistemului de ordinul II :
kwn2 ( s + 1)
(2.2)
H(s)= 2
s + 2 wn s + wn2
cu notaiile uzuale: k pentru factorul de amplificare, wn 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.
18
19
% amplitudinea sinusoidei
% perioada semnalului sinusoidal
% pulsaia (frecvena unghiular)
% 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:
dt=1;
tm=25;
t=0:dt:tm;
for i=1:length(t)
u(i)=-1+rand(1);
end;
y=lsim(num,den,u,t);
plot(t,[y u']);
rspunsului
20
% intervalul de eantionare
% orizontul de timp pe care se face simularea
% vectorul temporal
% realizarea intrrii aleatoare
% calculul de simualare
% reprezentarea grafic a intrrii i
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')
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
22
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;
24
45
1.8
40
1.6
35
1.4
30
1.2
25
1
20
0.8
0.6
15
0.4
10
0.2
10
15
20
25
30
10
15
20
25
1
0.8
0.6
0.4
-0.5
0.2
0
-0.2
-1
Fig.2.2. Reprezentri grafice pentru
sistemele de ordinul II
-0.4
-0.6
-0.8
-1
-1.5
Fi
10
15
10
15
20
25
iesire
1
0.8
0.6
0.4
0.2
0
ies 5
ire
la
w= 0
0.5
*w
n -5
ies 5
ire
la
w= 0
1*
wn
-5
ies 5
ire
la
w= 0
1.5
*w
n -5
10
timp
12
14
16
18
20
10
15
20
25
30
35
40
45
50
10
15
20
25
30
35
40
45
50
10
15
20
25
timp
30
35
40
45
50
25
Diagrama Bode
10
10
-1
10
-2
10
-1
10
10
pulsatia w
10
26
LUCRAREA 3
ALGORITMI DE TIPUL FFT
(FAST FOURIER 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.
28
X(k+1)= x n 1WNkn
n 0
N 1
X(n+1)=
1
N
X k 1WNkn ,
k 0
(3.1)
fft b, h
fft a, n
-2.7574i
-12.0000i
(3.2)
29
c n 1 a k 1 b n k
(3.3)
k 0
q,r=deconv(b,a)
Waveform
1
0.5
0
-0.5
Magnitude (dB)
-1
0.2
0.4
0.6
Time (Seconds)
0.8
20
40
60
Frequency (Hertz)
80
100
40
20
0
-20
-40
Waveform
1
0.5
0
-0.5
Magnitude (dB)
-1
0.2
0.4
0.6
Time (Seconds)
0.8
20
40
60
Frequency (Hertz)
80
100
40
20
0
-20
-40
30
31
Waveform
1
0.5
0
-0.5
Magnitude (dB)
-1
0.2
0.4
0.6
Time (Seconds)
0.8
20
40
60
Frequency (Hertz)
80
100
40
20
0
-20
-40
Waveform
-1
-1
-0.5
0
Time (Seconds)
0.5
-4
-2
0
2
Frequency (Hertz)
Magnitude
2
1
0
-8
-6
Waveform
-1
-1
-0.5
0
Time (Seconds)
0.5
-4
-2
0
2
Frequency (Hertz)
Magnitude
2
1
0
-8
-6
32
33
34
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];
36
0.9934
0.5000
1.0000
37
r=
1.0000
0.7614
0.7614
1.0000
1.5000
6.3333
3.1667
2.5000
3.1667
6.3333
7]
38
39
7] ;
7];
7] ;
sort(a)=[ 1
sort(x)=[ 1
2
2
3 4 5 7]
3; 2 5 5; 3
40
8]
7] ;
41
7.192]
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
11.2414
0.7931 4.2759
7.7586
42
43
44
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
Rspuns indicial
Timp
Rspuns indicial
46
=
y(t )
1 n
x(t i + 1)
n
i =1
(5.1)
47
(2)
(1)
(3)
Timp
(4)
Timp
Timp
48
(5.2)
49
sin
2
W
t
+
2W
n
s (t ) = s
n = 2W
2W t
2W
(5.3)
1,
w(t ) =
0,
t ,
2 2
(5.4)
n rest
W
t
sin
2
+
n
n
2W
s (t ) = s
w t
n
2W
n = 2W
2W t
2
W
50
x
x <
pentru
1
Bartlett ( x, ) =
(5.6)
0
n rest
Fereastra Blackmann
x
0.42 + 0.50 cos + 0.08 cos 2
Blackmann( x, ) =
0
n rest
x <
(5.7)
Fereastra Gauss
x 2
Gauss( x, , ) = 2
0
x <
(5.8)
n rest
Ferestrele Hann i Hamming, foarte asemntoare, diferite numai
prin parametrul (=0.5, respectiv =0.54)
x
+ (1 )cos
H ( x, , ) =
0
x <
(5.9)
n rest
n rest
0
x
sin
x <
Kaiser ( x, , ) =
x
n rest
0
(5.11)
4 6 x 2 3 x3
Parzen( x, , ) =4 6 x 2 + 3x3
3
(2 x)
0
1 x 0
0 x 1
1 x 2
(5.12)
n rest
n rest
0
x <
(5.13)
52
53
54
cos( x) sin( x)
cos c( x) = x
x2
0
pentru
x0
pentru
x=0
55
(5.14)
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.
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.
57
i (r i ) r i /p j =0,
pentru j=1,2,,m
(6.1)
i w(r i ) r i * r i /p j =0
(6.2)
pentru j=1,2,,m
(6.3)
(6.4)
58
59
1 pentru x k
d 2 ( x)
=
dx 2
0 pentru x > k
(6.5)
60
Tabelul 6.1.
(x)
Tip
L2
(x)
x
2
|x|
L1
Sgn(x)
x
x2
2( 1 +
1)
2
L2 L1
Lp
Fair
Hubber |x|
k
|x| > k
c2[
Cauchy
GemanMcClure
Welch
x2
1+
2
2
x
1
x
1+
c
sgn(x) x 1
x
x
1+
c
x
x
log( 1 + )]
c
c
x2
2
x
k sgn(x)
k2
2
c2
x2
log 1 +
2
2
x
1+
c
x2
2
1+ x2
c2
1 exp
2
1
x
1
x2
1+
2
kx
w(x)
1
x
1+
c
(1 + x )
(1 + x 2 )2
2 2
x
c
x exp
x
c
exp
x
c
c2
1
6
x
c
c2
6
x 1
0
x
c
61
x
c
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 L2 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)')
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
64
(7.1)
Regresie polinomial
p(x)= ai x N i =a 0 xN+ a 1 xN
i =0
(7.2)
- 1
65
(7.3)
i =1
Sx j = xij 1 , j = 2,...2nmax + 1;
i =1
Sxy1 = yi ;
(7.4)
i =1
m
b j = Sxy j , j = 1,..., n + 1;
CA = B
wni = a j , j = 1,..., n + 1
(7.5)
= s2 ;
(7.6)
dispn = s 2
66
67
2 k
8
(7.7)
68
69
70
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)
AT (q-1)y(t)=BT (q-1)u(t)+e(t)
unde :
e(t)=reziduul modelului ;
AT (q-1)=1+a 1T q-1+ a 2T q-2+..+ a naT q-na;
AT (q-1)=1+b 1T q-1+ b 2T q-2+..+ b nbT q-nb.
(8.2)
71
(8.3)
(8.4)
( ),
= arg min V
()
T
unde V = y (t ) (t )
i =1
(8.5)
(8.6)
= (t ) (t )
i =1
1 N
(t )y(t ) .
(8.7)
i =1
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)
(8.9)
72
(8.10)
1 N
1 N
2
(
y
(
t
)
=
y
(
t
))
arg
min
( y(t ) T (t ) )2 (8.11)
m
N t 1=
Nt1
=
=
arg min
()
V
V = 0 ,
1
= 2
N
t =1
N
= (t ) T (t )
(
)
(
)
(
)
(
)
t
y
t
t
t
=
t =1
t =1
t =1
Dac se noteaz
1 N
(t )y(t ) .
(8.12)
t =1
Y = [ y (1) y ( N )] , T = (1) (N ) ,
T
(t ) y(t ) (t ) = 0
(8.13)
atunci se obine
N
T = (t ) (t )
(8.14)
y (1) N
T Y = (1) (N ) = (t ) y (t )
y (N ) t =1
(8.15)
Y = + .
(8.16)
t =1
= [ T ] T Y
1
(8.17)
73
Estimatorul dat prin relaia de mai sus reprezint estimatorul celor mai
mici ptrate care s-a obinut pe baza datelor de intrare u (1),, u (N ) i a
celor de ieire y (1),, y (N ) .
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
deci
(8.18)
y m (t)=y(t/t-1),
1 N 2
1 N
( y(t ) ym (t ))2
=
q (t )
N t 1=
Nt1
=
1 N
=
arg min ( y(t ) T (t ) )2
N t =1
(8.19)
(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 :
74
75
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
.
y (n ) + a n 1 y (n 1) + + a1 y + a 0 y = br u (r ) + b(r 1)u (r 1) + + b1 u + b0 u ,
(9.1)
unde: u= mrime de intrare; y= mrime de ieire.
n regim staionar se obine modelul
(9.2)
a0 y = b0u,
care conduce la obinerea unui rspuns de forma
(9.3)
y = ( b0 / a0 ) u
n ceea ce privete ordinul maxim de derivare al intrrii i al ieirii, se
deosebesc trei cazuri:
77
(9.4)
a1 y + a0 y =
b0u,
Rezolvnd aceast ecuaie n domeniul timpului se obine urmtorul
rspuns al sistemului
a /a t
(9.5)
y ( t ) b0u 1 e ( 0 1 )
=
Notnd cu
1 = a / a i cu y = b / a u , se obine urmtoarea
0
1
0
0
0
T
expresie a ieirii:
y=
(t ) y0 1 et /T
(9.6)
unde:
T = constanta de timp a sistemului;
y0 = rspunsul sistemului n regim staionar;
Durata regimului tranzitoriu este Ttr =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) a0 0, b0 0 , modelul staionar este
y0 = ( b0 / a0 ) u
(9.7)
a1 y = b0u ,
avnd rspunsul
(9.8)
t
y ( t ) = ( b0 / a0 ) udt
0
(9.9)
78
a0 0, b0 =
0 , sistemul este de tip derivator, cu modelul
.
a0 y = b1 u ,
(9.10)
(9.11)
=
H ( s ) b0 / ( a1s + a0 )
(9.12)
Rampa
10
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
sin t
0.8
0.6
0.4
0.2
0
-0.2
-0.4
10
-0.6
10
-0.8
10
79
Fig.9.2.. Circuit RC
Modelul matematic este prezentat n setul (9.13)
U
= Ur +Uc
U r = Ri
.
U
=
=
C
idt
i
CU
1/
c
c
.
U r = RCU c
(9.13)
RCU c + U c =
U
unde: U c =cderea de tensiune pe condensator;
U r =cderea de tensiune pe rezisten;
U=tensiunea de alimentare a circuitului RC;
I=intensitatea curentului prin circuit;
R=rezisten, C=condensator.
(9.14)
80
(9.15)
a2 y + a1 y + a0 y =
b0u ,
Rezolvnd ecuaia n domeniul timpului se obine rspunsul sistemului
(9.16)
yl ( t ) = c1e A / t + c2e B / t + b0u ,
cu c1 si c2 dou constante determinate din condiiile iniiale, iar A, B
soluii ale ecuaiei
.
a2 r 2 + a1 r + a0 =
0
(9.17)
Componenta =
se numete component liber,
yl ( t ) c1e
+ c2e
dependent numai de structura sistemului, neinfluenat de forma de
variaie a intrrii, iar componenta
y f ( t ) = ( b0 / a0 ) u , se numete
A/ t
B/t
Rampa
1.4
sin t
1.5
9
8
1.2
7
1
6
0.5
0.8
0.6
4
0
3
0.4
2
0.2
-0.5
10
10
-1
10
81
U r = Ri
.
U
=
=
i 2 CU c
1/ C i 2dt
c
..
.
Ul =i1 + i 2 LCU l + L / R U l = L / R U
(9.19)
82
3. MODUL DE LUCRU
Schema bloc a montajului utilizat pentru identificarea sistemelor de
diverse ordine de mrime este reprezentat n figura 9.7.
83
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 Zi i Zi+1
U 0/i-1
U 0/i-1
1
2
3
Zi =Y i/2i-1 U i/2i-1 = Li Li Li U i/2i-1
Y0/i-1
Y0/i-1
(10.1)
Zi +1 = Yi+1/2i-1 U i+1/2i-1
Y0/ i
85
(10.2)
0
(10.3)
L1i L3i 0/i-1 =
U1 U 2 ) 1 V T
(
Y
0
0
0/i-1
Ordinul sistemului este egal cu numrul de valori singulare nenule
(10.4)
1 1 1 1 2
4.3. analog, S T
j 2 1T 2 2T
R S
S
( )
86
[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.
87
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));
88
LUCRAREA 11
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
( )
( )
A=
q 1 y ( t ) B q 1 u ( t ) + e ( t )
unde:
u ( t ) - mrimea de intrare;
y ( t ) - mrimea de ieire;
(11.1)
90
( )
( )
A=
q 1 y ( t ) B q 1 u ( t ) + ( t )
(11.2)
unde:
u ( t ) - mrimea de intrare;
y ( t ) - mrimea de ieire;
( t ) - reziduul modelului;
q 1 - operator de ntrziere;
( )
B ( q ) =1 + b q
A q 1 =1 + a1q 1 + + a na q na
(11.3)
nb
1
+
+
b
q
1
nb
(11.4)
= a1 a na b1 bnb
(11.5)
y t 1 y t na u t 1 u t nb
(t ) =
)
(
) ( )
(
(11.6)
=
ym ( t ) T ( t ) + ( t )
(11.7)
()
= arg minV ,
(11.8)
unde
( ) y (t )
=
V
i =1
(t )
(11.9)
91
(11.10)
=
i 1=
i1
V = ( t ) ( t ) ,
T
(11.11)
i =1
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
T
- vectorul care
=
y ( t ) T ( t ) + ( t )
(11.12)
=
ym ( t )
unde
(t ) + (t ) ,
(11.13)
y ( t 1) y t n
(t ) =
a
u ( t 1)u t nb
( )
(11.14)
92
ym ( t ) =
(t ) ,
(11.15)
2
T
1 N
1 N
=
arg min ( y ( t ) =
ym ( t ) ) arg min y ( t ) ( t )
N t 1=
N t 1
(11.16)
()
V
V = 0 ,
2
1 N
y t T t =
2
t
=
( ) ( )
( ) 0
=
N
t =1
(t ) y (t ) = (t ) (t )
T
(11.17)
=t 1 =t 1
1
N
N
T
= ( t ) ( t )
(t ) y (t )
=
t 1 =
t 1
Dac se noteaz cu
(1) ( N ) ,
Y = y (1) y ( N ) , T =
(11.18)
atunci se obine
N
T = ( t ) ( t ) ,
T
(11.19)
t =1
y (1)
=
T Y (1=
) ( N )
y ( N )
Y = + .
(t ) y (t ) ,
t =1
(11.20)
(11.21)
93
= 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 u (1) ,, u ( N ) i
a celor de ieire y (1) ,, y ( N ) .
( )
( )
(11.23)
y (=
t ) T ( t ) + ( t )
(11.24)
A=
q 1 y ( t ) B q 1 u ( t ) + ( t ) ,
sau de ecuaia
= a1 ana b1 bnb .
(11.25)
( t ) y ( t=) ( t ) T ( t ) + ( t ) ( t )
N
y (t )
(t ) =
(t ) T (t ) + (t ) (t )
=t 1 =t 1
=t 1
(11.26)
94
N
N
= ( t ) ( t ) ( t ) y ( t )
=
t 1 =
t 1
N
N
T
( t ) ( t ) ( t ) ( t )
=
t 1 =
t 1
(11.27)
t =1
Cu aceste observaii relaia devine
N
z ( t ) (=
t ) z ( t ) T ( t )
1=
t 1
=t
(11.28)
N
N
T
=
z (t ) y (t )
z ( t ) ( t )
=
t 1=
t 1
95
(11.29)
T
z ( t ) ( t )
t =1
(11.30)
( )
z ( t=) F q 1 u ( t 1)u ( t n )
(11.31)
( )
( )
( )
( )
F (q )
F q 1 = 1/ A q 1
(11.32)
Introducerea lui
z ( t )= S z ( t )
(11.33)
96
N
N
N
N
T
T
=
z ( t ) y ( t ) =
z ( t ) ( t )
S z ( t ) ( t ) S z ( t ) y ( t ) =
=
=
t 1=
t 1 =
t 1
t 1
N
N
T
= z ( t ) ( t ) z ( t ) y ( t ) =
=
t 1=
t 1
(11.34)
( )
( )
B q 1
u t 1)
A
q 1 (
y ( t 1) z ( t 1)
.
.
.
.
.
.
.
.
B q 1
y ( t na ) z t nb
=
z ( t ) =
S z (t ) =
1 u ( t na ) u ( t 1) u t 1
( )
A q
.
.
u ( t 1)
.
.
.
.
u t nb u t n
b
.
u t nb
( )
( )
(11.35)
( )
( )
unde s-a neglijat reziduul aleator ( t ) , iar A ( q ) i B ( q ) reprezint
( )
( )
97
relaie
N
z (t ) T (t ) z (t ) zT (t )
(11.36)
=t 1 =t 1
( )
( )
A=
q 1 y ( t ) B q 1 u ( t ) + ( t )
(11.37)
( )
( )
A=
q 1 y ( t ) B q 1 u ( t ) + ( t )
unde
(11.38)
( t ) = H ( q 1 ) e ( t ) , ( t ) = H ( q 1 ) ( t ) ,
e ( t ) - zgomot alb,
( t ) - reziduurile modelului.
( )
( )
( )
H (q ) =
1+ c q
H q 1 =
1 + c1q 1 + cnc q nc
1
+ c nc q nc
(11.39)
(11.40)
98
z ( t ) = y ( t 1 nc ) y ( t nc nc ) u ( t 1)u ( t nb )
(11.41)
n aceste condiii estimaia este dat de relaia urmtoare
1
1 N
N
=
+ z ( t ) T ( t ) z ( t ) ( t )
N t 1 =
t 1
=
Termenul
z ( t ) ( t ) 0
t =1
(11.42)
(t nc ) ,
n= min ( na na , nb nb , nc nc )
(11.43)
) (
) (
)
z ( t 1) z t n
=
( ) u (t 1)u (t n )
z = z ( t 1) z t na
variabilei
z t na 1 z t na nb =
unde
(11.44)
( )
( )
B q 1
z ( t =
i)
u ( t 1) i = 1, na
A q 1
99
(11.45)
i =
z
t
z t y t
(
)
(
)
t 1=
t 1 ( ) ( )
=
(11.46)
unde
i
i
i == a1i ana
b1i bnb
( )
( )
(11.47)
( ) (
( )
B i 1 q 1
B i 1 q 1
i
i 1 1 u ( t 1) i 1 1 u t na
z =
A
q
A q
u ( t 1)u t nb
(11.48)
y ( t 1) y ( t n ) u ( t 1)u ( t n )
(t ) =
a
b
(11.49)
100
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)
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
Qi = Qe
(12.1)
102
Acumulare=Intrare-Iesire
(12.2)
unde A este aria transversal a vasului.
(12.4)
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)
(12.6)
In relaiile ultime s-au notat
abaterile
respectivelor mrimi de la valorile care corespund regimului staionar
i
(12.7)
(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 V1 si V2 .
Desigur, Q e1 = Q i2.
104
(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 V1 i V2 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 V1 .
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)
105
106
(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
107
(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)
108
109
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
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:
111
112
113
114
115
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
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;
'+#24+#25+';
Activare:
Enter.')
117
118
119
120
h2c
121
ro2')
122
123
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:=m to n do begin
for i;=l to m do for j:=l to m do pO[i,j]:^pl[i,]] ;
for i:=l to m do tetaO[i]:=tetal[i] ;
for i:=l to m do begin
for j:=l to m do 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 m do begin
for j:=l to m do 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 m do begin
a[i]:=0.0;
for j:=l to m do a[i]:=a[i]+psi[i]*p0[j,i]
end;
la:=la0*la+l.0-laO;
alfa:=la;
for i =1 to m do alfa:=alfa+a [i]*psi[i] ;
alfa:=1.0/alfa;
for i =1 to m do for j:=1 to m do pp[i,j]:=alfa*psi[i]*psi[j] ;
for i ^1 to m do for j :=1 to m do b[i,j]:=0.0;
for i =1 to m do for j:=1 to m do
for 1:=1 to m do b[i,j]:=b[i,j]+p0[i,l]*pp[1,j] ;
for i =1 to m do for j :=1 to m do pp [i, j ] :=0.0;
for i =1 to m do for j:=1 to m do
for 1:=1 to m do pp [i, j ] :=pp [i, j ]+b [i, 1] *p0 [1, j ] ;
for i:=l to m do for j:=l to m do pi [i, j ] := (pO [i , j ]-pp [i , j ] )/la;
yest[k,m-l]:=0.0;
for i:=l to m do 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 m do a[i]:=0.0;
for i:=l to m do for 1:=1 to m do a [i] :-a [i]+p0 [i, 1] *psi [1] ;
for i:=l to m do 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:=m to 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) ;
125
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 P2 i
transmite regulatorului PC un semnal electric proporional cu valoarea
curent a acestuia. Regulatorul compar valoarea semnalului Ir cu
valoarea Ii asociat prescrierii Pi i n cazul n care apare o abatere se
emite o comand Ic 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 RRpneumatic.
112
d1
= Q1i Q1e ;
dt
d 2
= Q2i Q2 e Q1e Q2 e .
dt
(13.1)
(13.2)
(13.3)
De asemenea, se cunoate
=
M
P,
RT
(13.4)
113
V1 M dP1
M
= Q1i K V 2
P1 ( P1 P2 ) ;
RT dt
RT
V2 M dP2
M
= KV 2
P1 ( P1 P2 ) Q2 e .
RT dt
RT
(13.5)
(13.6)
care, liniarizate n jurul punctului (P10 ; P20 ; Q1i 0 ; Q2e 0 ) , conduc la:
2 P10 P20
P10
M
V1M
M
P1 = Q1i + KV2
P2
P1 + KV2
2
2
RT 2 P10 P10 P20
RT
RT 2 P10 P10 P20
2 P10 P20
P10
M
V2 M
M
P1 Q2 e ;
P2 + KV2
P2 = KV2
2
RT 2 P102 P10 P20
RT
RT 2 P10 P10 P20
(13.7)
respectiv:
a1P1 + P1 = b11Q1i + b12 P2
a P + P = b P + b Q
2
21
(13.8)
2e
22
unde:
VM
a1 = 1
RT
a2 =
V2 M
RT
2
RT 2 P10 P10 P20
M KV2 (2 P10 P20 )
2
RT 2 P10 P10 P20
M
KV2 P10
b11 =
2
RT 2 P10 P10 P20
M KV2 (2 P10 P20 )
b22 =
2
M 2 P10 P10 P20
RT
KV2 P10
P10
;
2 P10 P20
2P P
b21 = 10 20 ;
P10
b12 =
(13.9)
D 2
4
H =
0,32
4
0,5 = 0,035 m 3 ;
114
M
29 2 105
1 =
P1 =
= 2,38 Kg / m 3 ;
RT
8315 293
2
d
0,006 2
Q=
1 =
15 2,38 = 0,001 Kg / s ;
4
4
Q
0,001
KV2 =
=
= 2 10 6 m 2 ;
5
1 (P1 P2 )
2,38(2 1)10
a1 =
60 s ;
8315 293
29
2 106 4 105 105
85 s ;
8315 293
29
2 106 2 105
8315 293 2 2 105 (2 1) 105
1
;
= 1,36 108
6
5
29
2 10 (4 1) 10
ms
P10
2
b12 =
=
= 0,67 ;
2 P10 P20 2 2 1
2P P P
2 2 1
b21 = 10 20 10 =
= 1,5 ;
P10
2
b11 =
b22 =
pot fi
115
(13.10)
(13.11)
ceea ce conduce la
P2 (s ) =
Y3
Y1Y4
Q1 (s )
Qe (s )
1 Y2Y4
1 Y2Y4
(13.12)
116
(13.13)
bucla
de
117
118
119
120
n figura 13.6.
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
Rezoluie
Frecvena de achiziie
Timpul de conversie
Timpul de achiziie
Domenii de intrare
Impedana de ieire
Neliniaritate
Eroare inerent
Numr de ieiri
Rezoluie
Frecvena
Domenii de ieire
Curent de ieire
2 (DA0, DA1)
12 bit
33 kHZ max.
0-5V, 0-10V selectabile hard
5 mA max
Intrri numerice
Ieiri numerice
Nivele intrare/iesire
Conector intrare/ieire
24 (disponibile 8 DI0-DI7)
24 (disponibile 8 DO0-DO7)
compatibile TTL
50 pini
Caracteristici de interfa
Magistrala
Bii adres utilizai
Adres de baz (port)
Locaii necesare
Nivele de ntrerupere
Sursa de ntreruperi
Opiuni DMA
compatibil IBM PC AT
A9- A0
300 hexa
16 (octei)
2,3,4,5,6,7 (controlabile soft)
FINISH bit conversie A/D
DMA1 sau DMA3 selectabile hard
122
123
124
125
126
127