アダマールコード

アダマールコード
名前の由来ジャック・アダマール
分類
タイプ線形 ブロックコード
ブロック長
メッセージの長さ
レート
距離
アルファベットのサイズ
表記-コード
拡張アダマール符号
名前の由来ジャック・アダマール
分類
タイプ線形 ブロックコード
ブロック長
メッセージの長さ
レート
距離
アルファベットのサイズ
表記-コード
NASA宇宙探査機マリナー9号のリード・ミュラーコード(1, 5)に対する拡張アダマールコード[32, 6, 16]の行列
XOR演算
ここで白いフィールドは0
、赤いフィールドは1を表します

アダマール符号はフランスの数学者ジャック・アダマールにちなんで名付けられた誤り訂正符号であり、ノイズの多いまたは信頼性の低いチャネルでメッセージを送信するときにエラー検出と訂正に使用されます。1971 年には、この符号を使用して、NASA の宇宙探査機マリナー 9 号から地球に火星の写真が送信されました。[1]アダマール符号は、そのユニークな数学的特性のため、エンジニアによって使用されるだけでなく、符号理論数学理論計算機科学の分野でも熱心に研究されています。アダマール符号は、アメリカの数学者ジョセフ・レナード・ウォルシュにちなんで、ウォルシュ符号ウォルシュファミリー[2]ウォルシュ・アダマール符号[3]とも呼ばれています。

アダマール符号は、長さ の線形符号を2進アルファベット表す例です。残念ながら、この用語はやや曖昧で、参考文献によってはメッセージ長 を仮定しているものもあれば、 を仮定しているものもあります。この記事では、前者をアダマール符号、後者を拡大アダマール符号と呼びます。

アダマール符号は、各非ゼロ符号語のハミング重みがちょうど である点で独特であり、これは符号の距離も であることを意味する。ブロック符号の標準的な符号化理論表記法では、アダマール符号は-符号、つまり2進アルファベット上の線形符号であり、ブロック長メッセージ長(または次元)最小距離 を持つ。ブロック長はメッセージ長に比べて非常に大きいが、一方で、極めてノイズの多い状況でも誤りを訂正できる。

拡張アダマール符号は、アダマール符号の若干改良版である。これは -符号であるため、相対距離を維持しながらわずかに優れたレートを持ち、実用化において好まれる。通信理論では、これは単にアダマール符号と呼ばれ、 2進アルファベット上の1次リード・ミュラー符号と同じである。 [4]

通常、アダマール符号はシルベスターによるアダマール行列の構築に基づいていますが、「アダマール符号」という用語は、必ずしもシルベスター型ではない任意のアダマール行列から構築された符号を指す場合にも使用されます。一般に、このような符号は線形ではありません。このような符号は、1959 年にRaj Chandra BoseSharadchandra Shankar Shrikhandeによって初めて構築されました。[5] nがアダマール行列のサイズである 場合、符号にはパラメータ があり、これは、ブロック長nで最小距離n /2 の 2 n符号語を持つ、必ずしも線形ではない 2 進符号であることを意味します。以下で説明する構築および復号化方式は一般的なnに適用されますが、線形性の特性およびリード・ミュラー符号との同一視により、nは 2 の累乗であり、アダマール行列はシルベスター法によって構築された行列と等価である必要があります。

アダマール符号は局所的に復号可能な符号であり、受信語のごく一部を見るだけで、元のメッセージの一部を高い確率で復元する方法を提供します。これは計算複雑性理論、特に確率的に検証可能な証明の設計に応用されています。アダマール符号の相対距離は1/2であるため、通常は最大でも1/4の誤りしか復元できません。しかし、リスト復号法を用いることで、受信語のビット数よりも少ないビット数が破損している限り、候補メッセージの短いリストを計算することが可能です

符号分割多元接続(CDMA)通信において、アダマール符号はウォルシュ符号とも呼ばれ、個々の通信チャネルを定義するために使用されます。CDMAに関する文献では、コードワードを「コード」と呼ぶのが一般的です。各ユーザーは、信号を変調するために異なるコードワード、つまり「コード」を使用します。ウォルシュ符号ワードは数学的に直交しているため、ウォルシュ符号化された信号は、CDMA対応の携帯端末ではランダムノイズとして認識されます。ただし、その端末が受信信号の符号化に使用したのと同じコードワードを使用している場合は除きます[6]

歴史

文献では、この符号の名称としてアダマール符号が最も一般的に使用されています。しかし、現代の用法では、これらの誤り訂正符号はウォルシュ・アダマール符号と呼ばれています。

これには理由があります:

ジャック・アダマールは、このコードを自ら発明したわけではないが、 1940年代に最初の誤り訂正コードであるハミングコードが開発される よりずっと前の1893年頃にアダマール行列を定義した。

アダマール コードはアダマール行列に基づいています。ここで使用できるアダマール行列は多数ありますが、通常、アダマール コードのコードワードを取得するには、シルベスターのアダマール行列の構築のみが使用されます。

ジェームズ・ジョセフ・シルベスターは1867年にアダマール行列の構成法を考案しましたが、これは実際にはアダマール自身のアダマール行列に関する研究よりも古いものです。そのため、アダマール符号という名称には異論があり、アメリカの数学者ジョセフ・レナード・ウォルシュに敬意を表してウォルシュ符号と呼ばれることもあります。

1971年のマリナー9号ミッションでは、画像伝送エラーを補正するために拡張アダマール符号が使用されました。このミッションで使用されたバイナリ値は6ビット長で、64のグレースケール値を表現しました

当時の送信機のアライメント品質の限界(ドップラートラッキングループの問題による)により、有効なデータ長は最大約30ビットでした。繰り返し符号の代わりに、[32, 6, 16]アダマール符号が使用されました。

この方式を用いることで、32ビットワードあたり最大7ビットの誤りを訂正できます。5回繰り返し符号と比較すると、このアダマール符号の誤り訂正特性ははるかに優れていますが、訂正率は同等です。この符号を採用する決定において、効率的な復号アルゴリズムが重要な要素となりました。

使用された回路は「グリーンマシン」と呼ばれ、高速フーリエ変換を採用することで復号速度を3倍に向上させました。1990年代以降、この符号の宇宙プログラムでの使用はほぼ停止しており、NASAの深宇宙ネットワークは、 26メートルを超えるアンテナではこの誤り訂正方式をサポートしていません。

建設

すべてのアダマール符号はアダマール行列に基づいていますが、その構成は科学分野、著者、用途によって微妙に異なります。データ伝送に符号を使用するエンジニアや、符号の極限特性を分析する符号理論家は、たとえ構成が数学的に多少洗練されなくなるとしても、符号のレートを可能な限り高くすることを一般的に望んでいます。

一方、理論計算機科学におけるアダマール符号の多くの応用では、最適なレートを達成することはそれほど重要ではないため、より簡潔なアダマール符号の構成の方が、よりエレガントに分析できるため好まれます。

内積を用いた構成

長さ のバイナリ メッセージが与えられると、アダマール コードはエンコード関数 を使用してメッセージをコードワードにエンコードします。この関数は、次のように定義される2 つのベクトルの内積を使用します。

のアダマール符号化は、のすべての内積の列として定義されます

前述のように、アダマール符号自体に多少の無駄があるため、実際には拡張アダマール符号が使用されます。これは、 の最初のビットがゼロの場合、内積には に関する情報が全く含まれず、したがって、符号語のこれらの位置のみから完全に復号することは不可能だからです。一方、符号語が の位置に制約されている場合でも、 を完全に復号することは可能です。したがって、アダマール符号をこれらの位置に制約することは理にかなっています。これにより、 の拡張アダマール符号化、つまりが生成されます

生成行列を用いた構築

アダマール符号は線型符号であり、すべての線型符号は生成行列 によって生成できる。これは、すべての に対して が成り立つような行列であり、メッセージは行ベクトルとみなされ、ベクトル行列積は有限体上のベクトル空間で理解される。特に、アダマール符号の内積定義を記述する同等の方法は、すべての列が長さ の文字で構成される生成行列 を用いることで得られる。すなわち、

ここで、 は辞書式順序で 番目の2進ベクトルです。例えば、次元 のアダマール符号の生成行列は次のようになります。

行列は-行列であり、線形演算子を生成します

拡張アダマール符号の生成行列は、行列の最初の要素が1である列のみに制限することによって得られる。例えば、次元の拡張アダマール符号の生成行列は次のようになる。

との線形マッピングです

一般に、拡大アダマール符号の生成行列は、さ 、次元の拡張ハミング符号パリティ検査行列であり、これにより拡大アダマール符号は拡張ハミング符号の双対符号となる。したがって、アダマール符号を定義する別の方法は、そのパリティ検査行列を用いて定義することである。すなわち、アダマール符号のパリティ検査行列は、ハミング符号の生成行列に等しい。

一般アダマール行列を用いた構築

アダマール符号は、 nn列の アダマール行列 Hから得られます。特に、符号の2 n個の符号語は、 Hの行と − Hの行です。アルファベット {0,1} 上の符号を得るために、マッピング −1 ↦ 1, 1 ↦ 0、またはそれと同等のx  ↦ (1 −  x )/2 を行列要素に適用します。符号の最小距離がn /2 であることは、アダマール行列の定義特性、つまり行が互いに直交していることから生じます。これは、アダマール行列の 2 つの異なる行が正確にn /2 の位置で異なり、行の符号反転は直交性に影響を与えないため、Hの任意の行は − Hの任意の行とn /2 の位置でも異なります。ただし、行が対応する場合はn の位置で異なります。

上記の拡張アダマール符号を で得るには、選択されたアダマール行列H がシルベスター型である必要があり、これによりメッセージ長が になります

距離

符号の距離とは、任意の2つの異なる符号語間の最小ハミング距離、すなわち、2つの異なる符号語が異なる位置の最小数です。ウォルシュ・アダマール符号は線形符号であるため、この距離は、その符号語に含まれるすべての非ゼロ符号語のハミング重みの最小値に等しくなります。ウォルシュ・アダマール符号のすべての非ゼロ符号語のハミング重みは、次の式によって正確に となります。

を非ゼロのメッセージとします。すると、次の値は、コードワード内の1に等しい位置の割合と正確に等しくなります。

後者の値がちょうど であるという事実は、ランダムサブサム原理と呼ばれます。これが真であることを確認するために、一般性を失うことなく と仮定します。すると、 の値を条件とすると、および に依存するいくつかのに対して、イベントは と等しくなります。 が発生する確率はちょうど です。したがって、実際には、アダマール符号のすべての非ゼロ符号語は相対ハミング重み を持ち、したがって、その相対距離は です

拡大アダマール符号の相対距離も同様ですが、すべてのs ベクトルが拡大アダマール符号の符号語となるため、すべての非ゼロ符号語の重みがちょうど になるという性質はもはやありません。これは、ベクトルが にエンコードされるためです。さらに、が非ゼロでベクトル でない場合は常に、ランダム和原理が再び適用され、 の相対重みはちょうど になります

ローカルデコード可能性

ローカルにデコード可能なコードとは、受信したワードの小さな部分を見るだけで、元のメッセージの 1 ビットを高い確率で復元できるコードです。

符号 が-クエリ局所復号可能とは、メッセージビット が受信語のビットを調べることで復元できる場合である。より正式には、符号 が-クエリ局所復号可能とは確率的復号器 が存在し、注: はベクトルとの間のハミング距離を表すを満たす場合である。

定理1:ウォルシュ・アダマール符号はすべての に対して -局所的にデコード可能である

補題 1:すべてのコードワードについて、ウォルシュ・アダマール コードでは、はそれぞれ位置および のビットを表し、 は位置 のビットを表します

補題1の証明

をメッセージ に対応するのコードワードとします

を の生成行列とします

定義により、。このことから、。 の構築により。したがって、置き換えにより、

定理1の証明

定理 1 を証明するために、復号化アルゴリズムを構築し、その正しさを証明します。

アルゴリズム

入力:受信した単語

それぞれについて

  1. 均一にランダムに選択します
  2. となるものを選択します。ここで、- 番目の標準基底ベクトルであり、はとのビット単位XORです。

出力:メッセージ

正しさの証明

任意のメッセージ、および と最大ビットの割合で異なる受信語は、少なくとも の確率でデコードできます

補題1により、 となりますと は一様に選択されるため、 の確率は最大で となります。同様に、 の確率は最大で となります。 の和集合境界により、 または のいずれが の対応するビットと一致しない確率は最大で となります。 と の両方が に対応する場合補題1が適用され、 の適切な値が計算されます。したがって、 が正しく復号される確率は少なくとも となります。したがって、および が正であるためには、 となります

したがって、ウォルシュ・アダマール符号はに対して局所的にデコード可能です

最適性

k≤7の場合、 線形アダマール符号は最小距離の意味で最適であることが証明されている。[7]

参照

参考文献

  1. ^ Malek, Massoud (2006). 「アダマール符号」. 符号理論(PDF) . 2020年1月9日時点のオリジナル(PDF)からのアーカイブ。
  2. ^ Amadei, M.; Manzoli, Umberto; Merani, Maria Luisa (2002-11-17). 「複数クラスのユーザを持つマルチキャリアDS-CDMAシステムにおけるウォルシュ符号と準直交符号の割り当てについて」. Global Telecommunications Conference, 2002. GLOBECOM'02. IEEE.第1巻. IEEE . pp.  841– 845. doi :10.1109/GLOCOM.2002.1188196. ISBN 0-7803-7632-3
  3. ^ Arora, Sanjeev ; Barak, Boaz (2009). 「Section 19.2.2. 計算複雑性:現代的アプローチ」ケンブリッジ大学出版局. ISBN 978-0-521-42426-4
  4. ^ Guruswami, Venkatesan (2009). バイナリコードのリストデコード(PDF) . p. 3.
  5. ^ Bose, Raj Chandra ; Shrikhande, Sharadchandra Shankar (1959年6月). 「コード構築理論における結果に関するノート」. Information and Control . 2 (2): 183– 194. CiteSeerX 10.1.1.154.2879 . doi :10.1016/S0019-9958(59)90376-6. 
  6. ^ Langton, Charan [Wikidataにて] (2002). 「CDMAチュートリアル:通信原理の直感的なガイド」(PDF) . 複素数から実数へ. 2011年7月20日時点のオリジナルよりアーカイブ(PDF) 。 2017年11月10日閲覧
  7. ^ Jaffe, David B.; Bouyukliev, Iliya. 「最大7次元の最適2進線形符号」。2007年8月8日時点のオリジナルよりアーカイブ。 2007年8月21日閲覧

さらに読む

  • Rudra, Atri. 「ハミング符号とハミング境界」(PDF) .講義ノート.
  • Rudolph, Dietmar; Rudolph, Matthias (2011-04-12). "46.4. Hadamard– oder Walsh–Codes". Modulationsverfahren (PDF) (ドイツ語). コトブス, ドイツ:ブランデンブルク工科大学(BTU). p. 214. 2021年6月16日時点のオリジナルよりアーカイブ(PDF) . 2021年6月14日閲覧(14+225ページ)
Retrieved from "https://en.wikipedia.org/w/index.php?title=Hadamard_code&oldid=1312462825"