Beruflich Dokumente
Kultur Dokumente
INFORME DE LABORATORIO
TEMA:
IDENTIFICACIÓN DE MODELOS EN TIEMPO CONTINUO
PRESENTADO POR:
BUSTÍOS GUILLÉN, DANIEL ALONZO
DOCENTE:
ING. JAIME QUISPE
ESCUELA PROFESIONAL:
INGENIERÍA ELÉCTRICA
CUI:
20103082
GRUPO:
B
AREQUIPA - 2017
IDENTIFICACIÓN DE MODELOS EN TIEMPO
DISCRETO - IDENTIFICACIÓN DE MODELOS
EN TIEMPO CONTINUO
1. OBJETIVOS
- Desarrollar el modelo en tiempo continuo y en tiempo discreto del
proceso del equipo para fines de control
- Poder Modelar un proceso o un equipo a través de entradas y salidas
de señales, con estos datos elaborar los 3 tipos de modelos planteados
por Matlab.
Ecuación de cambio de estado
Modelo ARX
Modelo por Función de Transferencia
3. MARCO TEÓRICO
SISTEMA DINÁMICO
Un sistema dinámico es un sistema cuyo estado evoluciona con el tiempo.
Los sistemas físicos en situación no estacionaria son ejemplos de
sistemas dinámicos, pero también existen modelos económicos, matemáticos
y de otros tipos que son sistemas abstractos que son, además, sistemas
dinámicos. El comportamiento en dicho estado se puede caracterizar
determinando los límites del sistema, los elementos y sus relaciones;
de esta forma se pueden elaborar modelos que buscan representar la
estructura del mismo sistema.
4. PROCEDIMIENTO
En el presente trabajo para propósito de identificación se utilizara
el circuito rlc de primer orden cuyo modelo es el siguiente:
3
s+3
Uniform Random Transfer Fcn Salida1
Number
Gain
1
1 Salida
2
Entrada
Entrada1
HERRAMIENTAS A UTILIZAR
- v = get(h)
Muestra las características de un gráfico donde h es la entrada
- plot(X,Y)
Grafica x vs y siendo estos vectores del mismo rango
- y = detrend(x)
Elimina la tendencia datos de niveles constantes por datos de
media cero
- clf
Limpia la pantalla de gráficos tipo objetos
- sys = impulseest(data)
Calcula los puntos de entrada y salida como una función impulso
- impulseplot(sys)
Grafica una función impulso
- showConfidence(plot_handle,sd)
Nuestra una zona de confianza de la grafica con un estándar sd
- h = bodeplot(sys)
Grafica el diagrama de bode de un sistema de entara salida como
vectores
- h = stepplot(sys)
Grafica una entrada escalón unitario o paso de un sistema de entara
salida como vectores
- P = nyquistoptions
Muestra las características que presenta el diagrama de Nyquist
- sys = tfest(data,np,nz,iodelay)
Función de transferencia en tiempo continuo np es el número de polos
nz es el número de ceros nk es tiempo de retrazo de transporte
- yesno=compare(MPC1,MPC2)
Compara dos modelos y realiza la simulación
- iopzplot(sys1,sys2,...)
Grafica la ubicacion de ceros y polos de cada sistema
- G = spa(data)
Obtiene un modelo spectral no parametrico
- y = linspace(x1,x2,n)
Crea un vector de n elementos desde x1 hasta x2
- P = bodeoptions
Muestra las características que presenta el diagrama de bode
- Legend(tring1,…stringN)
Asigna nombres a las gráficas en la pantalla
PROCESO
figure(2)
ze=detrend(ze);
plot(ze(200:300));
figure(4)
showConfidence(impulseplot(mi),3);
m1=ssest(ze);
get(m1);% representa ss como odjeto en tiempo continuo
[A,B,C,D,K,~,dA,dB,dC,dD,dK]=idssdata(m1);%muestra matrices de estado
con sus derivada
figure(6)
showConfidence(stepplot(m1,'b',mi,'r',3),3)
Opt = nyquistoptions
Opt.ShowFullContour = 'off';
figure(7)
showConfidence(nyquistplot(m1,Opt),3)
figure(8)
compare(zv,m1)
figure(9)
compare(zv,m1,'b',m2,'r',m3,'c');
figure(10)
h = iopzplot(m1,'b',m2,'r',m3,'c');
showConfidence(h,3);
figure(11)
opt = bodeoptions; opt.PhaseMatching = 'on';
figure(12)
bodeplot(m1,'b',m2,'r',m3,'c',gs,'g',w,opt);
legend('m1','m2','m3','gs')
dry = iddata(y2,u2,0.08);
Time domain data set with 1000 samples.
Sample time: 0.08 seconds
ans =
Domain: 'Time'
Name: ''
OutputData: [1000x1 double]
y: 'Same as OutputData'
OutputName: {'y1'}
OutputUnit: {''}
InputData: [1000x1 double]
u: 'Same as InputData'
InputName: {'u1'}
InputUnit: {''}
Period: Inf
InterSample: 'zoh'
Ts: 0.0800
Tstart: []
SamplingInstants: [1000x0 double]
TimeUnit: 'seconds'
ExperimentName: 'Exp1'
Notes: {}
UserData: []
dry.InputName = 'Power';
dry.OutputName = 'Temperature';
dry.TimeUnit = 'seconds';
dry.InputUnit = 'Watt';
dry.OutputUnit = '^o C';
plot(ze(200:300));
3
Ampere
1
16 17 18 19 20 21 22 23 24
Time (seconds)
Tensión
1
0.5
Volts
-0.5
-1
16 17 18 19 20 21 22 23 24
Time (seconds)
ze = detrend(ze);
Temperature
3
2
oC
0
16 17 18 19 20 21 22 23 24
Time (seconds)
Power
1
0
Watt
-1
16 17 18 19 20 21 22 23 24
Time (seconds)
1
Amplitude
-1
-2
-3
0 1 2 3 4 5 6
Time (seconds)
h = bodeplot(m1);
Bode Diagram
From: Tensión To: Corriente
300
250
Magnitude (dB)
200
150
100
0
Phase (deg)
-90
-180
-9 -8 -7 -6
10 10 10 10
showConfidence(stepplot(m1,'b',mi,'r',3),3)
Step Response
From: Tensión To: Corriente
12
10
6
Amplitude
-2
0 0.5 1 1.5 2 2.5 3
Time (seconds)
m2 = arx(ze,[2 2 3]);
Discrete-time ARX model: A(z)y(t) = B(z)u(t) + e(t)
A(z) = 1 - 1.014 z^-1 + 0.0273 z^-2
B(z) = -0.01648 z^-3 + 0.01615 z^-4
Parameterization:
Polynomial orders: na=2 nb=2 nk=3
Number of free coefficients: 4
Use "polydata", "getpvec", "getcov" for parameters and their
uncertainties.
Status:
Estimated using ARX on time domain data "ze".
9
Fit to estimation data: 84.45% (prediction focus)
FPE: 0.03016, MSE: 0.02953
m3 =
Parameterization:
Number of poles: 2 Number of zeros: 1
Number of free coefficients: 4
Use "tfdata", "getpvec", "getcov" for parameters and their uncertainties.
Status:
Estimated using TFEST on time domain data "ze".
Fit to estimation data: 77.08% (simulation focus)
FPE: 0.0693, MSE: 0.06414
Bode Diagram
From: Tensión To: Corriente
20
10
Magnitude (dB)
-10
-20
-30
-40
180
m1
0 m2
Phase (deg)
m3
-180 gs
-360
-540
0 1
10 10
Frequency (rad/s)
Parameterization:
Number of poles: 2 Number of zeros: 1
Number of free coefficients: 4
Use "tfdata", "getpvec", "getcov" for parameters and their
uncertainties.
Status:
Estimated using TFEST on time domain data "ze".
Fit to estimation data: 77.08% (simulation focus)
FPE: 0.0693, MSE: 0.06414
5. CONCLUSIONES