專利名稱:基于低密度奇偶檢驗(yàn)編碼的信源信道聯(lián)合編碼方法
技術(shù)領(lǐng)域:
基于低密度奇偶校驗(yàn)編碼的信源信道聯(lián)合編碼方法屬于通信技術(shù)領(lǐng)域,特別涉及采用信源信道聯(lián)合編碼技術(shù)在無線多媒體通信系統(tǒng)中應(yīng)用的一種融合隱馬爾可夫信源估計(jì)和LDPC(低密度奇偶校驗(yàn))編碼的有效而快速的編碼方法。
背景技術(shù):
在大多數(shù)無線多媒體通信系統(tǒng)中,信源編碼和信道編碼是分開考慮、獨(dú)立設(shè)計(jì)的。這一做法的依據(jù)是山農(nóng)理論如果信息傳輸速率R小于信道容量C,則存在一種信源編碼和一種信道編碼方法,可以使信息在有噪信道中達(dá)到無誤傳輸。然而在實(shí)際系統(tǒng)中,由于編碼延時(shí)和編碼復(fù)雜度受限,信源編碼不可能完全去除信息序列的冗余;而信道編碼亦不能達(dá)到山農(nóng)極限的糾錯(cuò)性能。特別是在無線多媒體通信系統(tǒng)中,由于信源編碼主要強(qiáng)調(diào)幀結(jié)構(gòu)特性而非冗余度壓縮,而大量的數(shù)據(jù)需要在帶寬受限并且受到各種突發(fā)嚴(yán)重干擾的信道中傳輸,分離編碼所帶來的問題愈加嚴(yán)重,造成了無線多媒體通信的傳輸瓶頸。
信源信道聯(lián)合編碼技術(shù)將信源編碼和信道編碼進(jìn)行聯(lián)合優(yōu)化,一方面可以利用信源編碼后的殘留冗余幫助信道編碼提高糾錯(cuò)性能,另一方面也可以根據(jù)信道編碼不同碼元的不等差錯(cuò)保護(hù)特性,使得信道譯碼后的殘余誤碼對(duì)信源解碼的影響最小,非常適合無線多媒體信道中的應(yīng)用。
現(xiàn)有的信源信道聯(lián)合編碼方法主要有兩種。方法一是傳統(tǒng)的方法,即在進(jìn)行信源編碼時(shí)考慮信道編碼的特性,使得經(jīng)過信源編碼后的信息序列帶有一定的冗余,在信道解碼是考慮這部分冗余,使得信道譯碼后的殘留誤碼引起的誤碼擴(kuò)散達(dá)到最小。這種方法可以有效抑制信道編碼碼長(zhǎng)有限所帶來的誤碼擴(kuò)散,但是信源的冗余應(yīng)用的不充分,因而性能的改進(jìn)不明顯。方法二是將信道編碼的最新技術(shù)——Turbo編碼與隱馬爾可夫信源估計(jì)相結(jié)合,在發(fā)送端直接對(duì)含有冗余的多媒體信源進(jìn)行Turbo編碼,在接收端把對(duì)有噪信源的冗余度估計(jì)作為Turbo碼的一個(gè)成分碼,采用反饋式串行迭代的方法進(jìn)行聯(lián)合譯碼。通過這種方法,在每一次聯(lián)合迭代中,隱馬爾可夫估計(jì)所得到的信源冗余可以改進(jìn)信道碼的糾錯(cuò)性能,而經(jīng)過信道碼糾錯(cuò)后的信息序列反饋給隱馬爾可夫估計(jì)作為下一次迭代的輸入,可以使對(duì)信源的估計(jì)做得更加準(zhǔn)確,從而可以在下一次迭代中為信道解碼提供更多的有用信息。這一正反饋過程在不需事先知道信源冗余特性的前提下,可以使得信源的冗余和信道Turbo碼的糾錯(cuò)性能得到充分的利用。從而獲得了逼近山農(nóng)極限的信息傳輸性能。但是,在聯(lián)合迭代譯碼的過程中,由于Turbo碼各成份碼所采用的都是串行算法,同時(shí)迭代過程中需要對(duì)信息序列進(jìn)行多次交織/反交織,使得譯碼延時(shí)和譯碼復(fù)雜度過大,限制了這項(xiàng)技術(shù)在實(shí)際系統(tǒng)中的應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出了一種基于LDPC編碼的信源信道聯(lián)合編碼以解決現(xiàn)有的技術(shù)之不足。
如圖1所示,在發(fā)送端,含有冗余的信源輸出序列不用經(jīng)過信源壓縮編碼,直接進(jìn)行LDPC編碼,得到包括信息序列和校驗(yàn)序列的碼序列,然后送到下一級(jí)調(diào)制成適合在無線信道中傳輸?shù)牟ㄐ?,進(jìn)行傳輸。在接收端,接收天線對(duì)接收到的信息序列進(jìn)行解調(diào),得到接收序列。然后對(duì)接收序列采用聯(lián)合信源估計(jì)、信道譯碼的方法進(jìn)行解碼,過程如下首先,對(duì)接收序列中的信息序列部分進(jìn)行隱馬爾可夫參數(shù)估計(jì),并根據(jù)所得參數(shù)計(jì)算外信息,隨后將接收序列和信源估計(jì)所得的外信息序列作為信道譯碼的輸入,進(jìn)行LDPC迭代譯碼。經(jīng)過一定次數(shù)的迭代后,判斷所得的硬判決譯碼結(jié)果是否為一個(gè)合法的碼序列。如果是,則迭代譯碼結(jié)束,輸出該硬判決序列中的信息序列;如果不為一個(gè)合法碼字,將經(jīng)過LDPC譯碼修正后的信息序列反饋給信源譯碼器,進(jìn)行再次隱馬爾可夫參數(shù)估計(jì)并計(jì)算相應(yīng)的外信息輸出。然后用所得的外信息序列修正接收信息序列,繼續(xù)進(jìn)行LDPC迭代。直到所得序列為一個(gè)合法碼序列,或者迭代次數(shù)達(dá)到限定值。此時(shí),輸出硬判決信息序列,然后開始下一個(gè)碼矢量的聯(lián)合譯碼。
本發(fā)明的特征在于,它是一種融合隱馬爾可夫信源估計(jì)和低密度奇偶校驗(yàn)(LDPC)編碼的信源信道聯(lián)合編碼方法,它依次含有如下步驟(1),在發(fā)送端,對(duì)含有冗余的信源輸出序列用LDPC編碼器進(jìn)行LDPC編碼,得到包括信息序列和校驗(yàn)序列的碼序列,再把它調(diào)制后送到無線信道進(jìn)行傳輸;(2),在接收端,對(duì)接收到的信息序列解調(diào),得到接收序列;(3),對(duì)接收序列采用聯(lián)合信源估計(jì)、信道譯碼的方法進(jìn)行解碼,它依次含有如下步驟(3.1),在信源譯碼器中對(duì)接收序列中的信息序列進(jìn)行隱馬爾可夫參數(shù)估計(jì),并根據(jù)所得參數(shù)計(jì)算外信息;(3.2),再把接收序列和信源估計(jì)所得的外信息序列作為信道譯碼的輸入,在LDPC譯碼器中進(jìn)行和積迭代譯碼;(3.3),經(jīng)過一定次數(shù)的迭代后,判斷所得的硬判決譯碼結(jié)果是否為一個(gè)合法的碼序列如果是一個(gè)合法的碼序列,則迭代譯碼結(jié)束,輸出該硬判決序列中的信息序列;如果不是一個(gè)合法的碼序列,經(jīng)過LDPC譯碼修正后的信息序列反饋給信源譯碼器,再次進(jìn)行隱馬爾可夫參數(shù)估計(jì)并計(jì)算相應(yīng)的外信息輸出,然后用所得的外信息序列修正接收信息序列,繼續(xù)進(jìn)行LDPC迭代,直到所得序列為一個(gè)合法碼序列,或者迭代次數(shù)達(dá)到極限值,輸出硬判決信息序列;(4),如果需要,開始下一個(gè)碼矢量的聯(lián)合譯碼。
步驟(3)所述的聯(lián)合譯碼方法用軟件實(shí)現(xiàn)時(shí)依次含有如下步驟(a)譯碼器初始化聯(lián)合迭代的次數(shù)置為零,設(shè)置最大的聯(lián)合迭代次數(shù),同時(shí)設(shè)置在每一次聯(lián)合迭代中LDPC碼的和積譯碼迭代次數(shù);
(b)接收序列輸入到詳碼器;(c)譯碼器計(jì)算接收序列的硬判決,判斷是否為一個(gè)合法碼字如果是,輸出相應(yīng)硬判決結(jié)果,本次譯碼過程結(jié)束;否則,對(duì)接收序列中的信息序列部分進(jìn)行一次隱馬爾可夫估計(jì),并用所得的外信息修正接收序列;計(jì)算經(jīng)過修正后的接收序列的硬判決,并判斷得到的結(jié)果是否為一個(gè)合法的碼字如果是,輸出相應(yīng)的硬判決結(jié)果,本次譯碼過程結(jié)束;否則,進(jìn)行規(guī)定次數(shù)的LDPC和積譯碼迭代,在結(jié)束迭代時(shí)聯(lián)合譯碼的迭代次數(shù)加1,隨后判斷聯(lián)合迭代次數(shù)是否小于最大允許值如果是,返回到步驟(c),繼續(xù)執(zhí)行相應(yīng)的譯碼過程;否則,計(jì)算并輸出所得的硬判決結(jié)果;(d)根據(jù)輸入情況,判斷是否需要進(jìn)行下一次譯碼過程。
實(shí)驗(yàn)證明,它達(dá)到了預(yù)期目的。
圖1.本發(fā)明聯(lián)合編碼方法的原理框圖。
圖2.重復(fù)碼的譯碼節(jié)點(diǎn)圖。
圖3.校驗(yàn)碼的譯碼節(jié)點(diǎn)圖。
圖4.LDPC碼的譯碼網(wǎng)格圖。
圖5.本發(fā)明聯(lián)合估計(jì)/譯碼原理圖。
圖6.軟件實(shí)現(xiàn)本發(fā)明聯(lián)合譯碼算法的流程圖。
具體實(shí)施例方式
本發(fā)明所述方法的原理及采用的算法說明如下一.首先,考慮在接收端采用含有傳輸差錯(cuò)的接收序列時(shí)進(jìn)行隱馬爾可夫信源估計(jì)的算法。
考慮一個(gè)由轉(zhuǎn)移狀態(tài)參數(shù)為aij(i,j=0,1)的兩狀態(tài)馬爾可夫信源產(chǎn)生的二元比特序列{uk,k=1,2,…,K},(式中K為信道碼中信息比特的長(zhǎng)度)。經(jīng)過信道傳輸后,接收到的含有噪聲的信息序列為Rk(k=1,2,…,K),其中,Ri1表示從R1到Ri的符號(hào)序列。此外,根據(jù)信道噪聲的特性,在原來的馬爾可夫模型中引入傳輸差錯(cuò)概率P,使原來轉(zhuǎn)移概率為1路徑變?yōu)橐愿怕?-P轉(zhuǎn)移,而原來轉(zhuǎn)移概率為0的路徑則變?yōu)橐愿怕蕄轉(zhuǎn)移。這樣,經(jīng)過噪聲信道傳輸后所得的信息序列可以采用該擴(kuò)展模型表示。在未知信源參數(shù)和信道傳輸差錯(cuò)概率的條件下,接收端可以采用隱馬爾可夫估計(jì)的方法,根據(jù)該擴(kuò)展模型和接收序列得到這兩個(gè)參數(shù),同時(shí)計(jì)算出相應(yīng)的外信息。
假設(shè)該隱馬爾可夫信源的初始參數(shù)為λ=p{u,sj|si},π,u∈{0,1},i,j=0,1},其中π為初始狀態(tài),同時(shí)定義sk為隱馬爾可夫信源的第k個(gè)狀態(tài),ek={sk-1=i;uk;sk=j(luò)}為第k個(gè)轉(zhuǎn)移路徑,P{u,sj|si}為相應(yīng)的轉(zhuǎn)移概率,則對(duì)該模型參數(shù)的前后項(xiàng)迭代估計(jì)算法為αk(i)=P{sk=i|R1k,λ}]]>=Σsk-1ΣukP{sk-1=j,uk,sk=i,R1k-1,Rk|λ}P{R1k-1|λ}·P{|Rk|R1k-1,λ}]]>=Σsk-1Σukαk-1(j)·P{uk,sk=i|sk-1=j,λ}·P{Rk|uk}P{Rk|R1k-1,λ}-------(1)]]>式中αk(i)為前項(xiàng)方程,并且P{Rk|R1k-1,λ}=Σsk-1ΣukΣskP{sk-1=j,uk,sk=i,Rk|R1k-1,λ}]]>=Σsk-1ΣukΣskαk-1(j)·P{uk,sk=i|sk-1=j,λ}·P{Rk|uk}----(2)]]>同樣,后項(xiàng)方程βk(i)由下式給出βk(i)=P{Rk+1K|sk=i,λ}P{Rk+1K|R1k,λ}]]>=Σuk+1Σsk+1P{uk+1,sk+1=j,Rk+1,Rk+2K|sk=i,λ}P{Rk+1|R1k,λ}·P{Rk+2K|R1k+1,λ}]]>=Σuk+1Σsk+1P{uk+1,sk+1=j|sk=i,λ}·P{Rk+1|uk+1}·βk+1(j)P{Rk+1|R1k,λ}-----(3)]]>因而,第k個(gè)轉(zhuǎn)移路徑的概率可以由下式得到(ek)=P{sk-1=i,uk,sk=j|R1K,λ}]]>=P{sk-1=i,uk,sk=j,R1K|λ}P{R1K|λ}]]>=P{sk-1=i,R1k-1|λ}P{R1k-1|λ}·P{uk,sk=j|sk-1=i,λ}P{Rk|R1k-1,λ}]]>·P{Rk|uk}·P{Rk+1K|sk=j,λ}P{Rk+1K|R1k,λ}]]>=αk-1(i)·P{dk,sk=j|sk-1=i,λ}·P{Rk|uk}·βk(j)P{Rk|R1k-1,λ}-----(4)]]>注意到在隱馬爾可夫模型的轉(zhuǎn)移路徑中,任意第k個(gè)路徑ek都是由起始狀態(tài)si,終止?fàn)顟B(tài)sj,及其相應(yīng)的信源輸出u決定。從而,轉(zhuǎn)移路徑概率P{si,u,sj|λ}可以通過下式估計(jì)
P{si,u,sj|λ}=1KΣk=1KP(ek|λ),si,sj∈{S0,S1},u∈{0,1}----(5)]]>據(jù)此,可以得到各路徑的概率的修正式P′{u,sj|si,λ}=P{si,u,sj|λ}ΣuΣsjP{si,u,sj|λ}----(6)]]>根據(jù)以上各式,噪聲條件下隱馬爾可夫信源的參數(shù)通過迭代修正為λ={p{u,sj|si,λ},π,u∈{0,1},i,j=0,1}.注意到,當(dāng)信息序列的長(zhǎng)度足夠長(zhǎng)時(shí),初始狀態(tài)誤差所帶來的影響非常小,因而本算法去掉了對(duì)信源初始狀態(tài)的估計(jì)過程。
通過上面所述的迭代過程,隱馬爾可夫模型的轉(zhuǎn)移路徑參數(shù)可以被精確估計(jì)出來。根據(jù)這些模型參數(shù),隱含在信源序列的信息冗余可以被有效的提取出來,寫成外信息的形式為L(zhǎng)LRe(uk)=lnΣsk-1Σskαk-1(i)·P{uk=1,sk=j|sk-1=i,λ′}·βk(j)Σsk-1Σskαk-1(i)·P{uk=0,sk=j|sk-1=i,λ′}·βk(j)----(7)]]>通過這些外信息,接收序列中的傳輸差錯(cuò)可以被有效的修正。作為一個(gè)例子,表1列出了隱馬爾可夫估計(jì)前后接收信息序列的誤比特率。此次仿真的信源比特由一個(gè)熵率為0.81比特/符號(hào)的二狀態(tài)馬爾可夫信源產(chǎn)生,每個(gè)信息序列的長(zhǎng)度為5000比特,對(duì)每個(gè)Eb/No(即每個(gè)比特的平均信號(hào)功率與噪聲功率的比值)下至少進(jìn)行100萬(wàn)比特的仿真。由表1可見,隱馬爾可夫信源估計(jì)所得的外信息可以有效降低信道傳輸產(chǎn)生的差錯(cuò)。
表1.隱馬爾可夫估計(jì)前后的信息序列的誤比特率
二.采用LDPC碼進(jìn)行差錯(cuò)控制的譯碼方法為1.LDPC碼的定義和參數(shù)LDPC碼是一種二進(jìn)制分組碼,這種碼采用超稀疏矩陣作為校驗(yàn)矩陣。矩陣中每行(每列)中非零元素的個(gè)數(shù)非常稀少,且位置呈隨機(jī)分布。為了便于描述,定義一行(一列)中非零元素的個(gè)數(shù)為該行(列)的重量。由于LDPC碼的校驗(yàn)矩陣為隨機(jī)生成的矩陣,各行(列)的重量不確定,因此采用重量分布式來描述這種矩陣。同一類LDPC碼校驗(yàn)矩陣的列重量分布可以用分布式表示為
λ(x)=Σi=2dvλixi-1----(8)]]>式中λi表示重量為i的列在矩陣中所占的份量,dv為矩陣中列重量的最大的值。同樣,同一類LDPC碼校驗(yàn)矩陣的行重量分布采用下式描述ρ(x)=Σj=2dcρjxj-1---(9)]]>式中ρj表示重量為j的行在矩陣中所占的份量,dc為矩陣中行重量的最大值。由于LDPC碼是分組碼,對(duì)于任何合法的碼字V,與校驗(yàn)矩陣H的乘積為零,即H·VT=0。由該校驗(yàn)方程可知,校驗(yàn)矩陣中每列的非零元素只對(duì)應(yīng)LDPC碼的同一個(gè)碼元,形成了一個(gè)相當(dāng)于重復(fù)碼的約束。為了便于譯碼過程中的描述,定義這種約束關(guān)系為一個(gè)比特節(jié)點(diǎn),節(jié)點(diǎn)的階數(shù)即為該列的重量。而校驗(yàn)矩陣中每行的非零元素,將所對(duì)應(yīng)的LDPC碼元映射成一個(gè)相當(dāng)于校驗(yàn)碼的約束。同樣定義這種校驗(yàn)關(guān)系為一個(gè)校驗(yàn)節(jié)點(diǎn),節(jié)點(diǎn)的階數(shù)即為該行的重量。矩陣中的各個(gè)非零元素,既參與了比特節(jié)點(diǎn)的約束關(guān)系,又參與了校驗(yàn)節(jié)點(diǎn)的約束關(guān)系,因而可以定義矩陣非零元素所對(duì)應(yīng)的關(guān)系為連結(jié)這兩種節(jié)點(diǎn)的“連結(jié)線”。在迭代譯碼過程中,譯碼器利用矩陣的行和列所對(duì)應(yīng)的校驗(yàn)節(jié)點(diǎn)和比特節(jié)點(diǎn)的約束關(guān)系進(jìn)行迭代譯碼。在一次迭代過程中,首先利用比特節(jié)點(diǎn)的約束關(guān)系進(jìn)行譯碼,各比特節(jié)點(diǎn)的輸入為接收序列對(duì)應(yīng)的對(duì)數(shù)似然值(即各個(gè)元符號(hào)取“1”的概率除以取“0”的概率再取自然對(duì)數(shù)所得的值)以及相關(guān)校驗(yàn)節(jié)點(diǎn)在上一次迭代的輸出;隨后,比特節(jié)點(diǎn)的輸出通過“連結(jié)線”送到相應(yīng)的校驗(yàn)節(jié)點(diǎn),再利用校驗(yàn)節(jié)點(diǎn)的約束關(guān)系進(jìn)行譯碼。在這個(gè)過程中,一種節(jié)點(diǎn)的輸出成為另外一種節(jié)點(diǎn)的輸入,矩陣中非零元素所對(duì)應(yīng)的“連結(jié)線”成為了這兩種節(jié)點(diǎn)輸入輸出交換信息的“通道”。對(duì)于碼長(zhǎng)為N比特,列重量分布和行重量分布分別由(8)(9)兩式確定的LDPC碼,其i階比特節(jié)點(diǎn)的個(gè)數(shù)為Ni=N·λi/iΣi=2dvλi/i=N·λi/i∫01λ(x)dx,2≤i≤dv---(10)]]>同理,j階校驗(yàn)節(jié)點(diǎn)的個(gè)數(shù)為Mj=M·ρj/jΣj=2dcρj/j=M·ρj/j∫01ρ(x)dx2≤j≤dc---(11)]]>式中M為一個(gè)LDPC碼字中校驗(yàn)碼元的長(zhǎng)度。
2.LDPC碼的譯碼LDPC碼的譯碼充分應(yīng)用了校驗(yàn)矩陣的超稀疏特性,通過比特節(jié)點(diǎn)和校驗(yàn)節(jié)點(diǎn)的約束關(guān)系計(jì)算并輸出外信息,并相互反饋,進(jìn)行迭代譯碼。(外信息即所有同屬于一個(gè)碼字的其它碼元通過碼字的約束關(guān)系而得到的關(guān)于某一個(gè)碼元取值的信息,采用外信息交互是為了避免迭代過程中出現(xiàn)正反饋。)當(dāng)前,LDPC碼的譯碼方法主要為和積譯碼方法。這種方法的輸入為接收序列的對(duì)數(shù)似然值,并在對(duì)數(shù)空間下通過利用比特節(jié)點(diǎn)和校驗(yàn)節(jié)點(diǎn)的約束關(guān)系進(jìn)行迭代譯碼。此時(shí),比特節(jié)點(diǎn)的約束關(guān)系表現(xiàn)為“和”的形式,即各比特節(jié)點(diǎn)的輸出是各個(gè)輸入對(duì)數(shù)似然值的和;而相應(yīng)的校驗(yàn)節(jié)點(diǎn)則表現(xiàn)為某種“積”的形式,即各校驗(yàn)節(jié)點(diǎn)的輸出是各個(gè)輸入對(duì)數(shù)似然值的某種“連乘積”。由于這個(gè)特點(diǎn),該方法被稱之為和積譯碼方法。
以二元輸入加性白高斯噪聲信道下的信息傳輸系統(tǒng)為例,長(zhǎng)為N-M比特的二進(jìn)制信息序列被LDPC編碼器編成長(zhǎng)度為N比特的LDPC碼字。隨后,該碼字被調(diào)制成取值為±1的符號(hào)序列在高斯信道中傳輸。在接收端,接收機(jī)經(jīng)過匹配濾波后得到了一串含噪聲干擾的長(zhǎng)度為N的實(shí)數(shù)序列RN1,隨后進(jìn)行信號(hào)解調(diào)。高斯信道、BPSK調(diào)制下,第i個(gè)碼元為1而經(jīng)調(diào)制和傳輸后接收機(jī)收到信號(hào)為R1的概率為P(Ri|vi=1)=12πσ2exp{-12σ2(Ri-1)2},1≤i≤N---(12)]]>其中σ2為信道噪聲的標(biāo)準(zhǔn)方差。
同樣,第i個(gè)碼元為0而經(jīng)調(diào)制和傳輸后接收機(jī)收到信號(hào)為Ri的概率為P(Ri|vi=0)=12πσ2exp{-12σ2(Ri+1)2},1≤i≤N---(13)]]>由貝葉斯定理,得到P(vi=1|Ri)=P(Ri|vi=1)·P(vi=1)P(Ri)--(14)]]>P(vi=0|Ri)=P(Ri|vi=0)·P(vi=0)P(Ri)--(15)]]>在發(fā)送過程中,碼元符號(hào)取0和1的概率相等。為了便于解調(diào)信號(hào)的輸出,通常采用對(duì)數(shù)似然比的形式表示接收到的第i個(gè)碼元取值的最大后驗(yàn)概率LLR(Ri)=lnP(vi=+1|Ri)P(vi=-1|Ri)----(16)]]>由以上各式,得
LLR(Ri)=lnP(vi=+1|Ri)P(vi=-1|Ri)=lnP(Ri|vi=+1)P(Ri|vi=-1)]]>=ln12πσ2exp{-12σ2(Ri-1)2}12πσ2exp{-12σ2(Ri+1)2}=2σ2Ri]]>=sign(Ri)·|2σ2Ri|-----(17)]]>式中Sign(●)為符號(hào)函數(shù)。上式中,第一項(xiàng)符號(hào)函數(shù)表示了由接收信號(hào)得到的原發(fā)送信號(hào)取值概率的比較結(jié)果。符號(hào)函數(shù)取正值表示原碼元符號(hào)為1的概率大于為0的概率;取負(fù)值則表示原碼元符號(hào)為0的概率大于為1的概率。而第二項(xiàng)絕對(duì)值的大小則表示了該符號(hào)取1的概率與取0的概率之間的差異程度。絕對(duì)值越大,則兩個(gè)概率值的差異越大。因此,(17)式根據(jù)每個(gè)接收信號(hào)提供了兩個(gè)信息,一個(gè)信息為原信號(hào)最可能取哪個(gè)值,另一個(gè)信息則表示了這種判斷的可靠程度。接收機(jī)的這種解調(diào)過程充分保留了原信號(hào)的信息,被稱為“軟解調(diào)”,或者“軟判決”,相應(yīng)的軟判決輸出稱為“軟信息”。
解調(diào)器輸出的軟信息被送到LDPC譯碼器進(jìn)行譯碼。LDPC譯碼器的譯碼充分利用了校驗(yàn)矩陣的超稀疏特性,將校驗(yàn)矩陣的約束關(guān)系分解為行的校驗(yàn)碼約束關(guān)系和列的重復(fù)碼約束關(guān)系,通過利用這兩種約束關(guān)系的相互反饋,進(jìn)行迭代譯碼。為了便于了解在這兩種約束關(guān)系下的譯碼過程,下面首先討論重復(fù)碼和校驗(yàn)碼的譯碼過程。
1)重復(fù)碼的約束關(guān)系及其譯碼重復(fù)碼的編碼即是將輸入的信息符號(hào)進(jìn)行N-1次重復(fù),從而得到一個(gè)長(zhǎng)為N的碼字VN1。因此,重復(fù)碼只有兩個(gè)合法碼字全0碼字0N1和全1碼字1N1。經(jīng)過調(diào)制、傳輸、解調(diào)以后,譯碼器根據(jù)調(diào)制器提供的軟信息進(jìn)行譯碼。在接收到的信號(hào)序列為RN1的前提下,根據(jù)重復(fù)碼的約束關(guān)系進(jìn)行譯碼,得到一個(gè)采用對(duì)數(shù)似然比表示的輸出序列UN1。其中,第i個(gè)符號(hào)最大后驗(yàn)概率取值的對(duì)數(shù)似然比為L(zhǎng)LR(ui)=lnp(vi=1|R1N)p(vi=0|R1N)=lnp(vi=1,R1N)p(vi=0,R1N)]]>=lnΣ1≤i′≤Ni′≠i···Σp(v1,v2,···,vi=1,···,vN,R1N)Σ1≤i′≤Ni′≠i···Σp(v1,v2,···,vi=0,···vN,R1N)]]>=lnΣvi′∈V1Ni′≠i···Σp(v1,v2,···,vi=1,···,vN)·p(R1N|v1,v2,···v1=1,···,vN)Σvi′∈V1Ni′≠i···Σp(v1,v2,···,vi=0,···,vN)·p(R1N|v1,v2,···,vi=0,···,vN)----(18)]]>由于重復(fù)碼只有全0和全1兩個(gè)碼字,因而上式中分子分母乘積項(xiàng)中的第一項(xiàng)只有在碼字分別為全1碼字和全0碼字時(shí),概率才不為0。從而,(18)式可以繼續(xù)化簡(jiǎn)為
LLR(u1)=lnp(R1N|V1N=11N)p(R1N|V1N=01N)=lnΠi′=1Np(Ri′|vi′=1)Πi′=1Np(Ri′|vi′=0)----(19)]]>=Σi′NLLR(vi′)=LLR(vi)+Σi′≠iLLR(vi′)]]>上式中結(jié)果的第一部分是碼元i接收信號(hào)的對(duì)數(shù)似然比值,為碼元本身所具有的信息、,稱為“先驗(yàn)信息”;第二部分是碼字中其它碼元根據(jù)碼字的約束關(guān)系而提供的關(guān)于碼元i的取值信息,稱為“外信息”。由于先驗(yàn)信息為各個(gè)碼元本身就有,因而在譯碼過程中譯碼器只需給每個(gè)碼元反饋相應(yīng)的外信息。重復(fù)碼的譯碼關(guān)系可以采用圖2所示的一個(gè)節(jié)點(diǎn)圖來表示。
圖2中的節(jié)點(diǎn)共有N條連結(jié)線,對(duì)應(yīng)N個(gè)碼元。這些連結(jié)線既可以作為輸入也可以作為輸出,分別對(duì)應(yīng)N個(gè)碼元的輸入和譯碼輸出。在一次譯碼過程中,接點(diǎn)通過N條連結(jié)線收到以對(duì)數(shù)似然比的形式表示的解調(diào)信息序列,隨后,通過節(jié)點(diǎn)的運(yùn)算,譯碼結(jié)果也通過這些連結(jié)線輸出N個(gè)碼元的外信息。其中,每條連結(jié)線的輸出為其它各條連結(jié)線的輸入值的累加和。在對(duì)LDPC碼譯碼的描述中,重復(fù)碼的這種譯碼節(jié)點(diǎn)也被稱為“比特節(jié)點(diǎn)”。
2)校驗(yàn)碼的約束關(guān)系及其譯碼以碼率為N-1/N的校驗(yàn)碼為例,長(zhǎng)為N-1個(gè)比特的信息序列經(jīng)過編碼后得到一個(gè)碼長(zhǎng)為N的校驗(yàn)碼,碼元之間的約束關(guān)系可以用如下的關(guān)系式表示v1ν2…νN=0 (20)式中表示二進(jìn)制和,即二進(jìn)制邏輯中的“異或”。校驗(yàn)碼所得的碼字VN1經(jīng)過調(diào)制、傳輸、解調(diào)后,得到包含該碼字信息的一個(gè)軟信息序列LLR(RN1)。校驗(yàn)碼譯碼器即根據(jù)這個(gè)軟信息序列進(jìn)行譯碼。定義二元符號(hào)ei為碼字中除了第i個(gè)碼元vi外其它所有碼元的二進(jìn)制和,則由(20)式可得viei=0 (21)由二進(jìn)制的異或關(guān)系以及(21)式,得碼元vi與符號(hào)ei取值相同。因而,碼元vi與符號(hào)ei形成一個(gè)相當(dāng)于重復(fù)碼的關(guān)系。由上面重復(fù)碼所討論得到的結(jié)果可知,碼元vi通過譯碼后所得的后驗(yàn)信息為L(zhǎng)LR(v^i)=LLR(vi)+LLR(ei)---(22)]]>顯然,(22)式中的第二項(xiàng)就是在譯碼過程中譯碼器根據(jù)整個(gè)碼序列的約束關(guān)系反饋給碼元νi的外信息。下面,我們以碼長(zhǎng)為3的校驗(yàn)碼為例,推導(dǎo)外信息的表示式。不失一般性,我們討論第一個(gè)碼元的外信息表示式。在碼長(zhǎng)為3比特的情況下,符號(hào)ei取值為1的概率為P(e1=1)=P(ν2=1)·P(ν3=0)+P(ν2=0)·P(v3=1)=P(ν2=1)·(1-p(ν3=1))+(1-p(ν2=1))·P(ν3=1) (23)=P(ν2=1)+p(ν3=1)-2p(ν2=1)·p(v3=1)
從而,1-2p(e1=1)=1-2p(ν2=1)-2p(ν3=1)+4p(ν2=1)·P(ν3=1)(24)=(1-2p(ν2=1))·(1-2p(ν3=1))引入一個(gè)函數(shù)Φ(x)=tanh(-12x)=exp(-12x)-exp(12x)exp(-12x)+exp(12x)=1-exp(x)1+exp(x)---(25)]]>那么,Φ(LLR(e1))=Φ(lnp(e1=1)p(e1=0))=1-exp(lnp(e1=1)p(e1=0))1+exp(lnp(e1=1)p(e1=0))=1-2p(e1=1)---(25)]]>由(24)、(26)式,得碼元ν1的外信息表示形式為L(zhǎng)LR(e1)=φ-1(φ(LLR(LLR(v2)·φ(LLR(v3))(27)(27)式可以推廣到任意一個(gè)碼元,也可以推廣到碼長(zhǎng)大于3比特的情況。在碼長(zhǎng)為N比特得情況下,碼元i的外信息為L(zhǎng)LR(ei)=Φ-1(Π1≤i′≤Ni′≠iΦ(LLR(vi)))---(28)]]>校驗(yàn)碼的這種譯碼運(yùn)算關(guān)系也可以采用一個(gè)節(jié)點(diǎn)來表示,如圖3所示圖3中節(jié)點(diǎn)具有N個(gè)連結(jié)線,對(duì)應(yīng)N個(gè)碼元;每根連結(jié)線既是輸入也是輸出。其中,輸入對(duì)應(yīng)于輸入到譯碼器的軟信息序列,輸出則是譯碼器通過運(yùn)算反饋給各個(gè)碼元符號(hào)的外信息。在一次譯碼中,每根連結(jié)線輸入該碼元解調(diào)后得到的軟信息到節(jié)點(diǎn),隨后節(jié)點(diǎn)通過運(yùn)算,給每個(gè)連結(jié)線一個(gè)外信息輸出。注意到,圖3中每根連結(jié)線的輸出是以其它所有連結(jié)線的輸入值作為輸入的運(yùn)算結(jié)果。在后續(xù)LDPC碼的譯碼中,校驗(yàn)碼的這種譯碼節(jié)點(diǎn)被稱為“校驗(yàn)節(jié)點(diǎn)”。
3)具體的譯碼過程信息序列經(jīng)過LDPC碼的編碼、調(diào)制、傳輸后,由接收機(jī)進(jìn)行匹配濾波,得到相應(yīng)的包含LDPC碼字信息的接收序列RN1,隨后這個(gè)序列被送到LDPC碼譯碼器進(jìn)行糾錯(cuò)譯碼。在一次譯碼過程中,譯碼器首先對(duì)接收序列進(jìn)行解調(diào),把接收序列轉(zhuǎn)化為軟信息的形式;隨后,利用LDPC碼的校驗(yàn)方程H·VT=0進(jìn)行譯碼。注意到LDPC碼的校驗(yàn)矩陣為超稀疏矩陣,每行/列的非零元素個(gè)數(shù)非常稀少。由校驗(yàn)方程知,矩陣的每行LDPC碼的乘積,實(shí)際上是與該行非零元素相乘的碼元的二進(jìn)制和。由校驗(yàn)碼的約束方程可知,這些碼元構(gòu)成了一個(gè)校驗(yàn)碼的約束。由于校驗(yàn)矩陣有M行,因而一共能得到M個(gè)校驗(yàn)碼。通過采用校驗(yàn)碼的譯碼方法,每個(gè)校驗(yàn)碼都可以在各自的約束關(guān)系下給各個(gè)碼元一個(gè)反映該碼元取值情況的外信息輸出。而對(duì)于校驗(yàn)矩陣的每一列,由于其元素在校驗(yàn)矩陣與碼字的乘法中只與同一個(gè)碼元相乘,而該列的每個(gè)非零元素都對(duì)應(yīng)一個(gè)校驗(yàn)碼對(duì)該碼元符號(hào)取值情況的輸出。于是,這些校驗(yàn)碼的輸出與接收到的碼元軟信息一起,構(gòu)成了一個(gè)重復(fù)碼的約束。由于校驗(yàn)矩陣共有N列,因而可以得到N個(gè)重復(fù)碼,分別與LDPC碼字的N個(gè)碼元對(duì)應(yīng)。LDPC碼的譯碼即是通過將校驗(yàn)矩陣的約束關(guān)系分解為這M個(gè)校驗(yàn)碼和N個(gè)重復(fù)碼的約束關(guān)系,通過這兩種碼的譯碼輸出相互反饋為對(duì)方的輸入,進(jìn)行并行迭代譯碼。由以上關(guān)于重復(fù)碼和校驗(yàn)碼的討論,LDPC碼的譯碼網(wǎng)格圖可以由圖4表示首先,接收序列被譯碼器轉(zhuǎn)化為軟信息后,譯碼器將所有校驗(yàn)節(jié)點(diǎn)的初始輸出設(shè)為0,隨后根據(jù)接收序列的軟信息和校驗(yàn)節(jié)點(diǎn)的初始輸出進(jìn)行N個(gè)比特節(jié)點(diǎn)的同時(shí)譯碼。這些比特節(jié)點(diǎn)對(duì)各個(gè)碼元的外信息輸出,被通過連結(jié)線送到相應(yīng)的校驗(yàn)節(jié)點(diǎn),隨后M個(gè)節(jié)點(diǎn)同時(shí)進(jìn)行校驗(yàn)碼的譯碼,每個(gè)校驗(yàn)節(jié)點(diǎn)的對(duì)每個(gè)碼元符號(hào)的譯碼輸出都通過連結(jié)線反饋回相關(guān)的比特節(jié)點(diǎn)。在下一次迭代開始時(shí),每個(gè)比特節(jié)點(diǎn)都將自己所有的輸入累加,得到一個(gè)碼元的后驗(yàn)信息,隨后根據(jù)這個(gè)后驗(yàn)信息進(jìn)行硬判決譯碼。N個(gè)比特節(jié)點(diǎn)的硬判決譯碼得到一個(gè)碼字的估值信息序列。如果校驗(yàn)矩陣與這個(gè)估值信息序列的乘積為零,則譯碼器停止迭代譯碼并輸出這個(gè)估值作為譯碼結(jié)果;否則,譯碼器進(jìn)行下一次比特節(jié)點(diǎn)-校驗(yàn)節(jié)點(diǎn)的譯碼迭代,直到所得估值序列為一個(gè)合法LDPC碼字或者達(dá)到最大迭代次數(shù)為止。譯碼器的輸出為最后一次得到的硬判決估值序列。
設(shè)rij為從校驗(yàn)節(jié)點(diǎn)j輸出到比特節(jié)點(diǎn)i的外信息,qij為從比特節(jié)點(diǎn)i到校驗(yàn)節(jié)點(diǎn)j的外信息,該和積譯碼方法的迭代過程包括如下步驟1)譯碼初始化對(duì)于接收到的實(shí)數(shù)序列RN1,對(duì)應(yīng)的LDPC碼第i個(gè)碼元的初始接收值被譯碼器解調(diào)成對(duì)數(shù)似然比的形式LLR(Ri)=2σ2Ri,1≤i≤N---(29)]]>式中LLR表示取值為對(duì)數(shù)似然比,σ2為信道噪聲的標(biāo)準(zhǔn)方差。同時(shí),初始條件下校驗(yàn)節(jié)點(diǎn)沒有任何關(guān)于碼字的信息,故設(shè)置校驗(yàn)節(jié)點(diǎn)j輸出到比特節(jié)點(diǎn)i的外信息為L(zhǎng)LR(rij)=0 (30)2)若所得到的序列的硬判決結(jié)果不為一個(gè)合法的碼字(其中硬判決是指根據(jù)序列各個(gè)符號(hào)的對(duì)數(shù)似然值決定各個(gè)碼元符號(hào)的比特取值,對(duì)數(shù)似然值為正數(shù)則碼元取符號(hào)“1”,為負(fù)數(shù)則碼元取符號(hào)“0”),執(zhí)行一次和積譯碼的迭代過程為a)比特節(jié)點(diǎn)的譯碼在這種節(jié)點(diǎn)的約束關(guān)系下,輸出與輸入的關(guān)系為“和”的關(guān)系,即比特節(jié)點(diǎn)i到校驗(yàn)節(jié)點(diǎn)j的外信息輸出為L(zhǎng)LR(qij)=Σj′∈Col[i]j′≠jLLR(rij′)+LLR(Ri)--(31)]]>式中Col[i]表示校驗(yàn)矩陣H第i列非零元素的位置集合。
b)校驗(yàn)節(jié)點(diǎn)的譯碼在校驗(yàn)節(jié)點(diǎn)的約束關(guān)系下,輸出與輸入的關(guān)系為某利“積”的關(guān)系,即校驗(yàn)節(jié)點(diǎn)j輸出到比特節(jié)點(diǎn)i的外信息為L(zhǎng)LR(rij)=Φ-1(Πi′∈Row[j]i′≠iΦ(LLR(qi′j)))----(32)]]>式中Row[j]表示校驗(yàn)矩陣H第j行非零元素的位置集合,并且Φ(x)=tanh(-12x)---(33)]]>3)迭代后所得的第i個(gè)比特節(jié)點(diǎn)的譯碼結(jié)果為該節(jié)點(diǎn)所有輸入的和LLR(v^i)=Σj′∈Col[i]LLR(rij′)+LLR(Ri)---(34)]]>對(duì)所得到的譯碼結(jié)果進(jìn)行如下的硬判決,然后轉(zhuǎn)移到第二步。其中第i個(gè)碼元符號(hào)的硬判決為 4)如果需要進(jìn)行下一個(gè)碼字的譯碼,跳轉(zhuǎn)到第一步;否則,結(jié)束譯碼。
這種譯碼方法充分利用了超稀疏矩陣中比特節(jié)點(diǎn)和校驗(yàn)節(jié)點(diǎn)的性質(zhì),以及接收序列的軟信息,因而可以以很低的譯碼復(fù)雜度得到了逼近山農(nóng)極限的譯碼性能。同時(shí),該算法為并行算法,可以有效降低譯碼延時(shí)。
三.結(jié)合以上兩個(gè)算法,本發(fā)明提出了融合隱馬爾可夫估計(jì)和LDPC編碼的聯(lián)合信源信道譯碼方法。
本發(fā)明基于LDPC碼的隨機(jī)碼特性,在發(fā)送端去掉了交織器,直接將信源序列與信道編碼級(jí)聯(lián)起來。在譯碼端,該聯(lián)合譯碼的結(jié)構(gòu)圖如附圖5所示。圖中上半部分為L(zhǎng)DPC碼的比特-校驗(yàn)節(jié)點(diǎn),下部分的節(jié)點(diǎn)E表示對(duì)信源信息比特序列的隱馬爾可夫估計(jì)。在本發(fā)明的迭代譯碼算法中,對(duì)接收序列RK1的隱馬爾可夫估計(jì)首先進(jìn)行,利用所得的外信息序列{LLRe(ui),1 ≤i≤K}對(duì)接收序列進(jìn)行修正 隨后,將經(jīng)過修正后的序列送到信道譯碼器,在比特節(jié)點(diǎn){vi,1≤i≤N}和校驗(yàn)節(jié)點(diǎn){cj,1≤j≤M}之間進(jìn)行LDPC迭代譯碼。如圖5所示,圖中上半部分為L(zhǎng)DPC碼的比特-校驗(yàn)節(jié)點(diǎn),下部分的節(jié)點(diǎn)E表示對(duì)信源信息比特序列的隱馬爾可夫估計(jì)。整個(gè)聯(lián)合譯碼過程包括以下步驟首先,在隱馬爾可夫估計(jì)結(jié)點(diǎn)5c,對(duì)接收信息序列的隱馬爾可夫估計(jì)首先進(jìn)行,隨后將所得的外信息序列{LLRc(uj),1≤i≤K}輸出到比特節(jié)點(diǎn)5a。在比特節(jié)點(diǎn)5a,對(duì)接收序列按照(36)式進(jìn)行修正,同時(shí)按照(30)式進(jìn)行初始化。然后,根據(jù)(34)(35)式計(jì)算各比特節(jié)5a點(diǎn)的硬判決輸出并判斷是否為一個(gè)合法的LDPC碼字。如果是一個(gè)合法的碼字,則譯碼結(jié)束,輸出相應(yīng)的硬判決結(jié)果;否則,執(zhí)行一次迭代過程比特節(jié)點(diǎn)5a根據(jù)(31)式計(jì)算各節(jié)點(diǎn)的輸出,通過節(jié)點(diǎn)間連線5d送到相應(yīng)的校驗(yàn)節(jié)點(diǎn)5b作為輸入;校驗(yàn)節(jié)點(diǎn)5b再按照(32)式計(jì)算反饋給各比特節(jié)點(diǎn)5a的外信息,并把它作為比特節(jié)點(diǎn)5a下一次迭代的輸入。完成這些運(yùn)算后,迭代次數(shù)加1。在下一次迭代開始時(shí),各比特節(jié)點(diǎn)5a再次根據(jù)(34)(35)式計(jì)算硬判決輸出并判決是否為一個(gè)合法碼字。如果是一個(gè)合法碼字,則結(jié)束譯碼迭代,輸出相應(yīng)的硬判決序列;否則,再次執(zhí)行一次迭代過程。經(jīng)過一定次數(shù)的和積譯碼迭代后,如果得到的硬判決系列不為一個(gè)合法碼字,則將經(jīng)過信道譯碼所得外信息修正的信息序列反饋回信源譯碼器5c,進(jìn)行隱馬爾可夫估計(jì),隨后,將所得的外信息序列輸出到比特節(jié)點(diǎn)5a,繼續(xù)進(jìn)行LDPC譯碼迭代。直到得到一個(gè)合法碼字或者迭代次數(shù)達(dá)到最大。在這種情況下,輸出所得的硬判決信息序列作為譯碼結(jié)果。整個(gè)聯(lián)合譯碼過程可以總結(jié)如下1)根據(jù)接收序列RK1,執(zhí)行一次如上所描述的隱馬爾可夫估計(jì)過程,所得的外信息通過連線傳送到相應(yīng)的信息比特節(jié)點(diǎn);2)采用和積譯碼算法進(jìn)行一定次數(shù)(可以根據(jù)實(shí)際計(jì)算復(fù)雜度和糾錯(cuò)性能的需要選擇5,10,20次)的LDPC碼的譯碼迭代,然后計(jì)算相應(yīng)的硬判決輸出;3)如果步驟2)所得的硬判決輸出不是一個(gè)合法的LDPC碼字,并且迭代次數(shù)小于最大允許的迭代次數(shù),將信道譯碼所得到的外信息以及接收信息序列反饋給信源譯碼器,重新進(jìn)行一次隱馬爾可夫迭代-LDPC迭代聯(lián)合譯碼過程;否則,推出聯(lián)合譯碼過程并輸出所得的硬判決序列。
注意到,在本發(fā)明的算法中,對(duì)信源的冗余度估計(jì)先于LDPC碼的譯碼進(jìn)行,這樣獲得一定的有用信息,在一定程度上降低接收序列中的差錯(cuò)水平。從而可以使LDPC碼的迭代譯碼更快的收斂到正確的碼字上。此外,本發(fā)明采用了一次隱馬爾可夫迭代和多次LDPC和積迭代譯碼相結(jié)合的聯(lián)合估計(jì)/譯碼方法,不僅可以使LDPC碼的強(qiáng)大糾錯(cuò)性能得以充分發(fā)揮,還可以使得后續(xù)每次信源估計(jì)做得更加準(zhǔn)確有效,從而可以給信道譯碼提供更多的有用信息。同時(shí),該方法還有效降低了譯碼復(fù)雜度和譯碼延時(shí)。
下面,根據(jù)附圖和實(shí)施例來更加詳細(xì)的解釋本發(fā)明實(shí)施例一本實(shí)施例為實(shí)現(xiàn)本發(fā)明提出的聯(lián)合編碼方法的系統(tǒng)流程,如圖1所示,包括以下步驟在發(fā)送端,含有冗余的信源11輸出序列12,不用經(jīng)過信源壓縮編碼,而直接通過LDPC編碼器13進(jìn)行信道編碼,得到包括信息序列和校驗(yàn)序列的碼序列14,然后送到下一級(jí)調(diào)制成適合在無線信道15中傳輸?shù)牟ㄐ危M(jìn)行傳輸。在接收端,接收天線對(duì)接收到的信息序列進(jìn)行解調(diào),得到接收序列16。然后對(duì)接收序列采用聯(lián)合信源估計(jì)、信道譯碼的方法進(jìn)行解碼,過程如下首先,在信源譯碼器18中對(duì)接收序列16中的信息序列17進(jìn)行隱馬爾可夫參數(shù)估計(jì),并根據(jù)所得參數(shù)計(jì)算外信息,隨后將接收序列16和信源估計(jì)所得的外信息序列19作為信道譯碼的輸入,在LDPC譯碼器1a中進(jìn)行和積迭代譯碼。經(jīng)過一定次數(shù)的迭代后,判斷所得的硬判決譯碼結(jié)果是否為一個(gè)合法的碼序列。如果是一個(gè)合法的碼序列,則迭代譯碼結(jié)束,輸出該硬判決序列中的信息序列1b;如果不為一個(gè)合法碼字,將經(jīng)過LDPC譯碼修正后的信息序列1c反饋給信源譯碼器18,進(jìn)行再次隱馬爾可夫參數(shù)估計(jì)并計(jì)算相應(yīng)的外信息輸出。然后用所得的外信息序列修正接收信息序列,繼續(xù)進(jìn)行LDPC迭代。直到所得序列為一個(gè)合法碼序列,或者迭代次數(shù)達(dá)到限定值。此時(shí),輸出硬判決信息序列1b,然后開始下一個(gè)碼矢量的聯(lián)合譯碼。
實(shí)施例二本實(shí)施例為采用軟件實(shí)現(xiàn)本發(fā)明提出的聯(lián)合譯碼方法的一般流程,如圖6所示,譯碼開始時(shí),譯碼器從步驟6a轉(zhuǎn)到6b,進(jìn)行初始化聯(lián)合迭代的次數(shù)置為0,設(shè)置最大的聯(lián)合迭代次數(shù),同時(shí)設(shè)置在每一次聯(lián)合迭代中LDPC碼的和積譯碼迭代次數(shù)。隨后,在步驟6c,接收序列輸入到譯碼器;在步驟6d,譯碼器計(jì)算接收系列的硬判決,并判斷是否為一個(gè)合法碼字。如果是,則跳轉(zhuǎn)到步驟6i,輸出相應(yīng)的硬判決結(jié)果,隨后結(jié)束本次譯碼過程;否則,譯碼器轉(zhuǎn)到步驟6e,對(duì)接收序列中的信息序列部分進(jìn)行一次隱馬爾可夫估計(jì),并用所得的外信息修正接收序列。完成這些運(yùn)算后,譯碼器轉(zhuǎn)到步驟6f,計(jì)算經(jīng)過修正后的接收序列的硬判決,并判斷所得的結(jié)果是否為一個(gè)合法碼字。如果是,則跳轉(zhuǎn)到步驟6i,輸出相應(yīng)的硬判決結(jié)果,隨后結(jié)束本次譯碼過程;否則,譯碼器轉(zhuǎn)到步驟6g,進(jìn)行特定次數(shù)的LDPC和積譯碼迭代,在結(jié)束迭代時(shí)聯(lián)合譯碼的迭代次數(shù)加1。隨后,譯碼器在步驟6h判斷聯(lián)合迭代次數(shù)是否小于最大允許值。如果是,則跳轉(zhuǎn)到步驟6d,繼續(xù)執(zhí)行相應(yīng)的譯碼過程;否則,譯碼器轉(zhuǎn)到步驟6i,計(jì)算并輸出所得的硬判決結(jié)果。在步驟6i,譯碼器根據(jù)輸入情況判斷是否需要進(jìn)行下一次譯碼過程。如果是,則跳轉(zhuǎn)到步驟6c,開始下一個(gè)接收序列的譯碼;否則,譯碼器結(jié)束譯碼狀態(tài)。
應(yīng)當(dāng)指出,本發(fā)明的方法還可以推廣應(yīng)用到其它諸如高清晰度有線電視廣播系統(tǒng)等高數(shù)據(jù)率、高可靠性的寬帶有線通信系統(tǒng)中去。
本發(fā)明的效果是,通過隱馬爾可夫信源估計(jì)和LDPC碼的結(jié)合,得到了與方法二同樣接近山農(nóng)極限的信息傳輸性能;同時(shí),通過利用LDPC碼的隨機(jī)碼特性省去聯(lián)合解碼中的交織過程,并且利用LDPC碼的迭代譯碼算法的并行特性,可以得到比方法二小得多的譯碼復(fù)雜度和譯碼延時(shí)。因此,與已有的方法相比,本發(fā)明的聯(lián)合編碼方法更適合于無線多媒體通信系統(tǒng)的應(yīng)用。
權(quán)利要求
1.基于低密度奇偶校驗(yàn)編碼的信源信道聯(lián)合編碼方法,含有隱馬爾可夫信源估計(jì)的步驟,其特征在于,它是一種融合隱馬爾可夫信源估計(jì)和低密度奇偶校驗(yàn)(LDPC)編碼的信源信道聯(lián)合編碼方法,它依次含有如下步驟(1),在發(fā)送端,對(duì)含有冗余的信源輸出序列用LDPC編碼器進(jìn)行LDPC編碼,得到包括信息序列和校驗(yàn)序列的碼序列,再把它調(diào)制后送到無線信道進(jìn)行傳輸;(2),在接收端,對(duì)接收到的信息序列解調(diào),得到接收序列;(3),對(duì)接收序列采用聯(lián)合信源估計(jì)、信道譯碼的方法進(jìn)行解碼,它依次含有如下步驟(3.1),在信源譯碼器中對(duì)接收序列中的信息序列進(jìn)行隱馬爾可夫參數(shù)估計(jì),并根據(jù)所得參數(shù)計(jì)算外信息;(3.2),再把接收序列和信源估計(jì)所得的外信息序列作為信道譯碼的輸入,在LDPC譯碼器中進(jìn)行和積迭代譯碼;(3.3),經(jīng)過一定次數(shù)的迭代后,判斷所得的硬判決譯碼結(jié)果是否為一個(gè)合法的碼序列如果是一個(gè)合法的碼序列,則迭代譯碼結(jié)束,輸出該硬判決序列中的信息序列;如果不是一個(gè)合法的碼序列,經(jīng)過LDPC譯碼修正后的信息序列反饋給信源譯碼器,再次進(jìn)行隱馬爾可夫參數(shù)估計(jì)并計(jì)算相應(yīng)的外信息輸出,然后用所得的外信息序列修正接收信息序列,繼續(xù)進(jìn)行LDPC迭代,直到所得序列為一個(gè)合法碼序列,或者迭代次數(shù)達(dá)到極限值,輸出硬判決信息序列;(4),如果需要,開始下一個(gè)碼矢量的聯(lián)合譯碼。
2.根據(jù)權(quán)利要求1所述的基于低密度奇偶校驗(yàn)編碼的信源信道聯(lián)合編碼方法,其特征在于,步驟(3)所述的聯(lián)合譯碼方法用軟件實(shí)現(xiàn)時(shí)依次含有如下步驟(d)譯碼器初始化聯(lián)合迭代的次數(shù)置為零,設(shè)置最大的聯(lián)合迭代次數(shù),同時(shí)設(shè)置在每一次聯(lián)合迭代中LDPC碼的和積譯碼迭代次數(shù);(e)接收序列輸入到譯碼器;(f)譯碼器計(jì)算接收序列的硬判決,判斷是否為一個(gè)合法碼字如果是,輸出相應(yīng)硬判決結(jié)果,本次譯碼過程結(jié)束;否則,對(duì)接收序列中的信息序列部分進(jìn)行一次隱馬爾可夫估計(jì),并用所得的外信息修正接收序列;計(jì)算經(jīng)過修正后的接收序列的硬判決,并判斷得到的結(jié)果是否為一個(gè)合法的碼字如果是,輸出相應(yīng)的硬判決結(jié)果,本次譯碼過程結(jié)束;否則,進(jìn)行規(guī)定次數(shù)的LDPC和積譯碼迭代,在結(jié)束迭代時(shí)聯(lián)合譯碼的迭代次數(shù)加1,隨后判斷聯(lián)合迭代次數(shù)是否小于最大允許值如果是,返回到步驟(3),繼續(xù)執(zhí)行相應(yīng)的譯碼過程;否則,計(jì)算并輸出所得的硬判決結(jié)果;(4)根據(jù)輸入情況,判斷是否需要進(jìn)行下一次譯碼過程。
全文摘要
基于低密度奇偶校驗(yàn)編碼的信源信道聯(lián)合編碼方法屬于通信技術(shù)領(lǐng)域,其特征在于,它是一種融合隱馬爾可夫信源估計(jì)和低密度奇偶校驗(yàn)(LDPC)編碼的信源信道聯(lián)合編碼方法,在發(fā)送端,對(duì)含有冗余的信源輸出序列進(jìn)行LDPC編碼后調(diào)制輸出,在接收端,采用聯(lián)合信源估計(jì)和信道譯碼的解碼方法,即先計(jì)算接收序列的硬判決,判斷其是否為一個(gè)合法的碼字如果是,就輸出硬判決結(jié)果,否則,在對(duì)信息序列部分進(jìn)行隱馬爾可夫估計(jì)后再次硬判決,如果還不是一個(gè)合法的碼序列便進(jìn)行規(guī)定次數(shù)的LDPC和積譯碼迭代。重復(fù)以上聯(lián)合迭代過程,直至達(dá)到最大允許迭代次數(shù)為止,輸出本次譯碼硬判決結(jié)果。它的信息傳輸性能接近山農(nóng)極限,延時(shí)小,復(fù)雜度低,適合無線多媒體通信中的應(yīng)用。
文檔編號(hào)H04L1/00GK1508972SQ02155459
公開日2004年6月30日 申請(qǐng)日期2002年12月13日 優(yōu)先權(quán)日2002年12月13日
發(fā)明者殷柳國(guó), 陸建華, 吳佑壽 申請(qǐng)人:清華大學(xué)