原理
- 同步状态/跟踪状态:相位差在2kπ附近,频率差为0
- 到达上述状态的过程称为捕获过程
- 锁相环的捕获带:delta w的最大值,大于这个值的话就不能捕获
- 鉴相器(PD-phase discriminator):相乘加LPF,相差提取到电压函数sin的相位中
- LP:对PD产生的电压函数进行变换
- VCO:将电压信息转移到瞬时频率上,与电压是一次函数关系(但是输入电压范围有限,才保持线性)
- VCO反馈给PD:PD要的是相位,也就是瞬时频率的积分。最终VCO反馈的是LP输出电压的积分,也就是输入相差的积分。(PID中I的意思)
- 准同步,相差较小时(+30度时,误差5%以内),LP输出值正比于相差
LP原理与FPGA实现
模拟LP
RC/无源比例/有源比例(常用)
- 有源比例传递函数
- 以tau表示的传递函数,从上到下分别是:电压传递/开环相位传递/闭环相位误差/闭环相位传递,具体含义如图:
表格中,理想积分指的是有源比例,对应电路©其中tau的公式如下:
τ
1
=
(
R
1
+
A
R
1
+
R
2
)
C
\tau_{1}=\left(R_{1}+A R_{1}+R_{2}\right) C
τ1=(R1+AR1+R2)C
τ
2
=
R
2
C
\quad \tau_{2}=R_{2} C
τ2=R2C
A是运放的开环增益。
这样带来的问题是,数字滤波器中这些电路参量的意义不明,故引入
ω
n
振荡器中心频率
,
ξ
阻尼系数,通常取
1
2
\omega _{n}振荡器中心频率 ,\xi阻尼系数,通常取\frac{1}{\sqrt2}
ωn振荡器中心频率,ξ阻尼系数,通常取21
以下是转换变量后的传递函数
至此的问题
- ω n 怎么定 \omega_{n}怎么定 ωn怎么定
- s怎么定
- 知道H后filter怎么设计
——2.答:双线性变换变成z式子,就有了离散的F(z)
s
=
2
T
1
−
z
−
1
1
+
z
−
1
s=\frac{2}{T} \frac{1-z^{-1}}{1+z^{-1}}
s=T21+z−11−z−1
z
=
1
+
T
2
s
1
−
T
2
s
z=\frac{1+\frac{T}{2} s}{1-\frac{T}{2} s}
z=1−2Ts1+2Ts
代入\tau式后如下图,得到C的tau\T表达式
信号流图画法参考下图例子:
流图如下:
C的omega\xi表达式:
系统稳定的条件:
锁相环的性能参数:
- 快捕时间:
- 概念:理想二阶锁相环的捕获全过程包含频率捕获与相位捕获两个过程,通常又把保证锁相环只有相位捕获一个过程的最大固有频差称为快捕带,频率捕获过程所需要的时间称为频率捕获时间,相位捕获过程所需要的时间称为快捕时间。通常频率捕获时间远大于相位捕获时间,所以通常所说的捕获时间都是指频率捕获时间,而不考虑相位捕获时间的影响。但在频率捕获时间很短或要求快速相位捕获的情况下,计算相位捕获时间也是必要的。
- 计算:
问题:快捕带应当有什么要求?
当前使用的C1/C2计算方法:
用C的tau表达式
加上xi的固定取值
加上下面这个LP截止频率的式子,确定fc后,即可解出tau1/2,带入C1/C2,即可得到LP式子
下一步就是弄清楚上面这个fc公式的含义
环路滤波器fc公式理解
LP是一个低通滤波器,具体实现中使用IIR滤波器,其波特图示例如下图:
IIR滤波器不具有线性相位,但是同样的幅频条件下所需的阶数小很多。下面是这个低通滤波截止频率的计算过程,源头是有源比例积分滤波器的传递函数(也叫理想积分滤波器):
待定的系数:K,fc,Wn,t1,t2
已有方程个数:3
待定个数:2,可取K,fc、
波特图分析法
- 表示开环传递函数Ho的幅频、相频特性
- 横轴用对数,dB坐标;纵轴用“度”,线性坐标
- 波特准则:利用开环频响来判断闭环的稳定性(锁相环路能否稳定跟踪)
即:如果增益在穿越0dB时(fT),相位滞后小于180度,则稳定。有一定使用条件但是对于锁相环一般都成立 - 相位裕度:其概念等价于上述波特准则
公式:arg[Ho(fT)]+180
如果是正的,则稳定。如果负则不稳定。正的越多越好,说明相位滞后比较少,比较容易稳定。
工程上通常要求相位裕度在30-60度
如何画开环FT(传递函数)的bode图
K = 50 ;
fc = 100 ;
g = tf([K*fc],[1 fc K*fc]) ;
bode(g);
hold on ;
- 解释:tf(numerator,denominator)=tf([K*fc],[1 fc K*fc])
从高次到低次,以数组的形式输入系数。该传递函数是
该式是RC积分滤波器的闭环相位传递函数H(s),推导如下:
绘图代码:
K = 50 ;
fc = 100 ;
g = tf([K*fc],[1 fc K*fc]) ;
bode(g);
hold on ;
fc = 10 ;
g = tf([K*fc],[1 fc K*fc]) ;
bode(g);
hold on ;
fc = 0.1 ;
g = tf([K*fc],[1 fc K*fc]) ;
bode(g);
hold on ;
注意,这里绘制的是闭环ft曲线,不能用bode principle
接下来尝试确定现用的理想积分滤波器fc取值
待定值:K,