




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、課程名稱:現代編碼理論任課教師:王琳 洪少華論文題目:LDPC碼的BP譯碼算法姓名:曹沙沙趙卜寒2014 年 07月06日目錄摘要IIAbstractIII第一章 LDPC碼的概述11.1 LDPC碼的發展史1、LDPC碼的表示11.3 二進制LDPC碼的編碼方法3校驗矩陣的生成3編碼算法4第二章 LDPC碼譯碼算法62.1 Gallager概率譯碼基本思路62.2 BP算法研究82.3 用對數似然比表示的BP算法11第三章 LDPC的性能分析143.1 LDPC的仿真模型143.2 LDPC的譯碼性能15碼長對性能的影響15迭代次數對譯碼性能的影響16結論18參考文獻19摘要低密度奇偶校驗碼
2、是Gallager提出的一種線性分組碼,其性能可以非常接近香農極限。它是根據低密度稀疏校驗矩陣H和二分圖來構造的,本文詳細的闡述了二進制,規則的LDPC的BP譯碼算法,其校驗矩陣每一行和每一列的1的個數是相同的,分別為p和q,其Tanner圖中比特節點的度和校驗節點的度分別對應著一個固定值,通常用(m,n,p,q)表示。BP譯碼算法是一種迭代的概率譯碼算法,本文著重于BP譯碼算法及其簡化運算。本論文主要介紹了LDPC碼的構造、編碼和譯碼基本原理。闡述了LDPC編譯碼的過程,并通過MATLAB仿真工具對LDPC碼在AWGN信道的誤比特率性能進行了仿真,分析了信噪比、碼長和迭代次數對誤比特率性能的
3、影響。關鍵詞:二進制LDPC BP算法 迭代概率譯碼 后驗概率AbstractLow Density Parity Check(LDPC) codes are a class of linear block codesproposed by Gallager,which perform at a rate extremely closed to the Shannon capacity.It is based on low-density parity check matrix H and sparse bipartite graph is constructed, the paper ela
4、borated binary, LDPC decoding algorithm of BP rule, the number of one of its check matrix each row and each column is the same , respectively, p and q, the Tanner graph of bit nodes and check nodes of degree corresponds to a fixed value, respectively, usually expressed as (m, n, p, q). BP decoding a
5、lgorithm is the probability of an iterative decoding algorithm, This paper focuses on its simplified operation. This paper describes the structure, the basic principles of the encoding and decoding of LDPC codes. Describes the LDPC encoding and decoding process, and through MATLAB simulation tool fo
6、r LDPC codes in the bit error rate performance AWGN channel simulation, analysis of the impact of signal to noise ratio, code length and number of iterations of the bit error rate performance.Keywords: binary LDPC BP-decoding algorithm iterative probabilityposterior probability第一章 LDPC碼的概述LDPC碼的發展史1
7、、 1963年,Gallager發現的LDPC碼被稱作古典碼型:規則LDPC。2、 1998年,MacKay and Spielman發明了不規則的LDPC。3、 Richardson and Urbanke開創了用譯碼分析設計碼型的方法。4、針對B-LDPC碼優異的糾錯性能,M. Davey和D. Mackay進一步將B-LDPC碼一般化到多進制域上,并且研究結果表明Q-LDPC碼在低碼率(R<1/2),AWGN信道下比B-LDPC碼的糾錯性能還要優越,Q-LDPC碼的出現為LDPC碼的研究開拓了一個全新的領域。1.2、LDPC碼的表示LDPC是一種分組碼,但是LDPC碼與其他線性分組
8、碼不同的是,其他線性分組碼由生成矩陣表征,而LDPC碼是由校驗矩陣來表征,其奇偶校驗矩陣具有低密度的1。規則LDPC碼可以用(n,j,k)的形式表示,其中n表示生成的碼字的碼長,j表示H矩陣的列重,k為行重。也可將j用表示,k用表示。如果用m表示H矩陣中的行數則有。一個規則的(12,3,4)LDPC碼的H矩陣如下圖所示: 圖11 (12,3,4)LDPC的校驗矩陣我們把H矩陣中的每一行看作一個校驗點(check node),每一列看作一個變量點(variable node)。則H矩陣反映了變量點與校驗點的連接關系,如在第一行中有,表示模2加,表示第一個校驗點約束、這四個變量點。從而我們可以知道
9、行重k表示一個校驗點約束k個變量點。我們再來看第一列,它表示了第一個變量點受到check2、check5、check7的約束。因此我們又可以推出列重j表示了一個變量點受到j個校驗點的約束。由于LDPC也是一種線性分組碼,因此可以用(n,k)的形式表示。n表示碼長,k表示信息位的個數。為了更形象的表示LDPC碼中變量點與校驗點的關系,九十年代中期科學家們引入雙邊圖(biparttie graphs)來表示LDPC碼。雙邊圖是LDPC的一個有用的工具。它將節點分成兩類,節點之間用無向的邊進行連接,并且連接只存在于不同類的節點之間即只存在與校驗點與變量點之間,而兩個校驗點之間或者兩個變量點之間不存在
10、邊的連接。我們把LDPC校驗矩陣H的每一行表示一個校驗點用方框表示,每一列表示一個變量點用圓表示。則由上述可知一個校驗點連接k個變量點,一個變量點連接j個校驗點。當對應H矩陣中時,第i個變量點就與第j個校驗點連接,否則不連接。并且校驗點發出的邊的總數等于變量點發出的邊的總數。每個節點發出的邊的個數稱為這個點的度。如對于(12,3,4)碼其雙邊圖為:圖12 (12,3,4)LDPC碼的因子圖表示當H矩陣中每列1的個數與(或)每行1的個數不同時稱為不規則LDPC碼。在雙邊圖中表現為變量點與校驗點的度允許改變。對于不規則LDPC碼,它更喜歡具有高密度的變量點,因為它將從校驗點接收更多的信息量,從而能
11、更精確的判斷變量點的值。另外,不規則LDPC碼喜歡具有低密度的校驗點,在這種情況下,校驗點所傳送的信息對于相鄰點而言更有價值。從上分析可知不規則LDPC碼比規則LDPC的性能更好的原因在于不規則LDPC碼中存在波浪效應。高密度的變量點能夠快速的收斂到正確的值,并且它能夠幫助中等的變量點收斂到他們正確的值,從而由于循環可以幫助低密度的變量點。最終使得所有點的譯碼速度加快。由于不規則LDPC碼中行重和列重都不是規則的,因此就不能用(n,j,k)的形式表示。因此不規則LDPC中采用度的表示方法。 , (1.1)其中表示變量點的度的分布,表示校驗方程點的度的分布;()表示從度為()的變量點(校驗方程點
12、)所發出的邊數占總邊數的比例。很顯然。 對于規則的LDPC碼,也可以用這樣的方式進行表示。例如,對于規則的LDPC碼(n,3,6),則,。已知一個度的分布對()后,可以確定一系列碼字集合,其中校驗方程個數以及碼率如下式所示:(1.2)(1.3)1.3 二進制LDPC碼的編碼方法對于二進制LDPC碼的編碼,其編碼基本步驟為:(1)、按照一定的設置生成校驗矩陣H。(2)、由校驗矩陣H,按照一定的編碼算法生成最后的碼字u。校驗矩陣的生成由于LDPC碼是以校驗矩陣H為特征的,不同的校驗矩陣H對應不同的碼字集合。因此,LDPC碼的編碼首先需要設計校驗矩陣H,同時這也是LDPC碼編碼的關鍵。在H矩陣的設計
13、過程中,必須避免兩種情況,一是出現短周期的環主要是長為四的環,二是避免變量點的連接過于集中,即校驗點的度過大。長為4的環(圖中存在長度為4的圈)會導致信息在兩組點間反復傳遞,難以更新,違背了迭代譯碼的初衷。長為4的環反映在H矩陣中是存在2×2的子矩陣。當變量點所連接的校驗方程過于集中時,常常導致LDPC碼錯誤地板的發生。例如在圖23中,變量點的度為3,但其中三個帶陰影的變量點總共只連接了5個校驗方程;除了最右邊的一個校驗方程以外,其它4個校驗方程中,每個都連接了兩個陰影的變量點。因此,如果這三個陰影的變量點都出錯時,左邊4個校驗方程都不能檢測到錯誤的存在。當分組長度增大時,出現這種拓
14、撲結構的可能性也隨之減少。圖23 變量點所連接校驗方程過于集中的因子圖下面以準規則LDPC碼的H矩陣的生成為例說明校驗矩陣的生成步驟。校驗矩陣的生成步驟如下:(1)、選擇參數(碼長,碼率,列重,行重)。(2)、構造一個全0矩陣。(3)、隨機選擇Wc行加入非0元素。在實際的仿真中采用的是準規則的H矩陣,既列重相同,行重盡量相同。因此,先在每列選擇Wc行,隨機的插入非0元素。接著再對于低重的行添加非0元素,以避免出現低重的碼字。(4)、對已生成的H矩陣進行消4環。編碼算法按照上小節的方法求出校驗矩陣H后,就可以按照一定的編碼方法得到最后生成的碼字。常規的編碼方法中,當H矩陣被構造出來后,可以得到生
15、成矩陣G,則最后生成的碼字U=S×G。但是實際的編碼過程并不像其表達式這么簡單。我們來看一個例子:一個(10000,5000)線性分組碼,其GI|P矩陣為5000×10000,假設P矩陣中1的密度為0.5,則在P矩陣中將有的1,即有次加法運算。從而所需的寄存器的數目將是很多的。因此我們在編程的過程中采用的是具有系統形式的H矩陣的快速編碼。假設生成的碼字具有系統形式U=C|S,其中C為校驗位,S表示信息位。則我們將校驗矩陣H變換成A|B的形式,其中A為m×m的單位矩陣,B為(n-m)×m的矩陣,則根據,可得AC+BS=0,從而可以得到。在實驗中,是把隨機生
16、成的校驗矩陣經過列變換成系統形式,然后根據H與G的關系,求出生成矩陣G的前面部分,生成矩陣的后面是一個(n-m)×(n-m)的單位矩陣,從而得到校驗位C。由于A是單位陣,從而降低了計算量。這種方法降低了編碼過程的運算量但是同時也降低了其性能。它要求H具有系統形式,就存在一個m×m的單位矩陣,使得剩余部分具有高密度的1。這就使矩陣的稀疏特性被破壞。但是其生成矩陣H較容易。編碼時間與分組長度呈線性關系。 除了上述的兩種方法外,中外學者還研究出了其他更適合硬件實現的編碼算法。主要集中于H矩陣的設計上,如具有類似下三角的H矩陣的設計,具有線性的編碼復雜度,節省了對寄存器的要求,易于
17、硬件的實現。第二章 LDPC碼譯碼算法信道編碼的譯碼算法是決定編碼性能和應用前景的一個重要因素,尤其是在長碼的條件下,譯碼算法的復雜度決定了編碼的前途。通常分組碼的譯碼長度與碼長成指數關系,碼長增加到一定的程度后,復雜度的增加將是不可控制的,無法得到實際的應用。LDPC碼則不同,由于其奇偶校驗矩陣的稀疏性,使它存在高效的譯碼算法,其譯碼復雜度與碼長成線性關系,克服了分組碼在碼長比較長時面臨的巨大譯碼計算復雜度問題。Gallager提出LDPC碼時曾給出兩種譯碼算法:硬判決算法和概率譯碼軟判決算法。硬判決不能達到LDPC碼的最佳性能,軟判決則有非常好的性能。BP算法是在Gallager提出的概率
18、譯碼算法的基礎上發展起來的。2.1 Gallager概率譯碼基本思路假設發送端發送一個碼長為n的二進制序列(),接收端收到的信號為(),如果發送的二進制比特是相互獨立的,則可以根據接收信號和信道模型估計出發送的各比特位0或1的概率。考慮其中的某一比特,如果,則就認為發送的為1,否則為0。這是對應于沒有信道編碼的情況下。如果經過了信道編碼,此時的二進制序列各比特之間就不是相互獨立的。假設這個二進制序列是一個LDPC碼字,那么這n個比特就要滿足由該碼的校驗矩陣所確定的一系列校驗方程。假設其中一個校驗方程是(模2加法),此時=1的概率,除了接收信號提供的信息外,還要考慮比特間的相關性。假定,滿足校驗
19、方程這一事件記為S,現要計算概率。根據條件概率的貝葉斯公式:當然包含比特的校驗方程可能不止一個,這些校驗方程的某些比特又包含在其他更多的校驗方程中。由于碼字中的各比特的相關性,除了利用對于該比特的接收信號外,還可以利用其他比特的接收信號來修正該比特的后驗概率。為了直觀的表示這種關系,引入校驗集合樹的概念。如下圖所示圖2-1校驗集合樹具體算法Gallager的論文中已有詳細的闡述,這里我們只對結果做下說明。 通過校驗集合樹,在傳送碼字c時,碼字中的各比特滿足包含比特d的j個校驗方程。當接收到相應的符號序列時y時,比特d為1的條件概率可以表示為。同理,比特d為0 的條件概率表示為。令當不考慮發送比
20、特間的相關性時,d為1的概率表示為,它與信道模型有關。有下面公式:令,表示d的校驗集合樹第一層中包含d的第i個校驗方程的第l個比特位1 的概率,那么有: (2.1)則概率譯碼的步驟可以描述如下:對每一個比特,畫出相應的校驗集合樹,從最高層的節點開始,應用上式逐層計算出各節點的后驗概率分布,直至求出根節點的后驗概率分布。根據后驗概率分布判決該比特是0或者1:若 其它綜上可見,概率譯碼的算法的運算量是相當大的,因為沒計算一個比特的后驗概率分布,都需要利用所有比特的相關信息,運算量隨碼數的增加呈指數增長。2.2 BP算法研究 校驗集合樹雖然在描述計算單個節點的后驗概率時非常直觀,但針對不同的節點有不
21、同的校驗集合樹,因此在描述并行的計算整個碼字各比特的后驗概率時,使用校驗集合樹并不方便,我們這里采用Tanner圖來對應前面提過的校驗集合樹。為了方便該圖只畫出了部分節點和校驗節點。Tanner圖的變量節點對應于校驗集合樹的節點,校驗節點對應于校驗集合樹的邊。圖2-2 校驗集合樹的部分anner圖 設表示校驗節點相連的所有變量節點的集合,即,表示集合去掉變量節點。設表示與變量節點相連的所有校驗節點的集合,即,表示集合中去掉校驗節點。 圖 2-3 Tanner圖中關于變量節點和校驗節點的局部關系圖中表示不考慮比特間的相關性,僅僅根據比特的接收信號值以及信道特性而得出的比特取值為x的概率,其中。顯
22、然有。可以把看成變量節點的固有性質。 設表示基于接收信號并根據校驗節點集合的信息而得出的比特的概率,其中。同樣有。可以認為是變量節點向校驗節點傳遞的信息。表示當比特,并給定其他比特的一組概率時,校驗節點m對應的校驗方程成立的概率。可以看做校驗節點向變量節點傳遞的信息。根據和的定義,考慮到校驗方程都是模2加法,校驗節點m對應的校驗方程成立的概率即為比特序列中包含偶數個1的概率;校驗節點m對應的校驗方程成立的概率即為比特序列中包含奇數個1 的概率。在進行簡易的推導易得)(2.3)根據式(2.1)以及,以及的定義,可以得到(2.4)完整的BP算法描述。對滿足的m,l執行如下步驟。(1)初始化: ,其
23、中表示信道的先驗概率。(2)校驗節點更新:,則有(2.5)(2.6) (2.7)(3)變量節點更新:(2.8)(2.9)其中是一個使得的值。(4)似后驗概率更新:(2.10)(2.11)同樣是一個使得的值。(5) 比特判決:如果,則判,(l=1,2,.,N). 若,或者迭代次數達到最大迭代次數,則結束迭代,把作為譯碼輸出,否則轉到步驟(2)繼續迭代。2.3 用對數似然比表示的BP算法 上述介紹的BP算法比較復雜。一方面該算法需要在每個變量節點和校驗節點分別計算各比特為0或者為1 的概率,并且在計算和時,要選擇合適的系數和使之滿足概率和為1 的條件;另一方面,算法的表述太過復雜,采用很多相乘運算
24、,耗費較多的運算時間和硬件資源,不利于硬件實現。采用對數似然比描述的BP算法會有一個非常簡單明了的形式。考慮一個隨機變量x,它的對數似然比L(x)定義為根據對數似然比的定義,令那么根據式(2.2)和(2.3)得因為反曲正切函數在開區間(-1.1)內單調增加,是關于原點對稱的奇函數。這樣上式變為簡潔形式: 因為 ,上式右端各項除以 ,右端各項分母再除以 ,可得下式:再引用的定義得下式:這里為了使形式更簡潔,引用雙曲正切函數:,它是在內單調增加,函數值,以y=+1,-1為漸近線,關于原點對稱的奇函數。最后得到: (2.12)根據式(1.8)和(1.9)有 (2.13)同理有:(2.14)BP算法的
25、步驟整理如下:對于校驗矩陣元素的m,l執行如下步驟運算。(1) 初始化:(2) 校驗節點更新:(3) 變量節點更新:(4) 似后驗概率更新(5) 比特判決:如果,則判;否則判,(l=1,2,.,N)。若,或者迭代次數達到最大迭代次數,則結束迭代,把作為譯碼輸出,否則轉到步驟(2)繼續迭代。 上述是完整的的碼譯碼的BP算法,但還沒有說明如何去求得在譯碼的初始化過程中所需要的或,這些值是與信道有關的。下面以信道為例,說明如何計算或的值。表示不考慮比特之間的相關性,僅根據比特的接收信號值以及信道特性而得出的比特取值為的概率,其中的取值為或。假設信道是二進制無記憶對稱信道,其輸入是來自信源的二進制、數
26、字信號,經發端的二相調制器后變為,對極信號。經收端的二相相干解調器又把,對極信號變為,數字信號還原輸出。由于高斯白噪聲的存在,相干解調的檢測可能出現錯誤。用信號加噪以后的條件概率密度分布函數來分析誤碼的產生比較清楚。第三章 LDPC的性能分析3.1 LDPC的仿真模型圖3-1 LDPC仿真模型圖 其中第二章詳細介紹了LDPC碼的譯碼算法,可知LDPC譯碼一般包括以下5個步驟:1、初始化2、校驗節點更新3、變量節點更新4、判決5、停止。實際操作時發現判決時只需用到本輪迭代的校驗節點的更新結果,變量節點的更新在下一輪迭代中才起作用。因此可以把步驟4和5安排在步驟3之前進行,這樣可以節省一次變量節點
27、的更新工作,譯碼流程圖如下:圖3-2譯碼流程圖3.2 LDPC的譯碼性能通過前面幾章的介紹,LDPC的譯碼基本完成,為了了解實現的譯碼性能,下文中給出了LDPC的譯碼性能圖。LDPC編譯碼實現的編碼輸入是函數rand()產生的二進制隨機序列,并記錄LDPC譯碼在不同性噪比下的誤碼率,再在matlab中畫圖。仿真時LDPC碼列重選擇3,最大迭代次數設置為5次時進行仿驗,分析研信噪比對LDPC碼誤碼性能的影響,隨著信噪比的增加,LDPC碼的性能不斷提高。BP譯碼算法下,可以看成是無窮比特量化譯碼,它充分利用接收的信道信息,信道信息利用率得到了極大的提高。信道信息的充分利用,極大地提高了譯碼性能,使
28、得譯碼可以迭代進行,充分挖掘接收的信道信息,最終獲得出色誤碼性能圖3-3BP算法的BER曲線碼長對性能的影響將LDPC碼列重選擇3,最大迭代次數設置為5次且信噪比為0.5dB時進行仿真實驗,分析研究碼長對LDPC碼誤碼性能的影響,仿真得到了不同碼長對LDPC碼的性能仿真結果如下圖所示。從圖中可以看出,在同樣的信噪比條件下,隨著碼長的增加,LDPC碼的性能不斷提高。在小信噪比區域,碼長的增加對誤碼率的改進不大,但隨著信噪比的增大,LDPC碼的誤碼率得到了明顯改善。但隨著碼長的增加,LDPC碼性能的提高是相對的,當達到一定碼長后,性能將會有很小的提高。這是因為一定碼長下編碼性能有一定的極限,隨著碼長的增大,編碼和譯碼的復雜度也增加,編碼性能就會更接近極限,性能隨碼長增加改善的就更少。圖3-4碼長對LDPC性能的影響迭代次數對譯碼性能的影響將碼長為400的LDPC碼,列重為3,信噪比為0dB的情況下進行了仿真實驗。圖中給出了上述情況下的不同迭代次數對LDPC碼的性能仿真結果。可以看出,在相同的信噪比下,LDPC碼的性能隨著迭代次數的增加而逐漸提高。但是LDPC碼的誤碼率并不能隨著迭代次數的增加無限地減小,當
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 世紀英才文化課件六上
- 財務人員勞動合同擔保書
- 肇慶市實驗中學高三上學期語文高效課堂教學設計:文言文特殊句式練習
- 地下停車庫租賃合同范本
- 四川省雅安市寶興縣2024-2025學年六年級下學期小升初真題數學試卷含解析
- 遼寧省撫順市撫順縣2025屆五下數學期末經典試題含答案
- 太原師范學院《中醫傳染病學》2023-2024學年第一學期期末試卷
- 江西省南昌二中2025屆高三數學試題質量檢測試題(一)數學試題試卷含解析
- 四川省涼山彝族自治州甘洛縣2025年三年級數學第二學期期末質量跟蹤監視模擬試題含解析
- 寧夏醫科大學《職業生涯開發》2023-2024學年第二學期期末試卷
- 2025-2030顯示電源管理IC行業市場現狀供需分析及重點企業投資評估規劃分析研究報告
- 古代文物測試題及答案
- 燃氣經營企業重大隱患判定標準培訓課件
- 2023年度國家糧食和物資儲備局直屬事業單位公開招聘46人筆試參考題庫附帶答案詳解
- 智能輔具在康復中的應用-全面剖析
- 2025年高考地理二輪復習:選擇題答題技巧(含練習題及答案)
- 深基坑開挖及支護施工方案
- 2025屆江蘇省南通市、宿遷、連云港、泰州、揚州、徐州、淮安蘇北七市高三第二次調研英語試卷
- 2025年內蒙古自治區中考一模語文試題(原卷版+解析版)
- 安全教育車間級
- 幼兒園故事課件:《小馬過河》
評論
0/150
提交評論