background image

Stosując transformatę Z rozwiązać równania różnicowe. Porównać w Matlabie otrzymane wyniki z  
rozwiązaniem uzyskanym w sposób bezpośredni (y(k+n)=...):

y

k2 yk10.5y k=5⋅1 

dla  y

0=−1, y1=−2

Obliczamy transformatę Z obu stron równania, czyli podstawiamy:

Z

{

y

 k2

}

=z

2

[

Y

 z− y0− y1 z

−1

]

Z

{

y

k1

}

=z

1

[

Y

z− y0

]

Z

{

y

k

}

= z

Z

{

1

 k

}

=

z

z

−1

Podstawiamy:

z

2

Y

z−z

2

y

0−z

2

y

1 z

−1

z Y  z− z y 00.5 z=

5

z

z

−1

Po lewej stronie zostawiamy Y(z):

z

2

Y

zz Y  z0.5 z=

5

z

z

−1

 z

2

y

0z y1 z y 0

Podstawiamy wartości y(0) i y(1):

Y

 z

[

z

2

z0.5

]

=

5

z

z

−1

− z

2

−3 z

Sprowadzamy prawą stronę do wspólnego mianownika:

Y

 z

[

z

2

z0.5

]

=

z

 z3z−1

z

−1

Porządkujemy i dzielimy przez wielomian przy Y(z):

Y

 z=−z

z

2

2z−8

[

z

2

 z0.5

]

 z−1

Metoda 1. Rozkład na ułamki proste

Przenosimy z z licznika na lewą stronę:

Y

 z

z

=−

z

2

2z−8

 z

2

 z0.5 z−1

Obliczamy rozkład na ułamki proste:

Y

z

z

=−1⋅

[

A

z

−1

B

z

0.5−0.5j

C

z

0.50.5j

]

Po sprowadzeniu do wspólnego mianownika:

Y

z

z

=−1⋅

A

z

2

 z0.5z−1z0.50.5jz−1 z0.5−0.5j

z

2

z0.5 z−1

=...

i po wymnożeniu:

...

=−

A

 z

2

z0.5 B z

2

z−0.50.5j−0.5−0.5j z

2

− z−0.5−0.5j−0.50.5j

 z

2

 z0.5z−1

Grupujemy wyrazy w liczniku wg potęgi z:

...

=−

z

2

 ABC z AB−0.50.5j−0.5−0.5j 0.5AB−0.5−0.5j−0.50.5j

z

2

 z0.5 z−1

i porównujemy z z oryginalnym licznikiem:

z

2

 ABz A−0.50.5j−0.5−0.5j0.5A−0.5−0.5j−0.50.5j=

z

2

2z−8

Otrzymujemy układ równań, który zapisać można jako:

background image

[

1

1

1

1

−0.50.5j −0.5−0.5j

0.5

−0.5−0.5j −0.50.5j

]

[

A

B

C

]

=

[

1
2

−8

]

Po rozwiązaniu układu równań otrzymujemy: A

=−2, B=1.5−5.5j ,C=1.55.5j

Czyli Y(z) wynosi:

Y

 z=

2z

z

−1

[

z

1.5−5.5j

z

−−0.50.5j

z

1.55.5j

z

−−0.5−0.5j

]

Po zmianie liczb zespolonych do postaci wykładniczej:

Y

 z=

2z

z

−1

[

z

5.7 e

−1.3045j

z

−0.7071e

2.3562j

z

5.7 e

1.3045j

z

−0.7071 e

−2.3562j

]

Obliczamy transformatę odwrotną korzystając ze wzoru:

Z

−1

{

z

z

C

}=C

k

i uzyskujemy:

y

 k=2⋅1−5.7

[

e

−1.3045j

⋅0.7071 e

2.3562j

k

e

1.3045j

⋅0.7071 e

−2.3562j

k

]

co po dodaniu wykładników daje:

y

 =2⋅1−5.7⋅0.7071

k

[

e

2.3562j

−1.3045j

e

−2.3562j−1.3045j 

]

i ostatecznie:

y

=2⋅1−11.4⋅0.7071

k

cos

2.3562−1.3045

Porównujemy otrzymane wyniki w Matlabie:

– część czerwona - odpowiedź impulsowa układu o transmitancji obliczonej z równania
– część zielona - sygnał obliczany wg otrzymanego wzoru na y(k)

– część niebieska - kreślony sygnał obliczany przez program:

T=1;
Tv = [0,1];

Yv = [-1,-2];

while 

max(Tv)<10;

   ykp1= Yv(length(Yv));
   ykp = Yv(length(Yv)-1);

   ykp2 = 5-ykp1-0.5*ykp;
   Tv=[Tv,max(Tv)+T];

   Yv=[Yv, ykp2];

end

;

Tv=Tv'; Yv=Yv';

background image

k

y(k)

0

-1

1

-2

2

7.5

3

-1.5

4

2.75

5

3

6

0.63

7

2.88

8

1.81

9

1.75

10

2.34

Tabela 1. Wartości y(k)

Metoda 2. Dzielenie wielomianów

       -z^3 - 2z^2   + 8z        : z^3 - 0.5z - 0.5 = ...
-(-1)*[ z^3        - 0.5z - 0.5 ]
--------------------------
            - 2z^2 + 7.5z - 0.5
   -(-2)z^-1*[ z^3        - 0.5z - 0.5 ]
----------------------------------------
                     7.5z - 1.5  + 1z^-1
           -(7.5)z^-2*[ z^3    - 0.5z   - 0.5 ]

background image

------------------------------------------------
itd.

.... = -1z^0 -2z^-1 + 7.5z^-2 - 1.5z^-3 + ...