專利名稱:數(shù)字無線信號傳輸系統(tǒng)的cmmb字節(jié)交織和rs編碼實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字無線信號傳輸技術(shù)領(lǐng)域,特別是用于數(shù)字無線信號傳輸系統(tǒng)的無線廣播傳輸系統(tǒng)CMMB字節(jié)交織和Reed-Solomon即RS編碼技術(shù)。
背景技術(shù):
在數(shù)字無線信號傳輸系統(tǒng)中,數(shù)字信號源經(jīng)過編碼調(diào)制得到高頻信號,經(jīng)信道傳輸?shù)浇邮战K端恢復(fù)出數(shù)字信號,這過程不可避免地出現(xiàn)干擾引起信號畸變,致使接收系統(tǒng)不能恢復(fù)出一致的數(shù)字信號。如果不控制誤碼率,會引起系統(tǒng)功能失常。無線信號傳輸系統(tǒng)通常采用交織技術(shù)和前向糾錯碼技術(shù)來保證接收端誤碼率控制在合理水平。CMMB是無線廣播傳輸系統(tǒng),是手機電視和移動多媒體廣播重要傳輸標準。CMMB中 廣播幀時間長度為一秒,廣播幀可分為40個時隙,一個節(jié)目可以使用一個或多個時隙來廣播,不同節(jié)目可以采用不同編碼調(diào)制參數(shù),提高系統(tǒng)靈活性。如圖I所示,CMMB標準規(guī)定,QAM104之前需進行字節(jié)交織與RS編碼101、LDPC編碼102以及比特交織103,這樣的交織技術(shù)和糾錯碼組合能有效地提高系統(tǒng)可靠性。圖I中的P1,…,Pn表示若干復(fù)用幀或節(jié)目,節(jié)目經(jīng)過獨立編碼調(diào)制后形成廣播幀105,總時間長度為一秒。在CMMB 8M系統(tǒng)中,字節(jié)交織有三種模式,RS糾錯編碼有四種模式,LDPC糾錯編碼有兩種模式。字節(jié)交織原理可以看做二維矩陣MxL,M稱為字節(jié)交織深度。輸入時,數(shù)據(jù)按列填充二維矩陣;RS編碼時,按行提取信息塊編碼;輸出時,數(shù)據(jù)按列輸出,即先全部輸出信息字節(jié)再輸出校驗字節(jié)。RS糾錯編碼采用碼長為240字節(jié)的RS (240,Kks)截短碼,Kes =240, 224,192,176,該碼由原始的RS (255,KKSOTi)系統(tǒng)碼通過截短產(chǎn)生,其中KKSOTi=Kes +15。LDPC (9216,Kuirc)是基于比特的糾錯編碼,LDPC碼率為1/2和3/4兩種,Kuirc為4068或6912比特。用于字節(jié)交織的二維矩陣列數(shù)L等于240,輸入時數(shù)據(jù)填充到第Kks列即可,經(jīng)過RS (240,Kks)編碼后列數(shù)擴充到240。用于字節(jié)交織的二維矩陣行數(shù)M取值與字節(jié)交織模式和LDPC碼率有關(guān)。在字節(jié)交織模式一時,在1/2 LDPC碼率下M=72 ;在3/4LDPC碼率下M=144。在字節(jié)交織模式二時,在1/2 LDPC碼率下M=144 ;在3/4 LDPC碼率下M=216。在字節(jié)交織模式三時,在1/2 LDPC碼率下M=288 ;在3/4 LDPC碼率下M=432。對于CMMB 2M系統(tǒng),與8M系統(tǒng)不同之處在于,在相同字節(jié)交織模式下交織深度M是8M系統(tǒng)的1/2?,F(xiàn)有專利和文獻中均未見有對CMMB字節(jié)交織和RS編碼實現(xiàn)方法的具體記載。
發(fā)明內(nèi)容
為了彌補現(xiàn)有技術(shù)的不足,本發(fā)明的目的是提供一種數(shù)字無線信號傳輸系統(tǒng)的CMMB字節(jié)交織和RS編碼實現(xiàn)方法。它能使CMMB系統(tǒng)支持多達40個不同節(jié)目按照獨立的編碼調(diào)制參數(shù)進行高效傳輸,它減少了存儲器芯片個數(shù),降低了 CMMB字節(jié)交織和RS編碼的
復(fù)雜度。為了達到上述發(fā)明目的,本發(fā)明的技術(shù)方案以如下方式實現(xiàn)數(shù)字無線信號傳輸系統(tǒng)的CMMB字節(jié)交織和RS編碼實現(xiàn)方法,它使用外部SRAM存儲器,其步驟為
將SRAM存儲器按地址分為存儲空間相同的三段存儲區(qū)SRAM0、SRAM1和SRAM2。通過乒乓操作對三個存儲區(qū)循環(huán)進行如下處理寫入字節(jié)交織輸入數(shù)據(jù)的“輸入”;讀出RS信息碼和寫入RS校驗碼的“RS編碼”;讀出字節(jié)交織輸出數(shù)據(jù)的“輸出”;每三輪處理重復(fù)“輸入”、“RS編碼”和“輸出”過程;
在第一輪處理中,向SRAMO存儲區(qū)寫入數(shù)據(jù),對SRAMl和SRAM2不處理;第二輪處理中,讀取SRAMO存儲區(qū)數(shù)據(jù)進行RS編碼并向該存儲區(qū)回寫RS校驗碼,向SRAMl存儲區(qū)寫入數(shù)據(jù),對SRAM2不處理;第三輪處理中,從SRAMO存儲區(qū)輸出數(shù)據(jù),讀取SRAMl存儲區(qū)數(shù)據(jù)進行RS編碼并向該存儲區(qū)回寫RS校驗碼,向SRAM2存儲區(qū)寫入數(shù)據(jù)。在上述CMMB字節(jié)交織和RS編碼實現(xiàn)方法中,所述“輸入”過程中按線性地址向SRAM存儲器寫入數(shù)據(jù);“RS編碼”過程中按照每隔M個地址讀取一個數(shù)據(jù),重復(fù)Kks次,讀出 滿足RS信息塊進行編碼,然后把RS校驗碼按照每隔M個地址寫入一個數(shù)據(jù),重復(fù)240-KKS次,直到把所有校驗碼寫入SRAM存儲器中;“輸出”過程中按線性地址從SRAM讀出數(shù)據(jù)。在上述CMMB字節(jié)交織和RS編碼實現(xiàn)方法中,所述M取值為72、144、288、108、216或 432 ;Κκ 取值為 240、224、192 或 176。在上述CMMB字節(jié)交織和RS編碼實現(xiàn)方法中,所述在“輸出”過程中,每輪所處理的字節(jié)數(shù)固定為LDPC編碼塊,LDPC碼率等于1/2時LDPC編碼塊為576個字節(jié),LDPC碼率等于3/4時LDPC編碼塊為864個字節(jié);在“輸入”和“RS編碼”過程中,每輪所處理的字節(jié)數(shù)與字節(jié)交織模式和LDPC碼率有關(guān),要求在小于等于Q輪內(nèi)完成與當前輪“輸入”和“RS編碼”過程的字節(jié)交織模式所有數(shù)據(jù)讀取和寫入。本發(fā)明由于采用了上述實現(xiàn)方法,軟硬件結(jié)構(gòu)清晰,能使CMMB系統(tǒng)支持多達40個不同節(jié)目按照獨立的編碼調(diào)制參數(shù)進行高效傳輸,減少了存儲器芯片個數(shù),降低了 CMMB字節(jié)交織和RS編碼的復(fù)雜度。本發(fā)明根據(jù)CMMB標準要求,是一種新的CMMB字節(jié)交織和RS編碼實現(xiàn)方法,它能滿足所有模式組合,完全符合GY/T 220. I一2006廣播行業(yè)標準。下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步說明。
圖I為CMMB系統(tǒng)中字節(jié)交織和糾錯碼組合的示意 圖2為本發(fā)明中對外部SRAM存儲器使用乒乓操作方法的示意 圖3為本發(fā)明中SRAM的線性地址存儲方法示意 圖4為本發(fā)明實施例中CMMB字節(jié)交織和RS編碼的示意 圖5為本發(fā)明實施例中SRAM的讀寫控制方法示意圖。
具體實施例方式參看圖2和圖3,本發(fā)明使用外部SRAM存儲器201,SRAM存儲器201按地址分為存儲空間相同的三段存儲區(qū)SRAMO、SRAMl和SRAM2,其步驟為
通過乒乓操作對三個存儲區(qū)循環(huán)進行如下處理寫入字節(jié)交織輸入數(shù)據(jù)的“輸入”;讀出RS信息碼和寫入RS校驗碼的“RS編碼”;讀出字節(jié)交織輸出數(shù)據(jù)的“輸出”。每三輪處理重復(fù)“輸入”、“RS編碼”和“輸出”過程?!拜斎搿边^程中按線性地址向SRAM存儲器201寫入數(shù)據(jù)。“RS編碼”過程中按照每隔M個地址讀取一個數(shù)據(jù),重復(fù)Kks次,讀出滿足RS信息塊進行編碼,然后把RS校驗碼按照每隔M個地址寫入一個數(shù)據(jù),重復(fù)240-KKS次,直到把所有校驗碼寫入SRAM存儲器201中。其中M取值為72、144、288、108、216或432 ;KKS取值為240、224、192或176。在“輸入”和“RS編碼”過程中,每輪所處理的字節(jié)數(shù)與字節(jié)交織模式和LDPC碼率有關(guān),要求在小于等于Q輪內(nèi)完成與當前輪“輸入”和“RS編碼”過程的字節(jié)交織模式所有數(shù)據(jù)讀取和寫入?!拜敵觥边^程中按線性地址從SRAM讀出數(shù)據(jù)。在“輸出”過程中,每輪所處理的字節(jié)數(shù)固定為LDPC編碼塊,LDPC碼率等于1/2時LDPC編碼塊為576個字節(jié),LDPC碼率等于3/4時LDPC編碼塊為864個字節(jié)。在第一輪處理中,向SRAMO存儲區(qū)寫入數(shù)據(jù),對SRAMl和SRAM2不處理;第二輪處理中,讀取SRAMO存儲區(qū)數(shù)據(jù)進行RS編碼并向該存儲區(qū)回寫RS校驗碼,向SRAMl存儲區(qū)寫入數(shù)據(jù),對SRAM2不處理;第三輪處理中,從SRAMO存儲區(qū)輸出數(shù)據(jù),讀取SRAMl存儲區(qū)數(shù)據(jù)進行RS編碼并向該存儲區(qū)回寫RS校驗碼,向SRAM2存儲區(qū)寫入數(shù)據(jù)。本發(fā)明使用中,當LDPC碼率為3/4時,字節(jié)交織模式三需要存儲空間最大
M X L = 432 X 240 = 103680 字節(jié)=0x19500 字節(jié)
外部SRAM存儲器201每個區(qū)域為103680字節(jié),三個存儲區(qū)總共需要103680 x 3 =311040字節(jié),實際可用19位地址線容量為2M比特的外部SRAM存儲器。參看圖4,外部SRAM存儲器 201 劃分情況為,0x00000-0xl94FF 為 SRAMO 地址范圍,0xl9500_0x329FF 為 SRAMl地址范圍,0x32A00-0x4BEFF為SRAM2地址范圍,其他地址不使用。參看圖4,SRAM存儲器201 —般是單端口,三個獨立區(qū)域都要通過一組地址/數(shù)據(jù)總線進行操作,SRAM讀/寫控制器202控制三個區(qū)域讀寫操作。SRAM讀/寫控制器202采用分時處理,在一輪處理中分時讀寫SRAM0、SRAM1和SRAM2。FIF0_in模塊203和FIF0_out模塊204用于速率適配,提高字節(jié)交織靈活性。RS_enc模塊205是RS編碼,可滿足四種可變碼率編碼。參看圖5,本發(fā)明利用片外SRAM存儲器201和片內(nèi)塊RAM來實現(xiàn)字節(jié)交織和RS編碼,CMMB發(fā)射系統(tǒng)中的字節(jié)交織和RS編碼硬件架構(gòu)包括
一、讀取模式模塊402 :根據(jù)時隙號從模式寄存器中獲得字節(jié)交織模式、RS編碼模式和LDPC模式,把新模式傳遞給FIF0_in模塊203,F(xiàn)IF0_in模塊203把模式傳遞給RS_enc模塊205,RS_enc模塊205把模式傳遞給FIF0_out模塊204。二、輸入緩存模塊409 :輸入數(shù)據(jù)時鐘轉(zhuǎn)換,為FIF0_in模塊203提供足夠多、足夠快的數(shù)據(jù),即保證輸入緩存模塊409不被讀空。三、FIF0_in模塊203 :根據(jù)啟動標志開始工作,根據(jù)有效數(shù)據(jù)生成SRAM線性地址,計算每輪操作寫入字節(jié)數(shù)和處理所有數(shù)據(jù)需要的輪數(shù),向狀態(tài)機401傳遞每輪完成標志和總輪數(shù)完成標志。四、RS_enc模塊205 :根據(jù)啟動標志開始工作,根據(jù)字節(jié)交織模式、RS編碼模式和LDPC模式生成SRAM跳躍地址讀出信息塊,進行RS編碼,生成跳躍地址寫入校驗碼,計算每輪操作寫入字節(jié)數(shù)和處理所有數(shù)據(jù)需要的輪數(shù),向狀態(tài)機401傳遞每輪完成標志和總輪數(shù)完成標志。五、FIF0_out模塊204 :根據(jù)啟動標志開始工作,生成SRAM線性地址,計算每輪操作寫入字節(jié)數(shù)和處理所有數(shù)據(jù)需要的輪數(shù),向狀態(tài)機401傳遞每輪完成標志和總輪數(shù)完成
O六、輸出緩存模塊409 :輸出數(shù)據(jù)時鐘轉(zhuǎn)換,完成字節(jié)到比特轉(zhuǎn)換。七、SRAM讀/寫控制器202 :控制SRAM存儲器201的讀寫。八、狀態(tài)機401 :生成啟動標志,檢查各個模塊完成標志,同步各個模塊?!拜斎搿?、“RS編碼”、“輸出”是對SRAM儲器201的三種操作過程,由狀態(tài)機401決定操作流程。狀態(tài)機401的控制邏輯如下
第一步,從FIFOjn模塊203中字節(jié)交織數(shù)據(jù)寫到SRAM存儲器201指定區(qū)域中; 第二步,從SRAM存儲器201指定區(qū)域中讀取數(shù)據(jù)到RS_enc模塊205進行RS編碼,把糾錯碼寫回SRAM存儲器201指定區(qū)域;
第三步,從SRAM存儲器201指定區(qū)域中讀取數(shù)據(jù)寫到FIF0_out模塊204輸出緩存。字節(jié)交織相當于二維矩陣,在SRAM存儲器201中不能直接存儲二維矩陣,需要通過讀寫地址變換來實現(xiàn)。如果“輸入”過程按照線性地址存儲SRAM數(shù)據(jù),那么“輸出”過程也可以按照線性地址讀取SRAM數(shù)據(jù),但是“RS編碼”過程不能按照線性地址讀寫SRAM數(shù)據(jù)。字節(jié)交織按列輸入,每一列數(shù)據(jù)為交織深度M,然后按行進行RS編碼。對于線性地址,如果在第O到(M-1)個數(shù)據(jù)先取第r個數(shù)據(jù),然后每隔M取一個數(shù)據(jù),重復(fù)取Kks次,得到Kks字節(jié),這是二維矩陣中第r行數(shù)據(jù),r〈M,作為RS編碼的信息塊,RS編碼產(chǎn)生的校驗碼每隔M個地址寫入SRAM,重復(fù)寫入240-KKS次。這種操作方式與二維矩陣是等效的。在CMMB系統(tǒng)中,一個復(fù)用幀或節(jié)目可以包括一個或多個字節(jié)交織塊,但是一個字節(jié)交織塊不能跨越復(fù)用幀。字節(jié)交織需要滿足LDPC速率要求,LDPC編碼按塊處理,每次處理4068或6912比特,即576或864字節(jié),因此字節(jié)交織輸出數(shù)據(jù)按照LDPC處理能力輸出。相同字節(jié)交織模式數(shù)據(jù)塊包含固定的LDPC塊,與RS編碼模式和LDPC碼率無關(guān)。字節(jié)交織模式一包含30個LDPC塊;字節(jié)交織模式二包含60個LDPC塊;字節(jié)交織模式三包含120個LDPC塊,不同字節(jié)交織模式包含LDPC塊數(shù)量以Q表示。以“輸出”過程為參考標準,可以計算出“輸入”和“RS編碼”每輪需要處理多少字節(jié),完成所有字節(jié)共需要多少輪?!癛S編碼”每輪處理的字節(jié)數(shù)必須是Kks整數(shù)倍,為了簡化計算過程“輸入”過程每輪處理的字節(jié)數(shù)也是Kks整數(shù)倍,可以把字節(jié)數(shù)轉(zhuǎn)化為RS塊。在“輸入”和“RS編碼”過程中,Delta表示每輪處理的RS塊數(shù)量,Num表示處理輪數(shù),應(yīng)該有
M = Delta x Num, Num <= Q
當“輸出”過程的字節(jié)交織為模式一時,即Q=30,Num<=30, “輸入”和“RS編碼”在字節(jié)交織模式一 :1/2 LDCP 碼率下,Delta=4, Num= 18 ;3/4 LDPC 碼率下,Delta=4, Num=27?!拜斎搿焙汀癛S編碼”在字節(jié)交織模式二 1/2 LDCP碼率下,Delta=8,Num=18 ;3/4 LDPC碼率下,Delta=8, Num=27?!拜斎搿焙汀癛S編碼”在字節(jié)交織模式三1/2 LDCP碼率下,Delta=16,Num= 18 ;3/4 LDPC 碼率下,Delta=16,Num=27。當“輸出”過程的字節(jié)交織為模式二時,即Q=60,Num<=60, “輸入”和“RS編碼”在字節(jié)交織模式一 1/2 LDCP 碼率下,Delta=2, Num=36 ;3/4 LDPC 碼率下,Delta=2, Num=54?!拜斎搿焙汀癛S編碼”在字節(jié)交織模式二 1/2 LDCP碼率下,Delta=4,Num=36 ;3/4 LDPC碼率下,Delta=4,Num=54。“輸入”和“RS編碼”在字節(jié)交織模式三1/2 LDCP碼率下,Delta=8,Num=36 ;3/4 LDPC 碼率下,Delta=8, Num=54。
當“輸出”過程的字節(jié)交織為模式三時,即0=120,如!11〈=120,“輸入”和“1 編碼”在字節(jié)交織模式一 1/2 LDCP 碼率下,Delta=I,Num=72 ;3/4 LDPC 碼率下,Delta=I, Num=108。 “輸入”和“RS編碼”在字節(jié)交織模式二 1/2 LDCP碼率下,Delta=2,Num=72 ;3/4 LDPC碼率下,Delta=2,Num=108?!拜斎搿焙汀癛S編碼”在字節(jié)交織模式三1/2 LDCP碼率下,Delta=4,Num=72 ;3/4 LDPC 碼率下,Delta=4, Num= 108
權(quán)利要求
1.數(shù)字無線信號傳輸系統(tǒng)的CMMB字節(jié)交織和RS編碼實現(xiàn)方法,它使用外部SRAM存儲器(201),其步驟為 將SRAM存儲器(201)按地址分為存儲空間相同的三段存儲區(qū)SRAMO、SRAMl和SRAM2,通過乒乓操作對三個存儲區(qū)循環(huán)進行如下處理寫入字節(jié)交織輸入數(shù)據(jù)的“輸入”;讀出RS信息碼和寫入RS校驗碼的“RS編碼”;讀出字節(jié)交織輸出數(shù)據(jù)的“輸出”;每三輪處理重復(fù)“輸入”、“RS編碼”和“輸出”過程; 在第一輪處理中,向SRAMO存儲區(qū)寫入數(shù)據(jù),對SRAMl和SRAM2不做處理;第二輪處理中,讀取SRAMO存儲區(qū)的數(shù)據(jù)進行RS編碼并向該存儲區(qū)回寫RS校驗碼,向SRAMl存儲區(qū)寫入數(shù)據(jù),對SRAM2不做處理;第三輪處理中,從SRAMO存儲區(qū)輸出數(shù)據(jù),讀取SRAMl存儲區(qū)數(shù)據(jù)進行RS編碼向該存儲區(qū)回寫RS校驗碼,向SRAM2存儲區(qū)寫入數(shù)據(jù)。
2.根據(jù)權(quán)利要求2所述的CMMB字節(jié)交織和RS編碼實現(xiàn)方法,其特征在于,所述“輸入”過程中按線性地址向SRAM存儲器(201)寫入數(shù)據(jù);“RS編碼”過程中按照每隔M個地址讀取一個數(shù)據(jù),重復(fù)Kks次,讀出滿足RS信息塊進行編碼,然后把RS校驗碼按照每隔M個地址寫入一個數(shù)據(jù),重復(fù)240-KKS次,直到把所有校驗碼寫入SRAM存儲器(201)中;“輸出”過程中按線性地址從SRAM存儲器(201)讀出數(shù)據(jù)。
3.根據(jù)權(quán)利要求2或3所述的CMMB字節(jié)交織和RS編碼實現(xiàn)方法,其特征在于,所述M取值為 72、144、288、108、216 或 432 ;Κκ 取值為 240、224、192 或 176。
4.根據(jù)權(quán)利要求4所述的CMMB字節(jié)交織和RS編碼實現(xiàn)方法,其特征在于,所述在“輸出”過程中,每輪所處理的字節(jié)數(shù)固定為LDPC編碼塊,LDPC碼率等于1/2時LDPC編碼塊為576個字節(jié),LDPC碼率等于3/4時LDPC編碼塊為864個字節(jié);在“輸入”和“RS編碼”過程中,每輪所處理的字節(jié)數(shù)與字節(jié)交織模式和LDPC碼率有關(guān),要求在小于等于Q輪內(nèi)完成與當前輪“輸入”和“RS編碼”過程的字節(jié)交織模式所有數(shù)據(jù)讀取和寫入。
全文摘要
數(shù)字無線信號傳輸系統(tǒng)的CMMB字節(jié)交織和RS編碼實現(xiàn)方法,涉及數(shù)字無線信號傳輸技術(shù)領(lǐng)域。本發(fā)明使用外部SRAM存儲器,其步驟為將SRAM存儲器按地址分為存儲空間相同的三段存儲區(qū)SRAM0、SRAM1和SRAM2。通過乒乓操作對三個存儲區(qū)循環(huán)進行如下處理寫入字節(jié)交織輸入數(shù)據(jù)的“輸入”;讀出RS信息碼和寫入RS校驗碼的“RS編碼”;讀出字節(jié)交織輸出數(shù)據(jù)的“輸出”;每三輪處理重復(fù)“輸入”、“RS編碼”和“輸出”過程。本發(fā)明能使CMMB系統(tǒng)支持多達40個不同節(jié)目按照獨立的編碼調(diào)制參數(shù)進行高效傳輸,它減少了存儲器芯片個數(shù),降低了CMMB字節(jié)交織和RS編碼的復(fù)雜度。
文檔編號H04L1/00GK102882633SQ201110196700
公開日2013年1月16日 申請日期2011年7月14日 優(yōu)先權(quán)日2011年7月14日
發(fā)明者覃祝君, 唐柳, 盧瑩瑩 申請人:北京同方吉兆科技有限公司