梁 震,崔高峰,王衛(wèi)東
(北京郵電大學 電子工程學院,北京 100876)
衛(wèi)星通信作為地面通信系統(tǒng)的補充,以其覆蓋范圍廣、通信距離遠、抗災(zāi)害損毀性強等特點得到廣泛應(yīng)用。低軌(Low Earth Orbit,LEO)通信衛(wèi)星由于運行在低軌道,相對于高軌(Geostationary Earth Orbit,GEO)通信衛(wèi)星具有傳輸損耗小、通信時延短等優(yōu)點。地面5G與衛(wèi)星通信的融合發(fā)展,將極大地促進空天地一體的網(wǎng)絡(luò)體系建立,為網(wǎng)絡(luò)邊緣用戶提供更優(yōu)質(zhì)的廣播服務(wù)。與地面移動通信系統(tǒng)相比,低軌衛(wèi)星系統(tǒng)受限于星地傳輸往返時延大、星上處理能力差的問題,隨機接入、多址接入、頻偏估計等地面5G關(guān)鍵技術(shù)在5G低軌衛(wèi)星系統(tǒng)還需做出適應(yīng)性改變。
用戶設(shè)備進行上行傳輸前,需要實現(xiàn)上行傳輸時間同步,這樣才能調(diào)度上行正交同步資源。隨機接入信道作為非同步用戶設(shè)備和5G上行無線接入的正交傳輸方案的接口扮演了關(guān)鍵角色。目前衛(wèi)星通信中采用的隨機接入機制仍然是LTE中傳統(tǒng)的四步隨機接入方案,在用戶和基站之間發(fā)送四次消息才能建立連接。然而由于星地鏈路之間的距離較長,對于LEO通信衛(wèi)星,距地面高度最大為1 500 km,完成一次雙向通信需10 ms。如果在LEO衛(wèi)星通信系統(tǒng)中繼續(xù)使用傳統(tǒng)的隨機接入體制,會造成較大的接入時延,增大星地之間的鏈路開銷。
為了實現(xiàn)星地之間低時延、高效率的用戶接入,目前已有文獻對衛(wèi)星通信系統(tǒng)下的上行傳輸進行了研究。文獻[1]對基于5G的低軌衛(wèi)星隨機接入技術(shù)進行了研究,提出了衛(wèi)星場景下的前導設(shè)計方案,在滿足較大時延的條件下對抗多普勒頻移也有優(yōu)異的性能。對于低軌衛(wèi)星通信系統(tǒng)發(fā)送信號時延大檢測難度高的問題,文獻[2]中提出了一種基于MRLS的前導檢測系統(tǒng),減少隨機接入流程實現(xiàn)快速檢測。文獻[3]提出了一種基于隨機交錯多路復用的隨機訪問結(jié)構(gòu),提高了衛(wèi)星物聯(lián)網(wǎng)的吞吐量。文獻[4]研究了多個用戶同時發(fā)起隨機接入并發(fā)生碰撞下的檢測算法,保證多用戶的有效接入。對于衛(wèi)星系統(tǒng)中的多普勒頻移,文獻[5]提出了一種基于離散傅里葉變換(Discrete Fourier Transform,DFT)頻譜分析方法,在衛(wèi)星系統(tǒng)中頻偏較大的情況下也可以較好地得到TA估計。3GPP目前正在積極推進兩步隨機接入方案[6],將LTE傳統(tǒng)的四步接入方案簡化為兩步,用戶和基站僅需兩次消息傳遞即可完成接入,極大降低接入時延,但是尚未考慮將兩步隨機接入過程應(yīng)用在衛(wèi)星通信系統(tǒng)中。
本文對低軌衛(wèi)星系統(tǒng)下的兩步隨機接入技術(shù)進行研究,對信道結(jié)構(gòu)、前導序列設(shè)計、數(shù)據(jù)映射關(guān)系進行了設(shè)計。對于多用戶同時接入數(shù)據(jù)碰撞的情況,采用稀疏碼分多址接入(Sparse Code Multiple Access,SCMA)。在兩步隨機接入FPGA實現(xiàn)中,針對傳統(tǒng)MPA算法乘法運算多、迭代過程處理時延長的問題,提出了基于FPGA的節(jié)點并行快速迭代更新的MAX-Log-MPA接收機,犧牲一定芯片內(nèi)存來換取低處理時延。
如圖1所示,在兩步隨機接入過程中,前導序列傳輸與Msg3消息被定義為MsgA消息,由用戶側(cè)發(fā)送到基站側(cè),Msg2與Msg4定義為MsgB消息,由基站側(cè)發(fā)送給用戶。與四步隨機接入相比,兩步隨機接入可以有效降低延遲以及信令開銷。
圖1 兩步RACH示意圖
用戶發(fā)給基站的MsgA消息包括前導序列以及數(shù)據(jù)兩部分,前導序列和數(shù)據(jù)通過時分復用發(fā)送,MsgA的信道格式如圖2所示。物理隨機接入信道(Physical Random Access Channel,PRACH)中循環(huán)前綴(Cyclic Prefix,CP)的作用是對抗實際環(huán)境中的多徑干擾,保護間隔的作用是調(diào)整往返傳播時延。在前導序列和數(shù)據(jù)部分預(yù)留一定時間間隔有利于接收機檢測發(fā)送的前導序列,并進一步解調(diào)發(fā)送的數(shù)據(jù)。
圖2 兩步隨機接入MsgA信道結(jié)構(gòu)
有關(guān)衛(wèi)星通信系統(tǒng)前導序列的設(shè)計,目前地面5G前導序列多由0.8 ms的ZC(Zadoff-chu)序列以及其多段級聯(lián)構(gòu)成。考慮低軌衛(wèi)星星地最大往返時延、高速運動產(chǎn)生的多普勒頻偏以及與地面5G的融合,采用如圖3所示的級聯(lián)前導序列,前導序列由5段長度為0.8 ms的ZC序列級聯(lián)而成。PRACH信道在時域上占用傳輸無線幀的前5個子幀。
圖3 PRACH前導序列結(jié)構(gòu)
MsgA PUSCH設(shè)計包括時頻結(jié)構(gòu)、導頻位置、映射圖樣等[7-8]。對MsgA的設(shè)計既要考慮減小不同用戶數(shù)據(jù)碰撞的概率還需要考慮提高頻譜利用率。occasion的定義為可用于發(fā)送前導序列或者用戶數(shù)據(jù)的時頻資源。劃分少的occasion雖然有著較高的頻率利用率,但是用戶碰撞概率變大,解碼效果降低;劃分多的occasion可以有效降低用戶碰撞概率,保證接入成功率。對于多用戶數(shù)據(jù)發(fā)送碰撞,對用戶分配不同的稀疏碼字實現(xiàn)SCMA[9]調(diào)制。因此,將MsgA PUSCH資源劃分為6個PUSCH occasion,每個occasion頻域上占用1個PRB,如圖4所示。
圖4 MsgA PRACH與PUSCH資源映射示意圖
為了避免數(shù)據(jù)的盲解碼,本文將隨機接入過程中所有可能的64個前導碼與其對應(yīng)MsgA PUSCH資源的映射關(guān)系進行設(shè)計,occasion 0~4對應(yīng)12 個前導碼,occasion 5對應(yīng)4個前導碼。同一occasion中的前導碼對應(yīng)數(shù)據(jù)映射到4個不同的DMRS index,每個index有4個或1個前導碼對應(yīng)的PUSCH數(shù)據(jù)進行復用。
在衛(wèi)星場景下的上行隨機接入過程包括一個LEO衛(wèi)星N與個用戶,N≥1。N個用戶采用兩步隨機接入向低軌衛(wèi)星發(fā)出上行,不同用戶間的MsgA PUSCH分配不同的稀疏碼字。本文設(shè)計的兩步隨機接入系統(tǒng)模型如圖5所示。
圖5 兩步隨機接入系統(tǒng)模型
在上行接入隨機過程中,用戶根據(jù)索引值與循環(huán)移位值生成ZC序列,經(jīng)過DFT變換、子載波映射、快 速 傅 里 葉 逆 變 換(Inverse Fast Fourier Transform,IFFT)變換等生成前導碼,用戶MsgA PUSCH數(shù)據(jù)經(jīng)過信道編碼、加擾、SCMA調(diào)制、資源映射以及OFDM調(diào)制生成MsgA數(shù)據(jù),完成兩步隨機接入過程中的MsgA信號發(fā)送。在接收側(cè),先對前導碼進行檢測,在前導碼成功被檢測到時,根據(jù)檢測到的索引對MsgA數(shù)據(jù)進行檢測,接收框圖如圖6所示。對于SCMA調(diào)制,需要用到MPA檢測算法。
在兩步隨機接入FPGA實現(xiàn)中,低復雜度、低處理時延是研究的重點。FPGA收發(fā)模塊框圖如圖7 所示。
圖7 兩步隨機接入FPGA收發(fā)框圖
發(fā)送端頂層模塊包括MsgA PRACH發(fā)送模塊與MsgA PUSCH發(fā)送模塊,接收端頂層模塊包括前導碼檢測模塊與MsgA PUSCH數(shù)據(jù)解調(diào)模塊。在兩步隨機接入過程中,PUSCH數(shù)據(jù)解調(diào)中SCMA接收機是設(shè)計的重點。MPA解調(diào)算法需要在用戶節(jié)點與資源節(jié)點之間將消息概率迭代更新,在FPGA實現(xiàn)中運算復雜度高、處理時延長,因此本文提出了節(jié)點并行快速迭代更新的低時延SCMA接收機。
典型SCMA調(diào)制系統(tǒng)的因子圖如圖8所示,圖中VN代表接入用戶,FN表示頻域資源。
圖8 SCMA調(diào)制因子圖
MPA算法利用了碼本的稀疏性,極大降低了重疊數(shù)據(jù)檢測的復雜度。MPA算法的具體流程如下:
首先,根據(jù)因子圖V(k)定義為連接到第K個RN的所有VN的集合,R(j)代表連接到第j個VN的所有RN的集合,代表第t次迭代過程中數(shù)據(jù)塊節(jié)點j到頻域資源節(jié)點K的消息。MPA檢測的具體譯碼過程如下:
Step1初始化所需要的信息。
在解碼模塊開始迭代式,需要輸入碼字的先驗概率并計算出接收信號和疊加碼字之間的差,稱其為殘差概率。MPA將各個用戶發(fā)送的所有碼字設(shè)置為相同的概率:
式中:mj表示用戶j的第m個碼字。
殘差概率用Φ(m1,m2,…,mdr,k)來表示,具體公式如下:
式中:yk表示頻域資源節(jié)點k的接收信號;C(k,j)(mj)表示數(shù)據(jù)j使用第m個碼本在頻域資源節(jié)點k上的復數(shù)符號。
Step2更新FN和VN的消息直到達到最大迭代次數(shù)。
FN的迭代更新過程如圖9所示,FN1傳遞給VN2的消息,需要得到資源節(jié)點FN1所有連接的其他用戶節(jié)點VN3與VN5的信息。同樣,資源節(jié)點FN1傳遞給VN3與VN5的過程與VN2類似,具體公式如下:
圖9 FN到VN的迭代更新過程
所有FN節(jié)點更新結(jié)束后,將進行VN節(jié)點的更新過程,具體迭代更新如圖10所示。用戶節(jié)點VN1傳遞到FN2的消息,只需要傳遞外部消息,具體公式如下:
圖10 VN到FN的節(jié)點更新
接著進行歸一化操作。經(jīng)過反復迭代,使得信息收斂或直到最大迭代次數(shù),最后的值就是MPA對該碼字的概率估計。
Step3迭代完成后,將計算各個數(shù)據(jù)塊的碼字概率,將該用戶塊節(jié)點所連的頻域資源節(jié)點的信息相乘即可得到最終的碼字概率,具體公式為
Step 4計算待解碼字中每個比特的對數(shù)似然比。
定義為
這就是SCMA系統(tǒng)中MPA算法的檢測過程,之后將LLR值作為信道譯碼輸入進行譯碼。
FPGA 實現(xiàn)中,低時延與低復雜度是研究的重點,雖然使用對數(shù)域的算法Max-Log-MPA[10]可以將乘法域的運算轉(zhuǎn)化到加法域且避免了e指數(shù)運算,運算復雜度大大降低,但是仍然存在節(jié)點信息傳遞時延較大的問題。為此,本文提出了一種節(jié)點快速收斂的并行處理SCMA接收機。
在運行Max-Log-MPA對SCMA調(diào)解進行解調(diào)時,可以觀察點一些底層資源節(jié)點在進行幾次更新之后,概率信息就基本保持不變實現(xiàn)收斂,另一些資源節(jié)點則需要更多的迭代次數(shù)才可以實現(xiàn)收斂。在FPGA中,已經(jīng)收斂的資源節(jié)點繼續(xù)進行迭代更新只會無意義地占用有限的芯片內(nèi)存資源。因此對于已經(jīng)收斂的資源節(jié)點,在后續(xù)的迭代中將不再更新釋放掉內(nèi)存,節(jié)省芯片資源。
收斂性是迭代算法的一個重要性質(zhì),然而在Max-Log-MPA算法中對收斂性的證明是及其困難的。在仿真中發(fā)現(xiàn)資源節(jié)點概率信息的變化量小于10-3后就趨于不變?;诖?對于判斷節(jié)點是否收斂,將兩次連續(xù)迭代輸出過程中資源節(jié)點概率信息的差作為判斷收斂的標準,當連續(xù)迭代之間的差值小于接收機定義的閾值α(10-3),此資源節(jié)點將不在更新。
如圖11所示,在FN到VN的傳遞過程中,以FN1節(jié)點向VN3節(jié)點、FN2節(jié)點向VN3節(jié)點進行消息傳遞更新進行分析。FN1向VN2節(jié)點傳遞消息,需要來自節(jié)點VN2、VN5的概率消息P1與P2,FN2向VN3節(jié)點傳遞消息,需要來自節(jié)點VN1、VN6的概率消息P3和P4。雖然資源節(jié)點FN1與FN2都與數(shù)據(jù)節(jié)點VN3進行消息傳遞,但是在計算過程中各自需要計算的消息概率是獨立的,互不影響。同理,在FN向VN的傳遞過程中,不同的資源節(jié)點在與其相連的數(shù)據(jù)節(jié)點進行消息更新傳遞中,只與其相連接用戶節(jié)點傳遞來的消息有關(guān),與其他資源節(jié)點無關(guān),相互獨立,因此在FN到VN的消息傳遞過程中,所有資源節(jié)點可以并行進行消息傳遞計算。同理,VN向FN的更新也可進行并行計算。
圖11 FN到VN的迭代更新過程
在并行計算過程的初始時刻,所有節(jié)點并行計算與其所連接的第一個用戶節(jié)點傳遞的消息,在經(jīng)過64個時鐘周期計算完畢后,再依此計算與其所連接的第二個與第三個用戶點傳遞的消息,這樣經(jīng)過192的時鐘周期即可完成所有FN到VN的更新傳遞。并行計算需要將每個節(jié)點向其所連接用戶節(jié)點傳遞的消息概率存儲在一個RAM中,即以FPGA內(nèi)存空間換取低處理時延。
SCMA接收機使用的消息傳遞算法就是計算每個比特的后驗概率,在迭代過程中消息概率在用戶節(jié)點與資源節(jié)點之間迭代更新。SCMA接收機設(shè)計框圖如圖12所示。
圖12 SCMA接收機設(shè)計框圖
對于公式中(2)中的碼字,在計算前需要定義一組ROM,將碼字存儲起來。根據(jù)公式(2),對于每組復數(shù)數(shù)據(jù)的實部與虛部,在計算完畢后需要求距離的平方之和,再進行取相反數(shù)操作。
MPA迭代次數(shù)對SCMA接收機性能有著重要的影響,迭代次數(shù)小SCMA接收機無法正確解碼數(shù)據(jù),迭代次數(shù)多FPGA資源消耗較多,因此需要實現(xiàn)迭代次數(shù)、解碼性能與系統(tǒng)資源的平衡。圖13為Es/N0=4 dB與Es/N0=1 dB時迭代次數(shù)對誤碼率影響的仿真圖。
圖13 迭代次數(shù)對SCMA解碼的影響
從圖13可以看出各個信噪比下的誤碼率曲線走勢相同,在迭代次數(shù)大于7以后,誤碼率不會明顯下降,綜合考慮誤碼率與FPGA資源,令迭代次數(shù)為7。
定義兩組存儲器組RAM_Igv與RAM_Ivg來存儲用戶塊節(jié)點與頻率資源節(jié)點在某次迭代過程中的概率信息。對于節(jié)點的初始化,在MAX-Log-MPA中,碼字先驗概率為ln(1/4),將未開始迭代前的RAM_Igv節(jié)點概率初始化為ln(1/4),RAM-Igv節(jié)點初始化為0。
對于殘差概率傳輸模塊的數(shù)據(jù),在節(jié)點更新前定義一組RAM1用來存儲殘差數(shù)據(jù)。在Igv的更新過程中,在Max-Log-MPA算法中,Igv的每次迭代,需要將從RAM1中讀出相應(yīng)地址的數(shù)據(jù),再從RAM-Igv中讀出相應(yīng)數(shù)據(jù)做相加運算得到中間變量slgv,然后經(jīng)過Max計算得到Igv。對于Igv,需要在16個可能的結(jié)果中取出最大值得到,所以系統(tǒng)需要16個時鐘才能輸出一個計算結(jié)果。各個節(jié)點采用并行計算,可以大幅度降低處理時延。Igv迭代過程中,為了便于讀取RAM1中的數(shù)據(jù),將需要讀取的地址提前寫入一組存儲器RAM2,在計算過程中,由RAM2讀出所需的地址,Igv即可在對應(yīng)的時鐘下捕捉到RAM1中的數(shù)據(jù)進行計算。在Igv更新完畢后對Ivg進行更新。用戶節(jié)點與資源節(jié)點的迭代更新FPGA設(shè)計如圖14所示。
圖14 節(jié)點迭代更新的FPGA設(shè)計
本文采用虛警和漏檢概率對5G低軌衛(wèi)星兩步隨機接入中的MsgA PRACH的檢測性能進行評估,采用誤碼率對MsgA PUSCH的解調(diào)性能進行評估。在接收端,當前導碼成功被檢測到才會進行誤碼率的計算統(tǒng)計。仿真參數(shù)配置如表1所示。
表1 仿真配置表
圖15是在AWGN信道與衛(wèi)星信道無頻偏的情況下,漏檢概率與虛警概率和信噪比的關(guān)系圖。
圖15 MsgA PRACH參數(shù)仿真圖
從圖15中可以看出,在AWGN信道與衛(wèi)星信道下,都可以在Es/N0=-16.5 dB時滿足最低1%的漏檢率要求,并且在漏檢概率滿足1%要求的情況下虛警概率也可以達到最低0.1%的要求[11]。仿真結(jié)果表明,所設(shè)計的5G低軌衛(wèi)星MsgA PRACH參數(shù)可以滿足3GPP協(xié)議規(guī)定的PRACH信道最低1%漏檢和0.1%虛警概率的要求。
圖16仿真分析了單用戶發(fā)起接入與多用戶同時接入的誤碼率,同時接入的用戶數(shù)量為6,6個用戶的數(shù)據(jù)在4個PRAHC occasion中復用。5G中數(shù)據(jù)傳輸均采用LDPC碼,本文5G低軌衛(wèi)星兩步隨機接入數(shù)據(jù)傳輸也采用LDPC碼,當單用戶發(fā)起兩步隨機接入,AWGN信道下傳統(tǒng)的OFDM方案在Es/N0=0.2 dB時誤碼率達到10-4,衛(wèi)星信道下在Es/N0=0.8 dB附近時誤碼率達到10-4。多用戶同時發(fā)起隨機接入,AWGN信道下可在Es/N0=3.9 dB時誤碼率達到10-4,衛(wèi)星信道下可在Es/N0=4.6 dB時誤碼率達到10-4。與單用戶接入相比,多用戶接入在Es/N0=4 dB以后即可擁有優(yōu)異的誤碼率性能。
圖16 MsgA PUSCH誤碼率
對于兩步隨機接入的FPGA實現(xiàn)仿真結(jié)果,本文從資源利用率情況、SCMA譯碼運算量以及FPGA處理時延來評估。
按照第3節(jié)的FPGA收發(fā)模塊設(shè)計,使用Verilog語言編寫RTL代碼,選用artix-7 系列的xc7a100tcsg324-1 器件進行綜合,兩步隨機接入資源使用情況如表2和圖17所示。
表2 FPGA資源利用情況
圖17 FPGA資源利用率
表3為SCMA接收機一次迭代中(輸出所有用戶節(jié)點的12 b消息)的計算復雜度,N代表迭代次數(shù)。在使用Log-Max-MPA算法的接收端,迭代過程中的乘法都被轉(zhuǎn)化為加法運算,大大減少了計算復雜度,同時采用并行計算,有效降低了處理時延。接收端從接收到前導碼到MsgA PUSCH數(shù)據(jù)解調(diào)成功,在系統(tǒng)時鐘為50 MHz的情況下,解調(diào)總時延為677.43 μs。
綜上所述,本文研究的5G低軌衛(wèi)星兩步隨機接入方案在發(fā)送前導檢測成功率和數(shù)據(jù)誤碼率性能方面均有良好的性能,從而保證了接入成功率。FPGA接收機設(shè)計與傳統(tǒng)接收機相比,同時可供接入的用戶數(shù)量更多;節(jié)點并行迭代更新的SCMA接收機,在解調(diào)中只存在加法和求最大值運算,在不增加運算復雜度的基礎(chǔ)上,采用節(jié)點并行處理,將迭代處理時延大大降低。
本文提出了低軌衛(wèi)星系統(tǒng)下的兩步隨機接入信道設(shè)計方案,對前導序列格式以及與數(shù)據(jù)映射關(guān)系進行了設(shè)計,在FPGA上對兩步隨機接入進行了實現(xiàn),并提出了節(jié)點并行處理的低時延SCMA接收機。仿真結(jié)果表明,本文提出的設(shè)計方案能夠?qū)崿F(xiàn)用戶發(fā)起的兩步隨機接入過程,不僅可以降低用戶數(shù)據(jù)碰撞概率提高頻譜利用率,而且數(shù)據(jù)部分有較好的誤碼率性能,FPGA接收端芯片資源利用率、處理時延都有優(yōu)異的表現(xiàn)。仿真結(jié)果驗證了所設(shè)計兩步隨機接入方案在低軌衛(wèi)星系統(tǒng)場景下應(yīng)用的可行性。未來將對低復雜度低時延的非正交多址接入FPGA實現(xiàn)做進一步研究。