# PFC Rectifier Controller (Three-Phase)

PID-based power factor correction (PFC) rectifier controller

Since R2024a

Libraries:
Simscape / Electrical / Control / Converter Control

## Description

The PFC Rectifier Controller (Three-Phase) block implements a proportional-integral-derivative (PID)-based power factor correction (PFC) rectifier controller. This block converts a three-phase AC supply into the required stable DC-link voltage and controls the reactive power drawn from the supply. To reduce harmonics, the block draws sinusoidal current. The block has an inbuilt phase-locked-loop (PLL) that tracks the angle and magnitude of the supply voltage.

For discrete-time simulation, set Sample time (-1 for inherited) to a positive value or to `-1` to inherit the sample time. For continuous-time simulation, set Sample time (-1 for inherited) to `0`.

This figure shows the circuit configuration of the PFC rectifier.

• VS is the supply voltage.

• IS is the supply-side current.

• XL is the inductive reactance.

• Vi is the inverter-side AC phase voltage.

• Vdc is the DC-link voltage.

This equation defines the supply voltage VS,

`${V}_{S}\left(t\right)={I}_{S}{R}_{L}+L\frac{d{i}_{S}\left(t\right)}{dt}+{V}_{i}\left(t\right),$`

where:

• RL is the resistance of the filter inductor.

• L is the filter inductance.

• is is the inverter-side AC phase current.

### Controller Structure

This diagram shows the structure of the controller.

The inputs to the block are:

• The output DC-link voltage reference VdcRef, measured in volts.

• The per-unit reactive power reference QRef.

• The measured DC-link voltage VdcSens, in volts.

• The per-unit measured AC phase voltage VabcSens.

• The per-unit measured AC phase current IabcSens.

The outputs are the per-unit reference voltage VabcRef and a bus containing signals for visualization.

The DC voltage controller calculates:

• The per-unit d-axis reference current IdRef.

• The per-unit error of the DC voltage controller VdcCntrlError.

The PLL calculates:

• The phase angle pllAngle, in radians, of the measured AC phase voltage.

• The per-unit magnitude pllVmag of the measured AC phase voltage.

• The per-unit d-axis component of the measured AC phase voltage Vd.

• The per-unit q-axis component of the measured AC phase voltage Vq.

The reactive power reference calculates the per-unit q-axis reference current IqRef.

The current controller calculates:

• The per-unit reference voltage VabcRef.

• The per-unit error of the d-axis current controller IdCntrlError.

• The per-unit error of the q-axis current controller IqCntrlError.

### Visualization

The block outputs a bus containing these seven signals for visualization:

• The phase angle pllAngle, in radians, of the measured AC phase voltage.

• The per-unit voltage magnitude pllVmag of the measured AC phase voltage.

• The per-unit d-axis reference current IdRef.

• The per-unit q-axis reference current IqRef.

• The per-unit error of the DC voltage controller VdcCntrlError.

• The per-unit error of the d-axis current controller IdCntrlError.

• The per-unit error of the q-axis current controller IqCntrlError.

## Ports

### Input

expand all

Output DC-link voltage reference, in volts.

Data Types: `single` | `double`

Per-unit reactive power reference.

Data Types: `single` | `double`

Data Types: `single` | `double`

Per-unit measured AC phase voltage.

Data Types: `single` | `double`

Per-unit measured AC phase current.

Data Types: `single` | `double`

### Output

expand all

Per-unit reference voltage.

Data Types: `single` | `double`

Bus containing internal signals for visualization. For a list of signals, see Visualization.

Data Types: `single` | `double`

## Parameters

expand all

To edit block parameters interactively, use the Property Inspector. From the Simulink® Toolstrip, on the Simulation tab, in the Prepare gallery, select .

### General

System frequency, in hertz.

AC filter inductance, in henry.

AC-side base impedance, in ohms.

Proportional gain of the phase-locked loop.

Integral gain of the phase-locked loop.

Time, in seconds, between consecutive block executions. During execution, the block produces outputs and, if appropriate, updates its internal state. For more information, see What Is Sample Time? and Specify Sample Time.

For discrete-time simulation:

• To specify the sample time explicitly, set this parameter to a positive value. This value defines the sample time in seconds.

• To inherit the sample time, set this parameter to `-1`.

For continuous-time simulation, set this parameter to `0`.

### Voltage Controller

Proportional gain of the voltage controller.

Integral gain of the voltage controller.

Derivative gain of the voltage controller.

Derivative voltage controller filter coefficient.

DC bus base voltage, in volts.

Upper limit on the per-unit output of the voltage controller.

Lower limit on the per-unit output of the voltage controller.

### Current Controller

Proportional gain of the d-axis current controller.

Integral gain of the d-axis current controller.

Derivative gain of the d-axis current controller.

Upper limit on the per-unit output of the d-axis current controller.

Lower limit of the per-unit output of the d-axis current controller.

Proportional gain of the q-axis current controller.

Integral gain of the q-axis current controller.

Derivative gain of the q-axis current controller.

Derivative current controller filter coefficient.

Upper limit on the per-unit output of the q-axis current controller.

Lower limit on the per-unit output of the q-axis current controller.

## References

[1] Siva Prasad, J. S., et al. “Vector Control of Three-Phase AC/DC Front-End Converter.” Sadhana, vol. 33, no. 5, Oct. 2008, pp. 591–613. Springer Link, https://doi.org/10.1007/s12046-008-0045-y.

## Version History

Introduced in R2024a