專利名稱:一種卷積碼譯碼方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及移動通信技術(shù)領(lǐng)域,特別是指一種帶有防溢出設(shè)計(jì)的卷積碼譯碼 方法及卷積碼譯碼裝置。
背景技術(shù):
在無線通信系統(tǒng)中,為了提高通信性能,需要采用信道編碼技術(shù)。這樣傳輸信號能 夠更好地抵抗各種信道噪聲、干擾以及衰落的影響,以一定程度的冗余代價降低了通信系 統(tǒng)的誤碼率。卷積碼性能較高、實(shí)現(xiàn)復(fù)雜度適中、實(shí)時性好,因此廣泛應(yīng)用于數(shù)字視頻廣播 (DVB)、數(shù)字音頻廣播(DAB)、衛(wèi)星通信、無線局域網(wǎng)(WLAN)、超寬帶(UWB)、3G、LTE等技術(shù)領(lǐng) 域。卷積碼的編碼實(shí)現(xiàn)比較簡單,相關(guān)的研究主要集中在譯碼算法和硬件實(shí)現(xiàn)上。與其它 卷積碼的譯碼算法相比,Viterbi (維特比)算法采用最大似然譯碼準(zhǔn)則,目前來說是一種 最優(yōu)算法。在卷積碼譯碼的過程中,格柵的終止是一個重要的問題。通常有兩種格柵終止的 方法零尾法和咬尾法。零尾法(zero-tail bits 或 zero—tail termination)將 K_1 個零比特添力口到原 始信息的尾部,其中K為約束長度,這種方法將導(dǎo)致信道的速率損失。咬尾法(tail biting)將編碼器的初始狀態(tài)定義為最后K_1個信息比特,編碼的 起始和結(jié)束狀態(tài)是一樣的,但不一定是零狀態(tài)。在這種方法下,只有信息被編碼,不會產(chǎn)生 速率損失的問題。然而,因?yàn)槠鹗己徒Y(jié)束狀態(tài)的不確定,所以譯碼時的計(jì)算復(fù)雜度比較高?,F(xiàn)在的咬尾卷積碼譯碼器,最關(guān)鍵的是在解碼之前識別出未知的初始狀態(tài),缺陷 是需要更多的存儲空間,計(jì)算復(fù)雜度也更大。在譯碼之前確定未知的初始狀態(tài)成為關(guān)鍵問 題?,F(xiàn)有的確定譯碼初始狀態(tài)的方法中,通常是將一個接收數(shù)據(jù)塊重復(fù)L次,即串聯(lián) 后對長序列進(jìn)行譯碼。以L = 3為例,譯碼時三個數(shù)據(jù)塊都用于計(jì)算幸存路徑,最后回溯時 只將回溯路徑對應(yīng)的第二個數(shù)據(jù)塊的數(shù)據(jù)作為譯碼輸出,第一個數(shù)據(jù)塊可以看成為第二個 數(shù)據(jù)塊提供正確初始狀態(tài),第三個數(shù)據(jù)塊可以看成為第二個數(shù)據(jù)塊提供正確的回溯狀態(tài)。 這種方法增加了計(jì)算量和譯碼延遲。Viterbi譯碼算法是由Viterbi于1967年提出的一種最大似然譯碼方法,即譯碼 器選擇的輸出總是使接收序列條件概率最大的碼字。根據(jù)最大似然譯碼原理,在所有可能 的路徑中求取與接收序列最相似的一條(距離最小的一條),進(jìn)行路徑回溯獲得判決輸出, 目前該方法已被證明具有最佳糾錯譯碼性能。Viterbi算法主要由路徑度量的“加比選”運(yùn) 算(ACS,add_c0mp_select)、累積度量的更新(BMU)、最大似然路徑的回溯(TB)等過程組 成。ACS單元是Viterbi譯碼器的核心電路,用于完成幸存路徑度量值的計(jì)算和選擇,但是 累計(jì)度量值(PM)隨時間推移不斷累加,如果不加以控制,會有溢出的隱患,從而造成嚴(yán)重 的譯碼錯誤,所以ACS計(jì)算單元同時要防止幸存路徑度量值在累加過程中的溢出問題。
發(fā)明內(nèi)容
本發(fā)明提出一種卷積碼譯碼方法及裝置,能夠解決幸存路徑度量值在累加過程中 的溢出問題。本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種卷積碼譯碼裝置,包括支路度量計(jì)算單元,用于計(jì)算不同校驗(yàn)碼組合對應(yīng)的支路的支路度量值;累計(jì)度量存儲單元,用于存儲幸存路徑累計(jì)度量值;加比選計(jì)算單元,用于從所述累計(jì)度量存儲單元讀出存儲的幸存路徑累計(jì)度量 值,將所述幸存路徑累計(jì)度量值與所述支路度量計(jì)算單元計(jì)算出的支路度量值進(jìn)行累加, 比較累加后得到的新路徑度量值,選擇其中一個較大者更新所述累計(jì)度量存儲單元用于下 次加比選迭代計(jì)算,并在迭代計(jì)算完成后選擇輸出幸存路徑和最終的幸存路徑累計(jì)度量 值;溢出處理單元,用于在累加過程中根據(jù)累計(jì)度量值最高位的狀態(tài)變化,產(chǎn)生減法 使能信號,控制所述加比選計(jì)算單元對幸存路徑累計(jì)度量值做減法運(yùn)算;幸存路徑存儲單元,用于存儲所述加比選計(jì)算單元選擇的幸存路徑;回溯控制單元,用于對幸存路徑進(jìn)行回溯并輸出譯碼結(jié)果。優(yōu)選的,還包括最大路徑選擇單元,用于接收所述加比選計(jì)算單元計(jì)算出的幸存路徑累計(jì)度量 值,在所有幸存路徑累計(jì)度量值中選擇最大的幸存路徑累計(jì)度量值,并記錄最大的幸存路 徑累計(jì)度量值對應(yīng)的最大幸存路徑所對應(yīng)的狀態(tài);所述回溯控制單元具體為,接收所述最大路徑選擇單元的最大幸存路徑所對應(yīng)的 狀態(tài),并根據(jù)所述最大幸存路徑所對應(yīng)的狀態(tài)對所述譯碼裝置進(jìn)行初始化,對幸存路徑進(jìn) 行回溯并輸出譯碼結(jié)果。優(yōu)選的,還包括控制單元,用于產(chǎn)生時序控制信號和讀寫使能信號。優(yōu)選的,所述加比選計(jì)算單元包括累加單元,用于將所述度量存儲單元存儲的幸存路徑累計(jì)度量值與所述支路度量 計(jì)算單元計(jì)算出的支路度量值進(jìn)行累加;比較單元,用于比較累加后得到的新路徑度量值;選擇單元,用于在迭代完成后選擇輸出幸存路徑和最終的幸存路徑累計(jì)度量值。優(yōu)選的,所述加比選計(jì)算單元還包括第一確定單元,用于確定所有幸存路徑累計(jì)度量值最大值和最小值的最大差值;所述溢出處理單元根據(jù)所述第一確定單元確定的最大差值確定對幸存路徑累計(jì) 度量值做減法運(yùn)算的減數(shù)。優(yōu)選的,所述加比選計(jì)算單元還包括第二確定單元,用于根據(jù)所述第一確定單元確定的最大差值確定幸存路徑累計(jì)度 量值的位寬。優(yōu)選的,所述溢出處理單元具體為,用于當(dāng)累加過程中累計(jì)度量值的最高位從0 變?yōu)?時,產(chǎn)生減法使能信號,控制所述加比選計(jì)算單元對幸存路徑累計(jì)度量值的高3位進(jìn)行減1操作。一種卷積碼譯碼方法,包括計(jì)算不同校驗(yàn)碼組合對應(yīng)的支路的支路度量值;讀出預(yù)先存儲的幸存路徑累計(jì)度量值,將所述累計(jì)度量值與所述支路度量值進(jìn)行 累加,比較累加后得到的新路徑度量值,選擇其中一個較大者更新預(yù)先存儲的幸存路徑累 計(jì)度量值用于下次加比選迭代計(jì)算,并在迭代計(jì)算完成后選擇輸出幸存路徑和最終的幸存 路徑累計(jì)度量值;在累加過程中根據(jù)累計(jì)度量值最高位的狀態(tài)變化,產(chǎn)生減法使能信號,對幸存路 徑累計(jì)度量值做減法運(yùn)算;對幸存路徑進(jìn)行回溯并輸出譯碼結(jié)果。優(yōu)選的,所述對幸存路徑進(jìn)行回溯并輸出譯碼結(jié)果前還包括在所有幸存路徑累計(jì)度量值中選擇最大的幸存路徑累計(jì)度量值,并記錄最大的幸 存路徑累計(jì)度量值對應(yīng)的最大幸存路徑所對應(yīng)的狀態(tài);所述對幸存路徑進(jìn)行回溯并輸出譯碼結(jié)果具體為根據(jù)所述最大幸存路徑所對應(yīng)的狀態(tài)對所述譯碼裝置進(jìn)行初始化,對幸存路徑進(jìn) 行回溯并輸出譯碼結(jié)果。優(yōu)選的,還包括確定所有幸存路徑累計(jì)度量值最大值和最小值的最大差值。優(yōu)選的,所述確定所有幸存路徑累計(jì)度量值最大值和最小值的最大差值后還包 括根據(jù)所述確定的最大差值確定幸存路徑累計(jì)度量值的位寬。優(yōu)選的,所述在累加過程中根據(jù)累計(jì)度量值最高位的狀態(tài)變化,產(chǎn)生減法使能信 號,對幸存路徑累計(jì)度量值做減法運(yùn)算具體為當(dāng)累加過程中累計(jì)度量值的最高位從0變?yōu)?時,產(chǎn)生減法使能信號,對幸存路徑 累計(jì)度量值的高3位進(jìn)行減1操作。本發(fā)明所述技術(shù)方案在現(xiàn)有的卷積碼譯碼裝置中增加了溢出處理單元,用于當(dāng)累 計(jì)度量值的最高位變化會產(chǎn)生溢出危險時,產(chǎn)生減法使能信號,對幸存路徑累計(jì)度量值做 減法運(yùn)算,防止累計(jì)度量值的溢出,從而有效的解決了幸存路徑累計(jì)度量值溢出的問題;進(jìn) 一步,本發(fā)明所述方法和裝置,減少了現(xiàn)有技術(shù)中咬尾卷積碼維特比譯碼算法的譯碼延時, 降低了計(jì)算復(fù)雜度,提高了譯碼的速度和性能。
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述 中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些 實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些 附圖獲得其他的附圖。圖1為本發(fā)明一種卷積碼譯碼裝置第一實(shí)施例的結(jié)構(gòu)示意圖;圖2為t-Ι時刻到t時刻的狀態(tài)轉(zhuǎn)移圖;圖3為t時刻的累計(jì)度量值范圍示意圖4為t+Ι時刻的累計(jì)度量值范圍示意圖;圖5為本發(fā)明一種卷積碼譯碼方法第一實(shí)施例的流程示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。參照圖1,示出了本發(fā)明一種卷積碼譯碼裝置第一實(shí)施例的結(jié)構(gòu)示意圖。所述卷積 碼譯碼裝置100包括支路度量計(jì)算單元110、累計(jì)度量存儲單元120、加比選計(jì)算單元130、 溢出處理單元140、幸存路徑存儲單元150、最大路徑選擇單元160、回溯控制單元170,所述 卷積碼譯碼裝置100還包括控制單元180。所述支路度量計(jì)算單元110,用于計(jì)算不同校驗(yàn)碼組合對應(yīng)的支路的支路度量值。 所述支路度量值即為支路歐式距離。所述累計(jì)度量存儲單元120,用于存儲幸存路徑度累計(jì)度量值。當(dāng)前時刻η的前一時刻(η-1)的幸存路徑度量值已經(jīng)在所述累計(jì)度量存儲單元 120被存儲。所述加比選計(jì)算單元130,用于從所述累計(jì)度量存儲單元120讀出存儲的幸存路 徑累計(jì)度量值,將所述累計(jì)度量值與所述支路度量計(jì)算單元110計(jì)算出的支路度量值進(jìn)行 累加,比較累加后得到的新路徑度量值,選擇其中一個較大者更新所述累計(jì)度量存儲單元 120用于下次加比選迭代計(jì)算,并在迭代計(jì)算完成后選擇輸出幸存路徑和最終的幸存路徑 累計(jì)度量值。所述加比選計(jì)算單元130在具體實(shí)現(xiàn)上可以包括累加單元、比較單元、選擇單元。所述累加單元,用于將所述度量存儲單元存儲的幸存路徑累計(jì)度量值與所述支路 度量計(jì)算單元110計(jì)算出的支路度量值進(jìn)行累加。所述比較單元,用于比較累加后得到的新路徑度量值。所述選擇單元,用于在迭代完成后選擇輸出幸存路徑和最終的幸存路徑累計(jì)度量 值。所述加比選計(jì)算單元130在具體實(shí)現(xiàn)上還可以包括第一確定單元,用于確定所有 幸存路徑累計(jì)度量值最大值和最小值的最大差值。Viterbi譯碼的過程就是籬笆圖幸存路徑的選擇過程,也就是蝶型運(yùn)算過程,它由 上一個狀態(tài)的累計(jì)度量值計(jì)算出下一個狀態(tài)的累計(jì)度量值。下面以k = 7,編碼速率為1/3, 輸入解碼數(shù)據(jù)位寬為8bit進(jìn)行推算為例進(jìn)行說明,參見圖2所示。由上一時刻的k、k+32兩個累計(jì)度量值,加上分支度量值,可以算出下一時刻的 2k、2k+l兩個狀態(tài)的累計(jì)度量值。8比特表示的度量范圍_128 127,對于1/3編碼,則分支度量范圍_128X3 127X3。假設(shè)t時亥lj,s0為64個幸存路徑的最大值disjnax(t),可得知t + Ι 時亥Ij :dis_max(t)-128X3 彡 dis_s0 (t + 1)、dis_s 1 (t+Ι)彡 dis_ max (t)+127X3。
t+2 時亥Ij :dis_max(t)-128X3X2 ( dis_s0(t+2)、dis_sl(t+2)、dis_s2(t+2)、 dis_s3(t+2)彡 dis_max(t)+127X3X2。......t+6 時亥Ij :dis_max(t)-128X3X6 彡 dis_s0(t+6)、dis_sl (t+6)......dis_
s62(t+6)、dis_s63(t+6)彡 dis_max(t)+127X3X6??梢钥闯鰐+6時刻,64個幸存路徑的累計(jì)度量值中的最大值和最小值的差值小 于256X3X6 = 4608 = 1200(16進(jìn)制),因?yàn)閠時刻是任意的,所以在任意時刻,所有的幸 存路徑的最大值和最小值的差值小于1200(16進(jìn)制)。所述加比選計(jì)算單元130還包括第二確定單元,用于根據(jù)所述第一確定單元確定的最大差值確定幸存路徑累計(jì)度 量值的位寬。所述第二確定單元用于確定幸存路徑累計(jì)度量值合理位寬,避免位寬過大,造成 不必要的浪費(fèi)。所述第二確定單元確定的合理位寬可以比計(jì)算出的實(shí)際位寬多一位。因?yàn)槿我鈺r刻幸存路徑的累計(jì)度量的最大值和最小值的差值小于1200(16進(jìn) 制),所以幸存路徑表示的位寬必須大于等于13位,若選擇小于13位,會面臨累計(jì)度量值的 溢出問題,影響譯碼器的性能。同時因?yàn)槔塾?jì)度量值在不斷進(jìn)行累加,選擇13位位寬,時序 上要求較為嚴(yán)格,為了電路設(shè)計(jì)上的方便,本實(shí)施例優(yōu)選擇14bit位寬。所述溢出處理單元140,用于在累加過程中根據(jù)累計(jì)度量值最高位的狀態(tài)變化,產(chǎn) 生減法使能信號,控制所述加比選計(jì)算單元130對幸存路徑累計(jì)度量值做減法運(yùn)算。在二進(jìn)制情況下,所述溢出處理單元140用于當(dāng)累計(jì)度量值的最高位從0變?yōu)? 時,產(chǎn)生減法使能信號,控制所述加比選計(jì)算單元130對幸存路徑累計(jì)度量值做減法運(yùn)算, 防止累計(jì)度量值的溢出。當(dāng)幸存路徑累計(jì)度量值的最高位為0時,正常操作,不需要進(jìn)行防溢出處理,產(chǎn)生 的減法使能信號為低電平;當(dāng)幸存路徑累計(jì)度量值的最高位為1時,產(chǎn)生的減法使能信號 為高電平,所述加比選計(jì)算單元130將每個幸存路徑度量值減去一個固定值,即將整體度 量值向零值進(jìn)行簡單歸一化。幸存路徑選擇是比較兩條新路徑度量值的大小,并選擇度量值較大的路徑作為幸 存路徑,所以所有幸存路徑累計(jì)度量值加上或減去一個數(shù),并不影響幸存路徑的選擇。為了 計(jì)算方便,在計(jì)算分支路徑度量值時,可以將對應(yīng)的8個分支度量值統(tǒng)一加上一個值(如 128X3),相當(dāng)于所有幸存路徑上統(tǒng)一加上128X3,這樣所有分支度量值均為正值,計(jì)算過 程轉(zhuǎn)化為正數(shù)計(jì)算操作,不再考慮符號位的影響。對于采樣位寬為8,約束長度為7,1/3編碼速率的Viterbi譯碼器,可以根據(jù)sO狀 態(tài)的對應(yīng)的幸存路徑累計(jì)度量值的最高位來判斷出所有幸存路徑的累計(jì)度量值的范圍,從 而根據(jù)它來決定是否進(jìn)行減法操作來防止累計(jì)度量值的溢出。在t時刻,sO所對應(yīng)的幸存路徑累計(jì)度量值的最高位為0,即sO所對應(yīng)的幸存路 徑累計(jì)度量值的最高位沒超過2000 (16進(jìn)制),所以t時刻所有幸存路徑累計(jì)度量值最大值 為< 2000+1200 = 3200(16進(jìn)制),t時刻的累計(jì)度量值范圍參見圖3所示。在t+Ι時刻,sO所對應(yīng)的幸存路徑累計(jì)度量值的最高位為1,可知所有幸存路徑的 最小值> 2000-1200 = EOO (16進(jìn)制)。同時根據(jù)t時刻的幸存路徑最大值< 3200(16進(jìn)制),可以知道t+Ι時刻的幸存路徑的最大值< 3200+300 = 3500 (16進(jìn)制),即此時再加上 最大分支度量值300,也不會溢出,t+Ι時刻的累計(jì)度量值范圍參見圖4所示。所以在具體實(shí)現(xiàn)中,只需檢測SO所對應(yīng)的幸存路徑累計(jì)度量值的最高位,若為 零,正常操作 ’若為1,將所有幸存路徑減去EOO (16進(jìn)制),就能有效防止累計(jì)度量值的溢 出,這樣整個電路就省去了大量比較選擇電路,并且減法電路極為簡單,只是針對累計(jì)度量 值的高三位進(jìn)行減一操作。具體的,所述溢出處理單元140用于當(dāng)累計(jì)度量值的最高位從0變?yōu)?時,產(chǎn)生減 法使能信號,控制所述加比選計(jì)算單元130對幸存路徑累計(jì)度量值的高3位進(jìn)行減1操作。所述幸存路徑存儲單元150,用于存儲所述加比選計(jì)算單元130選擇的幸存路徑。所述幸存路徑存儲單元150存儲加比選計(jì)算單元130輸出的幸存路徑和幸存路徑 選擇結(jié)果。最大路徑選擇單元160,用于接收所述加比選計(jì)算單元130計(jì)算出的幸存路徑累 計(jì)度量值,在所有幸存路徑累計(jì)度量值中選擇最大的幸存路徑累計(jì)度量值,并記錄最大的 幸存路徑累計(jì)度量值對應(yīng)的最大幸存路徑所對應(yīng)的狀態(tài);。回溯控制單元170,接收所述最大路徑選擇單元160的最大幸存路徑所對應(yīng)的狀 態(tài),并根據(jù)所述最大幸存路徑所對應(yīng)的狀態(tài)對所述譯碼裝置進(jìn)行初始化,對幸存路徑進(jìn)行 回溯并輸出譯碼結(jié)果。所述回溯控制單元170監(jiān)視幸存路徑選擇結(jié)果存儲ram (Random AccessMemory, 隨機(jī)存儲記憶體)的寫地址,一旦幸存路徑存儲長度超過回溯深度,則立即進(jìn)行回溯操作, 對早期的比特進(jìn)行回溯輸出,相應(yīng)比特對應(yīng)的幸存路徑占用的ram空間被釋放,供后續(xù)比 特幸存路徑存儲使用。在本發(fā)明中選取最大的累計(jì)度量路徑所對應(yīng)的狀態(tài)作為咬尾卷積碼譯碼的初始 狀態(tài),并將最大累計(jì)度量路徑作為回溯路徑,從而保證咬尾卷積碼的首末狀態(tài)一致,將咬尾 卷積碼轉(zhuǎn)化為采用維特比譯碼算法進(jìn)行譯碼。這種確定未知的初始狀態(tài)的方法降低了譯碼 中計(jì)算的復(fù)雜度,實(shí)現(xiàn)起來比較容易,可操作性強(qiáng)。實(shí)現(xiàn)時可以采用多路(例如η路)ACS (加比選)計(jì)算單元130并行運(yùn)算的電路,加 比選計(jì)算單元130每次從累計(jì)度量存儲單元120讀取2η個狀態(tài)的累計(jì)度量值,加比選計(jì)算 單元130需要反復(fù)迭代2m_72n次(m為約束長度),每一次迭代時從累計(jì)度量存儲單元120 中讀取前一次計(jì)算所保存的累計(jì)度量值,即每個時鐘處理2η個狀態(tài),2m_72n個時鐘周期完 成所有狀態(tài)的計(jì)算,從而提高譯碼數(shù)據(jù)的吞吐率和譯碼的速度。本發(fā)明所述卷積碼譯碼裝置100的工作原理和工作過程是當(dāng)接到外部的譯碼開 始指示信號后,待譯碼數(shù)據(jù)輸入到支路度量計(jì)算單元110,支路度量計(jì)算單元110計(jì)算接收 碼字與參考碼字的分支度量值,將計(jì)算結(jié)果輸入到加比選計(jì)算單元130中。控制單元180 產(chǎn)生累計(jì)度量存儲單元120的讀控制信號,讀取先前存儲的路徑度量值并送到加比選計(jì)算 單元130中。在加比選計(jì)算單元130中,將進(jìn)入某一狀態(tài)的2條分支度量值與其前面的狀 態(tài)度量值累加求和,然后比較到達(dá)同一狀態(tài)的2條新的路徑度量值的大小,選擇較大者作 為新的狀態(tài)度量值存儲起來,并記住與此路徑(幸存路徑)對應(yīng)的信息碼元。溢出處理單 元140產(chǎn)生減法使能信號,判斷累計(jì)度量值是否做減法運(yùn)算。計(jì)算出的新的路徑度量值存 儲到累計(jì)度量存儲單元120中,同時將加比選計(jì)算單元130輸出的幸存路徑選擇結(jié)果存儲到幸存路徑存儲單元150中。最大路徑選擇單元160,接收由加比選計(jì)算單元130計(jì)算出 的幸存路徑累計(jì)度量值,從中比較出各時刻最大的累計(jì)度量值,送入回溯控制單元170用 于初始化譯碼裝置的初始狀態(tài)。在經(jīng)過加比選計(jì)算單元130的多次迭代運(yùn)算到譯碼深度之 后,回溯控制單元170開始對路徑進(jìn)行回溯并輸出譯碼結(jié)果?;厮菘刂茊卧?70的工作流程是,當(dāng)譯碼器的輸入數(shù)據(jù)量大于回溯深度之后,控 制單元180產(chǎn)生回溯的啟動信號,開始回溯;回溯以該級中具有最大累計(jì)度量值的節(jié)點(diǎn)為 起點(diǎn),從幸存路徑存儲單元150中取出對應(yīng)節(jié)點(diǎn)的幸存路徑以確定上一級路徑的節(jié)點(diǎn);每 一級找到了上一級的回溯節(jié)點(diǎn)之后,從幸存路徑存儲單元150就可以找到上一級節(jié)點(diǎn)的幸 存路徑,以找到其前一級的節(jié)點(diǎn),不斷回溯直至到達(dá)譯碼深度后,進(jìn)行譯碼輸出。本發(fā)明所述技術(shù)方案在現(xiàn)有的卷積碼譯碼裝置中增加了溢出處理單元,用于當(dāng)累 計(jì)度量值的最高位變化會產(chǎn)生溢出危險時,產(chǎn)生減法使能信號,對幸存路徑累計(jì)度量值做 減法運(yùn)算,防止累計(jì)度量值的溢出,從而有效的解決了幸存路徑累計(jì)度量值溢出的問題;進(jìn) 一步,本發(fā)明所述方法和裝置,減少了現(xiàn)有技術(shù)中咬尾卷積碼維特比譯碼算法的譯碼延時, 降低了計(jì)算復(fù)雜度,提高了譯碼的速度和性能。參照圖5,示出了本發(fā)明一種卷積碼譯碼方法第一實(shí)施例的流程示意圖。所述卷積 碼譯碼方法包括步驟步驟S510、計(jì)算不同校驗(yàn)碼組合對應(yīng)的支路的支路度量值。步驟S520、讀出預(yù)先存儲的幸存路徑累計(jì)度量值,將所述累計(jì)度量值與所述支路 度量值進(jìn)行累加,比較累加后得到的新路徑度量值,選擇其中一個較大者更新預(yù)先存儲的 幸存路徑累計(jì)度量值用于下次加比選迭代計(jì)算,并在迭代計(jì)算完成后選擇輸出幸存路徑和 最終的幸存路徑累計(jì)度量值。步驟S530、在累加過程中根據(jù)累計(jì)度量值最高位的狀態(tài)變化,產(chǎn)生減法使能信號, 對幸存路徑累計(jì)度量值做減法運(yùn)算。具體的,當(dāng)累計(jì)度量值的最高位從0變?yōu)?時,產(chǎn)生減法使能信號,對幸存路徑累 計(jì)度量值的高3位進(jìn)行減1操作。步驟S540、在所有幸存路徑累計(jì)度量值中選擇最大的幸存路徑累計(jì)度量值,并記 錄最大的幸存路徑累計(jì)度量值對應(yīng)的最大幸存路徑所對應(yīng)的狀態(tài)。步驟S550、根據(jù)所述最大幸存路徑所對應(yīng)的狀態(tài)對所述譯碼裝置進(jìn)行初始化,對 幸存路徑進(jìn)行回溯并輸出譯碼結(jié)果。其中,所述步驟S540為可選步驟,在本實(shí)施例中并不是必須的。本發(fā)明所述卷積碼譯碼方法還包括步驟確定所有幸存路徑累計(jì)度量值最大值和最小值的最大差值;以及根據(jù)所述確定的最大差值確定幸存路徑累計(jì)度量值的位寬。確定幸存路徑累計(jì)度 量值合理位寬,避免位寬過大,造成不必要的浪費(fèi)。優(yōu)選的,所述確定的合理位寬可以比計(jì) 算出的實(shí)際位寬多一位。本發(fā)明所述方法實(shí)施例是與所述裝置實(shí)施例相對應(yīng)的,因此,在方法實(shí)施例部分 未詳細(xì)描述的部分參照裝置實(shí)施例相關(guān)部分的描述即可,為了篇幅考慮,在此不再贅述。在本發(fā)明各方法實(shí)施例中,所述各步驟的序號并不能用于限定各步驟的先后順 序,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,對各步驟的先后變化也在本發(fā)明的保護(hù)范圍之內(nèi)。 以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種卷積碼譯碼裝置,其特征在于,包括支路度量計(jì)算單元,用于計(jì)算不同校驗(yàn)碼組合對應(yīng)的支路的支路度量值; 累計(jì)度量存儲單元,用于存儲幸存路徑累計(jì)度量值;加比選計(jì)算單元,用于從所述累計(jì)度量存儲單元讀出存儲的幸存路徑累計(jì)度量值,將 所述幸存路徑累計(jì)度量值與所述支路度量計(jì)算單元計(jì)算出的支路度量值進(jìn)行累加,比較累 加后得到的新路徑度量值,選擇其中一個較大者更新所述累計(jì)度量存儲單元用于下次加比 選迭代計(jì)算,并在迭代計(jì)算完成后選擇輸出幸存路徑和最終的幸存路徑累計(jì)度量值;溢出處理單元,用于在累加過程中根據(jù)累計(jì)度量值最高位的狀態(tài)變化,產(chǎn)生減法使能 信號,控制所述加比選計(jì)算單元對幸存路徑累計(jì)度量值做減法運(yùn)算; 幸存路徑存儲單元,用于存儲所述加比選計(jì)算單元選擇的幸存路徑; 回溯控制單元,用于對幸存路徑進(jìn)行回溯并輸出譯碼結(jié)果。
2.根據(jù)權(quán)利要求1所述的卷積碼譯碼裝置,其特征在于,還包括最大路徑選擇單元,用于接收所述加比選計(jì)算單元計(jì)算出的幸存路徑累計(jì)度量值,在 所有幸存路徑累計(jì)度量值中選擇最大的幸存路徑累計(jì)度量值,并記錄最大的幸存路徑累計(jì) 度量值對應(yīng)的最大幸存路徑所對應(yīng)的狀態(tài);所述回溯控制單元具體為,接收所述最大路徑選擇單元的最大幸存路徑所對應(yīng)的狀 態(tài),并根據(jù)所述最大幸存路徑所對應(yīng)的狀態(tài)對所述譯碼裝置進(jìn)行初始化,對幸存路徑進(jìn)行 回溯并輸出譯碼結(jié)果。
3.根據(jù)權(quán)利要求2所述的卷積碼譯碼裝置,其特征在于,還包括 控制單元,用于產(chǎn)生時序控制信號和讀寫使能信號。
4.根據(jù)權(quán)利要求1至3任一項(xiàng)所述的卷積碼譯碼裝置,其特征在于,所述加比選計(jì)算單 元包括累加單元,用于將所述度量存儲單元存儲的幸存路徑累計(jì)度量值與所述支路度量計(jì)算 單元計(jì)算出的支路度量值進(jìn)行累加;比較單元,用于比較累加后得到的新路徑度量值;選擇單元,用于在迭代完成后選擇輸出幸存路徑和最終的幸存路徑累計(jì)度量值。
5.根據(jù)權(quán)利要求4所述的卷積碼譯碼裝置,其特征在于,所述加比選計(jì)算單元還包括 第一確定單元,用于確定所有幸存路徑累計(jì)度量值最大值和最小值的最大差值; 所述溢出處理單元根據(jù)所述第一確定單元確定的最大差值確定對幸存路徑累計(jì)度量值做減法運(yùn)算的減數(shù)。
6.根據(jù)權(quán)利要求5所述的的卷積碼譯碼裝置,其特征在于,所述加比選計(jì)算單元還包括第二確定單元,用于根據(jù)所述第一確定單元確定的最大差值確定幸存路徑累計(jì)度量值 的位寬。
7.根據(jù)權(quán)利要求6所述的卷積碼譯碼裝置,其特征在于,所述溢出處理單元具體為,用 于當(dāng)累加過程中累計(jì)度量值的最高位從0變?yōu)?時,產(chǎn)生減法使能信號,控制所述加比選計(jì) 算單元對幸存路徑累計(jì)度量值的高3位進(jìn)行減1操作。
8.一種卷積碼譯碼方法,其特征在于,包括 計(jì)算不同校驗(yàn)碼組合對應(yīng)的支路的支路度量值;讀出預(yù)先存儲的幸存路徑累計(jì)度量值,將所述累計(jì)度量值與所述支路度量值進(jìn)行累 加,比較累加后得到的新路徑度量值,選擇其中一個較大者更新預(yù)先存儲的幸存路徑累計(jì) 度量值用于下次加比選迭代計(jì)算,并在迭代計(jì)算完成后選擇輸出幸存路徑和最終的幸存路 徑累計(jì)度量值;在累加過程中根據(jù)累計(jì)度量值最高位的狀態(tài)變化,產(chǎn)生減法使能信號,對幸存路徑累 計(jì)度量值做減法運(yùn)算;對幸存路徑進(jìn)行回溯并輸出譯碼結(jié)果。
9.根據(jù)權(quán)利要求8所述的卷積碼譯碼方法,其特征在于,所述對幸存路徑進(jìn)行回溯并 輸出譯碼結(jié)果前還包括在所有幸存路徑累計(jì)度量值中選擇最大的幸存路徑累計(jì)度量值,并記錄最大的幸存路 徑累計(jì)度量值對應(yīng)的最大幸存路徑所對應(yīng)的狀態(tài);所述對幸存路徑進(jìn)行回溯并輸出譯碼結(jié)果具體為根據(jù)所述最大幸存路徑所對應(yīng)的狀態(tài)對所述譯碼裝置進(jìn)行初始化,對幸存路徑進(jìn)行回 溯并輸出譯碼結(jié)果。
10.根據(jù)權(quán)利要求9所述的卷積碼譯碼方法,其特征在于,還包括確定所有幸存路徑累計(jì)度量值最大值和最小值的最大差值。
11.根據(jù)權(quán)利要求10所述的卷積碼譯碼方法,其特征在于,所述確定所有幸存路徑累 計(jì)度量值最大值和最小值的最大差值后還包括根據(jù)所述確定的最大差值確定幸存路徑累計(jì)度量值的位寬。
12.根據(jù)權(quán)利要求8至11任一項(xiàng)所述的卷積碼譯碼方法,其特征在于,所述在累加過程 中根據(jù)累計(jì)度量值最高位的狀態(tài)變化,產(chǎn)生減法使能信號,對幸存路徑累計(jì)度量值做減法 運(yùn)算具體為當(dāng)累加過程中累計(jì)度量值的最高位從0變?yōu)?時,產(chǎn)生減法使能信號,對幸存路徑累計(jì) 度量值的高3位進(jìn)行減1操作。
全文摘要
本發(fā)明公開了一種卷積碼譯碼方法及裝置。所述裝置包括支路度量計(jì)算單元,用于計(jì)算支路度量值;累計(jì)度量存儲單元,用于存儲幸存路徑度累計(jì)度量值;加比選計(jì)算單元,用于進(jìn)行累加-比較-選擇運(yùn)算;溢出處理單元,用于在累加過程中根據(jù)累計(jì)度量值最高位的狀態(tài)變化,產(chǎn)生減法使能信號,控制所述加比選計(jì)算單元對幸存路徑累計(jì)度量值做減法運(yùn)算;幸存路徑存儲單元,用于存儲幸存路徑;回溯控制單元,用于對幸存路徑進(jìn)行回溯并輸出譯碼結(jié)果。本發(fā)明所述方法及裝置能夠解決幸存路徑度量值在累加過程中的溢出問題。
文檔編號H03M13/23GK101997553SQ200910090489
公開日2011年3月30日 申請日期2009年8月13日 優(yōu)先權(quán)日2009年8月13日
發(fā)明者劉念, 孫耀輝, 陳曉華 申請人:中興通訊股份有限公司