RMS Jitter的定义与计算方法

    Jitter是PLL最重要的指标之一,用于衡量PLL输出时钟的短时稳定性(一般在100ms以下)。Jitter在应用中对接收机误码率,无线电测距的分辨率等都有影响。

    Cadence软件(IC617版本)进行pss和pnoise仿真后可以查看噪声的功率谱密度;同时,在noise summary里面也可以查看积分噪声。之前一时偷懒就没有去积分单边带噪声的功率谱密度,而是将noise summary里的积分噪声当成了总的相位噪声。结果比正确的相位噪声小了58%,前仿直接跌到了TCAS水平(流了片估计要跌到成电学报水平)。前两天才发现在电路仿真方法上面栽了大跟头,意味着之前一个月的优化可能出了方向上的问题,需要重新评估各部分器件对相位噪声的影响。在等待pss和pnoise仿真结果的间隙,简要记录一下Jitter的定义和计算方法。

    IEEE组织在"IEEE Standard Jitter and Phase Noise"[1]里对不同类型的Jitter进行了定义,不过PLL中通常最关心RMS Jitter,并且IEEE的标准通常都晦涩难懂。好在有JESD65B标准可以参考,对于计算RMS Jitter已经够用了。如果要更直观的理解Jitter,可以参考Renesas公司的说明文档[2]

    Jitter的产生是由于电路中存在噪声源。最重要的两种噪声源是热噪声源和闪烁噪声源,这两种噪声属于非相干噪声,即不同的噪声源之间互不影响,独立作用于电路。CMOS集成电路里,闪烁噪声和热噪声主要来源于MOS管,电阻值很大时,电阻的热噪声也不能忽略。除了非相干噪声,电路中也会存在相干噪声,衬底耦合噪声就是一种典型的相干噪声。电路中存在的热噪声和闪烁噪声会产生随机的噪声电流,这些电流的大小和方向全都无法预测,因而对电路的影响也是随机性的。区分随机噪声和确定性噪声的方法是观察它的方向性,对于确定性噪声,其噪声电流或电压一定存在一个固定的或者周期性变化的方向,而随机噪声的方向是不固定的,随机的。

    RMS Jitter用于描述实际信号相比于理想信号的时间抖动,是一个时域参数。假设一个PLL电路工作在2GHz的中心频率下,由于噪声源的存在,它每个周期的频率都不一样,可能是1.998G,也可能是2.001G,并且无法预测(仅限于随机噪声)。随机噪声对Jitter的影响满足正态分布,下图给出了一个直观的图示,描述了时钟周期的抖动:


    接下来参考JESD65B定义给出RMS Jitter在时域上的计算方法。JESD65B标准规定,对信号进行10000次以上的采样,记录下每一个信号的周期(由于噪声源的存在,每个周期都会相较于中心频率有偏移)。对于这10000多个周期,可以算出它的平均值μ,这个值就是中心频率,正常情况下应该等于参考时钟频率的倍数。得到平均值μ以后,不难算出每一个周期相对于中心频率的时间偏移。将这些散点绘制成概率密度函数,可以得到一个近似的正态分布(假设Jitter仅受到随机噪声影响)。这也不难理解,概率论里的中心极限定理证明了大量独立随机变量服从正态分布。按照定义,1σ所表示的时间就是PLL的RMS Jitter。下图清晰的展示了时钟周期的偏移,绝大多数(69%)周期的时间偏移落在1σ范围内,只有少部分偏移在1σ范围以外:

    然而,通过时域来计算RMS Jitter在实际应用中存在问题。首先需要采集大量的点数,计算每个周期的时间要设置合理的阈值电压,对于轨到轨的输出通常是vdd/2。然后,需要对每个周期进行精确的计时,考虑到PLL的频率通常在1GHz或是更高的频率,精确计时非常困难。不过,连续时间的傅里叶变换指出,频域和时域是等价的,因而可以通过频域分析来计算出时域的RMS Jitter。从频域计算RMS Jitter有很多好处,首先设计时可以得知不同偏移频率下的噪声能量,其次在测量的时候可以使用频谱仪,相比时域的计数器精度更高(频谱仪内部有低RMS Jitter的时钟源)。因此,通常先分析频域上的相位噪声(Phase Noise),然后根据相位噪声计算RMS Jitter。

    为了更好的理解相位噪声,首先引入一个单位:dBc。常见的表示功率的单位有dB和dBm,其定义为:

    例如,对于一个1W的功率,它等于0dB,也等于30dBm,在固态电路中更常用的单位其实是dBm,因为功率较小。当然,像微波炉这种东西,它的发射功率可达58dBm,天文数字。回到dBc,dBc定义为在偏移频率处的功率与中心频率处的功率之比。例如,中心频率处功率10dBm,在10KHz频率偏移处的功率为-20dBm,则10KHz处为-30dBc。

    有了dBc这个单位,就可以定义相位噪声了。相位噪声定义为偏移频率处1Hz带宽内的积分功率与载波功率的比值,实际计算时可以直接用该点处的功率减掉载波功率(以dBm为单位)。相位噪声一定是负数(按照dBc/Hz计算),如果算出来一个正数,请检查中心频率。如下图所示,可以得到双边带相位噪声的功率谱密度:


    下面不加(会)证明直接给出RMS Jitter的计算公式,这个公式可以在许多文献中看到。前面已经提到了了双边带相位噪声的定义和计算方法,将其带入公式,RMS Jitter的平方可以写作:

    这个公式中,σ²是RMS Jitter的平方,f0是中心频率;f1和f2是关注的频率下限和频率上限;Sn,MDLL指的是一种锁相环的相位噪声。将σ²开方,可以得到RMS Jitter的数值,一般在几十飞秒到几百皮秒的量级。低于频率下限时由于积分区间很小,相位噪声可以忽略;高于积分上限时相位噪声很小,可以忽略。在锁相环电路中,常常关心10KHz到40MHz的积分噪声。

   至此,关于RMS Jitter就差不多讲完了,至于PLL中的RMS Jitter,是一个相对复杂的模型,包含了许多的噪声源,对于不同的模块,其噪声传递函数也不尽相同。关于MDLL这种特定PLL的Jitter分析以及品质因子(FOM)预测可以参考"Accurate Performance Evaluation of Jitter-Power FOM for Multiplying Delay-Locked Loop"[3]这篇TCAS 1文章。

    科研过程中非常有趣的一点在于,认识到问题之前是不知道会有问题的,在问题解决之前是不知道解决方法的,流片实测之前是不知道结果的。电路出问题以后,90%的可能是电路没做好,10%的可能是仿真工具不完善,而剩下0.1%,是标准存在问题。本次的大麻烦,就源于对相位噪声的理解不够透彻,并且没有进行交叉验证,从而导致了仿真方法上的问题。由于处于初学状态,博文中难免有错,欢迎在评论区指正,提前感谢!


参考来源:

评论

此博客中的热门博文

纪念首次应用非对称加密1周年