Exercícios Resolvidos de Transformada Z

Ver Teoria

Enunciado

Dado que x n = 3 n u [ n ] , onde u [ n ] é um degrau unitário, encontre a transformada Z de:

y n = n x n + x n - 1 u n - 1 + x n + 1 u [ n + 1 ]

Passo 1

O exercício pede para encontrarmos a transformada Z de y [ n ] , sabendo que x n = 3 n u [ n ] , sendo u [ n ] um degrau unitário.

Para isto, criaremos alguns degraus com a função h e a v i s i d e e aplicaremos a função z t r a n s do MATLAB na equação de diferenças para encontrarmos a transformada de y , que indicaremos por Y .

Passo 2

Sabemos que x n = 3 n u [ n ] e na equação de y [ n ] temos x [ n + 1 ] e x [ n - 1 ] . Logo, estes elementos podem ser substituídos por:

x n + 1 = 3 n + 1 u [ n + 1 ]

x n - 1 = 3 n - 1 u [ n - 1 ]

Por isso, vamos começar criando algumas funções degrau representando u [ n ] , u [ n + 1 ] e u [ n - 1 ] , para aplicarmos em seguida na equação de y [ n ] . Para criar as funções degraus, usaremos o comando 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 .

Em um novo script, digite as seguintes linhas de código:

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

Na segunda linha, assumimos que n   >   0 , para que o degrau unitário seja igual a 1 quando pertinente.

Na terceira linha, usamos a função h e a v i s i d e para criar o primeiro degrau unitário, que é armazenado em u _ n . Ele representa u [ n ] e será igual a 1 , pois assumimos que n > 0 .

Na quarta linha, criamos mais um degrau unitário usando h e a v i s i d e , para representar u [ n + 1 ] . Ele é armazenado em u _ n _ m a i s _ 1 e também é igual a 1 , pois n > 0 .

Na quinta linha, criamos o terceiro degrau unitário usando h e a v i s i d e , representando u [ n - 1 ] . Ele é armazenado em u _ n _ m e n o s _ 1 , e não terá um valor definido como os outros acima, pois ele pode ser igual a 0 , 1 / 2 ou 1 , dependendo do valor de n .

Passo 3

Após criar u _ n , u _ n _ m a i s _ 1 e u _ n _ m e n o s _ 1 , entre com a equação de y [ n ] , sem substituir x [ n ] por enquanto:

A equação que define y [ n ] é armazenada na variável y . Vamos ver como ficou? Execute o programa e imprima y no Command Window:

Repare que o u _ n e u _ n _ m a i s _ 1 não estão mais ali, por serem iguais a 1 . O u _ n _ m e n o s _ 1 foi substituído por h e a v i s i d e ( n - 1 ) , por não ter um valor definido.

Vamos agora fazer as substituições de x [ n ] por 3 n u [ n ] , de x [ n - 1 ] por 3 n - 1 u [ n - 1 ] e de x [ n + 1 ] por 3 n + 1 u [ n + 1 ] , usando o comando s u b s :

Com o comando acima, eu peço ao MATLAB para substituir, em y , x ( n ) por 3 ^ n * u _ n , x ( n - 1 ) por 3 ^ ( n - 1 ) * u _ n _ m e n o s _ 1 e x ( n + 1 ) por 3 ^ ( n + 1 ) * u _ n _ m a i s _ 1 . O resultado da substituição é armazenado em y , ficando no lugar da expressão que vimos no print mais acima.

Ah, e repare que eu usei o . . . para quebrar a linha de comando no MATLAB. É um jeito de a linha caber na sua tela sem ter que usar uma barra de rolagem horizontal para ver o código todo.

Vamos ver a nova cara de y :

Passo 4

Após fazer as substituições, vamos finalmente calcular a transformada Z de y [ n ] . Para isto, usaremos a função z t r a n s , que 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 .

Inclua no seu programa os comandos:

O primeiro comando calcula a transformada Z de y e a armazena na variável Y .

O segundo comando simplifica a expressão de Y , pondo em evidência alguns termos e cortando o que dá cortar. Desta forma, o resultado fica mais enxuto.

Execute o programa e veja a transformada Z de y imprimindo Y no Command Window:

Resposta

Z y n = Y z = z ( 10 z - 21 ) 3 z - 3 2