,, , ,
(上海航天電子技術(shù)研究所,上海 201109)
空空擴(kuò)頻FPGA的信號(hào)輸入雖然是數(shù)字信號(hào),但是這些數(shù)字信號(hào)都是經(jīng)過發(fā)射機(jī)調(diào)制產(chǎn)生的模擬信號(hào),經(jīng)過AD芯片轉(zhuǎn)換成數(shù)字信號(hào),這些數(shù)字信號(hào)實(shí)際上是模擬信號(hào)的采樣值。信號(hào)調(diào)制模擬信號(hào)的過程通常是由數(shù)據(jù)信號(hào)經(jīng)過糾錯(cuò)編碼,差分解碼,偽碼調(diào)制,并采用高頻率載波經(jīng)過各種二進(jìn)制調(diào)制方式,采樣點(diǎn)多,數(shù)據(jù)量大,激勵(lì)數(shù)據(jù)的生成正確性難以保證。文獻(xiàn)[1]采用傳統(tǒng)方法數(shù)學(xué)模型仿真軟件Matlab[2]根據(jù)算法模型產(chǎn)生數(shù)據(jù)激勵(lì)包,然后通過時(shí)鐘采樣該數(shù)據(jù)包作為FPGA的輸入激勵(lì)。由于激勵(lì)數(shù)據(jù)的固定性,這種仿真驗(yàn)證方法只能驗(yàn)證FPGA的靜態(tài)頻率捕獲,無法完整驗(yàn)證整個(gè)FPGA的功能正確性,無法模擬工作過程中動(dòng)態(tài)頻率偏移及數(shù)據(jù)變化對(duì)FPGA跟蹤同步過程的影響,難以保證驗(yàn)證的有效性和充分性[3]。文獻(xiàn)[4]提出一種半實(shí)物仿真方法,在特制的硬件仿真平臺(tái)上產(chǎn)生常規(guī)通信信號(hào)、直序擴(kuò)頻/跳頻擴(kuò)頻信號(hào),每路信號(hào)的調(diào)制樣式、頻偏、幅度增益實(shí)時(shí)可控,該種方式有測(cè)試效率高,測(cè)試較為全面的優(yōu)點(diǎn),但是由于需要搭建特定平臺(tái),測(cè)試成本大幅度提高,此外,故障定位過程繁瑣。針對(duì)上述問題,提出一種在仿真器中設(shè)計(jì)調(diào)制樣式、頻偏、幅度增益實(shí)時(shí)可控的常規(guī)通信信號(hào)從而完成系統(tǒng)級(jí)的仿真驗(yàn)證方法。仿真結(jié)果表明,所提方法可以高效率地保證驗(yàn)證的充分性,具有較強(qiáng)的可行性[5]。
空空擴(kuò)頻通信FPGA功能框圖如圖1所示,分為2部分。
圖1 空空擴(kuò)頻通信FPGA功能框圖
第一部分為擴(kuò)頻通信接收模塊,AD采樣值分別同數(shù)字頻率合成器(NCO)輸出的相位相差90°的正弦信號(hào)和余弦信號(hào)相乘,再通過FIR濾波器濾除高頻分量,即可得到兩路正交的基帶信號(hào)。I/Q兩路FIR濾波器的參數(shù)完全相同,進(jìn)行低通濾波的同時(shí)完成數(shù)據(jù)的抽取。I/Q兩路數(shù)據(jù)與本地?cái)U(kuò)頻碼PN序列進(jìn)行相關(guān)和運(yùn)算,每個(gè)偽碼周期進(jìn)行一次相關(guān)運(yùn)算,考慮資源使用情況和捕獲時(shí)間要求,I/Q路并行相關(guān)運(yùn)算快速捕獲,當(dāng)相關(guān)峰值大于自適應(yīng)門限時(shí),調(diào)整本地NCO頻率和本地?cái)U(kuò)頻碼相位,隨即進(jìn)入載波跟蹤和偽碼跟蹤階段,同時(shí)FPGA不斷捕獲幀頭,當(dāng)幀頭被捕獲后,就可以提取基帶數(shù)據(jù)解碼解幀并發(fā)送至空空接口。
第二部分為擴(kuò)頻通信發(fā)送模塊,F(xiàn)PGA接收來自空空通信接口的數(shù)據(jù),將其組成傳輸幀,進(jìn)行RS編碼后,與本地GOLD序列異或進(jìn)行直接序列擴(kuò)頻,將擴(kuò)頻后的信號(hào)送往發(fā)射機(jī),調(diào)制后送飛船或目標(biāo)飛行器上設(shè)備[3]。
根據(jù)圖1可知FPGA設(shè)計(jì)算法較為復(fù)雜,仿真激勵(lì)需要完成擴(kuò)頻通信接收和擴(kuò)頻通信發(fā)送2個(gè)部分的閉環(huán)測(cè)試模型的構(gòu)建。在仿真器中通過SystemVerilog語言建立仿真模型,如圖2所示。仿真模型情況如表1所示,核心仿真模型是中頻信號(hào)生成模型和解擴(kuò)接收模型。前者將數(shù)據(jù)源擴(kuò)頻調(diào)制生成中頻信號(hào),經(jīng)過FPGA解擴(kuò)解調(diào)后,通過空空通信接收模型接收成空空接收數(shù)據(jù)應(yīng)與中頻信號(hào)數(shù)據(jù)源一致。后者用于對(duì)發(fā)送給射頻的信號(hào)進(jìn)行解擴(kuò)接收,接收的數(shù)據(jù)應(yīng)與空空接口發(fā)送的數(shù)據(jù)一致。
圖2 仿真系統(tǒng)結(jié)構(gòu)
仿真模型詳情如表1所示,后續(xù)對(duì)中頻信號(hào)生成模型和解擴(kuò)接收模型做詳細(xì)闡述。
中頻信號(hào)生成模型如圖3所示,由2部分信號(hào)主要包括7部分內(nèi)容。
1)根據(jù)中頻頻率和系統(tǒng)采樣頻率計(jì)算出載波頻率字,利用DDS原理產(chǎn)生地址,根據(jù)SIN或者COS查找表生成載波正弦波或者余弦波,作為載波調(diào)制信號(hào)。頻率字計(jì)算公式如下所示:
表1 仿真模型表
圖3 中頻信號(hào)生成模型結(jié)構(gòu)圖
其中:fword為頻率字,16進(jìn)制;n表示二進(jìn)制位寬,fs是系統(tǒng)采樣頻率,f頻率是輸入的頻率。
2)根據(jù)偽碼公式生成的偽碼查找表[6],同理根據(jù)偽碼碼速率和采樣頻率計(jì)算出偽碼頻率字簡稱碼字,利用DDS原理產(chǎn)生PN碼時(shí)鐘,讀取偽碼查找表,產(chǎn)生擴(kuò)頻碼。當(dāng)載波頻率偏移,會(huì)導(dǎo)致偽碼頻率也相對(duì)有所偏移,必須清楚碼偏和中頻頻偏相關(guān)的計(jì)算關(guān)系,有2種方式:
a)根據(jù)公式fd=(V/C)×fL,其中C=299792458,假設(shè)-1 454 3)對(duì)數(shù)據(jù)源數(shù)據(jù)進(jìn)行RS編碼加同步頭構(gòu)成同步幀后,進(jìn)行差分編碼,對(duì)差分編碼后數(shù)據(jù)源每比特?cái)?shù)據(jù)對(duì)信號(hào)進(jìn)行擴(kuò)頻碼調(diào)制,保證1比特?cái)?shù)據(jù)與1個(gè)完整的擴(kuò)頻碼序列對(duì)齊; 4)對(duì)載波正弦波或者余弦波進(jìn)行調(diào)幅,幅值根據(jù)AD芯片設(shè)置,以AD9285為例,0.55 V為滿值,來進(jìn)行分配。 5)對(duì)擴(kuò)頻信號(hào)進(jìn)行BPSK載波調(diào)制,正取原值,負(fù)取補(bǔ)碼。 6)對(duì)載波調(diào)制后信號(hào)加入相應(yīng)信噪比的高斯白噪聲。 7)根據(jù)采樣時(shí)鐘頻率輸出最后的AD信號(hào)。 將FPGA設(shè)計(jì)中的生成PN序列擴(kuò)頻調(diào)制的時(shí)鐘信號(hào)拉出來,用作解擴(kuò)接收模型的位同步判定信號(hào),在激勵(lì)中用PN序列生成公司生成PN序列,使得FPGA設(shè)計(jì)中調(diào)制的PN序列和激勵(lì)中用于解擴(kuò)的PN序列完全對(duì)齊,利用該P(yáng)N序列對(duì)擴(kuò)頻調(diào)制后信號(hào)進(jìn)行擴(kuò)頻解調(diào)。在差分解調(diào)、幀同步、RS解碼后,將得到的數(shù)據(jù)與空空接口發(fā)送的數(shù)據(jù)進(jìn)行一致性比對(duì)。解擴(kuò)接收模型結(jié)構(gòu)圖如圖4所示。 圖4 解擴(kuò)接收模型結(jié)構(gòu)圖 考慮在空空通信過程中存在相對(duì)靜止和相對(duì)運(yùn)動(dòng)2種狀態(tài),分別在這2種狀態(tài)下加入單載波同頻干擾和多址干擾模式,對(duì)空空擴(kuò)頻通信算法驗(yàn)證的核心就是數(shù)字下變頻和低通濾波功能、載波跟蹤功能和并行相關(guān)運(yùn)算功能進(jìn)行驗(yàn)證,分析的結(jié)果如下: 1)對(duì)AD信號(hào)、數(shù)字下變頻和低通濾波后信號(hào)進(jìn)行頻譜分析如圖5所示,可知信號(hào)輸入原始頻譜的db峰值對(duì)應(yīng)的頻率為-18.1 Mhz和18.1 Mhz;經(jīng)過數(shù)字下變頻后的I路db峰值對(duì)應(yīng)的中心頻率為0;經(jīng)過數(shù)字下變頻后的Q路db峰值對(duì)應(yīng)的中心頻率為0,說明數(shù)字下變頻功能正確。濾波后只有擴(kuò)頻帶寬內(nèi)的信號(hào)被保留下來,高頻信號(hào)均被濾除,說明低通濾波功能正確。 圖5 數(shù)字下變頻和低通濾波驗(yàn)證頻譜圖 2)載波跟蹤功能分為粗捕和細(xì)捕,在粗捕頻率范圍內(nèi),尋找能夠過門限的頻率點(diǎn),在每一個(gè)頻率點(diǎn)上,需要對(duì)一個(gè)完整偽碼周期的所有相位進(jìn)行做相關(guān),找到過門限的頻率點(diǎn)。然后進(jìn)行唐氏檢測(cè),唐氏檢測(cè)的實(shí)質(zhì)是比較過門限和未過門限的次數(shù),如果過門限的次數(shù)大于一定值,就認(rèn)為已經(jīng)找到了過門限的頻率點(diǎn),進(jìn)入頻率細(xì)捕跟蹤,如果門限的次數(shù)過小,就認(rèn)為沒有找到過門限的頻率點(diǎn),重新粗捕,唐氏檢測(cè)可以提高正確捕獲的概率。在細(xì)捕頻率范圍內(nèi),尋找過門限且相關(guān)值最大的頻率點(diǎn),這個(gè)過程是尋找一個(gè)最大的相關(guān)值過程,相關(guān)值的初始值就是粗捕中第一次過門限的相關(guān)值,直至在細(xì)捕頻率范圍內(nèi)取出相關(guān)最大值和對(duì)應(yīng)的頻率點(diǎn)[7]。載波跟蹤功能仿真驗(yàn)證如圖6所示,捕獲帶寬從下限頻偏進(jìn)行掃描,步進(jìn)按0.3 kHz進(jìn)行步進(jìn),當(dāng)找最大相關(guān)峰,將相關(guān)峰對(duì)應(yīng)的頻率字存儲(chǔ)到max_freq寄存器中,當(dāng)帶寬掃描到超過上限頻偏時(shí),把本地的NCO頻率調(diào)整至最大相關(guān)峰對(duì)應(yīng)的頻率。左邊圖是0頻偏的載波跟蹤功能測(cè)試,右邊圖是最大頻偏的載波跟蹤功能測(cè)試,驗(yàn)證相關(guān)功能均正確。 圖6 載波跟蹤仿真驗(yàn)證波形圖 3)并行相關(guān)是對(duì)I路和偽隨機(jī)序列做相關(guān)累加運(yùn)算,同時(shí)對(duì)Q路和偽隨機(jī)序列做相關(guān)累加運(yùn)算,把兩路的累加結(jié)果進(jìn)行平方和,得出的結(jié)果就是并行相關(guān)值,找到并行相關(guān)值的最大相關(guān)峰,記錄下當(dāng)前最大相關(guān)峰對(duì)應(yīng)的并行通道和最大相關(guān)值。通過比較最大相關(guān)值與門限值(I路和Q路先做平方和,再對(duì)平方和進(jìn)行累加)的大小,來判斷本地偽碼是否與接收偽碼相位基本對(duì)齊。并行相關(guān)功能仿真驗(yàn)證如圖7所示,最大相關(guān)值外其他通道相關(guān)運(yùn)算結(jié)果比該峰值小很多,大部分趨向于0,最大相關(guān)值通道是第13通道,并行相關(guān)功能正常。 圖7 并行相關(guān)仿真驗(yàn)證波形圖 4)為了驗(yàn)證空空擴(kuò)頻通信FPGA閉環(huán)型驗(yàn)證方法的有效性,需要進(jìn)行一次實(shí)驗(yàn)。3組人分別使用文獻(xiàn)[1]、文獻(xiàn)[4]和本文所提方法針對(duì)空空擴(kuò)頻通信FPGA進(jìn)行驗(yàn)證,表2是利用不同方法驗(yàn)證情況對(duì)比結(jié)果。 表2 不同方法驗(yàn)證情況對(duì)比表 通過對(duì)比表可知,文獻(xiàn)[1]方法由于都是仿真驗(yàn)證,因此單個(gè)用例執(zhí)行時(shí)間和本文方法一樣,都是用軟件控制成本,因此基本無物理硬件成本問題。但是由于其生成模式單一,因此測(cè)試用例類型較少,基本上發(fā)現(xiàn)不了FPGA的隱患問題,該方法用于FPGA的算法原型驗(yàn)證較好。文獻(xiàn)[4]方法由于使用的是半實(shí)物仿真方式,信號(hào)源主要生成功能和FPGA都是在硬件上運(yùn)行,因此單個(gè)用例執(zhí)行時(shí)間明顯幾何數(shù)量級(jí)下降,整個(gè)測(cè)試執(zhí)行時(shí)間大大縮短。但是由于在硬件上運(yùn)行FPGA,需要連接在線調(diào)試工具ChipScope Pro[8]來探測(cè)FPGA內(nèi)部信號(hào),需要重新配置Core中的觸發(fā)參數(shù),并重新編譯綜合布線下載,操作及其繁瑣,一旦有問題,故障定位跟蹤困難。此外,文獻(xiàn)[5]方法因?yàn)橛布O(shè)計(jì)的原因,故障注入模式有限,測(cè)試用例也較難齊全,增加如窄帶干擾、寬帶干擾和掃頻式干擾[9]等一些特定干擾模式也較為困難。本文所提方法雖然測(cè)試執(zhí)行時(shí)間較長,但只要清楚干擾模式生成原理,就很容易進(jìn)行故障注入,此外由于是全數(shù)字仿真模式,仿真器都有故障追溯功能,故障定位方便,容易發(fā)現(xiàn)隱患問題。比如在全數(shù)字仿真中發(fā)現(xiàn)幀同步錯(cuò)誤,故障定位后發(fā)現(xiàn)在幀同步時(shí),當(dāng)情況如圖8中藍(lán)線標(biāo)識(shí),在一個(gè)幀頭后進(jìn)入了幀同步判定,則完成幀同步需要的時(shí)間超過了設(shè)計(jì)中設(shè)置的3幀數(shù)據(jù)幀時(shí)間,使得FPGA認(rèn)為數(shù)據(jù)接收錯(cuò)誤,沒有完成同步就退出了狀態(tài)機(jī)重新進(jìn)入粗捕狀態(tài),從而使得完成同步功能的時(shí)間大大加長甚至是無法完成同步。在半實(shí)物仿真測(cè)試中沒有發(fā)現(xiàn)該問題的原因是,測(cè)試時(shí)進(jìn)入幀同步狀態(tài)后的時(shí)刻如圖8中紅色線標(biāo)識(shí)所示,發(fā)現(xiàn)3幀同步頭的時(shí)間較少,只需要2幀多點(diǎn)的時(shí)間判定同步,因此沒有發(fā)現(xiàn)該問題。 圖8 幀同步問題示意圖 本文提出了一種全數(shù)字化仿真驗(yàn)證方法,能夠有效地對(duì)空空擴(kuò)頻通信FPGA進(jìn)行仿真驗(yàn)證,發(fā)現(xiàn)內(nèi)部隱患問題。與現(xiàn)有的測(cè)試方法相比,本文的方法更能從功能全面性得到更優(yōu)的顯著性測(cè)試效果,特別適合FPGA的第三方驗(yàn)證。全數(shù)字化閉環(huán)性仿真的另一個(gè)優(yōu)勢(shì)在于它的靈活性,易于進(jìn)行擴(kuò)展和故障注入,在頻率跟蹤誤捕和旁瓣注入干擾測(cè)試尤為明顯。為適應(yīng)當(dāng)前航天產(chǎn)品型譜化工作,作者已經(jīng)應(yīng)用該仿真驗(yàn)證方法設(shè)計(jì)出全數(shù)字的擴(kuò)頻通信類信號(hào)處理仿真模型庫和通用測(cè)試用例庫,并在不同型號(hào)航天產(chǎn)品驗(yàn)證其正確性和通用信,提高了類似FPGA的驗(yàn)證效率、質(zhì)量和顧客滿意度。 參考文獻(xiàn): [1] 李松林,曹可勁,李 豹,等.北斗B1信號(hào)捕獲跟蹤算法的軟件仿真研究計(jì)算機(jī)測(cè)量與控制[J].2016,24(7):152-155. [2] 石云墀.載人航天空空通信子系統(tǒng)及其關(guān)鍵技術(shù)[J].上海航天,2011,28(6):38-42. [3] 趙 剛.擴(kuò)頻通信系統(tǒng)實(shí)用仿真技術(shù)[M]. 北京:國防工業(yè)出版社,2009. [4] 黃雅崢,魏國華,劉 娟.一種實(shí)時(shí)射頻半實(shí)物仿真技術(shù)設(shè)計(jì)與實(shí)現(xiàn)計(jì)算機(jī)技術(shù)與發(fā)展[J].2012(5):212-215. [5] 陳 新.空空通信機(jī)系統(tǒng)及射頻設(shè)計(jì)[D].上海:上海復(fù)旦大學(xué),2009. [6] 陳利軍,李 芳,崔 靜.GPS偽隨機(jī)碼的軟件和硬件仿真實(shí)現(xiàn)計(jì)算機(jī)測(cè)量與控制[J]. 2016,24(4):226-229. [7] 張功學(xué),田寶杰,李建強(qiáng).一種擴(kuò)頻高度表的載波跟蹤方案計(jì)算機(jī)測(cè)量與控制[J]. 2010,18(1):202-204. [8] 萬 翔.ChipScope Pro在FPGA調(diào)試中的應(yīng)用計(jì)算機(jī)與網(wǎng)絡(luò)[J].2005,(21):58-59. [9] 熊小蘭.通信干擾生成原理及技術(shù)[D].武漢:武漢華中科技大學(xué),2006.2.3 解擴(kuò)接收模型
3 仿真結(jié)果與分析
4 結(jié)論