第二章 迴旋編碼
2.2 迴旋碼
2.2.2 狀態圖, 樹狀圖, 籬柵圖
狀態圖(state diagram):簡單的編碼器可以用狀態圖來呈現,以圖 2.2.2-1 來說明(2,1,3)迴旋編碼器的狀態表示,由於 K=3 所以ν=2,因此 有兩個暫存器,圖中方塊顯示的狀態就是表示暫存器裡最右邊 K-1 級的 內容,而狀態之間的路徑代表不同的輸入(0 或 1)而轉變為另一個狀態,
也附帶著說明不同的輸入產生不同的碼字。由於ν=2 因此有 22 = 4 個狀 態變化,如圖將編碼器的狀態標示為 a = 00、b = 10、c = 01、d = 11,每 個狀態因為不同的輸入只有兩個轉變,對應於兩個可能的輸入位元,在 狀態轉換的路徑間記錄與狀態轉變有關的輸出碼字。
圖 2.2.2-1 (2,1,3)迴旋編碼器狀態圖表示法
樹狀圖(tree diagram):狀態圖雖然可以完全呈現編碼器的特徵,但 是卻無法紀錄每一個輸入序列的時間狀態,因此在追蹤資料的路徑時並 不易達成。樹狀圖是將狀態圖加入時間的維度來呈現,如圖 2.2.2-2 是針 對(2,1,3)迴旋編碼器來表示,每個連續的輸入位元時間裡,從左到右穿越 圖形來描述編碼過程,而且每個分支都描述著不同的輸入位元所對應的 輸出碼字。
圖 2.2.2-2 (2,1,3)迴旋編碼器樹狀圖表示法
描述訊息序列所產生碼字的分支規則:當輸入位元為 0 時,路徑則往上 移動到下一個右邊的分支得到相關的輸出碼字,當輸入位元為 1 時,路 徑則往下移動到下一個右邊的分支得到相關的輸出碼字。
如圖 2.2.2-2 紅線所示,當輸入的訊息序列為 11011 時,編碼的順序如下:
t1時間:
輸入的位元為 1,則路徑往下走,由狀態 a 到狀態 b,得到輸出碼字 11。
t2時間:
輸入的位元為 1,則路徑往下走,由狀態 b 到狀態 d,得到輸出碼字 01。
t3時間:
輸入的位元為 0,則路徑往上走,由狀態 d 到狀態 c,得到輸出碼字 01。
t4時間:
輸入的位元為 1,則路徑往下走,由狀態 c 到狀態 b,得到輸出碼字 00。
t5時間:
輸入的位元為 1,則路徑往下走,得到輸出碼字 01。
所以得到的輸出碼字序列為 11、01、01、00、01。
雖然樹狀圖可以附加狀態圖所沒有的時間維度,由於分支的個數是由輸 出碼字的長度來決定,因此圖 2.2.2-2 也不適合用來表示龐大的樹狀分布,
畢竟太多使用不到的路徑會占用到表示空間,也增加了整個表示法的複 雜度。
籬柵圖(trellis diagram):藉由圖 2.2.2-2 我們可以發現在 t4時間點上,
在第三個分支的路徑會重複,也就表示樹狀結構會在 K 個分支後重複。
若將樹狀圖的每個節點都加以標示,對應到暫存器的四種狀態,在每個 後續的分支上,從相同狀態的兩個節點所發出的所有分支都會產生相同 的分支碼字序列,如圖 2.2.2-3 使用這種方法重新整理出來的樹狀圖稱做 籬柵圖,利用重複結構的籬柵圖比樹狀圖更容易清楚暫存器內的狀態與 編碼路徑的過程。
圖 2.2.2-3 (2,1,3)迴旋編碼器籬柵圖表示法
在 K 個解碼深度後會完成固定結構,從樹狀圖和籬柵圖中一樣可以看出 在 t3 時間點後,每個路徑與狀態皆重複,利用此重複結構可以更清楚整 個時間歷史的路徑。從籬柵圖可以知道每個狀態可能來自於兩個狀態中 的其中一個,每一個狀態也可能轉變成其他兩個狀態之一。