Kulawik Bartosz
Gr. 23 IIID
Analiza i Identyfikacja Sygnałów
Sprawozdanie nr 7
Modele Regresyjne
Ćwiczenie 1
Na podstawie znanych metod modelowania przeprowadź proces identyfikacji układu o dwóch stopniach swobody (dwumasowy model sprężysto - tłumiący) o stałych parametrach. Porównaj wartości parametrów założonych oraz wyestymowanych. Dokonaj identyfikacji dla różnego poziomu zakłóceń sygnału odpowiedzi.
m1=14;
m2=1;
c1 = 9;
c2 = 3;
c3 = 4;
k1 = 10000;
k2 = 84000;
k3 = 10000;
A=[ 0 1 0 0;
-(k1+k2)/m1 -(c1+c2)/m1 k2/m1 c2/m1;
0 0 0 1;
k2/m2 c2/m2 -(k3+k2)/m2 -(c3+c2)/m2 ];
B=[0;
1/m1;
0;
1/m2 ];
C=[ 1 0 0 0;
0 0 1 0 ];
D=[ 0; 0 ];
sys = ss(A,B,C,D);
[Wn,Z] = damp(sys);
dt=0.0039;
t = 0:dt:50;
u = 0.5*rand(1,length(t));
Y_out = lsim(sys,u,t);
nk=0;
nb=2;
na=14;
nc=14;
model = armax([Y_out],[na nb nc nk]);
model_z = zpk(model);
damp(model_z);
[Wn_es, Z_es P] = damp(model_z);
[Wn(1)/2/pi Wn_es(1)/2/pi*100; Z(1) Z_es(1)]
[Wn(4)/2/pi Wn_es(na)/2/pi*100; Z(4) Z_es(nc)]
Wynik:
ans =
5.6911 5.3511
0.0116 0.0230
ans =
50.1869 50.1004
0.0111 0.0633
Po dodaniu do sygnału odpowiedzi zakłóceń
Y_out = Y_out + 0.1*rand(length(t), 2);
Wynik:
ans =
5.6911 3.0098
0.0116 0.6540
ans =
50.1869 50.0000
0.0111 0.0006
Ćwiczenie 2
Dokonaj identyfikacji parametrów modalnych układu z punktu 1 z uwzględnieniem zmian parametrów modelu w trakcji symulacji (podobnie jak w ostatnim przykładzie). Analizy wykonaj dla różnych wartości współczynnika zapominania.
t = 0:0.01:10;
m1=14;
m2=1;
k1= [10000 14000 55000 4000];
k2= [84000 16000 5000 21000];
k3= [10000 14000 1000 32000];
c1=[9 10 20 6];
c2=[3 1 2 23];
c3=[4 10 4 20];
y = [];U = [];
for i = 1:1:4
A=[ 0 1 0 0;
-(k1(i)+k2(i))/m1 -(c1(i)+c2(i))/m1 k2(i)/m1 c2(i)/m1;
0 0 0 1;
k2(i)/m2 c2(i)/m2 -(k3(i)+k2(i))/m2 -(c3(i)+c2(i))/m2 ];
B=[0;
1/m1;
0;
0 ];
C=[ 1 0 0 0];
D=[ 0];
sys = ss(A,B,C,D);
u = 0.5*rand(1,length(t));
y_tmp = lsim(sys,u,t);
y = [y y_tmp'];
U = [U u];
[Wn,Z] = damp(sys);
Om(i) = Wn(1)/2/pi;
Da(i) = Z(1);
end
na = 2;
nb = 2;
theta = rarmax([y' U'],[na nb 2 1],'ff',0.90);
for i=1:length(theta)
aa = [1 theta(i,1:na)];
[wnout_v,z,r]=damp(aa, 1/100);
DAMPING(i,:) = [z(1:2:na)'];
OMEGA(i,:) = [wnout_v(1:2:na)'/(2*pi)];
end
t1 = 0:0.01:40.03;
figure
plot(t1,OMEGA,'LineWidth',2)
hold on
ylim([0 20])
OO = [Om(1)*ones(1,1001) Om(2)*ones(1,1001) Om(3)*ones(1,1001) Om(4)*ones(1,1001)];
plot(t1,OO,'--r','LineWidth',2)
xlabel('Czas [s]','FontSize',16)
ylabel('Czestotliwosc [Hz] ','FontSize',16)
grid on
legend('Parametry wyestymowanego modelu','Zalozona zmiana czestotliwosci')
figure
plot(t1,DAMPING*100,'LineWidth',2)
hold on
DD = [Da(1)*ones(1,1001) Da(2)*ones(1,1001) Da(3)*ones(1,1001) Da(4)*ones(1,1001)];
plot(t1,DD*100,'--r','LineWidth',2)
grid on
xlabel('Czas [s]','FontSize',16)
ylabel('Wsp. Tłumienia [-] ','FontSize',16)
legend('Parametry wyestymowanego modelu','Zalozona zmiana tlumienia')
Współczynnik zapominania = 0.95
Współczynnik zapominania = 0.9