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