blockSimpledqPLL

Angle tracking observer

Extends from Modelica.Blocks.Interfaces.MIMOs (Multiple Input Multiple Output continuous control block with same number of inputs and outputs), Interfaces.w_theta (Signal output w and theta).

Information

This block calculates angle and angular velocity of the input u[2] in α,β-frame.

The used calculation method is based on an angle tracking observer as common in electrical engineering. This implementation is very robust. It determines the angle of the input space phasor.

The angle of a complex space phasor is controlled in such a way that its imaginary part is equal to zero. The controlled angle theta is the unwrapped continuous angle. The output theta approximates the desired angle by a first order system which time constant is the integral time constant of the controller:

Im(ej*(u-y)) = sin(u - y)

This expression can be approximated for small differences by (u - y). Using an integral controller, the transfer function of the closed loop can, thus, be determined as: y = u / (1 + s*Ti).

The derivative of the output theta is the angular velocity w, provided as an output signal as well.

Parameters

TypeNameDefaultDescription
Integern (from MIMOs)1Number of inputs (= number of outputs)
Modelica.Units.SI.TimeTi1e-6Integral time constant of controller
Modelica.Units.SI.Anglephi00Initial angle

Connectors

TypeNameDefaultDescription
RealInput[n]u (from MIMOs)Connector of Real input signals
RealOutput[n]y (from MIMOs)Connector of Real output signals
Modelica.Blocks.Interfaces.RealOutputw (from w_theta)Estimated angular velocity
Modelica.Blocks.Interfaces.RealOutputtheta (from w_theta)Estimated angle

Components

TypeNameDefaultDescription
Modelica.Electrical.Machines.SpacePhasors.Blocks.Rotatorrotator
Modelica.Blocks.Continuous.IntegratorintegralController
Modelica.Blocks.Math.Gaingain