## 4 Model Predictive Controller Design for Gas Turbine Engine  
In general, the MPC algorithm predicts the change in the dependent variables of the modelled system that will be caused by changes in the independent variables. So, the MPC would operate on top of the discrete engine model as shown in Figure 2[37]. The control decisions from the MPC are based on the linear predictions from the linear state-space model (Equation (1)), and the predictions are amended due to the updates of the state-space model by RLS-SV at each time interval. The prediction by the MPC is produced by the incremental state-space model, as shown in Equation (7). The incremental model uses discrete differences (\(\Delta U\), \(\Delta X\)) input and state parameters (U, X) from the state-space model. \[\Delta X(k+1)=X(k+1)-X(k) \tag{7}\] \[\Delta U(k)=U(k)-U(k-1)\]  
where k is the time step. Replacing U and X by (\(\Delta U\), \(\Delta X\)), the state-space model shown in Equation (1) can be written in the following matrix form, as shown in Equation (8). \[\underbrace{\left[ \begin{array}{c}\Delta X(k+1)\\ Y(k+1)\end{array} \right]}_{X(k+1)}=\underbrace{\left[ \begin{array}{cc}A&0\\ CA&1\end{array} \right]\left[ \begin{array}{c}\Delta X(k)\\ Y(k)\end{array} \right]}_{A}+\underbrace{\left[ \begin{array}{c}B\\ CB\end{array} \right]}_{B}\Delta U(k) \tag{8}\] \[Y(k)=\underbrace{\left[ \begin{array}{cc}0&C\end{array} \right] \left[ \begin{array}{c}\Delta X(k)\\ Y(k)\end{array} \right]}_{C}+\underbrace{\left[ \begin{array}{c}\Delta X(k)\\ Y(k)\end{array} \right]}_{X(k)}\]  
Due to the principle of the receding horizon utilized by the MPC, the output parameter must be a subset of the state matrix. The performance prediction is possible when the output of the state-space model, Equation (8), only involves the receded control inputs. The new coefficient and variable matrices in Equation (8) have replaced the original matrices in Equation (1). Nc and Np define a finite length of the control and prediction horizons of MPC, and the length (Np \(\geq\) Nc) can be customized according to the engine configuration, parameters' natural frequencies, and sampling time. The linear predictions based on Equation (8) can be expressed as:  
\[ \begin{array}{c}X(k+1)=AX(k)+BAU(k)\\ X(k+2)=A^{2}X(k)+ABAU(k)+BAU(k+1)\\ X(k+3)=A^{3}X(k)+A^{2}BAU(k)+ABAU(k+1)+BADU(k+2)\\ \vdots\\ X(k+N_{p})=A^{N_{p}}X(k)+\sum\limits_{i=1}^{N_{c}}A^{N_{p}-i}BAU(k+i-1)\end{array} . \tag{9}\]The linear prediction for the outputs can be written as:  
\[ \begin{array}{c}\mathrm{Y(k+1)=CAX(k)+CB\Delta U(k)}\\ \mathrm{Y(k+2)=CA^{2}X(k)+CAB\Delta U(k)+CB\Delta U(k+1)}\\ \mathrm{Y(k+3)=CA^{3}X(k)+CA^{2}BAU(k)+CAB\Delta U(k+1)+CB\Delta U(k+2)}\\ \vdots\\ \mathrm{Y(k+N_{p})=CA^{N_{p}}X(k)+\sum\limits_{i=1}^{N_{k}}CA^{N_{p}-i}B\Delta U (k+i-1)}\end{array} . \tag{10}\]  
The predictions in Equation (10) can be re-written as matrix form:  
\[\mathrm{Y=}\left[ \begin{array}{c}\mathrm{CA}\\ \mathrm{CA}^{2}\\ \vdots\\ \mathrm{CA}^{Np}\end{array} \right]\mathrm{X(k)+}\left[ \begin{array}{cccccc} \mathrm{CB}&0&\cdots&\cdots&\cdots&0\\ \mathrm{CAB}&\mathrm{CB}&0&\cdots&\cdots&0\\ \mathrm{CA}^{2}\mathrm{B}&\mathrm{CAB}&\mathrm{CB}&0&\cdots&0\\ \vdots&\vdots&\vdots&\ddots&\ddots&\vdots\\ \mathrm{CA}^{Np-1}\mathrm{B}&\mathrm{CA}^{Np-2}\mathrm{B}&\mathrm{CA}^{Np-3} \mathrm{B}&\cdots&\cdots&\mathrm{CA}^{Np-Nc}\mathrm{B}\end{array} \right] \Delta U(k).