2017-09-19 5 views
0

リードソロモンコードでエンコードされたメッセージで、メッセージ+コードワード全体のデータがあります。今では転送中にメッセージ部分に変更があった場合、コードワード自体が破損したり変更された場合に何をデコードすることができますか?コードワードを修正することも可能ですか?どのようにそれを修正することができますか?またはリードソロモンのエラー訂正コード自体が壊れたコードワードの訂正を担当しますか?RSコードでエラー訂正コードワードが壊れている場合はどうなるでしょうか

私は少し混乱しています。私は関連する回答を得ることを願っています。 ありがとうございます。

+0

これを自分で調べるために何をしましたか? – Marichyasana

+0

@Marichyasana私はPythonでライブラリreedsolo 0.3で遊んでいて、コードワードを変更しようと変更しました。だから私はそれを変更するときに私はメッセージを取得することができませんでした。 – Praveenupadrasta

答えて

0

問題の用語に問題があります。コードワードは、メッセージデータとパリティ(冗長性)データ(質問がコードワードを呼び出すもの)で構成されます。さらに、符号語という用語は、通常、エラーのないもの(メッセージ部分またはパリティ部分のいずれか)、生成多項式の正確な倍数(有限体係数乗算を伴う多項式)のものを意味します。

メッセージデータまたはパリティデータにエラーがあるかどうかは関係ありません。誤りのあるシンボルの総数がパリティシンボルの数の1/2以下である限り、誤りは訂正可能である。

リードソロモン補正の典型的な実装では、ロケータ(または逆ロケータ(1 /ロケータ))多項式が生成されます。ロケータは、右の位置の累乗に比例した有限体の「プリミティブ」ですほとんどのシンボルは位置ゼロを表します(右隣には位置1などがあります)。ロケータ多項式は、多項式係数の順序を逆にすることによって逆ロケータ多項式に変換することができ、逆も可能である。

wikiの記事が理解を深めるのに役立つかもしれません。 ReedとSolomonのオリジナルの見解についてのセクションは無視することをお勧めします。これは、最も簡単な場合を除いて修正を実行するのは実用的ではなかったため、記事で説明した実用的なデコーダは、同じ期間(1960)ウィキの記事のこのセクションで

https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction

https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction#Systematic_encoding_procedure

メッセージをTパリティシンボルのためのスペースを作るために、X^Tを乗じた多項式P(X)として扱われ、残りのsr(x)= p(x)x^t mod g(x)ここで、g(x)は生成元ポリミアルである。コードワードはs(x)= p(x)x^t mod g(x)-sr(x)である。 Reed Solomonのバイナリベースのフィールドを使用する場合は、加算と減算の両方が排他的であるか、または減算されます。

リードソロモンに関する他の記事では、通常、tは訂正できるシンボルの数を表し、パリティシンボルの数は2t(または奇数パリティシンボル2t + 1の場合)になります。 wikiの記事では、ロケータ多項式の係数にlambda:Λを使用していますが、他の記事では同じものに対してσ:σを使用しています。

+0

ご質問ありがとうございます。ご迷惑をおかけして申し訳ありません。 – Praveenupadrasta

+0

@Praveenupadrasta - 私は少し前にもっと多くの情報で私の答えを更新しましたが、これに気づいたコメントは失われました。あなたが更新された答えを見逃した場合に備えて、私はこのコメントを投稿しています。 – rcgldr

+0

これについてより多くの洞察を与えることに感謝します。 – Praveenupadrasta

関連する問題