摘" 要:低峰均比序列是第五代移動(dòng)通信技術(shù)中常用的一種隨機(jī)序列,在多個(gè)上行信道中作為導(dǎo)頻信號(hào)使用。根據(jù)不同的應(yīng)用場(chǎng)景,低峰均比序列定義了不同的生成公式。文章研究了序列的定義,并結(jié)合工程實(shí)踐,分析了傳統(tǒng)查找表法應(yīng)用于單位圓序列帶來(lái)的精度問題和存儲(chǔ)問題。通過研究CORDIC原理,文章提出了一種基于CORDIC的低峰均比序列生成算法,并與查表法進(jìn)行了對(duì)比分析。該方法在序列數(shù)據(jù)位寬固定時(shí),通過增加迭代次數(shù),能夠達(dá)到最大數(shù)據(jù)精度并且不占用存儲(chǔ)空間。
關(guān)鍵詞:5G NR;低峰均比序列;CORDIC算法;查找表法
中圖分類號(hào):TN929.5" 文獻(xiàn)標(biāo)識(shí)碼:A" 文章編號(hào):2096-4706(2025)03-0015-05
A 5G NR Low PAPR Sequence Generation Algorithm Based on CORDIC
WANG Han, WANG Li'nan
(The 54th Research Institute of CETC, Shijiazhuang" 050081, China)
Abstract: The low Peak to Average Power Ratio (PAPR) sequence is a random sequence commonly used in the fifth generation mobile communication technology, which is used as a pilot signal in multiple uplink channels. According to different application scenarios, different generation formulas are defined for the low PAPR sequence. This paper studies the definition of sequence, and combines with engineering practice to analyze the accuracy and storage problems caused by the traditional look-up table method applied to unit circle sequences. By studying the principle of CORDIC, this paper proposes the low PAPR sequence generation algorithm based on CORDIC, and carries out comparative analysis with the look-up table method. This method can achieve maximum data accuracy and does not occupy storage space by increasing the number of iterations when the sequence data bit width is fixed.
Keywords: 5G NR; low PAPR sequence; CORDIC algorithm; look-up table method
0" 引" 言
2018年6月14日,第三代合作伙伴計(jì)劃(3rd Generation Partnership Project, 3GPP)全體會(huì)議正式批準(zhǔn)了第五代移動(dòng)通信技術(shù)的獨(dú)立組網(wǎng)標(biāo)準(zhǔn)[1]。第五代移動(dòng)通信新空口技術(shù)(5G New Radio, 5G NR)定義了兩類隨機(jī)序列:偽隨機(jī)序列和低峰均比序列。偽隨機(jī)序列主要應(yīng)用于下行信道和非基于碼本傳輸?shù)纳闲泄蚕硇诺乐?;而低峰均比序列?yīng)用于基于碼本傳輸?shù)纳闲泄蚕硇诺?、四種格式的上行控制信道以及上行探測(cè)信號(hào)中[2]。顧名思義,低峰均比序列的峰值功率與平均功率比值較小,應(yīng)用于發(fā)射端有利于提升發(fā)端的功放效率,在通信系統(tǒng)中有廣泛的應(yīng)用[3]。5G NR的低峰均比序列具有恒包絡(luò)的特性,序列分布在單位圓上[4]。在工程應(yīng)用中,分布在單位圓上的序列常使用查找表法計(jì)算,但該方法的精度受限于查找表的大小,精度提升以增大存儲(chǔ)開銷為代價(jià)。文章根據(jù)5G NR標(biāo)準(zhǔn)R15版本中低峰均比序列的定義,提出了一種基于CORDIC的序列生成算法,并在文章中對(duì)兩種方法進(jìn)行了對(duì)比分析,新算法可以在不占存儲(chǔ)的情況下有效提升序列精度。
1" 低峰均比序列定義
低峰均比序列由式(1)定義:
(1)
在上述定義中,為基序列,是低峰均比序列的長(zhǎng)度,為每個(gè)資源塊包含的子載波個(gè)數(shù),固定為12,α為循環(huán)移位,δ根據(jù)信道類型決定,同一個(gè)基序列通過不同的α和δ可以產(chǎn)生多個(gè)低峰均比序列[5]。當(dāng)序列長(zhǎng)度確定時(shí),根據(jù)其他參數(shù)U、v的不同配置,基序列可以生成多個(gè)。因此,5G NR根據(jù)參數(shù)u,v將基序列進(jìn)行了分組,為組號(hào),v為組內(nèi)的序列號(hào)。當(dāng)v = 0時(shí),1個(gè)組只包括1個(gè)基序列,每個(gè)基序列的長(zhǎng)度是,其中,此時(shí)序列長(zhǎng)度小于等于60個(gè);當(dāng)v = 0,1時(shí),1個(gè)組包括2個(gè)基序列,,其中,此時(shí)序列長(zhǎng)度大于60個(gè)。
基序列根據(jù)序列長(zhǎng)度MZC有不同的定義公式。對(duì)于,基序列由式(2)定義,其中由5G NR標(biāo)準(zhǔn)中的4個(gè)表格定義,每張表格對(duì)應(yīng)MZC的1種取值,每個(gè)表格中的元素,通過不同的u查詢表格中序列的不同取值。
(2)
對(duì)于MZC = 30,基序列由式(3)定義:
(3)
當(dāng),基序列長(zhǎng)度大于等于36時(shí),基序列由式(4)定義:
(4)
其中:
(5)
長(zhǎng)NZC為滿足NZC<MZC的最大質(zhì)數(shù)。
通過分析上述低峰均比序列的定義,可以得出序列生成式(1)主要分成循環(huán)移位和基序列兩部分計(jì)算。根據(jù)5G NR標(biāo)準(zhǔn)定義,循環(huán)移位的α取值由信道類型決定:當(dāng)?shù)头寰刃蛄袘?yīng)用于基于碼本的PUSCH信道時(shí),α = 0;應(yīng)用于PUCCH時(shí),e jαn至多有12種取值;應(yīng)用于SRS時(shí),e jαn至多有16種取值。在工程實(shí)現(xiàn)中,e jαn可以通過查找表的方式產(chǎn)生,查找表的深度為38,寬度由數(shù)據(jù)精度決定。循環(huán)移位的計(jì)算簡(jiǎn)單,但基序列有三種定義公式,因此計(jì)算較復(fù)雜。通過分析基序列的定義可得,當(dāng)時(shí),基序列有4種取值,當(dāng)MZC = 30時(shí),基序列有62種取值,因此當(dāng)長(zhǎng)度小于36時(shí),使用查找表的方式產(chǎn)生基序列簡(jiǎn)單易行。當(dāng)時(shí),根據(jù)5G NR標(biāo)準(zhǔn)規(guī)定,基序列長(zhǎng)度MZC共有92種取值,最小為36,最大為1 632。為了方便分析,設(shè)的相位為,由式(6)表示:
(6)
由于NZC作為相位的分母,因此在2π周期內(nèi)相位存在至多2NZC種準(zhǔn)確取值。NZC與MZC一一對(duì)應(yīng),共有92種取值,因此在這種情況下,如果遍歷所有NZC取值,將基序列做成查找表,存儲(chǔ)量非常龐大。針對(duì)這種情況,如果在工程中采用查找表生成序列,常用的方法是以犧牲相位精度的代價(jià)來(lái)限制查找表的大小。比如,將第一象限的單位圓量化成2 048點(diǎn)的查找表,計(jì)算相位時(shí)將其量化成查找表中最接近的一個(gè)元素。但此時(shí)計(jì)算出的基序列精度與查找表的大小成正比,表格越大,相位精度越高,量化誤差越小[6]。針對(duì)時(shí),采用傳統(tǒng)查找表產(chǎn)生的相位精度問題,文章采用CORDIC算法來(lái)規(guī)避,下一節(jié)介紹CORDIC算法基本原理。
2" CORDIC算法原理
在笛卡爾坐標(biāo)系中將向量旋轉(zhuǎn)θ角度到新向量,如式(7)所示:
(7)
等號(hào)右邊提取出,設(shè),,
可得新方程如式(8)所示:
(8)
采用迭代的思想分析向量旋轉(zhuǎn)過程,原始向量的一次旋轉(zhuǎn)其實(shí)可以分解為多次旋轉(zhuǎn),旋轉(zhuǎn)角度大小和方向均可不同。假設(shè)旋轉(zhuǎn)迭代次數(shù)為i,每次旋轉(zhuǎn)的角度為θi,則旋轉(zhuǎn)總角度θ為多次旋轉(zhuǎn)角度θi之和。為了方便分析計(jì)算,對(duì)旋轉(zhuǎn)角度θi賦予一定規(guī)律性,設(shè),則,可以得出如表1所列的旋轉(zhuǎn)角度值[7]。θi為一個(gè)遞減的收斂序列,序列的級(jí)數(shù)和為99.7度,因此對(duì)任意范圍內(nèi)的角度都可以通過多個(gè)小角度θi累加求和來(lái)計(jì)算[8]。對(duì)于該范圍之外的角度,可以利用三角恒等式將其折算到此范圍來(lái)應(yīng)用。
在表1中,旋轉(zhuǎn)角度θi全部為正值,考慮旋轉(zhuǎn)的正負(fù)方向,引入旋轉(zhuǎn)的方向指示變量di,當(dāng)逆時(shí)針旋轉(zhuǎn)時(shí)di = 1,當(dāng)順時(shí)針旋轉(zhuǎn)時(shí)di = -1,每次旋轉(zhuǎn)完畢新向量的角度設(shè)為zi,角度累加方程如式(9)所示:
(9)
將帶入式(8),同時(shí)考慮旋轉(zhuǎn)方向,可得出迭代過程中任意一次旋轉(zhuǎn)計(jì)算如式(10)所示:
(10)
通過式(8)可得,相比每次旋轉(zhuǎn)的起始向量,本次旋轉(zhuǎn)后終點(diǎn)向量的模值增大為倍,因此在所有旋轉(zhuǎn)完成后,需將新向量乘以系數(shù) 得到單位圓上的最終向量,如式(11)所示:
(11)
由式(8)~式(11)可得,CORDIC的基本原理是運(yùn)用迭代的思想將向量一次旋轉(zhuǎn)過程分解為多次小角度旋轉(zhuǎn)來(lái)完成,并且在此過程中將三角函數(shù)運(yùn)算轉(zhuǎn)化為多次移位和加減運(yùn)算,極大地減小了計(jì)算量[9]。向量的旋轉(zhuǎn)示意圖如圖1所示。
3" 基于CORDIC算法的序列生成
將低峰均比序列的定義和CORDIC算法原理結(jié)合分析可得,使用CORDIC算法計(jì)算時(shí),等效于令向量的初始值,將初始向量旋轉(zhuǎn)相位得到目標(biāo)向量的過程,因此的計(jì)算轉(zhuǎn)化成相位的計(jì)算??紤]在工程實(shí)現(xiàn)中引入π會(huì)帶來(lái)一定計(jì)算復(fù)雜度,對(duì)做化簡(jiǎn),兩邊消去π可得:
設(shè) = m(m+1)q/NZC,則式(12)將計(jì)算轉(zhuǎn)化成以2為周期的計(jì)算。
0≤m(m+1)q/NZC<2 (12)
通過分析低峰均比序列在各上行信道中的應(yīng)用,可以枚舉出序列的長(zhǎng)度MZC共有92種取值,最小為36,最大為1 632。NZC作為小于MZC的最大質(zhì)數(shù),無(wú)法實(shí)時(shí)計(jì)算只能存儲(chǔ)成查找表。在計(jì)算的過程中,首先根據(jù)序列長(zhǎng)度MZC查詢出NZC,然后結(jié)合u,v計(jì)算出,最后通過序列索引m計(jì)算并進(jìn)行模除操作。
由于式(12)對(duì)輸入相位進(jìn)行了化簡(jiǎn),因此CORDIC內(nèi)部每次迭代累加的小角度相位也需進(jìn)行相同的化簡(jiǎn)處理,將θi轉(zhuǎn)化成與相同的量綱。轉(zhuǎn)化過程可以通過式(13)計(jì)算,的單位是弧度,將其轉(zhuǎn)化成與相同的量綱時(shí)記為。
(13)
角度簡(jiǎn)化完畢,下一步是根據(jù)要求的數(shù)據(jù)精度確定迭代次數(shù),進(jìn)而對(duì)角度定標(biāo)。由式(10)可得每次迭代過程都對(duì)向量的實(shí)部虛部進(jìn)行一次移位操作,因此迭代次數(shù)比向量數(shù)據(jù)位寬大時(shí)即可滿足最大的精度。在工程實(shí)現(xiàn)中,低峰均比序列的數(shù)據(jù)實(shí)部虛部均為16 bit位寬,由此推出CORDIC的迭代次數(shù)設(shè)置為17次。每次旋轉(zhuǎn)作為累加的" 是一個(gè)小數(shù),為了保證每次迭代時(shí)的有效性, 必須是一個(gè)非零值,因此當(dāng)?shù)?7次迭代時(shí), 的十進(jìn)制小數(shù)位寬最小保留6位,轉(zhuǎn)化成二進(jìn)制時(shí)小數(shù)部分保留18位。由式(12)可得" 小于2,因此在工程定標(biāo)時(shí),將" 和" 的總位寬定標(biāo)成19位,其中小數(shù)部分保留18位,整數(shù)部分保留1位, 的浮點(diǎn)和定點(diǎn)數(shù)據(jù)如表2所示。
上述角度簡(jiǎn)化和定標(biāo)結(jié)果分析完畢,即可根據(jù)CORDIC計(jì)算序列長(zhǎng)度時(shí)的低峰均比序列。對(duì)于另外兩種情況,當(dāng)序列長(zhǎng)度時(shí),根據(jù)式(1)~式(3)采用查找表的方式生成序列。結(jié)合FPGA工程實(shí)現(xiàn),將基于CORDIC計(jì)算低峰均比序列的步驟表述如下:
1)初始向量定標(biāo)。在工程實(shí)現(xiàn)中,生成的低峰均比序列用16 bit位寬表示,小數(shù)部分保留15 bit,因此將CORDIC算法旋轉(zhuǎn)的初始向量實(shí)部表示成32 768,虛部為0。
2)根據(jù)參數(shù)計(jì)算初始相位。將質(zhì)數(shù)NZC預(yù)先存儲(chǔ)到ROM,根據(jù)序列長(zhǎng)度MZC查表獲得NZC,由輸入?yún)?shù)u,v和式(5)計(jì)算q。對(duì)每一組輸入?yún)?shù)MZC,u,v計(jì)算出唯一的q/NZC,將其小數(shù)部分量化成18 bit位寬,與的定標(biāo)保持一致。序列的索引值m從0開始遞增,依次計(jì)算出序列每個(gè)點(diǎn)對(duì)應(yīng)的旋轉(zhuǎn)初始相位z0。
3)迭代計(jì)算。考慮到FPGA實(shí)現(xiàn)的全流水需求,將每次迭代計(jì)算進(jìn)行一次例化,每次例化的輸入輸出均為相位、實(shí)部和虛部。第一次迭代時(shí),根據(jù)初始相位z0的符號(hào)位正負(fù)計(jì)算d0,根據(jù)式(9)、式(10)和表2中的計(jì)算第一次迭代的結(jié)果z1和,將其作為第二次迭代的輸入和表2中的相位" 聯(lián)合計(jì)算得到第二次迭代輸出,累加迭代17次得到末次向量 。
4)歸一化和循環(huán)移位。將末次向量的實(shí)部虛部乘以縮放因子歸一化到單位圓,得到基序列 。根據(jù)循環(huán)移位α和序列索引查表得到e jαm,與基序列相乘得到最終的低峰均比序列。
新算法基于FPGA平臺(tái)實(shí)現(xiàn)的迭代計(jì)算時(shí)序示意圖如圖2所示。
綜上所述,采用基于CORDIC算法生成低峰均比序列有兩種優(yōu)勢(shì),一是不占用大量的存儲(chǔ)資源;二是生成序列的精度可以通過配置迭代次數(shù)提升,當(dāng)?shù)螖?shù)比向量位寬大時(shí),可以得到最大量化精度。當(dāng) 時(shí)如果使用查找表的方法生成低峰均比序列,序列的精度與查找表的大小有關(guān)系。圖3對(duì)比了使用兩種方式生成序列時(shí)的量化誤差[10],使用CORDIC算法計(jì)算時(shí)迭代次數(shù)設(shè)置為17次,使用查找表的方法生成序列時(shí),將單位圓量化成2 048點(diǎn)和8 192點(diǎn)。在此場(chǎng)景下,基于CORDIC算法生成序列的精度明顯優(yōu)于查找表法。
由圖3分析查找表方法的量化誤差,當(dāng)表格點(diǎn)數(shù)從2 048點(diǎn)提升到8 192點(diǎn)時(shí),量化誤差的均值也減小為原來(lái)的1/4,因此繼續(xù)增大表格大小可以使查找表法的量化誤差與CORDIC算法生成序列的量化誤差達(dá)到同一量級(jí)。由式(11)可得,在旋轉(zhuǎn)的過程中末次旋轉(zhuǎn)向量會(huì)增大為初始向量的倍, 是一個(gè)遞增的收斂序列,極限值小于2。因此,在工程實(shí)現(xiàn)中,假設(shè)低峰均比序列的實(shí)部虛部均為16 bit位寬,向量的模值在旋轉(zhuǎn)過程中會(huì)增大,需用17 bit位寬表示。由式(10)可得,當(dāng)旋轉(zhuǎn)次數(shù)大于17時(shí),等號(hào)右邊和為0,繼續(xù)增大旋轉(zhuǎn)次數(shù),向量的實(shí)部虛部不會(huì)變化,相應(yīng)基序列精度也不會(huì)增加。與查找表算法對(duì)比分析,當(dāng)查找表格的點(diǎn)數(shù)增大到217時(shí),兩者精度一致,如圖4所示。為了仿真圖分辨清晰,圖4只畫出了64點(diǎn)序列的量化誤差。
4" 結(jié)" 論
得益于包絡(luò)恒定、峰值功率波動(dòng)小等優(yōu)良特性,低峰均比序列在通信系統(tǒng)中具有重要的研究意義。文章首先分析了5G NR中低峰均比序列的定義,并基于其公式研究了在工程實(shí)現(xiàn)中采用查找表法計(jì)算序列時(shí)面臨的問題。隨后,結(jié)合CORDIC算法的基本原理,提出了一種新的低峰均比序列生成算法。結(jié)合工程實(shí)踐,文章對(duì)新算法進(jìn)行了定標(biāo)并簡(jiǎn)述了計(jì)算步驟,對(duì)比分析了在某些場(chǎng)景下新算法和查找表法的量化誤差,新算法在不產(chǎn)生存儲(chǔ)開銷的同時(shí)能有效提高序列精度,對(duì)工程實(shí)現(xiàn)具有一定的指導(dǎo)意義。
參考文獻(xiàn):
[1] 楊立.5G-NR蜂窩系統(tǒng)功能演進(jìn)趨勢(shì)分析 [J].無(wú)線電通信技術(shù),2020,46(3):310-314.
[2] 張建國(guó),楊東來(lái),徐恩,等.5G NR物理層規(guī)劃與設(shè)計(jì) [M].北京.人民郵電出版社,2020:132.
[3] 余光識(shí).毫米波MIMO系統(tǒng)低峰均比序列與預(yù)編碼研究 [D].南京:東南大學(xué),2016.
[4] 馬東旭.具有低峰均比特性的序列研究 [D].西安:西安電子科技大學(xué),2019.
[5] ETSI. 5G; NR; Physical Channels and Modulation" ETSI TS 138 211 V15.3.0 [S/OL].Sophia Antipolis:European Telecommunications Standards Institute,2018[2024-07-17].https://www.etsi.org/deliver/etsi_ts/138200_138299/138211/15.03.00_60/ts_138211v150300p.pdf.
[6] 張劍鋒.基于CORDIC算法低功耗加速器設(shè)計(jì)與實(shí)現(xiàn) [D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2016.
[7] HU Y H. The Quantization Effects of the CORDIC Algorithm [J].IEEE Transactions on signal processing,1992,40(4):834-844.
[8] 陳文俊.基于改進(jìn)型CORDIC算法的高速DDS設(shè)計(jì) [D].武漢:華中師范大學(xué),2021.
[9] HU Y H. CORDIC-based VLSI Architectures for Digital Signal Processing [J].IEEE Signal Processing Magazine,1992,9(3):16-35.
[10] 曲世雋,王翾.一種降低CORDIC算法截?cái)嗾`差的方法 [J].中國(guó)傳媒大學(xué)學(xué)報(bào):自然科學(xué)版,2021,28(6):53-58.
作者簡(jiǎn)介:王漢(1991—),男,漢族,河北石家莊人,工程師,碩士,研究方向:衛(wèi)星移動(dòng)通信傳輸技術(shù);通信作者:王力男(1968—),男,漢族,河北石家莊人,研究員,碩士,研究方向:衛(wèi)星移動(dòng)通信系統(tǒng)設(shè)計(jì)。