本申請是原案的分案申請,原案的申請號201410397898.0,申請日2014年8月13日,發明創造名稱“ldpc碼字的交織映射方法及解交織解映射方法”。
本發明涉及數字電視技術領域,特別涉及一種ldpc碼字的交織和映射方法及解交織解映射方法。
背景技術:
在現有的廣播通信標準中,ldpc編碼、比特交織和星座映射是最為常見的編碼調制方式。在不同的發射系統中,ldpc編碼、比特交織和星座映射都需要單獨設計,并且聯合調試,以取得最好的信道性能。因此,如何針對特定的ldpc碼字和星座映射方式形成針對性的比特交織,是本領域的一個技術難題。
技術實現要素:
本發明解決的問題是現有技術中無法針對特定的ldpc碼字和星座映射方式形成針對性的比特交織。
為解決上述問題,本發明實施例提供了一種ldpc碼字的交織和映射方法,包括如下步驟:將所述ldpc碼字中的校驗部分進行第一次比特交織以得到校驗比特流;將所述ldpc碼字中的信息比特部分與所述校驗比特流拼接成第一次比特交織后的ldpc碼字;將所述第一次比特交織后的ldpc碼字按預定長度分成連續的多個比特子塊,并按照相應的比特交換圖案變換所述比特子塊的排列順序以形成第二次比特交織后的ldpc碼字;將所述第二次比特交織后的ldpc碼字按列順序寫入存儲空間并按行順序從該存儲空間內讀出以得到第三次比特交織后的ldpc碼字;對所述第三次比特交織后的ldpc碼字依照相應的星座圖進行星座映射以得到符號流。
本發明實施例還提供了一種ldpc碼字的解交織解映射方法,包括如下步驟:對符號流軟值數據依照相應的星座圖進行軟解映射處理以得到比特軟值數據;其中所述符號流軟值數據是接收端接收到如上述的ldpc碼字的交織映射方法得到的符號流;將所述比特軟值數據按行順序寫入存儲空間并按列順序從該存儲空間內讀出以得到第一次比特解交織后的比特軟值數據;將所述第一次比特解交織后的比特軟值數據按預定長度分成連續的多個比特軟值數據子塊,并按照相應的比特交換圖案變換所述比特軟值數據子塊的排列順序以形成第二次比特解交織后的比特軟值數據;將所述第二次比特解交織后的比特軟值數據中對應于ldpc碼字中的校驗部分的比特軟值數據進行第三次比特解交織以得到第三次比特解交織后的比特軟值數據;將所述第二次比特解交織后的比特軟值數據中與所述第三次比特解交織后的比特軟值數據拼接成比特軟值數據流;對所述比特軟值數據流進行ldpc譯碼處理以得到解碼后的比特流數據。
與現有技術相比,本發明技術方案具有以下優點:
針對特定的ldpc碼表選擇相應的交織映射以及解交織解映射方法以使系統性能得到更好的提升。
附圖說明
圖1是本發明的一種ldpc碼字的交織映射方法的具體實施方式的流程示意圖;
圖2是本發明的一種ldpc碼字的解交織解映射方法的具體實施方式的流程示意圖;
圖3是本發明的一種ldpc碼字的交織映射方法中對ldpc碼字中的校驗部分進行第一次比特交織以得到校驗比特流的示意圖;
圖4是本發明的一種ldpc碼字的交織映射方法中按照比特交換圖案變換所述比特子塊的排列順序的示意圖。
具體實施方式
發明人發現現有技術中,無法針對特定的ldpc碼字和星座映射方式形成針對性的比特交織。
針對上述問題,發明人經過研究,提供了一種ldpc碼字的交織映射方法及解交織解映射方法,針對不同的ldpc碼表選擇相應的交織映射以及解交織解映射方法以使系統性能得到更好的提升。
為使本發明的上述目的、特征和優點能夠更為明顯易懂,下面結合附圖對本發明的具體實施方式做詳細的說明。
在本發明實施例中,發射機端為:首先將信源編碼、bch編碼后的比特流輸入到ldpc編碼器進行特定碼率碼長的ldpc碼字的編碼,之后輸入比特交織器,按照某種特定的比特交織圖案方法進行交織處理,隨后將比特交織處理后的數據進行對應碼率的256qam星座映射,之后進行調制,發射,經歷信道。接收機端為:將經過信道后的數據進行解調,然后解調后的數據輸入解映射模塊,進行256qam解映射。之后將解映射模塊輸出的比特軟值信息輸入到解交織模塊進行解交織,之后輸出到ldpc譯碼器,對其進行基于特定的ldpc碼字的譯碼,最后解碼輸出比特流。
如圖1所示的是本發明的一種ldpc碼字的交織映射方法的具體實施方式的流程示意圖。參考圖1,ldpc碼字的交織映射方法包括如下步驟:
步驟s11:將所述ldpc碼字中的校驗部分進行第一次比特交織以得到校驗比特流;
步驟s12:將所述ldpc碼字中的信息比特部分與所述校驗比特流拼接成第一次比特交織后的ldpc碼字;
步驟s13:將所述第一次比特交織后的ldpc碼字按預定長度分成連續的多個比特子塊,并按照相應的比特交換圖案變換所述比特子塊的排列順序以形成第二次比特交織后的ldpc碼字;
步驟s14:將所述第二次比特交織后的ldpc碼字按列順序寫入存儲空間并按行順序從該存儲空間內讀出以得到第三次比特交織后的ldpc碼字;
步驟s15:對所述第三次比特交織后的ldpc碼字依照相應的星座圖進行星座映射以得到符號流。
在本實施例中,所述步驟s11具體包括如下步驟:將所述ldpc碼字中的校驗部分按列順序寫入存儲空間并按行順序從該存儲空間內讀出以得到校驗比特流。
具體地,對生成ldpc碼字的檢驗部分進行比特交織:ldpc碼字的校驗部分共m個比特,按列寫到一個存儲空間內,每列q個比特,共l列,也就是說m=q*l,接著按行順序讀出。其具體實施過程參考圖3所示。
在所述步驟s13中,將所述第一次比特交織后的ldpc碼字按預定長度分成連續的多個比特子塊,其中所述預定長度為320。進一步地,按照相應的比特交換圖案變換所述比特子塊的排列順序以形成第二次比特交織后的ldpc碼字。其具體過程詳見圖4所示,在圖4中,(m0,m1,...,mn/320-1)是320長度比特子塊的比特交換圖案。
具體地,ldpc碼表中的ldpc碼字的碼長為57600,相應的比特交換圖案為:
需要說明的是,在本實施例中,所述比特交換圖案中的各個數值是指未經過比特交換前所述比特子塊的位置。例如,上述比特交換圖案中的第一個數值17含義是指原來未經過比特交換前第18個比特子塊的如今經過比特交換后變成了第一個比特子塊。
相應的星座圖為:
在所述步驟s14中,例如,對于碼長為57600比特的ldpc碼字(經第二次比特交織后的ldpc碼字),將其按列順序寫入存儲空間并按行順序從該存儲空間內讀出,其中每列7200比特,共8列。
之后對上述比特交織后的比特流數據(b0,b1,...,bn-1),根據256qam星座圖,每八個二進制比特序列所對應的十進制數映射到某一個星座點,得到符號流(每個復數符號對應一個星座點)。例如,輸入的八個比特‘00001101’對應十進制數為13,則對應到256qam星座圖中的0.39661-0.6648i的星座點,該星座點在實數軸和虛數軸上的顯示為,實數軸0.39661、虛數軸-0.6648。然后在調制模塊利用符號流進行生成ofdm符號,最后發射。
在本實施例中,所述ldpc碼字是對信源編碼后的比特流經特定的ldpc編碼后得到,其中所述特定的ldpc編碼可以采用現有技術來實現。
具體地,該ldpc的碼字以l×l(l通常為320)為子塊大小,碼表如下:
表1碼率7/12nldpc=57600,l×l=320×320,q=75,m=24000
其編碼方法如下:
將信源編碼后的比特流,拆分為一個個信息塊,每個信息塊由k個信息比特組成,表示為s=(s0,s1,...,sk-1)。按圖1中的特定ldpc編碼,是要根據s=(s0,s1,...,sk-1)生成m個校驗比特p=(p0,p1,...,pm-1)。即得到n個比特的碼字λ=(λ0,λ1,...,λn-1),其中n=k+m。λ又可以表示為,λ=(s0,s1,...,sk-1,p0,p1,...,pm-1)。
編碼的步驟為:
1)初始化λi=si,i=0,1,...,k-1。pj=0,j=0,1,...,m-1;
2)對信息比特λ0,對以碼表中的第一行數字為地址的校驗比特進行累加,舉表1碼率7/12,碼長57600的碼表為例;
3)
4)對于接下來的(l-1)個信息比特(通常l=320)λm,m=1,2,....,l-1,將每個信息比特分別與按照如下y為地址的校驗比特進行累加:
y={x+(mmod320)×q}modm
其中,x是指與λ0相關的校驗位地址,舉表1為例,x即碼表中第一行的數字:
725867133414971916504952735610803290069461985510368110291144311713121861279813208135511435914576158631640316552172301756717630180351844219321206132107321375213902265923551
而其中
舉表1的碼字為例子,
5)對于第l個信息比特λl,按照碼表中的第二行數字地址對校驗比特進行累加。同樣的對于第l個信息比特λl接下來的l-1個信息比特,繼續按照步驟3)中的公式對校驗比特進行累加,這時候步驟三種的公式的x即碼表中第二行的數字。
6)同理,對于第2l、3l、4l…il…個信息比特,按照碼表中分別第3、4、5、…、(i+1)l….行的地址對校驗比特進行累加,而其信息比特之后的l-1個信息比特則分別按照步驟3)中的公式對校驗比特進行累加,注意這時候步驟三種的公式的x對應的是當前第il個信息比特所對應的碼表中的行,比如第il個信息比特之后的l-1個比特,其應用步驟3)中的公式的時候對應的x的地址為碼表中的第(i+1)行。
7)做完步驟5)之后,做如下操作:
本發明實施例還提供了一種ldpc碼字的解交織解映射方法。如圖2所示的是本發明的一種ldpc碼字的解交織解映射方法的具體實施方式的流程示意圖。參考圖2,ldpc碼字的解交織解映射方法包括如下步驟:
步驟s21:對符號流軟值數據依照相應的星座圖進行軟解映射處理以得到比特軟值數據;
步驟s22:將所述比特軟值數據按行順序寫入存儲空間并按列順序從該存儲空間內讀出以得到第一次比特解交織后的比特軟值數據;
步驟s23:將所述第一次比特解交織后的比特軟值數據按預定長度分成連續的多個比特軟值數據子塊,并按照相應的比特交換圖案變換所述比特軟值數據子塊的排列順序以形成第二次比特解交織后的比特軟值數據;
步驟s24:將所述第二次比特解交織后的比特軟值數據中對應于ldpc碼字中的校驗部分的比特軟值數據進行第三次比特解交織以得到第三次比特解交織后的比特軟值數據;
步驟s25:將所述第二次比特解交織后的比特軟值數據中與所述第三次比特解交織后的比特軟值數據拼接成比特軟值數據流;
步驟s26:對所述比特軟值數據流進行ldpc譯碼處理以得到解碼后的比特流數據。
在本實施例中,所述步驟s24具體包括:將所述第二次比特解交織后的比特軟值數據中對應于ldpc碼字中的校驗部分的比特軟值數據按行順序寫入存儲空間并按列順序從該存儲空間內讀出以得到第三次比特解交織后的比特軟值數據。
本發明雖然已以較佳實施例公開如上,但其并不是用來限定本發明,任何本領域技術人員在不脫離本發明的精神和范圍內,都可以利用上述揭示的方法和技術內容對本發明技術方案做出可能的變動和修改,因此,凡是未脫離本發明技術方案的內容,依據本發明的技術實質對以上實施例所作的任何簡單修改、等同變化及修飾,均屬于本發明技術方案的保護范圍。