# Pulsating High Freq Observer

Estimate initial rotor electrical position of interior PMSM using PHF injection

• Library:
• Motor Control Blockset / Sensorless Estimators

## Description

The PHF Observer block estimates the initial position (in electrical radians) of a stationary interior PMSM by using pulsating-high-frequency (PHF) injection and dual-pulse (DP) techniques. In addition, the block also detects real-time position when the rotor runs using (low-speed) closed-loop control.

## Ports

### Input

expand all

The high-frequency (phase a and b) current feedback from motor in response to the PHF voltage injection, in Amperes or per-unit.

Data Types: `single` | `double` | `fixed point`

Signal to enable block. The port supports one of the following input signals:

• `1` — Enable block operation

• `0` — Disable the block

Data Types: `Boolean`

Initial rotor position input when the block skips the stage 1 IPE operation, in radians, degrees, or per-unit.

The unit depends on the Position unit parameter.

Data Types: `single` | `double` | `fixed point`

Signal to enable stage 1 IPE operation. The port supports one of the following input signals:

• `1` — Enable the block to run stage 1 IPE followed by stage 2 closed-loop PHF injection.

• `0` — Enable the block to skip stage 1 IPE and directly run stage 2 closed-loop PHF injection.

Data Types: `Boolean`

### Output

expand all

Pulsating high-frequency voltage (in αβ reference frame) output, in per-unit.

Data Types: `single` | `double` | `fixed point`

The rotor position estimated by the block, in radians, degrees, or per-unit.

The unit depends on the Position unit parameter.

Data Types: `single` | `double` | `fixed point`

The port provides one of the following outputs:

• `1` — Indicates that stage 1 IPE is successfully complete and the θest port output is accurate.

• `0` — Indicates that stage 1 IPE is in progress (θest port output is not accurate as yet) or estimation has failed.

Data Types: `single` | `double` | `fixed point`

The bus signal contains these block calculations.

SignalDescriptionUnits

Sin θest and cos θest

Sine and cosine of estimated rotor position

-

Id and Iq

Stator direct axis and quadrature axis currents

A

Convergence

Difference between current and previous sample of θest output.

A value closer to zero indicates saturation of θest.

Status

0

Block is not enabled (Enable input port is 0)

-

1

Block is finding the best possible initial estimate (Stage 1 Part A)

-

2

Block is running the PHF method (Stage 1 Part B)

-

3

Block is running Dual-Pulse (DP) Method (Stage 1 Part C)

-

4

Block has successfully completed stage 1 and has started stage 2 closed-loop PHF injection

-

5

Stage 1 Part B failed due to a large error in the estimated rotor position

-

## Parameters

expand all

The time between two consecutive instances of block execution.

Units for the θin input and θest output.

Data type of the block inputs and outputs.

### PHF Parameters

Peak amplitude of the PHF voltage applied by the block, in Volts.

Frequency of the PHF voltage applied by the block, in Hz.

Proportional PI controller gain Kp for the PHF applied by the block.

Integral PI controller gain Ki for the PHF applied by the block.

Cutoff frequency of the lowpass filter for the PHF applied by the block, in Hz.

Duration of the open-loop PHF injection during stage 1 part A, in seconds.

Duration of the closed-loop PHF injection during stage 1 part B, in seconds.

Duration (in seconds) between steps in the algorithm related to stage 1 part A and stage 1 part B that allow for fading of transient dynamics. For example, this block stops operating for this duration between each PHF injection (open-loop or closed-loop).

### DP Parameters

Voltage amplitude of the injected pulses, in Volts.

Duration of the injected pulses, in seconds.

Duration (in seconds) between two pulses during dual-pulse injection (stage 1 part C).

## Algorithms

expand all

The block determines the best possible initial estimation for the rotor position using open-loop PHF injection, which it uses to run closed-loop PHF.

The block executes closed-loop PHF by injecting a high-frequency signal into the estimated rotor position to determine the actual rotor position without spinning the motor. This technique works when the motor saliency ratio (Lq/Ld) is greater than 1. Due to a limitation in the PHF method, the estimated position can show ambiguity equal to the value of π (pi). The dual-pulse (DP) method uses polarity detection to resolve the ambiguity of π and applies a compensation of π if there is an error. The estimated rotor position ranges from 0 to 2π electrical radians.

The block can run in these 2 stages:

1. Stage 1 – Initial position estimation (IPE), which includes three parts.

2. Stage 2 – Closed-loop pulsating-high-frequency (PHF) injection.

Stage 1 focuses on determining the initial position of the rotor when it is stationary. This stage includes the following three parts:

## Version History

Introduced in R2022b