**2.2. Machine model in the** (*x* − *y*) **subspace**

Because the (*x* − *y*) subspace is orthogonal to the (*α* − *β*) subspace, the projected variables in this subspace will do not contribute to the airgap flux, and therefore are not related to energy conversion. This model are limited only by the stator resistance and stator leakage inductance, as shown in the following equation:

$$
\begin{bmatrix} u\_{\rm xs} \\ u\_{\rm ys} \end{bmatrix} = \begin{bmatrix} L\_{ls} & 0 \\ 0 & L\_{ls} \end{bmatrix} \frac{d}{dt} \begin{bmatrix} i\_{\rm xs} \\ i\_{\rm ys} \end{bmatrix} + \begin{bmatrix} R\_{\rm s} & 0 \\ 0 & R\_{\rm s} \end{bmatrix} \begin{bmatrix} i\_{\rm xs} \\ i\_{\rm ys} \end{bmatrix} \tag{8}
$$

<sup>2</sup> It can be noted that (*<sup>α</sup>* <sup>−</sup> *<sup>β</sup>*) equations are similar to those of a three-phase machine while that, as will be seen in the following section, the (*x* − *y*) equations do not link the rotor side and consequently do not influence the machine dynamics but are source of Joule losses in the machine.

### **3. Predictive model**

4 Induction Motor

The asymmetrical dual three-phase machine model can be obtained using a specific and convenient choice of state-space variables, for example, stator and rotor currents. Thus the six-phase machine can be modelled in a stationary reference frame according to the VSD

; [**x**]*αβ* <sup>=</sup> �

⎤ ⎥ ⎥ ⎦

; [**G**] =

�

*dt <sup>ω</sup><sup>r</sup>* <sup>+</sup> *Biω<sup>r</sup>* <sup>=</sup> *<sup>P</sup>* (*Te* <sup>−</sup> *TL*) (7)

� � *ixs iys* �

where [**u**]*αβ* is the input vector, [**x**]*αβ* is the state vector and [**F**] and [**G**] are matrices that define

where *ω<sup>r</sup>* is the rotor angular speed, and the electrical parameters of the machine are the stator and rotor resistances *Rs*, *Rr*, the stator and rotor inductances *Ls* = *Lls* + *Lm*, *Lr* = *Llr* + *Lm*, the stator and rotor leakage inductances *Lls*, *Llr* and the magnetization inductance *Lm*. Using selected state-space variables and amplitude invariant criterion in the transformation,

where *Te* is the generated torque, *TL* the load torque, *P* the number of pair of poles, *Ji* the

The (*<sup>α</sup>* <sup>−</sup> *<sup>β</sup>*)<sup>2</sup> axes are selected in such a manner that they coincide with the plane of rotation of the airgap flux. Therefore, these variables will are associated with the production of the airgap flux in the machine and with the electromechanical energy conversion related [3].

Because the (*x* − *y*) subspace is orthogonal to the (*α* − *β*) subspace, the projected variables in this subspace will do not contribute to the airgap flux, and therefore are not related to energy conversion. This model are limited only by the stator resistance and stator leakage inductance,

<sup>2</sup> It can be noted that (*<sup>α</sup>* <sup>−</sup> *<sup>β</sup>*) equations are similar to those of a three-phase machine while that, as will be seen in the following section, the (*x* − *y*) equations do not link the rotor side and consequently do not influence the machine

� *d dt* � *ixs iys* � + � *Rs* 0 0 *Rs*

*ψβriα<sup>r</sup>* − *ψαriβ<sup>r</sup>*

*dt* [**x**]*αβ* <sup>+</sup> [**F**] [**x**]*αβ* (3)

*Ls* 0 *Lm* 0 0 *Ls* 0 *Lm Lm* 0 *Lr* 0 0 *Lm* 0 *Lr*

�*<sup>T</sup>* (4)

⎤ ⎥ ⎥ ⎦

(5)

(6)

(8)

*iα<sup>s</sup> iβ<sup>s</sup> iα<sup>r</sup> iβ<sup>r</sup>*

⎡ ⎢ ⎢ ⎣

[**u**]*αβ* <sup>=</sup> [**G**] *<sup>d</sup>*

*<sup>u</sup>α<sup>s</sup> <sup>u</sup>β<sup>s</sup>* 0 0 �*<sup>T</sup>*

the dynamics of the electrical drive that for this set of state variables are:

*Rs* 0 00 0 *Rs* 0 0 0 *ω<sup>r</sup>* · *Lm Rr ω<sup>r</sup>* · *Lr* −*ω<sup>r</sup>* · *Lm* 0 −*ω<sup>r</sup>* · *Lr Rr*

the mechanical part of the drive is given by the following equations:

*Ji d*

inertia coefficient, *Bi* the friction coefficient and *ψαβ<sup>r</sup>* the rotor flux.

**2.2. Machine model in the** (*x* − *y*) **subspace**

� *uxs uys* � = � *Lls* 0 0 *Lls*

dynamics but are source of Joule losses in the machine.

as shown in the following equation:

*Te* = 3.*P*

�

**2.1. Machine model in the** (*α* − *β*) **subspace**

[**u**]*αβ* <sup>=</sup> �

approach as:

[**F**] =

⎡ ⎢ ⎢ ⎣ The machine model must be discretized in order to be of use as a predictive model. Taking into account that the electromechanical energy conversion involves only quantities in the (*α* − *β*) subspace, the predictive model could be simplified, discarding the (*x* − *y*) subspace. Assuming the asymmetrical dual three-phase induction machine model (see Equation 3) and using the following state components (*x*<sup>1</sup> = *iαs*, *x*<sup>2</sup> = *iβs*, *x*<sup>3</sup> = *iαr*, *x*<sup>4</sup> = *iβr*), the resulting equations can be written as:

$$\begin{aligned} \dot{\mathbf{x}}\_1 &= c\_3 \left( R\_r \mathbf{x}\_3 + \omega r\_r \mathbf{x}\_4 L\_r + \omega r\_r \mathbf{x}\_2 L\_m \right) + c\_2 \left( \mathbf{u}\_{as} - R\_s \mathbf{x}\_1 \right) \\ \dot{\mathbf{x}}\_2 &= c\_3 \left( R\_r \mathbf{x}\_4 - \omega r\_r \mathbf{x}\_3 L\_r - \omega r\_r \mathbf{x}\_1 L\_m \right) + c\_2 \left( \mathbf{u}\_{\beta \mathbf{s}} - R\_s \mathbf{x}\_2 \right) \\ \dot{\mathbf{x}}\_3 &= c\_4 \left( -R\_r \mathbf{x}\_3 - \omega r\_r \mathbf{x}\_4 L\_r - \omega r\_r \mathbf{x}\_2 L\_m \right) + c\_3 \left( -\mathbf{u}\_{as} + R\_s \mathbf{x}\_1 \right) \\ \dot{\mathbf{x}}\_4 &= c\_4 \left( -R\_r \mathbf{x}\_4 + \omega r\_r \mathbf{x}\_3 L\_r + \omega r\_r \mathbf{x}\_1 L\_m \right) + c\_3 \left( -\mathbf{u}\_{\beta \mathbf{s}} + R\_s \mathbf{x}\_2 \right) \end{aligned} \tag{9}$$

where *c*1-*c*<sup>4</sup> are constant coeficients defined as:

$$\mathbf{c}\_{1} = \mathbf{L}\_{s} \cdot \mathbf{L}\_{r} - \mathbf{L}\_{m\prime}^{2}, \mathbf{c}\_{2} = \frac{\mathbf{L}\_{r}}{\mathbf{c}\_{1}}, \mathbf{c}\_{3} = \frac{\mathbf{L}\_{m}}{\mathbf{c}\_{1}}, \mathbf{c}\_{4} = \frac{\mathbf{L}\_{\mathbf{s}}}{\mathbf{c}\_{1}} \tag{10}$$

Stator voltages are related to the control input signals through the inverter model. The simplest model has been selected for this case study for the sake of speeding up the optimization process. Then if the gating signals are arranged in vector **<sup>S</sup>** <sup>=</sup> � *Sa*, *Sd*, *Sb*, *Se*, *Sc*, *Sf* � <sup>∈</sup> **<sup>R</sup>**6, with **<sup>R</sup>** <sup>=</sup> {0, 1} the stator voltages are obtained from:

$$\mathbf{M} = \frac{1}{3} \begin{bmatrix} 2 & 0 & -1 & 0 & -1 & 0 \\ 0 & 2 & 0 & -1 & 0 & -1 \\ -1 & 0 & 2 & 0 & -1 & 0 \\ 0 & -1 & 0 & 2 & 0 & -1 \\ -1 & 0 & -1 & 0 & 2 & 0 \\ 0 & -1 & 0 & -1 & 0 & 2 \end{bmatrix} \cdot \mathbf{S}^T \tag{11}$$

An ideal inverter converts gating signals to stator voltages that can be projected to (*α* − *β*) and (*x* − *y*) axes and gathered in a row vector **U***αβxys* computed as:

$$\mathbf{U}\_{\text{a\ $xys}} = \begin{bmatrix} \boldsymbol{\mu}\_{\text{as}\prime} \ \boldsymbol{\mu}\_{\text{\$ s\prime}} \ \boldsymbol{\mu}\_{\text{xs}\prime} \ \boldsymbol{\mu}\_{\text{ys}\prime} \ \mathbf{0} \ \mathbf{0} \end{bmatrix}^{T} = \mathbf{V} d\mathbf{c} \cdot \mathbf{T} \cdot \mathbf{M} \tag{12}$$

being *Vdc* the Dc Link voltage and superscript (*T*) indicates the transposed matrix. Combining Equations 9-12 a nonlinear set of equations arises that can be written in state space form:

$$\begin{aligned} \mathbf{X}(t) &= f\left(\mathbf{X}(t), \mathbf{U}(t)\right) \\ \mathbf{Y}(t) &= \mathbf{C}\mathbf{X}(t) \end{aligned} \tag{13}$$

with state vector **X**(*t*) = [*x*1, *x*2, *x*3, *x*4] *<sup>T</sup>*, input vector **<sup>U</sup>**(*t*) = � *uαs*, *uβ<sup>s</sup>* � , and output vector **Y**(*t*) = [*x*1, *x*2] *<sup>T</sup>*. The components of vectorial function *f* and matrix **C** are obtained in a straightforward manner from Equation 9 and the definitions of state and output vector.

Model (Equation 13) must be discretized in order to be of use for the predictive controller. A forward Euler method is used to keep a low computational burden. As a consequence the resulting equations will have the needed digital control form, with predicted variables depending just on past values and not on present values of variables. This leads to the following equations:

$$\begin{aligned} \hat{\mathbf{X}}(k+1|k) &= \mathbf{X}(k) + T\_{\text{mf}} f\left(\mathbf{X}(k), \mathbf{U}(k)\right) \\ \mathbf{Y}(k) &= \mathbf{C}\mathbf{X}(k) \end{aligned} \tag{14}$$

where **I** is the identity matrix of order 2x2, **X***<sup>a</sup>* = �

(1 − *Tm*.*c*2.*Rs*) *Tm*.*c*3.*Lm*.*ω<sup>r</sup>*

<sup>−</sup>*Tm*.*c*3.*Lm*.*ω<sup>r</sup>* (<sup>1</sup> <sup>−</sup> *Tm*.*c*2.*Rs*) .

*Tm*.*c*3.*Rs* −*Tm*.*c*4.*Lm*.*ω<sup>r</sup>*

**B** =

⎡ ⎢ ⎢ ⎢ ⎢ ⎣

The portion describing the dynamics of the unmeasured states can be written as:

*Tm*.*c*4.*Lm*.*ω<sup>r</sup> Tm*.*c*3.*Rs*

represented according to the following matrices:

**X***<sup>b</sup>* dinamics. The **X***<sup>a</sup>* portion may be expressed as:

reduced-order estimator ecuations are:

*3.1.2. Kalman Filter gain matrix evaluation*

of the covariance of the state estimate as:

(*ϕ*) as follows:

*iαr*(*k*) *iβr*(*k*)

and **A** and **B** are matrices obtained in a straightforward manner from Equation 15 and are

. .

.

··· ··· ··· ··· ···

. .

. .

*Tm*.*c*<sup>2</sup> 0 0 *Tm*.*c*<sup>2</sup> ··· ··· −*Tm*.*c*<sup>3</sup> 0 0 −*Tm*.*c*<sup>3</sup>

where the last two terms on the right are known and can be considered as an input into the

Note in Equation 20 that this equation represent a relationship between a measured quantity on the left and the unknown state vector on the right. Therefore, the dynamics of the

**<sup>X</sup>**<sup>ˆ</sup> *<sup>b</sup>*(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>|*k*)=(**A**<sup>22</sup> <sup>−</sup> **<sup>K</sup>***e***A**12)**X**<sup>ˆ</sup> *<sup>b</sup>*(*k*) + **<sup>K</sup>***e***Y**(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>) +

where **Γ** is the covariance of the new estimate and is a function of the old estimate covariance

From the state equation which includes the process noise it is possible to obtain a correction

**<sup>Γ</sup>**(*k*) = *<sup>ϕ</sup>*(*k*) <sup>−</sup> *<sup>ϕ</sup>*(*k*) · **<sup>C</sup>***T*(**<sup>C</sup>** · *<sup>ϕ</sup>*(*k*) · **<sup>C</sup>***<sup>T</sup>* <sup>+</sup> *<sup>R</sup>ν*)−<sup>1</sup> · **<sup>C</sup>** · *<sup>ϕ</sup>*(*k*) (23)

*<sup>ϕ</sup>*(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>) = **<sup>A</sup>** · **<sup>Γ</sup>**(*k*) · **<sup>A</sup>***<sup>T</sup>* <sup>+</sup> **<sup>H</sup>** · *<sup>R</sup>�* · **<sup>H</sup>***<sup>T</sup>* (24)

where, **K***<sup>e</sup>* represents the KF gain matrix based on the covariance of the noise.

The KF gain matrix (**K***e*) is recalculated at each sampling time recursive manner as:

measured, which is **<sup>Y</sup>**(*k*), **<sup>X</sup>***<sup>b</sup>* = �

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

**A** =

*iαs*(*k*) *iβs*(*k*)

The Asymmetrical Dual Three-Phase Induction Machine and the MBPC in the Speed Control 391

. *Tm*.*c*3.*Rr Tm*.*c*3.*Lr*.*ω<sup>r</sup>*

. −*Tm*.*c*3.*Lr*.*ω<sup>r</sup> Tm*.*c*3.*Rr*

. (1 − *Tm*.*c*4.*Rr*) −*Tm*.*c*4.*Lr*.*ω<sup>r</sup>*

. *Tm*.*c*4.*Lr*.*ω<sup>r</sup>* (1 − *Tm*.*c*4.*Rr*)

⎤ ⎥ ⎥ ⎥ ⎥ ⎦

**X***b*(*k* + 1|*k*) = **A**22**X***b*(*k*) + **A**21**X***a*(*k*) + **B**2**U***αβs*(*k*) (19)

**X***a*(*k* + 1|*k*) − **A**11**X***a*(*k*) − **B**1**U***αβs*(*k*) = **A**12**X***b*(*k*) (20)

(**A**<sup>21</sup> − **K***e***A**11)**Y**(*k*)+(**B**<sup>2</sup> − **K***e***B**1)**U***αβs*(*k*) (21)

**<sup>K</sup>***e*(*k*) = **<sup>Γ</sup>**(*k*) · **<sup>C</sup>***TR<sup>ν</sup>* (22)

�*<sup>T</sup>* is the remaining portion to be estimated,

�*<sup>T</sup>* is the portion directly

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

(18)

denoting by (*k*) the current sample, *Tm* the sampling time and being **<sup>X</sup>**ˆ(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>|*k*) a prediction of the future next-sample state made at sample time (*k*).

### **3.1. Kalman Filter design**

Kalman Filter is an optimal recursive estimation algorithm based on the state-space concepts and suitable for digital computer implementation. That is, it is an optimal estimator for computing the conditional mean and covariance of the probability distribution of the state of a linear stochastic system with uncorrelated gaussian process and measurement noise. The algorithm minimizes the estimate error of the states by utilizing knowledge of system and measurements dynamic, assuming statistics of system noises and measurement errors, considering initial condition information [10]. Considering uncorrelated gaussian process and measurement noise, Equations 14 can be written as:

$$\begin{aligned} \hat{\mathbf{X}}(k+1|k) &= \mathbf{A}\mathbf{X}(k) + \mathbf{B}\mathbf{U}(k) + \mathbf{H}\boldsymbol{\omega}(k) \\ \mathbf{Y}(k) &= \mathbf{C}\mathbf{X}(k) + \boldsymbol{\nu}(k) \end{aligned} \tag{15}$$

the matrices **A**, **B** and **C** are obtained in a straightforward manner from Equation 14 and the definitions of state and output vector, **H** is the noise-weight matrix, *�*(*k*) is the process noise matrix, and *ν*(*k*) is the measurement noise matrix. The covariance matrices *R�* and *R<sup>ν</sup>* of these noises are defined in function to the expected value *E* {·} as:

$$R\_{\mathcal{Q}} = \operatorname{cov}(\mathcal{Q}) = E\left\{ \boldsymbol{\mathcal{Q}} \cdot \boldsymbol{\mathcal{Q}}^{\mathsf{T}} \right\}; R\_{\mathcal{V}} = \operatorname{cov}(\boldsymbol{\nu}) = E\left\{ \boldsymbol{\nu} \cdot \boldsymbol{\nu}^{\mathsf{T}} \right\} \tag{16}$$

### *3.1.1. Reduced-order state estimation*

In the state space description of Equation 14 only stator currents, voltages and mechanical speed are measured. Stator voltages are easily predicted from gating commands issued to the VSI, rotor current, however, is not directly measured. This difficulty can be overcome by means of estimating the rotor current using the concept of reduced-order estimators. The reduced-order estimator provide an estimate for only the unmeasured part of state vector, then, the evolution of states can be written as:

$$
\begin{bmatrix}
\mathbf{X}\_{a}(k+1|k) \\
\cdots \\
\mathbf{X}\_{b}(k+1|k)
\end{bmatrix} = \begin{bmatrix}
\overline{\mathbf{A}}\_{11} & \vdots & \overline{\mathbf{A}}\_{12} \\
\cdots & \cdots & \cdots \\
\overline{\mathbf{A}}\_{21} & \vdots & \overline{\mathbf{A}}\_{22}
\end{bmatrix} \begin{bmatrix}
\mathbf{X}\_{a}(k) \\
\cdots \\
\mathbf{X}\_{b}(k)
\end{bmatrix} + \begin{bmatrix}
\overline{\mathbf{B}}\_{1} \\
\cdots \\
\overline{\mathbf{B}}\_{2}
\end{bmatrix} \mathbf{U}\_{a\beta s}(k)
$$

$$
\mathbf{Y}(k) = \begin{bmatrix}
\mathbf{I} \vdots \mathbf{\overline{0}} \end{bmatrix} \begin{bmatrix}
\mathbf{X}\_{a}(k) \\
\cdots \\
\mathbf{X}\_{b}(k)
\end{bmatrix} \tag{17}
$$

where **I** is the identity matrix of order 2x2, **X***<sup>a</sup>* = � *iαs*(*k*) *iβs*(*k*) �*<sup>T</sup>* is the portion directly measured, which is **<sup>Y</sup>**(*k*), **<sup>X</sup>***<sup>b</sup>* = � *iαr*(*k*) *iβr*(*k*) �*<sup>T</sup>* is the remaining portion to be estimated, and **A** and **B** are matrices obtained in a straightforward manner from Equation 15 and are represented according to the following matrices:

$$
\overline{\mathbf{A}} = \begin{bmatrix}
(1 - T\_{m}c\_{2}.R\_{\mathrm{s}}) & T\_{m}.c\_{3}.L\_{m}.\omega\_{r} & \vdots & T\_{m}.c\_{3}.R\_{r} & T\_{m}.c\_{3}.L\_{r}.\omega\_{r} \\
\cdots & \cdots & \cdots & \cdots & \cdots & \cdots \\
T\_{m}.c\_{3}.R\_{\mathrm{s}} & -T\_{m}.c\_{4}.L\_{m}.\omega\_{r} & \vdots & (1 - T\_{m}.c\_{4}.L\_{r}) & -T\_{m}.c\_{4}.L\_{r}.\omega\_{r} \\
T\_{m}.c\_{4}.L\_{m}.\omega\_{r} & T\_{m}.c\_{3}.R\_{\mathrm{s}} & \vdots & T\_{m}.c\_{4}.L\_{r}.\omega\_{r} & (1 - T\_{m}.c\_{4}.R\_{r})
\end{bmatrix}^{T} \\
\begin{bmatrix}
T\_{m}.c\_{2} & 0 \\
0 & T\_{m}.c\_{2} \\
0 & -T\_{m}.c\_{3}
\end{bmatrix}
\tag{18}
$$

The portion describing the dynamics of the unmeasured states can be written as:

$$\mathbf{X}\_b(k+1|k) = \overline{\mathbf{A}}\_{22}\mathbf{X}\_b(k) + \overline{\mathbf{A}}\_{21}\mathbf{X}\_a(k) + \overline{\mathbf{B}}\_2\mathbf{U}\_{a\text{\\$s}}(k) \tag{19}$$

where the last two terms on the right are known and can be considered as an input into the **X***<sup>b</sup>* dinamics. The **X***<sup>a</sup>* portion may be expressed as:

$$\mathbf{X}\_a(k+1|k) - \overline{\mathbf{A}}\_{11}\mathbf{X}\_a(k) - \overline{\mathbf{B}}\_1\mathbf{U}\_{a\beta\hat{s}}(k) = \overline{\mathbf{A}}\_{12}\mathbf{X}\_b(k) \tag{20}$$

Note in Equation 20 that this equation represent a relationship between a measured quantity on the left and the unknown state vector on the right. Therefore, the dynamics of the reduced-order estimator ecuations are:

$$\begin{aligned} \hat{\mathbf{X}}\_b(k+1|k) &= (\overline{\mathbf{A}}\_{22} - \mathbf{K}\_\ell \overline{\mathbf{A}}\_{12}) \hat{\mathbf{X}}\_b(k) + \mathbf{K}\_\ell \mathbf{Y}(k+1) + \\ & (\overline{\mathbf{A}}\_{21} - \mathbf{K}\_\ell \overline{\mathbf{A}}\_{11}) \mathbf{Y}(k) + (\overline{\mathbf{B}}\_2 - \mathbf{K}\_\ell \overline{\mathbf{B}}\_1) \mathbf{U}\_{a\beta\hat{s}}(k) \end{aligned} \tag{21}$$

where, **K***<sup>e</sup>* represents the KF gain matrix based on the covariance of the noise.

### *3.1.2. Kalman Filter gain matrix evaluation*

6 Induction Motor

Model (Equation 13) must be discretized in order to be of use for the predictive controller. A forward Euler method is used to keep a low computational burden. As a consequence the resulting equations will have the needed digital control form, with predicted variables depending just on past values and not on present values of variables. This leads to the

**<sup>X</sup>**ˆ(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>|*k*) = **<sup>X</sup>**(*k*) + *Tm <sup>f</sup>* (**X**(*k*), **<sup>U</sup>**(*k*))

denoting by (*k*) the current sample, *Tm* the sampling time and being **<sup>X</sup>**ˆ(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>|*k*) a prediction of

Kalman Filter is an optimal recursive estimation algorithm based on the state-space concepts and suitable for digital computer implementation. That is, it is an optimal estimator for computing the conditional mean and covariance of the probability distribution of the state of a linear stochastic system with uncorrelated gaussian process and measurement noise. The algorithm minimizes the estimate error of the states by utilizing knowledge of system and measurements dynamic, assuming statistics of system noises and measurement errors, considering initial condition information [10]. Considering uncorrelated gaussian process and

**<sup>X</sup>**ˆ(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>|*k*) = **AX**(*k*) + **BU**(*k*) + **<sup>H</sup>***�*(*k*)

the matrices **A**, **B** and **C** are obtained in a straightforward manner from Equation 14 and the definitions of state and output vector, **H** is the noise-weight matrix, *�*(*k*) is the process noise matrix, and *ν*(*k*) is the measurement noise matrix. The covariance matrices *R�* and *R<sup>ν</sup>* of these

In the state space description of Equation 14 only stator currents, voltages and mechanical speed are measured. Stator voltages are easily predicted from gating commands issued to the VSI, rotor current, however, is not directly measured. This difficulty can be overcome by means of estimating the rotor current using the concept of reduced-order estimators. The reduced-order estimator provide an estimate for only the unmeasured part of state vector,

> ⎤ ⎥ ⎥ ⎦

⎡ ⎣

⎤

**X***a*(*k*) ··· **X***b*(*k*) ⎤ ⎦ + ⎡ ⎣ **B**1 ··· **B**2

⎤

⎦ **U***αβs*(*k*)

⎦ (17)

**Y**(*k*) = **CX**(*k*) (14)

**Y**(*k*) = **CX**(*k*) + *ν*(*k*) (15)

� *<sup>ν</sup>* · *<sup>ν</sup><sup>T</sup>* �

(16)

; *R<sup>ν</sup>* = *cov*(*ν*) = *E*

following equations:

**3.1. Kalman Filter design**

the future next-sample state made at sample time (*k*).

measurement noise, Equations 14 can be written as:

noises are defined in function to the expected value *E* {·} as:

� *�* · *�<sup>T</sup>* �

*R�* = *cov*(*�*) = *E*

then, the evolution of states can be written as:

**X***a*(*k* + 1|*k*) ··· **X***b*(*k* + 1|*k*) ⎤ ⎦ =

**Y**(*k*) =

⎡ ⎢ ⎢ ⎣

� **I** . . . **0**

**A**<sup>11</sup> . . . **A**<sup>12</sup> ··· ··· ···

**A**<sup>21</sup> . . . **A**<sup>22</sup>

> � ⎡ ⎣

**X***a*(*k*) ··· **X***b*(*k*)

*3.1.1. Reduced-order state estimation*

⎡ ⎣ The KF gain matrix (**K***e*) is recalculated at each sampling time recursive manner as:

$$\mathbf{K}\_{\mathbf{f}}(k) = \mathbf{T}(k) \cdot \mathbf{C}^{T} \mathbf{R}\_{\mathbf{V}} \tag{22}$$

where **Γ** is the covariance of the new estimate and is a function of the old estimate covariance (*ϕ*) as follows:

$$\Gamma(k) = \varphi(k) - \varphi(k) \cdot \mathbf{C}^T (\mathbf{C} \cdot \boldsymbol{\varphi}(k) \cdot \mathbf{C}^T + \mathbb{R}\_{\vee})^{-1} \cdot \mathbf{C} \cdot \boldsymbol{\varphi}(k) \tag{23}$$

From the state equation which includes the process noise it is possible to obtain a correction of the covariance of the state estimate as:

$$\boldsymbol{\varrho}(k+1) = \mathbf{A} \cdot \boldsymbol{\Gamma}(k) \cdot \mathbf{A}^T + \mathbf{H} \cdot \mathbb{R}\_{\mathcal{Q}} \cdot \mathbf{H}^T \tag{24}$$

This completes the required relations for the optimal state estimation. Thus **K***<sup>e</sup>* provides the minimum estimation errors, given a knowledge of the process noise magnitude (*R�*), the measurement noise magnitude (*Rν*), and the covariance initial condition (*ϕ*(0)) [11].

### **3.2. Current control loop**

The current control loop, based on the MBPC technique avoids the use of modulation techniques since a single switching vector is applied during the whole switching period. The MBPC technique selects the control actions through solving an optimization problem at each sampling period. A model of the real system, is used to predict its output. This prediction is carried out for each possible output, or switching vector, of the six-phase inverter to determine which one minimizes a defined cost function. The proposed scheme is shown in Figure 3.

*î*0-0(*k+*1|*k*)

*i \**(*k+*1)

*î*1-1(*k+*1|*k*) *î*5-1(*k+*1|*k*)

*iα* [A]

(a) Projection of the stator currents prediction in

Currents (*α*-*β*) and harmonic (*x* − *y*) ||*i*

Torque and flux |*T*<sup>∗</sup>

Currents (*α*-*β*) and voltage balance ||*i*

Currents (*α*-*β*) and VSI switching losses ||*i*

*î*5-5(*k+*1|*k*)

Controlled variables Cost functions (*J*)

Active and reactive power |*Qin*| + |*P*<sup>∗</sup>

**Table 1.** Possible cost functions in function to the controlled variables

*i<sup>α</sup>* Measured *α* current *i<sup>β</sup>* Measured *β* current *ix* Measured *x* current *iy* Measured *y* current *Qin* Reactive power *Pin* Active power *Te* Torque

*ψ<sup>s</sup>* Flux of the stator *λ* Weighting factor

*Ns* Number of switches **Table 2.** Description of the terms involved in each cost function of the Table 1

Variable Description

*î*6-4(*k+*1|*k*)

*i*(*k*)

*î*6-6(*k*+1|*k*) → *Sopt*(*k*+1|*k*)

*î*4-5(*k+*1|*k*)

**Figure 4.** Minimization of tracking error in stator currents in stationary reference frame (*α* − *β*)

drives stator current can be decomposed in subspaces in different ways. An appropriate decomposition allow to put more emphasis on harmonic reduction as will be shown in the case study for a six-phase motor drive [5, 12]. The more relevant cost functions are shown in Table 1. The superscript (∗) denote the reference value and the terms involved in each cost

∗

∗

∗

*Vc*1, *Vc*<sup>2</sup> Voltages on each capacitor (VSI balanced)

*<sup>α</sup>* − *iα*| + |*i*

*<sup>α</sup>* − *iα*| + |*i*

*<sup>α</sup>* − *iα*| + |*i*

*<sup>e</sup>* − *Te*| + *λ*||*ψ*<sup>∗</sup>

∗

*in* − *Pin*|

∗

∗

*<sup>β</sup>* <sup>−</sup> *<sup>i</sup>β*||<sup>2</sup> <sup>+</sup> *<sup>λ</sup>*.||*<sup>i</sup>*

*<sup>s</sup>* |−|*ψs*||

*<sup>β</sup>* − *iβ*|| + *λ*.*Ns*

*<sup>β</sup>* − *iβ*| + *λ*.|*Vc*<sup>1</sup> − *Vc*2|

∗

*<sup>x</sup>* − *ix*| + |*i*

∗ *<sup>y</sup>* − *iy*||

*î*4-4(*k+*1|*k*)

*iβ* [A] *êiβs*(*k+*1|*k*) *J*

The Asymmetrical Dual Three-Phase Induction Machine and the MBPC in the Speed Control 393

*i \** (*k+*1)

optimal vector (*Sopt*)

*êiαs*(*k+*1|*k*) *î*6-4(*k+*1|*k*)

*i*(*k*)

*iα* [A]

(b) Evaluation of the cost function (*J*) and selection of the

*î*6-6(*k*+1|*k*) → *Sopt*(*k*+1|*k*)

*î*2-6(*k+*1|*k*)

*î*2-2(*k+*1|*k*)

*î*3-2(*k+*1|*k*)

*î*3-3(*k+*1|*k*)

*iβ* [A]

*î*1-3(*k+*1|*k*)

stationary reference frame (*α* − *β*)

function are detailed in the Table 2.

**Figure 3.** Current control loop based on the MBPC technique

### *3.2.1. Cost function*

The cost function should include all aspects to be optimized. In the current predictive control applied to the asymmetrical dual three-phase induction machine, the most important feature to be optimized are the tracking errors of the stator currents in the (*α* − *β*) subspace for a next sampling time, since this variables are related to the electromechanical conversion. To minimize the prediction errors at each sampling time *k* it enough utilize a simple term as:

$$J = \|\left\|\left.\mathbb{e}\_{\rm iss}(k+1|k) + \mathbb{e}\_{\rm i\{\ $s\}}(k+1|k)\right\|\right\|^2 \leftrightarrow \begin{cases} \left\|\mathbb{e}\_{\rm ias}(k+1|k) - \mathrm{i}\_{\rm as}^\*(k+1) - \mathrm{i}\_{\rm as}^\*(k+1|k) \\ \mathbb{e}\_{\rm i\{\$ s\}}(k+1|k) = \mathrm{i}\_{\rm f\ $}^\*(k+1) - \mathrm{i}\_{\rm f\$ }^\*(k+1|k) \end{cases} \tag{25}$$

where � . � denotes the vector modulus, *i* ∗ *<sup>s</sup>* is a vector containing the reference for the stator currents and <sup>ˆ</sup>*is*(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>|*k*) is the prediction of the stator currents calculated from measured and estimated states and the voltage vector *Uαβs*(*k*) as shown in Equation 20. Figure 4 (a) shows the all projection of the stator current predictions calculated from the prediction model. The current control selects the control vector that minimizes the cost function at each sampling time. Figure 4 (b) shows the selection of the optimal vector based on a minimization of prediction errors.

More complicated cost functions can be devised for instance to minimize harmonic content, VSI switching losses, torque and flux and/or active and reactive power. Also, in multi-phase

(a) Projection of the stator currents prediction in stationary reference frame (*α* − *β*) (b) Evaluation of the cost function (*J*) and selection of the optimal vector (*Sopt*)

**Figure 4.** Minimization of tracking error in stator currents in stationary reference frame (*α* − *β*)

drives stator current can be decomposed in subspaces in different ways. An appropriate decomposition allow to put more emphasis on harmonic reduction as will be shown in the case study for a six-phase motor drive [5, 12]. The more relevant cost functions are shown in Table 1. The superscript (∗) denote the reference value and the terms involved in each cost function are detailed in the Table 2.



8 Induction Motor

This completes the required relations for the optimal state estimation. Thus **K***<sup>e</sup>* provides the minimum estimation errors, given a knowledge of the process noise magnitude (*R�*), the

The current control loop, based on the MBPC technique avoids the use of modulation techniques since a single switching vector is applied during the whole switching period. The MBPC technique selects the control actions through solving an optimization problem at each sampling period. A model of the real system, is used to predict its output. This prediction is carried out for each possible output, or switching vector, of the six-phase inverter to determine which one minimizes a defined cost function. The proposed scheme is shown in Figure 3.

A

*Us*

*r*

**6-phase Machine**

B

*<sup>i</sup>βs is*

*T*

The cost function should include all aspects to be optimized. In the current predictive control applied to the asymmetrical dual three-phase induction machine, the most important feature to be optimized are the tracking errors of the stator currents in the (*α* − *β*) subspace for a next sampling time, since this variables are related to the electromechanical conversion. To minimize the prediction errors at each sampling time *k* it enough utilize a simple term as:

∗

currents and <sup>ˆ</sup>*is*(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>|*k*) is the prediction of the stator currents calculated from measured and estimated states and the voltage vector *Uαβs*(*k*) as shown in Equation 20. Figure 4 (a) shows the all projection of the stator current predictions calculated from the prediction model. The current control selects the control vector that minimizes the cost function at each sampling time. Figure 4 (b) shows the selection of the optimal vector based on a minimization of

More complicated cost functions can be devised for instance to minimize harmonic content, VSI switching losses, torque and flux and/or active and reactive power. Also, in multi-phase

*e*ˆ*iαs*(*k* + 1|*k*) = *i*

*e*ˆ*iβs*(*k* + 1|*k*) = *i*

∗

∗

*<sup>α</sup>s*(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>) <sup>−</sup> <sup>ˆ</sup>*iαs*(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>|*k*)

*<sup>s</sup>* is a vector containing the reference for the stator

*<sup>β</sup>s*(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>) <sup>−</sup> <sup>ˆ</sup>*iβs*(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>|*k*) (25)

measurement noise magnitude (*Rν*), and the covariance initial condition (*ϕ*(0)) [11].

*Si opt***(***k+1***)**

*u<sup>s</sup>*

**Predictive Model**

*r is\**

*3.2.1. Cost function*

prediction errors.

*i<sup>s</sup>***(***k+1|k***)**

**Cost funtion evaluation**

**Figure 3.** Current control loop based on the MBPC technique

*<sup>J</sup>* <sup>=</sup>� *<sup>e</sup>*ˆ*iαs*(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>|*k*) + *<sup>e</sup>*ˆ*iβs*(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>|*k*) �2<sup>↔</sup>

where � . � denotes the vector modulus, *i*

**Optimizer**

Minimization of cost funtion

**3.2. Current control loop**


**Table 2.** Description of the terms involved in each cost function of the Table 1

### *3.2.2. Optimizer*

The predictive model should be used 64 times to consider all possible voltage vectors. However, the redundancy of the switching states results in only 49 different vectors (48 active and 1 null) as shown on Figure 2. This consideration is commonly known as the optimal solution. The number of voltage vectors to evaluate the predictive model can be further reduced if only the 12 outer vectors (the largest ones) are considered. This assumption is commonly used if sinusoidal output voltage is required and it is not necessary to synthesize (*x* − *y*) components. In this way, the optimizer can be implemented using only 13 possible stator voltage vectors3. This way of proceeding increases the speed at which the optimizer can be run, allowing decreasing the sampling time at the cost of losing optimality. A detailed study of the implications of considering the optimal solution can be found at [6]. For a generic multi-phase machine, where *f* is the number of phase and *ε* the search space (49 or 13 vectors), the control algorithm proposed produces the optimum gating signal combination *Sopt* as follows:

algorithm has been applied to compute the evolution of the state variables step by step in the time domain. Table 3 shows the electrical and mechanical parameters for the asymmetrical

> Stator resistance *Rs* (Ω) 1.63 Rotor resistance *Rr* (Ω) 1.08 Stator inductance *Ls* (H) 0.2792 Rotor inductance *Lr* (H) 0.2886 Mutual inductance *Lm* (H) 0.2602 Inertia *Ji* (kg.m2) 0.109 Pairs of poles *P* 3 Friction coefficient *B* (kg.m2/s) 0.021 Nominal frequency *ω<sup>a</sup>* (Hz) 50

Computer simulations allow valuing the effectiveness of the proposed control system under unload and full-load conditions, with respect to the mean squared error (MSE) of the speed and stator current tracking. In all cases is considered a sampling frequency of 6.5 kHz, and that the initial conditions of the covariance matrix (*ϕ*(0)), and the process and measurement noise, are known. The Kalman Filter has been started with the following initial conditions; *ϕ*(0) =

1 A. Because *ϕ*(*k*) is time varying, the KF gain is sensitive to this initial condition estimate during the initial transient, but the steady final values are not affected [11]. The magnitudes of the process noise (*R�*) and measurement noise (*Rν*) are known and are generate using a Random Source block of the Simulink Signal Processing Blockset, assuming the following

A series of simulation tests are performed in order to verify the efficiency of current control loop in three points of operation of the machine. Figure 5 shows the current tracking in stationary reference frame (*α* − *β*) and (*x* − *y*) subspaces considering sub-optimal solution in the optimization process (12 active and 1 null vectors). The predicted stator current in the *α* component is shown in the upper side (zoom graphs and green curves). For all cases of analysis efficiency is measured with respect to the MSE of the currents tracking in (*α* − *β*)-(*x* − *y*) subspaces and the total harmonic distortion (THD), defined as the ratio of the sum of the powers of all harmonic components to the power of the fundamental frequency, obtained from the Powergui-Continuous Simulink block. A 2.5 A reference stator current at 12 Hz is established for the case of Figure 5 (a). Figure 5 (b) shows the current tracking in the (*α* − *β*) and (*x* − *y*) subspaces using a 2 A reference stator current at 18 Hz and Figure 5 (c) shows the current tracking in stationary reference frame using a 1.5 A reference stator current at 36 Hz. Table 4 summarizes the results of the three previous trials where are considered

, in order to indicate that the initial uncertainty (rms) of the state variables is

**Table 3.** Parameters of the asymmetrical dual three-phase induction machine

values, *<sup>R</sup>�* <sup>=</sup> <sup>15</sup> <sup>×</sup> <sup>10</sup>−<sup>3</sup> and *<sup>R</sup><sup>ν</sup>* <sup>=</sup> <sup>25</sup> <sup>×</sup> <sup>10</sup>−3, respectively.

different amplitudes and angular frequencies for the reference current.

From the obtained results can be emphasized as follows:

**4.1. Efficiency of current control loop**

Parameter Value

The Asymmetrical Dual Three-Phase Induction Machine and the MBPC in the Speed Control 395

dual three-phase induction machine.

*diag*

1111

**Algorithm 1** Proposed algorithm

**comment:** Compute the covariance matrix. Equation 23 **<sup>Γ</sup>**(*k*) = *<sup>ϕ</sup>*(*k*) <sup>−</sup> *<sup>ϕ</sup>*(*k*) · **<sup>C</sup>***T*(**<sup>C</sup>** · *<sup>ϕ</sup>*(*k*) · **<sup>C</sup>***<sup>T</sup>* <sup>+</sup> *<sup>R</sup>ν*)−<sup>1</sup> · **<sup>C</sup>** · *<sup>ϕ</sup>*(*k*) **comment:** Compute the KF gain matrix. Equation 22 **<sup>K</sup>***e*(*k*) = **<sup>Γ</sup>**(*k*) · **<sup>C</sup>***TR<sup>ν</sup>* **comment:** Optimization algorithm *Jo* := ∞, *i* := 1 **while** *i* ≤ *ε* **do S***<sup>i</sup>* ← **S***i*,*<sup>j</sup>* ∀ *j* = 1, ..., *f* **comment:** Compute stator voltages. Equation 12 *Uαβxys* = *<sup>u</sup>αs*, *<sup>u</sup>βs*, *uxs*, *uys*, 0, 0*<sup>T</sup>* = *Vdc* · **T** · **M comment:** Compute a prediction of the state. Equation 15 **<sup>X</sup>**ˆ(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>|*k*) = **AX**(*k*) + **BU**(*k*) + **<sup>H</sup>***�*(*k*) **comment:** Compute the cost function. Equation 25 *<sup>J</sup>* <sup>=</sup>� *<sup>e</sup>*ˆ*iαs*(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>|*k*) + *<sup>e</sup>*ˆ*iβs*(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>|*k*) �<sup>2</sup> **if** *J* < *Jo* **then** *Jo* <sup>←</sup> *<sup>J</sup>*, **<sup>S</sup>***opt* <sup>←</sup> **<sup>S</sup>***<sup>i</sup>* **end if** *i* := *i* + 1 **end while comment:** Compute the correction of the covariance matrix. Equation 24 *<sup>ϕ</sup>*(*<sup>k</sup>* <sup>+</sup> <sup>1</sup>) = **<sup>A</sup>** · **<sup>Γ</sup>**(*k*) · **<sup>A</sup>***<sup>T</sup>* <sup>+</sup> **<sup>H</sup>** · *<sup>R</sup>�* · **<sup>H</sup>***<sup>T</sup>*
