Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
=
(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
) (
= (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
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
(11.16)
Expresia explicit a lui
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
=
N N
T
t t
z t t z t t
= =
| |
|
|
\ .
=
(11.28)
unde
= = + = , 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
, B
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
, 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
N N
T
t t
z t t z t t
N
= =
( | |
| (
|
(
\ .
= +
(11.42)
Termenul
( ) ( )
1
0
N
t
z t t
=
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
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
+ =
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