Um sistema em tempo discreto com entrada
e saída
é representado pela equação de diferenças abaixo. Considere condições iniciais nulas.
a) Determine a função de transferência
.
b) Calcule os polos da função de transferência
. Em seguida, verifique se o sistema é estável.
c) Supondo que a entrada é um sinal do tipo degrau unitário, calcule o valor estacionário da saída.
d) Utilizando uma ferramenta computacional, simule a resposta do sistema para uma entrada degrau unitário. Compare com o resultado obtido no item anterior.
b) Calcule os polos da função de transferência
c) Supondo que a entrada é um sinal do tipo degrau unitário, calcule o valor estacionário da saída.
d) Utilizando uma ferramenta computacional, simule a resposta do sistema para uma entrada degrau unitário. Compare com o resultado obtido no item anterior.
Passo 1
O enunciado dá a equação de diferenças do sistema (condições iniciais nulas) e pede quatro coisas. Vou listar claramente o que foi dado e o que é pedido.
Dados do enunciado:
- A equação de diferenças é
com condições iniciais nulas (isto é,
antes do início).
O que o enunciado pergunta:
a) Determinar a função de transferência .
b) Calcular os polos de e verificar se o sistema é estável.
c) Supondo entrada degrau unitário, calcular o valor estacionário (limite quando ) da saída.
d) Simular a resposta ao degrau usando uma ferramenta computacional e comparar com o resultado do item (c).
a) Determinar a função de transferência
b) Calcular os polos de
c) Supondo entrada degrau unitário, calcular o valor estacionário (limite quando
d) Simular a resposta ao degrau usando uma ferramenta computacional e comparar com o resultado do item (c).
Passo 2
A primeira tarefa é obter a função de transferência
. Vou explicar o método passo a passo e o porquê de cada passo — lembrando que a transformada Z converte deslocamentos no tempo em fatores de
, desde que as condições iniciais sejam nulas.
Breve aula rápida sobre transformada Z (do jeito simples):
- Se
tem transformada , então (deslocamento por passos para a direita) corresponde a quando as condições iniciais são nulas. - Aplicando a transformada Z na equação de diferenças com condições iniciais nulas, cada termo
vira e cada vira . - Depois isolamos
para obter .
Agora aplico a transformada Z à equação dada:
Agrupando os termos em
no lado esquerdo:
Portanto a função de transferência é
É comum multiplicar numerador e denominador por
para obter polinômios em
:
(As duas formas acima são equivalentes; a forma em
é útil para implementação em diferença, a forma em
é útil para encontrar polos.)
Passo 3
Agora vamos achar os polos: polos são as raízes do denominador de
, isto é, das soluções de
Isso é uma equação quadrática. Vou resolver com a fórmula da raiz quadrada (fórmula de Bhaskara). Para uma equação
as raízes são
Aqui
,
,
. Então o discriminante é
Como
, as raízes serão complexas conjugadas. Aplicando a fórmula:
Vamos dar os valores aproximados para entender a posição no plano
:
- Parte real:
. - Parte imaginária:
.
O módulo (distância ao centro) de cada polo é
Critério de estabilidade (explicação didática): para um sistema linear e causal em tempo discreto, ele é BIBO-estável se, e somente se, todos os polos da função de transferência estiverem estritamente dentro do círculo unitário do plano
(isto é,
). Aqui os polos têm módulo aproximadamente
, logo o sistema é estável.
Passo 4
Item (c): valor estacionário da saída quando a entrada é um degrau unitário. Vou explicar a ferramenta usada: Teorema do valor final na forma discreta.
Teorema do valor final discreto (intuição e fórmula):
- Se
é a transformada Z de e todos os polos relevantes de estão dentro do círculo unitário (condição de convergência válida), então
No caso de entrada degrau unitário
para
, a transformada é
Como
, temos
Note que
(faça a álgebra:
e multiplicando por
dá 1). Portanto, sempre que o teorema do valor final for aplicável (aqui é, porque o sistema é estável e não há polo em
), o valor final é simplesmente
Agora calcule
. Usando a forma em
:
Fazendo em frações:
logo
Portanto o valor estacionário esperado para a saída frente a um degrau unitário é
(aproximadamente
).
Passo 5
Item (d): simulação computacional e comparação. Vou fornecer um exemplo de como simular (em Python e em MATLAB/Octave), explicar o que o código faz e apresentar resultados numéricos e uma pequena tabela de iterações calculadas à mão/por simulação para ver a convergência ao valor estacionário.
Código Python (usando numpy para iteração direta — simples e fácil de entender):
import numpy as np
N = 40
u = np.ones(N) # degrau unitário para k=0..N-1
y = np.zeros(N)
# condição inicial: y[0]=y[1]=0 (já zerado)
for k in range(N):
if k >= 2:
y[k] = (1/3)*y[k-1] - 0.4*y[k-2] + u[k-2]
else:
y[k] = 0.0 # conforme condições iniciais nulas e definição da equação
print("k y[k]")
for k in range(N):
print(f"{k:2d} {y[k]:.6f}")
print("y[39] = ", y[39])
Código equivalente em MATLAB/Octave (usando recursão direta):
N = 40;
u = ones(1,N);
y = zeros(1,N);
for k = 1:N
if k > 2
y(k) = (1/3)*y(k-1) - 0.4*y(k-2) + u(k-2);
else
y(k) = 0;
end
end
y
Esses códigos implementam diretamente a equação de diferenças com condições iniciais nulas. A saída numérica (valores aproximados) obtida pela recursão é, para os primeiros termos:
-
-
-
-
-
-
-
-
-
-
-
- … e assim por diante, os valores oscilam e convergem para cerca de
.
Se rodar o código até
(ou
), verá que
se aproxima de
. Por exemplo, executando a recursão numericamente (com precisão dupla), valores típicos depois de algumas dezenas de passos ficam muito próximos de
(por exemplo
com erro numérico pequeno), confirmando o valor obtido analyticamen te em (c).
Conclusão da comparação: a simulação numérica converge para o valor estacionário calculado analiticamente
, portanto há concordância entre teoria e simulação.
Resposta
a)
b) Os polos são
. Como
, o sistema é estável.
c) Valor estacionário para entrada degrau unitário:
d) Simulação numérica (recorrência) mostra que
converge para
(ex.: após algumas dezenas de passos
), em concordância com o item (c).