LDPC碼與其他糾錯(cuò)碼性能對(duì)比與FPGA設(shè)計(jì)思考
LDPC碼屬于前向糾錯(cuò)碼的一類(lèi),用于在噪聲傳輸信道中發(fā)送信息。這些碼可以用一個(gè)奇偶校驗(yàn)矩陣來(lái)描述,該矩陣主要包含0和少量的1。因此,與其他代碼結(jié)構(gòu)相比,譯碼復(fù)雜度較小。解碼器采用了一種非常高效的迭代譯碼算法——置信傳播算法。LDPC碼可分為兩組:規(guī)則LDPC碼,PC矩陣的列重和行重是常量且相等;不規(guī)則的LDPC碼,所在的行重和列重不是常數(shù)和相等,這意味著每行和列1的數(shù)量是不同的。
LDPC碼以不同的方式表示。與所有線(xiàn)性分組碼相似,可以用相應(yīng)的生成矩陣G或PC矩陣H表示矩陣。如果輸入信息比特?cái)?shù)是K,輸出比特?cái)?shù)是N,PC矩陣H表示為M×N矩陣,其中M=N-K。碼率K/N定義了PC矩陣的大小。LDPC碼可以用Tanner圖進(jìn)一步圖形化表示,Tanner圖是LDPC碼最常見(jiàn)的圖形表示之一。它提供了代碼的完整表示,并有助于描述解碼算法。Tanner圖是二分圖,即有兩種不相交的節(jié)點(diǎn)集。這兩種變量節(jié)點(diǎn)(VND)和校驗(yàn)節(jié)點(diǎn)(CND)。VND表示碼字bit,矩陣H的N列的每個(gè)值代表一個(gè)VND。CND代表碼約束條件。矩陣H的列M的每個(gè)元素,代表一個(gè)CND。如果hij=1,一個(gè)VND vi連接到一個(gè)CND cj。對(duì)于下例PC矩陣H,其Tanner圖如下圖所示。


H矩陣對(duì)應(yīng)的Tanner圖
準(zhǔn)循環(huán)(QC)LDPC碼屬于結(jié)構(gòu)化碼的一類(lèi),在不顯著降低代碼性能的情況下相對(duì)容易實(shí)現(xiàn)。QC-LDPC碼可以使用簡(jiǎn)單的基于其生成矩陣的線(xiàn)性復(fù)雜度的移位寄存器來(lái)實(shí)現(xiàn)。設(shè)計(jì)良好的QC-LDPC碼已被證明在BER、BLER性能和錯(cuò)誤平層方面優(yōu)于計(jì)算機(jī)生成的隨機(jī)LDPC碼。這些碼在解碼器硬件實(shí)現(xiàn)方面具有循環(huán)對(duì)稱(chēng)的優(yōu)點(diǎn),可以實(shí)現(xiàn)簡(jiǎn)單的規(guī)則互連和模塊化結(jié)構(gòu)。在包括3GPP NR在內(nèi)的大多數(shù)無(wú)線(xiàn)通信標(biāo)準(zhǔn)中,LDPC碼的定義都采用了基本圖u。然而,u需要使用提升因子Z轉(zhuǎn)換為PC矩陣H。提升意味著基本圖u的每一個(gè)(整數(shù))項(xiàng)都被一個(gè)置換的Z×Z單位矩陣所取代。我們從一個(gè)單位矩陣I開(kāi)始,并根據(jù)基圖項(xiàng)uij循環(huán)移動(dòng)該矩陣的元素以得到所需的矩陣H。例如,假設(shè)有一個(gè)2×2的基圖矩陣u和提升因子Z=3。從u到H的變換可以這樣進(jìn)行:

LDPC碼通常由它們的PC矩陣確定。本文給出了一個(gè)QC-LDPC碼的PC矩陣,它是一組相同大小的稀疏循環(huán)矩陣。循環(huán)矩陣是一個(gè)方陣,其中每一行是其上一行的循環(huán)移位,第一行是最后一行的循環(huán)移位。對(duì)于循環(huán)矩陣,每一列是左列向右的循環(huán)移位,第一列是最后一列的循環(huán)移位。循環(huán)矩陣的行重和列重是相同的。如果行/列權(quán)重等于1,那么循環(huán)矩陣也是一個(gè)置換矩陣。循環(huán)矩陣的第一行(或第一列)是其完整的特征,稱(chēng)為循環(huán)矩陣的生成器。對(duì)于一個(gè)在GF(2)域的m×m的循環(huán)矩陣A,如果它的秩為r=m,那么它所有的行都是線(xiàn)性無(wú)關(guān)的。然而,如果它的秩r<m,那么任意連續(xù)的r行(或列)A可以被認(rèn)為是線(xiàn)性無(wú)關(guān)的,而其他的m-r行(或列)是線(xiàn)性相關(guān)的。這是由于A的循環(huán)結(jié)構(gòu)。一個(gè)QC-LDPC碼是由一組相同大小的稀疏循環(huán)矩陣的零空間給出的。
一個(gè)LDPC碼通過(guò)PC矩陣H定義。對(duì)于每個(gè)碼字v,可以表示為HvT=0。另一方面,一個(gè)非碼字(損壞碼字),將產(chǎn)生一個(gè)非零向量。在數(shù)學(xué)上,一個(gè)LDPC碼是PC矩陣H的零空間。一個(gè)規(guī)則的LDPC塊碼(dv,dc)有VND度dv和CND度dc,度等于H的列(或行)重。PC矩陣表示一個(gè)線(xiàn)性方程組,其中每一行都可以由CND的線(xiàn)性組合表示。任何由H生成的行空間張成的向量集合都可以作為PC矩陣的行。一個(gè)節(jié)點(diǎn)的度是Tanner圖中連接到它的邊(線(xiàn))的數(shù)量。
LDPC碼的譯碼算法是獨(dú)立發(fā)現(xiàn)的,它們有不同的名稱(chēng)。最常見(jiàn)的是BP算法、消息傳遞算法(MPA)和和積算法。在BP算法中,概率消息在變量和檢查節(jié)點(diǎn)之間迭代交換,直到找到有效碼字或超過(guò)最大迭代次數(shù)。LDPC碼可以使用消息傳遞或二分Tanner圖上的BP進(jìn)行解碼,CND和VND相互通信,在每次解碼迭代中依次傳遞相關(guān)LLR的修正估計(jì)。Bit的可靠性度量被定義為:LLR(bi)=log(bi=0)-log(bi=1)。
其中,bi 代表接收碼字的第i比特。如果LLR>0,意味著更有可能bi=0,當(dāng)LLR<0,意味著更有可能bi=1。
舉個(gè)例子,假設(shè)發(fā)射的碼字(0,0,0,0,0,0,0,0,0,0,0),譯碼器接收到的碼字為(0,0,0,0,1,0,0,0,0,0,0)。11bit有效碼字c=(c0,c1..,c10),所有比特應(yīng)該等于0(mod 2)。接收向量不滿(mǎn)足此約束,表明接收碼字出現(xiàn)了錯(cuò)誤。進(jìn)一步,假設(shè)解碼器具有比特級(jí)可靠性度量,其形式為正確概率(接收值的置信度)為(0.9,0.8,0.86,0.7,0.55,1,1,0.8,0.98,0.68,0.99)。這些軟信息中,比特c4可靠性最低,應(yīng)翻轉(zhuǎn)以帶來(lái)符合代碼約束的接收碼字。使用LLR作為消息,與消息傳遞算法相比,硬件實(shí)現(xiàn)變得容易得多。通過(guò)簡(jiǎn)化消息傳遞算法中最復(fù)雜的CND更新過(guò)程,進(jìn)一步降低了實(shí)現(xiàn)的復(fù)雜性。這種算法被稱(chēng)為最小和算法(min-sum algorithm)。
LDPC解碼器可以使用串行、并行或部分并行架構(gòu)來(lái)實(shí)現(xiàn)。LDPC解碼器的性能取決于解碼器的算法、架構(gòu)、LLR的定點(diǎn)量化和最大譯碼迭代次數(shù)等因素。譯碼過(guò)程中使用的最大譯碼迭代次數(shù)決定了LDPC譯碼器的數(shù)據(jù)速率和延遲。在執(zhí)行最大譯碼迭代次數(shù)之后,然后估計(jì)碼字。為了節(jié)省解碼器功耗和減少延遲,需要在每次迭代后驗(yàn)證碼字,并在估計(jì)的碼字正確時(shí)停止解碼過(guò)程的解碼器設(shè)計(jì)。如果在下次迭代開(kāi)始時(shí),估計(jì)碼字奇偶校驗(yàn)得到滿(mǎn)足,則譯碼過(guò)程停止。
LDPC碼與常見(jiàn)的幾種糾錯(cuò)碼相比,其性能有較大優(yōu)勢(shì),因而可滿(mǎn)足5G高數(shù)據(jù)率、低延時(shí)和高可靠等應(yīng)用需求。

LDPC碼與其他糾錯(cuò)碼性能對(duì)比
上面介紹了LDPC碼的基本原理,重點(diǎn)把握幾個(gè)概念:
什么是變量節(jié)點(diǎn)?
什么是校驗(yàn)節(jié)點(diǎn)?
校驗(yàn)矩陣H與Tanner圖之間的相互轉(zhuǎn)換過(guò)程。
QC-LDPC碼的基本特點(diǎn)是什么?
LLR的具體求解方法。
LDPC譯碼算法有哪些?譯碼算法各自的特點(diǎn),以及硬件實(shí)現(xiàn)復(fù)雜度評(píng)估。
影響LDPC譯碼性能的幾個(gè)關(guān)鍵因素是什么?
如何有效提升LDPC譯碼性能?(BLER、吞吐率)
對(duì)于LDPC碼在DVB-S2、WLAN和5G NR中的具體應(yīng)用,其碼率和碼塊長(zhǎng)度有所不同。特別是在5G NR中,將支持低至1/5、高至8/9的多種碼率,在Sub-6GHz頻段100M帶寬下,下行需滿(mǎn)足1~3Gbps、上行幾百M(fèi)bps~Gbps的數(shù)據(jù)速率需求。而在毫米波頻段,需要更高的吞吐率需求。
關(guān)于LDPC譯碼算法,可閱讀前期文章《5G通信算法:LDPC譯碼算法詳解》。
從通信系統(tǒng)角度看,除高速接口外,基帶的信道編解碼器和射頻前端的AD/DA的設(shè)計(jì),是最難的部分,然而這在很大程度上決定一款產(chǎn)品的競(jìng)爭(zhēng)力。當(dāng)然,各種濾波器、功放、MIMO估計(jì)與均衡器,也是影響性能的重要部件。
那么,我們?cè)撊绾尾捎肍PGA自行設(shè)計(jì)一款LDPC編解碼器呢?在設(shè)計(jì)之前,我們需要基于某一標(biāo)準(zhǔn)或自定義LDPC碼,完成相應(yīng)的算法分析和資源評(píng)估,同時(shí)對(duì)其中的關(guān)鍵模塊要有相應(yīng)的實(shí)現(xiàn)方案。在具體設(shè)計(jì)實(shí)現(xiàn)時(shí),RTL模塊設(shè)計(jì)高內(nèi)聚、低耦合,同時(shí)參數(shù)和控制邏輯應(yīng)友好靈活,并以較少的資源實(shí)現(xiàn)整個(gè)功能,并盡可能提升時(shí)鐘運(yùn)行頻率。
發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
圖片新聞
-

OpenAI發(fā)布的AI瀏覽器,市場(chǎng)為何反應(yīng)強(qiáng)烈?
-

馬云重返一線(xiàn)督戰(zhàn),阿里重啟創(chuàng)始人模式
-

機(jī)器人奧運(yùn)會(huì)戰(zhàn)報(bào):宇樹(shù)機(jī)器人摘下首金,天工Ultra搶走首位“百米飛人”
-

存儲(chǔ)圈掐架!江波龍起訴佰維,索賠121萬(wàn)
-

長(zhǎng)安汽車(chē)母公司突然更名:從“中國(guó)長(zhǎng)安”到“辰致科技”
-

豆包前負(fù)責(zé)人喬木出軌BP后續(xù):均被辭退
-

字節(jié)AI Lab負(fù)責(zé)人李航卸任后返聘,Seed進(jìn)入調(diào)整期
-

員工持股爆雷?廣汽埃安緊急回應(yīng)
最新活動(dòng)更多
-
11月7日立即參評(píng)>> 【評(píng)選】維科杯·OFweek 2025(第十屆)物聯(lián)網(wǎng)行業(yè)年度評(píng)選
-
11月20日立即報(bào)名>> 【免費(fèi)下載】RISC-V芯片發(fā)展現(xiàn)狀與測(cè)試挑戰(zhàn)-白皮書(shū)
-
即日-11.25立即下載>>> 費(fèi)斯托白皮書(shū)《柔性:汽車(chē)生產(chǎn)未來(lái)的關(guān)鍵》
-
11月27日立即報(bào)名>> 【工程師系列】汽車(chē)電子技術(shù)在線(xiàn)大會(huì)
-
11月28日立即下載>> 【白皮書(shū)】精準(zhǔn)洞察 無(wú)線(xiàn)掌控——283FC智能自檢萬(wàn)用表
-
12月18日立即報(bào)名>> 【線(xiàn)下會(huì)議】OFweek 2025(第十屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
推薦專(zhuān)題
- 1 特斯拉工人被故障機(jī)器人打成重傷,索賠3.6億
- 2 AI 時(shí)代,阿里云想當(dāng)“安卓” ,那誰(shuí)是“蘋(píng)果”?
- 3 拐點(diǎn)已至!匯川領(lǐng)跑工控、埃斯頓份額第一、新時(shí)達(dá)海爾賦能扭虧為盈
- 4 L3自動(dòng)駕駛延期,逼出車(chē)企技術(shù)自我淘汰
- 5 隱退4年后,張一鳴久違現(xiàn)身!互聯(lián)網(wǎng)大佬正集體殺回
- 6 機(jī)器人9月大事件|3家國(guó)產(chǎn)機(jī)器人沖刺IPO,行業(yè)交付與融資再創(chuàng)新高!
- 7 谷歌“香蕉”爆火啟示:國(guó)產(chǎn)垂類(lèi)AI的危機(jī)還是轉(zhuǎn)機(jī)?
- 8 7倍機(jī)器人大牛股:高管股東套現(xiàn)VS機(jī)構(gòu)兇猛抱團(tuán),該信誰(shuí)?
- 9 八部門(mén)聯(lián)手放行L3自動(dòng)駕駛!巨頭開(kāi)始拼搶萬(wàn)億市場(chǎng)?
- 10 OpenAI發(fā)布的AI瀏覽器,市場(chǎng)為何反應(yīng)強(qiáng)烈?
- 高級(jí)軟件工程師 廣東省/深圳市
- 自動(dòng)化高級(jí)工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷(xiāo)售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級(jí)銷(xiāo)售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專(zhuān)家 廣東省/江門(mén)市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市


分享





