Exercícios Resolvidos de Transformada Z

Ver Teoria

Enunciado

Encontre a função de transferência H ( z ) e a resposta ao degrau unitário do sistema cuja equação das diferenças é dada por

y n = 1 2 y n - 1 + 2 x ( n )

Onde y ( n ) e x ( n ) são a saída e a entrada do sistema, respectivamente.

Passo 1

Uma função de transferência é a razão entre a saída e a entrada de um sistema. No tempo discreto, ela é obtida aplicando a transformada Z em uma equação das diferenças, considerando as condições iniciais nulas, e dividindo a saída pela entrada. Logo, H ( z ) será:

H z = Y ( z ) X ( z )

Onde Y ( z ) é a tranformada Z de y ( n ) e X ( z ) , de x ( n ) .

Para resolver o exercício, primeiramente aplicaremos a função z t r a n s do MATLAB na equação de diferenças para encontrarmos a transformada de y e x , que indicaremos por Y e X , respectivamente. Em seguida, manipularemos a equação para obtermos Y / X , que será a função de transferência H ( z ) .

Para obter a resposta ao degrau unitário do sistema, calcula-se produto entre H ( z ) e a transformada Z do degrau do unitário. Em seguida, usamos a função i z t r a n s para calcular sua transformada inversa, que será a solução do exercício.

Passo 2

Vamos rearranjar a equação, jogando todos os termos para a esquerda:

y n - 1 2 y n - 1 - 2 x n = 0

No MATLAB, vamos aplicar a função z t r a n s em cada termo da equação individualmente, pois dessa forma conseguiremos fazer a manipulação algébrica. Lembrando que z t r a n s tem a sintaxe:

F = z t r a n s ( f )

Ela retorna a transformada Z da função f , armazenando-a na variável F . Quando não tem mais nenhuma entrada em z t r a n s além de f , o MATLAB assume que a variável independente de f é n e fará que a transformada Z F seja em função de z .

A transformada Z dos termos da equação das diferenças será identificada assim:

t 1 = Z { y n }

t 2 = Z 1 2 y n - 1

t 3 = Z 2 x n

Onde Z { … } indica a transformada Z. Logo:

t 1 - t 2 - t 3 = 0

Considerando tudo isso, em um novo script, digite as linhas de código:

Na primeira linha, definimos as variáveis simbólicas n , x ( n ) e y ( n ) (indicamos que x e y são em função de n ).

Na segunda linha, assumimos que n   >   0 , para que o degrau unitário u , que será usado mais pra frente, seja igual a 1 .

Na terceira, quarta e quinta linha, a transformada Z de cada um dos termos da equação das diferenças rearranjada é calculada, sendo armazenada em t 1 , t 2 e t 3 .

Na sexta linha, montamos a transformada Z da equação das diferenças usando t 1 , t 2 e t 3 , fazendo-a igual a 0 . A transformada da equação é armazenada na variável E .

Vamos ver como ficou a equação após a aplicação da transformada Z? Execute o programa e imprima E no Command Window:

Passo 3

Podemos simplificar E : note que tem termos que tem exatamente a mesma estrutura da função z t r a n s e que representam transformadas que podem ser substituídas por uma única letra, indicando que é a transformada de uma função de n . z t r a n s ( y ( n ) ,   n ,   z ) representa a transformada Z de y ( n ) , podendo ser substituído por Y ( z ) . No caso, chamaremos Y ( z ) só de Y .

z t r a n s ( x ( n ) ,   n ,   z ) representa a transformada Z de x ( n ) , podendo ser substituído por X ( z ) . Como fizemos para Y ( z ) , chamaremos X ( z ) só de X .

Adicione os comandos abaixo em seu programa para fazer a substituição:

Primeiramente, criamos mais três variáveis simbolicas: z , Y e X . Em seguida, usamos a função s u b s para pedir ao MATLAB que substitua em E a expressão z t r a n s ( y ( n ) ,   n ,   z ) por Y . Logo abaixo, fazemos a mesma coisa para z t r a n s ( x ( n ) ,   n ,   z ) . O resultado da substituição é armazenado em E , ficando no lugar da expressão antiga.

E tem mais coisa que podemos substituir em E . Precisamos encontrar a função de transferência do sistema, que é determinada considerando as condições iniciais nulas. Logo, y - 1 = 0 . Para fazer a substiuição, adicione ao seu programa a linha de código:

Com este comando, substituímos y ( - 1 ) por 0 em E e armazenamos a nova expressão em E , atualizando a equação. Executando o programa, podemos ver como E está agora:

Bem mais bonitinho =)

Passo 4

Para calcular H ( z ) , precisamos dividir Y ( z ) por X ( z ) . Em E , a variável Y representa Y ( z ) e podemos usar a função s o l v e do MATLAB para isolá-la na equação. Adicione em seu código:

Com este comando, a função s o l v e resolve a equação E para a variável Y e armazena a solução em Y , atualizando seu valor. Na prática, isolamos Y na equação com este comando e Y passa a representar a expressão algébrica de Y ( z ) . Rodando o programa, temos que Y é igual a:

Para definir H ( z ) , basta dividir Y por X :

E temos que a função de transferência H é igual a:

Passo 5

Com H , podemos calcular a resposta ao degrau unitário do sistema, que é dada pelo produto entre H ( z ) e a transformada Z do degrau do unitário. Para criar o degrau unitário, usaremos a função h e a v i s i d e , que tem a estrutura:

u = h e a v i s i d e ( n )

Ela cria um degrau unitário e o armazena em u : quando n   <   0 , u = 0 . Se n = 0 , u = 1 / 2 . Finalmente, para n >   0 , u = 1 . Como dissemos que n   >   0 , temos u = 1 .

Após criar o degrau com h e a v i s i d e , aplicamos z t r a n s nele para obter sua transformada Z.

Digite em seu programa os comandos:

Na primeira linha, criamos o degrau unitário e o armazenamos em u . Em seguida, calculamos sua transformada Z e a registramos em U .

Para encontrar a resposta ao degrau, inclua no seu programa o comando:

R é o produto entre H e U e representa a transformada Z da resposta ao degrau unitário.

Passo 6

Para finalizar, vamos calcular a transformada inversa de R para encontrar r ( n ) , a resposta do sistema ao degrau unitário no domínio de tempo discreto.

Para encontrarmos r ( n ) , vamos usar a função i z t r a n s do MATLAB em R . A função i z t r a n s tem a estrutura:

f = i z t r a n s ( F )

Ela retorna a inversa da transformada Z de F , armazenando-a na variável f . Quando não tem mais nenhuma entrada em i z t r a n s além de F , o MATLAB assume que a variável independente de F é z e fará que a inversa da transformada Z f seja em função de n .

Para encontrar r ( n ) , entre o comando:

Com este comando, o MATLAB calcula a inversa da transformada Z de R e armazena o resultado em r . Rodando o programa, r é igual a:

Resposta

A função de transferência H ( z ) é igual a:

H z = Y ( z ) X ( z ) = 4 z 2 z - 1

A resposta r ( n ) ao degrau unitário do sistema é:

r n = 4 - 2 1 2 n