亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種維特比譯碼裝置及方法

文檔序號:7510485閱讀:200來源:國知局
專利名稱:一種維特比譯碼裝置及方法
技術領域
本發(fā)明涉及數(shù)字通信系統(tǒng),具體地說涉及一種維特比(Viterbi)譯碼 裝置及方法。
背景技術
目前,維特比譯碼算法已被廣泛應用在數(shù)字通信系統(tǒng)中,其具有強大 的糾錯能力,對改善通信質(zhì)量有很好的作用。維特比譯碼算法是一種最大 似然譯碼算法,它根據(jù)接收序列,按照最大似然法則,分段地在網(wǎng)格圖上 計算尋找有最大度量的路徑,其實現(xiàn)的結構框圖如圖l所示,接收序列先 通過支路路徑度量計算單元計算出各譯碼狀態(tài)所有分支的支路路徑度量, 然后在ACS (加比選)計算單元,對每一譯碼狀態(tài),把進入該譯碼狀態(tài)的 所有分支的支路路徑度量,和存儲在路徑度量存儲單元中的同這些分支相 連的前一時刻的路徑度量相加,比較并選擇最大度量值及該度量值對應的 幸存路徑,并分別存入路徑度量存儲單元和幸存路徑存儲單元,當譯碼到 譯碼深度后,判決輸出單元輸出譯碼序列。
傳統(tǒng)的對路徑度量(PM)值的存儲采用乒乓操作的方式,圖2是該 方式的示意圖,該圖可廣泛見于學術論文中,例如陳源,江修富發(fā)表于《裝 備指揮學院學報》2005年10月,第16巻第5期77-81頁的《維特比算法 的關鍵問題研究及DSP實現(xiàn)》及鐘文楓,鄭建宏發(fā)表于《西安郵電學院學 報》2005年7月,第10巻第3期27-30頁的《W-CDMA系統(tǒng)中維特比譯 碼的FPGA實現(xiàn)》、張治元發(fā)表于《微計算機信息》2005年第21巻第11-3 期177-178頁的《第三代移動通信中巻積碼譯碼方法研究及應用》等等論 文。
可以看到,現(xiàn)有技術中在存取各級的PM值時是采用了 A、 B兩個存儲 空間交替使用的方式,這是因為傳統(tǒng)的維特比譯碼算法在ACS計算中,譯 碼狀態(tài)的轉移會導致度量的讀出和寫入地址不同,下面從原理上對該點作 一一說明。
假定巻積碼的約束長度=4,碼率二1/2。巻積編碼器如圖3所示,圖中
編碼器的狀態(tài)為A1A2A3,總狀態(tài)數(shù)為2", A0為待編碼數(shù)據(jù)位,a和b (n=0,…,3)為巻積碼的生成系數(shù),均取值0或1。編碼規(guī)則為
c0 =十"乂 c;=十M" G)
隨著待編碼數(shù)據(jù)位的輸入,編碼器的狀態(tài)也隨之變化,其中的一步轉移過
程如圖4所示,由圖可以看出,相鄰的偶奇兩個老狀態(tài)將轉移到兩個新狀 態(tài)。
設狀態(tài)圖中的新狀態(tài)對應的二進制值為^,老狀態(tài)對應的二進制值為 K,則
^7=^+『6*2] (當Vb乘以2時,最高位移出) (2) 在老狀態(tài)中,偶奇相鄰兩狀態(tài)對應的二進制值表示為
= 0」i "3々—2
K,L4,…d C3)
由他們轉移得到的兩個新狀態(tài)的二進制值表示為
由圖4可以看出,新狀態(tài)的度量是由能夠轉移到達的兩個相鄰老狀態(tài) 的度量經(jīng)過"加_比-選"運算獲得的。由于轉移前后的狀態(tài)(地址)不同, 度量的讀出與寫入不能在同一地址進行,也不能在同一片存儲器內(nèi)進行(會 破壞其它狀態(tài)的度量),必需配置相同的讀和寫空間(各2^個字單元), 并在每產(chǎn)生一位譯碼輸出后交換讀寫空間,達到更新度量的目的。
這樣的方式,由于ACS計算中譯碼狀態(tài)的轉移導致度量的讀出和寫 入地址不同,在路徑度量(PM)值的存儲時,需要兩個分別等于狀態(tài)數(shù)目 的向量空間來完成更新操作。在利用FPGA或DSP等硬件實現(xiàn)維特比譯碼 器時,所消耗的硬件資源較多,尤其是在約束長度較大時,其消耗更是不 容小視。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術問題是提供一種維特比譯碼裝置及方法,可以 降低譯碼時所消耗的硬件資源。
為了解決上述技術問題,本發(fā)明的維特比譯碼裝置,包括路徑度量存
儲單元和加比選計算單元,所述路徑度量存儲單元用于存儲譯碼狀態(tài)的路 徑度量,還包括地址狀態(tài)映射器,所述地址狀態(tài)映射器用于構建譯碼狀態(tài) 的路徑度量和其在所述路徑度量存儲單元的存儲地址的映射關系,所述加 比選計算單元根據(jù)該映射關系從所述路徑度量存儲單元的存儲地址中獲取 譯碼狀態(tài)的路徑度量進行計算更新,并將更新后的路徑度量值存回取值的 原存儲地址。
所述映射關系滿足如下關系譯碼狀態(tài)的路徑度量在所述路徑度量存 儲單元中的存儲地址為譯碼狀態(tài)值循環(huán)右移i位所得的值,其中,i為各狀 態(tài)的狀態(tài)級。
本發(fā)明還公開了一種維特比譯碼方法,包含如下步驟
A、 構建譯碼狀態(tài)的路徑度量和其存儲地址的映射關系;
B、 根據(jù)地址狀態(tài)映射關系從存儲地址中讀取譯碼狀態(tài)的路徑度量進 行加比選計算以更新譯碼狀態(tài)的路徑度量;將更新后的路徑度量存回取值 的原存儲地址。
所述步驟B中的地址狀態(tài)映射關系通過如下原則構建譯碼狀態(tài)的路 徑度量的存儲地址是通過譯碼狀態(tài)值循環(huán)右移i位獲得,其中,i為各狀態(tài) 的狀態(tài)級。
所述步驟B具體通過如下步驟實現(xiàn)
Bl、令i等于當前狀態(tài)級,將譯碼狀態(tài)循環(huán)右移i位獲得其路徑度量 的存儲地址;
B2、從所述存儲地址讀取路徑度量進行加比選計算,更新所述路徑度
B3、將更新后的路徑度量存回取值的原存儲地址; B4、 i遞增1,重復上述步驟。
由于采用地址狀態(tài)映射器構建譯碼狀態(tài)的路徑度量和其在所述路徑 度量存儲單元的存儲地址的映射關系,使得更新后的路徑度量可以存回到 取出路徑度量的原存儲地址,從而可以節(jié)省存儲空間,較之現(xiàn)有技術,本 方案至少可節(jié)省一片存儲器,因而有效的減少了硬件資源的消耗。


圖1是現(xiàn)有技術中的維特比譯碼裝置的結構框圖2是傳統(tǒng)的乒乓操作的原理圖3是約束長度為4的巻積碼編碼器示意圖4是約束長度為4的維特比譯碼器其中一步的轉移過程圖5是本發(fā)明的地址映射流程圖6是本發(fā)明的地址狀態(tài)映射器的結構圖7是本發(fā)明實施例一中旋轉值為0時相鄰兩個stage之間的網(wǎng)格圖; 圖8是本發(fā)明實施例一從圖7中取出的一個ACS計算過程; 圖9是本發(fā)明實施例一中旋轉值為l時相鄰兩個stage之間的網(wǎng)格圖; 圖10是本發(fā)明實施例一中旋轉值為2時相鄰兩個stage之間的網(wǎng)格
圖11是本發(fā)明實施例一連續(xù)起來操作時的過程圖; 圖12是本發(fā)明實施例二中第一個stage時的狀態(tài)與相應的地址; 圖13是本發(fā)明實施例二中第二個stage時的狀態(tài)與相應的地址; 圖14是本發(fā)明實施例二中第三個stage時的狀態(tài)與相應的地址; 圖15是本發(fā)明實施例二中第四個stage時的狀態(tài)與相應的地址; 圖16是本發(fā)明實施例二中第五個stage時的狀態(tài)與相應的地址; 圖17是本發(fā)明實施例二中第六個stage時的狀態(tài)與相應的地址; 圖18是本發(fā)明實施例二中第七個stage時的狀態(tài)與相應的地址; 圖19是本發(fā)明實施例二中第八個stage時的狀態(tài)與相應的地址; 圖20是本發(fā)明實施例二中第九個stage時的狀態(tài)與相應的地址;
具體實施例方式
下面對照附圖結合具體實施方式
對本發(fā)明作進一步說明。 從原理上說,如果能夠使度量的讀出與寫入地址相同,就可使存儲空 間減小一半。經(jīng)研究發(fā)現(xiàn),譯碼過程中的狀態(tài)轉移具有很強的規(guī)律性,如 果建立了轉移后的新狀態(tài)與轉移前的老狀態(tài)的地址的關系,就可使度量值 的讀出和寫入在原存儲單元進行。本發(fā)明的維特比譯碼裝置及方法采用的 地址讀寫方式被稱為旋轉地址原位運算方式。
從實際設計的角度來說,旋轉地址原位運算方式的出發(fā)點,是在一次ACS運算過程中,當前狀態(tài)級(stage)的兩個參與運算的狀態(tài)的所對應的 PM值存儲空間的數(shù)據(jù)已經(jīng)被取出使用了,因此,其存儲空間的值對當前 stage而言,就失去了意義,于是,可以用該存儲空間來存儲計算出的下 一個stage的兩個狀態(tài)的PM值。如果將新狀態(tài)的度量放回老狀態(tài)地址中, 至少不會破壞其它狀態(tài)的度量。將新狀態(tài)^。的內(nèi)容放回老狀態(tài)的K。單元 中,新狀態(tài)^的內(nèi)容放回老狀態(tài)的^單元中,構成原位運算,根據(jù)前面的
論述,新老狀態(tài)的度量更新地址映射關系(一步轉移)為
<formula>formula see original document page 7</formula>同理,可以推得下一步轉移關系為
<formula>formula see original document page 7</formula>可見轉移關系在K-l步后將重復并以周期K-l循環(huán)。這樣,在某時刻讀取 每一狀態(tài)度量時,只要按照狀態(tài)地址映射關系去尋址,就能找到存放度量 的正確位置,并將更新了的度量放回該位置。用于旋轉地址原位運算的地 址狀態(tài)映射器的映射流程如圖5所示,其結構如圖6所示。
本發(fā)明的維特比譯碼裝置,其他部分與現(xiàn)有技術的譯碼裝置相同,主 要的區(qū)別在于增加地址狀態(tài)映射器,用于構建譯碼狀態(tài)的路徑度量和其在 所述路徑度量存儲單元的存儲地址的映射關系,映射關系滿足如下關系 譯碼狀態(tài)的路徑度量在所述路徑度量存儲單元中的存儲地址為譯碼狀態(tài)值 循環(huán)右移i位所得的值,其中,i為各狀態(tài)的狀態(tài)級。由此,保證了路徑度 量的取出和存回可以在同一存儲地址進行,同時,也不會使得存儲路徑度 量的地址產(chǎn)生沖突,破壞整個操作。這樣,加比選計算單先根據(jù)該映射關 系從路徑度量存儲單元的存儲地址中獲取譯碼狀態(tài)的路徑度量進行計算更 新后,就可以根據(jù)映射關系將更新后的路徑度量值存回到取值的原存儲地 址。
本發(fā)明的維特比譯碼方法,包含如下步驟:
1、構建譯碼狀態(tài)的路徑度量和其存儲地址的映射關系;地址狀態(tài)映射 關系通過如下原則構建譯碼狀態(tài)的路徑度量的存儲地址是通過譯碼狀態(tài) 值循環(huán)右移i位獲得,其中,i為各狀態(tài)的狀態(tài)級。
2、令i等于當前狀態(tài)級,將譯碼狀態(tài)循環(huán)右移i位獲得其路徑度量的 存儲地址;
3 、從所述存儲地址讀取路徑度量進行加比選計算,更新所述路徑度量;
4、 將更新后的路徑度量存回取值的原存儲地址;
5、 i遞增1,重復上述步驟2-4。
實施例一本例中,取&4, K代表接收序列的信息位,則譯碼狀態(tài) 為2"=8,此時旋轉的范圍為0 K-2,即0 2,假設當前的狀態(tài)級在stage
(n)時,旋轉值剛好為O,此時,狀態(tài)級stage (n)中的所有狀態(tài)取PM 值的地址由狀態(tài)值循環(huán)右移旋轉值所對應的值得到,其他狀態(tài)級下的取值 地址也類似產(chǎn)生,參見圖7至圖11。
圖7中有四個圖8所示的ACS計算過程,分別是當前狀態(tài)級stage (n) 中的狀態(tài)OOO、 100與下一狀態(tài)級stage (n+l)中的狀態(tài)OOO、 001,當前 狀態(tài)級stage (n)中的狀態(tài)OOl、 101與下一狀態(tài)級stage (n+1)中的狀態(tài) 010、 011,當前狀態(tài)級stage (n)中的狀態(tài)OlO、 110與下一狀態(tài)級stage
(n+1)中的狀態(tài)IOO、 101,當前狀態(tài)級stage (n)中的狀態(tài)Oll、 111與 下一狀態(tài)級stage (n+1)中的狀態(tài)IIO、 111。圖中虛線表示bmO,實線表 示bml。如圖8所示,由于狀態(tài)級stage (n+1)中狀態(tài)000與狀態(tài)級stage
(n)中的狀態(tài)OOO相對,因此,新計算出的PM值,存儲地址即為狀態(tài)級 stage (n)中狀態(tài)000的PM值的取出地址000;狀態(tài)級stage (n+1)中狀 態(tài)001的新PM值的存儲地址即為在ACS單元中左側與其相對的stage (n) 中狀態(tài)100的PM值的取出地址。對于圖8沒有示出的圖7中的其余6個狀 態(tài)的取出和存入的地址,與圖8類似,由此,完成了一次狀態(tài)轉移過程。
旋轉值為1和旋轉值為2的狀態(tài)轉移過程的PM的讀出和存入的地址與 狀態(tài)關系分別在圖9和圖10中示出,圖11中示出了整個過程連續(xù)起來操 作時的過程,其中,旋轉值以i表示,i采取模3 (即K-1)加法運算。
當前狀態(tài)級Stage (n)中各狀態(tài)旋轉i位產(chǎn)生下一狀態(tài)級stage (n)中各 狀態(tài)的PM值在RAM中的地址,取出相應值,參加ACS運算,將得到的狀態(tài) 級Stage (n+l)中各狀態(tài)的PM值存儲到ACS單元中左側的狀態(tài)級Stage (n) 中的狀態(tài)取PM值的地址中。 一次狀態(tài)轉移的操作結束之后,i加l。然后 依此過程, 一直進行同樣的操作。
由圖中完成的一次旋轉值由0到2的遞增(2之后的值又恢復為0)可 以看出,存儲PM值的地址沒有產(chǎn)生沖突。
實施例二本例中,取&9,旋轉范圍為0 K-2,即0 7,其中的一 次地址循環(huán)過程如圖12至圖20所示。
由此例可以看出,256個狀態(tài)的二進制數(shù)不會重復,經(jīng)過循環(huán)移位后 仍然不會重復,因此,能夠保證操作不出錯。
由于采用了旋轉地址原位運算方式,在地址映射器的作用下,可以摒 棄乒乓操作,使路徑度量的存儲空間減小一半,有效的減少了硬件資源的 消耗。
以上內(nèi)容是結合具體的優(yōu)選實施方式對本發(fā)明所作的進一步詳細說 明,不能認定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬技術 領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若 干簡單推演或替換,都應當視為屬于本發(fā)明的保護范圍。
權利要求
1、一種維特比譯碼裝置,包括路徑度量存儲單元和加比選計算單元,所述路徑度量存儲單元用于存儲譯碼狀態(tài)的路徑度量,其特征在于,還包括地址狀態(tài)映射器,所述地址狀態(tài)映射器用于構建譯碼狀態(tài)的路徑度量和其在所述路徑度量存儲單元的存儲地址的映射關系,所述加比選計算單元根據(jù)該映射關系從所述路徑度量存儲單元的存儲地址中獲取譯碼狀態(tài)的路徑度量進行計算更新,并將更新后的路徑度量值存回取值的原存儲地址。
2、 如權利要求l所述的維特比譯碼裝置,其特征在于,所述映射關系滿足如下關系譯碼狀態(tài)的路徑度量在所述路徑度量存儲單元中的存儲地 址為譯碼狀態(tài)值循環(huán)右移i位所得的值,其中,i為各狀態(tài)的狀態(tài)級。
3、 一種維特比譯碼方法,其特征在于,包含如下步驟A、 構建譯碼狀態(tài)的路徑度量和其存儲地址的映射關系;B、 根據(jù)地址狀態(tài)映射關系從存儲地址中讀取譯碼狀態(tài)的路徑度量進 行加比選計算以更新譯碼狀態(tài)的路徑度量;將更新后的路徑度量存回取值 的原存儲地址。
4、 如權利要求3所述的維特比譯碼方法,其特征在于,所述步驟B 中的地址狀態(tài)映射關系通過如下原則構建譯碼狀態(tài)的路徑度量的存儲地址是通過譯碼狀態(tài)值循環(huán)右移i位獲得,其中,i為各狀態(tài)的狀態(tài)級。
5、 如權利要求4所述的維特比譯碼方法,其特征在于,所述步驟B具體通過如下步驟實現(xiàn)Bl、令i等于當前狀態(tài)級,將譯碼狀態(tài)循環(huán)右移i位獲得其路徑度量 的存儲地址;B2、從所述存儲地址讀取路徑度量進行加比選計算,更新所述路徑度B3、將更新后的路徑度量存回取值的原存儲地址; B4、 i遞增1,重復上述步驟。
全文摘要
本發(fā)明公開了一種維特比譯碼裝置及方法,所述裝置包括路徑度量存儲單元和加比選計算單元,所述路徑度量存儲單元用于存儲譯碼狀態(tài)的路徑度量,還包括地址狀態(tài)映射器,所述地址狀態(tài)映射器用于構建譯碼狀態(tài)的路徑度量和其在所述路徑度量存儲單元的存儲地址的映射關系,所述加比選計算單元用于根據(jù)該映射關系從所述路徑度量存儲單元的存儲地址中獲取譯碼狀態(tài)的路徑度量進行計算更新,并將更新后的路徑度量值存回取值的原存儲地址。所述方法根據(jù)地址狀態(tài)映射關系進行路徑度量的讀出和寫入。本發(fā)明可以節(jié)省存儲空間,因而有效的減少了硬件資源的消耗。
文檔編號H03M13/41GK101106385SQ200710075380
公開日2008年1月16日 申請日期2007年8月1日 優(yōu)先權日2007年8月1日
發(fā)明者勇 趙, 郭正偉 申請人:北京大學深圳研究生院
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1