專利名稱:一種數據發送方法、裝置及通信系統的制作方法
技術領域:
本發明涉及無線通信技術,特別是涉及一種數據發送方法、裝置及通信系統。
背景技術:
在無線通信系統中,混合自動重傳技術(Hybrid Automatic Repeat RequestHARQ)是一項重要的技術,能夠很好地提高數據鏈路的可靠性。在電氣和電子工程師學會(Institute of Electrical and Electronic EngineersIEEE)802.16e協議中定義了兩種不同的HARQ方式,即Chase Combining(Chase CombiningCC)和增量冗余(Incremental RedundancyIR)方式。在IEEE802.16e協議中只有卷積碼(Convolutional CodeCC)和卷積渦輪碼(Convolutional Turbo CodeCTC)支持增量冗余HARQ。
低密度奇偶校驗碼(Low Density Parity CheckLDPC)是在嘈雜的傳輸通道上傳輸信息的方法中所使用的錯誤校正碼。LDPC是第一個允許數據傳輸率接近理論最大傳輸率即香農極限(Shannon Limit)的校驗碼。然而,在渦輪碼產生之前,該校驗碼幾乎沒有受到注意。渦輪碼產生之后,由于該校驗碼在功能上與渦輪碼非常接近,并且不規則的LDPC碼對長度非常大(n>10^5)的模塊的處理功能強于渦輪碼,達到了香農容量0.1dB的范圍,因而得到了廣泛的應用。
在現有技術中,在IEEE 802.16j協議中,為了使速率匹配,LDPC碼校驗比特經過交織后進行打孔。
發明人發現現有技術中至少存在如下問題現有技術中雖然實現了運用LDPC碼進行打孔,但是由于所用的交織方式不確定,較隨機,現有技術中為HARQ設計的基于LDPC碼的增量冗余機制不夠完善,導致對于有些碼率來說,打孔后碼的性能被削弱,使得運用LDPC碼打孔的范圍大大縮小,不能滿足實際需要。
發明內容
有鑒于此,本發明實施例提供一種數據發送方法,利用該方法,能夠為HARQ設計一種基于LDPC碼的增量冗余機制。
本發明實施例提供的一種數據發送方法,包括 對數據進行編碼; 對所述編碼后的數據打孔,所述打孔按預先設置的熵函數,得到目標碼率下所有打孔方式等效矩陣的熵值,按熵值最大的打孔方式進行打孔; 對所述打孔后的數據進行調制并發送。
所述熵函數(Entropy FunctionEF)為,其中,xi表示第i列的度數,即第i列出現數字“1”的個數,p(xi)表示度數為xi的行的概率,n表示等效矩陣的列數。
本發明實施例還提供了一種數據發送的裝置,包括 編碼單元,用于對數據進行編碼; 打孔單元,用于對經編碼單元編碼后的數據打孔,所述打孔按預先設置的熵函數,得到目標碼率下所有打孔方式等效矩陣的熵值,按熵值最大的打孔方式進行打孔。
調制發送單元,用于對打孔后的數據進行調制并發送。
所述打孔單元所用熵函數為,其中,xi為所述等效矩陣第i列的度數,p(xi)為度數為xi的列的概率,n表示等效矩陣的列數。
本發明實施例還提供了一種通信系統,包括數據發送裝置與接收裝置以可通信方式連接,所述數據發送裝置,用于對數據進行編碼;對所述編碼后的數據打孔,所述打孔按預先設置的熵函數,得到目標碼率下所有打孔方式等效矩陣的熵值,按熵值最大的打孔方式進行打孔;對所述打孔后的數據進行調制并發送。
本發明實施例通過對給定碼率的LDPC碼做熵函數運算,從碼字中打掉相應的比特得到目標碼率對應的等效矩陣,達到了增強碼的性能的目的。與現有技術相比,克服了LDPC碼中的校驗比特由于采用的交織方式帶有過大的隨機性而削弱了打孔后碼的性能的缺點。
圖1是本發明實施例一種LDPC碼打孔的方法流程圖; 圖2是本發明所有實施例從母矩陣中打掉比特的示意圖; 圖3是本發明實施例雙對角基于塊的LDPC碼的示意圖; 圖4是本發明實施例的數據發送裝置結構框圖。
具體實施例方式 本發明實施例提供了一種數據發送方法、裝置及通信系統,選擇最優的打孔方式打孔,提高了碼的性能,克服了LDPC碼中的校驗比特由于采用的交織方式帶有過大的隨機性而削弱了打孔后碼的性能的缺點。
為了便于對本發明實施例的進一步理解,下面結合附圖對本發明實施例進行詳細的介紹。
圖1為本發明的方法流程圖。
步驟101對數據進行編碼; 步驟102對所述編碼后的數據打孔,所述打孔按預先設置的熵函數,得到目標碼率下所有打孔方式等效矩陣的熵值,按熵值最大的打孔方式進行打孔; 對于給定長度為N,碼率為R0的碼,要從母碼中得到碼率為R1≥R0的碼,共有種方案,表示從N中取出(1-R0/R1)N的組合,每一種組合對應一種打孔方式,根據預先設置的熵函數,分別計算碼率為R1時所述M種方案中每種打孔方式下的熵值,其中,xi表示第i列的度數,即第i列出現數字“1”的個數,p(xi)表示度數為xi的行的概率,n表示等效矩陣的列數,即從原母碼矩陣去除被打掉的列后,整理得到的矩陣的列數。如果中間某列被打掉,則整理是指被打掉的列后所有列向前平移后得到新矩陣的列數。等效矩陣為從原母碼矩陣去除被打掉的列后重新組合而成的矩陣,不同的打孔方式對應不同的等效矩陣。
具體的,如圖2所示,要從9×12的母碼矩陣H中打掉比特b6,其中比特b6的度為b6中元素1的個數,從圖中可知,b6的度數為3,表示為,涉及的校驗方程為e1,e5和e9。要打掉比特為b6,可以將方程e1分別減去e1,e5和e9,消去打孔比特,而且還消去了校驗方程e1。
然后根據圖2中的第二個矩陣計算打掉b6后的矩陣的熵函數,分別計算b1,b2,b3,b4,b5,b7,b8,b9,b10,b11,b12的度數,得x1=3,x2=3,x3=4,x4=4,x5=3,x7=4,x8=3,x9=4,x10=3,x11=3,x12=6;分別計算b1,b2,b3,b4,b5,b7,b8,b9,b10,b11,b12的概率,其中每一列的概率是這一列的度數占整個矩陣中所有列的總的度數的比例,p(x1)=3/40,p(x2)=3/40,p(x3)=4/40,p(x4)=4/40,p(x5)=3/40,p(x7)=4/40,p(x8)=3/40,p(x9)=4/40,p(x10)=3/40,p(x11)=3/40,p(x12)=6/40;最后計算打掉b6后的矩陣的熵函數,將上述概率帶入熵函數計算公式,其中i的取值是從1到12中除去6的自然數,即H(X)=-6×3/40×log23/40-4×4/40×log24/40-6/40×log26/40=2.05-0.6log23+log25。相應的,計算每種打孔方式下的等效矩陣的熵值。其中,熵值越大,性能越優。
步驟103對所述打孔后的數據進行調制并發送。
本發明實施例一描述的是在碼率為R1時得到的熵值最大的打孔方式,具體為 步驟201對數據進行編碼; 步驟202對所述編碼后的數據打孔,所述打孔按預先設置的熵函數,得到目標碼率下所有打孔方式等效矩陣的熵值,按熵值最大的打孔方式進行打孔; 步驟2021根據預先設置的熵函數,對于長度為N,碼率為R0的碼,要從母碼中得到碼率為R1≥R0的碼,共有種方案,表示從N中取出(1-R0/R1)N的組合,每一種組合對應一種打孔方式,分別計算碼率為R1時每種打孔方式下的熵值,其中,xi表示第i列的度數,即第i列出現數字“1”的個數,p(xi)表示度數為xi的行的概率,n表示等效矩陣的列數,即從原母碼矩陣去除被打掉的列后,整理得到的矩陣的列數。如果中間某列被打掉,則整理是指被打掉的列后所有列向前平移后得到新矩陣的列數。上述熵函數在本發明中也可以叫做行熵參數。
如圖2所示,要從9×12的母碼矩陣H中打掉比特b6,其中比特b6的度為b6中元素1的個數,從圖中可知,b6的度數為3,表示為x6=3,涉及的校驗方程為e1,e5和e9。要打掉比特為b6,可以將方程e1分別減去e1,e5和e9,消去打孔比特,而且還消去了校驗方程e1。
然后根據圖2中的第二個矩陣計算打掉b6后的矩陣的熵函數,分別計算b1,b2,b3,b4,b5,b7,b8,b9,b10,b11,b12的度數,得x1=3,x2=3,x3=4,x4=4,x5=3,x7=4,x8=3,x9=4,x10=3,x11=3,x12=6;分別計算b1,b2,b3,b4,b5,b7,b8,b9,b10,b11,b12的概率,其中每一列的概率是這一列的度數占整個矩陣中所有列的總的度數的比例,p(x1)=3/40,p(x2)=3/40,p(x3)=4/40,p(x4)=4/40,p(x5)=3/40,p(x7)=4/40,p(x8)=3/40,p(x9)=4/40,p(x10)=3/40,p(x11)=3/40,p(x12)=6/40;最后計算打掉b6后的矩陣的熵函數,將上述概率帶入熵函數計算公式,其中i的取值是從1到12中除去6的自然數,即H(X)=-6×3/40×log23/40-4×4/40×log24/40-6/40×log26/40=2.05-0.6log23+log25。相應的,計算每種打孔方式下的等效矩陣的熵值。其中,熵值越大,性能越優。
步驟2022由于每種打孔方式都與等效矩陣對應,而每個矩陣有特定的熵參數,分別計算碼率為R1的情況下每種打孔方式下的熵值,根據各熵參數值的大小為各打孔方式進行排序;對各熵參數進行排序。
步驟2023選擇碼率為R1的情況下的熵值最大的打孔方式進行打孔。
引入減(Substraction)操作得到打孔碼等效矩陣。從碼字中打孔打掉一個比特,等效于從母碼圖(Tanner)中消除一個變量節點。在因子圖(Factor Graph)中這些節點稱為不可見節點(Invisible Node)。通過合并k個校驗方程得到k-1個校驗方程,從而消除了一個不可見節點。合成以后的校驗矩陣的母碼圖就是打孔碼等效譯碼圖。
步驟203對所述打孔后的數據進行調制并發送。
本發明實施例通過定義熵函數進而分別計算碼率為R1的情況下每種打孔方式下的熵值,最后選擇碼率為R1的情況下的熵值最大的打孔方式進行打孔,實現了一種數據發送方法,為HARQ設計了一種基于LDPC碼的增量冗余機制。
本發明實施例二是運用非貪婪準則得到熵值最大的打孔方式,具體為 步驟301對數據進行編碼; 步驟302對所述編碼后的數據打孔,所述打孔按預先設置的熵函數,得到目標碼率下所有打孔方式等效矩陣的熵值,按熵值最大的打孔方式進行打孔; 步驟3021根據預先設置的熵函數,分別計算碼率為R1時每種打孔方式下的熵值,其中,xi表示第i列的度數,即第i列出現數字“1”的個數,p(xi)表示度數為xi的行的概率,n表示等效矩陣的列數,即從原母碼矩陣去除被打掉的列后,整理得到的矩陣的列數。如果中間某列被打掉,則整理是指被打掉的列后所有列向前平移后得到新矩陣的列數。
如圖2所示,要從9×12的母碼矩陣H中打掉比特b6,其中比特b6的度為b6中元素1的個數,從圖中可知,b6的度數為3,表示為x6=3,涉及的校驗方程為e1,e5和e9。要打掉比特為b6,可以將方程e1分別減去e1,e5和e9,消去打孔比特,而且還消去了校驗方程e1。
然后根據圖2中的第二個的矩陣計算打掉b6后的矩陣的熵函數,分別計算b1,b2,b3,b4,b5,b7,b8,b9,b10,b11,b12的度數,得x1=3,x2=3,x3=4,x4=4,x5=3,x7=4,x8=3,x9=4,x10=3,x11=3,x12=6;分別計算b1,b2,b3,b4,b5,b7,b8,b9,b10,b11,b12的概率,其中每一列的概率是這一列的度數占整個矩陣中所有列的總的度數的比例,p(x1)=3/40,p(x2)=3/40,p(x3)=4/40,p(x4)=4/40,p(x5)=3/40,p(x7)=4/40,p(x8)=3/40,p(x9)=4/40,p(x10)=3/40,p(x11)=3/40,p(x12)=6/40;最后計算打掉b6后的矩陣的熵函數,將上述概率帶入熵函數計算公式,其中i的取值是從1到12中除去6的自然數,即H(X)=-6×3/40×log23/40-4×4/40×log24/40-6/40×log26/40=2.05-0.6log23+log25。相應的,計算每種打孔方式下的等效矩陣的熵值。其中,熵值越大,性能越優。
步驟3022對于給定長度為N,碼率為R0,R1,R2,R3,R4,......的碼,相應的打孔比特數為P0,P2,P3,P4,......,其中R0≤R1≤R2≤R3≤R4...,P0≤P1≤P2≤P3≤P4...,分別計算不同碼率的情況下每種打孔方式下的熵值。
步驟3023在每種碼率情況下根據各熵參數值的大小為各打孔方式進行排序,然后建立各個不同碼率與該碼率對應的熵值最大的打孔方式的對應關系,所述對應關系構成優勝集合。
步驟3024選擇不同碼率情況下各自對應的熵值最大的打孔方式進行打孔。
引入減操作得到打孔碼等效矩陣。從碼字中打孔打掉一個比特,等效于從母碼圖中消除一個變量節點。在因子圖中這些節點稱為不可見節點。通過合并k個校驗方程得到k-1個校驗方程,從而消除了一個不可見節點。合成以后的校驗矩陣的母碼圖就是打孔碼等效譯碼圖。
步驟303對所述打孔后的數據進行調制并發送。
上述各個步驟是從相同母碼中尋找不同目標碼率的優勝集合的非貪婪準則(non-greedy criterion),所述非貪婪準則是指在碼率不同的各種情況下分別計算每種打孔方式下的熵值,對根據各熵參數值的大小為各打孔方式進行排序,然后將每種碼率情況下熵值最大的碼的打孔方式放入到該碼率對應的優勝集合,根據不同碼率情況選擇各自對應的熵值最大的打孔方式進行打孔,所以該方式能夠用來尋找最好的打孔方式,下面的實施例三引入了貪婪準則。
本發明實施例三是運用貪婪準則(greedy criterion)得到熵值最大的打孔方式,具體為 步驟41對數據進行編碼; 步驟42對所述編碼后的數據打孔,所述打孔按預先設置的熵函數,得到目標碼率下所有打孔方式等效矩陣的熵值,按熵值最大的打孔方式進行打孔; 步驟421根據預先設置的熵函數,分別計算碼率為R1時每種打孔方式下的熵值,其中,xi表示第i列的度數,即第i列出現數字“1”的個數,p(xi)表示度數為xi的行的概率,n表示等效矩陣的列數,即從原母碼矩陣去除被打掉的列后,整理得到的矩陣的列數。如果中間某列被打掉,則整理是指被打掉的列后所有列向前平移后得到新矩陣的列數。上述熵函數在本發明實施例中也可以叫做行熵參數。
如圖2所示,要從9×12的母碼矩陣H中打掉比特b6,其中比特b6的度為b6中元素1的個數,從圖中可知,b6的度數為3,表示為x6=3,涉及的校驗方程為e1,e5和e9。要打掉比特為b6,可以將方程e1分別減去e1,e5和e9,消去打孔比特,而且還消去了校驗方程e1。
然后根據圖2中的第二個的矩陣計算打掉b6后的矩陣的熵函數,分別計算b1,b2,b3,b4,b5,b7,b8,b9,b10,b11,b12的度數,得x2=3,x2=3,x3=4,x4=4,x5=3,x7=4,x8=3,x9=4,x10=3,x11=3,x12=6;分別計算b1,b2,b3,b4,b5,b7,b8,b9,b10,b11,b12的概率,其中每一列的概率是這一列的度數占整個矩陣中所有列的總的度數的比例,p(x1)=3/40,p(x2)=3/40,p(x3)=4/40,p(x4)=4/40,p(x5)=3/40,p(x7)=4/40,p(x8)=3/40,p(x9)=4/40,p(x10)=3/40,p(x11)=3/40,p(x12)=6/40;最后計算打掉b6后的矩陣的熵函數,將上述概率帶入熵函數計算公式,其中i的取值是從1到12中除去6的自然數,即H(X)=-6×3/40×log23/40-4×4/40×log24/40-6/40×log26/40=2.05-0.6log23+log25。相應的,計算每種打孔方式下的等效矩陣的熵值。其中,熵值越大,性能越優。
步驟422對于給定長度為N,碼率為R0,R1,R2,R3,R4,......的碼,相應的打孔比特數為P0,P2,P3,P4,.....,其中,R0≤R1≤R2≤R3≤R4...,P0≤P1≤P2≤P3≤P4...,計算碼率為R1的碼在每種打孔方式下的熵值,選擇碼率為R1的情況下的熵值最大的打孔方式進行打孔; 步驟423在執行上述步驟后剩余的碼中,計算碼率為R2的碼在每種打孔方式下的熵值,選擇碼率為R2的情況下的熵值最大的打孔方式進行打孔; 步驟424根據步驟423所述的方法依次打掉碼率為R3,R4,.....的情況下的熵值最大的打孔方式對應的碼。
引入減操作得到打孔碼等效矩陣。從碼字中打孔打掉一個比特,等效于從母碼圖中消除一個變量字節。在因子圖中這些節點稱為不可見節點。通過合并k個校驗方程得到k-1個校驗方程,從而消除了一個不可見節點。合成以后的校驗矩陣的母碼圖就是打孔碼等效譯碼圖。
步驟43對所述打孔后的數據進行調制并發送。
貪婪準則最大的優點在于支持碼率匹配。對于碼率為R0,R1,R2,R3,R4,......的碼,其中,R0≤R1≤R2≤R3≤R4...,后一個碼率的熵值計算和相應的打孔方式以前一個碼率打孔后剩余的碼為基礎,因而,應用貪婪準則能夠減少計算的復雜程度。
下面結合具體的例子加以說明,對于IEEE 802.16e協議中碼率為1/2的碼,表1給出了與碼率匹配的打孔方式,碼率分別為2/3,3/4。
表1 表1.1由12×24碼率為1/2的碼得到2/3碼率的碼所采用的打孔方式為
表1.2碼率為3/4的打孔方式為
設原始數據有12個碼,碼率為1/2表示在12個碼中插入12個碼,共24個碼,用于進一步打孔。對于表1.1碼率為2/3的打孔方式,就是要從24個碼中打掉6個碼,即最初的12個碼占打掉6個碼后剩下的18個碼的2/3。經過計算、排序后,例如表1.1中打掉第13、15、16、19、21、23這6個碼。當采用碼率為3/4的打孔模式時應該打掉12個碼中的8個,根據貪婪準則,在前面表1.1的基礎上,即打掉第13、15、16、19、21、23這6個碼之后,在剩下的18個碼中再打掉2個,剩下16個,即最初的12個碼占剩下16個碼中的3/4。經過熵值計算、排序后,如表1.2所示打掉第12、20個碼。
在實施例二中碼率不同的打孔方式之間沒有直接的聯系,尤其是后一個碼率的打孔方式與前面碼率的打孔方式之間沒有聯系,而在實施例三中,與后一個碼率相對應的打孔方式是在前一個碼率的打孔方式的基礎上進行打孔,這樣減少了計算量,提高了系統運行的效率,實現了速率匹配。
本發明實施例四以B-LDPC碼即雙對角基于塊的LDPC碼為例,介紹混合非貪婪貪婪準則(hybrid-non-greedy-greedy-criterion),混合非貪婪貪婪準則融合了非貪婪準則和貪婪準則兩種準則的思想,圖3中左半部分是信息部分,即有用的數據,不在打孔范圍內。右半部分是對角結構的校驗信息,是本發明實施例中經過熵函數計算排序,選擇碼率為R1的情況下的熵值最大的打孔方式進行打孔的打孔部分。
步驟501對數據進行編碼; 步驟502對所述編碼后的數據打孔,所述打孔按預先設置的熵函數,得到目標碼率下所有打孔方式等效矩陣的熵值,按熵值最大的打孔方式進行打孔; 步驟5021根據預先設置的熵函數,分別計算碼率為R1時每種打孔方式下的熵值,其中,xi表示第i列的度數,即第i列出現數字“1”的個數,p(xi)表示度數為xi的行的概率,n表示等效矩陣的列數,即從原母碼矩陣去除被打掉的列后,整理得到的矩陣的列數。如果中間某列被打掉,則整理是指被打掉的列后所有列向前平移后得到新矩陣的列數。
如圖2所示,要從9×12的母碼矩陣H中打掉比特b6,其中比特b6的度為b6中元素1的個數,從圖中可知,b6的度數為3,表示為x6=3,涉及的校驗方程為e1,e5和e9。要打掉比特為b6,可以將方程e1分別減去e1,e5和e9,消去打孔比特,而且還消去了校驗方程e1。
然后根據圖2中的第二個的矩陣計算打掉b6后的矩陣的熵函數,分別計算b1,b2,b3,b4,b5,b7,b8,b9,b10,b11,b12的度數,得x1=3,x2=3,x3=4,x4=4,x5=3,x7=4,x8=3,x9=4,c10=3,x11=3,x12=6;分別計算b1,b2,b3,b4,b5,b7,b8,b9,b10,b11,b12的概率,其中每一列的概率是這一列的度數占整個矩陣中所有列的總的度數的比例,p(x1)=3/40,p(x2)=3/40,p(x3)=4/40,p(x4)=4/40,p(x5)=3/40,p(x7)=4/40,p(x8)=3/40,p(x9)=4/40,p(x10)=3/40,p(x11)=3/40,p(x12)=6/40;最后計算打掉b6后的矩陣的熵函數,將上述概率帶入熵函數計算公式,其中i的取值是從1到12中除去6的自然數,即H(X)=-6×3/40×log23/40-4×4/40×log24/40-6/40×log26/40=2.05-0.6log23+log25。相應的,計算每種打孔方式下的等效矩陣的熵值。其中,熵值越大,性能越優。
步驟5022對于給定長度為N,碼率為R1,R2,R3,R4,......的碼,相應的打孔比特數P2,P3,P4,......,其中,R1≤R2≤R3≤R4...,P1≤P2≤P3≤P4...,分別計算不同碼率時每種打孔方式的熵值。
步驟5023計算碼率為R1的碼在每種打孔方式下的熵值,選擇碼率為R1的情況下的熵值最大的打孔方式進行打孔; 步驟5024在執行上述步驟后剩余的碼中,計算碼率為R2的碼在每種打孔方式下的熵值,選擇碼率為R2的情況下的熵值最大的打孔方式進行打孔; 步驟5025根據步驟5024所述的方法依次打掉碼率為R3,R4,......的情況下的熵值最大的打孔方式對應的碼; 步驟5026設定碼率序列R1,R2,R3,R4,.....中初始碼率R1為不同于步驟5023中碼率R1的值,依次執行步驟5023至步驟5025。
如果i足夠大,由于初始設定的起始碼率不同,每個初始碼率的碼率序列對應一個碼率匹配模式鏈,將有許多碼率匹配模式鏈存在。
例如,第一種情況中,初始碼率設為R1,R1=2/3相應的高碼率為R2=3/4,R3=4/5,R4=5/6,......,計算碼率R1=2/3的情況下每種打孔方式下的熵值,選擇碼率為R1的情況下的熵值最大的打孔方式進行打孔;在隨后的碼率為R2=3/4的碼率情況下熵值的計算中,就以碼率R1=2/3的情況下打孔后所剩余的碼為基礎進行運算,以此類推。在第二種情況中,初始碼率設為R1,R1=3/4相應的高碼率為R2=4/5,R3=5/6,R4=6/7,......,計算碼率R1=3/4的情況下每種打孔方式下的熵值,選擇碼率為R1的情況下的熵值最大的打孔方式進行打孔;在隨后的碼率為R2=4/5的碼率情況下熵值的計算中,就以碼率R1=3/4的情況下打孔后所剩余的碼為基礎進行運算,以此類推。
具體的,在設定某一特定碼率的情況下,例如對于碼率為R1=2/3的碼,有一個優勝模式,用PP1表示;相應的,R2=3/4用PP11表示,R3=5/6用PP111表示。PP111的每一種模式為10-tuple向量,PP11為8-tuple向量,PP1為6-tuple向量,這三個向量之間的關系可以表示為 由于初始碼率設置不同,得到不同的多碼率匹配模式鏈,在每個鏈內對每個模式進行熵參數排序;為了達到支持增量冗余混合自動重傳請求的目的,最高碼率會被頻繁使用,所以要選擇最大熵的PP111鏈。
步驟5027選擇某一個碼率匹配模式鏈中不同碼率的情況下的熵值最大的打孔方式進行打孔。
對于IEEE 802.16e協議中碼率為1/2的碼,表1給出了與碼率匹配的打孔方式,碼率分別為2/3,3/4,5/6。
表2 表2.1由12×24碼率為1/2的碼得到2/3碼率的碼所采用的打孔方式為
表2.2碼率為3/4的打孔方式為
表2.3碼率為5/6的打孔方式為
引入減操作得到打孔碼等效矩陣。從碼字中打孔打掉一個比特,等效于從母碼圖中消除一個變量字節。在因子圖中這些節點稱為不可見節點。通過合并k個校驗方程得到k-1個校驗方程,從而消除了一個不可見節點。合成以后的校驗矩陣的母碼圖就是打孔碼等效譯碼圖。
步驟503對所述打孔后的數據進行調制并發送。
在某一特定碼率的情況下,采取不同的組合方式計算得到的熵函數值可能相等或者很接近,可能產生方案不唯一的情況,因而,如果方案不唯一時,就有兩種或兩種以上效果相同或相近的打孔方式,如可能出現表1中P1與P2、P11與P22、P111與P222的不同打孔方式。
圖4為本發明實施例數據發送裝置圖,包括 編碼單元401,用于對數據進行編碼; 打孔單元402,用于對經編碼單元編碼后的數據打孔,所述打孔按預先設置的熵函數,得到目標碼率下所有打孔方式等效矩陣的熵值,按熵值最大的打孔方式進行打孔; 調制發送單元403,用于對打孔后的數據進行調制并發送。
所述打孔單元所用熵函數為,其中,xi為所述等效矩陣第i列的度數,p(xi)為度數為xi的列的概率,n表示等效矩陣的列數。
本發明實施例還提供了一種通信系統,包括數據發送裝置與接收裝置以可通信方式連接。
所述數據發送裝置,用于對數據進行編碼;對所述編碼后的數據打孔,所述打孔按預先設置的熵函數,得到目標碼率下所有打孔方式等效矩陣的熵值,按熵值最大的打孔方式進行打孔;對所述打孔后的數據進行調制并發送。
所述打孔單元所用熵函數為,其中,xi為所述等效矩陣第i列的度數,p(xi)為度數為xi的列的概率,n表示等效矩陣的列數。
所述數據接收裝置,用于接收發送裝置發送來的數據。
可見,通過對給定碼率的LDPC碼做熵函數運算,建立各個碼率情況下熵值最大的打孔方式和相應碼率的對應列表,從碼字中打掉相應的比特得到目標碼率,實現了速率匹配,達到了增強打孔后碼的性能的目的。同時也克服了由于LDPC碼中的校驗比特采用的交織方式帶有過大的隨機性而削弱了打孔后碼的性能的缺點。
需要說明的是,本領域普通技術人員可以理解實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,所述的程序可以存儲于一計算機可讀取存儲介質中,該程序在執行時,包括上述方法的步驟;所述的存儲介質,如ROM/RAM、磁碟、光盤等。
本領域技術人員可以理解附圖只是一個優選實施例的示意圖,附圖中的模塊并不一定是實施本發明所必須的。
權利要求的內容記載的方案也是本發明實施例的保護范圍。
以上實施例的說明只是用于幫助理解本發明的方法及其思想;同時,對于本領域的一般技術人員,依據本發明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1、一種數據發送方法,其特征在于,包括
對數據進行編碼;
對所述編碼后的數據打孔,所述打孔按預先設置的熵函數,得到目標碼率下所有打孔方式等效矩陣的熵值,按熵值最大的打孔方式進行打孔;
對所述打孔后的數據進行調制并發送。
2、根據權利要求1所述的方法,其特征在于,所述熵函數為其中,xi為所述等效矩陣第i列的度數,p(xi)為度數為xi的列的概率,n表示等效矩陣的列數。
3、根據權利要求2所述的方法,其特征在于,選擇第一碼率下熵值最大的打孔方式按熵值最大的打孔方式進行打孔后,還包括
在所述打孔后得到與第一碼率對應的碼后,計算第二碼率的不同打孔方式的熵值,所述第一碼率小于所述第二碼率,按所述熵函數選擇熵值最大的打孔方式對與所述第一碼率對應的碼進行打孔,得到第二碼率的碼。
4、根據權利要求3所述的方法,其特征在于,所述方法進一步包括
選擇第一碼率用于執行第一次打孔;
以所述第一碼率作為初始碼率,由第一碼率得到所述第二碼率的打孔方式,由第二碼率得到目標碼率的打孔方式。
5、根據權利要求4所述的方法,其特征在于,所述方法還包括
建立目標碼率與該碼率對應的熵值最大的打孔方式的對應關系。
6、根據權利要求4所述的方法,其特征在于,
由12×24碼率為1/2的碼得到2/3碼率的碼所采用的打孔方式為
得到碼率為3/4的打孔方式為
或者,在得到的碼率為2/3的基礎上進一步打孔
得到碼率為5/6的打孔方式為
或者,在得到的碼率為3/4的基礎上進一步選擇打孔
7、根據權利要求2所述的方法,其特征在于,
由12×24碼率為1/2的碼得到2/3碼率的碼所采用的打孔方式為
得到碼率為3/4的打孔方式為
或者,在得到的碼率為2/3的基礎上進一步打孔
得到碼率為5/6的打孔方式為
或者,在得到的碼率為3/4的基礎上進一步選擇打孔
8、一種數據發送裝置,其特征在于,包括
編碼單元,用于對數據進行編碼;
打孔單元,用于對經編碼單元編碼后的數據打孔,所述打孔按預先設置的熵函數,得到目標碼率下所有打孔方式等效矩陣的熵值,按熵值最大的打孔方式進行打孔;
調制發送單元,用于對打孔后的數據進行調制并發送。
9、如權利要求8所述的裝置,其特征在于,還包括
優勝組合單元用于記錄各個碼率情況下熵值最大的打孔方式和相應碼率的對應關系。
10、根據權利要求8所述的數據發送裝置,其特征在于,
所述打孔單元所用熵函數為其中,xi為所述等效矩陣第i列的度數,p(xi)為度數為xi的列的概率,n表示等效矩陣的列數。
11、一種通信系統,包括數據發送裝置與接收裝置以可通信方式連接,其特征在于
所述數據發送裝置,用于對數據進行編碼;對所述編碼后的數據打孔,所述打孔按預先設置的熵函數,得到目標碼率下所有打孔方式等效矩陣的熵值,按熵值最大的打孔方式進行打孔;對所述打孔后的數據進行調制并發送。
全文摘要
本發明實施例公開了一種數據發送方法,包括對數據進行編碼;對所述編碼后的數據打孔,所述打孔按預先設置的熵函數,得到目標碼率下所有打孔方式等效矩陣的熵值,按熵值最大的打孔方式進行打孔;對所述打孔后的數據進行調制并發送。本發明實施例還公開了一種數據發送的裝置及通信系統。本發明實施例通過引入熵函數運算,選擇最優的打孔方式打孔,提高了碼的性能,克服了LDPC碼中的校驗比特由于采用的交織方式帶有過大的隨機性而削弱了打孔后碼的性能的缺點。
文檔編號H04L1/00GK101630989SQ200810040679
公開日2010年1月20日 申請日期2008年7月14日 優先權日2008年7月14日
發明者余榮道, 吳曉曉, 繆偉豪 申請人:上海華為技術有限公司