COMPARATIVE ANALYSIS OF SYSTEM IDENTIFICATION FOR A CHEMICAL PROCESS
ABSTRACT
System identification is the method to find the mathematical model from the observed data. System identification is carried out through collection of data, choose the convenient model for the data set, computing the best model and the validation of data. The system identification techniques are used to find the model for a quadruple tank process which is a non-linear system. The quadruple tank consists of four interconnected tanks and two pumps whose outputs are split into two by two three-way valves. Each tank has a discharge valve at the bottom. The discharge from the upper tanks goes to the lower tanks to each of them and the discharge from the lower tanks goes to a reservoir. This creates a strong coupling between the tanks which makes it a multivariable control system. Due to its strong nonlinear behavior, the problem of identification and control of QTP is always a challenging task. The flowrates are taken as inputs and the level of the tanks are outputs. The aim of this project is to design the model for the level of the lower two tanks in the quadruple tank process.
Neural network which is inspired by the biological nervous system, contains large number of interconnected processing elements. Knowledge is acquired through learning process. Layer recurrent network is powerful set of artificial networks especially used for processing sequential data. It has feedback loop where output from previous step is feedback to the net to affect the outcome of current step and so forth for each subsequent step. Principal component analysis is one of the method for analysis of large industrial data set. The goal is to extract the important information from the data and keeps the information by compressing the size of the data and then analyses the structure of observations and the variables. Principal components analysis is commonly used in the social sciences, market research, and other industries that use large data sets.
The validation of the data is done by root mean square method and the comparison of these two methods are studied.
CHAPTER 1-INTRODUCTION
- NON-LINEAR PROCESS
Many industrial process are multivariable process and exhibit non-linear in characteristics and cannot be treated satisfactorily using linear system theory. Modelling and controller system design becomes considerably more complicated as one progresses from analysis and control of linear systems to nonlinear systems. Basically, if the analysis is confined to a local operating point then linearization may be an acceptable strategy. On the other hand, linearization is an approximation and will generally not serve as a good place to develop a global control law. Analysis of nonlinear systems entails more sophisticated approaches. The dynamics of a nonlinear system are richer; consequently, the process of formulating a control law through a standard design process entails deeper understanding and more sophistication.
The control strategy for non-linear system is to make the closed-loop system to behave more linearly by keeping the loop gain constant. We can also make non-linear transformations of input or output to make the loop gain more constant. model based control strategies for non-linear systems traditionally based on local linearization.
- SYSTEM IDENTIFICATION
System identification is the method to find the mathematical model from the observed data and to find the dynamic behaviour of the system or process. System identification is carried out through collection of data, choose the convenient model for the data set, computing the best model and the validation of data. System identification is usually carried out in an iterative process.
Figure 1.1 Structure for system identification
In the above figure,
lrn_net.trainParam.show = 5;
lrn_net.trainParam.epochs =25;
lrn_net = train(lrn_net,p,t);
output= lrn_net(p);
output=cell2mat(output);
figure(1);
plot(output);
legend(‘t1′,’t2’);
error=output-out;
figure(2);
plot(error);
legend(‘t1′,’t2’);
figure(3);
plot(1:length(out),out,1:length(out),output,1:length(out),error);
legend(‘t1-true’,’t2-true’,’t1-estimate’,’t2-estimate’,’t1-error’,’t2-error’);
RMSE=sqrt(sum((out-output).^2)/max(size(out)));
x_test=input_test;
y_test=out_test;
p_test = con2seq(x_test);
t_test= con2seq(y_test);
lrn_net=train(lrn_net,p_test,t_test);
output_test=lrn_net(p_test);
output_test=cell2mat(output_test);
figure(4);
plot(output_test);
legend(‘t1′,’t2’);
error_test=output_test-y_test;
figure(5);
plot(error_test);
legend(‘t1′,’t2’);
figure(6);
plot(1:length(y_test),y_test,1:length(y_test),output_test,1:length(y_test),error_test);
legend(‘t1-true’,’t2-true’,’t1-estimate’,’t2-estimate’,’t1-error’,’t2-error’);
RMSE_test=sqrt(sum((y_test-output_test).^2)/max(size(y_test)));
4.2 CODE FOR PCR
input=[data(:,2) data(:,3)];
output=[data(:,4) data(:,5)];
input_test=[test(:,2) test(:,3)];
output_test=[test(:,4) test(:,5)];
AStd=std(input);
AMean=mean(input);
X_Train=zscore(input);
AAStd=std(output);
AAMean=mean(output);
X1_Traini=zscore(output);
X1_Train=X1_Traini’;
X_Testii=(input_test(1:1000,:));
X_Testi=bsxfun(@minus,X_Testii,AMean);
X_Test= bsxfun(@rdivide, X_Testi, AStd);
X1_Testiii=output_test(1:1000,:);
AAAMean=mean(X1_Testiii);
X1_Testii=bsxfun(@minus,X1_Testiii,AAMean);
X1_Testi= bsxfun(@rdivide, X1_Testii, AAStd);
X1_Test= X1_Testi’;
[COEFF,SCORE,LATENT] = princomp(X_Train); f=(cumsum(LATENT)/sum(LATENT))*100; %Cumulative variance
param=SCORE(:,1:2)X1_Traini;
pred(:,1)=param(1)*X_Test(:,1)-param(2)*X_Test(:,1);
pred(:,2)=param(3)*X_Test(:,2)+param(4)*X_Test(:,2);
figure(1)
plot(LATENT(1:2),’–rs’,’LineWidth’,2,’MarkerEdgeColor’,’k’, ‘MarkerFaceColor’,’g’,’MarkerSize’,10) ;
hold on
set(gca,’fontname’,’times’,’fontsize’,16);
xlabel(‘Principal Components’);
ylabel(‘Eigen Values’);
title(‘Eigen Value Plot’)
figure(2)
plot(f(1:2),’rs’,’LineWidth’,2,’MarkerEdgeColor’,’k’,’MarkerFaceColor’,’g’,’MarkerSize’,10)set(gca,’fontname’,’times’,’fontsize’,16)
xlabel(‘Principal Components’);
ylabel(‘Cumulative Variance’);
title(‘Cumulative Variance Plot’);
print(‘-depsc’,’CumulativeVariance_PCAExample.eps’)
figure(3)
plot(X1_Testi,’linewidth’,2)
hold on
plot(pred,’linewidth’,2,’linestyle’,’–‘) ;
RMSE=sqrt(sum((X1_Testi-pred).^2)/max(size(X1_Testi)));
CHAPTER 5-RESULTS AND DISCUSSION
5.1 IDENTIFICATION USING NEURAL NETWORK
Figure 4.1 The true and estimated level of the tanks and error between the true and estimated values of the level of the tank are plotted.
The number of hidden layers is taken as 2. The experiment is done for different number of iterations taken as 10,20, etc. as the iterations increases, the RMSE value of the true and estimated values decreases.
Figure 4.2 Epoch vs RMSE values
5.2 IDENTIFICATION USING PCR
Figure 4.3 Cumulative variance plot
Figure 4.4 True and predicted measurements of level of the tanks using PCR
The above results show the identification ability of PCA.The y-axis is ±2 of the mean of levels of the tank. The RMSE found to be 0.4181 & 0.4252 for each level of the tank. This system captures the dynamics effectively by having cumulative variance of 100%. The principle components are the orthogonal vectors of dominant eigen values. The basis vectors span the plane in which data points lie. The orthogonal vectors are basis vectors which are used for reconstruction of the data points.
5.3 MODEL VALIDATION
TABLE 4.1 RMSE OF CONTROL VARIABLES
METHOD | Level of the tank 1(t1) | Level of the tank(t2) |
NEURAL NETWORK | 0.3165 | 0.3629 |
PCA | 0.4181 | 0.4252 |
The RMSE found for neural network is lesser than that of PCR.
5.4 CONCLUSION
The identification effectiveness in terms of RMSE of both the techniques is given. Both the techniques are valid as of now as they predict values that are in acceptable range. The initial study shows that both these techniques are viable for identifying the model and further scope of this study is to analyze how easy it is to implement a controller for these techniques. Also, its closed loop behavior and its characteristics are to be studied. In neural network t is possible to study over-fitting effect that takes place when iterations are increased. It has been observed that simple models that are very easy to implement is much preferred in real time systems. Here neural network is better in performance.
References
[1] S.Chen, S.A.Billings & P.M.Grant,” Non-linear system identification using neural networks”,International Journal of Control, Volume 15,1990.
[2] R.Suja Mani Malar,T.Thyagarajan,” Modeling of Quadruple Tank System Using Soft Computing Techniques “,European Journal of Scientific Research ISSN 1450-216X Vol.29 No.2 (2009)
[3]Harish Ramani, Balasubramanian.G,Ramkumar.K, Jayalalitha.S,Guru prasath, “Identification of an irregularly sampled cement ball mill process- comparative study”, Proceedings of IRF international Conference,2015
[4] Patterson, D. W.,1996. Artificial Neural Networks – Theory and Applications, Prentice Hall,India.
[5] Engin, S. N., and Gulez, K.,1999. A Wavelet Transform – Artificial Neural Networks (WTANN) based Rotating Machinery Fault Diagnostics Methodology, IEEE NSIP’ 99, Falez Hotel,Antalya,Turkey, 1-3.