Escolar Documentos
Profissional Documentos
Cultura Documentos
1.1.
Os sistemas que usam elementos digitais no controlo de grandezas contnuas requerem a converso dos respectivos sinais em valores que representam a amplitude do sinal num dado instante no tempo. Estes elementos so chamados genericamente de Amostradores, em sistemas controlados por computador esta operao realizada por conversores analgicodigital (A/D). Um amostrador convencional consiste num interruptor que se fecha para admitir um sinal de entrada x(t) a cada h segundos convertendo-o numa srie de impulsos. A converso de um sinal analgico na correspondente verso amostrada uma aproximao que implica a substituio da variao contnua das variveis por um conjunto finito de valores. Este processo chamado de quantizao e, em geral, conduz a um pior desempenho do sistema de controlo.
Amostrador h Retentor de ordem zero
x(t)
x*(t)
1 e sh s
xk(t)
A operao inversa, ou seja, a reconstruo do sinal, realizada por elementos denominados de Retentores. Em sistemas controlados por computador realizada por conversores digitalanalgico (D/A). Os retentores mais simples convertem o sinal amostrado x*(t) num com amplitude constante entre dois instantes consecutivos de amostragem xh(t), este processo conhecido como zero-order hold (retentor de ordem zero).
Sinal contnuo
Amostrador
Sinal amostrado
Retentor
Sinal reconstruido
x(t)
x*(t)
xk(t)
2h
3h
4h
2h
3h
4h
2h
3h
4h
1.2.
Transformada dos Z
A transformada dos Z permite a transformao de sinais no domnio do tempo discreto para o domnio Z, sendo usada em sinais discretos da mesma forma que a transformada de Laplace o em sinais contnuos.
x(t)
x*(t)
2h
3h
4h
5h
6h
7h
8h
(t )
2h
3h
4h
5h
6h
7h
8h
2h
3h
4h
5h
6h
7h
8h
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 ) =
Z {u (t )} = U ( z ) =
u (kh) z
k =0
= u (0) + u ( h) z 1 + u (2h) z 2 + K
X(s) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1
e kTs
1 s
x(t) ou x(k)
X(z) 1
z k
1 z = z 1 1 z 1 z z e aT
(t)
(t kT )
1(t)
e at
1 s+a 1 s2 2 s3 6 s4 a s (s + a )
t
t2 t3 1 e
at
(z 1)2 T 2 z (z + 1) (z 1)3
Tz
T 3z z 2 + 4z + 1
z 1 e aT (z 1) z e aT
(z 1)
(s + a )
2
te at
2 at
(s + a )3
s +
2 2 2
t e
T2
sin (t ) cos(t )
e at sin (t )
e at cos(t )
(z e ) (z e ) ze (z e )
aT 2
aT aT aT 3
Tze aT
s s + 2
(s + a )
(s + a )2 + 2
-
s+a
ak ka k k 2a k k (k 1) k 2 a 2! a k cos(k )
Tabela 1: Transformadas dos Z mais comuns
(z a )2 az (z + a ) (z a )3 (z a )3
z z+a z
az
4 Z[x(t)] ou Z[x(k)]
aX (z ) aX 1 ( z ) + bX 2 ( z ) zX ( z ) zx(0)
z 2 X ( z ) z 2 x(0) zx(T )
z 2 X ( z ) z 2 x(0) zx(1)
z k X ( z ) z k x(0) z k 1 x(T ) K zx(kT T ) z k X (z )
tx(t )
kx(k ) e at x(t )
e ak x(k ) a k x (k )
X ze aT
X ze a
( )
( )
z X a
ka k x(k )
d z X dz a
x(0)
x ( ) lim[(z 1)X (z )] se
z 1
x(k )
k =0
1 X (z ) 1 z 1
d z X ( z) dz X (z )Y (z ) X (1)
Tabela 2: Propriedades da Transformada dos Z
m
k m x(k )
19 20
x(kT ) y(nT kT )
k =0
x(k )
k =0
1.3.
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. 1.3.1. Expanso em fraces parciais 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. Considere a transformada dos Z:
2z z 1 X ( z) 2 = z ( z + 1)( z 1) X ( z) =
2
X ( z) 1 1 + = z z +1 z 1 z z X ( z) = + z +1 z 1
X ( z) =
Multiplicando o dividindo por z obtm-se:
1 z +1
X ( z) =
Expandido em fraces parciais vem:
z X ( z) 1 = z ( z + 1) z z ( z + 1)
1 X ( z) 1 = z z z +1 z X ( z) = 1 z +1
1.3.2. Diviso longa de polinmios 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. Considere a transformada dos Z:
X ( z) =
Fazendo a diviso longa:
1 z +1
z +1 1 1 1 z z 1 z 2 + z 3 z 4 + K 1 z 1 2 z +z z 2 z 2 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
, obtm-se:
x(kh) =
1 2 j
X ( z) z
k 1
dz
1.4.
Equaes s diferenas
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
Aplicando a propriedade de deslocao nos tempos da transformada dos Z, esta transformada numa equao algbrica em z. A aplicao do mtodo da transformada dos Z est para as equaes s diferenas como a transformada de Laplace est para as equaes diferenciais. Considere a seguinte equao s diferenas:
y ( k + 2) + 3 y (k + 1) + 2 y (k ) = 0
com
y (0) = 0, y (1) = 1
z 2 Y ( z ) z + 3 zY ( z ) + 2Y ( z ) = 0 Y ( z) = z z z = z + 3z + 2 z + 1 z + 2
2
Aplicando a transformada Z a k =
{ }
z , temos: za
y ( k ) = (1) k (2) k
, k = 0, 1, 2, K
Nesta seco pretende-se simular a amostragem de um sinal contnuo atravs de impulsos ideais para produzir um sinal discreto e verificar o impacto que diferentes perodos de amostragem tm na reconstruo do sinal contnuo com base no correspondente sinal discreto. Considere o sinal contnuo da Equao 3, ilustrado na Figura 4, para = 2. .10 rad / s .
x(t ) = sin(t )
Equao 3: Sinal contnuo a amostrar
Sinal Contnuo
1.5
0.5
x(t)
-0.5
-1
-1.5
0.1
0.2
0.3
0.4
0.5 t
0.6
0.7
0.8
0.9
1. Inicie a aplicao MATLAB. 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. c) Dentro da opo "New", escolha a subopo "M-File". d) Aparecer-lhe- numa nova janela o editor do MATLAB (Figura 5).
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:
clear; %limpa todas as variveis close all; %fecha todas as figuras abertas t=0:.005:1; %vector de tempo (incrementos de 0.005 seg) f=10; %Hz x=sin(2*pi*f*t); %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. 5. Para executar o M-File poder escrever o nome do ficheiro na consola do MATLAB. Alternativamente, pode usar a opo Run do menu Debug da janela do editor de ficheiros M.
10
6. Considere uma frequncia de amostragem fs1=50 Hz (perodo de amostragem Ts1=0,02 s). Obtenha a representao do sinal x(t) amostrado atravs de impulsos (x*(t)) frequncia de amostragem especificada.
a) Recorrendo funo stem do MATLAB possvel representar graficamente uma funo em instantes discretos de tempo. Para tal dever definir um novo vector de tempo (t1) que contenha os instantes de amostragem frequncia pretendida (50Hz). Este ser usado como parmetro de entrada da funo stem a par da funo x(t1).
%plotting x(t) amostrado a 50Hz fs1=50; %Hz t1=0:1/fs1:1; %vector de tempo (incrementos de 0.02 seg) x1=sin(2*pi*f*t1); 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');
c) A Figura 6 mostra o grfico obtido depois de executado o ficheiro M. Observe que apesar do sinal estar na forma amostrada perceptvel o sinal contnuo que lhe deu origem.
1.5 Sinal Amostrado a 50Hz
0.5
amplitude
-0.5
-1
-1.5
0.1
0.2
0.3
0.4
0.5 t
0.6
0.7
0.8
0.9
hold on; %adicionar grficos sem alterao automtica dos eixos plot(t,x,'r:'); %sinal original, vermelho (r), tracejado (:)
11
7. O MATLAB disponibiliza a funo stairs que permite simular a reconstruo de um sinal contnuo atravs de um retentor de ordem zero com base num conjunto de valores discretos. Use esta funo para obter a reconstruo do sinal anteriormente amostrado.
0.5
amplitude
-0.5
-1
-1.5
0.1
0.2
0.3
0.4
0.5 t
0.6
0.7
0.8
0.9
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.
1.5 Sinal Amostrado a 25Hz
0.5
amplitude
-0.5
-1
-1.5
0.1
0.2
0.3
0.4
0.5 t
0.6
0.7
0.8
0.9
12
1.5
0.5
amplitude
-0.5
-1
-1.5
0.1
0.2
0.3
0.4
0.5 t
0.6
0.7
0.8
0.9
9. Verifica-se que para uma frequncia de amostragem de fs3=11Hz acontece o fenmeno de aliasing. Nesta situao o sinal original no poder ser reconstrudo a partir da sua verso digital devido baixa frequncia, relativamente do sinal original, com que foi realizada a operao de amostragem. 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.
2.2.
Atravs da funo contnuos to digital (c2dm) do MATLAB possvel fazer a converso de um sistema contnuo, representado por uma funo de transferncia ou no espao dos estados, para uma representao discreta. >>[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 = 2 F ( s ) 10 s + 3s + 5
13
a) Para a entrada F(s)=1 introduza atravs da consola do MATLAB dois vectores referentes ao numerador e denominador. b) Use para perodo de amostragem Ts=0,01 seg.
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)
14
1.4
1.2
0.8
0.6
0.4
0.2
0.5
1.5
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.
1
0.5
-0.5
0.5
1.5
2.5
2.3.
Dos mtodos abordados para a obteno da transformada inversa de Z o mais usual o mtodo da expanso em fraces parciais. A resultante soma de factores simples pode ser convertida para o domnio dos tempos atravs das transformadas apresentadas na Tabela 1. A funo do MATLAB residue permite determinar os resduos e os termos directos de X(z)/z, aceitando para tal como parmetros os vectores com os coeficientes do numerador e denominador ordenados de forma decrescente de potncias de z.
15
z : z 3z + 2
2
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.
16
2.4.
Equao s diferenas
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: b coeficientes bn da equao na forma b=[ bn, bn-1, , b0] (*) a coeficientes an da equao na forma a=[ an, an-1, , a0] (*) X valores do sinal de entrada para os instantes k a considerar zi - condies iniciais >>filter(b,a,X,zi)
1. Considere o sistema representado pela a equao s diferenas, resolvido analiticamente no ponto 1.4.):
y ( k + 2) + 3 y (k + 1) + 2 y (k ) = 0
com
y (0) = 0, y (1) = 1
Usando a funo filter determine y(k) para k=0, 1, , 9. a) Introduza na consola dois vectores correspondentes aos coeficientes bn (associados entrada) e an (associados sada) da equao s diferenas: >> b=[0]; >> a=[1 3 2]; b) Crie o vector para o sinal de entrada e para as condies iniciais: >> 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]
17
3. Exerccios Adicionais
3.1. Amostragem e reconstruo de sinais contnuos
a) Analise o efeito, na reconstruo do sinal, da variao da frequncia de amostragem no sinal x(t) composto por duas funes co-seno:
3.2.
(1 0,9 z ) (1 + 0,9 z )
1 2 1
, z > 0,9 .
Nota: Use a funo poly para obter o polinmio do denominador. Resposta: x(k ) = 0,75(0,9) k + 0,5k (0,9) k + 0,25k (0,9) k , k = 0, 1, 2, K b) Obtenha os valores da funo x(k) para os instantes k=0, 1, 2, 3, , 10, do sinal com transformada X ( z ) =
z +1 . (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.
18
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.