專利名稱:卷積碼解碼方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種卷積碼解碼方法及裝置。
背景技術(shù):
卷積碼廣泛應(yīng)用于通訊領(lǐng)域有,是一種較好的信道編碼方式。卷積碼編碼方式是把k個信息比特編成η個比特,但由于k和η通常很小,特別適宜于以串行形式傳輸信息,能夠有效減小編碼延時。在卷積碼編碼中,卷積碼編碼器將k個信息碼元編為η個碼元時,這η個碼元不僅與當(dāng)前段的k個信息有關(guān),而且與前面的(m-1)段信息有關(guān),其中,m為編碼的約束長度。同樣,在卷積碼解碼過程中,不僅從此時刻收到的碼組中提取譯碼信息,而且還要利用以前或以后各時刻收到的碼組中提取有關(guān)信息。目前,常用的卷積碼解碼方法一般有 代數(shù)譯碼、維特比譯碼和序貫譯碼。代數(shù)譯碼是將卷積碼的一個編碼約束長度的碼段看作是[n0(m+l),k0(m+l)]線性分組碼,每次根據(jù)(m+1)分支長接收數(shù)字,對相應(yīng)的最早的那個分支上的信息數(shù)字進(jìn)行估計,然后向前推進(jìn)一個分支;維特比譯碼是根據(jù)接收序列在碼的格圖上找出一條與接收序列距離(或其他量度)為最小的一種算法,它和運籌學(xué)中求最短路徑的算法相類似;序貫譯碼是根據(jù)接收序列和編碼規(guī)則,在整個碼樹中搜索(既可以前進(jìn),也可以后退)出一條與接收序列距離(或其他量度)最小的一種算法。但是,上述解碼方法在進(jìn)行卷積碼解碼時實現(xiàn)復(fù)雜、運算量大。尤其在某些信道條件較好的情形下,這些實現(xiàn)復(fù)雜、運算量大的解碼方法會給系統(tǒng)造成較大負(fù)擔(dān)。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種卷積碼解碼方法及裝置,以至少解決上述現(xiàn)有解碼方法實現(xiàn)復(fù)雜、運算量大的問題。根據(jù)本發(fā)明的一個方面,提供了一種卷積碼解碼方法,包括生成卷積碼解碼表,該卷積碼解碼表包括待編碼的二進(jìn)制數(shù)據(jù)和該二進(jìn)制數(shù)據(jù)對應(yīng)的二進(jìn)制卷積碼;根據(jù)卷積碼解碼表對待解碼數(shù)據(jù)進(jìn)行解碼。優(yōu)選地,生成卷積碼解碼表的步驟包括從卷積碼輸入序列的首位開始,依次根據(jù)輸入序列的每一位生成與每一位對應(yīng)的所述卷積碼解碼表的記錄;其中,根據(jù)輸入序列的一位生成與該位對應(yīng)的卷積碼解碼表的記錄包括將輸入序列的一位轉(zhuǎn)換為符合二進(jìn)制卷積編碼規(guī)則要求的長度的二進(jìn)制數(shù)據(jù);根據(jù)二進(jìn)制卷積碼編碼規(guī)則生成該二進(jìn)制數(shù)據(jù)對應(yīng)的二進(jìn)制卷積碼;將該二進(jìn)制卷積碼和該二進(jìn)制數(shù)據(jù)存儲到卷積碼解碼表。優(yōu)選地,二進(jìn)制卷積碼以十進(jìn)制形式,或者八進(jìn)制形式,或者十六進(jìn)制形式,存儲到卷積碼解碼表。優(yōu)選地,根據(jù)卷積碼解碼表對待解碼數(shù)據(jù)進(jìn)行解碼的步驟包括依次從待解碼數(shù)據(jù)中讀取長度為二進(jìn)制卷積碼編碼規(guī)則要求的長度的卷積碼數(shù)據(jù)進(jìn)行解碼;其中,對一次讀取的卷積碼數(shù)據(jù)進(jìn)行解碼包括讀取長度為二進(jìn)制卷積碼編碼規(guī)則要求的長度的卷積碼數(shù)據(jù);根據(jù)卷積碼解碼表中的卷積碼數(shù)據(jù)與二進(jìn)制數(shù)據(jù)的對應(yīng)關(guān)系,對本次讀取的二進(jìn)制卷積碼進(jìn)行解碼。優(yōu)選地,當(dāng)二進(jìn)制卷積碼以十進(jìn)制形式,或者八進(jìn)制形式,或者十六進(jìn)制形式表示時,對一次讀取的所述卷積碼數(shù)據(jù)進(jìn)行解碼包括讀取長度為二進(jìn)制卷積碼編碼規(guī)則要求的長度的卷積碼數(shù)據(jù);將本次讀取的卷積碼數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制數(shù)據(jù),或者八進(jìn)制數(shù)據(jù),或者十六進(jìn)制數(shù)據(jù);根據(jù)卷積碼解碼表中的,以十進(jìn)制形式,或者八進(jìn)制形式,或者十六進(jìn)制形式表示的卷積碼數(shù)據(jù)與二進(jìn)制數(shù)據(jù)的對應(yīng)關(guān)系,對本次讀取的卷積碼進(jìn)行解碼。優(yōu)選地,在依次從所述待解碼數(shù)據(jù)中讀取長度為二進(jìn)制卷積碼編碼規(guī)則要求的長度的卷積碼數(shù)據(jù)進(jìn)行解碼的步驟之前,還包括為待解碼數(shù)據(jù)建立η+k-l位的二進(jìn)制解碼數(shù)據(jù)寄存器,并全部賦初始值為O ;其中,η表示卷積碼輸出序列的位數(shù),k表示約束長度。優(yōu)選地,該卷積碼解碼方法還包括將分段解碼后的數(shù)據(jù)與相對應(yīng)的二進(jìn)制解碼數(shù)據(jù)寄存器中的數(shù)據(jù)進(jìn)行相加或相或運算。
優(yōu)選地,該卷積碼解碼方法還包括對解碼完成后的待解碼數(shù)據(jù),截去前k_l位,其中,前k-Ι位對應(yīng)于生成二進(jìn)制卷積碼的卷積碼編碼器的初始值,k表示約束長度。優(yōu)選地,該卷積碼解碼方法應(yīng)用于誤碼率小于10_6的信道條件下。優(yōu)選地,該卷積碼解碼方法應(yīng)用于誤碼率為O的信道條件下。根據(jù)本發(fā)明的另一方面,提供了一種卷積碼解碼裝置,包括生成模塊,用于生成卷積碼解碼表,該卷積碼解碼表包括待編碼的二進(jìn)制數(shù)據(jù)和該二進(jìn)制數(shù)據(jù)對應(yīng)的二進(jìn)制卷積碼;解碼模塊,用于根據(jù)卷積碼解碼表對待解碼數(shù)據(jù)進(jìn)行解碼。通過本發(fā)明,采用生成與原數(shù)據(jù)對應(yīng)的卷積碼編碼表,進(jìn)而根據(jù)該卷積碼編碼表對待解碼數(shù)據(jù)進(jìn)行解碼,使得在解碼時,直接查表即可獲取與待解碼數(shù)據(jù)對應(yīng)的原數(shù)據(jù),解決了現(xiàn)有解碼方法實現(xiàn)復(fù)雜、運算量大的的問題,進(jìn)而達(dá)到了實現(xiàn)簡單、減少解碼運算量、提高解碼速度的效果。
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖I是根據(jù)本發(fā)明實施例一的一種卷積碼解碼方法的步驟流程圖;圖2是圖I所示實施例一中的一種約束長度為k的二進(jìn)制卷積碼編碼器的示意圖;圖3是根據(jù)本發(fā)明實施例二的一種1/2碼率解碼表的生成方法的步驟流程圖;圖4是圖3所不實施例二中的對應(yīng)于1/2碼率解碼表的卷積碼解碼方法的步驟流程圖;圖5是根據(jù)本發(fā)明實施例三的一種2/3碼率解碼表的生成方法的步驟流程圖;圖6是圖5所示實施例三中的對應(yīng)于2/3碼率解碼表的卷積碼解碼方法的步驟流程圖;圖7是根據(jù)本發(fā)明實施例四的一種3/4碼率解碼表的生成方法的步驟流程圖;圖8是圖7所不實施例四中的對應(yīng)于3/4碼率解碼表的卷積碼解碼方法的步驟流程圖9是根據(jù)本發(fā)明實施例五的一種卷積碼解碼裝置的結(jié)構(gòu)框圖;圖10是根據(jù)本發(fā)明實施例六的一種卷積碼解碼裝置的結(jié)構(gòu)示意圖。
具體實施例方式下文中將參考附圖并結(jié)合實施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。實施例一參照圖I,示出了根據(jù)本發(fā)明實施例一的一種卷積碼解碼方法的步驟流程圖。本實施例的卷積碼解碼方法包括以下步驟步驟S102 :生成卷積碼解碼表; 其中,卷積碼解碼表包括待編碼的二進(jìn)制數(shù)據(jù)和其對應(yīng)的二進(jìn)制卷積碼。卷積碼解碼表中每一條記錄至少包括一個二進(jìn)制數(shù)據(jù)和該二進(jìn)制數(shù)據(jù)對應(yīng)的二進(jìn)制卷積碼,二進(jìn)制卷積碼可以以原形的形式表示,也可以以十進(jìn)制、八進(jìn)制、十六進(jìn)制等形式表示,當(dāng)然,不限于此,本領(lǐng)域技術(shù)人員也可以采用其它適當(dāng)形式表現(xiàn)二進(jìn)制卷積碼,本發(fā)明對此不作限制。卷積碼解碼表中的二進(jìn)制數(shù)據(jù)由待編碼的原數(shù)據(jù)得來,例如,將待編碼的原數(shù)據(jù)中的每一位都轉(zhuǎn)換為適當(dāng)?shù)亩M(jìn)制數(shù)據(jù),則轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)后的原數(shù)據(jù)中的一位經(jīng)過卷積碼編碼生成的二進(jìn)制卷積碼與該二進(jìn)制數(shù)據(jù)存在一一對應(yīng)關(guān)系。正是依靠該對應(yīng)關(guān)系,實現(xiàn)待解碼數(shù)據(jù)的解碼。在實際使用中,對數(shù)據(jù)進(jìn)行卷積碼編碼的二進(jìn)制卷積碼編碼器可以如圖2所示,該卷積碼編碼器的約束長度為k,通過該編碼器輸出的二進(jìn)制卷積碼如表I所示。表I
碼率 ~1/2 ~2 3 ~3 4 ~ 10 101Π
XY XOTO Χ0Υ0Υ1 Χ0Υ0Υ1Χ2步驟S104 :根據(jù)卷積碼解碼表對待解碼數(shù)據(jù)進(jìn)行解碼。本步驟中,依據(jù)卷積碼解碼表中二進(jìn)制卷積碼與二進(jìn)制數(shù)據(jù)的對應(yīng)關(guān)系,實現(xiàn)待解碼數(shù)據(jù)的解碼。相關(guān)技術(shù)中,現(xiàn)有的解碼方法因上具有一定的糾錯能力,多用于實際通訊存在噪聲、干擾或衰落的信道條件下。但是,現(xiàn)有的解碼方法在進(jìn)行卷積碼解碼時實現(xiàn)復(fù)雜、運算量大。尤其是,在某些應(yīng)用場景(如協(xié)議、信令測試)下,信道條件較好,一般來講,信道誤碼率小于10_6,或者誤碼率為O時,對糾錯能力沒有特別要求,這時,現(xiàn)有的解碼方法導(dǎo)致的卷積碼解碼實現(xiàn)復(fù)雜、運算量大的問題就更加明顯。通過本實施例,采用生成與原數(shù)據(jù)對應(yīng)的卷積碼編碼表,進(jìn)而根據(jù)該卷積碼編碼表對待解碼數(shù)據(jù)進(jìn)行解碼,使得在解碼時,直接查表即可獲取與待解碼數(shù)據(jù)對應(yīng)的原數(shù)據(jù),解決了現(xiàn)有解碼方法實現(xiàn)復(fù)雜、運算量大的的問題,進(jìn)而達(dá)到了實現(xiàn)簡單、減少解碼運算量、提高解碼速度的效果。實施例二本實施例的卷積碼輸出采用1/2碼率,卷積碼解碼表中的二進(jìn)制卷積碼采用十進(jìn)制形式,設(shè)定本實施例的二進(jìn)制卷積碼編碼器的約束長度為k。本實施例的卷積碼解碼方法主要包括二部分,一部分為1/2碼率解碼表的生成,一部分為使用查表法的卷積碼解碼器的實現(xiàn),以下分別進(jìn)行說明。參照圖3,示出了根據(jù)本發(fā)明實施例二的一種1/2碼率解碼表的生成方法的步驟流程圖,包括以下步驟步驟S302 :設(shè)定指針i = O。其中,指針i用于指示卷積碼輸入序列中的一位,初始時,設(shè)置為0,即卷積碼輸入序列的首位。 步驟S304 :將i指示的數(shù)據(jù)轉(zhuǎn)換為(2k_2)位二進(jìn)制數(shù)X。步驟S306 :將此二進(jìn)制數(shù)X輸入卷積碼編碼器,其中前k位用來初始化卷積碼編碼器的k個寄存器。步驟S308 :經(jīng)過(k-Ι)次輸入后可以得到(2k_2)位1/2碼率的二進(jìn)制卷積碼。這(2k_2)位二進(jìn)制卷積碼與生成它的(2k_2)位原始二進(jìn)制數(shù)具有一一對應(yīng)的關(guān)系,利用該對應(yīng)關(guān)系可以實現(xiàn)卷積碼的解碼。其中,步驟S306的輸入作為一次輸入,包含在(k-Ι)次輸入中。步驟S310 :將這(2k-2)位二進(jìn)制卷積碼轉(zhuǎn)換為十進(jìn)制序號y。步驟S312 :將(2k_2)位二進(jìn)制數(shù)x寫入卷積碼解碼表中序號為y的行。步驟S314 :指針i+Ι,并比較i+Ι是否等于22(η),如不等于,返回上面步驟S304,生成卷積碼解碼表中剩余行;如相等,說明卷積碼解碼表已填滿,解碼表完成。與1/2碼率解碼表相對應(yīng),本實施例的對應(yīng)于1/2碼率解碼表的卷積碼解碼方法的步驟流程如圖4所示。假定待解碼數(shù)據(jù)長度為2η位,使用1/2碼率解碼表實現(xiàn)的解碼器進(jìn)行卷積碼解碼過程包括步驟S402 :建立η+k-l位二進(jìn)制解碼數(shù)據(jù)寄存器,并全部賦初始值O。本步驟中,因輸出碼率為1/2,由待解碼數(shù)據(jù)長度為2n位,可以得知本實施例的卷積碼輸出序列的位數(shù)為η位。步驟S404 :建兩個指針i和j,并賦初始值O。其中,指針i用于指示待解碼數(shù)據(jù),指針j用于指示解碼數(shù)據(jù)寄存器。步驟S406 :從待解碼數(shù)據(jù)中取出從第i位開始的連續(xù)(2k_2)位二進(jìn)制數(shù)。步驟S408 :將這(2k_2)位二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制序號。步驟S410 :用這個十進(jìn)制序號在1/2碼率解碼表中查出對應(yīng)的(2k_2)位原始二進(jìn)制數(shù)據(jù)。步驟S412 :用這(2k_2)位原始二進(jìn)制數(shù)據(jù)與解碼數(shù)據(jù)寄存器中從第j位開始的連續(xù)(2k-2)位寄存器相加(或二進(jìn)制相或)。本步驟為可選步驟,通過本步驟可以提高解碼數(shù)據(jù)的準(zhǔn)確率。步驟S414 :指針i+2k_2,并比較(i+2k_2)是否等于2n,若否,執(zhí)行步驟S416 ;若是,則執(zhí)行步驟S418。
步驟S416 :比較結(jié)果為否,指針i+2,指針j+Ι,返回步驟S406,繼續(xù)剩余數(shù)據(jù)的解碼。步驟S418 :比較結(jié)果為是,則說明待解碼數(shù)據(jù)已經(jīng)遍歷完,繼續(xù)后續(xù)處理。步驟S420 :截去解碼數(shù)據(jù)寄存器的前k-Ι位(這幾位是卷積碼編碼器的初始值,不論是否嘆尾編碼,都可忽略)。步驟S422 :剩余解碼數(shù)據(jù)寄存器的O位除以k,I位除以(k+Ι),…,(k_3)位除以(2k~3), (k~2)位至(n-2k+2)位除以(2k-2),(n~2k+3)位除以(2k-3),…,(n-2)位除以2,(n-1)除以1,然后各位取最接近的整數(shù)即得到η位解碼數(shù)據(jù)。需要說明的是,本步驟為可選步驟,如果步驟S412使用的是二進(jìn)制相或,則步驟S420即可得到完整的解碼數(shù)據(jù),從而本步驟可以省略。
實施例三本實施例的卷積碼輸出采用2/3碼率,卷積碼解碼表中的二進(jìn)制卷積碼采用十進(jìn)制形式,設(shè)定本實施例的二進(jìn)制卷積碼編碼器的約束長度為k。本實施例的2/3碼率解碼表的生成如圖5所示,與實施例二中1/2碼率解碼表生成方法類似,只是原始二進(jìn)制數(shù)據(jù)長度變?yōu)?3k-3),表的行數(shù)變?yōu)?3(η)。使用查表法的卷積碼解碼如圖6所示,以下分別進(jìn)行說明。參照圖5,示出了根據(jù)本發(fā)明實施例三的一種2/3碼率解碼表的生成方法的步驟流程圖,包括以下步驟步驟S502 :設(shè)定指針i = O。其中,指針i用于指示卷積碼輸入序列中的一位,初始時,設(shè)置為0,即卷積碼輸入序列的首位。步驟S504 :將i指示的數(shù)據(jù)轉(zhuǎn)換為(3k_3)位二進(jìn)制數(shù)X。步驟S506 :將此二進(jìn)制數(shù)X輸入卷積碼編碼器,其中前k位用來初始化卷積碼編碼器的k個寄存器。步驟S508 :然后將X的后續(xù)各位逐比特輸入卷積碼編碼器后,可以得到(3k_3)位2/3碼率的二進(jìn)制卷積碼。步驟S510 :將這(3k_3)位二進(jìn)制卷積碼轉(zhuǎn)換為十進(jìn)制序號y。步驟S512 :將(3k_3)位二進(jìn)制數(shù)x寫入卷積碼解碼表中序號為y的行。步驟S514 :指針i+Ι,并比較i+Ι是否等于23(η),如不等于,返回上面步驟S504,生成卷積碼解碼表中剩余行;如相等,說明卷積碼解碼表已填滿,解碼表完成。與2/3碼率解碼表相對應(yīng),本實施例的對應(yīng)于2/3碼率解碼表的卷積碼解碼方法的步驟流程如圖6所示。假定待解碼數(shù)據(jù)長度為3η位,使用2/3碼率解碼表實現(xiàn)的解碼器進(jìn)行卷積碼解碼過程包括步驟S602 :建立2n+k_l位二進(jìn)制解碼數(shù)據(jù)寄存器,并全部賦初始值O。本步驟中,因輸出碼率為2/3,由待解碼數(shù)據(jù)長度為3n位,可以得知本實施例的卷積碼輸出序列的位數(shù)為2n位。步驟S604 :建兩個指針i和j,并賦初始值O。其中,指針i用于指示待解碼數(shù)據(jù),指針j用于指示解碼數(shù)據(jù)寄存器。步驟S606 :從待解碼數(shù)據(jù)中取出從第i位開始的連續(xù)(3k_3)位二進(jìn)制數(shù)。
步驟S608 :將這(3k_3)位二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制序號。步驟S610 :用這個十進(jìn)制序號在2/3碼率解碼表中查出對應(yīng)的(3k_3)位原始二進(jìn)制數(shù)據(jù)。步驟S612 :用這(3k_3)位原始二進(jìn)制數(shù)據(jù)與解碼數(shù)據(jù)寄存器中從第j位開始的連續(xù)(3k-3)位進(jìn)行二進(jìn)制相或。本步驟為可選步驟,通過本步驟可以提高解碼數(shù)據(jù)的準(zhǔn)確率。步驟S614 :指針i+3k_3,并比較(i+3k_3)是否等于3n,若否,執(zhí)行步驟S616 ;若是,則執(zhí)行步驟S618。步驟S616 :比較結(jié)果為否,指針i+3,指針j+2,返回步驟S606,繼續(xù)剩余數(shù)據(jù)的解
碼。 步驟S618 :比較結(jié)果為是,則說明待解碼數(shù)據(jù)已經(jīng)遍歷完,繼續(xù)后續(xù)處理。步驟S620 :截去解碼數(shù)據(jù)寄存器的前k-Ι位(這幾位是卷積碼編碼器的初始值,不論是否嘆尾編碼,都可忽略)。實施例四本實施例的卷積碼輸出采用3/4碼率,卷積碼解碼表中的二進(jìn)制卷積碼采用十進(jìn)制形式,設(shè)定本實施例的二進(jìn)制卷積碼編碼器的約束長度為k。本實施例的3/4碼率解碼表的生成如圖7所示,與實施例二中1/2碼率解碼表生成方法類似,只是表中原始二進(jìn)制數(shù)據(jù)長度變?yōu)?4k-4),表的行數(shù)變?yōu)?4(η)。使用查表法的卷積碼解碼如圖8所示,以下分別進(jìn)行說明。參照圖7,示出了根據(jù)本發(fā)明實施例三的一種3/4碼率解碼表的生成方法的步驟流程圖,包括以下步驟步驟S702 :設(shè)定指針i = O。其中,指針i用于指示卷積碼輸入序列中的一位,初始時,設(shè)置為0,即卷積碼輸入序列的首位。步驟S704 :將i指示的數(shù)據(jù)轉(zhuǎn)換為(4k_4)位二進(jìn)制數(shù)X。步驟S706 :將此二進(jìn)制數(shù)X輸入卷積碼編碼器,其中前k位用來初始化卷積碼編碼器的k個寄存器。步驟S708 :然后將X的后續(xù)各位逐比特輸入卷積碼編碼器后,可以得到(4k_4)位3/4碼率的二進(jìn)制卷積碼。步驟S710 :將這(4k_4)位二進(jìn)制卷積碼轉(zhuǎn)換為十進(jìn)制序號y。步驟S712 :將(4k_4)位二進(jìn)制數(shù)x寫入卷積碼解碼表中序號為y的行。步驟S714 :指針i+Ι,并比較i+Ι是否等于24(η),如不等于,返回上面步驟S704,生成卷積碼解碼表中剩余行;如相等,說明卷積碼解碼表已填滿,解碼表完成。與3/4碼率解碼表相對應(yīng),本實施例的對應(yīng)于3/4碼率解碼表的卷積碼解碼方法的步驟流程如圖8所示。假定待解碼數(shù)據(jù)長度為4η位,使用3/4碼率解碼表實現(xiàn)的解碼器進(jìn)行卷積碼解碼過程包括步驟S802 :建立3n+k_l位二進(jìn)制解碼數(shù)據(jù)寄存器,并全部賦初始值O。本步驟中,因輸出碼率為3/4,由待解碼數(shù)據(jù)長度為4n位,可以得知本實施例的卷積碼輸出序列的位數(shù)為3n位。
步驟S804 :建兩個指針i和j,并賦初始值O。其中,指針i用于指示待解碼數(shù)據(jù),指針j用于指示解碼數(shù)據(jù)寄存器。步驟S806 :從待解碼數(shù)據(jù)中取出從第i位開始的連續(xù)(4k_4)位二進(jìn)制數(shù)。步驟S808 :將這(4k_4)位二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制序號。步驟S810 :用這個十進(jìn)制序號在3/4碼率解碼表中查出對應(yīng)的(4k_4)位原始二進(jìn)制數(shù)據(jù)。步驟S812 :用這(4k_4)位原始二進(jìn)制數(shù)據(jù)與解碼數(shù)據(jù)寄存器中從第j位開始的連續(xù)(4k-4)位進(jìn)行二進(jìn)制相或。本步驟為可選步驟,通過本步驟可以提高解碼數(shù)據(jù)的準(zhǔn)確率。
步驟S814 :指針i+4k-4,并比較(i+4k_4)是否等于4n,若否,執(zhí)行步驟S816 ;若是,則執(zhí)行步驟S818。步驟S816 :比較結(jié)果為否,指針i+4,指針j+3,返回步驟S806,繼續(xù)剩余數(shù)據(jù)的解碼。步驟S818 :比較結(jié)果為是,則說明待解碼數(shù)據(jù)已經(jīng)遍歷完,繼續(xù)后續(xù)處理。步驟S820 :截去解碼數(shù)據(jù)寄存器的前k-Ι位(這幾位是卷積碼編碼器的初始值,不論是否嘆尾編碼,都可忽略)。實施例五參照圖9,示出了根據(jù)本發(fā)明實施例五的一種卷積碼解碼裝置的結(jié)構(gòu)框圖。本實施例的卷積碼解碼裝置包括生成模塊902,用于生成卷積碼解碼表,該卷積碼解碼表包括待編碼的二進(jìn)制數(shù)據(jù)和其對應(yīng)的二進(jìn)制卷積碼;解碼模塊904,用于根據(jù)卷積碼解碼表對待解碼數(shù)據(jù)進(jìn)行解碼。優(yōu)選地,生成模塊902從卷積碼輸入序列的首位開始,依次根據(jù)輸入序列的每一位生成與所述每一位對應(yīng)的卷積碼解碼表的記錄;其中,根據(jù)輸入序列的一位生成與該位對應(yīng)的卷積碼解碼表的記錄包括將輸入序列的一位轉(zhuǎn)換為符合二進(jìn)制卷積編碼規(guī)則要求的長度的二進(jìn)制數(shù)據(jù);根據(jù)二進(jìn)制卷積碼編碼規(guī)則生成該二進(jìn)制數(shù)據(jù)對應(yīng)的二進(jìn)制卷積碼;將該二進(jìn)制卷積碼和該二進(jìn)制數(shù)據(jù)存儲到卷積碼解碼表。優(yōu)選地,二進(jìn)制卷積碼以十進(jìn)制形式,或者八進(jìn)制形式,或者十六進(jìn)制形式,存儲到卷積碼解碼表。優(yōu)選地,解碼模塊904依次從待解碼數(shù)據(jù)中讀取長度為二進(jìn)制卷積碼編碼規(guī)則要求的長度的卷積碼數(shù)據(jù)進(jìn)行解碼;其中,對一次讀取的卷積碼數(shù)據(jù)進(jìn)行解碼包括讀取長度為二進(jìn)制卷積碼編碼規(guī)則要求的長度的卷積碼數(shù)據(jù);根據(jù)卷積碼解碼表中的卷積碼數(shù)據(jù)與二進(jìn)制數(shù)據(jù)的對應(yīng)關(guān)系,對本次讀取的二進(jìn)制卷積碼進(jìn)行解碼。優(yōu)選地,當(dāng)二進(jìn)制卷積碼以十進(jìn)制形式,或者八進(jìn)制形式,或者十六進(jìn)制形式表示時,解碼模塊904對一次讀取的卷積碼數(shù)據(jù)進(jìn)行解碼包括讀取長度為二進(jìn)制卷積碼編碼規(guī)則要求的長度的卷積碼數(shù)據(jù);將本次讀取的卷積碼數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制數(shù)據(jù),或者八進(jìn)制數(shù)據(jù),或者十六進(jìn)制數(shù)據(jù);根據(jù)卷積碼解碼表中的,以十進(jìn)制形式,或者八進(jìn)制形式,或者十六進(jìn)制形式表示的卷積碼數(shù)據(jù)與二進(jìn)制數(shù)據(jù)的對應(yīng)關(guān)系,對本次讀取的卷積碼進(jìn)行解碼。優(yōu)選地,本實施例的卷積碼解碼裝置還包括建立模塊,用于在解碼模塊904依次從待解碼數(shù)據(jù)中讀取長度為二進(jìn)制卷積碼編碼規(guī)則要求的長度的卷積碼數(shù)據(jù)進(jìn)行解碼之前,為待解碼數(shù)據(jù)建立η+k-l位的二進(jìn)制解碼數(shù)據(jù)寄存器,并全部賦初始值為O ;其中,η表示卷積碼輸出序列的位數(shù),k表示約束長度。優(yōu)選地,本實施例的卷積碼解碼裝置還包括校驗?zāi)K,用于將分段解碼后的數(shù)據(jù)與相對應(yīng)的二進(jìn)制解碼數(shù)據(jù)寄存器中的數(shù)據(jù)進(jìn)行相加或相或運算。優(yōu)選地,本實施例的卷積碼解碼裝置還包括截取模塊,用于對解碼完成后的待解碼數(shù)據(jù),截去前k-Ι位,其中,前k-Ι位對應(yīng)于生成二進(jìn)制卷積碼的卷積碼編碼器的初始值,k表不約束長度。優(yōu)選地,本實施例的卷積碼解碼裝置應(yīng)用于誤碼率小于10_6的信道條件下。更優(yōu)選地,本實施例的卷積碼解碼裝置應(yīng)用于誤碼率為O的信道條件下。本實施例的卷積碼解碼裝置進(jìn)行卷積碼解碼的方法可以參照前述相應(yīng)方法實施 例,并具有前述相應(yīng)方法實施例的效果,在此不再贅述。實施例六參照圖10,示出了根據(jù)本發(fā)明實施例六的一種卷積碼解碼裝置的結(jié)構(gòu)示意圖。本實施例的卷積碼解碼裝置包括卷積編碼器1002、待解碼數(shù)據(jù)1004、已解碼數(shù)據(jù)1006、卷積碼解碼表1008和卷積碼解碼器1010。其中,卷積碼解碼表1008生成過程中使用了卷積編碼器1002的功能,與卷積編碼器1002—起相當(dāng)于實施例五中的生成模塊902,卷積碼解碼器1010相當(dāng)于實施例五中的解碼模塊904。使用本實施例的卷積碼解碼裝置,用查表法實現(xiàn)卷積碼解碼時,首先用卷積編碼器1002生成卷積碼解碼表1008備用,卷積碼解碼表包括待編碼的二進(jìn)制數(shù)據(jù)和其對應(yīng)的二進(jìn)制卷積碼,其中,二進(jìn)制卷積碼可以以任意適當(dāng)?shù)男问奖硎?,如十進(jìn)制形式等;然后,輸入待解碼數(shù)據(jù)1004,用卷積碼解碼表1008進(jìn)行解碼,還原原始數(shù)據(jù),即已解碼數(shù)據(jù)1006。使用本實施例的卷積碼解碼裝置進(jìn)行解碼的具體過程可以參照前述相應(yīng)方法實施例,并具有前述相應(yīng)方法實施例的效果,同時,本實施例的卷積碼解碼裝置的相應(yīng)部件也可以參照實施例五的相應(yīng)模塊做優(yōu)選設(shè)置,在此均不再贅述。需要說明的是,本發(fā)明多個實施例均以1/2、2/3或3/4的輸出碼率為例進(jìn)行說明,但不限于此,本領(lǐng)域技術(shù)人員可以參照本發(fā)明的多個實施例,將本發(fā)明應(yīng)用于其它輸出碼率的場景,如5/6輸出碼率的場景等,本發(fā)明對此不作限制。從以上的描述中,可以看出,本發(fā)明提供了一種查表法實現(xiàn)卷積碼解碼的技術(shù)方案,尤其適用于某些應(yīng)用場景(如協(xié)議、信令測試)具備較好的信道條件下,對糾錯能力并沒有什么特別的要求,只要能簡單、快速、準(zhǔn)確地解碼就可以的情形。采用本發(fā)明的方案,克服了現(xiàn)有技術(shù)中卷積碼解碼時存在的實現(xiàn)復(fù)雜、運算量大的問題,達(dá)到了實現(xiàn)簡單、減少了運算量、提高了解碼速度的效果。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技 術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種卷積碼解碼方法,其特征在于,包括 生成卷積碼解碼表,所述卷積碼解碼表包括待編碼的二進(jìn)制數(shù)據(jù)和所述二進(jìn)制數(shù)據(jù)對應(yīng)的二進(jìn)制卷積碼; 根據(jù)所述卷積碼解碼表對待解碼數(shù)據(jù)進(jìn)行解碼。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述生成卷積碼解碼表的步驟包括 從卷積碼輸入序列的首位開始,依次根據(jù)所述輸入序列的每一位生成與所述每一位對應(yīng)的所述卷積碼解碼表的記錄; 其中,根據(jù)所述輸入序列的一位生成與該位對應(yīng)的所述卷積碼解碼表的記錄包括將所述輸入序列的一位轉(zhuǎn)換為符合二進(jìn)制卷積編碼規(guī)則要求的長度的二進(jìn)制數(shù)據(jù);根據(jù)所述二進(jìn)制卷積碼編碼規(guī)則生成該二進(jìn)制數(shù)據(jù)對應(yīng)的二進(jìn)制卷積碼;將該二進(jìn)制卷積碼和該二進(jìn)制數(shù)據(jù)存儲到所述卷積碼解碼表。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述二進(jìn)制卷積碼以十進(jìn)制形式,或者八進(jìn)制形式,或者十六進(jìn)制形式,存儲到所述卷積碼解碼表。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,根據(jù)所述卷積碼解碼表對待解碼數(shù)據(jù)進(jìn)行解碼的步驟包括 依次從所述待解碼數(shù)據(jù)中讀取長度為所述二進(jìn)制卷積碼編碼規(guī)則要求的長度的卷積碼數(shù)據(jù)進(jìn)行解碼; 其中,對一次讀取的所述卷積碼數(shù)據(jù)進(jìn)行解碼包括讀取長度為所述二進(jìn)制卷積碼編碼規(guī)則要求的長度的卷積碼數(shù)據(jù);根據(jù)所述卷積碼解碼表中的卷積碼數(shù)據(jù)與二進(jìn)制數(shù)據(jù)的對應(yīng)關(guān)系,對本次讀取的所述二進(jìn)制卷積碼進(jìn)行解碼。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,當(dāng)所述二進(jìn)制卷積碼以十進(jìn)制形式,或者八進(jìn)制形式,或者十六進(jìn)制形式表示時,所述對一次讀取的所述卷積碼數(shù)據(jù)進(jìn)行解碼包括 讀取長度為所述二進(jìn)制卷積碼編碼規(guī)則要求的長度的卷積碼數(shù)據(jù); 將本次讀取的卷積碼數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制數(shù)據(jù),或者八進(jìn)制數(shù)據(jù),或者十六進(jìn)制數(shù)據(jù); 根據(jù)所述卷積碼解碼表中的,以十進(jìn)制形式,或者八進(jìn)制形式,或者十六進(jìn)制形式表示的卷積碼數(shù)據(jù)與二進(jìn)制數(shù)據(jù)的對應(yīng)關(guān)系,對本次讀取的卷積碼進(jìn)行解碼。
6.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,在所述依次從所述待解碼數(shù)據(jù)中讀取長度為所述二進(jìn)制卷積碼編碼規(guī)則要求的長度的卷積碼數(shù)據(jù)進(jìn)行解碼的步驟之前,還包括 為所述待解碼數(shù)據(jù)建立η+k-l位的二進(jìn)制解碼數(shù)據(jù)寄存器,并全部賦初始值為O ;其中,η表示卷積碼輸出序列的位數(shù),k表示約束長度。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,還包括 將分段解碼后的數(shù)據(jù)與相對應(yīng)的所述二進(jìn)制解碼數(shù)據(jù)寄存器中的數(shù)據(jù)進(jìn)行相加或相或運算。
8.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,還包括 對解碼完成后的所述待解碼數(shù)據(jù),截去前k-Ι位,其中,前k-1位對應(yīng)于生成所述二進(jìn)制卷積碼的卷積碼編碼器的初始值,k表示約束長度。
9.根據(jù)權(quán)利要求I至5任一項所述的方法,其特征在于,所述方法應(yīng)用于誤碼率小于10-6的信道條件下。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述方法應(yīng)用于誤碼率為O的信道條件下。
11.一種卷積碼解碼裝置,其特征在于,包括 生成模塊,用于生成卷積碼解碼表,所述卷積碼解碼表包括待編碼的二進(jìn)制數(shù)據(jù)和所述二進(jìn)制數(shù)據(jù)對應(yīng)的二進(jìn)制卷積碼; 解碼模塊,用于根據(jù)所述卷積碼解碼表對待解碼數(shù)據(jù)進(jìn)行解碼。
全文摘要
本發(fā)明公開了一種卷積碼解碼方法及裝置,其中,卷積碼解碼方法包括生成卷積碼解碼表,該卷積碼解碼表包括待編碼的二進(jìn)制數(shù)據(jù)和該二進(jìn)制數(shù)據(jù)對應(yīng)的二進(jìn)制卷積碼;根據(jù)卷積碼解碼表對待解碼數(shù)據(jù)進(jìn)行解碼。通過本發(fā)明,解決了現(xiàn)有解碼方法實現(xiàn)復(fù)雜、運算量大的問題,進(jìn)而達(dá)到了實現(xiàn)簡單、減少解碼運算量、提高解碼速度的效果。
文檔編號H03M13/23GK102832953SQ201110162650
公開日2012年12月19日 申請日期2011年6月16日 優(yōu)先權(quán)日2011年6月16日
發(fā)明者陳侃浩 申請人:中興通訊股份有限公司