0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

5G通信算法:LDPC譯碼算法詳解

FPGA技術(shù)江湖 ? 來源:FPGA算法工程師 ? 作者:FPGA算法工程師 ? 2023-04-27 09:09 ? 次閱讀

LDPC碼在IEEE802.16e、IEEE802.11n、IEEE802.11ac、IEEE802.11ad以及5G等高吞吐量系統(tǒng)中得到了廣泛的應(yīng)用。

信道編解碼作為整個(gè)通信系統(tǒng)中最難實(shí)現(xiàn)的一部分,眾多高校、研究院所、企業(yè),投入了大量的人力資源進(jìn)行研究與實(shí)現(xiàn)。

在信道編解碼技術(shù)中,譯碼主要分為硬判決譯碼和軟判決譯碼。

LDPC硬判決譯碼算法主要分為:消息傳遞(Message-Passing,MP)算法、比特翻轉(zhuǎn)(Bit Flipping, BF)算法和Gallager A、B算法。比特翻轉(zhuǎn)算法中,先求取HCT,如果為0則停止譯碼,否則翻轉(zhuǎn)參與校驗(yàn)失敗校驗(yàn)方程最多的變量節(jié)點(diǎn)對(duì)應(yīng)的比特,再計(jì)算HCT,如此迭代直到HCT=0或達(dá)到設(shè)定迭代次數(shù)。Gallager A、B算法算法過程參考其博士論文。硬判決譯碼性能較差,使用軟判決可顯著提高譯碼性能。

LDPC軟判決譯碼基于置信度傳播(BP)算法(或叫做和積SP算法),通過在變量節(jié)點(diǎn)VN和校驗(yàn)節(jié)點(diǎn)CN之間傳播和更新置信度信息來達(dá)到譯碼收斂的效果。通過BP算法,又衍生出最小和算法,以及歸一化最小和算法,偏置最小和算法。

一切算法研究,需要從腦海理論到落地實(shí)踐,通過仿真驗(yàn)證,再到工程應(yīng)用,才能將知識(shí)轉(zhuǎn)變?yōu)樨?cái)富。

01

MP譯碼算法

消息傳遞(MP)算法是迭代解碼算法,在VN和CN之間來回傳遞消息,直到進(jìn)程停止。消息標(biāo)記的Mi表示已知bit值為0或1,e表示已刪除位。

在LDPC譯碼中,用Bj符號(hào)表示H的奇偶校驗(yàn)方程中的bit集合(每一行中1的位置集合),用Ai符號(hào)表示碼的第i位的奇偶校驗(yàn)方程(每一列中1的位置集合)。

考慮下面的奇偶校驗(yàn)矩陣:

06745e8a-e48c-11ed-ab56-dac502259ad0.png

對(duì)于上面的奇偶校驗(yàn)矩陣,我們得到:

067c90b4-e48c-11ed-ab56-dac502259ad0.png

基于(Binary Erasure Channel,BEC)的LDPC譯碼處理過程如下:

06848148-e48c-11ed-ab56-dac502259ad0.png

02

BF譯碼算法

收到符號(hào)硬解碼成1和0組成一個(gè)二進(jìn)制向量y。在每個(gè)迭代中,計(jì)算所有檢查和,以及涉及每一個(gè)n bit向量y不滿足奇偶檢驗(yàn)的數(shù)量。接下來,如果y的比特包含最大數(shù)量的未滿足奇偶校驗(yàn),則將其翻轉(zhuǎn)。該過程將重復(fù)進(jìn)行,直到所有校驗(yàn)和都滿足或達(dá)到預(yù)定的迭代次數(shù)。

比特翻轉(zhuǎn)譯碼算法的步驟如下:

06952854-e48c-11ed-ab56-dac502259ad0.png

03

BP(SP)算法

和積算法類似于前一節(jié)中描述的比特翻轉(zhuǎn)算法,但表示每個(gè)判決(無論位值是1還是0)的消息現(xiàn)在都是概率。比特翻轉(zhuǎn)譯碼接受接收比特的初始硬判定作為輸入,和積算法是接受接收位的概率作為輸入的軟判定消息傳遞算法。在LDPC譯碼器操作之前,輸入信道或接收比特的概率是已知的,因此它們也被稱為接收比特的先驗(yàn)概率。在和積解碼器中,節(jié)點(diǎn)之間傳遞的外部信息也是概率。校驗(yàn)節(jié)點(diǎn)j與比特節(jié)點(diǎn)i之間的外部信息用Eji表示; Eji給出了bit ci為1時(shí)使奇偶校驗(yàn)方程j滿足的概率。如果第i位不包含在j中,則無法定義Eji,因?yàn)樵跈z查節(jié)點(diǎn)j和第i bit之間沒有外部信息。

奇偶校驗(yàn)方程中奇數(shù)個(gè)bit 是1的概率是:

06a54072-e48c-11ed-ab56-dac502259ad0.png

也就是bit ci為1時(shí)奇偶校驗(yàn)方程滿足的概率。bit ci為0時(shí)滿足奇偶校驗(yàn)方程的概率為

06adeace-e48c-11ed-ab56-dac502259ad0.png

二元變量的度量用以下對(duì)數(shù)似然比(LLR)表示:

06b27382-e48c-11ed-ab56-dac502259ad0.png

其中,log就是loge,L(x)符號(hào)提供了x的硬判決,并且模|L(x)|決定了判決的可靠性。將LLR轉(zhuǎn)化為概率:

06b66fa0-e48c-11ed-ab56-dac502259ad0.png

當(dāng)需要將概率相乘時(shí),只需要加LLR,從而降低和積譯碼器的復(fù)雜性。這使得概率的對(duì)數(shù)表示有了好處。從校驗(yàn)節(jié)點(diǎn)j06bc9f10-e48c-11ed-ab56-dac502259ad0.jpg到比特節(jié)點(diǎn)i06bc9f10-e48c-11ed-ab56-dac502259ad0.jpg的外部信息表示為L(zhǎng)LR:

06c79b68-e48c-11ed-ab56-dac502259ad0.png

從而有:

06cc6dc8-e48c-11ed-ab56-dac502259ad0.png

其中:

06dff082-e48c-11ed-ab56-dac502259ad0.png

運(yùn)用關(guān)系式

06e8a9f2-e48c-11ed-ab56-dac502259ad0.png

于是得到:

06ede67e-e48c-11ed-ab56-dac502259ad0.png

或者,運(yùn)用關(guān)系式

06f5ba7a-e48c-11ed-ab56-dac502259ad0.png

則有

06fe8c04-e48c-11ed-ab56-dac502259ad0.png

由于存在tanh和tanh-1函數(shù)的乘積,上述方程在數(shù)值上具有挑戰(zhàn)性。

考慮Mj,i'其符號(hào)和大小(或bit值和bit可靠性):

0707267a-e48c-11ed-ab56-dac502259ad0.png

于是有

07104926-e48c-11ed-ab56-dac502259ad0.png

然后我們可以得到:

071657f8-e48c-11ed-ab56-dac502259ad0.png

上式產(chǎn)生了一種新的形式:

071d2b00-e48c-11ed-ab56-dac502259ad0.png

0721b8aa-e48c-11ed-ab56-dac502259ad0.png

每個(gè)比特節(jié)點(diǎn)都可以連接輸入LLR,Li,以及每個(gè)連接的檢查節(jié)點(diǎn)的LLR。第i位的總LLR就是這些LLR的和:

0729a07e-e48c-11ed-ab56-dac502259ad0.png

07357a02-e48c-11ed-ab56-dac502259ad0.png

對(duì)于所有的j,i,有Hj,i=1。因此,yi代表實(shí)際接收到的信道值,即不是有效值。對(duì)于不同的信道,Li可以計(jì)算:

BEC:

073ece2c-e48c-11ed-ab56-dac502259ad0.png

BSE:

07456156-e48c-11ed-ab56-dac502259ad0.png

BI-AWGNC:

0752c3f0-e48c-11ed-ab56-dac502259ad0.png

瑞利信道:

07591200-e48c-11ed-ab56-dac502259ad0.png

對(duì)數(shù)域和積譯碼算法總結(jié)如下:

075f5f5c-e48c-11ed-ab56-dac502259ad0.png

07698932-e48c-11ed-ab56-dac502259ad0.png

04

Min-Sum算法

Min-Sum算法是對(duì)數(shù)域和積譯碼算法的簡(jiǎn)化,主要考慮到和積譯碼算法在硬件實(shí)現(xiàn)上的復(fù)雜性,進(jìn)而采用了一種近似算法。

077aa758-e48c-11ed-ab56-dac502259ad0.png

歸一化最小和譯碼算法的實(shí)現(xiàn)采用分層置信傳播算法,是對(duì)上式(4-26)的修正,乘一個(gè)取值范圍0~1的縮放因子。

偏置最小和譯碼算法,則是在歸一化最小和譯碼算法的基礎(chǔ)上,減去一個(gè)偏置因子。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 解碼器
    +關(guān)注

    關(guān)注

    9

    文章

    1107

    瀏覽量

    40440
  • LDPC
    +關(guān)注

    關(guān)注

    1

    文章

    66

    瀏覽量

    31120
  • 5G
    5G
    +關(guān)注

    關(guān)注

    1351

    文章

    48177

    瀏覽量

    560803
  • 5G通信
    +關(guān)注

    關(guān)注

    4

    文章

    234

    瀏覽量

    20211
  • LDPC譯碼
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    1096

原文標(biāo)題:5G通信算法:LDPC譯碼算法詳解

文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA-5G通信算法的基本套路

    ? 一個(gè)完整的通信系統(tǒng),是十分龐大的,沒有幾百上千人,在短時(shí)間內(nèi)是做不好的。本文僅僅針對(duì)5G NR中的基帶算法部分,做一個(gè)簡(jiǎn)單梳理。 對(duì)于5G通信
    發(fā)表于 08-15 17:34

    什么是Turbo 碼的迭代譯碼算法?當(dāng)前Turbo譯碼算法有哪些?有哪些形式的Turbo 碼?

    什么是Turbo碼的迭代譯碼算法?Turbo 碼獲得優(yōu)異性能的第二個(gè)重要因素是應(yīng)用了基于最大后驗(yàn)概率準(zhǔn)則 (MAP) 的迭代譯碼算法。當(dāng)前Turbo
    發(fā)表于 05-30 16:24

    基于FPGA的Viterbi譯碼算法該怎么優(yōu)化?

    由于卷積碼優(yōu)良的性能,被廣泛應(yīng)用于深空通信、衛(wèi)星通信和2G、3G移動(dòng)通信中。卷積碼有三種譯碼方法
    發(fā)表于 11-01 08:05

    IEEE 802.16e中LDPC譯碼器的實(shí)現(xiàn)

    面向IEEE 802.16e 中 LDPC 碼,分析了各種譯碼算法譯碼性能,歸一化最?。∟MS)算法具備較高
    發(fā)表于 08-05 08:46 ?24次下載

    基于LDPC譯碼軟信息的迭代載波恢復(fù)

    基于LDPC譯碼軟信息的迭代載波恢復(fù):針對(duì)較低信噪比(≤2 dB)下載波恢復(fù)難題,該文提出了基于LDPC 軟信息的迭代載波恢復(fù)算法。該算法
    發(fā)表于 10-29 13:03 ?18次下載

    準(zhǔn)循環(huán)LDPC碼的兩種典型快速譯碼算法研究

    該文從譯碼速率、硬件實(shí)現(xiàn)的復(fù)雜度和誤碼率3 個(gè)方面對(duì)比研究了兩種典型的高速譯碼算法:Turbo 型和積算法與并行加權(quán)比特翻轉(zhuǎn)算法。以準(zhǔn)循環(huán)
    發(fā)表于 11-25 15:26 ?9次下載

    LDPC譯碼

    LDPC譯碼LDPC碼是一種線性分組奇偶校驗(yàn)碼,它采用基于因子圖的置信傳播(Belief Propagation,BP)迭代譯碼算法進(jìn)行
    發(fā)表于 03-01 17:36 ?1992次閱讀
    <b class='flag-5'>LDPC</b>編<b class='flag-5'>譯碼</b>

    基于最小和高效LDPC譯碼算法

    針對(duì)低密度奇偶校驗(yàn)(LDPC)譯碼算法性能低的問題,提出一種基于最小和的高效譯碼算法。該算法從概
    發(fā)表于 05-18 18:54 ?0次下載
    基于最小和高效<b class='flag-5'>LDPC</b><b class='flag-5'>譯碼</b><b class='flag-5'>算法</b>

    近地應(yīng)用CCSDS標(biāo)準(zhǔn)LDPC碼動(dòng)態(tài)補(bǔ)償譯碼算法研究

    提出了一種新的動(dòng)態(tài)補(bǔ)償最小和譯碼算法,并將本算法和修正最小和譯碼算法進(jìn)行了性能比較。仿真結(jié)果顯示,動(dòng)態(tài)補(bǔ)償最小和
    發(fā)表于 10-08 15:05 ?27次下載
    近地應(yīng)用CCSDS標(biāo)準(zhǔn)<b class='flag-5'>LDPC</b>碼動(dòng)態(tài)補(bǔ)償<b class='flag-5'>譯碼</b><b class='flag-5'>算法</b>研究

    對(duì)LDPC碼的LLR BP算法研究

    LDPC譯碼時(shí),使用LLR BP算法其校驗(yàn)節(jié)點(diǎn)的計(jì)算復(fù)雜度十分高,而且當(dāng)LDPC碼中有許多的短環(huán)時(shí),譯碼性能也會(huì)降低?;谝陨系倪@些問題提
    發(fā)表于 07-06 16:44 ?42次下載
    對(duì)<b class='flag-5'>LDPC</b>碼的LLR BP<b class='flag-5'>算法</b>研究

    一種基于改進(jìn)線性規(guī)劃的LDPC碼混合譯碼算法

    一種基于改進(jìn)線性規(guī)劃的LDPC碼混合譯碼算法_陳紫強(qiáng)
    發(fā)表于 01-07 16:52 ?0次下載

    非規(guī)則LDPC譯碼改進(jìn)算法概述及DSP的實(shí)現(xiàn)分析

    為了降低非規(guī)則低密度奇偶校驗(yàn)(low-densityparity-check,LDPC)碼譯碼算法的復(fù)雜度,提出一種適合數(shù)字信號(hào)處理囂(digital signal processor,DSP)實(shí)現(xiàn)
    發(fā)表于 10-20 10:41 ?0次下載
    非規(guī)則<b class='flag-5'>LDPC</b>碼<b class='flag-5'>譯碼</b>改進(jìn)<b class='flag-5'>算法</b>概述及DSP的實(shí)現(xiàn)分析

    求解LDPC碼回路的算法

    1996年LDPC(低密度奇偶校驗(yàn),Low-Density Parity-Check)碼是性能限與香農(nóng)限僅差0.0045 dB的一種差錯(cuò)控制碼,譯碼采用SPA(和積算法),但其性能受Tanner圖中
    發(fā)表于 12-26 11:09 ?0次下載

    基于多元LDPC碼迭代編碼算法的混合校驗(yàn)矩陣構(gòu)造算法

    本文對(duì)2004年由王鵬提出的LDPC碼迭代編碼算法[11]進(jìn)行改進(jìn),轉(zhuǎn)變?yōu)檫m用于多元LDPC碼的編碼算法,稱為多元迭代編碼算法;2005年,
    的頭像 發(fā)表于 09-23 08:59 ?4643次閱讀
    基于多元<b class='flag-5'>LDPC</b>碼迭代編碼<b class='flag-5'>算法</b>的混合校驗(yàn)矩陣構(gòu)造<b class='flag-5'>算法</b>

    如何使用軟件無線電實(shí)現(xiàn)NR LDPC譯碼的設(shè)計(jì)與實(shí)現(xiàn)

    信道編碼作為移動(dòng)通信系統(tǒng)可靠通信的基石, 在第五代移動(dòng)通信系統(tǒng)(TheFifth Generation Wireless System,5G)中顯得尤為重要。由于性能接近Shannon
    發(fā)表于 07-22 17:51 ?20次下載
    如何使用軟件無線電實(shí)現(xiàn)NR <b class='flag-5'>LDPC</b>編<b class='flag-5'>譯碼</b>的設(shè)計(jì)與實(shí)現(xiàn)