## 3 Weightless Model Predictive Control Based on ESO Observer
### Sector Vector Selection and 2-D Lookup Table Design  
According to the state variables of the control system in the current sampling period, the electromagnetic torque \(\mathrm{T}_{e}^{\prime}\), the stator magnetic chain \(\psi_{s}^{\prime}\) and the torque angle \(\delta\) are obtained as follows:  
\[\left\{ \begin{array}{l}T_{e}^{\prime}=\frac{3}{2}\frac{p|\psi_{s}|\psi_{f} }{L}\sin\delta\\ \psi_{s}^{\prime}=\sqrt{\psi_{\alpha}^{2}+\psi_{\beta}^{2}}\end{array} \right. \tag{22}\]  
where \(\psi_{\alpha}\), \(\psi_{\beta}\) are the current and magnetic chain of the two-phase stationary coordinate system \(\alpha\) and \(\beta\) axis, respectively, and \(\delta\) is the torque angle. The current, voltage and magnetic chain of \(\alpha\) and \(\beta\) axis are calculated as follows:  
\[ \begin{bmatrix}i_{a}\\ i_{\beta}\end{bmatrix} = \begin{bmatrix}\cos\theta&-\sin\theta\\ \sin\theta&\cos\theta\end{bmatrix}\begin{bmatrix}i_{d}\\ i_{d}\end{bmatrix}  \tag{23}\]  
\[\left\{ \begin{array}{l}u_{\alpha}=R_{s}i_{\alpha}+\frac{d\psi_{\alpha}}{dt} \\ u_{\beta}=R_{s}i_{\beta}+\frac{d\psi_{\beta}}{dt}\\ \psi_{\alpha}=L_{s}i_{\alpha}+\psi_{f}\cos\theta\\ \psi_{\beta}=L_{s}i_{\beta}+\psi_{f}sin\theta\end{array} \right. \tag{24}\]  
where \(\theta\) is the rotor angular position, \(u_{\alpha},u_{\beta}\) are the two-phase stationary coordinate system \(\alpha,\beta\) axis voltage, and \(L_{s}\), \(R_{s}\) are the stator inductance and stator resistance, respectively. According to Equations (21)-(23):  
\[T_{e}^{\prime}=\frac{3}{2}p\big{(}\psi_{\alpha}i_{\beta}-\psi_{\beta}i_{\alpha} \big{)} \tag{26}\]  
\[\delta=\arcsin\left[\frac{L_{s}}{\psi_{f}}\left(\frac{\psi_{\alpha}i_{\beta}- \psi_{\beta}i_{\alpha}}{|\psi_{s}|}\right)\right] \tag{27}\]  
To expedite the selection of voltage vectors, reduce the computational load, and increase the number of candidate voltage vectors, this paper divides the voltage vector sector diagram into 12 sectors, as illustrated in Figure 5. The sectors are labeled S1 to S12, with Sn representing a specific sector where \(0<n<13\). Each Sn sector corresponds to a space voltage vector Un. When the stator flux is in the Sn sector, a hysteresis comparator adjusts the stator flux and electromagnetic torque errors, and a 2-D lookup table (LUT) is established, as shown in Table 1.  
In the given scenario, if the stator flux \(\psi_{s}\) is positioned as shown in Figure 3 and rotates counterclockwise, the estimated stator flux and electromagnetic torque are compared with the reference values obtained through the MTPA and PI controllers, resulting in two error values, denoted as \(d\psi_{s}\) and \(dT_{e}\). When the errors are greater than zero, they are defined as (\(>\)); otherwise, as (\(<\)). For the stator flux located in sector \(S_{1}\) to increase the torque and flux, typically, the effective voltage vectors \(U_{2}\) and \(U_{3}\) along with a zero voltage vector \(U_{0}\) or \(U_{7}\) are evaluated. However, due to the limited voltage vectors available in each sector, the electromagnetic torque and flux pulsations can be significant. Therefore, a new spatial voltage vector sector division diagram is proposed, dividing it into 12 sectors. In sector \(S_{1}\), if the torque and flux need to be increased, \(U_{1}\) and \(U_{2}\) are evaluated in the lower half of \(S_{1}\) (optimized \(S_{1}\)), and \(U_{2}\) and \(U_{3}\) are evaluated in the upper half of \(S_{1}\) (optimized \(S_{2}\)). This increases the number of alternative voltage vectors per sector. Additionally, without involving the inverter switching frequency in the cost function, various voltage vector combinations can be considered. To further reduce the system computational burden, only the zero vector (U0) is used for the synthesis. With the 2-D look-up table (LUT), it is possible to directly evaluate two effective voltage vectors and one zero vector based solely on the torque error and stator flux error within a single adoption cycle. These two effective voltage vectors are not restricted to being neighboring vectors.