JP2000516072A - Method and apparatus for encoding and decoding data - Google Patents
Method and apparatus for encoding and decoding dataInfo
- Publication number
- JP2000516072A JP2000516072A JP10513383A JP51338398A JP2000516072A JP 2000516072 A JP2000516072 A JP 2000516072A JP 10513383 A JP10513383 A JP 10513383A JP 51338398 A JP51338398 A JP 51338398A JP 2000516072 A JP2000516072 A JP 2000516072A
- Authority
- JP
- Japan
- Prior art keywords
- code
- value
- word
- coset
- symbol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
- 238000000034 method Methods 0.000 title claims abstract description 112
- 239000011159 matrix material Substances 0.000 claims abstract description 72
- 230000005540 biological transmission Effects 0.000 claims abstract description 47
- 230000009021 linear effect Effects 0.000 claims abstract description 40
- 239000013598 vector Substances 0.000 claims description 39
- 238000004891 communication Methods 0.000 claims description 23
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 230000009466 transformation Effects 0.000 claims description 9
- 238000001514 detection method Methods 0.000 abstract description 22
- 230000000875 corresponding effect Effects 0.000 description 52
- 238000012937 correction Methods 0.000 description 34
- 230000014509 gene expression Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 15
- 230000008901 benefit Effects 0.000 description 8
- 239000000969 carrier Substances 0.000 description 8
- 230000007423 decrease Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000010363 phase shift Effects 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000000295 complement effect Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- NPPQSCRMBWNHMW-UHFFFAOYSA-N Meprobamate Chemical compound NC(=O)OCC(C)(CCC)COC(N)=O NPPQSCRMBWNHMW-UHFFFAOYSA-N 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004576 sand Substances 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241001385733 Aesculus indica Species 0.000 description 1
- 241000545744 Hirudinea Species 0.000 description 1
- LFVLUOAHQIVABZ-UHFFFAOYSA-N Iodofenphos Chemical compound COP(=S)(OC)OC1=CC(Cl)=C(I)C=C1Cl LFVLUOAHQIVABZ-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- FOAPRBCMXZQJRS-FQEIHMINSA-N carboxy (2r,4ar,6r,7r,8r,8ar)-6-[(2s,3r,4s,5r,6r)-5,6-dihydroxy-2,4-dimethyloxan-3-yl]oxy-7-hydroxy-2-methyl-8-[(2s,3s,4s,5s,6r)-3,4,5-trihydroxy-6-(hydroxymethyl)oxan-2-yl]oxy-4,4a,6,7,8,8a-hexahydropyrano[3,2-d][1,3]dioxine-2-carboxylate Chemical compound C[C@@H]1O[C@@H](O)[C@H](O)[C@H](C)[C@H]1O[C@H]1[C@H](O)[C@@H](O[C@H]2[C@H]([C@@H](O)[C@H](O)[C@@H](CO)O2)O)[C@@H]2O[C@](C)(C(=O)OC(O)=O)OC[C@H]2O1 FOAPRBCMXZQJRS-FQEIHMINSA-N 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/26—Systems using multi-frequency codes
- H04L27/2601—Multicarrier modulation systems
- H04L27/2602—Signal structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
- H04L25/4906—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
- H04L25/4908—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using mBnB codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/26—Systems using multi-frequency codes
- H04L27/2601—Multicarrier modulation systems
- H04L27/2614—Peak power aspects
- H04L27/2615—Reduction thereof using coding
- H04L27/2617—Reduction thereof using coding using block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/26—Systems using multi-frequency codes
- H04L27/2601—Multicarrier modulation systems
- H04L27/2602—Signal structure
- H04L27/26025—Numerology, i.e. varying one or more of symbol duration, subcarrier spacing, Fourier transform size, sampling rate or down-clocking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Dc Digital Transmission (AREA)
Abstract
(57)【要約】 本発明は、コード化された直交周波数分割多重化(すなわちCOFDM)システムにおいてデータの符号化および復号を実行する方法および装置を提供する。本発明において、nビットのデータ・ワードが(2、4,8などの)2m個のシンボルのコード・ワードとして符号化される。コード・ワードは、COFDM経路上の伝送の所望の低いピーク平均エンベロープ・パワー比率(すなわちPMEPR)特性に関して、指定された生成器マトリックスを持つコードの線形サブコードの剰余類セットから選択される。このように選択されたコード・ワードは、3を越えるmの値に対しても、PMEPRを3以下に制限し、指定されたエラー制御特性を持ち、(組み合わせ論理のような)分析的回路技術を使用する形態での実施および有用な伝送率でのデータ伝送を可能にする多数の異なるコード・ワードを含むことができる。また、一層高いコード率を達成するため、他のコード・ワードを選択して、高い最大PMEPRまたは低いエラー検出能力を実現することも可能である。 SUMMARY The present invention provides a method and apparatus for performing data encoding and decoding in a coded orthogonal frequency division multiplexing (or COFDM) system. In the present invention, an n-bit data word is encoded as a code word of 2 m symbols (2, 4, 8, etc.). The code word is selected from the coset set of linear subcodes of the code with the specified generator matrix, with respect to the desired low peak-to-average envelope power ratio (i.e., PMEPR) characteristics of the transmission on the COFDM path. The code word thus selected limits PMEPR to 3 or less, for values of m greater than 3, has specified error control characteristics, and uses analytical circuit techniques (such as combinatorial logic). Can be included in a number of different codewords to allow implementation in a form that uses sigma and data transmission at useful rates. Also, to achieve a higher code rate, other code words can be selected to achieve higher maximum PMEPR or lower error detection capability.
Description
【発明の詳細な説明】 データの符号化および復号の方法および装置 技術分野 本発明は、データを符号化し復号する方法および装置、ならびに、そのような 方法および装置を組み込む通信システムに関するものであり、特に、コード化さ れた直交周波数分割多重通信方式(すなわちcoded orthogonal frequency divis ion multiplexingであって以下COFDMと略称する場合がある)のような多搬 送波周波数分割多重通信方式を使用してデータを伝送する方法、装置およびシス テムに関するものである。背景技術 コンピュータに基づく強力な設備および装置の広範囲な使用の増加に伴って、 有線および無線の両方の技術に基づく高速で大容量の通信に対する必要性が急速 に増大している。この増大する要求に対処する1つの方法は、可能な限り高いシ ンボル率で動作するように通信システムを設計することである。しかしながら、 シンボル率の増加は、典型的には、シンボル間の間隔がそれに相応して減少し、 そのため、受け取られるシンボルにおけるシンボル間干渉(すなわちinter-symbo l Interferenceであり以下ISIと略称する)およびその結果としてのエラーを 発生させる。有線接続経路の場合、ISIは、例えば、通信経路の異なる部分の 間のインタフェースが完全に一致しない場合の信号の反射作用から発生すること がある。無線接続経路の場合は、ISI発生ソースの大部分は、信号が横切る空 間における(建物のような)対象物からの信号反射を伴う多重経路伝搬であり、移 動無線通信は、該通信経路を使用する移動装置の移動によって移動装置に延伸す る複数伝播経路の連続的で複雑な変動が発生するため、特にこのソースからのI SIの影響を受けやすい。 通信システム容量を増加させISIに対する対策を講じるため活発に研究され 開発されている技術は、COFDM動作のような多搬送波(またはマルチトーン) 周波数分割多重動作である。COFDMシステムにおいては、複数のシンボルが 同時に伝送され、各シンボルは、間隔の狭い周波数を持つ複数の搬送波信号のう ちの対応する1つの変調(例えば位相シフト・キーイング)を制御する。シンボル が各搬送波上で伝送される伝送率に対する適切な関係を持つように伝送波周波数 問隔を選択することによって、各個別伝送波が、隣接する伝送波からの干渉を受 けずに復調されることができる(このようなケースを伝送波が相互に直交してい るという)。1つのシンボル・ピリオド(すなわち1つのコード・ワード)の間に それぞれの伝送波に同時に伝送されるシンボルのセットが、データ・シンボル( すなわちデータ・ワード)の1つのグループを符号化するため選択されるが、こ のセットには冗長性が含まれる(すなわち符号ワードはデータ・ワードより多い シンボルを持つ)。この冗長性は、受け取りの際受け取ったシンボルにおけるエ ラーの検出および必要な場合それらエラーの訂正のため使用される。 COFDMシステムは、複数シンボルの並列伝送によって、逐次処理システム が個別シンボルを連続的に伝送するために使用される場合に必要とされるよりも 低いシンボル率で所望のデータ速度を達成することが可能とされるので、ISI 問題に対して部分的に対処する。比較的低いシンボル率は、各シンボルに対する 比較的長い持続時間、すなわちシンボル移行の間の比較的長い期間を意味し、こ れがISIの影響を減少させる。冗長性の包含によって与えられるエラー検出お よび訂正の能力は、信号強度の変動およびその他の原因による受け取りシンボル に発生するいくつかのエラーを検出し訂正することを可能にすることによって、 データ破壊に対する抵抗力を強化する。 しかしながら、現在のCOFDMシステムは、実際に伝送された信号の典型的 なピーク平均エンベロープ・パワー比率(すなわちpeak-to-mean envelope power ratioであり、以下PMEPRと略称する場合がある)のため、特定の送信信号 パワーに関する潜在的利益を最大限に引き出す上で困難な問題に遭遇する。この 信号は、実際には、各シンボル移行において変化するそれぞれの位相を持ち、密 に間隔をおいた周波数におけるいくつかの信号の総和であるので、低いがなお変 動する振幅の実質的に一層長いインターバルで間隔をあけた一時的明白なピーク を示す傾向がある。送信機器は、クリッピングまたは他のゆがみなしにピークを 再生するように調節されなければならない。それによって、機器は、ピークの間 のインターバルにおいて、大部分の時間、その最大能力を十分下まわる信号レベ ルで動作することができる。結果として、機器の地理的範囲は、その公称パワー 率に関して予期するものよりかなり低いか、または、所望の範囲をカバーするた め非常に強力な機器が用意されるが、その稼働率は低くなる。 可能なデータ・ワードを符号化するコード・ワードの慎重な選択によって原理 的にはこの問題を軽減することができるということが知られている。この技術は 、例えば、Electronics Letters,8th December 1994,vol.30,no.25,pp.209 8-2099所載のA.E.Jones、T.A.WilkinsonおよびS.K.Barton3氏著の″Block codi ng scheme for reduction of peak to mean envelope power ratio of multicar rier transmission schemes(多搬送波方式のピーク平均エンベロープ・パワー率 の減少のためのブロック符号化方式)に記載されている。しかしながら、PME PRを減少させるためコード・ワードを選択する際にコードが良好なエラー訂正 特性を持っていることを確認することがまた重要である。更に、高いスループッ トの通信システムの実施は、長いコード・ワードおよび迅速な符号化/復号化プ ロシージャの使用を含むことが望ましい。すなわち、特に復号の間に、(約16 ワード以上という)長いコード・ワードを用いる場合が典型的場合であるが、検 査されるべき有効なコード・ワードの数が大きい場合、既知の単純なルックアッ プ・テーブルの使用は、コンパクトな(かつ低いパワーで廉価な)回路を使用する 迅速な動作の実行には役立たない。従って、例えばデータ・ワードまたはコード ・ワードのシンボルに関して相互変換を行うため例えば組合せ論理を実行したり 、あるいは、使用されるルックアップ・テーブルの大きさを少なくとも制限する ような分析的プロシージャの観点から符号化および復号化操作が定義可能である ことが望ましい。 更に、典型的なシステムにおいて使用されるコードを定義するため選択を行な う対象となるコード・ワード量が少ないことによって別の問題が発生する。コー ド・ワードのシンボルの数が増加するにつれ、2進数シンボルの場合でさえ可能 なコード・ワードの数は非常に急速に増加する。3つの(3進の)または4つの( 4 進の)可能な値を持つシンボルの場合、使用可能なコードの数は非常に短いコー ド・ワードに関しても非常に大きくなるので、単にPMEPRを最小にするため でもすべての可能なコード・ワードを単純に探索するのは現実的時間において不 可能である。エラー訂正および実施上の要件を充足する試みもまた、特に、所望 のサイズでありながら、同時に、PMEPR、エラー検出/訂正および符号化/ 復号化の容易性に関する好ましい基準を満たすコード・ワード・セットが実際に 存在するか否かは不明であるので、単にそのような探索の困難性を付加するにす ぎない。多数の異なるデータ・ワード(すなわち比較的多くのシンボルを含むデ ータ・ワード)を符号化し許容可能な高データ伝送速度を達成することができる ようにするため多数のコード・ワードを、選択されるコードにおける使用のため 、利用できるにしたいという欲求によって、この困難性は更に悪化する。 特定の種類のコードがいくつかの望ましい特性を持つことができるということ は知られている。IEEE Transactions on Communications,vol.39,no.7,July 1991,pp.1031-1033所載のB.M.Popovic氏による論文"Synthesis of Power Effic Ient Multitone Signals with Flat Amplitude Spectrum(平坦振幅分布を持つ効 率的パワーのマルチトーン信号の合成)"は、6dBV以下の(PMEPRに同等 の)波高率を持つマルチトーン多周波信号を構築するためどのようなバイナリま たは多相の相補シーケンスでも使用することができることを教示している。例え ば、IRE Transactions on Information Theory,vol.IT-7,Apr.1961,pp.82-8 7所載のM.J.E.Golay著'Complementary series(相補シリーズ)')のバイナリ相補 シーケンス・ペアのケースに見られるように、これらのシーケンスのいくつかの 例が開示されている。しかしながら、上記Provic氏の論文は、複数経路信号変動 および多重周波ジャムのような状況に向けられている。このような状況では必要 とされる信号を生成するため単一のコード・ワードを継続的に使用することがで きる。従って、Provic氏の論文は、情報を運ぶ実際のコードにおけるPMEPR に関する6dBV限界を達成するため複数シーケンスをどのように特定するする ことができるかに関する指針を与えてなく、また、実際の実施に適するコードに 関する上記以外の必要条件になんら言及していない。Propovic論文は、「最小ピ ークピーク振幅を持つ多周波信号の構築はいまだに分析的解決策を持たない古く からある問題である」と記述している。 Golay相補シーケンス・ペアおよびそれを使用して定義されるコードはいわゆ るGolayコードとは異なるものである点に注意すべきであり、混同されるべきで はない。Golay相補シーケンス・ペアおよびGolayコードはそれぞれ別々に同一の 研究者によって最初に定義されたものであり、そのためその研究者の名前によっ てそれらが呼ばれているにすぎない。 可能なコード・ワードの潜在的に巨大な検索空間にもかかわらず非常に多数の 異なるコード・ワードが実際に定義可能であるような形態で、PMEPRに関す る予測可能な低い限度を提供し、エラー検出および訂正特性を指定し、高速回路 での実施が可能な、符号化および復号化の方法および装置を提供することが本発 明の目的である。発明の開示 本発明の1つの側面に従って、コード化された直交周波数分割多重通信方式( すなわちCOFDM)のような多搬送波周波数分割多重通信方式を使用する伝送 のため2m個シンボルのコード・ワードとしてデータ・ワードを符号化する方法 が提供される。該方法は、それらデータ・ワードの値、および、上記伝送の所望 のピーク平均エンベロープ・パワー比率特性に関して、 という生成器マトリックスを有するコードの線形サブコードの1つまたは複数の 剰余類セットから上記伝送の所望のピーク平均エンベロープ・パワー比率に関し て完全な剰余類の形態で選択されるコード・ワードに従って、データ・ワードを 符号化する。但し、この場合、zは0から2m−1までの整数値であり、yはm から0までの整数値であり、xは(m+1)ビットの2進数として表される因子の ビット単位乗数を示し、除算の結果は1桁値として表現される。 本発明の別の1つの側面に従って、コード化された直交周波数分割多重通信方 式(すなわちCOFDM)のような多搬送波周波数分割多重通信方式を使用する伝 送のため2m個シンボルのコード・ワードとしてデータ・ワードを符号化する方 法が提供される。該方法は、それらデータ・ワードの値、および、上記伝送の所 望のピーク平均エンベロープ・パワー比率特性に関して、 という生成器マトリックスを有するコードの線形サブコードの1つまたは複数の 剰余類セットから上記伝送の所望のピーク平均エンベロープ・パワー比率に関し て完全な剰余類の形態で選択されるコード・ワードに従って、データ・ワードを 符号化するステップ、および、分析的符号器を使用して各コード・ワードを復号 するステップを含む。但し、この場合、zは0から2m−1までの整数値であり 、yはmから0までの整数値であり、xは(m+1)ビットの2進数として表され る因子のビット単位乗数を示し、除算の結果は1桁値として表現される。 本発明の更に別の1つの側面に従って、コード化された直交周波数分割多重通 信方式(すなわちCOFDM)のような多搬送波周波数分割多重通信方式を使用す る伝送のため、mが少なくとも4である2m個シンボルのコード・ワードとして データ・ワードを符号化する方法が提供される。該方法は、それらデータ・ワー ドの値、および、上記伝送の所望のピーク平均エンベロープ・パワー比率特性に 関して、という生成器マトリックスを有するコードの線形サブコードの1つまたは複数の 剰余類セットから上記伝送の所望のピーク平均エンベロープ・パワー比率に関し て完全な剰余類の形態で選択されるコード・ワードに従って、データ・ワードを 符号化する。但し、この場合、zは0から2m−1までの整数値であり、yはm から0までの整数値であり、xは(m+1)ビットの2進数として表される因子の ビット単位乗数を示し、除算の結果は1桁値として表現される。 本発明のなおまた別の1つの側面に従って、コード化された直交周波数分割多 重通信方式(すなわちCOFDM)のような多搬送波周波数分割多重通信方式を使 用する伝送のため、mが少なくとも4であり、jが少なくとも3である各々が2j の異なる可能な値を有する2m個のシンボルのコード・ワードとしてデータ・ワ ードを符号化する方法が提供される。該方法は、それらデータ・ワードの値、お よび、上記伝送の所望のピーク平均エンベロープ・パワー比率特性に関して、 という生成器マトリックスを有するコードの線形サブコードの1つまたは複数の 剰余類セットから上記伝送の所望のピーク平均エンベロープ・パワー比率に関し て完全な剰余類の形態で選択されるコード・ワードに従って、データ・ワードを 符号化する。但し、この場合、zは0から2m−1までの整数値であり、yはm から0までの整数値であり、xは(m+1)ビットの2進数として表される因子の ビット単位乗数を示し、除算の結果は1桁値として表現される。 本発明の別の1つの側面に従つて、通信経路上での伝送のため、jが正整数の 変数である各々が2jの異なる可能な値を持つ2mシンボルのコード・ワードとし てデータ・ワードを符号化する方法が提供される。該方法は、データ・ワードの 値、および、zが0から2m−1までの整数値を持ち、yがmから0までの整数 値を持ち、xが(m+1)ビット2進数として表現される因子のビット単位乗算を 示し、除算の結果が1桁値として表現されるとして、 という生成器マトリックスを有するコードの線形サブコードの1つまたは複数の 剰余類のセット内に含まれる値jのコード・ワードを持つコードに従ってデータ ・ワードを符号化する。 本発明の更に別の側面に従って、zが0から2m−1までの整数値を持ち、y がmから0までの整数値を持ち、xが(m+1)ビット2進数として表現される因 子のビット単位乗算を示し、除算の結果が1桁値として表現され、各コード・ワ ード・シンボルがj>2である2jの異なる可能な値を持ち、 という生成器マトリックスを有するコード・ワードのセットの範囲内で2m個シ ンボルのコード・ワードを識別する方法が提供される。該方法において、上記マ トリックスの行に関する係数が、複数の迅速アダマール変換または同等の変換方 式を2mシンボル入力ワードに適用し、その変換の結果を結合して上記コード・ ワードを識別することによって、上記マトリックスの行に関する係数が導出され る。 本発明また別の1つの側面に従って、直交周波数分割多重通信方式(すなわち COFDM)のような多搬送波周波数分割多重通信方式を使用する伝送のため2m シンボルのコード・ワードとしてデータ・ワードを符号化する符号化器が提供さ れる。該符号化器は、データ・ワードを受け取り、そのデータ・ワードの値、お よび、zが0から2m−1までの整数値を持ち、yがmから0までの整数値を持 ち、xが(m+1)ビット2進数として表現される因子のビット単位乗算を示し、 除算の結果が1桁値として表現されるとして、 という生成器マトリックスを有するコードの線形サブコードの1つまたは複数の 剰余類セットから上記伝送の所望のピーク平均エンベロープ・パワー比率に関し て完全な剰余類の形態で選択されるコード・ワードに従って受け取ったコード・ ワードを符号化する手段を備える。 本発明を実施する回路は比較的単純でコンパクトである。従って、例えば符号 化に使用されるコード・ワードの識別は、比較的長いコード・ワードの場合でさ え膨大な数のコード・ワードをくまなく探索して時間を浪費する必要がない。同 様に、復号も存在する可能性のあるすべての有効なコード・ワードを含む(長い コード・ワードに関して実用的でない)膨大なルックアップ・テーブルを必要と しない。従来必要である、または、可能性の限界であると信じられてきた時間浪 費的探索や大きなルックアップ・テーブルと対比して、本発明の実用的実施形態 の単純性およびコンパクトさは、本発明が提供する顕著な進歩を示すものである 。図面の簡単な説明 コード化された直交周波数分割多重通信方式(COFDM)を使用してデータを 伝送する通信システムにおいて本発明に従ってデータを符号化および復号する方 法および装置は、以下のような添付図面を参照して記述される。 図1は、基地局と移動通信装置の間の多経路伝搬を示すブロック図である。 図2は、単一シンボルの伝搬に及ぼす多経路伝搬の影響を示すブロック図であ る。 図3は、多経路伝搬から派生するシンボル間干渉を示すブロック図である。 図4a乃至図4hは、多搬送波周波数分割多重通信方式の使用によるシンボル 間干渉の減少を示すブロック図である。 図5は、COFDMシステムにおいて使用される符号化器および変調器を示す ブロック図である。 図6は、図5の符号化器および変調器を組み込むCOFDMシステムのブロッ ク図である。 図7は、いかなるPMEPRの制限もないCOFDM信号波形の一般形式を示 すグラフ図である。 図8は、8ビットのコード・ワードとして5ビットのデータ・ワードを符号化 するため本発明を取り入れた符号化器および復号器を示すブロック図である。 図9は、16ビットのコード・ワードとして8ビットのデータ・ワードを符号 化する符号化器を示すブロック図である。 図10は、図9の符号化器によって生成されたコード・ワードを復号するため 本発明を取り入れた復号器を示すブロック図である。 図11は、図9の符号化器によって生成されたコード・ワードを復号するため 使用できる復号器の代替形態を示すブロック図である。 図12は、16シンボル4進数コード・ワードとして13ビットのデータ・ワ ードを符号化するため本発明を取り入れた符号化器を示すブロック図である。 図13は、図12の符号化器によって生成された4進数コード・ワードを復号 するため本発明を取り入れた復号器を示すブロック図である。 図14は、16シンボル8進数コード・ワードとして18ビットのデータ・ワ ードを符号化するため本発明を取り入れた符号化器を示すブロック図である。 図15は、図14の符号化器によって生成された8進数コード・ワードを復号 するため本発明を取り入れた復号器を示すブロック図である。発明の実施形態 図1乃至図3は、都市環境における移動通信という条件における多経路搬送に 関わる問題を示すための図である。基地局10は無線を介してすなわちマイクロ 波波長で移動電話12のような移動通信装置と通信する。基地局10と電話12 の間には直接見通せる信号経路14があるが、建物やその他の構造物の形態での (マイクロ波信号に対する)複数の反射体の存在のため複数の反射信号経路16も また存在する。典型的にはこれらの経路の長さは異なり、従って、目的地までの 到達に種々の伝搬遅延を伴う。例えば移動電話12において受け取られる全般的 信号は、異なる経路を通して電話に到着する種々の信号の総和である。 伝送される信号は、(例えば位相シフトキーイングによって)搬送波を変調する 連続的シンボルを含むとみなすことができる。図2に示されるように、異なる伝 搬遅延を持つ複数の経路にわたる信号の結果、1つのシンボルに関して受け取ら れる混成信号18はそのシンボルに関して伝送された信号20の正確な複製では ない。特に、受信された混成信号は、典型的には、送信された信号より持続時間 が長く、送信された信号の正確な複製が完了した時点の後に大きな振幅の余波部 分を持つ。図3に示されるように、この余波部分が、時刻Tで名目的に終了する パルスについて、シンボル期間の相当部分に延伸している場合、余波部分は、後 続のシンボルと重なりその受信を干渉する。この結果、その後続のシンボルは間 違って受け取られる可能性がある。すなわち、受信装置で検出されるそのシンボ ルの値が、その他のソースのノイズがない場合でさえ、送信された通りの値を正 しく表現しない可能性がある。この種の信号の破壊は、符号間干渉(ISI)とし て知られている。 ISIの影響は、図4aに示されるように、受信されるシンボルが多経路伝搬 遅延によって派生する余波を越えて延伸するように、送信されるシンボルの持続 時間を拡大することによって軽減することができる。続いて起こるシンボル率の 減少に対する対策として、各々が複数の搬送波のそれぞれ1つを変調する複数の シンボルを同時に送信することが提案されてきた。従って、図4a乃至図4hに 示されるように、8搬送波が使用されるとすれば、各搬送波上のシンボル期間は 、同一の全般的シンボル率を維持することを前提とすれば(図3に示されるよう な)単一搬送波について必要とされるものの8倍となる。多搬送波の間の周波数 間隔がシンボル期間の逆数の整数倍であるとすれば、搬送波の各々を変調する個 々のシンボル・ストリームを他の搬送波からの干渉を受けず復元することは可能 である。この技術は、直交周波数分割多重通信方式(すなわちOFDM)として知 られている。 複数搬送波の使用に加えて、ブロック符号化の使用によるエラー検出および訂 正能力の付与が提案されてきた。この場合、図5に示されるように、データ・シ ンボル(この例では2進数のシンボル)の連続ストリームが、各々が5つのシンボ ルを含む連続したグループまたはワードに概念的に分割される。5つのシンボル からなる1つのグループは、対応する8ビットのコード・ワードを出力する5ビ ット8ビット(5B/8B)符号化器30への入力とされる。このワード・ワード は、インターバルΔfの間隔の8個の連続する周波数で搬送波を生成する8つの 発振器34からなる1つのバンクを制御する8つのフェーズ・シフト・コントロ ーラ32の1つのバンクに適用される。コード・ワードに関する個々のビットの 各々によって、対応するフェーズ・シフト・コントローラは、正または負のいず れかのフェーズ・シフトΔΦを与え、その現在値に応じて、それぞれの発振器に よって生成される搬送波信号を変調する。 発振器34の変調された出力は加算機36において結合され、送信される信号 が生成される。実際には、発振器34および加算機36の機能は、図5において 点線で示されている部分38のように、反転高速フーリエ変換(すなわちIFF T)を実装するデジタル信号プロセッサにおいて便宜上結合される。かくして、 図6を参照すれば、送信されるべきデータは、ブロック40において受け取られ 、直並列変換器42において並列形式に変換される。並列データが上述のように 符号化器30で符号化され、符号化されたデータは、変調器/IFFT32/3 8における多搬送波信号の生成を制御する。この多搬送波信号は、D/Aコンバ ータ44においてアナログ形式に変換され、増幅され、そして送信機46に送ら れる。 受信は以下のように本質的に上記プロセスの逆である。信号は受信機48によ って受け取られ、増幅され、A/D変換器50によってデジタル形式に変換され る。デジタル信号は、高速フーリエ変換(FFT)を実装するデジタル信号プロセ ッサを備える復調器52に供給され、構成信号が、混成多搬送波信号に分離、復 調される。復調されたデータは、符号化器30によって適用された符号化を反転 させ、更に典型的にはエラー検出および訂正機能を実行する復号器54に渡され る。その後、並列逐次コンバータ56がデータを逐次形式に変換して出力部58 へ送る。 符号化器30によって実施されるコードの選択は、送信機46の効率的な動作 に関して重要な意味を持つ。多搬送波信号は、等しい振幅および等しく間隔をあ けた周波数を持ついくつかの正弦波の総和を含む。この結果、混成信号の最大絶 対値は、構成正弦波の相対的フェーズに非常に影響を受ける。これらの相対的フ ェーズは、各シンボル期間の終了時に、次のシンボル期間の間に伝送されるべき コード・ワードの値に従って、フェーズ・シフト・コントローラ32によって変 更される。相対的フェーズの特定のセット言い換えれば現在時コード・ワードの 値に従って、送信される信号の振幅は、図7に示されるように、変動はするが非 常に小さい値のインターバルと共に時折現れる明確なピークを持つであろう。こ のように、送信される信号のピーク平均エンベロープ・パワー比率(PMEPR) は相対的に大きい。 そのような信号がゆがみなしで送信されるためには、送信信号の振幅がそのピ ークの値に達する時そのダイナミック・レンジの大部分がまれな場合を除いて使 用されないようにするため、送信機46は線形増幅器を使用し、それを比較的能 率の悪い状態で操作する必要がある。 伝送のデータを符号化するために実際に使用されるコード・ワードのセットの 適切な選択によってこの問題を減らすことが提案されてきた。PMEPRの極端 な値を作成するコード・ワードの使用を避けるブロック符号化の使用が、1995 I EEE 45th Vehicular Technology Conference,July 1995,pp.825-829所載のT. A.WilkinsonおよびA.E.Jones両氏著の"Minimisation of the peak to mean env elope power ratio of multicarrier transmission schemes of block coding( ブロック符号化の多搬送波伝送方式のピーク平均パワー・エンベロープ比率の最 小化)"において提唱されている。この提案はPMEPRの減少が可能なことを示 してはいるが、同時に、符号化および復号の効率的実施を可能にし、かつ、復調 された信号におけるエラーを検出し訂正するために要求される能力を提供するコ ード・ワードのセットを選択することの困難性を指摘している。この問題に対処 する可能な方法は議論されてはいるが、実際の解決策は提示されていない。この アプローチに対する修正が,1996 IEEE 46th Vehicular Technology Conference ,April 1996,pp.904-908所載の同じ著者による"Combined coding for error control and increased robustness to system nonlinearities in OFDM(OFD Mにおけるエラー制御のための組み合わせ符号化およびシステム非線形性に対す る堅固性の増加)"に開示されている。この修正においては、所望のエラー訂 正および検出特性を備えるように線形ブロック・コードが選択され、次に、PM EPRを低減させながら同等のエラー検出/訂正特性を維持するようにコードに おける線形性および冗長性を開拓してコード値を新しい値に変換することが提案 されている。上記論文では、4B/7B、4B/8Bおよび11B/15Bとい うコードが例として与えられていて、その場合、各コード・ワードに従つて変調 された多搬送波信号に関するPMEPRの順序ですべての可能なコード・ワード 値をリストすることを含むプロシージャによって、必要とされる変換が識別され ている。そのような徹底的検索アプローチは(例えば15ビットという次数のよ うな)比較的短いコード・ワードに関しては実行可能であるけれども、検査され るべき可能なコード・ワードの数は、コード・ワードの長さと共に急速に増加す る。32ビットのコード・ワードに関してさえ、潜在的に4,000,000,000を越え るコード・ワードがリストされる必要があり、これはうまくいっても時間を浪費 するものであり、実際問題としておそらく回避すべきものである。コード・ワー ドの適切なサブセットが検査されているセットの中に実際に存在することを保証 できないことによって上記の問題は更に増幅される可能性がある。 上記引用したPopovic氏の論文は、単一の2進数または多相の相補シーケンス の使用を提案している。しかし、上記引用の1996年論文は、そのようなシー ケンスはそれらのエラー訂正/検出能力に関連して修正することが容易ではない ことを示唆している。 このように、エラー訂正および検出、当該コード・ワードに従って変調される 多搬送波信号の最大PMEPR、および(例えば組合せ論理の使用を含むような) 実際的な符号化器および復号器の簡単で効率的実施に関する所望の基準を満たす 多くの異なるコード・ワードを含むセットを特定する問題は依然として残ってい る。この問題の大きさは、図5に示されているような8ビットのコード・ワード を使用して5ビットのデータ・ワードを符号化する例を考察することによって確 認できる。一般的ケースでは、256の可能なコード・ワードがあり、そのうち の32が32の可能なデータ・ワードを符号化するために選択されなければなら ない。どのような特定のコード・ワードの組合せが上述の基準に対する適合に影 響を及ぼすかについての知識がない場合、256のうちのすべての可能な32コ ード・ワードのサブセットを考慮する必要がある。すなわち、それら可能なサブ セットは、256!/(224!*32!)=1041というオーダーの数に及ぶ。もしも8ビットの データ・ワードが16ビットを使用して符号化されなければならないとすれば、 考慮しなければならない可能なサブセットは、65536!/(65280*256!)=10726とい うオーダーの数となる。 図8は、以下のような特性を持つ5B/8B符号化器60および復号器80を 示している。すなわち、 ・エラー検出:最小ハミング距離(すなわち有効なコード・ワードをなにか別の 有効なコード・ワードに変換するため、例えば干渉によってその値が変えられな ければならないシンボルの最小数)が2であること(これを一般化すれば、2m個 のシンボルを含む2進数コード・ワードに関する距離は2m-2である)、 ・8ビットのコード・ワードに従って変調された多搬送波信号の最大PMEPR は例えば6dBVパワー・レベルに関して3dBであること、 ・符号化されるデータに関するブロック・コードは、有効な高データ伝送率の達 成を可能にすることができるように十分多数の異なるコード・ワードを含むこと 、および、 ・符号化器60および特に復号器80は、組合せ論理を使用して容易に実施する ことができること、 である。 図8を参照すれば、符号化器60はその入力部において5つのデータ・ビット を受け取る。これらの下位4ビットは、それぞれ対応する2進数乗算器62−6 8に接続し、第5の最上位ビットはセレクタ70に接続する。各乗算器62−6 8は、乗算器62:0101 0101、乗算器64:0011 0011、乗算器66:0000 111 1、および、乗算器68:1111 1111というそれぞれの固定8ビット値によって、 受け取った入力ビットを乗算するように構成される。実際には、各乗算器は、8 つの論理ANDゲートを使用して、入力ビットをそれぞれの固定8ビット値の各 ビットと別々に結合するように実施される。これらの4つの乗算器の出力は、ビ ット単位の排他論理和回路(XOR)72に接続され、そこで、受け取った8ビッ ト値のビット単位2進数加算(すなわち対応する有効ビットの加算モジュロ2)が 実行される。 入力ビットの最上位の値が0であるか1であるかに応じて、セレクタ70は、 0001 0010または0000 0110という2つの可能な8ビット値のうちの1つを選択す る。選択された値は、XOR回路72の第5の入力に送られ、8ビットのコード ・ワードが出力される。図8の符号化器60は、32個の可能な5ビット・デー タ・ワードを以下の表1のような8ビットのコード・ワードに符号化する。 復号器80は、その入力部において8ビット・コード・ワードを受け取り、そ のビット値を8ビットの2次リードーマラー(RM)復号器82にかける。この復 号器は、例えばNorth-Holland,Amsterdam,1986,pp.385-388所載のF.J.MacWi lliams、N.J.A.Sloane両氏著の'The Theory of Error-Correcting Codes(エラ ー訂正コードの理論)'に記載されている多数論理復号という既知のリードーマレ ー復号アルゴリズムを使用する。この復号器は、復号と、少なくともコード・ワ ードの長さに関する限度までの入力コード・ワードのビット数に影響を与えるエ ラー検出/訂正を同時に実行する。RM復号器82は、RM復号器の出力値を構 成する2セットの出力信号を生成する。信号の「2次」セット84(この場合3 個の信号)は、出力値の「ファミリ」または剰余類を識別し、信号の「1次」セ ット86(この場合4個の信号)は、その剰余類の範囲内の特定の出力値を識別す る。この1次の4個の信号86は、全体の復号器80によって出力されるデータ ・ワードの少なくとも下位4ビットに関する復号された値を直接作成する。2次 の3つの信号84はセレクタ88に接続され、そこで全体復号器80によって出 力されるデータ・ワードの第5の最上位ビットの値が生成される。具体的には、 セレクタ88は、3つの2次信号を記憶されている2つの3ビット値と比較する 。2次信号84が値101を持てば、セレクタは最上位出力ビットの値として2進 数0を与え、値110を持てば2進数1を与える。信号84が101または110以外の 値を持つ場合、RM復号器は受け取られた8ビット・コード・ワードを上記表1 に掲載されているコードではないと認識して、それがセレクタ88のデータ・エ ラー出力部90における信号によって標示される。 16ビット・コードワードの観点から図11を参照して後述される代替的復号 技術は、有効なコード・ワード(符号化器によって出力され得るコード・ワード )のみを出力する。 2次RM復号器82自体のエラー検出および訂正の能力は、RM復号器82の 組み込みによって全体復号器80に継承される。かくして、上述のように、コー ドの最小ハミング距離は2である(m=3の場合2m-2=2)。復号器80は、コ ード・ワードを形成するビットに影響を与える最高2m-2−1のエラーを検出す ることができる。従って、m=3の場合、検出可能なエラーは1である。説明の 便宜上8ビットのコード・ワードに限れば、復号器80は、一般的ケースにおけ る訂正可能なエラーの数は2m-3−1でありm=3とすればゼロに等しいので、 エラーの訂正を実際には保証できない。受け取ったコード・ワードにおける単一 ビット・エラーに関しては、2つの有効な8ビット・コードのいずれかが、場合 によっては、単一ビット位置の変更によって同一の受け取りコード・ワードを作 成するように影響されるであろう。実際には、上記の復号技術は有効である可能 性のあるコードのうちの1つを恣意的に選択するので、エラーを訂正することが できるかもしれない(保証はされないが)。これより長いコード・ワード(後述)の 場合エラー訂正は可能である。 表1の8ビットのコード・ワードに従って変調された多搬送波信号のPMEP Rは3dB以下である。復号器80は、解析手法を使用して(すなわちコード・ ワードのセットの範囲内における体系的パターンを活用して)動作し、例えば少 くとも部分的に組合せ論理を使用し実施することができる。セレクタ88はルッ クアップ・テーブルであるが、このテーブルはコード・ワードのセット全体を含 まないし、ルックアッブ・テーブルという実施形態は必須のものではない。 表1のコードにおいて、許容可能なデータ伝送率(すなわちコード・ワードに つき5データ・ビット)を提供する32個のコード・ワードがある。復号器80 自体は既知の2次RM復号器82を含むが、表1のコードは、2次リード−マラ ー・コードを含まない点に注意する必要がある。2次リードーマラー・コードは 、長さ8の2次リードーマラー・コードの非線形サブセットであり、上述された 特性の新機軸で利点の多い組合せを持つ。そのようなコードが現在まで認識され たことはない。同様に、復号器80は、7B/8B2次リード−マラー・コード に従って符号化されたデータの復号を行う従来技術の8ビットの2次RM復号器 を使用しない。 図8の符号化器60および復号器80によって実施され所望の組み合わせの特 性を持つ5B/8Bコードは、以下のように導出され、比較的長いコード・ワー ドでコードを生成するように拡張される。5B/8Bコードのための出発点は、「 基底」コードを定義する以下のような8ビット値の生成器マトリックスである。 (0000 1111)(X1) (0011 0011)(X2) (0101 0101)(X3) (1111 1111)(X') このマトリックスの各行は、以下の説明の便宜上、X1、X2、X3およびX'という符 号が付けられている。 基底コードは、この生成器マトリックスの行のすべての16個の線形の組合せ を含むが、その組み合わせの形式は次の通りである。 a1X1(+)a2X2(+)a3X3(+)a'X' 但し、記号(+)はビット単位加算モジュロ2を示し、a1、a2、a3およびa'は0また は1という値を取る係数である(注:記号(+)は、添付の図面を含む本明細書の一 部において、円で囲まれた十記号として表記される場合がある)。この基底コー ドは線形である、すなわち、そのコード・ワードのうちの任意の2つのコード・ ワードに対するビット単位XOR演算の結果は、コード中の別の1つのコード・ ワードである。このコードのサブコードは、基底コードにあるコード・ワードの いずれかのサブセットであり(また特に全体コードでもあり得る)、線形サブコー ドがそれ自体線形であるようなサブコードである。実際には、サブコードは、有 用なシステムを構成するように、基底コードにおけるコード・ワードの十分な割 合を含まなければならない。実際の割合は、種々のパラメータ、特に、コード・ ワードの長さおよびコード・ワードにおける各シンボルに関する可能な値の数( 2進数の場合2つの値)に依存する。長さが8の2進コード・ワードという現在 のケースでは、基底コードにおける16のコード・ワードのうちの8つを含む線 形サブコードが十分なものであるかもしれない。より長いコード・ワードやより 可能なシンボル値に関しては、(4分の1、8分の1、16分の1など)2分の1 より小さい割合で十分よい場合がある。 行X1、X2およびX3のすべての可能なペアのビット単位乗算すなわちX1*X2、X1*X3 およびX2*X3によって導出される以下のような3つの付加的行を生成器マトリッ クスと結合することによって8ビットの生成器アレイが作成される。 (0000 0011) (X1*X2) (0000 0101) (X1*X3) (0001 0001) (X2*X3) 記号*によって標示されるビット単位乗算は、乗算される2つの値の対応する位 置にあるビットを乗算するか、または、それら2つの値に関してビット単位論理 AND演算を実行する。 これら付加行は、ビット単位の排他論理和(XOR)演算(すなわちビット単位 加算モジュロ2)によって結合され、(長さ8のコード・ワードの場合)3つの2 次値または2次剰余類代表値を生成する。第1の剰余類代表値は、行(X1*X2)と( X2*X3)を結合することによって次のように生成される。 (0001 0010)(X1*X2)(+)(X1*X3) 残りの剰余類代表値は、行識別子X1*X2およびX3のサブスクリプトのすべての可 能な順列を識別することによって次のように生成される。 (0001 0100)(X1*X3)(+)(X2*X3) (0000 0110)(X1*X2)(+)(X1*X3) (X1*X2)が(X2*X1)と同じ値を持ち、(X2*X3)が(X3*X2)と同じ値を持つので、(X1* X2)(+)(X2*X3)および(X3*X2)(+)(X2*X1)は同じ値を持ち、相違はない。同様 に、順列(X1*X3)(+)(X3*X2)は、どの付加行が各剰余類代表値に含まれている かを明示する目的から、同等の式(X1*X3)(+)(X2*X3)によって置き換えられて いる。 最後に、これらの剰余類代表値の各々は、ビット単位排他論理和演算によって 基底コードの中のすべてのコード・ワードと結合され、以下の表2のような基底 コードの3つの剰余類からなるセットを構成する合計48個のコード・ワードが 生成される。 これらの48のコード・ワードのすべては、前述の特性の組合せを備え、最も 一般的ケースにおいてこれら48のコード・ワードの中からいずれを選択するこ ともできる。実際問題として、2の整数累乗である多数のコード・ワードを使用 することが好ましく、それによって、符号化のため到来データストリームをブロ ックヘ分割することが単純化され、更に、コード・ワードを同じ剰余類代表値を 持つ16のグループにおけるコード・ワードの選択および実施が容易となる。従 って、選択される剰余類代表値の数は、利用できる剰余類代表値の数よりは大き くない最大の2の累乗値である。現在のケースでは、利用できるものは3であり 、対応する2の最大累乗数は、21すなわち2である。2つの剰余類代表値を選 択することは、32個のコード・ワードを提供する。従って、すべてのデータ・ ワードを符号化できる対応する最大の2進データ・ワード長は表1に示されるよ うな5ビットである。 図8に示される符号化器60および復号器80の場合、セレクタ70の内部で 示されているように、剰余類代表値(X1*X2)(+)(X2*X3)(すなわち0001 0010) および(X1*X2)(+)(X1*X2)(すなわち0000 0110)を持つコード・ワードが恣意的 に選択されている。また、入力データ・ワードの最上位ビットの値に従ってセレ クタ70によって選択される値自身は、これら2つの剰余類代表値である。 特定の剰余類代表値の特定の入力、実際には特定の入力ビット位置(最上位ビ ット)への割り当ては、任意であるが、符号化器のセレクタ70と復号器80の セレクタ88の間では整合していなければならない。RM復号器82によって提 供される3つの2次信号84は、上記の8ビット生成器アレイにおける付加行(X1 *X2)、(X1*X3)および(X2*X3)に対応する。セレクタ88に記憶される3ビット 値の個々のビットはそれぞれこれら行の各々に対応する。各3ビットの値は、最 上位データ・ビットに関する特定の値と関連づけられ、3つの付加行のいずれか のぺアが、(符号化器60において)そのデータ・ビット値に割り当てられた剰余 類代表値の中に現在存在するかを標示する。従って、値0を持つデータ・ビット は剰余類代表値(X1*X2)(+)(X2*X3)を割り当てられ、それに対応して、付加行( X1*X2)(+)(X2*X3)の剰余類代表値における存在が、そのデータ・ビット値に関 してセレクタ88に記憶されている3ビット値101の1ビットの位置によって標 示される。 また、図8に示されるように、符号化器60において、4つの最下位データ・ ビットに生成器マトリックスの行X3、X2、X1およびX'が乗算される。RM復号器8 2によって提供される1次信号86は、これらの行の各々に関する係数a3、a2、a1、 a'に対応する。これらの行の各々への特定入力データ・ビットの割り当ては、 同じ割り当てが符号化器60および復号器80で使用されることを前提として、 任意である。これが意味することは、特定の8ビットのコード・ワードの特定の 5ビットのデータ・ワードへの割り当ての可能性は、これらの行の各々への個々 の入力データ・ビットの割り当てによって支配されるが、割り当ては多数あり、 どのデータ・ビットがセレクタ70における剰余類代表値の選択を制御するかと いう選択、および、その選択を行う剰余類の選択によって、割り当てが行われる ということである。 上述のように、表2のコード・ワードは行X1、X2、X3およびX'からなる生成 器マトリックスを持つ線形サブコード(この場合全コード)の剰余類セットを構成 する。この種類の基底コードの使用は、所望のエラー検出および訂正特性を与え る。線形サブコードの選択は、例えば組合せの論理を使用して、各剰余類の範囲 内でコンパクトに符号化および復号を実施することができることを保証する。剰 余類は、一般に、基底コードを可能なコード・ワードの全体空間の異なる部分へ 体系的にシフトまたは変換することであるとみなされる。線形のサブコードの剰 余類の使用によって、(すべてゼロまたはすべて1のような)特定の望ましくない コード・ワードを回避することが可能とされ、その結果、特にPMEPRの値が 高くなるが、基底コードのエラー制御特性はある程度に維持される。そのような 剰余類セットからのコード・ワードの選択はPMEPRの良好な制御を可能にす る。なぜならば、前述のように、基底コードの各剰余類は、広く類似した関連P MEPRを持つコード・ワードを含む傾向があるからである。剰余類代表値が上 述のような識別された形式を持つような特定のケースでは、PMEPRは3dB を上回らないことが観察される。 本発明の符号化および復号能力は、次のように比較的長いコード・ワードに適 用することができる。エラー制御および実施の容易さという利点を保持するため 、コード・ワードの長さは2の整数累乗であることが望ましい。 従って、8より大きい次のコード・ワードの長さは16である。16ビットのコ ード・ワードに関する生成器マトリックスは次の通りである。 (0000 0000 1111 1111) (X1) (0000 1111 0000 1111) (X2) (0011 0011 0011 0011) (X3) (0101 0101 0101 0101) (X4) (1111 1111 1111 1111) (X') 16ビットの基底コードは、この生成器マトリックスの行のすべての32個の線 形の組合せを含み、以下のような形式の組み合わせである。 a1X2(+)a2X2(+)a3X3(+)a4X4(+)a'X' 但し、a1、a2、a3、a4およびa'は0または1の値を取る。 行X1、X2、X3およびX4のすべての可能なペアのビット単位乗算によって導出され る以下のような3つの付加行を上記16ビット生成器マトリックスと結合するこ とによって次のような対応する生成器アレイが作成される。 (0000 0000 0000 1111) (X1*X2) (0000 0000 0011 0011) (X1*X3) (0000 0000 0101 0101) (X1*X4) (0000 0011 0000 0011) (X2*X3) (0000 0101 0000 0101) (X2*X4) (0001 0001 0001 0001) (X3*X4) これら付加行は、ビット単位の排他論理和(XOR)演算によって結合され、1 2個の2次剰余類代表値を生成する。第1の剰余類代表値は、行(X1*X2)、(X2*X3 )および(X3*X4)を結合することによって次のように生成される。 (0001 0010 0001 1101) (X1*X2)(+)(X2*X3)(+)(X3*X4) 残りの剰余類代表値は、行識別子X1、X2、X3およびX4のサブスクリプトのすベての 可能な順列を識別することによつて次のように生成される。 (0001 0100 0001 1011) (X1*X2)(+)(X2*X4)(+)(X3*X4) (0000 0110 0011 0101) (X1*X3)(+)(X2*X3)(+)(X2*X4) (0001 0100 0010 0111) (X1*X3)(+)(X3*X4)(+)(X2*X4) (0000 0110 0101 0011) (X1*X4)(+)(X2*X4)(+)(X2*X3) (0001 0010 0100 0111) (X1*X4)(+)(X3*X4)(+)(X2*X3) (0001 0001 0010 1101) (X1*X2)(+)(X1*X3)(+)(X3*X4) (0001 0001 0100 1011) (X1*X2)(+)(X1*X4)(+)(X3*X4) (0000 0011 0110 0101) (X2*X3)(+)(X1*X3)(+)(X1*X4) (0000 0101 0110 0011) (X2*X4)(+)(X1*X4)(+)(X1*X3) (0000 0101 0011 1001) (X1*X3)(+)(X1*X2)(+)(X2*X4) (0000 0011 0101 1001) (X2*X3)(+)(X1*X2)(+)(X1*X4) 上述の場合と同様に、どの付加行が各剰余類代表値に含まれているかを明示する 目的から、一部の順列は同等の式によって置き換えらている。 最後に、これらの剰余類代表値の各々は、ビット単位排他論理和演算によって 16ビット基底コードの中のすべてのコード・ワードと結合され、以下の表3の ような基底コードの12の剰余類からなるセットを構成する合訃384個のコー ド・ワードが生成される。 これらコード・ワードのすべては、上述の特性に対応する次のよう特性を持つ。 ・エラー検出:最小ハミング距離4(m=4の場合2m-2=4)。エラー訂正復 号器は1つのコード・ワードを構成するビットに影響を及ぼす最高3つの(2m- 2 −1=3)エラを検出し、そのようなエラーの1つ(2m-3−1=1)を訂正す ることができる。 ・表3の16ビットのコード・ワードに従って変調された多搬送波信号のPME PRは3dBを越えない。 ・許容可能なデータ伝送率の達成を可能にすることができるように十分多数のコ ード・ワードが使用できる。 (2の整数累乗である多数のコード・ワードを使用し、同じ剰余類代表値を持 つ32のグループにおけるコード・ワードを選択する)好ましいケースに関して 、(剰余類代表値の数である)12を越えない最大の2の累乗値は23すなわち8 である。従って、好ましいケースにおいて、各々が32のコード・ワードの剰余 類のうちの8つが選択され、8ビットの長さのデータ・ワードに対応する256 個のコード・ワードが与えられる。 図9は、表3のコード・ワードを使用して本発明に従って8ビットのデータ・ ワードを16ビットのコード・ワードとして符号化する8B/16B符号化器1 00を示す。この符号化器は、入力データ・ワードの5つの下位ビットに16ビ ットの生成器マトリックス行X4、X3、X2、X1およびX'をそれぞれ乗ずる5個の 2進乗算器102−110を含む。入力データ・ワードの3つの最上位ビットは セレクタ112に供給され、セレクタ112は、それらの3つのビットの組み合 わせ値に従って8つの可能な剰余類代表値のうちの1つを選択する。図9に示さ れる実施形態において、表3にリストされた12の可能な剰余類代表値のうちの 最初の8つがセレクタ112における使用のため選択されている。5個の2進乗 算器102−1105およびセレクタ112の出力が、ビット単位排他論理和( XOR)回路114によって結合され、16ビットのコード・ワードが生成され る。 図10は、16ビットのコード・ワードを対応するデータ・ワードに戻す復号 を行う復号器120の第1の実施例を示す。コード・ワードは、mの値は大きい が図8の8ビット2次RM復号器82に対応する16ビット2次RM復号器12 2に供給される。RM復号器122によって生成される5つの1次信号124は 、全体復号器120によって出力されるデータ・ワードの5つの最下位ビットに 関する復号された値を提供する。これら信号124は、16ビットの生成器マト リックスの行X4、X3、X2、X1およびX'に関する係数a4、a3、a2、a1およびa'に対 応する。生成器アレイの6つの付加行(X1*X2)、(X1*X3)、(X1*X4)、(X2*X3)、(X2 *X4)および(X3*X4)に相当するRM復号器からの6つの2次信号126は、全体 的出力データ・ワードの3つの最上位ビットの値を生成するため、セレクタ12 8に送られる。具体的には、セレクタ128はそれら6つの2次信号126の値 を図10に示される8つの6ビット値と比較する。これらの6ビットは、必要に 応じてソフトウェアかファームウェアの形態で実施される適切なプロシージャに よって記憶または導出されることができる。各6ビットの値は、3つの最上位デ ータ・ビットに関する特定の組合せの値に関連づけられ、6つの付加行のどの3 つの組み合わせが、当該組み合わせの3つのデータ・ビット値に(符号化器10 0において)割り当てられた剰余類代表値の中に存在するかを標示する。2次信 号126が8つの記憶された値のうちの1つを持つ場合、セレクタ128は、最 上位出力ビットとして対応する3つのデータ・ビット値を提供する。信号がその 他の値であれば、受け取った16ビットのコード・ワードは表3の最初の8つの 剰余類の中には含まれていないものとRM復号器122によってみなされ、この 事象がセレクタ128のデータ・エラー出力部130における信号によって標示 される。 エラー訂正コードを処理する機能を持ち、d=2m-2である復号器120のよ うな最小ハミング距離がdであるいかなる復号器も、伝送されたコード・ワード からの距離がd/2である受け取りコード・ワードを正しく復号する。しかしな がら、復号器120は「最小距離」の復号器ではない。最小距離復号器は、たと えその距離がd/2以上であっても受け取ったコード・ワードから最も少ない距 離を持つコード・ワードを復号するという特性を付加的に持つ。更に、データ・ エラー出力部130における信号の発生は、RM復号器122による2次リード ーマラー・コード・ワード出力が不確定な結果であって、符号化器100によっ て実際に出力されるものではあり得ないことを意味する。 図11は、有効なコード・ワード(すなわち符号化器100による出力であり 得るコード・ワード)のみを出力する代替的16ビット復号器140を示す。こ の復号器は、このコード・ワード・セットに関する最小距離復号器である。 復号器140において使用される方法は、IEEE Trans.Inform.Theory,1986 ,vol.IT-32,no.1,pp.41-50に記載のJ.H.ConwayおよびN.J.A.Sloane両氏 による「Soft decoding techniques for codes and lattices,including the G olay code and the Leech lattice(GolayコードおよびLeech格子を含むコードお よび格子に関するソフトウェア復号技術)」において記述されている「スーパー コード」復号方法の1例である。各剰余類代表値に関して順番に、受け取ったコ ード・ワードは、その剰余類代表値に対し排他論理和され、結果は、長さ16の 1次リード−マラー符号のエレメントRM(1,4)として復号され、同時にその復号 に「スコア」が割り当てられる。どのコード・ワードを復号すべきかの決定は、 代表値が最高のスコアを持つ剰余類を(複数の場合それらのうちの任意の剰余類 を)選択することによって行われる。 RM(1,4)のエレメントの復号は、North-Holland,Amsterdam,1986所載のF.J.Ma cWilliamsおよびN.J.A.Sloane両氏による'The Theory of Error-Correcting Co des(エラー訂正コード理論)'に記述されている迅速アダマール(Hadamard)変換法 を使用する。長さ2mの2進数シーケンスに関する迅速アダマール変換は、各々 が長さ2mの1次リード−マラー符号のエレメント・ペアRM(l,m)に関連する2m 個の変換コンポーネントを生成する。すべてのコンポーネントのうちで最大のも のが復号を行うための「スコア」であり、復号アルゴリズムは、(関連するコー ド・ワード・ペアのどれが使用されているのかを判断する当該コンポーネントの 符号を持つ)最大コンポーネンに対応するRM(l,m)エレメントを選択する。 図11を参照すると、復号器140は各16ビットのコード・ワードを排他論 理和(XOR)ゲート142に受け取り、そこでコード・ワードからの剰余類記憶 機構144における値のビット単位減算モジュロ2を実行する。(モジュロ2演 算の場合、ビット単位減算および加算は等しく、ビット単位排他論理和ゲートは いずれの演算に対しても使用できる。ゲート142の機能は、以下の記述との整 合性を図るため減算として定義される。)剰余類記憶機構144は、符号化器1 00のセレクタ112によって選択が行われるものと同じ8つの剰余類代表値を 含む。同記憶機構144は、また、8つの可能な3ビット値のすべてを入力部1 48の増分信号に応答して連続的に循環する3ビット・カウンタ146を備える 。このカウンタの3ビットの現在値は、8つの剰余類代表値のうちのどれが排他 論理和ゲート142に供給されるか、すなわち、符号化器の場合と同じ剰余類代 表値と3ビット値の間の対応関係を制御する。このように、カウンタ146がそ の8つの可能な値を循環するにつれ、8つの剰余類代表値の各々が排他論理和ゲ ート142に順番に提供される。 現在時の剰余類代表値に関してゲート142によって出力される16桁2進数 ワードが、置き換え回路150に送られ、そこで、迅速アダマール法の適用のた めエレメント値を一致させるため、そのワードの値+1および−1がそれぞれ2 進数値0および1に置き換えられる。 迅速アダマール変換(上記引用MacWilliams、Sloane両氏著の文献参照)または その修正版(by Designs,Codes and Cryptography,vol.7,1996,pp.187-214所 載のA.E.AshikhnrinおよびS.N.Litsyn両氏著'Fast decoding algorithms for first order Reed-Muller and related codes(1次リード−マラー符号に関する 迅速復号アルゴリズム)'参照)を実行するため、回路150から出力される16 シンボル・ワードは、いわゆる「Greenマシン」152へ送られる。Greenマシン 152の出力は、E0からE15までの符号がつけらている変換コンポーネントから なる(長さ2mのコード・ワードという一般形の場合サブスクリプト15は2m-1によ って置き換えられる)。コンポーネントE0は、コード生成器マトリックスの行の 最も左のシンボルに対応し、コンポーネントE15は最も右側のシンボルに対応す る。これらのコンポーネントは比較器154に送られる。比較器154は、変換 コンポーネントの絶対値を比較し、最大絶対値|Ez|およびそれに対応する(0か ら15までの)値zを識別する。最大絶対値を持つコンポーネントが複数あれば、 そのうちの1つが任意に選択される。比較器は値Ezおよびzをラッチ156へ 出力し、ラッチ156は、それらの値と併せて、記憶機構144のカウンタ14 6によって与えられる対応する3ビットのインデックス値を受け取る。 第1剰余類代表値に関して、ラッチ156は、受け取ったEz、zおよび剰余類 インデックスを単に記億する。(同じ16ビット入力コード・ワードに関して)カ ウンタ146の増分にともなって、各連続的剰余類代表値がXORゲート142 に供給され、Ezおよびzのそれぞれの値がラッチ156に渡される。そのような 変換コンポーネントEzが現在ラッチされているコンポーネントより大きい絶対値 を持つ場合、ラッチは、新たに受け取った値を、それに関連するzおよび剰余類 インデックスと共に、選択する。 カウンタ146がすべての8つの可能な値を循環した時、ラッチ156の内容 は、図11のブロック158において復号された出力データに集められる。zの 値は,zが4ビットの2進数a1a2a3a4a'で表現される場合4つの復号された行係 数a4、a3、a2およびa1の値を直接決定する。第5の係数a'は最後のラッチされた 値Ezが正であればゼロで、負であれば1であり、剰余類インデックスは3つの最 上位出力ビットを構成する。 特に復号がハードウェアで実行される場合必要に応じて各剰余類代表値に対し て連続的に行われるものとして迅速アダマール変換の実施形態が上述されている が、各々に別々のGreenマシンを与えることによってすべての剰余類代表値に関 する必要な迅速アダマール変換を並列して計算することもできる。 前述した復号器120は、復号器140に比較して動作が迅速であるという利 点を一般的に持っている。従って、速度の利益を得るため復号器120を主要復 号器として使用することが望ましい。但し、RM復号器122からの信号126 が、データ・エラー出力部130において標示されるように符号化器100によ って出力できないコード・ワードに対応していることが判明する場合、受け取っ たコード・ワードを復号器140に送ることができる。復号器120と140の 間のそのような選択は、データ・エラー出力部130における信号の発生の頻度 によって表されるような現在時ノイズ・レベルに基づいて、適応することができ る。そのような信号が相対的に多発し、現在の通信経路にノイズが多いことが標 示される場合、各コード・ワードに対する即時の使用のため復号器140を選択 し、一方、復号器120は通信品質を監視するため並列して継続使用することが できる。データ・エラー出力部130における信号が減少すれば、復号器120 を再び主要復号器として選択することができる。 65,536個の可能な16ビットのコード・ワードのうちの表3に示された 特定の384個の16ビットのコード・ワードは、上述の異なる特性のすべて( すなわち大きい最小ハミング距離、実際の実施のPMEPRの低い値、有用な数 の可能なコード・ワード)を同時に有して、従って、顕著で非常に有利な効用を 与える。特に、所望のレベルを越えないエラー制御特性を低いPMEPRと組み 合わせた比較的長いワードに関するコード・ワードのセットを発見することは手 に負えない問題であり、解決策が存在する確実性のない問題であった。本発明は 、このような組合せのみならず、実施の便宜性および満足の行くデータ伝送率が 達成されることを可能にする適切なサイズのコード・ワード母集団を提供する。 比較的長いコード・ワード長に関して対応する特性を持つコード・セットは、 表3を作成する上述のプロシージャを拡張することによって容易に識別すること ができる。かくして、32ビットのコード・ワードに関する生成器マトリックス は次の通りとなる。 (0000 0000 0000 0000 1111 1111 1111 1111)(X1) (0000 0000 1111 1111 0000 0000 1111 1111)(X2) (0000 1111 0000 1111 0000 1111 0000 1111)(X3) (0011 0011 0011 0011 0011 0011 0011 0011)(X4) (0101 0101 0101 0101 0101 0101 0101 0101)(X5) (1111 1111 1111 1111 1111 1111 1111 1111)(X') 32ビット基底コードは、この生成器マトリックスの行のすべての64個の線形 組合せを含む。すなわち、以下のような形式の組み合わせである。 a1X1(+)a2X2(+)a3X3(+)a4X4(+)a5X5(+)a'X' 但し、a1、a2、a3、a4、a5およびa'はそれぞれ0または1の値を取る。 32ビット生成器マトリックスを、行X1、X2、X3、X4およびX5のすべての可能 な組み合わせのビット単位乗算によって導出される10個の付加行と組み合わせ ることによって、対応する生成器アレイが作成される。それら付加行は次の通り である。 (0000 0000 0000 0000 0000 0000 1111 1111) (X1*X2) (0000 0000 0000 0000 0000 1111 0000 1111) (X1*X3) (0000 0000 0000 0000 0011 0011 0011 0011) (X1*X4) (0000 0000 0000 0000 0101 0101 0101 0101) (X1*X5) (0000 0000 0000 1111 0000 0000 0000 1111) (X2*X3) (0000 0000 0011 0011 0000 0000 0011 0011) (X2*X4) (0000 0000 0101 0101 0000 0000 0101 0101) (X2*X5) (0000 0011 0000 0011 0000 0011 0000 0011) (X3*X4) (0000 0101 0000 0101 0000 0101 0000 0101) (X3*X5) (0001 0001 0001 0001 0001 0001 0001 0001) (X4*X5) これらの付加行はビット単位排他論理和演算によって結合され、(長さ32のコ ード・ワードの場合)60個の2次剰余類代表値が生成される。このようにして 、第1剰余類代表値は、行(X1*X2)、(X2*X3)、(X3*X4)、(X4*X5)を組み合わせる ことによって生成され、残りの剰余類代表値は、行識別子X1、X2、X3、X4および X5のサブスクリプトのすべての可能な順列を明示的結果を生む式(X1*X2)(+)(X2 *X3)(+)(X3*X4)(+)(X4*X5)で識別することによって、作成される。 これらの剰余類代表値は、ビット単位排他論理和演算によって32ビット基底 コードのすべてのコード・ワードと各々組み合わせられ、基底コード60個の剰 余類のセットを構成する合計3840個の可能なコード・ワードが生成される。 これらの特定のコード・ワードは、以下のような特性組み合わせを提供する。 ・コードの最小ハミング距離は(m=5の場合2m-2=8)8である。 ・エラ訂正復号器は、コード・ワードを構成するビットに影響を及ぼす最高7つ (2m-2−1=7)のエラーを検出し、最高3つ(2m-3−1=3)のエラーを訂正す ることができる。 ・これら特定の32ビットのコード・ワードに従って変調された多搬送波信号は 、 3dB以上のPMEPRを持たない。 ・このコードに対する使用のための復号器は、解析手法を使用して操作すること ができ、また、例えば、少くとも部分的に組合せの論理を使用して実施すること ができる。 ・許容可能なデータ伝送率が達成されることを可能にするため利用できるコード ・ワードが存在する。 32ビットの長さの4,000,000,000以上の可能なコード・ワードから選択された これら特定の3840個の32ビットのコード・ワードは、上記の広範囲な種々 の特性を同時に持っていて、そのためそれらに関連する実際的な利益が得られる 。 (2の整数累乗である多数のコード・ワードを使用し、各々が同じ剰余類代表 値を持つ64個のコード・ワードのグループを選択する)好ましいケースの場合 、(剰余類代表値の数である)60を越えない2の最大累乗数は25の32である 。従って、好ましいケースにおいては、64個のコード・ワード各々の32個の 剰余類が選択され、11ビットの2進数データ・ワード長に対応する2048個 のコード・ワードが作成される。このケースでは、符号化器において、6個の入 力データ・ビットa1、a2、a3、a4、a5およびa'が32ビットの生成器マトリック ス行X1、X2、X3、X4、X5およびX'それぞれのビットによって乗算され、入力デー タ・ワードの残りの5ビットが、それらの5ビットの結合された値に従って32 個の選択された剰余類代表値のうちの1つの選択のためセレクタに供給される。 復号に関しては、32ビットの2次RM復号器が、(復号されるデータ・ワード の6ビットを構成する)6つの1次信号および10個の2次信号を生成する。こ の10個の2次信号は、10個の信号と共に32個の可能な10ビット値を記憶 し、復号される11ビットのデータ・ワードの残りの5ビットを生成するセレク タに送られる。代替的形態として迅速アダマール変換法を使用する図11の復号 器140に類似する復号器を使用することも可能である。 長さ2mの特定のコード・ワードに対する生成器マトリックスを一般化して表 現すれば次のようになる。但し、zは0から2m−1までの整数値を持ち、yはmから0までの整数値を持 ち、xは、ともに(m+1)ビット2進数として表される((2.z+1)および2yのよう な)2つの係数のビット単位乗算(すなわちビット単位論理AND)を標示し、除 算の結果は1桁で表される。(y=m)であるこのマトリックスの第1行は行X1を与 え、(y=m-1)である第2行は行X2を与え、(y=1)である最後から2番目の行は行Xm を与え、(y=0)である最後の行は行X'を与える。 このように、例えば、(m=6である)64ビット長コード・ワードの場合、(y=m- 1=5)である第2の行X2上の最初のシンボル(z=0)は、 ((2.0+1)x2m-1)/2m-1 すなわち(1x32)/32 である。 ビット単位乗算に含まれる因子を(m+1)ビット2進数として表現すると、結果は 、 (0000001x0100000)/32となり、 これは、(0000000)/32または1桁の0として表現される。 第2行上の2番目のシンボル(z=1)は、 (2.1+1)x2m-1)/2m-1、 すなわち(3x32)/32であり、これは同様に (0000011x0100000)/32または1桁の0を生む。 この行の16番目のシンボル(z=15)は、 (2.15+1)x2m-1)/2m-1、 すなわち(31x32)/32であり、これは同様に (00111111x0100000)/32または1桁の0を生成する。 この行の17番目のシンボル(z=16)は、 (2.16+1)x2m-1)/2m-1、 すなわち(33x32)/32であり、これは (0100001x0100000)/32すなわち0100000)/32または1桁の1を生成する。 18番目から32番目までのシンボルについて同じ結果が得られる。 33番目のシンボル(z=32)の場合、マトリックスは((2.32+1)x2m-1)/2m-1を与 え、これは、(65x32)/32すなわち(1000001x0100000)/32または1桁の0を生む。 同様に後続の15個のシンボルに関して0という結果が得られる。 49番目のシンボル(z=48)の場合、マトリックスは((2.48+1)x2m-1)/2m-1を与 え、これは、(97x32)/32すなわち(11000001x0100000)/32または1桁の1を生む 。以下の最後の15個のシンボルについても同様の結果が得られる。このように して、第2行は全体として、 (0000 0000 0000 0000 1111 1111 1111 1111 0000 0000 0000 0000 1111 111111 11 1111)となる。 第3の行X3(y=m-2=4)については、第1のシンボルは((2.0+1)x2m-2)/2m-2すな わち(1x16)/16であり、(0000001x0010000)/16または0が得られる。以下の7個 のシンボルについても同様の結果が得られる。第9のシンボルは((2.8+1)x2m-2) /2m-2すなわち(17x16)/16であり、(0010001x0010000)/16または1が得られる。 以下10番目から16番目までのシンボルについて同様の結果が得られる。その 後、8つのゼロと8つの1のブロックが交互に続き、行は全体として、 (0000 0000 1111 1111 0000 0000 1111 1111 0000 0000 1111 1111 0000 0000 1 111 1111)となる。 64ビットのコード・ワードに関する生成器マトリックスの他の行も同様にして 導出される。 2mビット基底コードは、次のような形式の組合せである生成器マトリックス の行のすべての線形組合せを含む。 a1X1 (+) a2X2(+) a3X3(+)....(+)amXm(+) a'X' 但し、a1、a2、a3、....、amおよびa'は0または1の値を取る。 対応する生成器アレイは、2mビット生成器マトリックスを行X1、X2、X3、... .Xmのすべての可能なペアのビット単位乗算によって引き出される付加行と組み 合わせることによって作成される。これら付加行はビット単位排他論理和演算に よって組み合わされ、基底コードのm!/2個の2次剰余類代表値が生成される。す なわち、第1の剰余類代表値は行(X1*X2)、(X2*X3)、...および(Xm-1*Xm)を組み 合わせることによって生成され、残りの剰余類代表値は、明確な1つの結果を生 む式(X1*X2)(+)(X2*X3)(+)....(+)(Xm-1*Xm)において行識別子X1、X2、X3 、....Xmのサブスクリプトのすべての可能な順列を識別することによって生成さ れる。 これらの剰余類代表値の各々は、ビット単位排他論理和演算によって2mビッ トの基底コードにおけるすべてのコード・ワードと組み合わせられ、基底コード のm!/2個の剰余類のセットを構成する計m!(2m+1)/2個の可能なコード・ワードが 生成される。これらのコード・ワードは以下のような特性組合せを持つ。 ・コードの最小ハミング距離は2m-2である。エラー訂正復号器は、コード・ワ ードを構成するビットに影響を与える最高2m-2−1のエラーを検出し、最高2m -3 −1個のエラーを訂正することができる。 ・これらコード・ワードに従って変調される多搬送波信号は3dB以上のPME PRを持たない。 ・このコードに関して使用される復号器は、解析手法を使用して操作することが できえば少くとも部分的に組合せの論理を使用して実施することができる。 ・許容可能なデータ伝送率が達成されることを可能にするため利用できるコード ・ワードが存在する。 コード・ワード長の範囲の各々に関して利用できる2進コード・ワードの総数 およびその他パラメータは以下に示される通りである。その他パラメータは、剰 余類代表値の数、利用できる数のコード・ワードを使用して符号化され得る2の 整数累乗のデータ・ワードの最大数、その場合のデータ・ワード長、当該コード ・ ワード長に関してRM復号器によって与えられる1次および2次信号の数、およ び図8、図9に示されるような符号化器および復号器に記憶されるセレクタ値の 数である。 単純化および明快さの目的から、上記の記述はただ2つのシンボル値すなわち 2進数符号を使用する符号化を対象とした。しかしながら、本発明は、また、2 のj累乗という一層多数のシンボル値を用いる符号化にも適用できる。例えば、 J=2の4次数、j=3の8次数のシンボル値を使用することも可能である。そのよう な場合上述のものと同じ生成器マトリックスが使用される。例えば(m=3として2m =8の)8シンボルを含むコード・ワードの場合、生成器マトリックスは次のよう になる。 (0000 1111) (X1) (0011 0011) (X2) (0101 0101) (X3) (1111 1111) (X') 8シンボル4進数基底コード(4つの可能なシンボル値)は、以下の形式のよう な組合せである生成器マトリックスの行の256個すべての線形組合せを含む。 a1X1(+)a2X2(+) a3X3(+) a'X' 但し、(+)はシンボル単位加算モジュロ2j(すなわち4進数の場合モジュロ4) を示し、a1、a2、a3およびa'は、0から3までのすべての整数値を取る係数であ る。 この基底コードは線形である、すなわち、そのコード・ワードのうちのいかなる 2つに対するシンボル単位加算モジュロ2の結果がコードの中の別のコード・ワ ードである。 対応する生成器アレイは、生成器マトリックスを付加行と組み合わせることに よって作成される。これら付加行は、行X1、X2およびX3のすべての可能なペアの シンボル単位乗算すなわちX1*X2、X1*X3およびX2*X3、更に4進数符号化の場合 2、8進数符号化の場合4を乗ずることによって導出される。従って、8シンボ ル4進数符号化の場合の付加行は次の通りとなる。 (0000 0022) 2(X1*X2) (0000 0202) 2(X1*X3) (0002 0002) 2(X2*X3) 付加行は、シンボル単位加算モジュロ2jによって組み合わされ、m!/2個の2次 剰余類代表値が生成される。長さ8の4進数コード・ワードの場合、第1剰余類 代表値は、行2(X1*X2)および2(X2*X3)を結合することによって次のように生成さ れる。 (0002 0020) 2(X1*X2) (+)2(X2*X3) 残りの剰余類代表値は式2(X1*X2)(+)2(X2*X3)における行識別子X1、X2およびX3 のサブスクリプトのすべての可能な順列を識別することによって次のように生 成される。 (0002 0200) 2(X1*X3) (+)2(X2*X3) (0000 0220) 2(X1*X2) (+)2(X1*X3) 最終的に、これらの剰余類代表値の各々はシンボル単位加算モジュロ2jによ って基底コードにおけるすべてのコード・ワードと結合され、基底コードのm!/2 個の剰余類のセットを構成するm!(2j(m+1))/2個のコード・ワードが生成される 。8シンボル4進数ケースにおいてこのように生成される768個のコード値お よび係数a1、a2、a3およびa'の対応する値の例は次の表4の通りである。表4に おいて、CR1=2(X1*X2)(+)2(X2*X3)、CR2=2(X1*X3)(+)2(X2*X3)、および、CR3 =2(X1*X2)(+)2(X1*X3)である。 2m個シンボル4進基底コードは、以下の形式の組合せである生成器マトリッ クスの行のすべての線形の組合せを含む。 a1X1(+)a2X2(+)a3X3(+)....(+)amXm(+)a'X' 但し、a1、a2、a3、....、amおよびa'は各々0、1、2または3の値を取る。対 応する生成器アレイは、行X1、X2、X3、...、Xmのすべての可能なペアのシンボ ル単位乗算によって導出される付加行を生成器マトリックスと組み合わせること によって作成される。これら付加行がシンボル単位加算モジュロ4によって結 合されm!/2個の2次剰余類代表値が生成される。かくして、第1剰余類代表値は 、行2(X1*X2)、2(X2*X3)、...、および2(Xm-1*Xm)を結合することによって生成 され、残りの剰余類代表値は式2(X1*X2)(+)2(X2*X3)(+)....(+)2(Xm-1*Xm )における行識別X1、X2、X3、...、Xmのサブスクリプトのすべての可能な順列を 識別することによって生成される。 これら剰余類代表値の各々はシンボル単位加算モジュロ4によって2m基底コ ードにおけるすべてのコード・ワードと結合され、基底コードのm!/2個の剰余類 のセットを構成するm!(4(m+1)/2個のコード・ワードが生成される。 その他の長さのコード・ワードや(例えば8進数など)異なる数のシンボルを用 いる符号化のための同様のコードを同様の方法で定義することができる。一般的 に、シンボル値の数が2jである場合、基底コードは、以下の形式の組合せであ る生成器マトリックスの行のすべての線形の組合せを含む。 a1X1(+)a2X2(+)a3X3(+) ....(+)amXm(+)a'X' 但し、a1、a2、a3、....、amおよびa'は各々0、1、2、...、2j−1の値を取 り、(+)はシンボル単位加算モジュロ2jを表す。対応する生成器アレイは、行 X1、X2、X3、...、Xmのすべての可能なペアのシンボル単位乗算および更に2j-1 を乗ずることによって導出される付加行を2m生成器マトリックスと組み合わせ ることによって作成される。これら付加行がシンボル単位加算モジュロ2jによ って結合されm!/2個の2次剰余類代表値が生成される。かくして、第1剰余類代 表値は、行2j-1(X1*X2)、2j-1(X2*X3)、...、および2j-1(Xm-1*Xm)を結合するこ とによって生成され、残りの剰余類代表値は式2j-1(X1*X2)(+)2j-1(X2*X3)(+ )....(+)2j-1(Xm-1*Xm)における行識別X1、X2、X3、...、Xmのサブスクリプ トのすべての可能な順列を識別することによって生成される。 これら剰余類代表値の各々はシンボル単位加算モジュロ2jによって2m基底コ ードにおけるすべてのコード・ワードと結合され、基底コードのm!/2個の剰余類 のセットを構成するm!(2j(m+1))/2個のコード・ワードが生成される。 4、8およびそれ以上の次数コードのエラー検出およびエラー訂正特性を論議 する際、最小ハミング距離は、コード・ワードに影響を及ぼしている可能性のあ るエラーの範囲を完全に記述していない。これは、単一シンボルにおけるエラー は、最高2j-1の隣接シンボル値への移動を伴う可能性があるためである(ここで 値2j-1および0が隣接であるとみなされる)。実際の影響は、各々が隣接シンボ ル値への1つだけの移動を含む異なるシンボルにおける少なくとも2つのエラー の場合に比較して少なくとも同等以上に深刻である。例えば、値6から値1への 単一4進シンボルの変化(3つの隣接値を通過する移動)は、1つが値6から7へ もう1つが7から0へという2つの8進数シンボルの変化(共に隣接値への移動) より深刻である。従って、有用な付加的基準は、有効なコード・ワードをなにか 別の有効なコード・ワードに変換するために必要とされるシンボル値移動の最小 値として定義される最小リー距離である。(上記2進数ケースではハミング距離 とりー距離は同一であったので、最小りー距離は議論されなかった。) 4進数、8進数およびそれ以上の高い次数のケースに関して上記のように定義 されたコード・ワードは、以下のような有利な特性組合せを持つ。 ・コードの最小ハミング距離は、2m-2である。 ・ハミング距離に基づいたエラー訂正復号器は、コード・ワードを構成するシン ボルに影響を及ぼす最高2m-2−1のエラーを任意に検出することができ、また 、2m-3−1までのそのようなエラーを訂正することができる。 ・コードの最小りー距離は2m-1である。リー距離に基づいたエラー訂正復号器 は、最高2m-1−1のシンボル値移動を伴う(コード・ワード・シンボルの同じ数 に影響を及ぼす)エラーを検出することができ、また、2m-2−1までのそのよう な移動を訂正することができる。実際、リー距離に基づいた最小距離復号器は、 コード・ワードを構成するシンボルに影響を及ぼすエラーの一定の付加パターン を任意に訂正する(すなわちハミング距離に基づいた復号器の特性のいくつかを 備える)。 ・これらのコード・ワードに従って変調された多搬送波信号は、3dB以上のP MEPRを持たない。 ・このコードに関して使用されるハミング距離またはリー距離のいずれかに基づ く復号器は、解析手法を使用して操作することができ、例えば少くとも部分的に 組合せの論理を使用して実施することができる。 ・許容可能なデータ伝送率が達成されることを可能にするため利用できるコード ・ワードが存在する。 実際問題として、これらのコードは、データ・ビットによって表現される情報 を符号化器および復号器を含む経路上で伝送するため使用される。2進符号に関 して生成器マトリックスの行係数へのデータ・ビットの割り当ては上述のように 任意でよいが、(4進数、8進数など)その他のすべてケースでは、行係数へのデ ータ・ビットの周到な割り当てを行うことが望ましい。 4進数コードの場合、(以下の選択された)データ・ビットのペアの各々が次の 表5のように行係数a1、a2、a3、...、amおよびa'に対応付けされる。 この対応付けは、Grayコードの例であり、2つの隣接係数値の間の変化を含むエ ラー(3と0が隣接と見なされる)がただ1つのデータ・ビットのエラーの原因とな るという有利な特性を持っている。このように、コード・ワードにおける比較的 小さいエラーが伝送の終了においてデータ・ワードの大きいエラーを生成する可 能性はほとんどない。 2進数ケースの場合におけるように、2の整数累乗倍である多数のコード・ワ ードを使用することが好ましく、それによって符号化のための到来データ・スト リームのブロックへの分割を単純化し、コード・ワードを同じ剰余類代表値を持 つグループに分類するようにすることが容易となる。かくして、選択される剰余 類代表値の数は、利用できる剰余類代表値の数を超えない最大の2の累乗値(2r )である。次に、r個のデータ・ビットを使用して1つの剰余類代表値が選択され 、上記表5のGlayコードに従って残りのデータ・ビットの連続したペアが4進 数シンボルa1、a2、a3、...、amおよびa'に変換される。 図12は、図9の符号化器100と類似しているが、本発明に従って、以下の 生成器アレイから上述のように導出されるコード・ワードを使用して、13ビッ トのデータ・ワードを16個の4進数シンボルのコード・ワードとして符号化す る13B/16Q符号化器160を示す。 (0000 0000 1111 1111) (X1) (0000 1111 0000 1111) (X2) (0011 0011 0011 0011) (X3) (0101 0101 0101 0101) (X4) (1111 1111 1111 1111) (X') (0000 0000 0000 2222) 2(X1*X2) (0000 0000 0022 0022) 2(X1*X2) (0000 0000 0202 0202) 2(X1*X4) (0000 0022 0000 0022) 2(X2*X3) (0000 0202 0000 0202) 2(X2*X4) (0002 0002 0002 0002) 2(X3*X4) 特に、この符号化器は次のような剰余類代表値を持つ8つの剰余類を使用する。 (0002 0020 0002 2202) 2(X1*X2)(+)2(X2*X3)(+)2(X3*X4) (0002 0200 0002 2022) 2(X1*X2)(+)2(X2*X4)(+)2(X3*X4) (0000 0220 0022 0202) 2(X1*X3)(+)2(X2*X3)(+)2(X2*X4) (0002 0200 0020 0222) 2(X1*X3)(+)2(X3*X4)(+)2(X2*X4) (0000 0220 0202 0022) 2(X1*X4)(+)2(X2*X4)(+)2(X2*X3) (0002 0020 0200 0222) 2(X1*X4)(+)2(X3*X4)(+)2(X2*X3) (0002 0002 0020 2202) 2(X1*X2)(+)2(X1*X3)(+)2(X3*X4) (0002 0002 0200 2022) 2(X1*X2)(+)2(X1*X4)(+)2(X3*X4) このように、2rは8という値を持っているので、rは3である。 図12を参照すれば、13B/16Q符号化器160は、入力データ・ワード の最下位10ビットの連続したペア・ビットを上記表5に従って対応する4進数 シンボルに符号化する5つのGray符号化器162−170を含む。各符号化器1 62−170は、その出力4進数シンボルを5つの乗算器172−180のそれ ぞれの1つへ供給し、16シンボル生成器マトリックス行X4、X3、X2、X1および X'のうちのそれぞれ対応する行が乗算される。入力データ・ワードの最上位3ビ ットが、セレクタ182に供給され、それら3ビットの組み合わせ値に従って、 8つの可能な剰余類代表値のうちの1つが選択される。5つの乗算器172−1 80およびセレクタ182の出力が、シンボル単位モジュロ4加算器184によ って組み合わされ、符号化器160によって出力される4進数16シンボルのコ ード・ワードが生成される。 図13は、符号化器100によって生成された4進数16シンボルのコード・ ワードを13ビットのデータ・ワードに復号するリー距離に基づいた16Q/1 3B最小距離復号器200を示す。復号器200において使用される方法は、図 11の復号器140に関連して引用した「スーパーコード」に基づくものである が、4進数およびそれ以上の大きいコードに関して使用できるように大幅な修正 が加えられる。各剰余類代表値に関して順番に、例えば4進数の場合シンボル単 位モジュロ4を用いて剰余類代表値が受け取ったコード・ワードから差し引かれ 、その結果が長さ16の4進数基底コードのエレメントとして復号され、同時に 以下に述べるようにその剰余類代表値に「スコア」が割り当てられる。どのコー ド・ワードに復号すべきかの判断は、代表値が最高スコアの剰余類(複数ある場 合はそぬちの任意の1つ)を選択し、該剰余類の範囲内で該剰余類に関して既に 識別されている基底コードのエレメントを選択することによって行われる。 基底コードのエレメントの復号には、迅速アダマール変換を使用する。しかし ながら、復号器140とは対照的に、復号器200は、あたかも基底コードの受 け取ったコード・ワードであるかのように上記の減算結果を集合的に復号するた め、(復号器の場合のような)+1または−1という値を持つようにそのシンボル が制約されない複数入力ベクトルに迅速アダマール変換を適用する。各入力ベク トルに関して、最大の変換係数が選択される。その変換係数の符号に従って、1 次リード−マラー符号RM(1,m)の関連ペアの1つまたは複数が出力される。この 方法は、受け取ったRM(1,m)のコード・ワードを復号するプロシージャに類似し ているが、各入力ベクトルに対する出力は、そのベクトルの復号をRM(1,m)のエ レメントとして表現しない。 図13を参照すれば、復号器200は、モジュロ4減算器202において4進 数16シンボルのコード・ワードを受け取り、そのコード・ワードから剰余類記 憶機構204に記憶されている値を減算する。この剰余類記憶機構は、符号化器 160のセレクタ182によってその中から選択が行われる同じ8つの剰余類代 表値を含む。記憶機構204は、また、8つの剰余類代表値の各々が減算器に順 番に送られるようにするため、入力208における増分信号に応答してすべての 8つの可能な3ビット値を連続的に循環する3ビット・カウンタ206を持つ。 現在時剰余類代表値に関して減算器202によって出力される4進数16シン ボル・ワードSがベクトル生成器210に渡される。ベクトル生成器210は、 当該ワードSに関して32個の16シンボル入力ベクトル・シーケンスDをそれら ベクトルの各々に対して迅速アダマール変換を実行するGreenマシン212に送 る。この場合、生成器210は、5つの係数b1、b2、b3、b4およびb'の各々に0 または1を割り当て、そのため、それら係数が全体として32の可能な組合せす べてに及ぶこととなる。そのような組合せの各々に関して、以下の関係式に従う 値Bが導出される。 B=b1X1(+)b2X2(+)b3X3(+)b4X4(+)b'X' 次ぎに、Dが次式によって導出される。 D=|2X'-((S-B)mod 4)|-X' この式において、X'、SおよびBのような値を伴う減算が|・・・|によって標示 されているモジュロ演算としてシンボル単位で実行される。 Greenマシン212の出力は、各ベクトルDに関して、E0からE15までの符号が 付けられた16の変換コンポーネントである。これらのコンポーネントは比較器 214に送られ、変換コンポーネントの絶対値が比較され、最大絶対値|Ez|およ び対応する(0から15までの)値zが識別される。同じ絶対値を持つコンポーネント が複数ある場合、その内の1つが任意に選択される。次に、比較器214が、値 zおよびEzをラッチ216へ出力し、ラッチ216は、加えて、生成器210か ら係数b1、b2、b3、b4およびb'の値および記憶記憶204のカウンタ206によ って供給される対応する3ビット・インデックス値を受け取る。 第1剰余類代表値および係数b1、b2、b3、b4およびb'の値の組み合わせに関し て、ラッチ216は、受け取ったEz、z、5つの係数および剰余類インデックス を単に記憶する。31個の付加ベクトルDが第1の剰余類代表値に関して生成器 210によって導出されるに伴い、また、カウンタ206が増分され各連続的剰 余類代表値に関する32個以上のベクトルDが導出されるにつれ、Ezおよびzのそ れぞれの値が、係数および剰余類インデックス値と共に、ラッチ216に渡され る。そのような変換コンポーネントEzが現在ラッチされているコンポーネントよ り大きい絶対値を持つ場合、ラッチ216は、新たに受け取った値を、それに関 連するz、剰余類インデックスおよび係数b1、b2、b3、b4およびb'の値と共に、 選択する。 カウンタ206がすべての8つの可能な値を循環した時、ラッチ216の内容 は、図13のブロック218において復号された出力データに集められる。zの 値、Ezの符号および係数b1、b2、b3、b4およびb'があわせて復号されるデータの 最下位10ビットの値を以下に記述のように直接決定し、剰余類インデックスは 3つの最上位出力ビットを構成する。 最下位10出力ビットの値を決定するため、係数c'はEzが負であれば1に、正 であれば0にセットされ、zの値は、c1c2c3c4という4ビット2進数として表現 される。a4、a3、a2、a1およびa'という5つの復号される行係数は次式によって 決定される。 a1=b1+2c1 a2=b2+2c2 a3=b3+2c3 a4=b4+2c4 a'=b'+2c' 復号されるデータ・ビットは、表5のGrayコードの参照によって、これら行係数 からペアで導出されることができる。 8進数コードの場合、以下の表6に示されるように、3データ・ビットが行係 数a1、a2、a3、...、amおよびa'に対応づけられる。 上述の場合と同様に、選択される剰余類代表値の数は、利用できる剰余類代表 値の数を超えない最大の2の累乗値(2r)である。次に、r個のデータ・ビットを 使用して1つの剰余類代表値が選択され、上記表6の8進数Glayコードに従って 残りのデータ・ビットの連続したペアが8進数シンボルa1、a2、a3、...、amお よびa'に変換される。 図14は、図9の符号化器100および図12の符号化器160と類似してい るが、本発明に従って、以下の生成器アレイから上述のように導出されるコード ・ワードを使用して、18ビットのデータ・ワードを8進数16シンボル・コー ド・ワードとして符号化する18B/160符号化器160を示す。 (0000 0000 1111 1111) (X1) (0000 1111 0000 1111) (X2) (0011 0011 0011 0011) (X3) (0101 0101 0101 0101) (X4) (1111 1111 1111 1111) (X') (0000 0000 0000 4444) 4(X1*X2) (0000 0000 0044 0044) 4(X1*X3) (0000 0000 0404 0404) 4(X1*X4) (0000 0044 0000 0044) 4(X2*X3) (0000 0404 0000 0404) 4(X2*X4) (0004 0004 0004 0004) 4(X3*X4) 特に符号化器は以下の剰余類代表値を持つ8個の剰余類を使用する。 (0004 0040 0004 4404) 4(X1*X2)(+)4(X2*X3)(+)4(X3*X4) (0004 0400 0004 4044) 4(X1*X2)(+)4(X2*X4)(+)4(X3*X4) (0000 0440 0044 0404) 4(X1*X3)(+)4(X2*X3)(+)4(X2*X4) (0004 0400 0040 0444) 4(X1*X3)(+)4(X3*X4)(+)4(X2*X4) (0000 0440 0404 0044) 4(X1*X4)(+)4(X2*X4)(+)4(X2*X3) (0004 0040 0400 0444) 4(X1*X4)(+)4(X3*X4)(+)4(X2*X3) (0004 0004 0040 4404) 4(X1*X2)(+)4(X1*X3)(+)4(X3*X4) (0004 0004 0400 4044) 4(X1*X2)(+)4(X1*X4)(+)4(X3*X4) このように、2rは8という値を持っているので、rは3である。 図14を参照すれば、18B/160符号化器230は、入力データ・ワード の最下位15ビットの連続した3ビット1組を上記表6に従って対応する8進数 シンボルに符号化する5つのGray符号化器232−240を含む。各符号化器2 32−240は、その出力8進数シンボルを5つの乗算器242−250のそれ ぞれの1つへ供給し、16シンボル生成器マトリックス行X4、X3、X2、X1および X'のうちのそれぞれ対応する行が乗算される。入力データ・ワードの最上位3ビ ットが、セレクタ252に供給され、それら3ビットの組み合わせ値に従って、 8つの可能な剰余類代表値のうちの1つが選択される。5つの乗算器242−2 50およびセレクタ252の出力が、シンボル単位モジュロ8加算器254によ って組み合わされ、符号化器230によって出力される16シンボル8進コード ・ワードが生成される。 図15は、図13に示された復号に対応するもので、符号化器230によって 生成された16シンボル8進コード・ワードを18ビットのデータ・ワードに復 号する160/18B最小リー距離復号器260を示す。 図15を参照すれば、復号器260は、モジュロ8減算器262において8進 数16シンボルのコード・ワードを受け取り、そのコード・ワードから剰余類記 憶機構264に記憶されている値を減算する。この剰余類記憶機構は、符号化器 230のセレクタ252によってその中から選択が行われる同じ8つの剰余類代 表値を含む。剰余類記憶機構264は、また、8つの剰余類代表値の各々が減算 器に順番に送られるようにするため、入力268における増分信号に応答してす ベての8つの可能な3ビット値を連続的に循環する3ビット・カウンタ266を 持つ。 現在時剰余類代表値に関して減算器262によって出力される8進数16シン ボル・ワードSがベクトル生成器270に渡される。ベクトル生成器270は、 当該ワードSに関して1024個の16シンボル入力ベクトル・シーケンスDをそ れらベクトルの各々に対して迅速アダマール変換を実行するGreenマシン272 に送る。この場合、生成器270は、5つの係数b1、b2、b3、b4およびb'の各々 に0、1、2または3を割り当て、そのため、それら係数が全体として1024 の可能な組合せすべてに及ぶこととなる。そのような組合せの各々に関して、以 下の関係式に従う値Bが導出される。 B=b1X1(+)b2X2(+)b3X3(+)b4X4(+)b'X' 次に、次式からベクトルDが導出される。 D=|4x'-((S-B)mod 8)|-2X' 前述の場合と同様に、この式において、X'、SおよびBのような値を伴う減算が|・・・ |によって標示されているモジュロ演算としてシンボル単位で実行される。 Greenマシン272の出力は、各ベクトルDに関して、E0からE15までの符号が 付けられた16の変換コンポーネントである。これらのコンポーネントは比較器 274に送られ、変換コンポーネントの絶対値が比較され、最大絶対値|Ez|およ び対応する(0から15までの)値zが識別される。同じ絶対値を持つコンポーネント が複数ある場合、その内の1つが任意に選択される。次に、比較器274が、値 zおよびEzをラッチ216へ出力し、ラッチ216は、加えて、生成器270 から係数b1、b2、b3、b4およびb'の値および記憶記憶264のカウンタ266に よって供給される対応する3ビット・インデックス値を受け取る。 第1剰余類代表値および係数b1、b2、b3、b4およびb'の値の組み合わせに関し て、ラッチ276は、受け取ったEz、z、5つの係数および剰余類インデックス を単に記憶する。1024個の付加ベクトルDが第1の剰余類代表値に関して生 成器270によって導出されるに伴い、また、カウンタ266が増分され各連続 的剰余類代表値に関する1024個以上のベクトルDが導出されるにつれ、Ezお よびzのそれぞれの値が、係数および剰余類インデックス値と共に、ラッチ27 6に渡される。そのような変換コンポーネントEzが現在ラッチされているコンポ ーネントより大きい絶対値を持つ場合、ラッチ276は、新たに受け取った値を 、それに関連するz、剰余類インデックスおよび係数b1、b2、b3、b4およびb'の 値と共に、選択する。 カウンタ276がすべての8つの可能な値を循環した時、ラッチ276の内容 は、図15のブロック278において復号された出力データに集められる。zの 値、Ezの符号および係数b1、b2、b3、b4およびb'があわせて復号されるデータの 最下位15ビットの値を以下に記述のように直接決定し、剰余類インデックスは 3つの最上位出力ビットを構成する。 最下位15出力ビットの値を決定するため、係数c'はEzが負であれば1に、正 であれば0にセットされ、zの値は、c1c2c3c4という4ビット2進数として表現 される。a4、a3、a2、a1およびa'という5つの復号される行係数は次式によって 決定される。 a1=b1+4c1 a2=b2+4c2 a3=b3+4c3 a4=b4+4c4 a'=b'+4c' 次に、表6のGrayコードの参照によって上記係数から復号データ・ビットが導出 される。 図12および図14に示されものに対応する符号化器を他の長さ(m≠4)のコー ド・ワードまたはより高い次数(j>3)のコードに関して同様に構築することが可 能である。上述のように、rデータ・ビットを使用して剰余類代表値が選択され 、残りのデータ・ビットのサイズjの連続したグループがGrayコード表に従って それぞれのシンボルa1、a2、a3、...、amおよびa'に変換される。シンボルa1、a2 、a3...amおよびa'に基底コードの生成器マトリックスのそれぞれの行X1、X2、 X3、...、XmおよびX'が乗算され、その結果が選択された剰余類代表値にシンボ ル単位モジュロ2j演算によって加算される。 図13および図15において示されるものに対応する復号器を、別の長さや一 層高次のコードに関して同様に構築することもできる。シンボルの長さが2mで 各シンボルが2jの可能な値を持つコード・ワードという一般的ケースにおいて 、減算器は、受け取ったコード・ワードからモジュロ2j演算によって剰余類代 表値を減ずる。係数b1、b2、...、bmおよびb'の各々は0から2j-1−1までの整 数値を持ち、そのため、それら係数は全体として2(j-1)(m+1)の可能能な組合せ すべてに及ぶこととなる。そのような組合せの各々に関して、以下の関係式に従 う値BおよびDが導出される。 B= b1X1(+)b2X2(+)...(+)bmXm(+)b'X' D=|2j-1X'-((S-B)mod2j)|-2j-2X' 但し、記号(+)はシンボル単位加算モジュロ2jを表す。それぞれの下位出力ビ ットの値を決定する際、zが2進数c1c2...cmとして表されるとすれば、復号さ れる行係数a1、a2、...、amおよびa'は、次の式によって決定される。 a1=b1+2j-1c1 a2=b2+2j-1c2 ... am=bm+2j-1cm a'=b'+2j-1c' 復号器は、上述のように、固定的判断復号器であって、すなわち入力として0 と2j−1の間の整数値を取る。同様の復号器を柔軟な判断復号器として使用す ることもできる。この場合、受け取るアナログ信号の大きさに従って受け取った コード・ワードのシンボルが0と2jの間の実数であるように表現される。この 場合、値Sは(整数値の)剰余類代表値のモジュロ2j減算によって取得される。上 記復号プロシージャに続いて、実数値化された変換コンポーネントが生成され、 その内の最大絶対値を持つ1つが選択される。その後の復号プロシージャは上述 のものと同様である。 図13および図15の復号器200および260は、復号された出力2進数デ ータを直接提供する。それら復号器は剰余類代表値を受け取ったコード・ワード から減算し、その結果を関連基底コードのエレメントとして復号するが、基底コ ードにおけるコード・ワードを中間ステップとして明示的に識別しない。すべて の値Bおよびすべての記憶された剰余類代表値に対して、値Zおよび最大絶対値を 持つ変換コンポーネントEzを使用してこの基底コード・ワードの値を取得して、 対応する値Bと共に、1次リード−マラー符号RM(1,m)のエレメント・ペアの1つ を選択することは可能である。次数2mのシルベスタ(Sylvester)−アダマール行 列Hの列z(下記参照)が、ベクトルcを生成するため置き換えられる(行列の最も 左の列が列0である)。Ezが正であれば、cにおける+シンボルが0に、−シンボル が1に変換され、負であれば、cにおける+シンボルは1に、−シンボルは0に 変換される。cは今や必要なRM(1,m)エレメントを含む。復号器によって選択され る基底コード・ワードは、次の式によって導出されることができる。 2j-1C(+)B 復号される行係数a1、a2、...、amおよびa'は、既知の方法でガウス消去を適用 することによって、このコード・ワードおよび生成器マトリックスの行X1、X2、 ...XmおよびX'から取得される。符号化器による出力に対応する復号コード・ワ ードは、シンボル単位モジュロ2j演算によってこの基底コード・ワードを、ラ ッチされた剰余類インデックスによって識別される剰余類代表値へ加算すること によって取得される。 次数2のシルベスタ−アダマール行列H2は、である。すなわち、右下の負を除きすべてのエレメントは同じである。次に高い 2の累乗の行列H4を導出するため、上記のH2の右と下にH2を複製し、その負(-H2 )を右下に配置する。このようにして、H4は、 である。 このプロセスは、引き続いて一層高い2の累乗のシルベスタ−アダマール行列を 導出するため繰り返される。例えば、H8を導出するには、H4の右と下にH4を複製 し、その負(-H4)を右下に配置する。 例えば13ビットのデータ・ワード1 1011 0110 0001が13B/16Q符号化 器160の入力に適用される場合を考察してみる。対応する行係数a4、a3、a2、 a1およびa'は値2、1、3、0および1をそれぞれ持ち、基底コードにおけるコード ・ワード1320 0213 1320 0213を与える。選択される剰余類代表値は、0002 0002 0020 2202である。従って、出力される4進数コード・ワードは、1322 0211 13 00 2011である。符号化器160から復号器200への通信の間に、コード・ワ ードが壊れ1322 0212 1300 2031という値になったと仮定する。この場合受け取 られたコード・ワードは送信されたコード・ワードから3というリー距離を持つ 。 復号器の減算器202は、各剰余類代表値をこの受け取ったコード・ワードか ら減ずる。110とう数の剰余類の場合、この減算の結果は、1320 0210 1320 0233 であり、これがベクトル生成器210へ渡される。この生成器は、各々がGreen マシーン212において結合される32個のベクトルDを生成して、行ベクトルE の16個の変換コンポーネントE0からE15を生成する。そのようなベクトルEの各 々は、対応する行ベクトルDに、以下のような16次数のシルベスタ−アダマー ル行列H16を乗算することによって得られる結果である。これらのベクトルおよび対応する変換コンポーネントEは以下のように与えられ る。 (b1,b2,b3,b4,b')=(0,0,0,0,0)の場合: B=(0000 0000 0000 0000),D=(0,0,-1,1,1,-1,0,1,0,0,-1,1,1,-1.0,0), E=(1,-1,-1,9,-1,-7,1,-1,1,-1,1,1,-1,1,1,-1). (b1,b2,b3,b4,b')=(0,0,0,0,1)の場合: B=(1111 1111 1111 1111),D=(1,-1,0,0,0,0,1,0,1,-1,0,0,0,0,-1,-1), E=(-1,5,1,3,1,3,-1,5,3,1,-3,-1,-3,-1,3,1). (b1,b2,b3,b4,b')=(0,0,0,1,0)の場合: B=(0101 0101 0101 0101),D=(0,-1,-1,0,1,0,0,0,0,-1,-1,0,1,0,0,-1), E=(-3,3,3,5,-5,-3,-3,3,1,1,1,1,1,1,1,1) ..... (b1,b2,b3,b4,b')=(0,1,1,0,0)の場合: B=(0011 1122 0011 1122),D=(0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0), E=(-1,1,1,-1,1,-1,-1,1,-1,1,1,-1,1,-1,-1,1). (b1,b2,b3,b4,b')=(0,1,1,0,1)の場合: B=(1122 2233 1122 2233),D=(1,-1,1,-1,-1,1,-1,0,1,-1,1,-1,-1,1,1,1), E=(1,3,-1,-3,-1,13,1,3,-3,-1,3,1,3,1,-3,-1). (b1,b2,b3,b4,b')=(0,1,1,1,0)の場合: B=(0112 1223 0112 1223),D=(0,-1,0,-1,0,1,0,0,0,-1,0,-1,0,1,0,1), E=(-1,1,1,-1,-7,7,-1,1,-1,1,1,-1,1,-1,1). ...... (b1,b2,b3,b4,b')=(1,1,1,1,0)の場合 B=(0112 1223 1223 2330),D=(0,-1,0,-1,0,1,0,0,1,0,1,0,-1,0,1,0), E=(1,3,-1,-3,-1,5,1,3,-3,-1,3,1,-5,1,-3,-1). (b1,b2,b3,b4,b')=(1,1,1,1,1)の場合: B=(1223 2330 23303001),D=(1,0,1,0,-1,0,-1,1,0,1,0,1,0,-1,0,-1), E=(1,-1,-1,1,7,1,1,-1,1,-1,-1,1,-1,9,1,-1). この剰余類に対する最大絶対値の変換係数は、B=(1122 22331122 2233)すなわ ちz=5に関して発生するE5=13である。この係数は、また、復号器の記憶機構20 4にある他の7つの剰余類代表値のいずれに関してでも生成される変換係数より 絶対値の点で大きい。H16の列5は(+-+--+-++-+--+-+)である。E5は正である ので、+シンボルは0に−シンボルは1に置き換えられ、従って、C=(0101 1010 0101 1010)である。従って、復号器によって選択される基底コード・ワードは2 C(+)B=(1320 0213 1320 0213)で、これが符号化器160から出力されたコー ド・ワードであると見なされ、かくして通信エラーは訂正された。 図13および図15において示される符号化器200および復号器260のよ うな、4進数、8進数およびそれ以上の次数のコードに関するリー距離に基づく 最小距離復号器は、専用ハードウェアの形態で実施される場合がある。この場合 、図11の復号器140に関連して前述したように、迅速アダマール変換のいく つかまたはすべてを例えばそれぞれ毎にGreenマシンを準備することによって並 列的に計算することができる。代替的には、汎用プロセッサを使用して、後述の C言語プログラムで表現される機能性を取り入れた適切なソフトウェア・プロシ ー ジャを実行することも可能である。このプログラムは、 - (上述のmに等しい)パラメータMによって定められる長さを持ち、各シンボルが (上述のjに等しい)パラメータJによって定められる値の数を持つコード・ワード 、および、 - 剰余類代表値のリスト を入力とし、 - 最大絶対値の変換係数が検出される剰余類代表値の上記リストにおける位置、 一部分的ではあるがその変換係数の位置zから識別される基底コード・ワード、 および、 - 対応する行係数a1、a2、…、a3およびa'の値、 を出力する。 4進数またはそれ以上の次数のコードに関して使用することを主な目的とするけ れども、このプログラムは、2進符号についても有用である。 以下はこのようなプログラムのソース・コードの例である。 図8および図10に示される2次2進数RM復号器82および122は、専用 ハードウェアで実施することもできるし、また、以下のようなC言語プログラム のような適切なソフトウェア・プロシージャを実行する汎用プロセッサを使用す ることによって実施することもできる。 長さ2mシンボルの4進数コードの場合、長さ2m-1のコードに対して2進数復号 器を使用することによって復号を達成するこもできる。この形態は、(4進数信 号に作用するための回路の必要性を避けることによる)実施の容易性や動作速度 の観点から望ましい。そのような復号は、2、1、3、0および1という値を持つ行 係数a4、a3、a2、a1およびa'の)基底コード・ワード1320 0213 1320 0213お よび剰余類代表値0002 0002 0020 2202から導出される(前述の例で既に使用され た)16シンボル4進数コード・ワード1322 0211 1300 2011を参照することによ って例証される。2進数データ・ワード11011 0110 0001を表すこのコード・ワ ードは、1322 0212 1300 2031というエラーを含むコードとして受け取られるも のと仮定する。受け取られたコード・ワードの各シンボルは、先ず、表5のGray コードに従って、2進数シンボル・ペアに変換され、それら2進数シンボルは、 32ビット・ワードのそれぞれの半分に割り当てられる。このようにして、最初 の4進数シンボル(1)については対応する2進数シンボル・ペアは01であり、こ のペアの最初のシンボル(0)は、32ビットのワードの最初のシンボルを構成し 、このペアの2番目のシンボル(1)は、そのワードの17番目のシンボルを構成 する。2番目の4進数は3であり、対応する2進数シンボル・ペアは10であり、 このペアの最初のシンボル(1)は、32ビットのワードの2番目のシンボルを構 成し、このペアの2番目のシンボル(0)は、そのワードの18番目のシンボルを 構成する。このように、残りの4進数コード・ワードに対して処理が続き、 0111 0101 0100 1010 1011 0111 1000 1001 という32ビット・ワードが生成される。 この2進数ワードは、32ビットの2次2進数RM復号器に供給される。これ は、図10の復号器122の場合に類似しているが、付加ビットを取り扱うよう に拡張されている。この復号器は、2セットの2進数出力信号を生成する。その 1つは、係数u1、u2、u3、u4、u5およびu'を表す6個の1次信号であり、2つ目 のセットは、,係数u12、u13、u14、u15、u23、u24、u25、u34、u35およびu45を 表す10個の2次信号である。32ビット・ワードの場合、RM復号器の出力信 号は次の値を持つ。 u1=1 u12=0 u23=1 u2=0 u13=1 u24=1 u3=0 u14=1 u25=0 u4=1 u15=0 u34=1 u5=1 u35=0 u'=0 u45=1 これらの1次および2次信号は、2進数4進数変換器に送られ、次の関係式に 従って入力4進数データ・ワードに対応する行係数a1、a2、a3、a4およびa'が作 成される。 a1=(2u2+u12(1+2u1))mod4 [=0] a2=(2u3+u13(1+2u1))mod4 [=3] a3=(2u4+u14(1+2u1))mod4 [=1] a4=(2u5+u15(1+2u1))mod4 [=2] a'=2u'+u1 [=1] []内の値は、上述のように与えられる1次および2信号の特定の値に対する関 係式の結果を示す。5つの復号される行係数a4、a3、a2、a1およびa'に対しそれ ぞれ4進数2、1、3、0および1が生成されることが示されている。 係数変換器は、また、以下の関係式に従って係数a12、a13、a14、a23、a24お よびa34を表す6つの信号を生成する。 a12=(u23+u12u13)mod2 [=1] a13=(u24+u12u14)mod2 [=1] a14=(u25+u12u15)mod2 [=0] a23=(u34+u13u14)mod2 [=0] a24=(u35+u13u15)mod2 [=0] a34=(u45+u14u15)mod2 [=1] これら付加信号は、16シンボル4進数コード・ワードがそれを基に生成された 剰余類代表値を形成するため6個の付加行2(X1*X2)、2(X1*X3)、2(X1*X4)、2(X2 *X3)、2(X2*X4)および2(X3*X4)のうちのどれが組み合わされたかを標示する。 データ・ワード11011 0110 0001の場合、当該剰余類代表値は2(X1*X2)(+)2(X1*X3 )(+)2(X3*X4)であり、関連する係数a12、a13およびa34はこれを示すため1とい う値を持つ。 6つの係数信号a12、a13、a14、a23、a24およびa34の組合せを用いて、図10 の復号器120におけるセレクタ128と同様のセレクタ手段によって当該デ ータ・ワードの最上位3ビットを導出することができる。下位10ビットは、表 5のGrayコードを参照して復号される行係数a1、a2、a3、a4およびa'からペアで 導出される。 注意すべき点であるが、このような方法で長さ2m+1ビットのコードに関する 2進数復号器を使用する2mシンボル4進数コード・ワードの復号は、次のよう な2つの目的からGrayコード表の参照を必要とする。1つの目的は、図12およ び図14の符号化器160および230に関連して上述したように、エラーの検 出および訂正機能を含むデータの完全な通信経路上への伝送を援助することであ る。第2の目的は、2進数復号器回路の使用を可能にし、それによって、4進数 信号を直接処理して動作速度を向上させる回路を実施する費用と努力を節約する ことである。 2mシンボルを含む4進数コード・ワードという一般的ケースに2進数復号器 を適用するため、上述のように、コード・ワードは、表5のGrayコードを使用し て対応する2m+1ビット2進数コード・ワードへシンボル単位で変換される。こ の場合、Grayコードの2進数シンボルの各ペアにおけるそれぞれのシンボルが、 その2進コード・ワードのそれぞれの半分に割り当てられる。この2進数コード ・ワードは、係数u1、u2、…、um+1、u'、u12、u13、…、um.m+1を与えるため2 進数復号器を使用して、長さ2m+1の2次リードーマラー・コードのエレメント すなわちRM(2,m+1)として復号される。これらの係数は、次の関係式に従って、 必要とされる4進出力係数に変換される。 a'=2u'+u1 ai=(2ui+1+u1,i+1(1+2u1))mod4 (1=<1=<mの場合) aik=(ui+1,k+1+u1,i+1 u1,k+1)mod2 (1=<i<k=<mの場合) 値a1、a2、…、amおよびa'は、表5のGrayコードを介して2(m+1)復号データ ・ビットを与える。残りのビットは、係数a12、a13、…am-1,mの値に従って、使 用のため選択された剰余類のルックアップ・テーブルを参照し復元される。 Grayコード2進数シンボルの各ペアにおけるそれぞれのシンボルの2m+1ビッ ト2進コード・ワードのそれぞれの半分への割り当てが唯一の可能性ではない。 係数u1、u2、…、um+1、u'、u12、u13、…、um,m+1を4進数出力係数へ変換する ための関係式を変えて、2進数シンボルを2進数コード・ワードのそれぞれの位 置へ割り当てるという代替方法が可能である。例えば、復号されるべき4進コー ド・ワードは、4進コード・ワードにおける対応する4進シンボルと同じ次数で Grayコード2進数シンボルのペアを連結することによって、拡張することができ る。このようにして、4進数ワード1322 0212 1300 2031は2進数ワード0110 11 11 0011 0111 0110 0000 1100 1001に変換される。 この場合係数変換のための関係式は次の通りである。 a'=2u'+um+1 ai=((2ui+ui,m+1)(1+2um+1))mod4 (1=<1=<mの場合) aik=(ui,k+ui,muk,m+1)mod2 (1=<i<k=<mの場合) また、図13の16Q/13B復号器200の形式を持つ復号器を用いて、2 進数処理を4進数処理へ置き換えることも可能である。これは、復号器200の 場合、受け取られる4進数コード・ワードおよび剰余類記憶機構204によって 出力される剰余類代表値の両方が表5のGrayコードを使用してシンボル単位で3 2ビットのコード・ワードに変換されるように復号器を修正することによって、 実施可能となる。これに対応して、減算器202は、モジュロ2ではなくモジュ ロ4演算を行うように修正される。 現在時剰余類代表値に関する減算器202によって出力される32ビットのワ ードSは、ベクトル生成器210に送られる。このベクトル生成器もまた、16 個の32ビットの入力ベクトル・シーケンスDを、それらベクトルの各々に対し て迅速アダマール変換を実行するGreenマシン212へ供給するように修正され る。すなわち、修正ベクトル生成器210は、係数全体が16個の可能な組み合 わせの値全部に及ぶように、4つの係数b1、b2、b3およびb4の各々に0または1 の値を割り当てる。そのような組合せの各々毎に、4進16シンボル値が、次の 関係式に従って導出される。 (b1X1+b2X2+b3X3+b4X4)mod4 この値は、また、入力4進コード・ワードおよび現在次剰余類代表値と同じ方法 で32ビットのワードBに変換される。上記の関係は無修正復号器200の場合 の値Bに関するもとのと似ているけれども、同一ではない。特に、修正された関 係式は、係数b'を含まない。 各ベクトルDは、32ビットのワードSおよびそれぞれの32ビットのワードB のビット単位加算モジュロ2によって導出され、そのベクトルDにおける値+1 および−1は、2進数値0および1にそれぞれ置き換えられる。次に、ベクトル Dは、長さ32の迅速アダマール変換を実施するように修正されたGreenマシン2 12に供給される。 Greenマシン212の出力は、各ベクトルD毎に32個の変換コンポーネントで あり、それらは、(32のコンポーネントを受け取るように修正された)比較器2 14およびラッチ216に送られ、剰余類代表値の各々に関するBの値のすべて にわたって、最大絶対値ならびに対応する(0から31までの)zの値を持つ変換 コンポーネントEz、4つの係数b1、b2、b3およびb4、および剰余類インデックス が選択される。選択されたzの値、Ezの符号および係数b1、b2、b3およびb4は、 後述のように、復号される下位10ビットの値を決定し、一方、剰余類インデッ クスは上位3ビット出力を形成する。 出力される下位10ビットの値を決定するため、係数C'はEzが負であれば1に 、正であれば0にセットされ、zの値は5ビット2進数c1c2c3c4c5として表現さ れる。5個の行係数a4、a3、a2、a1およびa'が、次の式によって決定される。 a1=(2c2+b1(1+2c1))mod4 a2=(2c3+b2(1+2c1))mod4 a3=(2c4+b3(1+2c1))mod4 a4=(2c5+b4(1+2c1))mod4 a'=2c'+c1 次に、復号されるデータ・ビットが、表5のGrayコードの参照によってこれら行 係数からペアの形態で導出される。 2mシンボルを含む4進コード・ワードという一般的ケースについてこのよう な方法で修正された復号器200を使用するため、コード・ワードおよび剰余類 代表値は、対応する2進コード・ワードにシンボル単位で変換される。2進数係 数b1、b2、…、bmは、全体として、2m個の可能な組合せの値をカバーする。 値Bは、(b1X1+b2X2+...+bmXm)mod4 という4進式の値を2m+1ビット2進数ワードに変換すことによって導出される 。行係数から2(m+1)最下位出力ビットの値を決定するため、zの値は、2進 数c1c2...cm+1として表され、復号される行係数a1、a2、...、amおよびa'は次の 式によって決定される。 ai=(2ci+1+bi(1+2c1))mod4 (1=<1=<mの場合) a'=2c'+c1 4進数コードに関する上記記述は、0、1、2、3という可能な値を持つ4進数シ ンボルに関して行われた。実際の伝送の場合、例えば直角位相シフト・キーイン グ(すなわちQPSK)変調によって、これらの値はフェーズ・シフトの4つの異 なる値に対応する。1つの可能性は、(i=√-1として)複雑ベクトル1,i,-1およ び-iと同等な)0度、90度、180度および270度のフェーズ・シフトであ る。しかし、その他の変形も可能である。例えば、複雑ベクトル(1+i)/√2,(-1+ i)/√2,(-1-i)/√2および(1-i)/√2と同等な45度、135度、225度および 315度の場合もあり得る。この原理は、多数の(j〉2)シンボル値を持つコード に対して適用でき、実際シンボル値はいかなる2j個の識別可能な信号変調によ ってでも表現されることは可能であり、それらの振幅は等しい必要はなく、位相 シフト・キーイングの場合、隣接ペアの間の位相の差は等しい必要はない。 COFDM信号を符号化し復号する上述の方法および装置は、エラー検出およ び訂正特性、低いPMEPR、実施の便宜性および役立つデータ伝送率というい くつかの利点を提供する。特に長いコード・ワード(すなわち多搬送波システム における多くの搬送波)が高いデータ率を提供する必要があるような場合、(おそ らく不可能で時間の無駄な)すべてのコード・ワードをもれなく探索することを 行うことなく、これらの特性を得ることができる。特定の状況においては、これ らの異なる特性の間での妥協を図るためコード・ワードの選択を修正することが 必要になることもある。 例えば、PMEPRの比較的高い最大値を受け入れる代わりにデータ率を増加 させるため、利用可能なコード・ワード母集団を増加させることが望まれる場合 がある。例えば長さ16(すなわちm=4)の2進コードを考察すると、その剰余類 代表値が生成器アレイにおける付加行の線形組合せである基底コードのあらゆる 可能な剰余類を構築し、その剰余類の範囲内のコード・ワードの使用から生じる 最大ピーク・エンベロープ・パワー(PEP)を導出することは可能である。これ は、以下の表7に示されるように、各剰余類に対する最大PEPの昇順で剰余類 をリストすることを可能にする。このような表において、第1の列が、コードの 生成器アレーのそれぞれの付加行に対する乗数を含む6つの係数を含み、それら 係数をシンボル単位モジュロ2jで加算することによって剰余類代表値が作成さ れる。このようにして、例えば、'12'という見出しの下の1は、付加行(X1*X2) が剰余類代表値に含まれるように1を乗算され、0は0を乗算(実質的には除外) されることを意味する。中央の列は、剰余類代表値そのものを示し、最後の列は 、その剰余類におけるコード・ワードの使用から生じる最大PEPを示す。 表7:2進(長さ16) 1つの剰余類に対するPEPの導出は、時間領域におけるエンベロープに沿って 連続したサンプル・ポイントにおいてコード・ワードによって生成される複合波 形のエンベロープの振幅を計算することを必要とする点は、注意されべきである 。連続したサンプルに関する時間値の間のインターバルは結果の精度に影響を及 ぼす。すなわち、時間インターバルが短いほど精度は高くなるが、波形全体のた め必要とされるサンプルの数は増加し、従って、計算量は増加するという代価を 払う。典型的にはPEPの導出は、取得されるPEPがあらかじめ定められた数 の有効数字または10進数に対して安定するまで比較的短い連続的インターバル に関して反復される。表7のケースにおいては、丸めの後、2番目の10進の場 所が安定するまで、計算はこのように繰り返された。 上述のように、表7の点線(1)より上にリスとされている最初の12個の剰余 類代表値に関連した384個のコード・ワードは、3dBを越えないPEPR、 すなわち、2というファクタを与える(長さ2mのコード・ワードに関する平均エ ンベロープ・パワーは、2mであり、従って長さ16のコード・ワードに関して は平均エンベロープ・パワーは16で、最高32のPEPが最高2のPMEPR を与える)。 使用されるコード・ワードが、表7の上半分すなわち点線(2)より上の最初の 27の剰余類代表値プラス点線(3)より上の次の25の剰余類代表値の内のいず れか5つと関連づけられると、最小ハミング距離を2*2(=4)で変えないまま に維持しながら、10データ・ビットを符号化することが可能となる。これは、 最大PMEPRは2から単に4へ増加するだけで(どのようなコード・ワードで もよい場合は16となるのに対して)単に4へ増加するだけにしながら、16ビ ットのコード・ワードで表現され得るデータ・ビットの数を8から10へ増加さ せる。これらの付加的データ・ビットは、図9のセレクタ112によって適応さ れることができるが、この場合、このセレクタは、データ・ワードの最上位(3 ビットではなく)5ビットの値に従って、選択された(25の)32個の剰余類代表 値から選択するように修正される。 その他の長さの2進数コード・ワードのため表7と同様の表を準備することが できる。2mのコード・ワード長さに関しては、そのようなテーブルから選択さ れる剰余類セットを含むいかなるコードも(3dBを越えないPMEPRを持つ 2進数コードの場合のように)2m-2の最小ハミング距離を持ち、上述の適切な復 号器のいずれかを使用することができる。 データ伝送率およびPMEPRの間の同様の妥協を、4進数、8進数およびそ れ以上の次数のコードに関して適用することができる。次の表8は、長さ16シ ンボルの4進数コードに関する剰余類代表値を表7と同じ形式で剰余類各々に対 する最大PEPの順序で示すものである。表8:4進(長さ16) この表は、表7の場合と同様に使用されることができる。例えば、表8の点線(1 )より上の最初の12の剰余類に関連するコード・ワードは、点線(1)と(2)の間 の次の40剰余類のうちの任意の20に関連するコード・ワードと共に、16シ ンボル長の4進数コード・ワードとして15までのデータ・ビットを符号化する ため使用され得る。それらコード・ワードに従って変調される多搬送波信号の最 大PMEPRは4(6dB)である。 その他どのような長さの4進数コード・ワードのため表8と同等の表を準備す ることができる。2mのコード・ワード長に関して、そのような表から選択され る剰余類セットを含むいかなるコードも、(3dBを越えないPMEPRを制せ 得る前述の4進数コードの場合と同様に)2m-1の最小ハミング距離および2m-1 の最小リー距離を持つ。そのようなコードに対し上述のいかなる復号器をも使用 することができ、その場合も前述の諸特性は維持される。 表7および表8にリストされた剰余類代表値の各々はそれぞれの生成器アレー における付加行の線形組合せである。類似した方法で一層大きい表を生成するた め基底コードに関する他の剰余類代表値を含めることも可能であるが、表にされ たPEPだけに基づいてそのようなテーブルからコード・ワードを選択すること は一般にあまり望ましくはない。なぜなら、そのようなコード・ワードの選択は 、低いエラー検出および訂正特性を持つ可能性があるからである。表7および表 8を引き出す際に使用された生成器アレイは、前述のそれぞれ2進数および4 進数の最小PMEPRコードを導出する際に使用されたものと同じ生成期アレイ である。 表9は、長さ16シンボルの8進数コードに関する剰余類代表値を各剰余類に 対する最大PEPの順で示したものである。この場合、最初の欄は、2mシンボ ル・ワードに関する2(Xi*Xk)という形式の乗数を構成する6つの係数を含み(一 方8進数生成器アレイの付加行は4(Xi*Xk)という形式である)、それらはシンボ ル単位モジュロ2jによって加算され剰余類代表値が作成される。従って、見出 し'12'の下の3は、ワード2(X1*X2)のシンボルの各々が剰余類代表値に包含され るように3を乗算されることを示す。このように、この場合、リストされた剰余 類代表値は、8進数生成器アレイの追加行の線形の組合せに限定されない。この 表は大きいので,選択される行だけが以下の表9に含められている。表9−8進(長さ16) 表9を作成する際、PEPの計算は、丸めの後少なくとも最初の10進の場所が 安定するまでエンベロープ・サンプル時間値の間の比較的短いインターバルに関 して繰り返された。 表9からわかるように、8進数コードの場合、PMEPRが4よりも高くなら ないような利用できる多数の剰余類が存在する。 16シンボルの長さ以外の8進数コード・ワードについても、表9と同じよう な表を準備することができる。長さ2mのコード・ワードに関して、そのような 表から選択される剰余類セットを含むいかなるコードも(前述のような3dBを 越えないPMEPRに対する8進数コードの場合と同様に)最小ハミング距離2m -2 および最小リー距離2m-1を持つ。とはいえ、8進数ケースにおいて、リスト された剰余類代表値が8進数生成器アレイにおける追加行の線形組合せに限定さ れるわけではない。この予想外の特徴は、低いPMEPRに関連する非常に多数 の剰余類に貢献する。 表9にリストされた剰余類代表値の各々は、形式2(Xi*Xk)の2mシンボル・ワ ードの線形組合せである。形式(Xi*Xk)の2”シンボル・ワードの線形組合せを 受け入れることによって更に多数の8進数剰余類を利用可能とすることができる 。この場合、最小リー距離は減少するかもしれないが、コードの最小ハミング距 離は不変のままである。実際には、符号化器230(図14)におけるセレクタ2 52に行を付加し、それによって、セレクタが剰余類代表値の選択を決定する ため追加の入力データを受け入れることを可能にすることによって、上記オプシ ョンが実施される。上述の8進数復号器はそのようなコードについても使用可能 であり、その場合でも上述の諸特性は維持できる。 同様の方法で一層大きい表を作成するため基底コードに関する一層多数の剰余 類代表値を含めることは可能ではあるが、表にされたPEPだけに基づいてその ようなテーブルからコード・ワードを選択することは一般にあまり望ましくはな い。なぜなら、そのようなコード・ワードの選択は、低いエラー検出および訂正 特性を持つ可能性があるからである。 剰余類代表値の各々が形式2(Xi*Xk)の2mシンボル・ワードの線形組合せであ るように表9に類似する表を生成することができる。長さ2mのコード・ワード に関して、そのような表から選択される剰余類セットを含むいかなるコードも最 小ハミング距離2m-2および最小リー距離2m-1を持つ。形式(Xi*Xk)の2mシンボ ル・ワードの線形組合せを受け入れることによって更に多数の剰余類を利用可能 とすることができる。この場合、最小リー距離は減少するかもしれないが、コー ドの最小ハミング距離は不変のままである。上述のような復号器を適切に使用し てそのようなコードを復号することができる。 表7、表8および表9に見られるような剰余類の順序づけされたリストは、C プログラミング言語による以下のようなプログラムを使用して生成することがで きる。 データ伝送率とPMEPRの間の妥協点を選択するだけではなく、例えばデー タ伝送率と最小リー距離の間の妥協を図ることも可能である。例えば、表7の先 頭の12行によって定義される剰余類の中から4つのサブセットを選択すること によって、3dBの最大PMEPRを維持する一方、データ・ビットの数を8か ら7へ減少させる代わりに最小距離を4から6へ増加させることができる。その ようなサブセットの1つの例は、表7の2番目、3番目、4番目および6番目の 行によって定義される剰余類から構成される。同様の妥協がその他のコード・ワ ード長および高次のコードに関して可能である。極端なケースでは、基底コード の単一の剰余類を使用して、いかなる次数のコードに対しても2m-1の最小ハミ ングおよび最小リー距離を提供しながら、j(m+1)データ・ビットだけを符号化す ることも可能である。 各剰余類に対する最大PEPの順序で剰余類代表値のリストを構築することに よってデータ伝送率とPMEPRの間の可能な妥協を図ることは、上述のように 、特に比較的長いコード・ワードや高次のコードについては多大な計算を要する という欠点を持つ。以下の技術は、各剰余類に対する最大PEPを計算せずに、 基底コードと組み合わせて、既知の値を越えないPMEPRに関連したコード・ ワードを生成することができる剰余類代表値セットを識別する(この技術は剰余 類をPMEPRの順に並べることはしない)。この技術を使用する最初の例は、 以 下のような生成器アレイを持つ長さ16(m=4)の2進数コードのケースである。 (0000 0000 1111 1111) (X1) (0000 1111 0000 1111) (X2) (0011 0011 0011 0011) (X3) (0101 0101 0101 0101) (X4) (1111 1111 1111 1111) (X') (0000 0000 0000 1111) (X1*X2) (0000 0000 0011 0011) (X1*X3) (0000 0000 0101 0101) (X1*X4) (0000 0011 0000 0011) (X2*X3) (0000 0101 0000 0101) (X2*X4) (0001 0001 0001 0001) (X3*X4) 剰余類代表値のセットを生成する最初のステップとして、8つの(2m-1)式の初 期セットが構築される。これらの各々は、次の形式を持つ。 (X1*X2)(+)(X2*X3)(+)v1(X1*X4)(+)v2(X2*X4)(+)v3(X3*X4) 但し、v1、v2およびv3は値0または1を持つ係数であり、記号(+)はビット単位 加算モジュロ2を示す。従って、初期セットは次の通りとなる。 (X1*X2)(+)(X2*X3) (v1=0,v2=0,v3=0) (X1*X2)(+)(X2*X3)(+)(X1*X4) (v1=1,v2=0,v3=0) (X1*X2)(+)(X2*X3)(+)(X2*X4) (v1=0,v2=1,v3=0) (X1*X2)(+)(X2*X3)(+)(X1*X4)(+)(X2*X4) (v1=1,v2=1,v3=0) (X1*X2)(+)(X2*X3)(+)(X3*X4) (v1=0,v2=0,v3=1) (X1*X2)(+)(X2*X3)(+)(X1*X4)(+)(X3*X4) (v1=1,v2=0,v3=1) (X1*X2)(+)(X2*X3)(+)(X2*X4)(+)(X3*X4) (v1=0,v2=1,v3=1) (X1*X2)(+)(X2*X3)(+)(X1*X4)(+)(X2*X4)*(X3*X4) (v1=1,v2=1,v3=1) この初期セットは、次に、各式における行識別子X1、X2、X3およびX4のサブスク リプトのすべての可能な順列を適用することによって拡張される。最終セットは 、拡張されたセットの範囲内で同類のない式を識別することによって作成され る。この目的のため、(X1*X2およびX2*X1のような)サブスクリプトのペアが同じ であるが順序が逆になっている項目は同一のものとみなされ、1つの式の中のそ のような項目の順序付けは無視される。 表10には、剰余類代表値の必要なセットを定義する全部で49の式の最終セ ットが示されている。モジュロ2加算されるコード生成器アレイの付加行のそれ ぞれに対する乗数を構成する6つの係数の観点から表は構成され、対応する剰余 類代表値が作成されている。例えば、見出し'12'の下の1は、付加行(X1*X2) が剰余類代表値に含まれるように1を乗算されることを意味し、0は0を乗算さ れるすなわち除外されることを意味する。表10 これらの剰余類代表値のいずれかを基底コードと組み合わせることによって得 られるコードは、次のような特性を有する。 ・コードの最小ハミング距離は4(2m-2)である。 ・これらのコード・ワードに従って変調される多搬送波信号は6dBを越えるP MEPRを持たない。 ・そのようなコードに対して使用される、ハミング距離に基づいた復号器は、解 析手法を使用して動作させることができ、例えば少くとも部分的に組合せの論理 を使用して実施することができる。 ・許容可能なデータ伝送率を達成するため利用可能なコード・ワードが存在する 。 m>=3として長さ2mビットの2進数コードという一般的ケースにおいて、2m-1個 の式の初期セットは次のような形式で構築される。 (X1*X2)(+)(X2*X3)(+)...(+)(Xm-2*Xm-1)(+)v1(X1*Xm) (+)v2(X2*Xm)(+)...(+)vm-1(Xm-1*Xm) 但し、v1,v2,...vm-1は0または1という値を持つ係数であり、サブスクリプ トの順列および類似のない式の識別は前述の場合の通り行われる。(パラメータm に関すう限り)種々のコード・ワード長のためこのプロシージャによって与えら れる剰余類の数およびコード・ワードの全数は以下の通りである。m 剰余類 コード・ワード数 3 7 1792 4 49 50176 5 552 2260992 6 7800 127795200 7 126360 8281128960 64ビット以上(m>6)のワード長さに対して適用できるこの技術の修正は、類 似する式を検出し除外するため式のセットを検査する必要性なしに、剰余類の大 きなサブセットを識別することを可能にする。言い換えると、この修正技術は、 本来的に他に類似のない式の拡張セットを生成することを保証することができる 。このため、係数v1,v2,...vm-1の値の組合せは、形式v1v2v3...vm-2vm-1の2 進数ワードが次のような2つの特性を持つような組み合わせに限定される。すな わち、各ワードv1v2v3...vm-2vm-1は少くとも4というハミング加重を持つこと 、および、 である。 制限された係数の組み合わせセットという上記のような形式で与えられる初期セ ットの式を構築し、各式における行識別子のサブスクリプトのすべての可能な順 列を適用することによって、剰余類代表値の必要なサブセットを定義する明確な 式のセットが作成される。基底コードをこのサブセットにおけるどのような剰余 類代表値との組み合わせよって生成されるコード・ワードも、6dBを越えない PMEPRを生む。m>7の場合で少なくともm!.2m-4の剰余類代表値がこのプロシ ージャによって識別される。 同様の技術を使用して、既知の最大PMEPRという結果に結びつく4進およ び高次コード・ワードの剰余類を識別することができる。m>=3の場合の長さ2m の4進数コード・ワードに関しては、2m-1個の式の初期セットは次の形式で構 築される。 2(X1*X2)(+)2(X2*X3)(+)...(+)2(Xm-2*Xm-1)(+)2v1(X1*Xm) (+)2v2(X2*Xm)(+)...(+)2vm-1(Xm-1*Xm) 但し、v1、v2、...vm-1は0または1という値を持つ係数であり、記号(+)はシンボ ル単位加算モジュロ4を示す。この初期セットは、次に、各式における行識別子 X1、X2、X3...Xmのサブスクリプトのすべての可能な順列を適用することによっ て拡張される。最終セットは、拡張されたセットの範囲内で同類のない式を識別 することによって作成される。(パラメータmに関する限り)種々のコード・ワー ド長のためこのプロシージャによって与えられる剰余類の数およびコード・ワー ドの全数は以下の通りである。m 剰余類 コード・ワード数 3 37 9472 4 661 676864 5 14472 59277312 6 360600 5908070400 7 >=1290240 >=84557168640 この場合更に多数の剰余類が存在し、従って、潜在的に一層高いデータ伝送率が 利用可能である。この修正技術によって識別されるどのような剰余類代表値と4 進数基底コードの組み合わせよって生成されるコード・ワードも、6dBを越え ないPMEPRを生むが、リー最小距離は2m-2に減少する。 更に、係数v1およびvm-1の値を1と3に固定し、その他の係数は0から3まで の任意の値を持つことを許容することによって、行識別子のサブスクリプトの順 列における類似のない式からなる拡張セットを生成する修正プロシージャを利用 することができる。 m>=3の場合の長さ2mの8進数コード・ワードに関しては、4m-1個の式の初期セ ットは次の形式で構築される。 4(X1*X2)(+)4(X2*X3)(+)...(+)4(Xm-2*Xm-1)(+)2v1(X1*Xm) (+)2v2(X2*Xm)(+)...(+)2vm-1(Xm-1*Xm) 但し、v1,v2,...vm-1は0または1という値を持つ係数であり、記号(+)はシンボ ル単位加算モジュロ8を示す。この初期セットは、次に、各式における行識別子 X1、X2、X3...Xmのサブスクリプトのすべての可能な順列を適用することによっ て拡張される。最終セットは、拡張されたセットの範囲内で同類のない式を識別 することによって作成される。 これらの剰余類代表値のいずれかを基底コードと組み合わせることによって得 られる8進数コードは、次のような特性を有する。 ・コードの最小ハミング距離は2m-2で、最小リー距離は2m-1である。 ・これらのコード・ワードに従って変調される多搬送波信号は6dBを越えるP MEPRを持たない。 ・そのようなコードに対して使用される、ハミング距離に基づいた復号器は、解 析手法を使用して動作させることができ、例えば少くとも部分的に組合せの論理 を使用して実施することができる。 ・許容可能なデータ伝送率を達成するため利用可能なコード・ワードが存在する 。一般的に、このプロシージャはm=>4の時少なくともm!.4m-3個の類似のない剰 余類代表値を識別する。 (パラメータmに関する限り)種々のコード・ワード長のためこのプロシージャ によって与えられる剰余類の数およびコード・ワードの全数は以下の通りである 。m 剰余類 コード・ワード数 3 37 151552 4 661 21659648 5 14472 3793747968 6 360600 756233011200 7 >=1290240 >2.16x1013 4進数の場合と同様に、16以上の(m=>4の)シンボルのワード長に関して、類 似性の検証を行うことなくこれら剰余類の大きなサブセットを識別することがで きる。これは、係数v1およびvm-1の値を1と3に固定し、その他の係数は0から 3までの任意の値を持つことを許容することによって達成される。このプロシー ジャによって正確にm!.4m-3個の類似のない剰余類代表値が得られる。 m>=3の場合の長さ2mの8進数コード・ワードに関して、係数v1、v2、...vm-1が 0から7の任意の数を持つことを許容し、初期セットの式の形式を次のように修 正することによって、更に別の修正が可能である。 4(X1*X2)(+)4(X2*X3)(+)...(+)4(Xm-2*Xm-1)(+)v1(X1*Xm) (+)v2(X2*Xm)(+)...(+)vm-1(Xm-1*Xm) この初期セットは、次に、各式における行識別子X1、X2、X3...Xmのサブスクリ プトのすべての可能な順列を適用することによって拡張される。最終セットは、 上述の2進数の場合と同様に、拡張されたセットの範囲内で同類のない式を識別 することによって作成される。(パラメータmに関する限り)種々のコード・ワー ド長のためこのプロシージャによって与えられる剰余類の数およびコード・ワー ドの全数は以下の通りである。m 剰余類 コード・ワード数 3 169 692224 4 5917 193888256 5 243912 63940067328 6 >5.52x106 >1.15x1013 7 >3.09x108 >5.19x1015 この場合更に多数の剰余類が存在し、従って、潜在的に一層高いデータ伝送率が 利用可能である。この修正技術によって識別されるどのような剰余類代表値と4 進数基底コードの組み合わせよって生成されるコード・ワードも、6dBを越え ないPMEPRを生むが、リー最小距離は2m-2に減少する。 更に、行識別子のサブスクリプトの順列を作成した後確実に類似のない式から なる拡張セットを生成するもう1つの修正プロシージャが提供される。このプロ シージャは、係数v1およびvm-1の値を以下に示されるような順序の値のペアに固 定する。すなわち、v1,vm-1の値は、1,2;1,3;1,5;1,6,1,7,2,3;2,5,2,6;2,7;3, 5,3,6,3,7;5,6;5,7,6,7;とされる。他の係数は0から7のどのような値でも持つ ことができる。このアプローチによって、m>=4の場合、少なくとも15.m!.8m-3 の類似のない剰余類代表値が取得される。 6dBを越えないPMEPRを生成するコード・ワードを定義する剰余類を識 別するこれら技術は、一層高次のコードヘ拡張することができる。更に一般化す れば、剰余類の大きなセットは、各々が2jの可能な値を持つ(m>=3の)2mシンボ ルを含むコードに対して識別可能であり、この場合、PMEPRは、1=<p=<m-2 としていかなる固定整数pに関しても最大2P+1が保証される。すなわち、係数の p個のセットは次のように定義される。 (v1,1,v1,2,...v1,m-p) (v2,1,v2,2,...v2,m-p) ... (vp,1,vp,2,...vp,m-p) 但し各係数は0から2j−1までの整数を持つ。1=<i<j=<pとして、各々が0か ら2j−1までの整数を持つ更なるp(p-1)/2個の係数が定義される。係数Vij,お よびWijの初期選択のため以下の形式の式が構築される。 2j-1(X1*X2)(+)2j-1(X2*X3)(+)...(+)2j-1(Xm-p-1*Xm-p) (+)v1,1(X1*Xm-p+1)(+)v1,2(X2*Xm-p+1)(+)...(+)v1,m-p(Xm-p*Xm-p+1) (+)v2,1(X1*Xm-p+2)(+)v2,2(X2*Xm-p+2)(+)...(+)v2,m-p(Xm -p *Xm-p+2)... (+)vp,1(X1*Xm)(+)vp,2(X2*Xm)(+)...(+)vp,m-p(Xm-p*Xm) (+)w1,2(Xm-P+1*Xm-P+2) (+)w1,3(Xm-p+1*Xm-p+3)(+)w2,3(Xm-p+2*Xm-p+3) (+)w1,4(Xm-P+1*Xm-P+4)(+)w2,4(Xm-P+2*Xm-P+4)(+)w3,4(Xm-P+3*Xm-p+4) ... (+)w1,p(Xm-p+1*Xm)(+)w2,p(Xm-p+2*Xm)(+)...(+)wp-1,p(Xm-1*Xm) 但し、記号(+)はシンボル単位加算モジュロ2jを示す。この形式の更なる式が、 係数vijおよびwijの選択の残りの可能な組み合わせに関して構築され、2jp(m-p) +jp(p-1)/2 の式からなる初期セットが取得される。この初期セットは、各式にお いて行識別子X1,X2,X3,...Xmのサブスクリプトのすべての可能な順列を適用 することによって拡張される。剰余類代表値の必要なセットを定義する式の最終 セットが2進数に関して上述したように拡張セットなしに他に類似のない式を識 別することによって生成される。このプロシージャによって識別される任意の剰 余類代表値と2j次の基底コードを組み合わせることによって生成されるコード ・ワードのセットは、両方共2m-2の最小り一距離および最小ハミング距離を持 つ。係数VijおよびWijが上述の範囲値を持つように限定されるように更に修正を 加えることも可能である。この場合識別される剰余類は少なくなるが、結果とし て生ずるコードは2m-1の最小リー距離を持つ。 更に上記以外の方法でデータ伝送率、PMEPRおよびエラー検出/訂正能力 の間の妥協を図ることができる。例えば、上述のように11データ・ビットを直 接符号化するため32ビットのコード・ワードを使用する代わりに、表3から導 出される8B/16Bコードを使用して16ビットのコード・ワードとして連続 8ビット・ブロックを符号化し、次に、そのようなコード・ワードのペアを連結 して伝送用の混成32ビット・ワードを生成することも可能である。このような 連結コードは11B/32Bコードの直接使用と比較して、次のような特性を持 つ。 ・一層すぐれたデータ転送率(伝送される32ビットによって表現される16デ ータ・ビット)。 ・PMEPRは悪くとも4(=6dB)であり、コンポーネント・コード・ワード に関する最大PMEPRの2倍である。 このように、上記連結方法は、すぐれたデータ伝送率が要求され、また必ずしも 最適でなくてもよいがPMEPRが制御されている状況において役立つことがで きる。 連結されたコードを復号する際には、コード・ワードは先ず2つの連続する1 6ビットのコード・ワードに分割され、次に16B/8B復号器120または1 40によって個々に処理されてそれぞれ8ビットのデータ・ワードが取り出され る。 コード・ワードのペアを伝送のため連結する以外の方法で長さの短いコード・ ワードを伝送用の一層長い混成コード・ワードに結合することは可能である。例 えば4つのコード・ワードを連結し、受け取った混成コード・ワードを復号ため 4つの部分に分割するとう方法も可能である。代替的方法としては、個々のより 短いコード・ワードのコンポーネントのビットまたはシンボルを1つ1つまたは ペアや4個組の単位でインターリブすることもできる。混成コード・ワードを構 成するコード・ワードは、同じ剰余類のメンバーである必要はない。構成する特 定のコード・ワードに関する剰余類代表値の選択を複数の値にわたるようにする こともできる。この場合、例えば図8の復号器60のセレクタの機能と同様な形 態でデータ・ワードの1つまたは複数の付加ビットを定義することによって、選 択された構成コード・ワードの各々が属する剰余類の識別情報それ自体を情報の 伝送に使用することができる。 このような連結またはインターリーブによって作成される混成伝送コード・ワ ードは、上述のような同じ長さの行を持つ生成器マトリックスからではなく(例 えば半分の)行を持つ生成器マトリックスから導出される。しかしながら、その ような混成コード・ワードによって実際構成されるコードを、混成コード・ワー ドとして同じ長さの行の生成器マトリックスを持つ1つのコードの混成剰余類セ ットから選択するような実施形態も可能である。 別の修正方法として、16ビットのコード・ワードおよび32ビットのコード ・ワードを、各々を上述のようにそれぞれ導出されるコードから選択し、伝送用 の混成48ビット・ワードにそれらを連結することも可能である。更に、この4 8ビット・ワードに付加的な16個のゼロ・ビットを連結して、伝送用IFFT 方式で処理するための64ビット・ワードを生成することもできる。16個の付 加0ビットは受け取りの際、サンプル数に関して2の累乗の最適選択を与えなが ら過サンプリングの使用を可能にする。もう1つの可能性は、各々が16ビット のコードから選択される3つの16ビットのコード・ワードを連結して混成48 ビット・コード・ワードを生成するものである。 注意すべき点であるが、上述された所与の長さの2進数、4進数および8進数 のコードすべては単一の共通の生成器マトリックスから導出される点である。実 際、このような生成器マトリックスは同様の高次コードを導出するため使用する ことができる。通信経路の一般的特徴に従って使用されるコードの次数を変更す る適応型システムを実施する上で上記のような特性は価値がある。このように、 高品質の経路が使用中の時、8進数のような比較的高い次数のコードを使用して 高いデータ伝送率を獲得することができる。経路の品質が悪くなりエラー率が増 加する場合、4進数または2進数のような低次コードの使用に切り替えることが できる利点がある。これは、次数の異なるコード各々に対して回路の完全な複製 を使用するようにする必要性なしに、本発明を用いて達成することができる。ま た、共通の生成器マトリックスを組み込むまたはそれに基づく同様の回路を、例 えば各コードの生成器アレイの付加行における値に対応する切り替え可能なパラ メータと共に、使用することも可能である。それらのパラメータの適切な値の選 択によって、同じ基本回路を、必要とされる特定次数のコードを生成するため、 使用することができる。 上述されたように導出される剰余類代表値は特に利点の多い特性を提供する。 最も一般的ケースにおいて、剰余類代表値は、体系的方法でそれらの値をシフト するためシンボル単位加算モジュロ2jによってコード・ワードと組み合わせら れるいかなる値でもあり得る。 上述のように定義されるコードにおけるコード・ワードは、また、回路動作の 受け取った信号とのタイミングの同期を確立するために役に立つ特性を持つ。従 って、これらコードを復号する上述の回路もまた受け取ったデータにおける同期 シーケンスを識別するように使用されることができる。これらのコードは、CO FDM以外の技術による通信に関する利点のある特性を持つことが観察される。 例えば、それらコードは、符号分割多元接続(すなわちCDMA)技術に関するコ ードとしてあるいはアナログ通信経路上のデジタル・データのモデム伝送ための コードとして使用することができる。DETAILED DESCRIPTION OF THE INVENTION Method and apparatus for encoding and decoding data Technical field The present invention relates to a method and apparatus for encoding and decoding data, and to such a method. A communication system incorporating the method and apparatus, and in particular, Coded orthogonal frequency division multiplexing (ie, coded orthogonal frequency divis) ion multiplexing (hereinafter sometimes abbreviated as COFDM). Method, apparatus and system for transmitting data using transmission frequency division multiplexing It is about the system.Background art With the increasing widespread use of powerful computer-based equipment and equipment, Demand for high-speed, high-capacity communications based on both wired and wireless technologies is growing rapidly Has increased. One way to address this growing demand is to use the highest possible To design a communication system to operate at the symbol rate. However, The increase in symbol rate is typically such that the spacing between symbols is correspondingly reduced, Therefore, the inter-symbol interference (ie, inter-symbo l Interference (hereinafter abbreviated as ISI) and the resulting error generate. In the case of a wired connection path, ISI, for example, What happens from signal reflections when the interfaces between them do not exactly match There is. In the case of a wireless connection path, the majority of ISI sources are empty Multipath propagation with signal reflection from an object (such as a building) between Dynamic wireless communication extends to a mobile device by moving the mobile device using the communication path. The continuous and complex variation of the multiple propagation paths Susceptible to SI. Actively researched to increase communication system capacity and take measures against ISI The technology being developed is multi-carrier (or multi-tone) like COFDM operation This is a frequency division multiplex operation. In a COFDM system, multiple symbols are Simultaneously transmitted, each symbol consists of several carrier signals with closely spaced frequencies. One corresponding modulation (eg, phase shift keying) is controlled. symbol The transmission wave frequency so that has an appropriate relationship to the rate transmitted on each carrier. By selecting the intercept, each individual transmitted wave receives interference from adjacent transmitted waves. (In such a case, the transmitted waves are orthogonal to each other. ). Between one symbol period (ie, one code word) The set of symbols transmitted simultaneously for each transmission wave is the data symbol ( Selected to encode one group of data words). Set contains redundancy (i.e., code words are more than data words) With a symbol). This redundancy introduces an error in the received symbol upon reception. Used for error detection and correction of those errors if necessary. The COFDM system is a sequential processing system by transmitting a plurality of symbols in parallel. Is used to transmit individual symbols continuously, Since it is possible to achieve the desired data rate with a low symbol rate, the ISI Partially address the problem. A relatively low symbol rate is A relatively long duration, i.e., a relatively long period between symbol transitions, This reduces the effects of ISI. Error detection and And correction capability depends on the received symbol due to signal strength fluctuations and other causes. By allowing some errors to occur to be detected and corrected, Enhance resistance to data corruption. However, current COFDM systems have a typical Peak-to-mean envelope power ratio (i.e., peak-to-mean envelope power ratio, and may be abbreviated as PMEPR below). You encounter difficulties in maximizing the potential benefits of power. this The signals actually have their phases changing at each symbol transition and are dense. Low, but still variable, because it is the sum of several signals at frequencies Transient apparent peaks spaced at substantially longer intervals of moving amplitude Tend to show. Transmitter peaks without clipping or other distortion Must be adjusted to play. This allows the equipment to be Signal level well below its maximum capability during most of the time interval. Can work with As a result, the geographic range of the device is The rate is significantly lower than expected or covers a desired range. Although very powerful equipment is prepared, its operation rate is low. Principle by careful selection of code words that encode possible data words It is generally known that this problem can be reduced. This technology See, for example, Electronics Letters, 8th December 1994, vol. 30, no. 209 "Block codi" by A.E.Jones, T.A.Wilkinson and S.K.Barton3, 8-2099 ng scheme for reduction of peak to mean envelope power ratio of multicar rier transmission schemes (peak-average envelope power ratio for multicarrier systems) Block coding method for reducing the number of pixels). However, PME Good code error correction when selecting code words to reduce PR It is also important to make sure you have the property. In addition, high throughput The implementation of the communication system of the present invention requires long code words and a fast encoding / decoding process. It would be desirable to include the use of lossiers. That is, especially during decoding (about 16 The use of long code words (typically words or more) is typically If the number of valid code words to be examined is large, a known simple lookup Use of a table uses compact (and low-power, inexpensive) circuitry It does not help to perform quick actions. Thus, for example, a data word or code .For example, performing combinational logic to perform interconversion on word symbols Or at least limit the size of the lookup table used Encoding and decoding operations are definable in terms of such analytical procedures It is desirable. In addition, make selections to define the code used in a typical system. Another problem arises from the small amount of code words that are targeted. Co Possible even with binary symbols as the number of deword symbols increases The number of unique code words increases very rapidly. Three (ternary) or four ( 4 For symbols with possible values, the number of available codes is very short. The word is also very large, so simply to minimize PMEPR But simply searching for all possible code words is not practical in real time. It is possible. Attempts to meet error correction and implementation requirements are also particularly desirable. , But at the same time, PMEPR, error detection / correction and encoding / A code word set that meets favorable criteria for ease of decryption is actually It is unknown whether it exists or not, so we simply add the difficulty of such a search. I can't do it. Many different data words (i.e., data containing a relatively large number of symbols) Data words) to achieve an acceptable high data rate. A large number of code words for use in the selected code This difficulty is exacerbated by the desire to be available. That certain types of code can have some desirable properties Is known. IEEE Transactions on Communications, vol.39, no.7, July 1991, pp.1031-1033, B.M.Popovic's paper "Synthesis of Power Effic Ient Multitone Signals with Flat Amplitude Spectrum Is less than 6dBV (equivalent to PMEPR) What Bainarima for building multi-tone multi-frequency signal having a) crest factor Or teach that polyphase complementary sequences can also be used. example For example, IRE Transactions on Information Theory, vol. IT-7, Apr. 1961, pp.82-8 Binary complement of 'Complementary series' by M.J.E.Golay in 7 places As seen in the case of sequence pairs, some of these sequences Examples are disclosed. However, Provic's paper above mentioned that multipath signal fluctuations And it is aimed at situations like multi-frequency jams. Required in these situations Can continuously use a single codeword to generate a signal Wear. Thus, Provic's paper describes PMEPR in the actual code that carries the information. To specify multiple sequences to achieve the 6dBV limit for Do not provide guidance on what No other requirements are mentioned. The Propovic dissertation states, Construction of multifrequency signals with peak amplitudes is still old without an analytical solution This is a problem. " Golay complementary sequence pairs and the codes defined using them Note that this is different from Golay code, and should be confused. There is no. Golay complementary sequence pairs and Golay codes are each identical It was originally defined by a researcher and is therefore named after that researcher. They are just called. Very large despite the potentially huge search space for possible code words The PEMPRs are related in such a way that different code words can actually be defined. Provide predictable low limits, specify error detection and correction characteristics, and It is an object of the present invention to provide an encoding and decoding method and apparatus which can be implemented in a computer. This is the purpose of Ming.Disclosure of the invention In accordance with one aspect of the invention, a coded orthogonal frequency division multiplexing scheme ( That is, transmission using a multi-carrier frequency division multiplex communication system such as COFDM). For 2mTo encode a data word as a single symbol code word Is provided. The method determines the values of the data words and the desired Regarding the peak average envelope power ratio characteristic of One or more of the linear subcodes of the code having a generator matrix From the coset set, determine the desired peak average envelope power ratio for the above transmission. The data words according to the code words selected in the form of Encode. However, in this case, z is from 0 to 2mIs an integer value up to -1, and y is m X is an integer value from 0 to 0, and x is a factor represented as a binary number of (m + 1) bits. Indicates a bit unit multiplier, and the result of the division is expressed as a one-digit value. In accordance with another aspect of the invention, a coded orthogonal frequency division multiplex communication method is provided. Transmission using a multi-carrier frequency division multiplexing scheme such as the equation (i.e., COFDM). 2 for sendingmHow to encode a data word as a code word of one symbol A law is provided. The method comprises determining the values of the data words and the location of the transmission. Regarding the desired peak average envelope power ratio characteristics, One or more of the linear subcodes of the code having a generator matrix From the coset set, determine the desired peak average envelope power ratio for the above transmission. The data words according to the code words selected in the form of Encoding and decoding each codeword using an analytic encoder Including the step of: However, in this case, z is from 0 to 2mAn integer value up to -1 , Y is an integer value from m to 0, and x is represented as a binary number of (m + 1) bits. Indicates the bit unit multiplier of the factor, and the result of the division is expressed as a single digit value. In accordance with yet another aspect of the present invention, the coded orthogonal frequency division multiplexing Use a multi-carrier frequency division multiplexing scheme such as 2 where m is at least 4mAs a symbolic code word A method is provided for encoding a data word. The method is based on Value and the desired peak average envelope power ratio characteristic of the above transmission. regarding,One or more of the linear subcodes of the code having a generator matrix From the coset set, determine the desired peak average envelope power ratio for the above transmission. The data words according to the code words selected in the form of Encode. However, in this case, z is from 0 to 2mIs an integer value up to -1, and y is m X is an integer value from 0 to 0, and x is a factor represented as a binary number of (m + 1) bits. Indicates a bit unit multiplier, and the result of the division is expressed as a one-digit value. In accordance with yet another aspect of the invention, a coded orthogonal frequency division multiplexor is provided. Use multi-carrier frequency division multiplexing such as duplex communication (i.e., COFDM). Where m is at least 4 and j is at least 3,j 2 with different possible values ofmData words as code words for A method for encoding a code is provided. The method includes determining the values of the data words, And for the desired peak average envelope power ratio characteristic of the transmission, One or more of the linear subcodes of the code having a generator matrix From the coset set, determine the desired peak average envelope power ratio for the above transmission. The data words according to the code words selected in the form of Encode. However, in this case, z is from 0 to 2mIs an integer value up to -1, and y is m X is an integer value from 0 to 0, and x is a factor represented as a binary number of (m + 1) bits. Indicates a bit unit multiplier, and the result of the division is expressed as a one-digit value. According to another aspect of the present invention, for transmission over a communication path, j is a positive integer. Each variable is 2j2 with different possible values ofmAs the code word of the symbol A method for encoding a data word is provided. The method comprises the steps of: Value and z is from 0 to 2mHas an integer value of -1 and y is an integer from m to 0 Has a value and x is a bitwise multiplication of a factor represented as a (m + 1) -bit binary number. And the result of the division is represented as a single digit value, One or more of the linear subcodes of the code having a generator matrix Data according to the code with the code word of value j contained in the set of cosets -Encode the word. According to yet another aspect of the invention, z is between 0 and 2mHas an integer value up to -1, y Has an integer value from m to 0, and x is a factor expressed as (m + 1) -bit binary number. Indicates the bit-wise multiplication of the child, the result of the division is represented as a single digit value, 2 where the code symbol is j> 2jWith different possible values of Within a set of codewords having a generator matrix ofmIndividual A method is provided for identifying a code word of a symbol. In the method, The matrix for the trix row has multiple fast Hadamard transforms or equivalent Expression 2mApply to the symbol input word, combine the result of the conversion and By identifying the words, the coefficients for the rows of the matrix are derived. You. In accordance with yet another aspect of the present invention, an orthogonal frequency division multiplexing system (ie, COFDM) for transmission using a multi-carrier frequency division multiplex communication system.m An encoder is provided that encodes the data word as the code word of the symbol. It is. The encoder receives a data word, and the value of the data word, And z is from 0 to 2mY has an integer value from m to 0. Where x is a bit-wise multiplication of a factor expressed as a (m + 1) -bit binary number, Assuming that the result of the division is represented as a single digit value, One or more of the linear subcodes of the code having a generator matrix From the coset set, determine the desired peak average envelope power ratio for the above transmission. The code received according to the code word selected in the form of a complete coset Means for encoding a word is provided. The circuit embodying the invention is relatively simple and compact. Thus, for example, The identification of code words used for encryption is only for relatively long code words. No need to waste time searching through millions of code words. same As such, decoding also includes all valid code words that may be present (long Requires a huge lookup table (not practical for code words) do not do. Time wastage that was previously believed to be necessary or at the limit of potential Practical embodiments of the invention as opposed to costly searches and large look-up tables Simplicity and compactness illustrate the significant advances provided by the present invention .BRIEF DESCRIPTION OF THE FIGURES Data is encoded using coded orthogonal frequency division multiplexing (COFDM). Method of encoding and decoding data in a transmitting communication system according to the invention The method and apparatus will be described with reference to the accompanying drawings as follows. FIG. 1 is a block diagram illustrating multipath propagation between a base station and a mobile communication device. FIG. 2 is a block diagram illustrating the effect of multipath propagation on the propagation of a single symbol. You. FIG. 3 is a block diagram illustrating intersymbol interference derived from multipath propagation. 4a to 4h show symbols according to the use of the multi-carrier frequency division multiplexing scheme. It is a block diagram which shows the reduction of inter-cell interference. FIG. 5 shows an encoder and a modulator used in a COFDM system. It is a block diagram. FIG. 6 is a block diagram of a COFDM system incorporating the encoder and modulator of FIG. FIG. FIG. 7 shows the general form of a COFDM signal waveform without any PMEPR restrictions. FIG. FIG. 8 encodes a 5-bit data word as an 8-bit code word 1 is a block diagram illustrating an encoder and a decoder incorporating the present invention. FIG. 9 encodes an 8-bit data word as a 16-bit code word. FIG. 2 is a block diagram showing an encoder to be converted. FIG. 10 is for decoding the code words generated by the encoder of FIG. FIG. 3 is a block diagram illustrating a decoder incorporating the present invention. FIG. 11 is a block diagram for decoding a code word generated by the encoder of FIG. FIG. 4 is a block diagram illustrating an alternative embodiment of a decoder that can be used. FIG. 12 shows a 13 bit data word as a 16 symbol quaternary code word. FIG. 1 is a block diagram illustrating an encoder incorporating the present invention for encoding a code. FIG. 13 decodes a quaternary code word generated by the encoder of FIG. FIG. 2 is a block diagram illustrating a decoder incorporating the present invention. FIG. 14 shows an 18 bit data word as a 16 symbol octal code word. FIG. 1 is a block diagram illustrating an encoder incorporating the present invention for encoding a code. FIG. 15 decodes the octal code word generated by the encoder of FIG. FIG. 2 is a block diagram illustrating a decoder incorporating the present invention.Embodiment of the Invention FIGS. 1 to 3 show multi-path transport under conditions of mobile communication in an urban environment. It is a figure for showing a related problem. The base station 10 is connected via radio, i.e. It communicates with a mobile communication device such as a mobile telephone 12 at the wave wavelength. Base station 10 and telephone 12 There is a direct signal path 14 between them, but in the form of buildings and other structures Due to the presence of multiple reflectors (for microwave signals) multiple reflected signal paths 16 Also exists. Typically, the lengths of these paths are different and, therefore, There are various propagation delays to arrive. For example, the general The signal is the sum of the various signals arriving at the phone through different paths. The transmitted signal modulates the carrier (e.g., by phase shift keying) It can be considered to include consecutive symbols. As shown in FIG. Signal received over one symbol as a result of signals over multiple paths with transit delay The resulting hybrid signal 18 is an exact replica of the transmitted signal 20 for that symbol. Absent. In particular, the received hybrid signal typically has a longer duration than the transmitted signal. Is long and has a large amplitude aftermath after the exact duplication of the transmitted signal is completed Have a minute. As shown in FIG. 3, this aftermath portion nominally ends at time T. If the pulse extends for a significant part of the symbol period, the aftermath It overlaps the following symbol and interferes with its reception. As a result, subsequent symbols are May be received differently. That is, the symbol detected by the receiving device Values are correct as sent, even in the absence of other sources of noise. May not be properly expressed. This type of signal destruction is referred to as intersymbol interference (ISI). Known. The effect of ISI is that the received symbol is multipath propagated, as shown in FIG. The duration of the transmitted symbol so that it extends beyond the delay-induced aftermath. It can be reduced by increasing the time. The ensuing symbol rate As a countermeasure against the decrease, a plurality of carriers each modulating one of the plurality of carriers. It has been proposed to transmit symbols simultaneously. Therefore, FIGS. As shown, if eight carriers are used, the symbol period on each carrier is , Assuming that the same overall symbol rate is maintained (as shown in FIG. 3). 8) eight times that required for a single carrier. Frequency between multiple carriers If the interval is an integer multiple of the reciprocal of the symbol period, the It is possible to recover each symbol stream without interference from other carriers It is. This technique is known as orthogonal frequency division multiplexing (or OFDM). Have been. Error detection and correction by using block coding in addition to using multiple carriers It has been proposed to grant positive abilities. In this case, as shown in FIG. A continuous stream of symbols (in this example, binary symbols) consists of five symbol Is conceptually divided into contiguous groups or words that contain files. 5 symbols Is a group of 5 bits that output the corresponding 8-bit code word. 8 bit (5B / 8B) encoder 30. This word word Generate eight carriers at eight consecutive frequencies at intervals of interval Δf Eight phase shift controllers for controlling one bank of oscillators 34 Applied to one bank of the controller 32. The individual bits of the code word In each case, the corresponding phase shift controller is either positive or negative. Given the phase shift ΔΦ, and depending on its current value, Therefore, the generated carrier signal is modulated. The modulated output of oscillator 34 is combined in summer 36 and the transmitted signal Is generated. In practice, the functions of the oscillator 34 and the adder 36 As indicated by the dotted line 38, the inverse fast Fourier transform (ie, IFF T) is conveniently combined in a digital signal processor implementing T). Thus, Referring to FIG. 6, data to be transmitted is received at block 40. , Is converted into a parallel format by the serial / parallel converter 42. If the parallel data is The data encoded by the encoder 30 and encoded by the modulator / IFFT 32/3 8 to control the generation of the multi-carrier signal. This multi-carrier signal is a D / A converter The data is converted to analog form at the data 44, amplified and sent to the transmitter 46. It is. Reception is essentially the reverse of the above process as follows. The signal is transmitted by the receiver 48 , Amplified and converted to digital form by the A / D converter 50. You. The digital signal is a digital signal processor that implements a fast Fourier transform (FFT). The demodulator 52 is provided with a demodulator 52 provided with a Is adjusted. Demodulated data reverses the encoding applied by encoder 30 And more typically passed to a decoder 54 that performs error detection and correction functions. You. Thereafter, the parallel-sequential converter 56 converts the data into a sequential format and outputs the data to an output unit 58. Send to The selection of the code performed by the encoder 30 determines the efficient operation of the transmitter 46. Has important implications for Multi-carrier signals have equal amplitude and equal spacing. Contains the sum of several sinusoids with digit frequencies. As a result, the maximum The logarithmic value is greatly affected by the relative phases of the constituent sine waves. These relative files Phase should be transmitted during the next symbol period at the end of each symbol period. It is changed by the phase shift controller 32 according to the value of the code word. Will be updated. A specific set of relative phases, in other words the current code word According to the value, the amplitude of the transmitted signal fluctuates but does not change as shown in FIG. There will always be a distinct peak that occasionally appears with small value intervals. This The peak average envelope power ratio (PMEPR) of the transmitted signal, such as Is relatively large. In order for such a signal to be transmitted without distortion, the amplitude of the transmitted signal must be When most of the dynamic range is reached, Transmitter 46 uses a linear amplifier, which is relatively efficient. It is necessary to operate at a low rate. The set of code words actually used to encode the data for transmission It has been suggested that appropriate choices reduce this problem. Extreme of PMEPR The use of block coding to avoid the use of code words to create T. EEE 45th Vehicular Technology Conference, July 1995, pp. 825-829. A. Wilkinson and A.E. "Minimisation of the peak to mean env" by Jones elope power ratio of multicarrier transmission schemes of block coding ( The maximum peak-to-average power envelope ratio of the multi-carrier transmission system with block coding This proposal suggests that PMEPR can be reduced. But at the same time enable efficient implementation of encoding and decoding and demodulation That provide the required capabilities to detect and correct errors in the He points out the difficulty of choosing a set of word words. Address this issue Possible ways of doing this are discussed, but no actual solution is given. this A modification to the approach was made at the 1996 IEEE 46th Vehicular Technology Conference April 1996, pp. "Combined coding for error" by the same author at 904-908 control and increased robustness to system nonlinearities in OFDM (OFD Combinatorial Coding for Error Control in M and System Nonlinearity In this modification, the desired error correction The linear block code is selected to have positive and detection characteristics, then the PM Code to maintain equivalent error detection / correction characteristics while reducing EPR To exploit code linearity and redundancy to convert code values to new values Have been. In the above paper, 4B / 7B, 4B / 8B and 11B / 15B Code is given as an example, in which case it is modulated according to each code word All possible code words in PMEPR order for the multicarrier signal obtained Procedures that involve listing values identify the required transformations. ing. Such an exhaustive search approach (for example, an order of 15 bits) (E.g.) can be executed on relatively short code words, The number of possible code words to be increased rapidly increases with the length of the code word. You. Potentially over 4,000,000,000, even for 32-bit code words Code words must be listed, which can be time consuming if successful And, in practice, probably should be avoided. Code word Ensures that a proper subset of the code is actually present in the set being inspected The inability to do so can further amplify the above problem. Popovic's paper cited above describes a single binary or polyphase complementary sequence. Suggests the use of However, the 1996 paper cited above does not Kens is not easy to correct in relation to their error correction / detection capabilities Suggest that. Thus, error correction and detection, modulated according to the code word concerned The maximum PMEPR of the multi-carrier signal, and (eg, including the use of combinatorial logic) Meet desired criteria for simple and efficient implementation of practical encoders and decoders The problem of identifying sets containing many different code words still exists You. The magnitude of this problem is an 8-bit code word as shown in FIG. By examining an example of encoding a 5-bit data word using It can be recognized. In the general case, there are 256 possible code words, of which Of 32 must be selected to encode 32 possible data words Absent. What specific code word combinations may affect compliance with the above criteria If there is no knowledge of the effect, all 32 possible 256 A subset of the code words must be considered. That is, those possible sub The set covers the number of orders 256! / (224! * 32!) = 1041. If an 8-bit Assuming that the data word must be encoded using 16 bits, A possible subset to consider is 65536! / (65280 * 256!) = 10726 Number of orders. FIG. 8 shows a 5B / 8B encoder 60 and a decoder 80 having the following characteristics. Is shown. That is, Error detection: minimum Hamming distance (i.e., a valid codeword The value cannot be changed, for example by interference, to convert it to a valid code word. The minimum number of symbols that must be obtained is 2 (to generalize this, 2mPieces The distance for a binary codeword containing the symbolm-2), Maximum PMEPR of a multi-carrier signal modulated according to an 8-bit code word Is, for example, 3 dB for a 6 dBV power level; The block code for the data to be encoded must reach a valid high data rate Include enough different code words to allow for generation ,and, Encoder 60 and especially decoder 80 are easily implemented using combinatorial logic What you can do, It is. Referring to FIG. 8, encoder 60 has five data bits at its input. Receive. These lower 4 bits are respectively assigned to the corresponding binary multipliers 62-6. 8 and the fifth most significant bit is connected to the selector 70. Each multiplier 62-6 8 is a multiplier 62: 0101 0101, a multiplier 64: 0011 0011, and a multiplier 66: 0000 111 With each fixed 8-bit value of 1 and multiplier 68: 1111 1111, It is configured to multiply the received input bits. In practice, each multiplier is 8 One logical AND gate is used to divide the input bits into each of the fixed 8-bit values. Implemented to combine with bits separately. The outputs of these four multipliers are It is connected to an exclusive OR circuit (XOR) 72 in units of Bitwise binary addition of the default values (ie, the addition modulo 2 of the corresponding significant bits) Be executed. Depending on whether the most significant value of the input bit is 0 or 1, the selector 70 Select one of two possible 8-bit values: 0001 0010 or 0000 0110 You. The selected value is sent to the fifth input of the XOR circuit 72 and the 8-bit code ・ Word is output. The encoder 60 of FIG. 8 has 32 possible 5-bit data bits. The data words are encoded into 8-bit code words as shown in Table 1 below. Decoder 80 receives an 8-bit code word at its input, and Is applied to an 8-bit secondary Reed-Muller (RM) decoder 82. This recovery For example, F.J. is described in North-Holland, Amsterdam, 1986, pp. 385-388. MacWi lliams, N.J.A. Sloane's The Theory of Error-Correcting Codes -Theory of Correction Codes) '. -Use a decoding algorithm. This decoder combines the decoding with at least the code word. Errors affecting the number of bits in the input code word up to the limit on code length. Perform error detection / correction simultaneously. The RM decoder 82 constructs the output value of the RM decoder. And generating two sets of output signals. A "secondary" set of signals 84 (3 in this case) Signals) identify the “family” or cosets of the output values and the “primary” Bit 86 (in this case, four signals) identifies a particular output value within that coset. You. The first four signals 86 are the data output by the entire decoder 80. Create directly the decoded value for at least the lower 4 bits of the word. Secondary Are connected to a selector 88, where they are output by an overall decoder 80. The value of the fifth most significant bit of the input data word is generated. In particular, Selector 88 compares the three secondary signals with the two stored 3-bit values. . If the secondary signal 84 has the value 101, the selector determines the value of the most significant output bit as binary. Giving the number 0 and giving the value 110 gives a binary number 1. If signal 84 is not 101 or 110 If so, the RM decoder converts the received 8-bit code word into Table 1 above. Recognizes that the code is not listed in Is indicated by a signal at the error output 90. Alternative decoding, described below with reference to FIG. 11, in terms of a 16-bit codeword The technique uses a valid code word (a code word that can be output by an encoder). ) Only. The error detection and correction capability of the secondary RM decoder 82 itself is different from that of the RM decoder 82. It is inherited by the entire decoder 80 by being incorporated. Thus, as described above, The minimum Hamming distance of the node is 2 (2 when m = 3).m-2= 2). The decoder 80 Up to 2 affecting the bits forming the code wordm-2-1 error detected Can be Therefore, when m = 3, the detectable error is 1. Descriptive Assuming, for convenience, that the code word is 8 bits, the decoder 80 can be used in the general case. The number of correctable errors is 2m-3Since it is -1 and equal to zero if m = 3, Error correction cannot be guaranteed in practice. Single in received codeword For bit errors, if one of two valid 8-bit codes is In some cases, changing the single bit position creates the same receiving code word. Will be affected. In practice, the above decoding techniques may be effective Arbitrarily choose one of the possible codes, so correcting the error May be (although not guaranteed). For longer code words (see below) Error correction is possible in the case. PMEP of a multi-carrier signal modulated according to the 8-bit code word of Table 1. R is 3 dB or less. Decoder 80 uses an analysis technique (ie, code (Using systematic patterns within a set of words) It can be implemented at least partially using combinatorial logic. Selector 88 is Backup table, which contains the entire set of codewords. Moreover, the embodiment of the look-up table is not essential. For the codes in Table 1, the acceptable data rates (ie, code words There are 32 code words that provide 5 data bits per second). Decoder 80 Although the code itself in the table includes a known secondary RM decoder 82, the code of Table 1 Note that the code is not included. The secondary Reed-Muller code is , A non-linear subset of the second order Reed-Muller code of length 8, as described above. It is a novel feature and has a combination with many advantages. Such codes have been recognized to date Never. Similarly, the decoder 80 provides a 7B / 8B secondary Reed-Muller code Prior art 8-bit secondary RM decoder for decoding data encoded according to Do not use The desired combination of features implemented by encoder 60 and decoder 80 of FIG. The 5B / 8B code having the characteristic is derived as follows and has a relatively long code word. Extended to generate code in code. The starting point for the 5B / 8B code is " An 8 bit value generator matrix defining the "base" code as follows: (0000 1111) (X1) (0011 0011) (XTwo) (0101 0101) (XThree) (1111 1111) (X ') Each row of this matrix is represented by X for convenience in the following description.1, XTwo, XThreeAnd the mark X ' No. is attached. The basis code is a combination of all 16 linear combinations of the rows of this generator matrix. , But the format of the combination is as follows. a1X1(+) ATwoXTwo(+) AThreeXThree(+) A'X ' However, the symbol (+) indicates bit-wise addition modulo 2, a1, ATwo, AThreeAnd a 'is 0 or Is a coefficient that takes a value of 1. (Note: the sign (+) indicates a factor in this specification including the accompanying drawings. In some cases, it may be represented as a cross in a circle.) This base code The code is linear, that is, any two of the code words The result of the bitwise XOR operation on the word is one other code in the code. Is a word. The subcode of this code is the code word of the base code. Any subset (and in particular may be whole code) Is a subcode whose code is linear in itself. In practice, the subcode is Enough of the codewords in the base code to make up the system Must be included. The actual ratio is determined by various parameters, The length of the word and the number of possible values for each symbol in the codeword ( In the case of a binary number, it depends on two values. Present binary code word of length 8 , The line containing eight of the sixteen code words in the base code The shape subcode may be sufficient. Longer code words and more For possible symbol values, one-half (1/4, 1/8, 1/16, etc.) Smaller percentages may be sufficient. Row X1, XTwoAnd XThreeBitwise multiplication of all possible pairs of1* XTwo, X1* XThree And XTwo* Adds three additional rows derived by X3 By combining with the matrix, an 8-bit generator array is created. (0000 0011) (X1* XTwo) (0000 0101) (X1* XThree) (0001 0001) (XTwo* XThree) The bitwise multiplication, denoted by the symbol *, is the corresponding position of the two values to be multiplied. Multiplies the bits in the position, or performs bitwise logic on the two values Perform an AND operation. These additional rows are bitwise exclusive OR (XOR) operations (ie, bitwise Combined by the addition modulo 2), (for a code word of length 8) A next value or a second coset representative value is generated. The first coset representative value is the row (X1* XTwo)When( XTwo* XThree) Is generated as follows. (0001 0010) (X1* XTwo) (+) (X1* XThree) The remaining coset representative value is the row identifier X1* XTwoAnd XThreeAll of the subscripts of By identifying the possible permutations, it is generated as follows. (0001 0100) (X1* XThree) (+) (XTwo* XThree) (0000 0110) (X1* XTwo) (+) (X1* XThree) (X1* XTwo) Is (XTwo* X1) And the same value as (XTwo* XThree) Is (XThree* XTwo), So (X1* XTwo) (+) (XTwo* XThree) And (XThree* XTwo) (+) (XTwo* X1) Have the same value and no difference. As well To the permutation (X1* XThree) (+) (XThree* XTwo) Indicates which additional rows are included in each coset representative value The equivalent expression (X1* XThree) (+) (XTwo* XThreeReplaced by) I have. Finally, each of these coset representative values is calculated by a bitwise exclusive OR operation. Combined with all code words in the base code, the base as shown in Table 2 below A total of 48 code words that make up a set of three cosets of codes Generated. All of these 48 code words have a combination of the aforementioned characteristics, Which of these 48 codewords to choose in the general case Can also be. In practice, use many code words that are integer powers of two Preferably, the incoming data stream is blocked for encoding. Is simplified, and the code words are represented by the same coset representative. It is easy to select and implement code words in the 16 groups. Obedience Therefore, the number of selected coset representative values is larger than the number of available coset representative values. Not the largest power of two. In the current case, three are available , The corresponding maximum power of 2 is 21That is, 2. Select two coset representative values Selecting provides 32 code words. Therefore, all data The corresponding maximum binary data word length that can encode a word is shown in Table 1. 5 bits. In the case of the encoder 60 and the decoder 80 shown in FIG. As shown, the coset representative value (X1* XTwo) (+) (XTwo* XThree) (I.e., 0001 0010) And (X1* XTwo) (+) (X1* XTwo) (I.e. 0000 0110) is arbitrary Has been selected. It is also selected according to the value of the most significant bit of the input data word. The values themselves selected by the factor 70 are these two coset representative values. A particular input of a particular coset representative value, in fact a particular input bit position (most significant bit) The assignment of the selector 70 and the decoder 80 is optional. The selectors 88 must be consistent. Provided by RM decoder 82 The three secondary signals 84 provided are added to the additional row (X1 * XTwo), (X1* XThree) And (XTwo* XThree). 3 bits stored in selector 88 Each individual bit of the value corresponds to each of these rows. The value of each 3-bit is Associated with a specific value for the upper data bit, one of three additional rows Is the remainder assigned to that data bit value (at encoder 60). Indicates whether it is currently present in the class representative value. Therefore, a data bit having the value 0 Is the coset representative value (X1* XTwo) (+) (XTwo* XThree) Is assigned, and the corresponding line ( X1* XTwo) (+) (XTwo* XThree) In the coset representative value is related to its data bit value. The position of one bit of the 3-bit value 101 stored in the selector 88 is used as a target. Is shown. Also, as shown in FIG. 8, in the encoder 60, the four least significant data Row X of generator matrix to bitsThree, XTwo, X1And X 'are multiplied. RM decoder 8 2. The primary signal 86 provided by 2 is the coefficient a for each of these rows.Three, ATwo, A1, corresponds to a '. The assignment of a particular input data bit to each of these rows is Assuming that the same assignment is used in encoder 60 and decoder 80, Optional. This means that a particular 8-bit code word The possibility of assignment to a 5-bit data word depends on the individual to each of these rows. Are governed by the input data bit allocation of Which data bits control the selection of the coset representative in selector 70 Is assigned by the selection and the selection of the coset that makes that selection. That's what it means. As mentioned above, the code word in Table 2 is row X1, XTwo, XThreeAnd X ' Sets of cosets of linear subcodes (in this case, all codes) with a detector matrix I do. The use of this type of base code gives the desired error detection and correction characteristics. You. The selection of the linear subcode is performed, for example, by using combinational logic, Encoding and decoding can be performed in a compact manner. Surplus The corollary is generally to convert the base codes to different parts of the total space of possible code words. It is considered to be systematically shifting or translating. Remainder of linear subcode Certain undesirable (such as all zeros or all ones) by extra use It is possible to avoid code words, so that in particular the value of PMEPR is Although higher, the error control characteristics of the base code are maintained to some extent. like that Selection of code words from the coset set allows for better control of PMEPR You. This is because, as described above, each coset of the base code has a widely similar related P This is because they tend to include code words with MEPR. Coset representative value is higher In certain cases, such as those having an identified format as described above, PMEPR is 3 dB Is observed. The encoding and decoding capabilities of the present invention are suitable for relatively long code words as follows: Can be used. To retain the advantages of error control and ease of implementation , The code word length is preferably an integer power of two. Thus, the length of the next code word greater than 8 is 16. 16 bit The generator matrix for the code word is as follows. (0000 0000 1111 1111) (X1) (0000 1111 0000 1111) (XTwo) (0011 0011 0011 0011) (XThree) (0101 0101 0101 0101) (XFour) (1111 1111 1111 1111) (X ') The 16-bit base code consists of all 32 lines in this generator matrix row. Combinations of forms, including combinations of forms, include: a1XTwo(+) ATwoXTwo(+) AThreeXThree(+) AFourXFour(+) A'X ' Where a1, ATwo, AThree, AFourAnd a ′ take a value of 0 or 1. Row X1, XTwo, XThreeAnd XFourDerived by bitwise multiplication of all possible pairs of The following three additional rows are combined with the above 16-bit generator matrix. Produces the following corresponding generator array: (0000 0000 0000 1111) (X1* XTwo) (0000 0000 0011 0011) (X1* XThree) (0000 0000 0101 0101) (X1* XFour) (0000 0011 0000 0011) (XTwo* XThree) (0000 0101 0000 0101) (XTwo* XFour) (0001 0001 0001 0001) (XThree* XFour) These additional rows are combined by a bit-wise exclusive-OR (XOR) operation, Generate two quadratic coset representative values. The first coset representative value is the row (X1* XTwo), (XTwo* XThree ) And (XThree* XFour) Is generated as follows. (0001 0010 0001 1101) (X1* XTwo) (+) (XTwo* XThree) (+) (XThree* XFour) The remaining coset representative value is the row identifier X1, XTwo, XThreeAnd XFourAll of the subscripts By identifying the possible permutations, it is generated as follows. (0001 0100 0001 1011) (X1* XTwo) (+) (XTwo* XFour) (+) (XThree* XFour) (0000 0110 0011 0101) (X1* XThree) (+) (XTwo* XThree) (+) (XTwo* XFour) (0001 0100 0010 0111) (X1* XThree) (+) (XThree* XFour) (+) (XTwo* XFour) (0000 0110 0101 0011) (X1* XFour) (+) (XTwo* XFour) (+) (XTwo* XThree) (0001 0010 0100 0111) (X1* XFour) (+) (XThree* XFour) (+) (XTwo* XThree) (0001 0001 0010 1101) (X1* XTwo) (+) (X1* XThree) (+) (XThree* XFour) (0001 0001 0100 1011) (X1* XTwo) (+) (X1* XFour) (+) (XThree* XFour) (0000 0011 0110 0101) (XTwo* XThree) (+) (X1* XThree) (+) (X1* XFour) (0000 0101 0110 0011) (XTwo* XFour) (+) (X1* XFour) (+) (X1* XThree) (0000 0101 0011 1001) (X1* XThree) (+) (X1* XTwo) (+) (XTwo* XFour) (0000 0011 0101 1001) (XTwo* XThree) (+) (X1* XTwo) (+) (X1* XFour) Specify which additional rows are included in each coset representative value as in the case described above. For purposes, some permutations have been replaced by equivalent expressions. Finally, each of these coset representative values is calculated by a bitwise exclusive OR operation. Combined with all code words in the 16-bit base code, 384 codes that make up a set consisting of 12 cosets of such base codes A word is generated. All of these code words have the following properties corresponding to the properties described above. Error detection: minimum Hamming distance 4 (2 when m = 4)m-2= 4). Error correction The encoder has up to three (2) that affect the bits that make up one code word.m- Two -1 = 3) error is detected and one such error (2m-3Correct -1 = 1) Can be The PME of the multi-carrier signal modulated according to the 16-bit code word of Table 3 PR does not exceed 3 dB. A sufficient number of commands to be able to achieve an acceptable data rate Words can be used. (Use multiple code words that are integer powers of two and have the same coset representative. Select the code words in one of the 32 groups) , The maximum power of 2 not exceeding 12 (which is the number of coset representative values) is 2ThreeThat is, 8 It is. Thus, in the preferred case, the remainder of each of the 32 code words Eight of the classes are selected, 256 corresponding to an 8-bit long data word. Code words are provided. FIG. 9 illustrates the use of the codewords of Table 3 to generate an 8-bit data bit according to the present invention. 8B / 16B encoder 1 for encoding words as 16-bit code words 00 is shown. The encoder provides 16 bits for the 5 least significant bits of the input data word. Set generator matrix row XFour, XThree, XTwo, X1And X ' Includes binary multipliers 102-110. The three most significant bits of the input data word The selector 112 supplies the combination of those three bits. One of the eight possible coset representative values is selected according to the offset value. Shown in FIG. In one embodiment, of the 12 possible coset representatives listed in Table 3, The first eight have been selected for use in selector 112. 5 binary powers The outputs of the arithmetic units 102-1105 and the selector 112 are bit-wise exclusive OR ( XOR) circuit 114 to generate a 16-bit code word. You. FIG. 10 illustrates decoding of a 16-bit code word back into a corresponding data word. 1 shows a first embodiment of a decoder 120 that performs the following. Code words have large values of m Is a 16-bit secondary RM decoder 12 corresponding to the 8-bit secondary RM decoder 82 of FIG. 2 is supplied. The five primary signals 124 generated by the RM decoder 122 are , The five least significant bits of the data word output by the global decoder 120 Provide the decoded value for These signals 124 are 16-bit generator matrices. Rix Row XFour, XThree, XTwo, X1Coefficient a for X and X 'Four, AThree, ATwo, A1And a ' Respond. Six additional rows (X1* XTwo), (X1* XThree), (X1* XFour), (XTwo* XThree), (XTwo * XFour) And (XThree* XFour) Correspond to the six secondary signals 126 from the RM decoder. Selector 12 to generate the values of the three most significant bits of the dynamic output data word. 8 Specifically, the selector 128 determines the values of the six secondary signals 126. With the eight 6-bit values shown in FIG. These 6 bits are needed Subject to appropriate procedures implemented in the form of software or firmware accordingly Thus, it can be stored or derived. Each 6-bit value has three most significant data Data associated with a particular combination of values for the One combination into three data bit values of that combination (encoder 10 Indicates (at 0) whether it is in the assigned coset representative. Second letter If signal 126 has one of the eight stored values, selector 128 The corresponding three data bit values are provided as the upper output bits. The signal is Otherwise, the received 16-bit code word is the first eight bits of Table 3 It is regarded by the RM decoder 122 as not being included in the cosets. An event is indicated by a signal at the data error output section 130 of the selector 128 Is done. Has a function to process error correction code, d = 2m-2Is the decoder 120 Any decoder having a minimum Hamming distance d such that the transmitted code word Correctly decodes a received code word whose distance from is d / 2. But However, decoder 120 is not a "minimum distance" decoder. The minimum distance decoder is Even if the distance is more than d / 2, the smallest distance from the received code word It has the additional property of decoding code words with separation. In addition, data Generation of a signal in the error output unit 130 is performed by a secondary read by the RM decoder 122. -The output of the Maller code word is an indeterminate result and the encoder 100 Means that it cannot be what is actually output. FIG. 11 shows the valid code word (ie, the output by encoder 100). 7 shows an alternative 16-bit decoder 140 that outputs only the resulting code word). This Is the minimum distance decoder for this code word set. The method used in decoder 140 is based on IEEE Trans. Inform. Theory, 1986 , Vol. IT-32, no.1, pp. J.H. Conway and N.J.A. Sloane "Soft decoding techniques for codes and lattices, including the G olay code and the Leech lattice Software decoding technology). Code "is an example of a decoding method. For each coset representative value, in order, The code word is XORed with its coset representative and the result is the length 16 Decoded as element RM (1,4) of the primary Reed-Muller code and at the same time Is assigned a “score”. The determination of which code word to decode is The coset with the highest representative score (if any, any coset of A) is done by choosing Decoding of the elements of RM (1,4) is described in F.J.Ma, North-Holland, Amsterdam, 1986. cWilliams and N.J.A. 'The Theory of Error-Correcting Co' by Sloane Fast Hadamard Transform Method Described in 'des (Error Correcting Code Theory)' Use Length 2mThe fast Hadamard transform for a binary sequence of Is length 2mAssociated with the element pair RM (l, m) of the primary Reed-Muller code ofm Generate transformation components. The largest of all components Are the “scores” for decoding, and the decoding algorithm Component pair to determine which of the pair Select the RM (l, m) element corresponding to the largest component (with sign). Referring to FIG. 11, decoder 140 exclusions each 16-bit code word. Received by a logical or (XOR) gate 142 where the coset storage from the code word Perform a bitwise subtraction modulo 2 of the value in mechanism 144. (Modulo 2 performances In the case of arithmetic, bitwise subtraction and addition are equal, and the bitwise exclusive OR gate is It can be used for any operation. The function of gate 142 is aligned with the description below. It is defined as subtraction for compatibility. ) The coset storage unit 144 includes the encoder 1 The same eight coset representative values as those selected by the selector 112 of 00 Including. The memory 144 also stores all eight possible 3-bit values in input 1 3. Includes a 3-bit counter 146 that continuously cycles in response to 48 increment signals. . Which of the eight remainder class representative values is exclusive of the 3-bit current value of this counter It is supplied to the OR gate 142, that is, the same residue class as in the case of the encoder. Controls the correspondence between table values and 3-bit values. Thus, the counter 146 is Circulates through the eight possible values of x, each of the eight coset representative values becomes To the user 142 in order. 16-digit binary number output by gate 142 for the current coset representative value The word is sent to a replacement circuit 150 where the fast Hadamard method is applied. To match element values, the word values +1 and -1 are each 2 Are replaced by the base values 0 and 1. Fast Hadamard Transform (see MacWilliams and Sloane cited above) or Modified version (by Designs, Codes and Cryptography, vol.7, 1996, pp.187-214 A.E. Ashikhnrin and S.N. 'Fast decoding algorithms for Litsyn' first order Reed-Muller and related codes 16) output from the circuit 150 to perform the The symbol word is sent to a so-called “Green machine” 152. Green machine The output of 152 is E0To E15From the conversion component with the sign Naru (length 2mSubscript 15 is 2 for the general form ofm-1 Will be replaced). Component E0Is the row of the code generator matrix Component E corresponding to the leftmost symbol15Corresponds to the rightmost symbol You. These components are sent to a comparator 154. The comparator 154 converts Compares the absolute value of the component and calculates the maximum absolute value | Ez| And its corresponding (0 or (Up to 15). If there is more than one component with the largest absolute value, One of them is arbitrarily selected. The comparator has the value EzAnd z to latch 156 Output, and the latch 156, along with those values, 6. Receive the corresponding 3-bit index value given by 6. For the first coset representative, the latch 156 stores the received Ez, z and coset Simply store the index. (For the same 16-bit input code word) With the increment of the counter 146, each successive coset representative value is added to the XOR gate 142. Supplied tozAnd z are passed to latch 156. like that Transformation component EzIs greater than the component currently latched , Then the latch returns the newly received value with its associated z and coset Select with the index. When the counter 146 has cycled through all eight possible values, the contents of the latch 156 Are collected in the output data decoded in block 158 of FIG. z The value is a binary number a where z is 4 bits.1aTwoaThreeaFour4 decoded linesets when represented by a ' Number aFour, AThree, ATwoAnd a1Is determined directly. The fifth coefficient a 'is the last latched Value EzIs zero if positive, 1 if negative, and the coset index is Configure the upper output bit. Especially if the decoding is performed in hardware An embodiment of the fast Hadamard transform has been described above as being performed continuously By giving each a separate Green machine, The required quick Hadamard transform can also be calculated in parallel. The advantage of the decoder 120 described above is that it operates faster than the decoder 140. Have a point in general. Therefore, the decoder 120 must be main restored to gain speed benefits. It is desirable to use it as a signal. However, the signal 126 from the RM decoder 122 Is encoded by the encoder 100 as indicated by the data error output unit 130. If it is found that it corresponds to a code word that cannot be output The decoded code word can be sent to the decoder 140. Of the decoders 120 and 140 Such a choice between the frequency of occurrence of the signal at the data error output unit 130 Can be adapted based on the current noise level as represented by You. It is a sign that such signals are relatively frequent and the current communication path is noisy. If indicated, select decoder 140 for immediate use for each codeword On the other hand, the decoder 120 can be continuously used in parallel to monitor the communication quality. it can. If the signal at the data error output 130 decreases, the decoder 120 Can again be selected as the primary decoder. Shown in Table 3 of the 65,536 possible 16-bit code words A particular 384 16-bit code word has all of the different characteristics described above ( I.e. a large minimum Hamming distance, a low value of the PMEPR of the actual implementation, a useful number Possible code words) at the same time, and thus have a significant and very advantageous utility. give. In particular, combining error control characteristics that do not exceed the desired level with low PMEPR Finding a set of code words for the combined relatively long words is a trick. It was an irreparable problem, and there was no certainty that a solution existed. The present invention , Not only such combinations, but also the convenience of implementation and the satisfactory data rate Provide an appropriately sized code word population that can be achieved. Code sets with corresponding properties for relatively long code word lengths are: Easily identified by extending the above procedure to create Table 3 Can be. Thus, a generator matrix for a 32-bit code word Is as follows. (0000 0000 0000 0000 1111 1111 1111 1111) (X1) (0000 0000 1111 1111 0000 0000 1111 1111) (XTwo) (0000 1111 0000 1111 0000 1111 0000 1111) (XThree) (0011 0011 0011 0011 0011 0011 0011 0011) (XFour) (0101 0101 0101 0101 0101 0101 0101 0101) (XFive) (1111 1111 1111 1111 1111 1111 1111 1111) (X ') The 32-bit base code is used to calculate all 64 linears in the rows of this generator matrix. Including combinations. That is, a combination of the following formats is used. a1X1(+) ATwoXTwo(+) AThreeXThree(+) AFourXFour(+) AFiveXFive(+) A'X ' Where a1, ATwo, AThree, AFour, AFiveAnd a ′ take a value of 0 or 1, respectively. Put the 32-bit generator matrix in row X1, XTwo, XThree, XFourAnd XFiveAll possible Additional rows and combinations derived by bit-wise multiplication of various combinations This creates a corresponding generator array. The additional lines are as follows It is. (0000 0000 0000 0000 0000 0000 1111 1111) (X1* XTwo) (0000 0000 0000 0000 0000 1111 0000 1111) (X1* XThree) (0000 0000 0000 0000 0011 0011 0011 0011 0011) (X1* XFour) (0000 0000 0000 0000 0101 0101 0101 0101) (X1* XFive) (0000 0000 0000 1111 0000 0000 0000 1111) (XTwo* XThree) (0000 0000 0011 0011 0000 0000 0011 0011) (XTwo* XFour) (0000 0000 0101 0101 0000 0000 0101 0101) (XTwo* XFive) (0000 0011 0000 0011 0000 0011 0000 0011) (XThree* XFour) (0000 0101 0000 0101 0000 0101 0000 0101) (XThree* XFive) (0001 0001 0001 0001 0001 0001 0001 0001 0001) (XFour* XFive) These additional rows are combined by a bitwise exclusive OR operation, and a (length 32 60 word quadratic coset representatives are generated. Like this , The first residue class representative value is the row (X1* XTwo), (XTwo* XThree), (XThree* XFour), (XFour* XFiveCombine) The remaining coset representative value is generated by the row identifier X1, XTwo, XThree, XFourand XFiveAll possible permutations of the subscript of the expression (X1* XTwo) (+) (XTwo * XThree) (+) (XThree* XFour) (+) (XFour* XFive). These coset representative values are converted to a 32-bit base by a bit-wise exclusive OR operation. Each of the code words is combined with all the code words and the remainder of the 60 base codes A total of 3840 possible code words that make up the extra set are generated. These particular code words provide the following combination of properties: ・ The minimum Hamming distance of the code is (2 when m = 5)m-2= 8) 8. -Up to seven error correction decoders affect the bits that make up the code word (2m-2-1 = 7) errors and up to three (2m-3Correct the error of -1 = 3) Can be A multi-carrier signal modulated according to these particular 32-bit code words , It has no more than 3 dB of PMEPR. Decoders for use with this code shall be operated using analysis techniques And can be implemented, for example, using combinational logic, at least in part. Can be. Codes available to enable an acceptable data rate to be achieved A word exists. Selected from over 4,000,000,000 possible code words, 32 bits long These particular 3840 32-bit code words are described in the extensive variety of above. At the same time, so that there are practical benefits associated with them . (Use multiple code words that are integer powers of two, each representing the same coset representative Select a group of 64 code words with values) , The largest power of 2 not exceeding 60 (which is the number of coset representative values) is 25 32 . Thus, in the preferred case, 32 code words each of 32 code words 2048 cosets selected, corresponding to 11-bit binary data word length Are created. In this case, the encoder has six inputs. Force data bit a1, ATwo, AThree, AFour, AFiveAnd a 'is a 32-bit generator matrix Su row X1, XTwo, XThree, XFour, XFiveX 'and the input data The remaining 5 bits of the data word are 32 bits according to the combined value of those 5 bits. The selected coset representative value is supplied to a selector for selection. For decoding, a 32-bit secondary RM decoder is used to determine (the data word to be decoded). ), And generates six primary signals and ten secondary signals. This 10 secondary signals store 32 possible 10-bit values with the 10 signals Select to generate the remaining 5 bits of the 11-bit data word to be decoded Sent to Decoding of FIG. 11 using the fast Hadamard transform method as an alternative It is also possible to use a decoder similar to the unit 140. Length 2mGeneralized generator matrix for a particular codeword in It will be as follows.Where z is from 0 to 2mY has an integer value from m to 0. Where x is both represented as (m + 1) -bit binary numbers ((2.z + 1) and 2yAs A) indicates a bitwise multiplication of the two coefficients (ie, a bitwise logical AND), and The result of the operation is represented by one digit. The first row of this matrix where (y = m) is row X1Give The second line of (y = m-1) is the line XTwoAnd the penultimate line (y = 1) is the line Xm And the last row that is (y = 0) gives row X '. Thus, for example, for a 64-bit long codeword (where m = 6), (y = m− 1 = 5), the first symbol (z = 0) on the second row X2 is ((2.0 + 1) x2m-1) / 2m-1 I.e. (1x32) / 32 It is. Expressing the factors involved in the bitwise multiplication as (m + 1) -bit binary numbers, the result is , (0000001x0100000) / 32, This is expressed as (0000000) / 32 or one digit zero. The second symbol (z = 1) on the second row is (2.1 + 1) x2m-1) / 2m-1, I.e. (3x32) / 32, which is likewise Generates (0000011x0100000) / 32 or 1 digit 0. The 16th symbol (z = 15) in this row is (2.15 + 1) x2m-1) / 2m-1, That is (31x32) / 32, which is likewise (00111111x0100000) / 32 or 1-digit zero is generated. The 17th symbol (z = 16) in this line is (2.16 + 1) x2m-1) / 2m-1, That is, (33x32) / 32, which is (0100001x0100000) / 32 or 0100000) / 32 or one digit 1 is generated. The same result is obtained for the 18th through 32nd symbols. For the 33rd symbol (z = 32), the matrix is ((2.32 + 1) x2m-1) / 2m-1Give For example, this yields (65x32) / 32 or (1000001x0100000) / 32 or a single digit zero. Similarly, a result of 0 is obtained for the subsequent 15 symbols. For the 49th symbol (z = 48), the matrix is ((2.48 + 1) x2m-1) / 2m-1Give For example, this yields (97x32) / 32 or (11000001x0100000) / 32 or a single digit 1 . Similar results are obtained for the last 15 symbols below. in this way And the second line as a whole (0000 0000 0000 0000 1111 1111 1111 1111 0000 0000 0000 0000 1111 111111 11 1111). Third row XThreeFor (y = m−2 = 4), the first symbol is ((2.0 + 1) × 2m-2) / 2m-2sand That is, (1x16) / 16, and (0000001x0010000) / 16 or 0 is obtained. The following 7 A similar result is obtained for the symbol. The ninth symbol is ((2.8 + 1) x2m-2) / 2m-2That is, (17x16) / 16, and (0010001x0010000) / 16 or 1 is obtained. Similar results are obtained for the tenth through sixteenth symbols. That Later, eight zeros and eight one blocks alternate, and the row as a whole is (0000 0000 1111 1111 0000 0000 1111 1111 0000 0000 1111 1111 0000 0000 1 111 1111). The other rows of the generator matrix for the 64-bit code word are similar Derived. 2mThe bit basis code is a generator matrix that is a combination of the following forms: Include all linear combinations of the rows of. a1X1 (+) aTwoXTwo(+) AThreeXThree(+) .... (+) amXm(+) A'X ' Where a1, ATwo, AThree, ...., amAnd a ′ take a value of 0 or 1. The corresponding generator array is 2mRow X with bit generator matrix1, XTwo, XThree, ... .XmAdditional rows and pairs derived by bitwise multiplication of all possible pairs of Created by matching. These additional rows are used for bit-wise exclusive OR operation. Therefore, they are combined to generate m! / 2 secondary coset representative values of the base code. You That is, the first coset representative value is the row (X1* XTwo), (XTwo* XThree), ... and (Xm-1* Xm) The remaining coset representatives, which are generated by combining Expression (X1* XTwo) (+) (XTwo* XThree) (+) .... (+) (Xm-1* Xm) In row identifier X1, XTwo, XThree , .... XmGenerated by identifying all possible permutations of the subscript It is. Each of these coset representative values is calculated by a bit-wise exclusive OR operation.mBit Combined with all code words in the base code of the M! / 2 total m! (2m + 1) / 2 possible code words Generated. These code words have the following property combinations: ・ The minimum Hamming distance of the cord is 2m-2It is. The error correction decoder uses code word Up to 2 affecting the bits that make up the codem-2-1 error detected, up to 2m -3 -1 error can be corrected. A multi-carrier signal modulated according to these code words is a PME of 3 dB or more Has no PR. The decoder used for this code can be operated using analytical techniques Preferably, it can be implemented at least partially using combinatorial logic. Codes available to enable an acceptable data rate to be achieved A word exists. Total number of binary code words available for each of the code word length ranges And other parameters are as shown below. Other parameters are The number of cosets, two of which can be encoded using the available number of code words Maximum number of data words in integer power, data word length in that case, code ・ The number of primary and secondary signals provided by the RM decoder in terms of word length, and And the selector values stored in the encoder and the decoder as shown in FIGS. Is a number. For purposes of simplicity and clarity, the above description should have only two symbol values: It is intended for encoding using binary codes. However, the present invention also provides To the encoding using a larger number of symbol values of the power of j. For example, It is also possible to use symbol values of the fourth order of J = 2 and the eighth order of j = 3. Like that In that case, the same generator matrix as described above is used. For example, (m = 3 and 2m For a codeword containing 8 symbols (= 8), the generator matrix is become. (0000 1111) (X1) (0011 0011) (XTwo) (0101 0101) (XThree) (1111 1111) (X ') An 8-symbol quaternary base code (four possible symbol values) has the form: Contains all 256 linear combinations of the rows of the generator matrix, which are the best combinations. a1X1(+) ATwoXTwo(+) AThreeXThree(+) A'X ' However, (+) is symbol unit addition modulo 2.j(Ie modulo 4 for quaternary numbers) And a1, ATwo, AThreeAnd a 'are coefficients taking all integer values from 0 to 3. You. This base code is linear, that is, any of the code words The result of the symbol-wise addition modulo 2 for the two is another code word in the code. Mode. The corresponding generator array consists of combining the generator matrix with additional rows. Is created. These additional lines are line X1, XTwoAnd XThreeOf every possible pair of Symbolwise multiplication or X1* XTwo, X1* XThreeAnd XTwo* XThree, And quaternary encoding It is derived by multiplying by 4 in the case of 2,8 octal encoding. Therefore, 8 symbol The additional lines in the case of quaternary encoding are as follows. (0000 0022) 2 (X1* XTwo) (0000 0202) 2 (X1* XThree) (0002 0002) 2 (XTwo* XThree) The additional line is a symbol unit addition modulo 2jCombined by m! / 2 secondary A coset representative value is generated. For quadruple code words of length 8, the first coset Typical values are shown in row 2 (X1* XTwo) And 2 (XTwo* XThree) Produced by combining It is. (0002 0020) 2 (X1* XTwo) (+) 2 (XTwo* XThree) The remaining coset representative values are given by Equation 2 (X1* XTwo) (+) 2 (XTwo* XThreeRow identifier X in)1, XTwoAnd XThree By identifying all possible permutations of the subscript of Is done. (0002 0200) 2 (X1* XThree) (+) 2 (XTwo* XThree) (0000 0220) 2 (X1* XTwo) (+) 2 (X1* XThree) Ultimately, each of these coset representative values is a symbol-wise addition modulo 2jBy Is combined with all code words in the base code, and m! / 2 M! (2j (m + 1)) / 2 code words are generated . In the 8-symbol quaternary case, the 768 code values and And coefficient a1, ATwo, AThreeTable 4 below shows examples of the corresponding values of and a ′. Table 4 And CR1= 2 (X1* XTwo) (+) 2 (XTwo* XThree), CRTwo= 2 (X1* XThree) (+) 2 (XTwo* XThree) And CRThree = 2 (X1* XTwo) (+) 2 (X1* XThree). 2mAn individual symbol quaternary base code is a generator matrix that is a combination of the following forms: Includes all linear combinations in the rows of the box. a1X1(+) ATwoXTwo(+) AThreeXThree(+) .... (+) amXm(+) A'X ' Where a1, ATwo, AThree, ...., amAnd a ′ take a value of 0, 1, 2 or 3, respectively. versus The corresponding generator array is row X1, XTwo, XThree, ..., XmAll possible pairs of symbol Combining additional rows derived by unit-wise multiplication with a generator matrix Created by These additional lines are connected by symbol unit addition modulo 4. And m! / 2 quadratic coset representative values are generated. Thus, the first coset representative value is , Row 2 (X1* XTwo), 2 (XTwo* XThree), ..., and 2 (Xm-1* XmGenerated by combining The remaining coset representative value is given by Equation 2 (X1* XTwo) (+) 2 (XTwo* XThree) (+) .... (+) 2 (Xm-1* Xm Row identification X in)1, XTwo, XThree, ..., XmAll possible permutations of the subscript Generated by identifying. Each of these coset representative values is 2mBase M! / 2 cosets of the base code, combined with all code words in the code M! (4(m + 1)/ 2 code words are generated. Use other length codewords or different numbers of symbols (for example, octal) A similar code for a given encoding can be defined in a similar manner. general And the number of symbol values is 2j, The base code is a combination of the following forms: Contains all linear combinations of rows of the generator matrix. a1X1(+) ATwoXTwo(+) AThreeXThree(+) .... (+) amXm(+) A'X ' Where a1, ATwo, AThree, ...., amAnd a ′ are 0, 1, 2,.jTake the value of -1 , (+) Is symbol unit addition modulo 2jRepresents The corresponding generator array is X1, XTwo, XThree, ..., XmSymbolwise multiplication of all possible pairs ofj-1 Is added by 2mCombined with generator matrix Created by These additional lines are symbol unit addition modulo 2jBy And m! / 2 quadratic coset representative values are generated. Thus, the first coset Table value is row 2j-1(X1* XTwo), 2j-1(XTwo* XThree), ..., and 2j-1(Xm-1* Xm) And the remaining coset representative is given by Equation 2.j-1(X1* XTwo) (+) 2j-1(XTwo* XThree) (+ ) .... (+) 2j-1(Xm-1* XmRow identification X in)1, XTwo, XThree, ..., XmSubscription Generated by identifying all possible permutations of the Each of these coset representative values is a symbol unit addition modulo 2jBy 2mBase M! / 2 cosets of the base code, combined with all code words in the code M! (2j (m + 1)) / 2 code words are generated. Discusses error detection and error correction characteristics for 4, 8 and higher order codes The minimum Hamming distance may affect the code word Does not fully describe the scope of the error. This is an error in a single symbol Is up to 2j-1May move to the adjacent symbol value of Value 2j-1And 0 are considered adjacent). The actual effect is that each At least two errors in different symbols including only one move to the default value It is at least as serious or more serious than the case. For example, from value 6 to value 1 A single quaternary symbol change (movement through three adjacent values), one from value 6 to 7 Another octal symbol change from 7 to 0 (both move to adjacent value) More serious. Therefore, a useful additional criterion is to identify any valid code words. Minimum symbol value shift required to convert to another valid codeword Is the minimum Lee distance defined as a value. (In the above binary case, the Hamming distance The minimum distance was not discussed since the distance was the same. ) Defined above for quaternary, octal and higher order cases The resulting code word has the following advantageous property combinations: ・ The minimum Hamming distance of the cord is 2m-2It is. An error correction decoder based on the Hamming distance Up to 2 that affect Bolm-2-1 can be detected arbitrarily, and , 2m-3Such errors up to -1 can be corrected. ・ The minimum distance between cords is 2m-1It is. Error correction decoder based on Lie distance Is up to 2m-1With a symbol value shift of -1 (same number of codeword symbols Error), and 2m-2Such up to -1 Movement can be corrected. In fact, the minimum distance decoder based on Lie distance is Certain additional patterns of errors affecting the symbols that make up the code word Arbitrarily (i.e., some of the characteristics of the decoder based on the Hamming distance Prepare). A multi-carrier signal modulated according to these code words has a P No MEPR. ・ Based on either the Hamming distance or the Lee distance used for this code Decoders can be operated using analytical techniques, for example, at least partially It can be implemented using combinatorial logic. Codes available to enable an acceptable data rate to be achieved A word exists. In practice, these codes represent the information represented by the data bits. Is transmitted over a path including an encoder and a decoder. Binary code The assignment of the data bits to the row coefficients of the generator matrix is Optional, but in all other cases (quaternary, octal, etc.) It is desirable to make careful assignments of data bits. For a quaternary code, each of the following (selected) data bit pairs is Row coefficient a as shown in Table 51, ATwo, AThree, ..., amAnd a '. This association is an example of a Gray code, which includes changes between two adjacent coefficient values. Error (3 and 0 are considered adjacent) causes a single data bit error. Has the advantageous property of Thus, the relatively Small errors can generate large data word errors at the end of transmission. Little ability. As in the case of the binary case, a number of codewords that are integer powers of two. It is preferable to use an incoming data stream for encoding. Simplifies the division of a stream into blocks and allows codewords to have the same coset representative It is easy to classify the data into two groups. Thus, the remainder to be selected The number of class representative values is the maximum power of two (2) that does not exceed the number of available remainder class representative values.r ). Next, one coset representative value is selected using the r data bits. In accordance with the Gray code in Table 5 above, the remaining pairs of data bits Number symbol a1, ATwo, AThree, ..., amAnd converted to a '. FIG. 12 is similar to encoder 100 of FIG. 9, but in accordance with the present invention, Using a code word derived from the generator array as described above, 13 bits The data word of the octet as a code word of 16 quaternary symbols. 13B / 16Q encoder 160 shown in FIG. (0000 0000 1111 1111) (X1) (0000 1111 0000 1111) (XTwo) (0011 0011 0011 0011) (XThree) (0101 0101 0101 0101) (XFour) (1111 1111 1111 1111) (X ') (0000 0000 0000 2222) 2 (X1* XTwo) (0000 0000 0022 0022) 2 (X1* XTwo) (0000 0000 0202 0202) 2 (X1* XFour) (0000 0022 0000 0022) 2 (XTwo* XThree) (0000 0202 0000 0202) 2 (XTwo* XFour) (0002 0002 0002 0002) 2 (XThree* XFour) In particular, this encoder uses eight cosets with coset representatives as follows: (0002 0020 0002 2202) 2 (X1* XTwo) (+) 2 (XTwo* XThree) (+) 2 (XThree* XFour) (0002 0200 0002 2022) 2 (X1* XTwo) (+) 2 (XTwo* XFour) (+) 2 (XThree* XFour) (0000 0220 0022 0202) 2 (X1* XThree) (+) 2 (XTwo* XThree) (+) 2 (XTwo* XFour) (0002 0200 0020 0222) 2 (X1* XThree) (+) 2 (XThree* XFour) (+) 2 (XTwo* XFour) (0000 0220 0202 0022) 2 (X1* XFour) (+) 2 (XTwo* XFour) (+) 2 (XTwo* XThree) (0002 0020 0200 0222) 2 (X1* XFour) (+) 2 (XThree* XFour) (+) 2 (XTwo* XThree) (0002 0002 0020 2202) 2 (X1* XTwo) (+) 2 (X1* XThree) (+) 2 (XThree* XFour) (0002 0002 0200 2022) 2 (X1* XTwo) (+) 2 (X1* XFour) (+) 2 (XThree* XFour) Thus, 2rHas a value of 8, so r is 3. Referring to FIG. 12, the 13B / 16Q encoder 160 converts the input data word The least significant 10 consecutive pairs of bits in the corresponding quaternary number according to Table 5 above Includes five Gray encoders 162-170 that encode into symbols. Each encoder 1 62-170 outputs the output quaternary symbol to that of the five multipliers 172-180. Feed one to each of the 16 symbol generator matrix rows XFour, XThree, XTwo, X1and Each corresponding row of X 'is multiplied. Most significant 3 bits of input data word Is supplied to the selector 182, and according to the combination value of those three bits, One of the eight possible coset representatives is selected. Five multipliers 172-1 80 and the output of the selector 182 are output by a symbol unit modulo 4 adder 184. Of the 16 quaternary symbols output by the encoder 160 A code word is generated. FIG. 13 shows a code of 16 quaternary symbols generated by the encoder 100. 16Q / 1 based on Lie distance to decode words into 13-bit data words 3A shows a 3B minimum distance decoder 200. The method used in decoder 200 is illustrated in FIG. Based on the "super code" cited in connection with the eleven decoders 140 Major fixes to work with quaternary and larger codes Is added. For each coset representative value, in order, for example, a symbol unit The remainder class representative value is subtracted from the received code word using modulo 4 , The result of which is decoded as an element of a length 16 quaternary base code, As described below, a “score” is assigned to the coset representative value. Which co Determining whether or not to decode to a word depends on whether the representative value has the highest score Select any one of them), and within the range of the coset, This is done by selecting the element of the identified base code. The fast Hadamard transform is used for decoding the elements of the base code. However However, in contrast to decoder 140, decoder 200 is as if receiving base codes. Collectively decode the result of the above subtraction as if it were a stripped codeword. The symbol so that it has a value of +1 or -1 (as in the case of a decoder) Applies a fast Hadamard transform to multiple input vectors that are not constrained. Each input vector For a torque, the largest conversion factor is selected. According to the sign of the conversion coefficient, 1 One or more of the associated pairs of the next Reed-Muller code RM (1, m) are output. this The method is similar to the procedure for decoding the received RM (1, m) codeword. However, the output for each input vector determines the decoding of that vector by RM (1, m). Not expressed as a element. Referring to FIG. 13, a decoder 200 outputs a quaternary signal in a modulo-4 subtractor 202. Receives a code word of the number 16 symbols and modulo the remainder from the code word The value stored in the memory 204 is subtracted. This coset storage mechanism is an encoder Same eight cosets from which selection is made by 160 selectors 182 Includes table values. The storage unit 204 also stores each of the eight remainder class representative values in order in the subtractor. In response to the increment signal at input 208, It has a 3-bit counter 206 that continuously cycles through the eight possible 3-bit values. 16-th quaternary number output by the subtractor 202 with respect to the current time coset representative value The bol word S is passed to the vector generator 210. The vector generator 210 For the word S, 32 16-symbol input vector sequences D Sent to a Green machine 212 that performs a fast Hadamard transform on each of the vectors You. In this case, the generator 210 has five coefficients b1, BTwo, BThree, BFourAnd 0 for each of b ' Or 1 so that their coefficients as a whole are 32 possible combinations. It will be everything. For each such combination, follow the relation The value B is derived. B = b1X1(+) BTwoXTwo(+) BThreeXThree(+) BFourXFour(+) B'X ' Next, D is derived by the following equation. D = | 2X '-((S-B) mod 4) | -X' In this equation, subtractions with values such as X ', S and B are denoted by | ... | Is performed in symbol units as the modulo operation being performed. The output of the Green machine 212 is, for each vector D, E0To E15Sign up to There are 16 conversion components attached. These components are the comparator 214, the absolute values of the transform components are compared and the maximum absolute value | Ez | And the corresponding value z (from 0 to 15) is identified. Components with the same absolute value If there are a plurality, one of them is arbitrarily selected. Next, the comparator 214 calculates the value z and EzIs output to the latch 216, and the latch 216 additionally outputs the signal from the generator 210. Coefficient b1, BTwo, BThree, BFourAnd the value of b ′ and the counter 206 of the storage 204 Receive the corresponding 3-bit index value provided. 1st coset representative value and coefficient b1, BTwo, BThree, BFourAnd the combination of the values of b ' The latch 216 receives the received Ez, Z, the five coefficients and the coset index Simply remember. 31 additional vectors D are generated by the generator for the first coset representative value As derived by 210, the counter 206 is also incremented and each successive remainder is incremented. As more than 32 vectors D for coset representative values are derived, EzAnd z Each value, along with the coefficient and coset index values, are passed to latch 216. You. Such a transformation component EzIs the component currently latched If the absolute value is greater, latch 216 stores the newly received value in relation to it. Connected z, coset index and coefficient b1, BTwo, BThree, BFourAnd the value of b ', select. When counter 206 has cycled through all eight possible values, the contents of latch 216 Are collected in the output data decoded in block 218 of FIG. z Value, EzSign and coefficient b1, BTwo, BThree, BFourAnd b 'together The value of the least significant 10 bits is determined directly as described below, and the coset index is Construct the three most significant output bits. To determine the value of the least significant 10 output bits, the coefficient c 'is Ez1 if positive, positive Is set to 0 and the value of z is c1cTwocThreecFourExpressed as a 4-bit binary number Is done. aFour, AThree, ATwo, A1And the five decoded row coefficients a ′ are given by It is determined. a1= b1+ 2c1 aTwo= bTwo+ 2cTwo aThree= bThree+ 2cThree aFour= bFour+ 2cFour a '= b' + 2c ' The decoded data bits are based on these row coefficients by reference to the Gray code in Table 5. Can be derived in pairs from For an octal code, three data bits are line-aligned, as shown in Table 6 below. Number a1, ATwo, AThree, ..., amAnd a '. As in the case described above, the number of selected coset representative values depends on the available coset representatives. The largest power of two that does not exceed the number of values (2r). Next, r data bits are One coset representative value is selected using the octal Glay code in Table 6 above. A continuous pair of remaining data bits is an octal symbol a1, ATwo, AThree, ..., amYou And a '. FIG. 14 is similar to encoder 100 of FIG. 9 and encoder 160 of FIG. However, according to the present invention, the code derived as above from the following generator array: Words are used to convert an 18-bit data word into an octal 16 symbol code. 18 shows an 18B / 160 encoder 160 that encodes as dewords. (0000 0000 1111 1111) (X1) (0000 1111 0000 1111) (XTwo) (0011 0011 0011 0011) (XThree) (0101 0101 0101 0101) (XFour) (1111 1111 1111 1111) (X ') (0000 0000 0000 4444) 4 (X1* XTwo) (0000 0000 0044 0044) 4 (X1* XThree) (0000 0000 0404 0404) 4 (X1* XFour) (0000 0044 0000 0044) 4 (XTwo* XThree) (0000 0404 0000 0404) 4 (XTwo* XFour) (0004 0004 0004 0004) 4 (XThree* XFour) In particular, the encoder uses eight cosets with the following coset representatives: (0004 0040 0004 4404) 4 (X1* XTwo) (+) 4 (XTwo* XThree) (+) 4 (XThree* XFour) (0004 0400 0004 4044) 4 (X1* XTwo) (+) 4 (XTwo* XFour) (+) 4 (XThree* XFour) (0000 0440 0044 0404) 4 (X1* XThree) (+) 4 (XTwo* XThree) (+) 4 (XTwo* XFour) (0004 0400 0040 0444) 4 (X1* XThree) (+) 4 (XThree* XFour) (+) 4 (XTwo* XFour) (0000 0440 0404 0044) 4 (X1* XFour) (+) 4 (XTwo* XFour) (+) 4 (XTwo* XThree) (0004 0040 0400 0444) 4 (X1* XFour) (+) 4 (XThree* XFour) (+) 4 (XTwo* XThree) (0004 0004 0040 4404) 4 (X1* XTwo) (+) 4 (X1* XThree) (+) 4 (XThree* XFour) (0004 0004 0400 4044) 4 (X1* XTwo) (+) 4 (X1* XFour) (+) 4 (XThree* XFour) Thus, 2rHas a value of 8, so r is 3. Referring to FIG. 14, the 18B / 160 encoder 230 converts the input data word Is a octal number corresponding to a set of three consecutive bits of the least significant 15 bits according to Table 6 above. Includes five Gray encoders 232-240 for encoding into symbols. Each encoder 2 32-240 outputs its octal symbol to that of the five multipliers 242-250. Feed one to each of the 16 symbol generator matrix rows XFour, XThree, XTwo, X1and Each corresponding row of X 'is multiplied. Most significant 3 bits of input data word Is supplied to the selector 252, and according to the combination value of those three bits, One of the eight possible coset representatives is selected. Five multipliers 242-2 50 and the output of the selector 252 are output by the symbol unit modulo 8 adder 254. 16-symbol octal code output by the encoder 230 -A word is generated. FIG. 15 corresponds to the decoding shown in FIG. Convert the generated 16-symbol octal code word to an 18-bit data word 1 shows a 160 / 18B minimum Lie distance decoder 260. Referring to FIG. 15, a decoder 260 performs octal octal conversion in a modulo-8 subtractor 262. Receives a code word of the number 16 symbols and modulo the remainder from the code word The value stored in the memory 264 is subtracted. This coset storage mechanism is an encoder Same eight cosets from which the selection is made by the selector 252 of 230 Includes table values. The coset storage 264 also subtracts each of the eight coset representative values. In response to the increment signal at input 268, the A 3-bit counter 266 that continuously cycles through all eight possible 3-bit values Have. Octal 16-thin output by subtractor 262 with respect to the current time coset representative value The bol word S is passed to the vector generator 270. The vector generator 270 For the word S, 1024 16-symbol input vector sequences D Green machine 272 performing a fast Hadamard transform on each of these vectors Send to In this case, the generator 270 has five coefficients b1, BTwo, BThree, BFourAnd each of b ' Are assigned 0, 1, 2 or 3 so that their coefficients collectively are 1024 All possible combinations. For each such combination, A value B according to the following relational expression is derived. B = b1X1(+) BTwoXTwo(+) BThreeXThree(+) BFourXFour(+) B'X ' Next, a vector D is derived from the following equation. D = | 4x '-((S-B) mod 8) | -2X' As before, in this equation subtraction with values such as X ′, S and B Performed symbol-wise as a modulo operation, indicated by |. The output of the Green machine 272 is, for each vector D, E0To E15Sign up to There are 16 conversion components attached. These components are the comparator 274, the absolute values of the transform components are compared, and the maximum absolute value | Ez| And And the corresponding value z (from 0 to 15) is identified. Components with the same absolute value If there are a plurality, one of them is arbitrarily selected. Next, the comparator 274 calculates the value z and EzTo latch 216, which in addition generates 270 From the coefficient b1, BTwo, BThree, BFourAnd the value of b 'and the counter 266 in the storage 264 Accordingly, the corresponding 3-bit index value supplied is received. 1st coset representative value and coefficient b1, BTwo, BThree, BFourAnd the combination of the values of b ' The latch 276 receives the received Ez, Z, 5 coefficients and coset indexes Simply remember. 1024 additional vectors D are generated for the first coset representative value. As derived by generator 270, counter 266 is also incremented and each successive As more than 1024 vectors D relating to the coset representative value are derived, EzYou And z, together with the coefficient and coset index values, Passed to 6. Such a transformation component EzIs currently latched If it has an absolute value greater than the , Its associated z, coset index and coefficient b1, BTwo, BThree, BFourAnd b ' Select with value. When the counter 276 cycles through all eight possible values, the contents of the latch 276 Are collected in the output data decoded in block 278 of FIG. z Value, EzSign and coefficient b1, BTwo, BThree, BFourAnd b 'together The value of the least significant 15 bits is determined directly as described below, and the coset index is Construct the three most significant output bits. To determine the value of the 15 least significant output bits, the coefficient c 'is Ez1 if positive, positive Is set to 0 and the value of z is c1cTwocThreecFourExpressed as a 4-bit binary number Is done. aFour, AThree, ATwo, A1And the five decoded row coefficients a ′ are given by It is determined. a1= b1+ 4c1 aTwo= bTwo+ 4cTwo aThree= bThree+ 4cThree aFour= bFour+ 4cFour a '= b' + 4c ' Next, the decoded data bits are derived from the above coefficients by referring to the Gray code in Table 6. Is done. An encoder corresponding to that shown in FIGS. 12 and 14 is replaced with a code of another length (m ≠ 4). Can be similarly constructed for codewords or higher order (j> 3) code. Noh. As described above, the coset representative value is selected using the r data bits. , A contiguous group of remaining data bits of size j according to the Gray code table Each symbol a1, ATwo, AThree, ..., amAnd converted to a '. Symbol a1, ATwo , AThree... amAnd each row X of the generator matrix of the base code in a '1, XTwo, XThree, ..., XmAnd X 'are multiplied, and the result is symbolized to the selected coset representative. Unit modulo 2jIt is added by calculation. A decoder corresponding to that shown in FIGS. A similar construction can be made for higher order codes. Symbol length is 2mso Each symbol is 2jIn the general case of a code word with possible values of , The subtractor modulo 2 from the received code wordjRemainder class by operation Decrease table value. Coefficient b1, BTwo, ..., bmAnd each of b 'is from 0 to 2j-1Integer up to -1 Have a number, so their coefficients are 2(j-1) (m + 1)Possible combinations of It will cover everything. For each such combination, Values B and D are derived. B = b1X1(+) BTwoXTwo(+) ... (+) bmXm(+) B'X ' D = | 2j-1X '-((S-B) mod2j) | -2j-2X ' However, the symbol (+) is symbol unit addition modulo 2.jRepresents Each lower output video When determining the value of the bit, z is the binary number c1cTwo... if expressed as cm Row coefficient a1, ATwo, ..., amAnd a ′ are determined by the following equation: a1= b1+2j-1c1 aTwo= bTwo+2j-1cTwo ... am= bm+2j-1cm a '= b' + 2j-1c ' The decoder is, as described above, a fixed decision decoder, i.e. 0 And 2jTake an integer value between -1. Use a similar decoder as a flexible decision decoder You can also. In this case, received according to the size of the analog signal received Codeword symbols are 0 and 2jIs represented as being a real number between. this The value S is the modulo 2 of the coset representative value (of integer values)jObtained by subtraction. Up Following the decoding procedure, a real-valued transformation component is generated, The one with the largest absolute value is selected. Subsequent decryption procedures are described above. It is similar to that of The decoders 200 and 260 of FIGS. 13 and 15 Provide data directly. The codewords that receive the coset representatives , And decodes the result as an element of the associated base code. Do not explicitly identify code words in the code as intermediate steps. all For the value B and all stored coset representative values, the value Z and the maximum absolute value are Transformation component EzTo get the value of this base codeword, One of the element pairs of the primary Reed-Muller code RM (1, m) with the corresponding value B It is possible to select Degree 2mSylvester-Hadamard line The column z of column H (see below) is replaced to generate the vector c (most of the matrix The left column is column 0). EzIs positive, the + symbol in c becomes 0, and the-symbol Is converted to 1 and if negative, the + symbol in c becomes 1 and the-symbol in c becomes 0. Is converted. c now contains the required RM (1, m) element. Selected by the decoder Can be derived by the following equation: Twoj-1C (+) B Row coefficient a to be decoded1, ATwo, ..., amAnd a 'apply Gaussian elimination in a known manner By doing this, the code word and row X of the generator matrix1, XTwo, ... XmAnd from X '. Decode code corresponding to the output from the encoder The code is symbol unit modulo 2jThe base code word is To the coset representative value identified by the marked coset index Is obtained by Sylvester-Hadamard matrix H of degree 2TwoIsIt is. That is, all elements are the same except for the lower right negative. Next highest Matrix H of powers of 2FourTo deriveTwoH to the right and down ofTwoAnd its negative (-HTwo ) Is placed at the lower right. Thus, HFourIs It is. This process subsequently proceeds with the higher power of two Sylvester-Hadamard matrix. It is repeated to derive. For example, H8To deriveFourH to the right and down ofFourDuplicate And its negative (-HFour) Is placed at the lower right. For example, a 13-bit data word 1 1011 0110 0001 is 13B / 16Q encoded Let us consider the case applied to the input of unit 160. Corresponding row factor aFour, AThree, ATwo, a1And a 'have the values 2, 1, 3, 0 and 1, respectively, and are the codes in the base code Give the word 1320 0213 1320 0213 The selected coset representative value is 0002 0002 0020 2202. Therefore, the output quaternary code word is 1322 0211 13 00 is 2011. During communication from the encoder 160 to the decoder 200, the code word Assume that the code is broken and has a value of 1322 0212 1300 2031. In this case receive Transmitted code word has a Lee distance of 3 from transmitted code word . The subtractor 202 of the decoder converts each coset representative value into the received codeword or Decrease. In the case of a 110-residue coset, the result of this subtraction is 1320 0210 1320 0233 Which is passed to the vector generator 210. The generators are each Green Generate 32 vectors D that are combined in machine 212 to produce a row vector E 16 conversion components E0To E15Generate Each such vector E In the corresponding row vector D, the 16th-order Sylvester-Adamer Matrix H16Is the result obtained by multiplyingThese vectors and the corresponding transform components E are given by You. (B1, b2, b3, b4, b ') = (0,0,0,0,0): B = (0000 0000 0000 0000), D = (0,0, -1,1,1, -1,0,1,0,0, -1,1,1, -1.0,0), E = (1, -1, -1,9, -1, -7,1, -1,1, -1,1,1, -1,1,1, -1). (B1, b2, b3, b4, b ') = (0,0,0,0,1): B = (1111 1111 1111 1111), D = (1, -1,0,0,0,0,1,0,1, -1,0,0,0,0, -1, -1), E = (-1,5,1,3,1,3, -1,5,3,1, -3, -1, -3, -1,3,1). (B1, b2, b3, b4, b ') = (0,0,0,1,0): B = (0101 0101 0101 0101), D = (0, -1, -1,0,1,0,0,0,0, -1, -1,0,1,0,0, -1), E = (-3,3,3,5, -5, -3, -3,3,1,1,1,1,1,1,1,1) ..... (B1, b2, b3, b4, b ') = (0,1,1,0,0): B = (0011 1122 0011 1122), D = (0,0,0,0,0,0,0, -1,0,0,0,0,0,0,0,0), E = (-1,1,1, -1,1, -1, -1, -1, -1,1,1, -1, -1, -1, -1, -1,1). (B1, b2, b3, b4, b ') = (0,1,1,0,1): B = (1122 2233 1122 2233), D = (1, -1,1, -1, -1,1, -1,0,1, -1,1, -1, -1,1,1,1 ), E = (1,3, -1, -3, -1,13,1,3, -3, -1,3,1,3,1, -3, -1). (B1, b2, b3, b4, b ') = (0,1,1,1,0): B = (0112 1223 0112 1223), D = (0, -1,0, -1,0,1,0,0,0, -1,0, -1,0,1,0,1), E = (-1,1,1, -1, -7,7, -1,1, -1,1,1, -1,1, -1, -1,1). ... (B1, b2, b3, b4, b ') = (1,1,1,1,0) B = (0112 1223 1223 2330), D = (0, -1,0, -1,0,1,0,0,1,0,1,0, -1,0,1,0), E = (1,3, -1, -3, -1,5,1,3, -3, -1,3,1, -5,1, -3, -1). (B1, b2, b3, b4, b ') = (1,1,1,1,1): B = (1223 2330 23303001), D = (1,0,1,0, -1,0, -1,1,0,1,0,1,0, -1,0, -1), E = (1, -1, -1,1,7,1,1, -1,1, -1, -1,1, -1,9,1, -1). The conversion coefficient of the maximum absolute value for this coset is B = (1122 22331122 2233) E generated for z = 5Five= 13. This coefficient is also stored in the storage unit 20 of the decoder. From the transform coefficients generated for any of the other seven coset representative values in Large in absolute value. H16Column 5 is (+-+-+-++-+-+-+). EFiveIs positive Therefore, the + symbol is replaced by 0 and the-symbol is replaced by 1, so that C = (0101 1010 0101 1010). Therefore, the base codeword selected by the decoder is 2 C (+) B = (1320 0213 1320 0213), and this is the code output from the encoder 160. Was deemed a word, and the communication error was corrected. The encoder 200 and the decoder 260 shown in FIGS. Based on the Lie distance for quaternary, octal and higher order codes The minimum distance decoder may be implemented in the form of dedicated hardware. in this case , As described above in connection with the decoder 140 of FIG. Some or all, for example by preparing a Green machine for each one Can be calculated in columns. Alternatively, use a general purpose processor and Appropriate software procedures incorporating functionality expressed in C language programs ー It is also possible to execute ja. This program is -Each symbol has a length determined by the parameter M (equal to m above) A code word with a number of values determined by parameter J (equal to j above) ,and, -List of coset representative values And input -The position in the above list of coset representative values for which the maximum absolute value of the conversion coefficient is to be detected, A base codeword partially but identified from the position z of the transform coefficient; and, -Corresponding row factor a1, ATwo,…, AThreeAnd the value of a ', Is output. Only intended for use with codes of quaternary or higher order However, this program is also useful for binary codes. The following is an example of the source code of such a program. The secondary binary RM decoders 82 and 122 shown in FIGS. It can be implemented in hardware, or a C language program such as Use a general-purpose processor that executes appropriate software procedures, such as It can also be implemented by doing. Length 2mLength 2 for symbol quaternary codem-1Binary decoding for code Decoding can also be accomplished by using a detector. This form is (quaternary signal Ease of implementation and operating speed (by avoiding the need for a circuit to act on the signal) It is desirable from the viewpoint of. Such decryption is performed on rows with the values 2,1,3,0 and 1. Coefficient aFour, AThree, ATwo, A1Base code words 1320 0213 1320 0213 And coset representative values 0002 0002 0020 2202 (used already in the previous example By reference to the 16-symbol quaternary code word 1322 0211 1300 2011. Is illustrated. This code word representing the binary data word 11011 0110 0001 Code is received as a code with the error 1322 0212 1300 2031 Assume that Each symbol of the received codeword is first represented by the Gray in Table 5. According to the code, they are converted into binary symbol pairs, and the binary symbols are Assigned to each half of a 32-bit word. In this way, first For the quaternary symbol (1), the corresponding binary symbol pair is 01, The first symbol (0) of the pair of bits constitutes the first symbol of a 32-bit word. , The second symbol of this pair (1) constitutes the seventeenth symbol of the word I do. The second quaternary number is 3, the corresponding binary symbol pair is 10, The first symbol (1) of this pair comprises the second symbol of a 32-bit word. The second symbol (0) of this pair replaces the 18th symbol of the word Constitute. Thus, processing continues for the remaining quaternary code words, 0111 0101 0100 1010 1011 0111 1000 1001 Is generated. This binary word is supplied to a 32-bit secondary binary RM decoder. this Is similar to the case of the decoder 122 of FIG. Has been extended. This decoder produces two sets of binary output signals. That One is the coefficient u1, UTwo, UThree, UFour, UFiveAnd six primary signals representing u ′ and the second Is a set of coefficients u12, U13, U14, U15, Utwenty three, Utwenty four, Utwenty five, U34, U35And u45To These are the ten secondary signals represented. For a 32-bit word, the output signal of the RM decoder The signals have the following values: u1= 1 u12= 0 utwenty three= 1 uTwo= 0 u13= 1 utwenty four= 1 uThree= 0 u14= 1 utwenty five= 0 uFour= 1 u15= 0 u34= 1 uFive= 1 u35= 0 u '= 0 u45= 1 These primary and secondary signals are sent to a binary to quaternary converter, where Thus the row coefficient a corresponding to the input quaternary data word1, ATwo, AThree, AFourAnd a 'made Is done. a1= (2uTwo+ u12(1 + 2u1)) Mod4 [= 0] aTwo= (2uThree+ u13(1 + 2u1)) Mod4 [= 3] aThree= (2uFour+ u14(1 + 2u1)) Mod4 [= 1] aFour= (2uFive+ u15(1 + 2u1)) Mod4 [= 2] a '= 2u' + u1 [= 1] The values in [] are related to the specific values of the primary and secondary signals given above. The results of the engagement are shown. 5 decoded row coefficients aFour, AThree, ATwo, A1And it for a ' It is shown that quaternions 2, 1, 3, 0 and 1 are generated respectively. The coefficient converter also calculates the coefficient a according to the following relation:12, A13, A14, Atwenty three, Atwenty fourYou And a34Are generated. a12= (Utwenty three+ u12u13) Mod2 [= 1] a13= (Utwenty four+ u12u14) Mod2 [= 1] a14= (Utwenty five+ u12u15) Mod2 [= 0] atwenty three= (U34+ u13u14) Mod2 [= 0] atwenty four= (U35+ u13u15) Mod2 [= 0] a34= (U45+ u14u15) Mod2 [= 1] These additional signals are based on which a 16 symbol quaternary code word is generated. Six additional rows 2 (X1* XTwo), 2 (X1* XThree), 2 (X1* XFour), 2 (XTwo * XThree), 2 (XTwo* XFour) And 2 (XThree* XFour) Indicates which of the combinations was combined. For data word 11011 0110 0001, the coset representative value is 2 (X1* XTwo) (+) 2 (X1* XThree ) (+) 2 (XThree* XFour) And the associated coefficient a12, A13And a34Is 1 to indicate this Value. Six coefficient signals a12, A13, A14, Atwenty three, Atwenty fourAnd a34Using the combination of FIG. By the same selector means as the selector 128 in the decoder 120 of FIG. The three most significant bits of the data word can be derived. The lower 10 bits are Row coefficient a decoded with reference to Gray code 51, ATwo, AThree, AFourAnd a 'from a' Derived. It should be noted that the length 2m + 1Bit of code 2 using a binary decodermThe decoding of a symbolic quaternary code word is as follows: It requires reference to the Gray code table for two purposes. One purpose is as shown in FIG. Error detection as described above in connection with encoders 160 and 230 of FIG. To assist in the transmission of data, including output and correction functions, over a complete communication path. You. The second purpose allows the use of a binary decoder circuit, whereby the quaternary Saves money and effort in implementing circuits that process signals directly to increase operating speed That is. Binary decoder for the general case of a quaternary code word containing 2m symbols To apply, as described above, the code word uses the Gray code in Table 5. Corresponding 2m + 1Symbolically converted to a bit binary code word. This , Each symbol in each pair of binary symbols of the Gray code is Assigned to each half of the binary code word. This binary code ・ Word is coefficient u1, UTwo, ..., um + 1, U ', u12, U13, ..., um.m + 1To give 2 Using a hex decoder, length 2m + 1Element of the secondary Reed-Muller code That is, it is decoded as RM (2, m + 1). These coefficients are given by the following relations: It is converted to the required quaternary output coefficients. a '= 2u' + u1 ai= (2ui + 1+ u1,i + 1(1 + 2u1)) Mod4 (when 1 = <1 = <m) aik= (Ui + 1, k + 1+ u1, i + 1 u1, k + 1) Mod2 (when 1 = <i <k = <m) Value a1, ATwo,…, AmAnd a ′ are 2 (m + 1) decoded data via the Gray code in Table 5. -Give a bit. The remaining bits are the coefficient a12, A13, ... am-1, mAccording to the value of It is restored with reference to the look-up table of the coset selected for use. 2 of each symbol in each pair of Gray code binary symbolsm + 1Bit Assignment of each binary code word to each half is not the only possibility. Coefficient u1, UTwo, ..., um + 1, U ', u12, U13, ..., um, m + 1To a quaternary output coefficient To convert the binary symbols to the respective positions of the binary code word. An alternative method of assigning to the location is possible. For example, the quaternary code to be decoded De word is of the same order as the corresponding quaternary symbol in the quaternary code word. Can be extended by concatenating pairs of Gray code binary symbols You. Thus, the quaternary word 1322 0212 1300 2031 becomes the binary word 0110 11 11 0011 0111 0110 0000 1100 1001 In this case, the relational expression for coefficient conversion is as follows. a '= 2u' + um + 1 ai= ((2ui+ ui, m + 1) (1 + 2um + 1)) Mod4 (when 1 = <1 = <m) aik = (ui, k+ ui, muk, m + 1) Mod2 (when 1 = <i <k = <m) Also, using a decoder having the format of the 16Q / 13B decoder 200 in FIG. It is also possible to replace the hexadecimal processing with the quaternary processing. This is the In that case, the received quaternary codeword and coset storage 204 Both the output coset representative values are 3 in symbol units using the Gray code in Table 5. By modifying the decoder to be converted to a two-bit code word, It can be implemented. Correspondingly, subtractor 202 modulates instead of modulo 2 It is modified to perform b4 operation. The 32-bit data output by the subtracter 202 for the current time coset representative value. The code S is sent to the vector generator 210. This vector generator is also 16 Two 32-bit input vector sequences D for each of those vectors To supply to a Green machine 212 that performs a fast Hadamard transformation You. That is, the correction vector generator 210 calculates the total number of possible combinations of 16 coefficients. Four coefficients b to cover all the1, BTwo, BThreeAnd bFour0 or 1 for each of Assign the value of For each such combination, the quaternary 16-symbol value is It is derived according to the relational expression. (B1X1+ bTwoXTwo+ bThreeXThree+ bFourXFour) Mod4 This value is also calculated in the same way as the input quaternary codeword and the current next coset representative. Is converted to a 32-bit word B. The above relationship is for the uncorrected decoder 200 But not identical to the original for the value B of In particular, the modified function The relation does not include the coefficient b ′. Each vector D is a 32-bit word S and a respective 32-bit word B And its value in the vector D + 1 And -1 are replaced by the binary values 0 and 1, respectively. Next, the vector D is a Green machine 2 modified to perform a fast Hadamard transform of length 32 12 is supplied. The output of the Green machine 212 is 32 conversion components for each vector D And they are the comparator 2 (modified to receive 32 components) 14 and latch 216, all of the values of B for each of the coset representative values. With maximum absolute value and corresponding z value (from 0 to 31) over Component Ez, Four coefficients b1, BTwo, BThreeAnd bFour, And coset indexes Is selected. Selected z value, EzSign and coefficient b1, BTwo, BThreeAnd bFourIs As described below, the value of the lower 10 bits to be decoded is determined, while the coset index is determined. The mix forms the upper 3 bits output. To determine the value of the lower 10 bits to be output, the coefficient C ′ is EzTo 1 if is negative , Is set to 0 if positive, and the value of z is a 5-bit binary number c1cTwocThreecFourcFiveExpressed as It is. 5 row coefficients aFour, AThree, ATwo, A1And a ′ are determined by the following equation: a1= (2cTwo+ b1(1 + 2c1)) Mod4 aTwo= (2cThree+ bTwo(1 + 2c1)) Mod4 aThree= (2cFour+ bThree(1 + 2c1)) Mod4 aFour= (2cFive+ bFour(1 + 2c1)) Mod4 a '= 2c' + c1 Next, the data bits to be decoded are stored in these rows by reference to the Gray code in Table 5. It is derived in pairs from the coefficients. 2mThis is the general case of a quaternary code word containing symbols. Codewords and cosets to use the modified decoder 200 in a simple way The representative value is symbolically converted to a corresponding binary code word. Binary number Number b1, BTwo,…, BmIs 2mCover the possible combinations of values. The value B is (b1X1+ BTwoXTwo+ ... + bmXm) Mod4 The quaternary value of 2m + 1Derived by converting to a bit binary word . To determine the value of the 2 (m + 1) least significant output bits from the row coefficients, the value of z is Number c1cTwo... cm + 1And the row coefficient a to be decoded1, ATwo, ..., amAnd a 'is Determined by the formula. ai= (2ci + 1+ bi(1 + 2c1)) Mod4 (when 1 = <1 = <m) a '= 2c' + c1 The above description of the quaternary code is based on a quaternary code with possible values of 0, 1, 2, 3. It was done on a symbol. For actual transmission, for example, quadrature phase shift key-in By means of modulation (i.e., QPSK) modulation, these values will be Corresponding to One possibility is that the complex vectors 1, i, -1 and (as i = √-1) Phase shifts of 0, 90, 180 and 270 degrees (equivalent to You. However, other variants are possible. For example, complex vector (1 + i) / √2, (-1+ i) / √2, (-1-i) / √2 and (1-i) / √2 are equivalent to 45 ° It may be 315 degrees. This principle works for codes with many (j> 2) symbol values. And the actual symbol value is any 2jIdentifiable signal modulation And their amplitudes need not be equal, For shift keying, the phase differences between adjacent pairs need not be equal. The above-described method and apparatus for encoding and decoding a COFDM signal provides for error detection and And correction characteristics, low PMEPR, ease of implementation and useful data rate. Provides several benefits. Particularly long code words (i.e. multi-carrier systems) (Many carriers in the network) need to provide high data rates, Search for all code words (impossible and time-consuming) These properties can be obtained without performing. In certain situations, this The code word selection can be modified to compromise between these different characteristics. Sometimes it is necessary. For example, increasing the data rate instead of accepting the relatively high maximum value of PMEPR If it is desired to increase the available codeword population There is. For example, consider a binary code of length 16 (ie, m = 4). Any of the base codes whose representative value is a linear combination of additional rows in the generator array Constructs a possible coset and results from the use of codewords within the coset It is possible to derive the maximum peak envelope power (PEP). this Is the remainder class in ascending order of the maximum PEP for each coset, as shown in Table 7 below. To be listed. In such a table, the first column contains the code Including six coefficients, including a multiplier for each additional row of the generator array, Coefficient is symbol unit modulo 2jThe coset representative value is created by adding It is. Thus, for example, 1 under the heading '12' is added to the additional line (X1* XTwo) Is multiplied by 1 so that is included in the coset representative value, and 0 is multiplied by 0 (effectively excluded) Means to be done. The middle column shows the coset representative value itself, and the last column shows , The largest PEP resulting from the use of code words in the coset. Table 7: Binary (length 16) The derivation of PEP for one coset follows the envelope in the time domain Complex waves generated by code words at consecutive sample points It should be noted that it is necessary to calculate the amplitude of the shape envelope . The interval between time values for successive samples affects the accuracy of the results. Blur. That is, the shorter the time interval, the higher the accuracy, but the overall waveform The number of required samples increases, and therefore the cost of computation increases. pay. Typically, the derivation of the PEP is based on the fact that the acquired PEP is a predetermined number. A relatively short continuous interval until stable for a significant number of digits or a decimal number Is repeated for In the case of Table 7, the second decimal place after rounding The calculation was repeated in this way until the location stabilized. As described above, the first twelve remainders listed above the dotted line (1) in Table 7 The 384 code words associated with the class representative value are PEPR not exceeding 3 dB, That is, it gives a factor of 2 (average error for a 2 m long codeword). The envelope power is 2mAnd therefore for a code word of length 16 Has an average envelope power of 16, up to 32 PEPs and up to 2 PMEPRs give). The code word used is the upper half of Table 7 or the first half above dotted line (2). 27 coset representative values plus any of the next 25 coset representative values above the dotted line (3) If it is associated with any of these five, the minimum Hamming distance remains unchanged at 2 * 2 (= 4) , It is possible to encode 10 data bits. this is, The maximum PMEPR is simply increased from 2 to 4 (in any code word Only increase to 4 (as opposed to 16 if good) The number of data bits that can be represented by a single codeword from eight to ten Let These additional data bits are adapted by the selector 112 of FIG. However, in this case, the selector determines the most significant (3 Selected (2) according to the value of 5 bits (not bits)Five) 32 coset representatives Modified to select from values. Prepare a table similar to Table 7 for binary codewords of other lengths it can. 2mFor the code word length of Any code, including the coset set, has a PMEPR that does not exceed 3dB (As in binary code) 2m-2With a minimum Hamming distance of Any of the devices can be used. Similar compromises between data rates and PMEPR have been made for quaternions, octals, and so on. It can be applied to codes of higher order. Table 8 below shows the 16 The coset representative value for the quaternary code of the symbol is represented for each coset in the same format as in Table 7. Are shown in the order of the largest PEP.Table 8: Quaternary (length 16) This table can be used as in Table 7. For example, the dotted line (1 The code words associated with the first twelve cosets above) are between the dotted lines (1) and (2). Together with the code word associated with any 20 of the next 40 cosets of Encode up to 15 data bits as a symbol length quaternary code word Can be used for A multi-carrier signal modulated according to these code words The large PMEPR is 4 (6 dB). Prepare a table equivalent to Table 8 for any other length of quaternary code word Can be 2mSelected from such a table for the codeword length of Any code that contains a coset set must have a PMEPR not exceeding 3 dB. (Similar to the case of the aforementioned quaternary code)m-1Minimum Hamming distance and 2m-1 With a minimum Lee distance. Use any of the decoders described above for such codes In this case, the above-mentioned characteristics are maintained. Each of the coset representatives listed in Tables 7 and 8 is associated with a respective generator array. Is a linear combination of additional rows. Generate larger tables in a similar way It is possible to include other coset representatives for the base code, but Selecting a code word from such a table based solely on the PEP Is generally less desirable. Because the choice of such a code word is Because it may have low error detection and correction characteristics. Table 7 and Table The generator array used in deriving 8 is the binary and 4 The same nascent array used to derive the minimum PMEPR code in hexadecimal It is. Table 9 shows the coset representative values for the octal code of length 16 symbols in each coset. It is shown in the order of maximum PEP. In this case, the first column is 2mSymbol 2 (Xi* Xk) Contains six coefficients that make up a multiplier of the form The additional row of the octal generator array is 4 (Xi* Xk)), They are symbolic Unit modulo 2jAre added to generate a coset representative value. Therefore, headings 3 below '12' is word 2 (X1* XTwo) Are included in the coset representative value. Is multiplied by 3. Thus, in this case, the listed remainder Class representative values are not limited to linear combinations of additional rows of the octal generator array. this Because the table is large, only the selected rows are included in Table 9 below.Table 9-8 octal (length 16) In creating Table 9, the PEP calculation is based on that at least the first decimal place after rounding For relatively short intervals between envelope sample time values until stable And was repeated. As can be seen from Table 9, in the case of octal code, if PMEPR is higher than 4, There are many cosets available that are not available. For octal codewords other than 16 symbols long, see Table 9. You can prepare a simple table. Length 2mSuch code words Any code containing the coset set selected from the table (3 dB as described above) Minimum hamming distance 2 (as in octal code for PMEPR not to be exceeded)m -2 And minimum Lee distance 2m-1have. However, in the octal case, the list Coset representative value limited to linear combination of additional rows in octal generator array Not necessarily. This unexpected feature is associated with a very large number associated with low PMEPR. Contribute to the coset. Each of the coset representatives listed in Table 9 is of the form 2 (Xi* Xk) 2mSymbol W It is a linear combination of codes. Format (Xi* Xk) Is a linear combination of 2 "symbol words Accepting makes more octal cosets available . In this case, the minimum Lee distance may decrease, but the minimum Hamming distance of the code The separation remains unchanged. Actually, the selector 2 in the encoder 230 (FIG. 14) Adds a row to 52 so that the selector determines the choice of coset representative value By allowing additional input data to be accepted, Is implemented. The octal decoder described above can be used for such codes In this case, the above-described characteristics can be maintained. More remainders on the underlying code to create larger tables in a similar way It is possible to include class representatives, but based only on the tabulated PEPs, It is generally less desirable to select code words from such tables. No. Because such a code word selection has low error detection and correction This is because they may have characteristics. Each of the coset representative values is of format 2 (Xi* Xk) 2mA linear combination of symbol words Thus, a table similar to Table 9 can be generated. Length 2mCode word With respect to any code containing a coset set selected from such a table. Small hamming distance 2m-2And minimum Lee distance 2m-1have. Format (Xi* Xk) 2mSymbol More cosets available by accepting linear combinations of Le words It can be. In this case, the minimum Lee distance may decrease, but the The minimum Hamming distance of the node remains unchanged. Proper use of a decoder as described above To decode such a code. The ordered list of cosets as seen in Tables 7, 8 and 9 is It can be generated using the following programs in the programming language. Wear. In addition to choosing a compromise between data rate and PMEPR, for example, It is also possible to make a compromise between data rate and minimum Lee distance. For example, in Table 7 Select 4 subsets from the coset defined by the first 12 rows To maintain a maximum PMEPR of 3 dB while reducing the number of data bits to eight. Instead of decreasing from 7 to 7, the minimum distance can be increased from 4 to 6. That One example of such a subset is the second, third, fourth and sixth Consists of cosets defined by rows. Similar compromises have been made with other code This is possible for code lengths and higher order codes. In extreme cases, the underlying code For any order code using a single coset ofm-1The smallest Hami Encode only j (m + 1) data bits, while still providing It is also possible. To construct a list of coset representative values in the order of the largest PEP for each coset Thus, a possible compromise between data rate and PMEPR is as described above. , Especially for relatively long code words and higher order codes It has the disadvantage that. The following technique does not calculate the maximum PEP for each coset, In combination with the base code, a code related to PMEPR that does not exceed a known value Identify the coset representative value set that can generate the word (this technique uses Classes are not ordered by PMEPR). The first example of using this technique is Less than This is the case for a binary code of length 16 (m = 4) with a generator array as below. (0000 0000 1111 1111) (X1) (0000 1111 0000 1111) (XTwo) (0011 0011 0011 0011) (XThree) (0101 0101 0101 0101) (XFour) (1111 1111 1111 1111) (X ') (0000 0000 0000 1111) (X1* XTwo) (0000 0000 0011 0011) (X1* XThree) (0000 0000 0101 0101) (X1* XFour) (0000 0011 0000 0011) (XTwo* XThree) (0000 0101 0000 0101) (XTwo* XFour) (0001 0001 0001 0001) (XThree* XFour) As a first step in generating a set of coset representative values, eight (2)m-1The first of the formula A term set is built. Each of these has the following form: (X1* XTwo) (+) (XTwo* XThree) (+) V1(X1* XFour) (+) VTwo(XTwo* XFour) (+) VThree(XThree* XFour) Where v1, VTwoAnd vThreeIs a coefficient with the value 0 or 1 and the sign (+) is in bits 3 shows an addition modulo 2; Therefore, the initial set is as follows. (X1* XTwo) (+) (XTwo* XThree) (V1= 0, vTwo= 0, vThree= 0) (X1* XTwo) (+) (XTwo* XThree) (+) (X1* XFour) (V1= 1, vTwo= 0, vThree= 0) (X1* XTwo) (+) (XTwo* XThree) (+) (XTwo* XFour) (V1= 0, vTwo= 1, vThree= 0) (X1* XTwo) (+) (XTwo* XThree) (+) (X1* XFour) (+) (XTwo* XFour) (V1= 1, vTwo= 1, vThree= 0) (X1* XTwo) (+) (XTwo* XThree) (+) (XThree* XFour) (V1= 0, vTwo= 0, vThree= 1) (X1* XTwo) (+) (XTwo* XThree) (+) (X1* XFour) (+) (XThree* XFour) (V1= 1, vTwo= 0, vThree= 1) (X1* XTwo) (+) (XTwo* XThree) (+) (XTwo* XFour) (+) (XThree* XFour) (V1= 0, vTwo= 1, vThree= 1) (X1* XTwo) (+) (XTwo* XThree) (+) (X1* XFour) (+) (XTwo* XFour) * (XThree* XFour) (V1= 1, vTwo= 1, vThree= 1) This initial set then contains the row identifier X in each expression1, XTwo, XThreeAnd XFourSubscribe to Expanded by applying all possible permutations of the lip. The final set is Created by identifying dissimilar expressions within the extended set You. For this purpose, (X1* XTwoAnd XTwo* X1Subscript pairs are the same But the items in the opposite order are considered to be the same, and Ordering of items such as is ignored. Table 10 contains the final set of 49 expressions that define the required set of coset representative values. Is shown. That of the additional row of the code generator array modulo 2 added The table is constructed in terms of the six coefficients that make up the multiplier for each, and the corresponding remainder Class representative values have been created. For example, one under the heading '12' is added to the additional line (X1* XTwo) Is multiplied by 1 so that it is included in the coset representative value, and 0 is multiplied by 0. That is, excluded.Table 10 One of these coset representatives is obtained by combining with the base code. The resulting code has the following characteristics: -The minimum Hamming distance of the code is 4 (2m-2). A multi-carrier signal modulated according to these code words has a P No MEPR. The Hamming distance-based decoder used for such codes Can be operated using analysis techniques, such as at least partially combinatorial logic. Can be implemented. Code words available to achieve acceptable data rate . Length 2 with m> = 3mIn the general case of a binary code of bits, 2m-1Pieces An initial set of expressions of the form is constructed in the form (X1* XTwo) (+) (XTwo* XThree) (+) ... (+) (Xm-2* Xm-1) (+) V1(X1* Xm) (+) VTwo(XTwo* Xm) (+) ... (+) vm-1(Xm-1* Xm) Where v1, VTwo, ... vm-1Is a coefficient with a value of 0 or 1 The permutation of the default and the identification of dissimilar expressions are performed as described above. (Parameter m Given by this procedure for various codeword lengths. The number of cosets and the total number of codewords are as follows:m Coset Code words 3 7 1792 4 49 50 176 5 552 2260992 6 7800 127795200 7 126 360 8281 128 960 A modification of this technique that can be applied to word lengths greater than 64 bits (m> 6) is The coset can be large without having to examine the set of expressions to find and exclude similar expressions. To identify the best subset. In other words, this modification technique Can guarantee to generate an extended set of expressions that are inherently similar to no other . Therefore, the coefficient v1, VTwo, ... vm-1The combination of values of the form v1vTwovThree... vm-2vm-12 Binary words are limited to combinations that have the following two properties: sand That is, each word v1vTwovThree... vm-2vm-1Have a Hamming weight of at least 4 ,and, It is. The initial set, given in the form above, which is a limited set of coefficient combinations Constructs the formulas of the set, and in every possible order of the subscripts of the line identifier in each formula By applying columns, an explicit definition of the required subset of coset representatives A set of expressions is created. The base code is The code word generated by the combination with the class representative value also does not exceed 6 dB. Produce PMEPR. at least m! .2 if m> 7m-4The remainder class representative value of this Identified by the manager. Using similar techniques, the quaternion and quota results in a known maximum PMEPR result. And the cosets of higher order code words can be identified. Length 2 when m> = 3m For a quaternary code word ofm-1The initial set of expressions is of the form Be built. 2 (X1* XTwo) (+) 2 (XTwo* XThree) (+) ... (+) 2 (Xm-2* Xm-1) (+) 2v1(X1* Xm) (+) 2vTwo(XTwo* Xm) (+) ... (+) 2vm-1(Xm-1* Xm) Where v1, VTwo, ... vm-1Is a coefficient having a value of 0 or 1, and the symbol (+) is a symbol 4 shows a unit addition modulo 4. This initial set is then the row identifier in each expression X1, XTwo, XThree... XmBy applying all possible permutations of the subscript Expanded. Final set identifies dissimilar expressions within the expanded set Created by doing. (As far as parameter m is concerned) The number of cosets and code words given by this procedure for The total number of codes is as follows.m Coset Code words 3 37 9472 4 661 676864 5 14472 59277312 6 360600 5908070400 7> = 1290240> = 84557168640 In this case, there are even more cosets, and thus potentially higher data transmission rates. Available. What are the coset representatives identified by this modification technique and 4 The code word generated by the combination of the radix base codes also exceeds 6 dB. No PMEPR, but Lee minimum distance is 2m-2To decrease. Furthermore, the coefficient v1And vm-1Is fixed at 1 and 3, and other coefficients are from 0 to 3. By allowing any value of Utilizes a modification procedure that generates an extended set of dissimilar expressions in columns can do. Length 2 when m> = 3m4 for the octal code wordm-1Initial set of Bits are constructed in the following format: 4 (X1* XTwo) (+) 4 (XTwo* XThree) (+) ... (+) 4 (Xm-2* Xm-1) (+) 2v1(X1* Xm) (+) 2vTwo(XTwo* Xm) (+) ... (+) 2vm-1(Xm-1* Xm) Where v1, vTwo, ... vm-1Is a coefficient having a value of 0 or 1, and the symbol (+) is a symbol 9 shows a unit addition modulo 8. This initial set is then the row identifier in each expression X1, XTwo, XThree... XmBy applying all possible permutations of the subscript Expanded. Final set identifies dissimilar expressions within the expanded set Created by doing. One of these coset representatives is obtained by combining with the base code. The octal code has the following characteristics. ・ The minimum Hamming distance of the cord is 2m-2And the minimum Lee distance is 2m-1It is. A multi-carrier signal modulated according to these code words has a P No MEPR. The Hamming distance-based decoder used for such codes Can be operated using analysis techniques, such as at least partially combinatorial logic. Can be implemented. Code words available to achieve acceptable data rate . In general, this procedure is at least m! .4 when m => 4m-3Dissimilar remainders Identify extra representative values. This procedure for various codeword lengths (as far as the parameter m is concerned) The number of cosets and the total number of code words given by .m Coset Code words 3 37 151552 4 661 21659648 5 14472 3793747968 6 360600 756233011200 7> = 1290240> 2.16x1013 As with the quaternion, the word length of 16 or more (m => 4) symbols is Large subsets of these cosets can be identified without checking for similarity. Wear. This is the coefficient v1And vm-1Are fixed at 1 and 3, and the other coefficients are Achieved by allowing any value up to three. This procedure Exactly m! .4 by jam-3A number of dissimilar coset representatives is obtained. Length 2 when m> = 3mFor the octal code word of1, VTwo, ... vm-1But Allow any number from 0 to 7 and modify the format of the initial set of expressions as follows: Further corrections are possible by correction. 4 (X1* XTwo) (+) 4 (XTwo* XThree) (+) ... (+) 4 (Xm-2* Xm-1) (+) V1(X1* Xm) (+) VTwo(XTwo* Xm) (+) ... (+) vm-1(Xm-1* Xm) This initial set then contains the row identifier X in each expression1, XTwo, XThree... XmSubscription of It is extended by applying all possible permutations of the put. The final set is Identifies dissimilar expressions within the expanded set, as in the binary case above Created by doing. (As far as parameter m is concerned) The number of cosets and code words given by this procedure for The total number of codes is as follows.m Coset Code words 3 169 692224 4 5917 193888256 5 243912 63940067328 6> 5.52x106 > 1.15x1013 7> 3.09x108 > 5.19x1015 In this case, there are even more cosets, and thus potentially higher data rates. Available. What are the coset representatives identified by this correction technique and 4 The code word generated by the combination of the radix base codes also exceeds 6 dB. No PMEPR, but Lee minimum distance is 2m-2To decrease. In addition, after creating a permutation of row identifier subscripts, make sure that dissimilar expressions Another modification procedure is provided that generates an extension set. This professional The sheather has a coefficient v1And vm-1Values to an ordered value pair as shown below. Set. That is, v1, vm-1Values are 1,2; 1,3; 1,5; 1,6,1,7,2,3; 2,5,2,6; 2,7; 3, 5,3,6,3,7; 5,6; 5,7,6,7; Other coefficients have any value from 0 to 7 be able to. With this approach, if m> = 4, at least 15.m! .8m-3 Are obtained. Identify the cosets that define the code words that generate PMEPRs that do not exceed 6 dB. These other techniques can be extended to higher order codes. Generalize further Then a large set of cosets would have 2jWith possible values of (m> = 3) 2mSymbol Identifiable to the code containing the file, where PMEPR is 1 = <p = <m-2 At most 2 for any fixed integer pP + 1Is guaranteed. That is, the coefficient The p sets are defined as follows: (V1,1, V1,2, ... v1, mp) (V2,1, V2,2, ... v2, mp) ... (Vp, 1, Vp, 2, ... vp, mp) However, each coefficient is from 0 to 2jIt has an integer up to -1. 1 = <i <j = <p, each of which is 0 2jAn additional p (p-1) / 2 coefficients with integers up to -1 are defined. Coefficient Vij, O And WijFor the initial selection of, an expression of the form Twoj-1(X1* XTwo) (+) 2j-1(XTwo* XThree) (+) ... (+) 2j-1(Xmp-1* Xmp) (+) V1,1(X1* Xm-p + 1) (+) V1,2(XTwo* Xm-p + 1) (+) ... (+) v1, mp(Xm-p * Xm-p + 1) (+) V2,1(X1* Xm-p + 2) (+) V2,2(X2 * Xm-p + 2) (+) ... (+) v2, mp(Xm -p * Xm-p + 2) ... (+) Vp, 1(X1* Xm) (+) Vp, 2(XTwo* Xm) (+) ... (+) vp, mp(Xmp* Xm) (+) W1,2(Xm-P + 1* Xm-P + 2) (+) W1,3(Xm-p + 1* Xm-p + 3) (+) W2,3(Xm-p + 2* Xm-p + 3) (+) W1,4(Xm-P + 1* Xm-P + 4) (+) W2,4(Xm-P + 2* Xm-P + 4) (+) W3,4(Xm-P + 3* Xm-p + 4) ... (+) W1, p(Xm-p + 1* Xm) (+) W2, p(Xm-p + 2* Xm) (+) ... (+) wp-1, p(Xm-1* Xm) However, the sign (+) is symbol unit addition modulo 2.jIs shown. A further expression of this form is Coefficient vijAnd wijBuilt on the remaining possible combinations of the choice of 2jp (mp) + jp (p-1) / 2 An initial set of expressions is obtained. This initial set is And row identifier X1, XTwo, XThree, ... XmApply all possible permutations of subscripts in Extended by doing. The end of the expression that defines the required set of coset representatives The set recognizes other dissimilar expressions without the extended set as described above for binary numbers. Generated by another. Any remainder identified by this procedure Extra value and 2jCode generated by combining the following base codes ・ The word sets are both 2m-2Minimum minimum distance and minimum hamming distance One. Coefficient VijAnd WijAre further modified to be limited to have the above range values It is also possible to add. In this case, fewer cosets are identified, but as a result The resulting code is 2m-1With a minimum Lee distance. Data transmission rate, PMEPR, and error detection / correction capability using methods other than those described above. A compromise between the two. For example, as described above, 11 data bits Instead of using 32-bit code words for concatenating, derive from Table 3. Contiguous as a 16-bit code word using the 8B / 16B code issued Encode an 8-bit block and then concatenate such codeword pairs To generate a hybrid 32-bit word for transmission. like this The concatenated code has the following characteristics compared to the direct use of the 11B / 32B code. One. Better data transfer rates (16 data represented by 32 bits transmitted) Data bits). PMEPR is at worst 4 (= 6 dB), and the component code word Twice the maximum PMEPR for As described above, the connection method requires an excellent data transmission rate, and is not necessarily required. It may not be optimal but can be useful in situations where PMEPR is controlled. Wear. When decoding the concatenated code, the code word is first divided into two consecutive 1s It is split into 6-bit code words and then the 16B / 8B decoder 120 or 1 40, each of which is individually processed to retrieve an 8-bit data word. You. Short code lengths other than by concatenating pairs of code words for transmission It is possible to combine words into longer hybrid code words for transmission. An example For example, to concatenate four code words and decode the received hybrid code word A method of dividing into four parts is also possible. As an alternative, individual The bits or symbols of the components of the short codeword one by one or Interleaving can also be done in pairs or quadruplets. Configure mixed code words The resulting code words need not be members of the same coset. Constituent features Make the choice of coset representative value for a given codeword span multiple values You can also. In this case, for example, a form similar to the function of the selector of the decoder 60 in FIG. By defining one or more additional bits of the data word in the form The identity of the coset to which each of the selected constituent codewords belongs Can be used for transmission. Hybrid transmission codewords created by such concatenation or interleaving Mode is not derived from a generator matrix with the same length of rows as described above (example It is derived from a generator matrix with, for example, half) rows. However, that The code that is actually composed of such hybrid code words is Code with one row of generator matrices of the same length as An embodiment in which selection is made from a set is also possible. Another modification is to use a 16-bit code word and a 32-bit code word. Selecting words for transmission, each selected from a code derived respectively as described above It is also possible to concatenate them into a hybrid 48-bit word. Furthermore, this 4 By concatenating the additional 16 zero bits into the 8-bit word, the transmission IFFT It is also possible to generate 64-bit words for processing in a manner. With 16 pieces The 0 bits provide the best choice of a power of two with respect to the number of samples on receipt. Enables the use of oversampling. Another possibility is that each has 16 bits The three 48-bit code words selected from the code of Generate a bit code word. Note that binary, quaternary and octal numbers of the given length as described above Are derived from a single common generator matrix. Real Such generator matrices are used to derive similar higher-order codes be able to. Change the code order used according to the general characteristics of the communication path These characteristics are valuable in implementing an adaptive system. in this way, Use a higher order code, such as octal, when a high quality path is in use A high data transmission rate can be obtained. Bad route quality and increased error rate In addition, it is possible to switch to using lower order codes such as quaternary or binary numbers. There are advantages that can be done. This is a complete duplicate of the circuit for each different order code Can be achieved with the present invention without the need to use. Ma Similar circuits incorporating or based on a common generator matrix For example, a switchable parameter corresponding to the value in the additional row of the generator array for each code It can also be used with a meter. Selecting appropriate values for those parameters Depending on the choice, the same basic circuit can be used to generate the required specific order code, Can be used. Coset representatives derived as described above provide particularly advantageous properties. In the most general case, coset representatives shift their values in a systematic way Symbol unit addition modulo 2jCombined with code words by Can be any value. The code word in the code defined as above also It has properties useful for establishing timing synchronization with the received signal. Obedience Therefore, the above-described circuit for decoding these codes is also synchronized with the received data. Can be used to identify a sequence. These codes are It is observed that it has advantageous properties for communication with technologies other than FDM. For example, the codes are related to code division multiple access (or CDMA) technology. For modem transmission of digital data as a card or on an analog communication path Can be used as code.
───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 9625710.0 (32)優先日 平成8年12月11日(1996.12.11) (33)優先権主張国 イギリス(GB) (31)優先権主張番号 9715721.8 (32)優先日 平成9年7月26日(1997.7.26) (33)優先権主張国 イギリス(GB) (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),JP,US────────────────────────────────────────────────── ─── Continuation of front page (31) Priority claim number 9625710.0 (32) Priority date December 11, 1996 (December 11, 1996) (33) Priority claim country United Kingdom (GB) (31) Priority claim number 97157721.8 (32) Priority date July 26, 1997 (July 26, 1997) (33) Priority claim country United Kingdom (GB) (81) Designated countries EP (AT, BE, CH, DE, DK, ES, FI, FR, GB, GR, IE, IT, L U, MC, NL, PT, SE), JP, US
Claims (1)
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP96306607 | 1996-09-10 | ||
GBGB9623940.5A GB9623940D0 (en) | 1996-11-15 | 1996-11-15 | Methods and apparatus for encoding and decoding data |
GBGB9625710.0A GB9625710D0 (en) | 1996-12-11 | 1996-12-11 | Methods and apparatus for encoding and decoding data |
GB9623940.5 | 1997-07-26 | ||
GB9625710.0 | 1997-07-26 | ||
GB96306607.1 | 1997-07-26 | ||
GB9715721.8 | 1997-07-26 | ||
GBGB9715721.8A GB9715721D0 (en) | 1997-07-26 | 1997-07-26 | Methods and apparatus for decoding data |
PCT/GB1997/002464 WO1998011698A1 (en) | 1996-09-10 | 1997-09-10 | Methods and apparatus for encoding and decoding data |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000516072A true JP2000516072A (en) | 2000-11-28 |
JP2000516072A5 JP2000516072A5 (en) | 2005-01-13 |
Family
ID=27443355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10513383A Ceased JP2000516072A (en) | 1996-09-10 | 1997-09-10 | Method and apparatus for encoding and decoding data |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0860072A1 (en) |
JP (1) | JP2000516072A (en) |
WO (1) | WO1998011698A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002063818A1 (en) * | 2001-02-06 | 2002-08-15 | Mitsubishi Denki Kabushiki Kaisha | Error correcting/decoding method |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0924910A1 (en) * | 1997-12-17 | 1999-06-23 | Hewlett-Packard Company | Method and apparatus for decoding COFDM-data |
GB2339514A (en) | 1998-07-11 | 2000-01-26 | Motorola Ltd | Cellular communication system with reduced power variation |
KR100480765B1 (en) * | 1999-03-26 | 2005-04-06 | 삼성전자주식회사 | OFDM transmission/receiving system and block encoding method therefor |
JP3923743B2 (en) * | 2000-03-29 | 2007-06-06 | 株式会社東芝 | Decoding device and decoding method |
US7292620B2 (en) * | 2002-12-31 | 2007-11-06 | Intel Corporation | Method and apparatus to generate a clock-based transmission |
-
1997
- 1997-09-10 WO PCT/GB1997/002464 patent/WO1998011698A1/en not_active Application Discontinuation
- 1997-09-10 JP JP10513383A patent/JP2000516072A/en not_active Ceased
- 1997-09-10 EP EP97919138A patent/EP0860072A1/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002063818A1 (en) * | 2001-02-06 | 2002-08-15 | Mitsubishi Denki Kabushiki Kaisha | Error correcting/decoding method |
Also Published As
Publication number | Publication date |
---|---|
EP0860072A1 (en) | 1998-08-26 |
WO1998011698A1 (en) | 1998-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6373859B1 (en) | Methods and apparatus for encoding and decoding data | |
JP3883300B2 (en) | How to encode data | |
RU2249918C1 (en) | Method and device for digital communication | |
Davis et al. | Peak-to-mean power control in OFDM, Golay complementary sequences, and Reed-Muller codes | |
JP3886536B2 (en) | Multi-carrier communication system and peak power control method | |
RoBing et al. | A construction of OFDM 16-QAM sequences having low peak powers | |
JP3970333B2 (en) | Map device for high data rate signals | |
US6487258B1 (en) | Methods and apparatus for decoding data | |
JP4669026B2 (en) | Digital signal transmission by orthogonal frequency division multiplexing | |
KR100480765B1 (en) | OFDM transmission/receiving system and block encoding method therefor | |
JPH0834443B2 (en) | Trellis coding method and apparatus for fractional bit rate | |
US4457004A (en) | Multidimensional channel coding | |
Chen et al. | PAPR reduction of OFDM signals using partial transmit sequences and Reed-Muller codes | |
JP3878175B2 (en) | Sequence search method with minimum PAPR in OFDM communication system | |
JP2000516072A (en) | Method and apparatus for encoding and decoding data | |
US7130354B1 (en) | Method and apparatus for improving error control properties for encoding and decoding data | |
EP0902574A2 (en) | Method for encoding data in COFDM systems | |
JPH10224235A (en) | Trellis coding method for co-channel interference | |
EP0924910A1 (en) | Method and apparatus for decoding COFDM-data | |
Jeong et al. | Performance improvement techniques for CCK-OFDM WLAN modem | |
KR100660992B1 (en) | Transceiving apparatus in OFDM system and method thereof | |
US20090238302A1 (en) | Method and apparatus for signal coding | |
KR100615629B1 (en) | Method and device for optimally and sub-optimally demodulating constant-amplitude multi-code biorthogonal modulation signals using block orthogonal extended transorthogonal codes | |
Adzhemov et al. | Features of Bijection of Spaces in Signal-Code Constructions | |
Schmidt et al. | New codes for OFDM with low PMEPR |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040413 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040413 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060905 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061204 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070417 |
|
A045 | Written measure of dismissal of application [lapsed due to lack of payment] |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20070821 |