(57)【特許請求の範囲】
【請求項１】
所定複数のレベルから選択された１つの値をそれぞれ有する複数のマルチレベルシンボルとして複数ビットデータワードを符号化する方法において、
前記データワードのそれぞれの選択されたビット位置を前記レベルのうちの１つに変換する第１変換ステップと、
所定のデータワードビットの内容が所定値であるときに、それぞれの選択されたデータワードビット位置を前記レベルのうちの１つに変換する第２変換ステップと、
前記データワードの所定ビット位置から複数ビットオフセットワードを生成するステップと、
前記オフセットワードを、変換されたレベルに加算することにより、マルチレベルシンボルを生成するステップとを有することを特徴とする、複数ビットデータワードを符号化する方法。
【請求項２】
前記マルチレベルシンボルには、第１、第２、第３、第４および第５符号レベルを有する５レベル符号が割り当てられ、
前記第１変換ステップは、第１所定ビット値を第３符号レベルに変換し、第２所定ビット値を第２符号レベルに変換するステップを含むことを特徴とする請求項１記載の方法。
【請求項３】
前記データワードはビットＳｄ［８：０］からなり、前記オフセットワードはビットＶ０、Ｖ１、Ｖ２およびＶ３からなり、
∧はＸＯＲ演算であるとして、前記オフセットワード生成ステップは、前記所定のデータワードビットの内容が前記所定値であるときに、式
Ｖ０＝Ｓｄ［４］
Ｖ１＝Ｓｄ［４］∧Ｓｄ［６］
Ｖ２＝Ｓｄ［４］∧Ｓｄ［６］∧Ｓｄ［７］
Ｖ３＝Ｓｄ［４］∧Ｓｄ［７］∧Ｓｄ［８］
に従ってビットＶ０、Ｖ１、Ｖ２およびＶ３を生成するステップを含むことを特徴とする請求項２記載の方法。
【請求項４】
前記データワードはビットＳｄ［８：０］からなり、前記オフセットワードはビットＶ０、Ｖ１、Ｖ２およびＶ３からなり、
∧はＸＯＲ演算であり、Ｉ４にはテーブル
0003637289.tif 000014
により二進数値が割り当てられるとして、前記オフセットワード生成ステップは、前記所定のデータワードビットの内容が前記所定値であるときに、式
Ｖ０＝Ｉ４
Ｖ１＝Ｉ４∧Ｓｄ［６］
Ｖ２＝Ｉ４∧Ｓｄ［６］∧Ｓｄ［７］
Ｖ３＝Ｉ４∧Ｓｄ［７］∧Ｓｄ［８］
に従ってビットＶ０、Ｖ１、Ｖ２およびＶ３を生成するステップを含むことを特徴とする請求項２記載の方法。
【請求項５】
それぞれのマルチレベルシンボルは、４個の信号線のうちの所定の信号線上に符号化され、
前記第２変換ステップは、前記所定のデータワードビットの内容が前記所定値であるときに、
前記データワードの所定ビット位置により選択される信号線に第５符号値を加算するステップと、
第４信号線上のシンボルを捨てるステップと、
第５符号値が加算されていない信号線上のシンボルから、残りの３つの信号線上のシンボルを選択するステップとを含むことを特徴とする請求項２記載の方法。
【請求項６】
符号レベルが２の補数として扱われ、それぞれのマルチレベルシンボルは４個の信号線のうちの所定の信号線上に符号化され、
前記オフセットワード加算ステップは、それぞれの信号線上の符号レベルにオフセットワードビットを２の補数加算するステップを含むことを特徴とする請求項３記載の方法。
【請求項７】
複数ビットデータワードとして複数のマルチレベルシンボルを復号する方法において、
各シンボルは５レベル符号から選択される値を有し、それぞれの符号レベルは２の補数として扱われ、
２の補数表現のそれぞれの選択されたビット位置を、前記データワードの所定ビット位置に変換するステップと、
シンボルの２の補数表現の所定ビット位置の内容が所定値であるときに、前記データワードの所定ビット位置を選択された値に設定するステップと、
各シンボルの２の補数表現の所定ビット位置から複数ビットオフセットワードを生成するステップと、
シンボルの２の補数表現の前記所定ビット位置の内容が前記所定値であるかどうかに依存して、前記オフセットワードから前記データワードの所定ビット位置を選択された値に生成するステップとを有する、複数のマルチレベルシンボルを復号する方法。
【請求項８】
前記５レベル符号は、第１、第２、第３、第４および第５符号レベルを有し、前記シンボルの２の補数表現の所定ビット位置の内容は第５レベルであり、それぞれのマルチレベルシンボルは４個の信号線のうちの所定の信号線上に符号化され、４個のマルチレベルシンボルの２の補数表現は、ビットＡ［２：０］、Ｂ［２：０］、Ｃ［２：０］およびＤ［２：０］からなり、前記データワードはビットＳｄ［８：０］からなり、前記変換ステップは、
Ａ［２］＝Ｓｄ［０］
Ｂ［２］＝Ｓｄ［１］
Ｃ［２］＝Ｓｄ［２］
Ｄ［２］＝Ｓｄ［３］
とするステップを含むことを特徴とする請求項７記載の方法。
【請求項９】
前記オフセットワードはビットＶ０、Ｖ１、Ｖ２およびＶ３からなり、
前記オフセットワード生成ステップは、
Ｖ０＝Ａ［０］
Ｖ１＝Ｂ［０］
Ｖ２＝Ｃ［０］
Ｖ３＝Ｄ［０］
とするステップを含み、
∧はＸＯＲ演算であるとして、前記データワードの所定ビット位置を選択された値に設定するステップは、
Ｓｄ［６］＝Ｖ０∧Ｖ１
Ｓｄ［７］＝Ｖ１∧Ｖ２
Ｓｄ［８］＝Ｖ０∧Ｖ１∧Ｖ２∧Ｖ３
とするステップを含むことを特徴とする請求項８記載の方法。
【請求項１０】
前記２の補数の所定ビット位置の内容が第５符号レベルを表すとき、前記データワードの所定ビット位置を選択された値に設定するステップは、
Ａ［２：０］＝第５符号レベルである場合、Ｓｄ［５：３］＝１００とし、
Ｂ［２：０］＝第５符号レベルである場合、Ｓｄ［５：３］＝１１０とし、
Ｃ［２：０］＝第５符号レベルである場合、Ｓｄ［５：３］＝１０１とし、
Ｄ［２：０］＝第５符号レベルである場合、Ｓｄ［５：３］＝１１１とするステップを含み、
Ａ［２：０］、Ｂ［２：０］、Ｃ［２：０］、Ｄ［２：０］のいずれが第５符号レベルであるかに依存して、Ｓｄ［０：２］はＳｄ［０：３］の圧縮ビットから選択されることを特徴とする請求項９記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、誤り訂正符号化に関し、特に、高速データチャネルでの誤り訂正に適した２元データからシンボルへのトレリス符号器／復号器コンステレーションマッピングおよび逆マッピングに関する。
【０００２】
【従来の技術】
加法性白色ガウス雑音（ＡＷＧＮ）の効果と、レイリーフェージングなどのチャネル障害の効果とを最小にするため、特に、非常に高いレベルの変調方式を用いる際には、データの正確な伝送および検出を行う目的で、１つまたは複数の誤り符号化技術が用いられる。
【０００３】
トレリス符号化変調は、当業者に周知の前方誤り訂正符号化技術である。トレリス符号は、特定の変調方式に従って設計され最適化された畳込み符号である。畳込み符号器は、現在の入力シンボルと、符号器の状態とに基づいて、情報シンボルを符号化する。符号器の現在の状態は、前に符号器に入力されたシンボルによって決定される。すなわち、符号化されるシンボルは、現在の入力シンボルと、現在の入力シンボルの前に符号器に入力されたシンボルとの関数である。このように、畳込み符号器は記憶を有する。
【０００４】
畳込み符号器は通常、シフトレジスタと加算器によって実現される。符号器の次状態および出力は、レジスタあるいはルックアップテーブルの現在の状態（すなわち、レジスタあるいはルックアップテーブルのメモリ内に現在記憶されているビットの値）と、レジスタあるいはルックアップテーブルへの入力との関数である。
【０００５】
図１Ａと、それに関連する図１Ｂのテーブル２３０とは、シフトレジスタと、対応する状態テーブルとによって実現される畳込み符号器２００の実現例を示す。符号器２００は、ここでは単に、畳込み符号器の動作および実現を説明するために示されており、本発明により用いられるトレリス符号器の実現として解釈されるべきではない。符号器２００は、シフトレジスタメモリユニット２０５、２１０、２１５と、加算器２２０、２２５とを有する。１ビットの入力が、２ビットの出力に符号化され、レート１／２符号化を実現する。
【０００６】
初期状態が０００であり（すなわち、レジスタユニット２０５、２１０、２１５はそれぞれビット値０、０、０を含む）、入力値が０であると仮定すると、符号器２００の次状態は０００となる（ビット値０がシフト入力される一方、値０がシフト出力される）。その結果、出力における２ビットの値は００となる。これは、図１Ｂの状態テーブル２３０の第１行に示されている。なお、現状態および次状態の列は２ビット値を示しているだけである。その理由は、最終状態ビットは常にシフト出力され、次状態を決定する際には重要ではないからである。このように、状態から状態へと移動するとき、符号器２００は、それぞれ２ビット値の、４個の可能な現状態と４個の次状態とを有するとみなされる。もう１つの例として、符号器２００の現状態が１０である（すなわち、最初の２個のレジスタが１、０を含む）と仮定する。１が入力されると符号器２００は次状態１１（すなわち、最初の２個のレジスタが１、１を含む）に移動し、出力０１（十進法で１）を生成する。このプロセスは、引き続く各ビットが符号器２００に入力されるごとに繰り返され、符号器２００の可能な状態遷移と、それらの遷移に対応する入出力値とを示す状態図が構成される。
【０００７】
図２は、図１の符号器２００の可能な状態遷移を、それらの可能な遷移に対応する入出力値とともに示す状態遷移図である。状態遷移図は形がトレリス（格子）に似ているため、このような図をしばしば「トレリス図」といい、「トレリス符号化」という名称はそれに由来する。図２のトレリス図上の各ドットは、符号器２００の１つの状態を表す。同じ横方向の行にあるドットは、異なる時刻における同じ状態に対応する。同じ縦方向の列にあるドットは、同時刻（すなわち、同じシンボルの継続時間内）の異なる状態を表す。ドット間の枝（ブランチ）は、可能な状態遷移パスを表す。したがって、例えば、状態０１と状態００の間にブランチがあることは、適当な入力が与えられると、符号器２００は状態０１から状態００に進むことができることを示す。状態０１と１１の間にはブランチがなく、状態０１と０１の間にもブランチがないため、符号器２００は、１シンボル期間内に、状態０１から、状態１１または０１のいずれかに移ることはできない。
【０００８】
図２の各ブランチに付した数字の対は、与えられたブランチに対応する［入力，出力］の値を示す。１番目の数字は、その遷移を引き起こす入力を表し、２番目の数字は、この遷移の結果の出力値を表す。
【０００９】
図２のトレリス図からわかるように、符号器２００に対する可能な状態遷移は、引き続く各シンボルに対して同一である。したがって、各シンボル期間について、同じパターンが繰り返される。
【００１０】
一例として、符号器２００が、図２のドット３００で表される状態０（二進数００）から開始すると仮定する。入力値１が符号器２００に入力されると、符号器２００は、状態０から、パス３１０を通って、ドット３２０で表される状態２（二進数１０）に移る。この遷移が完了すると、符号器２００は、値３（二進数１１）を出力する。入力に入る次のビットの値が０である場合、符号器２００は、状態２から、パス３３０を通って、ドット３４０で表される状態１に遷移し、符号器２００の出力は値２をとる。最後に、入力ビット０が入ると、符号器２００は、状態１から、パス３５０を通って、ドット３６０で表される状態０に遷移する。０が入力されて、符号器２００は値３を出力する。こうして、以上の例では、入力ビット１−０−１が、符号器２００により、出力ビット１１−１０−１１（あるいは、十進数では３−２−３）に符号化される。同時に、符号器２００は、状態０から状態２、状態１、そして再び状態０へと遷移している。
【００１１】
以下でさらに説明するように、畳込み符号化（およびビタビ復号）は、受信機において検出される誤りの数を低減する。再び、図２のトレリス図を考える。例えば、３ビットのデータストリーム１−０−０が、上記のように、符号器２００によって正しく１１−１０−１１と符号化されたと仮定する。また、受信機は、送信された信号を、誤って、１１−１１−１１と検出したとする。もとの送信データが何であるかを決定するために、復号器は、符号器２００がたどった可能性のある状態遷移パスに基づいて最尤判定を実行する。符号器は通常、初期化時に状態０に設定されるため、復号器は、検出したデータビット系列が状態０から開始したと仮定する。次に、復号器は、状態０から始まり、（例えば、ここでの説明のため）図２に示した３シンボル後の状態で終わるすべてのパスを調べる。状態０が終点（点３６０）の場合、符号器がたどった可能性のある２つのパスがある。すなわち、パス３１０，３３０，３５０か、パス３７０，３８０，３９０かである。もちろん、検出されたビット系列がこれらの可能なパスをたどった尤度を求めるために、他のすべての３シンボル期間のパスも調べられるが、説明を簡単にするため、状態０から状態０へのパスのみをここでは考える。
【００１２】
最尤パスを識別するために、復号器は、検出されたデータ系列が第１のパス（例えば、パス３１０，３３０，３５０）によって生成された確率、検出されたデータ系列が第２のパス（例えば、パス３７０，３８０，３９０）によって生成された確率、以下同様にして、それぞれの可能なパスについての確率が計算されるまで、これらの確率を求める。その後、最大確率のパスを、以下でさらに詳細に説明する硬判定法または軟判定法のいずれかにより、実際のパスとして選択する。
【００１３】
一般に、トレリス復号方式は、検出された信号と、可能なトレリスパスにより生成される信号との間のハミング距離またはユークリッド距離のいずれかに基づいて、パス確率を計算する。本発明によれば、以下でさらに詳細に説明するように、パス確率の測度としてユークリッド距離を用いる。しかし、可能なトレリスパスの確率を求める方法をより明確に理解することができるように、ハミング距離についても簡単に説明する。
【００１４】
ハミング距離は、２つの２元（二進数）系列が相違するビット数として定義される。例えば、２元ワード１１０と１０１の間のハミング距離は２であり、２元ワード１１１と０１１の間のハミング距離は１であり、などとなる。可能なパスのハミング距離評価に基づいて、与えられたパスが検出データ系列を生成した確率を次のように求めることができる。上記のように、検出データ系列は１１−１１−１１（正しいデータ系列は１１−１０−１１）であり、可能なパスはパス３１０，３３０，３５０および３７０，３８０，３９０であると仮定すると、検出信号１１−１１−１１とパス３１０，３３０，３５０の間のハミング距離は１である。すなわち、パス３１０は出力３（１１）を生成し、パス３３０は出力２（１０）を生成し、パス３５０は出力３（１１）を生成しているため、パス３１０，３３０，３５０により生成される２元系列は１１−１０−１１である。この系列は、検出系列１１−１１−１１とは、ハミング距離１だけ相違する。検出信号１１−１１−１１と、パス３７０，３８０，３９０により生成される信号との間のハミング距離は６である。その理由は、パス３７０，３８０，３９０による出力２元系列は００−００−００となるからである。こうして、検出系列１１−１１−１１がパス３１０，３３０，３５０により生成された可能性のほうが、パス３７０，３８０，３９０により生成された可能性よりずっと高い。したがって、入力ビット系列は１−０−０であった可能性が高い。
【００１５】
与えられたパスがある２元系列を生成した確率のもう１つの測度は、ユークリッド距離に基づくものである。ユークリッド距離は、信号コンステレーション上の２点間の直線の長さである。一般に、ユークリッド距離に基づく確率測度は、ハミング距離に基づく確率測度よりも高い精度を示す。この理由は、ユークリッド距離に基づく確率測度は、ハミング距離を確率測度として用いる場合に捨てられる受信信号の位相および振幅の情報を考慮に入れているからである。
【００１６】
例えば、図３Ａ〜図３Ｄに、原点から等距離にある定義された４個の点４００、４１０、４２０、４３０を有する簡単な４−ＰＳＫ変調信号コンステレーションを示す。これらの点はそれぞれ、出力値００、０１、１０、および１１に対応する。受信データシンボル系列が、図３Ａ〜図３Ｃのベクトルｒ１〜ｒ３で表される位相および振幅の値を有するものとして検出されたと仮定する。通常のハミング復号方式を用いると、ベクトルｒ１〜ｒ３はそれぞれ、単にデータ点００、１０、および００として近似されるため、実際に検出された信号系列に関する貴重な位相および振幅の情報が失われてしまう。しかし、ユークリッド方式によれば、受信信号の位相および振幅は、パス確率の決定に加味される。
【００１７】
図３Ｄに示すように、検出信号が破線４５０で表されるトレリスパスによって生成された確率は、ユークリッド距離ｄ０１、ｄ０２、およびｄ０３（図３Ａ〜図３Ｃに示す）の２乗和の減少関数であり、一方、検出信号が破点線４７０で表されるトレリスパスによって生成された確率は、ユークリッド距離ｄ３１、ｄ２２、およびｄ３３の２乗和の関数である。与えられたパスのユークリッド距離の２乗和が大きいほど、そのパスが検出信号系列を生成したパスである可能性は低くなる。このようにして、送信データ系列の推定の精度を高くすることができる。
【００１８】
もちろん、理解されるべき点であるが、信号コンステレーション内の点の数（すなわち、可能な出力値の数）と、トレリス符号器の状態数とが増大すると、可能なトレリスパスの数も同様に増大する。したがって、例えば、１６点コンステレーションで動作するレート３／４トレリス符号器では、トレリス状態遷移図上の各状態（１点で表される）を出入りする可能なブランチは８個となる。このようなシステムでは、ある状態点に入る各パスに関する確率を求める。これらの確率を比較した後、最大確率のパスを決定し、そのパスにおける対応するデータビットが、復号系列として選択される。
【００１９】
与えられたパスの選択は、ブロック判定法またはシンボルごとの判定法により行われる。ブロック判定の場合、ある１つのセットを形成する所定数の受信シンボル（例えば、１，０００シンボル）が復号器に供給される。すると、復号器は、最初の信号から開始して、１，０００シンボルのセット全体について、関連するメトリックとパス履歴とを有するトレリスを作成する。そして、最も確率の高いトレリス遷移パスを、検出シンボルを生成したパスとして選択する。その後、このパスを生成したデータ入力が、復号データ系列として決定される。訂正されない誤りがなければ、このデータ系列は、通信システムの送信機側で符号器に供給されたデータ系列に対応するはずである。その後、プロセスは、次のシンボルブロックについて次々と繰り返される。
【００２０】
シンボルごとの判定の場合、所定数の受信信号が復号器に供給される。例えば、２５個の信号が復号器に供給されると仮定する。２５番目のシンボルが入力されると、トレリス復号器は、どのパスの確率が最大であるかを決定する。その後、最大確率のパスの最初のブランチを生成した入力シンボルが、復号器の出力として選択される。その後、次の（例えば、２６番目の）受信信号が復号器に供給され、最後の２５個のシンボル（すなわち、最初のシンボルを除く）について、最大確率パスを決定する。そして、最大確率パス（すなわち、最後に検出された２５個のシンボルに対するパス）の最初のブランチが、復号器の次の出力として選択される。この手続きは、一度にデータブロック全体ではなく、一度に１シンボルだけが復号され出力されるように、リアルタイムでシンボルごとに実行される。
【００２１】
Gottfried Ungerboeckは、次の論文で、畳込み符号の誤り性能は、同じ状態を出入りするトレリスパス間のユークリッド距離を最大化するように設計した場合に改善される可能性があると論じている。
Gottfried Ungerboeck, "Channel Coding with Multilevel/Phase Signals", IEEE Trans. Info. Thy., Vol.IT-28, No.1, January 1982これは、誤り符号化と変調の動作が本質的に組み合わされるように、与えられた変調方式の信号コンステレーションに合わせて畳込み符号化方式を調整することにより実現される。
【００２２】
簡単な例として、図４に示す４−ＰＳＫ信号コンステレーションを考える。送信機側のトレリス符号器の可能な出力は、互いに９０°の位相差で位相シフトされた４個の点として表されている。任意のトレリス符号化方式において、信号コンステレーションで表される可能な出力値が、トレリス復号器の状態とともに考慮される。精度の高い復号ができるように、符号化された信号間の差を最大にするため、同じ状態との間の遷移が（ユークリッド距離に関して）出力値において大きく異なることを保証すると有効である。例えば、図２のトレリス図（これは、例えば、図４の４−ＰＳＫ信号コンステレーションの状態遷移を記述することが可能である）は、同じ状態点３００から出るブランチ３７０、３１０を有する。状態遷移ブランチ３１０の出力値は３であり、状態遷移ブランチ３７０の出力値が０であることに注意する。Ungerboeckの教示に従って、これらの２つの出力値は、最大ユークリッド距離だけ異なっている（すなわち、図４に示されるように、ユークリッド距離はΔ＝２である）。同様にして、同じ出力値を生じる状態遷移には、２つの異なる状態間の遷移が割り当てられる。例えば、出力値が３となる遷移パス３１０は、状態００から状態１０に進むが、同じく出力値が３となる遷移パス３９５は、状態０１から状態００に進む。このように、Ungerboeck法は、符号化されたデータ信号間の良好な弁別を保証する。
【００２３】
【発明が解決しようとする課題】
Ungerboeckの教示によるトレリス符号化の最もふつうの方法は、セット分割法(set partitioning)であり、その簡単な例は図４に示したものである。もとの４−ＰＳＫ信号を、トレリス符号器の状態に基づいて、直径で対向する２−ＰＳＫ信号の２つのセットに分割することにより、同じ状態を出入りする出力間で最大ユークリッド距離を維持することができる。このようなセット分割図を、通常、トレリス符号化ツリーという。
【００２４】
【課題を解決するための手段】
本発明は、所定複数のレベルから選択された１つの値をそれぞれ有する複数のマルチレベルシンボルとして複数ビットデータワードを符号化する方法を提供する。この方法は、データワードのそれぞれの選択されたビット位置を１つのレベルに変換する第１変換ステップと、所定のデータワードビットの内容が所定値であるときに、それぞれの選択されたデータワードビット位置を１つのレベルに変換する第２変換ステップと、データワードの所定ビット位置から複数ビットオフセットワードを生成するステップと、オフセットワードを変換されたレベルに加算することによりマルチレベルシンボルを生成するステップとを有する。
【００２５】
本発明により提供される符号化方法のもう１つの特徴によれば、マルチレベルシンボルには、第１、第２、第３、第４および第５符号レベルを有する５レベル符号が割り当てられる。第１変換ステップは、第１所定ビット値を第３符号レベルに変換し、第２所定ビット値を第２符号レベルに変換するステップを含む。データワードがビットＳｄ［８：０］からなる符号化方法の場合、オフセットワードはビットＶ０、Ｖ１、Ｖ２およびＶ３からなり、オフセットワード生成ステップは、所定のデータワードビットの内容が所定値であるときに、次式に従ってビットＶ０、Ｖ１、Ｖ２およびＶ３を生成するステップを含む。
Ｖ０＝Ｓｄ［４］
Ｖ１＝Ｓｄ［４］∧Ｓｄ［６］
Ｖ２＝Ｓｄ［４］∧Ｓｄ［６］∧Ｓｄ［７］
Ｖ３＝Ｓｄ［４］∧Ｓｄ［７］∧Ｓｄ［８］
ただし、∧はＸＯＲ演算である。
【００２６】
本発明の符号化方法によれば、さらに、データワードがビットＳｄ［８：０］からなり、オフセットワードがビットＶ０、Ｖ１、Ｖ２およびＶ３からなり、オフセットワード生成ステップは、所定のデータワードビットの内容が所定値であるときに、次式に従ってビットＶ０、Ｖ１、Ｖ２およびＶ３を生成するステップを含む。
Ｖ０＝Ｉ４
Ｖ１＝Ｉ４∧Ｓｄ［６］
Ｖ２＝Ｉ４∧Ｓｄ［６］∧Ｓｄ［７］
Ｖ３＝Ｉ４∧Ｓｄ［７］∧Ｓｄ［８］
ただし、Ｉ４には、次のテーブルにより二進数値が割り当てられる。
0003637289.tif 000002
ただし、∧はＸＯＲ演算である。
【００２７】
本発明の符号化方法のもう１つの特徴によれば、それぞれのマルチレベルシンボルは、４個の信号線のうちの所定の信号線上に符号化され、第２変換ステップは、所定のデータワードビットの内容が前記所定値であるときに、データワードの所定ビット位置により選択される信号線に第５符号値を加算するステップと、第４信号線上のシンボルを捨てるステップと、第５符号値が加算されていない信号線上のシンボルから、残りの３つの信号線上のシンボルを選択するステップとを有する。
【００２８】
さらに、本発明による符号化方法によれば、符号レベルが２の補数として扱われ、それぞれのマルチレベルシンボルは、４個の信号線のうちの所定の信号線上に符号化され、オフセットワード加算ステップは、それぞれの信号線上の符号レベルにオフセットワードビットを２の補数加算するステップを含む。また、本発明による符号化方法によれば、符号レベルが２の補数として扱われ、それぞれのマルチレベルシンボルは、４個の信号線のうちの所定の信号線上に符号化され、オフセットワード加算ステップは、所定のデータワードビットの内容が所定値であるときに、第５符号値が加算されていない３個の信号線上の信号線シンボルの符号レベルにオフセットワードビットを２の補数加算するステップを含む。
【００２９】
また、本発明によれば、複数ビットデータワードとして複数のマルチレベルシンボルを復号する方法が提供される。各シンボルは５レベル符号から選択される値を有し、それぞれの符号レベルは２の補数として扱われる。この方法は、２の補数表現のそれぞれの選択されたビット位置を、データワードの所定ビット位置に変換するステップと、シンボルの２の補数表現の所定ビット位置の内容が所定値であるときに、データワードの所定ビット位置を選択された値に設定するステップと、各シンボルの２の補数表現の所定ビット位置から複数ビットオフセットワードを生成するステップと、シンボルの２の補数表現の所定ビット位置の内容が所定値であるかどうかに依存して、オフセットワードからデータワードの所定ビット位置を選択された値に生成するステップとを有する。
【００３０】
本発明の復号方法によれば、５レベル符号は、第１、第２、第３、第４および第５符号レベルからなり、前記シンボルの２の補数表現の所定ビット位置の内容は第５レベルであり、それぞれのマルチレベルシンボルは４個の信号線のうちの所定の信号線上に符号化され、４個のマルチレベルシンボルの２の補数表現は、ビットＡ［２：０］、Ｂ［２：０］、Ｃ［２：０］およびＤ［２：０］からなり、データワードはビットＳｄ［８：０］からなり、変換ステップは、
Ａ［２］＝Ｓｄ［０］
Ｂ［２］＝Ｓｄ［１］
Ｃ［２］＝Ｓｄ［２］
Ｄ［２］＝Ｓｄ［３］
とするステップを含む。
【００３１】
本発明の復号方法のもう１つの特徴によれば、オフセットワードはビットＶ０、Ｖ１、Ｖ２およびＶ３からなり、オフセットワード生成ステップは、
Ｖ０＝Ａ［０］
Ｖ１＝Ｂ［０］
Ｖ２＝Ｃ［０］
Ｖ３＝Ｄ［０］
とするステップを含む。
【００３２】
また、本発明の復号方法によれば、データワードの所定ビット位置を選択された値に設定するステップは、
Ｓｄ［６］＝Ｖ０∧Ｖ１
Ｓｄ［７］＝Ｖ１∧Ｖ２
Ｓｄ［８］＝Ｖ０∧Ｖ１∧Ｖ２∧Ｖ３
とするステップを含む。ただし、∧はＸＯＲ演算である。また、本発明の復号方法によれば、２の補数の所定ビット位置の内容が第５符号レベルを表すとき、データワードの所定ビット位置を選択された値に設定するステップは、
Ｓｄ［４］＝Ｖ０
Ｓｄ［５］＝０
とするステップを含む。
【００３３】
本発明のもう１つの特徴による復号方法では、２の補数の所定ビット位置の内容が第５符号レベルを表すとき、データワードの所定ビット位置を選択された値に設定するステップは、Ａ［２：０］＝第５符号レベルである場合Ｓｄ［５：３］＝１００とし、Ｂ［２：０］＝第５符号レベルである場合Ｓｄ［５：３］＝１１０とし、Ｃ［２：０］＝第５符号レベルである場合Ｓｄ［５：３］＝１０１とし、Ｄ［２：０］＝第５符号レベルである場合Ｓｄ［５：３］＝１１１とするステップを含み、Ａ［２：０］、Ｂ［２：０］、Ｃ［２：０］、Ｄ［２：０］のいずれが第５符号レベルであるかに依存して、Ｓｄ［０：２］はＳｄ［０：３］の圧縮ビットから選択される。
【発明の実施の形態】
【００３４】
本発明は、ＩＥＥＥ標準８０２．３ａｂ−１９９９ "Physical Layer Parameters and Specifications for 1000Mb/s Operation Over 4 Pair of Category 5 Balanced Copper Cabling, Type 1000BASE-T" に準拠した、ギガビットイーサネット送受信システム内の、特別に設計されたトレリス符号器／復号器を含む。この符号器／復号器は、１６スターＱＡＭのような信号コンステレーションなどの任意の信号コンステレーションに対して有効に動作することがわかっているトレリス符号化と呼ばれる方法により符号化を行うように構成される。
【００３５】
図５に示すように、１０００ＢＡＳＥ−Ｔ物理層５００（ＰＨＹ）は、カテゴリ５平衡ケーブリング５１０、５２０、５３０、および５４０を通じての全二重ベースバンド伝送を用い、各ワイヤ対を通じて２５０Ｍｂ／ｓのデータレートでの伝送により１０００Ｍｂ／ｓの全データレートを実現する。８個のハイブリッド送受信器５１２、５１４、５２２、５２４、５３２、５３４、５４２、および５４４と、キャンセラとを用いて、シンボルを同時に同じワイヤ対で送受信することを可能にすることにより、全二重伝送を可能にする。１２５Ｍｂａｕｄの変調レートでのベースバンドシグナリングを、各ワイヤ対で用いる。送信シンボルは、４次元５レベルシンボルコンステレーションから選択される。それぞれの４次元シンボルは、セット｛２，１，０，−１，−２｝からとった１次元５元シンボルの４項組（Ａｎ，Ｂｎ，Ｃｎ，Ｄｎ）とみなされる。１０００ＢＡＳＥ−Ｔ標準は、連続シグナリング方式を使用する。すなわち、データがないときは、アイドル(Idle)シンボルが送信される。アイドルモードは、同期を改善するために各シンボルがセット｛２，０，−２｝に制限されるという意味で、符号グループのサブセットである。５レベルパルス振幅変調（ＰＡＭ５）が、各ワイヤ対を通じての伝送に用いられる。１２５Ｍｂａｕｄの変調レートは、１２５ＭＨｚＧＭＩＩクロックレートに整合し、シンボル期間は８ｎｓとなる。
【００３６】
１０００ＢＡＳＥ−Ｔ  ＰＨＹは、マスタＰＨＹ(MASTER PHY)またはスレーブＰＨＹ(SLAVE PHY)のいずれかとして構成することが可能である。１つのリンクセグメントを共有する２つの局間のマスタ−スレーブ関係は、オートネゴシエーション（ＩＥＥＥ８０２．３ａｂ標準のClause 28、40.5、およびAnnex 28C、参照）期間中に確立される。マスタＰＨＹは、ローカルクロックを用いて、送信機動作のタイミングを決定する。スレーブＰＨＹは、受信信号からクロックを回復し、それを用いて送信機動作のタイミングを決定する。すなわち、ループタイミングを実行する。マルチポート−シングルポートコネクションにおいて、マルチポートデバイスが通常マスタに設定され、シングルポートデバイスがスレーブに設定される。
【００３７】
図６は、１０００ＢＡＳＥ−Ｔ  ＰＨＹ６００の機能ブロック図である。１０００ＢＡＳＥ−Ｔ  ＰＨＹは、物理符号化副層（ＰＣＳ：Physical Coding Sublayer）と、物理媒体アタッチメント（ＰＭＡ：Physical Medium Attachment）とを有する。
【００３８】
１０００ＢＡＳＥ−Ｔ物理符号化副層（ＰＣＳ）送信機能６０２は、受信が送信と同時に起こっているかどうかに基づいて、ギガビット媒体独立インタフェース（ＧＭＩＩ：Gigabit Media Independent Interface）信号ＣＯＬ６０４を生成する。ＰＣＳ送信機能は、半二重動作をサポートしない１０００ＢＡＳＥ−ＴＰＨＹでは、ＧＭＩＩ信号ＣＯＬを生成することを要求されない。各シンボル期間に、ＰＣＳ送信機能６０２は、符号グループ（Ａｎ，Ｂｎ，Ｃｎ，Ｄｎ）を生成し、これは、PMA_UNITDATA.requestプリミティブ６０６により、ＰＭＡに転送される。ＰＭＡは、シンボルＡｎ、Ｂｎ、Ｃｎ、Ｄｎを、それぞれ、ワイヤ対ＢＩ＿ＤＡ６０８、ＢＩ＿ＤＢ６１０、ＢＩ＿ＤＣ６１２、およびＢＩ＿ＤＤ６１４を通じて送信する。整数ｎは、相異なるシンボル期間どうしの時間関係を確立するために導入される時間インデックスである。シンボル期間Ｔは、公称８ｎｓに等しい。パラメータtx_enable６１６により示されるデータストリーム間の通常動作モードでは、ＰＣＳ送信機能は、アイドルモードに対して定義される符号化規則を用いて、ベクトル系列を生成する。tx_enableのアサート後、ＰＣＳ送信機能６０２は、４個の５元シンボルの２つの連続するベクトルのＳＳＤをＰＭＡに送り、最初の２個のプリアンブルオクテットを置き換える。ＳＳＤに続いて、tx_enableがディアサートされるまで、それぞれのＴＸＤ＜７：０＞オクテットが、４Ｄ−ＰＡＭ５方式を用いて、４元シンボルのベクトルに符号化される。tx_enable６１６がアサートされている間にＴＸ＿ＥＲ６１８がアサートされた場合、ＰＣＳ送信機能６０２は、送信エラーを示すベクトルをＰＭＡに送る。
【００３９】
PMA_TXMODE.indicate６２０メッセージが値ＳＥＮＤ＿Ｉを有する場合、ＰＣＳ送信機能６０２は、トレーニングモードにおける符号化規則に従って符号グループ系列を生成する。この場合、値｛＋２，０，−２｝のみを用いる特別の符号グループが送信される。トレーニングモード符号化は、パラメータloc_rcvr_status６２２の値も考慮する。このメカニズムにより、ＰＨＹは、アイドル送信中、リンク相手側に、自己の受信機の状態を示す。
【００４０】
通常動作モードにおいて、PMA_TXMODE.indicate６２０メッセージが値ＳＥＮＤ＿Ｎを有する場合、ＰＣＳ送信機能６０２は、８Ｂ１Ｑ４符号化方式を用いて、各シンボル期間に、ＩＥＥＥ標準８０２．３ａｂ−１９９９のテーブル４０−１(Table 40-1)およびテーブル４０−２(Table 40-2)で定義される符号グループに基づいて、データ、制御またはアイドルを表す符号グループを生成する。データの送信中、ＴＸＤ＜７：０＞ビット６２２は、ＰＣＳによりサイドストリームスクランブラを用いてスクランブルされた後、５元シンボルの符号グループに符号化され、ＰＭＡに転送される。データ符号化中、ＰＣＳ送信機能６０２は、３状態畳込み符号器を利用する。
【００４１】
ＰＣＳ符号化は、４ビットワードＳｘｎ［３：０］、Ｓｙｎ［３：０］、およびＳｇｎ［３：０］の生成を含み、これらから５元シンボルＡｎ、Ｂｎ、Ｃｎ、Ｄｎが得られる。４ビットワードＳｘｎ［３：０］、Ｓｙｎ［３：０］、およびＳｇｎ［３：０］は、送信機サイドストリームスクランブラから導出される擬似ランダム２元シンボル系列から決定される（以下で説明する）。
【００４２】
ＰＣＳ送信機能６０２は、サイドストリームスクランブリングを用いる。ＰＭＡ  ＰＨＹ制御機能６２４によって、PMA_CONFIG.indicate６２６メッセージによりＰＣＳに提供されるパラメータ設定が値ＭＡＳＴＥＲをとる場合、ＰＣＳ送信機能６０２は、送信機サイドストリームスクランブラ生成多項式として、
ｇＭ（ｘ）＝１＋ｘ１３＋ｘ３３
を用いる。PMA_CONFIG.indicateメッセージが値ＳＬＡＶＥをとる場合、ＰＣＳ送信機能は、送信機サイドストリームスクランブラ生成多項式として、
ｇＳ（ｘ）＝１＋ｘ２０＋ｘ３３
を用いる。
【００４３】
線形フィードバックシフトレジスタによるマスタおよびスレーブＰＨＹサイドストリームスクランブラの実現を図７に示す。時刻ｎにおいてシフトレジスタ遅延線に記憶されているビットをＳｃｒｎ［３２：０］で表す。各シンボル期間に、シフトレジスタは１ビット進められ、Ｓｃｒｎ［０］で表される新しい１ビットが生成される。送信機サイドストリームスクランブラは、ＰＣＳリセット機能が実行されるとリセットされる。ＰＣＳリセット機能が実行された場合、サイドストリームスクランブラ状態を表す３３ビットベクトルの全ビットが任意に設定される。スクランブラ状態の初期化は実装者に委ねられる。どのような場合でも、スクランブラ状態がすべて０に初期化されてはならない。
【００４４】
ＰＣＳ送信機能符号化規則は、時刻ｎにおける１２ビットＳｘｎ［３：０］、Ｓｙｎ［３：０］、およびＳｇｎ［３：０］の生成に基づく。８ビットＳｘｎ［３：０］、Ｓｙｎ［３：０］は、データ送信中にＧＭＩＩデータワードＴＸＤ＜７：０＞を脱相関するため、ならびに、アイドルおよびトレーニングシンボルを生成するために、スクランブラオクテットＳｃｎ［７：０］を生成するのに用いられる。４ビットＳｇｎ［３：０］は、各シンボルストリームがｄｃバイアスをもたないように、５元シンボル（Ａｎ，Ｂｎ，Ｃｎ，Ｄｎ）の正負をランダム化するために用いられる。これらの１２ビットは、３ビットＸｎ、Ｙｎ、およびＳｃｒｎ［０］と、補助生成多項式ｇ（ｘ）とを用いて組織的に生成される。２ビットＸｎおよびＹｎは、互いに無相関であり、ビットＳｃｒｎ［０］とも無相関である。マスタおよびスレーブの両方のＰＨＹについて、これらのビットは、送信機スクランブラシフトレジスタ遅延線に記憶されているビットの同じ線形結合によって得られる。これらの２ビットは、Ｓｃｒｎ［０］と同じ長さ２３３−１の最大長シフトレジスタ系列の、時間的にシフトした要素から導出される。関連する遅延はすべて大きくかつ異なっているため、ビットＳｃｒｎ［０］、Ｘｎ、Ｙｎの間に短時間相関はない。ビットＸｎおよびＹｎは次のように生成される。
Ｘｎ＝Ｓｃｒｎ［４］∧Ｓｃｒｎ［６］
Ｙｎ＝Ｓｃｒｎ［１］∧Ｓｃｒｎ［５］
ただし、∧はＸＯＲ論理演算子を表す。３ビットＸｎ、Ｙｎ、およびＳｃｒｎ［０］から、さらに、互いに無相関のビットストリームが次の生成多項式を用いて組織的に得られる。
ｇ（ｘ）＝ｘ３＋ｘ８
４ビットＳｙｎ［３：０］は、次式のようにして、ビットＳｃｒｎ［０］およびｇ（ｘ）を用いて生成される。
Ｓｙｎ［０］＝Ｓｃｒｎ［０］
Ｓｙｎ［１］＝ｇ（Ｓｃｒｎ［０］）＝Ｓｃｒｎ［３］∧Ｓｃｒｎ［８］
Ｓｙｎ［２］＝ｇ２（Ｓｃｒｎ［０］）＝Ｓｃｒｎ［６］∧Ｓｃｒｎ［１６］
Ｓｙｎ［３］＝ｇ３（Ｓｃｒｎ［０］）＝Ｓｃｒｎ［９］∧Ｓｃｒｎ［１４］∧Ｓｃｒｎ［１９］∧Ｓｃｒｎ［２４］
４ビットＳｘｎ［３：０］は、次式のようにして、ビットＸｎおよびｇ（ｘ）を用いて生成される。
Ｓｘｎ［０］＝Ｘｎ＝Ｓｃｒｎ［４］∧Ｓｃｒｎ［６］
Ｓｘｎ［１］＝ｇ（Ｘｎ）＝Ｓｃｒｎ［７］∧Ｓｃｒｎ［９］∧Ｓｃｒｎ［１２］∧Ｓｃｒｎ［１４］
Ｓｘｎ［２］＝ｇ２（Ｘｎ）＝Ｓｃｒｎ［１０］∧Ｓｃｒｎ［１２］∧Ｓｃｒｎ［２０］∧Ｓｃｒｎ［２２］
Ｓｘｎ［３］＝ｇ３（Ｘｎ）＝Ｓｃｒｎ［１３］∧Ｓｃｒｎ［１５］∧Ｓｃｒｎ［１８］∧Ｓｃｒｎ［２０］∧Ｓｃｒｎ［２３］∧Ｓｃｒｎ［２５］∧Ｓｃｒｎ［２８］∧Ｓｃｒｎ［３０］
４ビットＳｙｎ［３：０］は、次式のようにして、ビットＹｎおよびｇ（ｘ）を用いて生成される。
Ｓｙｎ［０］＝Ｙｎ＝Ｓｃｒｎ［１］∧Ｓｃｒｎ［５］
Ｓｙｎ［１］＝ｇ（Ｙｎ）＝Ｓｃｒｎ［４］∧Ｓｃｒｎ［８］∧Ｓｃｒｎ［９］∧Ｓｃｒｎ［１３］
Ｓｙｎ［２］＝ｇ２（Ｙｎ）＝Ｓｃｒｎ［７］∧Ｓｃｒｎ［１１］∧Ｓｃｒｎ［１７］∧Ｓｃｒｎ［２１］
Ｓｙｎ［３］＝ｇ３（Ｙｎ）＝Ｓｃｒｎ［１０］∧Ｓｃｒｎ［１４］∧Ｓｃｒｎ［１５］∧Ｓｃｒｎ［１９］∧Ｓｃｒｎ［２０］∧Ｓｃｒｎ［２４］∧Ｓｃｒｎ［２５］∧Ｓｃｒｎ［２９］
【００４５】
構成により、１２ビットＳｘｎ［３：０］、Ｓｙｎ［３：０］、およびＳｇｎ［３：０］は、Ｓｃｒｎ［０］と同じ長さ２３３−１の最大長シフトレジスタ系列の、遅延を変えることにより時間的にシフトした要素から導出される。関連する遅延はすべて大きくかつ異なっているため、ビット間に明らかな相関はない。
【００４６】
ビットＳｃｎ［７：０］は、ＧＭＩＩデータオクテットＴＸＤ［７：０］をスクランブルするため、ならびに、制御、アイドル、およびトレーニングモードの４項組の生成のために用いられる。これらのビットの定義は、ビットＳｘｎ［３：０］およびＳｙｎ［３：０］、ＰＭＡサービスインタフェースを通じて得られる変数tx_mode６２０、変数tx_enableｎ６１６、ならびに時間インデックスｎに依存する。
【００４７】
４ビットＳｃｎ［７：４］は次のように定義される。
【数１】
0003637289.tif 000003
【００４８】
３ビットＳｃｎ［３：１］は次のように定義される。
【数２】
0003637289.tif 000004
ただし、ｎ０は、最後の送信機サイドストリームスクランブラリセット時の時間インデックスである。
【００４９】
ビットＳｃｎ［０］は次のように定義される。
【数３】
0003637289.tif 000005
【００５０】
ＰＣＳ送信機能６０２は、畳込み符号化されたデータ、制御、またはアイドルモードの符号グループのいずれかのストリームを表す９ビットワードＳｃｎを生成する。畳込み符号器は、次のように定義される３ビットワードｃｓｎ［２：０］を用いる。
【数４】
0003637289.tif 000006
これから、Ｓｄｎ［８］＝ｃｓｎ［０］とする。
【００５１】
畳込み符号器ビットは、データの送信中のみ０でない。１つのデータフレームの完了後、畳込み符号器ビットはビットcsresetｎを用いてリセットされる。ビットcsresetｎは、
csresetｎ＝（tx_enableｎ−２）and（not tx_enableｎ）
と定義される。
【００５２】
ビットＳｄｎ［７：６］は、ビットＳｃｎ［７：６］、ＧＭＩＩデータビットＴＸＤｎ［７：６］、および畳込み符号器ビットから、次のように導出される。
【数５】
0003637289.tif 000007
【００５３】
ビットＳｄｎ［５：３］は、ビットＳｃｎ［５：３］およびＧＭＩＩデータビットＴＸＤｎ［５：３］から、次のように導出される。
【数６】
0003637289.tif 000008
【００５４】
ビットＳｄｎ［２］は、データモードの期間中にＧＭＩＩデータビットＴＸＤｎ［２］をスクランブルするため、および、それ以外のときにloc_rcvr_statusを符号化するために用いられる。これは次のように定義される。
【数７】
0003637289.tif 000009
【００５５】
ビットＳｄｎ［１：０］は、tx_mode＝SEND_Nの期間中にキャリア拡張情報を送信するために用いられるため、ビットcext_errｎに依存する。これらのビットは、変数tx_errorｎに依存する。これらのビットは次のように定義される。
【数８】
0003637289.tif 000010
【００５６】
９ビットワードＳｄｎ［８：０］は、ＩＥＥＥ標準８０２．３ａｂ−１９９９のテーブル４０−１およびテーブル４０−２に従って、Ｓｄｎ［６：８］＋Ｓｄｎ［５：０］として示される、５元シンボルの４項組（ＴＡｎ，ＴＢｎ，ＴＣｎ，ＴＤｎ）にマッピングされる。
【００５７】
４ビットＳｇｎ［３］は、各シンボルストリームがｄｃバイアスをもたないように、５元シンボル（Ａｎ，Ｂｎ，Ｃｎ，Ｄｎ）の正負をランダム化するために用いられる。これらのビットは、５元シンボル（ＴＡｎ，ＴＢｎ，ＴＣｎ，ＴＤｎ）を乗じると（Ａｎ，Ｂｎ，Ｃｎ，Ｄｎ）を生じる２元シンボル（ＳｎＡｎ，ＳｎＢｎ，ＳｎＣｎ，ＳｎＤｎ）を生成するために用いられる。
【００５８】
ＰＣＳ送信機能６０２は、アイドルモード＋ＳＳＤの期間中に送信される符号グループと、他のシンボル期間中に送信される符号グループとの区別を保証する。この区別は、条件（tx_enableｎ−２＋tx_enableｎ−４）＝１のときに、正負ビットのマッピングを逆にすることにより実現される。この正負逆転は、次のように定義される変数Ｓｒｅｖｎにより制御される。
Ｓｒｅｖｎ＝tx_enableｎ−２＋tx_enableｎ−４
【００５９】
２元シンボルＳｎＡｎ、ＳｎＢｎ、ＳｎＣｎ、ＳｎＤｎは、Ｓｇｎ［３：０］を用いて次のように定義される。
【数９】
0003637289.tif 000011
【００６０】
５元シンボル（Ａｎ，Ｂｎ，Ｃｎ，Ｄｎ）は、それぞれ（ＳｎＡｎ，ＳｎＢｎ，ＳｎＣｎ，ＳｎＤｎ）と（ＴＡｎ，ＴＢｎ，ＴＣｎ，ＴＤｎ）の積として生成される。
Ａｎ＝ＴＡｎ×ＳｎＡｎ
Ｂｎ＝ＴＢｎ×ＳｎＢｎ
Ｃｎ＝ＴＣｎ×ＳｎＣｎ
Ｄｎ＝ＴＤｎ×ＳｎＤｎ
【００６１】
ＰＣＳ受信機能６２８は、パラメータrx_symb_vector６３２を通じて、ＰＭＡ受信機能６３０により提供される受信符号グループを受け取る。正しい動作を実現するため、ＰＣＳ受信機能は、アイドルモードで用いられる符号化規則の知識を利用する。ＰＣＳ受信機能は、４個の５元シンボルのベクトル（ＲＡｎ，ＲＢｎ，ＲＣｎ，ＲＤｎ）の系列を生成し、パラメータscr_statusをＯＫに設定することによって、デスクランブラ状態の信頼できる獲得を示す。系列（ＲＡｎ，ＲＢｎ，ＲＣｎ，ＲＤｎ）は、信号ＲＸＤ＜７：０＞６３４、ＲＸ＿ＤＶ６３６、およびＲＸ＿ＥＲ６３８を生成するために処理される。これらの信号は、ＧＭＩＩに送られる。ＰＣＳ受信機能は、リモート局からのデータストリームの送信を検出し、この情報を、パラメータ1000BTreceive６４４を通じて、ＰＣＳキャリアセンス機能６４０およびＰＣＳ送信機能６４２に送る。
【００６２】
トレリス符号化変調（ＴＣＭ）が、カテゴリ５ツイストペア銅線媒体を通じての伝送のために、ギガビットイーサネットの１０００Ｂａｓｅ−Ｔ標準で用いられる。４次元（４Ｄ）トレリス符号が、ＩＥＥＥ標準８０２．３ａｂ−１９９９のテーブル４０−１および４０−２に示されるように入力ビットをシンボルにマッピングするために用いられる。符号化テーブルは、力任せの(brute force)テーブルルックアップとして実装する場合には、７６８バイト（５１２エントリ×４シンボル／エントリ×３ビット／シンボル）を必要とする。復号器におけるシンボルからビットへのマッピングもまた同様のテーブルを必要とする。しかし、符号の構造により、簡単な組合せロジックを用いることが可能である。このロジックの導出について、抽象代数理論の知識のある者には周知のいわゆる格子図(lattice diagram)を用いて、以下で説明する（教科書として、例えば、John B. Fraleigh, "A First Course in Abstract Algebra", 5th Ed. 1999, Addison-Wesley, Reading, MA、参照）。
【００６３】
図８において、格子図は、群Ｈにより、ある群の部分群を示している。このようなラインは、ＨがＧの部分群であることを意味する。したがって、大きい群ほど、図の頂上に近いほうに位置する。４Ｄトレリス符号は、格子Ｚ４の、Ｒ４Ｄ４による分割によって生成される。この分割鎖は、Ｚ４／Ｄ４／Ｒ４Ｚ４／Ｒ４Ｄ４で与えられ、各分割は、剰余類の数を２倍にするため、全部で８個のＲ４Ｄ４剰余類が得られる。群の分割は、互いに素な部分集合（サブセット）への群の分解である。８個のＲ４Ｄ４剰余類（Ｄ０，Ｄ１，...，Ｄ７とする）は、１０００Ｂａｓｅ−Ｔ標準のテーブル４０−１に指定されたサブセットである。Ｇ０、Ｇ１およびＧ２を剰余類首とする４Ｄ分割ツリーが図８に示されている。サブセットは、図８では、分割ツリーにおけるUngerboeckラベルＳｄ［６：８］により識別されている。テーブル４０−１のエントリは、以下の剰余類首に対応させることができる。
Ｇ０＝［０００１］
Ｇ１＝［００１１］
Ｇ２＝［０１１０］
【００６４】
信号マッピングは、ビットＳｄ［６：８］により指定される８個のサブセットのうちから選択されるＲ４Ｄ４サブセットから、ビットＳｄ［５：０］を用いて、６４個の４Ｄシンボルのうちの１つを選択する。Ｒ４Ｄ４サブセットにおける信号マッピングは自明ではなく、テーブルルックアップを必要とする。しかし、Ｒ４Ｄ４は、２個の２次元Ｚ２剰余類のカルテシアン集合積の和集合として書くことができる。例えば、Ｄ０＝（Ｃ２０×Ｃ２０）∪（Ｃ２２×Ｃ２２）である。ただし、×はカルテシアン集合積であり、∪は集合和を表す。Ｃ２０、Ｃ２１、Ｃ２２、およびＣ２３は、２次元Ｚ２格子とその対応する剰余類であり、これらは、Ｚ２格子から来ているため、自明にマッピングされることが可能である。追加ビットＳｄ［４］が、対応する剰余類首Ｇ３＝［１１１１］を有する２Ｚ４により格子Ｒ４Ｄ４を分割するために用いられる。その後、Ｓｄ［４］を用いて、選択された信号を含む２個のカルテシアン積のうちの一方を選択する。
【００６５】
図９は、９ビットデータワードＳｄ［８：０］から送信５元シンボル（ＴＡｎ，ＴＢｎ，ＴＣｎ，ＴＤｎ）を生成するのに適した、本発明の畳込み符号器７００のブロック図である。これは、Ｓｄ［５］＝０の場合に、ＩＥＥＥ８０２．３ａｂ−１９９９標準により要求されるＰＭＡ送信機能６３１を実装している。図９において、４ビットＳｄ［８  ７  ６  ４］が、オフセットＶ０、Ｖ１、Ｖ２、およびＶ３を生成するために、符号器７００の剰余類選択部７０２に入力される。このマッピングは、Ｓｄ［５］＝０のときに正しく、ＩＥＥＥ８０２．３ａｂ−１９９９標準のテーブル４０−１内の各サブセットの最初の３２個の４Ｄシンボルに対応する。
【００６６】
剰余類首と、ブロック７０２の分割ツリー内のビットとのモジュロ２行列乗算から得られる剰余類オフセットは、簡単なロジックにより実装することができる。このロジックは、図９のブロック７０２から次のように導出される。
Ｖ０＝Ｓｄ［４］
Ｖ１＝Ｓｄ［４］∧Ｓｄ［６］
Ｖ２＝Ｓｄ［４］∧Ｓｄ［６］∧Ｓｄ［７］
Ｖ１＝Ｓｄ［４］∧Ｓｄ［７］∧Ｓｄ［８］    （１）
ただし、∧はＸＯＲ演算を表す。
【００６７】
図９のブロック７０４、７０６、７０８および７１０は、２元信号Ｓｄ［０］、Ｓｄ［１］、Ｓｄ［２］、およびＳｄ［３］をそれぞれ受け取り、それらが０または１のいずれであるかに応じて、それぞれ０または−２に変換する。ブロック７１２、７１４、７１６、および７１８は、これらのそれぞれの結果と、ブロック７０２により生成されたそれぞれのオフセットとを受け取り、それらから、加算により、５元信号（ＴＡｎ，ＴＢｎ，ＴＣｎ，ＴＤｎ）を生成する。これらの５元信号は、それぞれワイヤ７２０、７２２、７２４、および７２６により運ばれる。図９に関連して記載したマッピングは、ＩＥＥＥ８０２．３ａｂ−１９９９標準のテーブル４０−１内の各サブセットの下位３２シンボルに対応するＳｄ［５］＝１のときには成り立たない。特に、ビットＳｄ［４］は、格子２Ｚ４において信号マッピングがなされる、Ｒ４Ｄ４格子を構成する２個のカルテシアン集合積のうちの一方を選択するためには、もはや用いることができない。Ｓｄ［５］＝１のときは、シンボル＋２が、剰余類首を加算せずに、４個のワイヤ７２０、７２２、７２４、または７２６のうちの１つに送られる。ビットＳｄ［３：４］は、＋２を送るワイヤを決定し、これは、間接的に、Ｒ４Ｄ４における２個のカルテシアン集合積のうちの一方を選択することによって、２Ｚ４によりＲ４Ｄ４を分割する。剰余類首Ｇ３は、ビットＳｄ［３：４］およびＳｄ［６：８］から導出可能なＩ４と呼ばれるビットによって選択される。＋２は偶シンボルであるため、＋２のワイヤ配置と、次の表１のエントリとを用いて、ビットＩ４を生成するための簡単なルックアップテーブルを作成することができる。また、Ｓｄ［５］＝１のとき、ビットＳｄ［３］は、トレリス符号器の信号マッピング部分では無視される。
【００６８】
【表１】
0003637289.tif 000012
【００６９】
図１０は、図９の要素を組み込むとともに、Ｓｄ［５］＝１の場合に要求される追加ロジックを含んだ、本発明の畳込み符号器８００のブロック図である。要素８０２は、図９の要素７０２と同様であるが、ブロック８０２では、剰余類オフセットワードＶ［３：０］を生成するために、式（１）により、Ｓｄ［４］の代わりにビットＩ４が用いられている点で異なる。ビットＩ４は、組合せロジックブロック８０２により生成され、その出力は、Ｓｄ［５］により選択される。すなわち、Ｓｄ［５］＝０の場合、Ｓｄ［４］が出力として選択され、Ｓｄ［５］＝１の場合、次の表２のルックアップテーブルの出力Ｉ４エントリが出力として選択される。
【００７０】
【表２】
0003637289.tif 000013
【００７１】
図１０の要素８０４、８０６、８０８および８１０はそれぞれ、図９の要素７０４、７０６、７０８、および７１０と同一であり、同様に、要素８１２、８１４、８１６、および８１８はそれぞれ、７１２、７１４、７１６、および７１８と同一である。４個の出力ワイヤ８２０、８２２、８２４、および８２６はそれぞれ、シンボルＴＡｎ、ＴＢｎ、ＴＣｎ、ＴＤｎを運ぶ。
【００７２】
最後に、上記のようにＳｄ［５］＝１の場合により要求されるブロック８２８が図１０に含められている。ブロック８２８は、変換器ブロック８０４、８０６、８０８、および８１０と、加算ブロック８１２、８１４、８１６、および８１８との間に導入される。
【００７３】
図１１は、受信５元シンボルＲＡｎ、ＲＢｎ、ＲＣｎ、ＲＤｎから９ビットデータワードＳｄ［８：０］を回復するのに適した、本発明による畳込み復号器９００のブロック図である。これは、ＩＥＥＥ８０２．３ａｂ−１９９９標準により要求されるＰＭＡ受信機能６３０を実装する。これらの４個のシンボルを表すマルチレベル信号は、４個のライン９１０、９１２、９１４、および９１６を通じて、それぞれブロック９０２、９０４、９０６、および９０８により受信される。マルチレベル信号は、図１１において、および、図１１に関する以下の説明においては、３ビットの２の補数として表現される。
【００７４】
ブロック９０２は、ＲＡｎを受け取り、これからＳｄ［０］、オフセット値Ｖ０およびＳｄ［５：３］の値を生成するとともに、ライン９１０上の＋２値を検出する。ブロック９０４、９０６、および９０８はそれぞれ、以下で説明するように、ＲＢｎ、ＲＣｎ、ＲＤｎに対して同じ動作を実行し、それぞれ、Ｓｄ［１］、Ｓｄ［２］、およびＳｄ［３］、Ｖ１、Ｖ２、およびＶ３、ならびにＳｄ［５：３］の値を生成する。Ｓｄ［３：０］の値は次のように与えられる。
Ｓｄ［０］＝ＲＡｎ［２］
Ｓｄ［１］＝ＲＢｎ［２］
Ｓｄ［２］＝ＲＣｎ［２］
Ｓｄ［３］＝ＲＤｎ［２］
【００７５】
信号マッピングは常に偶パリティであるため、復号器は、対応するワイヤＲＡｎ、ＲＢｎ、ＲＣｎおよびＲＤｎ上の入力シンボルのパリティの偶奇から、剰余類オフセットＶ０、Ｖ１、Ｖ２およびＶ３を導出する。このパリティは、シンボルが当業者に周知の２の補数記法で表現されているときには、入力シンボルのＬＳＢとして復号される。したがって、オフセット値は次のように与えられる。
Ｖ０＝ＲＡｎ［０］
Ｖ１＝ＲＢｎ［０］
Ｖ２＝ＲＣｎ［０］
Ｖ３＝ＲＤｎ［０］
符号器において剰余類首を選択するビットＳｄ［４］、Ｓｄ［６：８］は、次のようにして、図９のモジュロ２行列乗算の逆から決定することができる。
Ｓｄ［４］＝Ｖ０
Ｓｄ［６］＝Ｖ０∧Ｖ１
Ｓｄ［７］＝Ｖ１∧Ｖ２
Ｓｄ［８］＝Ｖ０∧Ｖ１∧Ｖ２∧Ｖ３    （２）
【００７６】
剰余類オフセットは、入力シンボルの正負を変えない。したがって、ビットＳｄ［０：３］は、対応するワイヤＲＡｎ、ＲＢｎ、ＲＣｎおよびＲＤｎ上の入力シンボルの正負から導出することができる。＋２シンボルがない場合、ビットＳｄ［５］は０に設定される。
【００７７】
＋２シンボルが、いずれかのライン９１０、９１２、９１４、または９１６上で検出された場合、図１１に示すように、ある定数を用いて、ビットＳｄ［５：３］を導出する。ある時間インデックスｎにおいて＋２値を運ぶ可能性があるのはただ１つのラインだけである。したがって、ライン９１０が＋２を運ぶ場合、Ｓｄ［５：３］＝１００である。ライン９１２が＋２を運ぶ場合、Ｓｄ［５：３］＝１１０である。ライン９１４が＋２を運ぶ場合、Ｓｄ［５：３］＝１０１である。ライン９１６が＋２を運ぶ場合、Ｓｄ［５：３］＝１１１である。これらの結果はそれぞれ、ライン９２０、９２２、９２４、および９２６を通じてブロック９１８に運ばれるように示されている。さらに、ブロック９１８に示されるように、ビットＳｄ［６：８］の復号は、前の場合と同じである。しかし、Ｓｄ［３］は、＋２を生成したブロックによって生成され、４個の出力ビットＳｄ［０：３］は圧縮されてＳｄ［０：２］とされる。Ｓｄ［３：８］はすでにわかっているため、さらに３ビットＳｄ［０：２］しか必要でない。４個のブロックは４ビットＳｄ［０：３］を生成するため、１ビットを落として、必要な３ビットを得る。このプロセスを「圧縮」(compaction)という。例えば、ブロック９０４がライン９１２上で＋２を検出した場合、このブロックからの出力が落とされる。こうして、４ビットが３ビットに圧縮される。すなわち、Ｓｄ［０］＝Ｓｄ［０］、Ｓｄ［１］＝Ｓｄ［２］、およびＳｄ［２］＝Ｓｄ［３］とされる。
【００７８】
【発明の効果】
以上述べたごとく、本発明によれば、所定複数のレベルから選択された１つの値をそれぞれ有する複数のマルチレベルシンボルとして複数ビットデータワードを符号化する方法が実現される。
【図面の簡単な説明】
【図１】Ａは、例示的な畳込み符号器のブロック図であり、Ｂは、符号器の状態テーブルを示す図である。
【図２】図１の符号器に対するトレリス状態遷移図である。
【図３】Ａ〜Ｃは、Ｄのトレリス図に沿ったユークリッド距離によるトレリスパス確率を説明する４−ＰＳＫ信号コンステレーションの図である。
【図４】４−ＰＳＫ信号コンステレーションに対するトレリスセット分割ツリーの図である。
【図５】ＩＥＥＥ８０２．３ａｂ−１９９９標準に準拠した全二重１０００Ｍｂ／ｓ伝送チャネルの機能ブロック図である。
【図６】ＩＥＥＥ８０２．３ａｂ−１９９９標準に準拠した１０００ＢＡＳＥ−Ｔ物理層の機能ブロック図である。
【図７】ＩＥＥＥ８０２．３ａｂ−１９９９標準によるサイドストリームスクランブラ生成多項式を記述する線形フィードバックレジスタの信号フローブロック図である。
【図８】剰余類首Ｇ０、Ｇ１およびＧ２を含む８個の剰余類のUngerboeckラベリングを有する４次元（４Ｄ）分割ツリーの図である。
【図９】Ｓｄ［５］＝０の場合に対する本発明によるトレリス符号器の信号フロー図である。
【図１０】Ｓｄ［５］＝１の場合に対する特別のロジックを含む、本発明によるトレリス符号器の信号フロー図である。
【図１１】＋２が検出される場合に対する特別のロジックを含む、本発明によるトレリス符号器の信号フロー図である。
【符号の説明】
２００  畳込み符号器
２０５，２１０，２１５  シフトレジスタメモリユニット
２２０，２２５  加算器
２３０  テーブル
５００  １０００ＢＡＳＥ−Ｔ物理層
５１０，５２０，５３０，５４０  カテゴリ５平衡ケーブリング
５１２，５１４，５２２，５２４，５３２，５３４，５４２，５４４  ハイブリッド送受信器
６００  １０００ＢＡＳＥ−Ｔ  ＰＨＹ
６０２  １０００ＢＡＳＥ−Ｔ物理符号化副層（ＰＣＳ）送信機能
６０４  ギガビット媒体独立インタフェース（ＧＭＩＩ）信号ＣＯＬ
６０６  PMA_UNITDATA.requestプリミティブ
６０８  ワイヤ対ＢＩ＿ＤＡ
６１０  ワイヤ対ＢＩ＿ＤＢ
６１２  ワイヤ対ＢＩ＿ＤＣ
６１４  ワイヤ対ＢＩ＿ＤＤ
６１６  パラメータtx_enable
６１８  ＴＸ＿ＥＲ
６２０  PMA_TXMODE.indicate
６２２  パラメータloc_rcvr_status
６２４  ＰＭＡ  ＰＨＹ制御機能
６２６  PMA_CONFIG.indicate
６２８  ＰＣＳ受信機能
６３０  ＰＭＡ受信機能
６３１  ＰＭＡ送信機能
６３２  パラメータrx_symb_vector
６３４  ＲＸＤ＜７：０＞
６３６  ＲＸ＿ＤＶ
６３８  ＲＸ＿ＥＲ
６４０  ＰＣＳキャリアセンス機能
６４２  ＰＣＳ送信機能
６４４  パラメータ1000BTreceive
７００  畳込み符号器
７０２  剰余類選択部
８００  畳込み符号器
９００  畳込み復号器
【図１】
0003637289.tif 000015
【図２】
0003637289.tif 000016
【図３】
0003637289.tif 000017
【図４】
0003637289.tif 000018
【図５】
0003637289.tif 000019
【図６】
0003637289.tif 000020
【図７】
0003637289.tif 000021
【図８】
0003637289.tif 000022
【図９】
0003637289.tif 000023
【図１０】
0003637289.tif 000024
【図１１】
0003637289.tif 000025