Hleda se algoritmus
Lukas Grepl
L.Grepl@sh.cvut.cz
Úterý Leden 25 17:38:48 CET 2005
> * po projiti vsech zpozdovacek mame ctvercovou matici M (velikost je
> rovna poctu zpozdovacek, tj. radu systemu) a matici C, vysokou jako M
> a sirokou jako vektor u; tim mame popsano chovani vnitrnich stavu
> systemu:
>
> x(t+1) = Mx(t) + Cu
>
> -- mame-li definovany nejake vystupy (vektor y), vysledujeme
> obdobnym zpusobem dalsi dve matice, D a E, pro vztah
>
> y = Dx + Eu
>
> * timto mame vlatsne uz napsanou diferencni rovnici (to jste chtel,
> myslim); pokud chcete prenos (=> frekvencni charakteristiku), da se
> do toho cosi dosadit, ale abych to nezvrzal, radsi se podivam do
> skript.
Tohle jsou zatim stavove rovnice, k diferencni rovnici v tom tvaru, jaky
byl puvodne pozadovan je jeste trosku maticoveho pocitani. Dovolim si
preznacit ty stavove rovnice do pismenek ktere se bezne pouzivaji (nebo
proste jak je znam ja), tj:
x(k+1)=M*x(k)+N*u(k)
y(k) = C*x(k)+D*u(k)
Pri tomto znaceni by prenos (v Z-transformaci) mel byt
(I je jednotkova matice)
G(z) = C*((z*I-M)^-1)*N+D = C*adj(z*I-M)/det(z*I-M)*N+D
Y(z) b0*z^n + b1*z^n-1 + ... + bn*z^0
G(z) = ---- = --------------------------------
U(z) a0*z^n + a1*z^n-1 + ... + an*z^0
vykratite nejvetsi mocninou z ve jmenovateli a prevedete do tvaru
Y(z)*(a0 + a1*z^-1 + ... + an*z^-n)=U(z)*(b0 + b1*z^-1 + ... + bn*z^-n)
no a mame diferencni rovnici
a0*y(k)+a1*y(k-1)+...+an*y(k-n)=b0*u(k)+b1*u(k-1)+...+bn*u(k-n)
resp.
y(k)=1/a0*(-a1*y(k-1)-...-an*y(k-n)+b0*u(k)+b1*u(k-1)+...+bn*u(k-n))
Doufam ze jsem to nepopletl..
Lukas Grepl
Další informace o konferenci Hw-list