• 沒有找到結果。

迴旋碼解碼器之 FPGA 電路設計

MISO W-CDMA 高速下鏈基頻收發機之硬體電 路設計

4.6 迴旋碼解碼器之 FPGA 電路設計

( )

H H H H

H H H H

s H x H x H H x

s H x H x H H x

= + = +

= + = + (4.17) 最後,因傳送的資料為 QPSK 型式,所以吾人只需判斷信號空間所在的 象限,就可把 8 位元的符元信號降成 1 位元的訊號,以利後端的解交錯器及 迴旋解碼器電路來使用。

4.6 迴旋碼解碼器之 FPGA 電路設計

迴旋編碼器與迴旋解碼器已被廣泛的用於各種通訊系統中,如 IEEE 802.11a之無線區域網路或3GPP之W-CDMA或DVB (Digital Video Broadcast) 數位廣播系統中皆有詳細的規範。吾人所使用之迴旋碼編碼器是根據 IEEE

802.11a 的的規範(圖 4.20)加以修改的架構、編碼率為 1/3 和 1/2 二種,限

制長度為 7,總共有64 個狀態,其所能改善的系統效能,如圖4.21

吾人之迴旋解碼器為 1 位元的硬式解碼器,在設計過程中,吾人分為二 個主要的部份,分別為執行單元(Processing Element, PE)區塊、回溯(traceback)

單元區塊,以下將詳細說明這些區塊的設計原理及方法。

4.6.1 執行單元

在說明執行單元前,吾人先介紹執行單元內部所用到的功能區塊,如蝴 蝶架構(butterfly architecture),BM (Branch Metric)、PM (Path Metric)以及ACS (Add Compare Select):

(1) 蝴蝶架構:

圖 4.22a為基本四個狀態的格子(trellis)圖,經過重整後,可變為圖

4.22b之架構,因為此架構似蝴蝶,所以又稱蝴蝶架構。在限制長度為K

的迴旋碼編碼器中,移位暫存器的前K-1 LSB的部份可定義成狀態,由 於限制長度為 7,所以共有 27-1個狀態;由蝴蝶架構可知,若得知在t+1 時的狀態及漢明加權(hamming weight)時,可推出在t時間的狀態,由此就 可完整的記錄每個狀態的流程,減少回溯的複雜度,並且可由最基本的 四個狀態,擴充到所需的 64個狀態,如圖4.23,甚至256個狀態也可。

(2)BM:

BM是指當編碼器電路之移位暫存器經過狀態改變後,相當於有新的 資料進來時,此時暫存器前K-1 LSB則為該狀態的BM,2K-1個狀態的BM 可利用一個計數器來固定時間改變移位暫存器的狀態,使得編碼器可以 得到所有狀態的輸出。

(3)PM:

PM 是指進到某一狀態的最可能路徑,吾人用 PM 表示當時間為 t

時,狀態 i 最可能的路徑, 表示由狀態 k 轉換到狀態 i 時,所對

i t

BM[ , ]k i

應到的 BM。假設狀態 i 在 t 時間的狀態為 k1 及 k2,則1

再做比較的動作,從 PM_a_tmp 及 PM_b_tmp 中選出最小作為該狀態的 PM 值,若 PM_a_tmp 與 PM_b_tmp 相同時,則選擇 PM_a_tmp 為 t+1 時

後,都只需要做一次的 ACS 運算,大大了降低運算的時間。 過程中,會把每個路徑及狀態的位置記錄在 D_ram0~D_ram15 中,每組 D_ram 為 大小的雙埠記憶體。解碼器的狀態由 S128 的最小 PM 值開始,假設

127 128

127 128 0 3

當解碼電路收到 end_frame 的觸發訊號時,此時就會進行最後一次回溯,

並且執行完此訊框最後一個符元之所有狀態的 ACS 運算後,解碼器會找出最 後一個符元的最小 PM 值,進行回溯,將剩下未解碼的符元解碼輸出。

圖 4.28 為此解碼器的架構圖,分為了執行單元區塊、回溯區塊以及雙埠

記憶體等。執行單元區塊內包含 PE0 至 PE15,PE0 至 PE15 內各有兩個 ACS 運算電路,可同時執行 64 個狀態的 ACS 運算,並將得到之 PM 儲存於暫存器 中,以便可以快速的讀寫,且於固定時候送出回溯致能(traceback enable)訊號 給回溯區塊,回溯區塊接收到此觸發訊號時即開始執行回溯,並從決定記憶 體讀出所需之決定位元,而得到解碼輸出。

相關文件