第四章 以卻斯(Chase)理論為基礎的解碼方法
4.2 卻斯(Chase)演算法
在傳統的硬式代數解碼方法中,其解碼情形有如(圖 4.2-1)所示:
Y
XA XB
XD XC
t
dmin
圖(4.2-1) 傳統代數解碼示意圖
圖中XA,XB,XC,XD表示四個有效編碼,而兩個碼間最小距離為dmin,Y則 表示接收到的序列所在位置,t所代表距離為每個碼能將錯誤解回來的 範圍。則由圖可看出,Y座落的位置已經在四個有效編碼的範圍外,因
此無法正確的解碼回去,而卻斯(Chase)演算法則解決了此問題。
Y
XA XB
XD XC
RADIUS=d-1
t
圖(4.2-2) 卻斯(Chase)演算法解碼示意圖
在上圖(4.2-2)中,顯示了卻斯演算法解碼時的情形,卻斯利用傳 輸時通道影響所給的訊息,試著讓解碼的過程更加的精確。卻斯的想法 主要是利用將 1 散步在各個位置的二位元序列來組成一組測試模組來測 試。其方法為將接受到的序列Y以二位元的加上加上測試樣本TP,以得 到新的測試序列Y',即:
TP Y
Y'= ⊕ (4.2-1) 在(圖 4.2-2)中可看出,原本的序列Y沒有處在可解碼的有效範圍中,但 在加上了測試樣本後,其有效的解碼範圍將會隨著測試樣本的多寡而增 加,以使得新的測試序列Y'落在XA的有效解碼範圍中,而能正確的解碼。
在對新的測試序列進行硬式解碼時,我們會將新的測試樣本解為有 效碼XA,此時會得到一個新的錯誤序列e′,其和原本的接受到的序列應 有的錯誤序列e的關係式如下所示:
TP e
e= ′⊕ (4.2-2) 藉由此關係式,我們即可找到實際的錯誤序列,並由此判斷此解碼是否 會最接近原接受訊號的解碼。由最大相似解碼(Maximum likelihood decoder)的觀念,我們所要找到最接近的解碼可根據錯誤序列來加以判 斷,而對於一個錯誤序列的重量定義如下:
( ) ∑
=
= n
i i ia e e
W
1
(4.2-3) 此式中的ai值為序列X經過通道影響後的軟式輸入值,而重量的值越小,
表示其錯誤的值較小,也就是說其可信度越高。
卻斯演算法的過程可由下圖(4.2-3)來表示,
Received binary sequence: Y Confidence value: a
Generate new test pattern TP
Calculate the weight of e
Store e Y'=Y+TP
can e’ be found by algebraic decoding?
Is this the lowest weight?
Have all TP been generated?
Has an error
pattern been stored Decoded = Y + e
Decoded = Y NO
NO NO
YES
YES
YES
YES
NO
圖(4.2-3) 卻斯(Chase)演算法流程圖
在每次的解碼過程中,此演算法將一個含有n個元素的集合用來考慮解 碼,此集合包含了接收到的二位元序列Y以及其對應的可靠度軟式參考 值ai,此即會流程圖中的第一步。接著產生測試樣本TP的組合,對於每 個樣本利用二位元的加法產生新的測試序列Y',之後再對每個新的測試 序列進行傳統的硬式解碼。若硬式解碼出來的解果產生了一個非零的錯 誤序列e′,則我們可以利用式(4.2-2)將實際的錯誤序列e找回來。在找 回錯誤序列後,利用式(4.2-3)即可得知此錯誤所帶來的錯誤重量W,若W 的值為最小時,即表示此解碼最為可能,故將當時的錯誤序列e儲存下 來。在測試完所有的測試樣本後,將檢查是否有錯誤序列e被儲存下來,
若有即可將Y序列解碼為序列;若沒有錯誤序列儲存下來,則將原本接 受到的序列Y值輸出。
測試樣本的取捨同樣也會影響著更錯的效能,卻斯提出了三個取捨 的方法,而在本論文中所採用的為第二種方法。此方法的精神是依照接 受序列的可靠度參考值ai來決定錯誤樣本的組合,其將選擇
個最不可靠的位元做為測試樣本更動的地方,經由 0 和 1 在這 個 位置做排列組合而產生 個測試樣本。以BCH(7,4,3)為例,若接收 到的情形如(表 4.2-1)所示,y
⎣
dmin/2⎦
p=
⎣
dmin/2⎦
⎣ min/2
2 d ⎦
i為其判斷序列,ai為可靠度參考值,則 i 0 1 2 3 4 5 6
ai -0.9 -1.3 -0.4 -2.2 +0.6 -1,2 +0.8 yi 0 0 0 0 1 0 1
表(4.2-1) 軟式輸入訊號的範例表
可看出第 2,4,6 的位置可靠性是較低的,因此所產生的測試樣本將如 (表 4.2-2)所示。產生測試樣本之後,再以(圖 4.2-3)所示的流程,即 可得到硬式的解碼輸出。
TP0 0 0 0 0 0 0 0 TP1 0 0 0 0 0 0 1 TP2 0 0 0 0 1 0 0 TP3 0 0 0 0 1 0 1 TP4 0 0 1 0 0 0 0 TP5 0 0 1 0 0 0 1 TP6 0 0 1 0 1 0 0 TP7 0 0 1 0 1 0 1
表(4.2-2) 測試樣本範例表