Main Content

Extended EMF Observer

Compute electrical position and mechanical speed of permanent magnet synchronous motor (PMSM)

Since R2023a

Libraries:
Motor Control Blockset / Sensorless Estimators

Description

The Extended EMF Observer block computes the electrical position, θe (or sin θe and cos θe), in addition to the mechanical speed of the PMSM from the measured voltage and current in the stationary αβ reference frame.

The block includes a linear extended EMF state observer that estimates the extended back-EMF. It uses a lowpass filter to remove any noise in the estimated back-EMF value. In addition, the block includes a speed feedforward-based quadrature phase-locked loop (PLL) that acts as a speed observer. The speed observer uses the computed extended back-EMF to determine the motor speed. It calculates speed with zero error even during constant angular acceleration. The block then computes the position output from the estimated motor electrical speed.

Equations

The IPMSM state equation is defined as:

[i·e·]=[A11A120A22][ie]+[B10]v+[0W]i=C[ie]

These equations describe the reduced order PMSM state model:

i·=A11i+A12e+B1ve·=A22e

Extended back-EMF, e={(LdLq)(ωreidi·q)+ωreKE}[sinθrecosθre]

This equation describes the reduced dimensional state observer:

e^·=(A^22ξA12)e^+ξ(i·A^11iB1v)

These equations describe the extended EMF observer parameters:

A22ξA12=ωreJ(αI+βJ)(1Ld)Iξ=(αI+βJ)

To ensure convergence, if you set β=ωre×Ld and set α to a negative value, then the extended EMF observer gain can be determined as:

Extended EMF observer gain=αLd

where:

  • i=[iαiβ], e=[eαeβ], and v=[vαvβ].

  • W=(LdLq)(ωreid·iq··)[sinθrecosθre].

  • A=[A11A120A22], B=[B10], and C=[I0].

  • A11=(RLd)I+(ωre(LdLq)Ld)J, A12=(1Ld)I, and A22=ωreJ.

  • B1=(1Ld)I, I=[1001], and J=[0110].

    Note

    A and C are an observable pair.

  • "·" and "··" are the first-order and second-order differential operators, respectively.

  • vα and vβ are the stator voltages along the α- and β-axes, respectively.

  • iα and iβ are the stator currents along the α- and β-axes, respectively.

  • eα and eβ are the extended back-EMF along the α- and β-axes, respectively.

  • id and iq are the stator currents along the d- and q-axes, respectively.

  • R is the stator resistance of PMSM.

  • Ld and Lq are the stator inductances of PMSM across d and q axes, respectively.

  • KE is the EMF constant.

  • ωre is the angular velocity at electrical angle.

  • θre is the rotor position at electrical angle.

  • e^, A^22, and A^11 are the estimated values.

  • ξ is the feedback gain.

Examples

Ports

Input

expand all

Per-unit voltage component along the α-axis of the stationary αβ reference frame.

Data Types: single | double | fixed point

Per-unit voltage component along the β-axis of the stationary αβ reference frame.

Data Types: single | double | fixed point

Per-unit current component along the α-axis of the stationary αβ reference frame.

Data Types: single | double | fixed point

Per-unit current component along the β-axis of the stationary αβ reference frame.

Data Types: single | double | fixed point

The pulse (true value) that resets and restarts the processing of the block algorithm.

Data Types: single | double | fixed point

Output

expand all

The estimated electrical position of the rotor.

Dependencies

To enable this port, set the Position output parameter to Electrical position.

Data Types: single | double | fixed point

Sine of the estimated electrical position of the rotor.

Dependencies

To enable this port, set the Position output parameter to Sine and Cosine electrical position.

Data Types: single | double | fixed point

Cosine of the estimated electrical position of the rotor.

Dependencies

To enable this port, set the Position output parameter to Sine and Cosine electrical position.

Data Types: single | double | fixed point

The estimated mechanical speed of the rotor.

Data Types: single | double | fixed point

Parameters

expand all

Units of inputs to the block.

Type of positions that the block outputs.

  • Electrical position — Select this value to enable the θe port.

  • Sine and Cosine electrical position — Select this value to enable the Sin θe and Cos θe ports.

The fixed time interval (in seconds) between two consecutive instances of block execution.

Motor Parameters

Stator phase winding resistance (in ohm).

Stator phase winding inductance (in Henry) along the d-axis of the rotating d-q reference frame.

Stator phase winding inductance (in Henry) along the q-axis of the rotating d-q reference frame.

Maximum mechanical speed (in RPM) that the block can support. If you set the speed to a value higher than this value, the block generates incorrect outputs.

Note

The block uses this parameter to filter out noise in the estimated speed signal.

Number of pole pairs available in the motor.

The maximum phase voltage applied to the PMSM. For details, see Per-Unit System.

The maximum measurable current supplied to the PMSM. For details, see Per-Unit System.

Observer Parameters

Gain of the linear extended EMF state observer.

Cutoff frequency of the lowpass filter that the block uses to remove noise in the estimated back-EMF value.

Proportional gain of the speed observer used by the block.

Integral gain of the speed observer used by the block.

Number of data points in the lookup table that the speed observer uses to compute speed from the extended back-EMF value.

Cutoff frequency of the lowpass filter that the block uses to remove noise in the estimated speed.

Datatypes

Unit of the position output.

Data type of the position output.

Unit of the speed output.

Data type of the speed output.

References

[1] Zhiqian Chen, M. Tomita, S. Doki and S. Okuma, "An extended electromotive force model for sensorless control of interior permanent-magnet synchronous motors," in IEEE Transactions on Industrial Electronics, vol. 50, no. 2, pp. 288-295, April 2003, doi: 10.1109/TIE.2003.809391.

[2] T. Ohnuma, S. Doki and S. Okuma, "Extended EMF observer for wide speed range sensorless control of salient-pole synchronous motor drives," The XIX International Conference on Electrical Machines - ICEM 2010, Rome, Italy, 2010, pp. 1-6, doi: 10.1109/ICELMACH.2010.5608087.

[3] G. Liu, H. Zhang and X. Song, "Position-Estimation Deviation-Suppression Technology of PMSM Combining Phase Self-Compensation SMO and Feed-Forward PLL," in IEEE Journal of Emerging and Selected Topics in Power Electronics, vol. 9, no. 1, pp. 335-344, Feb. 2021, doi: 10.1109/JESTPE.2020.2967508.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Fixed-Point Conversion
Design and simulate fixed-point systems using Fixed-Point Designer™.

Version History

Introduced in R2023a