You are on page 1of 9

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/274958994

Identificación de sistemas en lazo abierto mediante el método de Strejc

Research · April 2015


DOI: 10.13140/RG.2.1.1223.6328

CITATIONS READS
0 503

1 author:

Julio Cesar Cuenca


Pontificia Universidad Javeriana
9 PUBLICATIONS   9 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Proyecto de Investigación UNL: Desarrollo de un algoritmo inteligente para el estudio técnico económico del régimen de operación de la redes de distribución eléctrica de la
ciudad de Loja View project

All content following this page was uploaded by Julio Cesar Cuenca on 14 April 2015.

The user has requested enhancement of the downloaded file.


IDENTIFICACIÓN EN LAZO ABIERTO MEDIANTE EL MÉTODO DE STREJC

OPEN-LOOP IDENTIFICATION USING STREJC METHOD

Ing. Julio César Cuenca Tinitana

Instituto Superior Politécnico “José Antonio Echeverría”, email: julio.cuenca@feestudiantes.cujae.edu.cu

RESUMEN 1. INTRODUCCIÓN
El presente documento describe la identificación La mayoría de las representaciones matemáti-
de un sistema no periódico de orden superior, me- cas de los procesos industriales están basadas en
diante el uso de técnicas de identificación en lazo la obtención del modelo a partir de sus relaciones
abierto, específicamente se centra en la aplicación físico-químicas y el planteamiento de balances de
del método de Strejc. Para ello se parte de la res- masa y energía [1]. Estas representaciones son por
puesta al escalón de un sistema de orden superior, lo general, ecuaciones diferenciales cuyos coefi-
el cual es sometido al proceso de identificación. Se cientes se asumen conocidos y constantes. Sin
estiman los parámetros del modelo aproximado del embargo, los experimentos necesarios para medir
sistema y se compara la salida estimada con la del estos coeficientes son dispendiosos y requieren de
sistema original. Se utilizan dos criterios para la gran experiencia, además los modelos obtenidos
aplicación del método de Strejc, primero sin consi- generalmente son complejos y no lineales, por lo
derar retardo y luego considerando el mismo. Fi- que deben ser sometidos a procesos de simplifica-
nalmente, se realiza un análisis sobre su compor- ción y linealización.
tamiento con base en el error de predicción cuadrá- En este caso resulta conveniente el uso de
tico cometido en la simulación. métodos experimentales para la estimación de los
parámetros o identificación del sistema. Una de
estas técnicas, y que es la que se describe en el
Palabras Clave: Identificación de sistemas en lazo
presente trabajo es el método original de Strejc
abierto, método de Strejc, método de Strejc con
(1960), criterio utilizado para la identificación de
retardo, sistemas de orden superior.
sistemas no periódicos de orden superior, el cual se
basa en la respuesta al escalón del sistema,
ABSTRACT además requiere el trazo de una recta tangente en
el punto de inflexión de la curva y la determinación
This paper describes the identification of a non- del instante en que este punto ocurre [2].
recurrent higher order techniques using open loop El objetivo de este trabajo, consiste en progra-
identification, specifically focuses on the application mar el método de Strejc, simular un sistema no
of the method of Strejc. For this part of the step periódico de orden superior, y aplicarle el proceso
response of a high order, which is subject to the de identificación para la estimación de sus paráme-
identification process. Estimate the model parame- tros.
ters about the system and the estimated output is
compared with the original system. Two criteria are
2. MÉTODO DE STREJC
used to implement the method Strejc, first without
considering delay and then considering the same. Un sistema no periódico de orden superior con n
Finally, an analysis of their behavior based on the constantes de tiempo diferentes, como el mostrado:
squared prediction error made in the simulation.
K
G ( s) = (1)
KeyWords: Open-loop system identification, Strejc (τ 1 s + 1)(τ 2 s + 1)...(τ n s + 1)
method, Strejc method with delay, system of a puede aproximarse adecuadamente mediante una
higher order. función transferencial que presenta n constantes de
“IDENTIFICACIÓN EN LAZO ABIERTO MEDIANTE EL MÉTODO DE STREJC”

tiempo idénticas y retardo [3], es decir: con el eje y:


K y o = P(Td ) − mTd (4)
G (s) ≅ e −θs (2)
(τs + 1) n
5. Se obtiene la ecuación de la recta tangente
en el punto Q:
en donde K es la ganancia del proceso, τ la cons-
tante de tiempo, Ɵ el retardo, y n el orden del siste- y (t ) = mx + y o (5)
ma, parámetros que tienen que ser estimados.
6. Se evalúa y(t) = 0 y y(t) = UK, para obtener
T a y T c , respectivamente. Luego se deter-
Método de Strejc sin considerar retardo de tiempo minan los valores:
Se basa en la construcción gráfica que se T b = T c -T a (6)
muestra en la figura 1, donde se representa la res- T e = T c -T d (7)
puesta al escalón de un sistema de orden superior
[1]. 7. Se calcula los cocientes T a /T b y T e /T b , así
como el valor del parámetro η y se ingresa
a la Tabla I [1], [3] para determinar el orden
del modelo aproximado n, siguiendo el crite-
rio:
T a /T b (n o ) > T a /T b ≥ T a /T b (n o +1) (8)
y se verifica mediante T e /T b .

Tabla I: Orden del modelo n.


n 1 2 3 4 5 6
T a /T b 0 0.104 0.218 0.319 0.410 0.493
T e /T b 1 0.736 0.667 0.647 0.629 0.616
η 0 0.264 0.323 0.353 0.371 0.384

8. Utilizando la Tabla II [1], con el valor de n y


los cocientes T a /τ, T b /τ, T d /τ, y T e /τ, se ob-
tienen los valores posibles de τ.

Tabla II: Relaciones para determinar τ.


n 1 2 3 4 5 6
T a /T τ 0 0.282 0.805 1.425 2.1 2.811
Figura 1. Gráfica para método de Strejc sin con- T b /T τ 1 2.718 3.695 4.463 5.119 5.699
siderar retardo T d /T τ 0 1 2 3 4 5
Considerando ahora la respuesta al escalón si
T e /T τ 1 2 2.5 2.888 3.219 3.51
Ɵ = 0, tenemos:
K
G ( s) ≅ (3) 9. Se obtienen las curvas de respuesta de los
(τs + 1) n sistemas aproximados, correspondientes a
El procedimiento que se llevo a cabo para pro- los valores de τ. Posteriormente, se selec-
gramar el método para la identificación, es el si- ciona el valor que presente el mejor ajuste.
guiente:
1. Se obtiene la respuesta al escalón del sis- Método de Strejc considerando retardo de tiempo
tema a identificar y el valor de la ganancia Se basa en la construcción gráfica que se mues-
estacionaria K. tra en la figura 2, donde se representa la respuesta
2. Se ajusta la respuesta del sistema mediante al escalón de un sistema de orden superior [3].
un polinomio P(t). Se considera ahora el sistema representado por
(t ) = 0 , y de sus soluciones se
3. Se realiza P la Ec. (2), el procedimiento para la identificación es
el siguiente:
determina la posición del punto de inflexion
Td.
4. Se evalúa P (Td ) = m , y se obtiene el valor
de la pendiente m y también su intercepto

“Identificación de Sistemas”
“IDENTIFICACIÓN EN LAZO ABIERTO MEDIANTE EL MÉTODO DE STREJC”

diante:
θ = [ f s − f (no )]Tn (13)
8. La constante de tiempo del proceso τ , se
obtiene de la relación:
τ
g ( n) = (14)
Tn

3. SISTEMA DE PRUEBA Y CRITERIO DE


DESEMPEÑO
Planta de prueba

Para la aplicación del método de identificación y


realizar las simulaciones se utiliza un sistema de
quinto orden con constantes de tiempo diferentes
(15):
1
G (s) =
(3s + 1)(5s + 1)(8s + 1)(12 s + 1)(15s + 1)
Figura 2. Gráfica para método de Strejc conside-
rando retardo
1. Se procede de manera análoga a los dos Criterio de Desempeño
primeros puntos del método anterior.
Se establece como índice de desempeño de los
(t ) = 0 , y de sus soluciones se
2. Se realiza P modelos, la sumatoria del error de predicción cua-
determina la posición del punto de inflexion drático:
ti. n
S = ∑e
2
3. Se evalúa (16)
k =1 p
1
P (t i ) = m = (9) siendo:
Tn
e p = y (k ) − y m (k ) (17)
de donde se obtiene el valor de la pendiente
m, T n y también su intercepto con el eje y donde y(k) representa el conjunto de valores de la
respuesta del proceso y y m (k) el del modelo obteni-
y o = P(t i ) − mt i (10) do.
4. Se obtiene la ecuación de la recta tangente
en el punto Q, mediante Ec. (5). 4. RESULTADOS Y DISCUSIÓN
5. Se evalúa y(t) = 0, para obtener el valor de
Tu. Método de Strejc sin considerar retardo de tiempo
6. Se determina
Se obtuvieron los siguientes resultados para el
T sistema propuesto y sometido a identificación:
fs = u (11)
Ecuación de la recta tangente:
Tn
y se ingresa a la Tabla III [3], para determi-
y (t ) = 0.0198 x − 0.2843
nar el valor el orden del modelo aproximado Datos:
n, siguiendo el criterio:
Ta = 14.3237
f (n o ) ≤ f s < f (n o +1) (12)
Tb = 50.3827
Tabla III: Orden del modelo n.
n 1 2 3 4 5 6 Tc = 64.7064
f(n) 0 0.104 0.218 0.319 0.410 0.493
g(n) 1 0.368 0.271 0.224 0.195 0.161
Td = 32.0492
Te = 32.6572
7. El tiempo de retardo Ɵ se determina me-

“Identificación de Sistemas”
“IDENTIFICACIÓN EN LAZO ABIERTO MEDIANTE EL MÉTODO DE STREJC”

A partir de estos datos y de las Tablas I y II se para τ 2 es:


determinó que el modelo aproximado es de orden n
= 4. Con esto se obtuvo cuatro valores posibles
S = 4.7089 × 10 −4
para la constante de tiempo τ. Para τ 3 = 10.6831
A continuación se presentan las curvas de res-
puesta del sistema original y las de los sistemas
aproximados, correspondientes a los distintos valo-
res de τ calculados, además se presenta la res-
puesta para una constante de tiempo promedio τ y
el error de predicción cuadrático.
Para τ 1 = 10.0517

Figura 5. Salida Sistema (rojo) y Salida Estimada


(negro)
La sumatoria del error cuadrático de predicción
para τ 3 es:
S = 1.0314 × 10 −5
Para τ 4 = 11.3079
Figura 3. Salida Sistema (rojo) y Salida Estimada
(azul)
La sumatoria del error cuadrático de predicción
para τ 1 es:
S = 5.9912 × 10 −4
Para τ 2 = 11.2890

Figura 6. Salida Sistema (rojo) y Salida Estimada


(turquesa)
La sumatoria del error cuadrático de predicción
para τ 4 es:
S = 5.0053 × 10 −4
Para τ = 10.8329
Figura 4. Salida Sistema (rojo) y Salida Estimada
(verde)
La sumatoria del error cuadrático de predicción

“Identificación de Sistemas”
“IDENTIFICACIÓN EN LAZO ABIERTO MEDIANTE EL MÉTODO DE STREJC”

Figura 7. Salida Sistema (rojo) y Salida Estimada Figura 8. Salida Sistema (rojo) y Salida Estimada
(magenta) (azul), considerando retardo.
La sumatoria del error cuadrático de predicción
para τ es: Finalmente, la función transferencial del sistema
−5 identificado será entonces:
S = 3.4166 × 10
1
Se puede apreciar de las gráficas que la mejor G (s) = e − 3.3403 s (19)
aproximación se obtiene para τ 3 cuya respuesta (13.6537s + 1) 3

(figura 5) prácticamente no se distingue de la del


La sumatoria del error cuadrático de predicción
sistema original y presenta además el menor valor
es:
para la sumatoria del error cuadrático. Otro valor
aceptable es el de τ que también presenta buenos S = 8.6155 × 10−4
resultados.
Finalmente, la función transferencial del sistema En la Tabla IV, se presentan los modelos obteni-
identificado será entonces: dos mediante las dos formas del método de Strejc,
y una alternativa que resulta de tomar el promedio
1
G (s) = (18) de las constantes de tiempo calculadas mediante el
(10.6831s + 1) 4 primer procedimiento.
Tabla IV. Aproximaciones para el sistema
Método de Strejc considerando retardo de tiempo identificado
Error de predicción
Se obtuvieron los siguientes resultados para el Modelo Aproximado Cuadrático
sistema propuesto y sometido a identificación: S
Ecuación de la recta tangente:
1
y (t ) = 0.0198 x − 0.2843 G (s) =
(10.6831s + 1) 4 S = 1.0314 × 10 −5
Datos:
No se considera retardo.
T n = 50.3827
1
T u = 14.3237 G (s) =
f s = 0.2843 (10.8329s + 1) 4 S = 3.4166 × 10 −5
Con estos datos, se ingresa a la Tabla III, y se Se considera τ , sin retardo.
determina que el valor de n = 3.
1
A partir de esto se obtuvo los siguientes valores: G (s) = e − 3.3403 s
τ = 13.6537 (13.6537s + 1) 3
S = 8.6155 × 10−4
Ɵ = 3. 3403. Se considera retardo.
Los resultados de la simulación se muestran en
la figura 8.

“Identificación de Sistemas”
“IDENTIFICACIÓN EN LAZO ABIERTO MEDIANTE EL MÉTODO DE STREJC”

Ta_Tb = [0 0.104 0.218 0.319 0.410 0.493 0.570 0.642


5. CONCLUSIONES 0.709 0.773];
Te_Tb = [1 0.736 0.667 0.647 0.629 0.616 0.606 0.599
En el presente trabajo se ha presentado un pro- 0.593 0.587];
cedimiento para la identificación de sistemas no Ta_tau = [0 0.218 0.805 1.425 2.1 2.811 3.549 4.307
periódicos de orden superior en condiciones de lazo 5.081 5.869];
abierto, basado en el uso del método de Strejc, en Tb_tau = [1 2.718 3.695 4.463 5.119 5.699 6.226 6.711
primer lugar sin considerar el retardo y posterior- 7.164 7.59];
mente, incluyéndolo en el proceso de estimación de Td_tau = [0 1 2 3 4 5 6 7 8 9];
los parámetros del modelo. Ambos, procedimientos Te_tau = [1 2 2.5 2.888 3.219 3.51 3.775 4.018 4.245
se programaron en MATLAB® y fueron probados, 4.458];
en condiciones de simulación, para la identificación %****************************************************************
de un sistema de quinto orden en lazo abierto. Del % Ajuste de datos a polinomio de 5to. orden
P = polyfit(t,yp,5);
proceso de simulación se obtuvieron resultados
% Encontrando el punto de inflexion (q) a partir de las
satisfactorios, obteniendo modelos aproximados raices de la
con un error de estimación reducido. Para el siste- % segunda derivada del polinomio de mejor ajuste
ma que se identificó en el presente trabajo, el mo- P1 = polyder(P);
delo que mejor ajusta la curva de respuesta, se P2 = polyder(P1);
logro mediante el procedimiento en el que no se R = roots(P2);
considera retardo. % Eliminando las raices negativas y las imaginarias
iR = imag(R); cni = find(iR); R(cni) = [];
cnn = find(R<0); R(cnn) = [];
6. REFERENCIAS BIBLIOGRÁFICAS %Determinando la raíz correspondiente al punto de
inflexión (q)
[1] Aguado, A. Temas de Identificación y Control Adap- q = min(R);
table. Edición del Instituto de Cibernética, Matemáti- % Encontrando la recta tangente al punto de inflexión (q)
ca y Física (ICIMAF), 2000. m = polyval(P1,q)
[2] Tanda, R. Evaluación del desempeño en métodos b = polyval(P,q)-m*q
experimentales de identificación a lazo abierto. De- rtang = m*t+b;
partamento de Control Automático, Instituto de Ci- %Cálculo de Ta evaluando la ecuación de la tangente
bernética, Matemática y Física (ICIMAF), 2010. haciendo rtang=0
Ta = -b/m;
[3] Mikleš, J., Fikar, M., Process Modelling, Identification,
%Cálculo de Tc evaluando la ecuación de la tangente
and Control.Springer, Verlag Berlin Heidelberg, 2007.
haciendo rtang=1
Tc = (U-b)/m;
7. ANEXOS %Cálculo de Td, Tb y Te
Td = q;
Funciones implementadas en MATLAB® para la Tb = Tc-Ta;
identificación mediante el método de Strejc. Te = Tc-Td;
%Relaciones para ingresar en las tablas y buscar n
ta_tb = Ta/Tb;
************************************************************ te_tb = Te/Tb;
%Determinación del orden n
Método de Strejc sin considerar retardo i = find(Ta_Tb > Ta/Tb);
************************************** % Obtención de (n) como el minímo de los ordenes en-
U=1;%Amplitud contrados
K=1;%Ganancia n = min(i);
%Función de Transferencia para la simulación %Obtención de relaciones para calcular tau
t =[0:0.1:150]; ta_tau = Ta_tau(n);
num = [U*K]; tb_tau = Tb_tau(n);
c1 = conv([3 1],[5 1]); td_tau = Td_tau(n);
c2 = conv(c1,[8 1]); te_tau = Te_tau(n);
c3 = conv(c2,[12 1]); %Cálculo de tau
den = conv(c3,[15 1]); tau1 = Ta/ta_tau
G = tf(num,den); tau2 = Tb/tb_tau
y = step(G,t); tau3 = Td/td_tau
%plot(t,y,'r'); tau4 = Te/te_tau
%h=plot(t,y,'r'); tauprom= (tau1+tau2+tau3+tau4)/4;
%xlabel('Tiempo'); %Función de transferencia para tau1
%ylabel('Amplitud'); denT=1;
%legend (h,'Sistema') numerador = [U*K];
%hold on for i=1:1:n
yp = y'; denominador =[tau1 1];
%**********TABLAS PARA EL MÉTODO DE denT= conv ([denT],[denominador]);
STREJC************************ end

“Identificación de Sistemas”
“IDENTIFICACIÓN EN LAZO ABIERTO MEDIANTE EL MÉTODO DE STREJC”

funcion1 = tf(numerador,denT); %Función de transferencia para taupromedio


%Graficar función 1 denT4=1;
y1 = step(funcion1,t); numerador4 = [U*K];
%plot(t,y1,'b'); for i=1:1:n
%h=plot(t,y,t,y1); denominador4 =[tauprom 1];
%set(h,'LineWidth',1,{'LineStyle'},{'-';'-.'}) denT4= conv ([denT4],[denominador4]);
%set(h,{'Color'},{'r';'b'}) end
%xlabel('Tiempo'); funcionprom = tf(numerador4,denT4);
%ylabel('Amplitud'); %Graficar función tao promedio
%legend (h,'Sistema Original','Sistema Aproximado') y5 = step(funcionprom,t);
%title('Modelo Aproximado para tao1') h4=plot(t,y,t,y5);
%hold on set(h4,'LineWidth',1,{'LineStyle'},{'-';'-.'})
%Función de transferencia para tau2 set(h4,{'Color'},{'r';'m'})
denT1=1; xlabel('Tiempo');
numerador1 = [U*K]; ylabel('Amplitud');
for i=1:1:n legend (h4,'Sistema Original','Sistema Aproximado')
denominador1 =[tau2 1]; title('Modelo Aproximado para tao promedio')
denT1= conv ([denT1],[denominador1]); hold on
end %**Sumatoria de error de predicción cuadrático**%
funcion2 = tf(numerador1,denT1); for i = 1:length(y)
%Graficar función 2 S1(i) = (y(i)-y1(i))^2;
y2 = step(funcion2,t); end;
%h1=plot(t,y,t,y2); SEPC1 = mean(S1)
%set(h1,'LineWidth',1,{'LineStyle'},{'-';'-.'})
%set(h1,{'Color'},{'r';'g'}) for i = 1:length(y)
%xlabel('Tiempo'); S2(i) = (y(i)-y2(i))^2;
%ylabel('Amplitud'); end;
%legend (h1,'Sistema Original','Sistema Aproximado') SEPC2 = mean(S2)
%title('Modelo Aproximado para tao2')
%hold on for i = 1:length(y)
%Función de transferencia para tau3 S3(i) = (y(i)-y3(i))^2;
denT2=1; end;
numerador2 = [U*K]; SEPC3 = mean(S3)
for i=1:1:n for i = 1:length(y)
denominador2 =[tau3 1]; S4(i) = (y(i)-y4(i))^2;
denT2= conv ([denT2],[denominador2]); end;
end SEPC4 = mean(S4)
funcion3 = tf(numerador2,denT2); for i = 1:length(y)
%Graficar función 3 S5(i) = (y(i)-y5(i))^2;
y3 = step(funcion3,t); end;
%h2=plot(t,y,t,y3); SEPC5 = mean(S5)
%set(h2,'LineWidth',1,{'LineStyle'},{'-';'-.'})
%set(h2,{'Color'},{'r';'k'}) ************************************************************
%xlabel('Tiempo');
%ylabel('Amplitud'); Método de Strejc considerando retardo
%legend (h2,'Sistema Original','Sistema Aproximado') ************************************************************
%title('Modelo Aproximado para tao3') U=1;%Amplitud
%hold on K=1;%Ganancia
%Función de transferencia para tau4 %Función de Transferencia para la simulación
denT3=1; t =[0:0.1:150];
numerador3 = [U*K]; num = [U*K];
for i=1:1:n c1 = conv([3 1],[5 1]);
denominador3 =[tau4 1]; c2 = conv(c1,[8 1]);
denT3= conv ([denT3],[denominador3]); c3 = conv(c2,[12 1]);
end den = conv(c3,[15 1]);
funcion4 = tf(numerador3,denT3); G = tf(num,den);
%Graficar función 4 y = step(G,t);
y4 = step(funcion4,t); yp = y';
%h3=plot(t,y,t,y4); %**TABLAS PARA EL MÉTODO DE STREJC CON RE-
%set(h3,'LineWidth',1,{'LineStyle'},{'-';'-.'}) TARDO**
%set(h3,{'Color'},{'r';'c'}) f = [0 0.104 0.218 0.319 0.410 0.493];
%xlabel('Tiempo'); g = [1 0.368 0.271 0.224 0.195 0.161];
%ylabel('Amplitud'); %***********************************************
%legend (h3,'Sistema Original','Sistema Aproximado') % Ajustar datos a polinomio de 5to. orden
%title('Modelo Aproximado para tao4') P = polyfit(t,yp,5);
%hold on

“Identificación de Sistemas”
“IDENTIFICACIÓN EN LAZO ABIERTO MEDIANTE EL MÉTODO DE STREJC”

% Encontrando el punto de inflexion (q) a partir de las


raices de la
% segunda derivada del polinomio de mejor ajuste
P1 = polyder(P);
P2 = polyder(P1);
R = roots(P2);
% Eliminando las raices negativas y las imaginarias
iR = imag(R); cni = find(iR); R(cni) = [];
cnn = find(R<0); R(cnn) = [];
%Determinando la raíz correspondiente al punto de in-
flexión (q)
q = min(R);
% Encontrando la recta tangente al punto de inflexión (q)
m = polyval(P1,q);
%intercepto con el eje y
b = polyval(P,q)-m*q
%Ecuación de la recta
rtang = m*t+b;
Tn = 1/m;
%Cálculo de Ta evaluando
%la ecuación de la tangente haciendo rtang=0
Tu = -(b)/m;
%Cálculo de fs
fs = Tu/Tn;
% Obtención de (n) como el máximo de los ordenes
encontrados
i = find(f < fs);
n = max(i);
%Cálculo del retardo L
L =(fs-f(n))*Tn;
%Cálculo de tau
tau=Tn*g(n);
punto= m*q+b;
%Función de transferencia para tau1
denT=1;
numerador = [U*K];
for i=1:1:n
denominador =[tau 1];
denT= conv ([denT],[denominador]);
end
funcion1 = tf(numerador,denT);
%Graficar función 1
y1 = step(funcion1,t);
plot(t,y1,'b');
h=plot(t,y,t,y1);
set(h,'LineWidth',1,{'LineStyle'},{'-';'-.'})
set(h,{'Color'},{'r';'b'})
xlabel('Tiempo');
ylabel('Amplitud');
legend (h,'Sistema Original','Sistema Aproximado')
title('Modelo Aproximado para tao')
hold on
%**Sumatoria de error de predicción cuadrático**
for i = 1:length(y)
S1(i) = (y(i)-y1(i))^2;
end;
SEPC1 = mean(S1)

“Identificación de Sistemas”

View publication stats

You might also like