第四章 軟式決策維特比解碼器之實現與驗證
4.1 維特比解碼器之硬體電路架構
4.1.3 SMU
在實現 Trace-Back 電路架構時,我們採用 3-pointer even algorithm 架構,主要優點是讀取跟寫入資料只需要一個相同的時脈信號,且控 制 電 路 較 其 他 架 構 簡 單 , 但 是 缺 點 是 我 們 需 要 較 多 的 單 元 電 路 [16-19]。單元電路可分成記憶體部分和邏輯部分,由寬度 64,長度 18 的記憶體方塊和邏輯閘所組成,如圖 4.11 所示。記憶體部分主要是儲 存從 ACSU 方塊傳遞過來的決策位元值。而邏輯部分主要是運算追溯 (trace-back)的電路,是由暫存器和多工器之所組成。多工器的輸出是 由暫存器內容值控制,而暫存器和多工器輸出構成新的暫存器之內容 值,控制下一個時間點的多工器輸出。在 3-pointer even algorithm 架構 中我們需要 6 個單元電路,每個單元電路在時間區段不同所擔任的角 色也不同,如圖 4.12 中分別有 4 種狀態,如同我們第二章所提過的寫 入(write)、追溯(trace-back)和解碼(decode),還有等待(ideal)。單元電路 在等待狀態時,不做任何資料的改變。在寫入狀態時,記憶體部分儲 存從 ACSU 運算完的結果。在追溯狀態,則利用邏輯部分不斷地做追 溯動作更新暫存器內容值,並在特定時間點輸出追溯結果給別的單元 電路。在解碼狀態時除了不斷地追溯外,邏輯部分的多工器將同時輸 出解碼位元。經過 108 個時脈週期時,由第一個單元電路開始輸出第 一筆解碼資料,經過 18 個時脈週期後,第一個單元電路完成輸出 18 筆解碼位元,由第二個單元電路輸出解碼位元,如此依序,以 18 × 6 =
108,以 108 個時脈週期為一個週期。
圖 4.13 所示為實現 3-pointer even algorithm 的電路架構圖,因為以 3-pointer even algorithm 為架構之 Trace-Back 電路,解碼順序是先由單 元電路之後往前輸出解碼位元,跟編碼器輸入的資料順序不同,因此 我們需要一個先進後出電路(First In Last Out,FILO),改變解碼位元輸 出順序,如此 6 個單元電路,控制電路,輸出多工器,和先進後出暫 存器構成以 3-pointer even algorithm 架構的 Trace-Back 方塊電路。
圖 4.11 單元電路內的記憶和邏輯架構圖
圖 4.12 Trace-Back 3-pointer even 架構下各方塊狀態與時間關係
圖 4.13 3-pointer even 架構的元件和電路方塊連接圖
4.2 軟式決策維特比解碼器硬體實現驗證
完成維特比解碼器架構後,我們建立如圖 4.14 之測試環境對軟式 決策之維特比解碼器進行測試與驗證。維特比解碼器之測試環境,包 含了鎖相迴路、隨機數列產生器、編碼器、軟式位元轉換、訊號延遲、
訊號比較和錯誤計數器等電路。鎖相迴路(PLL)由 Altera 公司的 Quaturs
Ⅱ軟體之 Mega Function 產生,提供整個測試環境和維特比解碼器所需 的時脈。隨機數列產生器(random sequence generator),是利用 8 階 8 進位表示法為[435], [551], [747], [453], [545], [537], [703], [543]之 m 數 列產生多項式,產生隨機數列給編碼器。編碼器為第二章所介紹過符 合 IEEE 802.11a 規範的間空迴旋碼編碼器。編碼完的數列經過位元轉 換,以三位元量化軟式解碼為例,當輸入位元為 1 時,軟式位元轉換 電路(soft bit conversion)將位元轉換成”111”三個位元。當輸入位元為 0 時,則轉換成”000”,轉換後的位元成為軟式解碼維特比解碼器的輸 入。訊號比較是使用一個互斥及閘,比較延遲後的編碼器輸入與維特 比解碼器輸出訊號的差異,當有訊號相異時,錯誤位元計數器加 1,
所以由累加的錯誤位元計數器便可知位元錯誤的個數。
圖 4.14 軟式解碼維特比解碼器測試環境圖
圖 4.15 軟式解碼維特比解碼器測試環境之時序圖
測試環境完成後,利用 QuartusⅡ軟體模擬軟式解碼維特比解碼器 測試環境,在 Altera 公司 APEX 系列 EP20K1500EBC652-1X 可程式化 邏輯陣列(FPGA)晶片之時序與訊號結果,圖 4.15 為測試環境之時序 圖。
測試環境模擬完成後,下載到使用 EP20K1500EBC652-1X 晶片之 發展板,驗證軟式解碼維特比解碼器的功能。利用 Altera APEX 系列 所提供的 SignalTap 功能,以即時(real time)方式直接將 IC 內部或 IC 接腳值直接經由 MasterBlaster Communication Cable 或 ByteBlasterMV Download Cable 讀取到電腦的 QuartusⅡ軟體中,如圖 4.16 所示。優點 是不需要設計 IC 週邊電路與使用其他儀器來做驗證,即可立即驗證 IC 功能,缺點是在 FPGA 中需要一塊 ELA(Embedded Logic Analyzer)電 路,暫時存放想要觀察點的資料,也就是說使用 SignalTap 功能會佔用 Altera 一些 LE 與 ESB 資源。當所要觀察的 Channel(想要觀察的接腳 或內部節點)越多其所使用的 LE 越多。表 4.3 為不同量化位元數與不 同 SMU 架構對軟式解碼維特比解碼器之面積與速度驗證後的結果。在 表 4.3 中的面積是不包含繞線所占的面積,只考慮晶片中使用的 Logic Element(LE)與 Embedded System Block(ESB)轉換成邏輯閘數目(gate count)的結果[20]。以 SMU 中的 Register Exchange 架構而言,繞線會 使用相當大的晶片面積,但使用 Altera Quartus Ⅱ軟體無法評估繞線所 占晶片的面積。表 4.4 為 Register Exchange 架構與 Trace-Back 架構之 優缺點比較[16-19]。
圖 4.16 執行 SignalTap 的介面
表 4.3 不同量化位元數與 SMU 架構之面積與速度 Estimated
Bit and architecture
Area (gate count)
Speed (MHz)
3-bit soft decoder with register exchange 49488 38.83
4-bit soft decoder with register exchange 57564 38.6 3-bit soft decoder with trace-back 68228 38.6 4-bit soft decoder with trace-back 72056 38.3
表 4.4 Register Exchange 架構與 Trace-Back 架構之優缺點比較
架構 特點
Register Exchange 架構 Trace-Back 架構
優點
不需要回溯
控制電路比較簡單
最小的輸出訊號延遲週期
內部連線比較簡單 低功率消耗
比較小的面積
缺點
較大的繞線面積 功率消耗較大
需要回溯
控制電路比較複雜
比較長的輸出訊號延遲週期
第五章 結論
本論文完成軟式決策維特比解碼器在 FPGA 上的實現,並以 MATLAB 軟體建構一模擬環境,針對量化位元數對系統效能進行分 析。結果顯示 3 與 4 位元之軟式決策維特比解碼器皆可得到不錯之系 統效能。在解碼器的實現,考量硬體複雜度及功率消耗等因素,建議 以 Trace-Back 架構來實現適用於 WLAN 802.11a 之軟式決策維特比解 碼器。在硬體實現結果顯示,4 位元比 3 位元之軟式解碼,在硬體上 大多約 5% 之邏輯閘數,但效能提升了約 0.15dB,因此考量硬體複雜 度之條件下,本論文建議 IEEE 802.11a 之維特比解碼器使用量化位元 數為 4 位元之軟式決策維特比解碼器。
表 5.1 3-bit 與 4-bit 軟式決策維特比解碼器之效能比較表 效能
解碼器之量化位元數
對硬式解碼之碼增益 (dB)
面積 (gate count) 3-bit soft-decision Viterbi decoder 1.7 68228
4-bit soft-decision Viterbi decoder 1.85 72056
參 考 文 獻
[1] IEEE 802.11a,
IEEE standard for wireless LAN medium access control (MAC) and physical layer (PHY) specifications, supplement to standard 802.11 part II:
wireless LAN, New York, 1999.
[2] Richard van Nee and Ramjee Prasad, OFDM for wireless multimedia
communications, Boston: Artech House, 2000.
[3] Stephen B. Wicker,
Error control systems for digital communication and storage,
New Jersey: Prentice Hall, 1995.[4] Irving S. Reed and Xuemin Chen, Error-control coding for data networks, Boston : Kluwer Academic Publishers, 1999.
[5] J. K. Omura, ”On the Viterbi decoding algorithm,” IEEE Transactions on
Information Theory, IT-115, pp. 177-179, Jan. 1969.
[6] A. J. Viterbi, “Convolutional codes and their performance in communication systems,” IEEE Transactions Communications, vol. COM-19, pp. 751-772, Oct.
1971.
[7] G. D. Forney, “Convolutional Codes II : Maximum likelihood decoding,” Inf.
Control, 25, pp. 222-226, July 1974.
[8] G. D. Forney, ”The Vitervi algorithm,” Proc. IEEE, vol. 61, pp. 268-278, Mar.
1973.
[9] F. Pollara and O. Collins, “Memory management in traceback Viterbi decoders,”
TAD Progress Report 42-99, Jet propulsion laboratory, Pasadena, California, Nov.
1989.
[10] R. Cypher and C.B. Shung, “Generalized trace back techniques for survivor
memory management in the Viterbi algorithm,” Global Telecommunications
Conference, pp. 1378-1322, Dec. 1990.
[11] G. Feygin and P.G. Gulak, “Architectural tradeoffs for survivor sequence memory
management in Viterbi decoders,”
IEEE Transactions on Communications, vol. 41.
March 1993.
[12] 陳秀如,“寬頻無線區域網路基頻傳收機之系統模擬與效能分析,"
中華大學
碩士論文
,July 2003.[13] Byonghyo Shim, Sungmin Cho and Jung Chul Suh, “An improved VLSI