Método de Strejc

September 3, 2021 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Método de Strejc...

Description

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: [email protected]

RESUMEN

1. INTRODUCCIÓN

El presente documento describe la identificación de un sistema no periódico de orden superior, mediante el uso de técnicas de identificación en lazo abierto, específicamente se centra en la aplicación del método de Strejc. Strejc. Para ello se parte de la respuesta al escalón de un sistema de orden superior, el cual es sometido al proceso de identificación. Se estiman los parámetros del modelo aproximado del sistema y se compara la salida estimada con la del sistema original. Se utilizan dos criterios para la aplicación del método de Strejc, primero sin considerar retardo y luego considerando el mismo. Finalmente, se realiza un análisis sobre su comportamiento con base en el error de predicción cuadrático cometido en la simulación.

La mayoría de las representaciones matemáticas de los procesos industriales están basadas en la obtención del modelo a partir de sus relaciones físico-químicas y el plan planteamiento teamiento de balances de masa y energía [1]. Estas representaciones son por lo general, ecuaciones diferenciales cuyos coeficientes se asumen conocidos y constantes. Sin embargo, los experimentos necesarios para medir estos coeficientes son dispendiosos y requieren de gran experiencia, además los modelos obtenidos generalmente son complejos y no lineales, por lo que deben ser sometidos a procesos de simplificación y linealización. En este caso resulta conveniente el uso de 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 presente trabajo es el método original de Strejc (1960), criterio utilizado para la identificación de sistemas no periódicos de orden superior, el cual se basa en la respuesta al escalón del sistema, además requiere el trazo de una recta tangente en el punto de inflexión de la curva y la determinación del instante en que este punto ocurre [2]. El objetivo de este trabajo, consiste en programar el método de Strejc, simular un sistema no periódico de orden superior, y aplicarle el proceso de identificación para la estimación de sus parámetros.

Palabras Clave: Identificación de sistemas en lazo

abierto, método de Strejc, método de Strejc con retardo, sistemas de orden superior.

 ABSTRACT This paper describes the identification of a nonrecurrent higher order techniques using open loop identification, specifically focuses on the application of the method of Strejc. For this part of the step response of a high order, which is subject to the identification process. Estimate the model parameters about the system and the estimated output is compared with the original system. Two criteria are used to implement the method Strejc, first without considering delay and then considering the same. Finally, an analysis of their behavior based on the squared prediction error made in the simulation.

2. MÉTODO DE STREJC STREJC Un sistema no periódico de orden superior con n constantes de tiempo diferentes, como el mostrado: G(s) =

KeyWords: Open-loop system identification, Strejc

method, Strejc method with delay, system of a higher order.



(τ 1 s + 1)(τ 2 s + 1)...(τ n s + 1)

 

(1)

puede aproximarse adecuadamente mediante una función transferencial que presenta n constantes de

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

con el eje y:

tiempo idénticas y retardo [3], es decir: G( s) ≅



(τ s + 1)

n

e

−θ 

s

 

(2)

en donde K es la ganancia del proceso, τ   la constante de tiempo, Ɵ el retardo, y n el orden del sistema, parámetros que tienen que ser estimados. Método de Strejc sin considerar retardo de tiempo Se basa en la construcción gráfica que se muestra en la figura 1, donde se representa la respuesta al escalón de un sistema de orden superior [1].

 y o = P (T d  ) − mT d   

(4)

5. Se obtiene la ecuación de la recta tangente en el punto Q:  y (t ) = mx +  y o  

(5)

6. Se evalúa y(t) = 0 y y(t) = UK, para obtener T a y T c , respectivamente. Luego se determinan los valores: T b = T c -T a (6) T e  = T c -T d  (7) 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 criterio: 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 T a /T b T e /T b η

1 0 1 0

2 0.104 0.736 0.264

3 0.218 0.667 0.323

4 0.319 0.647 0.353

5 0.410 0.629 0.371

6 0.493 0.616 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 obtienen los valores posibles de τ. Tabla II: Relaciones p ara determinar τ. n

Figura 1. Gráfica para método de Strejc sin considerar retardo Considerando ahora la respuesta al escalón si Ɵ = 0, tenemos: G ( s) ≅



(τ s + 1) n

 

(3)

El procedimiento que se llevo a cabo para programar el método para la identificación, es el siguiente: 1. Se obtiene la respuesta al escalón del sistema a identificar y el valor de la ganancia estacionaria K. 2. Se ajusta la respuesta del sistema mediante un polinomio P(t).

(t ) = 0 , y de sus soluciones se 3. Se realiza P determina la posición del punto de inflexion Td. 4. Se evalúa P (T d  ) = m , y se obtiene el valor de la pendiente m  y también su intercepto “Identificación de Sistemas”

1

2

3

4

5

6

T a /T

τ

0

0.282

0.805

1.425

2.1

2.811

T b /T

τ

1

2.718

3.695

4.463

5.119

5.699

T d /T

τ

0

1

2

3

4

5

T e /T

τ

1

2

2.5

2.888

3.219

3.51

9. Se obtienen las curvas de respuesta de los sistemas aproximados, correspondientes a los valores de τ . Posteriormente, se selecciona el valor que presente el mejor ajuste. Método de Strejc considerando retardo de tiempo Se basa en la construcción gráfica que se muestra en la figura 2, donde se representa la respuesta al escalón de un sistema de orden superior [3]. Se considera ahora el sistema representado por la Ec. (2), el procedimiento para la identificación es el siguiente:

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

diante: θ  = [  f s −  f  ( no )]T n  

(13)

8. La constante de tiempo del proceso τ   , se obtiene de la relación: g ( n) =

τ 

T n

 

(14)

3. SISTEMA DE PRUEBA Y CRITERIO DE DESEMPEÑO Planta de prueba

Figura 2. Gráfica para método de Strejc considerando retardo 1. Se procede de manera análoga a los dos primeros puntos del método anterior.

(t ) = 0 , y de sus soluciones se 2. Se realiza P determina la posición del punto de inflexion ti. 3. Se evalúa P (t i ) = m =

1 T n

=

 

(9)

(10)

P(t i ) − mt i

4. Se obtiene la ecuación de la recta tangente en el punto Q, mediante Ec. (5). 5. Se evalúa y(t) = 0, para obtener el valor de Tu. 6. Se determina  f s

=

T u T n

 

(11)

y se ingresa a la Tabla III [3], para determinar el valor el orden del modelo aproximado n, siguiendo el criterio: f (n o ) ≤ f s   < f (n o +1)  (12) Tabla III: Orden del mo delo n . n f(n) g(n)

1 0 1

2 0.104 0.368

3 0.218 0.271

4 0.319 0.224

5 0.410 0.195

6 0.493 0.161

7. El tiempo de retardo Ɵ se determina me“Identificación de Sistemas”

Criterio de Desempeño Se establece como índice de desempeño de los modelos, la sumatoria del error de predicción cuadrático: n

2

S  = ∑ e k =1

de donde se obtiene el valor de la pendiente m, T n  y también su intercepto con el eje y  y o

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)(12s + 1)(15s + 1)

 

(16)

p

siendo: e p

=

 y ( k ) −  y m (k )  

(17)

donde y(k) representa el conjunto de valores de la respuesta del proceso y y m (k) el del modelo obtenido.

4. RESULTADOS Y DISCUSIÓN Método de Strejc sin considerar retardo de tiempo Se obtuvieron los siguientes resultados para el sistema propuesto y sometido a identificación: Ecuación de la recta tangente:  y (t ) = 0.0198x − 0.2843 Datos: Ta

=

14.3237

Tb

= 50.3827

Tc

= 64.7064

Td

= 32.0492

Te

= 32.6572

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

A partir de estos datos y de las Tablas I y II se determinó que el modelo aproximado es de orden n = 4. Con esto se obtuvo cuatro valores posibles para la constante de tiempo τ. A continuación se presentan las curvas de respuesta del sistema original y las de los sistemas aproximados, correspondientes a los distintos valores de τ  calculados, además se presenta la respuesta para una constante de tiempo promedio τ   y el error de predicción cuadrático. Para τ 1

=

para

τ2

 es: S  = 4.7089 × 10

Para τ 3

=

4



10.6831

10.0517

Figura 5. Salid a 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 Estim ada (azul) La sumatoria del error cuadrático de predicción para τ 1  es: S  = 5.9912 × 10

Para τ 2

=

4



11.2890

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

Figura 4. Salida Sistema (rojo) y Salida Estim ada (verde) La sumatoria del error cuadrático de predicción “Identificación de Sistemas”

Para τ 

=

10.8329

4



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

Figura 7. Salida Sistema (rojo) y Salida Estim ada (magenta) La sumatoria del error cuadrático de predicción para τ   es: 5



S  = 3.4166 × 10 Se puede apreciar de las gráficas que la mejor aproximación se obtiene para τ 3   cuya respuesta (figura 5) prácticamente no se distingue de la del sistema original y presenta además el menor valor para la sumatoria del error cuadrático. Otro valor aceptable es el de τ  que también presenta buenos resultados. Finalmente, la función transferencial del sistema identificado será entonces: G ( s) =

1 (10.6831s + 1) 4

 

(18)

Figura 8. Salid a Sistema (rojo) y Salida Estimada (azul), considerando retardo. Finalmente, la función transferencial del sistema identificado será entonces:  1 3.3403 s   (19) G(s) = e 3 (13.6537s + 1) −

es:

La sumatoria del error cuadrático de predicción S  = 8.6155 × 10

En la Tabla IV, se presentan los modelos obtenidos mediante las dos formas del método de Strejc, y una alternativa que resulta de tomar el promedio de las constantes de tiempo calculadas mediante el primer procedimiento. Tabla IV. Aproximaciones para el sistema identificado

Método de Strejc considerando retardo de tiempo Se obtuvieron los siguientes resultados para el sistema propuesto y sometido a identificación: Ecuación de la recta tangente:  y (t ) = 0.0198x − 0.2843 Datos: T n  = 50.3827 T u  = 14.3237 f s  = 0.2843 Con estos datos, se ingresa a la Tabla III, y se determina que el valor de n = 3. A partir de esto se obtuvo los siguientes valores: τ  = 13.6537 Ɵ = 3. 3403.

Los resultados de la simulación se muestran en la figura 8.

“Identificación de Sistemas”

4



Error de predicción Cuadrático S

Modelo Aproximado

G(s) =

1 (10.6831s + 1) 4

5

S  = 1.0314 × 10



S  = 3.4166 × 10



S  = 8.6155 × 10



No se considera retardo. G ( s) =

1 (10.8329 s + 1) 4

Se considera G ( s)

=

5

τ  , sin retardo.  

1

(13.6537s + 1)

Se considera retardo.

3

e



3.3403 s 4

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

5. CONCLUSIONES En el presente trabajo se ha presentado un procedimiento para la identificación de sistemas no periódicos de orden superior en condiciones de lazo abierto, basado en el uso del método de Strejc, en primer lugar sin considerar el retardo y posteriormente, incluyéndolo en el proceso de estimación de los parámetros del modelo. Ambos, procedimientos se programaron en MATLAB® y fueron probados, en condiciones de simulación, para la identificación de un sistema de quinto orden en lazo abierto. Del proceso de simulación se obtuvieron resultados satisfactorios, obteniendo modelos aproximados con un error de estimación reducido. Para el sistema que se identificó en el presente trabajo, el modelo que mejor ajusta la curva de respuesta, se logro mediante el procedimiento en el que no se considera retardo.

6. REFERENCIAS BIBLIOGRÁFICAS Aguado, A. Temas de Identificación y Control Adaptable. Edición del Instituto de Cibernética, Matemática y Física (ICIMAF), 2000. [2] Tanda, R. Evaluación del desempeño en métodos experimentales de identificación a lazo abierto. Departamento de Control Automático, Instituto de Cibernética, Matemática y Física (ICIMAF), 2010. [3] Mikleš, J., Fikar, M., Process Modelling, Identification, and Control.Springer, Verlag Berlin Heidelberg, 2007. [1]

7. ANEXOS Funciones implementadas en MATLAB® para la identificación mediante el método de Strejc. ************************************************************ Método de Strejc sin con siderar retardo **************************************

U=1;%Amplitud K=1;%Ganancia %Función de Transferencia para la simulación t =[0:0.1:150]; num = [U*K]; c1 = conv([3 1],[5 1]); c2 = conv(c1,[8 1]); c3 = conv(c2,[12 1]); den = conv(c3,[15 1]); G = tf(num,den); y = step(G,t); %plot(t,y,'r'); %h=plot(t,y,'r'); %xlabel('Tiempo'); %ylabel('Amplitud'); %legend (h,'Sistema') %hold on yp = y'; %**********TABLAS PARA EL MÉTODO DE STREJC************************ “Identificación de Sistemas”

Ta_Tb = [0 0.104 0.218 0.319 0.410 0.493 0.570 0.642 0.709 0.773]; Te_Tb = [1 0.736 0.667 0.647 0.629 0.616 0.606 0.599 0.593 0.587]; Ta_tau = [0 0.218 0.805 1.425 2.1 2.811 3.549 4.307 5.081 5.869]; Tb_tau = [1 2.718 3.695 4.463 5.119 5.699 6.226 6.711 7.164 7.59]; Td_tau = [0 1 2 3 4 5 6 7 8 9]; Te_tau = [1 2 2.5 2.888 3.219 3.51 3.775 4.018 4.245 4.458]; %**************************************************************** % Ajuste de datos a polinomio de 5to. orden P = polyfit(t,yp,5); % 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 Ta/Tb); % Obtención de (n) como el minímo de los ordenes encontrados n = min(i); %Obtención de relaciones para calcular tau ta_tau = Ta_tau(n); tb_tau = Tb_tau(n); td_tau = Td_tau(n); te_tau = Te_tau(n); %Cálculo de tau tau1 = Ta/ta_tau tau2 = Tb/tb_tau tau3 = Td/td_tau tau4 = Te/te_tau tauprom= (tau1+tau2+tau3+tau4)/4; %Función de transferencia para tau1 denT=1; numerador = [U*K]; for i=1:1:n denominador =[tau1 1]; denT= conv ([denT],[denominador]); end

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

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 tao1') %hold on %Función de transferencia para tau2 denT1=1; numerador1 = [U*K]; for i=1:1:n denominador1 =[tau2 1]; denT1= conv ([denT1],[denominador1]); end funcion2 = tf(numerador1,denT1); %Graficar función 2 y2 = step(funcion2,t); %h1=plot(t,y,t,y2); %set(h1,'LineWidth',1,{'LineStyle'},{'-';'-.'}) %set(h1,{'Color'},{'r';'g'}) %xlabel('Tiempo'); %ylabel('Amplitud'); %legend (h1,'Sistema Original','Sistema Aproximado') %title('Modelo Aproximado para tao2') %hold on %Función de transferencia para tau3 denT2=1; numerador2 = [U*K]; for i=1:1:n denominador2 =[tau3 1]; denT2= conv ([denT2],[denominador2]); end funcion3 = tf(numerador2,denT2); %Graficar función 3 y3 = step(funcion3,t); %h2=plot(t,y,t,y3); %set(h2,'LineWidth',1,{'LineStyle'},{'-';'-.'}) %set(h2,{'Color'},{'r';'k'}) %xlabel('Tiempo'); %ylabel('Amplitud'); %legend (h2,'Sistema Original','Sistema Aproximado') %title('Modelo Aproximado para tao3') %hold on %Función de transferencia para tau4 denT3=1; numerador3 = [U*K]; for i=1:1:n denominador3 =[tau4 1]; denT3= conv ([denT3],[denominador3]); end funcion4 = tf(numerador3,denT3); %Graficar función 4 y4 = step(funcion4,t); %h3=plot(t,y,t,y4); %set(h3,'LineWidth',1,{'LineStyle'},{'-';'-.'}) %set(h3,{'Color'},{'r';'c'}) %xlabel('Tiempo'); %ylabel('Amplitud'); %legend (h3,'Sistema Original','Sistema Aproximado') %title('Modelo Aproximado para tao4') %hold on “Identificación de Sistemas”

%Función de transferencia para taupromedio denT4=1; numerador4 = [U*K]; for i=1:1:n denominador4 =[tauprom 1]; denT4= conv ([denT4],[denominador4]); end funcionprom = tf(numerador4,denT4); %Graficar función tao promedio y5 = step(funcionprom,t); h4=plot(t,y,t,y5); set(h4,'LineWidth',1,{'LineStyle'},{'-';'-.'}) set(h4,{'Color'},{'r';'m'}) xlabel('Tiempo'); ylabel('Amplitud'); legend (h4,'Sistema Original','Sistema Aproximado') title('Modelo Aproximado para tao promedio') 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) for i = 1:length(y) S2(i) = (y(i)-y2(i))^2; end; SEPC2 = mean(S2) for i = 1:length(y) S3(i) = (y(i)-y3(i))^2; end; SEPC3 = mean(S3) for i = 1:length(y) S4(i) = (y(i)-y4(i))^2; end; SEPC4 = mean(S4) for i = 1:length(y) S5(i) = (y(i)-y5(i))^2; end; SEPC5 = mean(S5)

************************************************************ Método de Strejc considerando retardo

************************************************************ U=1;%Amplitud K=1;%Ganancia %Función de Transferencia para la simulación t =[0:0.1:150]; num = [U*K]; c1 = conv([3 1],[5 1]); c2 = conv(c1,[8 1]); c3 = conv(c2,[12 1]); den = conv(c3,[15 1]); G = tf(num,den); y = step(G,t); yp = y'; %**TABLAS PARA EL MÉTODO DE STREJC CON RETARDO** f = [0 0.104 0.218 0.319 0.410 0.493]; g = [1 0.368 0.271 0.224 0.195 0.161]; %*********************************************** % Ajustar datos a polinomio de 5to. orden P = polyfit(t,yp,5);

“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
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF