LDPC 碼解碼算法及性能分析應用設計

2020-12-05 電子產品世界

0 引言

本文引用地址:http://www.eepw.com.cn/article/201809/388482.htm

信道編解碼技術可以檢測並且糾正信號在傳輸過程中引入的錯誤,能夠保證數據進行可靠的傳輸[1].

LDPC碼的校驗矩陣具有稀疏的特性,因此存在高效的解碼算法,其糾錯能力非常強。1981年,Tanner提出了基於圖模型描述碼字的概念,將LDPC碼的校驗矩陣對應到Tanner圖的雙向二部圖上。採用Tanner圖構造的LDPC碼,通過並行解碼可大大降低解碼複雜度。Mack-ay 和Neal利用隨機構造的Tanner 圖研究了LDPC 碼的性能,發現採用和積算法(SPA)的LDPC 碼具有優異的解碼性能,在長碼時甚至超過了Turbo 碼[2].本文採用Mackay 基於二分圖提出的改進方案構造LDPC 碼的校驗矩陣。基於置信傳播(BP)算法,給出了一種簡化的BP算法--對數域迭代APP LLR 算法,複雜度大大降低。目前,LDPC碼是最有希望在廣泛的信道範圍取得香農容量的誤差糾正技術[3],在保證LDPC 碼糾錯性能的前提下,降低編解碼器實現的複雜度是研究的重點,引發了信道編碼界的研究熱潮。

1 LDPC 碼編碼

LDPC碼是一種性能非常接近香農極限的「好」碼,它是惟一用校驗矩陣來表示的線性分組碼。LDPC碼的編碼主要分兩步進行,首先構造奇偶校驗矩陣,然後是基於奇偶校驗矩陣的編碼算法。

1.1 校驗矩陣的構造

根據式子n*j = m*k 可知,規則的LDPC碼(n,j,k),當參數n, j, k 確定後,可以得到校驗方程的數目m,則校驗矩陣H 的大小就可以定為m × n.構造LDPC 碼校驗矩陣的一般步驟為:先生成一個m 行n 列的全0矩陣,然後隨機地將每列中的j 個0換成1,每行中的k 個0換成1.但在隨機置l的過程中,必須避免出現長度為4的環[4].

如果最小環長為4,在迭代中非常容易造成錯誤信息的擴散傳播,從而導致解碼性能的下降[5].

Mackay 為了消除校驗矩陣中長度為4 的環,基於Tanner圖提出了改進的構造方案。採取的準則是:在構造時必須保證任意兩列間的交疊重量不超過1.本文採用的是Mackay的1A構造方法,按照此方法構造的一個LDPC碼(3,6)碼如圖1所示。

Mackay的1A構造方法是最基本的一種構造方法,它要求保證固定列重為γ ,而行重儘可能均勻的保持為ρ .

利用Mackay構造方法得到的LDPC碼距離特性很好,且沒有短環。

1.2 基於奇偶校驗矩陣的編碼算法

LDPC碼的直接編碼方法就是利用高斯消去法,產生一個下三角矩陣,然後進一步初等變換得到右邊單位陣形式H = [P|I] ,由G = [I|P] 得到生成矩陣,再利用信息碼元向量u 和生成矩陣G 相乘可得到完整碼字C,即C = M*G 直接編碼[5].

2 LDPC 碼解碼[4,6-7]

BP 算法是在Gallager提出的概率解碼算法基礎上發展而來的。BP算法每次迭代包括2步:變量節點的處理和校驗節點的處理。概率域就是在節點間傳遞的是概率信息,採用很多乘法運算,運算量大;而對數域的和積算法實現是將概率值通過對數似然比變化為軟信息值(LLR),再進行傳遞,這樣就將大量乘法運算變為加法運算,大大簡化了解碼複雜度,利於硬體實現。下面重點介紹對數域迭代APP LLR解碼算法。

2.1 迭代APP LLR解碼算法的變量定義

對於(N,K) LDPC碼,定義變量U 取值為0和1時的對數似然比(LLR)為:

設發端發送的碼字為u = [u1,u2 ,…,uN ] ,接收碼字為y = [y1,y2 ,…,yN ] ,由此可以得出在迭代中傳遞的校驗節點和信息節點的軟信息為:

2.2 迭代APP LLR解碼算法

迭代APP LLR解碼算法的迭代過程如下:

(1)初始化:設每個變量節點n 的軟信息為:

對於矩陣中H(m,n) = 1,相應的變量節點的軟信息初始化為信道輸出的軟信息,即λmn (un ) = L(un ),Λmn (un ) = 0.

(2)校驗節點更新:根據每個變量節點n,向與該變量節點相連的所有校驗節點傳遞更新的軟信息,計算校驗節點信息:

(3)判決:當λn (un ) 0,則u-n = 0 ,否則u-n = 1,此時判決出的碼為:u- ={u-1,u-2 ,…,u-N}.最後根據校驗矩陣來判斷所譯出的碼字是否正確。如果u-H T = 0,那麼解碼正確,此時,停止迭代;否則繼續迭代進行解碼,直到迭代次數達到所設定的最大次數。如果此時仍未正確解碼,則解碼失敗。

由以上所述可見,在變量節點更新時只有加法運算,但是還可以再進一步降低算法的實現複雜度。採用迭代APP LLR 算法,將LLR BP 算法中的λn (un ) 代替λmn′(u ) n′ 參與校驗信息的迭代。即λn (un ) 不僅用於硬判決,還用於校驗信息的更新。這樣所傳遞的變量消息之間便引進了相關性,傳遞的變量消息就不再是外部消息,僅僅需要計算和存儲一個變量消息的數值,可以大大地降低算法的複雜度。

3 LDPC 碼在高斯信道下不同解碼算法的仿真結果和分析

基於Matlab按照上述的編解碼方法,在高斯信道下分別對LDPC 碼概率域的SPA 和對數域的迭代APPLLR 解碼算法進行了誤碼性能仿真。然後由所得到的性能仿真圖形進行分析比較。

3.1 概率域的SPA的仿真結果和分析高斯信道下,用BPSK 調製,採用概率域的迭代解碼算法,迭代次數為20,該程序的優點是解碼效率高,其關鍵地方利用了LOG 函數,提高了解碼效率。相同碼率均為1 2,碼長分別為36,256,512,用概率域的迭代解碼算法時的編解碼系統的誤碼率隨信噪比變化的曲線如圖2所示。

由圖2 可見,解碼前的誤碼率最高,採用概率域的迭代解碼算法後,誤碼率大幅度降低,解碼性能較好。碼長為512的LDPC碼糾錯性能最好,碼長為36的LDPC碼糾錯性能最差。由此可得:在相同碼率下,隨著碼長的增加,LDPC碼的糾錯性能逐漸改善。

3.2 迭代APP LLR解碼算法的仿真結果和分析

高斯信道下,用BPSK 調製,採用對數域的迭代解碼算法,迭代次數為10,可以設置誤碼碼字的最大數量來計算每個信噪比點,程序簡明了,容易理解,而且解碼效率非常高。相同碼率為1/2,碼長分別為36、256、512,用對數域的迭代APP LLR解碼算法時的編解碼系統的誤碼率隨信噪比變化的曲線如圖3所示。

相關焦點

  • 非規則LDPC碼解碼改進算法及其DSP實現
    低密度奇偶校驗(low-density paruty-check,LDPC)碼是一種非常有效的信道編碼方案,已經成為新一代數字衛星廣播(DVB-S2)等標準的信道編碼方案,具有重要的應用價值。LDPC碼解碼器設計的實現成為近年來研究的熱點。
  • 使用準循環LDPC碼的OFDM系統性能分析
    摘要:參照IEEE 802.16e標準中的準循環LDPC碼校驗矩陣結構,設計了一種新的校驗矩陣,並將其應用於OFDM系統中。同時,將該設計方案與RS和卷積編碼級聯方案進行比較,仿真顯示,該方案與級聯編碼方案有幾乎相同的編碼增益。OFDM調製之前採用BPSK映射比採用QPSK映射有2 dB的增益。出於對比的目的,在BPSK調製模式下,對該設計方案與級聯編碼方案也做了仿真比較,結果顯示,前者比後者有大約3 dB的編碼增益。
  • LDPC碼的設計以及在無線傳感器網絡中的應用
    討論了在無線傳感器網絡中LDPC碼的設計和實際應用,並提供了解決方案,以降低解碼複雜度,節省內存佔用量,提高了系統的誤碼率性能。結果表明,短碼長的LDPC碼可以在無線傳感器網絡節點上應用並能獲得較為理想的性能,具有很好的應用前景。
  • 詳談Turbo碼特點及應用分析
    Turbo碼由於很好地應用了香農信道編碼定理中的隨機性編解碼條件而獲得了接近香農理論極限的解碼性能。它不僅在信噪比較低的高噪聲環境下性能優越,而且具有很強的抗衰落、抗幹擾能力。  Turbo碼的設計和分析  主要包括交織器的設計、碼的級聯方式、解碼算法、Turbo碼的性能分析等。在性能分析中,主要對碼重分布及距離譜進行分析,但由於沒有相應的理論支持,這種分析只能是近似的,且僅局限於短碼長、小碼重的情況。
  • 基於FPGA的極化碼的SCL解碼算法研究
    極化碼被嚴格證明有以下兩個特性:一是基於信道極化現象存在;二是在碼長為無限長時,其信道容量可達香農極限。相比於經典的Turbo碼與LDPC碼,極化碼具有更低的誤碼率和複雜度以及更高的吞吐率[2-3]。 極化碼的解碼算法研究近年來發展迅速,其中成為研究熱點的連續刪除(Successive Cancellation,SC)解碼算法的基本思想是通過對信息位的比特似然概率值的判斷來進行解碼。
  • WIMAX LDPC碼解碼器的FPGA實現
    採用一種工作於增量模式的基於填充算法的桶形移位寄存器結構,實現了對該標準中576、768、1152、2304 4種碼長LDPC 碼解碼的支持。結果表明所設計的解碼器完全能滿足WIMAX標準對數據吞吐率的要求。
  • 基於CMMB系統的LDPC解碼器的設計與實現
    關鍵詞:CMMB;中國移動多媒體廣播;LDPC碼;部分並行結構;解碼器0 引言 低密度奇偶校驗(Low Density Parity Check,LDPC)碼是由Gallager博士在1962年首次提出來的,由於LDPC碼的誤碼性能能夠逼近香農限,因而在無線通信、衛星通信等領域都得到了較多應用。
  • 多碼率QC-LDPC解碼器設計與實現
    摘 要:低密度奇偶校驗碼(LDPC)是目前最有效的差錯控制手段之一,而其中準循環LDPC 碼(QC-LDPC)應用最為廣泛。本文引用地址:http://www.eepw.com.cn/article/162260.htm  0 引言  LDPC 碼最早於1962 年由Gallager提出,可以看成是一個具有稀疏校驗矩陣的線性分組碼。自從Mackay 和Neal發現LDPC 碼的性能非常接近香農限以後,LDPC 碼越來越受到人們的重視。
  • LDPC(低密度奇偶校驗碼)
    (Low Density Parity Check Code,LDPC),它是由Robert G.Gallager博士於1963年提出的一類具有稀疏校驗矩陣的線性分組碼,不僅有逼近Shannon限的良好性能,而且解碼複雜度較低、結構靈活,是近年信道編碼領域的研究熱點,目前已廣泛應用於深空通信、光纖通信、衛星數字視頻和音頻廣播等領域。
  • QR碼印刷質量檢測系統
    1 系統總體設計  1.1 軟體部分組成  QR碼印刷質量檢測系統包括六部分:用戶登錄退出模塊、相機初始化模塊、QR碼數據採集模塊、QR碼圖像預處理模塊、QR碼識別解碼模塊、QR碼匹配比對模塊。其中,用戶登錄退出模塊是為了保證系統合法性,只有通過身份驗證的合法用戶才可使用該系統。
  • 基於IEEE802.1 6e標準的LDPC編碼器設計與實現
    所採用的算法使用了線性複雜度編碼,降低了邏輯資源佔用量,並提高了編碼速度。關鍵詞 IEEE 802.16e標準;低密度奇偶校驗碼;編碼器 1962年Gallager在對糾錯編碼的研究中提出了LDPC碼,但是由於當時的硬體條件不足,直到90年代末隨著超大規模集成電路的推廣才真正為人們所重視。
  • Polar碼當選5G短碼方案 5G核心技術標準中國參與制定!
    > 據了解,由於短碼的討論分為控制信道和數據信道,各公司從性能、實現複雜度,以及可行性等角度對幾個候選編碼進行了全面的分析。基本原理是編碼器通過交織器把兩個分量編碼器進行並行級聯,兩個分量編碼器分別輸出相應的校驗位比特;解碼器在兩個分量解碼器之間進行迭代解碼,分量解碼器之間傳遞去掉正反饋的外信息,這樣整個解碼過程類似渦輪(Turbo)工作。因此,這個編碼方法又被形象地稱為Turbo碼。Turbo碼具有卓越的糾錯性能,性能接近香農極限,而且編解碼的複雜度不高。
  • 基於FPGA的LDPC編碼設計
    直到Turbo碼提出後,人們在研究Turbo碼的迭代解碼時,發現二者具有相同的特性,即約束隨機碼集合和迭代解碼算法,這導致了隨後LD-PC碼的復出。1996年,Mackay和Neal隨機構造出的LDPC碼,當碼長很長時其性能超過Turbo碼,並在實現上更有優勢,從而激起編碼界對LDPC碼的研究熱情,成為當今信道編碼領域最令人矚目的研究熱點之一。LDPC碼出色的糾錯性能以及可以並行解碼的特點特別是其簡單實用性使其成為下一代通信糾錯編碼的首選。
  • 一文看懂碼靈半導體CFW32C7UL系列產品應用(八):高端掃碼設備應用...
    通過前兩期對掃碼設備及掃碼引擎的介紹,相信大家對掃碼硬體的組成有了較為深入了解。然而完整的掃碼識讀過程除了需要掃碼硬體作為載體,還需要軟體算法支撐才能發揮其功能和作用。本期我們以常見的二維碼:QR碼為例,對掃碼識讀過程中的軟體處理環節進行簡要介紹。
  • 5G標準專題:Polar碼——移動通信領域皇冠上的寶石
    1967年,維特比解碼算法被發明。它代表了第一代信道編碼技術的巔峰之作。該算法使解碼更簡單,並在解碼過程中提供了更好的性能。它使卷積碼廣泛用於信息和通信行業。該算法於1988年用於2G GSM網絡,並用於隨後的3G網絡。  1991年,法國教授克勞德·貝魯(Claude Berrou)發現了turbo碼,這是第一個接近香農極限的編碼方案。
  • 一個公式,兩門學科,多種算法,無數款晶片
    針對不同的算法,為了加速算法處理、降低功耗以及提高效率,無數的學者和工程師又會針對性地設計相關的加速器、處理器和晶片。為了不讓這邊停下來等待靈魂的小短文陷入枯燥乏味理論推導,筆者將遵循淺嘗輒止的原則進行敘述,且大多為白話。這裡說的兩門學科就是無線通信和機器人。筆者有幸在博士期間參與了無線通信信道編解碼算法和ASIC實現。
  • 增量調製編碼解碼實驗
    圖2.1   ΔM編解碼系統框圖(一)單片ΔM編解碼器1、MC3418簡介MC3418是MOTOLOLA公司生產的通信專用集成電路,它是數字檢測音節壓擴增量編解碼器。是由模擬輸入放大器、數字輸入運算放大器、電壓/電流轉換運算放大器、極性開關、工作選擇開關和數字檢測(移位寄存器和邏輯電路)等部分構成的。
  • 分組碼和卷積碼的區別 詳解分組碼和卷積碼
    卷積碼的糾錯能力不僅與約束長度有關,還與採用的解碼方式有關。總之,由於n,k較小,且利用了各組之間的相關性,在同樣的碼率和設備的複雜性條件下,無論理論上還是實踐上都證明:卷積碼的性能至少不比分組碼差。 以二元碼為例,編碼器如圖。輸入信息序列為u=(u0,u1,…),其多項式表示為u(x)=u0+u1x+…+ulxl+…。
  • 資料|MATLAB優化算法案例分析與應用(進階篇)
    from=leiphonecolumn_res0817內容簡介 · · · · · ·《MATLAB優化算法案例分析與應用(進階篇)》是深受廣大讀者歡迎的《MATLAB優化算法案例分析與應用》一書的姊妹篇,即進階篇。本書全面、系統、深入地介紹了MATLAB算法及案例應用。
  • 條碼技術原理簡介及其應用
    那時候對電子技術應用方面的每一個設想都使人感到非常新奇。他的想法是在信封上做條碼標記,條碼中的信息是收信人的地址,就象今天的郵政編碼。為此Kermode發明了最早的條碼標識,設計方案非常的簡單,即一個「條」表示數字「1」,二個「條」表示數字「2」,以次類推。