本發(fā)明屬于電子技術(shù)領(lǐng)域,尤其涉及一種全數(shù)字鎖相環(huán)及其鎖相方法。
背景技術(shù):
鎖相環(huán)是一種能使輸出信號在頻率和相位上與輸入信號同步的電路,即系統(tǒng)進入鎖定狀態(tài)后,輸出信號與輸入信號之間相差為零,或者保持為常數(shù)。
全數(shù)字鎖相環(huán)ADPLL(All Digital Phase-Locked Loop),就是環(huán)路部件全部數(shù)字化,采用數(shù)字鑒相器、數(shù)字環(huán)路濾波器、數(shù)控振蕩器構(gòu)成鎖相環(huán)路,并且系統(tǒng)中的信號全是數(shù)字信號。由于某些應(yīng)用要求全數(shù)字鎖相環(huán)有一個非常短的鎖定時間,因此需要有效加速全數(shù)字鎖相環(huán)的鎖定速度。
現(xiàn)有技術(shù)中,一種加速全數(shù)字鎖相環(huán)的鎖定速度的方法是使用大的環(huán)路帶寬來加速鎖定,但是這種方法減少的鎖定時間有限;另一種加速全數(shù)字鎖相環(huán)的鎖定速度的方法是通過公式擬合的方法來直接計算目標(biāo)頻率所需要的數(shù)控振蕩器的控制字,但是計算方法復(fù)雜,不合適用在成本和功耗敏感的領(lǐng)域。
綜上所述,現(xiàn)有技術(shù)中的加速全數(shù)字鎖相環(huán)的鎖定速度的方法存在以下缺點:能夠減少的鎖定時間有限,無法適用于對鎖相時間的要求高的場景;目標(biāo)頻率所需要的數(shù)控振蕩器的控制字的計算太復(fù)雜。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種全數(shù)字鎖相環(huán)及其鎖相方法,能夠有效加快鎖相速度以及簡化鎖相計算過程。
為解決上述問題,本發(fā)明第一方面提供一種全數(shù)字鎖相環(huán),所述全數(shù)字鎖相環(huán)包括:
依次串聯(lián)的鑒頻器、數(shù)字濾波器、比例積分器、加法器和數(shù)控振蕩器,以及分別與所述鑒頻器、所述數(shù)字濾波器、所述比例積分器、所述加法器連接的快速鎖定電路,所述數(shù)控振蕩器的輸出端還反饋連接所述鑒頻器;
所述鑒頻器用于根據(jù)輸入的頻率控制字以及參考時鐘計算第一頻率差,并將所述第一頻率差輸出至所述數(shù)字濾波器以及所述快速鎖定電路;
所述數(shù)字濾波器用于當(dāng)接收到所述第一頻率差以及所述快速鎖定電路輸入的濾波系數(shù)時,根據(jù)所述濾波系數(shù)對所述第一頻率差進行濾波,并將濾波后的第二頻率差輸出至所述比例積分器以及所述快速鎖定電路;
所述快速鎖定電路用于當(dāng)接收到所述第一頻率差以及所述第二頻率差時,根據(jù)所述第一頻率差、所述第二頻率差計算頻率基準(zhǔn)值,并將所述頻率基準(zhǔn)值輸出至所述加法器;以及用于確定所述比例積分器的使能控制信號,將所述使能控制信號輸出至所述比例積分器;其中,當(dāng)計算得到所述頻率基準(zhǔn)值時,所述使能信號標(biāo)識使能狀態(tài);
所述比例積分器用于當(dāng)接收到所述使能控制信號時,對所述第二頻率差進行比例積分運算,并將運算結(jié)果輸出至所述加法器;
所述加法器用于當(dāng)接收到所述運算結(jié)果以及所述頻率基準(zhǔn)值時,根據(jù)所述運算結(jié)果以及所述頻率基準(zhǔn)值進行加法運算得到數(shù)控振蕩器控制字,并將所述數(shù)控振蕩器控制字輸出至所述數(shù)控振蕩器;
所述數(shù)控振蕩器用于當(dāng)接收到所述數(shù)控振蕩器控制字時,將所述數(shù)控振蕩器控制字對應(yīng)的第一時鐘反饋輸出至所述鑒頻器;
其中,所述第一時鐘用于所述鑒頻器根據(jù)所述第一時鐘以及所述頻率控制字重新計算所述第一頻率差;當(dāng)重新計算的所述第一頻率差小于或等于預(yù)設(shè)閾值時,所述全數(shù)字鎖相環(huán)完成鎖定。
為解決上述問題,本發(fā)明第二方面提供一種全數(shù)字鎖相環(huán)的鎖相方法,所述全數(shù)字鎖相環(huán)的鎖相方法包括:
根據(jù)輸入的頻率控制字以及參考時鐘計算第一頻率差;
根據(jù)濾波系數(shù)對所述第一頻率差進行濾波得到第二頻率差;
根據(jù)所述第一頻率差、所述第二頻率差計算頻率基準(zhǔn)值;以及確定比例積分器的使能控制信號;其中,當(dāng)計算得到所述頻率基準(zhǔn)值時,所述使能信號標(biāo)識使能狀態(tài);
根據(jù)所述使能控制信號對所述第二頻率差進行比例積分運算,并根據(jù)運算結(jié)果以及所述頻率基準(zhǔn)值進行加法運算得到數(shù)控振蕩器控制字;
根據(jù)所述數(shù)控振蕩器控制字輸出所述數(shù)控振蕩器控制字對應(yīng)的第一時鐘;
其中,所述第一時鐘用于所述全數(shù)字鎖相環(huán)根據(jù)所述第一時鐘以及所述頻率控制字重新計算所述第一頻率差;當(dāng)重新計算的所述第一頻率差小于或等于預(yù)設(shè)閾值時,所述全數(shù)字鎖相環(huán)完成鎖定。
為解決上述問題,本發(fā)明第三方面提供一種調(diào)頻接收裝置,所述一種調(diào)頻接收裝置包括上述全數(shù)字鎖相環(huán)。
相對于現(xiàn)有技術(shù),本實施例中的全數(shù)字鎖相環(huán)通過增加加法器、快速鎖定電路,通過快速鎖定電路快速計算誤差較小的頻率基準(zhǔn)值,加法器在對該頻率基準(zhǔn)值進行微調(diào)后將其輸出至數(shù)控振蕩器,使得數(shù)控振蕩器能夠根據(jù)該誤差較小的頻率基準(zhǔn)值得到的第一時鐘與輸入鑒頻器的頻率控制字之差小于或等于預(yù)設(shè)閾值,該預(yù)設(shè)閾值能夠使得第一時鐘與輸入鑒頻器的頻率控制字之差等于零或無限趨近零,能夠有效加快鎖相速度以及簡化鎖相計算過程。
附圖說明
圖1是本發(fā)明全數(shù)字鎖相環(huán)一實施例的結(jié)構(gòu)示意圖;
圖2是圖1中快速鎖定電路一實施的結(jié)構(gòu)示意圖;
圖3是本發(fā)明全數(shù)字鎖相環(huán)的鎖相方法一實施例的流程圖;
圖4是本發(fā)明全數(shù)字鎖相環(huán)的鎖相方法另一實施例的流程圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
請參閱圖1,圖1是本發(fā)明全數(shù)字鎖相環(huán)一實施例的結(jié)構(gòu)示意圖。如圖1所示的全數(shù)字鎖相環(huán)100包括依次串聯(lián)的鑒頻器110、數(shù)字濾波器120、比例積分器130、加法器140和數(shù)控振蕩器150,以及分別與鑒頻器110、數(shù)字濾波器120、比例積分器130、加法器140連接的快速鎖定電路160,數(shù)控振蕩器150的輸出端還反饋連接鑒頻器110。
鑒頻器110用于根據(jù)輸入的頻率控制字FCW以及參考時鐘Clock計算第一頻率差FDOUT,并將第一頻率差FDOUT輸出至數(shù)字濾波器120以及快速鎖定電路160;
數(shù)字濾波器120用于當(dāng)接收到鑒頻器110輸入的第一頻率差FDOUT以及快速鎖定電路160輸入的濾波系數(shù)COEF時,根據(jù)濾波系數(shù)COEF對第一頻率差FDOUT進行濾波,并將濾波后的第二頻率差LPFOUT輸出至比例積分器130以及快速鎖定電路160;
快速鎖定電路160用于當(dāng)接收到鑒頻器110輸入的第一頻率差FDOUT以及數(shù)字濾波器120輸入的第二頻率差LPFOUT時,根據(jù)第一頻率差FDOUT、第二頻率差LPFOUT計算頻率基準(zhǔn)值XQ,并將頻率基準(zhǔn)值XQ輸出至加法器140;以及用于確定比例積分器130的使能控制信號ENABLE,將使能控制信號ENABLE輸出至比例積分器130;其中,快速鎖定電路160當(dāng)計算得到頻率基準(zhǔn)值XQ時,使能信號ENABLE標(biāo)識使能狀態(tài);
比例積分器130用于當(dāng)接收到快速鎖定電路160輸入的使能控制信號ENABLE時,對數(shù)字濾波器120輸入的第二頻率差LPFOUT進行比例積分運算,并將運算結(jié)果PIOUT輸出至加法器140;
加法器140用于當(dāng)接收到比例積分器130輸入的運算結(jié)果PIOUT以及快速鎖定電路160輸入的頻率基準(zhǔn)值XQ時,根據(jù)運算結(jié)果PIOUT以及頻率基準(zhǔn)值XQ進行加法運算得到數(shù)控振蕩器控制字DCW,并將數(shù)控振蕩器控制字DCW輸出至數(shù)控振蕩器150;
數(shù)控振蕩器150用于當(dāng)接收到加法器140輸入的數(shù)控振蕩器控制字DCW時,將數(shù)控振蕩器控制字DCW對應(yīng)的第一時鐘Fdco_out反饋至鑒頻器110。
其中,第一時鐘Fdco_out用于鑒頻器110根據(jù)第一時鐘Fdco_out以及頻率控制字FCW重新計算第一頻率差FDOUT;當(dāng)重新計算的第一頻率差FDOUT小于或等于預(yù)設(shè)閾值時,第一時鐘Fdco_out對應(yīng)的數(shù)控振蕩器控制字為目標(biāo)數(shù)控振蕩器控制字,快速鎖定電路160鎖定目標(biāo)數(shù)控振蕩器控制字對應(yīng)的目標(biāo)頻率基準(zhǔn)值,全數(shù)字鎖相環(huán)100進入鎖定狀態(tài),持續(xù)輸出第一時鐘。
具體工作原理如下:
當(dāng)其他電路向鎖相環(huán)電路輸入頻率控制字FCW以及參考時鐘Clock時,鎖相環(huán)電路中的鑒頻器110根據(jù)輸入的頻率控制字FCW以及參考時鐘Clock計算第一頻率差FDOUT,其中,F(xiàn)DOUT=X–FCW,X是指第一時鐘Fdco_out與參考時鐘clock的頻率比,即第一時鐘Fdco_out的頻率除以參考時鐘clock的頻率得到的商。
鑒頻器110在計算得到第一頻率差FDOUT時,將第一頻率差FDOUT輸出至數(shù)字濾波器120以及快速鎖定電路160。
快速鎖定電路160根據(jù)工作狀態(tài)確定濾波系數(shù)COEF,并將確定的濾波系數(shù)COEF輸出至數(shù)字濾波器120。
數(shù)字濾波器120當(dāng)接收到鑒頻器110輸入的第一頻率差FDOUT以及快速鎖定電路160輸入的濾波系數(shù)COEF時,根據(jù)濾波系數(shù)COEF對第一頻率差FDOUT進行濾波,在濾除第一頻率差FDOUT中的高頻信號之后得到第二頻率差LPFOUT,并將濾波后的第二頻率差LPFOUT輸出至比例積分器130以及快速鎖定電路160。
其中,數(shù)字濾波器120可以是N個級聯(lián)的系數(shù)可變的低通濾波器,例如,遞歸濾波器IIR。
快速鎖定電路160當(dāng)接收到鑒頻器110輸入的第一頻率差FDOUT以及數(shù)字濾波器120輸入的第二頻率差LPFOUT時,根據(jù)第一頻率差FDOUT、第二頻率差LPFOUT采用弦割法計算頻率基準(zhǔn)值XQ,并將頻率基準(zhǔn)值XQ輸出至加法器140。
快速鎖定電路160的工作原理和實現(xiàn)方法如下:
由于全數(shù)字鎖相環(huán)的最終目的是使數(shù)控震蕩器150的輸出的第一時鐘Fdco_out與參考時鐘clock的頻率比,和頻率控制字FCW一致,即:
0=X–FCW (1)
其中,X是指第一時鐘Fdco_out與參考時鐘clock的頻率比,即第一時鐘Fdco_out的頻率除以參考時鐘clock的頻率得到的商。
由于參考時鐘Clock的頻率恒定,因此,X只是與DCW的輸出頻率線性相關(guān),假設(shè):X=freq_fdco_out×a+b (2)
其中,a和b是常數(shù)。
由上文可以知道,由于工藝、溫度、電壓、匹配度等等的影響,導(dǎo)致數(shù)控震蕩器150的輸出頻率與DCW的關(guān)系是非線性的,因此有
Freq_Fdco_out=F(DCW,P,V,T…)
其中F(DCW,P,V,T…)是指以DCW,工藝參數(shù)P,電壓參數(shù)V,溫度參數(shù)T等等為自變量的非線性方程。而在快速鎖定過程中,由于時間非常短,我們可以假定P,V,T等自變量是恒定不變的常數(shù),因此上述公式可以簡化為:
Freq_Fdco_out=f(DCW) (3)
聯(lián)立(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輸入數(shù)控振蕩器150,即可以完成全數(shù)字鎖相環(huán)的鎖定。
快速鎖定電路160確定比例積分器130的使能控制信號ENABLE,將使能控制信號ENABLE輸出至比例積分器130。其中,快速鎖定電路160當(dāng)計算得到頻率基準(zhǔn)值XQ之后,輸出的使能信號ENABLE標(biāo)識使能狀態(tài);否則,輸出的使能信號ENABLE標(biāo)識非使能狀態(tài)。
比例積分器130當(dāng)接收到快速鎖定電路160輸入的使能控制信號ENABLE時,對數(shù)字濾波器120輸入的第二頻率差LPFOUT進行比例積分運算,并將運算結(jié)果PIOUT輸出至加法器140。
其中,比例積分器130的比例積分運算計算公式如下:
(ENABLE==1,標(biāo)識使能狀態(tài))
PIOUT=0 (ENABLE==0,標(biāo)識非使能狀態(tài))
其中,input是從數(shù)字濾波器120輸入的第二頻率差LPFOUT;PIOUT為運算結(jié)果;a和p是系數(shù),由系統(tǒng)的帶寬需求確定。
加法器140當(dāng)接收到比例積分器130輸入的運算結(jié)果PIOUT以及快速鎖定電路160輸入的頻率基準(zhǔn)值XQ時,根據(jù)運算結(jié)果PIOUT以及頻率基準(zhǔn)值XQ進行加法運算得到數(shù)控振蕩器控制字DCW,并將數(shù)控振蕩器控制字DCW輸出至數(shù)控振蕩器150。
數(shù)控振蕩器150當(dāng)接收到加法器140輸入的數(shù)控振蕩器控制字DCW時,將數(shù)控振蕩器控制字DCW對應(yīng)的第一時鐘Fdco_out反饋輸出至鑒頻器110。
其中,數(shù)控振蕩器150能夠根據(jù)數(shù)控振蕩器控制字DCW輸出一個與其對應(yīng)的第一時鐘Fdco_out,DCW越大時,輸出的第一時鐘對應(yīng)的頻率越快。
在不考慮其他非線性因素的理想情況時,數(shù)控振蕩器150的輸出頻率符合以下公式:freq_Fdco_out=DCW×K+C,C為一個固定的頻率,K為頻率增益。
但是由于工藝、溫度、電壓、匹配度等等的影響,實際數(shù)控震蕩器150的輸出和理想值有一定的偏差。數(shù)控振蕩器控制字DCW和freq_Fdco_out之間是非線性的對應(yīng)關(guān)系。
其中,第一時鐘Fdco_out用于鑒頻器110根據(jù)第一時鐘Fdco_out以及頻率控制字FCW重新計算第一頻率差FDOUT;當(dāng)重新計算的第一頻率差FDOUT小于或等于預(yù)設(shè)閾值時,第一時鐘Fdco_out對應(yīng)的數(shù)控振蕩器控制字為目標(biāo)數(shù)控振蕩器控制字,快速鎖定電路160鎖定目標(biāo)數(shù)控振蕩器控制字對應(yīng)的目標(biāo)頻率基準(zhǔn)值,全數(shù)字鎖相環(huán)100進入鎖定狀態(tài),持續(xù)輸出第一時鐘;當(dāng)重新計算的第一頻率差FDOUT大于預(yù)設(shè)閾值時,快速鎖定電路160當(dāng)接收到鑒頻器110輸入的第一頻率差FDOUT以及數(shù)字濾波器120輸入的第二頻率差LPFOUT時,根據(jù)第一頻率差FDOUT、第二頻率差LPFOUT采用弦割法計算頻率基準(zhǔn)值XQ,直到能夠使得數(shù)字振蕩器150由頻率基準(zhǔn)值XQ與比例積分運算結(jié)果PIOUT進行加法運算后得到的數(shù)控振蕩器控制字DCW,輸出的第一時鐘Fdco_out與輸入鑒頻器110的頻率控制字FCW直接的頻率差小于或等于預(yù)設(shè)閾值為止,以使得全數(shù)字鎖相環(huán)最終鎖定的第一時鐘Fdco_out等于頻率控制字FCW之差為零或無線趨近于零。
進一步地,在另一種實施例中,快速鎖定電路160還可以包括初始化模塊161、迭代計算模塊162、誤差校正模塊163以及控制模塊164;迭代計算模塊162連接初始化模塊161以及誤差校正模塊163,控制模塊164分別連接初始化模塊161、迭代計算模塊162以及誤差校正模塊163;初始化模塊161還連接鑒頻器110,以接收鑒頻器110輸入的第一頻率差FDOUT;迭代計算模塊162以及誤差校正模塊163還連接數(shù)字濾波器120,以接收數(shù)字濾波器120輸入的第二頻率差LPFOUT,控制模塊164還連接數(shù)字濾波器120、比例積分器130以及加法器140;以向數(shù)字濾波器120輸出確定的濾波系數(shù)COEF,向比例積分器130輸出使能控制信號ENABLE,向加法器140輸出頻率基準(zhǔn)值XQ。
初始化模塊161用于當(dāng)接收到鑒頻器110輸入的第一頻率差時,根據(jù)第一頻率差計算迭代初始值,并將迭代初始值輸出至迭代計算模塊162以及控制模塊164。
迭代計算模塊162用于當(dāng)接收到初始化模塊161輸入的迭代初始值,數(shù)字濾波器120輸入的第二頻率差LPFOUT時,根據(jù)迭代初始值、第二頻率差LPFOUT進行迭代運算計算初始頻率基準(zhǔn)值,并將初始頻率基準(zhǔn)值輸出至誤差校正模塊163。
誤差校正模塊163用于當(dāng)接收到迭代計算模塊162輸入的初始頻率基準(zhǔn)值,以及數(shù)字濾波器120輸入的第二頻率差LPFOUT時,根據(jù)第二頻率差LPFOUT對初始頻率基準(zhǔn)值進行校正得到頻率基準(zhǔn)值XQ。
控制模塊164用于當(dāng)接收到迭代計算模塊162輸入的迭代初始值或迭代計算模塊162輸入的初始頻率基準(zhǔn)值時,向數(shù)字濾波120器輸出確定的濾波系數(shù);以及用于向比例積分器130輸出使能控制信號ENABLE以及向加法器140輸出頻率基準(zhǔn)值XQ,其中,控制模塊164當(dāng)接收到誤差校正模塊163輸入的頻率基準(zhǔn)值時,輸出的使能信號標(biāo)識使能狀態(tài),否則,輸出的使能信號標(biāo)識非使能狀態(tài)。
進一步地,控制模塊164用于當(dāng)初始化模塊161輸入迭代初始值時,將濾波系數(shù)COEF設(shè)置為第一濾波系數(shù);當(dāng)?shù)嬎隳K162輸入初始頻率基準(zhǔn)值時,將濾波系數(shù)COEF設(shè)置為第二濾波系數(shù);其中,第一濾波系數(shù)大于第二濾波系數(shù)。
進一步地,數(shù)字濾波器120具體用于根據(jù)控制模塊164輸入的第一濾波系數(shù)或第二濾波系數(shù)對第一頻率差進行濾波得到第二頻率差。
具體工作原理如下:
初始化模塊161當(dāng)接收到鑒頻器110輸入的第一頻率差時,根據(jù)第一頻率差計算迭代初始值,并將迭代初始值輸出至迭代計算模塊162和控制模塊164。
例如,初始化模塊161根據(jù)公式max(DCW)表示數(shù)控振蕩器控制字DCW能達到的最大值,并將X0識別為第一初始頻率基準(zhǔn)值XQ1,將XQ1與PIOUT相加后得到DCW1并輸出到數(shù)控振蕩器150,此時PIOUT為0(當(dāng)快速鎖定電路160的誤差校正模塊164完成計算之前,PIOUT均為0),數(shù)控震蕩器150根據(jù)DCW1輸出一個時鐘fdco_out1到鑒頻器110,鑒頻器110根據(jù)fdco_out1的頻率、參考時鐘clock的頻率以及頻率控制字FCW計算頻率差,得到第一初始頻率差,并將其記為Y0。
初始化模塊161判斷Y0是否大于零,并根據(jù)判斷結(jié)果確定X1(第二初始頻率基準(zhǔn)值XQ2),并將XQ2與PIOUT相加后得到DCW2并輸出到數(shù)控振蕩器150,此時PIOUT為0,數(shù)控震蕩器150根據(jù)DCW2輸出一個時鐘fdco_out2到鑒頻器110,鑒頻器110根據(jù)fdco_out2的頻率、參考時鐘clock的頻率以及頻率控制字FCW計算頻率差,得到第二初始頻率差,并將其記為Y1。其中,當(dāng)Y0大于零時,當(dāng)Y0小于或等于零時,
X0的取值和X1的取值為實驗得到的最優(yōu)值,也可以取其他任意值,例如0到max(DCW)之間的任意兩個不同的值。
具體地,由于沒辦法對數(shù)控振蕩器150進行準(zhǔn)確的建模,下面只是以一個非線性方程來舉個例子:
假設(shè)FCW=448,
公式(5)0=g(DCW)-FCW可以寫成:
求解上述非線性方程(6)即可以得出一個DCW,使得結(jié)果為0。
假設(shè)DCW的取值范圍是1~1024的所有整數(shù),計算過程如下:
假設(shè),鑒相器的輸出
X0=max(DCW)/2=1024/2=512;將X0代入公式(7)進行計算,來模仿鑒頻器的計算結(jié)果,得到以下的值:Y0=65.152。由于Y0>0,所以有=512-128=384。
將X1代入公式(7)進行計算,來模仿鑒頻器的計算結(jié)果,得到以下的值:Y1=-93.4252。
初始化模塊161將第一初始迭代值(X0,Y0)、第二初始迭代值(X1,Y1)輸入迭代計算模塊162以及控制模塊164。
控制模塊164接收到初始化模塊161輸入的第一初始迭代值(X0,Y0)、第二初始迭代值(X1,Y1)時,識別為迭代計算模塊162即將開始進行迭代運算,由于此時迭代計算模塊162的迭代計算過程對噪聲不是特別敏感,所以可以選擇使數(shù)字濾波器120帶寬較大的第一濾波系數(shù)COEF1,加速迭代計算的過程??刂颇K164還向比例積分器130輸出使能控制信號ENABLE,此時,使能控制信號ENABLE標(biāo)識非使能狀態(tài)。
迭代計算模塊162當(dāng)接收到初始化模塊161輸入的第一初始迭代值(X0,Y0)、第二初始迭代值(X1,Y1)、數(shù)字濾波器120根據(jù)控制模塊164輸入的第一濾波系數(shù)COEF1對數(shù)字濾波器120輸入的第一頻率差FDOUT進行濾波得到的第二頻率差LPFOUT時,根據(jù)第一初始迭代值(X0,Y0)、第二初始迭代值(X1,Y1)、第二頻率差LPFOUT迭代運算計算初始頻率基準(zhǔn)值。其中,迭代計算模塊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。
取整的步驟不是必須的,如果數(shù)控振蕩器控制字DCW支持小數(shù)輸入,則不必取整。
迭代計算模塊162確定DeltaX的絕對值|DealtaX|,并判斷|DealtaX|是否小于N或判斷i是否大于i_max。其中|DealtaX|表示對DeataX取絕對值,比如|-1|=1;|2|=2。N以及i_max為預(yù)設(shè)的數(shù)值,N為最小步進,通過實驗決定,例如可以將N設(shè)為3;i_max指迭代的最大次數(shù),通過實驗決定,例如20。
當(dāng)|DealtaX|小于N或i大于i_max時,完成迭代運算,將上一次的計算結(jié)果X(i-1),Y(i-1)輸出至誤差計算模塊163。
當(dāng)|DealtaX|大于或等于N,或者i小于或等于i_max時,根據(jù)公式Xi=X(i-1)-DeltaX,計算Xi第i初始頻率基準(zhǔn)值XQi),將XQi與PIOUT相加后得到DCWi并輸出到數(shù)控振蕩器150,此時PIOUT為0,數(shù)控震蕩器150根據(jù)DCWi輸出一個時鐘fdco_outi到鑒頻器110,鑒頻器110根據(jù)fdco_outi的頻率、參考時鐘clock的頻率以及頻率控制字FCW計算頻率差,得到第二初始頻率差,并經(jīng)過數(shù)字濾波器120對其濾波得到Y(jié)i,在i的基礎(chǔ)上遞增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。
當(dāng)|DealtaX|小于N或i大于i_max時,完成迭代運算,將上一次的計算結(jié)果X(i-1),Y(i-1)輸出至誤差計算模塊163,此時i=i+1。
當(dāng)|DealtaX|大于或等于N,或者i小于或等于i_max時,根據(jù)公式Xi=X(i-1)-DeltaX,計算Xi并通過Xi、頻率控制字FCW模擬鑒頻器110計算頻率差,并經(jīng)過數(shù)字濾波器120對其濾波得到Y(jié)i,在i=i+1的基礎(chǔ)上遞增1(i=(i+1)+1),如此循環(huán),直到當(dāng)|DealtaX|小于N或i大于i_max時,完成迭代運算,將上一次的計算結(jié)果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)進行計算,來模仿數(shù)字濾波器120的計算結(jié)果,得到以下的值: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,完成迭代計算,將上一次的結(jié)果X2,Y2識別為初始頻率基準(zhǔn)值,將X2,Y2輸出至誤差計算模塊163以及控制模塊164。
迭代計算模塊162將迭代運算結(jié)果X(i-1),Y(i-1)輸出至誤差計算模塊163以及控制模塊164。
控制模塊164接收到迭代計算模塊162輸入的迭代運算結(jié)果X(i-1),Y(i-1)時,識別為誤差校正模塊163即將開始進行誤差校正,由于此時誤差校正模塊163的誤差校正過程對噪聲比較敏感,所以可以選擇使數(shù)字濾波器120帶寬較小的第二濾波系數(shù)COEF2,減少噪聲對誤差校正的影響。其中,第一濾波系數(shù)COEF1對應(yīng)的濾波器帶寬大于第二濾波系數(shù)COEF2對應(yīng)的濾波器帶寬。
控制模塊164還向比例積分器130輸出使能控制信號ENABLE,此時,使能控制信號ENABLE標(biāo)識非使能狀態(tài)。
誤差校正模塊163當(dāng)接收到迭代計算模塊162輸入的迭代運算結(jié)果X(i-1),Y(i-1),以及數(shù)字濾波器120根據(jù)控制模塊164輸入的第二濾波系數(shù)COEF2對數(shù)字濾波器120輸入的第一頻率差FDOUT進行濾波得到的第二頻率差LPFOUT時,根據(jù)第二頻率差LPFOUT對X(i-1),Y(i-1)進行校正得到頻率基準(zhǔn)值XQ。
例如,誤差校正模塊163初始化k=1,讀入迭代計算模塊162的輸出結(jié)果X(i-1)、Y(i-1),初始化Z(0)=X(i-1),初始化Q(0)=Y(jié)(i-1)。
誤差校正模塊163計算Z(k)=Z(k-1)–1×sign(Q(k-1)),并通過Z(k)、頻率控制字FCW模擬鑒頻器110計算頻率差,并經(jīng)過數(shù)字濾波器120對其濾波得到Q(k)。其中,sign(x)表示求x的符號,例如sign(-2)=-1;sign(4)=1。
誤差校正模塊163在計算得到Q(k)后,判斷Sign(Q(k-1))是否約等于Sign(Q(k)),當(dāng)Sign(Q(k-1))~=Sign(Q(k))時,判斷|Q(k)|是否大于|Q(k-1)|,當(dāng)|Q(k)|大于|Q(k-1)|時,完成誤差校正,Z(k-1)為終解;當(dāng)|Q(k)|小于或等于|Q(k-1)|時,完成誤差計算,Z(k)為終解。其中,|Q(k)|是指對Q(k)取絕對值。
當(dāng)Sign(Q(k-1))~≠Sign(Q(k))時,在k的基礎(chǔ)上遞增1,即k=k+1。
當(dāng)k=k+1時,重新計算Z(k)=Z(k-1)–1×sign(Q(k-1)),并通過Z(k)、頻率控制字FCW模擬鑒頻器110計算頻率差,并經(jīng)過數(shù)字濾波器120對其濾波得到Q(k)。其中,sign(x)表示求x的符號,例如sign(-2)=-1;sign(4)=1。
誤差校正模塊163在計算得到Q(k)后,判斷Sign(Q(k-1))是否約等于Sign(Q(k)),當(dāng)Sign(Q(k-1))~=Sign(Q(k))時,判斷|Q(k)|是否大于|Q(k-1)|,當(dāng)|Q(k)|大于|Q(k-1)|時,完成誤差校正,Z(k-1)為終解;當(dāng)|Q(k)|小于或等于|Q(k-1)|時,完成誤差計算,Z(k)為終解。其中,|Q(k)|是指對Q(k)取絕對值。
當(dāng)Sign(Q(k-1))~≠Sign(Q(k))時,在k=k+1的基礎(chǔ)上遞增1,即k=(k+1)+1,并重新計算Z(k)=Z(k-1)–1×sign(Q(k-1)),并通過Z(k)、頻率控制字FCW模擬鑒頻器110計算頻率差,并經(jīng)過數(shù)字濾波器120對其濾波得到Q(k),判斷Sign(Q(k-1))是否約等于Sign(Q(k)),如此循環(huán),直到當(dāng)Sign(Q(k-1))~=Sign(Q(k))時,完成誤差計算,確定Z(k)或Z(k-1)為終解。
具體地,誤差校正模塊163初始化k=1,獲取迭代計算模塊162計算得到的迭代運算結(jié)果X2=460、Y2=-1.0545,初始化Z(0)=X(3-1)=460,初始化Q(0)=Y(jié)(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)進行計算,來模仿數(shù)字濾波器的計算結(jié)果,得到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)識別為校正得到頻率基準(zhǔn)值XQ,并將校正得到的XQ輸出至控制模塊164。
控制模塊164接收到誤差校正模塊163輸入的校正得到頻率基準(zhǔn)值XQ時,向比例積分器130輸出的使能控制信號ENABLE標(biāo)識使能狀態(tài);以及將校正得到頻率基準(zhǔn)值XQ輸出至加法器140,以使得加法器140當(dāng)接收到比例積分器130輸入的運算結(jié)果PIOUT以及快速鎖定電路160輸入的頻率基準(zhǔn)值XQ時,能夠根據(jù)運算結(jié)果PIOUT以及頻率基準(zhǔn)值XQ進行加法運算得到數(shù)控振蕩器控制字DCW,并將數(shù)控振蕩器控制字DCW輸出至數(shù)控振蕩器150,使得數(shù)控振蕩器150當(dāng)接收到加法器140輸入的數(shù)控振蕩器控制字DCW時,將數(shù)控振蕩器控制字DCW對應(yīng)的第一時鐘Fdco_out反饋輸出至鑒頻器110。
其中,第一時鐘Fdco_out用于鑒頻器110根據(jù)第一時鐘Fdco_out以及頻率控制字FCW重新計算第一頻率差FDOUT;當(dāng)重新計算的第一頻率差FDOUT小于或等于預(yù)設(shè)閾值時,第一時鐘Fdco_out對應(yīng)的數(shù)控振蕩器控制字為目標(biāo)數(shù)控振蕩器控制字,快速鎖定電路160鎖定目標(biāo)數(shù)控振蕩器控制字對應(yīng)的目標(biāo)頻率基準(zhǔn)值,全數(shù)字鎖相環(huán)100進入鎖定狀態(tài),持續(xù)輸出第一時鐘。
需要說明的是,在發(fā)明實施例中,鑒頻器110、數(shù)字濾波器120、比例積分器130、數(shù)控振蕩器150的結(jié)構(gòu)組成及其工作原理與現(xiàn)有技術(shù)相同,具體請參閱現(xiàn)有技術(shù)中的全數(shù)字鎖相環(huán)的相關(guān)描述,此處不贅述。
相對于現(xiàn)有技術(shù),本實施例中的全數(shù)字鎖相環(huán)通過增加加法器、快速鎖定電路,通過快速鎖定電路快速計算誤差較小的頻率基準(zhǔn)值,加法器在對該頻率基準(zhǔn)值進行微調(diào)后將其反饋輸出至數(shù)控振蕩器,使得數(shù)控振蕩器能夠根據(jù)該誤差較小的頻率基準(zhǔn)值得到的第一時鐘的頻率與輸入鑒頻器的頻率控制字之差小于或等于預(yù)設(shè)閾值,該預(yù)設(shè)閾值能夠使得第一時鐘與輸入鑒頻器的頻率控制字之差等于零或無限趨近零,能夠有效加快鎖相速度以及簡化鎖相計算過程。
請參閱圖3,圖3是本發(fā)明全數(shù)字鎖相環(huán)的鎖相方法一實施例的流程圖。本實施例中的全數(shù)字鎖相環(huán)的鎖相方法的執(zhí)行主體為全數(shù)字鎖相環(huán)。如圖3所示的全數(shù)字鎖相環(huán)的鎖相方法包括以下步驟:
S101:根據(jù)輸入的頻率控制字以及參考時鐘計算第一頻率差。
全數(shù)字鎖相環(huán)獲取頻率控制字以及參考時鐘,根據(jù)頻率控制字以及參考時鐘計算第一頻率差FDOUT。
例如,在調(diào)頻((Frequency Modulation,F(xiàn)M)信號接收器中,需要一個87.5MHz~108MHz的本地震蕩信號。假設(shè)片上系統(tǒng)使用了一個12MHz的晶振作為全數(shù)字鎖相環(huán)的輸入。那么此時的頻率控制字FCW的范圍為87.5MHz/12MHz~108MHz/12MHz。全數(shù)字鎖相環(huán)就會根據(jù)頻率控制字FCW輸出對應(yīng)的時鐘,使得鑒頻器的輸出接近零。
假設(shè)頻率控制字用FCW表示,參考時鐘用Clock表示,那么,第一頻率差FDOUT=X–FCW,X是第一時鐘Fdco_out與參考時鐘clock的頻率比,即第一時鐘Fdco_out的頻率除以參考時鐘clock的頻率得到的商。Fdco_out為數(shù)字振蕩器輸出的時鐘信號。
S102:根據(jù)濾波系數(shù)對所述第一頻率差進行濾波得到第二頻率差。
全數(shù)字鎖相環(huán)獲取數(shù)字濾波器的濾波系數(shù),并根據(jù)濾波系數(shù)第一頻率差FDOUT進行濾波,在濾除第一頻率差FDOUT中的高頻信號之后得到第二頻率差LPFOUT。
S103:根據(jù)所述第一頻率差、所述第二頻率差計算頻率基準(zhǔn)值;以及確定比例積分器的使能控制信號;其中,當(dāng)計算得到所述頻率基準(zhǔn)值時,所述使能信號標(biāo)識使能狀態(tài)。
全數(shù)字鎖相環(huán)根據(jù)第一頻率差FDOUT、數(shù)字濾波器120濾波后得到的第二頻率差LPFOUT采用弦割法計算頻率基準(zhǔn)值XQ。
全數(shù)字鎖相環(huán)計算頻率基準(zhǔn)值XQ的方法如下:
由于全數(shù)字鎖相環(huán)的最終目的是使數(shù)控震蕩器的輸出的第一時鐘Fdco_out與參考時鐘clock的頻率比,和頻率控制字FCW一致,即:
0=X–FCW (1)
其中,X是第一時鐘Fdco_out與參考時鐘clock的頻率比,即第一時鐘Fdco_out的頻率除以參考時鐘clock的頻率得到的商。
由于參考時鐘Clock的頻率恒定,因此,X只是與DCW的輸出頻率線性相關(guān),假設(shè):X=freq_fdco_out×a+b (2)
其中,a和b是常數(shù)。
由上文可以知道,由于工藝、溫度、電壓、匹配度等等的影響,導(dǎo)致數(shù)控震蕩器的輸出頻率與DCW的關(guān)系是非線性的,因此有
Freq_Fdco_out=F(DCW,P,V,T…)
其中,F(xiàn)(DCW,P,V,T…)是指以DCW,工藝參數(shù)P,電壓參數(shù)V,溫度參數(shù)T等等為自變量的非線性方程。而在快速鎖定過程中,由于時間非常短,我們可以假定P,V,T等自變量是恒定不變的常數(shù),因此上述公式可以簡化為
Freq_Fdco_out=f(DCW) (3)
聯(lián)立(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輸入數(shù)控振蕩器,即可完成全數(shù)字鎖相環(huán)的鎖定。
全數(shù)字鎖相環(huán)確定比例積分器的使能控制信號ENABLE。其中,當(dāng)計算得到頻率基準(zhǔn)值XQ之后,獲取到的使能信號ENABLE標(biāo)識使能狀態(tài);否則,獲取到的使能信號ENABLE標(biāo)識非使能狀態(tài)。
S104:根據(jù)所述使能控制信號對所述第二頻率差進行比例積分運算,并根據(jù)運算結(jié)果以及所述頻率基準(zhǔn)值進行加法運算得到數(shù)控振蕩器控制字。
全數(shù)字鎖相環(huán)根據(jù)比例積分器的使能控制信號ENABLE對第二頻率差LPFOUT進行比例積分運算,得到運算結(jié)果PIOUT,并根據(jù)運算結(jié)果PIOUT以及計算得到的頻率基準(zhǔn)值XQ進行加法運算得到數(shù)控振蕩器控制字DCW。
其中,全數(shù)字鎖相環(huán)根據(jù)比例積分器的使能控制信號ENABLE對第二頻率差LPFOUT進行比例積分運算的計算公式如下:
(ENABLE==1,標(biāo)識使能狀態(tài))
PIOUT=0 (ENABLE==0,標(biāo)識非使能狀態(tài))
其中,input是第二頻率差LPFOUT;PIOUT為運算結(jié)果;a和p是系數(shù),由系統(tǒng)的帶寬需求確定。
S105:根據(jù)所述數(shù)控振蕩器控制字輸出所述數(shù)控振蕩器控制字對應(yīng)的第一時鐘。
全數(shù)字鎖相環(huán)數(shù)控振蕩器控制字輸出數(shù)控振蕩器控制字對應(yīng)的第一時鐘Fdco_out,并將該第一時鐘Fdco_out識別下一輪循環(huán)的參考時鐘,返回步驟S101,進入下一循環(huán)。
其中,第一時鐘用于全數(shù)字鎖相環(huán)返回步驟S101根據(jù)第一時鐘Fdco_out以及頻率控制字FCW重新計算第一頻率差FDOUT。當(dāng)重新計算的第一頻率差FDOUT小于或等于預(yù)設(shè)閾值時,第一時鐘Fdco_out對應(yīng)的數(shù)控振蕩器控制字為目標(biāo)數(shù)控振蕩器控制字,全數(shù)字鎖相環(huán)完成鎖定;當(dāng)重新計算的第一頻率差大于所述預(yù)設(shè)閾值時,執(zhí)行;執(zhí)行步驟S102~S105進入下一循環(huán)。其中,預(yù)設(shè)閾值能夠使得第一時鐘與輸入鑒頻器的頻率控制字之差等于零或無限趨近零。
上述方案,全數(shù)字鎖相環(huán)采用迭代運算計算頻率基準(zhǔn)值,使得根據(jù)頻率基準(zhǔn)值得到的第一時鐘與輸入鑒頻器的頻率控制字之差小于或等于預(yù)設(shè)閾值,該預(yù)設(shè)閾值能夠使得第一時鐘與輸入鑒頻器的頻率控制字之差等于零或無限趨近零,因此,能夠有效加快鎖相速度以及簡化鎖相計算過程。
請參閱圖4,圖4是本發(fā)明全數(shù)字鎖相環(huán)的鎖相方法另一實施例的流程圖。本實施例中的全數(shù)字鎖相環(huán)的鎖相方法的執(zhí)行主體為全數(shù)字鎖相環(huán)。如圖4所示的全數(shù)字鎖相環(huán)的鎖相方法包括以下步驟:
S201:根據(jù)輸入的頻率控制字以及參考時鐘計算第一頻率差。
全數(shù)字鎖相環(huán)獲取頻率控制字以及參考時鐘,根據(jù)頻率控制字以及參考時鐘計算第一頻率差FDOUT。
例如,在調(diào)頻((Frequency Modulation,F(xiàn)M)信號接收器中,需要一個87.5MHz~108MHz的本地震蕩信號。假設(shè)片上系統(tǒng)使用了一個12MHz的晶振作為全數(shù)字鎖相環(huán)的輸入。那么此時的頻率控制字FCW的范圍為87.5MHz/12MHz~108MHz/12MHz。全數(shù)字鎖相環(huán)就會根據(jù)頻率控制字FCW輸出對應(yīng)的時鐘,使得鑒頻器的輸出接近零。
假設(shè)頻率控制字用FCW表示,參考時鐘用Clock表示,那么,第一頻率差FDOUT=X–FCW,X是第一時鐘Fdco_out與參考時鐘clock的頻率比,即第一時鐘Fdco_out的頻率除以參考時鐘clock的頻率得到的商。Fdco_out為數(shù)字振蕩器輸出的時鐘信號。
S202:根據(jù)濾波系數(shù)對所述第一頻率差進行濾波得到第二頻率差。
全數(shù)字鎖相環(huán)獲取數(shù)字濾波器的濾波系數(shù),并根據(jù)濾波系數(shù)第一頻率差FDOUT進行濾波,在濾除第一頻率差FDOUT中的高頻信號之后得到第二頻率差LPFOUT。
進一步地,步驟S202具體為:根據(jù)第一濾波系數(shù)或第二濾波系數(shù)對第一頻率差進行濾波得到第二頻率差。其中,第一濾波系數(shù)對應(yīng)的濾波器帶寬大于第二濾波系數(shù)對應(yīng)的濾波器帶寬。當(dāng)全數(shù)字鎖相環(huán)進行迭代運算時對應(yīng)第一濾波系數(shù),當(dāng)進行誤差校正計算時,對應(yīng)第二濾波系數(shù)。
S203:根據(jù)所述第一頻率差、所述第二頻率差計算頻率基準(zhǔn)值;以及確定比例積分器的使能控制信號;其中,當(dāng)計算得到所述頻率基準(zhǔn)值時,所述使能信號標(biāo)識使能狀態(tài)。
全數(shù)字鎖相環(huán)根據(jù)第一頻率差FDOUT、數(shù)字濾波器120濾波后得到的第二頻率差LPFOUT采用弦割法計算頻率基準(zhǔn)值XQ。
全數(shù)字鎖相環(huán)計算頻率基準(zhǔn)值XQ的方法如下:
由于全數(shù)字鎖相環(huán)的最終目的是使數(shù)控震蕩器的輸出的第一時鐘Fdco_out與參考時鐘clock的頻率比,和頻率控制字FCW一致,即:
0=X–FCW (1)
其中,X是指第一時鐘Fdco_out與參考時鐘clock的頻率比,即第一時鐘Fdco_out的頻率除以參考時鐘clock的頻率得到的商。
由于參考時鐘Clock的頻率恒定,因此,X只是與DCW的輸出頻率線性相關(guān),假設(shè):X=freq_fdco_out×a+b (2)
其中,a和b是常數(shù)。
由上文可以知道,由于工藝、溫度、電壓、匹配度等等的影響,導(dǎo)致數(shù)控震蕩器的輸出頻率與DCW的關(guān)系是非線性的,因此有:
Freq_Fdco_out=F(DCW,P,V,T…)
其中F(DCW,P,V,T…)是指以DCW,工藝參數(shù)P,電壓參數(shù)V,溫度參數(shù)T等等為自變量的非線性方程。而在快速鎖定過程中,由于時間非常短,我們可以假定P,V,T等自變量是恒定不變的常數(shù),因此上述公式可以簡化為:
Freq_Fdco_out=f(DCW) (3)
聯(lián)立(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輸入數(shù)控振蕩器,即可完成全數(shù)字鎖相環(huán)的鎖定。
全數(shù)字鎖相環(huán)確定比例積分器的使能控制信號ENABLE。其中,當(dāng)計算得到頻率基準(zhǔn)值XQ之后,獲取到的使能信號ENABLE標(biāo)識使能狀態(tài);否則,獲取到的使能信號ENABLE標(biāo)識非使能狀態(tài)。
S2031:根據(jù)所述第一頻率差計算迭代初始值,并確定比例積分器的使能控制信號。
例如,全數(shù)字鎖相環(huán)獲取到第一頻率差時,根據(jù)第一頻率差計算迭代初始值。全數(shù)字鎖相環(huán)確定比例積分器的使能控制信號ENABLE標(biāo)識非使能狀態(tài)。
進一步地,步驟S2031包括:根據(jù)所述數(shù)控振蕩器控制字的最大值計算第一初始迭代值;根據(jù)所述第一初始迭代值確定第二初始迭代值。
例如,假設(shè)第一頻率差為零,根據(jù)公式max(DCW)表示數(shù)控振蕩器控制字DCW能達到的最大值,并將X0識別為第一初始頻率基準(zhǔn)值XQ1,全數(shù)字鎖相環(huán)將XQ1與PIOUT相加后得到DCW1,此時PIOUT為零;獲取DCW1對應(yīng)的時鐘fdco_out1,根據(jù)fdco_out1的頻率、參考時鐘clock的頻率以及頻率控制字FCW計算頻率差,得到第一初始頻率差,將其記為Y0。
全數(shù)字鎖相環(huán)判斷Y0是否大于零,并根據(jù)判斷結(jié)果確定X1(第二初始頻率基準(zhǔn)值XQ2),將XQ2與PIOUT相加后得到DCW2,此時PIOUT為零;獲取DCW2對應(yīng)的時鐘fdco_out2,根據(jù)fdco_out2的頻率、參考時鐘clock的頻率以及頻率控制字FCW計算頻率差,并將其記為Y1。其中,當(dāng)Y0大于零時,當(dāng)Y0小于或等于零時,
X0的取值和X1的取值為實驗得到的最優(yōu)值,也可以取其他任意值,例如0到max(DCW)之間的任意兩個不同的值。
具體地,由于沒辦法對數(shù)控振蕩器進行準(zhǔn)確的建模,下面只是以一個非線性方程來舉個例子:
假設(shè)FCW=448,
公式(5)0=g(DCW)-FCW可以寫成:
求解上述非線性方程(6)即可以得出一個DCW,使得結(jié)果為0。
假設(shè)DCW的取值范圍是1~1024的所有整數(shù),計算過程如下:
假設(shè),鑒相器的輸出
X0=max(DCW)/2=1024/2=512;將X0代入公式(7)進行計算,來模仿鑒頻器的計算結(jié)果,得到以下的值:Y0=65.152。由于Y0>0,所以有=512-128=384。
將X1代入公式(7)進行計算,來模仿鑒頻器的計算結(jié)果,得到以下的值:Y1=-93.4252。
進一步地,全數(shù)字鎖相環(huán)的鎖相方法還包括:當(dāng)計算得到所述迭代初始值時,將所述濾波系數(shù)設(shè)置為第一濾波系數(shù)。
全數(shù)字鎖相環(huán)在計算得到第一初始迭代值(X0,Y0)、第二初始迭代值(X1,Y1)時,識別為即將開始進行迭代運算,由于迭代計算過程對噪聲不是特別敏感,所以可以選擇使數(shù)字濾波器帶寬較大的第一濾波系數(shù)COEF1,加速迭代計算的過程。
S2032:根據(jù)所述迭代初始值、所述第二頻率差進行迭代運算計算所述初始頻率基準(zhǔn)值。
進一步地,當(dāng)確定第一初始迭代值以及第二初始迭代值時,S2032具體包括:根據(jù)所述第一初始迭代值、所述第二初始迭代值以及所述第二頻率差進行迭代運算計算所述初始頻率基準(zhǔn)值。
全數(shù)字鎖相環(huán)在確定第一初始迭代值(X0,Y0)、第二初始迭代值(X1,Y1),根據(jù)第一濾波系數(shù)COEF1對第一頻率差FDOUT進行濾波得到的第二頻率差LPFOUT時,根據(jù)第一初始迭代值(X0,Y0)、第二初始迭代值(X1,Y1)、第二頻率差LPFOUT迭代運算計算初始頻率基準(zhǔn)值。其中,全數(shù)字鎖相環(huán)可以采用弦割法進行迭代運算。
例如,全數(shù)字鎖相環(huán)初始化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。
取整的步驟不是必須的,如果數(shù)控振蕩器控制字DCW支持小數(shù)輸入,則不必取整。
全數(shù)字鎖相環(huán)確定DeltaX的絕對值|DealtaX|,并判斷|DealtaX|是否小于N或判斷i是否大于i_max。其中|DealtaX|表示對DeataX取絕對值,比如|-1|=1;|2|=2。N以及i_max為預(yù)設(shè)的數(shù)值,N為最小步進,通過實驗決定,例如可以將N設(shè)為3;i_max指迭代的最大次數(shù),通過實驗決定,例如20。
當(dāng)|DealtaX|小于N或i大于i_max時,完成迭代運算,將上一次的計算結(jié)果X(i-1),Y(i-1)識別為初始頻率基準(zhǔn)值。
當(dāng)|DealtaX|大于或等于N,或者i小于或等于i_max時,根據(jù)公式Xi=X(i-1)-DeltaX,計算Xi并通過Xi、頻率控制字FCW模擬鑒頻器110計算頻率差,并經(jīng)過數(shù)字濾波器120對其濾波得到Y(jié)i,在i的基礎(chǔ)上遞增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。
當(dāng)|DealtaX|小于N或i大于i_max時,完成迭代運算,將上一次的計算結(jié)果X(i-1),Y(i-1)輸出至誤差計算模塊163,此時i=i+1。
當(dāng)|DealtaX|大于或等于N,或者i小于或等于i_max時,根據(jù)公式Xi=X(i-1)-DeltaX,計算Xi并通過Xi、頻率控制字FCW模擬鑒頻器110計算頻率差,并經(jīng)過數(shù)字濾波器120對其濾波得到Y(jié)i,在i=i+1的基礎(chǔ)上遞增1(i=(i+1)+1),如此循環(huán),直到當(dāng)|DealtaX|小于N或i大于i_max時,完成迭代運算,將上一次的計算結(jié)果X(i-1),Y(i-1)識別為初始頻率基準(zhǔn)值。
具體地,全數(shù)字鎖相環(huán)初始化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)進行計算,來模仿數(shù)字濾波器的計算結(jié)果,得到以下的值: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,完成迭代計算,將上一次的結(jié)果X2,Y2識別為初始頻率基準(zhǔn)值。
進一步地,全數(shù)字鎖相環(huán)的鎖相方法還包括:當(dāng)計算得到所述初始頻率基準(zhǔn)值時,將所述濾波系數(shù)設(shè)置為第二濾波系數(shù);其中,所述第一濾波系數(shù)大于所述第二濾波系數(shù)。
例如,全數(shù)字鎖相環(huán)在得到迭代運算結(jié)果X(i-1),Y(i-1)時,識別為即將開始進行誤差校正,由于誤差校正過程對噪聲比較敏感,所以可以選擇使數(shù)字濾波器帶寬較小的第二濾波系數(shù)COEF2,減少噪聲對誤差校正的影響。第一濾波系數(shù)COEF1對應(yīng)的濾波器帶寬大于第二濾波系數(shù)COEF2對應(yīng)的濾波器帶寬。
可以理解的是,全數(shù)字鎖相環(huán)還獲取比例積分器的使能控制信號ENABLE,此時,獲取到的比例積分器的使能控制信號ENABLE標(biāo)識非使能狀態(tài)。
S2033:根據(jù)所述第二頻率差對所述初始頻率基準(zhǔn)值進行校正得到所述頻率基準(zhǔn)值。
全數(shù)字鎖相環(huán)當(dāng)計算得到迭代運算結(jié)果X(i-1),Y(i-1),以及根據(jù)第二濾波系數(shù)COEF2對第一頻率差FDOUT進行濾波得到的第二頻率差LPFOUT時,根據(jù)第二頻率差LPFOUT對X(i-1),Y(i-1)進行校正得到頻率基準(zhǔn)值XQ。
其中,全數(shù)字鎖相環(huán)初始化k=1,獲取迭代運算結(jié)果X(i-1)、Y(i-1),初始化Z(0)=X(i-1),初始化Q(0)=Y(jié)(i-1)。
全數(shù)字鎖相環(huán)計算Z(k)=Z(k-1)–1×sign(Q(k-1)),并通過Z(k)、頻率控制字FCW模擬鑒頻器計算頻率差,并經(jīng)過數(shù)字濾波器對其濾波得到Q(k)。其中,sign(x)表示求x的符號,例如sign(-2)=-1;sign(4)=1。
全數(shù)字鎖相環(huán)在計算得到Q(k)后,判斷Sign(Q(k-1))是否約等于Sign(Q(k)),當(dāng)Sign(Q(k-1))~=Sign(Q(k))時,判斷|Q(k)|是否大于|Q(k-1)|,當(dāng)|Q(k)|大于|Q(k-1)|時,完成誤差校正,Z(k-1)為終解;當(dāng)|Q(k)|小于或等于|Q(k-1)|時,完成誤差計算,Z(k)為終解。其中,|Q(k)|是指對Q(k)取絕對值。
當(dāng)Sign(Q(k-1))~≠Sign(Q(k))時,在k的基礎(chǔ)上遞增1,即k=k+1。
當(dāng)k=k+1時,重新計算Z(k)=Z(k-1)–1×sign(Q(k-1)),并通過Z(k)、頻率控制字FCW模擬鑒頻器計算頻率差,并經(jīng)過數(shù)字濾波器對其濾波得到Q(k)。其中,sign(x)表示求x的符號,例如sign(-2)=-1;sign(4)=1。
全數(shù)字鎖相環(huán)在計算得到Q(k)后,判斷Sign(Q(k-1))是否約等于Sign(Q(k)),當(dāng)Sign(Q(k-1))~=Sign(Q(k))時,判斷|Q(k)|是否大于|Q(k-1)|,當(dāng)|Q(k)|大于|Q(k-1)|時,完成誤差校正,Z(k-1)為終解;當(dāng)|Q(k)|小于或等于|Q(k-1)|時,完成誤差計算,Z(k)為終解。其中,|Q(k)|是指對Q(k)取絕對值。
當(dāng)Sign(Q(k-1))~≠Sign(Q(k))時,在k=k+1的基礎(chǔ)上遞增1,即k=(k+1)+1,并重新計算Z(k)=Z(k-1)–1×sign(Q(k-1)),并通過Z(k)、頻率控制字FCW模擬鑒頻器110計算頻率差,并經(jīng)過數(shù)字濾波器對其濾波得到Q(k),判斷Sign(Q(k-1))是否約等于Sign(Q(k)),如此循環(huán),直到當(dāng)Sign(Q(k-1))~=Sign(Q(k))時,完成誤差計算,確定Z(k)或Z(k-1)為終解。
全數(shù)字鎖相環(huán)將Z(k)或Z(k-1)識別為校正得到頻率基準(zhǔn)值XQ。
可以理解的是,全數(shù)字鎖相環(huán)在校正得到頻率基準(zhǔn)值XQ時,獲取的比例積分器的使能控制信號ENABLE標(biāo)識使能狀態(tài)。
例如,全數(shù)字鎖相環(huán)初始化k=1,獲取步驟S2032計算得到的迭代運算結(jié)果X2=460、Y2=-1.0545,初始化Z(0)=X(3-1)=460,初始化Q(0)=Y(jié)(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)進行計算,來模仿數(shù)字濾波器的計算結(jié)果,得到Q1=0.2052。
全數(shù)字鎖相環(huán)判斷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:根據(jù)所述使能控制信號對所述第二頻率差進行比例積分運算,并根據(jù)運算結(jié)果以及所述頻率基準(zhǔn)值進行加法運算得到數(shù)控振蕩器控制字。
全數(shù)字鎖相環(huán)根據(jù)比例積分器的使能控制信號ENABLE對第二頻率差LPFOUT進行比例積分運算,得到運算結(jié)果PIOUT,并根據(jù)運算結(jié)果PIOUT以及計算得到的頻率基準(zhǔn)值XQ進行加法運算得到數(shù)控振蕩器控制字DCW。
其中,全數(shù)字鎖相環(huán)根據(jù)比例積分器的使能控制信號ENABLE對第二頻率差LPFOUT進行比例積分運算的計算公式如下:
(ENABLE==1,標(biāo)識使能狀態(tài))
PIOUT=0 (ENABLE==0,標(biāo)識非使能狀態(tài))
其中,input是第二頻率差LPFOUT;PIOUT為運算結(jié)果;a和p是系數(shù),由系統(tǒng)的帶寬需求確定。
S205:根據(jù)所述數(shù)控振蕩器控制字輸出所述數(shù)控振蕩器控制字對應(yīng)的第一時鐘。
全數(shù)字鎖相環(huán)數(shù)控振蕩器控制字輸出數(shù)控振蕩器控制字對應(yīng)的第一時鐘Fdco_out,并將該第一時鐘Fdco_out識別下一輪循環(huán)的參考時鐘,返回步驟S101,進入下一循環(huán)。
其中,第一時鐘用于全數(shù)字鎖相環(huán)返回步驟S101根據(jù)第一時鐘Fdco_out以及頻率控制字FCW重新計算第一頻率差FDOUT。當(dāng)重新計算的第一頻率差FDOUT小于或等于預(yù)設(shè)閾值時,第一時鐘Fdco_out對應(yīng)的數(shù)控振蕩器控制字為目標(biāo)數(shù)控振蕩器控制字,全數(shù)字鎖相環(huán)完成鎖定;當(dāng)重新計算的第一頻率差大于所述預(yù)設(shè)閾值時,執(zhí)行;執(zhí)行步驟S102~S105進入下一循環(huán)。
上述方案,全數(shù)字鎖相環(huán)采用迭代運算計算頻率基準(zhǔn)值,使得根據(jù)頻率基準(zhǔn)值得到的第一時鐘與輸入鑒頻器的頻率控制字之差小于或等于預(yù)設(shè)閾值,該預(yù)設(shè)閾值能夠使得第一時鐘與輸入鑒頻器的頻率控制字之差等于零或無限趨近零,因此,能夠有效加快鎖相速度以及簡化鎖相計算過程。
通過調(diào)整濾波系數(shù),能夠減少噪聲對誤差校正計算結(jié)果的影響,提高頻率基準(zhǔn)值的準(zhǔn)確度。
本發(fā)明還提供一種調(diào)頻接收裝置,調(diào)頻接收裝置包括上述任一實施例所述的直接數(shù)字頻率合成器。調(diào)頻接收裝置包括但不限于用于立體聲編碼的調(diào)頻(Frequency Modulation,F(xiàn)M)發(fā)射裝置。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。