跳頻通信具有較強(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ǔ)器中寫入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)配置。