,, ,
(西南電子技術(shù)研究所,成都 610036)
信號模擬器在接收機研發(fā)、生產(chǎn)、測試過程中均發(fā)揮著重要的作用,一款可靠而優(yōu)秀的信號模擬器既能準確而全面地對接收機進行測試,也能客觀而真實地評價接收機的理論設計與實際性能。當前雷達回波信號模擬器[1-3]、塔康地面信標信號發(fā)生器[4]、水下目標回波發(fā)生器[5]等各類專用的信號模擬/發(fā)生器層出不窮。然而由于各類信號體制不一、生成方式各異,同時考慮到靈活性、成本等因素,難以通過對各類專用信號模擬/發(fā)生器進行簡單疊加,從而得到普遍適用于各類接收機測試的多類型信號模擬器。為解決這一問題,一些學者對信號的軟件模擬方法進行了研究[6-8],取得了一些成果。然而完成信號在軟件中的生成后,普遍使用信號源、USB+FPGA或美國國家儀器公司(National Instruments, NI)的數(shù)據(jù)采集卡輸出模擬信號。前者提高了系統(tǒng)成本,且一體化程度不高;后兩者采集速率一般為1~10 MS/s,速率過低。因此開展兼具靈活性、低成本和高采集速率等特性的信號模擬器研究具有十分重要的意義。
基于虛擬儀器技術(shù)的系統(tǒng)開發(fā)平臺可采用編程語言對各類信號的產(chǎn)生進行軟件實現(xiàn),其人機界面簡單友好,參數(shù)設置靈活,具備一定的擴展性,對設計開發(fā)多類型信號模擬器的軟件部分具有極大的優(yōu)勢。使用現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA)平臺進行處理,通過數(shù)模轉(zhuǎn)換器(Digital Analog Converter, DAC)輸出信號,具有成本較低與系統(tǒng)集成度高的優(yōu)勢。
本文以接收機測試常用的雷達、通信、雜波、干擾、噪聲、回波等信號為對象,以LabWindows/CVI與Vivado為主要開發(fā)平臺,基于虛擬儀器技術(shù)與FPGA技術(shù),開展多類型信號模擬器的軟硬件設計,實現(xiàn)多種類型信號的生成與輸出。
模擬器系統(tǒng)的結(jié)構(gòu)如圖1所示,使用單板機中的多類型信號模擬軟件,通過設置各類參數(shù),生成模擬信號數(shù)據(jù),其中信號數(shù)據(jù)可導出為數(shù)據(jù)文件。同樣,滿足格式要求的外部數(shù)據(jù)文件可讀取到模擬軟件中。軟件模擬箔條干擾信號時,需調(diào)用Matlab軟件以提高計算速度。單板機通過外部控制器接口傳輸(Peripheral Component Interconnect Express, PCIE)總線與搭載FPGA的信號處理板相連,從而實現(xiàn)從多類型信號模擬軟件到模擬器硬件的數(shù)據(jù)下載。
用戶通過軟件與FPGA,控制信號數(shù)據(jù)的數(shù)據(jù)下載、停止傳輸、斷開連接。最終通過DAC模塊輸出低頻、高頻兩路信號。
圖1 系統(tǒng)結(jié)構(gòu)框圖
系統(tǒng)硬件集中在兩塊板卡上,其中單板機負責運行多類型信號模擬軟件和Matlab軟件。信號處理板負責對收到的信號進行存儲與數(shù)模轉(zhuǎn)換。兩塊板卡的載體為PXIe/PCIe機箱,通過背板上的PCIE總線實現(xiàn)兩板卡之間的高速通信。
單板機系統(tǒng)為Windows7專業(yè)版,處理器為i7-2710QE,主頻為2.1 GHz。滿足LabWindows/CVI與Matlab對系統(tǒng)的要求。
信號處理板主要由FPGA、PCIE模塊、DAC模塊和第三代雙倍數(shù)據(jù)速率(Double Data Rate 3 Gen, DDR3)存儲器組成。
信號處理板的組成如圖2所示,主要由FPGA單元和管理單元組成。其中管理單元負責板卡內(nèi)電源管理、FPGA接口電平轉(zhuǎn)換、時鐘電源控制和配置。前面板配置有多路RS422和調(diào)試接口,支持外部參考時鐘輸入。背板連接8路吉比特收發(fā)器(Gigabyte Transceiver, GTx)接口、4路串行高速輸入輸出(Serial RapidIO, SRIO)接口和多路低壓差分信號(Low Voltage Differential Signaling, LVDS)接口。
圖2 信號處理板組成框圖
信號處理板選用Xilinx Virtex-7系列的高性能FPGA xc7vx690tffg1761作為主控處理器,板卡上掛載了兩片DDR3同步動態(tài)隨機存取存儲器(Synchronous Dynamic Random Access Memory, SDRAM)。
硬件接口包括存儲接口、FMC接口、背板接口。
存儲接口主要由一片閃存Flash、兩組DDR3存儲器組成。Flash容量為256 MB,用于加載FPGA軟件。每組DDR3存儲器容量為2 GB,用于數(shù)據(jù)緩沖。
FMC接口包括80組LVDS和8組GTx,其中GTx支持PCIE。
背板接口由4組SRIO(支持PCIE),多組LVDS和8組GTx組成。
DAC模塊為信號處理板上搭載的一片F(xiàn)MC230子卡,采用4DSP公司SD180,系統(tǒng)結(jié)構(gòu)如圖3所示。模塊內(nèi)含兩枚AD9129芯片與一枚AD9517芯片,前者提供雙通道數(shù)模(D/A)轉(zhuǎn)換與輸出(分別為D0與D1),分辨率可達14位,更新速率最高可達5.6 GSPS;后者提供最高可達12路的穩(wěn)定時鐘,集成了鎖相環(huán)(Phase Locked Loop, PLL)和壓控振蕩器(Voltage-Controlled Oscillator, VCO)。由于設計輸出信號頻率最高達到5 GHz,故開啟一枚AD9129芯片的混頻模式,以正確輸出高頻信號。
圖3 FMC230子卡結(jié)構(gòu)圖
PCIE接口實現(xiàn)信號處理板和單板機的連接,自適應5 Gbps/lane和2.5 Gbps/lane線速率,最大數(shù)據(jù)帶寬2 GB/s(5 Gbps/lane線速率)。支持對FPGA用戶邏輯的IO訪問和直接存儲器讀取(Direct Memory Access, DMA)傳輸。DMA模式下,數(shù)據(jù)從單板機內(nèi)存?zhèn)鬏數(shù)紽PGA速度為1100 MB/s(5 Gbps/lane)。PCIE接口信號分布如圖4所示。
圖4 PCIE接口信號分布
直接使用Xilinx公司Virtex7系列FPGA提供的PCI-Express硬核實現(xiàn)PCIE接口的數(shù)據(jù)下發(fā)功能。PCIE硬核集成了PCIE的事務層、數(shù)據(jù)鏈路層、物理層和配置管理層,相當于將PCIE橋接芯片集成到FPGA中。開發(fā)者只需要在開發(fā)FPGA程序時,在開發(fā)平臺中調(diào)用IP核并進行相應設置。
系統(tǒng)軟件設計包括單板機中的軟件與片上系統(tǒng)軟件設計。單板機軟件為多類型信號模擬軟件,片上系統(tǒng)軟件為FPGA軟件。
本章首先介紹信號產(chǎn)生的原理,再分別對多類型模擬軟件與FPGA軟件的設計進行介紹。
多類型信號模擬軟件能生成常用的雷達、通信、雜波、干擾、噪聲等信號,還可根據(jù)輸入的天線參數(shù)和目標參數(shù),產(chǎn)生目標回波與雷達回波信號。
3.1.1 雷達信號
本文以包絡為升余弦,脈內(nèi)調(diào)制為線性調(diào)頻的信號為例。其信號包絡可用式(1)表示:
(1)
線性調(diào)頻的復數(shù)表達式為:
(2)
3.1.2 通信信號
本文以幅度調(diào)制(Amplitude Modulate, AM)信號為例。AM信號可表示為式(3)。
s(t)=Ac(1+acos(2πf0t+p0))cos(2πfct+p0)
(3)
其中:Ac為載波信號幅度,a為基帶信號幅度,f0為基帶信號頻率,fc為載波信號頻率,p0為初相。
3.1.3雜波信號
信號模擬軟件中的雜波信號通過設定統(tǒng)計特性參數(shù)得到,其幅度及功率譜服從一定分布。本文以幅度服從瑞利分布,功率譜服從高斯分布的雜波信號為例。
以x表示雜波回波的包絡振幅,以σ2表示其功率,則x的概率密度函數(shù)為:
(4)
而高斯分布可表示為:
P(f) =S0exp( - (f-fd)2/(2σf2))
(5)
其中:S0是常數(shù),fd為雜波的平均多普勒頻移,σf為雜波的頻譜標準差,代表頻譜展寬的程度。
3.1.4干擾信號
干擾信號可按干擾源的存在與否,分為無源干擾與有源干擾。
根據(jù)文獻[9],在不考慮時延因素的前提下,基于簡化雷達入射波模型的箔條干擾信號可用下式表示:
(6)
其中:m表示箔條總根數(shù),Re表示對括號內(nèi)的復數(shù)取實部,f0表示雷達入射波的中心頻率,fdr為箔條云平動引起的多普勒頻移,fdi表示第i根箔條,其速度起伏引起的多普勒頻移,可通過fdli=2vci/λ求得,其中vci為第i根箔條的速度,箔條速度vc是服從正態(tài)分布的隨機變量,其均值為0,方差為σc,λ為入射波長。
有源干擾可分為壓制干擾與欺騙干擾,限于篇幅不作贅述。
3.1.5 噪聲信號
本文以通過噪聲系數(shù)得到的噪聲信號為例,其噪聲功率可表示為:
N=kT0BnFn
(7)
其中:k=1.37×10-23J/K為波爾茲曼常數(shù)T0為開爾文溫度,Bn為接收機帶寬,F(xiàn)n=1+Tc/T0是噪聲系數(shù),其中Tc為等效噪聲溫度。噪聲信號數(shù)據(jù)服從正態(tài)分布,均值為0,方差為1.0。
3.1.6 回波信號
目標回波信號的參數(shù)根據(jù)雷達信號、天線和目標參數(shù)求出。天線主要涉及掃描方式與方向圖的設置,目標主要涉及運動模型與起伏模型的設置。雷達回波則是在目標回波信號的基礎上,額外考慮干擾、雜波以及噪聲等影響因素,進行信號疊加所得。
由于雷達與目標之間存在一定距離,所以接收到的目標回波相對于發(fā)射信號具有一定延遲,其數(shù)值為Δt=2R(t)/c,R(t)為目標距雷達之間的距離。入射波由于目標相對于輻射源的運動而產(chǎn)生中心頻率的移動,因此目標回波相對發(fā)射信號,會產(chǎn)生一定的多普勒頻移。頻移取決于目標的運動方向,可正可負,頻移的大小取決于目標速度在雷達方向上的徑向分量,即徑向速度。計算如式(8)所示:
Vr=Vxcosαt(t)cosβt(t)+Vysinαt(t)cosβt(t)+VZsinβt(t)
(8)
由目標相對于雷達的徑向速度Vγ,可計算目標相對于雷達的多普勒頻移fd=2Vγ/λ。回波幅度根據(jù)距離方程和目標散射截面(Radar Cross-Section, RCS)的變化計算產(chǎn)生,RCS依據(jù)5種起伏類型計算得到。
綜上所述可以得到目標回波模型:
(9)
式中,Pt為雷達的發(fā)射功率;Gt(t),Gr(t)分別為t時刻天線的發(fā)射增益和接收增益;λ表示雷達的工作波長,λ=c/fc,c為光速,fc表示雷達的工作頻率;σ為目標的RCS,與目標的起伏特性有關。
由上文,雷達回波可表示為式(10)。
echo(t)=u(t)+n(t)+jam(t)+clutter(t)
(10)
其中:u(t)表示目標回波信號,n(t)表示噪聲,jam(t)表示干擾信號,clutter(t)表示雜波信號。
多類型信號模擬軟件使用美國國家儀器公司推出的LabWindows/CVI開發(fā),可實現(xiàn)多種類型信號的生成、波形顯示、文件讀取/導出以及數(shù)據(jù)下發(fā)功能。用戶使用ANSI C語言通過交互式方法進行軟件開發(fā),可調(diào)用軟件內(nèi)置的豐富功能面板與函數(shù)庫,還可使用眾多廠商的儀器驅(qū)動程序。
根據(jù)相關教程,使用LabWindows/CVI進行軟件開發(fā)的一般步驟為[10]:
(1)根據(jù)測試任務的需求確定程序的基本框架、儀器面板與程序中需要的函數(shù)。
(2)根據(jù)制定的方案,創(chuàng)建新的工程,根據(jù)步驟(1)中提出的需求,設計軟件用戶界面(.uir文件),包括:面板、窗口、菜單、控件等,編寫相應的函數(shù),設置控件屬性,關聯(lián)回調(diào)函數(shù)。
(3)在程序中添加完成各種所需功能的源代碼(.c文件與.h文件)。
(4)先對各模塊進行獨立調(diào)試,再對工程進行聯(lián)合調(diào)試,完善功能,并消除可能引發(fā)軟件崩潰的bug。
(5)生成可執(zhí)行文件(.exe),打包并發(fā)布安裝文件(.exe)。
多類型信號模擬軟件的組成如圖5所示,軟件采用模塊化結(jié)構(gòu),方便維護、后續(xù)升級與擴展。
圖5 多類型信號模擬軟件結(jié)構(gòu)框圖
由圖5可知,軟件可主要分為信號發(fā)生控制、顯示控制、文件讀寫控制、數(shù)據(jù)下發(fā)控制四個模塊。其中信號發(fā)生控制模塊可再分為多個子模塊,以分別控制各類信號所需的參數(shù)。下面對模塊的功能進行簡要介紹。
信號發(fā)生控制模塊是軟件核心的功能模塊,共分為九個子模塊。其中載波設置模塊可設置采樣率和載波頻率;雷達信號發(fā)生模塊實現(xiàn)不同包絡、不同脈內(nèi)調(diào)制方式的雷達信號發(fā)生功能;通信信號發(fā)生模塊可生成調(diào)幅、調(diào)頻、調(diào)相等多種類型類型的通信信號;雜波信號發(fā)生模塊可生成基于統(tǒng)計特性的雜波信號,總計12種;干擾信號發(fā)生模塊可生成箔條、壓制、欺騙等主流干擾信號;噪聲信號發(fā)生模塊可根據(jù)信噪比與噪聲系數(shù)兩種設置模式,實現(xiàn)滿足特定參數(shù)要求的噪聲信號。另外,完成天線參數(shù)與目標參數(shù)進行設置后,還可對目標回波以及雷達回波進行模擬。每個子模塊分別對應一個子面板,通過增刪面板和對應代碼,可便捷地對子模塊進行添加與刪除,利于維護。
顯示控制模塊可在正確讀入外部數(shù)據(jù)文件,或軟件生成信號數(shù)據(jù)后,對指定類型的信號,通過表格與波形示意圖進行顯示,并對其進行數(shù)據(jù)整形與歸一化處理,傳輸給公共變量,用于文件導出或數(shù)據(jù)下發(fā)。
文件讀寫控制模塊可讀取特定格式的外部文件,也可經(jīng)顯示控制模塊處理,將公共變量導出并保存為文件。
數(shù)據(jù)下發(fā)模塊實現(xiàn)將公共變量數(shù)據(jù)通過PCIE傳輸給FPGA的功能。
軟件主要基于LabWindows/CVI開發(fā)。在箔條干擾部分,由于涉及復數(shù)及向量運算。編寫M腳本文件,調(diào)用Matlab2009,使用ActiveX服務實現(xiàn)混合編程,提高計算速度[11]。經(jīng)測試,同樣對50根箔條進行計算,使用自建函數(shù)運算耗時高達100 s,而使用混合編程方法僅耗時2 s。體現(xiàn)了混合編程在面對復雜運算量的優(yōu)越性。
直接將經(jīng)過以往多次驗證的數(shù)據(jù)下發(fā)C++程序在Visual Studio中編譯為動態(tài)鏈接庫(Dynamic Link Library, DLL)文件,編寫源文件(.c.h文件)在LabWindows/CVI中調(diào)用DLL文件。從而實現(xiàn)數(shù)據(jù)下發(fā)功能。
軟件使用流程如圖6所示。
圖6 軟件使用流程圖
進入軟件后,可選擇是否從外部讀入文件。若選擇讀入,則可通過“文件”菜單欄的“打開”選項選擇目標文件,然后對其類型進行選擇,然后在數(shù)據(jù)與波形顯示界面進行保存操作,將信號數(shù)據(jù)存入公共變量,若選擇導出文件,則可輸出外部文件,否則,點擊“數(shù)據(jù)下載”按鈕,則可將數(shù)據(jù)下發(fā)至DAC模塊中,實現(xiàn)信號的輸出。
若不從外部讀入數(shù)據(jù),則可選擇是否設置載波參數(shù),若不設置,則使用默認參數(shù),然后即可對雷達信號、通信信號等進行設置。需注意,完成雷達信號設置后,方可設置雜波、干擾、噪聲、回波等信號。得到信號后,與上文相同,通過數(shù)據(jù)域波形顯示界面進行導出文件或數(shù)據(jù)下發(fā)操作。
軟件開發(fā)完畢后,系統(tǒng)性地對所有模塊進行功能測試,并使用Matlab對軟件生成的信號進行波形及頻譜驗證,測試與驗證結(jié)果均滿足要求。
FPGA軟件實現(xiàn)DAC中的數(shù)模轉(zhuǎn)換,DDR的讀寫,以及通過PCIE傳輸數(shù)據(jù)功能。FPGA軟件的開發(fā)平臺為Vivado 2015.4,該平臺可實現(xiàn)設計輸入、代碼編寫、庫管理、HDL綜合、仿真、下載,從而完成FPGA全流程開發(fā)。本次開發(fā)所用的編程語言為VHDL與Verilog HDL,其中DAC模塊使用VHDL,PCIE模塊使用Verilog HDL,頂層使用VHDL編寫。
在FPGA開發(fā)過程中,使用模塊化思想對各子模塊進行劃分。先分別編寫DAC模塊與PCIE模塊的FPGA代碼,經(jīng)過仿真驗證后,使用相關儀器進行獨立測試,而后編寫頂層代碼將兩個模塊進行融合,將兩模塊與DDR3進行連接。融合后的系統(tǒng)經(jīng)仿真驗證后,再進行聯(lián)合測試,結(jié)果滿足使用要求。
在實驗室環(huán)境下對模擬器進行測試驗證。器材使用Agilent N9030A頻譜儀與Agilent DSO9054示波器。使用線纜分別將DAC模塊的D1口(高頻)與D0口(低頻)與頻譜儀、示波器進行連接,形成測試通道,從而分別對高頻和低頻輸出信號進行測試。
測試環(huán)境實物圖如圖7所示。
圖7 測試環(huán)境
限于文章篇幅,下文僅列出雷達信號、通信信號的測試結(jié)果。以軟件面板上顯示的參數(shù)為基準,對比使用頻譜儀與示波器測出的輸出信號參數(shù),并記錄輸出信號的功率,以驗證系統(tǒng)的基本功能與性能。根據(jù)硬件參數(shù),信號的采樣率統(tǒng)一設置為2.457 6 GHz。
信號1:雷達信號。包絡類型為矩形,脈內(nèi)調(diào)制為線性調(diào)頻,載頻為320 MHz,帶寬為40 MHz。脈沖寬度為10 μs,脈沖重復間隔(Pulse Repetition Interval,PRI)為50 μs。
該信號在示波器上的顯示結(jié)果如圖8,在頻譜儀上的顯示結(jié)果如圖9。
圖8 信號1的波形圖
圖9 信號1的頻譜圖
由示波器可知,輸出信號的脈沖寬度和脈沖重復間隔分別為10 μs和50 μs,與軟件設置一致。由頻譜儀可知,信號中心頻率為320 MHz,LFM的帶寬為40 MHz,與面板參數(shù)偏差均為0%,輸出功率為13.634 dBm。測試結(jié)果滿足要求。
信號2:AM通信信號。軟件界面中,載波信號頻率設置為1.8 GHz,基帶信號頻率設置為50 MHz,調(diào)制深度為50%。
該信號在示波器上的顯示結(jié)果如圖10,在頻譜儀上的顯示結(jié)果如圖11。
圖11 信號2的頻譜圖
由示波器可知信號滿足AM信號的包絡特征,由頻譜儀可知載波信號頻率為1 800.6 MHz,載波與兩側(cè)的頻率差為50 MHz,與面板上參數(shù)的差距分別為0.03%與0%,輸出功率為11.769 dBm。測試結(jié)果滿足要求。
綜上,測試結(jié)果表明輸出信號參數(shù)與面板顯示的參數(shù)之間的偏差較小,輸出功率亦滿足指標。信號模擬器滿足使用要求。
基于虛擬儀器與FPGA的多類型信號模擬器與傳統(tǒng)的信號模擬器相比,采用軟件生成信號數(shù)據(jù),相比傳統(tǒng)的硬件模擬器,極大豐富了信號類型;采用PCIE進行數(shù)據(jù)傳輸,使用FPGA處理并輸出數(shù)據(jù),相比傳統(tǒng)的信號源、USB+FPGA或數(shù)據(jù)采集卡方案,降低了系統(tǒng)成本,提升了傳輸速度,具有擴展性強、成本低的優(yōu)勢。后續(xù)作者還將繼續(xù)深入研究使用LabWindows/CVI與C++、Matlab進行混合編程的方法,并對部分運算量較大的模塊進行改寫,提升軟件運行速度,從而優(yōu)化用戶體驗,并使系統(tǒng)具有良好的應用前景。