TWI224432B - A re-configurable Viterbi decoder - Google Patents

A re-configurable Viterbi decoder Download PDF

Info

Publication number
TWI224432B
TWI224432B TW092129969A TW92129969A TWI224432B TW I224432 B TWI224432 B TW I224432B TW 092129969 A TW092129969 A TW 092129969A TW 92129969 A TW92129969 A TW 92129969A TW I224432 B TWI224432 B TW I224432B
Authority
TW
Taiwan
Prior art keywords
unit
memory
viterbi decoder
adjustable
path
Prior art date
Application number
TW092129969A
Other languages
English (en)
Other versions
TW200515713A (en
Inventor
Jia-Cheng Tsai
Hung-Chi Lai
Jian-Hui Shen
Original Assignee
Ind Tech Res Inst
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ind Tech Res Inst filed Critical Ind Tech Res Inst
Priority to TW092129969A priority Critical patent/TWI224432B/zh
Priority to US10/847,911 priority patent/US7278088B2/en
Application granted granted Critical
Publication of TWI224432B publication Critical patent/TWI224432B/zh
Publication of TW200515713A publication Critical patent/TW200515713A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4192Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using combined traceback and register-exchange
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Error Detection And Correction (AREA)

Description

1224432 五、發明說明(1) 【技術領域】 本發明係設計一個可重新調整的維特比解碼器,透過一 些暫存器參數的重新設定便可以改變維特比解碼器的内部架 構,以適應不同通訊系統規格的需求。 【先前技術】 在無線通訊的領域裡,任何資料的傳輸都必須經過通道 (channel) ’通道中的干擾部分是來自自然界的熱雜訊 (thermal noise ),但更多的是來自於訊號在空間中的多 重反射、繞射等自然電磁波傳輸現象,導致於接收端真正接 收到的訊號有SNR的降低。為了克服這種現象,許許多多的 通訊理論以及方法,在幾十年來不斷的被提出以及討論。其 中很重要的一個部分就是正向糾錯(F〇rward Err〇r ^
Correction, FEC ),此正向糾錯係為數位通信中常用的一 種差錯控制碼,發送端發送具有餘位的資料,接收端根據 料的組合特點確定是否出錯,如出錯則自動地糾正傳輸中出 現的差錯。在許多做正向糾錯的方法裡,迴旋碼 C Convolutional Code )是很重要的一個技術。其中本發 所述,、、隹特比廣异法(Viterbi 常被用來當作 此迴旋碼的解碼器。 、無線通訊與寬頻網際網路之結合已是未來電信技術發 5 f勢。針對不同的系統規格,例如無線寬頻區域網路 ,第三代行動通訊系統(3G),依據傳輸通道的 二’ 1有不同的迴旋碼的設計。而習知之維特比解碼器 1 er 1 Decoder)都是針對特定一種迴旋碼來設計,所
1224432 五、發明說明(2) 以在設計之前,該特定之迴旋碼的特徵需包括約束長度 (Constraint Length)、多項式產生器(Generat〇r
Polynomial )等,針對這些已知的參數,設計者得以來設計 維特比解碼器内所需之時脈週期相加—比較—選擇機制 (Add-Compare-Select,ACS)、分支矩陣計算器(Branch Metric Calculator,BMC)、路徑矩陣記憶單元(path
Metric St〇rage Unit,PMS Unit)、路徑‘記憶單元(path Memory )以及路徑回溯邏輯單元(path忖扣丨叫丨叫^ unit )等各種電路。 、-机ΐ ΐ閱第一圖習用技術非位置取代運作解碼器示意圖 稷數筆而要解碼的資料輸入習用解碼器,經一分 =a、n:h:tric calculator) 15將計算出來的分支矩ϊ 不中之第一相加比較選擇器11、第二相加比較 1擇;匕2、弟三相加比較選擇器13與第四相加比較選擇器 出並與分支矩陣作:加支比矩陣從記憶體讀 記恃F位址曰:…㈣把遙擇位兀存入路徑記憶體^中 疋由一位址產生器19配置,•-筆路徑矩陣由多 〇口18再刀配送至該複數個相加比 / ),以使相對應的路徑矩陣與分 ::⑴乂2,13’“ 議16,由i ?兀存入路徑記憶體(path 一 ”7透過溯邏輯單元(Ρ_ —… 還、項以擇位兀完成解碼。此習用技術雖
第9頁 1224432 五、發明說明(3) =解碼目的,卻因使用非位置取代運作 方式而需用較大記憶體,成本較高。 n〇n in-Piace 習知另有使用管線架構(pipeii ,取代運作(ln〜place)而節省記憶體,心^雖是使用位 = reconfigUraMe)的缺點,也就是咬仍有不可調 疋碼,必須做不同的硬體設計,而不 ,針對不同的迴 成不同維特比解螞器的設計。 b,、使用—套硬體來完 本發明可調式維特比解碼哭 2-個可重新調整的維特比;碼:匕習用技術缺點’ =設定便可以改變維特比解碼器的;;;;暫存器參數 同通汛糸統規格的需求。 木構,以適應不 【發明内容】 本發明係設計一個可重新調整 1暫存器參數的重新設定便可 瑪器,透過- 構’以適應不同通訊系統規格的需求、碼器的内部架 ,有:-分支矩陣計算器,係接收:筆^解碼器裝置 1加比較選擇單元,係連結該分支矩陣碼的資料; 較—選擇之運算…路'^車應記的^單悲的路^矩陣作相加-比 3單元’並以位置取代(i 70糸連二該相加比較 凡,係記憶經該相加比較選擇單 車,一路徑記憶單 凡,及-回湖單元,係讀取該 ;^移出的選擇位 回溯解碼。 5己早疋之該選擇位元以
第10頁 1224432 五、發明說明(4) 【實施方式】 本發明係設計一具有可調(r e - c ο n f i g u r a b 1 e )特性的 維特比解碼器(Vi ter bi Decoder )。針對不同的通訊標、 準’本發明必須同時考慮不同的維特比解碼器設計所需v之相 加-比較-選擇機制(add-compare-select, ACS)、分支矩 陣計算器(branch metric calculator, BMC )、路經矩陣 記憶單元(Path Metric Storage Uni t,PMS Uni t )、路# 記憶單元(Path Memory )以及路徑回溯邏輯單元(path 二 tracing logic unit)等各種電路設計的可調性 (Re-Configurability)。在設計中,本發明將少數幾個 加-比較-選擇機制(ACS)單元包成一個運算單元 (processing element,PE),在每次新的路徑矩陣(阳讣 metric)計算中,都是從記憶體(Mem〇ry)中讀取舊的路 ?陣’並輸入同-運算單元以進行相加—比較—選擇機制的運 算,之後再將新的路徑矩陣,以位置取代運作(— ) 的方式存回4 e己t思體。如此一來,利用一個運管單元來斤 維特比解碼器所需之所有相加—比較—選擇機制運算二二理 對於不同的規格就具有可調整性。 叹π ’ 為了讓單一運算單元(single PE )可以順 的相加-比較-選擇機制(ACS)運算,存放路徑矩^ ^有 體内的資料,其讀取、寫入的位址必須經過適合抓、n憶 明提出-個新的路徑矩陣的擺放方式,稱為插::轉資=發 置(Interleave R0tated Data AU〇cati〇n 貝抖 決這個問題。 ’ ΚϋΑ ) ’來角
第11頁 1224432 五、發明說明(5) 另外關於回溯電路單元(Trace Back Unit)的設計, 本發明在運算單元裡也同時做了一個不完全的暫存器交換
Uegister-Exchange)的機制,以便使回溯電路單元可以 使用混合回溯演算法(Hybrid Trace Back Algorithm)進 行解碼的動作。 維特比解碼器一般使用在通訊迴旋碼(convolutional C〇de )解碼_系統中,如第二A圖迴旋編碼器(convolutional 不意圖’每一筆資料輸入圖示之迴旋編碼器200 \ ’會將該輸入的資料與之前存放在暫存器(21,22,23,24, 、μ )内的值做固定形式的互斥或(Exclusive-〇R,X0R) B運,异,而得到兩筆輸出值,如圖示之第一資料A與第二資料 所有暫存器内的值與輸入之資料會決定編碼後的資料輸 曰一本t明將暫存器内的值用狀態(s七a七e )來表示,也就 =j狀悲0 (state 〇)代表這六個暫存器的值,以圖示中左 」右的方向定義為〇〇〇〇〇〇,而狀態1 (state 1 )表示 此=⑽,狀態32 (State 32 )則表示〇〇〇 〇〇1,以此類推。如 ^ :來,本發明可以得到如第二B圖的蝴蝶運算狀態轉換示 J參閱第二B圖蝴蝶運算狀態轉換示意圖, -個蝴蝶圖(butterfly)。圖示中一端為。圖: 資料二Λ表不弟—二A圖所述之狀態,其中實線表示輸入之 的轉ί而的第轉換」transiti〇n),虛線表示輸入資料為1時 二:第一貫線201上的00、第一虛線203上的η、第二 只、1 〇2上的η與第二虛線2〇4上的〇〇則表示輸出之資料,以
第12頁 1224432 五、發明說明(6) 圖示之第一虛線203為例,當為來狀能 回一砗間,®盔鈐Λ 且產生輪出資料『11』。而 门守門口為輸入一個位元資料為1,合. 料被移轉暫存器(shifted «有另一個位兀貝 的位元資料則稱為選擇位元ϋ.)移出,這個被移轉出 (.selection hit"i ιν 筮一忐 線2 03來說,其被移出的選擇位元是〇。如可 业 的蝴蝶圖(butterfly )來描#匕我們T以用許夕 料的巩菘。給说抑* /來描述疋編碼器20〇產生輪出資 科的過私、、扁碼裔在運作時通常是從狀態、 的不斷輸人與輸出,造成連續的狀g轉換^…由於貝枓 transition),這些連續的狀態轉換連接起來就 編碼路徑,而維,比解碼器做解碼的動作其主要觀念便是由、 m i f #來判斷在所有可能的路徑中 所有的輸入資料。 鮮石馬出 第三圖係為維特比解碼器示意圖。通訊中接收 到的信號會先經過一分支矩陣計算器(心抓以metric斤接收
Ca=ulatc^)31進行分支矩陣計算,再送入一解碼器之 比較選擇早兀(ACS ) 32。由觀察一蝴蝶運算得知 兩個狀態經過狀態轉換後會到$新的狀態、,而每一個新來的能 可能來自兩個舊狀態其中之_(如第二B圖所示),复J 的方法就是此相加比較選擇單元32運作方式,將兩個原= 的路徑矩陣(path metric)加上(add)個別的分支矩〜 (branch metric)之後產生新的路徑矩陣’將兩個 徑矩陣相互比較(compare),選擇(select)具有較
1224432 五、發明說明(7) 徑矩陣的那一路徑作為這個時段的狀態轉換,並將這新狀態 的路徑矩陣以位置取代(in-p 1 ace )之方法存入路徑矩陣記 憶單元(path metric memory) 34·同時,將這個轉換而被移 出的選擇位元(selection bit)紀錄在路徑記憶單元33内 以此類推,如果迴旋編碼器2 0 0有複數個(N個)狀態,則在 解碼時,每接收一筆資料便必須做複數(N )次的相&加—比較 -選擇(ACS )運算,以決定每個狀態的選擇位元以及新的= 徑矩陣。最後由一回溯單元(trace back unit)35做回 追蜋至原編碼器之輸入資料以達到解碼之目的。 <开却巴嘗有下列動你•脸 個狀悲原來的路徑矩陣從路徑矩陣記憶單元34 .、 行2組相加-比較-選擇(ACS)運瞀, :出來,而 存回路徑記憶單元34中,同時將:擇位:存::徑矩 單元33中,藉由此本發明解碼器運作==路徑記 (PE)以及其運算的資料,將 j =也^擇運算單 而達到功率消耗的節省。 一半的記憶體存取 以弟四圖所不之蝴蝶_ 換,如圖示之第-狀態轉換圖:f,兩個狀態間的, 選取資料來運算,則在兩個狀j =二狀恶轉,42,藉適當: 存至第三圖所示之路徑矩陣y „ 、間的運异結果將不用1 兩狀態相交之位置,即位= 元(34)而直接於圖示, 作,如此我們有效地減少—=(ln~PlaCe)的方式暫存王 降低功率的消耗。同樣的 /路徑矩陣記憶體存取次數一 輕記憶單元⑼)I寫 ::了樣可以讓第三圖所示之, 數減少一半,甚至經過適當的, 1224432 五、發明說明(8) _ 較;的:η : ’哟單凡(3 5 )是以讀取路徑記憶單元(3 3 )次數 進行。’…溯演算法(hybrid _ ^ ^。他) 弟五A圖係為本發明可★周+ 部份連接示意圖,圖示二V二 單元52的運算完i後:;::蝶運算單元51與第二蝴蝶運算 、,及的運异。如圖之架構可知:水進仃下 運算分別由如第一暫存哭5〇1、广人上异早几執仃-組蝴蝶 503與第四暫存㈣4等複數暫存副2、第三暫存器 53分配輸入複數筆各狀 二;=複f個前多工器 輸入複數筆分支矩陣資料,之;:第=工陣f入端 二級運算單元52中作各狀態 立f ,運开早兀51與第 擇(ACS)運异,即將兩個原狀態的路徑 知^ 別的分支矩陣之後產生新的路徑 (add)個 藉複數個比較器55相互比較(c〇mp丄)將兩選個新的,徑矩陣 具有較小路徑矩陣的那一路徑 :ct ) ^ ^ ^ ^ ϊ ;5:5" 以06、第七暫存器507與第八暫存器5 存 複數個後多U 4輸出至路徑料記料元5 7。個/存= 70 Se ectlori bl t )紀錄在一路徑記憶單元56内。 如第五A圖所示,在包括有第一蝴蝶運 蝴蝶運算單元52的運算單元設計中,我們必須考慮= 第15頁 1224432 五、發明說明(9) ,選,位元(selection bit)儲存以便可以進行回溯解碼 一'運第五B圖所示之路徑記憶單元5 6是我們針對選擇位 $在運算單元(PE)中的儲存單元,當作第一次蝴蝶運算 =的,於該路徑記憶單元56中之切換器(swUch) 563走虛 第二ί ί徑將稷數個選擇位元存人由複數個暫存器組成纪 中。當第五“所述之第一次運算完成回游 _並且=:蝴蝶運算時,切換㈣3切換成走實線的路 ‘存於:弟複數個選擇位元透過多工器564決定原本 之選:第二排暫細^ 一半,且一 a 以路彳二°己丨思單元5 6的讀取次數會省掉 且一乂可以做兩個狀態轉換的回溯動作。 關快逮傅立# M;^而+、D己體存放問題類似,本發明利用有 特性,:ΐΠ二:吏用共享記憶體(share“_ry)的 突資料格式,個狀態的維特比解碼器之記憶體中非衝 達到節省:二°n#Tfu⑴、ng data f_a"*例子η 中顯示以第五Α豆圖所_面積並增加使用效率的目的。第六B s 可以看出,每一\ 的PE_來完成解碼的相關動作.由圖i 矩陣之後會經過:第二路二矩陣記憶體讀出四個狀態的路 之後才以位址取枚二θ纟粗體顯示的四個蝴蝶圖運J 重複同樣的動作16 ·!將3放回路禋矩陣記憶體中,以此㈣ 運算,這樣全部的;:;Kf所有狀態的新的路徑矩陣 place)的特 冉、'、、、及(s tage),由於位置取代( ’母做元一級運算之後,#每-個記憶體位知 1224432 五、發明說明(ίο) 所代表j狀態會改變,然而,經過三級之後,其記憶體所代 表的狀,會循環,如圖所示,原來表示狀態丨的記憶體經過 一級運t之後改為表示狀態4再經一級則為狀態1 6 ·再經一級 又§回復為1,如此不斷循環·因此,如果為了讓ΡΕ可以在每 一級,行以狀態0與狀態32為開始的蝴蝶運算以及以狀態16 與狀態48為開始的蝴蝶運算的話,在第一級中,ΡΕ必須到記 ,,位址〇,1 6,32,48去讀取狀態〇, 1 6,32,48的路徑矩陣,°而 二ί 士、及中,則疋到記憶體位址為0,4,8,1 2的地方讀取,第 ς 則在記憶體位址0,^,3的地方讀取,所以設計上在 衝ίΓΐί”的記憶體讀取必須可以同時進行而不能有 突資料格1 ^圖本發明可調式維特比解碼器之記憶體非衝 突:非衝突資料格式係將各狀態資料沒有衝 在其中第與:圖不為四個)記憶體中。舉例來說明, 括有:;第;=斤連結標示之-個級(咖中,包 16、第三背體Lf01之狀態00、第二記憶體602之狀態 路徑矩陣,這:狀能和第四記憶體604之狀,_的 於第二級實都分別擺在不同的記憶體中,另外 00、第二記憶_之口狀Vt、包第括三有 ;:7;; 憶體中形成—迴旋 ^之,、,非衝突資料於複數個記 (…己憶體的需求轉換成複數個單痒記二一= 第17頁 1224432
ιέ i μ '+* 面積的目的。 精由上迷的非彳替办 達到降低記憶體使用 現一個迴旋對稱的趨=貝料格式,其中每一横排的資料會呈 第三記憶體6 0 3中之肤也就是第二記憶體6 0 2之狀態0 4、 憶體6 0 1之狀態〇 7這—心〇 5、第四記憶體之狀態〇 6與第一記 憶體602之狀態01、#排較第一記憶體601之狀態00、第二記 6 0 4之狀態〇 3往右多^二δ己憶體6 0 3之狀態0 2、與第四記憶體 確地表達各排彼此夕^旋了一個位址。而下述的方程式能正 讲攸此的關係: R = Μ + If Μ _r0 _ 卞 ^ = Lo^r
•(1) 其中方程式(1)中的............................................................ 〇1、狀態02、狀態03疋=憶體的排數,例如狀態00、狀態 記憶體埠(por t ^為第零排,而R為向右旋轉的數目,r為 目。 、數目,N表示狀態的數目,η表示級的數 如上所述,因Α次企丨 要做適當地迴旋調二貝料儲存的位置有迴旋對稱的關係,需 彼此做向左旋轉^ =从故在讀出複數筆(四筆)資料時需將 之初是以向右旋轉的^ i為記憶體中所暫存的資料在寫入 憶體時也需要將資:式擺入。同理,在將運算結果寫入記 請參閱第七b、圖本m旋轉再寫入記憶體中。 圖,圖中所示為一一 2月可,式維特比解碼器架構示意 實施並不以此為限)人=筆路徑矩陣的處理架構(實際 六A圖所示之第一記憶’ _中^數個單埠記憶體包括有如第 " 、弟二記憶體6 0 2、第三記憶體
第18頁 1224432 五、發明說明(12) 60 3與第四記憶體604,更有資料迴旋器(72, 73, 74 ),亦有 顯示四格示意之暫存器( 75, 76 )、多工器77與解多工器 78 ° 該經過位址定位回存之複數筆狀態資料利用第一資料迴 旋器7 3分組,如將該狀態資料作向左旋轉的動作,即將於不 同記憶儲存單元且具有迴旋對稱性質之狀態資料放入第一暫 存即7 5 ’此弟一暫存器7 5為複數個記憶體暫存器所組成,再 =多工器7 7分配於經過硬體折疊之第一蝴蝶運算單元7 〇 1與 第一蝴蝶運算單元702作第一次運算處理,此運算為此維特 比解碼器中將各路徑矩陣資料狀態相加—比較—選擇(MS ^,將結果存入第二暫存器76,繼續由解多工器78分配於回 $路徑如傳入多工器77中,並回存第一蝴蝶運算單元7〇j與 蝴蝶運异單元7 0 2作第二次運算,如此經回饋路禋7 =回存動作,可節省記憶體的額外存取次數,當處理; 以:告一段落’將新的路經矩陣(包含回溯共 ; = 產生新狀態的路徑矩陣),經第二暫存器,、解多 又603 604 )中’此日守需將該狀態資料作向右旋轉的( c ’並繼續下「筆資料之處理,等到該:: 著二;Γ的相關參數的變化.藉二: 功率損耗、減少運算之目的與::解碼…、硬體負擔、低 以上為本發明可調式維特比解碼器實施例之詳細說明,
第19頁 1224432 五、發明說明(13) 藉一低功率損耗、小面積、高效能之可調式維特比解碼器以 適用於第三代行動通訊系統(3 G )與8 0 2 · 11 a、 H i p e r L a η / 2、8 0 2 · 1 6等無線通訊系統。 綜上所述,充份顯示出本發明可調式維特比解碼器在目 的及功效上均深富實施之進步性,極具產業之利用價值,且 為目前市面上前所未見之新發明,完全符合發明專利之系 統,爰依法提出申請。
唯以上所述者,僅為本發明之較佳實施例而已,當不能 以之限定本發明所實施之範圍。即大凡依本發明申請專利範 圍所作之均等變化與修飾,皆應仍屬於本發明專利涵蓋之範 圍内,謹請 貴審查委員明鑑,並祈惠准,是所至禱。
第20頁 1224432 圖式簡單說明 【圖示簡單說明】 第一圖係為習用技術非位置取代運作解碼器示意圖; 第二A圖係為迴旋編碼器示意圖; 第二B圖係為蝴蝶運算狀態轉換示意圖; 第三圖係為維特比解碼器示意圖; 第四圖係為蝴蝶運算示意圖; 第五A圖係為本發明可調式維特比解碼器之運算單元各部 份連接示意圖;
第五B圖係為本發明可調式維特比解碼器之路徑記憶單元 不意圖, 第六A圖係為本發明可調式維特比解碼器之記憶體非衝突 貧料格式, 第六B圖係為本發明可調式維特比解碼器之應用於64狀態 之迴旋碼解碼時的狀況示意圖; 第七A圖係為本發明可調式維特比解碼器之應用於64狀態 之迴旋碼解碼時的相關參數表; 第七B圖係為本發明可調式維特比解碼器架構示意圖。 【符號說明】
1 1第一相加比較選擇器; 1 2第二相加比較選擇器; 1 3第三相加比較選擇器; 1 4第四相加比較選擇器; 1 5分支矩陣計算器; 1 6路徑記憶體;
第21頁 1224432 圖式簡單說明 1 7路徑回溯邏輯單元; 1 8多工器; 1 9位址產生器; 1 0 1第一記憶體; 1 0 2第二記憶體; 2 0 0迴旋編碼器; 21,22,23,24,25, 26 暫存器; A第一資料; B第二資料; 2 0 1第一實線; 2 0 2第二實線; 2 0 3第一虛線; 2 0 4第二虛線; 3 1分支矩陣計算器; 3 2相加比較選擇單元; 3 3路徑記憶單元; 3 4路徑矩陣記憶單元; 35回溯單元; 4 1第一狀態轉換; 42第二狀態轉換; 5 1第一蝴蝶運算單元; 5 2第二蝴蝶運算單元; 5 3前多工器; 54後多工器;
第22頁 1224432 圖式簡單說明 5 5比較器; 5 6路徑記憶單元; 5 7路徑矩陣記憶單元; 58運算單元内多工器; 5 0 1第一暫存器; 5 0 2第二暫存器; 5 〇 3第三暫存器; 5 〇 4第四暫存器; 5 0 5第五暫存器; 5 0 6第六暫存器; 5 0 7第七暫存器; 5 0 8第八暫存器; 5 6 1第一排暫存器; 5 6 2第二排暫存器; 5 6 3切換器; 5 64多工器; 6 1第一級實線; 6 2第二級實線; 6 3第三級實線; 6 0 1第一記憶體; 6 0 2第二記憶體; 6 0 3第三記憶體; 6 0 4第四記憶體; 7 0 1第一蝴蝶運算單元;
第23頁 1224432 圖式簡單說明 7 0 2第二蝴蝶運算單元; 7 0 3回饋路徑; 7 1位址產生器; 72資料迴旋器; 7 3第一資料迴旋器; 74第二資料迴旋器; 75第一暫存器; 76第二暫存器; 77多工器; 7 8解多工器。
第24頁

Claims (1)

1224432 六 申%專利範圍 該維特比解碼器裝置包括 L •一種可調式維特比解碼器 有: —分支矩陣計算器,係接收複數筆狀態資料. 一相加比較選擇單元,係連結該分支矩陣算 該複數筆狀態資料作相加-比較—選擇之運ς’亚將 —路徑矩陣記憶單元,係連結該加乘比較選^單_ 以位置取代(in-place )之方法暫在― 兀,並 料; 万/去暫存该複數筆狀態資 一路徑記憶單元,係記憶經該加乘比較選擇 位移出的選擇位元;及 運异後 —:溯單元’係讀取該記憶單元之該選擇位元以回溯解 2.匕申請專利範圍第i項所述之可調式維特比解碼哭,i 單元。 、柿仔於邊路杈矩陣記憶 3· $申請專利範圍第丨項所述之可調式維特比解 中該相加比較選擇單元係將該複數筆狀態料,、、/,其 陣與路徑矩陣做相加-比較—選擇之運算。、’、' 刀支矩 4.:申請專利範圍第1項所述之可調式維特比解碼哭甘 中該路徑矩陣記憶單元係為複數個單 ”、、时,^、 ;口 =專,範圍第"所述之可調式維特二體碼器,直 中δ亥相加比較選擇單元更包括有複數個蝴蝶 種可調式維特比解碼器’該維特比解碼器裝;::。
第25頁 1224432 六、申請專利範圍 運异單元’係為經過硬體折聂 元; &之複數個蝴蝶運算單 複= = 係為儲存該可調式維特比解碼器之 複= 器’係將該複數筆狀態資料作位移回存 ϋ;:Π,係接受該狀態資料暫存之記憶體; 复1個夕工為,係將該狀態資料分配輸入該運算單元; 並將 ,其 埠記 複數個解多工器 在拔价今運曾 ^ 係接收$連异早元運算之結果, 7· 該結果分配輸出至複數調回溯路徑。 如申明專利範圍第6項所述之可調式維特比解碼器 中該狀態資料係以迴旋對稱方式儲存於該複數個 憶體。 8 ·如申請專利範圍第6項所述之可調式維特比解碼器,其 中該複數個單埠記憶體内之狀態資料係藉一位址產生器 定址儲存。 w 9.如申明專利範圍弟6項所述之可調式維特比解碼器,其 中該複數個資料迴旋器更包括有向左旋轉與向右旋轉的 一第一資料迴旋器與一第二資料迴旋器。 1 0 ·如申請專利範圍第6項所述之可調式維特比解碼器,盆 中該複數個解多工器藉複數條回饋路徑連接該複數個 多工器。
TW092129969A 2003-10-28 2003-10-28 A re-configurable Viterbi decoder TWI224432B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW092129969A TWI224432B (en) 2003-10-28 2003-10-28 A re-configurable Viterbi decoder
US10/847,911 US7278088B2 (en) 2003-10-28 2004-05-19 Configurable architecture and its implementation of viterbi decorder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW092129969A TWI224432B (en) 2003-10-28 2003-10-28 A re-configurable Viterbi decoder

Publications (2)

Publication Number Publication Date
TWI224432B true TWI224432B (en) 2004-11-21
TW200515713A TW200515713A (en) 2005-05-01

Family

ID=34511771

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092129969A TWI224432B (en) 2003-10-28 2003-10-28 A re-configurable Viterbi decoder

Country Status (2)

Country Link
US (1) US7278088B2 (zh)
TW (1) TWI224432B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818654B2 (en) * 2004-06-23 2010-10-19 St-Ericsson Sa Addressing strategy for Viterbi metric computation
US7733972B2 (en) * 2004-10-26 2010-06-08 Broadcom Corporation Trellis decoder for decoding data stream including symbols coded with multiple convolutional codes
US7430084B2 (en) * 2004-12-03 2008-09-30 International Business Machines Corporation Magnetic tape read channel signal values developed employing intermediate bits of the path memory of a PRML viterbi detector
CN100429870C (zh) * 2005-08-08 2008-10-29 北京大学深圳研究生院 一种维特比译码器以及决定其中加比选单元数据位宽的方法
CN101390293B (zh) * 2005-12-22 2011-06-08 创达特(苏州)科技有限责任公司 基于四阶段并行处理的vdsl2维特比代码解码器
JP2008112543A (ja) * 2006-10-31 2008-05-15 Toshiba Corp デジタルデータ復号装置およびデジタルデータ復号方法
KR20090083110A (ko) * 2008-01-29 2009-08-03 삼성전자주식회사 비터비 디코더 및 비터비 디코딩 방법
US8365053B2 (en) * 2009-05-27 2013-01-29 International Business Machines Corporation Encoding and decoding data using store and exclusive or operations
US20110090773A1 (en) * 2009-10-16 2011-04-21 Chih-Ching Yu Apparatus for generating viterbi-processed data using an input signal obtained from reading an optical disc
TWI394378B (zh) * 2010-05-17 2013-04-21 Novatek Microelectronics Corp 維特比解碼器及寫入與讀取方法
US8432780B1 (en) * 2012-05-10 2013-04-30 Mediatek Inc. Viterbi decoding apparatus using level information generator supporting different hardware configurations to generate level information to Viterbi decoder and related method thereof
KR102067611B1 (ko) * 2013-03-15 2020-01-20 삼성전자주식회사 메모리 컨트롤러의 동작 방법과 상기 메모리 컨트롤러를 포함하는 장치들
US9991990B1 (en) * 2017-06-08 2018-06-05 International Business Machines Corporation Sequence detection

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5502735A (en) * 1991-07-16 1996-03-26 Nokia Mobile Phones (U.K.) Limited Maximum likelihood sequence detector
US6690750B1 (en) * 1999-12-23 2004-02-10 Texas Instruments Incorporated Flexible Viterbi decoder for wireless applications
TW569549B (en) * 2002-10-25 2004-01-01 Benq Corp Branch metric generator for Viterbi decoder

Also Published As

Publication number Publication date
TW200515713A (en) 2005-05-01
US7278088B2 (en) 2007-10-02
US20050089121A1 (en) 2005-04-28

Similar Documents

Publication Publication Date Title
TWI224432B (en) A re-configurable Viterbi decoder
Mansour et al. High-throughput LDPC decoders
TW543303B (en) Buffer architecture for a turbo decoder
Zhang et al. Reduced-latency SC polar decoder architectures
JP5635668B2 (ja) トレリスベースの方法およびそのシステム
JP2003534680A (ja) 強化型ターボプロダクト符号復号器システム
TWI344651B (en) Semiconductor memory device and redundancy method of the same
Kim et al. A unified parallel radix-4 turbo decoder for mobile WiMAX and 3GPP-LTE
JP4907802B2 (ja) 通信の復号化の際に用いられるバタフライプロセッサ装置
Wang et al. Parallel interleaver design for a high throughput HSPA+/LTE multi-standard turbo decoder
JP2002171173A (ja) 複数の復号化スキームのうちの1つに従って送信されたデータ通信信号を復号化する再構成可能なアーキテクチャと、畳み込み符号とターボ符号の一方を復号化する通信復号化デバイスのパスメトリックを取り扱う方法。
TW201019342A (en) Data path for multi-level cell memory, methods for storing and methods for utilizing a memory array
JP5490320B2 (ja) Turbo符号並行インターリーバ及びその並行インターリーブ方法
WO2011082509A1 (zh) 一种turbo码译码方法和装置
TW200845594A (en) Formulaic flexible collision-free memory accessing for parallel turbo decoding with quadratic polynomial permutation(QPP) interleave
TWI381653B (zh) 二階重排多項式交織器位址產生裝置與方法
US7584389B2 (en) Turbo decoding apparatus and method
Peng et al. A Gb/s parallel block-based Viterbi decoder for convolutional codes on GPU
Pandita et al. Design and implementation of a Viterbi decoder using FPGAs
JP2002152057A (ja) トレリス処理装置の適切なパスメトリックアドレスを計算する装置と方法。
WO2012034398A1 (zh) 维特比解码实现方法及装置
TW200906073A (en) Calculation method applied to Low Density Parity check Code (LDPC) decoder and circuit thereof
Mousavi et al. Efficient partial-sum network architectures for list successive-cancellation decoding of polar codes
TWI239728B (en) Third generation FDD modem interleaver and the method thereof
US7756224B2 (en) Viterbi decoding circuit and wireless device

Legal Events

Date Code Title Description
MK4A Expiration of patent term of an invention patent