糾錯碼 - 低密度奇偶校驗碼


糾錯碼

糾錯碼 (ECC) 是一系列由特定演算法生成的數字,用於檢測和消除透過噪聲通道傳輸的資料中的錯誤。糾錯碼確定已損壞位的精確數量以及損壞位的位置,並在演算法的限制範圍內。

ECC 可以大致分為兩種型別:分組碼和卷積碼。低密度奇偶校驗碼 (LDPC) 是一種線性糾錯分組碼。它們適用於噪聲很大的通道中的大塊大小。

LDPC 碼由 Robert G. Gallager 在 1960 年在麻省理工學院的博士論文中開發。因此,它們也被稱為 Gallager 碼。

低密度奇偶校驗碼的編碼

低密度奇偶校驗 (LFPC) 碼由一個奇偶校驗矩陣指定,該矩陣主要包含 0 和少量 1。矩陣的行表示方程,列表示碼字中的位,即碼符號。

LDPC 碼由 表示,其中 是塊長度, 是每列中 1 的數量, 是每行中 1 的數量,具有以下屬性 -

  • 是每列中 1 的數量,其中 j > 3

  • 是每行中 1 的數量,其中 k > j。

示例 1 - 漢明碼的奇偶校驗矩陣

以下奇偶校驗矩陣漢明碼具有 ,其中 4 個資訊位後跟 3 個偶校驗位。校驗位是對角線為 1。奇偶校驗方程如下所示 -

示例 2 - 低密度奇偶校驗矩陣

此示例說明了一個 (12, 3, 4) LDPC 矩陣,即 n = 12,j = 3 且 k = 4。這意味著每個方程對 4 個碼符號進行運算,每個碼符號出現在 3 個方程中。與漢明碼的奇偶校驗矩陣不同,此碼在奇偶校驗位中沒有任何對角線 1。

LDPC 碼的解碼

LDPC 碼有兩種可能的解碼技術 -

  • 在第一種技術中,解碼器根據奇偶校驗方程執行所有奇偶校驗。如果任何位包含超過固定數量的不滿足奇偶校驗方程,則該位的數值將反轉。獲得新值後,使用新值重新計算奇偶校驗方程。重複此過程,直到所有奇偶校驗方程都滿足為止。

    這種解碼過程很簡單,但僅適用於奇偶校驗集較小的情況。

  • 第二種方法對 LDPC 圖執行機率演算法。該圖是一個稀疏二分圖,包含兩組節點,一組表示奇偶校驗方程,另一組表示碼符號。如果碼符號存在於方程中,則一條線將第一組中的節點連線到第二組。解碼是透過沿著圖的線傳遞訊息來完成的。訊息從訊息節點傳遞到校驗節點,然後從校驗節點傳遞迴訊息節點並計算其奇偶校驗值。

    這些方法的兩個子類是置信傳播和最大似然解碼。儘管這些解碼演算法很複雜,但它們比前者產生更好的結果。

更新於:2020 年 6 月 27 日

2K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告