ANALIZA SYGNAŁÓW I IDENTYFIKACJA - SPRAWOZDANIE Z ĆWICZEŃ LABORATORYJNYCH Prowadzący: dr inż. Marcin Nawrocki Rok akademicki 2009/2010, semestr zimowy |
|
Piotr RAJDA |
Grupa. 18b |
LABORATORIUM 11
Różne metody identyfikowania obiektów - ARX, IV4.
1.Cel ćwiczenia.
Celem ćwiczenia było zaznajomienie nas z metodami identyfikacji obiektów: ARX i IV4. Pierwsza część analizy polegała na porównaniu wyników otrzymanych wyżej wymienionymi metodami. Później badaliśmy ich skuteczność dla różnych rodzajów sygnału wejściowego: opisanego losowym rozkładem równomiernym i normalnym. W kolejnych punktach, zmianom podlegały amplituda szumu zakłócającego - An, oraz czas próbkowania Ts.
2. Teoria
Model ARX - autoregressive with exogenous input - model autoregresywny z zewnętrznym wejściem dyskretnym modelem wejściowo-wyjściowym dla procesów stochastycznych. Model ten jest wyrażony wzorem:
Znaczenie poszczególnych symboli użytych w powyższym wzorze jest następujące
symbole y(i), u(i) oraz e(i) oznaczają dyskretne ciągi wartości, a zatem ciągi wartości równo odległych w czasie (na przykład 0; 0,5; 1; 0;-0.5; ... itd.),
y(i) jest zwany ciągiem wartości sygnału wyjściowego --- w skrócie ciągiem wyjściowym lub wyjściem,
u(i) jest zwany ciągiem wartości sygnału wejściowego --- w skrócie ciągiem wejściowym, wejściem albo pobudzeniem,
z − k oznacza opóźnienie (przesunięcie wstecz) sygnału o k wartości tak, że z − ku(i) = u(i − k); parametr k jest zwany (dyskretnym) czasem opóźnienia i przybiera wartości całkowite większe lub równe 1,
symbole
i
oznaczają wielomiany różnicowe,
człon
jest zwany torem sterowania,
e(i) jest zwany ciągiem wartości dyskretnego białego szumu zakłócającego obiekt - w skrócie białym szumem,
człon
który jest zwany torem zakłócenia, modeluje wszelkie niemierzalne zakłócenia stochastyczne działające w obiekcie w postaci białego szumu przefiltrowanego (czyli przepuszczonego) przez odpowiednią transmitancję.
Wielomiany różnicowe występujące w modelu ARX dane są wzorami:
Strukturę modelu ARX określa trójka parametrów: (k, dA, dB).
ARX - komputerowa LS- estymata modeli autoregresywnych z zewnętrznym wejściem dyskretnym (model ARX).
IV4 - komputerowe przybliżenie optymalizacji IV- estymata modeli autoregresywnych z zewnętrznym wejściem dyskretnym (model ARX).
3. Zadanie
Kod programu:
Ts=0.05;
t=[0:Ts:3999*Ts]; t=t';
q=tf([100],[1 4 100]); %badany uklad
qd=c2d(q,Ts); %przejscie na transmitancje dyskretna
x=rand(4000,1); %sygnal wejsciowy
y0=lsim(qd,x,t);
y=y0+0.1*rand(4000,1);
y=y-mean(y); %znajdowanie parametrow
th1=arx([y x], [2 2 1]); %tworzenie modelu ARX
[lmi mmi]=th2tf(th1); %przejscie do modelu TF
disp('transmitancja zadana') %wykaz wyników
q
disp('transmitancja dyskretna')
qd
disp('transmitancja otrzymana ARX:')
gd=tf(lmi,mmi,Ts)
th2=iv4([y x], [2 2 1]); %tworzenie modelu IV4
[lm2i mm2i]=th2tf(th2);
disp('transmitancja otrzymana IV4:')
gd2=tf(lm2i,mm2i,Ts)
figure(1);
subplot(2,2,1)
step(q); hold on
step(qd,'r--'); hold on
step(gd,'g:'); hold on
step(gd2,'m-.');
legend('zadana','zdyskretyzowana','ARX','IV4');
title('Porowanie odpowiedzi skokowych, dla rozkladu rownomiernego');
x=randn(4000,1); %sygnal wejsciowy normalny
y0=lsim(qd,x,t);
y=y0+0.1*rand(4000,1);
y=y-mean(y); %znajdowanie parametrow
th1=arx([y x], [2 2 1]); %tworzenie modelu ARX
[lmi mmi]=th2tf(th1); %przejscie do modelu TF
disp('transmitancja zadana') %wykaz wyników
q
disp('transmitancja dyskretna')
qd
disp('transmitancja otrzymana ARX:')
gd=tf(lmi,mmi,Ts)
th2=iv4([y x], [2 2 1]); %tworzenie modeli IV4
[lm2i mm2i]=th2tf(th2);
disp('transmitancja otrzymana IV4:')
gd2=tf(lm2i,mm2i,Ts)
%wykresy
subplot(2,2,2)
step(q); hold on
step(qd,'r--'); hold on
step(gd,'g:'); hold on
step(gd2,'m-.');
legend('zadana','zdyskretyzowana','ARX','IV4');
title('Porowanie odpowiedzi skokowych, dla rozkladu normalnego');
% Zmienna amplituda zaklocen , model ARX
y=y0+0.2*rand(4000,1);
y=y-mean(y); %znajdowanie parametrow
th1=arx([y x], [2 2 1]); %tworzenie modelu ARX
[lmi mmi]=th2tf(th1); %przejscie do modelu TF
disp('transmitancja zadana') %wykaz wynikow
q
disp('transmitancja otrzymana ARX, An=0.2:')
gd=tf(lmi,mmi,Ts)
% An=0.4
y1=y0+0.4*rand(4000,1);
y1=y1-mean(y1); %znajdowanie parametrow
th11=arx([y1 x], [2 2 1]); %tworzenie modelu ARX
[lmi1 mmi1]=th2tf(th11); %przejscie do modelu TF
disp('transmitancja otrzymana ARX, An=0.4:')
gd1=tf(lmi1,mmi1,Ts)
% An=0.8
y2=y0+0.8*rand(4000,1); y2=y2-mean(y2); %znajdowanie parametrow
th12=arx([y2 x], [2 2 1]); %tworzenie modelu ARX
[lmi2 mmi2]=th2tf(th12); %przejscie do modelu TF
disp('transmitancja otrzymana ARX, An=0.8:')
gd2=tf(lmi2,mmi2,Ts)
subplot(2,2,4)
step(q); hold on
step(gd,'r:');hold on
step(gd1,'g-.');hold on
step(gd2,'m--'); legend('zadana','An=0.2','An=0.4','An=0.8');
title('Porownanie metody ARX przy rozych wartosciach An');
% Zmienna amplituda zaklocen , model IV4
y=y0+0.2*rand(4000,1);
y=y-mean(y); %znajdowanie parametrow
th1=iv4([y x], [2 2 1]); %tworzenie modelu ARX
[lmi mmi]=th2tf(th1); %przejscie do modelu TF
disp('transmitancja zadana') %wykaz wyników
q
disp('transmitancja otrzymana IV4, An=0.2:')
gd=tf(lmi,mmi,Ts)
% An=0.4
y1=y0+0.4*rand(4000,1);
y1=y1-mean(y1); %znajdowanie parametrow
th11=iv4([y1 x], [2 2 1]); %tworzenie modelu ARX
[lmi1 mmi1]=th2tf(th11); %przejscie do modelu TF
disp('transmitancja otrzymana IV4, An=0.4:')
gd1=tf(lmi1,mmi1,Ts)
% An=0.8
y2=y0+0.8*rand(4000,1);
y2=y2-mean(y2); %znajdowanie parametrów
th12=iv4([y2 x], [2 2 1]); %tworzenie modelu ARX
[lmi2 mmi2]=th2tf(th12); %przejoecie do modelu TF
disp('transmitancja otrzymana IV4, An=0.8:')
gd2=tf(lmi2,mmi2,Ts)
subplot(2,2,3)
step(q); hold on
step(gd,'r:');hold on
step(gd1,'g-.');hold on
step(gd2,'m--'); legend('zadana','An=0.2','An=0.4','An=0.8');
title('Porownanie metody IV4 przy rozych wartosciach An');
%Wplyw czasu probkowania na metode ARX
figure(2);
Ts=0.05;
t=[0:Ts:3999*Ts]; t=t';
q=tf([100],[1 4 100]);
qd=c2d(q,Ts);
x=randn(4000,1);
y0=lsim(qd,x,t);
y=y0+0.1*rand(4000,1);
y=y-mean(y);
th1=arx([y x], [2 2 1]); %tworzenie modelu ARX
[lmi mmi]=th2tf(th1); %przejscie do modelu TF
disp('transmitancja zadana') %wykaz wynikow
q
disp('transmitancja otrzymana ARX, Ts=0.05:')
gd=tf(lmi,mmi,Ts)
subplot(2,1,1)
step(q); hold on
step(gd,'r:'); hold on
% Ts=0.1
Ts=0.1; %czas próbkowania
t=[0:Ts:3999*Ts]; t=t';
q=tf([100],[1 4 100]);
qd=c2d(q,Ts);
x=randn(4000,1);
y0=lsim(qd,x,t);
y=y0+0.1*rand(4000,1);
y=y-mean(y);
th1=arx([y x], [2 2 1]); %tworzenie modelu ARX
[lmi mmi]=th2tf(th1); %przejscie do modelu TF
disp('transmitancja otrzymana ARX, Ts=0.1:')
gd=tf(lmi,mmi,Ts)
step(gd,'g-.'); hold on
% Ts= =0.2
Ts=0.2;
t=[0:Ts:3999*Ts]; t=t';
q=tf([100],[1 4 100]);
qd=c2d(q,Ts);
x=randn(4000,1);
y0=lsim(qd,x,t);
y=y0+0.1*rand(4000,1);
y=y-mean(y);
th1=arx([y x], [2 2 1]); %tworzenie modelu ARX
[lmi mmi]=th2tf(th1); %przejscie do modelu TF
disp('transmitancja otrzymana ARX, Ts=0.2:')
gd=tf(lmi,mmi,Ts)
step(gd,'m--'); legend('zadana','Ts=0.05','Ts=0.1','Ts=0.2');
title('Wplyw czasu probkowania na metode ARX');
% Wplyw czasu probkowania na metode IV4
figure(2);
Ts=0.05;
t=[0:Ts:3999*Ts]; t=t';
q=tf([100],[1 4 100]);
qd=c2d(q,Ts);
x=randn(4000,1);
y0=lsim(qd,x,t);
y=y0+0.1*rand(4000,1);
y=y-mean(y);
th1=iv4([y x], [2 2 1]);
[lmi mmi]=th2tf(th1);
disp('transmitancja zadana') %wykaz wynikow
q
disp('transmitancja otrzymana IV4, Ts=0.05:')
gd=tf(lmi,mmi,Ts)
subplot(2,1,2)
step(q); hold on
step(gd,'r:'); hold on
% Ts=0.1
Ts=0.1;
t=[0:Ts:3999*Ts]; t=t';
q=tf([100],[1 4 100]);
qd=c2d(q,Ts);
x=randn(4000,1);
y0=lsim(qd,x,t);
y=y0+0.1*rand(4000,1);
y=y-mean(y);
th1=iv4([y x], [2 2 1]);
[lmi mmi]=th2tf(th1);
disp('transmitancja zadana') %wykaz wynikow
q
disp('transmitancja otrzymana IV4, Ts=0.1:')
gd=tf(lmi,mmi,Ts)
step(gd,'r:'); hold on
% Ts= =0.2
Ts=0.2;
t=[0:Ts:3999*Ts]; t=t';
q=tf([100],[1 4 100]);
qd=c2d(q,Ts);
x=randn(4000,1);
y0=lsim(qd,x,t);
y=y0+0.1*rand(4000,1);
y=y-mean(y);
th1=iv4([y x], [2 2 1]);
[lmi mmi]=th2tf(th1);
disp('transmitancja zadana') %wykaz wynikow
q
disp('transmitancja otrzymana IV4, Ts=0.2:')
gd=tf(lmi,mmi,Ts)
step(gd,'m--'); legend('zadana','Ts=0.05','Ts=0.1','Ts=0.2');
title('Wplyw czasu probkowania na metode IV4');
Zestawienie uzyskanych wyników I
Zestawienie uzyskanych wyników II
ukazujące wpływ czasu próbkowania.
Rozkład równomierny |
|||
Transmitancja zadana: 100 --------------- s^2 + 4 s + 100 |
Transmitancja dyskretna: 0.1147 z + 0.1072 ---------------------- z^2 - 1.597 z + 0.8187 |
Transmitancja otrzymana ARX: 0.01511 z + 0.01787 ---------------------- z^2 - 1.505 z + 0.7264 |
Transmitancja otrzymana IV4: 0.03893 z + 0.07429 ---------------------- z^2 - 1.352 z + 0.6765 |
Rozkład normalny |
|||
Transmitancja zadana: 100 --------------- s^2 + 4 s + 100 |
Transmitancja dyskretna: 0.1147 z + 0.1072 ---------------------- z^2 - 1.597 z + 0.8187 |
Transmitancja otrzymana ARX: 0.1154 z + 0.1082 ---------------------- z^2 - 1.581 z + 0.8031 |
Transmitancja otrzymana IV4: 0.1148 z + 0.107 --------------------- z^2 - 1.597 z + 0.819 |
Porównanie metody ARX przy różnych wartościach An |
|||
Transmitancja zadana: 100 --------------- s^2 + 4 s + 100 |
Transmitancja otrzymana ARX, An=0.2: 0.1147 z + 0.113 ---------------------- z^2 - 1.535 z + 0.7596 |
Transmitancja otrzymana ARX, An=0.4: 0.115 z + 0.1335 ---------------------- z^2 - 1.357 z + 0.5909 |
Transmitancja otrzymana ARX, An=0.8: 0.1161 z + 0.1728 --------------------- z^2 - 1.03 z + 0.2925 |
Porównanie metody IV4 przy różnych wartościach An |
|||
Transmitancja zadana: 100 --------------- s^2 + 4 s + 100 |
Transmitancja otrzymana IV4, An=0.2: 0.115 z + 0.1068 ---------------------- z^2 - 1.597 z + 0.8191 |
Transmitancja otrzymana IV4, An=0.4: 0.1146 z + 0.1063 ---------------------- z^2 - 1.598 z + 0.8201 |
ransmitancja otrzymana IV4, An=0.8: 0.1159 z + 0.106 ---------------------- z^2 - 1.594 z + 0.8165 |
Porównanie metody ARX przy różnych czasach próbkowania |
|||
Transmitancja zadana: 100 --------------- s^2 + 4 s + 100 |
Transmitancja otrzymana ARX, Ts=0.05: 0.1129 z + 0.1109 ---------------------- z^2 - 1.579 z + 0.8016 |
Transmitancja otrzymana ARX, Ts=0.1: 0.405 z + 0.3532 ----------------------- z^2 - 0.9113 z + 0.6693 |
Transmitancja otrzymana ARX, Ts=0.2: 1.129 z + 0.8294 ---------------------- z^2 + 0.5077 z + 0.449 |
Porównanie metody IV4 przy różnych czasach próbkowania |
|||
Transmitancja zadana: 100 --------------- s^2 + 4 s + 100 |
Transmitancja otrzymana IV4, Ts=0.05: 0.1149 z + 0.1068 ---------------------- z^2 - 1.597 z + 0.8189 |
Transmitancja otrzymana IV4, Ts=0.1: 0.4046 z + 0.3532 ----------------------- z^2 - 0.9124 z + 0.6703 |
Transmitancja otrzymana IV4, Ts=0.2: 1.127 z + 0.8294 ----------------------- z^2 + 0.5082 z + 0.4493 |
4.Wnioski:
Obserwując otrzymane wyniki, zarówno wykresy i transmitancję widzimy że za pomocą funkcji ARX uzyskujemy mniej dokładne wyniki. Funkcje ARX i IV4 marnie wychodzą w przypadku użycia sygnału wejściowego opisanego rozkładem równomiernym. Aby otrzymać dokładniejszy wynik powinniśmy zadbać o odpowiedni dobór argumentów funkcji.
Przy użyciu obu funkcji obserwujemy że wraz ze wzrostem aplitudy szumu zakłocającego dokładność otrzymanych wyników maleje. Jednak porównując obie funkcję, obserwujemy, że funkcją IV4 znacznie lepiej radzi sobie z różnymi wartościami szumu.
Podobna sytuacja jest przy zmianie czasu próbkowania, tzn. czym większy mamy czas próbkowania to funkcję gorzej radzą sobie z dokładnością wyników.