一種準(zhǔn)并行結(jié)構(gòu)的ldpc編碼器的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及數(shù)字信息傳輸領(lǐng)域,尤其設(shè)及到CDR(中國數(shù)字音頻廣播)系統(tǒng)的發(fā)射 端調(diào)制器的LDPC(低密度奇偶校驗(yàn)碼)編碼技術(shù)。
【背景技術(shù)】
[0002] 在CDR系統(tǒng)的發(fā)射端調(diào)制中,需要對待發(fā)送數(shù)據(jù)進(jìn)行LDPC編碼。將待發(fā)送信息與其 LDPC編碼結(jié)果組合發(fā)送。
[0003] 根據(jù)"中華人民共和國廣播電影電視行業(yè)標(biāo)準(zhǔn)GY/T 268.1-2013"規(guī)定,LDPC碼采 用表一所示的四種不同碼率:
[0004] 表一 LDPC編碼規(guī)格表
[0006] 假設(shè)輸入編碼信息為m={m〇,mi,. . .,mw-i},對編碼信息進(jìn)行LDPC編碼得到校驗(yàn)位P = {p〇,pi,. . .,P92i日-w},其中編碼信息碼率為碼率1時(shí)W為2304,編碼信息碼率為碼率2時(shí)W為 3072,編碼信息碼率為碼率3時(shí)W為4608,編碼信息碼率為碼率4時(shí)W為6912。那么LDPC編碼器 的輸出碼字為C=k〇,Cl, . . . ,C9215} = {m〇,mi, . . . ,mw-l,P〇,Pl, . . .P9215-w}。
[0007] 上述校驗(yàn)位P={p〇,Pl,. . .,P921日-w}由校驗(yàn)矩陣H求解如下方程得出:
[000引 HXcT=O 式 1
[0009] 式中;
[0010] 0--(9216-W)行1列的全0列矢量;
[0011] H--LDPC奇偶校驗(yàn)矩陣。
[001^ LDPC碼傳統(tǒng)編碼算法和一般的線性分組碼十分類似,只需根據(jù)校驗(yàn)矩陣求出生成 矩陣G,然后利用生成矩陣G對編碼信息S進(jìn)行編碼。若已知長度為256Xn的信息序列s,G為 生成矩陣,則校驗(yàn)位碼字
[0014] 生成矩陣G中每個(gè)小G矩陣,如G(m n-1),為256X256的小矩陣。
[001引也就是說,LDPC編碼過程即計(jì)算G X S的過程。
[0016]現(xiàn)有技術(shù)中已經(jīng)存在實(shí)現(xiàn)LDPC編碼的硬件系統(tǒng),但是十分浪費(fèi)硬件資源,例如申 請?zhí)枮?01410837627.2的專利提供了一種實(shí)現(xiàn)LDPC編碼過程的全并行硬件結(jié)構(gòu),其具有M 個(gè)運(yùn)算單元,M的數(shù)量不小于m。運(yùn)樣的結(jié)構(gòu)是同時(shí)完成
[0020] 運(yùn)樣的好處的運(yùn)算速度很快。但是同時(shí)存在W下不足,使得該技術(shù)的實(shí)施需要花 費(fèi)很大的成本。
[0021] 本領(lǐng)域技術(shù)人員知曉,在碼率1情況下m取值為26,碼率2情況下m取值為23,碼率3 情況下m取值為17,碼率4情況下m取值為8。運(yùn)意味著申請?zhí)枮?01410837627.2的專利提供 的實(shí)現(xiàn)方案中,至少需要8個(gè)運(yùn)算單元,若要實(shí)現(xiàn)碼率兼容則需要26個(gè)運(yùn)算單元。運(yùn)算單元 數(shù)量太大,導(dǎo)致硬件成本居高不下。
[0022] 另外,全并行結(jié)構(gòu)中存在特殊矩陣系數(shù)讀取與非特殊矩陣系數(shù)讀取時(shí)間沖突的問 題,為了克服運(yùn)一問題,申請?zhí)枮?01410837627.2的專利中的存儲器數(shù)量必須至少為兩個(gè)。 一個(gè)存儲器存儲非特殊矩陣,另一個(gè)存儲器存儲特殊矩陣。運(yùn)使得在碼率3或碼率4情況下 矩陣系數(shù)讀取控制算法更為復(fù)雜,需要在兩片存儲器中切換讀取數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0023] 本發(fā)明所要解決的技術(shù)問題是:針對上述存在的問題,提供一種結(jié)構(gòu)更加精簡的 準(zhǔn)并行結(jié)構(gòu)的LDPC編碼器,有效降低生產(chǎn)成本。
[0024] 本發(fā)明采用的技術(shù)方案如下:包括至少一個(gè)存儲器、=個(gè)運(yùn)算單元、控制單元及選 通輸出單元。
[0025] 所述存儲器與=個(gè)運(yùn)算單元均具有信號連接,存儲器用于存儲碼率1、碼率2、碼率 3及碼率4情況時(shí)的生成矩陣。
[00%]=個(gè)運(yùn)算單元分別用于先并行計(jì)算
[0033] W此類推,直到并行計(jì)算
[0037]每個(gè)運(yùn)算單元均具有編碼信息輸入端,除最后一個(gè)運(yùn)算單元外的其余運(yùn)算單元還 具有編碼信息輸出端;第一個(gè)運(yùn)算單元的編碼信息輸入端與編碼信息輸出線連接,除第一 個(gè)運(yùn)算單元外的其余運(yùn)算單元的編碼信息輸入端與前一個(gè)運(yùn)算單元的編碼信息輸出端連 接;
[0038] 所述編碼信息輸出線及編碼信息輸出端均用于根據(jù)控制時(shí)鐘逐位輸出編碼信息;
[0039] 所述選通輸出單元用于依次輸出第一運(yùn)算單元、第二運(yùn)算單元及第=運(yùn)算單元的 運(yùn)算結(jié)果;
[0040] 所述控制單元用于根據(jù)控制時(shí)鐘控制存儲器向所述=個(gè)運(yùn)算單元輸出生成矩陣 系數(shù);
[0041] 其中,生成矩陣為
G(0 n-l)、G(l 0)、…、G(1 k)、…、G(1 n-1)、…、G(m 0)、…、G(m k)、…、G(m n-1)分別為 256 X 256的小矩陣
為256 Xn位的編碼信息,s〇、si、…、Sn-I分別為256維列向量;m、n 均為正整數(shù),且m+1能被3整除。
[0042] 進(jìn)一步,所述運(yùn)算單元包括兩個(gè)256位寄存器、256個(gè)與單元W及256個(gè)異或單元; 其中,第一寄存器用于接收存儲器輸出的256位生成矩陣系數(shù);各與單元的第一輸入端分別 對應(yīng)與第一寄存器的256位具有信號連接,各與單元的第二輸入端均與其所在的運(yùn)算單元 的編碼信號輸入端連接;各異或單元的第一輸入端與各與單元的輸出端對應(yīng)連接,各異或 單元的第二輸出端與其各自的輸出端連接,各異或單元的輸出端還分別對應(yīng)與第二寄存器 的256位具有信號連接。
[0043] 進(jìn)一步,存儲器用于存儲所述生成矩陣中所有非特殊小矩陣的第一列元素、生成 矩陣中特殊小矩陣的第一列元素、該特殊小矩陣中特殊列的第一列元素 W及特殊列后的第 一列元素。
[0044] 進(jìn)一步,在碼率1情況下,n為9,m為26或者在碼率2下,n為12,m為23:控制單元控制 運(yùn)算的步驟為:
[0045] 步驟1:控制存儲器按照控制時(shí)鐘依次向=個(gè)運(yùn)算單元的第一寄存器對應(yīng)輸出G (00)的第一列元素、G(IO)的第一列元素、G(20)的第一列元素;每個(gè)運(yùn)算單元的編碼信息輸 出線上按照控制時(shí)鐘依次出現(xiàn)SO的第一個(gè)元素;=個(gè)運(yùn)算單元各自完成一次運(yùn)算;運(yùn)算結(jié) 果存儲在第二寄存器中;
[0046] 步驟2:各運(yùn)算單元將其第一寄存器中的矩陣系數(shù)左移一位,各運(yùn)算單元的編碼信 息輸出線上按照控制時(shí)鐘依次出現(xiàn)SO中的下一個(gè)元素,各運(yùn)算單元完成一次運(yùn)算;運(yùn)算結(jié) 果存儲在第二寄存器中;
[0047] 各個(gè)運(yùn)算單元各自將步驟2循環(huán)255個(gè)控制時(shí)鐘,運(yùn)算結(jié)果存儲在第二寄存器中; 如此完成G(0 0)、G(1 0)、G(2 0)與SO的運(yùn)算;
[004引 W此類推,依次完成G(0 1)、G(1 1)、G(2 1)與Si的運(yùn)算,...,G(0 n-l)、G(l n-1)、 G(2 n-1)與Sn-I的運(yùn)算;
[0049] 最后,控制選通單元依次輸出第一運(yùn)算單元的運(yùn)算結(jié)果po、第二運(yùn)算單元的運(yùn)算 結(jié)果Pl及第=運(yùn)算單元的運(yùn)算結(jié)果P2 ;
[0050] 重復(fù)上述步驟,依次計(jì)算出P3、P4及P日;…直到計(jì)算出Pm-2、Pm-I及Pm。
[0化1 ] 進(jìn)一步,在碼率3情況下,n為18,m為17或者在碼率4情況下,n為27,m為8:生成矩陣 中G(0 k)、G(l k)-,G(m k)運(yùn)m+1個(gè)小矩陣中的第j列到第j+a列為特殊列,0<k<n-l,0<j <255,a為大于或等于1的整數(shù),且j+a<255;所述控制單元控制運(yùn)算的步驟為:
[0052] 步驟1:控制存儲器按照控制時(shí)鐘依次向=個(gè)運(yùn)算單元的第一寄存器對應(yīng)輸出G(0 0)的第一列元素、G(1