Disturbance-Observer-Based PLL#

A phase-locked loop (PLL) is commonly used in grid-following converters to synchronize the converter output with the grid [1]. Here, we represent the PLL using the disturbance observer structure [2], which may be simpler to extend than the classical PLL. Furthermore, this structure allows to see links to synchronization methods used in grid-forming converters, see [3].

Disturbance Model#

Consider the positive-sequence voltage at the point of common coupling (PCC) in general coordinates, rotating at the angular speed \(\omega_\mathrm{c}\). The dynamics of the PCC voltage \(\boldsymbol{u}_\mathrm{g}\) can be modeled using a disturbance model as

(1)#\[\frac{\mathrm{d}\boldsymbol{u}_\mathrm{g}}{\mathrm{d}t} = \mathrm{j}(\omega_\mathrm{g} - \omega_\mathrm{c})\boldsymbol{u}_\mathrm{g}\]

where \(\omega_\mathrm{g}\) is the grid angular frequency. If needed, this disturbance model could be extended, e.g., with a negative-sequence component, allowing to design the PLL for unbalanced grids.

PLL in General Coordinates#

Based on (1), the disturbance observer containing the regular PLL functionality can be formulated as

(2)#\[\frac{\mathrm{d}\hat{\boldsymbol{u}}_\mathrm{g}}{\mathrm{d}t} = \mathrm{j}(\hat{\omega}_\mathrm{g} - \omega_\mathrm{c})\hat{\boldsymbol{u}}_\mathrm{g} + \alpha_\mathrm{g} (\boldsymbol{u}_\mathrm{g} - \hat{\boldsymbol{u}}_\mathrm{g} )\]

where \(\hat{\boldsymbol{u}}_\mathrm{g}\) is the estimated PCC voltage, \(\hat{\omega}_\mathrm{g}\) is the grid angular frequency estimate (either constant corresponding to the nominal value or dynamic from grid-frequency tracking), and \(\alpha_\mathrm{g}\) is the bandwidth. If needed, the disturbance observer can be extended with the frequency tracking as

(3)#\[\frac{\mathrm{d}\hat{\omega}_\mathrm{g}}{\mathrm{d}t} = k_\omega\mathrm{Im}\left\{ \frac{\boldsymbol{u}_\mathrm{g} - \hat{\boldsymbol{u}}_\mathrm{g}}{\hat{\boldsymbol{u}}_\mathrm{g}} \right\}\]

where \(k_\omega\) is the frequency-tracking gain. Notice that (2) and (3) are both driven by the estimation error \(\boldsymbol{u}_\mathrm{g} - \hat{\boldsymbol{u}}_\mathrm{g}\) of the PCC voltage.

PLL in Estimated PCC Voltage Coordinates#

The disturbance observer (2) can be equivalently expressed in estimated PCC voltage coordinates, where \(\hat{\boldsymbol{u}}_\mathrm{g} = \hat{u}_\mathrm{g}\) and \(\omega_\mathrm{c} = \mathrm{d} \hat{\vartheta}_\mathrm{g}/ \mathrm{d} t\), resulting in

(4)#\[\begin{split}\frac{\mathrm{d}\hat{u}_\mathrm{g}}{\mathrm{d}t} &= \alpha_\mathrm{g} \left(\mathrm{Re}\{\boldsymbol{u}_\mathrm{g}\} - \hat{u}_\mathrm{g} \right) \\ \frac{\mathrm{d} \hat{\vartheta}_\mathrm{g}}{\mathrm{d} t} &= \hat{\omega}_\mathrm{g} + \frac{\alpha_\mathrm{g}}{\hat{u}_\mathrm{g}}\mathrm{Im}\{ \boldsymbol{u}_\mathrm{g} \} = \omega_\mathrm{c}\end{split}\]

It can be seen that the first equation in (4) is low-pass filtering of the measured PCC voltage magnitude and the second equation is the conventional angle-tracking PLL. In these coordinates, the frequency tracking (3) reduces to

(5)#\[\frac{\mathrm{d} \hat{\omega}_\mathrm{g}}{\mathrm{d} t} = \frac{k_\omega}{\hat{u}_\mathrm{g} } \mathrm{Im}\{ \boldsymbol{u}_\mathrm{g} \}\]

It can be noticed that the disturbance observer with the frequency tracking equals the conventional frequency-adaptive PLL [1], with the additional feature of low-pass filtering the PCC voltage magnitude. The low-pass filtered PCC voltage can be used as a feedforward term in current control [4].

Linearized Closed-Loop System#

The estimation-error dynamics are analyzed by means of linearization. Using the PCC voltage as an example, the small-signal deviation about the operating point is denoted by \(\Delta \boldsymbol{u}_\mathrm{g} = \boldsymbol{u}_\mathrm{g} - \boldsymbol{u}_\mathrm{g0}\), where \(\boldsymbol{u}_\mathrm{g0}\) is the operating-point quantity. From (1)(3), the linearized model for the estimation-error dynamics is obtained as

(6)#\[\begin{split}\frac{\mathrm{d}\Delta \tilde{\boldsymbol{u}}_\mathrm{g}}{\mathrm{d}t} &= -\alpha_\mathrm{g}\Delta \tilde{\boldsymbol{u}}_\mathrm{g} + \mathrm{j}\boldsymbol{u}_\mathrm{g0} (\Delta \omega_\mathrm{g} - \Delta \hat{\omega}_\mathrm{g}) \\ \frac{\mathrm{d}\Delta \hat{\omega}_\mathrm{g}}{\mathrm{d}t} &= k_\omega\mathrm{Im}\left\{ \frac{\Delta \tilde{\boldsymbol{u}}_\mathrm{g}}{\boldsymbol{u}_\mathrm{g0}} \right\}\end{split}\]

where \(\Delta \tilde{\boldsymbol{u}}_\mathrm{g} = \Delta\boldsymbol{u}_\mathrm{g} - \Delta \hat{\boldsymbol{u}}_\mathrm{g}\) is the estimation error.

First, assume that the grid frequency \(\omega_\mathrm{g}\) is constant and the frequency tracking is disabled. From (6), the closed-loop transfer function from the PCC voltage to its estimate becomes

(7)#\[\frac{\Delta\hat{\boldsymbol{u}}_\mathrm{g}(s)}{\Delta\boldsymbol{u}_\mathrm{g}(s)} = \frac{\alpha_\mathrm{g}}{s + \alpha_\mathrm{g}}\]

It can be realized that both the angle and magnitude of the PCC voltage estimate converge with the bandwidth \(\alpha_\mathrm{g}\).

Next, the frequency-tracking dynamics are also considered. From (6), the closed-loop transfer function from the grid angular frequency to its estimate becomes

(8)#\[\frac{\Delta\hat{\omega}_\mathrm{g}(s)}{\Delta\omega_\mathrm{g}(s)} = \frac{k_\omega}{s^2 + \alpha_\mathrm{g}s + k_\omega}\]

Choosing \(k_\omega = \alpha_\mathrm{pll}^2\) and \(\alpha_\mathrm{g} = 2\alpha_\mathrm{pll}\) yields the double pole at \(s = -\alpha_\mathrm{pll}\), where \(\alpha_\mathrm{pll}\) is the frequency-tracking bandwidth.

This PLL in estimated PCC coordinates is implemented in the class motulator.grid.control.PLL. The Grid-Following Control examples use the PLL to synchronize with the grid.

References