一种全数字锁相环及其锁相方法与流程

文档序号:11146733阅读:503来源:国知局
一种全数字锁相环及其锁相方法与制造工艺

本发明属于电子技术领域,尤其涉及一种全数字锁相环及其锁相方法。



背景技术:

锁相环是一种能使输出信号在频率和相位上与输入信号同步的电路,即系统进入锁定状态后,输出信号与输入信号之间相差为零,或者保持为常数。

全数字锁相环ADPLL(All Digital Phase-Locked Loop),就是环路部件全部数字化,采用数字鉴相器、数字环路滤波器、数控振荡器构成锁相环路,并且系统中的信号全是数字信号。由于某些应用要求全数字锁相环有一个非常短的锁定时间,因此需要有效加速全数字锁相环的锁定速度。

现有技术中,一种加速全数字锁相环的锁定速度的方法是使用大的环路带宽来加速锁定,但是这种方法减少的锁定时间有限;另一种加速全数字锁相环的锁定速度的方法是通过公式拟合的方法来直接计算目标频率所需要的数控振荡器的控制字,但是计算方法复杂,不合适用在成本和功耗敏感的领域。

综上所述,现有技术中的加速全数字锁相环的锁定速度的方法存在以下缺点:能够减少的锁定时间有限,无法适用于对锁相时间的要求高的场景;目标频率所需要的数控振荡器的控制字的计算太复杂。



技术实现要素:

本发明提供一种全数字锁相环及其锁相方法,能够有效加快锁相速度以及简化锁相计算过程。

为解决上述问题,本发明第一方面提供一种全数字锁相环,所述全数字锁相环包括:

依次串联的鉴频器、数字滤波器、比例积分器、加法器和数控振荡器,以及分别与所述鉴频器、所述数字滤波器、所述比例积分器、所述加法器连接的快速锁定电路,所述数控振荡器的输出端还反馈连接所述鉴频器;

所述鉴频器用于根据输入的频率控制字以及参考时钟计算第一频率差,并将所述第一频率差输出至所述数字滤波器以及所述快速锁定电路;

所述数字滤波器用于当接收到所述第一频率差以及所述快速锁定电路输入的滤波系数时,根据所述滤波系数对所述第一频率差进行滤波,并将滤波后的第二频率差输出至所述比例积分器以及所述快速锁定电路;

所述快速锁定电路用于当接收到所述第一频率差以及所述第二频率差时,根据所述第一频率差、所述第二频率差计算频率基准值,并将所述频率基准值输出至所述加法器;以及用于确定所述比例积分器的使能控制信号,将所述使能控制信号输出至所述比例积分器;其中,当计算得到所述频率基准值时,所述使能信号标识使能状态;

所述比例积分器用于当接收到所述使能控制信号时,对所述第二频率差进行比例积分运算,并将运算结果输出至所述加法器;

所述加法器用于当接收到所述运算结果以及所述频率基准值时,根据所述运算结果以及所述频率基准值进行加法运算得到数控振荡器控制字,并将所述数控振荡器控制字输出至所述数控振荡器;

所述数控振荡器用于当接收到所述数控振荡器控制字时,将所述数控振荡器控制字对应的第一时钟反馈输出至所述鉴频器;

其中,所述第一时钟用于所述鉴频器根据所述第一时钟以及所述频率控制字重新计算所述第一频率差;当重新计算的所述第一频率差小于或等于预设阈值时,所述全数字锁相环完成锁定。

为解决上述问题,本发明第二方面提供一种全数字锁相环的锁相方法,所述全数字锁相环的锁相方法包括:

根据输入的频率控制字以及参考时钟计算第一频率差;

根据滤波系数对所述第一频率差进行滤波得到第二频率差;

根据所述第一频率差、所述第二频率差计算频率基准值;以及确定比例积分器的使能控制信号;其中,当计算得到所述频率基准值时,所述使能信号标识使能状态;

根据所述使能控制信号对所述第二频率差进行比例积分运算,并根据运算结果以及所述频率基准值进行加法运算得到数控振荡器控制字;

根据所述数控振荡器控制字输出所述数控振荡器控制字对应的第一时钟;

其中,所述第一时钟用于所述全数字锁相环根据所述第一时钟以及所述频率控制字重新计算所述第一频率差;当重新计算的所述第一频率差小于或等于预设阈值时,所述全数字锁相环完成锁定。

为解决上述问题,本发明第三方面提供一种调频接收装置,所述一种调频接收装置包括上述全数字锁相环。

相对于现有技术,本实施例中的全数字锁相环通过增加加法器、快速锁定电路,通过快速锁定电路快速计算误差较小的频率基准值,加法器在对该频率基准值进行微调后将其输出至数控振荡器,使得数控振荡器能够根据该误差较小的频率基准值得到的第一时钟与输入鉴频器的频率控制字之差小于或等于预设阈值,该预设阈值能够使得第一时钟与输入鉴频器的频率控制字之差等于零或无限趋近零,能够有效加快锁相速度以及简化锁相计算过程。

附图说明

图1是本发明全数字锁相环一实施例的结构示意图;

图2是图1中快速锁定电路一实施的结构示意图;

图3是本发明全数字锁相环的锁相方法一实施例的流程图;

图4是本发明全数字锁相环的锁相方法另一实施例的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,图1是本发明全数字锁相环一实施例的结构示意图。如图1所示的全数字锁相环100包括依次串联的鉴频器110、数字滤波器120、比例积分器130、加法器140和数控振荡器150,以及分别与鉴频器110、数字滤波器120、比例积分器130、加法器140连接的快速锁定电路160,数控振荡器150的输出端还反馈连接鉴频器110。

鉴频器110用于根据输入的频率控制字FCW以及参考时钟Clock计算第一频率差FDOUT,并将第一频率差FDOUT输出至数字滤波器120以及快速锁定电路160;

数字滤波器120用于当接收到鉴频器110输入的第一频率差FDOUT以及快速锁定电路160输入的滤波系数COEF时,根据滤波系数COEF对第一频率差FDOUT进行滤波,并将滤波后的第二频率差LPFOUT输出至比例积分器130以及快速锁定电路160;

快速锁定电路160用于当接收到鉴频器110输入的第一频率差FDOUT以及数字滤波器120输入的第二频率差LPFOUT时,根据第一频率差FDOUT、第二频率差LPFOUT计算频率基准值XQ,并将频率基准值XQ输出至加法器140;以及用于确定比例积分器130的使能控制信号ENABLE,将使能控制信号ENABLE输出至比例积分器130;其中,快速锁定电路160当计算得到频率基准值XQ时,使能信号ENABLE标识使能状态;

比例积分器130用于当接收到快速锁定电路160输入的使能控制信号ENABLE时,对数字滤波器120输入的第二频率差LPFOUT进行比例积分运算,并将运算结果PIOUT输出至加法器140;

加法器140用于当接收到比例积分器130输入的运算结果PIOUT以及快速锁定电路160输入的频率基准值XQ时,根据运算结果PIOUT以及频率基准值XQ进行加法运算得到数控振荡器控制字DCW,并将数控振荡器控制字DCW输出至数控振荡器150;

数控振荡器150用于当接收到加法器140输入的数控振荡器控制字DCW时,将数控振荡器控制字DCW对应的第一时钟Fdco_out反馈至鉴频器110。

其中,第一时钟Fdco_out用于鉴频器110根据第一时钟Fdco_out以及频率控制字FCW重新计算第一频率差FDOUT;当重新计算的第一频率差FDOUT小于或等于预设阈值时,第一时钟Fdco_out对应的数控振荡器控制字为目标数控振荡器控制字,快速锁定电路160锁定目标数控振荡器控制字对应的目标频率基准值,全数字锁相环100进入锁定状态,持续输出第一时钟。

具体工作原理如下:

当其他电路向锁相环电路输入频率控制字FCW以及参考时钟Clock时,锁相环电路中的鉴频器110根据输入的频率控制字FCW以及参考时钟Clock计算第一频率差FDOUT,其中,FDOUT=X–FCW,X是指第一时钟Fdco_out与参考时钟clock的频率比,即第一时钟Fdco_out的频率除以参考时钟clock的频率得到的商。

鉴频器110在计算得到第一频率差FDOUT时,将第一频率差FDOUT输出至数字滤波器120以及快速锁定电路160。

快速锁定电路160根据工作状态确定滤波系数COEF,并将确定的滤波系数COEF输出至数字滤波器120。

数字滤波器120当接收到鉴频器110输入的第一频率差FDOUT以及快速锁定电路160输入的滤波系数COEF时,根据滤波系数COEF对第一频率差FDOUT进行滤波,在滤除第一频率差FDOUT中的高频信号之后得到第二频率差LPFOUT,并将滤波后的第二频率差LPFOUT输出至比例积分器130以及快速锁定电路160。

其中,数字滤波器120可以是N个级联的系数可变的低通滤波器,例如,递归滤波器IIR。

快速锁定电路160当接收到鉴频器110输入的第一频率差FDOUT以及数字滤波器120输入的第二频率差LPFOUT时,根据第一频率差FDOUT、第二频率差LPFOUT采用弦割法计算频率基准值XQ,并将频率基准值XQ输出至加法器140。

快速锁定电路160的工作原理和实现方法如下:

由于全数字锁相环的最终目的是使数控震荡器150的输出的第一时钟Fdco_out与参考时钟clock的频率比,和频率控制字FCW一致,即:

0=X–FCW (1)

其中,X是指第一时钟Fdco_out与参考时钟clock的频率比,即第一时钟Fdco_out的频率除以参考时钟clock的频率得到的商。

由于参考时钟Clock的频率恒定,因此,X只是与DCW的输出频率线性相关,假设:X=freq_fdco_out×a+b (2)

其中,a和b是常数。

由上文可以知道,由于工艺、温度、电压、匹配度等等的影响,导致数控震荡器150的输出频率与DCW的关系是非线性的,因此有

Freq_Fdco_out=F(DCW,P,V,T…)

其中F(DCW,P,V,T…)是指以DCW,工艺参数P,电压参数V,温度参数T等等为自变量的非线性方程。而在快速锁定过程中,由于时间非常短,我们可以假定P,V,T等自变量是恒定不变的常数,因此上述公式可以简化为:

Freq_Fdco_out=f(DCW) (3)

联立(1)~(3)式,可以得到0=f(DCW)×a+b–FCW (4)

令g(DCW)=f(DCW)×a+b,代入式(4),有0=g(DCW)-FCW (5)

公式(5)是一个非线性方程,通过求解这个非线性方程,即可以得到一个DCW,使得该非线性方程的输出为0。

最后将求解得到的DCW输入数控振荡器150,即可以完成全数字锁相环的锁定。

快速锁定电路160确定比例积分器130的使能控制信号ENABLE,将使能控制信号ENABLE输出至比例积分器130。其中,快速锁定电路160当计算得到频率基准值XQ之后,输出的使能信号ENABLE标识使能状态;否则,输出的使能信号ENABLE标识非使能状态。

比例积分器130当接收到快速锁定电路160输入的使能控制信号ENABLE时,对数字滤波器120输入的第二频率差LPFOUT进行比例积分运算,并将运算结果PIOUT输出至加法器140。

其中,比例积分器130的比例积分运算计算公式如下:

(ENABLE==1,标识使能状态)

PIOUT=0 (ENABLE==0,标识非使能状态)

其中,input是从数字滤波器120输入的第二频率差LPFOUT;PIOUT为运算结果;a和p是系数,由系统的带宽需求确定。

加法器140当接收到比例积分器130输入的运算结果PIOUT以及快速锁定电路160输入的频率基准值XQ时,根据运算结果PIOUT以及频率基准值XQ进行加法运算得到数控振荡器控制字DCW,并将数控振荡器控制字DCW输出至数控振荡器150。

数控振荡器150当接收到加法器140输入的数控振荡器控制字DCW时,将数控振荡器控制字DCW对应的第一时钟Fdco_out反馈输出至鉴频器110。

其中,数控振荡器150能够根据数控振荡器控制字DCW输出一个与其对应的第一时钟Fdco_out,DCW越大时,输出的第一时钟对应的频率越快。

在不考虑其他非线性因素的理想情况时,数控振荡器150的输出频率符合以下公式:freq_Fdco_out=DCW×K+C,C为一个固定的频率,K为频率增益。

但是由于工艺、温度、电压、匹配度等等的影响,实际数控震荡器150的输出和理想值有一定的偏差。数控振荡器控制字DCW和freq_Fdco_out之间是非线性的对应关系。

其中,第一时钟Fdco_out用于鉴频器110根据第一时钟Fdco_out以及频率控制字FCW重新计算第一频率差FDOUT;当重新计算的第一频率差FDOUT小于或等于预设阈值时,第一时钟Fdco_out对应的数控振荡器控制字为目标数控振荡器控制字,快速锁定电路160锁定目标数控振荡器控制字对应的目标频率基准值,全数字锁相环100进入锁定状态,持续输出第一时钟;当重新计算的第一频率差FDOUT大于预设阈值时,快速锁定电路160当接收到鉴频器110输入的第一频率差FDOUT以及数字滤波器120输入的第二频率差LPFOUT时,根据第一频率差FDOUT、第二频率差LPFOUT采用弦割法计算频率基准值XQ,直到能够使得数字振荡器150由频率基准值XQ与比例积分运算结果PIOUT进行加法运算后得到的数控振荡器控制字DCW,输出的第一时钟Fdco_out与输入鉴频器110的频率控制字FCW直接的频率差小于或等于预设阈值为止,以使得全数字锁相环最终锁定的第一时钟Fdco_out等于频率控制字FCW之差为零或无线趋近于零。

进一步地,在另一种实施例中,快速锁定电路160还可以包括初始化模块161、迭代计算模块162、误差校正模块163以及控制模块164;迭代计算模块162连接初始化模块161以及误差校正模块163,控制模块164分别连接初始化模块161、迭代计算模块162以及误差校正模块163;初始化模块161还连接鉴频器110,以接收鉴频器110输入的第一频率差FDOUT;迭代计算模块162以及误差校正模块163还连接数字滤波器120,以接收数字滤波器120输入的第二频率差LPFOUT,控制模块164还连接数字滤波器120、比例积分器130以及加法器140;以向数字滤波器120输出确定的滤波系数COEF,向比例积分器130输出使能控制信号ENABLE,向加法器140输出频率基准值XQ。

初始化模块161用于当接收到鉴频器110输入的第一频率差时,根据第一频率差计算迭代初始值,并将迭代初始值输出至迭代计算模块162以及控制模块164。

迭代计算模块162用于当接收到初始化模块161输入的迭代初始值,数字滤波器120输入的第二频率差LPFOUT时,根据迭代初始值、第二频率差LPFOUT进行迭代运算计算初始频率基准值,并将初始频率基准值输出至误差校正模块163。

误差校正模块163用于当接收到迭代计算模块162输入的初始频率基准值,以及数字滤波器120输入的第二频率差LPFOUT时,根据第二频率差LPFOUT对初始频率基准值进行校正得到频率基准值XQ。

控制模块164用于当接收到迭代计算模块162输入的迭代初始值或迭代计算模块162输入的初始频率基准值时,向数字滤波120器输出确定的滤波系数;以及用于向比例积分器130输出使能控制信号ENABLE以及向加法器140输出频率基准值XQ,其中,控制模块164当接收到误差校正模块163输入的频率基准值时,输出的使能信号标识使能状态,否则,输出的使能信号标识非使能状态。

进一步地,控制模块164用于当初始化模块161输入迭代初始值时,将滤波系数COEF设置为第一滤波系数;当迭代计算模块162输入初始频率基准值时,将滤波系数COEF设置为第二滤波系数;其中,第一滤波系数大于第二滤波系数。

进一步地,数字滤波器120具体用于根据控制模块164输入的第一滤波系数或第二滤波系数对第一频率差进行滤波得到第二频率差。

具体工作原理如下:

初始化模块161当接收到鉴频器110输入的第一频率差时,根据第一频率差计算迭代初始值,并将迭代初始值输出至迭代计算模块162和控制模块164。

例如,初始化模块161根据公式max(DCW)表示数控振荡器控制字DCW能达到的最大值,并将X0识别为第一初始频率基准值XQ1,将XQ1与PIOUT相加后得到DCW1并输出到数控振荡器150,此时PIOUT为0(当快速锁定电路160的误差校正模块164完成计算之前,PIOUT均为0),数控震荡器150根据DCW1输出一个时钟fdco_out1到鉴频器110,鉴频器110根据fdco_out1的频率、参考时钟clock的频率以及频率控制字FCW计算频率差,得到第一初始频率差,并将其记为Y0

初始化模块161判断Y0是否大于零,并根据判断结果确定X1(第二初始频率基准值XQ2),并将XQ2与PIOUT相加后得到DCW2并输出到数控振荡器150,此时PIOUT为0,数控震荡器150根据DCW2输出一个时钟fdco_out2到鉴频器110,鉴频器110根据fdco_out2的频率、参考时钟clock的频率以及频率控制字FCW计算频率差,得到第二初始频率差,并将其记为Y1。其中,当Y0大于零时,当Y0小于或等于零时,

X0的取值和X1的取值为实验得到的最优值,也可以取其他任意值,例如0到max(DCW)之间的任意两个不同的值。

具体地,由于没办法对数控振荡器150进行准确的建模,下面只是以一个非线性方程来举个例子:

假设FCW=448,

公式(5)0=g(DCW)-FCW可以写成:

求解上述非线性方程(6)即可以得出一个DCW,使得结果为0。

假设DCW的取值范围是1~1024的所有整数,计算过程如下:

假设,鉴相器的输出

X0=max(DCW)/2=1024/2=512;将X0代入公式(7)进行计算,来模仿鉴频器的计算结果,得到以下的值:Y0=65.152。由于Y0>0,所以有=512-128=384。

将X1代入公式(7)进行计算,来模仿鉴频器的计算结果,得到以下的值:Y1=-93.4252。

初始化模块161将第一初始迭代值(X0,Y0)、第二初始迭代值(X1,Y1)输入迭代计算模块162以及控制模块164。

控制模块164接收到初始化模块161输入的第一初始迭代值(X0,Y0)、第二初始迭代值(X1,Y1)时,识别为迭代计算模块162即将开始进行迭代运算,由于此时迭代计算模块162的迭代计算过程对噪声不是特别敏感,所以可以选择使数字滤波器120带宽较大的第一滤波系数COEF1,加速迭代计算的过程。控制模块164还向比例积分器130输出使能控制信号ENABLE,此时,使能控制信号ENABLE标识非使能状态。

迭代计算模块162当接收到初始化模块161输入的第一初始迭代值(X0,Y0)、第二初始迭代值(X1,Y1)、数字滤波器120根据控制模块164输入的第一滤波系数COEF1对数字滤波器120输入的第一频率差FDOUT进行滤波得到的第二频率差LPFOUT时,根据第一初始迭代值(X0,Y0)、第二初始迭代值(X1,Y1)、第二频率差LPFOUT迭代运算计算初始频率基准值。其中,迭代计算模块162可以采用弦割法进行迭代运算。

例如,迭代计算模块162初始化i=2,读入初始化计算模块161输入的(X0,Y0)、(X1,Y1),计算DeltaX=nearest(Y(i-1)*(X(i-1)-X(i-2))/(Y(i-1)-Y(i-2)))。其中,nearest(x)表示对x四舍五入取整,例如nearest(1.4)=1;nearest(-1.6)=-2。

取整的步骤不是必须的,如果数控振荡器控制字DCW支持小数输入,则不必取整。

迭代计算模块162确定DeltaX的绝对值|DealtaX|,并判断|DealtaX|是否小于N或判断i是否大于i_max。其中|DealtaX|表示对DeataX取绝对值,比如|-1|=1;|2|=2。N以及i_max为预设的数值,N为最小步进,通过实验决定,例如可以将N设为3;i_max指迭代的最大次数,通过实验决定,例如20。

当|DealtaX|小于N或i大于i_max时,完成迭代运算,将上一次的计算结果X(i-1),Y(i-1)输出至误差计算模块163。

当|DealtaX|大于或等于N,或者i小于或等于i_max时,根据公式Xi=X(i-1)-DeltaX,计算Xi第i初始频率基准值XQi),将XQi与PIOUT相加后得到DCWi并输出到数控振荡器150,此时PIOUT为0,数控震荡器150根据DCWi输出一个时钟fdco_outi到鉴频器110,鉴频器110根据fdco_outi的频率、参考时钟clock的频率以及频率控制字FCW计算频率差,得到第二初始频率差,并经过数字滤波器120对其滤波得到Yi,在i的基础上递增1(i=i+1)后,重新计算DeltaX=nearest(Y(i-1)*(X(i-1)-X(i-2))/(Y(i-1)-Y(i-2))),重新确定DeltaX的绝对值|DealtaX|,并判断|DealtaX|是否小于N或判断i是否大于i_max。

当|DealtaX|小于N或i大于i_max时,完成迭代运算,将上一次的计算结果X(i-1),Y(i-1)输出至误差计算模块163,此时i=i+1。

当|DealtaX|大于或等于N,或者i小于或等于i_max时,根据公式Xi=X(i-1)-DeltaX,计算Xi并通过Xi、频率控制字FCW模拟鉴频器110计算频率差,并经过数字滤波器120对其滤波得到Yi,在i=i+1的基础上递增1(i=(i+1)+1),如此循环,直到当|DealtaX|小于N或i大于i_max时,完成迭代运算,将上一次的计算结果X(i-1),Y(i-1)输出至误差计算模块163。

具体地,迭代计算模块162初始化i=2,读入初始化模块161计算得到的第一初始迭代值(X0,Y0)=(512,65.152)、第二初始迭代值(X1,Y1)=(384,-93.4252);计算DeltaX=nearest(Y(i-1)*(X(i-1)-X(i-2))/(Y(i-1)-Y(i-2)))=nearest(Y1*(X1-X0)/(Y1-Y0))=-76。

由于|DealtaX|不小于3,计算X2,X2=X1–(-76)=384+76=460。

将X2代入上述公式(7)进行计算,来模仿数字滤波器120的计算结果,得到以下的值:Y2=-1.0545。

计算i=i+1=2+1=3;

计算DealtaX;DeltaX=nearest(Y(i-1)*(X(i-1)-X(i-2))/(Y(i-1)-Y(i-2)))

=nearest(Y2*(X2-X1)/(Y2-Y1))=-1。

由于|DealtaX|小于3,完成迭代计算,将上一次的结果X2,Y2识别为初始频率基准值,将X2,Y2输出至误差计算模块163以及控制模块164。

迭代计算模块162将迭代运算结果X(i-1),Y(i-1)输出至误差计算模块163以及控制模块164。

控制模块164接收到迭代计算模块162输入的迭代运算结果X(i-1),Y(i-1)时,识别为误差校正模块163即将开始进行误差校正,由于此时误差校正模块163的误差校正过程对噪声比较敏感,所以可以选择使数字滤波器120带宽较小的第二滤波系数COEF2,减少噪声对误差校正的影响。其中,第一滤波系数COEF1对应的滤波器带宽大于第二滤波系数COEF2对应的滤波器带宽。

控制模块164还向比例积分器130输出使能控制信号ENABLE,此时,使能控制信号ENABLE标识非使能状态。

误差校正模块163当接收到迭代计算模块162输入的迭代运算结果X(i-1),Y(i-1),以及数字滤波器120根据控制模块164输入的第二滤波系数COEF2对数字滤波器120输入的第一频率差FDOUT进行滤波得到的第二频率差LPFOUT时,根据第二频率差LPFOUT对X(i-1),Y(i-1)进行校正得到频率基准值XQ。

例如,误差校正模块163初始化k=1,读入迭代计算模块162的输出结果X(i-1)、Y(i-1),初始化Z(0)=X(i-1),初始化Q(0)=Y(i-1)

误差校正模块163计算Z(k)=Z(k-1)–1×sign(Q(k-1)),并通过Z(k)、频率控制字FCW模拟鉴频器110计算频率差,并经过数字滤波器120对其滤波得到Q(k)。其中,sign(x)表示求x的符号,例如sign(-2)=-1;sign(4)=1。

误差校正模块163在计算得到Q(k)后,判断Sign(Q(k-1))是否约等于Sign(Q(k)),当Sign(Q(k-1))~=Sign(Q(k))时,判断|Q(k)|是否大于|Q(k-1)|,当|Q(k)|大于|Q(k-1)|时,完成误差校正,Z(k-1)为终解;当|Q(k)|小于或等于|Q(k-1)|时,完成误差计算,Z(k)为终解。其中,|Q(k)|是指对Q(k)取绝对值。

当Sign(Q(k-1))~≠Sign(Q(k))时,在k的基础上递增1,即k=k+1。

当k=k+1时,重新计算Z(k)=Z(k-1)–1×sign(Q(k-1)),并通过Z(k)、频率控制字FCW模拟鉴频器110计算频率差,并经过数字滤波器120对其滤波得到Q(k)。其中,sign(x)表示求x的符号,例如sign(-2)=-1;sign(4)=1。

误差校正模块163在计算得到Q(k)后,判断Sign(Q(k-1))是否约等于Sign(Q(k)),当Sign(Q(k-1))~=Sign(Q(k))时,判断|Q(k)|是否大于|Q(k-1)|,当|Q(k)|大于|Q(k-1)|时,完成误差校正,Z(k-1)为终解;当|Q(k)|小于或等于|Q(k-1)|时,完成误差计算,Z(k)为终解。其中,|Q(k)|是指对Q(k)取绝对值。

当Sign(Q(k-1))~≠Sign(Q(k))时,在k=k+1的基础上递增1,即k=(k+1)+1,并重新计算Z(k)=Z(k-1)–1×sign(Q(k-1)),并通过Z(k)、频率控制字FCW模拟鉴频器110计算频率差,并经过数字滤波器120对其滤波得到Q(k),判断Sign(Q(k-1))是否约等于Sign(Q(k)),如此循环,直到当Sign(Q(k-1))~=Sign(Q(k))时,完成误差计算,确定Z(k)或Z(k-1)为终解。

具体地,误差校正模块163初始化k=1,获取迭代计算模块162计算得到的迭代运算结果X2=460、Y2=-1.0545,初始化Z(0)=X(3-1)=460,初始化Q(0)=Y(3-1)=-1.0545,并计算Z(k)

其中,Z(k)=Z1=Z(k-1)–1*sign(Q(k-1))=Z0–1*sign(Q0)=460–1*(-1)=461。将Z1代入式(7)进行计算,来模仿数字滤波器的计算结果,得到Q1=0.2052。

误差校正模块163判断Sign(Q(k-1))是否不等于Sign(Q(k)),

由于Sign(Q(0))~=Sign(Q(1)),判断|Q(k)|是否大于|Q(k-1)|,即比较Q0和Q1的绝对值。由于Q(0)=-1.0545,Q1=0.2052,因此,|Q1|<|Q0|,所以Z(1)=461即为最终的解。

误差校正模块163将Z(k)或Z(k-1)识别为校正得到频率基准值XQ,并将校正得到的XQ输出至控制模块164。

控制模块164接收到误差校正模块163输入的校正得到频率基准值XQ时,向比例积分器130输出的使能控制信号ENABLE标识使能状态;以及将校正得到频率基准值XQ输出至加法器140,以使得加法器140当接收到比例积分器130输入的运算结果PIOUT以及快速锁定电路160输入的频率基准值XQ时,能够根据运算结果PIOUT以及频率基准值XQ进行加法运算得到数控振荡器控制字DCW,并将数控振荡器控制字DCW输出至数控振荡器150,使得数控振荡器150当接收到加法器140输入的数控振荡器控制字DCW时,将数控振荡器控制字DCW对应的第一时钟Fdco_out反馈输出至鉴频器110。

其中,第一时钟Fdco_out用于鉴频器110根据第一时钟Fdco_out以及频率控制字FCW重新计算第一频率差FDOUT;当重新计算的第一频率差FDOUT小于或等于预设阈值时,第一时钟Fdco_out对应的数控振荡器控制字为目标数控振荡器控制字,快速锁定电路160锁定目标数控振荡器控制字对应的目标频率基准值,全数字锁相环100进入锁定状态,持续输出第一时钟。

需要说明的是,在发明实施例中,鉴频器110、数字滤波器120、比例积分器130、数控振荡器150的结构组成及其工作原理与现有技术相同,具体请参阅现有技术中的全数字锁相环的相关描述,此处不赘述。

相对于现有技术,本实施例中的全数字锁相环通过增加加法器、快速锁定电路,通过快速锁定电路快速计算误差较小的频率基准值,加法器在对该频率基准值进行微调后将其反馈输出至数控振荡器,使得数控振荡器能够根据该误差较小的频率基准值得到的第一时钟的频率与输入鉴频器的频率控制字之差小于或等于预设阈值,该预设阈值能够使得第一时钟与输入鉴频器的频率控制字之差等于零或无限趋近零,能够有效加快锁相速度以及简化锁相计算过程。

请参阅图3,图3是本发明全数字锁相环的锁相方法一实施例的流程图。本实施例中的全数字锁相环的锁相方法的执行主体为全数字锁相环。如图3所示的全数字锁相环的锁相方法包括以下步骤:

S101:根据输入的频率控制字以及参考时钟计算第一频率差。

全数字锁相环获取频率控制字以及参考时钟,根据频率控制字以及参考时钟计算第一频率差FDOUT。

例如,在调频((Frequency Modulation,FM)信号接收器中,需要一个87.5MHz~108MHz的本地震荡信号。假设片上系统使用了一个12MHz的晶振作为全数字锁相环的输入。那么此时的频率控制字FCW的范围为87.5MHz/12MHz~108MHz/12MHz。全数字锁相环就会根据频率控制字FCW输出对应的时钟,使得鉴频器的输出接近零。

假设频率控制字用FCW表示,参考时钟用Clock表示,那么,第一频率差FDOUT=X–FCW,X是第一时钟Fdco_out与参考时钟clock的频率比,即第一时钟Fdco_out的频率除以参考时钟clock的频率得到的商。Fdco_out为数字振荡器输出的时钟信号。

S102:根据滤波系数对所述第一频率差进行滤波得到第二频率差。

全数字锁相环获取数字滤波器的滤波系数,并根据滤波系数第一频率差FDOUT进行滤波,在滤除第一频率差FDOUT中的高频信号之后得到第二频率差LPFOUT。

S103:根据所述第一频率差、所述第二频率差计算频率基准值;以及确定比例积分器的使能控制信号;其中,当计算得到所述频率基准值时,所述使能信号标识使能状态。

全数字锁相环根据第一频率差FDOUT、数字滤波器120滤波后得到的第二频率差LPFOUT采用弦割法计算频率基准值XQ。

全数字锁相环计算频率基准值XQ的方法如下:

由于全数字锁相环的最终目的是使数控震荡器的输出的第一时钟Fdco_out与参考时钟clock的频率比,和频率控制字FCW一致,即:

0=X–FCW (1)

其中,X是第一时钟Fdco_out与参考时钟clock的频率比,即第一时钟Fdco_out的频率除以参考时钟clock的频率得到的商。

由于参考时钟Clock的频率恒定,因此,X只是与DCW的输出频率线性相关,假设:X=freq_fdco_out×a+b (2)

其中,a和b是常数。

由上文可以知道,由于工艺、温度、电压、匹配度等等的影响,导致数控震荡器的输出频率与DCW的关系是非线性的,因此有

Freq_Fdco_out=F(DCW,P,V,T…)

其中,F(DCW,P,V,T…)是指以DCW,工艺参数P,电压参数V,温度参数T等等为自变量的非线性方程。而在快速锁定过程中,由于时间非常短,我们可以假定P,V,T等自变量是恒定不变的常数,因此上述公式可以简化为

Freq_Fdco_out=f(DCW) (3)

联立(1)~(3)式,可以得到:0=f(DCW)×a+b–FCW (4)

令g(DCW)=f(DCW)×a+b,代入式(4),有0=g(DCW)-FCW (5)

公式(5)是一个非线性方程,通过求解这个非线性方程,即可以得到一个DCW,使得该非线性方程的输出为0。

最后将求解得到的DCW输入数控振荡器,即可完成全数字锁相环的锁定。

全数字锁相环确定比例积分器的使能控制信号ENABLE。其中,当计算得到频率基准值XQ之后,获取到的使能信号ENABLE标识使能状态;否则,获取到的使能信号ENABLE标识非使能状态。

S104:根据所述使能控制信号对所述第二频率差进行比例积分运算,并根据运算结果以及所述频率基准值进行加法运算得到数控振荡器控制字。

全数字锁相环根据比例积分器的使能控制信号ENABLE对第二频率差LPFOUT进行比例积分运算,得到运算结果PIOUT,并根据运算结果PIOUT以及计算得到的频率基准值XQ进行加法运算得到数控振荡器控制字DCW。

其中,全数字锁相环根据比例积分器的使能控制信号ENABLE对第二频率差LPFOUT进行比例积分运算的计算公式如下:

(ENABLE==1,标识使能状态)

PIOUT=0 (ENABLE==0,标识非使能状态)

其中,input是第二频率差LPFOUT;PIOUT为运算结果;a和p是系数,由系统的带宽需求确定。

S105:根据所述数控振荡器控制字输出所述数控振荡器控制字对应的第一时钟。

全数字锁相环数控振荡器控制字输出数控振荡器控制字对应的第一时钟Fdco_out,并将该第一时钟Fdco_out识别下一轮循环的参考时钟,返回步骤S101,进入下一循环。

其中,第一时钟用于全数字锁相环返回步骤S101根据第一时钟Fdco_out以及频率控制字FCW重新计算第一频率差FDOUT。当重新计算的第一频率差FDOUT小于或等于预设阈值时,第一时钟Fdco_out对应的数控振荡器控制字为目标数控振荡器控制字,全数字锁相环完成锁定;当重新计算的第一频率差大于所述预设阈值时,执行;执行步骤S102~S105进入下一循环。其中,预设阈值能够使得第一时钟与输入鉴频器的频率控制字之差等于零或无限趋近零。

上述方案,全数字锁相环采用迭代运算计算频率基准值,使得根据频率基准值得到的第一时钟与输入鉴频器的频率控制字之差小于或等于预设阈值,该预设阈值能够使得第一时钟与输入鉴频器的频率控制字之差等于零或无限趋近零,因此,能够有效加快锁相速度以及简化锁相计算过程。

请参阅图4,图4是本发明全数字锁相环的锁相方法另一实施例的流程图。本实施例中的全数字锁相环的锁相方法的执行主体为全数字锁相环。如图4所示的全数字锁相环的锁相方法包括以下步骤:

S201:根据输入的频率控制字以及参考时钟计算第一频率差。

全数字锁相环获取频率控制字以及参考时钟,根据频率控制字以及参考时钟计算第一频率差FDOUT。

例如,在调频((Frequency Modulation,FM)信号接收器中,需要一个87.5MHz~108MHz的本地震荡信号。假设片上系统使用了一个12MHz的晶振作为全数字锁相环的输入。那么此时的频率控制字FCW的范围为87.5MHz/12MHz~108MHz/12MHz。全数字锁相环就会根据频率控制字FCW输出对应的时钟,使得鉴频器的输出接近零。

假设频率控制字用FCW表示,参考时钟用Clock表示,那么,第一频率差FDOUT=X–FCW,X是第一时钟Fdco_out与参考时钟clock的频率比,即第一时钟Fdco_out的频率除以参考时钟clock的频率得到的商。Fdco_out为数字振荡器输出的时钟信号。

S202:根据滤波系数对所述第一频率差进行滤波得到第二频率差。

全数字锁相环获取数字滤波器的滤波系数,并根据滤波系数第一频率差FDOUT进行滤波,在滤除第一频率差FDOUT中的高频信号之后得到第二频率差LPFOUT。

进一步地,步骤S202具体为:根据第一滤波系数或第二滤波系数对第一频率差进行滤波得到第二频率差。其中,第一滤波系数对应的滤波器带宽大于第二滤波系数对应的滤波器带宽。当全数字锁相环进行迭代运算时对应第一滤波系数,当进行误差校正计算时,对应第二滤波系数。

S203:根据所述第一频率差、所述第二频率差计算频率基准值;以及确定比例积分器的使能控制信号;其中,当计算得到所述频率基准值时,所述使能信号标识使能状态。

全数字锁相环根据第一频率差FDOUT、数字滤波器120滤波后得到的第二频率差LPFOUT采用弦割法计算频率基准值XQ。

全数字锁相环计算频率基准值XQ的方法如下:

由于全数字锁相环的最终目的是使数控震荡器的输出的第一时钟Fdco_out与参考时钟clock的频率比,和频率控制字FCW一致,即:

0=X–FCW (1)

其中,X是指第一时钟Fdco_out与参考时钟clock的频率比,即第一时钟Fdco_out的频率除以参考时钟clock的频率得到的商。

由于参考时钟Clock的频率恒定,因此,X只是与DCW的输出频率线性相关,假设:X=freq_fdco_out×a+b (2)

其中,a和b是常数。

由上文可以知道,由于工艺、温度、电压、匹配度等等的影响,导致数控震荡器的输出频率与DCW的关系是非线性的,因此有:

Freq_Fdco_out=F(DCW,P,V,T…)

其中F(DCW,P,V,T…)是指以DCW,工艺参数P,电压参数V,温度参数T等等为自变量的非线性方程。而在快速锁定过程中,由于时间非常短,我们可以假定P,V,T等自变量是恒定不变的常数,因此上述公式可以简化为:

Freq_Fdco_out=f(DCW) (3)

联立(1)~(3)式,可以得到:0=f(DCW)×a+b–FCW (4)

令g(DCW)=f(DCW)×a+b,代入式(4),有0=g(DCW)-FCW (5)

公式(5)是一个非线性方程,通过求解这个非线性方程,即可以得到一个DCW,使得该非线性方程的输出为0。

最后将求解得到的DCW输入数控振荡器,即可完成全数字锁相环的锁定。

全数字锁相环确定比例积分器的使能控制信号ENABLE。其中,当计算得到频率基准值XQ之后,获取到的使能信号ENABLE标识使能状态;否则,获取到的使能信号ENABLE标识非使能状态。

S2031:根据所述第一频率差计算迭代初始值,并确定比例积分器的使能控制信号。

例如,全数字锁相环获取到第一频率差时,根据第一频率差计算迭代初始值。全数字锁相环确定比例积分器的使能控制信号ENABLE标识非使能状态。

进一步地,步骤S2031包括:根据所述数控振荡器控制字的最大值计算第一初始迭代值;根据所述第一初始迭代值确定第二初始迭代值。

例如,假设第一频率差为零,根据公式max(DCW)表示数控振荡器控制字DCW能达到的最大值,并将X0识别为第一初始频率基准值XQ1,全数字锁相环将XQ1与PIOUT相加后得到DCW1,此时PIOUT为零;获取DCW1对应的时钟fdco_out1,根据fdco_out1的频率、参考时钟clock的频率以及频率控制字FCW计算频率差,得到第一初始频率差,将其记为Y0

全数字锁相环判断Y0是否大于零,并根据判断结果确定X1(第二初始频率基准值XQ2),将XQ2与PIOUT相加后得到DCW2,此时PIOUT为零;获取DCW2对应的时钟fdco_out2,根据fdco_out2的频率、参考时钟clock的频率以及频率控制字FCW计算频率差,并将其记为Y1。其中,当Y0大于零时,当Y0小于或等于零时,

X0的取值和X1的取值为实验得到的最优值,也可以取其他任意值,例如0到max(DCW)之间的任意两个不同的值。

具体地,由于没办法对数控振荡器进行准确的建模,下面只是以一个非线性方程来举个例子:

假设FCW=448,

公式(5)0=g(DCW)-FCW可以写成:

求解上述非线性方程(6)即可以得出一个DCW,使得结果为0。

假设DCW的取值范围是1~1024的所有整数,计算过程如下:

假设,鉴相器的输出

X0=max(DCW)/2=1024/2=512;将X0代入公式(7)进行计算,来模仿鉴频器的计算结果,得到以下的值:Y0=65.152。由于Y0>0,所以有=512-128=384。

将X1代入公式(7)进行计算,来模仿鉴频器的计算结果,得到以下的值:Y1=-93.4252。

进一步地,全数字锁相环的锁相方法还包括:当计算得到所述迭代初始值时,将所述滤波系数设置为第一滤波系数。

全数字锁相环在计算得到第一初始迭代值(X0,Y0)、第二初始迭代值(X1,Y1)时,识别为即将开始进行迭代运算,由于迭代计算过程对噪声不是特别敏感,所以可以选择使数字滤波器带宽较大的第一滤波系数COEF1,加速迭代计算的过程。

S2032:根据所述迭代初始值、所述第二频率差进行迭代运算计算所述初始频率基准值。

进一步地,当确定第一初始迭代值以及第二初始迭代值时,S2032具体包括:根据所述第一初始迭代值、所述第二初始迭代值以及所述第二频率差进行迭代运算计算所述初始频率基准值。

全数字锁相环在确定第一初始迭代值(X0,Y0)、第二初始迭代值(X1,Y1),根据第一滤波系数COEF1对第一频率差FDOUT进行滤波得到的第二频率差LPFOUT时,根据第一初始迭代值(X0,Y0)、第二初始迭代值(X1,Y1)、第二频率差LPFOUT迭代运算计算初始频率基准值。其中,全数字锁相环可以采用弦割法进行迭代运算。

例如,全数字锁相环初始化i=2,读入第一初始迭代值(X0,Y0)、第二初始迭代值(X1,Y1),计算DeltaX=nearest(Y(i-1)*(X(i-1)-X(i-2))/(Y(i-1)-Y(i-2)))。

其中,nearest(x)表示对x四舍五入取整,例如nearest(1.4)=1;nearest(-1.6)=-2。

取整的步骤不是必须的,如果数控振荡器控制字DCW支持小数输入,则不必取整。

全数字锁相环确定DeltaX的绝对值|DealtaX|,并判断|DealtaX|是否小于N或判断i是否大于i_max。其中|DealtaX|表示对DeataX取绝对值,比如|-1|=1;|2|=2。N以及i_max为预设的数值,N为最小步进,通过实验决定,例如可以将N设为3;i_max指迭代的最大次数,通过实验决定,例如20。

当|DealtaX|小于N或i大于i_max时,完成迭代运算,将上一次的计算结果X(i-1),Y(i-1)识别为初始频率基准值。

当|DealtaX|大于或等于N,或者i小于或等于i_max时,根据公式Xi=X(i-1)-DeltaX,计算Xi并通过Xi、频率控制字FCW模拟鉴频器110计算频率差,并经过数字滤波器120对其滤波得到Yi,在i的基础上递增1(i=i+1)后,重新计算DeltaX=nearest(Y(i-1)*(X(i-1)-X(i-2))/(Y(i-1)-Y(i-2))),重新确定DeltaX的绝对值|DealtaX|,并判断|DealtaX|是否小于N或判断i是否大于i_max。

当|DealtaX|小于N或i大于i_max时,完成迭代运算,将上一次的计算结果X(i-1),Y(i-1)输出至误差计算模块163,此时i=i+1。

当|DealtaX|大于或等于N,或者i小于或等于i_max时,根据公式Xi=X(i-1)-DeltaX,计算Xi并通过Xi、频率控制字FCW模拟鉴频器110计算频率差,并经过数字滤波器120对其滤波得到Yi,在i=i+1的基础上递增1(i=(i+1)+1),如此循环,直到当|DealtaX|小于N或i大于i_max时,完成迭代运算,将上一次的计算结果X(i-1),Y(i-1)识别为初始频率基准值。

具体地,全数字锁相环初始化i=2,读入步骤S2031中计算得到的第一初始迭代值(X0,Y0)=(512,65.152)、第二初始迭代值(X1,Y1)=(384,-93.4252);计算DeltaX=nearest(Y(i-1)*(X(i-1)-X(i-2))/(Y(i-1)-Y(i-2)))=nearest(Y1*(X1-X0)/(Y1-Y0))=-76。

由于|DealtaX|不小于3,计算X2,X2=X1–(-76)=384+76=460。

将X2代入步骤S2031中的公式(7)进行计算,来模仿数字滤波器的计算结果,得到以下的值:Y2=-1.0545。

计算i=i+1=2+1=3;

计算DealtaX;DeltaX=nearest(Y(i-1)*(X(i-1)-X(i-2))/(Y(i-1)-Y(i-2)))

=nearest(Y2*(X2-X1)/(Y2-Y1))=-1。

由于|DealtaX|小于3,完成迭代计算,将上一次的结果X2,Y2识别为初始频率基准值。

进一步地,全数字锁相环的锁相方法还包括:当计算得到所述初始频率基准值时,将所述滤波系数设置为第二滤波系数;其中,所述第一滤波系数大于所述第二滤波系数。

例如,全数字锁相环在得到迭代运算结果X(i-1),Y(i-1)时,识别为即将开始进行误差校正,由于误差校正过程对噪声比较敏感,所以可以选择使数字滤波器带宽较小的第二滤波系数COEF2,减少噪声对误差校正的影响。第一滤波系数COEF1对应的滤波器带宽大于第二滤波系数COEF2对应的滤波器带宽。

可以理解的是,全数字锁相环还获取比例积分器的使能控制信号ENABLE,此时,获取到的比例积分器的使能控制信号ENABLE标识非使能状态。

S2033:根据所述第二频率差对所述初始频率基准值进行校正得到所述频率基准值。

全数字锁相环当计算得到迭代运算结果X(i-1),Y(i-1),以及根据第二滤波系数COEF2对第一频率差FDOUT进行滤波得到的第二频率差LPFOUT时,根据第二频率差LPFOUT对X(i-1),Y(i-1)进行校正得到频率基准值XQ。

其中,全数字锁相环初始化k=1,获取迭代运算结果X(i-1)、Y(i-1),初始化Z(0)=X(i-1),初始化Q(0)=Y(i-1)

全数字锁相环计算Z(k)=Z(k-1)–1×sign(Q(k-1)),并通过Z(k)、频率控制字FCW模拟鉴频器计算频率差,并经过数字滤波器对其滤波得到Q(k)。其中,sign(x)表示求x的符号,例如sign(-2)=-1;sign(4)=1。

全数字锁相环在计算得到Q(k)后,判断Sign(Q(k-1))是否约等于Sign(Q(k)),当Sign(Q(k-1))~=Sign(Q(k))时,判断|Q(k)|是否大于|Q(k-1)|,当|Q(k)|大于|Q(k-1)|时,完成误差校正,Z(k-1)为终解;当|Q(k)|小于或等于|Q(k-1)|时,完成误差计算,Z(k)为终解。其中,|Q(k)|是指对Q(k)取绝对值。

当Sign(Q(k-1))~≠Sign(Q(k))时,在k的基础上递增1,即k=k+1。

当k=k+1时,重新计算Z(k)=Z(k-1)–1×sign(Q(k-1)),并通过Z(k)、频率控制字FCW模拟鉴频器计算频率差,并经过数字滤波器对其滤波得到Q(k)。其中,sign(x)表示求x的符号,例如sign(-2)=-1;sign(4)=1。

全数字锁相环在计算得到Q(k)后,判断Sign(Q(k-1))是否约等于Sign(Q(k)),当Sign(Q(k-1))~=Sign(Q(k))时,判断|Q(k)|是否大于|Q(k-1)|,当|Q(k)|大于|Q(k-1)|时,完成误差校正,Z(k-1)为终解;当|Q(k)|小于或等于|Q(k-1)|时,完成误差计算,Z(k)为终解。其中,|Q(k)|是指对Q(k)取绝对值。

当Sign(Q(k-1))~≠Sign(Q(k))时,在k=k+1的基础上递增1,即k=(k+1)+1,并重新计算Z(k)=Z(k-1)–1×sign(Q(k-1)),并通过Z(k)、频率控制字FCW模拟鉴频器110计算频率差,并经过数字滤波器对其滤波得到Q(k),判断Sign(Q(k-1))是否约等于Sign(Q(k)),如此循环,直到当Sign(Q(k-1))~=Sign(Q(k))时,完成误差计算,确定Z(k)或Z(k-1)为终解。

全数字锁相环将Z(k)或Z(k-1)识别为校正得到频率基准值XQ。

可以理解的是,全数字锁相环在校正得到频率基准值XQ时,获取的比例积分器的使能控制信号ENABLE标识使能状态。

例如,全数字锁相环初始化k=1,获取步骤S2032计算得到的迭代运算结果X2=460、Y2=-1.0545,初始化Z(0)=X(3-1)=460,初始化Q(0)=Y(3-1)=-1.0545,并计算Z(k)

其中,Z(k)=Z1=Z(k-1)–1*sign(Q(k-1))=Z0–1*sign(Q0)=460–1*(-1)=461。将Z1代入式(7)进行计算,来模仿数字滤波器的计算结果,得到Q1=0.2052。

全数字锁相环判断Sign(Q(k-1))是否不等于Sign(Q(k))。

由于Sign(Q(0))~=Sign(Q(1)),判断|Q(k)|是否大于|Q(k-1)|,即比较Q0和Q1的绝对值。由于Q(0)=-1.0545,Q1=0.2052,因此,|Q1|<|Q0|,所以Z(1)=461即为最终的解。

S204:根据所述使能控制信号对所述第二频率差进行比例积分运算,并根据运算结果以及所述频率基准值进行加法运算得到数控振荡器控制字。

全数字锁相环根据比例积分器的使能控制信号ENABLE对第二频率差LPFOUT进行比例积分运算,得到运算结果PIOUT,并根据运算结果PIOUT以及计算得到的频率基准值XQ进行加法运算得到数控振荡器控制字DCW。

其中,全数字锁相环根据比例积分器的使能控制信号ENABLE对第二频率差LPFOUT进行比例积分运算的计算公式如下:

(ENABLE==1,标识使能状态)

PIOUT=0 (ENABLE==0,标识非使能状态)

其中,input是第二频率差LPFOUT;PIOUT为运算结果;a和p是系数,由系统的带宽需求确定。

S205:根据所述数控振荡器控制字输出所述数控振荡器控制字对应的第一时钟。

全数字锁相环数控振荡器控制字输出数控振荡器控制字对应的第一时钟Fdco_out,并将该第一时钟Fdco_out识别下一轮循环的参考时钟,返回步骤S101,进入下一循环。

其中,第一时钟用于全数字锁相环返回步骤S101根据第一时钟Fdco_out以及频率控制字FCW重新计算第一频率差FDOUT。当重新计算的第一频率差FDOUT小于或等于预设阈值时,第一时钟Fdco_out对应的数控振荡器控制字为目标数控振荡器控制字,全数字锁相环完成锁定;当重新计算的第一频率差大于所述预设阈值时,执行;执行步骤S102~S105进入下一循环。

上述方案,全数字锁相环采用迭代运算计算频率基准值,使得根据频率基准值得到的第一时钟与输入鉴频器的频率控制字之差小于或等于预设阈值,该预设阈值能够使得第一时钟与输入鉴频器的频率控制字之差等于零或无限趋近零,因此,能够有效加快锁相速度以及简化锁相计算过程。

通过调整滤波系数,能够减少噪声对误差校正计算结果的影响,提高频率基准值的准确度。

本发明还提供一种调频接收装置,调频接收装置包括上述任一实施例所述的直接数字频率合成器。调频接收装置包括但不限于用于立体声编码的调频(Frequency Modulation,FM)发射装置。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1