Escolar Documentos
Profissional Documentos
Cultura Documentos
MCSDI
Modelao e Controlo de Sistemas Dinmicos
Amostrador Retentor de
ordem zero
h
1 e sh
x(t) x*(t) s xk(t)
0 h 2h 3h 4h t 0 h 2h 3h 4h t 0 h 2h 3h 4h t
x(t)
x*(t)
0 h 2h 3h 4h 5h 6h 7h 8h t
(t )
0 h 2h 3h 4h 5h 6h 7h 8h t
0 h 2h 3h 4h 5h 6h 7h 8h t
O sinal de tempo discreto, obtido a partir de um contnuo, pode ser representado como uma
sequncia de impulsos com amplitudes iguais do sinal de tempo contnuo nos instantes de
amostragem. O sinal resultante definido por:
u * (t ) = u (kh) (t kh) = u(0) (t ) + u(h) (t h) + u (2h) (t 2h) + K
k =0
1 1 (t) 1
2 e kTs (t kT ) z k
1 z 1
3 1(t) =
s z 1 1 z 1
1 z
4 e at
s+a z e aT
1 Tz
5
s2
t
(z 1)2
2 T 2 z (z + 1)
6 t2
s3 (z 1)3
7
6
t3
(
T 3z z 2 + 4z + 1 )
s4 (z 1) 4
a at (
z 1 e aT )
8
s (s + a )
1 e
(
(z 1) z e aT )
1 Tze aT
te at
(s + a ) (z e )
9 2
aT 2
2
2 at
T2 ze aT
(z e ) aT
(s + a )3 (z e )
10 t e
aT 3
z sin (T )
sin (t )
z 2 2 z cos(T ) + 1
11
s +
2 2
z (z cos(T ))
cos(t )
s
z 2 z cos(T ) + 1
12
s + 2
2 2
ze aT sin (T )
e at sin (t )
13
(s + a ) 2
+ 2
z 2 2 ze aT cos(T ) + e 2 aT
s+a z 2 ze aT cos(T )
e at cos(t )
14
(s + a )2 + 2 z 2 2 ze aT cos(T ) + e 2 aT
z 1
15 - ak =
z a 1 az 1
az
ka k
16 -
(z a )2
az (z + a )
k 2a k
17 -
(z a )3
k (k 1) k 2 z
a
18 -
2! (z a )3
a k cos(k )
z
19 -
z+a
Tabela 1: Transformadas dos Z mais comuns
1 ax(t ) aX (z )
2 ax1 (t ) + bx2 (t ) aX 1 ( z ) + bX 2 ( z )
7 x(t kT ) z k X (z )
9 tx(t ) Tz
d
[X (z )]
dz
10 kx(k ) z
d
[X (z )]
dz
11 e at x(t ) ( )
X ze aT
12 e ak x(k ) ( )
X ze a
z
13 a k x (k ) X
a
d z
ka k x(k ) z X
dz a
14
z 1
16 x ( ) lim[(z 1)X (z )] se X (z ) analtica sobre e fora do circulo unitrio
z 1 z
n
x(k ) X (z )
1
17
k =0
1 z 1
m
d
18 k m x(k ) z X ( z)
dz
n
19 x(kT ) y(nT kT )
k =0
X (z )Y (z )
20 x(k )
k =0
X (1)
A transformada dos Z inversa permite obter x(k) de X(z). Pode ser obtida por qualquer um dos
trs mtodos descritos nas seces seguintes.
Para aplicar este mtodo necessrio que a transformada dos Z seja uma funo racional da
varivel complexa z. Verifica-se que a generalidade das transformadas apresentadas na tabela
1 apresenta o factor z no numerador. Assim, torna-se conveniente expandir X(z)/z e no
apenas X(z) para que seja mais fcil a obteno de transformadas tabeladas.
X ( z) 2
=
z ( z + 1)( z 1)
X ( z) 1 1
= +
z z +1 z 1
z z
X ( z) = +
z +1 z 1
z 1 z
Z 1 {X ( z )} = Z 1 +Z
z + 1 z 1
x(nh) = (1) n + 1 , n 0
2 , n mpar
x(nh) =
0 , n par
1
X ( z) =
z +1
z X ( z) 1
X ( z) = =
z ( z + 1) z z ( z + 1)
X ( z) 1 1
=
z z z +1
z
X ( z) = 1
z +1
z
Z 1{X ( z )} = Z 1{1} Z 1
z + 1
x(nh) = (n) (1) n , n 0
Para aplicar este mtodo tambm necessrio que a transformada dos Z seja uma funo
racional. Dividindo os polinmios do numerador e do denominador (ordenados por potncias
descendentes de z) obtm-se uma srie. Os coeficientes de z na srie, so os valores de x(k)
na sequncia temporal.
1 z +1
1
1 z z 1 z 2 + z 3 z 4 + K
1
z 1 2
z +z
z 22
z z 3
z 3
z 3 + z 4
z 4
M
Reescrevendo X(z):
X ( z ) = z 1 z 2 + z 3 z 4 + K
Por comparao da expanso em srie de X(z) com X ( z ) = x( k ) z
k =0
h
, obtm-se:
Confirme que o resultado obtido verifica a frmula simblica obtida no ponto anterior.
1
X ( z) z
k 1
x(kh) = dz
2 j
Em geral um sistema dinmico linear de tempo discreto com entrada u(k) e sada y(k) pode ser
descrito por uma equao s diferenas linear:
y (k + n) + a n 1 y (k + n 1) + K + a 0 y (k ) = bn u ( k + n) + bn 1u ( k + n 1) + K + b0 u (k )
Equao 2: Equao s diferenas genrica
z 2 Y ( z ) z + 3 zY ( z ) + 2Y ( z ) = 0
z z z
Y ( z) = =
z + 3z + 2 z + 1 z + 2
2
Aplicando a transformada Z a k = { } z
za
, temos:
y ( k ) = (1) k (2) k , k = 0, 1, 2, K
y (0) = 0
y (1) = 1
y ( 2) = 3
y (3) = 7
y ( 4) = 15
L
x(t ) = sin(t )
Equao 3: Sinal contnuo a amostrar
Sinal Contnuo
1.5
0.5
x(t)
-0.5
-1
-1.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t
2. Todo o cdigo necessrio para efectuar o estudo proposto pode ser escrito directamente na
janela do MATLAB. Alternativamente, pode-se introduzir todo o cdigo num ficheiro de
dados do MATLAB, genericamente chamado M-File ( um ficheiro de texto normal, com
extenso *.m), que depois carregado para o MATLAB sempre que necessrio.
a) Esta soluo preferencial quando o cdigo se torna extenso, para evitar ter que o
estar a re-escrever de novo sempre que se pretende efectuar uma nova representao.
b) Para criar um novo M-File, escolha a opo "New" do menu "File" do MATLAB.
e) Para documentar o cdigo pode introduzir comentrios no seu M-File, para o que
dever iniciar os comentrios pelo caracter %.
3. Comece por obter o grfico da Figura 4. Introduza o cdigo seguinte no seu M-File:
%plotting
figure(1);
plot(t,x);
axis([0 1 -1.5 1.5]);
title('Sinal Contnuo');
xlabel('t');
ylabel('x(t)');
4. Grave o M-File seleccionado a opo "Save As..." do menu "File" da janela do Editor do
MATLAB.
figure(2);
stem(t1,x1); %representa os valores da funo x1 nos instantes t1
axis([0 1 -1.5 1.5]);
title('Sinal Amostrado a 50Hz');
xlabel('t');
ylabel('amplitude');
0.5
amplitude
-0.5
-1
-1.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t
0.5
amplitude
-0.5
-1
-1.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t
8. Repita os dois pontos anteriores (6. e 7.) de forma a obter as reconstrues do sinal x(t)
amostrado s frequncias fs2=25 Hz e fs3=11 Hz. O resultado para cada uma das
frequncias ilustrado nas Figuras 8 e 9.
0.5
amplitude
-0.5
-1
-1.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t
0.5
amplitude
-0.5
-1
-1.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t
10. Analise os grficos obtidos e comente a relao entre a frequncia do sinal contnuo e a de
amostragem com a existncia ou no de aliasing.
>>[numD,denD] = c2dm(numC,denC,Ts);
Na forma apresentada, a funo usa um retentor de ordem zero para converter o sistema
definido por dois vectores (numerador e denominador da funo de transferncia) com um
perodo de amostragem Ts.
1. Para ilustrar o uso da funo c2dm considere um sistema mecnico linear descrito pela
funo de transferncia contnua:
X (s) 1
=
F ( s ) 10 s + 3s + 5
2
c) Use a funo c2dm como demonstrado na Figura 10. Os dois vectores de retorno
correspondem aos coeficientes do numerador e denominador da funo de
transferncia discreta em ordem descendente de potncias de z.
Y ( z) 1
= 2
F ( z ) z 0.3z + 0.5
a) Para obter a resposta ao degrau de amplitude A dever usar a funo dstep. Esta
funo aceita como parmetros de entrada os vectores com os coeficientes do
numerador (numD) e denominador (denD) da funo de transferncia e o nmero de
pontos (N) a considerar no clculo.
>>xstep = dstep(A*numD,denD, N)
b) Use a funo dstep com N=51 para obter os valores da resposta do sistema a uma
entrada em degrau unitrio. Para gerar o grfico dos pontos obtidos use a funo
stairs.
>>numD=[1];
>>denD=[1 -0.3 0.5];
>>xstep = dstep (numD,denD,51);
>>t = 0:0.05:2.5;
>>stairs(t,xstep)
1.4
1.2
0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5
c) Da mesma forma, use a funo dimpulse para obter a reposta ao impulso unitrio
(Figura 12). Em caso de dvida use o comando help.
0.5
-0.5
0 0.5 1 1.5 2 2.5
z
1. Calcule a transformada inversa dos Z da funo X ( z ) = :
z 3z + 2
2
X ( z)
a) Coloque a funo na forma .
z
b) Com a aplicao MATLAB iniciada, introduza na consola dois vectores referentes aos
coeficientes do numerador e denominador de X(z)/z:
>> B=[1];
>> A=[1 -3 2];
c) Use a funo residue para obter os resduos (r), plos (p) e termos directos (k) da
expanso em fraces simples de X(z)/z, como mostrado na Figura 13.
O MATLAB disponibiliza a funo filter que permite determinar a soluo numrica de uma
equao s diferenas para k instantes de amostragem. Recorde que um sistema dinmico
linear de tempo discreto com entrada u(k) e sada y(k) pode ser descrito por uma equao s
diferenas linear:
y (k + n) + a n 1 y (k + n 1) + K + a 0 y (k ) = bn u (k + n) + bn 1u (k + n 1) + K + b0 u (k )
Numa das suas formas, a funo filter aceita como parmetros de entrada quatro vectores:
>>filter(b,a,X,zi)
>> b=[0];
>> a=[1 3 2];
>> X=zeros(1,10);
>> zi=[0 1];
c) Execute a funo filter como mostrado na figura 14. A varivel de retorno contm a
srie de valores de y(k) para k=0, 1, , 9 (instantes de amostragem).
(*) Se o sistema de tempo discreto, com entrada u(k) e sada y(k), for descrito por uma equao s diferenas linear do tipo:
a 0 y (k ) + a1 y (k 1) + K + a n y (k n) = b0 u (k ) + b1u (k 1) + K + bn u (k n)
Os vectores b e a so na forma:
b=[ b0, b1, , bn]
a=[ a0, a1, , an]
3. Exerccios Adicionais
1
a) Calcule a transformada inversa dos Z de X ( z ) = , z > 0,9 .
(1 0,9 z ) (1 + 0,9 z )
1 2 1
b) Obtenha os valores da funo x(k) para os instantes k=0, 1, 2, 3, , 10, do sinal com
z +1
transformada X ( z ) =
(
(z 1) z 2 + 2 z + 2
.
)
Nota: Use a funo dimpulse para obter a sequncia de x(kh). Relembre que um sinal
com transformada X(z) pode ser interpretado como a resposta de um sistema com
funo de transferncia X(z) a um impulso unitrio.
Resposta:
x(0) = 0, x(1) = 0, x(2) = 1, x(3) = 0, x(4) = 0,
x(5) = 2, x(6) = 2, x(7) = 2, x(8) = 2, x(9) = 6, x(10) = 10
4. Concluses
Acabamos de ver como possvel recorrendo a funcionalidades do MATLAB visualizar o
aliasing de sinais, obter a funo de transferncia discreta partindo da representao continua
do sistema, facilitar o processo de clculo da transformada inversa dos Z e encontrar a soluo
para equaes s diferenas. As noes, mtodos e funcionalidades aqui introduzidas, de uma
forma necessariamente resumida, podem ser desenvolvidas recorrendo bibliografia que se
apresenta de seguida.
5. Bibliografia
[1] J. L. Martins de Carvalho; Dynamical Systems and Automatic Control; Prentice-Hall; 1993.
[2] Katsuhiko Ogata; Engenharia de Controle Moderno; Prentice-Hall do Brasil; 1982.
[3] G.F. Franklin, J.D. Powell e M.L. Workman; Digital Control of Dynamic Systems, Third
Edition; Addison-Wesley; 1998.
[4] Katsuhiko Ogata; Discrete-Time Control Systems, Second Edition; Prentice-Hall; 1995.