2011-02-24 4 views
1

エラー訂正コードを作成する必要があります。4要素アルファベットによるエラー修正コード

私のアルファベットは{0,1,2,3}(4つの要素)
コードワード・サイズnは8になり又は12
予想される誤り訂正能力= 1桁
予想される誤り検出能力= 2桁

私は多くのecc技術(rs、ldpcなど)を見直しましたが、開始する場所と実行方法はまだ分かりません。

誰でも私がそれを構築するのに役立つことができますか?

Thxを

答えて

0

あなたはchecksumを検討していますか?

+0

thxです。 – tSirmen

+0

私は、チェックサムではエラーを訂正できないと思います。私のコードは2つまでのエラーを検出し、8ビットまたは12ビット以内に1つのエラーを修正することが期待されます。 – tSirmen

+0

修正:私は "ビット"ではなく "数字"を意味しました。 – tSirmen

0

これを実装する方法はたくさんありますが、一般的なアプローチはリードソロモンコードを使用することです。

2つのシンボルのエラーをすべて検出し、すべての1つのシンボルのエラーを修正する必要があるため、2つのチェック記号が必要です。

2ビット(4要素)のシンボルがあり、コード長が3シンボルに制限されているとします。

これを追加すると、12ビットのコードワードごとに1つのデータシンボルと2つのチェックシンボルがあります。

あまり効率的ではありませんか?その効率のために、あなたは同じコードワードのサイズと探偵と矯正能力を持って、あなたのシンボルを三度三重にすることもできます。

リードソロモンをより効果的に使用するには、大きな記号を使用する必要があります。これは他のほとんどのタイプのコードにも当てはまります。

EDIT:

あなたは、より複雑なデコードを犠牲にして、(BCH符号のサブセットです)リードソロモン符号ほど多くの制約を持たない一般的なBCH符号を検討する必要があります。

http://en.wikipedia.org/wiki/BCH_code

+0

Thx私はそれを明確にすることはできませんでした。私のアルファベットは4要素、コードワード、8桁または12桁です。だから、コードワードは "30112320"や "301123202131"のようなものになります.1つまで修正し、2桁のエラーを検出する必要があります(Hamm [7,4]のように)。その後、Hamm.distanceは少なくとも5になるはずです。再度コメントしてもいいですか? – tSirmen

+0

コードワードが8桁または12桁であると言えば、データワード(実際の情報コンテンツ)は8桁で、コードワード(情報とエラー訂正情報)は12桁です。これは正しいです?それが私の答えの前提です。 – wjl

+0

いいえ、コードワードのサイズ(8桁または12桁)です(つまり、データとオーバーヘッドの両方を含む)。確かに、目的の1つは最高のk/n比を得ることです。しかし、データ桁数はさまざまです。コードワードサイズに制限があり、検出+修正は(2 + 1)にする必要があります。私は前に述べたように、2 + 1の8または12のサイズを満たすことは可能ですが、k/nの値が悪くなることがあります。そのような場合でも、私はまだcwサイズを増やすことについて話し合うことができますが、私はそれをもっと短くしたいと思っています。あなたの興味のためにThx。 – tSirmen

関連する問題