国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ZYNQ的編譯碼通用高斯測(cè)試平臺(tái)設(shè)計(jì)

2023-03-07 01:26:26郭夢(mèng)琪
無(wú)線電工程 2023年2期
關(guān)鍵詞:均勻分布誤碼率高斯

吳 丹,郭夢(mèng)琪,2

(1.中國(guó)電子科技集團(tuán)公司第五十四研究所,河北 石家莊 050081;2.通信網(wǎng)信息傳輸與分發(fā)技術(shù)重點(diǎn)實(shí)驗(yàn)室,河北 石家莊 050081)

0 引言

在硬件開(kāi)發(fā)實(shí)現(xiàn)工作中,完成編譯碼模塊開(kāi)發(fā)實(shí)現(xiàn)后需要對(duì)其性能進(jìn)行測(cè)試,以驗(yàn)證實(shí)現(xiàn)工作的正確性。如果搭建實(shí)驗(yàn)平臺(tái)進(jìn)行測(cè)試,需要使用收發(fā)2套設(shè)備,并且需要利用衰減器或信道模擬器調(diào)節(jié)信噪比,測(cè)試流程復(fù)雜且耗時(shí)較長(zhǎng)。本文基于Xilinx公司推出的ZYNQ-7000系列芯片,開(kāi)發(fā)了一套編譯碼通用測(cè)試平臺(tái),僅需要一個(gè)ZYNQ系列開(kāi)發(fā)板即可對(duì)所實(shí)現(xiàn)的編譯碼模塊性能進(jìn)行快速測(cè)試。

ZYNQ集成了ARM Crotex-A9處理器和FPGA,將二者的功能整合到一塊板卡上,為小型化、靈活性和可擴(kuò)展性提供了解決方案[1-2]。在設(shè)計(jì)過(guò)程中,將需要進(jìn)行高速運(yùn)算的編譯碼模塊和噪聲產(chǎn)生模塊放置于FPGA上實(shí)現(xiàn),將信噪比配置、誤碼率計(jì)算和運(yùn)算控制等涉及到需要靈活修改和控制的功能放置于ARM上實(shí)現(xiàn),使得2部分各自發(fā)揮最佳用途。

為了應(yīng)對(duì)5G標(biāo)準(zhǔn)對(duì)高速率、低延時(shí)的要求,低密度奇偶校驗(yàn)(Low-Density Parity Check,LDPC)碼從眾多信道編碼方案中脫穎而出,于2016年10月進(jìn)入5G標(biāo)準(zhǔn),成為數(shù)據(jù)信道編碼方案[3]。測(cè)試平臺(tái)所使用的被測(cè)碼字即為5G NR標(biāo)準(zhǔn)下的LDPC碼。LDPC碼性能接近于香農(nóng)極限[4],其誤碼平層低、譯碼復(fù)雜度低、適合并行譯碼、支持高吞吐量傳輸[5-9]。高斯白噪聲的產(chǎn)生為測(cè)試平臺(tái)設(shè)計(jì)的重點(diǎn)。首先由Mersenne Twister算法產(chǎn)生均勻分布的隨機(jī)數(shù),Mersenne Twister算法產(chǎn)生的隨機(jī)數(shù)具有隨機(jī)性好、速度快和周期長(zhǎng)的特點(diǎn)[10];然后由Box Muller算法從均勻分布隨機(jī)數(shù)生成高斯分布隨機(jī)數(shù)[11],從而產(chǎn)生高斯白噪聲。

本文通過(guò)所設(shè)計(jì)的測(cè)試平臺(tái)實(shí)現(xiàn)數(shù)據(jù)處理全部流程后,計(jì)算得到的誤碼率結(jié)果與Matlab浮點(diǎn)理論仿真結(jié)果僅有0.2 dB的差距,驗(yàn)證了該測(cè)試平臺(tái)的正確性和可靠性。同時(shí),該測(cè)試平臺(tái)具有通用性和可擴(kuò)展性,可以將編譯碼模塊替換成任意設(shè)計(jì)的編譯碼方案,甚至可以替換為期待測(cè)試的調(diào)制解調(diào)方案,對(duì)硬件實(shí)現(xiàn)的信道編碼模塊甚至調(diào)制解調(diào)模塊的快速性能測(cè)試具有重要意義。

1 測(cè)試平臺(tái)架構(gòu)

測(cè)試平臺(tái)數(shù)據(jù)傳輸架構(gòu)如圖1所示。ZYNQ主要由FPGA處理器和ARM處理器組成。FPGA處理器簡(jiǎn)稱可編程邏輯(Programmable Logic,PL)側(cè),ARM處理器簡(jiǎn)稱處理器系統(tǒng)(Processing System,PS)側(cè)。PL側(cè)更適合實(shí)現(xiàn)高速邏輯運(yùn)算,PS可以對(duì)PL的運(yùn)算流程進(jìn)行控制,并對(duì)運(yùn)算完成的數(shù)據(jù)進(jìn)行處理。PL和PS之間通過(guò)AXI接口實(shí)現(xiàn)高帶寬、低延遲的連接[12]。

圖1 ZYNQ測(cè)試平臺(tái)數(shù)據(jù)傳輸架構(gòu)Fig.1 Data transmission architecture based on ZYNQ test platform

在本文設(shè)計(jì)的編譯碼測(cè)試平臺(tái)中,PS和PL之間傳輸?shù)臄?shù)據(jù)主要為信噪比和錯(cuò)誤數(shù),通過(guò)BRAM控制器完成。PS向PL設(shè)置本次測(cè)試的信噪比,PL運(yùn)算完成后返回錯(cuò)誤比特?cái)?shù),在PS進(jìn)行誤碼率計(jì)算。數(shù)據(jù)處理的詳細(xì)流程如圖2所示。首先在PL側(cè)生成隨機(jī)比特,比特?cái)?shù)為L(zhǎng)DPC碼的信息位長(zhǎng)度,然后進(jìn)行LDPC編碼以及星座映射。根據(jù)PS傳來(lái)的信噪比計(jì)算噪聲方差,生成I/Q兩路不同的高斯白噪聲,將高斯白噪聲添加至星座映射后的符號(hào)上。接下來(lái),在接收端進(jìn)行星座解映射、LDPC譯碼和錯(cuò)誤比特?cái)?shù)計(jì)算。最終將得到的錯(cuò)誤比特?cái)?shù)返回PS,并產(chǎn)生中斷信號(hào)。PS端收到中斷后得知該幀運(yùn)算完成,讀取錯(cuò)誤比特?cái)?shù)并計(jì)算誤碼率。

圖2 ZYNQ測(cè)試平臺(tái)數(shù)據(jù)處理流程Fig.2 Data processing flow based on ZYNQ test platform

2 設(shè)計(jì)原理

2.1 5G NR-LDPC碼

本文測(cè)試的LDPC碼為5G NR標(biāo)準(zhǔn)下的LDPC碼,該LDPC碼是準(zhǔn)循環(huán)LDPC碼,其校驗(yàn)矩陣可以通過(guò)基矩陣表示[13-14]。例如,對(duì)于校驗(yàn)矩陣H,將其分割成6個(gè)尺寸為Z×Z子矩陣,Z稱為擴(kuò)展因子,在此示例中Z=3。

(1)

H中的每個(gè)子矩陣都具有準(zhǔn)循環(huán)特性,零矩陣用-1表示,單位矩陣用0表示,其他正整數(shù)表示單位矩陣循環(huán)右移的數(shù)目,通過(guò)此方法可以得到基矩陣:

(2)

5G NR標(biāo)準(zhǔn)下規(guī)定了2種基矩陣形式,如表1所示,基矩陣1為46行28列,最低碼率為1/3,基矩陣2為42行52列,最低碼率為1/5?;仃囉上到y(tǒng)列和校驗(yàn)列組成,基矩陣1的系統(tǒng)位列數(shù)kb為22,基矩陣2相對(duì)更適合更短碼長(zhǎng)及更低碼率,其系統(tǒng)位列數(shù)kb根據(jù)實(shí)際的信息位長(zhǎng)度可以選擇10,9,8,6。

表1 5G NR標(biāo)準(zhǔn)下2種基矩陣參數(shù)Tab.1 Parameters of BG1 and BG2 in 5G NR standard

根據(jù)以上設(shè)計(jì)原則,5G NR-LDPC碼的信息位長(zhǎng)度與系統(tǒng)位列數(shù)kb和擴(kuò)展因子Z相關(guān),其數(shù)值為二者的乘積。擴(kuò)展因子Z的取值如表2所示。

表2 5G NR標(biāo)準(zhǔn)下擴(kuò)展因子Z取值Tab.2 Expansion factor Z in 5G NR standard

Z=a×2j,

(3)

式中,a和j分別有8種不同取值,對(duì)應(yīng)得到擴(kuò)展因子Z的51種不同取值。

5G NR-LDPC碼的碼塊長(zhǎng)度和碼率靈活可變,可以通過(guò)信息位縮短和校驗(yàn)位打孔實(shí)現(xiàn)。編碼后得到的信息比特和校驗(yàn)比特如圖3所示,前2列信息比特由于高列重必須被打孔,信息比特的末端可以通過(guò)填0進(jìn)行縮短,校驗(yàn)比特的末端可以被打掉,實(shí)現(xiàn)碼率的靈活變化。

圖3 5G NR-LDPC碼縮短與打孔示意Fig.3 Illustration of 5G NR-LDPC code word shortening and puncturing

2.2 高斯白噪聲產(chǎn)生

高斯白噪聲的產(chǎn)生為測(cè)試平臺(tái)的重點(diǎn)。產(chǎn)生高斯白噪聲分為2步:第1步為生成[0, 1]均勻分布的隨機(jī)數(shù),第2步為由均勻分布的隨機(jī)數(shù)產(chǎn)生高斯分布的隨機(jī)數(shù)。均勻分布的隨機(jī)數(shù)由Mersenne Twister算法產(chǎn)生。

2.2.1 隨機(jī)數(shù)產(chǎn)生原理

Mersenne Twister算法由Matsurnoto等[10]于1998年提出。若生成數(shù)據(jù)位寬為w,那么Mersenne Twister算法可以生成0~2w-1的整數(shù),將所生成的數(shù)據(jù)除以2w-1后,可生成[0,1]區(qū)間內(nèi)均勻分布的隨機(jī)數(shù)。在本測(cè)試平臺(tái)中實(shí)現(xiàn)的Mersenne Twister算法位寬為64。Mersenne Twister算法基于以下遞推公式實(shí)現(xiàn):

(4)

為了提高運(yùn)算速度,矩陣A取為:

(5)

那么計(jì)算xA相當(dāng)于移位運(yùn)算:

(6)

式中,a=(aw-1,aw-2,…,a0);x=(xw-1,xw-2,…,x0)。于是,遞推式(4)可以通過(guò)比特移位、按位與、按位或、按位異或操作得到。生成隨機(jī)數(shù)的步驟如下[10]:

a←aw-1aw-2…a0(矩陣A的最后一行);

①i←0;x[0],x[1],…,x[n-1](任意非0初始值);

③x[i]←x[(i+m)modn] XOR(y?1)

(與矩陣A相乘);

④ 與調(diào)和矩陣相乘,提升統(tǒng)計(jì)特性[15]:

y←x[i]

y←yXOR(y?u)

y←yXOR((y?s)ANDb)

y←yXOR((y?t)ANDc)

y←yXOR(y?l)

輸出y;

⑤i←(i+1)modn;

⑥ 返回第②步。

其中,u,s,t,l,b,c為調(diào)和參數(shù);AND,OR,XOR,?,?為按位操作運(yùn)算。

2.2.2 隨機(jī)數(shù)的檢驗(yàn)

為了測(cè)試根據(jù)Mersenne Twister算法進(jìn)行Verilog實(shí)現(xiàn)所生成的隨機(jī)數(shù)是否滿足均勻分布的統(tǒng)計(jì)特性,需要對(duì)產(chǎn)生的隨機(jī)數(shù)進(jìn)行檢驗(yàn)。隨機(jī)數(shù)統(tǒng)計(jì)特性的檢驗(yàn)一般包括參數(shù)檢驗(yàn)、均勻性檢驗(yàn)和獨(dú)立性檢驗(yàn)[16]。

參數(shù)檢驗(yàn)是指生成隨機(jī)序列的均值、方差、二階矩與理論值是否有顯著的差異。通過(guò)Modelsim軟件采集生成樣本200 000個(gè),計(jì)算得到均值為:

(7)

二階矩為:

(8)

方差為:

(9)

對(duì)于[0,1]均勻分布的隨機(jī)變量,其均值、二階矩和方差的理論值分別為:1/2,1/3和1/12,則統(tǒng)計(jì)檢驗(yàn)量:

(10)

(11)

(12)

給定顯著水平參數(shù)α=0.05,查找標(biāo)準(zhǔn)正態(tài)數(shù)值表得到λ:P{|ui|>λ}=α,當(dāng)|u1|≤1.960時(shí),生成的隨機(jī)序列通過(guò)均值檢驗(yàn);當(dāng)|u2|≤1.960時(shí),生成的隨機(jī)序列通過(guò)二階矩檢驗(yàn);當(dāng)|u3|≤1.960時(shí),生成的隨機(jī)序列通過(guò)方差檢驗(yàn)[17]。

均勻性檢驗(yàn)是檢測(cè)生成的隨機(jī)序列是否均勻地分布于[0,1]。采用卡方檢驗(yàn)方法,將[0,1]區(qū)間分為m個(gè)小區(qū)間,總樣本數(shù)為n,Ri落入第k個(gè)小區(qū)間的數(shù)目為nk,Ri落入每個(gè)小區(qū)間的概率為1/m,則第k個(gè)小區(qū)間的理論頻數(shù)為:

(13)

統(tǒng)計(jì)量為:

(14)

取m=500,根據(jù)式(14)計(jì)算得到V=506.445。給定顯著水平參數(shù)α=0.05,當(dāng)|V|≤551.950時(shí)[18],生成的隨機(jī)序列通過(guò)卡方檢驗(yàn)。

獨(dú)立性檢驗(yàn)是檢驗(yàn)序列中隨機(jī)數(shù)之間是否具有相關(guān)性。如果2個(gè)隨機(jī)變量獨(dú)立,那么它們的相關(guān)系數(shù)為0。相關(guān)性檢驗(yàn)計(jì)算前后相距為k的樣本的相關(guān)系數(shù)ρk為:

(15)

統(tǒng)計(jì)量為:

(16)

取k=15,根據(jù)式(15)~(16)計(jì)算得到W=0.564 68。給定顯著水平參數(shù)α=0.05,當(dāng)|W|≤1.960時(shí)[17],生成的隨機(jī)序列通過(guò)相關(guān)系數(shù)檢驗(yàn)。

綜上所述,通過(guò)Verilog實(shí)現(xiàn)生成的隨機(jī)序列通過(guò)了參數(shù)檢驗(yàn)、均勻性檢驗(yàn)和獨(dú)立性檢驗(yàn),滿足[0,1]均勻分布的統(tǒng)計(jì)特性。MT算法產(chǎn)生隨機(jī)數(shù)的隨機(jī)性好、速度快,周期長(zhǎng)達(dá)219 937-1,適合用于高斯白噪聲的生成。

2.2.3 均勻分布生成高斯分布

采用Mersenne Twister算法生成均勻分布的隨機(jī)數(shù)后,可以通過(guò)Box Muller算法將其轉(zhuǎn)換為高斯分布的隨機(jī)數(shù)。令M為[0,1]均勻分布的隨機(jī)變量:

(17)

式中,σ2為方差。N為另一個(gè)[0,1]均勻分布的隨機(jī)變量,定義Θ=2πN。于是,可以得到2個(gè)相互獨(dú)立的高斯分布隨機(jī)變量[11]:

C=PcosΘ,

(18)

D=PsinΘ,

(19)

通過(guò)上述方法即可生成均值為0,方差為σ2的高斯白噪聲,其統(tǒng)計(jì)特性如圖4所示。

圖4 高斯分布統(tǒng)計(jì)特性Fig.4 Statistical characteristics of Gaussian distribution

3 結(jié)果分析

本文通過(guò)2個(gè)不同碼率的LDPC碼驗(yàn)證該測(cè)試平臺(tái)的正確性。第1個(gè)LDPC碼采用基矩陣2,系統(tǒng)位列數(shù)kb=10,擴(kuò)展因子Z=144,信息位和校驗(yàn)位均為1 376,碼率為1/2。第2個(gè)LDPC碼碼率更高,采用基矩陣1,系統(tǒng)位列數(shù)kb=22,擴(kuò)展因子Z=384,信息位為8 448,校驗(yàn)位為1 536,碼率為22/26。譯碼算法采用歸一化最小和算法,歸一化因子為0.75。在ZYNQ測(cè)試平臺(tái)實(shí)現(xiàn)了如圖2所示的編譯碼及添加高斯白噪聲全部流程,芯片型號(hào)為XC7Z100。該測(cè)試平臺(tái)硬件板卡圖如圖5所示。

圖5 編譯碼通用測(cè)試平臺(tái)硬件板卡圖Fig.5 Hardware board of the universal encoding and decoding test platform

資源占用如表3所示,其中查找表的資源占用率最高,主要為編譯碼所占用。

表3 LDPC碼測(cè)試平臺(tái)資源占用Tab.3 Resource usage of LDPC test platform

圖6和圖7展示了測(cè)試平臺(tái)的實(shí)測(cè)誤碼率與Matlab仿真得到的理論誤碼率。Matlab仿真默認(rèn)采用Mersenne Twister算法生成高斯白噪聲。在Matlab仿真中采用全浮點(diǎn)運(yùn)算,測(cè)試平臺(tái)中Verilog實(shí)現(xiàn)代碼為定點(diǎn)運(yùn)算。從對(duì)比結(jié)果可以看出,采用QPSK調(diào)制或16QAM調(diào)制,測(cè)試平臺(tái)實(shí)測(cè)值與Matlab理論仿真值僅有0.2 dB的差距,驗(yàn)證了該測(cè)試平臺(tái)的正確性和可靠性。

圖6 誤碼率性能對(duì)比(QPSK)Fig.6 Comparison of BER performance (QPSK)

圖7 誤碼率性能對(duì)比(16QAM)Fig.7 Comparison of BER performance (16QAM)

4 結(jié)束語(yǔ)

本文基于ZYNQ實(shí)現(xiàn)了一套編譯碼通用測(cè)試平臺(tái),該平臺(tái)可以對(duì)不同的編譯碼方案進(jìn)行測(cè)試,并且可以對(duì)信噪比和調(diào)制方式進(jìn)行修改,具有靈活性和通用性。測(cè)試的碼字為5G NR標(biāo)準(zhǔn)中的LDPC碼,高斯白噪聲通過(guò)Mersenne Twister算法結(jié)合Box Muller算法產(chǎn)生,所實(shí)現(xiàn)的Mersenne Twister算法可以通過(guò)隨機(jī)數(shù)檢驗(yàn)。經(jīng)過(guò)XC7Z100測(cè)試平臺(tái)實(shí)現(xiàn)數(shù)據(jù)處理全部流程后,資源占用率在50%以下,得到的誤碼率結(jié)果與Matlab浮點(diǎn)理論仿真結(jié)果僅有0.2 dB的差距。此實(shí)例驗(yàn)證了該測(cè)試平臺(tái)的正確性和可靠性。

猜你喜歡
均勻分布誤碼率高斯
小高斯的大發(fā)現(xiàn)
面向通信系統(tǒng)的誤碼率計(jì)算方法
接觸壓力非均勻分布下彎曲孔道摩阻損失分析
天才數(shù)學(xué)家——高斯
電磁感應(yīng)綜合應(yīng)用檢測(cè)題
有限域上高斯正規(guī)基的一個(gè)注記
泰克推出BERTScope誤碼率測(cè)試儀
關(guān)于OTN糾錯(cuò)前誤碼率隨機(jī)波動(dòng)問(wèn)題的分析
星載干涉合成孔徑雷達(dá)系統(tǒng)的誤碼率指標(biāo)分析
橢球上三維均勻分布的參數(shù)估計(jì)
滁州市| 腾冲县| 务川| 西乌珠穆沁旗| 阿坝县| 栾川县| 游戏| 平阴县| 怀仁县| 乐安县| 若尔盖县| 军事| 房产| 浦东新区| 南城县| 海伦市| 邢台县| 拜城县| 峨眉山市| 固安县| 东乌珠穆沁旗| 交城县| 柯坪县| 沙坪坝区| 秭归县| 清苑县| 大方县| 海宁市| 资中县| 泗洪县| 同仁县| 枝江市| 永济市| 神农架林区| 三江| 慈溪市| 南宁市| 瑞丽市| 尼玛县| 永福县| 伊金霍洛旗|