Considere um circuito RLC série para o qual a FT é apresentada abaixo;
Com os seguintes valores:
Gere um script no MATLAB que:
b) gere a resposta no tempo para uma rampo Vi = t na entrada, para um tempo de 10 ms de simulação.
Gere um script no MATLAB que:
b) gere a resposta no tempo para uma rampo Vi = t na entrada, para um tempo de 10 ms de simulação.
Passo 1
O enunciado pede que eu gere um script em MATLAB que calcule a resposta no tempo de um circuito RLC série descrito pela função de transferência
quando a entrada é uma rampa
, simulando por
.
As informações numéricas dadas são:
-
. -
. -
.
O que se espera do script: montar o sistema linear correspondente a
, gerar a entrada
(rampa) no intervalo de tempo
a
e simular a saída
usando uma rotina adequada do MATLAB (por exemplo
lsim) e plotar o resultado.Passo 2
Qual é a ideia física/matemática por trás da simulação?
- A rampa
tem transformada de Laplace
- No domínio de Laplace a saída é
- Podemos obter a resposta no tempo fazendo a transformada inversa de Laplace analiticamente, mas na prática para simulação numérica no MATLAB é muito mais simples montar a função de transferência
no domínio do tempo e aplicar a entrada com uma função de simulação no tempo (por exemplo lsim). Isso evita manipulações algébricas pesadas e dá o sinal numérico diretamente.
Passo 3
Cálculo das constantes numéricas que aparecem no denominador de
.
Vamos calcular os coeficientes do polinômio do denominador
.
Portanto o denominador numérico é
Passo 4
Qual rotina do MATLAB usar e por quê?
tf(num,den)cria um modelo de função de transferência contínua a partir dos polinômios do numerador e denominador. Aqui o numerador deé (escala unitária). lsim(sys,u,t)simula a resposta no tempo de um sistema linear a uma entrada arbitráriadefinida no vetor de tempos . É ideal quando a entrada é uma rampa (ou qualquer forma não-padrão). - Alternativas: poderia converter para espaço de estados e usar
lsimtambém, ou integrar a EDO comode45montando as equações do circuito. Mastf+lsimé direto e suficiente.
Passo 5
Escolhas práticas para o script:
- Tempo de simulação:
. - Resolução temporal: escolher um vetor de tempos bem denso, por exemplo
pontos (passo ), para um traçado suave: - Entrada:
(vetor igual ao vetor de tempos). - Plot: converter o eixo tempo para
na exibição é prático (multiplicar por ).
Passo 6
Explicação passo a passo do que cada linha do script faz (para você entender e poder reproduzir na prova):
- Definir
, , com os valores dados. - Calcular os coeficientes
e para montar o vetor den. - Criar o sistema com
sys = tf(1, den);onde o numerador é1. - Gerar o vetor de tempo
tdea segundos com resolução desejada. - Definir a entrada
u = t;(rampa). - Simular a resposta com
y = lsim(sys, u, t);. - Plotar
yversust*1e3(tempo em ms) e rotular o gráfico.
Agora, abaixo está o script pronto para rodar no MATLAB. Copie e cole tal como está no MATLAB para gerar a resposta no tempo solicitada.
Resposta
% Script MATLAB para simular a resposta do RLC série à entrada rampa v_i(t)=t
% Simulação por 10 ms
% Simulação por 10 ms
% Parâmetros do circuito (valores dados)
L = 2e-3; % H
C = 20e-6; % F
R = 8; % Ohm
L = 2e-3; % H
C = 20e-6; % F
R = 8; % Ohm
% Coeficientes do denominador: LCs^2 + RCs + 1
den = [LC, RC, 1];
den = [LC, RC, 1];
% Numerador de G(s) = 1
num = 1;
num = 1;
% Criar sistema de função de transferência
sys = tf(num, den);
sys = tf(num, den);
% Vetor tempo: 0 a 10 ms com boa resolução
t_end = 0.01; % segundos (10 ms)
t = linspace(0, t_end, 10001); % 10001 pontos
t_end = 0.01; % segundos (10 ms)
t = linspace(0, t_end, 10001); % 10001 pontos
% Entrada rampa v_i(t) = t
u = t;
u = t;
% Simular resposta no tempo
y = lsim(sys, u, t);
y = lsim(sys, u, t);
% Plot
figure;
plot(t*1e3, y, ‘LineWidth’, 1.5);
xlabel(‘Tempo (ms)’);
ylabel(‘E_o(t)’);
title(‘Resposta do RLC série à entrada rampa v_i(t)=t (0–10 ms)’);
grid on;
figure;
plot(t*1e3, y, ‘LineWidth’, 1.5);
xlabel(‘Tempo (ms)’);
ylabel(‘E_o(t)’);
title(‘Resposta do RLC série à entrada rampa v_i(t)=t (0–10 ms)’);
grid on;