本發(fā)明涉及信號源領(lǐng)域,具體涉及信號源及其多頻率輸出補償方法、系統(tǒng)。
背景技術(shù):
在信號源(信號發(fā)生器)領(lǐng)域,頻率的輸出通常由dds芯片(直接數(shù)字式頻率合成器)控制完成。信號源根據(jù)用戶選定的頻率,將頻率經(jīng)過比例運算后轉(zhuǎn)換成頻率控制字(累加器的步長),dds芯片根據(jù)頻率控制字輸出對應的頻率。
由于現(xiàn)有的信號源在運算過程中采用的是整數(shù)算術(shù)運算,但是處理器在做整數(shù)運算時存在小數(shù)點以后的數(shù)據(jù)舍棄誤差,例如,定義兩個整數(shù)變量inta=1000;b=3;當計算intc=a/b時,得到的c為3而不是3.33333…;這種數(shù)據(jù)舍棄誤差會導致當雙通道輸出時,用戶配置的兩個頻率輸出值是整數(shù)倍數(shù)關(guān)系,而實際信號源輸出的兩個頻率不是整數(shù)倍數(shù)關(guān)系,從而影響到兩個輸出頻率的對應關(guān)系。例如:信號源的輸出通道1需要輸出1khz正弦信號,輸出通道2需要輸出10khz正弦信號。在沒有做任何補償?shù)那闆r下,使用示波器觀察兩個通道(通道1做觸發(fā)),會發(fā)現(xiàn)通道2信號相位會隨著時間的變化而變化。這樣一個通道的相位相對于另外一個通道在漂移,從而影響了兩個通道的輸出頻率之間的對應關(guān)系。
因此,現(xiàn)有技術(shù)有待改進和提高。
技術(shù)實現(xiàn)要素:
本申請?zhí)峁┮环N信號源及其多頻率輸出補償方法、系統(tǒng),在初始設(shè)置了兩個成整數(shù)倍數(shù)的頻率后,信號源實際輸出的兩個頻率保持成整數(shù)倍數(shù)關(guān)系。
根據(jù)本發(fā)明的第一方面,本發(fā)明提供一種信號源的多頻率輸出補償方法,包括如下步驟:
判斷用戶設(shè)置的第一頻率和第二頻率之間是否成整數(shù)倍數(shù)關(guān)系;
第一頻率與第二頻率成整數(shù)倍數(shù)關(guān)系,則比較第一頻率控制字與第二頻率控制字的大?。黄渲?,第一頻率控制字由第一頻率根據(jù)預設(shè)公式計算得到,第二頻率控制字由第二頻率根據(jù)預設(shè)公式計算得到;
對其中一個頻率控制字進行補償,使第一頻率控制字與第二頻率控制字成整數(shù)倍數(shù)關(guān)系。
所述的信號源的多頻率輸出補償方法,其中,被補償?shù)念l率控制字為數(shù)值大的頻率控制字。
所述的信號源的多頻率輸出補償方法,其中,所述“對大的頻率控制字進行補償,使大的頻率控制字與小的頻率控制字成整數(shù)倍數(shù)關(guān)系”的步驟具體包括:
數(shù)值大的頻率控制字被數(shù)值小的頻率控制字取余;計算數(shù)值小的頻率控制字與余數(shù)的差值;比較余數(shù)與所述差值的大小,在余數(shù)小于所述差值時,將數(shù)值大的頻率控制字減去所述余數(shù),得到補償后的數(shù)值大的頻率控制字;根據(jù)補償后的數(shù)值大的頻率控制字、數(shù)值小的頻率控制字,分別輸出對應的頻率;
或者,數(shù)值大的頻率控制字被數(shù)值小的頻率控制字取余;將余數(shù)與數(shù)值小的頻率控制字的二分之一做比較,在余數(shù)大時,將數(shù)值大的頻率控制字加上數(shù)值小的頻率控制字與所述余數(shù)的差值,得到補償后的數(shù)值大的頻率控制字;在余數(shù)小時,將數(shù)值大的頻率控制字減去所述余數(shù),得到補償后的數(shù)值大的頻率控制字;根據(jù)補償后的數(shù)值大的頻率控制字、數(shù)值小的頻率控制字,分別輸出對應的頻率。
所述的信號源的多頻率輸出補償方法,其中,所述第一頻率、第二頻率、第一頻率控制字和第二頻率控制字均為整數(shù)。
根據(jù)本發(fā)明的第二方面,本發(fā)明還提供一種信號源的多頻率輸出補償方法,包括:
在用戶設(shè)置的n個頻率中選出數(shù)值最小的頻率nmin,判斷其它頻率與最小的頻率nmin之間是否成整數(shù)倍數(shù)關(guān)系,得到m個與最小的頻率nmin成整數(shù)倍數(shù)關(guān)系的頻率;其中,n≥m>2,n和m均為整數(shù);
根據(jù)預設(shè)公式計算得到所述m個頻率的頻率控制字;
對所述m個頻率的頻率控制字或者最小的頻率nmin的頻率控制字進行補償,使m個頻率的頻率控制字與最小的頻率nmin的頻率控制字成整數(shù)倍數(shù)關(guān)系。
根據(jù)本發(fā)明的第三方面,本發(fā)明提供一種信號源的多頻率輸出補償系統(tǒng),包括:
倍數(shù)判斷模塊,用于判斷用戶設(shè)置的第一頻率與第二頻率之間是否成整數(shù)倍數(shù)關(guān)系;
比較模塊,用于在第一頻率與第二頻率成整數(shù)倍數(shù)關(guān)系時,比較第一頻率控制字與第二頻率控制字的大??;其中,第一頻率控制字由第一頻率根據(jù)預設(shè)公式計算得到,第二頻率控制字由第二頻率根據(jù)預設(shè)公式計算得到;
補償運算模塊,用于對其中一個頻率控制字進行補償,使第一頻率控制字與第二頻率控制字成整數(shù)倍數(shù)關(guān)系。
所述的信號源的多頻率輸出補償系統(tǒng),其中,所述補償運算模塊包括:
取余單元,用于將數(shù)值大的頻率控制字除以數(shù)值小的頻率控制字,得到余數(shù);
補償單元,用于計算數(shù)值小的頻率控制字與余數(shù)的差值;比較余數(shù)與所述差值的大小,在余數(shù)小于所述差值時,將數(shù)值大的頻率控制字減去所述余數(shù),得到補償后的數(shù)值大的頻率控制字;根據(jù)補償后的數(shù)值大的頻率控制字、數(shù)值小的頻率控制字,分別輸出對應的頻率;
或者,用于將余數(shù)與數(shù)值小的頻率控制字的二分之一做比較,在余數(shù)大時,將數(shù)值大的頻率控制字加上數(shù)值小的頻率控制字與所述余數(shù)的差值,得到補償后的數(shù)值大的頻率控制字;在余數(shù)小時,將數(shù)值大的頻率控制字減去所述余數(shù),得到補償后的數(shù)值大的頻率控制字;根據(jù)補償后的數(shù)值大的頻率控制字、數(shù)值小的頻率控制字,分別輸出對應的頻率。
所述的信號源的多頻率輸出補償系統(tǒng),其中,所述第一頻率、第二頻率、第一頻率控制字和第二頻率控制字均為整數(shù)。
根據(jù)本發(fā)明的第四方面,本發(fā)明還提供一種信號源的多頻率輸出補償系統(tǒng),包括:
倍數(shù)判斷模塊,用于在用戶設(shè)置的n個頻率中選出數(shù)值最小的頻率nmin,判斷其它頻率與最小的頻率nmin之間是否成整數(shù)倍數(shù)關(guān)系,得到m個與最小的頻率nmin成整數(shù)倍數(shù)關(guān)系的頻率;其中,n≥m>2,n和m均為整數(shù);
比較模塊,用于根據(jù)預設(shè)公式計算得到所述m個頻率的頻率控制字;
補償運算模塊,用于對所述m個頻率的頻率控制字或者最小的頻率nmin的頻率控制字進行補償,使m個頻率的頻率控制字與最小的頻率nmin的頻率控制字成整數(shù)倍數(shù)關(guān)系。
根據(jù)本發(fā)明的第五方面,本發(fā)明還提供一種信號源,包括:如上所述的多頻率輸出補償系統(tǒng)和dds芯片,所述dds芯片的輸入端與補償運算模塊的輸出端連接。
本發(fā)明的有益效果:在用戶設(shè)置的兩個頻率之間存在整數(shù)倍數(shù)關(guān)系時,通過比較其頻率控制字的大小,對其中一個頻率控制字進行補償,使的兩個頻率控制字成整數(shù)倍數(shù)關(guān)系。由此,信號源最終通過頻率控制字對應輸出頻率時,輸出的兩個頻率滿足整數(shù)倍數(shù)關(guān)系。
附圖說明
圖1為本發(fā)明提供的信號源的多頻率輸出補償方法一實施例的流程圖;
圖2為本發(fā)明提供的信號源的多頻率輸出補償方法的一實施例的具體流程圖;
圖3為本發(fā)明提供的信號源的多頻率輸出補償系統(tǒng)的一實施例的結(jié)構(gòu)框圖。
具體實施方式
下面通過具體實施方式結(jié)合附圖對本發(fā)明作進一步詳細說明。
在本發(fā)明實施例中,先判斷用戶設(shè)置的兩個頻率之間是否存在整數(shù)倍數(shù)關(guān)系,若存在,則在對這兩個頻率分別進行比例變換后,得到用于控制信號源的輸出頻率的頻率控制字,進而對其中一個頻率控制字進行補償,使兩個頻率控制字保持整數(shù)倍數(shù)關(guān)系,最后信號源根據(jù)這兩個頻率控制字而輸出的兩個頻率仍然能保持整數(shù)倍數(shù)關(guān)系。
本發(fā)明提供的信號源的多頻率輸出補償方法中,圖1為實施例一的方法流程圖,本實施例中,所述多頻率輸出補償方法包括如下步驟:
s10、在信號源(信號發(fā)生器)接收到用戶設(shè)置了兩個頻率(第一頻率和第二頻率)需要輸出時,判斷用戶設(shè)置的第一頻率和第二頻率之間是否成整數(shù)倍數(shù)關(guān)系。具體的,判斷第一頻率是否為第二頻率的整數(shù)倍,判斷第二頻率是否為第一頻率的整數(shù)倍,有一個頻率是另一個頻率的整數(shù)倍即可。所述補償方法優(yōu)選運用在信號源的計算機程序中。具體的,如圖2所示,所述步驟s10包括步驟s110、s120和s130。
s110、信號源的頻率通道設(shè)置模塊傳入兩個通道的頻率ch1_frq,ch2_frq,即信號源的頻率通道設(shè)置模塊接收用戶設(shè)置的第一頻率通道需要輸出的第一頻率ch1_frq和第二頻率通道需要輸出的第二頻率ch2_frq。
s120、根據(jù)預設(shè)公式計算第一頻率對應的第一頻率控制字ch1_ftw、第二頻率對應的第二頻率控制字ch2_ftw。所述預設(shè)公式優(yōu)選為dds芯片(直接數(shù)字式頻率合成器)計算輸出頻率的公式:m=fout×2n÷fc,m為dds芯片中累加器的步長,也就是頻率控制字;fout為dds芯片需要輸出的頻率,也就是用戶設(shè)置的頻率;fc為時鐘頻率,2n為dds芯片相位累加器的位寬??梢?,頻率控制字的運算是需要經(jīng)過比例運算的。
s130、判斷第一頻率與第二頻率是否成整數(shù)倍數(shù)關(guān)系,若是整數(shù)倍數(shù),即進入頻率補償流程。
s20、第一頻率與第二頻率成整數(shù)倍數(shù)關(guān)系(即第一頻率是第二頻率的整數(shù)倍,或者第二頻率是第一頻率的整數(shù)倍),則比較第一頻率控制字與第二頻率控制字的大??;以頻率控制字的大小來判斷哪個頻率輸出通道的輸出頻率需要補償。若第一頻率與第二頻率不成整數(shù)倍數(shù)關(guān)系,則dds芯片直接通過第一頻率控制字、第二頻率控制字輸出第一頻率和第二頻率即可。所述第一頻率、第二頻率、第一頻率控制字和第二頻率控制字均為整數(shù);所述第一頻率控制字由第一頻率計算得到,其程序運算均采用整形變量;所述第二頻率控制字由第二頻率計算得到,其程序運算均采用整形變量。
s30、對其中一個頻率控制字進行補償,使第一頻率控制字與第二頻率控制字成整數(shù)倍數(shù)關(guān)系。優(yōu)選的,本實施例中,被補償?shù)念l率控制字為數(shù)值大的頻率控制字。被補償通道為頻率控制字大的一方,在保證兩個輸出的頻率成整數(shù)倍關(guān)系的同時,避免對輸出頻率本身精度的影響。由此,本實施例一中,即便第一頻率和第二頻率經(jīng)過了計算機程序的整數(shù)算術(shù)運算,得到的第一頻率控制字和第二頻率控制字可能已不成整數(shù)倍數(shù)關(guān)系,但經(jīng)過對數(shù)值大的頻率控制字進行補償,使得兩個頻率控制字之間成整數(shù)倍數(shù)關(guān)系,在測量領(lǐng)域,需要兩個成倍數(shù)關(guān)系的頻率進行數(shù)據(jù)處理時,這一補償尤為重要,提高了測量檢測領(lǐng)域的精度。
進一步的,所述步驟s30具有兩個具體的方案,在方案一中,所述步驟s30具體包括:數(shù)值大的頻率控制字被數(shù)值小的頻率控制字取余;計算數(shù)值小的頻率控制字與余數(shù)的差值;比較余數(shù)與所述差值的大小,在余數(shù)小于所述差值時,將數(shù)值大的頻率控制字減去所述余數(shù),得到補償后的數(shù)值大的頻率控制字;根據(jù)補償后的數(shù)值大的頻率控制字、數(shù)值小的頻率控制字,分別輸出對應的頻率。
在本實施例一中,所述步驟s30進一步包括:
s310、在第一頻率控制字大于第二頻率控制字時,將第一頻率控制字除以第二頻率控制字,得到余數(shù)reminder;計算第二頻率控制字與余數(shù)的差值minused_reminder;設(shè)置第一標志位refrence_frq_word_bigger為真(true)。在第二頻率控制字大于第一頻率控制字時,將第二頻率控制字除以第一頻率控制字,得到余數(shù)reminder;計算第一頻率控制字與余數(shù)的差值minused_reminder;設(shè)置第二標志位changing_frq_word_bigger為真(true)。
s320、比較余數(shù)與所述差值的大小,在余數(shù)小于所述差值時,進入步驟s330,在余數(shù)大于所述差值時,進入步驟s340。
s330、判斷第二標志位是否為真,若是則進入步驟s350,若否則進入步驟s360。
s340、判斷第二標志位是否為真,若是則進入步驟s370,若否則進入步驟s380。
s350、將第二頻率控制字減去所述余數(shù),得到新的第二頻率控制字;即將第二頻率控制字減去余數(shù)后得到的數(shù)值賦值給第二頻率控制字,完成對第二頻率控制字的補償。
s360、將第一頻率控制字減去所述余數(shù),得到新的第一頻率控制字;即將第一頻率控制字減去余數(shù)后得到的數(shù)值賦值給第一頻率控制字,完成對第一頻率控制字的補償。
s370、將第二頻率控制字加上所述差值minused_reminder,得到新的第二頻率控制字;即將第二頻率控制字加上差值minused_reminder后得到的數(shù)值賦值給第二頻率控制字,完成對第二頻率控制字的補償。
s380、將第一頻率控制字加上所述差值minused_reminder,得到新的第一頻率控制字;即將第一頻率控制字加上差值minused_reminder后得到的數(shù)值賦值給第一頻率控制字,完成對第一頻率控制字的補償。
s390、dds芯片使用第一頻率控制字、第二頻率控制字,分別輸出對應的頻率。
圖2所示的整個流程在信號源中所作運算都是用的是整形變量。
在方案二中,數(shù)值大的頻率控制字被數(shù)值小的頻率控制字取余;將余數(shù)與數(shù)值小的頻率控制字的二分之一做比較,在余數(shù)大時,將數(shù)值大的頻率控制字加上數(shù)值小的頻率控制字與所述余數(shù)的差值,得到補償后的數(shù)值大的頻率控制字;在余數(shù)小時,將數(shù)值大的頻率控制字減去所述余數(shù),得到補償后的數(shù)值大的頻率控制字;dds芯片根據(jù)補償后的數(shù)值大的頻率控制字、數(shù)值小的頻率控制字,分別輸出對應的頻率。
由此可知,在信號源的雙通道信號頻率輸出過程中,用戶需要輸出兩個成整數(shù)倍數(shù)關(guān)系頻率,采用本發(fā)明提供的補償方法,其輸出的兩個頻率在示波器中觀察,可看到兩個通道的信號值是固定的,即輸出也保持了成整數(shù)倍數(shù)關(guān)系,提高了輸出頻率的一致性和準確性。
實施例二:
實施例一給出了兩個通道的頻率輸出的補償方法,本實施例二則考慮多個通道(通道數(shù)大于二)的情況。故本實施例中的補償方法如下:
s10’、在信號源接收到用戶設(shè)置了n個頻率需要輸出時,在用戶設(shè)置的n個頻率中選出數(shù)值最小的頻率nmin,判斷其它頻率與最小的頻率nmin之間是否成整數(shù)倍數(shù)關(guān)系,得到m個與最小的頻率nmin成整數(shù)倍數(shù)關(guān)系的頻率;其中,n≥m>2,n和m均為整數(shù)。
s20’、根據(jù)預設(shè)公式計算得到所述m個頻率的頻率控制字,并分別比較所述m個頻率的頻率控制字與頻率nmin的頻率控制字的大小。
s30’、對所述m個頻率的頻率控制字或者最小的頻率nmin的頻率控制字進行補償,使m個頻率的頻率控制字與最小的頻率nmin的頻率控制字成整數(shù)倍數(shù)關(guān)系。本實施例中,分別對m個頻率的頻率控制字進行補償,使m個頻率的頻率控制字與最小的頻率nmin的頻率控制字成整數(shù)倍數(shù)關(guān)系。換而言之,在用戶需要輸出2個以上的頻率時,選出(計算出)最小的頻率,將其余的頻率的頻率控制字分別與最小頻率的頻率控制字進行一些列運算(如實施例一),從而對其余的頻率控制字進行補償,這樣最終輸出的多個頻率,均與最小頻率保持整數(shù)倍數(shù)關(guān)系。分別對m個頻率的頻率控制字進行補償,其具體補償過程在實施例一的步驟s30中已詳細描述,即,m個頻率中需要補償?shù)念l率控制字相當于實施例一中數(shù)值大的頻率控制字,最小頻率的頻率控制字相當于實施例一的數(shù)值小的頻率控制字,其補償過程在此不再贅述。
基于上述實施例提供的補償方法,本發(fā)明還提供一種信號源的多頻率輸出補償系統(tǒng),請參考圖3,在實施例三中,所述補償系統(tǒng)包括:頻率通道設(shè)置模塊(圖中未示出)、倍數(shù)判斷模塊10、比較模塊20和補償運算模塊30。
所示頻率通道設(shè)置模塊,用于接收用戶對頻率輸出通道輸出的頻率的設(shè)置。
所述倍數(shù)判斷模塊10,用于判斷用戶設(shè)置的第一頻率與第二頻率之間是否成整數(shù)倍數(shù)關(guān)系。具體的,所述倍數(shù)判斷模塊10用于判斷第一頻率是否為第二頻率的整數(shù)倍,判斷第二頻率是否為第一頻率的整數(shù)倍,有一個頻率是另一個頻率的整數(shù)倍即可。所述補償系統(tǒng)優(yōu)選運用在信號源的程序中。信號源的頻率通道設(shè)置模塊接收用戶設(shè)置的第一頻率通道需要輸出的第一頻率ch1_frq和第二頻率通道需要輸出的第二頻率ch2_frq。所述倍數(shù)判斷模塊10獲取第一頻率通道的第一頻率ch1_frq和第二頻率通道的第二頻率ch2_frq;判斷第一頻率與第二頻率是否成整數(shù)倍數(shù)關(guān)系,若是整數(shù)倍數(shù),即進入頻率補償流程。
所述比較模塊20,用于根據(jù)預設(shè)公式計算第一頻率對應的頻率控制字ch1_ftw、第二頻率對應的頻率控制字ch2_ftw;在第一頻率與第二頻率成整數(shù)倍數(shù)關(guān)系時(即第一頻率是第二頻率的整數(shù)倍,或者第二頻率是第一頻率的整數(shù)倍),比較第一頻率控制字與第二頻率控制字的大小;以頻率控制字的大小來判斷被補償通道。被補償通道為頻率控制字大的一方,以保證最大限度的實現(xiàn)輸出精度補償。若第一頻率與第二頻率不成整數(shù)倍數(shù)關(guān)系,則直接通過第一頻率控制字、第二頻率控制字輸出第一頻率和第二頻率即可。所述第一頻率、第二頻率、第一頻率控制字和第二頻率控制字均為整數(shù);所述第一頻率控制字由第一頻率計算得到,其程序運算均采用整形變量;所述第二頻率控制字由第二頻率計算得到,其程序運算均采用整形變量。本補償系統(tǒng)中的各個模塊在計算機中所作運算也都采用整形變量。所述預設(shè)公式優(yōu)選為dds芯片(直接數(shù)字式頻率合成器)計算輸出頻率的公式:m=fout×2n÷fc,m為dds芯片中累加器的步長,也就是頻率控制字;fout為dds芯片需要輸出的頻率,也就是用戶設(shè)置的頻率;fc為時鐘頻率,2n為dds芯片相位累加器的位寬。
所述補償運算模塊30,用于對其中一個頻率控制字進行補償,使第一頻率控制字與第二頻率控制字成整數(shù)倍數(shù)關(guān)系。優(yōu)選的,本實施例中,被補償?shù)念l率控制字為數(shù)值大的頻率控制字。由此,本實施例三中,即便第一頻率和第二頻率經(jīng)過了計算機程序的整數(shù)算術(shù)運算,得到的第一頻率控制字和第二頻率控制字可能已不成整數(shù)倍數(shù)關(guān)系,但經(jīng)過對數(shù)值大的頻率控制字進行補償,使得兩個頻率控制字之間成整數(shù)倍數(shù)關(guān)系,在測量領(lǐng)域,需要兩個成倍數(shù)關(guān)系的頻率進行數(shù)據(jù)處理時,這一補償尤為重要,提高了測量檢測領(lǐng)域的精度。
進一步的,所述補償運算模塊30包括取余單元310和補償單元320。
所述取余單元310,用于將數(shù)值大的頻率控制字除以數(shù)值小的頻率控制字,得到余數(shù)。
所述補償單元320有兩種方案,方案一中,所述補償單元320計算數(shù)值小的頻率控制字與余數(shù)的差值;比較余數(shù)與所述差值的大小,在余數(shù)小于所述差值時,將數(shù)值大的頻率控制字減去所述余數(shù),得到補償后的數(shù)值大的頻率控制字;根據(jù)補償后的數(shù)值大的頻率控制字、數(shù)值小的頻率控制字,分別輸出對應的頻率。
具體的,所述補償單元320在第一頻率控制字大于第二頻率控制字時,將第一頻率控制字除以第二頻率控制字,得到余數(shù)reminder;計算第二頻率控制字與余數(shù)的差值minused_reminder;設(shè)置第一標志位refrence_frq_word_bigger為真(true);在第二頻率控制字大于第一頻率控制字時,將第二頻率控制字除以第一頻率控制字,得到余數(shù)reminder;計算第一頻率控制字與余數(shù)的差值minused_reminder;設(shè)置第二標志位changing_frq_word_bigger為真(true);比較余數(shù)與所述差值的大小并判斷第二標志位是否為真,在余數(shù)小于所述差值且第二標志位為真時,則將第二頻率控制字減去所述余數(shù),得到新的第二頻率控制字,完成對第二頻率控制字的補償;在余數(shù)小于所述差值且第二標志位不為真時,則將第一頻率控制字減去所述余數(shù),得到新的第一頻率控制字,完成對第一頻率控制字的補償;在余數(shù)大于所述差值且第二標志位為真時,將第二頻率控制字加上所述差值minused_reminder,得到新的第二頻率控制字,完成對第二頻率控制字的補償;在余數(shù)大于所述差值且第二標志位不為真時,將第一頻率控制字加上所述差值minused_reminder,得到新的第一頻率控制字,完成對第一頻率控制字的補償;最后使用第一頻率控制字、第二頻率控制字,分別輸出對應的頻率。
在方案二中,所述補償單元320將余數(shù)與數(shù)值小的頻率控制字的二分之一做比較,在余數(shù)大時,將數(shù)值大的頻率控制字加上數(shù)值小的頻率控制字與所述余數(shù)的差值,得到補償后的數(shù)值大的頻率控制字;在余數(shù)小時,將數(shù)值大的頻率控制字減去所述余數(shù),得到補償后的數(shù)值大的頻率控制字;根據(jù)補償后的數(shù)值大的頻率控制字、數(shù)值小的頻率控制字,分別輸出對應的頻率。
上述補償系統(tǒng),給出了兩個通道的輸出頻率補償,在用戶設(shè)置兩個以上的頻率時,本補償系統(tǒng)同樣能進行補償。如實施例四:
所述倍數(shù)判斷模塊10,還用于在用戶設(shè)置了n個頻率時,在用戶設(shè)置的n個頻率中選出數(shù)值最小的頻率nmin,判斷其它頻率與最小的頻率nmin之間是否成整數(shù)倍數(shù)關(guān)系,得到m個與最小的頻率nmin成整數(shù)倍數(shù)關(guān)系的頻率;其中,n≥m>2,n和m均為整數(shù)。
所述比較模塊20,還用于根據(jù)預設(shè)公式計算得到所述m個頻率的頻率控制字,并分別比較所述m個頻率的頻率控制字與頻率nmin的頻率控制字的大小。
所述補償運算模塊30,還用于對所述m個頻率的頻率控制字或者最小的頻率nmin的頻率控制字進行補償,使m個頻率的頻率控制字與最小的頻率nmin的頻率控制字成整數(shù)倍數(shù)關(guān)系。本實施例中,分別對m個頻率的頻率控制字進行補償,使m個頻率的頻率控制字與最小的頻率nmin的頻率控制字成整數(shù)倍數(shù)關(guān)系。換而言之,在用戶需要輸出2個以上的頻率時,選出(計算出)最小的頻率,將其余的頻率的頻率控制字分別與最小頻率的頻率控制字進行一些列運算(如實施例三),從而對其余的頻率控制字進行補償,這樣最終輸出的多個頻率,均與最小頻率保持整數(shù)倍數(shù)關(guān)系。分別對m個頻率的頻率控制字進行補償,其具體補償過程在實施例三中已詳細描述,即,m個頻率中需要補償?shù)念l率控制字相當于實施例三中數(shù)值大的頻率控制字,最小頻率的頻率控制字相當于實施例三的數(shù)值小的頻率控制字,其補償過程在此不再贅述。
基于上述實施例提供的多頻率輸出補償系統(tǒng),本發(fā)明還提供一種信號源,所述信號源包括上述的多頻率輸出補償系統(tǒng),以及dds芯片,所述dds芯片的輸入端與補償運算模塊的輸出端連接。即補償系統(tǒng)輸出第一頻率控制字和第二頻率控制字給dds芯片。所述dds芯片輸入的信號包括頻率控制字m、相位控制字和時鐘頻率fc,所述dds芯片內(nèi)置有相位累加器、正弦查詢表和dac(數(shù)字模擬轉(zhuǎn)換器)、低通濾波器等。所述相位累加器包括加法器和相位寄存器。每來一個時鐘,相位寄存器以步長增加,相位寄存器的輸出與相位控制字相加,然后輸入到正弦查詢表地址上。正弦查詢表包含一個周期正弦波的數(shù)字幅度信息,每個地址對應正弦波中0-360°范圍的一個相位點。正弦查詢表把輸入的地址相位信息映射成正弦波幅度的數(shù)字量信號,驅(qū)動dac,輸出模擬量。相位寄存器每經(jīng)過2n÷m個fc時鐘后回到初始狀態(tài),相應地正弦查詢表經(jīng)過一個循環(huán)回到初始位置,整個dds芯片輸出一個正弦波。該正弦波的頻率為:fout=m×fc÷2n。
由于所述信號源的頻率輸出補償?shù)脑碓谏鲜鰧嵤├幸言敿氷U述,在此不再贅述。
本領(lǐng)域技術(shù)人員可以理解,上述實施方式中各種方法的全部或部分步驟可以通過程序來指令相關(guān)硬件完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:只讀存儲器、隨機存儲器、磁盤或光盤等。
以上應用了具體個例對本發(fā)明進行闡述,只是用于幫助理解本發(fā)明,并不用以限制本發(fā)明。對于本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明的思想,還可以做出若干簡單推演、變形或替換。