关于 spur 转换到 jitter 的计算


之前有写过关于 Reference Spur 的总结,里面有提到关于 spur 与 jitter 的转换,这里具体来谈下由 PLL 的 spur 来计算 peak-peak jitter 的问题

对于 VCO 的输出信号,考虑控制线上存在小的交流分量,此时的 VCO 输出可写为:

VCO 输出-1

其中, ωo 为 VCO 的振荡频率, ωm 为 Vctrl 上的交流分量的频率,Δf 为最大频率偏移, θp  ( 或 Δf/fm )  为最大的相位偏移。

利用三角函数变换以及窄带调频的假设,上式最后可以推出:

VCO 输出-2

可以看到在频谱上对应频偏 +/- ωm  处的幅度为 θp/2, 也即 Lspur=20log(θp/2)

考虑相位到时间的转换,对于 peak-peak jitter:

peak-peak jitter  ,

因此可以得到 Jpp与 Lspur的关系:

Jpp与 Lspur

我们可以通过仿真来验证上面的结果,下图是基本的PLL的电路,其中的 PFD/CP/VCO/DIV 皆为由 verilog-A 搭建的理想时域模型,这里通过在 Vctrl 上叠加一个正弦信号源作为 spur 信号的来源。

PLL verolog-A 时域模型

这里的输入信号为 25MHz ( 也是 Vctrl 上的叠加的信号频率 ). DIV 为5分频,即 VCO 输出在 125MHz。

对 VCO 的输出信号做 FFT 分析,为避免频谱泄露和重复采样,选取 FFT 时间段为质数个周期 ( Reference 时钟周期 ),这里取为61个周期,在抑制直流分量后,得到如下的 fft 频谱:

PLL fft 频谱

可以看到 VCO 的频率处幅度为 -2.339dB, 频偏 25MHz 处幅度为 -44.23dB,  因此 Lspur=-41.891dB, 利用之前推到的 Jpp 与 Lspur 的关系,计算得到 Jpp 约为 41ps

同时我们可以在时域来看实际抖动的大小,以前曾经介绍过matlab计算jitter的方法,这里为了简便,可以直接利用眼图来观测 VCO 输出的峰峰值抖动,如下图所示

PLL 输出眼图

这里直接测知的 Jpp 为37ps, 与之前计算得到的 41ps  还算比较接近,可见之前的峰峰值抖动与参考杂散的关系应是较为合理的。


版权声明: 本站文章版权所有,转载须以超链接形式标明文章原始出处和版权信息。

关于 spur 转换到 jitter 的计算》有4个想法

  1. Simon

    请教一下第一个Jpp的计算中,分子θp为什么要乘2,是因为Vpp=θp,然后正负半边要叠加起来吗?

    回复
    1. windknows 文章作者

      我以前就是用 verilog-a 搭的,基本照着 designer’s guide 上方法。如果你对 matlab 之类很熟的话应该也可以直接用各个模块相噪乘以噪声传函,噪声能量在输出相加积分算jitter。

      回复

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注