5G NR小區(qū)搜索算法的研究及FPGA實(shí)現(xiàn)
0 引言
隨著全球移動(dòng)通信技術(shù)向著網(wǎng)絡(luò)化和寬帶化趨勢(shì)發(fā)展,人們的社會(huì)生活方式、工作模式等方面發(fā)生了極大的改變。隨著人類對(duì)更高性能移動(dòng)通信網(wǎng)的追求,移動(dòng)通信系統(tǒng)也不斷更新?lián)Q代。5G 通信技術(shù)應(yīng)運(yùn)而生,作為測(cè)試技術(shù)的先行者,測(cè)試儀表5G NR 功能的開發(fā)也提上了日程。同步技術(shù)的研究是5G 物理層中一個(gè)十分重要的課題。本文的研究工作主要集中于5G 系統(tǒng)下行鏈路的初始同步過(guò)程。其中,下行鏈路重點(diǎn)對(duì)主同步信號(hào)(primary synchronization signal,PSS)以及輔同步信號(hào)(secondary synchronization signal,SSS)的檢測(cè)方案展開研究并以FPGA 實(shí)現(xiàn)。本研究致力于5G NR 小區(qū)搜索算法技術(shù)研究與實(shí)現(xiàn),其意義在于:在市場(chǎng)上,目前5G 測(cè)試儀器受到業(yè)界的關(guān)注,本課題研究的5G NR小區(qū)搜索與實(shí)現(xiàn)適應(yīng)測(cè)試儀器市場(chǎng)需求,對(duì)通信測(cè)試儀器的發(fā)展提供有力支持;隨著移動(dòng)產(chǎn)業(yè)化的不斷深入發(fā)展,測(cè)試儀器作為產(chǎn)業(yè)鏈的重要組成部分越來(lái)越受到業(yè)界的關(guān)注,本課題有助于促進(jìn)測(cè)試儀器的發(fā)展及推廣。
作者簡(jiǎn)介:袁行猛(1988—),男,工程師,研究方向:信號(hào)與信息處理。
1 小區(qū)搜索過(guò)程
5G NR 小區(qū)搜索是指利用同步信號(hào)獲得其所在小區(qū)的ID 號(hào)以及取得與基站的時(shí)頻同步的過(guò)程。本章首先描述了5G NR 小區(qū)搜索流程,然后為使系統(tǒng)的整體性能達(dá)到最優(yōu),對(duì)各部分采用的不同算法進(jìn)行分析和討論。小區(qū)搜索流程如圖1 所示。
如圖1 所示,接收到的射頻信號(hào)同步流程通常被分為4 個(gè)部分:粗時(shí)間同步、CP 類型檢測(cè)、頻偏估計(jì)與補(bǔ)償和SSS 檢測(cè)。射頻整機(jī)通過(guò)射頻端口接收到5G NR 信號(hào),然后傳到同步模塊。粗時(shí)間同步的目的是為了找到PSS 信號(hào)的位置以此判定半幀同步,同時(shí)還能確定扇區(qū)號(hào)。CP 檢測(cè)可以確定CP 所屬類型。在頻率同步部分,先進(jìn)行小數(shù)倍頻偏的估計(jì)與補(bǔ)償,以保證載波之間的正交性,同時(shí)取得定時(shí)精同步,經(jīng)過(guò)OFDM 解調(diào)到頻域后進(jìn)行整數(shù)倍頻偏估計(jì)與補(bǔ)償。SSS 檢測(cè)的目的是獲得10 ms 的幀定時(shí)同步,同時(shí)確定小區(qū)ID 組號(hào)。
2 5G NR小區(qū)搜索算法與仿真實(shí)現(xiàn)
2.1 粗同步算法
PSS 檢測(cè)算法都是基于序列相關(guān)運(yùn)算的,原理如圖2 所示。滑動(dòng)窗口保存了本地存儲(chǔ)的同步序列,在收到數(shù)據(jù)之后,從數(shù)據(jù)起始位置向后移動(dòng),每移動(dòng)1 個(gè)采樣點(diǎn)計(jì)算1 次相關(guān)系數(shù),當(dāng)?shù)玫? 個(gè)相關(guān)峰值時(shí),則認(rèn)為這時(shí)滑動(dòng)窗口和待檢測(cè)的同步序列對(duì)齊。由于PSS 有3種,所以本地需存儲(chǔ)3 種PSS,且在每次滑動(dòng)窗口移動(dòng)時(shí)計(jì)算3 組相關(guān)系數(shù),相關(guān)峰值最大的序列則為基站發(fā)送的序列,同時(shí)確定其值。
直接互相關(guān)法的本質(zhì)是利用滑動(dòng)搜索的方法,找到與接收信號(hào)匹配的同步序列。首先對(duì)本地的3 種PSS 序列補(bǔ)零后做IFFT 變換,然后分別與下采樣后的信號(hào)做滑動(dòng)相關(guān),得到3 個(gè)序列集,其中最大值所對(duì)應(yīng)的序列號(hào)就是小區(qū)組內(nèi)ID 號(hào),最大值所在的位置就是同步序列的初始粗同步位置。由于m 序列時(shí)域互相關(guān)函數(shù)具有尖銳的峰值,所以能夠得到較為精確的同步位置?;ハ嚓P(guān)函數(shù)的模值平方如下式:
其中,“()*”表示共軛運(yùn)算; NFFT 表示采樣點(diǎn)數(shù);r(n)代表接收到的下采樣后的信號(hào);s n i ( ) 是本地存儲(chǔ)的時(shí)域同步信號(hào),i 取0,1,2 時(shí)分別對(duì)應(yīng)的值0,1,2;d 是起始時(shí)刻,每一時(shí)刻做1 次相關(guān)運(yùn)算,得到粗同步位置d?為:d? = MAX {C d i = I ( )} , 0,1,2 。
圖3 小區(qū)組內(nèi)ID為0分別與1,2,3的序列時(shí)域互關(guān)性
圖3 是時(shí)域PSS 序列自相關(guān)及互相關(guān)性能仿真圖,顯而易見(jiàn),PSS 序列有較好的時(shí)域相關(guān)性。通過(guò)直接互相關(guān)法可以實(shí)現(xiàn)對(duì)主同步信號(hào)的粗定時(shí)同步和小區(qū)組內(nèi)ID 的判斷,但是該方法對(duì)頻偏的魯棒性較差。當(dāng)存在頻偏ε 時(shí),互相關(guān)函數(shù)表達(dá)式如下:
其中,r′(d + n)表示受頻偏影響的接收信號(hào)。由式(1)可以看出,由于頻偏因子e j2π ε/NFFT的存在,對(duì)不同時(shí)刻的信號(hào)都產(chǎn)生相位旋轉(zhuǎn),可以使相關(guān)函數(shù)的峰值衰減,從而對(duì)定時(shí)同步正確性產(chǎn)生影響。
2.2 精同步算法
完成主同步信號(hào)檢測(cè)后,已經(jīng)獲得小區(qū)組內(nèi)ID 號(hào),由式知與m0 和m1 有關(guān),所以可通過(guò)檢測(cè)SSS序列獲得,進(jìn)一步根據(jù)確定物理層小區(qū)ID。對(duì)于SSS 序列的檢測(cè),既允許在時(shí)域進(jìn)行,又允許在頻域進(jìn)行。由于在時(shí)域做相關(guān)檢測(cè)需要對(duì)整個(gè)OFDM 符號(hào)做檢測(cè),計(jì)算復(fù)雜度較大且易受定時(shí)估計(jì)誤差的影響,而頻域檢測(cè)只需提取127 點(diǎn)SSS 序列即可做相關(guān),計(jì)算量小且定時(shí)同步誤差在頻域上對(duì)相關(guān)峰的影響不大,所以可以在頻域進(jìn)行SSS 序列的檢測(cè)。
因?yàn)镻SS 序列與SSS 序列在時(shí)域上只間隔1 個(gè)OFDM 符號(hào),在頻域上處于相同的子載波位置。為了提升SSS 信號(hào)的解調(diào)性能,可以利用檢測(cè)后的PSS 信號(hào)得到信道沖擊響應(yīng),再對(duì)SSS 信號(hào)進(jìn)行補(bǔ)償。令接收到的頻域PSS 信號(hào)為基值k ,信道估計(jì)結(jié)果可以表示為:
。
其中,Spss(k) 為本地頻域PSS 序列。假設(shè)接收的SSS
序列rsss(k) 經(jīng)FFT 轉(zhuǎn)換到頻域?yàn)镽sss(k) ,則經(jīng)過(guò)信道均衡的SSS 序列可以表示為: R'sss(k)=Rsss(k)/Hpss(k) 。
頻域SSS 序列是由2 個(gè)m 序列優(yōu)選對(duì)通過(guò)異或運(yùn)算組成的Gold 序列,該序列具有較好的相關(guān)性質(zhì)。將R'sss(k) 與本地產(chǎn)生的336 條SSS 序列分別進(jìn)行頻域互相關(guān),得到:,式中i =0,1,...,335,代表此時(shí)所選擇的輔同步序列的序列號(hào)。通過(guò)相關(guān)運(yùn)算的結(jié)果容易找到C(i) 中的最大值對(duì)應(yīng)的序列號(hào)i,如式:。
根據(jù)以上分析,該序列號(hào)i 就是小區(qū)組ID 標(biāo)識(shí)號(hào) 。
2.3 仿真結(jié)果分析
仿真軟件選用的是MATLAB R2015a,根據(jù)前章節(jié)的算法理論分析編寫仿真代碼,編寫的軟件函數(shù)架構(gòu)以及主函數(shù)如圖4 所示。
圖4 軟件函數(shù)架構(gòu)和主函數(shù)
MATLAB 仿真得到的粗同步與精同步結(jié)果如圖6和圖7 所示。
圖6 粗同步結(jié)果
圖7 精同步結(jié)果
3 5G NR小區(qū)搜索算法的FPGA實(shí)現(xiàn)
本研究將對(duì)PSS 算法和SSS 時(shí)延優(yōu)化算法進(jìn)行實(shí)現(xiàn),并通過(guò)硬件平臺(tái)的綜合結(jié)果對(duì)算法進(jìn)行驗(yàn)證。在通過(guò)FPGA 實(shí)現(xiàn)算法的同時(shí),也會(huì)利用一些FPGA 技巧降低實(shí)現(xiàn)的復(fù)雜度,節(jié)約開發(fā)成本。本章將給出每個(gè)模塊的設(shè)計(jì)方案,整體流程和最終的硬件綜合結(jié)果。
3.1 FPGA開發(fā)板的性能參數(shù)
在進(jìn)行FPGA 開發(fā)之前,首先要了解FPGA 開發(fā)板的性能和開發(fā)工具的使用,本節(jié)主要介紹本文采用的開發(fā)板性能參數(shù)和開發(fā)工具的能力,F(xiàn)PGA 開發(fā)板的參數(shù)由表1 給出,硬件設(shè)計(jì)結(jié)構(gòu)如圖8 所示。
圖8 基帶板正反面
表1 開發(fā)板性能參數(shù)
開發(fā)工具采用Xilinx 的Vivado,該工具內(nèi)部集成了FFT、IFFT、FIFO、RAM、乘法器等常用IP 核,可以極大降低開發(fā)難度。
3.2 頂層模塊設(shè)計(jì)
圖9 給出了核心模塊、相關(guān)運(yùn)算模塊的結(jié)構(gòu),實(shí)現(xiàn)中需要FPGA 進(jìn)行多次遍歷與計(jì)算,模塊采用純并行設(shè)計(jì),每個(gè)時(shí)鐘寫入1 個(gè)采樣點(diǎn),每個(gè)采樣點(diǎn)單獨(dú)進(jìn)行計(jì)算,求和處采用流水線方式進(jìn)行多個(gè)復(fù)數(shù)的求和計(jì)算,整體流程時(shí)延集中在求和與計(jì)算模值,本設(shè)計(jì)中利用乘法器直接進(jìn)行序列相乘得到相應(yīng)結(jié)果。整體開發(fā)的程序模塊如圖9 所示。
圖9 程序整體模塊
top:設(shè)計(jì)的頂層文件;
rx_jesd204_01_interface_u1:射頻信號(hào)采集模塊,直接采集射頻信號(hào)轉(zhuǎn)換成245.76 MHz 的時(shí)鐘速率;NR5G_cell_sync_u:5G NR 小區(qū)搜索頂層模塊;小區(qū)搜索模塊是具體的實(shí)現(xiàn)模塊,粗同步、精同步以及各個(gè)相關(guān)運(yùn)算等,如圖10 所示。
圖10 小區(qū)搜索主要模塊
3.3 同步模塊設(shè)計(jì)
主同步信號(hào)的FPGA 開發(fā)的過(guò)程:該算法的原理在第三章已進(jìn)行介紹,并且通過(guò)仿真平臺(tái)進(jìn)行了性能評(píng)估,圖11 給出了PSS 檢測(cè)模塊的功能模塊結(jié)構(gòu),圖12 給出了核心模塊,該模塊存儲(chǔ)了量化后的本地序列。量化后的序列取值均為2 的次冪形式,在模塊的編寫過(guò)程中,需要根據(jù)每一項(xiàng)本地序列的量化結(jié)果進(jìn)行寄存器的移位,所以實(shí)現(xiàn)的代碼量巨大。該模塊采用純并行設(shè)計(jì),每個(gè)時(shí)鐘寫入1 個(gè)采樣點(diǎn),每個(gè)采樣點(diǎn)單獨(dú)進(jìn)行計(jì)算,求和處采用流水線方式進(jìn)行多個(gè)復(fù)數(shù)的求和計(jì)算,整體流程時(shí)延集中在求和與計(jì)算模值。
圖12 中的輸出部分有一個(gè)簡(jiǎn)化取模算法。取模運(yùn)算涉及平方和開根號(hào)運(yùn)算,在FPGA 中實(shí)現(xiàn)困難,需要借助cordic 算法實(shí)現(xiàn),這會(huì)引入較大時(shí)延和硬件開銷。由于PSS 檢測(cè)部分只關(guān)心相關(guān)系數(shù)的大小,對(duì)相關(guān)系數(shù)較小的誤差并不敏感,因此可以利用取模的近似算法來(lái)計(jì)算。
輔同步信號(hào)的FPGA 開發(fā)的過(guò)程:
SSS 檢測(cè)采用了分組并行檢測(cè)算法,該模塊的FPGA 結(jié)構(gòu)如圖13 所示。將本地SSS 序列分組后進(jìn)行存儲(chǔ),EN 端口電平拉高后開始進(jìn)行遍歷,計(jì)數(shù)器存儲(chǔ)當(dāng)前遍歷次數(shù),每次遍歷同時(shí)計(jì)算三組序列相關(guān)系數(shù),得到最大值A(chǔ) 和對(duì)應(yīng)的NID1,MAX 存儲(chǔ)了相關(guān)系數(shù)最大時(shí)對(duì)應(yīng)的NID1,遍歷過(guò)程中不斷更新。在計(jì)數(shù)器計(jì)數(shù)到112 時(shí),表示遍歷完成,輸出結(jié)果。該模塊優(yōu)化的目的是降低本地SSS 的生成時(shí)延和計(jì)算時(shí)產(chǎn)生的處理時(shí)延,SSS 生成時(shí)延是利用查表解決的,每一個(gè)SSS 對(duì)應(yīng)一張表,存儲(chǔ)著頻域127 點(diǎn)的數(shù)值,在使用時(shí)無(wú)需消耗額外時(shí)鐘周期進(jìn)行生成。計(jì)算的處理時(shí)延通過(guò)分組遍歷進(jìn)行優(yōu)化,分組越多性能越接近并行計(jì)算,但消耗的硬件資源也就越多。
3.4 實(shí)驗(yàn)結(jié)果分析
通過(guò)連接整機(jī)射頻后實(shí)際采樣,經(jīng)過(guò)設(shè)計(jì)的FPGA模塊得到的是上板后的真實(shí)結(jié)果:小區(qū)ID 126 和499的信號(hào)。
上板測(cè)試的結(jié)果正確,功能正常,能正確解出小區(qū)ID,正確給出10 ms 幀頭,從而能確保傳輸給物理層準(zhǔn)確信號(hào),大大提高了解析速度。
4 結(jié)束語(yǔ)
本文介紹了5G NR 新一代通信的幀格式,并對(duì)5G NR 小區(qū)搜索算法進(jìn)行了研究與仿真,并對(duì)PSS 與SSS 同步搜索的算法進(jìn)行了FPGA 實(shí)現(xiàn),經(jīng)過(guò)仿真驗(yàn)證和硬件實(shí)現(xiàn)驗(yàn)證了正確性,確定了本研究的可行性。
參考文獻(xiàn):
[1] 3GPP TS 38.201:NR;Physical Layer–General Description[S].
[2] 3GPP TS 38.215: NR; Physical layer measurements[S].
[3] 張?jiān)搅?5G新空口下行同步和廣播信道的仿真與FPGA實(shí)現(xiàn)
[D].北京:北京郵電大學(xué),2019.
[4] 郭秋陽(yáng).5G下行信號(hào)的同步與檢測(cè)技術(shù)研究[D].成都:成都電子科技大學(xué),2019.
[5] 3GPP TS 38.214: NR; Physical layer procedures for data[S].
(本文來(lái)源于《電子產(chǎn)品世界》雜志社2021年5月期)
評(píng)論