# An Efficient Position Tracking Smoothing Algorithm for Sensorless Operation of Brushless DC Motor Drives

Authors: Surya Susan Alex; Asha Elizabeth Daniel
Journal: Modelling and Simulation in Engineering
 (2018)

---

## Abstract

This paper presents a new position sensorless scheme in which a smoothing filter algorithm is proposed to improve the results obtained through Extended Kalman Filter (EKF) algorithm in tracking the rotor position for sensorless control of brushless DC motors. The rotor position and speed are estimated from the input voltage and current using the Extended Kalman Filter. States obtained through filtering in each sampling instant are refined, using the new smoothing algorithm, giving much better results. In the proposed method, the estimated state in previous instant is enhanced using the present measurement sample by the smoothing algorithm which is then used to improve the present estimated state variables. The complete system is modelled and simulated in MATLAB to verify the merit of the proposed smoothing algorithm. A comparison with conventional EKF is done for various load torque and speed conditions to establish the performance of the new sensorless algorithm. Simulation results show that the proposed smoothing technique offers better estimation accuracy. The peak error in the estimated speed and rotor position is considerably reduced when compared with EKF. The improved state estimate can be used as feedback for speed control of brushless DC motors in variable speed drives.


---

## Body

## 1. Introduction

Rapidly varying energy price always demands for variable speed motor drive which is highly efficient for energy saving [1]. Permanent magnet (PM) motor drives are better choice than induction motor drives in variable speed application for energy saving. Brushless DC (BLDC) motor finds application in every segment of life such as consumer appliances, automotive vehicles, avionics, industrial control and automation, and servo applications. BLDC motors gained popularity due to their superior characteristics and performance such as faster dynamic response, high torque-to-weight ratio, higher efficiency, higher speed ranges, silent operation, and longevity compared to their counterparts [2]. BLDC motors significantly reduce energy consumption and help reduce CO2 emissions.Stable operation and control of BLDC motor (with trapezoidal back EMF profile) necessitate the current commutation in windings to be synchronized with instantaneous rotor position. Position information is made available through auxiliary devices such as Hall device or an encoder which is mounted on the machine. However, these devices could increase the complexity and cost of the motor drive due to extra mounting arrangement and hence the reliability. Further, for some applications, these sensors cannot function properly and sensorless control is the single choice. Sensorless methods eliminate the need of three hall sensors but require the extraction of the proper current commutation instances from the machine voltage and current signals. Many position sensorless schemes have been reported in literature for trapezoidal back EMF type of PM motors.The back EMF voltage sensing, back EMF integration, flux estimation, detection of the freewheeling diodes conduction, and observer based scheme are few among the sensorless techniques. Back EMF estimation methods are based on zero crossing detection of back EMF wave. Estimating back EMF from sensing terminal voltage with respect to virtual neutral is used in [3]. The delay introduced in sensed signal due to the low pass filters is eliminated in the method in [4]. In methods based on back EMF estimation, position can be detected only after the machine has been accelerated to a certain speed. Therefore some open loop start-up has to be employed. Zero crossing of back EMF is estimated indirectly from line voltage difference as presented in [5, 6]. The position information for phase commutation is obtained by integrating back EMF wave of unexcited phase in [7, 8]. This approach is less sensitive to noise but has inferior performance during low speed due to integration error. A method of sensing zero crossing of back EMF wave by detecting the current through the freewheeling diode in unexcited phase is presented in [9]. This method works in all speed ranges but needs more circuitry for current detection. Commutation instants are determined from the third harmonic of back EMF wave form as reported by [10]. A method based on flux linkage calculation is explained in [11]. A detailed review of literature on position sensorless methods is reported in [12].The Extended Kalman Filter (EKF) is an optimal recursive online estimator for nonlinear dynamic system that is disturbed by random noise [13]. This is done using the knowledge of the system dynamics, statistical description of the system noises, and knowledge about the initial conditions of the variables. Extended Kalman Filter is a computationally efficient way of determining the rotor position by processing all available measurements regardless of their precision. Rotor position and speed estimation of permanent magnet synchronous motors using EKF was established in [14] in which the measured signal is filtered for eliminating higher order harmonics. An EKF estimator for trapezoidal back EMF motor by using only the stator line voltages and currents is implemented in [15]. A suitable selection of process noise and measurement noise covariance matrices is important in EKF estimation. Often these matrix values are determined by trial-and-error procedure. A method for selecting covariance matrix which accounts for model uncertainties and measurement noise is presented in [16]. Since the motor nonlinearities and uncertainties in the model are suitable for the stochastic nature of EKF, this method finds a wide spread application in sensorless control of motors irrespective of the computational complexity and burden involved [17]. In this paper, a novel sensorless position estimation algorithm based on smoothing technique is presented [18]. States estimated from EKF in each sampling instant are refined using the smoothing algorithm. The improved state estimate is then used as feedback signal for sensorless operation of BLDC motors.The organization of this paper is as follows. After a brief introduction in Section1, the system description and state space model of the BLDC motor are presented in Section 2. Section 3 discusses the EKF algorithm. The proposed sensorless technique for BLDC motor is discussed in Section 4. Section 5 presents the simulation results to examine the effectiveness of the proposed method and the last section presents the conclusion.


## 2. System Description

### 2.1. Brushless DC Motor Drive

Figure1 shows the block diagram for position sensorless control of BLDC motor. The system consists of mainly two sections, the power and control section (consisting of DC supply, inverter, motor, and current commutation logic) and the estimation section. The inverter drives the motor by suitably commutating current into motor phases. This requires the knowledge of rotor position relative to stator windings. The inverter is pulse width modulated from the current commutation logic circuit. The estimation section contains an EKF algorithm for estimating the rotor position and the motor speed. The input variables for the EKF are the measured motor current and motor input voltage. The estimated variables are phase currents, rotor position, and speed. The estimated rotor position is used as feedback to determine the current commutation instant. Also the estimated speed is compared with the reference speed for speed control in a sensorless way. The EKF estimation is improved by incorporating a smoothing algorithm which makes the estimation method peculiarly different from similar other methods for estimating the machine variables.Figure 1
Block diagram for position and speed estimation.


### 2.2. Discrete Time Motor Model

The BLDC motor is modelled in stator reference frame based on electromechanical dynamical equation with stator currents,Yk=Ik=iaibicT, and rotor speed (ωm) and rotor position (θe) as the state variables, Xk=iaibicωmθeT. The model considers the stator phase voltage, Uk=VaVbVcT, as input which is calculated from the line voltage. The BLDC motor model in continuous state space model is given by (1) and (3).(1)X.=AX+BU(2)diadtdibdtdicdtdωmdtdθedt=-RL00-KbLfaθ00-RL0-KbLfbθ000-RL-KbLfcθ0KbJfaθKbJfbθKbJfcθ-BJ0000p20iaibicωmθe+1L0001L0001L000000VaVbVc,where R is the winding resistance, L is the equivalent inductance in magnetically coupled windings, f(θ) is a unit function of back EMF in each phase (dependent on rotor position), Kb is the back EMF constant, J is the moment inertia, B is the friction coefficient, and p is the number of poles.(3)Y=HX.The vector of measurement variables is given byYk=iaibicT and measurement gain matrix is(4)H=100000100000100.The continuous time model of BLDC motor (BLDCM) is deduced into discrete time model for applying EKF which is based on discrete time with a sampling intervalT (the sampling time being much lesser than motor time constant).(5)Xk+1=FkXk+GkUk.The matrices of discrete system are approximated by Euler as(6)F=I+AT,G=BT.Measurement is related to state variable by(7)Yk=HXk.In the discrete time model of BLDCM, measurement errors and uncertainties of the machine model are not considered. This will introduce stochastic variables, which is measurement noise vector (vk) and system noise vector (wk) in the model. The stochastic discrete time model of the BLDCM system is given as(8)Xk+1=FkXk+GkUk+wkYk=HXk+vk.These variables are considered to be zero mean, Gaussian white noises, uncorrelated among them, and are characterized by their covariance matricesQ and R.


## 2.1. Brushless DC Motor Drive

Figure1 shows the block diagram for position sensorless control of BLDC motor. The system consists of mainly two sections, the power and control section (consisting of DC supply, inverter, motor, and current commutation logic) and the estimation section. The inverter drives the motor by suitably commutating current into motor phases. This requires the knowledge of rotor position relative to stator windings. The inverter is pulse width modulated from the current commutation logic circuit. The estimation section contains an EKF algorithm for estimating the rotor position and the motor speed. The input variables for the EKF are the measured motor current and motor input voltage. The estimated variables are phase currents, rotor position, and speed. The estimated rotor position is used as feedback to determine the current commutation instant. Also the estimated speed is compared with the reference speed for speed control in a sensorless way. The EKF estimation is improved by incorporating a smoothing algorithm which makes the estimation method peculiarly different from similar other methods for estimating the machine variables.Figure 1
Block diagram for position and speed estimation.


## 2.2. Discrete Time Motor Model

The BLDC motor is modelled in stator reference frame based on electromechanical dynamical equation with stator currents,Yk=Ik=iaibicT, and rotor speed (ωm) and rotor position (θe) as the state variables, Xk=iaibicωmθeT. The model considers the stator phase voltage, Uk=VaVbVcT, as input which is calculated from the line voltage. The BLDC motor model in continuous state space model is given by (1) and (3).(1)X.=AX+BU(2)diadtdibdtdicdtdωmdtdθedt=-RL00-KbLfaθ00-RL0-KbLfbθ000-RL-KbLfcθ0KbJfaθKbJfbθKbJfcθ-BJ0000p20iaibicωmθe+1L0001L0001L000000VaVbVc,where R is the winding resistance, L is the equivalent inductance in magnetically coupled windings, f(θ) is a unit function of back EMF in each phase (dependent on rotor position), Kb is the back EMF constant, J is the moment inertia, B is the friction coefficient, and p is the number of poles.(3)Y=HX.The vector of measurement variables is given byYk=iaibicT and measurement gain matrix is(4)H=100000100000100.The continuous time model of BLDC motor (BLDCM) is deduced into discrete time model for applying EKF which is based on discrete time with a sampling intervalT (the sampling time being much lesser than motor time constant).(5)Xk+1=FkXk+GkUk.The matrices of discrete system are approximated by Euler as(6)F=I+AT,G=BT.Measurement is related to state variable by(7)Yk=HXk.In the discrete time model of BLDCM, measurement errors and uncertainties of the machine model are not considered. This will introduce stochastic variables, which is measurement noise vector (vk) and system noise vector (wk) in the model. The stochastic discrete time model of the BLDCM system is given as(8)Xk+1=FkXk+GkUk+wkYk=HXk+vk.These variables are considered to be zero mean, Gaussian white noises, uncorrelated among them, and are characterized by their covariance matricesQ and R.


## 3. Extended Kalman Filter Estimation Algorithm

Extended Kalman Filter is an optimal filter for recuperating data from noisy measurements designed for a nonlinear state space system. It is a model-based approach requiring the signal models and the noise statistics satisfying an optimality condition of minimum mean square error or minimum covariance. For estimating the position and speed of BLDC motor which is a nonlinear system, Extended Kalman Filter is used. There are two steps in basic Kalman Filter estimation process [19]. The first step predicts the state X^(K+1/K) and the error covariance matrix P^(K+1/K) for the next time instant (k+1) by means of estimated state variables X^(K/K) at kth time and input variables to system model. These predicted state variables are updated using the measurements available during the (k+1)th instant.Predictor step is given by(9)X^k+1/k=FkX^k/k+GkukP^k+1/k=Fk′P^k/kFk′T+Qk,where Fk′=∂(FkX(k)+Gkuk)/∂Xk(Xk=Xk/k).Corrector step is given by(10)Kk=Pk+1/k^HTHP^k/k+1HT+Rk-1P^k/k=I-KkHP^k/k-1X^k/k=X^k/k-1+Kkyk-HXk/k-1.The estimation is started with an initial value for state variables and covariance matrix(X0,P0). The process noise (Q) and measurement noise (R) covariance matrix are to be selected carefully for filtering. The matrix Q has a diagonal structure with the order equal to the number of state variables representing the estimation uncertainties (qii is the variance of wk) given as(11)QK=diagq11q22q33q44q55.The measurement noise covariance matrix also has a diagonal structure giving the current measurement and A/D convertor error (rii is the variance of vk) given as Rk=diagr11r22r33.These are often selected through a trial-and-error procedure. Incorrect modelling of covariance matrix may cause the filter to diverge.


## 4. Proposed Sensorless Position Estimation Based on Smoothing Algorithm

Smoothing is an estimation process in which the state at a time instant in the given sampling interval is estimated from the observations that succeed and precede the current state being considered [20]. Smoothing gives superior estimates to filtering, or, in particular, estimates with smaller error covariance matrices [21, 22]. A significant improvement in the smoothed estimate is obtained for high signal-to-noise ratio and depends on signal model dynamics as well.The proposed sensorless position estimation of BLDC motor uses a smoothing process derived from the fixed lag smoothing algorithm [23]. In this approach, fixed lag smoothing with delay one is used. For any time instant “k,” Xs(k/k+1) is a smoothed estimate of X^(K/K) based on the observations up to (k+1)th time instant. This smoothed state is used for predicting and correcting the state at (k+1)th instant. The rotor position of the BLDC motor is estimated using measured motor voltages and currents by employing an EKF. In regular EKF, the state variables X^(K/K-1) and error covariance matrix P^(K/K-1) for the instant time “k” are predicted based on the estimated state variables and input variables at the instant (k-1). The state X^(K/K) and covariance matrix P^(K/K) are updated using the measurements available at time step “k.” It is observed that, at time instant “k,” we have all the filter parameters available and also future information Yk for smoothing the estimate of previous time step (k-1), Xs(k-1). This smoothed state is used to refine the filtered state at kth instant. Thus the smoother performs smoothing from the current time to the previous updating time using the latest corrected estimates and predicted estimates. This process sequence is repeated for estimating the state in the succeeding measuring intervals. Smoothed estimate at any instant time “k” is computed based on the following steps.Initialize the smoother with the latest corrected estimates.(12)XsN=X^k/kPNs=P^k/k.Then calculate smoothing filter gain matrix using(13)Ksk=P^k/kAkTP^k+1/k-1.The smoothed estimate and smoothed covariance are then given by(14)Xsk=X^K/K+KksXsk+1-X^k+1/kPsk=P^k/k-KksP^k+1/k-Pk+1sKksT.For real-time applications, the time taken for filtering and online smoothing between consecutive measurement updates ought to be well thought out to avoid any missing data from the sensor. Smoothing is recommended if the filtered estimates from Kalman Filter are still too noisy even after tuning. The proposed smoothing provides no time lag and hence these smoothed estimates can be used for feedback control system and will not affect the stability of the system.The structure of the smoother is the same as that of a Kalman Filter, but in smoothed filter, correction term (gain times residual) is added to the optimal filtered estimate instead of the optimal predicted estimate as in Kalman Filter. The smoothed estimate and smoother gain are independent of the smoothed covariance but the computation of smoother gain requires forward filter covariance. The smoothing technique incorporated along with EKF provides a better estimate than filtering. A few among relevant results are included in simulation.


## 5. Simulation Results of the Proposed Sensorless Algorithm

The performance of the described algorithm is evaluated by simulation using MATLAB SIMULINK. The motor drive system is operated with the proposed estimation algorithm. The parameters of the motor used for simulation are shown in Table1. Exact commutation instant is determined from the rotor position information which is obtained by sensorless method using the proposed estimation algorithm. Taking into account the model inaccuracy and system disturbances, the covariance matrix has been fixed through a trial-and-error procedure. The following values of Q and R have been taken:(15)Q=diag0.050.050.050.030.03R=diag0.0010.0010.001.Table 1
Motor parameters.
Parameter Values Resistance (R) 0.7 Ω/ph Self-inductance (Ls) 2.72 mH Rated speed 3700 rpm (+/-5%) Moment of inertia (J) 2∗ 10−4 kgm2 Frictional coefficient (B) 2∗ 10−3 Nm/rad Number of poles (p) 4 Rated torque (T) 0.89 Nm


### 5.1. Performance Evaluation of the Sensorless Algorithm during Varying Speed and Load Torque Conditions

#### 5.1.1. Performance at Rated Speed and Rated Torque

Simulation has been carried out at rated speed, 3700 rpm, and load torque,Tl=0.89Nm. Figure 2 shows the actual motor speed and Kalman Filter and smoothing filter estimated speed and their zoomed response. It is observed that estimated speed tracks the actual motor speed.Figure 2
(a) Estimated and actual rotor speed atN=3700 rpm and Tl=0.89Nm. (b) Zoomed view of the speed curve.
(a) (b)From the speed response, we can observe that the speed estimation with smoothing filter gives better result compared with that of conventional EKF. In speed error curve shown in Figure3, we can observe that the deviation of estimated speed from the actual speed is approximately 15 rpm for EKF and less than 10 rpm for smoothed filter. As expected, the smoothing algorithm gave an improved estimate of speed over EKF. The mean estimation error is 1.4 rpm for EKF and 0.87 rpm for smoothing filter.Figure 3
Speed estimation error at rated speed and torque.Figures4(a) and 4(b) show the estimated rotor position with EKF and smoothing filter. The error in position estimation is 1.8 electrical degrees for EKF and 0.95 electrical degrees for smoothing filter. The position estimation error is almost halved for the proposed smoothing algorithm.Figure 4
Position estimation errors at rated speed and torque. (a) EKF. (b) Smoothing filter.
(a) (b)The estimated rotor position and phase “a” stator current with the new smoothing filter algorithm are shown in Figure 5.Figure 5
(a) Estimated rotor position. (b) Phase “a” stator current.
(a) (b)


#### 5.1.2. Performance at Half Rated Torque

To examine the effectiveness of the algorithm at half rated load torque, simulation was carried out at 0.45 Nm. The estimated and actual speed are shown in Figure6. It is observed that at half rated load the estimated speed follows the actual speed with a reasonable error.Figure 6
(a) Estimated and actual rotor speed atTl=0.45Nm. (b) Zoomed view of the speed curve.
(a) (b)The error in estimated speed and rotor position is shown in Figure7. The performance of the algorithm is comparable with that at rated load. The speed deviation from actual value is around 17 rpm for EKF and 12 rpm for smoothing filter, while for position estimation the error is reduced by 50% with the proposed filter compared with EKF.Figure 7
(a) Speed estimation error at half rated torque. (b) Position estimation error with EKF. (c) Position estimation error with smoothing filter.
(a) (b) (c)


#### 5.1.3. Performance at No Load and 1000 rpm

The effectiveness of the algorithm at no load condition is demonstrated in Figure8. The estimated speed in Figure 8(a) shows that the algorithm performs well even at no load. The error in speed estimation is comparatively low at no load. The peak variation is roughly 4 rpm in EKF and 2 rpm in smoothing filter as illustrated in Figure 8(b). The mean speed error with smoothing filter algorithm is 0.03 rpm. Figure 8(c) shows that the position error at no load with smoothing filter is 7.5 electrical degrees which is less than EKF.Figure 8
(a) Speed estimation at no load. (b) Speed estimation error. (c) Position estimation error with smoothing filter.
(a) (b) (c)


#### 5.1.4. Performance at No Load and Low Speed

The performance of the algorithm at no load and low speed condition is established in Figure9. The motor was set to operate at 470 rpm at no load. The speed estimated from the estimation block is shown in Figure 9(a). It shows that at low speed the variation in speed from the actual speed is reasonably high. The variation in speed is 40 rpm for Kalman Filter and 30 rpm for smoothing filter and the rotor position error in this case is on higher side with 20 electrical degrees with smoothing filter as seen in Figures 9(b) and 9(c).Figure 9
(a) Speed estimation at no load, low speed condition. (b) Speed estimation error. (c) Position estimation error with smoothing filter.
(a) (b) (c)Therefore through the simulation results it has been established that the proposed smoothing algorithm is efficient in estimating the speed and rotor position for sensorless operation of brushless DC motors.


## 5.1. Performance Evaluation of the Sensorless Algorithm during Varying Speed and Load Torque Conditions

### 5.1.1. Performance at Rated Speed and Rated Torque

Simulation has been carried out at rated speed, 3700 rpm, and load torque,Tl=0.89Nm. Figure 2 shows the actual motor speed and Kalman Filter and smoothing filter estimated speed and their zoomed response. It is observed that estimated speed tracks the actual motor speed.Figure 2
(a) Estimated and actual rotor speed atN=3700 rpm and Tl=0.89Nm. (b) Zoomed view of the speed curve.
(a) (b)From the speed response, we can observe that the speed estimation with smoothing filter gives better result compared with that of conventional EKF. In speed error curve shown in Figure3, we can observe that the deviation of estimated speed from the actual speed is approximately 15 rpm for EKF and less than 10 rpm for smoothed filter. As expected, the smoothing algorithm gave an improved estimate of speed over EKF. The mean estimation error is 1.4 rpm for EKF and 0.87 rpm for smoothing filter.Figure 3
Speed estimation error at rated speed and torque.Figures4(a) and 4(b) show the estimated rotor position with EKF and smoothing filter. The error in position estimation is 1.8 electrical degrees for EKF and 0.95 electrical degrees for smoothing filter. The position estimation error is almost halved for the proposed smoothing algorithm.Figure 4
Position estimation errors at rated speed and torque. (a) EKF. (b) Smoothing filter.
(a) (b)The estimated rotor position and phase “a” stator current with the new smoothing filter algorithm are shown in Figure 5.Figure 5
(a) Estimated rotor position. (b) Phase “a” stator current.
(a) (b)


### 5.1.2. Performance at Half Rated Torque

To examine the effectiveness of the algorithm at half rated load torque, simulation was carried out at 0.45 Nm. The estimated and actual speed are shown in Figure6. It is observed that at half rated load the estimated speed follows the actual speed with a reasonable error.Figure 6
(a) Estimated and actual rotor speed atTl=0.45Nm. (b) Zoomed view of the speed curve.
(a) (b)The error in estimated speed and rotor position is shown in Figure7. The performance of the algorithm is comparable with that at rated load. The speed deviation from actual value is around 17 rpm for EKF and 12 rpm for smoothing filter, while for position estimation the error is reduced by 50% with the proposed filter compared with EKF.Figure 7
(a) Speed estimation error at half rated torque. (b) Position estimation error with EKF. (c) Position estimation error with smoothing filter.
(a) (b) (c)


### 5.1.3. Performance at No Load and 1000 rpm

The effectiveness of the algorithm at no load condition is demonstrated in Figure8. The estimated speed in Figure 8(a) shows that the algorithm performs well even at no load. The error in speed estimation is comparatively low at no load. The peak variation is roughly 4 rpm in EKF and 2 rpm in smoothing filter as illustrated in Figure 8(b). The mean speed error with smoothing filter algorithm is 0.03 rpm. Figure 8(c) shows that the position error at no load with smoothing filter is 7.5 electrical degrees which is less than EKF.Figure 8
(a) Speed estimation at no load. (b) Speed estimation error. (c) Position estimation error with smoothing filter.
(a) (b) (c)


### 5.1.4. Performance at No Load and Low Speed

The performance of the algorithm at no load and low speed condition is established in Figure9. The motor was set to operate at 470 rpm at no load. The speed estimated from the estimation block is shown in Figure 9(a). It shows that at low speed the variation in speed from the actual speed is reasonably high. The variation in speed is 40 rpm for Kalman Filter and 30 rpm for smoothing filter and the rotor position error in this case is on higher side with 20 electrical degrees with smoothing filter as seen in Figures 9(b) and 9(c).Figure 9
(a) Speed estimation at no load, low speed condition. (b) Speed estimation error. (c) Position estimation error with smoothing filter.
(a) (b) (c)Therefore through the simulation results it has been established that the proposed smoothing algorithm is efficient in estimating the speed and rotor position for sensorless operation of brushless DC motors.


## 5.1.1. Performance at Rated Speed and Rated Torque

Simulation has been carried out at rated speed, 3700 rpm, and load torque,Tl=0.89Nm. Figure 2 shows the actual motor speed and Kalman Filter and smoothing filter estimated speed and their zoomed response. It is observed that estimated speed tracks the actual motor speed.Figure 2
(a) Estimated and actual rotor speed atN=3700 rpm and Tl=0.89Nm. (b) Zoomed view of the speed curve.
(a) (b)From the speed response, we can observe that the speed estimation with smoothing filter gives better result compared with that of conventional EKF. In speed error curve shown in Figure3, we can observe that the deviation of estimated speed from the actual speed is approximately 15 rpm for EKF and less than 10 rpm for smoothed filter. As expected, the smoothing algorithm gave an improved estimate of speed over EKF. The mean estimation error is 1.4 rpm for EKF and 0.87 rpm for smoothing filter.Figure 3
Speed estimation error at rated speed and torque.Figures4(a) and 4(b) show the estimated rotor position with EKF and smoothing filter. The error in position estimation is 1.8 electrical degrees for EKF and 0.95 electrical degrees for smoothing filter. The position estimation error is almost halved for the proposed smoothing algorithm.Figure 4
Position estimation errors at rated speed and torque. (a) EKF. (b) Smoothing filter.
(a) (b)The estimated rotor position and phase “a” stator current with the new smoothing filter algorithm are shown in Figure 5.Figure 5
(a) Estimated rotor position. (b) Phase “a” stator current.
(a) (b)


## 5.1.2. Performance at Half Rated Torque

To examine the effectiveness of the algorithm at half rated load torque, simulation was carried out at 0.45 Nm. The estimated and actual speed are shown in Figure6. It is observed that at half rated load the estimated speed follows the actual speed with a reasonable error.Figure 6
(a) Estimated and actual rotor speed atTl=0.45Nm. (b) Zoomed view of the speed curve.
(a) (b)The error in estimated speed and rotor position is shown in Figure7. The performance of the algorithm is comparable with that at rated load. The speed deviation from actual value is around 17 rpm for EKF and 12 rpm for smoothing filter, while for position estimation the error is reduced by 50% with the proposed filter compared with EKF.Figure 7
(a) Speed estimation error at half rated torque. (b) Position estimation error with EKF. (c) Position estimation error with smoothing filter.
(a) (b) (c)


## 5.1.3. Performance at No Load and 1000 rpm

The effectiveness of the algorithm at no load condition is demonstrated in Figure8. The estimated speed in Figure 8(a) shows that the algorithm performs well even at no load. The error in speed estimation is comparatively low at no load. The peak variation is roughly 4 rpm in EKF and 2 rpm in smoothing filter as illustrated in Figure 8(b). The mean speed error with smoothing filter algorithm is 0.03 rpm. Figure 8(c) shows that the position error at no load with smoothing filter is 7.5 electrical degrees which is less than EKF.Figure 8
(a) Speed estimation at no load. (b) Speed estimation error. (c) Position estimation error with smoothing filter.
(a) (b) (c)


## 5.1.4. Performance at No Load and Low Speed

The performance of the algorithm at no load and low speed condition is established in Figure9. The motor was set to operate at 470 rpm at no load. The speed estimated from the estimation block is shown in Figure 9(a). It shows that at low speed the variation in speed from the actual speed is reasonably high. The variation in speed is 40 rpm for Kalman Filter and 30 rpm for smoothing filter and the rotor position error in this case is on higher side with 20 electrical degrees with smoothing filter as seen in Figures 9(b) and 9(c).Figure 9
(a) Speed estimation at no load, low speed condition. (b) Speed estimation error. (c) Position estimation error with smoothing filter.
(a) (b) (c)Therefore through the simulation results it has been established that the proposed smoothing algorithm is efficient in estimating the speed and rotor position for sensorless operation of brushless DC motors.


## 6. Conclusion

A new improved sensorless estimation algorithm for brushless DC motors is presented. The proposed smoothing filter is an improvement to conventional Extended Kalman Filter. The estimated state in previous time instant is modified using the current measurement sample using the one-stage delayed fixed lag smoothing algorithm. The updated state is then used to correct the present state. Therefore, more accurate state estimates are obtained for sensorless operation of BLDC motors. A comparison with the conventional EKF has been obtained through simulations for different load and speed conditions. The error in the estimated rotor speed and rotor position is found to reduce significantly in the proposed smoothing algorithm in comparison with the conventional EKF. Thus the performance of the proposed algorithm in sensorless operation of BLDC motor is promising due to its accuracy and efficiency.



---

*Source: 4523416-2018-04-17.xml*