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

一種維特比譯碼器及其回溯譯碼方法和回溯譯碼裝置的制作方法

文檔序號(hào):7511026閱讀:494來源:國知局
專利名稱:一種維特比譯碼器及其回溯譯碼方法和回溯譯碼裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及回溯技術(shù),特別涉及一種維特比(Viterbi)譯碼器及其回溯譯碼方法和回溯譯碼裝置。
背景技術(shù)
卷積碼是現(xiàn)代數(shù)字通信中常用的一種信道糾錯(cuò)編碼技術(shù),通常使用卷積碼格圖對(duì)卷積碼的編碼過程進(jìn)行圖示。以(2,1,2)卷積碼為例,圖1為現(xiàn)有技術(shù)中(2,1,2)卷積碼的格圖,其中每一豎線對(duì)應(yīng)一個(gè)時(shí)刻,而每一豎線上存在多個(gè)與橫線的交點(diǎn),代表對(duì)應(yīng)時(shí)刻的不同狀態(tài),稱為該時(shí)刻的不同節(jié)點(diǎn),因此每一時(shí)刻都對(duì)應(yīng)有多個(gè)節(jié)點(diǎn)。實(shí)線箭頭表示的路徑稱為許用路徑,為編碼可能經(jīng)過的路徑,每一條許用路徑都對(duì)應(yīng)自身路徑的一個(gè)編碼值,圖1中對(duì)相同取值的許用路徑只標(biāo)出了一部分?jǐn)?shù)值。對(duì)于一部分節(jié)點(diǎn)來說,存在兩條許用路徑進(jìn)入同一個(gè)節(jié)點(diǎn)的情況。
卷積碼典型的譯碼算法有代數(shù)譯碼和概率譯碼兩大類,Viterbi譯碼算法就是一種常用的概率譯碼算法,它的基本原理為預(yù)先計(jì)算每一時(shí)刻可能存在的許用路徑和經(jīng)過該許用路徑的編碼值,并在卷積碼的格圖中表示這些許用路徑??紤]所有許用路徑,尋找一條最大似然路徑,將沿此最大似然路徑的編碼序列作為對(duì)實(shí)際待譯碼序列的譯碼結(jié)果。考慮到計(jì)算量的問題,Viterbi譯碼算法中采用逐步計(jì)算的原則。
下面結(jié)合圖1對(duì)Viterbi譯碼算法進(jìn)行簡要介紹。
Viterbi譯碼器使用Viterbi譯碼算法,實(shí)現(xiàn)三個(gè)部分功能,即分支度量計(jì)算、路徑度量加比選計(jì)算和回溯譯碼。可以將譯碼器每接收一個(gè)輸入碼字視為一個(gè)時(shí)刻。
在所述分支度量計(jì)算中,某時(shí)刻節(jié)點(diǎn)與其上一時(shí)刻節(jié)點(diǎn)之間的連線稱為分支,將接收碼與每條分支的距離稱為分支度量。
在所述路徑度量加比選計(jì)算中,將某時(shí)刻每個(gè)節(jié)點(diǎn)上兩條不同輸入分支對(duì)應(yīng)的上一時(shí)刻節(jié)點(diǎn)的路徑度量,與各自計(jì)算出的分支度量相加,從兩個(gè)相加結(jié)果中選擇較小的一個(gè),作為該時(shí)刻每個(gè)節(jié)點(diǎn)新的路徑度量值,得到的新路徑度量值所對(duì)應(yīng)的支路就是當(dāng)前時(shí)刻每個(gè)節(jié)點(diǎn)對(duì)應(yīng)的幸存路徑。如果某時(shí)刻每個(gè)節(jié)點(diǎn)上只對(duì)應(yīng)一條輸入分支,則無需進(jìn)行上述選擇較小路徑度量值的過程,直接將該分支對(duì)應(yīng)的上一時(shí)刻節(jié)點(diǎn)的路徑度量,與計(jì)算出的分支度量相加即可。每一時(shí)刻都按照上述規(guī)則更新各個(gè)節(jié)點(diǎn)的路徑度量值存儲(chǔ),并且將加比選計(jì)算中得到的幸存路徑在卷積碼格圖中所對(duì)應(yīng)的數(shù)值作為加比選判決信息存儲(chǔ),用于后續(xù)的回溯譯碼操作。
在所述回溯譯碼中,當(dāng)路徑度量加比選計(jì)算中得到的加比選判決信息在譯碼器中的存儲(chǔ)到達(dá)譯碼深度后,就可以開始回溯操作。回溯開始的第一次回溯具體操作可以簡單描述為從回溯開始的當(dāng)前時(shí)刻選擇任意一個(gè)節(jié)點(diǎn)作為回溯操作的起始節(jié)點(diǎn),讀取存儲(chǔ)的當(dāng)前時(shí)刻加比選判決信息,即找到了回溯操作起始節(jié)點(diǎn)所對(duì)應(yīng)的幸存路徑的數(shù)值,由于針對(duì)每個(gè)節(jié)點(diǎn)的幸存路徑的數(shù)值只有一個(gè),因此根據(jù)該數(shù)值可以找到回溯操作的起始節(jié)點(diǎn)到當(dāng)前時(shí)刻前一時(shí)刻中一個(gè)節(jié)點(diǎn)的唯一路徑。例如圖1所示,假設(shè)加比選判決信息中針對(duì)時(shí)刻6的節(jié)點(diǎn)a存儲(chǔ)的數(shù)值為10,即節(jié)點(diǎn)a對(duì)應(yīng)的幸存路徑的數(shù)值為10,則根據(jù)該數(shù)值可以找到節(jié)點(diǎn)a到時(shí)刻5中節(jié)點(diǎn)b的唯一路徑,相當(dāng)于在卷積碼格圖上從節(jié)點(diǎn)a回溯到了節(jié)點(diǎn)b?;厮蓍_始的第一次回溯之后的每一次回溯,都按照上述讀取加比選判決信息并前進(jìn)一個(gè)節(jié)點(diǎn)的方式,依次回溯得出一條路徑。在上述回溯操作到達(dá)譯碼深度后,認(rèn)為回溯操作的結(jié)束節(jié)點(diǎn)已經(jīng)位于最大似然路徑上,可以開始沿最大似然路徑對(duì)輸入碼字進(jìn)行譯碼,譯碼的具體操作就是沿回溯操作的結(jié)束節(jié)點(diǎn)為起始點(diǎn)的路徑,依次讀出該路徑上各節(jié)點(diǎn)之間路徑上的數(shù)值,即讀取各節(jié)點(diǎn)對(duì)應(yīng)的加比選判決信息作為譯碼結(jié)果,釋放存儲(chǔ)空間。
在上述Viterbi譯碼器實(shí)現(xiàn)的三部分功能中,分支度量計(jì)算和路徑度量加比選計(jì)算的邏輯比較固定,只要使用Viterbi譯碼算法就需要這兩個(gè)部分來完成前期的預(yù)處理。而回溯譯碼操作需要大量的存儲(chǔ)資源,來存儲(chǔ)每一時(shí)刻所有節(jié)點(diǎn)的路徑度量值和加比選判決信息,以便于進(jìn)行回溯操作,因此這一部分的存儲(chǔ)將占用Viterbi譯碼器的主要資源,由于回溯譯碼部分有較多的實(shí)現(xiàn)方法,因此成了減小譯碼器面積和資源消耗設(shè)計(jì)中備受關(guān)注的部分,也是目前優(yōu)化譯碼器設(shè)計(jì)的瓶頸。
現(xiàn)有技術(shù)中Viterbi譯碼算法中的回溯是基于隨機(jī)存儲(chǔ)器(RAM)的回溯操作,其中又可以分為傳統(tǒng)的直接回溯和前向回溯。由于前向回溯中回溯操作的數(shù)據(jù)對(duì)象為當(dāng)前加比選判決信息,需要增加額外的寄存器來實(shí)現(xiàn)類似寄存器交換的處理,而傳統(tǒng)的直接回溯中回溯操作是針對(duì)已經(jīng)寫入存儲(chǔ)器的加比選判決信息,無需額外的寄存器,因此傳統(tǒng)的直接回溯更能節(jié)省資源,應(yīng)用的也比較廣泛。
目前在Viterbi譯碼器中,針對(duì)傳統(tǒng)的直接回溯有四種架構(gòu)實(shí)現(xiàn)方法,都包含以下三種操作1)回溯(TB),指從當(dāng)前時(shí)刻的某一節(jié)點(diǎn)開始,讀取加比選判決信息得到整個(gè)譯碼深度的路徑。
2)譯碼(DC),指在回溯完成的基礎(chǔ)上的譯碼輸出。
3)寫入(WR),將加比選判決信息寫入Viterbi譯碼器的存儲(chǔ)模塊中。
下面分別簡單介紹目前傳統(tǒng)直接回溯中的四種架構(gòu)實(shí)現(xiàn)方法,在這四種方法中,都將Viterbi譯碼器中存儲(chǔ)加比選判決信息的RAM劃分為多個(gè)存儲(chǔ)體,在每個(gè)存儲(chǔ)體中又存在以不同地址標(biāo)識(shí)的不同存儲(chǔ)位置,每一時(shí)刻所有節(jié)點(diǎn)的加比選判決信息可以存儲(chǔ)在一個(gè)地址標(biāo)識(shí)的一個(gè)存儲(chǔ)位置中,例如圖1中時(shí)刻3的所有節(jié)點(diǎn)的加比選判決信息可以存儲(chǔ)在存儲(chǔ)體中一個(gè)地址標(biāo)識(shí)的一個(gè)存儲(chǔ)位置中??梢允褂没厮葜羔榿碇赶蜃x取加比選判決信息的存儲(chǔ)位置的地址。在這幾種架構(gòu)方法中,數(shù)據(jù)流都遵循共同的原則加比選判決信息寫入存儲(chǔ)體到達(dá)譯碼深度后,可以從某一時(shí)刻選擇任意的一個(gè)節(jié)點(diǎn)為起始開始回溯操作;回溯操作在到達(dá)譯碼深度之前,只能從一個(gè)存儲(chǔ)體轉(zhuǎn)移到其相鄰的存儲(chǔ)體進(jìn)行;回溯操作到達(dá)譯碼深度之后,譯碼操作以回溯操作的結(jié)束節(jié)點(diǎn)為起始點(diǎn)開始譯碼輸出。根據(jù)上述原則不斷的循環(huán)往復(fù),就可以得到連續(xù)的譯碼結(jié)果輸出。
第一、k指針偶方法。
該架構(gòu)方法中,在同一時(shí)刻多個(gè)存儲(chǔ)體中有k個(gè)回溯指針同時(shí)進(jìn)行回溯操作,譯碼器中需要2k塊存儲(chǔ)體,每塊存儲(chǔ)體的深度為L/(k-1),其中L為回溯深度,也就是譯碼深度。將對(duì)應(yīng)各個(gè)時(shí)刻所有節(jié)點(diǎn)的加比選判決信息順序?qū)懭敫鱾€(gè)存儲(chǔ)體中的對(duì)應(yīng)地址中,當(dāng)寫入的深度到達(dá)譯碼深度后,就可以開始回溯操作,圖2為現(xiàn)有技術(shù)中3指針偶方法的數(shù)據(jù)流結(jié)構(gòu)示意圖,所示為譯碼器首次回溯操作開始后的一段中間態(tài)數(shù)據(jù)流結(jié)構(gòu),其中空心較大的箭頭表示加比選判決信息寫入路徑,空心較小的箭頭表示譯碼輸出路徑,而虛線箭頭表示回溯路徑,每一時(shí)刻的加比選判決信息有N位。
圖2所示的數(shù)據(jù)流結(jié)構(gòu)中,每一行代表在一個(gè)時(shí)間段內(nèi)不同存儲(chǔ)體內(nèi)同時(shí)進(jìn)行的操作,上述一個(gè)時(shí)間段可以包括對(duì)應(yīng)輸入多個(gè)輸入碼字的多個(gè)時(shí)刻??梢钥闯?,在相同時(shí)間段內(nèi)同時(shí)進(jìn)行的操作包括加比選判決信息寫滿一個(gè)存儲(chǔ)體,對(duì)應(yīng)一個(gè)存儲(chǔ)體的譯碼輸出,以及對(duì)應(yīng)一個(gè)存儲(chǔ)體中加比選判決信息的回溯操作。因此具體到相同時(shí)間段的每一個(gè)時(shí)刻,可以認(rèn)為,在每一個(gè)時(shí)刻同時(shí)進(jìn)行的操作包括將當(dāng)前時(shí)刻的加比選判決信息寫入存儲(chǔ)體中一個(gè)地址對(duì)應(yīng)的存儲(chǔ)位置,從存儲(chǔ)體中讀取一個(gè)地址對(duì)應(yīng)的存儲(chǔ)位置中的加比選判決信息進(jìn)行一次回溯,也就是讀取一個(gè)時(shí)刻已存儲(chǔ)的加比選判決信息進(jìn)行一次回溯,譯碼輸出對(duì)應(yīng)一個(gè)時(shí)刻的結(jié)果。上述每一時(shí)刻進(jìn)行的一次回溯,與前述介紹回溯操作時(shí)相同,相當(dāng)于從當(dāng)前節(jié)點(diǎn)向前運(yùn)動(dòng)了一步,例如圖1所示從節(jié)點(diǎn)a運(yùn)動(dòng)到了節(jié)點(diǎn)b。
由于譯碼結(jié)果和輸入序列相比是倒序的,因此Viterbi譯碼器需要外置后進(jìn)先出的緩沖棧將譯碼結(jié)果倒序。k指針偶方法通常使用2塊后進(jìn)先出的緩沖棧(Last in First out,LIFO)來將產(chǎn)生的譯碼結(jié)果進(jìn)行倒序,每一塊LIFO的深度都為L/(k-1)。
在k指針偶方法中,譯碼器接收輸入碼字、回溯操作和譯碼的速率均相同,譯碼速率可以達(dá)到全速,也無需限制譯碼器的數(shù)據(jù)速率,即無需限制譯碼器接收輸入碼字的速率,但是存儲(chǔ)資源耗費(fèi)較多。
第二、k指針奇方法。
k指針奇方法與k指針偶方法的回溯算法結(jié)構(gòu)基本相同,區(qū)別在于k指針奇方法中譯碼操作和寫入加比選判決信息可以在同一存儲(chǔ)體中進(jìn)行,因此所需的存儲(chǔ)體個(gè)數(shù)比k指針偶方法少一個(gè),而且與譯碼操作在同一存儲(chǔ)體中進(jìn)行的寫入加比選判決信息操作,和上一次在相同存儲(chǔ)體中進(jìn)行的寫入加比選判決信息操作的順序相反。k指針奇方法中,在同一時(shí)刻多個(gè)存儲(chǔ)體的k個(gè)回溯指針在進(jìn)行回溯操作,譯碼器中需要2k塊存儲(chǔ)體,每塊存儲(chǔ)體的深度為L/(k-1),其中L為回溯深度,也就是譯碼深度。
圖3為現(xiàn)有技術(shù)中3指針奇方法的數(shù)據(jù)流結(jié)構(gòu)示意圖,圖中各箭頭表示的意義與k指針偶方法中的描述相同,圖3所示為譯碼器首次回溯操作開始后的一段中間態(tài)數(shù)據(jù)流結(jié)構(gòu)。同樣地,該方法中Viterbi譯碼器也需要外置的緩沖棧來對(duì)譯碼輸出序列進(jìn)行倒序,通常也需要2塊深度為L/(k-1)的LIFO來完成此操作。
按照k指針偶方法中對(duì)同一時(shí)間段同時(shí)進(jìn)行操作的介紹,可以看出,在k指針奇方法中,譯碼器接收輸入碼字、回溯操作和譯碼輸出的速率也相同,譯碼速率也可以達(dá)到全速,也無需限制譯碼器的數(shù)據(jù)速率,但是存儲(chǔ)資源耗費(fèi)也較多。
第三、單指針方法。
單指針方法和前述k指針偶方法以及k指針奇方法的算法結(jié)構(gòu)相同,但同一時(shí)刻多個(gè)存儲(chǔ)體只有一個(gè)回溯指針在進(jìn)行回溯操作。圖4為現(xiàn)有技術(shù)中單指針方法的數(shù)據(jù)流結(jié)構(gòu)示意圖,其中空心箭頭表示譯碼路徑,虛線箭頭表示回溯路徑,而在標(biāo)識(shí)WR的存儲(chǔ)體中的豎線表示寫入加比選判決信息。圖4所示為譯碼器首次回溯操作開始后的一段中間態(tài)數(shù)據(jù)流結(jié)構(gòu)。
在這種方法中,為了減少存儲(chǔ)資源的耗費(fèi),對(duì)回溯操作和寫入加比選判決信息操作的速度進(jìn)行了設(shè)計(jì),具體為將加比選判決信息寫滿一個(gè)存儲(chǔ)體時(shí),完成一次譯碼深度的回溯操作和一次譯碼輸出。為滿足上述速度設(shè)計(jì)要求,單指針方法中的平均數(shù)據(jù)速率降低,即譯碼器接收輸入碼字的平均速度降低,使得回溯操作和譯碼輸出的速度是數(shù)據(jù)輸入速度的幾倍,這樣雖然降低了存儲(chǔ)資源的耗費(fèi),但數(shù)據(jù)速率較低,并且譯碼輸出的延遲增大,導(dǎo)致譯碼速率下降。
第四、混合方法該方法是將上述第一至第三種方法的混合與折中,對(duì)于數(shù)據(jù)流結(jié)構(gòu)和所需的硬件資源等不再贅述。
通過上述介紹可以看出,現(xiàn)有技術(shù)中的幾種回溯架構(gòu)方法,都基于一個(gè)共同的特點(diǎn)進(jìn)行回溯操作時(shí),每一時(shí)刻從譯碼器的加比選判決信息存儲(chǔ)體中,只讀取已存儲(chǔ)的一個(gè)時(shí)刻的加比選判決信息,即存儲(chǔ)體的回溯指針從開始回溯的節(jié)點(diǎn)向前運(yùn)動(dòng)了一步,回溯了一個(gè)節(jié)點(diǎn)。對(duì)于任何的Viterbi譯碼器設(shè)計(jì),總要回溯一定的深度才能譯碼一段數(shù)據(jù),譯碼后相應(yīng)的存儲(chǔ)空間才被釋放,才能夠?qū)懭胄碌募颖冗x判決信息,因此當(dāng)回溯速度得不到提高時(shí),只有兩種方法解決加比選判決信息的存儲(chǔ)問題,第一就是降低加比選判決信息的寫入速度,從而在不增多存儲(chǔ)資源的情況下,使加比選判決信息能夠?qū)懭牖厮莺妥g碼完成后釋放的存儲(chǔ)空間內(nèi),第二就是保證數(shù)據(jù)速率并增多存儲(chǔ)資源,在回溯和譯碼未完成前,將加比選判決信息寫入額外增加的存儲(chǔ)空間內(nèi)。因此,當(dāng)考慮存儲(chǔ)資源消耗較少而需要使回溯速度大于加比選判決信息的寫入速度時(shí),必須以降低數(shù)據(jù)速率為代價(jià),而保證數(shù)據(jù)速率時(shí),又不得不耗費(fèi)較多的存儲(chǔ)資源,增大了譯碼器的面積。
目前還沒有在保證數(shù)據(jù)速率的情況下,通過真正提高回溯操作的速度,節(jié)省Viterbi譯碼器存儲(chǔ)資源的技術(shù)方案。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種Viterbi譯碼器中的回溯譯碼方法,該方法能夠在保證數(shù)據(jù)速率的情況下,提高回溯操作的速度,節(jié)省存儲(chǔ)資源。
本發(fā)明實(shí)施例提供一種Viterbi譯碼器中的回溯譯碼裝置,該裝置能夠在保證數(shù)據(jù)速率的情況下,提高回溯操作的速度,節(jié)省存儲(chǔ)資源。
本發(fā)明實(shí)施例提供一種Viterbi譯碼器,該譯碼器能夠在保證數(shù)據(jù)速率的情況下,提高回溯操作的速度,節(jié)省存儲(chǔ)資源。
本發(fā)明實(shí)施例提供一種維特比譯碼器中的回溯譯碼方法,譯碼器中存儲(chǔ)有不同時(shí)刻的加比選判決信息,該方法具體包括所述譯碼器中的加比選判決信息存儲(chǔ)到譯碼深度時(shí),開始回溯;開始回溯后的每一時(shí)刻,向譯碼器中存儲(chǔ)對(duì)應(yīng)該時(shí)刻的加比選判決信息,并讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息,回溯一個(gè)以上節(jié)點(diǎn);所述回溯到達(dá)譯碼深度時(shí),對(duì)輸入碼字進(jìn)行譯碼。
本發(fā)明實(shí)施例提供一種維特比譯碼器中的回溯譯碼裝置,該裝置包括加比選判決信息存儲(chǔ)模塊,用于存儲(chǔ)不同時(shí)刻寫入的加比選判決信息;多倍回溯執(zhí)行模塊,用于在所述加比選判決信息存儲(chǔ)模塊中的加比選判決信息存儲(chǔ)到譯碼深度后,每一時(shí)刻從所述加比選判決信息存儲(chǔ)模塊中讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息,回溯一個(gè)以上節(jié)點(diǎn);在所述回溯到達(dá)譯碼深度后,對(duì)輸入碼字進(jìn)行譯碼。
本發(fā)明實(shí)施例提供一種維特比譯碼器,該譯碼器包括分支度量單元,用于接收輸入碼字,計(jì)算輸入碼字與參考碼字的分支度量值;路徑度量值存儲(chǔ)單元,用于接收寫入的更新后的路徑度量值并存儲(chǔ);路徑度量加比選單元,用于接收所述分支度量單元傳輸?shù)漠?dāng)前時(shí)刻各節(jié)點(diǎn)的分支度量值,從路徑度量值存儲(chǔ)單元中讀取上一時(shí)刻已存儲(chǔ)的各節(jié)點(diǎn)路徑度量值;針對(duì)每個(gè)節(jié)點(diǎn),將上一時(shí)刻的路徑度量值與當(dāng)前時(shí)刻該節(jié)點(diǎn)對(duì)應(yīng)的兩個(gè)分支度量值相加,選擇相加結(jié)果較小的作為當(dāng)前時(shí)刻該節(jié)點(diǎn)的路徑度量值;將當(dāng)前時(shí)刻選擇的各個(gè)節(jié)點(diǎn)的路徑度量值對(duì)應(yīng)路徑上的信息,作為當(dāng)前時(shí)刻的加比選判決信息;多倍回溯譯碼單元,用于接收所述路徑度量加比選單元提供的加比選判決信息并存儲(chǔ);在所述加比選判決信息存儲(chǔ)到譯碼深度后,每一時(shí)刻讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息,回溯一個(gè)以上節(jié)點(diǎn);在所述回溯到達(dá)譯碼深度后,對(duì)輸入碼字進(jìn)行譯碼。
從上述方案可以看出,本發(fā)明實(shí)施例提供的Viterbi譯碼器及其回溯譯碼方法和回溯譯碼裝置,在加比選判決信息存儲(chǔ)到譯碼深度后,每一時(shí)刻讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息,回溯一個(gè)以上節(jié)點(diǎn),在回溯到達(dá)譯碼深度后,對(duì)輸入碼字進(jìn)行譯碼。由于在Viterbi譯碼器中,回溯譯碼操作所需的加比選判決信息占用譯碼器大部分的存儲(chǔ)資源,而只有在每次回溯和譯碼都結(jié)束時(shí),相應(yīng)的存儲(chǔ)空間才被釋放,可以寫入新的加比選判決信息。在對(duì)數(shù)據(jù)速率不作限制的情況下,每次回溯讀取的加比選判決信息比寫入的加比選判決信息多,回溯的節(jié)點(diǎn)數(shù)增多,更快地到達(dá)譯碼深度從而譯碼,更快地釋放出存儲(chǔ)空間,使得加比選判決信息可以向釋放出的存儲(chǔ)空間寫入,提高了有限存儲(chǔ)資源的使用率,從而不必耗費(fèi)額外的存儲(chǔ)資源。因此,本發(fā)明實(shí)施例在對(duì)數(shù)據(jù)速率不作限制即保證數(shù)據(jù)速率的情況下,通過提高回溯速度,節(jié)省了存儲(chǔ)資源。


圖1為現(xiàn)有技術(shù)中(2,1,2)卷積碼的格圖;圖2為現(xiàn)有技術(shù)中3指針偶方法的數(shù)據(jù)流結(jié)構(gòu)示意圖;圖3為現(xiàn)有技術(shù)中3指針奇方法的數(shù)據(jù)流結(jié)構(gòu)示意圖;圖4為現(xiàn)有技術(shù)中單指針方法的數(shù)據(jù)流結(jié)構(gòu)示意圖;圖5為本發(fā)明實(shí)施例Viterbi譯碼器中的回溯譯碼方法流程圖;圖6為本發(fā)明實(shí)施例Viterbi譯碼器中的回溯譯碼方法的較佳實(shí)施例數(shù)據(jù)流結(jié)構(gòu)示意圖;圖7為本發(fā)明實(shí)施例Viterbi譯碼器中的回溯譯碼裝置結(jié)構(gòu)示意圖;圖8為本發(fā)明實(shí)施例Viterbi譯碼器的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖,對(duì)本發(fā)明實(shí)施例進(jìn)一步詳細(xì)說明。
本發(fā)明實(shí)施例提供一種Viterbi譯碼器中的回溯譯碼方法,譯碼器中存儲(chǔ)有不同時(shí)刻的加比選判決信息,該方法還包括所述譯碼器中的加比選判決信息存儲(chǔ)到譯碼深度時(shí),開始回溯;開始回溯后的每一時(shí)刻,向譯碼器中存儲(chǔ)對(duì)應(yīng)該時(shí)刻的加比選判決信息,并讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息,回溯一個(gè)以上節(jié)點(diǎn);所述回溯到達(dá)譯碼深度時(shí),對(duì)輸入碼字進(jìn)行譯碼。
在上述流程中,將譯碼器每接收一個(gè)輸入碼字看作一個(gè)時(shí)刻。
本發(fā)明實(shí)施例提供的Viterbi譯碼器的回溯譯碼方法,在開始回溯后的每一時(shí)刻,存儲(chǔ)對(duì)應(yīng)該時(shí)刻的加比選判決信息,讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息,進(jìn)行回溯操作,并在回溯到達(dá)譯碼深度后,對(duì)輸入碼字進(jìn)行譯碼。因此,回溯操作的速度根據(jù)每次可讀取的加比選判決信息量,可以是寫入加比選判決信息速度的幾倍,在對(duì)數(shù)據(jù)速率不作限制的情況下,每次回溯讀取的加比選判決信息比寫入的加比選判決信息多,回溯的節(jié)點(diǎn)數(shù)增多,更快地到達(dá)譯碼深度從而譯碼,更快地釋放出存儲(chǔ)空間,使得加比選判決信息可以向釋放出的存儲(chǔ)空間寫入,使有限的存儲(chǔ)資源得到充分利用而無需額外的存儲(chǔ)資源,節(jié)省了譯碼器中的存儲(chǔ)資源。并且本發(fā)明實(shí)施例提供的Viterbi譯碼器的回溯方法,同時(shí)縮小了譯碼輸出的延遲。
本發(fā)明實(shí)施例提供的Viterbi譯碼器中的回溯譯碼方法,關(guān)鍵是在不限制數(shù)據(jù)速率的情況下,讀取加比選判決信息進(jìn)行回溯操作的速度,大于寫入加比選判決信息的速度。本發(fā)明實(shí)施例提供的回溯譯碼方法中,也使用回溯指針來指向讀取加比選判決信息的地址,可以將本發(fā)明實(shí)施例提供的回溯譯碼方法應(yīng)用于每一回溯指針,因此本發(fā)明實(shí)施例提供的回溯譯碼方法可以應(yīng)用在現(xiàn)有的k指針方法和單指針方法中。
本發(fā)明實(shí)施例提供的Viterbi譯碼器中的回溯譯碼方法,讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息,并不限于是整數(shù)個(gè)時(shí)刻的加比選判決信息,也可以是非整數(shù)個(gè)時(shí)刻的加比選判決信息,例如將對(duì)應(yīng)三個(gè)時(shí)刻的加比選判決信息分兩次讀取,相當(dāng)于每次都讀取了1.5個(gè)時(shí)刻的加比選判決信息。
本發(fā)明實(shí)施例提供的Viterbi譯碼器中的回溯譯碼方法,所述在每一時(shí)刻讀取一個(gè)以上時(shí)刻已存儲(chǔ)的加比選判決信息,可以有多種實(shí)施方式。其中一種較佳的實(shí)施方式為將每一時(shí)刻的加比選判決信息存儲(chǔ)在一個(gè)地址所標(biāo)識(shí)的地址空間中,設(shè)置每次同時(shí)讀取加比選判決信息對(duì)應(yīng)的存儲(chǔ)地址的關(guān)系,回溯操作中使用的回溯指針每次開始讀取時(shí)指向一個(gè)地址,按照所述設(shè)置的存儲(chǔ)地址的關(guān)系,同時(shí)將幾個(gè)地址中的加比選判決信息讀出。另一種較佳實(shí)施方式可以為假設(shè)每一時(shí)刻同時(shí)需要讀取2個(gè)時(shí)刻的已存儲(chǔ)加比選判決信息,可以將連續(xù)兩個(gè)時(shí)刻的加比選判決信息存儲(chǔ)在一個(gè)地址對(duì)應(yīng)的存儲(chǔ)空間內(nèi),這時(shí)需要適當(dāng)擴(kuò)展每個(gè)存儲(chǔ)空間的深度,在一次讀取中同時(shí)將上述一個(gè)地址中的對(duì)應(yīng)兩個(gè)時(shí)刻的加比選判決信息讀出??傊?,通過存儲(chǔ)方式以及地址讀取方式的不同,本發(fā)明實(shí)施例中在每一時(shí)刻已存儲(chǔ)的加比選判決信息的實(shí)現(xiàn)可以有多種實(shí)現(xiàn)方式。
圖5為本發(fā)明實(shí)施例提供的回溯譯碼方法流程圖,流程開始之前,譯碼器中存儲(chǔ)有不同時(shí)刻寫入的加比選判決信息,該流程包括步驟501譯碼器中的加比選判決信息存儲(chǔ)到譯碼深度后,開始回溯。
本步驟中,譯碼器中存儲(chǔ)的不同時(shí)刻寫入的加比選判決信息存儲(chǔ)到譯碼深度,是回溯開始的條件,即當(dāng)加比選判決信息存儲(chǔ)到譯碼深度后,可以根據(jù)實(shí)際需要選擇時(shí)刻開始回溯。
步驟502開始回溯后的每一時(shí)刻,向譯碼器中存儲(chǔ)對(duì)應(yīng)該時(shí)刻的加比選判決信息,并讀取已存儲(chǔ)的一個(gè)以上時(shí)刻加比選判決信息,回溯一個(gè)以上節(jié)點(diǎn)。
本步驟中,開始回溯后的每一時(shí)刻,向譯碼器中存儲(chǔ)對(duì)應(yīng)該時(shí)刻的加比選判決信息,同時(shí)進(jìn)行的還有讀取已存儲(chǔ)的一個(gè)以上時(shí)刻加比選判決信息,回溯一個(gè)以上節(jié)點(diǎn)。
步驟503回溯到達(dá)譯碼深度時(shí),對(duì)輸入碼字進(jìn)行譯碼。
本步驟中,在按照步驟502所述的讀取加比選判決信息的方式進(jìn)行的回溯?;厮莸竭_(dá)譯碼深度時(shí),認(rèn)為回溯的最后一個(gè)節(jié)點(diǎn)已經(jīng)位于最大似然路徑上,可以開始對(duì)輸入碼字進(jìn)行譯碼。譯碼開始后,以回溯的最后一個(gè)節(jié)點(diǎn)作為起點(diǎn),在每一時(shí)刻讀出一個(gè)節(jié)點(diǎn)的加比選判決信息,即得出對(duì)應(yīng)一個(gè)時(shí)刻的譯碼結(jié)果。在譯碼操作后,被讀出的加比選判決信息對(duì)應(yīng)的存儲(chǔ)空間被釋放,即可以向被釋放的存儲(chǔ)空間內(nèi)繼續(xù)存儲(chǔ)新寫入的加比選判決信息。
下面將應(yīng)用在使用單指針方法進(jìn)行回溯操作的Viterbi譯碼器中作為一個(gè)較佳實(shí)施例,詳細(xì)說明本發(fā)明實(shí)施例回溯譯碼方法中的數(shù)據(jù)流結(jié)構(gòu),對(duì)于譯碼器計(jì)算分支度量和路徑度量加比選的過程,并非本發(fā)明實(shí)施例討論的重點(diǎn),因此在數(shù)據(jù)流結(jié)構(gòu)的介紹中只涉及寫入加比選判決信息、讀取加比選判決信息進(jìn)行回溯以及譯碼。
在本較佳實(shí)施例中設(shè)置以下應(yīng)用場景譯碼深度為L,每一時(shí)刻對(duì)應(yīng)的各個(gè)節(jié)點(diǎn)的加比選判決信息為N位;加比選判決信息存儲(chǔ)在Viterbi譯碼器的加比選判決信息存儲(chǔ)模塊中,將該加比選判決信息存儲(chǔ)模塊劃分為多個(gè)存儲(chǔ)體,每個(gè)存儲(chǔ)體的位寬為N,深度為L/2;存儲(chǔ)體采用雙端口隨機(jī)存儲(chǔ)器(DPRAM)實(shí)現(xiàn),每個(gè)存儲(chǔ)體中包括使用不同地址標(biāo)識(shí)的不同存儲(chǔ)空間;譯碼器將每一時(shí)刻接收輸入碼字后計(jì)算出的加比選判決信息中的加比選判決信息,依次寫入各個(gè)存儲(chǔ)體的連續(xù)地址所標(biāo)識(shí)的存儲(chǔ)空間中,其中每個(gè)地址所標(biāo)識(shí)的一個(gè)存儲(chǔ)空間存儲(chǔ)一個(gè)時(shí)刻的加比選判決信息;譯碼器每接收一個(gè)輸入碼字,從加比選判決信息存儲(chǔ)模塊中讀出2個(gè)連續(xù)地址中的加比選判決信息,回溯2個(gè)節(jié)點(diǎn),使用R表示連續(xù)讀出的地址數(shù);將譯碼器每接收一個(gè)輸入碼字,設(shè)為一個(gè)時(shí)刻。
根據(jù)以上設(shè)置的本較佳實(shí)施例應(yīng)用場景,計(jì)算劃分出的存儲(chǔ)體塊數(shù)應(yīng)該為R+2=4塊,每塊存儲(chǔ)體的深度為L/R。由于每塊存儲(chǔ)體都采用DPRAM實(shí)現(xiàn),針對(duì)加比選判決信息的存儲(chǔ),采取前述在每一地址對(duì)應(yīng)的存儲(chǔ)空間中存儲(chǔ)一個(gè)時(shí)刻的加比選判決信息的實(shí)施方式,將連續(xù)時(shí)刻的加比選判決信息存儲(chǔ)在連續(xù)地址中,按照應(yīng)用場景假設(shè)即每一時(shí)刻讀出2個(gè)連續(xù)地址中的加比選判決信息,由于DPRAM的雙端口都可以進(jìn)行讀操作,假設(shè)從一個(gè)端口讀取存儲(chǔ)體中加比選判決信息的地址為address1,從另一端口讀取存儲(chǔ)體中加比選判決信息的地址為address2,則設(shè)置在同一端口的存儲(chǔ)地址關(guān)系滿足address1=address1+2;設(shè)置兩個(gè)端口之間的存儲(chǔ)地址關(guān)系滿足address2=address1+1。每次讀取加比選判決信息時(shí),同時(shí)從兩個(gè)端口中讀出連續(xù)2個(gè)地址中的數(shù)據(jù)。譯碼器需要一塊深度為L/R的外置LIFO。
圖6為本發(fā)明實(shí)施例Viterbi譯碼器中的回溯譯碼方法較佳實(shí)施例的數(shù)據(jù)流結(jié)構(gòu)示意圖,其中實(shí)心箭頭表示加比選判決信息寫入路徑,空心箭頭表示譯碼輸出路徑,而虛線箭頭表示回溯路徑。下面詳細(xì)介紹上述數(shù)據(jù)流結(jié)構(gòu)。
本數(shù)據(jù)流結(jié)構(gòu)從譯碼器開始接收第一個(gè)輸入碼字描述,在加比選判決信息存儲(chǔ)到達(dá)譯碼深度之前,回溯操作還未開始,所以回溯操作開始之前的這一段過程可以稱為回溯準(zhǔn)備過程,該準(zhǔn)備過程的數(shù)據(jù)流包括在存儲(chǔ)體1中由低到高,每一時(shí)刻向一個(gè)地址寫入加比選判決信息,直到寫滿存儲(chǔ)體1;在存儲(chǔ)體2中由低到高,每一時(shí)刻向一個(gè)地址寫入加比選判決信息,直到寫滿存儲(chǔ)體2;在存儲(chǔ)體3中由低到高,每一時(shí)刻向一個(gè)地址寫入加比選判決信息,直到寫滿存儲(chǔ)體3。
按照本發(fā)明實(shí)施例的設(shè)置的應(yīng)用場景,經(jīng)過上述回溯準(zhǔn)備過程,加比選判決信息在Viterbi譯碼器內(nèi)加比選判決信息存儲(chǔ)模塊中已經(jīng)到達(dá)了譯碼深度,因此在下一時(shí)刻,在存儲(chǔ)體3中可以開始進(jìn)行回溯操作。對(duì)于Viterbi譯碼器中的加比選判決信息到達(dá)譯碼深度后,回溯操作開始的起點(diǎn),可以根據(jù)實(shí)際需要具體確定,上述從存儲(chǔ)體3開始回溯操作只是一種具體的實(shí)施方式。
回溯操作開始后的數(shù)據(jù)流包括1)在存儲(chǔ)體3中由高到低,每一時(shí)刻讀出存儲(chǔ)體3中連續(xù)2個(gè)地址中的加比選判決信息,用于回溯操作,直到將存儲(chǔ)體3中的所有地址的加比選判決信息讀取完畢;與上述存儲(chǔ)體3中的操作同時(shí)進(jìn)行的還有,在存儲(chǔ)體4中由低到高,每一時(shí)刻向一個(gè)地址中寫入加比選判決信息,直到寫滿存儲(chǔ)體4的前半部分。由于加比選判決信息的讀出速度是加比選判決信息寫入速度的2倍,因此當(dāng)存儲(chǔ)體3中的加比選判決信息全部讀取完畢時(shí),存儲(chǔ)體4中的加比選判決信息正好寫滿前半部分。
2)在存儲(chǔ)體2中由高到低,每一時(shí)刻讀出存儲(chǔ)體2中連續(xù)2個(gè)地址的加比選判決信息,用于回溯操作,直到將存儲(chǔ)體2中的所有地址的加比選判決信息讀取完畢;與上述存儲(chǔ)體2中的操作同時(shí)進(jìn)行的操作還有,在存儲(chǔ)體4中由低到高,每一時(shí)刻向一個(gè)地址寫入加比選判決信息,直到寫滿存儲(chǔ)體4的后半部分。同樣的,由于加比選判決信息讀出速度是加比選判決信息寫入速度的2倍,因此當(dāng)存儲(chǔ)體2中的加比選判決信息全部讀取完畢時(shí),存儲(chǔ)體4中的加比選判決信息正好寫滿后半部分。
3)由于在前續(xù)操作中,回溯操作經(jīng)過存儲(chǔ)體3和存儲(chǔ)體2已經(jīng)到達(dá)譯碼深度,因此在存儲(chǔ)體1中以回溯操作結(jié)束的節(jié)點(diǎn)為起始,開始譯碼輸出,每一時(shí)刻輸出一個(gè)譯碼結(jié)果,釋放存儲(chǔ)體1中一個(gè)地址對(duì)應(yīng)的存儲(chǔ)空間,直到存儲(chǔ)體1中后半部分地址對(duì)應(yīng)的存儲(chǔ)空間全部釋放;在上述譯碼輸出的同時(shí),在存儲(chǔ)體1中由高到低,每一時(shí)刻對(duì)譯碼輸出后釋放出的一個(gè)地址空間寫入加比選判決信息;與上述譯碼輸出和寫入加比選判決信息同時(shí)進(jìn)行的操作還有,在存儲(chǔ)體4中由高到低,每一時(shí)刻讀出連續(xù)2個(gè)地址的加比選判決信息,用于回溯操作,直到將存儲(chǔ)體4中的所有地址的加比選判決信息讀取完畢。
4)在存儲(chǔ)體1中繼續(xù)譯碼輸出,每一時(shí)刻輸出一個(gè)譯碼結(jié)果,釋放存儲(chǔ)體1中一個(gè)地址對(duì)應(yīng)的存儲(chǔ)空間,直到存儲(chǔ)體1中前半部分地址對(duì)應(yīng)的存儲(chǔ)空間全部釋放;在上述譯碼輸出的同時(shí),在存儲(chǔ)體1中由高到低,每一時(shí)刻對(duì)譯碼輸出后釋放出的一個(gè)地址空間寫入加比選判決信息;與上述譯碼輸出和寫入加比選判決信息同時(shí)進(jìn)行的還有,在存儲(chǔ)體3中由高到低,每一時(shí)刻讀出連續(xù)2個(gè)地址的加比選判決信息,直到將存儲(chǔ)體3中的所有地址的加比選判決信息讀取完畢。
5)經(jīng)過前續(xù)操作,存儲(chǔ)體1中已經(jīng)寫滿加比選判決信息,并且加比選判決信息的存儲(chǔ)深度已達(dá)到譯碼深度,因此在存儲(chǔ)體1中由低到高,每一時(shí)刻讀取連續(xù)2個(gè)地址的加比選判決信息,用于回溯操作,直至將存儲(chǔ)體1中所有地址的加比選判決信息讀取完畢;由于經(jīng)過前續(xù)操作,存儲(chǔ)體4和存儲(chǔ)體3中的回溯操作已經(jīng)到達(dá)譯碼深度,因此與上述回溯操作同時(shí)進(jìn)行的還有,在存儲(chǔ)體2中以回溯操作結(jié)束的節(jié)點(diǎn)為起始,每一時(shí)刻輸出一個(gè)譯碼結(jié)果,釋放存儲(chǔ)體2中一個(gè)地址對(duì)應(yīng)的存儲(chǔ)空間,直到存儲(chǔ)體2中后半部分的存儲(chǔ)空間全部釋放;與上述回溯操作和譯碼輸出同時(shí)進(jìn)行的操作還有,在存儲(chǔ)體2中由高到低,每一時(shí)刻對(duì)存儲(chǔ)體2中譯碼輸出后釋放的一個(gè)地址空間寫入加比選判決信息,直至寫滿存儲(chǔ)體2的后半部分。
6)在存儲(chǔ)體2中繼續(xù)譯碼輸出,每一時(shí)刻輸出一個(gè)譯碼結(jié)果,釋放存儲(chǔ)體2中一個(gè)地址對(duì)應(yīng)的存儲(chǔ)空間,直到存儲(chǔ)體2中前半部分的存儲(chǔ)空間全部釋放;與此同時(shí),在存儲(chǔ)體2中由高到低,每一時(shí)刻對(duì)存儲(chǔ)體2中譯碼輸出后釋放的一個(gè)地址空間寫入加比選判決信息;與上述譯碼輸出和寫入加比選判決信息同時(shí)進(jìn)行的還有,在存儲(chǔ)體4中由高到低,每一時(shí)刻讀出連續(xù)2個(gè)地址的加比選判決信息,用于回溯操作,直到將存儲(chǔ)體4中的所有地址的加比選判決信息讀取完畢。
上述1)-6)只是譯碼器回溯過程中的一段數(shù)據(jù)流過程,回溯操作所應(yīng)遵循的原則為回溯操作在到達(dá)譯碼深度之前,只能從一個(gè)存儲(chǔ)體轉(zhuǎn)移到其相鄰的存儲(chǔ)體進(jìn)行。按照上述描述的數(shù)據(jù)流規(guī)則不斷的循環(huán)往復(fù),就可以得到連續(xù)的譯碼結(jié)果,這里對(duì)后續(xù)的回溯過程不再贅述。從譯碼器輸出的譯碼結(jié)果都進(jìn)入外置LIFO中,倒序輸出后即為譯碼序列。
本發(fā)明實(shí)施例Viterbi譯碼器中的回溯譯碼方法較佳實(shí)施例中,由于對(duì)譯碼深度和回溯操作讀取的加比選判決信息地址數(shù)設(shè)置恰當(dāng),使得回溯深度、寫入加比選判決信息深度和譯碼的交接剛好占滿各自所占用的存儲(chǔ)體,這是一種較佳的實(shí)施方式,在實(shí)際應(yīng)用中還可以選擇其他數(shù)值實(shí)現(xiàn)。
在實(shí)際應(yīng)用中,如果回溯速度遠(yuǎn)大于加比選判決信息的寫入速度,則當(dāng)存儲(chǔ)體中已存儲(chǔ)的加比選判決信息不夠一次回溯所需的數(shù)據(jù)量時(shí),需等待繼續(xù)寫入的加比選信息到達(dá)所需數(shù)據(jù)量后再開始回溯。
為了證明本發(fā)明實(shí)施例Viterbi譯碼器中的回溯譯碼方法與已有的回溯譯碼方法在存儲(chǔ)資源方面的優(yōu)勢,將本發(fā)明實(shí)施例回溯譯碼方法需要的硬件資源,與已有回溯譯碼方法所需的硬件資源作一個(gè)比較。

表一參見表一中所列的數(shù)據(jù),將存儲(chǔ)體的深度作為比較的基準(zhǔn),如果各個(gè)存儲(chǔ)體的深度相同,即在取值上k-1=R,例如R=2、k=3,現(xiàn)有的k指針偶方法、k指針奇方法和單指針方法所需的存儲(chǔ)體塊數(shù)顯然多于本發(fā)明實(shí)施例提供的回溯譯碼方法。雖然按照上述取值方法,現(xiàn)有的單指針方法所需的存儲(chǔ)資源與本發(fā)明實(shí)施例提供的回溯方法相近,但單指針方法無法保證數(shù)據(jù)速率,而且譯碼速率較慢。
為進(jìn)一步證明本發(fā)明實(shí)施例Viterbi譯碼器中的回溯譯碼方法在節(jié)省存儲(chǔ)資源方面的優(yōu)勢,以(2,1,7)卷積碼的Viterbi譯碼為例,回溯深度為128,在這種情況下,現(xiàn)有技術(shù)中的回溯譯碼方法與本發(fā)明實(shí)施例提供的回溯譯碼方法,所消耗的存儲(chǔ)資源對(duì)比如下

表二如表二所列出的對(duì)比數(shù)據(jù)可以看出,在同樣的譯碼深度下,本發(fā)明實(shí)施例提供的回溯譯碼方法,相比于k指針偶方法和k指針奇方法,譯碼速率都為全速,但本發(fā)明實(shí)施例提供的回溯譯碼方法中,存儲(chǔ)資源的消耗明顯少了很多;而相對(duì)于單指針方法,雖然使用的存儲(chǔ)資源相同,但本發(fā)明實(shí)施例提供的回溯譯碼方法,譯碼速度是單指針方法的3倍。
由于Viterbi譯碼器總是應(yīng)用于一個(gè)實(shí)體系統(tǒng)中,Viterbi譯碼器接收輸入碼字的速率與系統(tǒng)時(shí)鐘之間可以有不同的對(duì)應(yīng)關(guān)系,這時(shí)實(shí)現(xiàn)本發(fā)明實(shí)施例提供的回溯方法,同時(shí)回溯一個(gè)以上節(jié)點(diǎn)就可以采取不同的實(shí)施方式。例如,如果Viterbi譯碼器接收輸入碼字的速率與系統(tǒng)時(shí)鐘相同,則每一次同時(shí)完成一個(gè)以上節(jié)點(diǎn)的回溯可以采取純組合邏輯以進(jìn)行全速譯碼;當(dāng)Viterbi譯碼器接收輸入碼字的速率為系統(tǒng)時(shí)鐘的1/n時(shí),即每個(gè)碼字對(duì)應(yīng)n個(gè)系統(tǒng)時(shí)鐘,則每一次同時(shí)完成一個(gè)以上節(jié)點(diǎn)的回溯可以采取n級(jí)流水線方式,不降低全速譯碼的同時(shí)提高譯碼器的運(yùn)行時(shí)鐘。
其次,介紹本發(fā)明實(shí)施例提供的Viterbi譯碼器中的回溯譯碼裝置,該裝置可以按照本發(fā)明實(shí)施例提供的Viterbi譯碼器中的回溯譯碼方法設(shè)計(jì)。
圖7為本發(fā)明實(shí)施例Viterbi譯碼器中的回溯譯碼裝置結(jié)構(gòu)示意圖,該裝置中包括加比選判決信息存儲(chǔ)模塊和多倍回溯執(zhí)行模塊。
所述加比選判決信息存儲(chǔ)模塊,用于存儲(chǔ)不同時(shí)刻寫入的加比選判決信息;
所述多倍回溯執(zhí)行模塊,在所述加比選判決信息存儲(chǔ)模塊中的加比選判決信息存儲(chǔ)到譯碼深度后,每一時(shí)刻從加比選判決信息存儲(chǔ)模塊中讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息,回溯一個(gè)以上節(jié)點(diǎn),在所述回溯到達(dá)譯碼深度后,對(duì)輸入碼字進(jìn)行譯碼。
本發(fā)明實(shí)施例提供的Viterbi譯碼器的回溯譯碼裝置,加比選判決信息存儲(chǔ)模塊存儲(chǔ)加比選判決信息,而多倍回溯執(zhí)行模塊在加比選判決信息存儲(chǔ)到譯碼深度后,從加比選判決信息存儲(chǔ)模塊中,每一時(shí)刻讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息,回溯一個(gè)以上節(jié)點(diǎn),并在回溯到達(dá)譯碼深度后,對(duì)輸入碼字進(jìn)行譯碼。因此,回溯操作的速度根據(jù)每次可同時(shí)讀取的加比選判決信息量,可以是寫入加比選判決信息速度的幾倍,在對(duì)數(shù)據(jù)速率不作限制的情況下,每次回溯讀取的加比選判決信息比寫入的加比選判決信息多,回溯的節(jié)點(diǎn)數(shù)增多,更快地到達(dá)譯碼深度從而譯碼,更快地釋放出存儲(chǔ)空間,使得加比選判決信息可以向釋放出的存儲(chǔ)空間寫入,節(jié)省了譯碼器中的存儲(chǔ)資源。
在上述本發(fā)明實(shí)施例提供的Viterbi譯碼器的回溯譯碼裝置中,加比選判決信息存儲(chǔ)模塊可以包括一個(gè)以上存儲(chǔ)體,每個(gè)存儲(chǔ)體中包括以不同地址標(biāo)識(shí)的不同存儲(chǔ)空間。加比選判決信息的存儲(chǔ)方式,可以使用前述已經(jīng)介紹過的一個(gè)較佳實(shí)施方式,即每一個(gè)地址所標(biāo)識(shí)的一個(gè)存儲(chǔ)空間中,存儲(chǔ)一個(gè)時(shí)刻的加比選判決信息,連續(xù)時(shí)刻的加比選判決信息存儲(chǔ)在連續(xù)地址中。
上述存儲(chǔ)體的個(gè)數(shù)為多倍回溯執(zhí)行模塊在每一時(shí)刻回溯的節(jié)點(diǎn)數(shù)與2相加的結(jié)果,例如如果同時(shí)回溯的節(jié)點(diǎn)數(shù)為2,則回溯執(zhí)行模塊中可以包括4塊存儲(chǔ)體。每個(gè)存儲(chǔ)體都可以使用DPRAM實(shí)現(xiàn)。
最后,介紹本發(fā)明實(shí)施例提供的Viterbi譯碼器。圖8為本發(fā)明實(shí)施例Viterbi譯碼器的結(jié)構(gòu)示意圖,該譯碼器中包括分支度量單元、路徑度量加比選單元、路徑度量值存儲(chǔ)單元和多倍回溯譯碼單元。
分支度量單元,用于接收譯碼器外部輸入的編碼碼字,計(jì)算所接收碼字與當(dāng)前時(shí)刻各節(jié)點(diǎn)的分支度量值。
路徑度量加比選單元,用于接收所述分支度量單元傳輸?shù)漠?dāng)前時(shí)刻各節(jié)點(diǎn)的分支度量值,從路徑度量值存儲(chǔ)單元中讀取上一時(shí)刻已存儲(chǔ)的各節(jié)點(diǎn)路徑度量值;針對(duì)每個(gè)節(jié)點(diǎn),將上一時(shí)刻的路徑度量值與當(dāng)前時(shí)刻該節(jié)點(diǎn)對(duì)應(yīng)的兩個(gè)分支度量值相加,選擇相加結(jié)果較小的作為當(dāng)前時(shí)刻該節(jié)點(diǎn)的路徑度量值;將當(dāng)前時(shí)刻選擇的各個(gè)節(jié)點(diǎn)的路徑度量值對(duì)應(yīng)路徑上的數(shù)值,作為對(duì)應(yīng)當(dāng)前時(shí)刻的加比選判決信息。
路徑度量值存儲(chǔ)單元,用于接收路徑度量加比選單元寫入的更新后的路徑度量值并存儲(chǔ)。
多倍回溯譯碼單元,用于接收路徑度量加比選單元寫入的加比選判決信息存儲(chǔ),在所述加比選判決信息存儲(chǔ)到譯碼深度后,每一時(shí)刻讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息,回溯一個(gè)以上節(jié)點(diǎn),在所述回溯到達(dá)譯碼深度后,對(duì)輸入碼字進(jìn)行譯碼。
本發(fā)明實(shí)施例提供的Viterbi譯碼器,內(nèi)部的多倍回溯譯碼單元在存儲(chǔ)加比選判決信息到達(dá)譯碼深度后,每一時(shí)刻讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息,回溯一個(gè)以上節(jié)點(diǎn),在對(duì)數(shù)據(jù)速率不作限制的情況下,每次回溯讀取的加比選判決信息比寫入的加比選判決信息多,回溯的節(jié)點(diǎn)數(shù)增多,更快地到達(dá)譯碼深度從而譯碼,更快地釋放出存儲(chǔ)空間,使得加比選判決信息可以向釋放出的存儲(chǔ)空間寫入,從而可以減少消耗的存儲(chǔ)資源。
本發(fā)明實(shí)施例提供的Viterbi譯碼器中的回溯譯碼裝置,可以作為本發(fā)明實(shí)施例提供的Viterbi譯碼器中多倍回溯譯碼單元的較佳實(shí)施例,即多倍回溯譯碼單元中可以進(jìn)一步包括加比選判決信息存儲(chǔ)模塊和多倍回溯執(zhí)行模塊。
加比選判決信息存儲(chǔ)模塊,用于接收路徑度量加比選單元寫入的加比選判決信息存儲(chǔ)。
多倍回溯執(zhí)行模塊,用于在所述加比選判決信息存儲(chǔ)模塊中的加比選判決信息到達(dá)譯碼深度后,每一時(shí)刻從加比選判決信息存儲(chǔ)模塊中讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息,回溯一個(gè)以上節(jié)點(diǎn),在所述回溯到達(dá)譯碼深度后,對(duì)輸入碼字進(jìn)行譯碼。
也可以將上述加比選判決信息存儲(chǔ)模塊劃分為多個(gè)存儲(chǔ)體,每個(gè)存儲(chǔ)體中包括以不同地址標(biāo)識(shí)的不同存儲(chǔ)空間。加比選判決信息的存儲(chǔ)方式,可以使用前述已經(jīng)介紹過的一個(gè)較佳實(shí)施方式,即每一個(gè)地址所標(biāo)識(shí)的一個(gè)存儲(chǔ)空間中,存儲(chǔ)一個(gè)時(shí)刻的加比選判決信息。每個(gè)存儲(chǔ)體都可以使用DPRAM實(shí)現(xiàn)。
除了上述較佳實(shí)施例,本發(fā)明實(shí)施例提供的Viterbi譯碼器中的多倍回溯譯碼單元,還可以使用其他完成相同功能的裝置實(shí)現(xiàn)。
以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種維特比譯碼器中的回溯譯碼方法,其特征在于,譯碼器中存儲(chǔ)有不同時(shí)刻寫入的加比選判決信息,該方法具體包括所述譯碼器中的加比選判決信息存儲(chǔ)到譯碼深度后,開始回溯;開始回溯后的每一時(shí)刻,向譯碼器中存儲(chǔ)對(duì)應(yīng)該時(shí)刻的加比選判決信息,并讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息,回溯一個(gè)以上節(jié)點(diǎn);所述回溯到達(dá)譯碼深度時(shí),對(duì)輸入碼字進(jìn)行譯碼。
2.如權(quán)利要求1所述的回溯方法,其特征在于,所述加比選判決信息存儲(chǔ)在以不同地址標(biāo)識(shí)的不同存儲(chǔ)空間中,每個(gè)地址標(biāo)識(shí)的存儲(chǔ)空間存儲(chǔ)一個(gè)時(shí)刻寫入的加比選判決信息;所述讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息為讀取一個(gè)以上地址中已存儲(chǔ)的加比選判決信息;所述譯碼為讀出一個(gè)地址中一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的加比選判決信息。
3.如權(quán)利要求2所述的回溯方法,其特征在于,所述讀取已存儲(chǔ)加比選判決信息為讀取2個(gè)連續(xù)地址中已存儲(chǔ)的加比選判決信息;所述回溯一個(gè)以上節(jié)點(diǎn)為回溯2個(gè)節(jié)點(diǎn)。
4.如權(quán)利要求3所述的回溯方法,其特征在于,所述讀取2個(gè)連續(xù)地址中已存儲(chǔ)的加比選判決信息為同一時(shí)刻通過兩個(gè)端口同時(shí)讀出連續(xù)2個(gè)地址中存儲(chǔ)的2個(gè)時(shí)刻的加比選判決信息;設(shè)當(dāng)前時(shí)刻從一個(gè)端口讀取加比選判決信息的地址為address1,下一時(shí)刻從另一端口讀取加比選判決信息的地址為address2,設(shè)置同一端口存儲(chǔ)地址關(guān)系滿足address1=address1+2;兩個(gè)端口之間的存儲(chǔ)地址關(guān)系滿足address2=address1+1。
5.如權(quán)利要求1所述的回溯方法,其特征在于,所述加比選判決信息存儲(chǔ)在以不同地址標(biāo)識(shí)的不同存儲(chǔ)空間中,每個(gè)地址標(biāo)識(shí)的存儲(chǔ)空間存儲(chǔ)一個(gè)以上時(shí)刻寫入的加比選判決信息;所述讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息為讀取一個(gè)地址中已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息。
6.一種維特比譯碼器中的回溯譯碼裝置,其特征在于,該裝置包括加比選判決信息存儲(chǔ)模塊,用于存儲(chǔ)不同時(shí)刻寫入的加比選判決信息;多倍回溯執(zhí)行模塊,用于在所述加比選判決信息存儲(chǔ)模塊中的加比選判決信息存儲(chǔ)到譯碼深度后,每一時(shí)刻從所述加比選判決信息存儲(chǔ)模塊中讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息,回溯一個(gè)以上節(jié)點(diǎn);在回溯到達(dá)譯碼深度時(shí),對(duì)輸入碼字進(jìn)行譯碼。
7.如權(quán)利要求6所述的回溯譯碼裝置,其特征在于,所述加比選判決信息存儲(chǔ)模塊包括一個(gè)以上存儲(chǔ)體,每個(gè)存儲(chǔ)體中包括以不同地址標(biāo)識(shí)的不同存儲(chǔ)空間,每個(gè)地址標(biāo)識(shí)的存儲(chǔ)空間存儲(chǔ)至少一個(gè)時(shí)刻寫入的加比選判決信息。
8.如權(quán)利要求7所述的回溯譯碼裝置,其特征在于,所述存儲(chǔ)體的個(gè)數(shù)為每一時(shí)刻回溯的節(jié)點(diǎn)數(shù)加2。
9.一種維特比譯碼器,其特征在于,該譯碼器包括分支度量單元,用于接收輸入碼字,計(jì)算輸入碼字與參考碼字的分支度量值;路徑度量值存儲(chǔ)單元,用于接收寫入的更新后的路徑度量值并存儲(chǔ);路徑度量加比選單元,用于接收所述分支度量單元傳輸?shù)漠?dāng)前時(shí)刻各節(jié)點(diǎn)的分支度量值,從路徑度量值存儲(chǔ)單元中讀取上一時(shí)刻已存儲(chǔ)的各節(jié)點(diǎn)路徑度量值;針對(duì)每個(gè)節(jié)點(diǎn),將上一時(shí)刻的路徑度量值與當(dāng)前時(shí)刻該節(jié)點(diǎn)對(duì)應(yīng)的兩個(gè)分支度量值相加,選擇相加結(jié)果較小的作為當(dāng)前時(shí)刻該節(jié)點(diǎn)的路徑度量值;將當(dāng)前時(shí)刻選擇的各個(gè)節(jié)點(diǎn)的路徑度量值對(duì)應(yīng)路徑上的數(shù)值,作為當(dāng)前時(shí)刻的加比選判決信息;多倍回溯譯碼單元,用于接收所述路徑度量加比選單元提供的加比選判決信息并存儲(chǔ);在所述加比選判決信息存儲(chǔ)到譯碼深度后,每一時(shí)刻讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息,回溯一個(gè)以上節(jié)點(diǎn);在所述回溯到達(dá)譯碼深度后,對(duì)輸入碼字進(jìn)行譯碼。
10.如權(quán)利要求9所述的譯碼器,其特征在于,所述多倍回溯譯碼單元包括加比選判決信息存儲(chǔ)模塊和多倍回溯執(zhí)行模塊;所述加比選判決信息存儲(chǔ)模塊,用于接收路徑度量加比選單元提供的加比選判決信息存儲(chǔ);所述多倍回溯執(zhí)行模塊,在所述加比選判決信息存儲(chǔ)模塊中的加比選判決信息存儲(chǔ)到譯碼深度后,每一時(shí)刻從加比選判決信息存儲(chǔ)模塊中讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息,回溯一個(gè)以上節(jié)點(diǎn);在所述回溯到達(dá)譯碼深度后,對(duì)輸入碼字進(jìn)行譯碼。
11.如權(quán)利要求10所述的譯碼器,其特征在于,所述加比選判決信息存儲(chǔ)模塊包括一個(gè)以上存儲(chǔ)體,每個(gè)存儲(chǔ)體中包括以不同地址標(biāo)識(shí)的不同存儲(chǔ)空間,每個(gè)地址標(biāo)識(shí)的存儲(chǔ)空間存儲(chǔ)至少一個(gè)時(shí)刻寫入的加比選判決信息。
全文摘要
本發(fā)明公開了一種維特比(Viterbi)譯碼器中的回溯譯碼方法,譯碼器中存儲(chǔ)有不同時(shí)刻的加比選判決信息,該方法具體包括所述譯碼器中的加比選判決信息存儲(chǔ)到譯碼深度后,開始回溯;開始回溯后的每一時(shí)刻,向譯碼器中存儲(chǔ)對(duì)應(yīng)該時(shí)刻的加比選判決信息,并讀取已存儲(chǔ)的一個(gè)以上時(shí)刻的加比選判決信息,回溯一個(gè)以上節(jié)點(diǎn);所述回溯到達(dá)譯碼深度時(shí),對(duì)輸入碼字進(jìn)行譯碼。本發(fā)明同時(shí)還公開了一種Viterbi譯碼器中的回溯譯碼裝置和一種Viterbi譯碼器。應(yīng)用本發(fā)明,可以在保證數(shù)據(jù)速率的情況下,提高譯碼器中的回溯速度,節(jié)省譯碼器中的存儲(chǔ)資源。
文檔編號(hào)H03M13/41GK101090274SQ20071013768
公開日2007年12月19日 申請(qǐng)日期2007年7月31日 優(yōu)先權(quán)日2007年7月31日
發(fā)明者黃啟華, 鄭程超, 蔡朝暉, 許樹湛 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
余庆县| 茂名市| 兴义市| 黄大仙区| 镇安县| 乌拉特中旗| 龙胜| 隆化县| 武宣县| 虎林市| 晋中市| 阿尔山市| 鄱阳县| 惠安县| 旺苍县| 金溪县| 肇州县| 当雄县| 思南县| 宜兴市| 田东县| 建德市| 永登县| 德钦县| 瑞昌市| 醴陵市| 泸水县| 华蓥市| 贵南县| 南皮县| 大荔县| 拉孜县| 青浦区| 禄丰县| 南投县| 邯郸县| 崇明县| 双辽市| 高邮市| 邮箱| 贵州省|