Reed-Muller-Code – ウィキペディア

before-content-x4

Reed-Muller-Codes 安全なデータ送信とデータストレージのために下水道の領域で使用される線形のエラーで補正されたコードのファミリーです。このクラスのコードは、Irving S. ReedとDavid E. Mullerによって開発されました。

after-content-x4

バイナリリードミュラーコードは、Mariner Expeditions(1969から1976)でNASAによって、火星が撮影した写真を地球に送るために使用しました。特に、RMコード(1、5)は、Mariner 9に制御マトリックスを使用しないHadamardコード(32、6、16)として使用されました。つまり、6つの情報ビットが32ビットの長い単語でエンコードされ、単語の最小重量は少なくとも16であり、7ビットのエラー補正を可能にしました。とともに

2 6 = 六十四 {displaystyle 2^{6} = 64}

コードワードは、ピクセルのグレー値をコードしました。これについては、次の例3のNASA RAUM PROBE MARINER 9への詳細。

以下は、長さのリードミュラーコードのプロデューサーマトリックスの作成方法について説明します

n = 2 d {displaystyle n = 2^{d}}

構築されています

f n {displaystyle mathbb {f} _ {n}}

非陰性数のサブセットです

after-content-x4

N次元空間で定義します

f 2 n {displaystyle mathbb {f} _ {2}^{n}}

インジケータベクトル:

混合物

a バツ {displaystyle asubset x}

終えた:

そして – また

f 2 n {displaystyle mathbb {f} _ {2}^{n}}

– バイナリ操作:

として ウェッジ製品 と呼ばれます。

f 2 d {displaystyle mathbb {f} _ {2}^{d}}

aです

d {displaystyle d}

– 次元ベクトル空間を超えます

f 2 {displaystyle mathbb {f} _ {2}}

、したがって、書くことができます:

f 2 )) d = { 初め d )) | f 2 } {displaystyle(mathbb {f} _ {2})^{d} = {(y_ {1}、ldots、y_ {d}); |; y_ {i} in mathbb {f} _ {2}}}}

で定義します

n {displaystyle n}

– 次元空間

f 2 n {displaystyle mathbb {f} _ {2}^{n}}

長さの次のベクトル

n {displaystyle n}

0 = 初め 初め 初め )) {displaystyle v_ {0} =(1,1、ldots、1)}

したがって

h {displaystyle h_ {i}}

ハイパーレベル

f 2 )) d {displaystyle(mathbb {f} _ {2})^{d}}

(寸法付き

d 初め {displaystyle d-1}

) それは:

Reed-Muller RM(D、R)-Code 注文

r {displaystyle r}

そして長さ

n = 2 d {displaystyle n = 2^{d}}

スルーのコードです

0 {displaystyle v_ {0}}

そして、ウェッジ製品から

r {displaystyle r}

{displaystyle v_ {i}}

生成されます(1つ未満のベクトルのウェッジ積がこの演算子のIDに等しくなります)。

次のプロパティが適用されます

  1. 可能なすべてのウェッジ製品の量から d
  2. RM(D、R)コードにはランクがあります。
  3. 適用されます
  4. rm(d、r)は最小限のハミング距離を持っています

多分

d = 3 {displaystyle d = 3}

。それから

n = 8 {displaystyle n = 8}

、 と

RM(3.1)コードは数量によって生成されます

より正確には、マトリックスの線を介して

RM(3.2)コードは数量によって生成されます

より正確には、マトリックスの線を介して

コントロールマトリックスの不足を伴うリードミュラーコード(1、5)は、1971年のNASAラウメンプローブマリナー9で使用されました。これは、一般的なリードミュラーコードの特別なケースを表しています。このコードは、最終的にパラメーターを備えたHadamardコードでした(32、6、16)。このRMコード(32、6、16)では、32ビットの長いコードワードが転送されました

2 6 = 六十四 {displaystyle 2^{6} = 64}

コード化された値では、互いにコードワードのヘミング距離は16でした。これらのパラメーターは、チャネルの特性、画像解像度、記録と送信時間のために選択され、豊富な30ビットの単語の長さを意味しました。

火星と地球の間の距離が長いため、そして今日と比較して同じ時期にUNFRステップであった転送装置のため、想定される誤差確率は5%でした。これにより、追加のエラー補正メカニズムなしで6ビットでグレー値がコーディングされたため、26%の灰色の値確率が得られます。これは、転送された写真の約4分の1が受信者と誤って到着することを意味します。 RMコード(32、6、16)を使用することにより、同じビット5%で灰色の値の確率を0.01%に減らすことができます。

工事 [ 編集 | ソーステキストを編集します ]

NASAルームプローブマリナー9(1971/1972)のリードミュラーコード(1.5)のハダマードコード(32、6、16)のマトリックス。カラーブラックはバイナリ数字1をエンコードし、色の白はバイナリ桁0をエンコードします。

使用されるRMコード(32、6、16)はHadamardマトリックスに基づいています

h 32 {displaystyle h_ {32}}

の建設

h 32 {displaystyle h_ {32}}

Hadamard-Matrixからの再帰を含む

そして生成ルール

Sylvesterによると、この構造は、SO -Called Walsh Matrizenを作成します

学位から正規化されたHadamard Matricer

2 k {displaystyle 2^{k}}

代表する。

Hadamard Matrixがある場合

h 32 {displaystyle h_ {32}}

少しパターンとして解釈されます(バイナリ桁1の1つと1つ、1つは1つ、1つは

初め {displaystyle -1}

バイナリ数字0)の場合、32ビットの長さの32のコードワードを取得します。これらのコードワードのそれぞれは、他のコードワードに対して数学距離が16または32です。 Hadamard Matrixを組み合わせることにより

h 32 {displaystyle h_ {32}}

逆ハダマードマトリックスで

h 32 {displaystyle -h_ {32}}

32ビットの長さの64個のコードワードを取得すると、各コードワードには他のコードワードに対してマレットギャップが16になります。のこの組み合わせ

h 32 {displaystyle h_ {32}}

h 32 {displaystyle -h_ {32}}

Hadamardコードを定義します

2 6 = 六十四 {displaystyle 2^{6} = 64}

値を値でコードします

n {displaystyle n}

n {displaystyle n}

– コードのテン行が対応します。隣接する図は、RMCの完全なHadamardコード(32、6、16)を示しています。これにより、バイナリ桁1の色が黒、バイナリ桁の色は白色です。

Reed Mullerコードのクラスも、多くのイラストで識別できます。金額を考慮してください

イラスト

f {displaystyle fin v}

あなたを通して行われます

2 m{displaystyle {2^{m}}}

注文が知られている場合、画像は明確に決定されました。したがって、あなたはできます

f {displaystyle f}

また、関連する画像ベクトルを介して

f 0 )) f 初め )) f 2 m 初め )) )) f 2 2m{displaystyle(f(0)、f(1)、dots、f(2^{m} -1))in mathbb {f} _ {2}^{2^{m}}}

議論を表します

0 初め 2 m 初め {displaystyle 0,1、dots、2^{m} -1}

2 {displaystyle 2}

– 定義範囲からの要素のadian開発

f 2 m {displaystyle mathbb {f} _ {2}^{m}}

それは。
の上

{displaystyle v}

算術操作に従ってコンポーネントの追加と乗算できますか

f 2 {displaystyle mathbb {f} _ {2}}

定義。厳密に言えば、画像の量の間にリングの同型があります

{displaystyle v}

画像ベクトルの量

f 2 2m{displaystyle mathbb {f} _ {2}^{2^{m}}}}}

、それがあなたの画像ベクトルでイラストを識別することができる理由です:

f = f 0 )) f 初め )) f 2 m 初め )) )) {displaystyle f =(f(0)、f(1)、dots、f(2^{m} -1))}

。の

{displaystyle v}

特別なイラスト、SO -Caled Coordinate関数です

{ 初め 2 m } {displaystyle z_ {i}、; iin {1dots 2^{m}}}}}

これらは次のように定義されています。

座標関数は、上記で紹介したVectordプレゼンテーションにも記述することができます

ここで適用されます:

  1. モノメンのシステム
  2. サブ質性

アイデアは次のとおりです。ReedMullerコードのすべてのコードワードrm(r、m)は、上記の代替の特性評価に従って機能になります

f {displaystyle f}

out

{displaystyle v}

理解されています – 反対の座標関数の基本的なプレゼンテーションで、i。 H.明確に決定された係数を使用します

m m {displaystyle m_ {i} {text {mit}} isubseteq m}

したがって

m = { 初め m } {displaystyle m = {1、dots、m}}

座標関数インデックスの量。関数

f {displaystyle f}

画像ベクトルとしてです

f 0 )) f 初め )) f 2 m 初め )) )) {displaystyle(f(0)、f(1)、dots、f(2^{m} -1))}

邪魔されたチャネルを通して送信されます。受信者はこれをエラーで解読します

そうです {displaystyle e}

コードワードの増加

g = f + そうです {displaystyle g = f+e}

徐々に係数によって

m {displaystyle m_ {i}}

再構築されました。彼はモノムで最高の程度の係数から始まります

r {displaystyle r}

属する。
これを行うために、彼はのスカラー積を計算します

g {displaystyle g}

S.G.モノムの特徴的な機能。これらはすべて程度の図です

m r {displaystyle M-r}

、生成座標関数も発生する可能性があります。大多数がスカラー製品によって計算される値は、元のモノム係数です。手順は、学位からモノメンにあります

r 初め r 2 0 {displaystyle r-1、r-2、dots、0}

繰り返されると、ついに得られます

f {displaystyle f}

– エラーを提供しました

そうです {displaystyle e}

大きすぎません。

リードミュラーコードを使用したコーディングおよびデコードプロセス:

  1. ニュース
  2. コードワート
  3. のモノム係数の代わりに転送
  4. 乱れたチャネルを介して画像ベクトルを送信します。結果です
  5. 画像ベクトルを受信します
  6. モノム係数のため、元の図/コードワードが計算されます
  • プロットキン構造を備えた再帰コード (PDF; 1.7 MB)リードミュラーコードとそのサブコードの構築とデコードのための論文(注意:マリナー9ミッションのRMコード(32、6、16)の表示は正しくありません。
after-content-x4