最小距離コードを生成する

私は、長さnの線形ブロックコードワードのセットを生成しようとしており、最小ハミング距離dminを持っています。私はハミングコードを理解していますが、nには柔軟性がありません。私が考えることのできる1つの可能な方法は無差別な検索です。しかし、これをMATLABでコーディングしようとすると、どうやって進めるのか分かりません。

Google search helped me find this link where it does exactly what I want. Code Generation Tool

また、より効率的な方法でこれを実現できる他の方法やアルゴリズムもありがたいです。

2

1 答え

あなたは実際に(アルファベットでなくても)コードのファミリにいかなる制約も課しません。実際のアプリケーションでは、コードに必要なものに制約を加える必要があります。距離はそれほど重要ではないかもしれません(たとえば、多くのLDPCコードの最小距離は非常に狭いですが、多くのチャンネルの容量に近づくには距離/ 2を超えて十分に解読する必要があります)。

ほとんどのコードはデコードが難しいので(コードを効率的にデコードするためには、ある構造が必要です)、コードを徹底的に検索することは悪い考えです。また、最小距離を計算することは一般的に困難である(Vardy、1997)。

ここでは、多くのアプリケーション(CD、RAIDアレイ、TV、Voyagerミッションなど)でうまく機能しているコードの例を示します。 リードソロモンコードは、最大距離分離コード(MDS)のファミリーですすなわち、所与の長さnおよび情報シンボルkの数に対して、それらは可能な最大距離(n-k + 1)を有する。

また、Peterson-Gorenstein-ZierlerアルゴリズムやBerklenkamp-Masseyアルゴリズム(より効率的)など、簡単に解読可能です。これらを一般化リードソロモンコードにも適用できます(詳細はR.M. Roth、コーディング理論の紹介を参照)。このファミリーに関連する他の多くのコードがあります。例えば、BCH符号はRS符号からの代替符号である。

1
追加された
理論的にすべてのエラーを距離/ 2まで(有界距離デコーダを介して)訂正できることが保証されています。しかし、データレートが高い場合、多くのエラーパターンに対して距離/ 2エラー以上のエラーを修正する必要があります(2つのコードワードが距離/ 2よりも大きくなると、オーバーラップが非常に小さいため、可能です) 。 マッカイの情報理論の第13章(212ページ)を参照してください。詳細はこちら本質的に、距離は最悪の場合の特性であり、うまく動作する多くのコード(例えばLDPC)は距離が短い。
追加された 著者 Namey,
また、「重要ではない」とは言わず、「重要ではない」と言いました。いくつかのコード(例えば、ターボコード)のエラーフロアは、低ウエイトコードワードによって制御される。詳細は、Mackayの本の第48章を参照してください。
追加された 著者 Namey,
私はリードソロモンコードを調べます。しかし、私は距離が重要でないかもしれないと言う理由を理解していません。また、「多くのチャンネルで容量に近づくには距離/ 2を超えてデコードする必要があります
追加された 著者 Borat Sagdiyev,