• 沒有找到結果。

第三章 迴旋解碼-斐特比解碼演算法

3.3 婓特比解碼演算法

3.3.2 暫存器交換

描述暫存器交換設計之前先說明籬柵圖的路徑產生與輸入資料位元 的對應關係。

圖 3.3.2-1 籬柵圖路徑性質

圖中在時間 ti的每個狀態到時間 ti+1會轉換成兩種狀態,而轉換的兩個狀 態都是上下兩條路徑的關係(輸入位元 0 和 1 分別依序對應紅色路徑與綠 色路徑),可以看出輸入位元為 0(紅色路徑)的皆在上面路徑,而輸入位元 為 1(綠色路徑)皆在下面路徑,這種性質我們可以將暫存器的起始狀態設 定為 0 和 1 的交錯。利用籬柵圖對應的路徑性質關係與在每個時間 ti籬柵 中都有 2K-1個狀態的關係,可以描述出暫存器交換的設計概念。

利用圖 3.3.2-2~圖 3.3.2-6 來圖解說明暫存器交換的設計,並對照圖 3.3.2-1 的籬柵圖來描述暫存器裡值的交換路徑,並描述各個時間點暫存 器裡值的交換方式。首先我們先了解 K=3 的解碼器會有 23-1 = 4 個狀態的 轉換,因此每個交換的暫存器裡必需儲存四位元的資料,並且設定暫存 器初始狀態為 0000,起始狀態為 0101。假設輸入位元序列 m = 11011,

編碼完之後接收端收到的碼字序列 z = 11、01、01、10、01,解碼的路徑

深度為 5 個時間點,因此設定有五個編號 1~5 的交換暫存器。

圖 3.3.2-2 時間 t0,編號 1 暫存器裡的初始值為 0000,編號 2~5 的暫存器 不動作。(初始值為 0000,起始值為 0101)

圖 3.3.2-2 時間 t0的暫存器交換狀態

圖 3.3.2-3 依時間 t1的倖存路徑,各暫存器裡的值:編號 1 為起始值,編 號 2 為初始值,編號 3~5 不動作。

圖 3.3.2-3 時間 t1的暫存器交換狀態

圖 3.3.2-4 依時間 t2的倖存路徑,各暫存器裡的值:編號 1 的值位移為 0011,

編號 2 為起始值,編號 3 為初始值,編號 4~5 不動作。

圖 3.3.2-4 時間 t2的暫存器交換狀態

圖 3.3.2-5 依時間 t3的倖存路徑,各暫存器裡的值:編號 1 的值位移為 1111,

動作。

圖 3.3.2-5 時間 t3的暫存器交換狀態

圖 3.3.2-6 依時間 t4的倖存路徑,各暫存器裡的值:編號 1 的值位移為 1111,

編號 2 的值位移為 1101,編號 3 的值位移為 0011,編號 4 為起始值,編 號 5 為初始值。

圖 3.3.2-6 時間 t4的暫存器交換狀態

圖 3.3.2-7 依時間 t5的倖存路徑,各暫存器裡的值:編號 1 和 2 的值皆位 移為 1111,編號 3 的值位移為 0010,編號 4 的值位移為 0011,編號 5 為 起始值。

圖 3.3.2-7 時間 t5的暫存器交換狀態

從暫存器交換的圖解可以看到在時間 t3時,編號 1 暫存器內的值已收斂 為 1,並且不會再變換。而在時間 t5時,編號 1 暫存器已達設定的解碼深 度,故將編碼器裡收斂的值(1)輸出;而編號 2 暫存器內的值也收斂為 1,

但是未達設定的解碼深度,因此需等待至時間 t6才能將收斂的值輸出。

由於上述說明的例子為 K=3,所以暫存器裡的值只有四個,比較容易 達到收斂的狀況。在限制長度增加時,相對暫存器裡的狀態也會隨之增 加(解碼器會有 2K-1個狀態的轉換),如果在解碼深度不足時暫存器裡的值 將有可能無法收斂為單一的值,此時便需要比較暫存器裡值的比例來做 為輸出的判斷。

說明完回朔追蹤和暫存器交換的設計之後,如果用簡單的方式來描述

每次輸出必輸回朔追蹤到既定的解碼深度,因此解碼的效率會降低,而

相關文件