Wpisujemy mplik do workspace:
licz= [1];
mian=[3 5 1 1];
Tp=0.2;
[A,B,C,D]=tf2ss(licz,mian) %- zamiana Go na opis stanowy
[Ad,Bd,Cd,Dd]=c2dm(A,B,C,D,Tp,'zoh') %- dyskretyzacja;"metoda" patrz help
n=size(Ad,1) %- rząd macierzy Ad (aby uniknąć " Nic nie wiem o systemie przy wprowadzani biegunów
Hs=ctrb(Ad,Bd) %- macierz obserwowalności;det(X)- wyznacznik X
b=eig(Ad) %- wartości własne zI-Ad
Wartości biegunów -
bz =
0.9244 + 0.0733i 0.9244 - 0.0733i 0.3276
>> Mian=poly(bz)
Mian =
1.0000 -2.1764 1.4656 -0.2817
>> K=place(Ad,Bd,bz)
K =
2.8153 2.7295 0.7643
>>
K=place(Ad,Bd,bz)% - obliczenie macierzy wzmocnienia K
F=Ad-Bd*K
dstep(F,Bd,Cd,Dd)
K =
2.8154 2.7294 0.7638
F =
0.2331 -0.5257 -0.1862
0.1192 0.9447 -0.0197
0.0145 0.1962 0.9987
Us=0.304
Us=0.304
F=Ad-Bd*K
dstep(F,Bd/Us,Cd,Dd)
W simulinku:
Na oscyloskopie:
Po zmianie parametrow Go bez zmiany korektora
licz= [1];
mian=[2.4 4 0.8 0.8];
Tp=0.2;
[A,B,C,D]=tf2ss(licz,mian) %- zamiana Go na opis stanowy
[Ad,Bd,Cd,Dd]=c2dm(A,B,C,D,Tp,'zoh') %- dyskretyzacja;"metoda" patrz help
W mlabie:
Wracamy do poprzednich wartości K i zmieniamy plik w symulinku:
Zmniejszamy mianownik podanej funkcji o 20% w dół:
mian=[2.4 4 0.8 0.8]
Wprowadzamy obserwator stanu:
Wyznaczamy b(z) z rmod:
Wartości biegunów -
bz =
0 0.1 + 0.0840i 0.1- 0.0840i
Do m-pliku:
L=place(Ad',Cd',[0.05+0.00540 0.05-0.00540 0])'
Bz doregulowane recznie
Wykres z oscyloskopu dla transmitancji pocztkowej:
Wykres dla transmitancji po zmianie parametrów o -20%