# Model Predictive Control for Six-Phase Induction Machines with Insight into Past Current Errors
## 3 FCS-Mpc  
### FCS-MPC Structure  
The FCS-MPC scheme constitutes two control loops, as shown in Figure 3. The external control loop regulates speed through the use of a proportional-integral controller, assessing the present mechanical speed thanks to an encoder and comparing it with its reference counterpart (see the bottom part of Figure 3). On the other hand, the internal control loop is based on the equations that describe the machine model and has the objective of predicting future stator currents in order to regulate them. The expression (6) presents the machine model in space vector variables:  
\[\begin{split}\frac{d}{dt}\big{[}X_{\alpha\beta xy}\big{]}=& \big{[}A\big{]}\big{[}X_{\alpha\beta xy}\big{]}+\big{[}B\big{]} \big{[}U_{\alpha\beta xy}\big{]},\\ \big{[}U_{\alpha\beta xy}\big{]}=&\big{[}v_{\alpha s }\quad v_{\beta s}\quad v_{\gamma s}\quad v_{\gamma s}\quad v_{0+}\quad v_{0-} \big{]}^{T},\\ \big{[}X_{\alpha\beta xy}\big{]}=&\big{[}i_{\alpha s }\quad i_{\beta s}\quad i_{\alpha s}\quad i_{\beta s}\quad\lambda_{\alpha r} \quad\lambda_{\beta r}\big{]}^{T},\end{split} \tag{6}\]  
where matrices \([A]\) and \([B]\) depict the dynamic behavior of the six-phase IM [27]. The terms \(\lambda_{\alpha r}\) and \(\lambda_{\beta r}\) refer to the rotor flux production mapped onto the \(\alpha\)-\(\beta\) subspace. The equations in (6) have been discretized through the use of the Euler forward method in order to simplify implementation.  
For the purpose of satisfying the real-time requirements that are in place when predicting the stator currents using a digital signal processor, the one-step delay approach is implemented [37]. Therefore, the prediction is performed two steps into the future (\(k+2\)), with this being the moment in which the currents produced by the available control actions are compared with their reference counterparts, denoted by the superscript \"\(\ast\)\". The reference value of the quadrature current (\(i_{q}^{*}\)) is provided by the external control loop, while \(i_{d}^{*}\) is set to the value that generates rated magnetization. These currents are projected onto the \(\alpha\)-\(\beta\) subspace and, along with \(i_{s}^{*}\) and \(i_{y}^{*}\) (which are usually set to zero to mitigate copper losses), are included in a cost function. The objective of this function is to select the optimal available control action through the minimization of the total error:  
\[J=e_{\text{as}}^{2}+e_{\beta s}^{2}+K_{xy}(e_{xs}^{2}+e_{yz}^{2}), \tag{7}\]  
Figure 3: Diagram of a standard FCS-MPC scheme for a six-phase electric drive, with its predictive control loop highlighted in green.  
where  
\[\begin{split} e_{\text{xs}}&=i_{\text{as}}^{*}|_{k+2}- \hat{t}_{\text{xs}}|_{k+2},\\ e_{\text{gs}}&=i_{\text{gs}}^{*}|_{k+2}-\hat{t}_{ \text{gs}}|_{k+2},\\ e_{\text{xs}}&=i_{\text{xs}}^{*}|_{k+2}-\hat{t}_{ \text{xs}}|_{k+2},\\ e_{\text{ys}}&=i_{\text{ys}}^{*}|_{k+2}-\hat{t}_{ \text{ys}}|_{k+2},\end{split} \tag{8}\]  
with \(K_{\text{xy}}\) being a weighting factor designed to regulate control goals. Through the comparison between the reference and predicted currents (designated by the circumflex accent on the i, \"\"), the cost function estimates the optimal switching state (\(S_{opt}\)) for the future instant \(k+2\). Figure 3 outlines the algorithm followed by the FCS-MPC. In it, the superscript \"\(f\)\" is used to signal the different iterations performed to minimize the cost function, one per control action available. In the present case, these actions are \(V_{0}\) and the twelve \(V_{t}\), for a total of thirteen.