陳雷,王濤,韋靖,田曉燕,張鎖良
(1.河北大學(xué) 電子信息工程學(xué)院,河北 保定 071002; 2.北京郵電大學(xué) 電子工程學(xué)院,北京 100876)
跳頻分為快跳頻和慢跳頻2種,慢跳頻是指跳頻頻率低于信元碼率,即持續(xù)傳輸幾個(gè)比特的信息跳頻一次;快跳頻是指一次發(fā)射信號(hào)期間有多次頻率跳變,即跳頻頻率高于信元碼率[1].跳速越快,抗跟蹤和干擾的能力就越強(qiáng).
在近幾年的研究中,文獻(xiàn)[2]提出了一種使用非均勻正弦加權(quán)數(shù)模轉(zhuǎn)換器的低功耗直接頻率合成器DDS技術(shù),降低了信號(hào)雜散和系統(tǒng)功耗,可以輸出不同頻率的信號(hào),但輸出頻率有限,信號(hào)帶寬較窄.文獻(xiàn)[3]提出一種多路并行DDS技術(shù),可以產(chǎn)生大帶寬信號(hào),頻率分辨率高,且頻率轉(zhuǎn)換速度快,但沒有考慮對系統(tǒng)硬件資源消耗的問題,實(shí)際應(yīng)用存在一定的局限性.文獻(xiàn)[4]提出一種基于坐標(biāo)旋轉(zhuǎn)數(shù)字算法(CORDIC)的DDS技術(shù),利用CORDIC算法替代了ROM查找表,降低了相位截?cái)嗾`差和幅度量化誤差,提高了信號(hào)的頻譜純度,但算法迭代數(shù)較多,計(jì)算復(fù)雜,信號(hào)延遲較高.
針對以上問題,本文提出一種雙向多路快跳頻載波產(chǎn)生方法,通過并行設(shè)計(jì)實(shí)現(xiàn)了大帶寬快速跳頻,利用雙向跳頻算法將原本的跳頻帶寬一分為二,以中頻載波頻率為中心向正負(fù)2個(gè)方向跳變.保證了跳頻載波質(zhì)量,同時(shí)降低了硬件資源消耗.結(jié)果表明,利用該方法,在系統(tǒng)信元碼率為10 kHz、擴(kuò)頻速率10 MHz的前提下,產(chǎn)生了跳頻速率20 000 hops/s、跳頻帶寬327.52 MHz的快跳頻載波.相比于單向跳頻,在產(chǎn)生載波質(zhì)量相同的條件下,節(jié)約了系統(tǒng)53%的Block RAM資源.
本系統(tǒng)中,信息碼元首先完成信道編碼,隨后利用偽隨機(jī)序列作為擴(kuò)頻碼進(jìn)行擴(kuò)頻調(diào)制,再利用多路并行DDS產(chǎn)生的本地載波完成BPSK調(diào)制,最后調(diào)制信號(hào)進(jìn)入DAC中進(jìn)行720 MHz中頻調(diào)制.系統(tǒng)整體結(jié)構(gòu)如圖1所示.
圖1 快速跳擴(kuò)頻系統(tǒng)發(fā)射端結(jié)構(gòu)Fig.1 Transmitting structure of fast DS/FH system
工程設(shè)計(jì)中DDS通常以串行的形式出現(xiàn)[5].根據(jù)奈奎斯特采樣定理可知,單路串行DDS的輸出頻率會(huì)受到時(shí)鐘頻率限制,最高輸出頻率為時(shí)鐘頻率的一半[6].本設(shè)計(jì)中,時(shí)鐘板卡提供給現(xiàn)場可編程門陣列(FPGA)的時(shí)鐘頻率為80 MHz,理論上DDS能夠輸出的最大頻率為40 MHz,但是在實(shí)際工程中認(rèn)為它只能達(dá)到系統(tǒng)時(shí)鐘的40%左右[7].由于FPGA時(shí)鐘頻率有限且提升空間很小,串行DDS不能滿足系統(tǒng)327.52 MHz跳頻帶寬的要求,需采用并行DDS設(shè)計(jì).
圖2所示為傳統(tǒng)單路DDS結(jié)構(gòu),通過對相位控制字進(jìn)行線性累加,累加結(jié)果經(jīng)過正弦查找表進(jìn)行相幅轉(zhuǎn)換,形成數(shù)字形式的正弦波.
多路并行DDS的每一路也同樣基于單路串行DDS的設(shè)計(jì)原理,只是在每一路相位累加間隔相同的條件下,其初相是不同的[8].圖3所示為8路并行DDS結(jié)構(gòu),利用尋址多相的結(jié)構(gòu)對各路初始相位控制字Ki進(jìn)行累加,其中i=0,1,2,3,…,7,每路對應(yīng)的初始相位Ki為相位累加間隔d的i倍.而各路相位累加器的累加值與并行DDS的路數(shù)成正比,若系統(tǒng)n路并行DDS的相位累加間隔為d,則各路的相位累加器中的累加值為nd.各路初始相位控制字在經(jīng)過相位累加之后,累加的結(jié)果通過正弦查找表進(jìn)行相幅轉(zhuǎn)換,將原本串行的數(shù)字載波以并行的形式輸出. 采用n路并行,可將DDS的頻率輸出范圍提高n倍,滿足系統(tǒng)設(shè)計(jì)需要.
圖2 單路串行DDS結(jié)構(gòu)Fig.2 Structure diagram of single-channel serial DDS
圖3 多路并行DDS結(jié)構(gòu)Fig.3 Structure diagram of multi-channel parallel DDS
快跳頻載波的產(chǎn)生需要利用并行DDS輸出不同頻率的載波,不同的頻率對應(yīng)著不同的相位累加間隔d,對于一個(gè)深度為N的正弦查找表,目標(biāo)輸出頻率為fo,系統(tǒng)時(shí)鐘頻率為fclk,則需要的相位累加間隔計(jì)算公式為
(1)
對于混合跳擴(kuò)頻通信系統(tǒng)而言,在進(jìn)行跳頻調(diào)制之前需要對信號(hào)進(jìn)行擴(kuò)頻調(diào)制,用來擴(kuò)寬信號(hào)帶寬,降低接收端對信噪比的要求[9].本系統(tǒng)使用直接序列擴(kuò)頻的方法進(jìn)行調(diào)制,擴(kuò)頻序列采用偽隨機(jī)序列產(chǎn)生的偽隨機(jī)碼[10].偽隨機(jī)碼具有很強(qiáng)的相關(guān)性,有利于系統(tǒng)接收端對信息的捕獲跟蹤.
系統(tǒng)信息碼元速率為10 kHz,采用卷積+RS級(jí)聯(lián)碼的形式編碼,編碼后速率為20 kHz,擴(kuò)頻碼的速率為10 MHz.設(shè)信息碼元速率為Rc,擴(kuò)頻碼速率為Rm,則對應(yīng)的信息碼元寬度Tc和擴(kuò)頻碼寬度Tm可表示為
(2)
(3)
從而可得到信息碼元C(t)和擴(kuò)頻碼M(t)表達(dá)式為
(4)
(5)
(6)
其中,cn與mn分別為信息碼序列和擴(kuò)頻碼序列.將上述信息碼與擴(kuò)頻碼相乘,可得到擴(kuò)頻調(diào)制信號(hào)D(t),即
(7)
考慮到接收端跳頻載波的同步問題,在產(chǎn)生跳頻載波時(shí)需要保證載波相位連續(xù),減小信息傳遞過程中產(chǎn)生的誤差.本設(shè)計(jì)中的跳頻信號(hào)F(t)共有2 048個(gè)跳頻點(diǎn),跳頻帶寬327.52 MHz,頻率間隔為160 kHz,起始點(diǎn)頻率為80 kHz.其中,頻率間隔和起始點(diǎn)頻率均與跳頻速率呈倍數(shù)關(guān)系,可以保證產(chǎn)生的跳頻載波相位連續(xù),其表達(dá)式為
(8)
其中,fn為F(t)中的跳頻點(diǎn)集,對應(yīng)的跳頻調(diào)制為固定頻點(diǎn)循環(huán),不同的跳頻點(diǎn)對應(yīng)著不同的相位控制字[11],更新頻率為20 kHz,可以產(chǎn)生跳速為20 kHz的跳頻載波.
由于硬件資源有限,為了保證信號(hào)增益和幅度不受影響,需要對D(t)進(jìn)行量化,量化后得到信號(hào)
L(t)=A×D(t),
(9)
其中A為量化參數(shù).
將量化后的信號(hào)與跳頻信號(hào)F(t)相乘,完成BPSK調(diào)制,得到發(fā)射端調(diào)制信號(hào)為
(10)
其中ωt和θt是時(shí)域上當(dāng)前時(shí)間的載波頻率和相位.
尋址多相結(jié)構(gòu)的DDS是基于正弦查找表實(shí)現(xiàn)的.在一定跳頻帶寬下,隨著跳頻頻率逐漸升高,相位地址的間隔也會(huì)變大.在正弦查找表位寬和深度相同的表情況下,產(chǎn)生的數(shù)字跳頻載波的相位截?cái)嗾`差會(huì)上升,系統(tǒng)性能也會(huì)受到影響.加深正弦查找表的位寬和深度可以降低相位截?cái)嗾`差,但是會(huì)占用更多的硬件資源.針對此問題,以中頻頻率為中心,產(chǎn)生雙向跳頻頻點(diǎn),可以保證跳頻帶寬不變,使跳頻載波的最高頻率降低一半,從而降低了對正弦查找表位寬和深度的要求,節(jié)省硬件資源.系統(tǒng)需求跳頻帶寬為327.52 MHz,采用雙向跳頻將中心頻點(diǎn)搬移到720 MHz,向720 MHz±163.76 MHz 2個(gè)頻率方向跳變,跳頻帶寬不變,DDS最高頻率需求由327.52 MHz降為163.76 MHz.
系統(tǒng)設(shè)計(jì)中,載波調(diào)制分別利用余弦和正弦函數(shù)產(chǎn)生I、Q 2路信號(hào),每路信號(hào)由8路并行DDS產(chǎn)生,調(diào)制過后的信號(hào)以并行的形式進(jìn)入DAC進(jìn)行720 MHz中頻調(diào)制,2路相加后進(jìn)行數(shù)模轉(zhuǎn)換送入射頻模塊.
信號(hào)P(t)分為I、Q 2路進(jìn)入DAC,2路數(shù)據(jù)分別進(jìn)行中頻正余弦載波調(diào)制.設(shè)I、Q 2路載波頻率為ωx,相位為θx,中頻載波頻率為ωy,相位為θy,可以得到2路中頻調(diào)制后的信號(hào)
TXI(t)=D(t)cos(ωxt+θx)cos(ωyt+θy) ,
(11)
TXQ(t)=D(t)sin(ωxt+θx)sin(ωyt+θy) ,
(12)
相加后得
TX(t)=TXI(t)+TXQ(t)=D(t)cos(ωxt+θx)cos(ωyt+θy)+D(t)sin(ωxt+θx)sin(ωyt+θy)=
D(t)cos((ωy-ωx)t+(θy-θx)),
(13)
即可以得到ωy與ωx頻率之差.
若將Q路的數(shù)據(jù)取反后輸入DAC,相加后得到
TX(t)=TXI(t)-TXQ(t)=D(t)cos(ωxt+θx)cos(ωyt+θy)-D(t)sin(ωxt+θx)sin(ωyt+θy)-
D(t)cos((ωy+ωx)t+(θx+θy)).
(14)
即可以得到ωy與ωx頻率之和.
綜上所述,利用DAC的功能,可以在FPGA中通過調(diào)整不同跳頻點(diǎn)Q路的極性,實(shí)現(xiàn)以中頻調(diào)制信號(hào)頻率為中心,左右跳變的雙向跳頻信號(hào),達(dá)到系統(tǒng)設(shè)計(jì)要求[12].
通信系統(tǒng)的設(shè)計(jì)在確保穩(wěn)定性的同時(shí),運(yùn)算速度也要有保障.FPGA在硬件上可以達(dá)到此要求,并且具有軟件可編輯的功能,能很好地適應(yīng)不同系統(tǒng)的要求,為系統(tǒng)測試提供了便捷的功能,具有很強(qiáng)的靈活性. 本設(shè)計(jì)采用Xilinx公司的Zynq-XC7Z100系列FPGA芯片,在ISE14.7軟件環(huán)境中進(jìn)行邏輯編輯,同時(shí)利用高性能的16位數(shù)模轉(zhuǎn)換DAC9164芯片進(jìn)行中頻調(diào)制和數(shù)模轉(zhuǎn)換.
信道編碼采用卷積+RS級(jí)聯(lián)碼形式,利用ISE14.7環(huán)境下的獨(dú)立IP核實(shí)現(xiàn).擴(kuò)頻調(diào)制利用頻率10 MHz、周期500碼片的擴(kuò)頻碼與編碼后頻率20 kHz的信息進(jìn)行異或運(yùn)算實(shí)現(xiàn),擴(kuò)頻碼頻率與信息頻率的比為500∶1.
圖4 基帶信號(hào)處理結(jié)構(gòu)Fig.4 Structure diagram of baseband signal processing
在跳頻調(diào)制前,為了保證信號(hào)增益和幅度不受影響,需要對擴(kuò)頻調(diào)制后的信號(hào)進(jìn)行高電平為“+1”、低電平為“-1”的量化處理,再利用跳頻載波對其進(jìn)行BPSK調(diào)制.具體實(shí)現(xiàn)是利用DDS產(chǎn)生的數(shù)據(jù)與量化后的信號(hào)進(jìn)行相乘運(yùn)算.其實(shí)現(xiàn)方式圖4所示.
并行DDS利用只讀存儲(chǔ)器ROM來實(shí)現(xiàn),首先需要在MATLAB軟件中產(chǎn)生需要的N個(gè)采樣點(diǎn)M位寬的正弦余弦數(shù)據(jù),然后生成內(nèi)存初始化文件 (memory initialization file,MIF),將其導(dǎo)入ROM中作為基本載波樣本,將此作為基礎(chǔ)載波,通過相位控制字,對ROM中的數(shù)據(jù)進(jìn)行尋址讀取,實(shí)現(xiàn)并行DDS.
跳頻載波利用Modelsim工具進(jìn)行仿真,采用位寬16、深度215的ROM作為正弦查找表,圖5為并行DDS產(chǎn)生72 MHz載波的仿真波形.
圖5 72 MHz信號(hào)Modelsim仿真Fig.5 Simulation diagram of 72 MHz signal Modelsim
信號(hào)clk為系統(tǒng)時(shí)鐘,周期12 500 ps,頻率80 MHz;信號(hào)dds_out0~dds_out7為DDS的8路并行輸出.利用MATLAB工具將8路輸出信號(hào)以串行的方式依次排列后得到的結(jié)果如圖6所示.可以看出,并行數(shù)據(jù)以串行的方式排列后,形成了周期性載波,8路并行DDS成功產(chǎn)生72 MHz載波.
圖7、圖8所示為本設(shè)計(jì)通過上位機(jī)界面觀察到的頻譜圖和輸出信號(hào)圖.可以看出,在上行設(shè)備沒有任何調(diào)制信號(hào)輸出時(shí),只有DAC產(chǎn)生的720 MHz中頻信號(hào).
圖6 MATLAB串行處理波形Fig.6 MATLAB serial processing waveform
圖7 720 MHz單載波輸出信號(hào)頻譜Fig.7 Frequency domain diagram of 720 MHz single carrier output signal
圖8 720 MHz單載波輸出信號(hào)Fig.8 Time domain diagram of 720 MHz single carrier output signal
圖9、圖10所示為信息碼元經(jīng)過擴(kuò)頻調(diào)制、DAC的中頻調(diào)制之后的頻譜圖與輸出信號(hào)圖.可以看到,以720 MHz為中心頻率的輸出信號(hào)的頻譜被擴(kuò)展.
圖9 擴(kuò)頻后輸出信號(hào)頻譜Fig.9 Frequency domain diagram of outputsignal after spreading
圖10 擴(kuò)頻后輸出信號(hào)Fig.10 Time domain diagram of outputsignal after spreading
通過不同的跳頻點(diǎn)可以產(chǎn)生雙向跳頻,圖11為正向跳頻72 MHz的頻譜圖,圖12為反向跳頻57 MHz的頻譜圖.可以看出,輸出信號(hào)的中心頻點(diǎn)隨著跳頻調(diào)制向正、負(fù)方向搬移.
圖11 正向頻率跳頻輸出信號(hào)頻譜Fig.11 Frequency domain diagram of positivefrequency hopping output signal
圖12 反向頻率跳頻輸出信號(hào)頻譜Fig.12 Frequency domain diagram of negativefrequency hopping output signal
如果使用單向跳頻產(chǎn)生同質(zhì)量載波,為保證載波質(zhì)量,需要將正弦查找表的位寬和深度增加1倍以上.以本次實(shí)驗(yàn)參數(shù)為基礎(chǔ),將ROM的位寬和深度增加1倍,經(jīng)過仿真后得到表1所示的資源消耗對比.表1數(shù)據(jù)可以得出,相比于參數(shù)加倍后產(chǎn)生的單向跳頻,在雙向跳頻的設(shè)計(jì)中主要存儲(chǔ)模塊Block RAM/FIFO的資源降低了53%.
表1 資源消耗對比
本文提出一種雙向多路快跳頻載波產(chǎn)生技術(shù),基于FPGA平臺(tái),在系統(tǒng)信元碼率10 kHz、擴(kuò)頻速率10 MHz的前提下,通過多路并行DDS技術(shù)產(chǎn)生了跳速為20 000 hops/s、跳頻帶寬為327.52 MHz的快跳頻載波,利用雙向跳頻的設(shè)計(jì)思路,在確保帶寬不變的情況下,進(jìn)一步節(jié)省了硬件資源的消耗.相比于單向跳頻,節(jié)約了系統(tǒng)53%的Block RAM資源,具有更高的實(shí)際應(yīng)用價(jià)值.本文暫未對此方法中的幅度量化誤差進(jìn)行分析,下一步將建立幅度量化誤差模型,展開進(jìn)一步的研究.