本發(fā)明涉及信道編解碼技術(shù)領(lǐng)域,特別涉及一種基于DVB-S2標(biāo)準(zhǔn)多碼率兼容的LDPC編碼器。
背景技術(shù):
DVB-S2標(biāo)準(zhǔn)是ETSI(歐洲電信標(biāo)準(zhǔn)協(xié)會)推出的新一代數(shù)字衛(wèi)星廣播標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)中使用了BCH碼和LDPC碼的級聯(lián)碼作為信道編碼方案。為適應(yīng)不同應(yīng)用場景和提高衛(wèi)星的傳輸性能,DVB-S2標(biāo)準(zhǔn)采用了可變編碼調(diào)制的方案,即多種碼率的LDPC信道編碼方案和多種高階調(diào)制方案聯(lián)合使用,根據(jù)應(yīng)用場景的改變,使用適當(dāng)碼率的LDPC信道編碼和適當(dāng)?shù)母唠A調(diào)制方案,獲得最大的傳輸性能。
DVB-S2標(biāo)準(zhǔn)中對LDPC碼總共提出了11種不同碼率編碼方案,每種碼率的編碼方案給出了一個相應(yīng)的種子矩陣,編碼器在編碼過程中通過尋找種子矩陣提供的地址,計算更新相應(yīng)地址的校驗比特,完成編碼。
DVB-S2標(biāo)準(zhǔn)LDPC編碼提供的算法如下:
LDPC編碼后的碼字為c=(i0,i1,…,ik-1,p0,p1,…,pm-1)。其中io,…,ik-1是信息比特,p0,…,pm-1是校驗比特。編碼過程是一個求p0,…,pm-1的過程。ETSI的協(xié)議A83-1中定義了如下的步驟:
步驟1)初始化p0=p1=p2=…=pm-1=0;
步驟2)根據(jù)協(xié)議Annex B和Annex C中各表格(Address Table)的第一行(根據(jù)編碼率選取相應(yīng)的表格),對信息比特i0進(jìn)行累積(模2加運算);
步驟3)DVB-S2中的編碼都是以360為組進(jìn)行的,因為360是所有碼率下的校驗塊長度的最大公約數(shù),對im,m=1,2,…,359,將im與第{x1+(mmod360)x q}mod(n–k)位的校驗比特做模2加運算,其中,x表示表格中第一行所示的數(shù)字(校驗比特地址);
步驟4)對第361位信息比特i360,根據(jù)表格中第二行與相應(yīng)位的校驗比特做模2加運算,隨后的359為信息比特,im,m=361,362,…,719,與第{x2+(mmod360)x q}mod(n–k)位的校驗比特做模2加運算,其中,x2表示表格中第二行所示的數(shù)字;
如上所示,依次對各組信息比特做累積(模2加),直到表格的最后一行,完成最后一組的累積,用完所有的信息位;
步驟5)從i=1起,做如下運算:pi=pi⊕pi-1,i=1,2,…m-1,得到最終的校驗比特。
基于上述輸入編碼信息位同時與多位校驗比特進(jìn)行運算的算法要求,以及種子矩陣大小各不相同等因素影響,增加了多碼率LDPC編碼電路的實現(xiàn)難度;為了降低運算難度,在現(xiàn)有的編碼技術(shù)中可采用各種碼率的編碼器分別單獨實現(xiàn)其編碼功能,或者將不同碼率的LDPC碼采用同一個存儲器來存儲種子地址,但是由于編碼的運算結(jié)構(gòu)不同,這樣就增加了電路實現(xiàn)的硬件開銷。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于,為了降低現(xiàn)有技術(shù)中的多碼率LDPC編碼電路在編碼過程中的復(fù)雜度,提出了一種基于DVB-S2標(biāo)準(zhǔn)多碼率兼容的LDPC編碼器。該DVB-S2標(biāo)準(zhǔn)多碼率兼容的LDPC編碼器主要特點在于將編碼器劃分為兩個主要的功能單元,包括控制信號生成單元和校驗比特更新單元,通過控制單元和運算單元的分離來簡化多碼率兼容的編碼器設(shè)計架構(gòu)。
為了實現(xiàn)上述目的,本發(fā)明提供的一種基于DVB-S2標(biāo)準(zhǔn)多碼率兼容的LDPC編碼器,包括控制信號生成單元和校驗比特更新單元;所述控制信號生成單元根據(jù)設(shè)定的編碼碼率和編碼起始標(biāo)識信號產(chǎn)生用于控制整個編碼器運轉(zhuǎn)的狀態(tài)控制信號、每一輸入的待編碼信息比特對應(yīng)于DVB-S2標(biāo)準(zhǔn)所提供的地址表中對應(yīng)行的若干地址、該編碼碼率對應(yīng)的控制標(biāo)識信號,并輸出至校驗比特更新單元,所述的若干地址表示所述編碼碼率下LDPC的編碼幀校驗區(qū)域中校驗比特的位置;所述的校驗比特更新單元通過狀態(tài)控制信號和控制標(biāo)識信號的控制,將待編碼信息比特與其對應(yīng)的若干地址中讀取的校驗比特進(jìn)行模二加運算,并將運算結(jié)果寫入原地址。
作為上述技術(shù)方案的進(jìn)一步改進(jìn),所述的控制標(biāo)識信號包括:校驗比特輸出標(biāo)識、CT_1標(biāo)識和CT_2標(biāo)識;所述的校驗比特輸出標(biāo)識表示待編碼信息比特輸入結(jié)束后所顯示的編碼幀校驗區(qū)域的起始位置,所述的CT_1標(biāo)識表示在設(shè)定的編碼碼率下,每一輸入的待編碼信息比特對應(yīng)于DVB-S2標(biāo)準(zhǔn)所提供的地址表中對應(yīng)行的地址個數(shù)大于等于8的行結(jié)束標(biāo)識,所述的CT_2標(biāo)識表示在設(shè)定的編碼碼率下,每一輸入的待編碼信息比特對應(yīng)于DVB-S2標(biāo)準(zhǔn)所提供的地址表中對應(yīng)行的地址個數(shù)等于3的行結(jié)束標(biāo)識。
作為上述技術(shù)方案的進(jìn)一步改進(jìn),控制信號生成單元包括:編碼狀態(tài)生成單元、地址及控制標(biāo)識生成單元和延時單元。
所述的編碼狀態(tài)生成單元:根據(jù)外部輸入的編碼起始標(biāo)識信號、輸入時鐘和復(fù)位信號產(chǎn)生工作狀態(tài)信號,用于指示編碼器中其他單元的工作狀態(tài),所述的工作狀態(tài)包括編碼狀態(tài)和空閑態(tài);
所述的地址及控制標(biāo)識生成單元:通過設(shè)定的編碼碼率、工作狀態(tài)信號、時鐘和復(fù)位信號產(chǎn)生校驗比特更新單元需要的讀地址、寫地址和該編碼碼率對應(yīng)的控制標(biāo)識信號;所述的讀地址和寫地址表示在設(shè)定的編碼碼率下,分別用于讀取和寫入操作的每一輸入的待編碼信息比特對應(yīng)于DVB-S2標(biāo)準(zhǔn)所提供的地址表中對應(yīng)行的若干地址;
所述的延時單元:接收編碼狀態(tài)生成單元產(chǎn)生的工作狀態(tài)信號,并將延時處理后的工作狀態(tài)信號發(fā)送至校驗比特更新單元。
作為上述技術(shù)方案的進(jìn)一步改進(jìn),所述的地址及控制標(biāo)識生成單元包括:寄存器、行地址累加器、種子地址ROM單元、地址生成器、緩存器;
所述的寄存器:用于存儲種子地址表的初始地址,將設(shè)定的編碼碼率所對應(yīng)的種子地址表初始地址發(fā)送至行地址累加器,所述的種子地址表表示設(shè)定的編碼碼率所對應(yīng)的DVB-S2標(biāo)準(zhǔn)LDPC碼在ETSI中的地址表;
所述的行地址累加器:通過累加設(shè)定的編碼碼率所對應(yīng)的種子地址表初始地址后產(chǎn)生行地址和種子地址表的行跳轉(zhuǎn)標(biāo)識,并根據(jù)行地址累加計數(shù)產(chǎn)生設(shè)定的編碼碼率的校驗比特輸出標(biāo)識、CT_1標(biāo)識和CT_2標(biāo)識;
所述的種子地址ROM單元:根據(jù)行地址和種子地址表的行跳轉(zhuǎn)標(biāo)識生成與設(shè)定的編碼碼率所對應(yīng)的種子地址表;
所述的地址生成器:接收種子地址ROM單元輸出的種子地址表和行跳轉(zhuǎn)標(biāo)識,通過DVB-S2標(biāo)準(zhǔn)提供的LDPC編碼算法生成每一輸入的待編碼信息比特的讀地址,并將讀地址分別輸入緩存器和校驗比特更新單元;
所述的緩存器:將接收到的讀地址延遲后輸出至校驗比特更新單元,作為每一輸入的待編碼信息比特的寫地址。
作為上述技術(shù)方案的進(jìn)一步改進(jìn),所述的校驗比特更新單元包括:RAM塊讀寫使能控制單元、模2加和累加運算單元、輸出判斷單元和若干列RAM存儲單元;
所述的RAM塊讀寫使能控制單元:接收設(shè)定的編碼碼率、待編碼信息比特及其對應(yīng)的讀地址、寫地址、CT_1標(biāo)識、CT_2標(biāo)識;通過設(shè)定的編碼碼率選擇相應(yīng)的參與校驗比特更新運算的RAM存儲單元,并控制RAM存儲單元讀寫使能;通過CT_1標(biāo)識和CT_2標(biāo)識控制,將待編碼信息比特與其對應(yīng)的讀地址讀取的校驗比特進(jìn)行模二加運算,并將運算結(jié)果寫入寫地址對應(yīng)的RAM存儲單元;
所述的模2加和累加運算單元:根據(jù)DVB-S2標(biāo)準(zhǔn)提供的LDPC編碼算法,將所有RAM存儲單元中的校驗比特按地址順序進(jìn)行模二加運算和累加運算,并將運算結(jié)果輸出至輸出判斷單元;
所述的輸出判斷單元:將輸入的待編碼信息比特直接輸出,并通過校驗比特輸出標(biāo)識控制,將從模2加和累加運算單元接收的運算結(jié)果依次輸出;
所述的RAM存儲單元:用于存儲讀地址中的校驗比特。
作為上述技術(shù)方案的進(jìn)一步改進(jìn),所述設(shè)定的編碼碼率包括:1/2碼率、3/5碼率、2/3碼率、3/4碼率的DVB-S2標(biāo)準(zhǔn)LDPC碼。
作為上述技術(shù)方案的進(jìn)一步改進(jìn),所述種子地址ROM單元中的列數(shù)為13,所述校驗比特更新單元中設(shè)有13列RAM存儲單元。
本發(fā)明的一種基于DVB-S2標(biāo)準(zhǔn)多碼率兼容的LDPC編碼器優(yōu)點在于:
1、本發(fā)明的LDPC編碼器通過將控制單元和運算單元分離設(shè)計,實現(xiàn)了一種兼容DVB-S2標(biāo)準(zhǔn)的多種碼率LDPC的編碼器架構(gòu)設(shè)計,只需要在外部接口設(shè)置相應(yīng)的編碼碼率,即可完成相應(yīng)碼率的編碼運算。
2、本發(fā)明的地址及控制標(biāo)識生成單元通過設(shè)計合適的ROM讀取機制,通過僅僅改變外部輸入的編碼碼率,即可快速的生成校驗比特運算更新單元所需的讀寫地址,優(yōu)化了設(shè)計,減少了ROM資源占用。
3、本發(fā)明的校驗比特運算更新單元采用了獨特的RAM存儲單元和運算結(jié)構(gòu)設(shè)計,使得不同的碼率的編碼可以在相同的運算單元上完成,且使得輸入的數(shù)據(jù)能夠同時與多位不同地址的校驗比特進(jìn)行數(shù)學(xué)運算,從而簡化了編碼器整體設(shè)計,同時提升了編碼速率。
附圖說明
圖1為本發(fā)明的一種基于DVB-S2標(biāo)準(zhǔn)多碼率兼容的LDPC編碼器外部接口示意圖。
圖2為本發(fā)明的一種基于DVB-S2標(biāo)準(zhǔn)多碼率兼容的LDPC編碼器內(nèi)部結(jié)構(gòu)示意圖。
圖3為本發(fā)明實施例中的地址及控制標(biāo)識生成單元結(jié)構(gòu)示意圖。
圖4為本發(fā)明實施例中的校驗比特更新單元結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明所述的一種基于DVB-S2標(biāo)準(zhǔn)多碼率兼容的LDPC編碼器進(jìn)行詳細(xì)說明。
如圖1所示,是本發(fā)明提供的一種基于DVB-S2標(biāo)準(zhǔn)多碼率兼容的LDPC編碼器外部接口示意圖,其輸入接口包括碼率、幀同步信息、時鐘、復(fù)位和輸入數(shù)據(jù);其輸出接口包括編碼數(shù)據(jù)。所述的時鐘用于驅(qū)動本發(fā)明編碼器中設(shè)置的各單元保持同步工作,復(fù)位用于在校驗比特更新單元運行之初,對電路中的寄存器附上初始值,將控制信號生成單元賦予初始運行狀態(tài)。
如圖2所示,是本發(fā)明提供的一種基于DVB-S2標(biāo)準(zhǔn)多碼率兼容的LDPC編碼器內(nèi)部結(jié)構(gòu)示意圖。下面結(jié)合圖2對整個基于DVB-S2標(biāo)準(zhǔn)多碼率兼容的LDPC編碼器的結(jié)構(gòu)進(jìn)行詳細(xì)的描述。所述的LDPC編碼器按照功能劃分為左右兩大部分,如圖2所示,包括控制信號生成單元和校驗比特更新單元,左半部分用于產(chǎn)生編碼器運轉(zhuǎn)的各種控制信號和讀寫地址信息;右半部分用于進(jìn)行編碼的校驗位比特運算。
所述控制信號生成單元的具體功能包括:根據(jù)設(shè)定的編碼碼率和編碼起始標(biāo)識信號產(chǎn)生用于整個編碼器運轉(zhuǎn)的狀態(tài)控制信號、每一輸入的待編碼信息比特對應(yīng)于DVB-S2標(biāo)準(zhǔn)所提供的地址表中對應(yīng)行的若干地址和該編碼碼率對應(yīng)的控制標(biāo)識信號,這兩類信號是通過控制信號生成單元內(nèi)部的編碼狀態(tài)生成單元、地址及控制標(biāo)識生成單元和延時單元來合作生成的。
基于上述結(jié)構(gòu)的LDPC編碼器,如圖2所示,所述的編碼狀態(tài)生成單元的功能包括:根據(jù)外部輸入的編碼起始標(biāo)識信號、輸入時鐘和復(fù)位信號產(chǎn)生一個全局的工作狀態(tài)信號,所述的工作狀態(tài)包括編碼碼字中標(biāo)識符填充狀態(tài)、編碼狀態(tài)、空閑態(tài)等,用于指示編碼器其他單元的工作狀態(tài)。由于編碼后的碼字是按照各個協(xié)議的幀格式組織起來的,有可能需要在編碼完成后的幀格式中的特定位置(一般是開頭或結(jié)尾)加上一些特定的幀的信息,比如用于無線傳輸后的地面接收機跟蹤的特定字符串,或者一些幀的長度、格式信息等。在編碼器送入的數(shù)據(jù)幀格式中已經(jīng)預(yù)留了填充信息比特位,而設(shè)置一個標(biāo)識符填充狀態(tài)用來在編碼之前填充上述信息。
所述的地址及控制標(biāo)識生成單元的功能包括:通過設(shè)定的編碼碼率、輸入的工作狀態(tài)信號、時鐘和復(fù)位信號產(chǎn)生校驗比特更新單元需要的讀地址、寫地址和該編碼碼率對應(yīng)的控制標(biāo)識信號,所述的控制標(biāo)識信號可包括:校驗比特輸出標(biāo)識、CT_1標(biāo)識、CT_2標(biāo)識,這些控制標(biāo)識信號用來控制校驗比特更新單元的工作狀態(tài)。
所述的延時單元:用來協(xié)調(diào)各單元之間狀態(tài)信號傳遞的時延不同的問題。
所述的校驗比特更新單元的功能是運算并更新數(shù)據(jù)幀的校驗比特位,其通過控制信號生成單元產(chǎn)生的狀態(tài)控制信號、不同碼率對應(yīng)的控制標(biāo)識信號以及讀寫地址,完成對輸入數(shù)據(jù)進(jìn)行不同碼率條件下的編碼運算,即完成待編碼信息比特與其對應(yīng)的若干地址中讀取的校驗比特進(jìn)行模二加運算,并將運算結(jié)果寫入原地址的運算。獨立的運算模塊能夠更方便的實現(xiàn)不同碼率編碼的兼容設(shè)計。
如圖2所示,編碼狀態(tài)生成單元接收到上級單元提供的幀同步信號,在時鐘的作用下產(chǎn)生對應(yīng)的工作狀態(tài)信號,該幀同步信號包含編碼起始標(biāo)識。
所述的工作狀態(tài)信號有三種,包括:空閑態(tài)、編碼態(tài)和故障態(tài)。當(dāng)編碼器上電運行時,此時如果未收到上級單元提供的幀同步信號或者收到上級單元提供的幀同步信號但是沒有開始編碼時,工作狀態(tài)信號輸出為空閑態(tài);當(dāng)編碼器開始進(jìn)行編碼工作時,工作狀態(tài)信號輸出為編碼態(tài);其余不符合上述兩種情況的工作狀態(tài)為故障態(tài),當(dāng)編碼器處于故障態(tài)時,其工作狀態(tài)信號自動跳轉(zhuǎn)到空閑態(tài)??臻e態(tài)用于指示編碼器中的各單元恢復(fù)至初始狀態(tài),編碼態(tài)用于指示編碼器中的各單元啟動編碼過程,開始進(jìn)行編碼操作。
編碼狀態(tài)生成單元產(chǎn)生的工作狀態(tài)信號分別發(fā)送給延時單元和地址及控制標(biāo)識生成單元。延時單元將收到的工作狀態(tài)信號延時處理后再發(fā)送給校驗比特更新單元。由于CT_1標(biāo)識、CT_2標(biāo)識等信號是在工作狀態(tài)信號的作用下生成的,即在工作狀態(tài)信號之后產(chǎn)生的,但是對于校驗比特運算單元而言,需要這些信號同時輸入才能實現(xiàn)正常的運轉(zhuǎn),因此需要利用延時單元對工作狀態(tài)信號進(jìn)行延時輸出。所述的工作狀態(tài)信號用于指示地址及控制標(biāo)識生成單元、校驗比特更新單元的工作狀態(tài)。
地址及控制標(biāo)識生成單元接收編碼器外部設(shè)定的編碼碼率和編碼狀態(tài)生成單元產(chǎn)生的工作狀態(tài)信號,在時鐘的作用下,能夠產(chǎn)生4種碼率對應(yīng)的讀地址、寫地址、校驗比特輸出標(biāo)識、CT_1標(biāo)識、CT_2標(biāo)識。
在DVB-S2標(biāo)準(zhǔn)提供的LDPC編碼算法中,每個輸入的待編碼信息比特要與DVB-S2標(biāo)準(zhǔn)中提供的地址表中對應(yīng)行的若干地址進(jìn)行模2加運算,且運算后的數(shù)據(jù)要存儲回原地址。該地址表中數(shù)據(jù)表示的是該碼率下LDPC的編碼幀校驗區(qū)域中校驗比特位的位置。因為,編碼幀在校驗比特更新單元運算過程中是存儲在對應(yīng)于該碼率校驗區(qū)域長度的若干塊RAM存儲單元中,所以在對于每個輸入的待編碼信息比特,地址及控制標(biāo)識生成單元都要產(chǎn)生該碼率條件下,DVB-S2標(biāo)準(zhǔn)中提供的地址表中對應(yīng)行的若干地址。
所述的讀地址表示的在設(shè)定的編碼碼率下,每個輸入的待編碼信息比特對應(yīng)于DVB-S2標(biāo)準(zhǔn)提供的地址表中對應(yīng)行的若干地址,用于將存儲在校驗比特更新單元中的RAM存儲單元中的相關(guān)的校驗比特位讀出。
所述的讀地址以延時幾個時鐘周期后輸出的數(shù)據(jù),作為每個輸入的待編碼信息比特的寫地址,用于將每個輸入的待編碼信息比特與對應(yīng)讀地址中的校驗比特進(jìn)行模2運算后的結(jié)果寫回RAM存儲單元中校驗比特運算前的地址。
所述的校驗比特輸出標(biāo)識表示編碼幀中輸入的待編碼信息比特結(jié)束后所顯示的編碼幀校驗區(qū)域開始的位置,也就是編碼幀中第一個校驗比特存儲的位置。校驗比特輸出標(biāo)識用于指示校驗比特更新單元開始執(zhí)行校驗比特的輸出。相同編碼幀長度,不同碼率的編碼情況下,校驗比特輸出標(biāo)識的位置不同。
在DVB-S2標(biāo)準(zhǔn)提供的地址表中,每個輸入的待編碼信息比特對應(yīng)行的若干地址個數(shù)不同。分為兩種情況:一種情況為對應(yīng)行的地址個數(shù)大于等于8;另一種情況是對應(yīng)行的地址個數(shù)等于3。
所述的CT_1標(biāo)識是在某種設(shè)定的編碼碼率下,每個輸入的待編碼信息比特對應(yīng)于DVB-S2標(biāo)準(zhǔn)所提供的地址表中對應(yīng)行的地址個數(shù)大于等于8的行結(jié)束標(biāo)識,用于指示校驗比特更新單元運算。
所述的CT_2標(biāo)識是在某種設(shè)定的編碼碼率下,每個輸入的待編碼信息比特對應(yīng)于DVB-S2標(biāo)準(zhǔn)所提供的地址表中對應(yīng)行的地址個數(shù)等于3的行結(jié)束標(biāo)識,用于指示校驗比特更新單元運算。
實施例一
基于上述結(jié)構(gòu)的LDPC編碼器,在本實施例中,以碼長64800,碼率1/2、3/5、2/3、3/4的4種DVB-S2標(biāo)準(zhǔn)LDPC碼,結(jié)合圖3詳細(xì)描述地址及控制標(biāo)識生成單元的具體結(jié)構(gòu)及工作過程。所述的地址及控制標(biāo)識生成單元包括:寄存器、行地址累加器、種子地址ROM單元、地址生成器、緩存器。
4種碼率對應(yīng)的DVB-S2標(biāo)準(zhǔn)LDPC碼在ETSI中給出了對應(yīng)的地址表,通過這些地址表和簡單的累加運算能夠生成整個編碼需要的地址,我們稱這些地址表為種子地址表。如圖3所示,4種碼率對應(yīng)的種子地址表依次存儲在地址及控制標(biāo)識生成單元的一個種子地址ROM單元中,4種碼率對應(yīng)的種子地址表在ROM存儲器中的初始地址存儲在寄存器中。
當(dāng)?shù)刂芳翱刂茦?biāo)識生成單元輸入的工作狀態(tài)信號為空閑態(tài)時,其不工作;當(dāng)?shù)刂芳翱刂茦?biāo)識生成單元輸入的工作狀態(tài)信號為編碼態(tài)時,外部設(shè)置的碼率信息發(fā)送給4種碼率至寄存器和行地址累加器。寄存器選擇碼率信息對應(yīng)的種子地址表初始地址發(fā)送到行地址累加器。行地址累加器通過累加碼率信息所對應(yīng)的種子地址表初始地址后產(chǎn)生種子地址ROM單元需要的行地址和行跳轉(zhuǎn)標(biāo)識。行跳轉(zhuǎn)標(biāo)識由行地址累加器根據(jù)DVB-S2標(biāo)準(zhǔn)提供的LDPC編碼算法產(chǎn)生。
種子地址ROM單元的列數(shù)設(shè)定為13,這是2/3碼率LDPC碼的種子地址表的地址行中地址的個數(shù),也是4種碼率中地址行中地址最多的個數(shù)。設(shè)定為13能夠兼容其他幾種碼率的LDPC碼的種子地址表。
所述的地址生成器接收到種子地址ROM單元輸出的種子地址表和行跳轉(zhuǎn)標(biāo)識,通過DVB-S2標(biāo)準(zhǔn)提供的LDPC編碼算法生成對應(yīng)每個輸入待編碼信息比特的讀地址,并將讀地址分別輸入緩存器和校驗比特更新單元。在讀地址輸入緩存器后,需延遲幾個時鐘后輸出為寫地址至校驗比特更新單元。
在地址及控制標(biāo)識生成單元接收外部發(fā)送的碼率信息過程中,行地址累加器產(chǎn)生行地址累加計數(shù),并根據(jù)行地址累加計數(shù)產(chǎn)生對應(yīng)碼率的校驗比特輸出標(biāo)識、CT_1標(biāo)識、CT_2標(biāo)識。
基于上述結(jié)構(gòu)的LDPC編碼器,在本實施例中,以碼長64800,碼率1/2的DVB-S2標(biāo)準(zhǔn)LDPC碼,結(jié)合圖4詳細(xì)描述校驗比特更新單元的具體結(jié)構(gòu)及工作過程。如圖4所示,所述的校驗比特更新單元由若干列RAM存儲單元、RAM塊讀寫使能控制單元、模2加和累加運算單元和輸出判斷單元組成。
其中,RAM存儲單元的個數(shù)設(shè)定為13(圖4中示出的個數(shù)為8個),這是4種碼率中地址行中地址最多的個數(shù)。RAM存儲單元設(shè)定為13可以兼容其他幾種碼率的LDPC碼的校驗比特更新運算。RAM塊讀寫使能控制單元接收碼率信息、待編碼信息比特及其對應(yīng)的讀地址、寫地址、CT_1標(biāo)識、CT_2標(biāo)識;用來控制選定碼率下參與校驗比特更新運算的RAM存儲單元的讀寫使能。當(dāng)校驗比特更新單元輸入的工作狀態(tài)信號為空閑態(tài)時,校驗比特更新單元不工作;當(dāng)校驗比特更新單元輸入的工作狀態(tài)信號為編碼態(tài)時,外部設(shè)定的1/2碼率發(fā)送給RAM塊讀寫使能控制單元,此時RAM塊讀寫使能控制單元根據(jù)碼率信息選擇相應(yīng)的參與校驗比特更新運算的8個RAM存儲單元。所述的輸出判斷單元根據(jù)前級提供的校驗比特輸出標(biāo)識判斷輸出的數(shù)據(jù)是待編碼信息比特或者更新后的校驗比特。
所述的模2加和累加運算單元根據(jù)DVB-S2標(biāo)準(zhǔn)提供的LDPC編碼算法,在所有參與運算的RAM存儲單元結(jié)束運算后,將所有RAM存儲單元中的校驗比特按地址順序進(jìn)行模2加運算和累加運算,并將運算結(jié)果輸出至輸出判斷單元。
在校驗比特更新單元收到地址及控制標(biāo)識生成單元產(chǎn)生的校驗比特輸出標(biāo)識前,每個待編碼的信息比特輸入校驗比特更新單元,同時將地址及控制標(biāo)識生成單元產(chǎn)生的讀地址、寫地址、CT_1標(biāo)識、CT_2標(biāo)識也輸入到校驗比特更新單元,此時RAM塊讀寫使能控制單元通過CT_1標(biāo)識和CT_2標(biāo)識控制,將輸入的待編碼信息比特與其對應(yīng)的讀地址讀取的RAM存儲單元中的校驗比特進(jìn)行異或運算,然后將運算得到的結(jié)果再存回輸入的寫地址所對應(yīng)的RAM存儲單元,同時輸出判斷單元將輸入的待編碼信息比特直接輸出。
當(dāng)校驗比特更新單元收到地址及控制標(biāo)識生成單元產(chǎn)生的校驗比特輸出標(biāo)識時,模2加和累加運算單元將各參與校驗比特更新運算的RAM存儲單元中的數(shù)據(jù)按地址順序進(jìn)行模2加運算和累加運算。同時,輸出判斷單元根據(jù)前級提供的校驗比特輸出標(biāo)識,將從模2加和累加運算單元接收到的運算結(jié)果依次輸出,直到一幀編碼幀輸出完畢,工作狀態(tài)信號改變后,再重復(fù)上述編碼操作過程。
總之,所述的LDPC編碼器以不同碼率的LDPC碼種子地址按順序存儲在同一個ROM單元中,共用一個運算單元,通過結(jié)構(gòu)設(shè)計實現(xiàn)輸入不同參數(shù),進(jìn)行不同的碼率的編碼。這樣一種通用的結(jié)構(gòu)能夠繼續(xù)擴(kuò)展到更多種碼率的編碼器的實現(xiàn),如:可以實現(xiàn)DVB-S2中的11種碼率LDPC碼的兼容,而僅僅需要增加少量的ROM資源來存儲新增的碼率的LDPC碼種子地址,運算單元不需要修改,具有很好的擴(kuò)展性。
最后所應(yīng)說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制。盡管參照實施例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,對本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,都不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。