# A Novel Adaptive Model Predictive Control Based Three-Phase Inverter Current Control Method
## 3 Adaptive Model Predictive Current Control for Inverters
### Parameters Modification  
The initial values of model parameters are given according to the acquired information about the inverter. However, in many cases the actual parameters are unavailable, especially in complex systems, and keep changing [25]. Therefore, the model parameters need to be updated online during the control process continuously to ensure the accuracy of the control result. The action of parameters modification is conducted only when the inverter has been in steady state. In this case the following condition has to be satisfied  
\[\left\{ \begin{array}{l}L\frac{d\dot{u}_{d}}{dt}=0\\ L\frac{d\dot{u}_{d}}{dt}=0\end{array} \right. \tag{13}\]  
The expression of this operation state in two-phase rotating coordinate system can be rewritten as followings:  
\[\left\{ \begin{array}{l}Ri_{d}=\omega Li_{q}-e_{d}+\frac{2}{3}U_{DC}S_{d}\\ Ri_{q}=-\omega Li_{d}-e_{q}+\frac{2}{3}U_{DC}S_{q}\end{array} \right. \tag{14}\]  
The above expression is about the state of the inverter and is satisfied in any operation situation. The parameters \(L\) and \(R\) in (12) are both actual physical parameters. When the switching states (11) are substituted into above state equation, it can be rewritten as  
\[\left\{ \begin{array}{l}Ri_{d}(k)=&\omega Li_{q}(k)+R_{P}(k-1)i_{dr}\\ &-\omega L_{P}(k-1)i_{qref}+L_{P}(k-1)\frac{i_{dr}-i_{d}(k-1)}{T_{s}}\\ Ri_{q}(k)=&-\omega Li_{d}(k)+R_{P}(k-1)i_{qref}\\ &+\omega L_{P}(k-1)i_{dref}+L_{P}(k-1)\frac{i_{qref}-i_{d}(k-1)}{T_{s}}\end{array} \right. \tag{15}\]  
It can be seen that both the actual parameter values \(L\) and \(R\) and the predicted values \(L_{p}\) and \(R_{p}\) have effect on the operation state of the inverter. Since it is under steady state, following expressions are true. \[\left\{ \begin{array}{l}i_{d}(k-1)=i_{d}(k)\\ i_{q}(k-1)=i_{q}(k)\end{array} \right. \tag{16}\]  
In this case, (15) can be simplified as  
\[\left\{ \begin{array}{l}Ri_{d}(k)=&\omega Li_{q}(k)+R_{P}i_{dref}-\omega Lpi_ {qref}\\ &+Lp\frac{i_{dr}-i_{d}(k)}{T_{s}}\\ Ri_{q}(k)=&-\omega Li_{d}(k)+Rpi_{qref}+\omega Lpi_{dref}\\ &+Lp\frac{i_{qref}-i_{q}(k)}{T_{s}}\end{array} \right. \tag{17}\]  
In above expression, the unknowns are the \(L\) and \(R\). Therefore, the actual values of parameters can be obtained by solving this equation. Firstly, a series of variables are defined as followings:  
\[\left\{ \begin{array}{l}\zeta_{1}=i_{d}i_{qref}-i_{q}i_{dref}\\ \zeta_{2}=i_{d}i_{dref}+i_{q}i_{qref}\\ \zeta_{3}=i_{d}^{2}+i_{q}^{2}\end{array} \right. \tag{18}\]  
The expression about parameter \(L\) is shown as following \[L=\frac{(R_{P}(k-1)+\frac{L_{P}(k-1)}{T_{S}})\zeta_{1}+\omega L_{P}(k-1)\zeta_{2}} {\omega\zeta_{3}} \tag{19}\]  
According to above analysis, the actual parameter at any state can be calculated by the measured data and the predicted model parameters. However, it is not an acceptable way to improve the accuracy of the predicted parameters by setting \(L_{p}\) equal to \(L\) directly. This is because the change of \(L_{p}\) or \(R_{p}\) will cause the change of inverter operation state, and then change the actual value of the parameters. Furthermore, a dramatic change of parameters may have a negative impact on the stability or power quality of inverter current. Therefore, the method of step by step approximation is adopted here. The difference between \(L\) and \(L_{p}\) can be expressed as  
\[L-L_{P}=\frac{(R_{P}+\frac{L_{P}}{T_{S}})\zeta_{1}+\omega L_{P}(\zeta_{2}- \zeta_{3})}{\omega\zeta_{3}} \tag{20}\]  
Similarly, the difference between \(R\) and \(R_{p}\) can be calculated as  
\[R-R_{P}=\frac{-\omega L_{P}\zeta_{1}+\frac{L_{P}}{T_{S}}(\zeta_{2}-\zeta_{3}) +R_{P}(\zeta_{2}-\zeta_{3})}{\zeta_{3}} \tag{21}\]  
Above expressions can be used to modify the predicted model parameters. When the inverter has been in stable operation state, the accuracy of the output current is estimated. If the error between reference and measured current is larger than the maximum permissible value, the action of parameters modification will be conducted.