# A High-Precision Rotor Position and Displacement Prediction Method Specially for Bearingless Permanent Magnet Synchronous Motor

Authors: Yukun Sun; Qiang Cui; Yonghong Huang; Ye Yuan
Journal: Mathematical Problems in Engineering
 (2018)

---

## Abstract

The high performance sensorless performance of the bearingless permanent magnet synchronous motor is the main direction to improve the reliability of the drive system and reduce the cost of the system, and the high-precision rotor position and displacement prediction method is the key technology to realize the high performance sensorless operation. In view of the above problems, a rotor displacement and position prediction method based on kernel extreme learning machine is studied in this paper. On the basis of the mathematical model of BPMSM, this method predicted the position and displacement of the rotor according to the current and flux linkage of suspension windings and torque windings by KELM. The construction method of rotor position and displacement prediction model was described; meanwhile the implementation steps of offline training and online prediction were given. Finally, the error between the method and the actual value was compared by simulation and experiment. The results showed that the proposed method had high accuracy and could achieve real-time rotor position and displacement and then provides the basis for realizing sensorless operation control of BPMSM.


---

## Body

## 1. Introduction

Bearingless motors have a wide application prospect because of its low energy consumption, high speed and no lubrication. Among all kinds of bearingless motors, bearingless permanent magnet synchronous motor [1] (BPMSM) has been highly influenced by domestic and foreign scholars because of its high power factor, low heat generation, and high reliability. The key to the stable rotation and suspension of BPMSM is to accurately detect the position and radial displacement of the rotor in real time. Generally, sensors such as eddy current and Hall type are used for detecting the position and displacement of the BPMSM rotor, and the detection method increases the cost of the motor. The complexity of the system hardware makes the installation and maintenance cumbersome and the failure rate is high and, even worse, the critical speed of the motor is reduced. Because sensors are susceptible to the environment, they seriously affect the reliability of the system. Therefore, the research of BPMSM’s high-performance sensorless control system has high practical significance.At present, the global researches on sensorless operation of bearingless motors have achieved initial results. For instance, with the linear relationship between the self-inductance of suspension windings and the displacement of the rotor, an extra high frequency excitation signal was injected into the suspension windings to detect the high frequency differential voltage signal of the suspension windings to track the radial displacement of the rotor in literature [2–4]. However, the extraction and processing of high frequency signal were complex; furthermore, dynamic performance was poor, so it was not suitable for high-speed operation. In literatures [5–7], sensorless control technology establishes a series of state observers to detect rotor position and velocity by detecting relevant electrical signals in the motor windings. This type of method relies on the back EMF of PMSM for position and speed estimation. Since the motor operates at zero speed and low speed, the useful signal-to-noise ratio is very low and is often difficult to extract.In recent years, with the rise of machine learning algorithm, it shows certain superiority in modeling complex systems. As literatures [8, 9], the support vector machine (SVM) was used to obtain the prediction model among the rotor position, displacement and the magnetic levitation switched reluctance motor parameters. In literature [10], the author adopts a novel windowed least algorithm to estimate the parameters with fixed value or the parameter with time varying characteristic.In this regard, a rotor position and displacement prediction model for bearingless permanent magnet synchronous motor based on kernel extreme learning machine is proposed in the paper. According to the mathematical model of BPMSM, it can be known that there is a nonlinear relationship among the current, flux linkage, rotor position and displacement. Therefore the stability and generalization ability of the kernel extreme learning machine (KELM) can be used to predict the rotor positionθr and radial displacementx andy. Based on the simulation data, the feasibility and effectiveness of KELM for BPMSM position and displacement prediction are analyzed. Meanwhile, the parameters of KELM are optimized by the particle swarm optimization (PSO) algorithm [11]. The method does not depend on the mathematical model of the motor. Compared with the traditional limit learning machine, it uses the kernel function mapping instead of the hidden layer random mapping. It improves the linear degree of the data and does not need to adjust the parameters of the hidden layer repeatedly. The traditional parameter training problem is converted into a linear equation group to solve the problem, so the training and prediction time are greatly shortened.


## 2. Bearingless Permanent Magnet Synchronous Motor

The BPMSM′s stator adopts 24 slots, and the rotor adopts 4 poles surface mounted structure. The stator slot is embedded with two sets of windings with the polar logarithm difference of 1, which are torque windings and suspension windings respectively. The rotating magnetic field is generated in the torque windings, which drives the permanent magnet on the rotor surface to rotate along the tangent direction. The rotor of the motor is rotated. After the suspension windings are energized, a floating magnetic field is generated in the air gap, which is superposed with the rotating magnetic field and the bias magnetic field generated by the permanent magnet. The synthetic magnetic field generates radial forces of a certain direction and magnitude on the rotor, which achieves the suspension of the motor rotor.The suspension forces generation principle of the bearing permanent magnet synchronous motor in the static two phase coordinate system is shown in Figure1, in which Nsα and Nsβ are 2 pole suspension windings, and Nmα and Nmβ are 4 pole torque windings.Figure 1
Principle of alpha axis radial force production.When the BPMSM windingsNsα and Nsβ are not energized, the internal flux of the motor is balanced with no levitation force. At this time, the motor is similar to the common permanent magnet synchronous motor. When the suspension winding Nsα is connected to the corresponding polarity current as shown in Figure 1, the controlled flux Фsα produced by the Nsα in the air gap 2 is in the same direction as the Фf produced by the permanent magnet, and the magnetic flux density in the air gap 2 increases. While the flux Фsα is opposite to theФf of the permanent magnet in the air gap 1, the flux density decreases in the air gap 1. The flux density on both sides is different, resulting in the suspension force Fα in the direction shown in Figure 1, causing radial displacement of the motor rotor. Similarly, the suspension of the motor rotor in the beta direction can be adjusted by adjusting the current in the Ns beta. By controlling the current in Nsα and Nsβ, the suspension force in the radial direction can be synthesized; thus the stable suspension control of the bearingless permanent magnet synchronous motor can be realized.


## 3. Design of Position Displacement and Prediction System Based on Kelm

### 3.1. Principle of Rotor Position Estimation

BPMSM is essentially PMSM, so rotor field oriented control (imd∗=0) can also be used. Under the control method, the example is the surface-mounted BPMSM with 2 pairs of pole torque windings and 1 pairs of pole suspension windings. The electromagnetic torque equation of the motor is as follows [1]:(1)Te=P1ψfimq=2ψfimq=2ψmdimqAccording to the dynamic equation of the rotor of BPMSM, it can be obtained [1, 12]:(2)Te=J2dωdt+TLθ˙r=ωtCombined with (1) and (2), the expression of rotor position angle can be obtained [1]:(3)J2θ¨r=2ψmdimq-TLwhere Te is the electromagnetic torque of the motor. When imd∗=0, permanent-magnet magnetic flux linkageψf is equal to magnetic flux linkaged axis component of torque windings ψmd. imq is the currentd axis component of torque windings. umd is the voltagedaxis component of torque windings. ψmd(0) is the initiald axis magnetic flux linkage component of torque windings (its value is 0).θr is the angle of the rotor position. TL is the load torque;J is the moment of inertia.In order to get the relationship between the rotor position angleθr and the direct acquisition of the motor parameters, (3) could be represented in the static coordinate system as follows:(4)J2θ¨r=2ψmαcos⁡θr+ψmβsin⁡θrimαcos⁡θr+imβsin⁡θr-TLwhere ψmα and ψmβ are the α and β axis components of the torque windings flux linkage. imα and imβ are the α and β axis components of the torque windings current.According to the principle of electromechanics, the torque windings flux linkageψmα, ψmβ can be obtained byU –Iflux linkage identification [6]:(5)ψmα=∫0tumα-Rmimα+ψmα0ψmβ=∫0tumβ-Rmimβ+ψmβ0where umα and umβ are the α and β axis components of the torque windings voltage; Rm is the torque windings resistance; ψmα(0) and ψmβ(0) are the initial values of the flux linkage of the torque windings.When the motor model is determined, the load torqueTL and the moment of inertiaJin (4) can be regarded as constants. Therefore, the rotor position prediction system can be ψmα,ψmβ,imα,imβ as input and the rotor position angle θr as output. KELM is used to train the rotor position angle model to realize the real-time prediction of rotor positionθr. Equation (4) ensures the feasibility of the KELM prediction rotor position angle model.


### 3.2. Principle of Rotor Displacement Estimation

The flux linkage of the bearingless permanent magnet synchronous motor in theα-β coordinate system can be expressed as [13, 14]:(6)ψmαψmβψsαψsβ=Lmα0Mαα-Mαβ0LmβMββMβαMααMββLsα0-MαβMβα0Lsβimα+ifαimβ+ifβisαisβwhere α and β are the radial displacement components of the rotor in the stationary coordinate system. ψmαand ψmβ are the α and β axis components of the torque windings flux linkage. ψsα and ψsβ are the α and β axis components of the suspension windings flux linkage. Lmα and Lmβ are the self-inductance coefficients α and β axis components of the torque windings. Lsα and Lsβ are the self-inductance coefficients α and β axis components of the suspension windings. Mα, Mβ are the mutual inductance coefficients α and β axis components of the suspension windings. imα and imβ are α and β axis components of the torque windings current. isα and isβ are the α and β axis components of the floating windings current.ifa and ifβ are the α and β axis components of the permanent magnet equivalent excitation current.From the third and fourth lines of (6), the rotor radial displacement expression can be derived as [13, 14](7)α=Mαimα+ifαψsα-Lsαisα+Mβimβ+ifβψsβ-LsβisβMα2imα+ifα2+Mβ2imβ+ifβ2β=Mβimβ+ifβψsα-Lsαisα-Mαimα+ifαψsβ-LsβisβMα2imα+ifα2+Mβ2imβ+ifβ2where the suspension windings flux linkages ψsα and ψsβ are obtained by theU–I flux linkage identification method similar to (5).It can be known from (7) that the rotor radial displacement of BPMSM can be represented nonlinearly by the suspension windings currents isα and isβ, the suspension windings flux linkages ψsα and ψsβ, the torque windings currents imα and imβ, and the permanent magnet equivalent currentif. Therefore, the rotor radial displacement prediction system can be ψsα,ψsβ,isα,isβ,imα,imβ,if as the input, and the rotor radial displacement α,β is the output. Real-time prediction of rotor displacement can be achieved by using KELM to train the rotor displacement model. Equation (7) guarantees the feasibility of KELM predicting the rotor displacement model.


### 3.3. Principle of Kernel Extreme Learning Machine

Extreme learning machine [15] (ELM) is a training method for a single-hidden layer feedforward neural network. Given a training sampleT=xn,yn,n=1,2…N, its input data isxn and its target output value isyn. ForK hidden nodes, the ELM network model with activation functiongn(xn) can be expressed as [15](8)yj=∑n=1Kσngnωn∙xj+bi,j=1,2,…,Nwhereωn is the weight between then-th hidden layer node and input node.bn is the offset of then-th hidden layer of the network.σn is then-th output weight of the connection hidden layer and output layer.yj is the network output value.When the activation functiongn(xn) can approximate the target output value of anyN samples, namely, ∑n=1Kyn-tn=0, with zero error, at this time there are [15](9)tj=∑n=1Kσngnωnxj+bn,j=1,2,…,NThe matrix form of the aboveN equations can be expressed as [15](10)Hσ=TAmong them [15](11)H=gnω1x1+b1⋯gnωKx1+bK⋮⋯⋮gnωnxj+b1⋯gnωKxN+bKN×KwhereH is he hidden layer output matrix of ELM.Tis the desired output vector.The above equation is equivalent to finding the least squares solution of the linear system, that is, to find the optimal weightσ∗, which makes the sum of the squares of the difference between the actual and the expected value minimum. According to the theory of generalized inverse matrix, the solution is as follows [15]:(12)σ∗=H+Twhere H+, which can be obtained by orthogonal projection method or singular value decomposition, represents the generalized inverse matrix of the hidden layer output matrixH.When the number of hidden layer nodes and the number of samples in the ELM model are equal, the network can approach the trained samples with zero error, but in actual use, the calculation time is lengthy in the fitting of larger samples. Therefore, the number of hidden nodes is often set less than the number of training samples, but the data samples may have complex collinear problems at this time, which will make the output of the ELM model fluctuate randomly. The stability and generalization ability of ELM are deteriorated.In the ELM research process, due to the introduction of the kernel function, ELM can obtain the performance of the least squares support vector machine. The use of kernel mapping to replace the hidden layer feature random mapping, which makes that KELM not only has the superior performance of SVM, but also has a very high operating speed.Given a training sampleT=xn,yn,n=1,2…N, its regression function and the link weights between the hidden layer and the output layer are as follows [16, 17]:(13)y^=fx=hxδ=Hδδ=HTIC+HHT-1Gwhere y^=f(x) is the network output.x is the sample input. is a hidden layer random feature mapping matrix. δ is the connection weight between the hidden layer and the output layer, and the δ value can be solved according to the generalized inverse matrix. I is a diagonal matrix.C is the regularization coefficient. G is the output of target value.Huang combined kernel learning with ELM in literature [16] and proposed the KELM algorithm. KELM kernel matrix ΩELM is defined as follows [16, 17]:(14)ΩELM=HHTΩELMi,j=hxihxj=Kxi,xjwherexi,xj is the sample input vector, wherei andj are any integers in [1,N].K(xi,xj) is a kernel function, which is usually replaced by a radial basis function (RBF), namely [16, 17],(15)Kxi,xj=exp⁡-γxi,xj2where xi,xj is the Euclidean norm between samples. γ>0, which is the kernel parameter.Combining (13), (14), and (15) gives the output and output weight of the KELM network as follows [17]:(16)y^=fx=Kx,x1⋮Kx,xNIC+ΩELM-1Gδ=IC+ΩELM-1GAccording to (16), KELM transforms the random feature mapping matrixH in ELM to a stable kernel functionK(xi,xj) mapping. Compared with the traditional ELM, the function output value can be obtained without setting the number of nodes in the hidden layer, and the generalization ability and stability of the model are enhanced. Considering the advantages of KELM, this paper proposes a BPMSM rotor position and displacement prediction model based on KELM.


### 3.4. Particle Swarm Optimization Algorithm for Optimizing KELM Parameters

The kernel parameter and the regularization coefficient of KELM have been selected by random or experience, which makes KELM very complicated and inefficient in fitting some complex networks. At present, the optimization of kernel parameter by particle swarm optimization is the main research direction in the KELM field. The PSO algorithm can globally optimize, ensuring that the KELM network parameters are in the optimal state, which makes the robustness and prediction accuracy of KELM improved.


#### 3.4.1. Principle of PSO Algorithm

PSO algorithm is a lightweight algorithm with fewer parameters, faster convergence speed and easy to find global optimal solution. It has been applied in the parameter optimization and training of KELM in literatures [17–19].In the optimization process, all particles are determined by a fitness-function to judge the good or bad of the current position, meanwhile each particle has two attributes: position and speed. The initial cluster size isN. In a D-dimensional target search space, the position of the particlei is represented as Xi=Xi1,Xi2,…,XiDT and the velocity is expressed as vi=vi1,vi2,…,viDT. The best position that the particle currently searches for is represented aspbesti= pi1,pi2,…piDT, and the global optimal position of the current population is represented asgbest=pg1,pg2,…pgDT. Then the following equations are used to simulate the change of particle velocity and position [11, 19]:(17)viDt+1=viDt+c1r1DpiDt-XiDt+c2Dr2DpgDt-XgDt(18)XiDt+1=XiDt+viDt+1where 1≤i≤N.T represents the number of iterations.c1 andc2 are acceleration constants that determine the particle velocity change, wherec1 acts on the particle’s individual optimal solution andc2 affects the particle’s global optimal solution.r1D andr2D are two independent 0~1 random coefficients used to constrain the velocity of the particles. In order to balance the global search ability and local search ability of the particle swarm algorithm, the inertia weight coefficient w[20] is introduced. The particle velocity changes after introduction are as follows [11, 19]:(19)viDt+1=wviDt+c1r1DpiDt-XiDt+c2Dr2DpgDt-XgDtWhenw>1, the global search ability of the particle is increased. When w<1, the particle performs deceleration motion, the search range of the particle reduces, and the local search ability of the particle increases.


#### 3.4.2. Steps to Optimize KELM Parameters with PSO Algorithm

The flowchart of particle swarm optimization KELM is shown in Figure2.Figure 2
The flow chart of PSO optimizing KELM.Step 1.
The diachronic data obtained by the BPMSM simulation model is selected and divided into training set and test set, and then the training set and test set are normalized to[-1,1].Step 2.
The kernel function of the KELM model is RBF kernel, and it is taken into further processing the training set data to get the initial regularization coefficient and kernel parameter.Step 3.
Initialize the particle swarm parameters, including setting the population number toN, the initial particle position to γint,Cint, and setting the search range. When the particle crosses the boundary, the position of the particle is set to the boundary value and its velocity is set in the opposite direction. Set the upper limit of the iteration. The mean square error (MSE) of rotor position and displacement prediction by KELM is set as fitness function. The smaller the MSE value, the better the fitness. Meanwhile the initial velocity, the optimal location, and the global optimal location are given randomly.Step 4.
The particle swarm optimization is carried out. According to the objective function, the fitness of each particle is calculated in each iteration. Then the speed and individual and global optimal position are updated.Step 5.
The individual and global optimum values of the new particles are compared with the previous ones. If they are better, they are updated. Otherwise they will not be updated.Step 6.
If the number of iterations exceeds the upper limit of iteration, the algorithm is terminated. Otherwise Steps4 and 5 are repeated.Step 7.
The global optimal position (γbest, Cbest) of the particle is outputted, and the fitness value corresponding to the global optimal position is saved.


### 3.5. Design Steps of Position and Displacement Prediction Models

In order to verify the effectiveness of the designed prediction model, simulation study is carried out in Matlab/Simulink, and the BPMSM simulation parameters in simulation are shown in Table1. The sampling time is 0.15s, and the sampling mode is variable step ode45, which can obtain the simulation data.Table 1
Simulation parameters of BPMSM.
Motor parameters Values Motor parameters Values Rated voltage 242 V Rated torque 5 N·m Rated speed 3000 r/min Moment of inertia 1.5×10−3 kg·m2 Torque windings resistance 7.136 Ω Pole number of torque windings 4 Suspension windings resistance 1.85 Ω Pole number of suspension windings 2The torque windings currentα, β axis component data, the torque windings flux α, β axis component data, the suspension windings current α, β axis component data, the suspension windings flux α, β axis component data, and the permanent magnet equivalent excitation current data are used to simulate actual rotor position and displacement data. 1000 sets of training samples are selected as rotor position and displacement prediction models at equal time interval, and 1000 groups are selected as rotor position and displacement test samples. Since the single-kernel KELM can only be used for the fitting problem of a single output function, in order to achieve multioutput prediction of rotor position and radial displacement, three prediction models based on KELM are established.Respectively, the rotor position angle prediction model isψmα,ψmβ,imα,imβ as the input set and θr is the output set. The rotor α-axis radial displacement prediction model is ψsα,ψsβ,isα,isβ,imα,imβ,if as the input set, and α is the output set. The rotor β-axis radial displacement prediction model is ψsα,ψsβ,isα,isβ,imα,imβ,if as the input set, and β is the output set.


#### 3.5.1. Optimization of KELM Kernel Parameters

Given the parameters of PSO algorithm, the MSE of training samples is set as fitness function. For the rotor position angleθr training model, the acceleration factorsc1 andc2 are set to 2,w is set to 0.5, the population number is set to 25, and the maximum iteration number tmax is 100, Finally, the parameter optimization result can be obtained as (γbest, Cbest) = (0.001, 10000).For the rotorα-axis radial displacement α training model, the acceleration factorsc1 andc2 are set to 2,w is set to 0.6, the population number is set to 25, and the maximum iteration number tmax is 100, Finally, the parameter optimization result can be obtained as (γbest, Cbest) = (0.008, 200000).For the rotorβ-axis radial displacement α training model, the acceleration factorsc1 andc2 are set to 2,w is set to 0.6, the population number is set to 25, and the maximum iteration number tmax is 100, Finally, the parameter optimization result can be obtained as (γbest, Cbest) = (0.002, 20000).


#### 3.5.2. Training Model Offline

As shown in Figure3, the establishment process of the radial displacement training model of the rotor α-axis is taken as an example.Figure 3
Rotor alpha axis radial displacement training function flow.During the training process of the model, according to the training sample inputψsα∗,ψsβ∗,isα∗,isβ∗,imα∗,imβ∗,if∗, the samples are trained offline by Matlab. After the training kernel matrix ΩELM_train is obtained, a matrixI/C is added, which is substituted into the output weight matrix function together with the output α∗ of the training sample, and finally an output weight matrix δ is obtained. Among them,I is the unit matrix with the same order of training kernel matrix. Multiplication of ΩELM_train and δ is the predicted output of training samples α. After obtaining the mean square error, it is trained several times to get the minimum mean square error and finally get the most suitable output weight matrix δ. The establishment of the rotor position angleθr and the rotor β-axis radial displacement training model is similar to the rotor α-axis radial displacement. It will not be described in detail here.


#### 3.5.3. Prediction of Rotor Position and Displacement Online

According to Figure4, the Matlab/Simulink simulation model is built. The current and voltage signals obtained by real-time simulation are firstly identified to obtain the torque and the floating flux linkage, and then the flux linkage signal and the current signal are used as the corresponding inputs of the three prediction models; finally the predictions are obtained.Figure 4
Rotor position/displacement prediction process based on KELM.In the online prediction, the offline trained weight matrixδ is stored in advance in an external data file. The construction of the predictive model is written in the Matlab Function module. The real-time sampling of current and flux signals is stored in a variable array. Then the predicted kernel matrix ΩELM_predict corresponds to the input at this time, and finally the Matlab Function module calls the external weight matrix δ directly. The products of the two are the real-time prediction output under the sampling time point.


## 3.1. Principle of Rotor Position Estimation

BPMSM is essentially PMSM, so rotor field oriented control (imd∗=0) can also be used. Under the control method, the example is the surface-mounted BPMSM with 2 pairs of pole torque windings and 1 pairs of pole suspension windings. The electromagnetic torque equation of the motor is as follows [1]:(1)Te=P1ψfimq=2ψfimq=2ψmdimqAccording to the dynamic equation of the rotor of BPMSM, it can be obtained [1, 12]:(2)Te=J2dωdt+TLθ˙r=ωtCombined with (1) and (2), the expression of rotor position angle can be obtained [1]:(3)J2θ¨r=2ψmdimq-TLwhere Te is the electromagnetic torque of the motor. When imd∗=0, permanent-magnet magnetic flux linkageψf is equal to magnetic flux linkaged axis component of torque windings ψmd. imq is the currentd axis component of torque windings. umd is the voltagedaxis component of torque windings. ψmd(0) is the initiald axis magnetic flux linkage component of torque windings (its value is 0).θr is the angle of the rotor position. TL is the load torque;J is the moment of inertia.In order to get the relationship between the rotor position angleθr and the direct acquisition of the motor parameters, (3) could be represented in the static coordinate system as follows:(4)J2θ¨r=2ψmαcos⁡θr+ψmβsin⁡θrimαcos⁡θr+imβsin⁡θr-TLwhere ψmα and ψmβ are the α and β axis components of the torque windings flux linkage. imα and imβ are the α and β axis components of the torque windings current.According to the principle of electromechanics, the torque windings flux linkageψmα, ψmβ can be obtained byU –Iflux linkage identification [6]:(5)ψmα=∫0tumα-Rmimα+ψmα0ψmβ=∫0tumβ-Rmimβ+ψmβ0where umα and umβ are the α and β axis components of the torque windings voltage; Rm is the torque windings resistance; ψmα(0) and ψmβ(0) are the initial values of the flux linkage of the torque windings.When the motor model is determined, the load torqueTL and the moment of inertiaJin (4) can be regarded as constants. Therefore, the rotor position prediction system can be ψmα,ψmβ,imα,imβ as input and the rotor position angle θr as output. KELM is used to train the rotor position angle model to realize the real-time prediction of rotor positionθr. Equation (4) ensures the feasibility of the KELM prediction rotor position angle model.


## 3.2. Principle of Rotor Displacement Estimation

The flux linkage of the bearingless permanent magnet synchronous motor in theα-β coordinate system can be expressed as [13, 14]:(6)ψmαψmβψsαψsβ=Lmα0Mαα-Mαβ0LmβMββMβαMααMββLsα0-MαβMβα0Lsβimα+ifαimβ+ifβisαisβwhere α and β are the radial displacement components of the rotor in the stationary coordinate system. ψmαand ψmβ are the α and β axis components of the torque windings flux linkage. ψsα and ψsβ are the α and β axis components of the suspension windings flux linkage. Lmα and Lmβ are the self-inductance coefficients α and β axis components of the torque windings. Lsα and Lsβ are the self-inductance coefficients α and β axis components of the suspension windings. Mα, Mβ are the mutual inductance coefficients α and β axis components of the suspension windings. imα and imβ are α and β axis components of the torque windings current. isα and isβ are the α and β axis components of the floating windings current.ifa and ifβ are the α and β axis components of the permanent magnet equivalent excitation current.From the third and fourth lines of (6), the rotor radial displacement expression can be derived as [13, 14](7)α=Mαimα+ifαψsα-Lsαisα+Mβimβ+ifβψsβ-LsβisβMα2imα+ifα2+Mβ2imβ+ifβ2β=Mβimβ+ifβψsα-Lsαisα-Mαimα+ifαψsβ-LsβisβMα2imα+ifα2+Mβ2imβ+ifβ2where the suspension windings flux linkages ψsα and ψsβ are obtained by theU–I flux linkage identification method similar to (5).It can be known from (7) that the rotor radial displacement of BPMSM can be represented nonlinearly by the suspension windings currents isα and isβ, the suspension windings flux linkages ψsα and ψsβ, the torque windings currents imα and imβ, and the permanent magnet equivalent currentif. Therefore, the rotor radial displacement prediction system can be ψsα,ψsβ,isα,isβ,imα,imβ,if as the input, and the rotor radial displacement α,β is the output. Real-time prediction of rotor displacement can be achieved by using KELM to train the rotor displacement model. Equation (7) guarantees the feasibility of KELM predicting the rotor displacement model.


## 3.3. Principle of Kernel Extreme Learning Machine

Extreme learning machine [15] (ELM) is a training method for a single-hidden layer feedforward neural network. Given a training sampleT=xn,yn,n=1,2…N, its input data isxn and its target output value isyn. ForK hidden nodes, the ELM network model with activation functiongn(xn) can be expressed as [15](8)yj=∑n=1Kσngnωn∙xj+bi,j=1,2,…,Nwhereωn is the weight between then-th hidden layer node and input node.bn is the offset of then-th hidden layer of the network.σn is then-th output weight of the connection hidden layer and output layer.yj is the network output value.When the activation functiongn(xn) can approximate the target output value of anyN samples, namely, ∑n=1Kyn-tn=0, with zero error, at this time there are [15](9)tj=∑n=1Kσngnωnxj+bn,j=1,2,…,NThe matrix form of the aboveN equations can be expressed as [15](10)Hσ=TAmong them [15](11)H=gnω1x1+b1⋯gnωKx1+bK⋮⋯⋮gnωnxj+b1⋯gnωKxN+bKN×KwhereH is he hidden layer output matrix of ELM.Tis the desired output vector.The above equation is equivalent to finding the least squares solution of the linear system, that is, to find the optimal weightσ∗, which makes the sum of the squares of the difference between the actual and the expected value minimum. According to the theory of generalized inverse matrix, the solution is as follows [15]:(12)σ∗=H+Twhere H+, which can be obtained by orthogonal projection method or singular value decomposition, represents the generalized inverse matrix of the hidden layer output matrixH.When the number of hidden layer nodes and the number of samples in the ELM model are equal, the network can approach the trained samples with zero error, but in actual use, the calculation time is lengthy in the fitting of larger samples. Therefore, the number of hidden nodes is often set less than the number of training samples, but the data samples may have complex collinear problems at this time, which will make the output of the ELM model fluctuate randomly. The stability and generalization ability of ELM are deteriorated.In the ELM research process, due to the introduction of the kernel function, ELM can obtain the performance of the least squares support vector machine. The use of kernel mapping to replace the hidden layer feature random mapping, which makes that KELM not only has the superior performance of SVM, but also has a very high operating speed.Given a training sampleT=xn,yn,n=1,2…N, its regression function and the link weights between the hidden layer and the output layer are as follows [16, 17]:(13)y^=fx=hxδ=Hδδ=HTIC+HHT-1Gwhere y^=f(x) is the network output.x is the sample input. is a hidden layer random feature mapping matrix. δ is the connection weight between the hidden layer and the output layer, and the δ value can be solved according to the generalized inverse matrix. I is a diagonal matrix.C is the regularization coefficient. G is the output of target value.Huang combined kernel learning with ELM in literature [16] and proposed the KELM algorithm. KELM kernel matrix ΩELM is defined as follows [16, 17]:(14)ΩELM=HHTΩELMi,j=hxihxj=Kxi,xjwherexi,xj is the sample input vector, wherei andj are any integers in [1,N].K(xi,xj) is a kernel function, which is usually replaced by a radial basis function (RBF), namely [16, 17],(15)Kxi,xj=exp⁡-γxi,xj2where xi,xj is the Euclidean norm between samples. γ>0, which is the kernel parameter.Combining (13), (14), and (15) gives the output and output weight of the KELM network as follows [17]:(16)y^=fx=Kx,x1⋮Kx,xNIC+ΩELM-1Gδ=IC+ΩELM-1GAccording to (16), KELM transforms the random feature mapping matrixH in ELM to a stable kernel functionK(xi,xj) mapping. Compared with the traditional ELM, the function output value can be obtained without setting the number of nodes in the hidden layer, and the generalization ability and stability of the model are enhanced. Considering the advantages of KELM, this paper proposes a BPMSM rotor position and displacement prediction model based on KELM.


## 3.4. Particle Swarm Optimization Algorithm for Optimizing KELM Parameters

The kernel parameter and the regularization coefficient of KELM have been selected by random or experience, which makes KELM very complicated and inefficient in fitting some complex networks. At present, the optimization of kernel parameter by particle swarm optimization is the main research direction in the KELM field. The PSO algorithm can globally optimize, ensuring that the KELM network parameters are in the optimal state, which makes the robustness and prediction accuracy of KELM improved.


### 3.4.1. Principle of PSO Algorithm

PSO algorithm is a lightweight algorithm with fewer parameters, faster convergence speed and easy to find global optimal solution. It has been applied in the parameter optimization and training of KELM in literatures [17–19].In the optimization process, all particles are determined by a fitness-function to judge the good or bad of the current position, meanwhile each particle has two attributes: position and speed. The initial cluster size isN. In a D-dimensional target search space, the position of the particlei is represented as Xi=Xi1,Xi2,…,XiDT and the velocity is expressed as vi=vi1,vi2,…,viDT. The best position that the particle currently searches for is represented aspbesti= pi1,pi2,…piDT, and the global optimal position of the current population is represented asgbest=pg1,pg2,…pgDT. Then the following equations are used to simulate the change of particle velocity and position [11, 19]:(17)viDt+1=viDt+c1r1DpiDt-XiDt+c2Dr2DpgDt-XgDt(18)XiDt+1=XiDt+viDt+1where 1≤i≤N.T represents the number of iterations.c1 andc2 are acceleration constants that determine the particle velocity change, wherec1 acts on the particle’s individual optimal solution andc2 affects the particle’s global optimal solution.r1D andr2D are two independent 0~1 random coefficients used to constrain the velocity of the particles. In order to balance the global search ability and local search ability of the particle swarm algorithm, the inertia weight coefficient w[20] is introduced. The particle velocity changes after introduction are as follows [11, 19]:(19)viDt+1=wviDt+c1r1DpiDt-XiDt+c2Dr2DpgDt-XgDtWhenw>1, the global search ability of the particle is increased. When w<1, the particle performs deceleration motion, the search range of the particle reduces, and the local search ability of the particle increases.


### 3.4.2. Steps to Optimize KELM Parameters with PSO Algorithm

The flowchart of particle swarm optimization KELM is shown in Figure2.Figure 2
The flow chart of PSO optimizing KELM.Step 1.
The diachronic data obtained by the BPMSM simulation model is selected and divided into training set and test set, and then the training set and test set are normalized to[-1,1].Step 2.
The kernel function of the KELM model is RBF kernel, and it is taken into further processing the training set data to get the initial regularization coefficient and kernel parameter.Step 3.
Initialize the particle swarm parameters, including setting the population number toN, the initial particle position to γint,Cint, and setting the search range. When the particle crosses the boundary, the position of the particle is set to the boundary value and its velocity is set in the opposite direction. Set the upper limit of the iteration. The mean square error (MSE) of rotor position and displacement prediction by KELM is set as fitness function. The smaller the MSE value, the better the fitness. Meanwhile the initial velocity, the optimal location, and the global optimal location are given randomly.Step 4.
The particle swarm optimization is carried out. According to the objective function, the fitness of each particle is calculated in each iteration. Then the speed and individual and global optimal position are updated.Step 5.
The individual and global optimum values of the new particles are compared with the previous ones. If they are better, they are updated. Otherwise they will not be updated.Step 6.
If the number of iterations exceeds the upper limit of iteration, the algorithm is terminated. Otherwise Steps4 and 5 are repeated.Step 7.
The global optimal position (γbest, Cbest) of the particle is outputted, and the fitness value corresponding to the global optimal position is saved.


## 3.4.1. Principle of PSO Algorithm

PSO algorithm is a lightweight algorithm with fewer parameters, faster convergence speed and easy to find global optimal solution. It has been applied in the parameter optimization and training of KELM in literatures [17–19].In the optimization process, all particles are determined by a fitness-function to judge the good or bad of the current position, meanwhile each particle has two attributes: position and speed. The initial cluster size isN. In a D-dimensional target search space, the position of the particlei is represented as Xi=Xi1,Xi2,…,XiDT and the velocity is expressed as vi=vi1,vi2,…,viDT. The best position that the particle currently searches for is represented aspbesti= pi1,pi2,…piDT, and the global optimal position of the current population is represented asgbest=pg1,pg2,…pgDT. Then the following equations are used to simulate the change of particle velocity and position [11, 19]:(17)viDt+1=viDt+c1r1DpiDt-XiDt+c2Dr2DpgDt-XgDt(18)XiDt+1=XiDt+viDt+1where 1≤i≤N.T represents the number of iterations.c1 andc2 are acceleration constants that determine the particle velocity change, wherec1 acts on the particle’s individual optimal solution andc2 affects the particle’s global optimal solution.r1D andr2D are two independent 0~1 random coefficients used to constrain the velocity of the particles. In order to balance the global search ability and local search ability of the particle swarm algorithm, the inertia weight coefficient w[20] is introduced. The particle velocity changes after introduction are as follows [11, 19]:(19)viDt+1=wviDt+c1r1DpiDt-XiDt+c2Dr2DpgDt-XgDtWhenw>1, the global search ability of the particle is increased. When w<1, the particle performs deceleration motion, the search range of the particle reduces, and the local search ability of the particle increases.


## 3.4.2. Steps to Optimize KELM Parameters with PSO Algorithm

The flowchart of particle swarm optimization KELM is shown in Figure2.Figure 2
The flow chart of PSO optimizing KELM.Step 1.
The diachronic data obtained by the BPMSM simulation model is selected and divided into training set and test set, and then the training set and test set are normalized to[-1,1].Step 2.
The kernel function of the KELM model is RBF kernel, and it is taken into further processing the training set data to get the initial regularization coefficient and kernel parameter.Step 3.
Initialize the particle swarm parameters, including setting the population number toN, the initial particle position to γint,Cint, and setting the search range. When the particle crosses the boundary, the position of the particle is set to the boundary value and its velocity is set in the opposite direction. Set the upper limit of the iteration. The mean square error (MSE) of rotor position and displacement prediction by KELM is set as fitness function. The smaller the MSE value, the better the fitness. Meanwhile the initial velocity, the optimal location, and the global optimal location are given randomly.Step 4.
The particle swarm optimization is carried out. According to the objective function, the fitness of each particle is calculated in each iteration. Then the speed and individual and global optimal position are updated.Step 5.
The individual and global optimum values of the new particles are compared with the previous ones. If they are better, they are updated. Otherwise they will not be updated.Step 6.
If the number of iterations exceeds the upper limit of iteration, the algorithm is terminated. Otherwise Steps4 and 5 are repeated.Step 7.
The global optimal position (γbest, Cbest) of the particle is outputted, and the fitness value corresponding to the global optimal position is saved.


## 3.5. Design Steps of Position and Displacement Prediction Models

In order to verify the effectiveness of the designed prediction model, simulation study is carried out in Matlab/Simulink, and the BPMSM simulation parameters in simulation are shown in Table1. The sampling time is 0.15s, and the sampling mode is variable step ode45, which can obtain the simulation data.Table 1
Simulation parameters of BPMSM.
Motor parameters Values Motor parameters Values Rated voltage 242 V Rated torque 5 N·m Rated speed 3000 r/min Moment of inertia 1.5×10−3 kg·m2 Torque windings resistance 7.136 Ω Pole number of torque windings 4 Suspension windings resistance 1.85 Ω Pole number of suspension windings 2The torque windings currentα, β axis component data, the torque windings flux α, β axis component data, the suspension windings current α, β axis component data, the suspension windings flux α, β axis component data, and the permanent magnet equivalent excitation current data are used to simulate actual rotor position and displacement data. 1000 sets of training samples are selected as rotor position and displacement prediction models at equal time interval, and 1000 groups are selected as rotor position and displacement test samples. Since the single-kernel KELM can only be used for the fitting problem of a single output function, in order to achieve multioutput prediction of rotor position and radial displacement, three prediction models based on KELM are established.Respectively, the rotor position angle prediction model isψmα,ψmβ,imα,imβ as the input set and θr is the output set. The rotor α-axis radial displacement prediction model is ψsα,ψsβ,isα,isβ,imα,imβ,if as the input set, and α is the output set. The rotor β-axis radial displacement prediction model is ψsα,ψsβ,isα,isβ,imα,imβ,if as the input set, and β is the output set.


### 3.5.1. Optimization of KELM Kernel Parameters

Given the parameters of PSO algorithm, the MSE of training samples is set as fitness function. For the rotor position angleθr training model, the acceleration factorsc1 andc2 are set to 2,w is set to 0.5, the population number is set to 25, and the maximum iteration number tmax is 100, Finally, the parameter optimization result can be obtained as (γbest, Cbest) = (0.001, 10000).For the rotorα-axis radial displacement α training model, the acceleration factorsc1 andc2 are set to 2,w is set to 0.6, the population number is set to 25, and the maximum iteration number tmax is 100, Finally, the parameter optimization result can be obtained as (γbest, Cbest) = (0.008, 200000).For the rotorβ-axis radial displacement α training model, the acceleration factorsc1 andc2 are set to 2,w is set to 0.6, the population number is set to 25, and the maximum iteration number tmax is 100, Finally, the parameter optimization result can be obtained as (γbest, Cbest) = (0.002, 20000).


### 3.5.2. Training Model Offline

As shown in Figure3, the establishment process of the radial displacement training model of the rotor α-axis is taken as an example.Figure 3
Rotor alpha axis radial displacement training function flow.During the training process of the model, according to the training sample inputψsα∗,ψsβ∗,isα∗,isβ∗,imα∗,imβ∗,if∗, the samples are trained offline by Matlab. After the training kernel matrix ΩELM_train is obtained, a matrixI/C is added, which is substituted into the output weight matrix function together with the output α∗ of the training sample, and finally an output weight matrix δ is obtained. Among them,I is the unit matrix with the same order of training kernel matrix. Multiplication of ΩELM_train and δ is the predicted output of training samples α. After obtaining the mean square error, it is trained several times to get the minimum mean square error and finally get the most suitable output weight matrix δ. The establishment of the rotor position angleθr and the rotor β-axis radial displacement training model is similar to the rotor α-axis radial displacement. It will not be described in detail here.


### 3.5.3. Prediction of Rotor Position and Displacement Online

According to Figure4, the Matlab/Simulink simulation model is built. The current and voltage signals obtained by real-time simulation are firstly identified to obtain the torque and the floating flux linkage, and then the flux linkage signal and the current signal are used as the corresponding inputs of the three prediction models; finally the predictions are obtained.Figure 4
Rotor position/displacement prediction process based on KELM.In the online prediction, the offline trained weight matrixδ is stored in advance in an external data file. The construction of the predictive model is written in the Matlab Function module. The real-time sampling of current and flux signals is stored in a variable array. Then the predicted kernel matrix ΩELM_predict corresponds to the input at this time, and finally the Matlab Function module calls the external weight matrix δ directly. The products of the two are the real-time prediction output under the sampling time point.


## 3.5.1. Optimization of KELM Kernel Parameters

Given the parameters of PSO algorithm, the MSE of training samples is set as fitness function. For the rotor position angleθr training model, the acceleration factorsc1 andc2 are set to 2,w is set to 0.5, the population number is set to 25, and the maximum iteration number tmax is 100, Finally, the parameter optimization result can be obtained as (γbest, Cbest) = (0.001, 10000).For the rotorα-axis radial displacement α training model, the acceleration factorsc1 andc2 are set to 2,w is set to 0.6, the population number is set to 25, and the maximum iteration number tmax is 100, Finally, the parameter optimization result can be obtained as (γbest, Cbest) = (0.008, 200000).For the rotorβ-axis radial displacement α training model, the acceleration factorsc1 andc2 are set to 2,w is set to 0.6, the population number is set to 25, and the maximum iteration number tmax is 100, Finally, the parameter optimization result can be obtained as (γbest, Cbest) = (0.002, 20000).


## 3.5.2. Training Model Offline

As shown in Figure3, the establishment process of the radial displacement training model of the rotor α-axis is taken as an example.Figure 3
Rotor alpha axis radial displacement training function flow.During the training process of the model, according to the training sample inputψsα∗,ψsβ∗,isα∗,isβ∗,imα∗,imβ∗,if∗, the samples are trained offline by Matlab. After the training kernel matrix ΩELM_train is obtained, a matrixI/C is added, which is substituted into the output weight matrix function together with the output α∗ of the training sample, and finally an output weight matrix δ is obtained. Among them,I is the unit matrix with the same order of training kernel matrix. Multiplication of ΩELM_train and δ is the predicted output of training samples α. After obtaining the mean square error, it is trained several times to get the minimum mean square error and finally get the most suitable output weight matrix δ. The establishment of the rotor position angleθr and the rotor β-axis radial displacement training model is similar to the rotor α-axis radial displacement. It will not be described in detail here.


## 3.5.3. Prediction of Rotor Position and Displacement Online

According to Figure4, the Matlab/Simulink simulation model is built. The current and voltage signals obtained by real-time simulation are firstly identified to obtain the torque and the floating flux linkage, and then the flux linkage signal and the current signal are used as the corresponding inputs of the three prediction models; finally the predictions are obtained.Figure 4
Rotor position/displacement prediction process based on KELM.In the online prediction, the offline trained weight matrixδ is stored in advance in an external data file. The construction of the predictive model is written in the Matlab Function module. The real-time sampling of current and flux signals is stored in a variable array. Then the predicted kernel matrix ΩELM_predict corresponds to the input at this time, and finally the Matlab Function module calls the external weight matrix δ directly. The products of the two are the real-time prediction output under the sampling time point.


## 4. Analysis of Simulation Results

Figures5 and 6 show the actual value, predicted value, and prediction error of the rotor position and displacement when BPMSM is unloaded and given a constant speed of 3000 r/min.Figure 5
Rotor position and predicted error at 3 000 r/min.
(a)
Position angleθr contrast (b)
Position angleθr prediction errorFigure 6
Rotor displacement and predicted error at 3 000 r/min.
(a)
Comparison of displacement on theα-axis (b)
Displacement prediction error on theα-axis (c)
Comparison of displacement on theβ-axis (d)
Displacement prediction error on theβ-axisIt can be seen from Figure5(a) that the rotor position prediction value is basically consistent with the measured value when the motor no-load constant speed was 3000 r/min. It can be seen from Figure 5(b) that the maximum position angleθr prediction error of the rotor position prediction model based on KELM is 3.48e-03 rad, which is within an acceptable range.It can be seen from Figures6(a) and 6(c) that, during the motor starting phase, the rotor suspension state of the motor fluctuates because the operating conditions of the motor are not stable enough. In the β direction, it is greatly affected by gravity. When the motor starts, the rotor position starts from -3×10-4 m, and the suspension control accuracy is slightly lower too, which is 10-4 m. The prediction error of the rotor displacement prediction model based on KELM is more obvious in the motor starting stage. When the operating condition of the motor is stable, the prediction error was gradually reduced to close to 0. When the no-load constant speed was 3000 r/min, the displacement error in the maximum α direction is 4.99×10-9 m, and the displacement error in the maximum β direction is 4.94×10-7 m, which are much smaller than the set allowable value.Figure7shows the change of the rotational speed and the rotor position prediction error at the time when the BPMSM is given a constant speed of 3000 r/min under the condition of a load torque TL=5 N·m at 0.1 s.Figure 7
Speed and rotor position prediction error under load torqueTL=5 N·m.
(a)
Speed change at 0.1 s sudden load (b)
Position angle prediction error at 0.1 s sudden loadIt can be seen from Figure7(b) that, in the case of sudden load, although the rotor position prediction stability was slightly lower than before the load torque was added, the overall error was within the acceptable range, so the rotor position prediction model based on KELM still had good reliability.When the BPMSM is given a constant speed of 3000 r/min, Figures8(a) and 8(b) exert interference forces on the α-axis at 0.12s and Figures 8(c) and 8(d) exert interference forces on the β-axis at 0.08s.Figure 8
Prediction and error of rotor displacement under external displacement disturbance.
(a)
Displacementα at 0.12s with disturbance (b)
Prediction error of displacementα under disturbance (c)
Displacementβ at 0.08s with disturbance (d)
Prediction error of displacementβ under disturbanceIt can be seen from Figure8 that the accuracy of the rotor displacement prediction model decreased slightly when the disturbance is added, but the overall predicted displacement accuracy is within an acceptable range. When the rotor position returns to the equilibrium position, the accuracy will increase accordingly.The comprehensive simulation results show that the rotor position and displacement prediction models based on KELM can meet the high-precision requirements of the BPMSM control system and have certain robustness when the BPMSM is running with load or displacement disturbance at a given speed.


## 5. Comparison of Algorithm Performance

In order to test the performance of KELM algorithm, ELM and LS-SVM are used as comparison algorithms to establish BPMSM rotor position and displacement offline training models for three algorithms. According to the original training set data, the maximum error and the mean square error of the prediction model are used as indicators to compare the algorithms.In the ELM training models, “sawtooth” is used as all the activation functions. The number of hidden neurons is adjusted with the establishment of different models, but they are basically adjusted within the range of 2500~3000. When the LS-SVM training models are used, “RBF” is used as all the kernel functions. Under different training models, the sigma kernel parameters of the RBF kernel function are different.Because it is only to test the superiority of the KELM algorithm in rotor position and displacement prediction accuracy, this section collects the correlation quantities of the Matlab/Simulink model after simulation into the “.mat” files and only calculates the predicted output under each algorithm offline. The training samples and prediction samples of each algorithm are completely consistent. After selecting the optimal parameters of each model, the computer program is programmed by Matlab, and the simulation is performed on the PC. The final results of each algorithm are shown in Table2.Table 2
Comparison of prediction results of various algorithms at 3 000 r/min.
Algorithm Maximum error Mean square error Calculating time /s Rotor position angleθr prediction /rad KELM 3.48e-03 1.56e-04 0.575 ELM 0.0368 0.0033 2.734 LS-SVM 6.96e-03 5.09e-04 0.781  Displacementα prediction /m KELM 4.99e-09 5.52e-10 0.531 ELM 7.62e-08 4.03e-09 2.653 LS-SVM 7.27e-09 8.58e-10 0.688  Displacementβ prediction /m KELM 4.94e-07 4.34e-08 0.609 ELM 4.02e-06 5.49e-07 2.375 LS-SVM 6.57e-07 7.01e-08 0.719Comparing the algorithms, it can be seen that KELM is slightly higher than LS-SVM in terms of prediction accuracy, but both are much higher than ELM prediction accuracy. This is because ELM is a random given parameter of the algorithm hidden layer, which leads to its poor generalization ability and stability. KELM replaces the random mapping in ELM with nuclear mapping, which effectively solves such problems and obtains the least squares optimal solution. At the same time, KELM has relatively weak optimization constraints compared with LS-SVM.In the prediction time, the difference between KELM and LS-SVM is not significant, which is obviously better than that of ELM. The time of calculation of ELM is not only limited by the size of the sample size but also influenced by the number of neurons in the hidden layer. KELM does not need to input the number of hidden layer neurons and only needs to adjust the kernel parameters and regularization coefficients. Its calculation time is only related to the number of samples, so KELM has an advantage in system response.


## 6. Conclusion

In this paper, a high-precision prediction method based on KELM is proposed for the prediction of rotor position and displacement of BPMSM. The mathematical model of BPMSM is used to determine the input required by the prediction method. KELM prediction models are established by the data obtained in the simulation model. Finally, in order to prove the superiority of KELM algorithm, the performance index of KELM algorithm is compared with other algorithms.Simulation results show that(1) the KELM-based predictive model design method is efficient and convenient and can well fit the nonlinear relationship between various parameters of the motor; (2) the designed prediction model can accurately predict the position and displacement of the rotor, which provides the basis for the realization of BPMSM sensorless operation control; (3) compared to traditional ELM, KELM has a shorter prediction time and more stability. Compared to LS-SVM, KELM has better generalization performance. In summary, the BPMSM rotor position and displacement high-precision prediction method based on KELM provide a reliable and key technology for sensorless operation control of BPMSM.



---

*Source: 9602426-2018-12-09.xml*