前一篇已经把 SRF-PLL(同步旋转坐标系锁相环)的原理和参数设计讲得差不多了。这篇文章继续往下走,聊一聊有源电力滤波器(APF)中经常出现的 DSOGI-PLL,也就是双二阶广义积分器锁相环。它的核心价值可以概括成一句话:在三相电网电压不平衡、波形畸变的情况下,仍然能得到稳定、干净、没有二次纹波的正序基波相位。文章会从为什么 SRF-PLL 不够用开始,逐步推导 SOGI 的传递函数,再讲双 SOGI 如何分离正负序,最后给出 MATLAB/Simulink 建模思路和参数调节经验。
1. 为什么有源电力滤波器的锁相要单独做文章
1.1 APF 对锁相环节的需求
有源电力滤波器的主电路拓扑和控制策略有很多种,但不管哪一种,只要补偿指令需要和电网电压或者负载电流保持同步,就离不开锁相环。比较常见的做法是在指令电流计算中用到电网电压的相位,比如基于瞬时无功功率理论的 (p-q) 法、(i_p-i_q) 法,都需要内部生成一组与电网基波电压同步的正余弦信号。锁相锁得准不准,直接影响谐波检测、无功补偿和不平衡补偿的结果。
实际 APF 接入点并不是理想电网。电网电压可能出现三相不平衡、电压跌落、频率波动和谐波污染。尤其当 APF 安装在工业负载附近时,接入点电压往往已经被同一母线上的非线性负载“污染”,波形已经不是纯粹的三相对称正弦波。在这种工况下,如果锁相环只按理想电压设计,补偿效果会大打折扣。
1.2 三相电网不平衡时 SRF-PLL 为什么会出现 2 倍频振荡
SRF-PLL 的基本思路是:先把三相电压从 abc 静止坐标系变换到 αβ 静止坐标系,再通过 Park 变换进入 dq 同步旋转坐标系。理想三相对称电压进入 dq 坐标系后,d 轴和 q 轴分量都是直流量。锁相收敛后,q 轴分量被调节到零,PI 输出就是电网角频率,再经过积分得到相位。
问题出在不平衡工况。三相电压中包含正序分量和负序分量时,正序分量在 dq 坐标系中表现为直流量,负序分量的旋转方向和正序相反。以正序同步旋转坐标系为参考,负序分量相当于一个反向旋转的空间矢量,在 d、q 轴上会表现为 2 倍工频的交流量。对 50Hz 系统来说,就是 100Hz 的脉动分量。
这个 100Hz 分量一旦进入 PLL 的闭环回路,PI 调节器不可能把它完全滤除,于是锁相输出的角度会随负序分量发生周期性的振荡。电压不平衡度越大,这个振荡越明显。APF 如果直接用这种相位生成同步信号,指令电流计算会产生误差,补偿后电网电流中仍然会残留低次谐波和负序分量。
1.3 从 SRF-PLL 到 DSOGI-PLL 的思路
既然问题出在负序分量和谐波分量进入 PLL,最直接的办法是在锁相之前先把“正序基波分量”单独提取出来,再交给 SRF-PLL 去锁相。
DSOGI-PLL 的结构可以分成两大部分:
- 前级:利用两个 SOGI 正交信号发生器,在 αβ 静止坐标系下对电压进行滤波,并且产生互相正交的信号。
- 后级:通过瞬时对称分量法从正交信号中计算正序分量,再送入 SRF-PLL 锁相。
这个方案的好处是,SOGI 本身具有频率选择性,能够抑制高次谐波;正序计算模块又能把负序分量分离出去。相当于把“锁相”要处理的信号预先做了一次净化。下面按信号流顺序展开。
2. SOGI 正交信号发生器的建模分析
2.1 SOGI 的结构和传递函数
SOGI 的全称是 Second Order Generalized Integrator,二阶广义积分器。它在 DSOGI-PLL 中的作用,可以理解成一个频率可调的正交信号发生器:输入一个正弦信号 (v),它输出两个信号,一个与输入同相,记为 (v');另一个滞后 90°,记为 (qv')。
用传递函数表示:
[ H_d(s)=\frac{v'}{v}(s)=\frac{k\omega_0 s}{s^2+k\omega_0 s+\omega_0^2} ]
[ H_q(s)=\frac{qv'}{v}(s)=\frac{k\omega_0^2}{s^2+k\omega_0 s+\omega_0^2} ]
其中:
- (\omega_0):SOGI 的中心角频率,也就是“谐振频率”;
- (k):阻尼系数,它同时决定带宽和动态响应速度。
从表达式看,(H_d(s)) 是一个典型的带通滤波器,(H_q(s)) 则相当于一个低通性质的环节。正因为这个结构对频率很敏感,它能够把输入信号中偏离 (\omega_0) 的分量衰减掉,从而起到滤波作用。
2.2 幅频特性和相频特性
在中心频率 (\omega_0) 处,两个传递函数的特性非常关键。
令 (s=j\omega_0),代入 (H_d(s)),可以得到:
[ H_d(j\omega_0)=1 ]
也就是说,在 SOGI 中心频率处,输出 (v') 的幅值等于输入 (v) 的幅值,相位不发生偏移。
再看 (H_q(s)):
[ H_q(j\omega_0)=-j ]
这说明在中心频率处,(qv') 的幅值也与输入幅值相等,但相位滞后 90°。
这两个特性意味着:
- 当输入信号频率正好等于 (\omega_0) 时,SOGI 输出一对幅值相等、相位差 90° 的正交信号;
- 当输入信号频率偏离 (\omega_0) 时,输出幅值会下降,相位也不再正好是 0° 和 -90°;
- 当输入信号中含有高次谐波时,SOGI 会对这些谐波产生衰减,衰减程度取决于 (k) 的值和频率偏差大小。
2.3 k 参数的选择
观察特征方程:
[ s^2+k\omega_0 s+\omega_0^2 ]
和标准二阶系统特征方程:
[ s^2+2\zeta\omega_n s+\omega_n^2 ]
对比可以发现,如果让 (\omega_n=\omega_0),那么:
[ k=2\zeta ]
工程上经常取阻尼比 (\zeta=0.707),也就是:
[ k=\sqrt{2}\approx 1.414 ]
这个值可以兼顾动态响应和滤波能力。如果 (k) 太小,SOGI 的带宽很窄,滤波效果更好,但动态响应变慢,频率变化时跟踪能力差;如果 (k) 太大,响应更快,但中心频率附近的带宽变大,对谐波和负序分量的抑制能力下降。
3. 双 SOGI 加正负序计算:DSOGI 前级结构
3.1 Clarke 变换与两相静止坐标系
三相三线系统中通常不考虑零序分量。把三相电压经过 Clarke 变换,得到 αβ 坐标系下的两个正交分量:
[ \begin{bmatrix} v_\alpha\ v_\beta \end{bmatrix}
\frac{2}{3} \begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2}\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} \begin{bmatrix} v_a\ v_b\ v_c \end{bmatrix} ]
等幅值 Clarke 变换在实际控制中更常用,因为变换后 αβ 分量的幅值和三相电压相电压幅值一致,后续做标幺化更容易。
得到 (v_\alpha) 和 (v_\beta) 之后,分别送入两个 SOGI-QSG:
- 输入 (v_\alpha) 的 SOGI 输出 (v_\alpha') 和 (qv_\alpha');
- 输入 (v_\beta) 的 SOGI 输出 (v_\beta') 和 (qv_\beta')。
这就是“双 SOGI”名称的由来。
3.2 正序/负序分量提取
在 αβ 静止坐标系下,三相正序分量和负序分量都会形成正交关系,但旋转方向相反。要从中提取正序分量,最常用的是瞬时对称分量法。
定义 (q) 为一个滞后 90° 的算子,那么 (\alpha\beta) 坐标系下的正序电压分量可以表示为:
[ \begin{bmatrix} v_\alpha^+\ v_\beta^+ \end{bmatrix}
\frac{1}{2} \begin{bmatrix} 1 & -q\ q & 1 \end{bmatrix} \begin{bmatrix} v_\alpha\ v_\beta \end{bmatrix} ]
对应的负序电压分量可以表示为:
[ \begin{bmatrix} v_\alpha^-\ v_\beta^- \end{bmatrix}
\frac{1}{2} \begin{bmatrix} 1 & q\ -q & 1 \end{bmatrix} \begin{bmatrix} v_\alpha\ v_\beta \end{bmatrix} ]
实际应用中,(qv_\alpha) 和 (qv_\beta) 就是两个 SOGI-QSG 输出的正交滞后信号。也就是说,不需要额外增加 1/4 个工频周期的延时模块,直接利用 SOGI 的正交输出就能完成正序/负序分离。
这里需要注意,(q) 算子表示滞后 90°,不同资料中的符号定义可能略有差异。建模仿真时,如果发现提取出来的“正序分量”反而含有明显负序,优先检查这个矩阵符号是不是接反了。
3.3 DSOGI-PLL 总体结构
把前面几个模块串联起来,DSOGI-PLL 的整体结构可以看成:
- 三相电网电压 (v_a,v_b,v_c);
- Clarke 变换得到 (v_\alpha,v_\beta);
- 两个 SOGI-QSG 分别产生正交信号;
- 正序计算模块得到 (v_\alpha^+,v_\beta^+);
- Park 变换把正序分量变换到 dq 坐标系;
- PI 调节器控制 q 轴分量为零;
- 输出角频率估计值和相位 (\theta),其中 (\theta) 同时用于 Park 变换,估计角频率用于 SOGI 的频率自适应。
从信号流来看,DSOGI-PLL 确实只是“SRF-PLL 前面加了一个信号预处理前级”,但因为 SOGI 的中心频率要跟随 PLL 估计频率,所以整个系统是闭环的,不能把它简单理解成开环滤波器。
4. DSOGI-PLL 整体建模与小信号分析
4.1 建模分层
做 DSOGI-PLL 的理论建模时,可以把系统拆成几个环节分别处理。
第一个环节是 SOGI-QSG。它是一个二阶动态环节,在同步角频率附近可以等效为幅值增益约等于 1 的滤波器,但在偏离中心频率时存在幅值衰减和相位偏移。
第二个环节是正序计算模块。它在 αβ 静止坐标系下完成正序量提取,本质上是代数运算,不引入额外的动态。
第三个环节是 Park 变换和 PI 调节器。这一部分和普通 SRF-PLL 的后级一致。Park 变换把交流量变成直流量,PI 调节器调节 q 轴误差,输出角频率修正量。
第四个环节是“压控振荡器”或者说数控振荡器,也就是对角频率做积分得到相位:
[ \theta=\int \omega dt ]
在仿真模型里,这个积分环节通常用一个 Integrator 模块实现,初始相位可以根据电网电压的初始相角设置,也可以设成 0,让锁相环自己拉入同步。
4.2 频率自适应与环路耦合
DSOGI-PLL 和固定中心频率 SOGI 滤波器的最大区别在于,SOGI 的 (\omega_0) 不是固定常数,而是来自 PLL 输出的角频率估计值。
当电网频率发生偏移时,锁相环检测到 q 轴误差变化,PI 调节器输出新的角频率,SOGI 的中心频率同步改变。这样即使输入电压频率偏离 50Hz,SOGI 仍然能保持较好的正交输出效果。
这种耦合关系提高了系统的适应性,但也给稳定性分析带来麻烦。严格来说,SOGI 的 (\omega_0) 变成时变量后,不能再用固定系数的线性传递函数描述整个系统。工程