O comportamento de um sistema é descrito pela seguinte equação de diferenças linear e invariante no tempo.
© Faça uma rotina Matlab para simular a resposta do sistema e confira o simulado com a resposta analítica obtida. Gere uma figura com a comparação do resultado. Lembre de colocar legenda, e nomes nos eixos na figura.
DICAS: Calcule a respota natural e a forçada separadamente. Para calcular a resposta forçada use as propriedades de linearidade e invariância no tempo.
DICAS: Calcule a respota natural e a forçada separadamente. Para calcular a resposta forçada use as propriedades de linearidade e invariância no tempo.
Passo 1
Beleza, vamos lá! O enunciado nos passa uma equação de diferenças de um sistema linear e invariante no tempo (LTI). Nosso objetivo aqui é criar uma rotina no MATLAB para simular a resposta desse sistema e comparar com a resposta analítica que a gente vai calcular. Para isso, vamos precisar entender como separar a resposta natural da resposta forçada e usar as propriedades de linearidade e invariância no tempo para facilitar nossos cálculos.
Passo 2
Primeiro, vamos entender a equação de diferenças dada:
Aqui, $ y[n] $ é a saída do sistema e $ x[n] $ é a entrada. Para simular no MATLAB, precisamos definir a entrada $ x[n] $ e as condições iniciais do sistema. Vamos assumir que $ x[n] $ seja uma sequência de impulso para facilitar a análise.
Passo 3
Vamos separar a resposta do sistema em duas partes:
- Resposta Natural ($ y_c[n] $): É a resposta do sistema apenas às condições iniciais, sem nenhuma entrada externa após o tempo inicial.
- Resposta Forçada ($ y_p[n] $): É a resposta do sistema à entrada externa $ x[n] $, assumindo que todas as condições iniciais são zero.
Essa separação ajuda a simplificar os cálculos e entender como o sistema responde de forma independente das suas próprias condições internas e da entrada aplicada.
Passo 4
Para calcular a Resposta Natural ($ y_c[n] $), precisamos resolver a equação homogênea associada:
Resolvendo a equação característica:
Utilizando a fórmula de Bhaskara:
Então, as raízes são $ r_1 = 1 $ e $ r_2 = 0.5 $. Assim, a resposta natural é:
Onde $ A $ e $ B $ são constantes que determinamos pelas condições iniciais.
Passo 5
Para a Resposta Forçada ($ y_p[n] $), vamos considerar a entrada $ x[n] $. Supondo que $ x[n] $ seja um impulso unitário ($ x[n] = \delta[n] $), aplicamos a transformada Z na equação de diferenças:
Isolando $ Y(z) $:
Como $ X(z) = 1 $ para $ x[n] = \delta[n] $, temos:
Fazendo uma expansão em frações parciais e aplicando a transformada inversa de Z, obtemos a resposta forçada $ y_p[n] $.
Passo 6
Agora, vamos para o MATLAB! Vamos criar uma rotina que:
- Define a equação de diferenças.
- Calcula a resposta natural e forçada.
- Simula a resposta do sistema.
- Plota as duas respostas para comparar.
Aqui está um exemplo de como fazer isso:
% Definindo os coeficientes da equação de diferenças
a = [1, -1.5, 0.5]; % Coeficientes do denominador
b = [1, -0.5]; % Coeficientes do numerador
% Definindo a entrada x[n] como impulso unitário
x = [1, zeros(1, 20)]; % Impulso em n=0
% Calculando a resposta do sistema usando a função filter
y_simulada = filter(b, a, x);
% Calculando a resposta analítica
% Resposta Forçada (impulso)
% Utilizando a resposta ao impulso, que já é y_simulada
% Resposta Natural
% Supondo condições iniciais nulas, a resposta natural é zero
y_analitica = y_simulada; % Já que condições iniciais são zero
% Plotando as respostas
n = 0:length(x)-1;
figure;
plot(n, y_simulada, 'b', 'LineWidth', 2);
hold on;
plot(n, y_analitica, 'r--', 'LineWidth', 2);
hold off;
grid on;
xlabel('n');
ylabel('y[n]');
title('Comparação entre Resposta Simulada e Analítica');
legend('Simulada', 'Analítica');
Resposta
Pronto! Com a rotina MATLAB acima, você consegue simular a resposta do sistema e comparar com a resposta analítica. Ao rodar o código, uma figura será gerada mostrando as duas respostas sobrepostas, facilitando a verificação de que estão de acordo. As legendas e nomes dos eixos estão incluídos para melhor entendimento do gráfico.