我熟悉 RS 碼和經典的基于校正子的解碼演算法。然而,我現在的任務是實作一個替代解碼器,即 Welch-Berlekamp 演算法。在這里,底層應用程式要求不需要校驗子計算(我知道基于校驗子的方法在復雜性上比 Welch-Berlekamp 演算法更簡單)。
基本上,我知道 RS 代碼有兩種不同的變體。
- Reed Solomon 碼的原始編碼方案,其中有一組固定的編碼器和解碼器已知的資料點,以及基于要傳輸的訊息的多項式,解碼器未知。
- BCH 型別代碼,其中編碼器和解碼器都知道固定多項式。
對于 RS 代碼的原始變體,Welch-Berlekamp 演算法的實作最初對我來說似乎相對容易。這里可以從生成矩陣和接收到的符號建立方程組。
但是,現在需要為第二個變體實作 Welch-Berlekamp 演算法。我目前在這里遇到困難,我也懷疑這種變體是否可行。
如果 Welch-Berlekamp 演算法也可用于 BCH 變體,如果有人能幫助我,我將不勝感激。
最好的祝福,
拉特巴爾德邁爾
uj5u.com熱心網友回復:
實作第二個變體的 Welch-Berlekamp 演算法
引數不一樣。
變體 1 - 固定資料點集。對于 RS(n, k) 碼,解碼器對 n 個符號進行操作以重構用于對訊息進行編碼的多項式。
變體 2 - 固定生成多項式,其根是原始元素的連續冪,例如 (x-2) (x-4) (x-8) ... 。對于 RS(n, k) 碼,解碼器對 nk 個校正子進行操作以確定錯誤位置(錯誤定位多項式)和錯誤值。
Welch-Berlekamp 需要 O(n^3) 操作來反轉矩陣。如果基于固定資料點集的解碼器使用的初始和常數多項式是預先計算好的,高的擴展歐幾里德演算法的時間復雜度為 O(n^2)(Wiki 文章將此多項式顯示為 R[-1])。
https://en.wikipedia.org/wiki/Reed–Solomon_error_correction
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/452493.html
