欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種第二次交織及解交織的方法和裝置的制作方法

文檔序號(hào):7916035閱讀:270來(lái)源:國(guó)知局
專(zhuān)利名稱:一種第二次交織及解交織的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及移動(dòng)通信系統(tǒng)中交織及解交織技術(shù),尤其涉及一種第二次交織及解交織的方法和裝置。

背景技術(shù)
在移動(dòng)通信中,由于無(wú)線信道衰落的原因,使得傳送的數(shù)據(jù)流產(chǎn)生誤碼,因此需要通過(guò)信道編碼這一環(huán)節(jié)對(duì)數(shù)據(jù)流進(jìn)行相應(yīng)的處理,提高數(shù)據(jù)傳輸?shù)募m錯(cuò)能力和可靠性。信道編碼僅在檢測(cè)和校正單個(gè)比特差錯(cuò)和不太長(zhǎng)的比特差錯(cuò)串時(shí)才有效,但是在實(shí)際應(yīng)用中,比特差錯(cuò)經(jīng)常成串發(fā)生,而遇到較長(zhǎng)的比特差錯(cuò)串時(shí),信道編碼就不能正常糾錯(cuò)了。
為了解決這一問(wèn)題,希望能找到將一條消息中的相繼比特分散開(kāi)的方法,即一條消息中的相繼比特以非相繼方式被發(fā)送。這樣,在傳輸過(guò)程中即使發(fā)生成串差錯(cuò),恢復(fù)成一條相繼比特串的消息時(shí),比特差錯(cuò)也就變成單個(gè)或長(zhǎng)度很短比特串,這時(shí)再通過(guò)信道編碼糾正差錯(cuò),恢復(fù)原消息。這種方法就是交織技術(shù),即在上行鏈路中,將發(fā)送的數(shù)據(jù)進(jìn)行交織,將相繼比特以非相繼的亂序方式發(fā)送。在下行鏈路中,將接收到的經(jīng)過(guò)交織的數(shù)據(jù)進(jìn)行解交織,將非相繼的亂序比特還原成相繼比特。所述的交織過(guò)程分為上行鏈路的第一次交織和第二次交織,以及對(duì)應(yīng)下行鏈路的第一次解交織和第二次解交織。
在第三代(3G)無(wú)線通信中,一個(gè)數(shù)據(jù)包可以分成若干個(gè)數(shù)據(jù)幀分別從不同的傳輸信道傳輸,每個(gè)數(shù)據(jù)幀的傳輸時(shí)間為10毫秒。第三代合作伙伴組織(3GPP)協(xié)議中規(guī)定按不同的時(shí)延要求,傳輸數(shù)據(jù)的時(shí)間間隔可以為10毫秒、20毫秒、40毫秒及80毫秒,即可以分別傳輸1個(gè)數(shù)據(jù)幀、2個(gè)數(shù)據(jù)幀、4個(gè)數(shù)據(jù)幀及8個(gè)數(shù)據(jù)幀。第一次交織是數(shù)據(jù)幀間進(jìn)行交織,即將上述數(shù)據(jù)幀進(jìn)行幀間交織后再映射到物理信道,而不是按順序映射到物理信道;第二次交織是在單個(gè)物理信道中承載的數(shù)據(jù)間進(jìn)行交織,采用了將數(shù)據(jù)寫(xiě)入交織矩陣的方法,其具體過(guò)程包括以下步驟 步驟11、構(gòu)造一個(gè)交織矩陣。
一般,第二次交織規(guī)定的交織矩陣列數(shù)固定為30,行數(shù)根據(jù)信道中需要傳輸?shù)臄?shù)據(jù)計(jì)算得出,即需要傳輸?shù)臄?shù)據(jù)長(zhǎng)度M除以30,如果能整除,則所得的商m即為交織矩陣的行數(shù);如果不能整除,則所得的商m加1即為交織矩陣的行數(shù)。然后,根據(jù)列數(shù)和計(jì)算所得的行數(shù),初始化一個(gè)二維數(shù)組,由該二維數(shù)組所確定的地址來(lái)表示交織矩陣。
步驟12、將需要傳輸?shù)臄?shù)據(jù)按行的順序依次寫(xiě)入交織矩陣中,如果需要傳輸?shù)臄?shù)據(jù)長(zhǎng)度M不是30的倍數(shù),即需要傳輸?shù)臄?shù)據(jù)無(wú)法填滿交織矩陣,那么將無(wú)效數(shù)據(jù)依次填入交織矩陣最后一行的末尾的空處,所述的無(wú)效數(shù)據(jù)可以為空比特。
步驟13、根據(jù)3GPP規(guī)定的列間置換規(guī)則將交織矩陣中列的數(shù)據(jù)進(jìn)行置換。
表1為根據(jù)列間置換規(guī)則制定的交織列置換表,例如,交織前第0列的數(shù)據(jù)位置不變,交織前第20列的數(shù)據(jù)置換成為交織后的第1列數(shù)據(jù),交織前第10列的數(shù)據(jù)置換成為交織后的第2列數(shù)據(jù),交織前第5列的數(shù)據(jù)置換成為交織后的第3列數(shù)據(jù),以此規(guī)則將交織矩陣所有列的順序進(jìn)行置換。經(jīng)過(guò)置換后,得到數(shù)據(jù)所在矩陣的行號(hào)和列號(hào)。
表1 當(dāng)需要傳輸?shù)臄?shù)據(jù)長(zhǎng)度M不是30的倍數(shù)時(shí),存儲(chǔ)在交織矩陣末尾處的無(wú)效數(shù)據(jù)也按照上述列間置換規(guī)則進(jìn)行了置換,例如需要傳輸?shù)臄?shù)據(jù)長(zhǎng)度M為27時(shí),交織矩陣為1行30列,并且最后3列,即第27列、第28列和第29列存儲(chǔ)的是無(wú)效數(shù)據(jù)。如表1所示,交織前第27列的數(shù)據(jù)置換成為交織后的第28列數(shù)據(jù),交織前第28列的數(shù)據(jù)置換成為交織后的第12列數(shù)據(jù),交織前第29列的數(shù)據(jù)置換成為交織后的第24列數(shù)據(jù)。在交織后,無(wú)效數(shù)據(jù)和需要傳輸?shù)臄?shù)據(jù)交叉排列在交織矩陣之中。
步驟14、將列置換后的交織矩陣按列的順序,根據(jù)行號(hào)列號(hào)讀取需要傳輸?shù)臄?shù)據(jù),數(shù)據(jù)全部讀出完成交織過(guò)程。
需要注意的是,無(wú)效數(shù)據(jù)和需要傳輸?shù)臄?shù)據(jù)交叉排列在交織矩陣之中,如果不加區(qū)分傳輸出去,會(huì)占用不必要的帶寬。由此,更好的方法是,需要計(jì)算交織矩陣末尾是否存儲(chǔ)了無(wú)效數(shù)據(jù)。讀取每一個(gè)數(shù)據(jù)時(shí),判斷該數(shù)據(jù)是否為無(wú)效數(shù)據(jù)。如果不是無(wú)效數(shù)據(jù),直接讀??;如果是無(wú)效數(shù)據(jù),跳過(guò)讀下一數(shù)據(jù)。
第二次解交織過(guò)程與第二次交織過(guò)程相反,其過(guò)程包括如下步驟 步驟21、構(gòu)造一個(gè)解交織矩陣。
第二次解交織規(guī)定的解交織矩陣列數(shù)固定為30,行數(shù)根據(jù)信道中接收到的數(shù)據(jù)計(jì)算得出,即接收到的數(shù)據(jù)長(zhǎng)度N除以30,如果能整除,則所得的商n即為解交織矩陣的行數(shù);如果不能整除,則所得的商n加1即為解交織矩陣的行數(shù)。然后,根據(jù)列數(shù)和計(jì)算所得的行數(shù),初始化一個(gè)二維數(shù)組,由該二維數(shù)組所確定的地址來(lái)表示解交織矩陣。
步驟22、將接收到的數(shù)據(jù)按列的順序依次寫(xiě)入解交織矩陣中,如果接收到的數(shù)據(jù)長(zhǎng)度N不是30的倍數(shù),即接收到的數(shù)據(jù)無(wú)法填滿解交織矩陣,那么將無(wú)效數(shù)據(jù)填入解交織矩陣某些列的最后一行的空處,所述無(wú)效數(shù)據(jù)可以為空比特。
步驟23、根據(jù)3GPP規(guī)定的列間置換規(guī)則,將解交織矩陣中列的數(shù)據(jù)進(jìn)行置換。
表2為根據(jù)列間置換規(guī)則制定的解交織列置換表,與交織列置換表相反,例如,解交織前第0列的數(shù)據(jù)位置不變,解交織前第1列的數(shù)據(jù)置換成為解交織后的第20列數(shù)據(jù),解交織前第2列的數(shù)據(jù)置換成為解交織后的第10列數(shù)據(jù),解交織前第3列的數(shù)據(jù)置換成為解交織后的第5列數(shù)據(jù),以此規(guī)則將解交織矩陣所有列的順序進(jìn)行置換??梢?jiàn),經(jīng)過(guò)解交織后的數(shù)據(jù)還原成數(shù)據(jù)交織前的排列。經(jīng)過(guò)置換后,得到數(shù)據(jù)所在矩陣的行號(hào)和列號(hào)。
當(dāng)接收到的數(shù)據(jù)長(zhǎng)度N不是30的倍數(shù)時(shí),存儲(chǔ)在解交織矩陣某些列末尾處的無(wú)效數(shù)據(jù)也按照上述列間置換規(guī)則進(jìn)行了置換,例如接收到的數(shù)據(jù)長(zhǎng)度N為27時(shí),解交織矩陣為1行30列,并且最后3列,即第27列、第28列和第29列存儲(chǔ)的是無(wú)效數(shù)據(jù)。如表1所示,解交織前第27列的數(shù)據(jù)置換成為解交織后的第22列數(shù)據(jù),解交織前第28列的數(shù)據(jù)置換成為解交織后的第27列數(shù)據(jù),解交織前第29列的數(shù)據(jù)置換成為解交織后的第17列數(shù)據(jù)。在列置換前,無(wú)效數(shù)據(jù)和接收到的數(shù)據(jù)交叉排列在解交織矩陣之中。
表2 步驟24、將列置換后的解交織矩陣按行的順序根據(jù)行號(hào)列號(hào)讀取接收到的數(shù)據(jù),接收到的數(shù)據(jù)全部讀出完成解交織過(guò)程。
需要注意的是,在寫(xiě)數(shù)到解交織矩陣時(shí),有些列的最后一行應(yīng)填充無(wú)效數(shù)據(jù)。因此需要計(jì)算無(wú)效數(shù)據(jù)的填充位置。在讀取每一個(gè)數(shù)據(jù)時(shí),判斷該數(shù)據(jù)是否為無(wú)效數(shù)據(jù)。如果不是無(wú)效數(shù)據(jù),直接讀取;如果是無(wú)效數(shù)據(jù),跳過(guò)讀下一數(shù)據(jù)。
可以看出,現(xiàn)有技術(shù)的這種交織或解交織方法存在以下的問(wèn)題 1)構(gòu)造交織矩陣或解交織矩陣時(shí),需要利用除法計(jì)算寫(xiě)入矩陣的數(shù)據(jù)占用的行數(shù),計(jì)算復(fù)雜,且硬件上需要專(zhuān)門(mén)的除法運(yùn)算單元。
2)如果數(shù)據(jù)無(wú)法填滿交織矩陣或解交織矩陣時(shí)填入無(wú)效數(shù)據(jù),相應(yīng)的,在數(shù)據(jù)交織或解交織時(shí),需要通過(guò)計(jì)算得到矩陣中哪些數(shù)據(jù)是無(wú)效數(shù)據(jù),增加了運(yùn)算的復(fù)雜度。


發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種第二次交織及解交織的方法和裝置,能降低運(yùn)算復(fù)雜度,且不需要專(zhuān)門(mén)的硬件。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的 一種第二次交織方法,包括為每個(gè)輸入數(shù)據(jù)生成一個(gè)預(yù)先設(shè)定在交織矩陣中的交織地址;該方法還包括 A、按交織地址順序?qū)?shù)據(jù)寫(xiě)入交織矩陣; B、對(duì)交織地址初始化,根據(jù)交織地址從交織矩陣中讀取數(shù)據(jù); C、判斷是否完成交織矩陣一列數(shù)據(jù)的讀操作,如果完成,則根據(jù)列間置換規(guī)則計(jì)算交織矩陣下一列的交織地址,執(zhí)行步驟D;如果未完成,則交織地址由自身值加上列間距得到; D、判斷是否完成所有數(shù)據(jù)的讀操作,如果完成,則第二次交織結(jié)束;否則,根據(jù)當(dāng)前交織地址從交織矩陣中讀取數(shù)據(jù),返回步驟C。
較佳的,所述步驟A進(jìn)一步包括 A1、對(duì)交織地址初始化,將數(shù)據(jù)根據(jù)當(dāng)前交織地址寫(xiě)入交織矩陣; A2、將當(dāng)前交織地址加1; A3、判斷是否完成所有數(shù)據(jù)的寫(xiě)操作,如果完成,則執(zhí)行步驟B;否則,取下一個(gè)數(shù)據(jù),將數(shù)據(jù)根據(jù)當(dāng)前交織地址寫(xiě)入交織矩陣,返回步驟A2。
較佳的,所述步驟B進(jìn)一步包括對(duì)列值初始化; 步驟C中如果完成交織矩陣一列數(shù)據(jù)的讀操作,進(jìn)一步包括將列值加1,根據(jù)列值對(duì)應(yīng)列間置換規(guī)則計(jì)算交織矩陣下一列的交織地址。
較佳的,所述列間置換規(guī)則為3GPP規(guī)定的30列矩陣的列間置換規(guī)則。
一種第二次交織裝置,包括 交織數(shù)據(jù)寫(xiě)入模塊,用于接收數(shù)據(jù),根據(jù)數(shù)據(jù)接收順序依次生成交織地址,并分別將交織地址和數(shù)據(jù)發(fā)往交織存儲(chǔ)模塊; 交織存儲(chǔ)模塊,用于接收交織數(shù)據(jù)寫(xiě)入模塊的交織地址和數(shù)據(jù),根據(jù)交織數(shù)據(jù)寫(xiě)入模塊的交織地址存儲(chǔ)數(shù)據(jù),以及接收交織數(shù)據(jù)讀取模塊的交織地址,根據(jù)來(lái)自交織數(shù)據(jù)讀取模塊的交織地址將數(shù)據(jù)發(fā)往交織數(shù)據(jù)讀取模塊; 交織列末判斷模塊,用于判斷來(lái)自交織數(shù)據(jù)寫(xiě)入模塊的交織地址是否為列末地址,不為列末地址時(shí)向交織數(shù)據(jù)讀取模塊發(fā)送列中信號(hào),為列末地址時(shí)向交織列間轉(zhuǎn)換模塊發(fā)送列末信號(hào); 交織列間轉(zhuǎn)換模塊,用于根據(jù)列間置換規(guī)則和來(lái)自交織列末判斷模塊的列末信號(hào)計(jì)算下一列的交織地址,并將該交織地址發(fā)往交織數(shù)據(jù)讀取模塊; 交織數(shù)據(jù)讀取模塊,用于根據(jù)來(lái)自交織列末判斷模塊的列中信號(hào)計(jì)算該列下一個(gè)交織地址,以及接收交織列間轉(zhuǎn)換模塊的交織地址;并根據(jù)發(fā)往交織存儲(chǔ)模塊的交織地址逐個(gè)從交織存儲(chǔ)模塊讀取數(shù)據(jù),并將該數(shù)據(jù)發(fā)送出去。
一種第二次解交織方法,包括 a、對(duì)預(yù)先設(shè)定在解交織矩陣中的解交織地址初始化,將數(shù)據(jù)根據(jù)解交織地址寫(xiě)入解交織矩陣; b、判斷是否完成解交織矩陣一列數(shù)據(jù)的寫(xiě)操作,如果完成,則根據(jù)列間置換規(guī)則計(jì)算解交織矩陣下一列的解交織地址;否則,將解交織地址加上列間距; c、判斷是否完成所有數(shù)據(jù)的寫(xiě)操作,如果完成,則執(zhí)行步驟d;否則,取下一個(gè)數(shù)據(jù),將數(shù)據(jù)根據(jù)解交織地址寫(xiě)入解交織矩陣,返回步驟b; d、按解交織地址順序從解交織矩陣中讀取數(shù)據(jù)。
較佳的,所述步驟d進(jìn)一步包括 d1、對(duì)解交織地址初始化,將數(shù)據(jù)根據(jù)解交織地址從解交織矩陣讀出; d2、將當(dāng)前解交織地址加1; d3、判斷是否完成所有數(shù)據(jù)的讀操作,如果完成,則第二次解交織結(jié)束;否則,將數(shù)據(jù)根據(jù)當(dāng)前解交織地址從解交織矩陣讀出,返回步驟d2。
較佳的,所述步驟a進(jìn)一步包括對(duì)列值初始化; 步驟b中如果完成解交織矩陣一列數(shù)據(jù)的寫(xiě)操作,進(jìn)一步包括將列值加1,根據(jù)列值對(duì)應(yīng)列間置換規(guī)則計(jì)算解交織矩陣下一列的解交織地址。
較佳的,所述列間置換規(guī)則為3GPP規(guī)定的30列矩陣的列間置換規(guī)則。
一種第二次解交織裝置,包括 解交織數(shù)據(jù)寫(xiě)入模塊,用于接收數(shù)據(jù),根據(jù)來(lái)自解交織列末判斷模塊的列中信號(hào)計(jì)算該列下一個(gè)解交織地址,以及接收解交織列間轉(zhuǎn)換模塊的解交織地址,并將解交織地址和數(shù)據(jù)發(fā)往解交織存儲(chǔ)模塊; 解交織存儲(chǔ)模塊,用于接收解交織數(shù)據(jù)寫(xiě)入模塊的解交織地址和數(shù)據(jù),根據(jù)解交織數(shù)據(jù)寫(xiě)入模塊的解交織地址存儲(chǔ)數(shù)據(jù),以及接收解交織數(shù)據(jù)讀取模塊的解交織地址,根據(jù)來(lái)自解交織數(shù)據(jù)讀取模塊的解交織地址將數(shù)據(jù)發(fā)往解交織數(shù)據(jù)讀取模塊; 解交織列末判斷模塊,用于判斷來(lái)自解交織數(shù)據(jù)寫(xiě)入模塊的解交織地址是否為列末地址,不為列末地址時(shí)向解交織數(shù)據(jù)寫(xiě)入模塊發(fā)送列中信號(hào),為列末地址時(shí)向解交織列間轉(zhuǎn)換模塊發(fā)送列末信號(hào); 解交織列間轉(zhuǎn)換模塊,用于根據(jù)列間置換規(guī)則和來(lái)自解交織列末判斷模塊的列末信號(hào)計(jì)算下一列的解交織地址,并將該解交織地址發(fā)往解交織數(shù)據(jù)寫(xiě)入模塊; 解交織數(shù)據(jù)讀取模塊,根據(jù)數(shù)據(jù)發(fā)送順序依次生成解交織地址,并將生成的解交織地址發(fā)往解交織存儲(chǔ)模塊,根據(jù)發(fā)往解交織存儲(chǔ)模塊的解交織地址逐個(gè)從解交織存儲(chǔ)模塊讀取數(shù)據(jù),并將該數(shù)據(jù)發(fā)送出去。
本發(fā)明采用交織地址或解交織地址確定數(shù)據(jù)在交織矩陣或解交織矩陣中的位置,無(wú)需計(jì)算數(shù)據(jù)所在矩陣的行號(hào)和列號(hào),即無(wú)需通過(guò)計(jì)算交織矩陣或解交織矩陣的行數(shù)即可構(gòu)造交織矩陣或解交織矩陣,免去了多余的除法運(yùn)算,也節(jié)省了相應(yīng)的除法運(yùn)算單元,減少了芯片的面積。符合移動(dòng)通信終端體積小、功耗低的發(fā)展趨勢(shì),擁有良好的實(shí)用價(jià)值。
本發(fā)明的方法中,將數(shù)據(jù)從交織矩陣按列讀出、或?qū)?shù)據(jù)按列寫(xiě)入到解交織矩陣時(shí),為每個(gè)數(shù)據(jù)生成一個(gè)交織地址或解交織地址,按交織地址或解交織地址直接將相應(yīng)數(shù)據(jù)寫(xiě)入交織矩陣或解交織矩陣,而無(wú)需按行號(hào)、列號(hào)將相應(yīng)數(shù)據(jù)寫(xiě)入交織矩陣或解交織矩陣,無(wú)需寫(xiě)入無(wú)效數(shù)據(jù)。節(jié)省了現(xiàn)有技術(shù)中計(jì)算交織矩陣或解交織矩陣最后一行每一列是否為無(wú)效數(shù)據(jù)的步驟,降低了運(yùn)算復(fù)雜度,提高了運(yùn)算效率。



圖1為本發(fā)明第二次交織處理實(shí)現(xiàn)方法的流程示意圖; 圖2為本發(fā)明第二次交織裝置的組成結(jié)構(gòu)示意圖; 圖3為本發(fā)明第二次解交織處理實(shí)現(xiàn)方法的流程示意圖; 圖4為本發(fā)明第二次解交織裝置的組成結(jié)構(gòu)示意圖。

具體實(shí)施例方式 本發(fā)明中,采用交織地址或解交織地址確定數(shù)據(jù)在交織矩陣或解交織矩陣中的位置,不同于現(xiàn)有技術(shù)中采用行號(hào)、列號(hào)確定數(shù)據(jù)所在交織矩陣或解交織矩陣中位置的方法。
具體的,交織地址或解交織地址按所在矩陣行的順序?yàn)榻豢椌仃嚨?行第0列的交織地址為0,第0行第1列的交織地址為1,第0行第29列的交織地址為29,第1行第0列的交織地址為30,以此類(lèi)推。如果需要傳輸?shù)臄?shù)據(jù)長(zhǎng)度為M,則所需交織地址也為M個(gè),一般交織地址為0到M減1,交織地址的值總小于所需傳輸?shù)臄?shù)據(jù)長(zhǎng)度。解交織地址順序與交織地址順序相同,且總小于接收到的數(shù)據(jù)長(zhǎng)度。
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)一步詳細(xì)闡述。
圖1為本發(fā)明提出的第二次交織處理實(shí)現(xiàn)方法的流程示意圖,如圖1所示,該方法包括如下步驟 步驟101對(duì)交織地址初始化,可將交織地址初始化為0。
步驟102將數(shù)據(jù)寫(xiě)入交織矩陣的當(dāng)前交織地址位置。
步驟103將交織地址加1。
步驟104判斷是否完成所有數(shù)據(jù)的寫(xiě)操作,如果完成,則執(zhí)行步驟105;如果未完成,則執(zhí)行步驟102。
這里,由于交織地址總小于所需傳輸?shù)臄?shù)據(jù)長(zhǎng)度,即交織地址最大為M減1,故只需判斷交織地址是否大于M減1的差,如果大于,則表示完成所有數(shù)據(jù)的寫(xiě)操作;如果不大于,則表示未完成所有數(shù)據(jù)的寫(xiě)操作。
通過(guò)步驟102到步驟104的循環(huán)寫(xiě)操作,即可將所需傳輸?shù)腗個(gè)數(shù)據(jù)根據(jù)依次生成的交織地址寫(xiě)入交織矩陣對(duì)應(yīng)的位置。
步驟105對(duì)交織地址和列值初始化,可將交織地址和列值均初始化為0。
步驟106根據(jù)當(dāng)前交織地址從交織矩陣中相應(yīng)位置讀取數(shù)據(jù)。
步驟107判斷是否完成交織矩陣一列數(shù)據(jù)的讀操作,如果完成,則執(zhí)行步驟108;如果未完成,則執(zhí)行步驟109。
這里,由于交織矩陣為30列矩陣,最后30個(gè)交織地址必處在交織矩陣的列末,故只需判斷交織地址是否大于M減31的差,如果大于,則表示完成交織矩陣一列數(shù)據(jù)的讀操作;如果不大于,則表示未完成交織矩陣一列數(shù)據(jù)的讀操作。
步驟108將列值加1,根據(jù)列值對(duì)應(yīng)列間置換規(guī)則計(jì)算交織矩陣下一列的交織地址,執(zhí)行步驟110。
這里,所述列間置換規(guī)則可以為3GPP規(guī)定的30列矩陣的列間置換規(guī)則。
步驟109將交織地址加列間距。
這里,列間距為相鄰交織地址的列差,由于本發(fā)明中采用的交織矩陣為30列矩陣,所以列間距為30。由此,交織地址由自身值加30得到,即得到了該列的下一個(gè)交織地址。
在實(shí)際應(yīng)用中,交織矩陣不限于30列矩陣,可以采用其它的交織矩陣,無(wú)論采用哪種交織矩陣,處理過(guò)程均與本流程相同,這里不再贅述。
步驟110判斷是否完成所有數(shù)據(jù)的讀操作,如果未完成,則執(zhí)行步驟106;如果完成,則第二次交織過(guò)程結(jié)束。
這里,由于交織地址總小于所需傳輸?shù)臄?shù)據(jù)長(zhǎng)度M,即交織地址最大為M減1,故只需判斷交織地址是否大于M減1的差,如果大于,則第二次交織過(guò)程結(jié)束;如果不大于,則執(zhí)行步驟106。
通過(guò)步驟106到步驟110讀取數(shù)據(jù)時(shí),根據(jù)步驟107判斷是否完成交織矩陣一列數(shù)據(jù)的讀操作,如果未完成,則根據(jù)步驟109得到的該列下一地址依次向下讀;如果完成,則根據(jù)步驟108依據(jù)列間置換規(guī)則計(jì)算得到的下一列交織地址,換到下一列依次讀取數(shù)據(jù)。整個(gè)過(guò)程循環(huán)往復(fù),直到完成所有數(shù)據(jù)的讀操作為止。
圖2為本發(fā)明第二次交織裝置的組成結(jié)構(gòu)示意圖,如圖2所示,該裝置包括交織數(shù)據(jù)寫(xiě)入模塊201,用于接收數(shù)據(jù),根據(jù)數(shù)據(jù)接收順序依次生成交織地址,并分別將交織地址和數(shù)據(jù)發(fā)往交織存儲(chǔ)模塊202。
每接收到一個(gè)數(shù)據(jù),交織數(shù)據(jù)寫(xiě)入模塊201就為該數(shù)據(jù)生成一個(gè)交織地址,可先將交織地址初始化為0,根據(jù)當(dāng)前解交織地址讀取數(shù)據(jù)后,將該解交織地址加1得到下一數(shù)據(jù)的解交織地址。
交織存儲(chǔ)模塊202,用于接收交織數(shù)據(jù)寫(xiě)入模塊201的交織地址和數(shù)據(jù),根據(jù)交織數(shù)據(jù)寫(xiě)入模塊201的交織地址存儲(chǔ)數(shù)據(jù);并接收交織數(shù)據(jù)讀取模塊205的交織地址,根據(jù)交織數(shù)據(jù)讀取模塊205的交織地址將數(shù)據(jù)發(fā)往交織數(shù)據(jù)讀取模塊205。
交織列末判斷模塊203,用于根據(jù)由交織數(shù)據(jù)讀取模塊205接收到的交織地址判斷該交織地址是否為列末地址,如果不是,則向交織數(shù)據(jù)讀取模塊205發(fā)送列中信號(hào),如果是,則向交織列間轉(zhuǎn)換模塊204發(fā)送列末信號(hào)。
由于交織矩陣為30列矩陣,所以交織地址的最后30個(gè)一定處于交織矩陣列末。根據(jù)需要傳輸?shù)臄?shù)據(jù)長(zhǎng)度M,判斷交織地址是否大于M減31的差,即是否為最后30個(gè)交織地址,即可得出該交織地址是否為列末地址。
交織列間轉(zhuǎn)換模塊204,用于根據(jù)由交織列末判斷模塊203收到的列末信號(hào)計(jì)算下一列的交織地址,并將計(jì)算出的交織地址發(fā)往交織數(shù)據(jù)讀取模塊205。
每接收到一次列末信號(hào),交織列間轉(zhuǎn)換模塊204就將列值加1,并根據(jù)列間置換規(guī)則計(jì)算當(dāng)前列值所對(duì)應(yīng)的轉(zhuǎn)換后的交織地址,并將該交織地址發(fā)往交織數(shù)據(jù)讀取模塊205。
交織數(shù)據(jù)讀取模塊205,用于根據(jù)由交織列末判斷模塊203接收到的列中信號(hào)計(jì)算該列下一個(gè)交織地址,以及接收交織列間轉(zhuǎn)換模塊204的交織地址,將交織地址發(fā)往交織存儲(chǔ)模塊202;并根據(jù)發(fā)往交織存儲(chǔ)模塊202的交織地址,逐個(gè)從交織存儲(chǔ)模塊202讀取數(shù)據(jù),并發(fā)送該數(shù)據(jù)。
交織數(shù)據(jù)讀取模塊205讀取數(shù)據(jù)時(shí),可先將交織地址初始化為0,將該交織地址同時(shí)發(fā)往交織存儲(chǔ)模塊202和交織列末判斷模塊203。交織存儲(chǔ)模塊202將當(dāng)前交織地址對(duì)應(yīng)的數(shù)據(jù)發(fā)往交織數(shù)據(jù)讀取模塊205;交織列末判斷模塊203判斷當(dāng)前交織地址是否為列末地址,如果不是,下一數(shù)據(jù)的交織地址由交織數(shù)據(jù)讀取模塊205將當(dāng)前交織地址加30得到;如果是,下一數(shù)據(jù)的交織地址由交織列間轉(zhuǎn)換模塊204計(jì)算得到。
圖3為本發(fā)明第二次解交織處理實(shí)現(xiàn)方法的流程示意圖,如圖3所示,該方法包括如下步驟 步驟301對(duì)解交織地址和列值初始化,可將解交織地址初始化為0。
步驟302將數(shù)據(jù)根據(jù)解交織地址寫(xiě)入解交織矩陣。
步驟303判斷是否完成解交織矩陣一列數(shù)據(jù)的寫(xiě)操作,如果完成,則執(zhí)行步驟304;如果未完成,則執(zhí)行步驟305。
這里,由于解交織矩陣為30列矩陣,所以解交織地址最后30位必處在解交織矩陣的列末。又由于接收到的數(shù)據(jù)長(zhǎng)度為N,故只需判斷解交織地址是否大于N減31的差,如果大于,則表示完成解交織矩陣一列數(shù)據(jù)的寫(xiě)操作;如果不大于,則表示未完成解交織矩陣一列數(shù)據(jù)的寫(xiě)操作。
步驟304將列值加1,根據(jù)列值對(duì)應(yīng)列間置換規(guī)則計(jì)算解交織矩陣下一列的解交織地址,執(zhí)行步驟306。
這里,所述列間置換規(guī)則可以為3GPP規(guī)定的30列矩陣的列間置換規(guī)則。
步驟305將解交織地址加列間距。
這里,列間距為相鄰解交織地址的列差,由于本發(fā)明中采用的解交織矩陣為30列矩陣,所以列間距為30。由此,解交織地址由自身值加30得到,即得到了該列的下一個(gè)解交織地址。
實(shí)際應(yīng)用中,解交織矩陣不限于30列矩陣,可以采用其它的解交織矩陣,無(wú)論采用哪種解交織矩陣,處理過(guò)程均與本流程相同,這里不再贅述。
步驟306判斷是否完成所有數(shù)據(jù)的寫(xiě)操作,如果完成,則執(zhí)行步驟307;如果未完成,則執(zhí)行步驟302。
這里,由于解交織地址總小于接收到的數(shù)據(jù)長(zhǎng)度N,即解交織地址最大為N減1,故只需判斷解交織地址是否大于N減1的差,如果大于,則表示完成所有數(shù)據(jù)的寫(xiě)操作;如果不大于,則表示未完成所有數(shù)據(jù)的寫(xiě)操作。
通過(guò)步驟302到步驟306寫(xiě)入數(shù)據(jù)時(shí),根據(jù)步驟303判斷是否完成解交織矩陣一列數(shù)據(jù)的寫(xiě)操作,如果未完成,則根據(jù)步驟305得到的該列下一地址依次向下寫(xiě);如果完成,則根據(jù)步驟304依據(jù)列間置換規(guī)則計(jì)算得到的下一列解交織地址,換到下一列依次寫(xiě)入數(shù)據(jù)。整個(gè)過(guò)程循環(huán)往復(fù),直到完成所有數(shù)據(jù)的寫(xiě)操作為止。
步驟307對(duì)解交織地址初始化,可將解交織地址初始化為0。
步驟308根據(jù)解交織地址從解交織矩陣中讀取數(shù)據(jù)。
步驟309將解交織地址加1。
步驟310判斷是否完成所有數(shù)據(jù)的讀操作,如果未完成,則執(zhí)行步驟308;如果完成,則第二次解交織過(guò)程結(jié)束。
這里,由于解交織地址總小于接收到的數(shù)據(jù)長(zhǎng)度N,即解交織地址最大為N減1,故只需判斷解交織地址是否大于N減1的差,如果大于,則表示完成所有數(shù)據(jù)的讀操作;如果不大于,則表示未完成所有數(shù)據(jù)的讀操作。
通過(guò)步驟308到步驟310的循環(huán)讀操作,根據(jù)依次生成的解交織地址將接收到的N個(gè)數(shù)據(jù)依次從解交織矩陣對(duì)應(yīng)的位置中讀出。
圖4為本發(fā)明第二次解交織裝置的組成結(jié)構(gòu)示意圖,如圖4所示,該裝置包括解交織數(shù)據(jù)寫(xiě)入模塊401,用于接收數(shù)據(jù),根據(jù)由解交織列末判斷模塊402接收到的列中信號(hào)計(jì)算該列下一個(gè)解交織地址,并接收解交織列間轉(zhuǎn)換模塊403的解交織地址,分別將解交織地址和數(shù)據(jù)發(fā)往解交織存儲(chǔ)模塊404。
解交織數(shù)據(jù)寫(xiě)入模塊401寫(xiě)入數(shù)據(jù)時(shí),可先將解交織地址初始化為0,將該解交織地址同時(shí)發(fā)往解交織存儲(chǔ)模塊404和解交織列末判斷模塊402;解交織列末判斷模塊402判斷當(dāng)前解交織地址是否為列末地址,如果不是,則下一數(shù)據(jù)的解交織地址由解交織數(shù)據(jù)寫(xiě)入模塊401將當(dāng)前解交織地址加30得到;如果是,則下一數(shù)據(jù)的解交織地址由解交織列間轉(zhuǎn)換模塊403計(jì)算得到。
解交織存儲(chǔ)模塊404,用于接收解交織數(shù)據(jù)寫(xiě)入模塊401的解交織地址和數(shù)據(jù),根據(jù)解交織數(shù)據(jù)寫(xiě)入模塊401的解交織地址存儲(chǔ)數(shù)據(jù),并接收解交織數(shù)據(jù)讀取模塊405的解交織地址,根據(jù)由解交織數(shù)據(jù)讀取模塊405接收到的解交織地址將數(shù)據(jù)發(fā)往解交織數(shù)據(jù)讀取模塊405。
解交織列末判斷模塊402,用于根據(jù)由解交織數(shù)據(jù)寫(xiě)入模塊401接收到的解交織地址判斷該解交織地址是否為列末地址,如果是,則向解交織數(shù)據(jù)寫(xiě)入模塊401發(fā)送列中信號(hào),否則向解交織列間轉(zhuǎn)換模塊403發(fā)送列末信號(hào)。
由于解交織矩陣為30列矩陣,所以解交織地址的最后30個(gè)一定處于解交織矩陣列末。根據(jù)接收到的數(shù)據(jù)長(zhǎng)度N,判斷解交織地址是否大于N減3 1的差,即是否為最后30個(gè)解交織地址,即可得出該解交織地址是否為列末地址。
解交織列間轉(zhuǎn)換模塊403,用于根據(jù)由解交織列末判斷模塊402收到的列末信號(hào)計(jì)算下一列的解交織地址,并將該解交織地址發(fā)往解交織數(shù)據(jù)寫(xiě)入模塊401。
每接收到一次列末信號(hào),解交織列間轉(zhuǎn)換模塊403就將列值加1,并根據(jù)列間置換規(guī)則計(jì)算當(dāng)前列值所對(duì)應(yīng)的轉(zhuǎn)換后的解交織地址,并將該解交織地址發(fā)往解交織數(shù)據(jù)寫(xiě)入模塊401。
解交織數(shù)據(jù)讀取模塊405,根據(jù)數(shù)據(jù)發(fā)送順序依次生成解交織地址,并將該解交織地址發(fā)往解交織存儲(chǔ)模塊404,根據(jù)發(fā)往解交織存儲(chǔ)模塊404的解交織地址逐個(gè)從解交織存儲(chǔ)模塊404讀取數(shù)據(jù),并發(fā)送該數(shù)據(jù)。
解交織數(shù)據(jù)讀取模塊405讀取數(shù)據(jù)時(shí),可先將解交織地址初始化為0,根據(jù)當(dāng)前解交織地址讀取數(shù)據(jù)后,將該解交織地址加1得到下一數(shù)據(jù)的解交織地址。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種第二次交織方法,其特征在于,包括為每個(gè)輸入數(shù)據(jù)生成一個(gè)預(yù)先設(shè)定在交織矩陣中的交織地址;該方法還包括
A、按交織地址順序?qū)?shù)據(jù)寫(xiě)入交織矩陣;
B、對(duì)交織地址初始化,根據(jù)交織地址從交織矩陣中讀取數(shù)據(jù);
C、判斷是否完成交織矩陣一列數(shù)據(jù)的讀操作,如果完成,則根據(jù)列間置換規(guī)則計(jì)算交織矩陣下一列的交織地址,執(zhí)行步驟D;如果未完成,則交織地址由自身值加上列間距得到;
D、判斷是否完成所有數(shù)據(jù)的讀操作,如果完成,則第二次交織結(jié)束;否則,根據(jù)當(dāng)前交織地址從交織矩陣中讀取數(shù)據(jù),返回步驟C。
2、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A進(jìn)一步包括
A1、對(duì)交織地址初始化,將數(shù)據(jù)根據(jù)當(dāng)前交織地址寫(xiě)入交織矩陣;
A2、將當(dāng)前交織地址加1;
A3、判斷是否完成所有數(shù)據(jù)的寫(xiě)操作,如果完成,則執(zhí)行步驟B;否則,取下一個(gè)數(shù)據(jù),將數(shù)據(jù)根據(jù)當(dāng)前交織地址寫(xiě)入交織矩陣,返回步驟A2。
3、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟B進(jìn)一步包括對(duì)列值初始化;
步驟C中如果完成交織矩陣一列數(shù)據(jù)的讀操作,進(jìn)一步包括將列值加1,根據(jù)列值對(duì)應(yīng)列間置換規(guī)則計(jì)算交織矩陣下一列的交織地址。
4、根據(jù)權(quán)利要求1或3所述的方法,其特征在于,所述列間置換規(guī)則為3GPP規(guī)定的30列矩陣的列間置換規(guī)則。
5、一種第二次交織裝置,其特征在于,包括
交織數(shù)據(jù)寫(xiě)入模塊,用于接收數(shù)據(jù),根據(jù)數(shù)據(jù)接收順序依次生成交織地址,并分別將交織地址和數(shù)據(jù)發(fā)往交織存儲(chǔ)模塊;
交織存儲(chǔ)模塊,用于接收交織數(shù)據(jù)寫(xiě)入模塊的交織地址和數(shù)據(jù),根據(jù)交織數(shù)據(jù)寫(xiě)入模塊的交織地址存儲(chǔ)數(shù)據(jù),以及接收交織數(shù)據(jù)讀取模塊的交織地址,根據(jù)來(lái)自交織數(shù)據(jù)讀取模塊的交織地址將數(shù)據(jù)發(fā)往交織數(shù)據(jù)讀取模塊;
交織列末判斷模塊,用于判斷來(lái)自交織數(shù)據(jù)寫(xiě)入模塊的交織地址是否為列末地址,不為列末地址時(shí)向交織數(shù)據(jù)讀取模塊發(fā)送列中信號(hào),為列末地址時(shí)向交織列間轉(zhuǎn)換模塊發(fā)送列末信號(hào);
交織列間轉(zhuǎn)換模塊,用于根據(jù)列間置換規(guī)則和來(lái)自交織列末判斷模塊的列末信號(hào)計(jì)算下一列的交織地址,并將該交織地址發(fā)往交織數(shù)據(jù)讀取模塊;
交織數(shù)據(jù)讀取模塊,用于根據(jù)來(lái)自交織列末判斷模塊的列中信號(hào)計(jì)算該列下一個(gè)交織地址,以及接收交織列間轉(zhuǎn)換模塊的交織地址;并根據(jù)發(fā)往交織存儲(chǔ)模塊的交織地址逐個(gè)從交織存儲(chǔ)模塊讀取數(shù)據(jù),并將該數(shù)據(jù)發(fā)送出去。
6、一種第二次解交織方法,其特征在于,包括
a、對(duì)預(yù)先設(shè)定在解交織矩陣中的解交織地址初始化,將數(shù)據(jù)根據(jù)解交織地址寫(xiě)入解交織矩陣;
b、判斷是否完成解交織矩陣一列數(shù)據(jù)的寫(xiě)操作,如果完成,則根據(jù)列間置換規(guī)則計(jì)算解交織矩陣下一列的解交織地址;否則,將解交織地址加上列間距;
c、判斷是否完成所有數(shù)據(jù)的寫(xiě)操作,如果完成,則執(zhí)行步驟d;否則,取下一個(gè)數(shù)據(jù),將數(shù)據(jù)根據(jù)解交織地址寫(xiě)入解交織矩陣,返回步驟b;
d、按解交織地址順序從解交織矩陣中讀取數(shù)據(jù)。
7、根據(jù)權(quán)利要求6所述的方法,其特征在于,所述步驟d進(jìn)一步包括
d1、對(duì)解交織地址初始化,將數(shù)據(jù)根據(jù)解交織地址從解交織矩陣讀出;
d2、將當(dāng)前解交織地址加1;
d3、判斷是否完成所有數(shù)據(jù)的讀操作,如果完成,則第二次解交織結(jié)束;否則,將數(shù)據(jù)根據(jù)當(dāng)前解交織地址從解交織矩陣讀出,返回步驟d2。
8、根據(jù)權(quán)利要求6所述的方法,其特征在于,所述步驟a進(jìn)一步包括對(duì)列值初始化;
步驟b中如果完成解交織矩陣一列數(shù)據(jù)的寫(xiě)操作,進(jìn)一步包括將列值加1,根據(jù)列值對(duì)應(yīng)列間置換規(guī)則計(jì)算解交織矩陣下一列的解交織地址。
9、根據(jù)權(quán)利要求6或8所述的方法,其特征在于,所述列間置換規(guī)則為3GPP規(guī)定的30列矩陣的列間置換規(guī)則。
10、一種第二次解交織裝置,其特征在于,包括
解交織數(shù)據(jù)寫(xiě)入模塊,用于接收數(shù)據(jù),根據(jù)來(lái)自解交織列末判斷模塊的列中信號(hào)計(jì)算該列下一個(gè)解交織地址,以及接收解交織列間轉(zhuǎn)換模塊的解交織地址,并將解交織地址和數(shù)據(jù)發(fā)往解交織存儲(chǔ)模塊;
解交織存儲(chǔ)模塊,用于接收解交織數(shù)據(jù)寫(xiě)入模塊的解交織地址和數(shù)據(jù),根據(jù)解交織數(shù)據(jù)寫(xiě)入模塊的解交織地址存儲(chǔ)數(shù)據(jù),以及接收解交織數(shù)據(jù)讀取模塊的解交織地址,根據(jù)來(lái)自解交織數(shù)據(jù)讀取模塊的解交織地址將數(shù)據(jù)發(fā)往解交織數(shù)據(jù)讀取模塊;
解交織列末判斷模塊,用于判斷來(lái)自解交織數(shù)據(jù)寫(xiě)入模塊的解交織地址是否為列末地址,不為列末地址時(shí)向解交織數(shù)據(jù)寫(xiě)入模塊發(fā)送列中信號(hào),為列末地址時(shí)向解交織列間轉(zhuǎn)換模塊發(fā)送列末信號(hào);
解交織列間轉(zhuǎn)換模塊,用于根據(jù)列間置換規(guī)則和來(lái)自解交織列末判斷模塊的列末信號(hào)計(jì)算下一列的解交織地址,并將該解交織地址發(fā)往解交織數(shù)據(jù)寫(xiě)入模塊;
解交織數(shù)據(jù)讀取模塊,根據(jù)數(shù)據(jù)發(fā)送順序依次生成解交織地址,并將生成的解交織地址發(fā)往解交織存儲(chǔ)模塊,根據(jù)發(fā)往解交織存儲(chǔ)模塊的解交織地址逐個(gè)從解交織存儲(chǔ)模塊讀取數(shù)據(jù),并將該數(shù)據(jù)發(fā)送出去。
全文摘要
本發(fā)明公開(kāi)了一種簡(jiǎn)便的第二次交織方法,包括為每個(gè)輸入數(shù)據(jù)生成一個(gè)預(yù)先設(shè)定在交織矩陣中的交織地址,按交織地址將數(shù)據(jù)寫(xiě)入交織矩陣;對(duì)交織地址初始化,根據(jù)交織地址從交織矩陣中讀取數(shù)據(jù);判斷是否完成交織矩陣一列數(shù)據(jù)的讀操作,如完成,根據(jù)列間置換規(guī)則計(jì)算交織矩陣下一列的交織地址;否則,交織地址由自身值加上列間距得到;判斷是否完成所有數(shù)據(jù)的讀操作,如完成,第二次交織結(jié)束;否則,返回上述根據(jù)交織地址從交織矩陣中讀取數(shù)據(jù)的步驟,重復(fù)上述操作。本發(fā)明還公開(kāi)了一種簡(jiǎn)便的第二次解交織的方法,以及對(duì)應(yīng)的第二次交織及解交織的裝置。本發(fā)明能夠免除不必要的除法運(yùn)算,降低了方法的運(yùn)算復(fù)雜度,并有效地節(jié)省了芯片資源。
文檔編號(hào)H04L1/00GK101610089SQ20081012663
公開(kāi)日2009年12月23日 申請(qǐng)日期2008年6月17日 優(yōu)先權(quán)日2008年6月17日
發(fā)明者袁學(xué)龍 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
海口市| 芦山县| 富川| 唐海县| 台南县| 隆尧县| 交城县| 扶风县| 桂阳县| 福建省| 宜宾市| 甘泉县| 博客| 汽车| 石林| 湖北省| 垣曲县| 大方县| 庆云县| 若尔盖县| 从化市| 苏州市| 界首市| 桦甸市| 台山市| 卢湾区| 耒阳市| 扎赉特旗| 康保县| 南阳市| 霍城县| 云阳县| 中牟县| 曲阜市| 汝南县| 古浪县| 积石山| 祥云县| 五常市| 古蔺县| 苍南县|