專利名稱:一種矩形交織的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)字通信的數(shù)字信號處理領(lǐng)域。
背景技術(shù):
現(xiàn)代數(shù)字通信系統(tǒng)中,傳輸信道往往受到各種干擾和衰弱影響,所以傳輸?shù)男盘枙l(fā)生錯誤。為此一般都會采用信道編碼和交織,以提高系統(tǒng)性能。信道編碼往往采用前向糾錯碼(FEC,F(xiàn)orward Error Correction)作外碼,而采用交織碼作內(nèi)碼。對于隨機(jī)錯誤,一般可由信道糾錯編碼來加以糾正,而對于突發(fā)錯誤,則必須再加上交織技術(shù)。即在發(fā)射端將所要傳輸?shù)臄?shù)據(jù)通過交織把順序打亂,然后在接收端再通過解交織把數(shù)據(jù)原來的順序恢復(fù)出來。這樣就可以把成群的突發(fā)錯誤離散化,轉(zhuǎn)變?yōu)殡S機(jī)錯誤,然后可以通過糾錯編碼來糾正。
按照不同交織方式,交織主要分為隨機(jī)交織、矩形交織、卷積交織。
(1)隨機(jī)交織。隨機(jī)交織實(shí)際上是偽隨機(jī)交織,通過把數(shù)據(jù)進(jìn)行偽隨機(jī)排序處理,得到近似隨機(jī)的輸出,多用于保密通信和擴(kuò)頻通信領(lǐng)域。
(2)矩形交織,也叫塊交織,它是一個二維存儲器陣列(L,R)將數(shù)據(jù)先按行寫入,然后將數(shù)據(jù)再按列讀出,完成交織過程。相應(yīng)地去交織過程是將數(shù)據(jù)按列寫入再按行讀出。這種交織的優(yōu)點(diǎn)是結(jié)構(gòu)簡單、易于實(shí)現(xiàn),缺點(diǎn)是需要的存儲空間大、交織和解交織的延時長。塊交織在突發(fā)系統(tǒng)(GSM)中應(yīng)用較多,常與RS編碼或Turbo編碼聯(lián)合使用。
(3)卷積交織。卷積交織由延時成等差遞增的I路移位寄存器組成,輸入數(shù)據(jù)依次進(jìn)入I路不同的輸入端,輸出數(shù)據(jù)經(jīng)過延時從相應(yīng)路讀出。由于延時不同,相鄰的輸入數(shù)據(jù)在輸出端被離散化。解交織則是按照與交織相反的方式把數(shù)據(jù)重新排列同原來的順序,一般需要與交織相同的存儲器,結(jié)構(gòu)上也類似。
如上文所講,矩形交織的實(shí)現(xiàn)一般需要一個二維存儲器陣列(L,R)將數(shù)據(jù)先按行寫入,然后將數(shù)據(jù)再按列讀出,完成交織過程,如圖1所示。這樣如果只有一個存儲器陣列,數(shù)據(jù)的處理不能讀寫連續(xù)操作,必須將數(shù)據(jù)按行存滿一個存儲塊后,再對此存儲塊進(jìn)行按列讀出。
要實(shí)現(xiàn)對數(shù)據(jù)進(jìn)行讀寫連續(xù)操作,需要兩個存儲塊,對這連個存儲塊分別進(jìn)行讀寫操作,如圖2所示。圖中表示工作進(jìn)行的某一時刻,對第一個存儲塊進(jìn)行讀操作的同時對另一個存儲塊進(jìn)行寫操作,或者對第一個存儲塊進(jìn)行寫操作的同時對另一個存儲塊進(jìn)行讀操作。
本發(fā)明提出的一種矩形交織的實(shí)現(xiàn)方法,通過對讀寫地址的控制,實(shí)現(xiàn)對同一地址進(jìn)行先讀后寫,并只用一個存儲塊的空間大小,完成交織過程。
發(fā)明內(nèi)容
一種矩形交織的實(shí)現(xiàn)方法,對同一個地址進(jìn)行先讀后寫的操作,通過對讀寫地址的控制,實(shí)現(xiàn)將數(shù)據(jù)在一個二維存儲器陣列(L,R)中先按行寫入,然后將數(shù)據(jù)再按列讀出,完成交織過程。本方法通過對RAM讀寫地址的控制完成交織的過程,其結(jié)構(gòu)包括地址產(chǎn)生器和RAM,如圖3所示。
地址產(chǎn)生器的結(jié)構(gòu),包括計數(shù)器模塊、Delta產(chǎn)生模塊和地址產(chǎn)生模塊,如圖4所示。計數(shù)器模塊對時鐘進(jìn)行計數(shù),它的輸出輸送給Delta產(chǎn)生模塊和地址產(chǎn)生模塊;Delta產(chǎn)生模塊產(chǎn)生適當(dāng)?shù)腄elta值輸送給地址產(chǎn)生模塊;地址產(chǎn)生模塊通過一定得運(yùn)算并在時鐘的控制下及時產(chǎn)生正確的地址。各個模塊具體的工作原理由以下說明。
計數(shù)器模塊,此模塊對工作的時鐘進(jìn)行計數(shù),也是對輸出地址的次數(shù)進(jìn)行計數(shù)。為描述清楚,定義計數(shù)器模塊的輸出為B。計數(shù)器模塊的初始值為0,每輸出一個RAM的讀寫地址,計數(shù)器加1,當(dāng)輸出RL個地址,即計數(shù)器輸出為RL-1時,計數(shù)器模塊完成此輪計數(shù),輸出重新為0,進(jìn)行下一輪計數(shù)。
Delta產(chǎn)生模塊,此模塊用于產(chǎn)生Delta的值,其工作流程如圖5所示。Delta的初始值為1,當(dāng)輸出完一輪的讀寫地址,即計數(shù)器模塊完成一輪計數(shù),Delta產(chǎn)生模塊判斷Delta的值是否小于L,如果Delta小于L,則Delta=Delta*R,進(jìn)行下一輪的讀寫,如果Delta不小于L,則Delta=(Delta%L)*R+(Delta/L),其中Delta%L為Delta除以L的余數(shù),Delta/L為Delta除以L的商,再進(jìn)行下一輪的讀寫。
地址產(chǎn)生模塊,此模塊的結(jié)構(gòu)如圖6所示,包括一個加法器和一個運(yùn)算輸出模塊。其中加法器是將Delta產(chǎn)生模塊的輸出與地址產(chǎn)生模塊輸出的上一個地址E進(jìn)行相加,定義加法器模塊的輸出為A。
地址產(chǎn)生模塊中的運(yùn)算輸出模塊的工作流程如圖7所示,具體如下 步驟1開始工作后,首先判斷計數(shù)器模塊的輸出B是否為RL-1,B為RL-1,則表示當(dāng)前一輪的地址輸出完,接著進(jìn)行下一輪地址的輸出,執(zhí)行步驟4,B不為RL-1,則表示當(dāng)前一輪的輸出未完,執(zhí)行步驟2; 步驟2判斷加法器模塊的輸出A是否小于RL,如果A小于RL,輸出的地址E為加法器的輸出A,如果A不小于RL,則執(zhí)行步驟3; 步驟3對A進(jìn)行運(yùn)算,C=(A%RL)+1,A%RL為A除以RL得到的余數(shù),運(yùn)算后得到C,執(zhí)行步驟6; 步驟4輸出的地址E為0; 步驟5輸出的地址E為加法器的輸出A; 步驟6則輸出的地址E為C。
本發(fā)明提出的一種矩形交織的實(shí)現(xiàn)方法,用一個地址產(chǎn)生器和一個RAM,通過對RAM讀寫地址的控制完成交織的過程,并且只占用RAM一個存儲塊的空間,可以使交織過程連續(xù)進(jìn)行。
圖1為矩形交織的工作圖; 圖2為一般矩形交織實(shí)現(xiàn)連續(xù)工作的示意圖; 圖3為本發(fā)明所提出方法的實(shí)現(xiàn)交織的結(jié)構(gòu)圖; 圖4為本發(fā)明所提出方法的地址產(chǎn)生器的結(jié)構(gòu)圖; 圖5為Delta產(chǎn)生模塊的工作流程圖; 圖6為地址產(chǎn)生模塊的結(jié)構(gòu)圖; 圖7為地址產(chǎn)生模塊中運(yùn)算輸出模塊的工作流程圖。
具體實(shí)施方案 下面通過一個具體的實(shí)施例來說明本發(fā)明。
此實(shí)施例中R為6,L為4,則RL-1的值為23,整個裝置每輸出一個RAM的讀寫地址,計數(shù)器模塊的輸出加1,當(dāng)整個裝置輸出RL個地址,即計數(shù)器輸出為RL-1后,計數(shù)器模塊輸出轉(zhuǎn)為0,進(jìn)行下一輪計數(shù)。
Delta產(chǎn)生模塊產(chǎn)生的Delta的初始值為1,當(dāng)輸出完一輪的讀寫地址,Delta的值變?yōu)?,由上文所說的原理,由圖5所示的方法,再輸出完一輪的讀寫地址,Delta的值變?yōu)?3,再輸出完一輪的讀寫地址,Delta的值變?yōu)?……。
地址產(chǎn)生模塊,如上文所說,包括一個加法器和一個運(yùn)算輸出模塊。在運(yùn)算輸出模塊工作流程中需要判斷A或C的值是否小于RL=24,具體流程上文已說明。
由此實(shí)施例得到第一輪輸出的地址為 0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22、23。
第二輪輸出的地址為 0、6、12、18、1、7、13、19、2、8、14、20、3、9、15、21、4、10、16、22、5、11、17、23。
第三輪輸出的地址為 0、13、3、16、6、19、9、22、12、2、15、5、18、8、21、11、1、14、4、17、7、20、10、23。
第四輪輸出的地址為 0、9、18、4、13、22、8、17、3、12、21、7、16、2、11、20、6、15、1、10、19、5、14、23。
…… 下面來說明輸出地址順序的正確性。
第一輪讀出的地址順序?yàn)?、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22、23. 第一輪寫入各個地址的位置的示意表為 由上表得出第二輪讀出的地址順序?yàn)?、6、12、18、1、7、13、19、2、8、14、20、3、9、15、21、4、10、16、22、5、11、17、23,與實(shí)施例中第二輪輸出的地址順序相同。
同樣第二輪寫入各個地址的位置的示意表為 由上表得出第三輪讀出的地址順序?yàn)?、13、3、16、6、19、9、22、12、2、15、5、18、8、21、11、1、14、4、17、7、20、10、23,與實(shí)施例中第三輪輸出的地址順序相同。
第三輪寫入各個地址的位置的示意表為 由上表得出第三輪讀出的地址順序?yàn)?、9、18、4、13、22、8、17、3、12、21、7、16、2、11、20、6、15、1、10、19、5、14、23,與實(shí)施例中第四輪輸出的地址順序相同。
…… 經(jīng)過測試驗(yàn)證,本發(fā)明所提出種矩形交織的實(shí)現(xiàn)方法,實(shí)現(xiàn)了對同一地址進(jìn)行先讀后寫,通過對讀寫地址的控制,完成交織過程。
本發(fā)明所提出種矩形交織的實(shí)現(xiàn)方法,只用一個存儲塊的空間大小,可以實(shí)現(xiàn)交織過程讀寫連續(xù)進(jìn)行。
權(quán)利要求
1、一種矩形交織的實(shí)現(xiàn)方法,其特點(diǎn)在于對同一個地址進(jìn)行先讀后寫的操作,通過對讀寫地址的控制,實(shí)現(xiàn)將數(shù)據(jù)在一個二維存儲器陣列(L,R)中先按行寫入,然后將數(shù)據(jù)再按列讀出,完成交織過程。
2、一種矩形交織的實(shí)現(xiàn)方法,其特點(diǎn)在于通過對RAM讀寫地址的控制實(shí)現(xiàn)交織,其實(shí)現(xiàn)的結(jié)構(gòu)包括地址產(chǎn)生器和RAM。
3、如權(quán)利要求2所述的地址產(chǎn)生器,其結(jié)構(gòu)包括計數(shù)器模塊、Delta產(chǎn)生模塊和地址產(chǎn)生模塊。
4、如權(quán)利要求3所述的計數(shù)器模塊,對工作的時鐘進(jìn)行計數(shù),也是對輸出的地址次數(shù)進(jìn)行計數(shù),計數(shù)器模塊的初始值為0,每輸出一個RAM的讀寫地址,計數(shù)器加1,當(dāng)輸出LR個地址,即計數(shù)器輸出為LR-1時,計數(shù)器模塊完成此輪計數(shù),計數(shù)器模塊輸出重新為0,進(jìn)行下一輪計數(shù),定義計數(shù)器模塊的輸出為B。
5、如權(quán)利要求3所述的Delta產(chǎn)生模塊,用于產(chǎn)生Delta的值,Delta的初始值為1,當(dāng)輸出完一輪的讀寫地址,即計數(shù)器模塊完成一輪計數(shù),Delta產(chǎn)生模塊判斷Delta的值是否小于L,如果Delta小于L,則Delta=Delta*R,進(jìn)行下一輪的讀寫,如果Delta不小于L,則Delta=(Delta%L)*R+(Delta/L),其中Delta%L為Delta除以L的余數(shù),Delta/L為Delta除以L的商,再進(jìn)行下一輪的讀寫。
6、如權(quán)利要求3所述的地址產(chǎn)生模塊,其結(jié)構(gòu)包括一個加法器和一個運(yùn)算輸出模塊。
7、如權(quán)利要求6所述的加法器,是將Delta產(chǎn)生模塊的輸出與地址產(chǎn)生模塊輸出的上一個地址E進(jìn)行相加,定義加法器模塊的輸出為A。
8、如權(quán)利要求6所述的運(yùn)算輸出模塊,定義運(yùn)算輸出模塊的輸出為的E,運(yùn)算輸出模塊工作流程為
步驟1開始工作后,首先判斷計數(shù)器模塊的輸出B是否為RL-1,B為RL-1,則表示當(dāng)前一輪的地址輸出完,開始進(jìn)行下一輪地址的輸出,執(zhí)行步驟4,B不為RL-1,則表示當(dāng)前一輪的輸出未完,執(zhí)行步驟2;
步驟2判斷加法器模塊的輸出A是否小于RL,如果A小于RL,輸出的地址E為加法器的輸出A,如果A不小于RL,則執(zhí)行步驟3;
步驟3對A進(jìn)行運(yùn)算,C=(A%RL)+1,A%RL為A除以RL得到的余數(shù),運(yùn)算后得到C,執(zhí)行步驟6;
步驟4輸出的地址E為0;
步驟5輸出的地址E為加法器的輸出A;
步驟6則輸出的地址E為C。
全文摘要
一種矩形交織的實(shí)現(xiàn)方法,對同一個地址進(jìn)行先讀后寫的操作,通過對RAM讀寫地址的控制完成交織的過程,其結(jié)構(gòu)包括地址產(chǎn)生器和RAM,本發(fā)明提出的方法中的地址產(chǎn)生器實(shí)現(xiàn)的結(jié)構(gòu)包括計數(shù)器模塊、Delt產(chǎn)生模塊和地址產(chǎn)生模塊,如圖所示。計數(shù)器模塊對時鐘進(jìn)行計數(shù),也是對輸出的地址次數(shù)進(jìn)行計數(shù),它的輸出輸送給Delta產(chǎn)生模塊和地址產(chǎn)生模塊;Delta產(chǎn)生模塊適當(dāng)?shù)腄elta值輸送給地址產(chǎn)生模塊;地址產(chǎn)生模塊通過一定的運(yùn)算,并在時鐘的控制下及時產(chǎn)生正確的地址。本發(fā)明所提出一種矩形交織的實(shí)現(xiàn)方法,只用一個存儲塊的空間大小,可以實(shí)現(xiàn)交織過程讀寫連續(xù)操作進(jìn)行。
文檔編號H03M13/27GK101577556SQ20091008686
公開日2009年11月11日 申請日期2009年6月17日 優(yōu)先權(quán)日2009年6月17日
發(fā)明者鎮(zhèn)云鋒 申請人:北京九方中實(shí)電子科技有限責(zé)任公司