ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

SOGI-FLL 锁相环算法梳理

SOGI-FLL 锁相环算法梳理

本文首发博客园,作者 JustKevinShen - 博客园

点击可查看我的原文:SOGI-FLL 锁相环算法梳理 - JustKevinShen - 博客园

二阶广义积分器 (SOGI),主要作用是对输入的交流信号 $u$ 进行窄带滤波,输出滤波后的一对同相分量 $u_{sogi}$ 和正交分量 $u_{sogi}'$,SOGI 的传递函数为:

$$
\begin{cases}
G_d(s) = \dfrac{\omega_0s}{s^2 + 2\zeta\omega_0s + \omega_0^2} \\[10pt]
G_q(s) = \dfrac{\omega_0^2}{s^2 + 2\zeta\omega_0s + \omega_0^2}
\end{cases}
$$

Park 变换,将 SOGI 的输出经过旋转到 dq 坐标系,从而提取出相位误差值 $e_{\theta}$,用于后面的反馈控制:

$$
\begin{bmatrix} u_d \\ u_q \end{bmatrix} = \begin{bmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{bmatrix} \begin{bmatrix} u_{sogi} \\ u_{sogi}' \end{bmatrix} \\[10pt]
u_d = \cos \theta u_{sogi} - \sin \theta u_{sogi}' \\[10pt]
= V\sin(e_{\theta}) \approx V e_{\theta} \quad (\text{当 }e_{\theta} \text{ 较小时})
$$

PI 控制器,误差反馈控制中常见的控制器,里面包含了积分环节,将 $e_{\theta}$ 作为控制器的输入,将输出频率跟踪值,并最终影响到相位跟踪值,从而形成反馈回路。它的传递函数:

$$
G_{c}(s) = K_p + K_i/s
$$

频率锁定环 (FLL),其中包括了鉴频器和积分器,主要用于将交流信号采样值和 SOGI 的滤波值做了相位偏差值的计算,再对相位偏差积分,得到一个修正后的角频率值 $\omega_0$,这个值用于 SOGI 参数的自适应调节,从而形成反馈回路。并且这个值事实上接近于最终的频率跟踪值,因此可以直接作为前馈叠加到之前的 PI 控制器的输出上,提高跟踪速度。相位偏差的计算可以用下面的公式来描述:

$$
(u - u_{sogi})u_{sogi}'\gamma = V^2(\sin(\phi) - \sin(\phi+\Delta \phi))\cos(\phi+\Delta \phi)\gamma \\[10pt]
= V^2\Big(\sin(\phi+\Delta \phi/2-\Delta \phi/2) - \sin(\phi+\Delta \phi/2+\Delta \phi/2)\Big)\cos(\phi+\Delta \phi)\gamma \\[10pt]
= 2V^2sin(\Delta \phi/2)\cos(\phi+\Delta \phi/2)\cos(\phi+\Delta \phi)\gamma \\[10pt]
\approx V^2\Delta \phi \cos(\phi)^2\gamma \quad (\text{当 }\Delta \phi \text{ 较小时})
$$

适当设置参数 $\gamma$ 的值,来抵消掉 $V^2$ 的增益,其中包含的 $\cos(\phi)^2$ 的波动需要紧接着后面的积分器进行消除。

最终 $\omega_0 / (2\pi)$ 加到 PI 输出上得到锁相环的频率输出 $f_o$,对 $f_o$ 进行积分得到相位跟踪值 $\theta$:

$$
\theta = \int_0^t 2\pi f_o dt
$$

以上所有的环节用框图来表示:

![sogi-fll](https://img2024.cnblogs.com/blog/3225742/202608/3225742-20260817150051300-2101615587.png)

输出交流信号设置为 $10V 50Hz$,运行仿真,得到的结果如下:

![wave1](https://img2024.cnblogs.com/blog/3225742/202608/3225742-20260817150108314-261913783.png)

锁相环能正确追踪到交流信号的频率 $50Hz$ ,并且从误差信号 $u_d$ 的曲线可以看出,大约在 1 个工频周期后,锁相环能准确跟踪到相位值。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进