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