專利名稱:咬尾卷積碼的譯碼方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體而言,尤其涉及一種咬尾卷積碼的譯碼方法及裝置。
背景技術(shù):
卷積碼是一種比較常見(jiàn)的信道編碼技術(shù),廣泛應(yīng)用于數(shù)字視頻廣播、數(shù)字音頻廣 播、衛(wèi)星通信、無(wú)線局域網(wǎng)、超寬帶、GSM、3G、長(zhǎng)期演進(jìn)(Long Term Evolution, LTE)等技術(shù) 領(lǐng)域。咬尾卷積碼在進(jìn)行卷積編碼前先把編碼器中移位寄存器的初始狀態(tài)設(shè)置為待編 碼信息比特流的最后幾個(gè)比特,即編碼開(kāi)始前的初始狀態(tài)和編碼結(jié)束后的最終狀態(tài)是一樣 的,其中,這里的“幾個(gè)”的大小與咬尾卷積編碼時(shí)的約束長(zhǎng)度相關(guān),例如約束長(zhǎng)度為N,則卷 積編碼器中的移位寄存器的個(gè)數(shù)為N-1,這里的“幾”就等于N-1。咬尾卷積碼不需要在信 息比特流的后面添加尾比特0,可以降低冗余度,提高編碼效率。維特比Viterbi算法可用于卷積碼的譯碼,特點(diǎn)是易于實(shí)現(xiàn)且譯碼性能良好。 Viterbi譯碼算法是由Viterbi于1967年提出的一種最大似然譯碼方法,即譯碼器選擇的 輸出總是使接收序列條件概率最大的碼字。根據(jù)最大似然譯碼原理,在所有可能的路徑中 求取與接收序列最相似的一條(歐氏距離最小的一條),進(jìn)行路徑回溯獲得判決輸出,該方 法已被證明具有最佳糾錯(cuò)譯碼性能。Viterbi算法主要由路徑度量的“加比選”運(yùn)算、累積 度量的更新、最大似然路徑的分段回溯等過(guò)程組成。相關(guān)技術(shù)中的咬尾卷積碼的譯碼方法及裝置直接從待譯碼序列的最后一個(gè)比特 的累積度量最大狀態(tài)開(kāi)始回溯,在信道環(huán)境較差的情況下,導(dǎo)致誤碼率較大。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種咬尾卷積碼的譯碼方法和裝置,能夠解決相關(guān)技術(shù)中 在信道環(huán)境較差的情況下導(dǎo)致的誤碼率較大的技術(shù)問(wèn)題。根據(jù)本發(fā)明的一個(gè)方面,提供了一種咬尾卷積碼的譯碼方法,包括從待譯碼序列 的累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯,得到第一譯碼結(jié)果,并判斷第一譯碼結(jié)果的初 始狀態(tài)和最終狀態(tài)是否相同;如果不相同,則從第一譯碼結(jié)果的初始狀態(tài)點(diǎn)開(kāi)始回溯,得到 第二譯碼結(jié)果,并將第一譯碼結(jié)果和第二譯碼結(jié)果中不一致的比特?cái)?shù)量與預(yù)定閾值進(jìn)行比 較;根據(jù)比較結(jié)果輸出譯碼結(jié)果。優(yōu)選地,在從待譯碼序列的累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯譯碼之前還包 括設(shè)定回溯深度、可信長(zhǎng)度和收斂長(zhǎng)度,其中,回溯深度W =可信長(zhǎng)度R+收斂長(zhǎng)度C ;每 個(gè)時(shí)刻更新一次所有狀態(tài)點(diǎn)的累積度量,如果當(dāng)前時(shí)刻t = nXR+C且小于傳輸塊的長(zhǎng)度L 時(shí),從當(dāng)前時(shí)刻的累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯W個(gè)比特,輸出得到的序列的前R 個(gè)比特作為結(jié)果序列的第(n-l)XR+l至第nXR個(gè)比特,其中,η = 1,2,3...;當(dāng)t = L時(shí), 從當(dāng)前時(shí)刻的累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯輸出L-nXR個(gè)比特作為結(jié)果序列的 第nXR+Ι至第L個(gè)比特。
優(yōu)選地,在長(zhǎng)期演進(jìn)系統(tǒng)中,預(yù)定閾值為2比特,回溯深度為70比特,可信長(zhǎng)度為 3比特,收斂長(zhǎng)度為67比特。優(yōu)選地,根據(jù)比較結(jié)果輸出譯碼結(jié)果具體包括如果結(jié)果是第一譯碼結(jié)果和第二 譯碼結(jié)果中不一致的比特?cái)?shù)量大于預(yù)定閾值,則輸出第一譯碼結(jié)果作為譯碼結(jié)果;如果結(jié) 果是第一譯碼結(jié)果和第二譯碼結(jié)果中不一致的比特?cái)?shù)量小于或等于預(yù)定閾值,則輸出第二 譯碼結(jié)果作為譯碼結(jié)果。優(yōu)選地,如果第一譯碼結(jié)果的初始狀態(tài)和最終狀態(tài)相同,則輸出第一譯碼結(jié)果作 為譯碼結(jié)果。根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種咬尾卷積碼的譯碼裝置,包括回溯模 塊,用于從待譯碼序列的累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯譯碼以得到第一譯碼結(jié) 果,并用于從第一譯碼結(jié)果的初始狀態(tài)點(diǎn)開(kāi)始向回溯譯碼得到第二譯碼結(jié)果;判斷模塊,用 于判斷第一譯碼結(jié)果的初始狀態(tài)和最終狀態(tài)是否相同;比較模塊,用于將第一譯碼結(jié)果和 第二譯碼結(jié)果中不一致的比特?cái)?shù)量與預(yù)定閾值進(jìn)行比較;譯碼輸出模塊,用于根據(jù)比較模 塊的比較結(jié)果輸出譯碼結(jié)果。優(yōu)選地,譯碼裝置還包括設(shè)置模塊,用于設(shè)定回溯深度、可信長(zhǎng)度和收斂長(zhǎng)度,其 中,回溯深度W =可信長(zhǎng)度R+收斂長(zhǎng)度C ;分段回溯模塊,用于在當(dāng)前時(shí)刻t = nXR+C且 小于傳輸塊的長(zhǎng)度L時(shí),從當(dāng)前時(shí)刻的累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯W個(gè)比特,并 輸出得到的序列的前R個(gè)比特作為結(jié)果序列的第(n-l)XR+l至第nXR個(gè)比特,其中,η = 1,2,3...;待譯碼生成模塊,用于在t = L時(shí),從當(dāng)前時(shí)刻的累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn) 開(kāi)始回溯以輸出L-nXR個(gè)比特作為結(jié)果序列的第nXR+Ι至第L個(gè)比特。優(yōu)選地,在長(zhǎng)期演進(jìn)系統(tǒng)中,預(yù)定閾值為2比特,回溯深度為70比特,可信長(zhǎng)度為 3比特,收斂長(zhǎng)度為67比特。優(yōu)選地,譯碼輸出模塊包括第一輸出單元,用于在結(jié)果是第一譯碼結(jié)果和第二譯 碼結(jié)果中不一致的比特?cái)?shù)量大于預(yù)定閾值時(shí),輸出第一譯碼結(jié)果作為譯碼結(jié)果;第二輸出 單元,用于在結(jié)果是第一譯碼結(jié)果和第二譯碼結(jié)果中不一致的比特?cái)?shù)量小于或等于預(yù)定閾 值時(shí),輸出第二譯碼結(jié)果作為譯碼結(jié)果。優(yōu)選地,第一輸出單元還用于在第一譯碼結(jié)果的初始狀態(tài)和最終狀態(tài)相同時(shí),輸 出第一譯碼結(jié)果作為譯碼結(jié)果。借助于本發(fā)明的上述至少一個(gè)技術(shù)方案,通過(guò)在從累積度量最大狀態(tài)回溯產(chǎn)生的 譯碼結(jié)果的初始狀態(tài)和最終狀態(tài)不同時(shí),進(jìn)行從初始狀態(tài)開(kāi)始的回溯,并將這兩種回溯產(chǎn) 生的譯碼結(jié)果的差值與預(yù)定閾值進(jìn)行比較,然后根據(jù)比較結(jié)果來(lái)選擇以哪種狀態(tài)回溯產(chǎn)生 的譯碼結(jié)果作為最終的譯碼結(jié)果,避免了在信道環(huán)境較差時(shí)導(dǎo)致的誤碼率較大的技術(shù)問(wèn) 題,從而達(dá)到降低譯碼誤碼率的技術(shù)效果。
附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,與本發(fā)明的實(shí) 施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中圖1是根據(jù)本發(fā)明第一實(shí)施例的咬尾卷積碼的譯碼方法的流程圖;圖2是根據(jù)本發(fā)明第二實(shí)施例的咬尾卷積碼的譯碼裝置的方框圖3是根據(jù)本發(fā)明第三實(shí)施例的咬尾卷積碼的譯碼方法的流程圖;圖4是圖3所示的咬尾卷積碼的譯碼方法中的狀態(tài)轉(zhuǎn)換示意圖;圖5是圖3所示的咬尾卷積碼的譯碼方法中分段回溯過(guò)程的示意圖;圖6是圖3所示的咬尾卷積碼的譯碼方法在AWGN下的BER性能曲線圖;圖7是圖3所示的咬尾卷積碼的譯碼方法在AWGN下的BLER性能曲線圖。
具體實(shí)施例方式以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí) 施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。在以下的描述中,為了解釋的目的,描述了多個(gè)特定的細(xì)節(jié),以提供對(duì)本發(fā)明的透 徹理解。然而,很顯然,在沒(méi)有這些特定細(xì)節(jié)的情況下,也可以實(shí)現(xiàn)本發(fā)明,此外,在不沖突 的情況下,即在不背離所附權(quán)利要求闡明的精神和范圍的情況下,下述實(shí)施例以及實(shí)施例 中的各個(gè)細(xì)節(jié)可以進(jìn)行各種組合。在Viterbi算法中,為了尋找歐氏距離最小的一條路徑,需要計(jì)算歐氏距離再找 到最小值,為了計(jì)算方便,通常通過(guò)計(jì)算新增累積度量的相反數(shù)來(lái)找到歐氏距離的最小值, 所以在本說(shuō)明書(shū)中,是尋找累積度量的最大值。假設(shè)咬尾卷積編碼器的約束長(zhǎng)度為N,編碼器的移位寄存器的個(gè)數(shù)為N-1,則編碼 器的狀態(tài)總共有個(gè)。設(shè)編碼前的信息比特流為infoBit,設(shè)從累積量度最大值對(duì)應(yīng)的 狀態(tài)(maxSts)開(kāi)始回溯得到的譯碼結(jié)果為outl,設(shè)outl中的最后N-I個(gè)bit對(duì)應(yīng)的值為 IastSts0設(shè)第一次分段回溯后得到的起始狀態(tài)值為initSts。設(shè)使用initSts作為回溯起 始點(diǎn)做回溯得到的譯碼結(jié)果為out2。回溯譯碼的過(guò)程是根據(jù)幸存路徑的狀態(tài),由當(dāng)前時(shí)刻的狀態(tài)點(diǎn)倒推前一時(shí)刻的 狀態(tài)點(diǎn)及輸入比特,這樣循環(huán)直到譯碼輸出所有的比特。得到起始狀態(tài)值的方式有2種1,如果是全回溯,則在最后一個(gè)時(shí)刻(即、時(shí)刻, 下標(biāo)L為編碼塊的長(zhǎng)度)點(diǎn)從當(dāng)前時(shí)刻的maxSts開(kāi)始回溯,輸出所有的L個(gè)比特,倒推譯碼 得到第一個(gè)輸入比特的同時(shí)會(huì)得到一個(gè)移位寄存器的、時(shí)刻的狀態(tài)值,S卩,initSts ;2,如 果是分段回溯,則在完成W(W = R+C)次加比選運(yùn)算后(即tw時(shí)刻)從當(dāng)前時(shí)刻的maxSts 開(kāi)始做第一次分段回溯,輸出R個(gè)比特,倒推譯碼得到第一個(gè)輸入比特的同時(shí)會(huì)得到移位 寄存器的、時(shí)刻的狀態(tài)值,即,initSts。從咬尾卷積編碼后到卷積譯碼前的信道環(huán)境中的噪聲有可能導(dǎo)致initSts與 IastSts不相等,所以如果從initSts開(kāi)始回溯有可能出現(xiàn)“maxSts回溯譯碼錯(cuò)誤,initSts 回溯譯碼正確”的情況(easel)。但也有可能出現(xiàn)“maxSts回溯的譯碼正確,initSts回溯 譯碼錯(cuò)誤”的情況(caSe2)。本發(fā)明正是基于盡量提高easel概率與降低CaSe2概率的差 值的思想來(lái)提高譯碼器的譯碼性能。第一實(shí)施例圖1是根據(jù)本發(fā)明第一實(shí)施例的咬尾卷積碼的譯碼方法的流程圖。如圖1所示, 根據(jù)本發(fā)明第一實(shí)施例的咬尾卷積碼的譯碼方法包括步驟S102,從待譯碼序列的累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯譯碼,得到第 一譯碼結(jié)果,并判斷第一譯碼結(jié)果的初始狀態(tài)和最終狀態(tài)是否相同;從累積量度最大值對(duì)應(yīng)的狀態(tài)(maxSts)開(kāi)始回溯得到的譯碼結(jié)果為第一譯碼結(jié)果,第一譯碼結(jié)果中的最后N-I 個(gè)bit對(duì)應(yīng)的值為最終狀態(tài);步驟S104,如果不相同,則從第一譯碼結(jié)果的初始狀態(tài)點(diǎn)開(kāi)始回溯,得到第二譯碼 結(jié)果,并將第一譯碼結(jié)果和第二譯碼結(jié)果中不一致的比特?cái)?shù)量與預(yù)定閾值進(jìn)行比較;步驟S106,根據(jù)比較結(jié)果輸出譯碼結(jié)果。根據(jù)本發(fā)明第一實(shí)施例的咬尾卷積碼的譯碼方法通過(guò)在從累積度量最大狀態(tài)回 溯產(chǎn)生的譯碼結(jié)果的初始狀態(tài)和最終狀態(tài)不同時(shí),進(jìn)行從初始狀態(tài)開(kāi)始的回溯,并將這兩 種回溯產(chǎn)生的譯碼結(jié)果的差值與預(yù)定閾值進(jìn)行比較,然后根據(jù)比較結(jié)果來(lái)選擇以哪種狀態(tài) 回溯產(chǎn)生的譯碼結(jié)果作為最終的譯碼結(jié)果,避免了在信道環(huán)境較差時(shí)導(dǎo)致的誤碼率較大的 技術(shù)問(wèn)題,從而達(dá)到降低譯碼誤碼率的技術(shù)效果。優(yōu)選地,在從待譯碼序列的累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯譯碼之前還包 括設(shè)定回溯深度、可信長(zhǎng)度和收斂長(zhǎng)度,其中,回溯深度W =可信長(zhǎng)度R+收斂長(zhǎng)度C ;當(dāng)t =nXR+C且小于傳輸塊的長(zhǎng)度L時(shí),從累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯W個(gè)比特, 輸出得到的序列的前R個(gè)比特作為結(jié)果序列的第(n-1) XR+1至第nXR個(gè)比特,其中,η = 1,2,3...;當(dāng)t = L時(shí),從累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯輸出L-nXR個(gè)比特作為 結(jié)果序列的第nXR+Ι至第L個(gè)比特。其中,t代表時(shí)間軸,從、時(shí)刻開(kāi)始每個(gè)時(shí)刻先做加比選運(yùn)算再更新一次所有狀態(tài) 點(diǎn)的累積量度,到達(dá)、時(shí)刻;、時(shí)刻先做加比選運(yùn)算再更新一次所有狀態(tài)點(diǎn)的累積量度,到 達(dá)t2時(shí)刻;重復(fù),直到最終的、(L為編碼塊長(zhǎng)度)時(shí)刻。通常的viterbi譯碼器算法認(rèn)為當(dāng)回溯深度W為5 10倍的約束長(zhǎng)度(N為約束 長(zhǎng)度)時(shí),所得到的J時(shí)刻前的初始狀態(tài)都相同的概率是很大的,即理論上要求W大于5 10倍的約束長(zhǎng)度;即,同樣的W下,R越小,譯碼性能越高。對(duì)于整個(gè)待譯碼序列,可以一次全部回溯譯碼完畢,也可以采用本實(shí)施例中的分 段回溯譯碼方式以節(jié)省存儲(chǔ)空間。分段回溯是指在、時(shí)刻啟動(dòng)第1次回溯,譯碼輸出R個(gè)比特,同時(shí)得到一個(gè)初始狀 態(tài)initSts ;在tw+K時(shí)刻啟動(dòng)第2次分段回溯,譯碼輸出R個(gè)比特;在tw+2K時(shí)刻啟動(dòng)第3次分 段回溯,譯碼輸出R個(gè)比特;重復(fù),直到、時(shí)刻啟動(dòng)最后一次的回溯(從最大值對(duì)應(yīng)的狀態(tài) 點(diǎn)開(kāi)始回溯),譯碼輸出剩余的所有比特(outl),同時(shí)得到最終狀態(tài)IastSts ;如果IastSts 和initSts不等,再?gòu)膇nitSts作最后一次的回溯,譯碼輸出剩余的所有比特(out2),再比 較outl和out2不一樣的比特個(gè)數(shù)確定最終譯碼結(jié)果。全回溯是指只在、時(shí)刻啟動(dòng)一次回溯,譯碼輸出全部L個(gè)比特,同時(shí)得到初始狀 態(tài)initSts和最終狀態(tài)IastSts ;如果IastSts和initSts不等,再?gòu)膇nitSts做一次的回 溯,譯碼輸出全部L個(gè)比特,再比較兩次譯碼結(jié)果中不一樣的比特個(gè)數(shù)確定最終譯碼結(jié)果。優(yōu)選地,在長(zhǎng)期演進(jìn)系統(tǒng)中,預(yù)定閾值為2比特,回溯深度為70比特,可信長(zhǎng)度為 3比特,收斂長(zhǎng)度為67比特。LTE中咬尾卷積碼的約束長(zhǎng)度為7,碼率為1/3。卷積編碼前需要把移位寄存器的 初始狀態(tài)設(shè)置為待編碼信息比特流的最后6位。為得到最優(yōu)的預(yù)定閾值的值,首先行算法 仿真,先隨機(jī)產(chǎn)生卷積編碼前的信息比特流infoBit,進(jìn)行咬尾卷積編碼,再加入AWGN噪 聲,再進(jìn)行譯碼。首先從maxSts回溯譯碼得到譯碼結(jié)果outl和起始狀態(tài)initSts ;如果initSts與IastSts不相等,則使用initSts作為回溯起始點(diǎn)做回溯,得到結(jié)果out2 ;統(tǒng)計(jì) outl和out2不一致的比特?cái)?shù),記為diff ;然后設(shè)置門(mén)限值threshold,當(dāng)diff小于等于 threshold時(shí)使用out2的結(jié)果作為譯碼結(jié)果,否則使用outl的結(jié)果作為譯碼結(jié)果;比較譯 碼輸出結(jié)果與卷積編碼前的信息比特流infoBit是否一致,統(tǒng)計(jì)誤比特率(BER)和誤塊率 (BLER);嘗試不同的門(mén)限值threshold和信噪比得到不同的性能曲線;根據(jù)前面的仿真曲 線,選擇性能最好的門(mén)限值BestValue。通過(guò)仿真,在LTE系統(tǒng)中,預(yù)定閾值為2比特為最優(yōu) 值,可選地,也可以選用其他例如3比特,4比特的其他值作為預(yù)定閾值。同樣,也可以選擇 例如71、72作為回溯深度,以及選擇4、5作為可信長(zhǎng)度。優(yōu)選地,根據(jù)比較結(jié)果輸出譯碼結(jié)果具體包括如果結(jié)果是第一譯碼結(jié)果和第二 譯碼結(jié)果中不一致的比特?cái)?shù)量大于預(yù)定閾值,則輸出第一譯碼結(jié)果作為譯碼結(jié)果;如果結(jié) 果是第一譯碼結(jié)果和第二譯碼結(jié)果中不一致的比特?cái)?shù)量小于或等于預(yù)定閾值,則輸出第二 譯碼結(jié)果作為譯碼結(jié)果。假設(shè)咬尾卷積編碼器的約束長(zhǎng)度為N,編碼器的移位寄存器的個(gè)數(shù)為N-1,則編碼 器的狀態(tài)總共有個(gè)。設(shè)編碼前的信息比特流為infoBit,設(shè)從累積量度最大值對(duì)應(yīng)的 狀態(tài)(maxSts)開(kāi)始回溯得到的譯碼結(jié)果為outl,設(shè)outl中的最后N-I個(gè)bit對(duì)應(yīng)的值為 IastSts0設(shè)第一次分段回溯后得到的起始狀態(tài)值為initSts。設(shè)使用initSts作為回溯起 始點(diǎn)做回溯得到的譯碼結(jié)果為out2。從咬尾卷積編碼后到卷積譯碼前的信道環(huán)境中的噪聲有可能導(dǎo)致initSts與 IastSts不相等,所以如果從initSts開(kāi)始回溯有可能出現(xiàn)“maxSts回溯譯碼錯(cuò)誤,initSts 回溯譯碼正確”的情況(easel)。但也有可能出現(xiàn)“maxSts回溯的譯碼正確,initSts回溯 譯碼錯(cuò)誤”的情況(caSe2)。本發(fā)明正是基于盡量提高easel概率與降低CaSe2概率的差 值的思想來(lái)提高譯碼器的譯碼性能。優(yōu)選地,如果第一譯碼結(jié)果的初始狀態(tài)和最終狀態(tài)相同,則輸出第一譯碼結(jié)果作 為譯碼結(jié)果。第一譯碼結(jié)果的初始狀態(tài)和最終狀態(tài)相同表明第一譯碼結(jié)果正確的概率較 大,所以直接選擇第一譯碼結(jié)果作為譯碼結(jié)果。根據(jù)本發(fā)明第一實(shí)施例的咬尾卷積碼的譯碼方法避免了在信道環(huán)境較差時(shí)導(dǎo)致 的誤碼率較大的技術(shù)問(wèn)題,從而達(dá)到降低譯碼誤碼率的技術(shù)效果。第二實(shí)施例圖2是根據(jù)本發(fā)明第二實(shí)施例的咬尾卷積碼的譯碼裝置的方框圖。如圖2所示,根據(jù)本發(fā)明第二實(shí)施例的咬尾卷積碼的譯碼裝置包括回溯模塊 202,用于從待譯碼序列的累積度量最大狀態(tài)開(kāi)始沿度量最大的方向回溯以得到第一譯碼 結(jié)果,并用于從待譯碼序列的初始狀態(tài)開(kāi)始沿度量最大的方向回溯,得到第二譯碼結(jié)果;判 斷模塊204,用于判斷第一譯碼結(jié)果的初始狀態(tài)和最終狀態(tài)是否相同;比較模塊206,用于 將第一譯碼結(jié)果和第二譯碼結(jié)果中不一致的比特?cái)?shù)量與預(yù)定閾值進(jìn)行比較;譯碼輸出模塊 208,用于根據(jù)比較模塊的比較結(jié)果輸出譯碼結(jié)果。根據(jù)本發(fā)明第二實(shí)施例的咬尾卷積碼的譯碼裝置通過(guò)在從累積度量最大狀態(tài)回 溯產(chǎn)生的譯碼結(jié)果的初始狀態(tài)和最終狀態(tài)不同時(shí),進(jìn)行從初始狀態(tài)開(kāi)始的回溯,并將這兩 種回溯產(chǎn)生的譯碼結(jié)果的差值與預(yù)定閾值進(jìn)行比較,然后根據(jù)比較結(jié)果來(lái)選擇以哪種狀態(tài) 回溯產(chǎn)生的譯碼結(jié)果作為最終的譯碼結(jié)果,避免了在信道環(huán)境較差時(shí)導(dǎo)致的誤碼率較大的技術(shù)問(wèn)題,從而達(dá)到降低譯碼誤碼率的技術(shù)效果。優(yōu)選地,譯碼裝置還包括設(shè)置模塊,用于設(shè)定回溯深度、可信長(zhǎng)度和收斂長(zhǎng)度,其 中,回溯深度W =可信長(zhǎng)度R+收斂長(zhǎng)度C ;分段回溯模塊,用于在t = nXR+C且小于傳輸 塊的長(zhǎng)度L時(shí),從累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯W個(gè)比特,并輸出得到的序列的前 R個(gè)比特作為結(jié)果序列的第(n-l)XR+l至第nXR個(gè)比特,其中,η = 1,2,3...;待譯碼生 成模塊,用于在t = L時(shí),從累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯輸出L-nXR個(gè)比特作 為結(jié)果序列的第nXR+Ι至第L個(gè)比特。對(duì)于整個(gè)待譯碼序列,可以一次全部回溯譯碼完畢,也可以采用本實(shí)施例中的分 段回溯譯碼方式以節(jié)省存儲(chǔ)空間。優(yōu)選地,在長(zhǎng)期演進(jìn)系統(tǒng)中,預(yù)定閾值為2比特,回溯深度為70比特,可信長(zhǎng)度為 3比特,收斂長(zhǎng)度為67比特。通過(guò)仿真,在LTE系統(tǒng)中,預(yù)定閾值為2比特為最優(yōu)值,可選地,也可以選用其他例 如3比特,4比特的其他值作為預(yù)定閾值。同樣,也可以選擇例如71、72作為回溯深度,以及 選擇4、5作為可信長(zhǎng)度。優(yōu)選地,譯碼輸出模塊包括第一輸出單元,用于在結(jié)果是第一譯碼結(jié)果和第二譯 碼結(jié)果中不一致的比特?cái)?shù)量大于預(yù)定閾值時(shí),輸出第一譯碼結(jié)果作為譯碼結(jié)果;第二輸出 單元,用于在結(jié)果是第一譯碼結(jié)果和第二譯碼結(jié)果中不一致的比特?cái)?shù)量小于或等于預(yù)定閾 值時(shí),輸出第二譯碼結(jié)果作為譯碼結(jié)果。以達(dá)到降低誤碼率的技術(shù)效果。優(yōu)選地,第一輸出單元還用于在第一譯碼結(jié)果的初始狀態(tài)和最終狀態(tài)相同時(shí),輸 出第一譯碼結(jié)果作為譯碼結(jié)果。第一譯碼結(jié)果的初始狀態(tài)和最終狀態(tài)相同表明第一譯碼結(jié) 果正確的概率較大,所以直接選擇第一譯碼結(jié)果作為譯碼結(jié)果。根據(jù)本發(fā)明第二實(shí)施例的咬尾卷積碼的譯碼裝置避免了在信道環(huán)境較差時(shí)導(dǎo)致 的誤碼率較大的技術(shù)問(wèn)題,從而達(dá)到降低譯碼誤碼率的技術(shù)效果。第三實(shí)施例在本實(shí)施例中,將以LTE咬尾卷積碼的譯碼過(guò)程為例對(duì)根據(jù)本發(fā)明第三實(shí)施例的 咬尾卷積碼的譯碼方法進(jìn)行詳細(xì)描述。圖3是根據(jù)本發(fā)明第三實(shí)施例的咬尾卷積碼的譯碼方法的流程圖。如圖3所示, 根據(jù)本發(fā)明第三實(shí)施例的咬尾卷積碼的譯碼方法包括步驟302,計(jì)算幸存路徑;計(jì)算幸存路徑的原理如圖4所示,首先計(jì)算由T = 0 (即 to到tl時(shí)刻)的K = 0的4條路徑對(duì)應(yīng)的4個(gè)新增累積度量,再計(jì)算4個(gè)累計(jì)度量,然后選 擇到S2k狀態(tài)點(diǎn)的兩條路徑中的累積度量較大的那條路徑作為幸存路徑,并選擇到S2k+1 狀態(tài)點(diǎn)的兩條路徑中的累積度量較大的那條路徑作為幸存路徑,并保存幸存路徑的選擇結(jié) 果;對(duì)待譯碼序列中每個(gè)比特均重復(fù)本步驟;更新64個(gè)狀態(tài)點(diǎn)的累計(jì)度量;每完成32次加 比選運(yùn)算后存儲(chǔ)一次64個(gè)狀態(tài)點(diǎn)的累積量度;每個(gè)時(shí)刻更新一次64個(gè)狀態(tài)點(diǎn)的累積量度, 每個(gè)時(shí)刻t遞增一。步驟304,分段回溯;如圖5所示,當(dāng)加比選運(yùn)算進(jìn)行了 R+C次后(即t = R+C時(shí)) 啟動(dòng)第一次的分段回溯,從64個(gè)狀態(tài)點(diǎn)的累積量度中找到最大值作為回溯的起始狀態(tài)點(diǎn), 本次回溯輸出最前面時(shí)刻的R個(gè)比特,其中,R為可信長(zhǎng)度,C為收斂長(zhǎng)度,W = R+C為回溯 深度;保存本次回溯后得到的起始狀態(tài)值initSts ;
步驟306,如果t = ηX R+C且t < L則啟動(dòng)第η次的分段回溯,每次回溯輸出R個(gè) 比特,保存該R個(gè)比特;每次當(dāng)t增大R后重復(fù)本步驟,直到t = L ;步驟308,對(duì)剩余的比特進(jìn)行譯碼;該步驟具體為從累積量度的最大值開(kāi)始回 溯,如果該次回溯輸出的Wlast個(gè)比特(該結(jié)果記為outl)中最后6個(gè)比特與initSts對(duì) 應(yīng)的6個(gè)比特相同,則結(jié)束譯碼;否則,則從initSts狀態(tài)開(kāi)始回溯,輸出Wlast個(gè)比特(該 結(jié)果記為out2);比較outl和out2 ;統(tǒng)計(jì)二者中不同的比特個(gè)數(shù)diff,如果diff <= 2貝丨J 采用out2作為最后一次回溯的輸出,否則采用outl作為最后一次回溯的輸出;步驟310,以步驟306中輸出的nXR個(gè)比特以及步驟308的輸出一起作為譯碼結(jié)^ ο在AWGN下,輸入定點(diǎn)Sbit位寬數(shù)據(jù),咬尾卷積編碼前信息長(zhǎng)度為192,編碼該咬 尾卷積碼譯碼方法的BER和BLER性能曲線見(jiàn)圖6和圖7,在圖6和圖7中,Max全回溯代表 從累積量度的最大值開(kāi)始做全回溯(無(wú)分段僅一次回溯);initSts全回溯代表initSts與 IastSts不相等,選擇從initSts譯碼輸出;差異分段回溯代表根據(jù)本發(fā)明第三實(shí)施例的譯 碼方法(分段回溯,W = 70,R = 3);差異全回溯本發(fā)明第一實(shí)施例所述的譯碼方法(無(wú) 分段僅一次回溯)。從圖6和圖7中的性能曲線可知,本發(fā)明所述的譯碼方法的譯碼性能 明顯優(yōu)于傳統(tǒng)的viterbi譯碼算法,而且在分段回溯節(jié)省memory資源的情況下性能也無(wú)損 失。根據(jù)上述實(shí)施例的咬尾卷積碼的譯碼方法和裝置避免了在信道環(huán)境較差時(shí)導(dǎo)致 的誤碼率較大的技術(shù)問(wèn)題,從而達(dá)到降低譯碼誤碼率的技術(shù)效果。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成 的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ) 在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們 中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的 硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技 術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種咬尾卷積碼的譯碼方法,其特征在于,包括從待譯碼序列的累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯譯碼,得到第一譯碼結(jié)果,并判斷所述第一譯碼結(jié)果的初始狀態(tài)和最終狀態(tài)是否相同;如果不相同,則從所述第一譯碼結(jié)果中的初始狀態(tài)點(diǎn)開(kāi)始回溯譯碼,得到第二譯碼結(jié)果,并將所述第一譯碼結(jié)果和所述第二譯碼結(jié)果中不一致的比特?cái)?shù)量與預(yù)定閾值進(jìn)行比較;根據(jù)比較結(jié)果輸出譯碼結(jié)果。
2.根據(jù)權(quán)利要求1所述的譯碼方法,其特征在于,在從待譯碼序列的累積度量最大值 對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯譯碼之前還包括設(shè)定回溯深度、可信長(zhǎng)度和收斂長(zhǎng)度,其中,所述回溯深度W=可信長(zhǎng)度R+收斂長(zhǎng)度C;每個(gè)時(shí)刻更新一次所有狀態(tài)點(diǎn)的累積度量,如果當(dāng)前時(shí)刻t = nXR+C且小于傳輸塊的 長(zhǎng)度L時(shí),從當(dāng)前時(shí)刻的累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯W個(gè)比特,輸出得到的序列 的前R個(gè)比特作為結(jié)果序列的第(n-l)XR+l至第nXR個(gè)比特,其中,η = 1,2,3...;當(dāng)t = L時(shí),從當(dāng)前時(shí)刻的累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯輸出L-nXR個(gè)比特 作為所述結(jié)果序列的第nXR+Ι至第L個(gè)比特。
3.根據(jù)權(quán)利要求2所述的譯碼方法,其特征在于,在長(zhǎng)期演進(jìn)系統(tǒng)中,所述預(yù)定閾值為 2比特,所述回溯深度為70比特,所述可信長(zhǎng)度為3比特,所述收斂長(zhǎng)度為67比特。
4.根據(jù)權(quán)利要求1所述的譯碼方法,其特征在于,根據(jù)比較結(jié)果輸出譯碼結(jié)果具體包括如果所述結(jié)果是所述第一譯碼結(jié)果和所述第二譯碼結(jié)果中不一致的比特?cái)?shù)量大于預(yù) 定閾值,則輸出所述第一譯碼結(jié)果作為譯碼結(jié)果;如果所述結(jié)果是所述第一譯碼結(jié)果和所述第二譯碼結(jié)果中不一致的比特?cái)?shù)量小于或 等于預(yù)定閾值,則輸出所述第二譯碼結(jié)果作為譯碼結(jié)果。
5.根據(jù)權(quán)利要求1所述的譯碼方法,其特征在于,如果所述第一譯碼結(jié)果的初始狀態(tài) 和最終狀態(tài)相同,則輸出所述第一譯碼結(jié)果作為譯碼結(jié)果。
6.一種咬尾卷積碼的譯碼裝置,其特征在于,包括回溯模塊,用于從待譯碼序列的累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯譯碼以得到第 一譯碼結(jié)果,并用于從所述第一譯碼結(jié)果中的初始狀態(tài)點(diǎn)開(kāi)始回溯譯碼,得到第二譯碼結(jié) 果;判斷模塊,用于判斷所述第一譯碼結(jié)果的初始狀態(tài)和最終狀態(tài)是否相同; 比較模塊,用于將所述第一譯碼結(jié)果和所述第二譯碼結(jié)果中不一致的比特?cái)?shù)量與預(yù)定 閾值進(jìn)行比較;譯碼輸出模塊,用于根據(jù)所述比較模塊的比較結(jié)果輸出譯碼結(jié)果。
7.根據(jù)權(quán)利要求6所述的譯碼裝置,其特征在于,還包括設(shè)置模塊,用于設(shè)定回溯深度、可信長(zhǎng)度和收斂長(zhǎng)度,其中,所述回溯深度W=可信長(zhǎng) 度R+收斂長(zhǎng)度C ;分段回溯模塊,用于在當(dāng)前時(shí)刻t = nXR+C且小于傳輸塊的長(zhǎng)度L時(shí),從當(dāng)前時(shí)刻的 累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回溯W個(gè)比特,并輸出得到的序列的前R個(gè)比特作為結(jié)果序列的第(n-l)XR+l至第nXR個(gè)比特,其中,η = 1,2,3...;待譯碼生成模塊,用于在t = L時(shí),從當(dāng)前時(shí)刻的累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始回 溯以輸出L-nXR個(gè)比特作為所述結(jié)果序列的第nXR+Ι至第L個(gè)比特。
8.根據(jù)權(quán)利要求7所述的譯碼裝置,其特征在于,在長(zhǎng)期演進(jìn)系統(tǒng)中,所述預(yù)定閾值為 2比特,所述回溯深度為70比特,所述可信長(zhǎng)度為3比特,所述收斂長(zhǎng)度為67比特。
9.根據(jù)權(quán)利要求6所述的譯碼裝置,其特征在于,譯碼輸出模塊包括第一輸出單元,用于在所述結(jié)果是所述第一譯碼結(jié)果和所述第二譯碼結(jié)果中不一致的 比特?cái)?shù)量大于預(yù)定閾值時(shí),輸出所述第一譯碼結(jié)果作為譯碼結(jié)果;第二輸出單元,用于在所述結(jié)果是所述第一譯碼結(jié)果和所述第二譯碼結(jié)果中不一致的 比特?cái)?shù)量小于或等于預(yù)定閾值時(shí),輸出所述第二譯碼結(jié)果作為譯碼結(jié)果。
10.根據(jù)權(quán)利要求9所述的譯碼裝置,其特征在于,所述第一輸出單元還用于在所述第 一譯碼結(jié)果的初始狀態(tài)和最終狀態(tài)相同時(shí),輸出所述第一譯碼結(jié)果作為譯碼結(jié)果。
全文摘要
本發(fā)明公開(kāi)了一種咬尾卷積碼的譯碼方法,包括從待譯碼序列的累積度量最大值對(duì)應(yīng)的狀態(tài)點(diǎn)開(kāi)始做回溯譯碼,得到第一譯碼結(jié)果,并判斷第一譯碼結(jié)果的初始狀態(tài)和最終狀態(tài)是否相同;如果不相同,則從第一譯碼結(jié)果中的初始狀態(tài)點(diǎn)開(kāi)始回溯譯碼,得到第二譯碼結(jié)果,并將第一譯碼結(jié)果和第二譯碼結(jié)果中不一致的比特?cái)?shù)量與預(yù)定閾值進(jìn)行比較;根據(jù)比較結(jié)果輸出譯碼結(jié)果。本發(fā)明避免了在信道環(huán)境較差時(shí)導(dǎo)致的誤碼率較大的技術(shù)問(wèn)題,從而達(dá)到降低譯碼誤碼率的技術(shù)效果。
文檔編號(hào)H03M13/23GK101969308SQ20091016084
公開(kāi)日2011年2月9日 申請(qǐng)日期2009年7月27日 優(yōu)先權(quán)日2009年7月27日
發(fā)明者王俊 申請(qǐng)人:中興通訊股份有限公司