質問: 最小距離コードを生成する 私は、長さnの線形ブロックコードワードのセットを生成しようとしており、最小ハミング距離dminを持っています。私はハミングコードを理解していますが、nには柔軟性がありません。私が考えることのできる1つの可能な方法は無差別な検索です。しかし、これをMATLABでコーディングしようとすると、どうやって進めるのか分かりません。 Google search helped me find this link where it does exactly what I want. Code Generation Tool また、より効率的な方法でこれを実現できる他の方法やアルゴリズムもありがたいです。
回答: あなたは実際に(アルファベットでなくても)コードのファミリにいかなる制約も課しません。実際のアプリケーションでは、コードに必要なものに制約を加える必要があります。距離はそれほど重要ではないかもしれません(たとえば、多くのLDPCコードの最小距離は非常に狭いですが、多くのチャンネルの容量に近づくには距離/ 2を超えて十分に解読する必要があります)。 ほとんどのコードはデコードが難しいので(コードを効率的にデコードするためには、ある構造が必要です)、コードを徹底的に検索することは悪い考えです。また、最小距離を計算することは一般的に困難である(Vardy、1997)。 ここでは、多くのアプリケーション(CD、RAIDアレイ、TV、Voyagerミッションなど)でうまく機能しているコードの例を示します。 リードソロモンコードは、最大距離分離コード(MDS)のファミリーですすなわち、所与の長さnおよび情報シンボルkの数に対して、それらは可能な最大距離(n-k + 1)を有する。 また、Peterson-Gorenstein-ZierlerアルゴリズムやBerklenkamp-Masseyアルゴリズム(より効率的)など、簡単に解読可能です。これらを一般化リードソロモンコードにも適用できます(詳細はR.M. Roth、コーディング理論の紹介を参照)。このファミリーに関連する他の多くのコードがあります。例えば、BCH符号はRS符号からの代替符号である。