Overview of AC Motor Sensorless Algorithms: a Uniﬁed Perspective

—This paper reviews sensorless algorithms for both induction motors and permanent magnet motors using the active ﬂux model, such that any design applicable for non-salient pole ac motors can also be included in the review framework. The proposed review framework classiﬁes all sensorless algorithms following a ﬁve-layer hierarchy abbreviated as O-I-M-A-I, resulting in four main categories as i) inherently sensorless position estimation, ii) non-inherently sensorless position estimation, iii) post-position-estimation speed estimation, and iv) speed estima- tion for indirect ﬁeld orientation. Various ac motor models are derived by assuming a constant active ﬂux amplitude, based on which seven generic sensorless algorithms are summarized in a tutorial. Recommendations are made for sensorless drive designers to begin with inherently sensorless method such that the two-way coupling between position estimation and speed estimation is avoided. Finally, classical induction motor model results from time-varying active ﬂux amplitude and slip relation, for which a state transformation is recommended for achieving global stability.

Abstract-This paper reviews sensorless algorithms for both induction motors and permanent magnet motors using the active flux model, such that any design applicable for non-salient pole ac motors can also be included in the review framework. The proposed review framework classifies all sensorless algorithms following a five-layer hierarchy abbreviated as O-I-M-A-I, resulting in four main categories as i) inherently sensorless position estimation, ii) non-inherently sensorless position estimation, iii) post-position-estimation speed estimation, and iv) speed estimation for indirect field orientation. Various ac motor models are derived by assuming a constant active flux amplitude, based on which seven generic sensorless algorithms are summarized in a tutorial. Recommendations are made for sensorless drive designers to begin with inherently sensorless method such that the two-way coupling between position estimation and speed estimation is avoided. Finally, classical induction motor model results from time-varying active flux amplitude and slip relation, for which a state transformation is recommended for achieving global stability.
Index Terms-self-sensing, active flux, review, induction motor, permanent magnet synchronous motor.

NOMENCLATURE
The nomenclature we use is common for permanent magnet (PM) motors, where L d , L q , R, K E are respectively d-axis inductance, q-axis inductance, stator resistance, PM flux linkage. K Active = K E + (L d − L q )i d denotes active flux linkage [1] with d-axis current i d = i α cos θ d + i β sin θ d , and θ d the angle of active flux vector ψ Active = K Active ∠θ d . For induction motors, L d is stator inductance, L q the stator transient leakage inductance, and the inverse-Γ rotor flux amplitude dynamics: where R req is inverse-Γ circuit rotor resistance [2]. All bold R 2 vector symbols are in stator αβ-frame, e.g., i = [i α , i β ] T is the measured αβ-frame current. J = 0 −1 1 0 , I = 1 0 0 1 . Park transformation is P (θ d ) = cos θ d sin θ d sin θ d cos θ d . Operator s = d dt =˙.

I. INTRODUCTION
Sensorless or self-sensing control is typically referring to the speed regulation of inverter-fed ac motors without using a mechanical sensor for position (e.g., encoder, resolver or hall sensor), or speed (i.e., tachogenerator), which is especially desired for high speed motors (see e.g., [3]), motors with large-diameter or hollow shaft, and motors used in adverse environment [4]. Sensorless algorithm (SA) is at the core of sensorless control, and reconstructs position and speed signals based on the measured current and the model of ac motor.
The model of non-salient (pole) PM motor is a special case of induction motor model [5]. Historically, it is not easy to design SA for salient PM motors, because the positiondependent inductance results in a highly nonlinear model, and the salient PM motor can be treated as a non-salient one if (L d − L q )i K E [6]. The active flux concept is proposed in [1] and describes six types of ac motors, including induction motor and salient PM motors. As a matter of fact, in induction motor context, the active flux is no new concept, and is the natural choice of state (i.e., rotor flux) in the inverse-Γ circuit of induction motor [7], and it has long been found useful in analysis, e.g., of direct torque control (DTC) [8,Eq. (7)]. In salient PM motor context, active flux has other names in literature, such as fictitious PM flux [9], linear flux [10], and extended flux [11].
The contribution of this paper is to propose an overview framework that reviews SAs for both induction motors and PM motors. The overview has two parts depending on how K Active is modelled. Sec. II-Sec. V reviews SAs with constant K Active assumption. Sec. VI reviews SAs with time-varying K Active as in (1). The rest of this section builds the foundation to understand the review with a classification and a tutorial.
which forms the outline of Sec. II-V as follows.

• Position Estimation (PE)
-Inherently sensorless (IS) (i.e., no speed anywhere) * Stabilized VM with flux or voltage compensation · Amplitude (i.e. current model) based correction · Angle (i.e., orthogonality) based correction where J s denotes rotor shaft inertia, n pp designates pole pair number, T L is load torque, and T em is electromagnetic torque. The sensorless control of system (2) is challenging, because both the inputs T em , T L and the output ω r are unknown.
2) The Objective of SAs: The objective of an SA is to estimate ω r and T em . The latter is proportional to the cross product of the stator flux ψ s and the active flux ψ Active : where the second equal sign is derived by substituting the following relation between ψ s and ψ Active in αβ-frame [1] ψ Active K Active ∠θ d ≡ K Active cos θ d sin θ d = ψ s − L q i (4) and i q = −i α sin θ d + i β cos θ d is the q-axis current. The FOC formulation in (3) motivates the concept of active flux [1]. Based on (4), the d-axis angle θ d can be extracted by where e Active d dt ψ Active is the emf due to active flux.
3) The Main Assumption: From (3), the objective of estimating T em reduces to estimation of active flux angle θ d , if we assume the active flux amplitude K Active is a known constant such that both α-axis and β-axis components of ψ Active are sinusoidal [cf. (4)]. Constant K Active assumption is reasonable for PM motors, and simplifies the design and analysis of SAs for induction motors, which is not well realized in literature.
4) The Models: The estimation of θ d relies on the dynamics of measured i to reveal ψ Active or its derivative d dt ψ Active . As per Faraday's law, the stator voltage equation in αβ-frame describes the dynamics among i, ψ Active , and ψ s : Since there is no speed in (6), the SAs based on (6) are called inherently sensorless [12]. The with D ψ ∈ R 2 the low frequency disturbance in stator flux; or iii) substitute (4) into (6) to derive a nonlinear model: or iv) apply Park transformation P (θ d ) = cos θ d sin θ d sin θ d cos θ d to (6): where e d,ss , e q,ss are steady state emf of dand q-axis. By manipulating inductance, the dq-model (10) is rewritten as Transforming (11) to αβ-frame gets extended emf e's model The SAs that are based on (7), (8), (9), (10), (11), or (12) are non-inherently sensorless owing to the presence of ω. 5) Position SA Designs: The model based θ d estimation can be achieved by the following generic SAs via (5): SA1: Disturbance observer (DO) for emf using (6): where f (·) is correction term to be designed, and emf information is extracted from f (ĩ). It is worth pointing out that f (·) can be implemented as dynamic correction 1 SA2.1: State observer, e.g., using extended emf model (12): (14) where f 1 (·), f 2 (·) are corrections to be designed. Similar observer can be constructed for (6) and (7b). Note (14) has its reduced-order variant, e.g., [6] sê =ωJê + f sî − si (15) where
In summary, SA1 and SA4 are disturbance observers (DOs), and the difference is that SA1 assumes voltage disturbance in the current dynamics while SA4 assumes a flux disturbance aŝ ψ s = ψ s +D ψ . Note SA4 is an example of DO with dynamic correctionD ψ . SA2 is state observer, and its difference from DO is that state observer has a model for the unknown state. 2 SA2 and SA4 always rely on a speed estimateω. SA3 is integrator, and its difference from SA4 is that SA3 relies solely on voltage compensation in the integrator input, while SA4 further utilizes flux compensation at the integrator output. SA1-4 are the multi-input multi-output (MIMO) version of the story that links SA1-4 in Appendix A.
• SA1 is the MIMO version of DO (39), (40) and (41). • SA2 is the MIMO version of state observer (42) and (43). • SA3 is the MIMO version of voltage compensation (44). • SA4 is the MIMO version of flux compensationD αψ . Remark 1: SA4 is a cascaded DO rather than a reducedorder observer. SA4 is also not a CAO because it does not implement speed adaptation law but instead usesω extracted from the prior flux estimateψ s [13].
6) Speed SA Designs: The model based ω r or ω estimation can be achieved by the following generic SAs: SA5: Direct calculation from dq-frame emf using the simplified steady state model of (10) or (11): ω =ê q,ss /K Active , ifê d,ss = 0 (21) or direct calculation from position estimate by forward difference ofω = d dtθ d , or direct calculation from stator flux and stator emf e s by:ω(ψ T sψs ) = −(Jψ s ) T e s . SA6: Speed adaptation law driven by some output error ε: SA7: Speed observer using (2) corrected by output error ε where the dynamics ofT L andâ are yet to be designed.

7)
Complete Schemes for Estimation of Position and Speed: Four typical sensorless schemes are presented in Fig. 1. Fig. 1(a) shows that inherently sensorless position estimation (IS-PE) results in a cascaded framework. Fig. 1(b) and Fig. 1(c) reveal that non-inherently sensorless position estimation (non-IS-PE) results in an interconnected framework. The block diagram of a sensorless control system using SA3/4 and SA5/6 is shown in Fig. 2. In order to achieve the least parameter dependency, the speed is extracted from the stator flux, which is, however, reported in [22] to have much worse dynamic performance compared with the speed extracted from the active flux.

II. INHERENTLY SENSORLESS POSITION ESTIMATION (IS-PE)
As shown in Fig. 1(a), in the framework of IS-PE, the output is the θ d -related state (i.e., flux or emf), the input is the measured current i, and the model is (6), i.e., 2nd order flux d dt ψ s and 2nd order current d dt i that correspond to the two algorithms, SA3 and SA1, respectively. This section reviews the IS versions of SA3 and SA1, and their associated issues and improvements.
A. IS-SA3: Stabilized Voltage Model (VM) of Flux ψ s SA3 applies pure integration to the calculated emf, and the integration is stabilized by voltage compensationD or flux compensationD ψ . When there is a drift D ψ = t 0 Ddt in the flux estimate, the resulting errors in position and speed estimation can be derived as in [23,Eqs. (19), (21)]. In order to build the stabilizing termsD orD ψ , several assumptions are resorted to, including: (i) the constant K Active assumption [cf. (4)], so the active flux trajectory (i.e., the Lissajous curve) is circular; (ii) the orthogonality between flux and emf: e Active = ωJ ψ Active [cf. (7a)]; (iii) and the orthogonality between α-axis and β-axis emfs: e Active = ωJ e Active [cf. (7b)].
Both assumption (ii) and (iii) are built upon assumption (i), and assumption (i) leads to assumption (ii) and (iii) ifω = 0. Several tools are proposed and can be combined to buildψ s . 2 SA2.1 (emf observer) is a dynamic DO assuming sinusoidal disturbance. 1) Amplitude Limiter: The pure integrator output u−Ri s will diverge to infinity. To avoid this, one can add an amplitude limiter to constrain the amplitude of the integrator output within K Active by means of flux compensation [24, Fig. 2], or voltage compensation [25].
2) Origin of Flux Vector Trajectory: Another corollary of the constant K Active assumption is that an accurate α-axis flux estimateψ αs should be a sinusoidal signal whose maximum and minimum add up to null. In other words, the origin of the flux estimate over one electrical cycle, i.e., should be 0. IfD ψ in (24) is not null, one can directly use it to produce a final flux estimate asψ s −D ψ [23], or one can use it to construct a voltage compensation asD = LPF(s)D ψ [25]. In fact, the voltage compensation error D −D can be exactly calculated fromD ψ by utilizing time information [26]. Remark 2: As discussed in [22,Sec. III], it is better to use active flux to calculateD ψ in (24), because stator flux components are not sinusoidal with sudden change in current. For FOC drive, the active flux is obtained from (4), while for DTC drive, the angle between active flux and stator flux can be found by looking up the torque angle [22].
3) Amplitude Correction: Amplitude limiter does not work when the estimated flux amplitude is less than K Active [2], so it is natural to replace the limiter with an amplitude correction as follows [2], [27]- [35] where ε = KActive −||ψ Active || is the amplitude mismatch. (26) can be interpreted as transforming the d-axis mismatch ε back to αβ frame. SA3 plus (26) describes the classical hybrid flux estimator that outputs the sum of high-pass filtered voltage model estimate and low-pass filtered current model estimate, and leads to the classical interpretation that voltage model is used for high speeds and current model is used for low 3 The flux amplitude mismatch ε from (26) has an equivalent current error form (25a), if a current estimateî is introduced as (25b): which is used, e.g., in [28], to build a sliding mode variant of (26). speeds [2], [27], [34]. Discussions for selection of k 1 , k 2 is documented in [2], [27], and it is suggested in [2] to set k 2 to zero for slow speed reversal. Coincidentally, a contribution from the control community also suggests to not implement the k 2 integral term, but in a slightly different form from (26) as follows to facilitate the stability analysis [36], [37] In induction motor context, instead of rendering a constant K Active assumption, an equivalent statement is to impose the correction in terms of flux command [38], [39]. The difference is that the angle of the flux command can be determined by an IFO integrator, i.e., using a different angle for P 1 sω in (26) [38], instead of directly using the angle of flux estimate as in [39]. Similarly, the flux command is used in replace of K Active parameter for synchronous reluctance motor [40]. 4) Compensation by Orthogonality: Another indicator of divergence of flux estimation is the violation of orthogonality condition that can be checked by calculating the dot product e s ·ψ s with the emf due to stator field e s u − Ri. Based on this dot product, one can implement flux compensation as in [24, Fig. 3].

B. IS-SA1: Disturbance Observer (DO) for EMF e Active
The working principle of SA1 is to use the correction term f (ĩ) to forceî to track i. To make this happen, the norm of f (ĩ) should be larger than the disturbance ||e Active ||. As a result, f (ĩ) itself serves as an estimate of e Active . However, ||e Active || is proportional to ω, and to assure a wide operating speed range, large correction gain is needed for non-dynamic f , in which case the speed-dependency of the performance of the IS observer is inevitable. A simple fix is to use a variable correction as a function ofω, which, however, will make SA1 lose its IS property, and will result in an interconnected non-IS framework as shown in Fig. 1(b). This dilemma can be resolved by implementing f as dynamic correction.
1) Sliding Mode Disturbance Observer (SMDO): SMDO is a nonlinear DO, and originally implements correction f in SA1 as 4 f = ksign(S) that consists of three parts, i.e., SM surface S, SM gain k, and SM control law sign(·). Improvements on those three components are now reviewed.
The large SM gain requirement leads to chattering in the emf estimate f . To mitigate the chattering issues, it is proposed to use "milder" SM control law than the discontinuous correction sign(·), such as saturation function [41], and sigmoid function [42]- [44]. Additionally, the f in [41], [44] is a linear combination of SM correction and proportional correction.
By using large but constant SM gain, SMDO is an IS-PE, but in order to reduce excessive noises in the estimated disturbance emf f , an additional LPF is typically applied to f , beforeθ d can be extracted. The phase delay caused by the LPF should be compensated for different speeds [45]- [47]. Given a constant SM gain, it is suggested that the pole of the LPF should rely onω [41], leading to a non-IS-PE design, as shown in Fig. 3. Additionally, it is proposed to use smaller SM gain and execute the SMDO at a frequency that is 3 times as high as the PWM frequency [45], [48].
To achieve an IS-SMDO, it is recommended to implement f as a dynamic correction that puts signum inside an integral. This integral introduces an additional state, resulting in a second-order SMDO, and the second state can be interpreted as an estimate of the emf appearing in the current dynamics. For example, the super-twisting algorithm can be used to estimate the emf [17], [49], [50], and the resulting continuous α-axis correction is where the integral term serves as a continuous estimate of the emf. As a comparison, the second-order SMDO in [51] uses discontinuous α-axis correction as f α = k 1 sign(ĩ α ) + k 2 sign ĩ α dt. Note the continuity of f α is decided by the k 1 term, and also note applying variable gain k 1 |ĩ α | 1 2 to sign(ĩ α ) does not eliminate chattering because the derivative of |ĩ α | 1 2 is infinite whenĩ α = 0. The chattering is reduced because of using smaller k 1 value and nonzero k 2 .
So far, all SMDOs reviewed above use current errorĩ as the SM surface S-the argument of sign(·). Improvement is expected by further designing SM surfaces. For example, SM surface involving current error integral ĩ dt (see, e.g., [52]) preserves observer robustness during reaching phase [53], [54]. SM surfaces involving current error derivativei promise faster observer convergence (i.e., "convergence in finite time"), including the fast terminal SM manifold [55] and the non-singular terminal SM manifold [46]. Note the current derivative needed in the manifold can be reconstructed using super-twisting algorithm [46].
Finally, the SM gain k can be designed to be a function of S [52], which is also known as the reaching law design in SM control theory.
2) Linear Disturbance Observer: By modeling emf as dc disturbance such that d dt e Active = 0, Tomita et al. [56] propose to design the correction term as f ∝ (i −i) for SA1, where theω-dependent pole placement is mandatory, and is derived by analyzing the H ∞ norm of transfer function from the unmodelled dynamics to the emf error. In [57], proportional correction f ∝ĩ is implemented. In [58], proportional-integral (PI) correction f = PI(s)ĩ is used, resulting in a dynamic correction. The linear DO is deemed to be poorly damped if constant correction gain is used [59]. Frequency domain formulation of the DO with PI correction is proposed in [60], which is further generalized for salient PM motor in [61].
The constant emf disturbance assumption d dt e Active = 0 is apparently not reasonable [cf. (7b)]. Intuitively, emf in dq frame can be modelled as dc disturbance, but transforming into dq-frame leads to non-IS-PE, which is discussed later in Sec. III-B2.
Remark 3: Nonlinear second-order SMDO with dynamic correction can track ac disturbance, while linear DO with PI correction cannot, as is discussed in Appendix A.

C. Magnetic Asymmetry (Saliency) based IS-PE
There are magnetic asymmetry based SAs that can only be applied to certain types of ac motors. Magnetic asymmetry includes rotor slotting and rotor saliency. The former can be exploited for speed detection (see Sec. V-C) and the latter is utilized for IS-PE. For saliency due to main-flux saturation or machine structure, the inductance is a function of rotor position, and based on this fact, various invasive methods that involve excitation of high frequency voltage or carrier frequency voltage, are proposed. The readers are referred to [62], [63] for a dedicated review. It is worth mentioning that non-invasive saliency based PE is also possible, see e.g., [64] for a non-invasive detection of position from the switching function slopes in SM motor control. There is also a trend trying to extending the near zero-frequency performance of model based SAs by combining with saliency based PE [29], [31]- [33], [65]- [73].
The performance of the saliency based PE is influenced by the saturation induced magnetic cross-coupling, making the inset type of the salient PM motors more suited with higher load [74], and therefore there is also research trying to take self-sensing capability into consideration for motor design [74]- [76].

III. NON-INHERENTLY SENSORLESS POSITION ESTIMATION (NON-IS-PE)
As shown in Fig. 1(b) and 1(c), in the framework of non-IS-PE, the output is the θ d -related state (i.e., flux or emf), the input is current i and speedω, and the model is (7), (8), (10), (11) or (12). SA1 and SA3 have their non-IS variants, while SA2 and SA4 are always non-IS. This section will review non-IS-PE as two categories. The first category uses speed as a parameter in the model, while the other uses speed only for tuning estimator coefficients.

A. Non-IS SA2/4 Due to Speed being Part of αβ-Frame Model
Unlike SA1 and SA3, the unknown state, i.e., emf or active flux, is modelled as internal state in SA2 and SA4 such that the speed parameter ω appears, and ω is always replaced with a speed estimateω, meaning that this type of non-IS-PE is disturbed by speed error, as shown in Fig. 3. SA2 is state observer for emf or flux, while SA4 is a reduced-order flux observer with flux disturbance estimation.
The key difference between full-order state observer and reduced-order state observer lies in how they treat speed error. SA2 in its full-order form reconstructs a current estimateî, and calculate the output errorĩ to tune the speed estimateω using SA6. This requires thatĩ is sensitive to speed error. 5 On the other hand, since current i is measured, there is no need to reconstructî, and by assuming a speed signalω is available, the unknown state can be reconstructed by the reduced-order variants of SA2. This needs the state estimate to exhibit robustness against speed error via careful observer pole placement [6], [13].
1) EMF Observer (SA2.1): EMF observer can be implemented in its full-order form [20], [61], [70], [77]- [81] or in its reduced-order form [6]. In [70], [77], [80], [81], SM corrections are implemented. Time-varying gain that depends on SM surface is designed in [80] to reduce chattering, and SM emf observer is found to be easier to tune as compared with the extended Kalman filter for emf [80]. Proportional correction is used in [20] and linear system analysis is conducted to tune the observer. The dq-frame or more precisely γδ-frame implementation of the emf observer can be found in [78], where included is an interesting study that analyzes the consequences of using constant speed assumption in emf observer. In [61], the influence of dc offset on emf estimation is analyzed. In [79], observer steady-state errors are analyzed considering current/votlage error, parameter uncertainty and filtering.
As for the reduced-order variant of emf observer, the robustness against speed error can be designed through H ∞ norm based pole placement [6].
2) Flux Observer (SA2.2): Flux observer can be implemented in its full-order form [9], [10], [78], [82], or in its reduced-order form [14]. In [78], the flux observer is implemented in γδ-frame, and the speed difference between dq-frame and γδ-frame that will result during speed transients is obtained from a cascaded speed observer. In [9], the flux observer is analyzed by Lyapunov stability theory through finding the positive-definite matrix for the Kalman-Yakubovich lemma. In [82], [83], SM state observer is proposed, and pole placement for robustness improvement is detailed in [83].
In [14], reduced-order flux observer (17) is analyzed in the misaligned γδ-frame, and is described by a rotatory differential operator: P (θ) sP −1 (θ) = sI +θJ and the stability analysis of the flux observer holds only if speed is known.
3) Linearized Position Observation by EKF (SA2.3): EKF can be applied to the nonlinear model (9) [15], [84]. The fourth-order extended state model (9) assumes both constant active flux amplitude and constant speed. It is also possible to use stator flux ψ s as state instead of i [84], where the flux output error is equivalent to the current error that was revealed in (25a). In addition, the constant speed model d dt ω = 0 can be replaced with the motion dynamics (2) and the resulting EKF implementation can be found in [16].
4) Current Observer in dq-frame (SA2.4): The d-axis current observer (18a) can be understood as an adaptive observer with constant position error parameterθ d , provided thatω is available and accurate-which is a typical assumption in non-IS-PE design. The observer can be implemented as an openloop one [85] [86, Sec. 9.2.2] or a closed-loop one [87].
Since the d-axis current error contains the information of position errorθ d , PLL can be used to form an estimate of position [87].
Remark 4: Both SA2.4 and SA1 use 2nd-order d dt i dynamics. The difference is that for SA1, a correction is necessary, while SA2.4 can be implemented as open-loop observer.
5) Frequency-Adaptive System (SA4): The idea of SA4 is to remove the flux disturbance in the sinusoidal flux estimate prior obtained from SA3. Therefore, SA4 is called frequencyadaptive DO in literature [13], [34], and is in fact a cascaded flux observer using (8). The robustness of the cascaded flux estimateψ s against speed error is analyzed in [13, Fig. 2]. Note the observer tuning or pole placement in [13] is also dependent onω. Alternatively, we can understand the overall system of voltage model estimator (SA3) and its DO (SA4) as a "single tune integrator" [88], [89], whose performance relies on the speed estimate. SA4 is typical non-IS-PE with speed dependency in both model and tuning, as shown in Fig. 2.
The readers are referred to [59, Table 4] for a review of the frequency adaptive observers for eliminating emf harmonics.

B. Non-IS Variants of SA1/3
Even though the original implementation of SA1 and SA3 is IS, it is possible to introduce speed-dependency by i) modeling a different disturbance emf for SA1, ii) using a speed-dependent orthogonal condition, or iii) implementing SA1 and SA3 in dq-frame. Those non-IS variants are less recommended, though one benefit is that the ac emf disturbance becomes dc disturbance in dq-frame.
1) Speed-Dependent Disturbance Model for SA1: In (13), the disturbance is the emf due to active flux. However, one can also implement SA1 (e.g., [41]) using the extended emf model in (12), resulting in a non-IS SMDO as is done in [68].
2) dq-Frame Variant of SA1: In Sec. II-B2, the linear DO method assumes the dynamics of the ac emf to be zero. This assumption becomes more reasonable if one transforms (13) into dq-frame, such that dq-frame emf is modelled as dc disturbance and the correction f becomes P f . In [71], [90], [91], P f is implemented as a PI law, resulting in a dynamic correction. In [92], a classical DO (that uses LPF) is proposed to estimate the extended emf e in dq-frame 6 .
In [69], [93], SMDO is proposed in dq frame. In [69], the dq-frame correction P f is implemented as a combination of proportional correction and SM correction. In [93], a speeddependent SM surface that consists of current error and its integral is selected, and the correction P f is a dynamic one. 6 The analysis in [92] is in γδ-frame but the implementation is in dq-frame. 3) Speed-Dependent Orthogonal Condition for SA3: Recall that the dot product scalar orthogonality condition e s · Jψ s = 0 does not involve speed signal, but one can derive an speeddependent vector orthogonality condition as e s −ωJψ s = 0, based on the assumption (ii) from Sec. II-A. Voltage com-pensationD based on e s −ωJψ s = 0 is proposed in [94], [95].
4) dq-Frame Variant of SA3: Voltage model (19) is IS because it is in αβ frame. Transforming (19) into dq frame makes the flux estimator coupled with speed estimation, resulting in a non-IS-PE. The current error in (25) that is based on the assumption (i) from Sec. II-A can be used to build a speedadaptive voltage model in dq-frame [67], [73].

C. Speed Only being Used for Tuning
Since the SA2/4 have speed in the model, it is natural to also use speed for tuning (e.g., pole allocation). On the other hand, IS-SA1/3 have the potential to be implemented being free of speed, but the IS property is lost if speed is used for tuning in SA1/3.
1) Non-IS Tuning for SA1: We have already addressed in Sec. II-B that speed-dependent tuning is often adopted for SA1, e.g., the linear DO whose pole placement is dependent onω, and the first-order SMDO with non-dynamic correction whose switching gain or ensuing LPF is dependent onω. There are also examples of speed-dependent tuning for second-order SMDO with dynamic correction, see e.g., [50, (10)]. In other words, some practical implementation of SA1 requires speeddependent tuning, resulting in non-IS-PE.
This section will now focus on the speed-dependent tuning that makes SA3 non-IS.
2) Non-IS Tuning for SA3: In order to stabilize the pure integration in SA3, a high pass filter (HPF) can be added to the output of the voltage model [96], which is equivalent to replace the integrator with an LPF as follows: which is IS if a fixed ω LPF is used. In fact, it is reported that placing the LPF pole, −ω LPF , to be close to zero is sufficient for zero speed 7 operation of induction motor [97], but it is often recommended to adopt the non-IS tuning ω LPF = k|ω| to adjust observer damping with respect to speed [5], [98]. In order to compensate the gain and phase shift introduced by the LPF, a compensation term is introduced as follows [ There is only one filter [100] (29) which is called statically compensated voltage model (SCVM) [5], [21] because the compensation is only exact at steady state when ω is constant. It is suggested in [100] to apply the static compensation to the stator emf e s first before going through the LPF, as indicated by the text under the equations in (29). See [5], [100], [101] for different advice for choices of k in 7 Zero speed ωr = 0 does not mean ω = 0 for induction motor with load. (29). In [103], three speed-dependent cascaded LPFs are used to recover the frequency response of integrator.
Note that the presence of skew-symmetric matrix J in (29) means, e.g., β-axis emf is used for compensating α-axis dynamics, and this practice implicitly assumes an orthogonality relation between α-axis and β-axis, i.e., t+ 2π ω t e αs e βs dt = 0. 8 which is the assumption (iii) from Sec. II-A. However, if some signal phase shift network is introduced, the compensation can be accomplished within the same axis, and therefore even elliptical trajectory of stator flux vector can be tracked [104].

IV. POST-POSITION ESTIMATION (PE) SPEED ESTIMATION
Post-PE speed estimation extracts speed signal from an assumedly-accurate flux/emf estimate or an erroneous current estimateî that is disturbed byω, as shown in Fig. 1(a), 1(b), and 1(c). For post-PE speed estimation, the output isω; the input isθ d -related states or current errorĩ; and the model is constant speed model d dt ω = 0, steady state model of (10), or motion dynamics (2). The generic algorithms are SA5-7.
A. Post-PE-SA5: Direct Calculation 1) Direct Calculation from Position: Speed estimate can be calculated by the forward difference of the flux angleθ d [10], [23], and an additional LPF is embedded to reduce the amplified noise in [23].
2) Direct Calculation from Orthogonality between Flux and EMF: Acknowledging the fact that speed signal exists in the dynamics of the derivative of stator flux, it can then be calculated asω(ψ T sψs ) = −(Jψ s ) T sψ s , where the derivative of flux can be substituted with the calculated stator emf as e s = u − Ri [98], [99], [105], the SMDO emf estimate [55], [106], [107], or the forward difference of flux [108]. In [109], 3) Direct Calculation from Emf: Speed is simply the emf amplitude divided by the flux amplitude [46], [49].

B. SA6: Model Reference Adaptive System (MRAS)
An adaptive observer is established based on the fact that the output error ε is measurable and can be used to drive the speed adaptation law (22). Therefore, for sensorless ac motors, the output error ε should always be the current errorĩ, and the adaptive observer is of full-order. From the perspective of model reference adaptive system (MRAS), the actual motor is the reference model, and the full-order adaptive observer is the adjustable model. Now consider an MRAS, where the reference model is an IS-PE, and then one can implement a reduced-order adaptive observer as the adjustable model. Such adjustable model is called cascaded adaptive observer (CAO) in this paper.
Full-order adaptive observer has an interconnected structure between PE and speed estimation, while the CAO is designed to be a cascaded speed estimation sub-system that comes after the PE sub-system. However, if the reference model is a non-IS-PE, then the resulting MRAS (of the non-IS-PE and CAO) is interconnected. 8 If K Active and ω are constant, then t+ 2π ω t e α,Active e β,Active dt = 0 is valid, and it is also true for stator emf if dand q-axis currents are constant.
1) CAO Based on Priorθ d -related States: CAO assumes that an accurate estimate of the unknown states, e.g., position θ d , emfê or fluxψ s , is available, and an speed-adaptive reduced-order observer based on output error ε =θ d −θ d , ε =ê−ê or ε =ψ s −ψ s is further reconstructed for observing the "estimate of unknown states" as an effort to extract the hidden speed information by a speed update law (22).
EMF-type CAO, as shown in Fig. 3, is implemented in [6], [43], [44], [52], [54], [57], [61]. Flux-type CAO can be found in [82], but what is much more often to see is to use the angle of the flux estimate to build a position-type CAO-which is also known as phase-locked loop (PLL).
PLL is widely used for post-PE speed estimation. During formulation of PLL, various types of position error signals can be exploited, such as the q-axis voltage [101], the angle of γδ-frame extended emf [71], d-axis current error from (18a) [87], and the forward difference of high frequency components of αβ-frame current [110]. PLL for induction motors would need to add an additional slip relation [5]. Speed error during speed transients is inevitable because typical PLL is 2nd-order system that assumes constant speed [111], which is a type-2 system [13]. The transfer function from actual position to estimated position can be found in [92,Eq. (18)] and [71,Eq. (39)] The speed error from PLL during speed dynamics is analyzed in [58]. In [29], an additional PI term driven by torque error is further added to the PLL based speed estimate. PLL can be generalized for higher order to track time-varying speed [14,Eq. (24)], and see also [35] and [92,Eq. (22)] for an application of type-3 PLL for tracking ramp speed signal.
Generally speaking, when designing for post-PE speed estimation, a position signalθ d is assumed to be available and accurate, meaning that no correction forθ d is done during post-PE speed estimation stage. However, the reality is that non-IS observer is disturbed by speed error and that the emf estimate is probably obtained from an LPF, thus lagged response ofθ d with respect to θ d is expected. A remedy is proposed in [60] to compensate the delay in the estimated emf during the post-PE speed estimation stage using PLL.
2) Speed Adaptation Law Using Prior Current Error ε = i: The speed adaptation law (22) is driven by the estimated current errorĩ. The regressor depends on how speed appears in the adopted model, and typical choices of regressors are stator flux [69] and extended emf [20]. Particularly, in (18b), the regressor is K Active [87]. Speed adaptation treats the speed as a constant parameter, but one can design an inertia-dependent speed-adaptation law that includes an additional torque term [87], [108]. Speed observer (SA7) uses the motion dynamics (2) to extract speed information from the prior position estimate, resulting in a 3rd-order state observer for position, speed, and load torque [40], [78], [90], [110] [112, Fig. 9]. SA7 often assumes a constant load torque, and has various names, such as extended Luenberger observer (ELO) [113, Sec. 4.5. 3.5] or extended state observer (ESO) [47], [114]- [116]. Particularly, nonlinear correction is used in [115], [116]. See (45) in Appendix B for a discussion of those speed observer variants.
Alternatively, one can also design a 3rd-order state observer using q-axis current, speed and load torque as states, which can be understood as a reduced-order implementation of the original natural speed observer [18] for either PM motors [2] or induction motors [105], and can also be understood as an ELO implementation of the q-axis current observer (18b) [87]. The difference is that the natural speed observer uses motor active power error as the scalar output error ε, which, however, makes observer tuning to be dependent on q-axis voltage [2].
2) Inertia-Free Variant of Speed Observer (23b): In [70], [77], an extended Kalman filter type speed observer is proposed for a 3rd-order system of position, speed and acceleration, without needing inertia parameter J s .

V. SPEED ESTIMATION FOR INDIRECT FIELD ORIENTATION (IFO)
If the angle used in Park transformation P is an integral of a speed estimate, the torque control is said to be dynamic and based on IFO. In this sense, IFO is a special kind of non-IS-PE with the simplest dynamics:θ d = 1 sω . The interesting idea is that now we can construct the speed estimation based on the IFO position estimate 1 sω , rather than assuming some accurate position estimate is available, which is a completely different design philosophy from post-PE speed estimation because of this special input, as shown in Fig. 1(d).

A. General IFO-PE
Generally speaking, we can add an additional IFO integrator to the output of any post-PE speed estimation, to achieve general IFO-PE, as shown in Fig. 1(a), 1(b), and 1(c). The IFO integrator provides an additional position estimate as 1 sω that can be used in e.g., SA3 [38], as is discussed in Sec. II-A3 to design voltage compensationD for induction motors.

B. IFO-SA5: Closed-loop Direct Calculation from EMF
This sub-section reviews the special IFO-PE designs whose speed estimation do not rely on prior position estimate. The input is ωdt, the output isω, the model is (10), and the generic algorithm is SA5.
The key to implement (21) is to design a feedback loop to forceê d,ss = 0. In other words, ifê d,ss = 0, the speed estimateω must be updated to makeê d,ss = 0. So the practical implementation of (21) Special choices are k = 0 [3], and k 2 = 0 [21], [118]. It is pointed out in [5] that the introduction of an additional LPF will resolve the algebraic loop caused by (30), becauseê q,ss is a function ofω, soω appears on both side of (30).
A variant of (30) is to replaceê q,ss ,ê d,ss with integral of q-axis and d-axis current error,ĩ d ,ĩ q [85, Sec. IV]: where k 2 is originally set to zero in [85]. Note the current observer is embedded in (31) as L q sî d =ê q,ss −ê q and L q sî q =ê d,ss . As a result, the steady state assumption of si d = si q = 0 for (21) can be removed.
We believe it is one of the most interesting observations in the field of sensorless control, that (when the K Active is constant,) the open-loop q-axis current error in (31a) contains speed error information, and the open-loop d-axis current error in (31b) contains position error information [86,Eq. (9.26)]. This is further generalized for time-varying K Active in [5,Eq. (13)] as "basic relations for sensorless flux estimation".

C. Magnetic Asymmetry (Rotor Slot Harmonics) Detection
For straight slot induction motors of certain stator and rotor slot combinations [119], the rotor slotting will induce harmonics in i [120], and rotor speed can be detected from the rotor slot harmonics in i [119], [121], [122]. This kind of speed estimation can detect speed independently from the rotor position and has almost no parameter dependency [121]. VI. LOSE THE CONSTANT K Active ASSUMPTION So far, thanks to the constant K Active assumption, all the SAs reviewed above (except the ones relying on the magnetic asymmetry) can be applied to both induction motors and PM motors. 10 However, K Active is by definition a time-varying parameter as long as (L d − L q )i d varies, and a change in K Active leads to the unmodelled dynamics E u in (7).
Sometimes a time-varying K Active is beneficial, e.g., for efficiency improvement or for better dynamic performance. Specifically, at high speeds, faster speed dynamic process can be achieved if the flux amplitude is first weakened such that more dc bus voltage can be used for producing torque current, which is a result of a multi-step optimization control [123].
This section briefly reviews compensation for the disturbance due to time-varying K Active in salient motors in Sec. VI-A, and then the rest of this section focuses on the derivation of induction motor model and its SA designs. In fact, most literature of sensorless induction motors depends on the time-varying K Active model.

A. Compensation for Time-Varying K Active in Salient Motors
In [11], an angle compensation that takes into account the unmodelled dynamics in (7b) when K Active varies is proposed. In [9], thei d in the unmodelled dynamics E u in (7a) is compensated by its estimate. 10 Even though SA1 does not explicitly require K Active to be constant, but the flux or voltage compensation often relies on the constant K Active assumption. For example, the flux offsetD ψ in (24) does not equal to 0 when flux amplitude varies.

B. Model of Induction Motors with Time-Varying K Active
For induction motors, the unmodelled dynamics E u satisfy − ω sl Jψ Active (32) in which (1) and (4) have been substituted, and ω sl =

Rreqiq KActive
is the slip relation. The model with stator current and active flux as states can be derived from (6), (7a) and (32): which is exactly the inverse-Γ circuit induction motor model. There are two things that make induction motors unique: 1) Active flux amplitude K Active is not constant and is maintained by stator excitation for non-PM motors. 2) There is a slip speed ω sl difference between field speed ω and rotor speed ω r , i.e., ω r = ω − ω sl . 11 In other words, the induction motor is not a PM motor nor synchronous motor. These two facts correspond to the two unique features of the SAs dedicated for induction motors: 1) There is a chance for estimated flux amplitudeK Active to collapse [124], and there is a chance for the change in flux amplitude being mis-interpreted as a change in flux angle [5], such that unstable sensorless operation results.
2) The current model of induction motor (33b) provides angle information, while for synchronous motors, the angle of current model flux can not be utilized [5, (10)]. Therefore, in the context of PM motors, the term "current model" is no more than the active flux parameter K Active .

C. SAs
Based on (i, ψ Active ) Model (33) 1) IS-PE Design: IS-PE is achieved by designing 4th-order DO for the unknown term −Rreq L d −Lq I + ω r J ψ Active in (33) using SM correction [106], [107], [109], [125]- [127] or PI law dynamic correction (a.k.a. ESO) [128]. This results in an IS-PE design with a redundant observer as is discussed in the Appendix A. The redundant observer gives an estimate of flux for direct calculation ofω r by [109,Eq. (23)] [129,Eq. (26)], and see also [129,Sec. V] for a cascaded variant of redundant flux observer. Alternatively, one can design an IS SMDO whose correction f is in replace of the unknown term ω r J ψ s or ω r J ψ Active , depending on the choice of state variables [130].
2) Non-IS-PE Design: Using current and flux as states, speed-adaptive observer can be designed in αβ-frame [83], [108], [131]- [137] and dq-frame [138]. This is referred in literature as the "full-order observer" of induction motors, which has attracted a lot of research attention. Active flux (or rotor flux) is often chosen as the state, while stator flux ψ s can also be selected as state [108]. Linear correction is often used, but SM correction can also be found in literature [83], [108], [136]. 11 The slip speed causes an algebraic loop when using (30) for sensorless q-axis current control [5].
As a special case of non-IS-PE, the motion dynamics (2) can be further utilized such that speed is treated as a state and inertia is needed. In αβ-frame, a 6th-order natural speed observer is proposed in [18] with the stator current, active flux, speed and load torque as states, and the key feature is to use motor active power error as the scalar output error ε. In dq-frame, it is stated in [139] that the speed estimation can be achieved through the d-axis subsystem, and a 5th-order SM state observer consisting of d-axis current, d-axis rotor flux, rotor position, rotor speed and load torque is proposed.
3) Challenges at Low Speed Regeneration: It is very challenging to stabilize the (i, ψ Active ) model based full-order observer in low speed regeneration and slow zero frequency crossing, because the stable speed adaptation law derived from Lyapunov function [133] depends on the unknown flux error, and the hyper-stability analysis in [131] depends on the assumption that the ratio between flux error norm and current error norm has finite upper bound such that the unknown flux error can be replaced by current error. Careful observer gain designs based on the linearized model (see, e.g., [134], [137], [140], [141]) and the positive real property [142] are proposed for improved stability. It is also effective to re-design the speed adaptation law [135], [143], [144] [19,Eq. (26)]. It is shown in [145] that in order to find a Lyapunov function for the fullorder observer, the observer coefficients must be dependent on the actual speed, implying global stable design does not exist.

D. Change of States for Global Stability
To attack the regeneration instability challenge, an ideal solution is to find a globally stable speed-adaptive observer design. In the literature of observer design [146]- [150], observer is often proposed for a class of systems that are in Brunovsky observer form [151] 12 , which does not describe the induction motor dynamics (33). We will soon see that the key to attain global stability is to use a different state variable other than active flux. In the following, we will use (y, x) to denote the output state and the internal state of the new model.
1) Model (L q i, −e Active ): The dynamics are [19] where si can be obtained using a state variable filter [19].
The dynamics are [19] which avoids the term si in (34).
3) Model (L q i, L q i + ψ Active ): This yields 12 To simply put, the following system form is desired: d dt whose key property is that there is no unknown variable ω r in the dynamics of stator flux x. The research based on this model is summarized in the monograph [152].
: If speed and load torque are treated as system states, a sixthorder system results, and a state transformation is proposed to extend the system (37) with a third R 2 vector state that is the time derivative of −ω r J ψ Active [154].
: A more straightforward model is to extend (37) with two scalar states ω r , T L , that is, no state transformation for ω r , T L [150].
7) Adaptive Observer Form: In [147], a class of system that allows globally stable adaptive observer design is said to be in the adaptive observer form, which is translated into two requirements on induction motor model, i.e., Brunovsky form and known regressor for speed. Even though only model (37) is in adaptive observer form, the existence of globally stable speed-adaptive observer is an established fact [155], [156].
8) Advances in High Gain Observer Design: The known regressor for speed requirement is removed in the high gain observer design [149]. Application of this high gain observer to (37) is studied in [157], and it can also be applied to (34) or (35). A simulation study in [105] shows the high gain observer design proposed in [154] can identify resistances even in speed transients. The requirement on the partitioned matrix needed in [149], [154] is later removed in [150], which allows one to further design high gain observer for the sixth-order induction motor system with two scalar states ω r and T L instead of the R 2 vector −s[ω r J ψ Active ] [150]. The observer design in [150] allows certain nonlinear term like ω r x to appear, and note both ω r and x are states, with sx defined in (37).

E. Model Reference Adaptive System (MRAS) for IFO-PE
In the field of sensorless induction motor drive, MRAS is a jargon for a system with the voltage model (VM) as reference model and the current model (33b) as adjustable model. 13 The pioneer work on MRAS in [96] (and also the followup work [129], [158]) is a good example showing the spirit of IFO-PE that an accurate estimate of flux/emf is not needed, by using (28) as the reference model and using high-pass filtered i for current model as the adjustable model. There are also attempts to compensate for the gain and lag introduced in (28) (see, e.g., [159]). The convergence of MRAS based flux estimate needs an analysis of the error dynamics of the flux error and the mismatch between VM and current model [160]. In [12], the VM is transformed to an estimated dqframe to derive a generalized slip relation in terms of the VM correction gains. In [161], the correction in VM is replaced with a super-twisting based dynamic correction. The dual reference observer proposed in [130] is also an MRAS, and is 13 This is the reason why we have been using the name CAO instead of MRAS in Sec. IV-B. an example of implementing the amplitude correction (26) in its current error form (25a) in a time-varying K Active model. The MRAS implementation in [27] has made it clear that the amplitude mismatch is used to stabilize VM and the angle mismatch is used to tuneω used in current model. In [129], the speed adaptation law is implemented as an SM control law.
Readers are referred to [162] for a dedicated review of various variants of MRAS that have different output error ε.

VII. CONCLUDING REMARKS
This paper reviews SA designs for both induction motors and PM motors, and a map of the overview is shown in Fig. 4. IS-PE is a key concept in this paper, meaning the PE has no speed-dependency, e.g., saliency based methods. If there is two-way coupling between PE and speed estimation, the PE is non-IS. All speed estimation methods are coupled with PE in some way, with an exception being the rotor slot harmonics based speed detection. According to Fig. 4, there are four types of generic PE methods: 1) SA1-the potentially IS DO that does not need the model of the unknown internal states. The key is to design dynamic correction that allows smaller switching gain to reduce chattering for SMDO and reduces lagging when tracking ac disturbance for linear DO. 2) SA2-the non-IS state observer that utilizes the model of the unknown internal states. The key is to decide which path to go: the robust reduced-order state estimation or the speed-adaptive full-order observer. From (7), emf observer is disturbed byω while flux observer is not. 3) SA3/4-the potentially IS stabilized integrator. The key is to design voltage and/or flux compensation based on the three assumptions from prior knowledge, or to implement the integrator as a statically compensated (open-loop) state filter. There is also a trend to design the stabilized voltage model as a non-IS single tune integrator. 4) The IFO integratorθ d = 1 sω that enables IFO based speed estimation that can take advantage of P ( 1 sω ). A complete SA scheme consists of the PE and a cascaded or interconnected speed estimation for which the generic algorithms are SA5-7: direct calculation, MRAS, and speed observer, respectively. Now, we are ready to make some general recommendations by topics as follows.
Regeneration stability. There is no regeneration instability issue for PM motors, because classical SA designs for induction motor allows the intermediate state, i.e., the active/rotor flux, to collapse to zero. In fact, with IS flux estimation, there is no need of working-condition-dependent stabilization design for sensorlesss induction motors anymore. For example, it is mentioned in [105] that the original implementation of the non-IS 6th-order natural observer for current, flux, speed, and load torque in [18], loses its stability during low-speed regeneration, while a simple modification to a cascaded design with IS flux estimator plus a cascaded speed observer resolves this problem.
Adopt the constant K Active assumption. This is a natural practice for PM motor SA designs. For induction motors, we encourage to design the SA scheme as if K Active is a constant while calculating K Active using (1). In fact, all SAs reviewed in this paper should be able to be applied to induction motors 14 , and there is at least one benefit that the collapse of the estimated flux amplitude can be avoided.
Time-varying K Active Model. For PM motors, there is a need for more research of the compensation of the SA scheme when constant K Active assumption is violated. As for induction motors, first, there is also IS-PE design for induction motor model (33a), and an ensuing redundant observer using (33b) shall give the flux angle needed for DFOC (see, e.g., [106], [109]), or this SA design can be easily extended as general IFO-PE; Second, the reality is that for IFOC, only the speed estimateω is the ultimate goal and this means that even the globally stable speed-adaptive observer (which is non-IS-PE) is only an intermediate step to obtainω. Globally stable design is recommended because the observer tuning freedom is not exhausted for stabilization purpose. However, given the fact that the Lyapunov stability analysis is established to only ensure the asymptotically stability of state estimation through the speed adaptation design, an additional cascaded speed estimation that extractsω from the globally stable state estimation sounds reasonable. In other words, the speed estimateω is designed to be disturbed by any parameter uncertainty in the model, as an effort to ensure consistent estimation of the state estimation, and therefore, maybe a post-PE speed estimation from the state estimation could be more accurate than the results from the speed adaptation law. 15 Try IS algorithm SA1/3 as a starting point. E.g., SA3 with amplitude correction (i.e., the hybrid of VM and current model) is one of the mostly widely used IS-PE. For SA1 with linear correction, we suggest to implement the dynamic correction f to higher order (i.e., as GESO or GPIO) as an effort to reduce the lagging when tracking ac emf disturbance. For SA1 with nonlinear correction f , we would like to emphasize that as long as κ 0 [defined in the general DO (45)] is within [0, 1), there would be chattering. Therefore, it is also beneficial to implement the SMDO to higher order than second order to reduce chattering, but the SM correction involves more coefficients such as κ j , j = 0, 1, 2, and the optimal tuning of κ j along with correction gains is of interest. As a comparison, non-IS-PE introduces two-way coupling between PE and speed estimation and the interconnected structure is more difficult to be analyzed.
EMF based PE considering harmonics. First, there is no evidence showing that emf observer is better for PE than flux observer. Also, note the sinusoidal dynamics of emf are disturbed by speed variationω. After emf estimation, a redundant observer can be implemented, which can simply be an integration of the emf, to get a flux estimate forθ d , which attenuates the higher-order harmonics in emf estimate 15 A well known example is that the sensorless controlled induction motor can control accurate torque but can only regulate biased speed when rotor resistance value is erroneous, which implies that active flux angleθ d is accurate andω compensates for the uncertainty in rotor resistance [131], [158]. and amplifies the low frequency disturbance in emf estimate. Ifω is available, a single tune integrator that is an integrator only atω-frequency can be used to reduce both dc-bias and higher-order harmonics, where the key step is to design a good band-pass filter [59].
Speed Estimation. Direction calculation (IFO-SA5) needs very little computational resources thus is recommended for cheap chips, but it is also sensitive to noises. For high dynamic performance, the SA7 (speed observer) should be used instead of SA6 (MRAS). To reject time-varying load torque, higherorder SA7 design such as GPIO and GESO is beneficial.

APPENDIX A POSITION ESTIMATOR DESIGN BASICS
Even though ac motor is a multiple-input multiple-output (MIMO) system, but the following single-input single-output (SISO) observer design can be generalized to ac motor.
If we treatẋ α as a state, another state observer that is in the Brunovsky form can be designed: In (42) and (43), an estimate ofω is needed, and one can either introduce an adaptive law as d dtω ∝ỹ α , or make sure the state estimate is robust against parameter errorω = ω −ω.
So far, among (39)- (43), (39) and (41) have the potential to avoidω-dependency. There exists anotherω-free design, i.e., directly integrate for z α x α + y α (i.e., stator flux): where the voltage compensationD α is included to stabilize the pure integration as there is no z α on the right hand side. For this SISO system, sincez α is unknown, we need to design D α with some prior knowledge that is solely related to the αaxis dynamics. For example, the maximum and minimum of z α -waveform within one electrical cycle should add to zero at steady state. Here, note the electrical cycle can be determined by detecting adjacent zero-crossings of theẑ α -waveform. For a MIMO system, we can use even more prior knowledge, e.g., the orthogonality and the flux amplitude, to constraint the behavior ofẑ α as an effort to stabilize the pure integration. Note (44) corrects the integration within the integrator dynamics, and we can also correct the integration at its output byẑ α −D αψ , where the flux compensationD αψ can be either directly calculated by the prior knowledge [23], or can be estimated by a disturbance observer [13].

APPENDIX B SPEED ESTIMATOR DESIGN BASICS
Disturbance observer (DO) can be used for extracting speed information from rotor position estimate (denoted by ϑ θ d ), and can be described as a 3rd-order system with four terms:  (45) is second-order SMDO with dynamic correction using super-twisting algorithm. Remark 5: (45) can be further generalized to fourth-order system with a "k 3 term" added, which is making theT L = 0 assumption, which is studied in literature as generalized PI observer (GPIO) [165], [166] or generalized ESO (GESO) [167].