房 晨,趙子坤,張 寧,柳 濤,朱秋明,毛通寶,毛 開
(1.南京航空航天大學(xué) 電磁頻譜空間認知動態(tài)系統(tǒng)工業(yè)與信息化部重點實驗室,南京 210016; 2.國家無線電監(jiān)測中心烏魯木齊監(jiān)測站,烏魯木齊 831400)
衛(wèi)星通信具有組網(wǎng)靈活、可實現(xiàn)全球覆蓋的優(yōu)點,是未來空天地一體化通信網(wǎng)絡(luò)的重要組成部分[1]。衛(wèi)星信道作為衛(wèi)星通信的傳輸媒介,由于同時存在傳播損耗和時延、多徑效應(yīng)以及陰影衰落,嚴重影響了數(shù)字信號傳輸?shù)目煽啃?,已成為當前通信領(lǐng)域的研究熱點之一。利用實際衛(wèi)星鏈路進行試驗成本昂貴,并且測試環(huán)境單一,測試結(jié)果不全面且準確度低。相比之下,采用數(shù)字孿生技術(shù)將衛(wèi)星通信的物理信道映射到數(shù)字空間,是在實驗室環(huán)境下進行衛(wèi)星通信系統(tǒng)物理級或鏈路級的性能評估的一種有效方法[2-3]。
在衛(wèi)星通信系統(tǒng)中,由于衛(wèi)星應(yīng)答器與地面終端之間的距離較遠,多徑衰落和陰影效應(yīng)嚴重影響了衛(wèi)星通信的通信質(zhì)量和系統(tǒng)的頻譜效率。常用的衛(wèi)星衰落信道模型包括Suzuki,Corazza,NLN以及Lutz等[4-7]。其中,Suzuki,Corazza和NLN模型在軟硬件仿真實現(xiàn)時比Lutz模型更加簡單。由于這三種信道衰落模型都與陰影衰落有關(guān),又統(tǒng)稱為全陰影衛(wèi)星信道衰落模型[8]。
全陰影衛(wèi)星信道模型的硬件孿生復(fù)現(xiàn)的關(guān)鍵在于復(fù)高斯序列的模擬。最傳統(tǒng)的方法是基于查找表(Look Up Table, LUT)方法,其實現(xiàn)原理簡單,但需要大量的隨機存儲器(Random Access Memory, RAM)資源[9]; 坐標旋轉(zhuǎn)數(shù)字計算(Coordinate Rotation Digital Computer, CORDIC)算法是另一種低成本的硬件實現(xiàn)方案[10]。文獻[10-12]提出了基于傳統(tǒng)CORDIC算法的信道模擬方法,但需要較多的迭代運算,存在很長的延遲,影響系統(tǒng)的實時性。為了減少迭代次數(shù),文獻[13-14]提出了一種高基數(shù)算法,但其硬件電路復(fù)雜,不易實現(xiàn)。
本文提出了一種基于現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA)的全陰影衛(wèi)星信道衰落的通用硬件架構(gòu),該方案基于調(diào)頻信號疊加(Sum of Frequency Modulation, SoFM)原理[15],采用迭代算法實現(xiàn)復(fù)高斯序列,通過CORDIC算法[16]實現(xiàn)信道衰落中初等函數(shù)的硬件實時計算。此外,本文還分析了硬件輸出信道衰落的實測結(jié)果,包括幅值分布、定點化增益以及頻譜形狀等,與仿真結(jié)果進行對比分析,驗證了本文方法的正確性。
電磁波在傳播過程中,到達接收端的信號通常由多條具有不同時延和入射角度的路徑疊加而成,包括直射路徑分量和受到反射、折射以及障礙物衍射等影響的散射路徑分量。由于受到山脈、樓宇等遮擋導(dǎo)致的陰影衰落,在不考慮信道噪聲時,全陰影衛(wèi)星信道沖激響應(yīng)可以表示為
(1)
(2)
(3)
基于隨機變量分解思想,上述三種全陰影衛(wèi)星信道衰落的離散化表達式可由相互獨立的復(fù)高斯序列組合或非線性變換表示。Suzuki衰落可表示為[10]
(4)
Corazza衰落可表示為[2]
(5)
式中:ρm,fm,θm分別為直射徑的幅值、多普勒頻率和隨機初始相位。
NLN衰落可表示為[6]
(6)
式中:2q為相互獨立的同相分量數(shù)目。
全陰影衛(wèi)星信道模擬的關(guān)鍵在于復(fù)高斯變量的產(chǎn)生,本文采用改進的調(diào)頻諧波疊加方法實現(xiàn)連續(xù)相位的離散復(fù)高斯序列,為了便于FPGA定點化實現(xiàn),復(fù)高斯序列離散化模型可表示為[15]
(7)
模擬復(fù)高斯序列的關(guān)鍵在于產(chǎn)生大量的復(fù)指數(shù)信號,目前大多采用LUT方法或CORDIC算法。其中,LUT方法需要把頻率值以及正余弦信號的幅值表存于RAM中,再通過相位累加得到查找表地址,利用地址和幅值映射關(guān)系產(chǎn)生。LUT方法易于硬件實現(xiàn),但是隨著模擬的路徑數(shù)以及衰落類型復(fù)雜度的提高,會受限于硬件中的RAM資源。CORDIC算法消耗RAM資源較少,但需要對相位值迭代運算,影響系統(tǒng)的實時性。為解決該問題,本文提出了一種基于迭代思想的產(chǎn)生算法,利用復(fù)指數(shù)信號前一時刻值,便可以通過迭代得到下一時刻的值,可大大減小硬件存儲資源[17]:
(8)
圖1給出了基于迭代算法的復(fù)指數(shù)信號硬件實現(xiàn)框圖,選擇器讀取ROM表中預(yù)存的迭代因子,通過復(fù)數(shù)乘法器實時計算出下一時刻的迭代值。此外,該方案還結(jié)合時分復(fù)用思想,采用串行架構(gòu),進一步減少系統(tǒng)資源需求。
圖1 基于迭代方法的復(fù)指數(shù)硬件實現(xiàn)Fig.1 Hardware implementation of complex exponent based on iterative method
經(jīng)典CORDIC算法的核心思想是將所需的角度劃分為一組固定角度的集合,通過有限數(shù)目的旋轉(zhuǎn),實現(xiàn)時變相位映射為一組角度集合的線性組合過程。CORDIC算法有旋轉(zhuǎn)和向量兩個模式,圖2給出了旋轉(zhuǎn)模式的雙曲坐標系示意圖。
圖2 雙曲坐標系旋轉(zhuǎn)模式Fig.2 Rotation mode of hyperbolic coordinate system
在雙曲坐標系下,將初始二維向量A(x0,y0)逆時針旋轉(zhuǎn)角度θ得到B(x1,y1)。其變換關(guān)系可用矩陣表示為
(9)
提取公因子coshθ,式(9)改寫為
(10)
雙曲坐標系旋轉(zhuǎn)過程,旋轉(zhuǎn)角度θ可表示為滿足近似關(guān)系為tanhθi≈2-i的一組角度集合{1≤i≤L-1∣θi=artanh(2-i)},其中:L為定點化數(shù)據(jù)位寬長度;i為當前迭代的次數(shù)。同樣的,可以通過移位和加減操作完成雙曲正余弦函數(shù)值的計算,旋轉(zhuǎn)過程可以表示為
(11)
式中:zi為剩余的旋轉(zhuǎn)角度;di為旋轉(zhuǎn)方向因子,為±1。需要注意的是,對于雙曲坐標旋轉(zhuǎn)過程,迭代次數(shù)i需要滿足kn(kn=3kn-1+1,k1=4,n∈Z+)才可以保證迭代具有收斂性,即從第四次迭代開始,重復(fù)迭代的位置分別為:i=4, 13, …, 3k+1, …。當zn→0時,雙曲坐標旋轉(zhuǎn)模式下最后迭代的輸出xn,yn可表示為
(12)
圖3給出了基于CORDIC算法的冪指數(shù)和平方根函數(shù)的硬件實現(xiàn)框圖,第一級流水線首先對系統(tǒng)設(shè)定x,y,z的初始值,系統(tǒng)復(fù)位之后,對x,y,z寄存器進行初始化。在冪指數(shù)函數(shù)生成模塊中,初始值分別為1,0,θ; 在平方根函數(shù)生成模塊中,初始值分別為θ+1,θ-1,0。然后,利用移位寄存器實現(xiàn)乘以2-i運算。從第二級流水線中,通過判決器判斷剩余角度的極性從而得到本級流水線中迭代旋轉(zhuǎn)因子的符號,進而完成第n級流水線的運算。最終針對兩種不同的函數(shù),對xn,yn分別進行相加和乘以補償因子Kn,得到輸入角度的e指數(shù)與平方根函數(shù)值。
圖3 冪指數(shù)/平方根函數(shù)硬件實現(xiàn)框圖Fig.3 Exponential and square root function hardware implementation block diagram
圖4給出了本文全陰影衛(wèi)星信道衰落模擬的實現(xiàn)方案,每條多徑的參數(shù)可由用戶配置,并通過PCIE總線由PC端下發(fā)到FPGA中。根據(jù)各個全陰影衛(wèi)星信道衰落的表達式,上述信道衰落可由復(fù)高斯序列經(jīng)過非線性變換組合而成,本文復(fù)高斯衰落序列的產(chǎn)生基于時分復(fù)用思想,采取串行架構(gòu)的設(shè)計,通過基于迭代的復(fù)指數(shù)信號產(chǎn)生模塊在低速率Fs1=100/NMHz下生成N根復(fù)指數(shù)信號,采用N=64根射線疊加,再通過累加器與內(nèi)插濾波器把疊加生成的復(fù)高斯序列內(nèi)插到系統(tǒng)時鐘100 MHz,最終得到系統(tǒng)時鐘下的復(fù)高斯序列。
圖4 全陰影衛(wèi)星信道衰落產(chǎn)生框圖Fig.4 Block diagram of full-shadow satellite channel fading generation
在此基礎(chǔ)上,利用每個衰落對應(yīng)的非線性變換公式,通過采用一些乘法器、累加器、加法器和基于CORDIC算法實現(xiàn)的冪指數(shù)函數(shù)和平方根函數(shù)產(chǎn)生模塊, 可以實現(xiàn)全陰影衛(wèi)星信道衰落的模擬。本文還擴展了生成全陰影衛(wèi)星信道衰落過程中所需要的Rayleigh,Rice,Nakagami衰落以及陰影衰落。最后通過數(shù)據(jù)選擇器輸出,根據(jù)用戶輸入的信道衰落類型,從而生成相應(yīng)的信道衰落。
為了驗證提出的基于迭代算法與CORDIC算法的全陰影衛(wèi)星信道衰落硬件生成方法的效率,基于Xilinx XC7K325tffg900 FPGA芯片對信道衰落進行了硬件實現(xiàn)。表1總結(jié)了針對復(fù)高斯序列產(chǎn)生模塊各個方法的硬件資源消耗以及與FPGA上可配置資源對應(yīng)的比率,其中,系統(tǒng)時鐘為100 MHz,定點化數(shù)據(jù)位寬為16位。與LUT方法相比,本文算法的塊存儲器的使用率從3.82%降低到了0.22%,性能提升顯著。相較于CORDIC算法,LUT和寄存器的消耗率則分別減少了2.46%和2.32%。整體資源使用率與兩種方法相比,分別降低了6.21%和5.23%,硬件資源利用率大幅提升。同時,通過硬件仿真比較了各個方法的運算延遲,即系統(tǒng)下發(fā)參數(shù)到復(fù)高斯序列輸出所經(jīng)過的時間延遲,本文算法僅為7個時鐘周期,因而更適合衛(wèi)星信道的實時模擬。
表1 復(fù)高斯序列產(chǎn)生模塊的硬件資源消耗Table1 Hardware resource consumption of complex Gaussian sequence generation module
為驗證全陰影衛(wèi)星信道數(shù)字孿生方法的正確性,對硬件模擬輸出的各種信道衰落分別進行了測試,設(shè)定4條具有不同多普勒頻移的多徑信道。圖5給出了陰影衰落(Lognormal), Suzuki, Corazza和NLN四種全陰影信道衰落的理論仿真和硬件實測結(jié)果的頻譜圖,其中多普勒擴展為2 kHz,對應(yīng)的頻移分別為5 960 Hz, 13 100 Hz, 19 000 Hz和26 800 Hz。由圖可以看到硬件輸出頻譜與仿真結(jié)果基本吻合,驗證了本文模擬方法的有效性。
圖5 全陰影衛(wèi)星信道衰落多普勒功率譜Fig.5 DPSDs of full-shadow satellite channel fading
圖6 全陰影衛(wèi)星信道衰落概率密度函數(shù)Fig.6 PDFs of full-shadow satellite channel fading
表2進一步比較幾種全陰影信道衰落輸出的均值和方差,包括浮點計算的理論均值和方差、16位定點硬件模擬的實測均值和方差。其中,理論與去除定點化數(shù)據(jù)影響的實測均值和方差的平均相對誤差為2.54%,最大誤差為5.81%,最小誤差為0.58%,進一步驗證了信道模擬方法以及全陰影衛(wèi)星信道模擬復(fù)現(xiàn)的正確性與有效性。
表2 輸出衰落分布的均值和方差比較
全陰影衛(wèi)星衰落信道的硬件模擬傳統(tǒng)方法存在硬件資源消耗大與實時性差的問題,本文基于調(diào)頻諧波疊加結(jié)構(gòu),提出了一種基于迭代算法與CORDIC算法相結(jié)合的衛(wèi)星信道高效孿生方案。同時,結(jié)合時分復(fù)用思想,大大減少了硬件資源消耗的同時提高了系統(tǒng)的實時性,并支持大規(guī)模多支路衛(wèi)星通信網(wǎng)絡(luò)信道的硬件實時模擬。實測結(jié)果表明,本文算法模擬輸出的信道衰落統(tǒng)計特性包括包絡(luò)分布和多普勒頻譜形狀均與理論值吻合。未來將外場實測衛(wèi)星數(shù)據(jù),對本文模型參數(shù)取值進行優(yōu)化校正,以更好地應(yīng)用于衛(wèi)星通信信道的實驗室高精度硬件孿生。