摘要:數(shù)字頻率合成(DDS)結(jié)構(gòu)簡單、易于控制,產(chǎn)生的跳頻信號具有很高的頻率分辨率和頻率轉(zhuǎn)換速度。文章通過對DDS原理的分析,在FPGA平臺下對基于DDS的跳頻信號源進行設(shè)計,并通過優(yōu)化參數(shù)設(shè)置,進一步提高跳頻信號源的整體性能。
關(guān)鍵詞:跳頻信號:數(shù)字頻率合成;現(xiàn)場可編程門陣列
0 引言
跳頻通信具有較強的抗干擾、抗多徑衰落、抗截獲等能力,已廣泛應(yīng)用于軍事、交通、商業(yè)等各個領(lǐng)域。頻率合成器是跳頻系統(tǒng)的心臟,直接影響到跳頻信號的穩(wěn)定性和產(chǎn)生頻率的準確度。目前頻率合成主要有三種方法:直接模擬合成法、鎖相環(huán)合成法和直接數(shù)字合成法(DDS)。直接模擬合成法利用倍頻(乘法)、分頻(除法)、混頻(加法與減法)及濾波,從單一或幾個參考頻率中產(chǎn)生多個所需的頻率。該方法頻率轉(zhuǎn)換時間快(小于100ns),但是體積大、功耗高,目前已基本不用。鎖相環(huán)合成法通過鎖相環(huán)完成頻率的加、減、乘、除運算。該方法結(jié)構(gòu)簡單、便于集成,且頻譜純度高,目前使用比較廣泛,但存在高分辨率和快轉(zhuǎn)換速度之間的矛盾,一般只能用于大步進頻率合成技術(shù)中。DDS是近年來迅速發(fā)展起來的一種新的頻率合成方法。這種方法簡單可靠、控制方便,且具有很高的頻率分辨率和轉(zhuǎn)換速度,非常適合跳頻通信的要求。
1 DDS的基本原理
DDS的原理如圖1所示,包含相位累加器、波形存儲器(ROM)、數(shù)模轉(zhuǎn)換器(DAC)和低通濾波器4個部分。在參考時鐘的驅(qū)動下,相位累加器對頻率控制字N位進行累加,得到的相位碼L作為ROM的地址,根據(jù)地址ROM輸出相應(yīng)幅度的波形碼,然后經(jīng)過DAC生成階梯波形,經(jīng)低通濾波器后得到所需要的連續(xù)波形。
理想單頻信號可以表示為Y(t)=Usin(2πf0+θ0)。如果振幅U和初始相位θ0為一個常量,即不隨時間變化,則輸出頻率由相位唯一確定f0=θ(t)/2πt。
以采樣頻率fc(Tc=1/fc)對單頻信號進行抽樣,則可得到相應(yīng)的離散相位序列
其中△θ·n=2πf0/fc是連續(xù)兩次采樣之間的相位增量,控制△θ可以控制合成信號的頻率。把整個周期的相位2π分割成q等份,每一份δ=2π/q為可選擇的最小相位增量,得到最低頻率輸出fmin=δ/2πTc=fc/q,經(jīng)過濾波后得到S(t)=cos(2πfct/q)。
如果每次相位的增量選擇為δ的R倍,即可得到信號頻率f0=Rδ/2πTc=Rfc/q,相應(yīng)得到的模擬信號為S(t)=cos(2πfcR/q)。
由以上原理可知,DDS輸出信號的頻率與參考時鐘頻率及控制字之間的關(guān)系為f0=K·fc/2N,式中f0為DDS輸出信號的頻率,K為頻率控制字,fc為參考時鐘頻率,N為相位累加器的位數(shù)。在波形存儲器中寫入2N個正弦波數(shù)據(jù),每個數(shù)據(jù)有D位。不同的頻率控制字導(dǎo)致相位累加器的不同相位增量,從而使波形存儲器輸出的正弦波的頻率不同。
2 基于DDS的跳頻信號產(chǎn)生核心模塊的設(shè)計
圖2為基于DDS跳頻信號產(chǎn)生的總體設(shè)計。
如圖2所示,整個系統(tǒng)由兩個部分組成,即邏輯地址控制單元和DDS單元。其中DDS單元又包括相位累加器和ROM查詢表。邏輯地址控制單元用來產(chǎn)生不同的頻率控制字,改變相位累加器的累加值。DDS單元依據(jù)頻率控制字產(chǎn)生相應(yīng)頻率的信號。
2.1 邏輯地址控制單元
在本設(shè)計中,邏輯地址控制單元由一個6級移位寄存器和6位存儲器構(gòu)成。系統(tǒng)時鐘clk經(jīng)過64分頻后得到時鐘clk_64,將clk_64作為邏輯地址控制單元的驅(qū)動時鐘。當(dāng)一個時鐘clk_64上升沿到來時,r(1:5)=r(0:4)同時。這樣移位寄存器中的狀態(tài)將改變,并存入存儲器中,得到頻率控制字k(5:0)。
2.2 DDS單元
DDS單元為本設(shè)計的核心,由相位累加器和ROM查詢表兩部分組成。在頻率控制字(5:0)的控制下產(chǎn)生相應(yīng)頻率的信號。
2.2.1 相位累加器
相位累加器是DDS的重要的組成部分。被用來實現(xiàn)相位的累加,并將其累加結(jié)果存儲。如果相位累加器的初值為φ0,則經(jīng)過一個時鐘周期后相位累加器值為φ1,即φ1=φ0+k,其中k為頻率控制字。當(dāng)經(jīng)過n個時鐘周期后φn=φ0+nk。可見φn為一等差數(shù)列。
在本文中基于FPGA的相位累加器設(shè)計如圖2所示。從圖2中可以看出,相位累加器由一個數(shù)字全加器和一個數(shù)字存儲器構(gòu)成。為了提高DDS輸出頻率的分辨率,一般要求n足夠大,這樣就要求ROM中存儲大量數(shù)據(jù)。但是考慮到硬件資源有限,所以在相位累加器中采用了截短處理,這樣既可保證較小的頻率分辨率,又節(jié)省了硬件資源。
2.2.2 ROM查詢表
ROM中所存儲的數(shù)據(jù)是數(shù)字波形的幅值,在一個系統(tǒng)時鐘周期內(nèi),相位累加器將輸出一個位寬為L的序列對其進行尋址,經(jīng)過低通濾波器后得到所需要的波形。若相位累加器的輸出序列的位寬L=16,ROM中存儲的數(shù)據(jù)位寬為M=16,可以計算出ROM的存儲量為2L×M=1048576bits,雖然一塊FPGA開發(fā)芯片上提供了大量的ROM,可以顯著提高輸出信號頻率精確度和信號幅值準確性,但這樣會使成本提高、功耗增大。
在保證輸出信號具有良好頻率分辨率的前提下,以產(chǎn)生正弦信號為例,考慮到基于DDS產(chǎn)生的正弦波具有周期性,因此本設(shè)計的ROM中存儲1/4周期正弦波。如圖2所示為存儲1/4周期正弦波形ROM查詢表設(shè)計。利用正弦信號的對稱性,通過改變ROM存儲器地址及對其輸出端控制,最終得到整周期正弦信號。
3 仿真結(jié)果及分析
3.1 DDS單元仿真結(jié)果及分析
3.1.1 仿真參數(shù)
為分析本設(shè)計中DDS所產(chǎn)生頻率的精確度,現(xiàn)使用Xilinx ISE 8.11中DDS IP Core進行對比,在同等仿真參數(shù)條件下,分別對本設(shè)計的DDS和DDS IP Core進行仿真測試。表1中分別給出基于本設(shè)計DDS和DDS IP Core的仿真參數(shù)。
3.1.2 仿真結(jié)果及分析
如圖3所示,clk是系統(tǒng)時鐘,new_dds_sine為在頻率控制字k=16時基于本設(shè)計DDS產(chǎn)生的頻率為1.5625MHz(理論值)的正弦波,dds_ip_ core_sine為基于DDS IP Core產(chǎn)生的頻率為1.5625MHz(理論值)的正弦波。
圖4給出在k為1~16時,本設(shè)計的DDS所產(chǎn)生信號的頻率和DDS IP Core所產(chǎn)生信號的頻率與理論頻率值的對比。從圖中可以看出,本設(shè)計DDS所產(chǎn)生的信號頻率與理論頻率值比較接近,且本設(shè)計DDS中ROM查詢表中存儲的點數(shù)少,從硬件的角度考慮更加節(jié)省資源,能耗更低。
3.2 基于FPGA跳頻信號仿真結(jié)果
圖2中給出了基于本設(shè)計DDS跳頻信號生成的總體設(shè)計圖。共由四部分組成:系統(tǒng)時鐘、分頻器、邏輯地址控制單元及DDS單元。跳頻信號的產(chǎn)生是通過隨機地改變頻率控制字來達到改變信號的輸出頻率,圖5給出了系統(tǒng)工作流程圖。
如圖5所示,系統(tǒng)時鐘clk經(jīng)過64分頻得到clk_64。邏輯控制單元由6級移位寄存器構(gòu)成。在每個clk_64上升沿到來時,邏輯控制單元將產(chǎn)生一個6位的頻率控制字(k)。當(dāng)DDS使能信號ce為高電平時,DDS將停止工作。當(dāng)ce為低電平時,在clk上升沿時DDS被觸發(fā),在當(dāng)前狀態(tài)下k的控制下,得到相應(yīng)地址所對應(yīng)的信號幅值。當(dāng)k沒有變化時,DDS輸出正弦信號的頻率沒有任何變化,在一個clk_64上升沿到來時,k發(fā)生變化,從而使得DDS輸出的正弦信號的頻率發(fā)生變化。當(dāng)復(fù)位信號reset為高電平時,邏輯地址控制單元和DDS單元同時回到初始狀態(tài),并保持不變,輸出端dds_FH輸出一直為零。當(dāng)reset變?yōu)榈碗娖綍r,在一個clk上升沿時系統(tǒng)開始工作。
為方便觀察仿真結(jié)果,本設(shè)計采用ModelSim SE 6.1d作為仿真波形測試軟件。通過3.1節(jié)分析,由于本設(shè)計的DDS所產(chǎn)生的頻率性能穩(wěn)定,且跳頻信號的誤差并不累加。因此本節(jié)只給出仿真結(jié)果,不做其性能分析。圖6為基于DDS的跳頻信號,圖6給出圖5中各個控制信號的仿真結(jié)果。表2中給出圖6中不同頻率控制字所對應(yīng)的正弦信號的頻率與理論值的對比,可以看出本設(shè)計的DDS與理論值的誤差較小。由于ROM中存儲的點數(shù)較少,更加節(jié)省資源。
4 結(jié)束語
在FPGA硬件平臺下設(shè)計基于DDS的跳頻信號產(chǎn)生系統(tǒng),不僅實現(xiàn)了大量數(shù)據(jù)快速運算,提高了仿真的速度,而且可以靈活、重復(fù)地對系統(tǒng)的參數(shù)進行優(yōu)化配置,便于提高跳頻系統(tǒng)的性能。本文所設(shè)計的DDS,結(jié)構(gòu)簡單、硬件資源占用率少,且產(chǎn)生頻率相對準確。根據(jù)對所需跳頻信號精確度要求的不同,合理配置參數(shù),協(xié)調(diào)硬件資源與頻率準確之間的矛盾關(guān)系,最終實現(xiàn)跳頻系統(tǒng)的最優(yōu)配置。