单相锁相环,原理与Matlab实现

单相锁相环基本原理

  单相锁相环的基本原理图如下所示, u α u_\alpha uα u β u_\beta uβ经Park变换、PI控制实现对角频率 ω \omega ω和角度 θ \theta θ的估算。不同锁相环方案之间的差异,主要表现在正交电压 u β u_\beta uβ的生成,以下对几种常见方案进行介绍。

延时正交方案

  一种比较直观的方案,是对输入信号 u α u_\alpha uα延时四分之一个周期从而构建正交信号 u β u_\beta uβ,如下所示:

  仿真结果如下:

全通滤波器正交方案

  此外,还可以利用全通滤波器在特定频率 ω 0 \omega_0 ω0处产生-90度相位的特点,构建正交信号。全通滤波器传递函数如下:
H ( s ) = − s + ω 0 s + ω 0 H\left( s \right) = \frac{{ - s + {\omega _0}}}{{s + {\omega _0}}} H(s)=s+ω0−s+ω0

  全通滤波器波特图验证如下:

  波特图代码为:

matlab 复制代码
Ca = tf([-1 2*pi*50],[1 2*pi*50])
bode(Ca)

  对应的仿真框图如下所示(结果图与此前类似,不再展示):

SOGI正交方案

  另一种构建正交的方案,可以采用二阶积分的形式,同时考虑对 u α u_{\alpha} uα进行带通滤波,对应的传递函数如下:

{ H α ( s ) = k ω 0 s s 2 + k ω 0 s + ω 0 2 H β ( s ) = k ω 0 2 s 2 + k ω 0 s + ω 0 2 \left\{ \begin{aligned} {H_\alpha}\left( s \right) = \frac{{k{\omega _0}s}}{{{s^2} + k{\omega _0}s + {\omega 0}^2}} \\ {H\beta}\left( s \right) = \frac{{k{\omega _0}^2}}{{{s^2} + k{\omega _0}s + {\omega _0}^2}} \\ \end{aligned} \right. ⎩ ⎨ ⎧Hα(s)=s2+kω0s+ω02kω0sHβ(s)=s2+kω0s+ω02kω02

  波特图验证如下:

  波特图代码如下:

matlab 复制代码
CaAlpha = tf([0.707*2*pi*50 0], [1 0.707*2*pi*50 (2*pi*50)^2]);
CaBeta = tf([0.707*(2*pi*50)^2], [1 0.707*2*pi*50 (2*pi*50)^2]);
bode(CaAlpha,CaBeta)
legend("CaAlpha","CaBeta")

  对应的仿真框图如下所示:

Park正交方案

  还可以利用,低通滤波+Park反变换,实现正交信号构建,如下所示:

补充说明

  1. 本文侧重点是基本的正交信号生成方案,更多锁相环相关技术,如控制参数设计、其他正交方案等,可移步参考文献1
  2. 锁相环的数字化实现可移步参考文献2,或移步至传递函数离散化方法

参考文献

1 Ciobotaru M , Teodorescu R , Blaabjerg F .A New Single-Phase PLL Structure Based on Second Order Generalized IntegratorJ.IEEE, 2006.DOI:10.1109/PESC.2006.1711988.

2 Han Y , Luo M , Zhao X ,et al.Comparative Performance Evaluation of Orthogonal-Signal-Generators-Based Single-Phase PLL Algorithms---A SurveyJ.IEEE Transactions on Power Electronics, 2015, 31(5):3932-3944.DOI:10.1109/TPEL.2015.2466631.

相关推荐
Warren2Lynch15 小时前
掌握 UML 构造型、标记定义与标记值:面向领域特定建模的 UML 扩展全面指南
大数据·算法·uml
1570925113416 小时前
【无标题】
开发语言·python·算法
稚南城才子,乌衣巷风流16 小时前
换根法(Rerooting)算法详解
算法
晓子文集16 小时前
Tushare接口文档:期货交易日历(fut_trade_cal)
大数据·算法
2zcode16 小时前
项目文档:基于MATLAB最小二乘支持向量机的睡眠分期智能监测系统设计与实现
开发语言·支持向量机·matlab
nbzy88816 小时前
Python与Pandas实战:从设备图片与文本资料中提取生产能力证据并保留复核状态(附源码)
自动化·内容生成·储能压铸零部件
^yi17 小时前
【Linux系统编程】进程状态的理解
算法·僵尸进程·孤儿进程·进程状态·挂起状态·阻塞状态
hhzz18 小时前
机器学习-算法模型系列文章:04-KNN 不做标准化就跑KNN?你的模型正在被一个特征“独裁“
人工智能·算法·机器学习
冻柠檬飞冰走茶18 小时前
PTA基础编程题目集 7-7 12-24小时制(C语言实现)
c语言·开发语言·数据结构·算法
长不胖的路人甲18 小时前
二叉排序树(BST)Java 完整实现 + 删除思路详解
java·开发语言·算法