2.6.1 Layered BP 演算法
整個 Layered BP 演算法的概念,就是將同位檢查矩陣H 從水平(horizontal)
p
方向分割成數個不同的層(layer),每一層稱為一個子矩陣(sub-matrix),並 個 check node,故我們必須對 Sum-product 演算法做部分的修正,才能對一個子 矩陣進行解碼的運算。在此,我們先對單一個子矩陣做解碼的分析:觀察
( 2.74 )
式與( 2.75 )
式,我們可發現,在( 2.74 )
式中所更新的LLR q (bit( ) ij
nodeB 至 check node
i
C 機率資訊)j
,會立即被使用於LLR r( ) ij
(check nodeC 至j
bit nodeB 機率資訊)的計算上,而 Layered BP 演算法也因為此項特性,可以只i
用較少的遞迴次數,便達到和 Sum-product 演算法相同的位元錯誤率;另外,因 為我們是將一個子矩陣視為一個同位檢查矩陣來處理,而一個子矩陣的解碼運算 中,最多只會有和碼字長度一樣多的 bit node 至 check node 之機率資訊要儲存,所以在此一架構下,硬體設計可節省掉將近一半的記憶體空間;這是 Layered BP 演算法的兩個優點。但 Layered BP 演算法仍有其缺點存在,其中一個是
( 2.75 )
式(check node 至 bit node 之機率資訊計算式),此計算式中的
tanh
及tanh− 1
函式太 過複雜,並不適合硬體設計;另一個則是其將同位檢查矩陣H 分層處理的架構,p
需處理完一個子矩陣,才能進行下一個子矩陣的運算,而原本 Sum-product 演算 法在解碼時,是以平行化運算的結構來進行解碼運算,但 Layered BP 演算法分 層處理的架構卻破壞了其平行化處理的優點,降低了解碼的速度。2.6.2 Layered BP 演算法修正
為了解決上述的兩個缺點,吾人提出兩個方法,對 Layered BP 演算法作些 微的修正,以處理這兩個缺點。其中第一個缺點,我們可將 Layered BP 演算法 與 Normalized BP-based 演算法結合(可稱之為 Layered Normalized BP-based 演 算法),把
( 2.75 )
式以( 2.49 )
式取代。同樣地,我們在計算正規化參數α 時,也 只考慮在第一次遞迴內第一個子矩陣所造成的影響,而不去考慮第二個子矩陣之 後的效應,而在第一次遞迴的第一個子矩陣內,Layered BP 演算法的LLR q (bit( ) ij
nodeB 至 check node
i
C 機率資訊)j
,也一樣與 BP-based 演算法的LLR q( ) ij
相同,皆會被初始化為
LLR p ( ) i
(another nodeN 至 bit nodei
B 機率資訊)i
,即:( ) 1 ( ) ij Layer BP _ ( ) 1 ( ) ij BP base ( ) i
LLR q LLR q LLR p
=
−
= (2.77),故 Layered Normalized BP-based 之正規化參數α 之值與 Normalized BP-based 演算法之正規化參數α 之值相同,可用相同的計算式求得。
1 0 1 1 0 0 1 0 0 1
2.6.3 Layered Normalized BP-based 演算法解碼流程
若同位檢查矩陣 H 被分割成 M 層子矩陣:
則表示為第
m
層子矩陣內之計算。Codes,在 BPSK 系統、AWGN 通道環境下進行測試,並將這些 LDPC Codes 之 解碼演算法的效能和 Sum-product 演算法的效能做比較。
由圖 2-7 與圖 2-8 之模擬結果,可知經由正規化參數修正後的演算法,有較 低的位元錯誤率,其效能更接近 Sum-product 演算法的模擬結果,而其中的 df
(dynamic factor,依照其所在之 SNR 來計算其正規化參數之值)與 cf(constant factor,正規化參數之值固定由介於10