本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
図1は、この発明の実施の形態による無線通信システムの概略図である。図1を参照して、この発明の実施の形態による無線通信システム100は、無線装置10,20,30を備える。
無線装置10,20,30は、無線通信空間に配置される。無線装置10は、無線装置20からデータD1を受信し、無線装置30からデータD2を受信する。そして、無線装置10は、その受信したデータD1,D2を後述する方法によってネットワークコーディングし、そのネットワークコーディングしたデータを無線装置20,30へ送信する。
無線装置20は、送信用のデータを生成し、その生成したデータを、例えば、QPSK(Quadrature Phase Shift Keying)によって変調して無線装置10へ送信する。
また、無線装置20は、ネットワークコーディングされたデータを無線装置10から受信し、その受信したデータを後述する方法によって復調および復号する。
無線装置30は、送信用のデータを生成し、その生成したデータを、例えば、16QAM(Quadrature Amplitude Modulation)によって変調して無線装置10へ送信する。
また、無線装置30は、ネットワークコーディングされたデータを無線装置10から受信し、その受信したデータを後述する方法によって復調および復号する。
図2は、図1に示す無線装置10の構成を示す概略図である。図2を参照して、無線装置10は、アンテナ1と、受信手段2と、検出手段3と、決定手段4と、データ生成手段5と、送信手段6とを備える。
アンテナ1は、無線装置20(または無線装置30)からデータD1(またはデータD2)を受信し、その受信したデータD1(またはデータD2)を受信手段2へ出力する。
また、アンテナ1は、送信手段6からデータを受け、その受けたデータを無線装置20,30へ送信する。
受信手段2は、アンテナ1を介してデータD1(またはデータD2)を受信し、その受信したデータD1(またはデータD2)をデータ生成手段5へ出力する。
検出手段3は、受信手段2がデータD1(またはデータD2)を受信したときの雑音に対する信号の比である信号対雑音比SNR1(またはSNR2)を公知の方法によって検出し、その検出した信号対雑音比SNR1(またはSNR2)を決定手段4へ出力する。
決定手段4は、信号対雑音比SNR1,SNR2を検出手段3から受け、その受けた信号対雑音比SNR1,SNR2に基づいて、後述する方法によって、1つのフレームで送信可能なビット数である送信フレーム長FL1,FL2を決定する。そして、決定手段4は、その決定した送信フレーム長FL1,FL2をデータ生成手段5へ出力する。
データ生成手段5は、データD1,D2を受信手段2から受け、送信フレーム長FL1,FL2を決定手段4から受ける。そして、データ生成手段5は、データD1から送信フレーム長FL2を有する送信データP2,uを抽出し、データD2から送信フレーム長FL1を有する送信データP1,uを抽出する。その後、データ生成手段5は、送信データP1,u,P2,uを後述する方法によってチャネルコーディングしてP1,c,P2,cを生成し、その生成したP1,c,P2,cを後述する方法によってポストコーディングしてP1,P2を生成し、その生成したP1,P2の排他的論理和を演算することによってP1,P2をネットワークコーディングし、ネットワークコーディングされたPSUMを送信手段6へ出力する。なお、SUMは、ネットワークコーディングされたこと、または総和を意味する。そして、SUMは、図面においては、シグマの記号によって表されている。
送信手段6は、PSUMをデータ生成手段5から受ける。そして、送信手段6は、無線装置20,30における変調方式(QPSK,16QAM)のうち、変調レベルが最大である変調方式によってデータPSUMを変調し、その変調した信号xSUMをアンテナ1を介して無線装置20,30へ送信する。
図3は、図1に示す他の無線装置20の構成を示す概略図である。図3を参照して、無線装置20は、アンテナ11と、受信手段12と、処理手段13と、生成手段14と、バッファ15と、送信手段16とを備える。
アンテナ11は、無線装置10から信号xSUMを受信し、その受信した信号xSUMを受信手段12へ出力する。また、アンテナ11は、送信手段15からデータD1を受け、その受けたデータD1を無線装置10へ送信する。
受信手段12は、アンテナ11を介して信号xSUMを受信し、その受信した信号xSUMを処理手段13へ出力する。
処理手段13は、受信手段12から信号xSUMを受けると、バッファ15からデータD1を読み出す。そして、処理手段13は、データD1および信号xSUMに基づいて、後述する方法によって、無線装置30から送信された送信データP1,uを復号し、その復号した送信データP1,uをアプリケーション(図示せず)へ出力する。
生成手段14は、アプリケーションから送信用のデータD1を受け、その受けたデータD1をバッファ15に格納するとともに、データD1を送信手段16へ出力する。
バッファ15は、生成手段14から受けたデータD1を格納する。
送信手段16は、生成手段14からデータD1を受け、その受けたデータD1をQPSKの変調方式によって変調し、その変調したデータD1をアンテナ11を介して無線装置10へ送信する。
なお、図1に示す無線装置30も、図3に示す無線装置20と同じ構成からなる。但し、無線装置30における変調方式は、16QAMである。
無線装置10の決定手段4における送信フレーム長の決定方法について説明する。図4は、信号対雑音比と、変調方式およびコーディングレートと、送信レートとの関係を示す図である。
図4を参照して、テーブルTBLは、信号対雑音比と、変調方式およびコーディングレートと、送信レートとを含む。信号対雑音比SNRは、変調方式およびコーディングレートと、送信レートとに対応付けられる。
信号対雑音比SNRが7.0(dB)よりも小さいとき、変調方式は、BPSK(Binary Phase−Shift Keying)であり、コーディングレートは、1/2であり、送信レートは、0.50(bit/sym)である。また、信号対雑音比SNRが7.0≦SNR<7.6であるとき、変調方式は、BPSKであり、コーディングレートは、3/4であり、送信レートは、0.75(bit/sym)である。
更に、信号対雑音比SNRが7.6≦SNR<10.4であるとき、変調方式は、QPSKであり、コーディングレートは、1/2であり、送信レートは、1.00(bit/sym)である。更に、信号対雑音比SNRが10.4≦SNR<12.8であるとき、変調方式は、QPSKであり、コーディングレートは、3/4であり、送信レートは、1.50(bit/sym)である。
更に、信号対雑音比SNRが12.8≦SNR<17.0であるとき、変調方式は、16QAMであり、コーディングレートは、1/2であり、送信レートは、2.00(bit/sym)である。更に、信号対雑音比SNRが17.0≦SNR<21.0であるとき、変調方式は、16QAMであり、コーディングレートは、3/4であり、送信レートは、3.00(bit/sym)である。
更に、信号対雑音比SNRが21.0≦SNR<23.4であるとき、変調方式は、64QAMであり、コーディングレートは、2/3であり、送信レートは、4.00(bit/sym)である。更に、信号対雑音比SNRが23.4≦SNR<26.8であるとき、変調方式は、64QAMであり、コーディングレートは、3/4であり、送信レートは、4.50(bit/sym)である。
更に、信号対雑音比SNRが26.8≦SNR<28.0であるとき、変調方式は、256QAMであり、コーディングレートは、2/3であり、送信レートは、5.33(bit/sym)である。更に、信号対雑音比SNRがSNR≧28.0であるとき、変調方式は、256QAMであり、コーディングレートは、3/4であり、送信レートは、6.00(bit/sym)である。
送信レートは、コーディングレートと変調レベルとに依存し、(コーディングレート)×(変調レベル)によって求められる。そして、コーディングレートは、通常、1/2,2/3,3/4であり、BPSK,QPSK,16QAM,64QAM,256QAMの変調レベルは、それぞれ、1,2,4,6,8である。従って、変調方式およびコーディングレートと送信レートとの間には、テーブルTBLに示す関係が得られる。
この発明の実施の形態においては、信号対雑音比SNRを無線装置間のリンクの品質として検出し、その検出した信号対雑音比SNRを変調方式およびコーディングレートと送信レートとに対応付けた。これによって、検出されたリンクの品質で実現可能な最大の送信レートを決定することができる。
無線装置10の決定手段4は、テーブルTBLを保持している。決定手段4は、検出手段3から信号対雑音比SNRを受けると、その受けた信号対雑音比SNRに対応する送信レートをテーブルTBLを参照して検出し、その検出した送信レートを最大の送信レートとして決定する。
このように、無線装置10の決定手段4は、信号対雑音比SNRに基づいて、検出されたリンクの品質で実現可能な最大の送信レートを決定する。そして、最大の送信レートが決定されると、その決定された最大の送信レートに対応する変調方式の変調レベルが最大の変調レベルとして決定され、その決定された最大の送信レートに対応するコーディングレートが決定される。従って、無線装置10の決定手段4が信号対雑音比SNRに基づいてリンクの品質で実現可能な最大の送信レートを決定すると、その決定と同時に、最大の送信レートに対応する最大の変調レベルとコーディングレベルとが決定される。
図5は、図2に示すデータ生成手段5の構成を示す概略図である。図5を参照して、データ生成手段5は、復調復号手段51と、データ抽出手段52と、チャネルコーディング手段53と、ポストコーディング手段54と、演算手段55とを含む。
復調復号手段51は、受信手段2からパケットを受け、その受けたパケットを公知の方法によって復調および復号する。そして、復調復号手段51は、その復調および復号したパケットに含まれるデータのビット列Dk(k=0,1,2,・・・)をデータ抽出手段52へ出力する。
データ抽出手段52は、復調復号手段51からビット列Dkを受け、決定手段4から送信フレーム長FLを受ける。そして、データ抽出手段52は、ビット列Dkの先頭から送信フレーム長FLの長さを有するビット列dkを抽出し、その抽出したビット列dkをチャネルコーディング手段53へ出力する。また、データ抽出手段52は、ビット列Dkからビット列dkを除いた残りのビット列をバッファ(図示せず)に保存する。
チャネルコーディング手段53は、データ抽出手段52からビット列dkを受け、その受けたビット列dkを公知の方法によってチャネルコーディングする。そして、チャネルコーディング手段53は、チャネルコーディング後のビット列Pcをポストコーディング手段54へ出力する。
ポストコーディング手段54は、ビット列Pcをチャネルコーディング手段53から受け、その受けたビット列Pcをポストコーディングする。そして、ポストコーディング手段54は、ポストコーディング後のビット列Pを演算手段55へ出力する。ここで、ポストコーディングとは、無線装置20,30が採用する変調方式の変調レベルのうちの最大の変調レベルにビット列Pcの変調レベルを一致させるようにビット列Pcをエンコードすることを言う。
演算手段55は、2つのビット列Pをポストコーディング手段54から受けると、その受けた2つのビット列Pの排他的論理和を演算し、その演算結果からなるビット列PSUMを送信手段6へ出力する。
図6は、図5に示すチャネルコーディング手段53の実施例を示す図である。なお、この発明の実施の形態においては、チャネルコーディング手段53は、図6に示す実施例以外の実施例からなっていてもよい。図6を参照して、チャネルコーディング手段53は、演算器531,534と、遅延器532,533とを含む。
チャネルコーディング手段53は、ビット列dkをc1,1,c1,2,c2,1,c2,2,・・・,ck,1,ck,2,・・・へエンコードする。チャネルコーディング手段53においては、帰納的、かつ、組織的なコード(recursive systematic code)が使用されるので、ck,1=dkであり、ck,2は、パリティチェックビット(=誤り訂正符号)である。従って、チャネルコーディング手段53は、ビット列dkに誤り訂正符号を付加する。
演算器531は、データ抽出手段52からビット列dkを受け、遅延器532から1つのビット値S1を受け、遅延器533から1つのビット値S0を受ける。なお、ビット列S1S0は、チャネルコーディング手段53の状態を表す。
演算器531は、ビット列dk、およびビット値S1,S0を受けると、ビット列dkの各ビット値と、ビット値S1,S0との排他的論理和を演算する。この場合、演算器531は、ビット列dkの各ビット値と、ビット値S1との排他的論理和を演算し、その演算結果と、ビット値S0との排他的論理和を演算することによって、ビット列dkの各ビット値と、ビット値S1,S0との排他的論理和を演算する。
そして、演算器531は、排他的論理和の演算結果を遅延器532および演算器534へ出力する。
遅延器532は、演算器531から排他的論理和の演算結果(=1ビットからなる)を受け、その受けた演算結果を一定時間Tだけ遅延し、その遅延した演算結果をビット値S1として演算器531および遅延器533へ出力する。
遅延器533は、遅延器532からビット値S1を受け、その受けたビット値S1を一定時間Tだけ遅延し、その遅延したビット値S1をビット値S0として演算器531,534へ出力する。
なお、一定時間Tは、ビット列dkの送信レートによって決定される。そして、一定時間Tは、例えば、送信レートが1Mbpsである場合、1μsである。
演算器534は、演算器531から排他的論理和(=1ビットからなる)を受け、遅延器533からビット値S0を受ける。そして、演算器534は、排他的論理和(=1ビットからなる)とビット値S0との排他的論理和を演算し、その演算した排他的論理和をck,2として出力する。
表1は、チャネルコーディング手段53の状態遷移を示し、表2は、チャネルコーディング手段53の出力を示す。
チャネルコーディング手段53において、状態S1S0は、最初、“00”に設定されている。従って、遅延器532は、最初、ビット値“0”を演算器531および遅延器533へ出力し、遅延器533は、最初、ビット値“0”を演算器531,534へ出力する。
この状態において、ビット列dkのビット値“0”がチャネルコーディング手段53へ入力されると、チャネルコーディング手段53は、ck,1=0を出力する。また、演算器531は、dk=0をデータ抽出手段52から受け、ビット値S1=0を遅延器532から受け、ビット値S0=0を遅延器533から受ける。そして、演算器531は、3個の“0”の排他的論理和(=0)を演算し、その演算結果(=0)を遅延器532および演算器534へ出力する。
演算器534は、演算器531から排他的論理和(=0)を受け、遅延器533からビット値S0=0を受ける。そして、演算器534は、排他的論理和(=0)とビット値S0=0との排他的論理和(=0)を演算し、その演算した排他的論理和(=0)をck,2として出力する。
そして、遅延器532は、演算器531から受けた排他的論理和(=0)を一定時間Tだけ遅延し、その遅延した排他的論理和(=0)をビット値S1として演算器531および遅延器533へ出力する。また、遅延器533は、遅延器532から受けたビット値S1(=0)を一定時間Tだけ遅延し、その遅延したビット値S1(=0)をビット値S0(=0)として演算器531,534へ出力する。
従って、チャネルコーディング手段53は、状態S1S0=“00”において、ビット列dkのビット値“0”が入力されると、ck,1,ck,2=00を出力する(表2の第1行目参照)。
そして、チャネルコーディング手段53の状態S1S0は、新しい状態=“00”になる(表1の第1行目参照)。
また、初期状態において、ビット列dkのビット値“1”がチャネルコーディング手段53へ入力されると、チャネルコーディング手段53は、ck,1=1を出力する。また、演算器531は、dk=1をデータ抽出手段52から受け、ビット値S1=0を遅延器532から受け、ビット値S0=0を遅延器533から受ける。そして、演算器531は、ビット値=1と、2個の“0”との排他的論理和(=1)を演算し、その演算結果(=1)を遅延器532および演算器534へ出力する。
演算器534は、演算器531から排他的論理和(=1)を受け、遅延器533からビット値S0=0を受ける。そして、演算器534は、排他的論理和(=1)とビット値S0=0との排他的論理和(=1)を演算し、その演算した排他的論理和(=1)をck,2として出力する。
そして、遅延器532は、演算器531から受けた排他的論理和(=1)を一定時間Tだけ遅延し、その遅延した排他的論理和(=1)をビット値S1として演算器531および遅延器533へ出力する。また、遅延器533は、遅延器532から受けたビット値S1(=0)を一定時間Tだけ遅延し、その遅延したビット値S1(=0)をビット値S0(=0)として演算器531,534へ出力する。
従って、チャネルコーディング手段53は、状態S1S0=“00”において、ビット列dkのビット値“1”が入力されると、ck,1,ck,2=11を出力する(表2の第1行目参照)。
そして、チャネルコーディング手段53の状態S1S0は、新しい状態=“10”になる(表1の第1行目参照)。
以下、同様にして、チャネルコーディング手段53の状態は、表1に従って遷移し、チャネルコーディング手段53は、ビット列dkの各ビット値を表2に従ってck,1,ck,2にエンコードし、そのエンコードしたck,1,ck,2を出力する。
その結果、表1に示すように、状態S1S0が状態(=00)であるときに、ビット列dkの“0”が入力されると、状態S1S0は、新しい状態=“00”へ遷移し、ビット列dkの“1”が入力されると、状態S1S0は、新しい状態=“10”へ遷移する。また、状態S1S0が状態(=01)であるときに、ビット列dkの“0”が入力されると、状態S1S0は、新しい状態=“10”へ遷移し、ビット列dkの“1”が入力されると、状態S1S0は、新しい状態=“00”へ遷移する。更に、状態S1S0が状態(=10)であるときに、ビット列dkの“0”が入力されると、状態S1S0は、新しい状態=“11”へ遷移し、ビット列dkの“1”が入力されると、状態S1S0は、新しい状態=“01”へ遷移する。更に、状態S1S0が状態(=11)であるときに、ビット列dkの“0”が入力されると、状態S1S0は、新しい状態=“01”へ遷移し、ビット列dkの“1”が入力されると、状態S1S0は、新しい状態=“11”へ遷移する。
また、表2に示すように、状態S1S0が状態(=00)であるときに、ビット列dkの“0”が入力されると、チャネルコーディング手段53は、“0”を“00”にエンコードし、ビット列dkの“1”が入力されると、チャネルコーディング手段53は、“1”を“11”にエンコードする。また、状態S1S0が状態(=01)であるときに、ビット列dkの“0”が入力されると、チャネルコーディング手段53は、“0”を“00”にエンコードし、ビット列dkの“1”が入力されると、チャネルコーディング手段53は、“1”を“11”にエンコードする。更に、状態S1S0が状態(=10)であるときに、ビット列dkの“0”が入力されると、チャネルコーディング手段53は、“0”を“01”にエンコードし、ビット列dkの“1”が入力されると、チャネルコーディング手段53は、“1”を“10”にエンコードする。更に、状態S1S0が状態(=11)であるときに、ビット列dkの“0”が入力されると、チャネルコーディング手段53は、“0”を“01”にエンコードし、ビット列dkの“1”が入力されると、チャネルコーディング手段53は、“1”を“10”にエンコードする。
図7は、チャネルコーディングの概念図である。図7において、点線は、ビット列dkのビット値が“0”であるときの遷移を表し、実線は、ビット列dkのビット値が“1”であるときの遷移を表す。
従って、図7は、表1における遷移を点線または実線によって表し、表2に示すエンコードされたck,1,ck,2を表したものである。
“1101”からなるビット列dkと2つのパディングビット“0”とがチャネルコーディング手段53に入力されると、チャネルコーディング手段53は、k=0において、上述した方法によって、ビット列dkの“1”をck,1,ck,2=“11”にエンコードし、チャネルコーディング手段53の状態S1S0は、新しい状態=“10”へ遷移する。
そして、チャネルコーディング手段53は、k=1において、上述した方法によって、ビット列dkの“1”をck,1,ck,2=“10”にエンコードし、チャネルコーディング手段53の状態S1S0は、新しい状態=“01”へ遷移する。
その後、チャネルコーディング手段53は、k=2において、上述した方法によって、ビット列dkの“0”をck,1,ck,2=“00”にエンコードし、チャネルコーディング手段53の状態S1S0は、新しい状態=“10”へ遷移する。
更に、チャネルコーディング手段53は、k=3において、上述した方法によって、ビット列dkの“1”をck,1,ck,2=“10”にエンコードし、チャネルコーディング手段53の状態S1S0は、新しい状態=“01”へ遷移する。
更に、チャネルコーディング手段53は、k=4において、上述した方法によって、パディングビット“0”をck,1,ck,2=“00”にエンコードし、チャネルコーディング手段53の状態S1S0は、新しい状態=“10”へ遷移する。
更に、チャネルコーディング手段53は、k=5において、上述した方法によって、パディングビット“0”をck,1,ck,2=“01”にエンコードし、チャネルコーディング手段53の状態S1S0は、新しい状態=“11”へ遷移する。
その結果、チャネルコーディング手段53は、ビット列dk=“1101”を“111000100001へエンコードする。
なお、dkの後ろに付いている2個の“0”は、パディングビット(padding bits)である。
図8は、図3に示す処理手段13の構成を示す概略図である。図8を参照して、処理手段13は、判定器131と、復調器132と、チャネルコーディング手段133と、ポストコーディング手段134と、演算器135と、復号器136と、変換器137とを含む。
判定器131は、受信手段12から受信信号s(t)を受け、その受けた受信信号s(t)を復調器132へ出力する。また、判定器131は、その受けた受信信号s(t)の変調レベルが、自己が搭載された無線装置(=無線装置20または無線装置30)宛ての信号の変調レベルと同じであるか否かを判定する。
中継端末である無線装置10は、専用の制御メッセージを用いて自己と各無線装置20,30との間のリンク上で使用するレートを各無線装置20,30へ知らせる。従って、判定器131は、受信信号s(t)の変調レベルが、自己が搭載された無線装置(=無線装置20または無線装置30)宛ての信号の変調レベルと同じであるか否かを容易に判定できる。
判定器131は、受信信号s(t)の変調レベルが、自己が搭載された無線装置(=無線装置20または無線装置30)宛ての信号の変調レベルと同じであると判定したとき、信号SS0,SS1を生成し、その生成した信号SS0をチャネルコーディング手段133へ出力し、その生成した信号SS1をポストコーディング手段134へ出力する。
一方、判定器131は、受信信号s(t)の変調レベルが、自己が搭載された無線装置(=無線装置20または無線装置30)宛ての信号の変調レベルと同じでないと判定したとき、信号SS0,SS2を生成し、その生成した信号SS0をチャネルコーディング手段133へ出力し、その生成した信号SS2をポストコーディング手段134へ出力する。
ここで、信号SS0は、無線装置20(または無線装置30)の送信データを送信レートに対応するコーディングレートでエンコードするための指示信号である。また、信号SS1は、エンコード結果を演算器135へ出力することを指示する指示信号であり、信号SS2は、エンコード結果を変換器137へ出力することを指示する指示信号である。
復調器132は、判定器131から受信信号s(t)を受けると、その受けた受信信号s(t)を復調し、その復調結果を演算器135へ出力する。
また、復調器132は、変換器137から位相図を受けると、その受けた位相図を用いて受信信号s(t)を復調し、その復調結果を復号器136へ出力する。
チャネルコーディング手段133は、判定器131から信号SS0を受けると、バッファ15から送信データを読み出し、その読み出した送信データを上述したチャネルコーディング手段53と同じ方法によってエンコードし、そのエンコードしたビット列ck,1,ck,2をポストコーディング手段134へ出力する。
ポストコーディング手段134は、チャネルコーディング手段133からビット列ck,1,ck,2を受け、その受けたビット列ck,1,ck,2を上述したポストコーディング手段54と同じ方法によってポストコーディングする。
そして、ポストコーディング手段134は、判定器131から信号SS1を受けると、ポストコーディングの結果を演算器135へ出力する。一方、ポストコーディング手段134は、判定器131から信号SS2を受けると、ポストコーディングの結果を変換器137へ出力する。
演算器135は、復調器132から復調結果を受け、ポストコーディング手段134からポストコーディングの結果を受ける。そして、演算器135は、復調結果とポストコーディングの結果との排他的論理和を演算し、その演算結果を復号器136へ出力する。
復号器136は、演算器135から排他的論理和の演算結果を受け、その受けた演算結果を後述する方法によって復号し、その復号結果をアプリケーションへ出力する。また、復号器136は、復調器132から復調結果を受け、その受けた復調結果を後述する方法によって復号し、その復号結果をアプリケーションへ出力する。
変換器137は、ポストコーディング手段134からポストコーディングの結果を受け、その受けたポストコーディングの結果を用いて、後述する方法によって、受信信号s(t)から自己が搭載された無線装置(=無線装置20または無線装置30)宛ての信号を復調するための位相図を抽出し、その抽出した位相図を復調器132へ出力する。
図9および図10は、それぞれ、復号方法を説明するための第1および第2の概念図である。なお、図9および図10に示す復号方法は、Viterbi復号方法である。
Viterbi復号方法は、デコーディング中、全ての可能なデコーディングパスから、受信した信号に最も近いパスを探し出すことによって復号する方法である。
ここで、パスメトリックをpmとし、リンクメトリックをlmとし、状態をsとし、以前の状態をpsとする。また、計算中、メトリックが大きいほど、相関が高いとする。
復号器136は、k=0,s=00から開始し、復調器132または演算器135から受けた信号を用いて順次相関を算出し、可能な最適パスのみを残す。具体的な復号方法を以下に示す。
(I)復号器136は、最初、k=0,s=00,pm(k=0,s=00)=0を設定する。
(II)k=0からk=1への可能リンクは、2つある。即ち、s=00からs=00へのリンクと、s=00からs=10へのリンクである。
(i)s=00からs=00へのリンク
復号器136は、“00”のビットに相当する信号(−1,−1)と、k=1での受信信号(11)との相関を(−1)×1+(−1)×1=−2と算出し、このリンクのメトリックとしてlm(k=1,s=00→s=00)=−2を記録する。
(ii)s=00からs=10へのリンク
復号器136は、“11”のビットに相当する信号(1,1)と、k=1での受信信号(11)との相関を1×1+1×1=2として算出し、このリンクのメトリックとしてlm(k=1,s=00→s=10)=2を記録する。
そして、復号器136は、リンクメトリックをパスメトリックへ加算してパスメトリックを更新する。
pm(k=1, s=00) = pm(k=0, s=00) + lm(k=1, s=00→s=00) =-2, ps(k=1, s=00)=00(図上-2(00))
pm(k=1, s=10) = pm(k=0, s=00) + lm(k=1, s=00→s=10) =2, ps(k=1, s=10)=00(図上2(00))
(III)復号器136は、上述した処理と同じ処理によって、k=1からk=2への処理を行なう。
(IV)k=3から各状態へのリンクは、2つであり、パスの選択が必要である。
(iii)k=3,s=00への2つのパスのメトリック
復号器136は、k=3,s=00への2つのパスに対して次のようにパスメトリックを算出する。
pm'(k=3, s=00) = pm(k=2, s=00) + lm(k=3, s=00→s=00) = (-2)+(1)=-1, ps'(k=3, s=00)=00
pm"(k=3, s=00) = pm(k=2, s=01) + lm(k=3, s=01→s=00) = (4)+(-1)=3, ps"(k=3, s=00)=01
復号器136は、2番目のパスのメトリックが大きいので、2番目のパスを次のように残す。
pm(k=3, s=00)=pm"(k=3, s=00)、ps(k=3, s=00)=ps"(k=3, s=00)
(iv)k=3,s=01への2つのパスのメトリック
復号器136は、k=3,s=01への2つのパスに対して次のようにパスメトリックを算出する。
pm'(k=3, s=01) = pm(k=2, s=10) + lm(k=3, s=10→s=01) = (-2)+(-1)=-3, ps'(k=3, s=01)=10
pm"(k=3, s=01) = pm(k=2, s=11) + lm(k=3, s=11→s=01) = (0)+(1)=1, ps"(k=3, s=01)=11
復号器136は、2番目のパスのメトリックが大きいので、2番目のパスを次のように残す。
pm(k=3, s=01)=pm"(k=3, s=01)、ps(k=3, s=01)=ps"(k=3, s=01)
(v)k=3,s=10への2つのパスのメトリック
復号器136は、k=3,s=10への2つのパスに対して次のようにパスメトリックを算出する。
pm'(k=3, s=10) = pm(k=2, s=00) + lm(k=3, s=00→s=10) = (-2)+(-1)=-3, ps'(k=3, s=10)=00
pm"(k=3, s=10) = pm(k=2, s=01) + lm(k=3, s=01→s=10) = (4)+(1)=5, ps"(k=3, s=10)=01
復号器136は、2番目のパスのメトリックが大きいので、2番目のパスを次のように残す。
pm(k=3, s=10)=pm"(k=3, s=10)、ps(k=3, s=10)=ps"(k=3, s=10)
(vi)k=3,s=11への2つのパスのメトリック
復号器136は、k=3,s=11への2つのパスに対して次のようにパスメトリックを算出する。
pm'(k=3, s=11) = pm(k=2, s=10) + lm(k=3, s=10→s=11) = (-2)+(1)=-1, ps'(k=3, s=11)=10
pm"(k=3, s=11) = pm(k=2, s=11) + lm(k=3, s=11→s=11) = (0)+(-1)=-1, ps"(k=3, s=11)=11
復号器136は、2つのパスのメトリックが同じであるので、ランダムに1番目の経路を選択し、その選択した1番目の経路を次のように残す。
pm(k=3, s=11)=pm'(k=3, s=11)、ps(k=3, s=11)=ps'(k=3, s=11)
(V)復号器136は、k=3からの各状態への処理と同じ方法によって、k=4からの各状態への処理を行なう。
(VI)復号器136は、最終的に、k=6までの処理を終了する。そして、復号器136は、全てのパスにおいて、s=11へのパスが最大のメトリックを有するので、そこへのデコードパスを最適なパスとして決定する。
復号器136は、図10に示すように最適なデコードパスに沿って、各時刻kで記録した前時刻k−1での状態情報を用いて、右から左へこの最適なデコードパス上の状態遷移を算出し、それに対応するビットを算出する。
例えば、k=6,s=11から、ps=10であることがわかる。
k=5,s=10のとき、ps=01であることがわかる。
k=4,s=01のとき、ps=10であることがわかる。
k=3,s=10のとき、ps=01であることがわかる。
k=2,s=01のとき、ps=10であることがわかる。
k=1,s=10のとき、ps=00であることがわかる。
そして、k=0からk=1への状態遷移は、実線であり、ビット“1”に対応する。
k=1からk=2への状態遷移は、実線であり、ビット“1”に対応する。
k=2からk=3への状態遷移は、点線であり、ビット“0”に対応する。
k=3からk=4への状態遷移は、実線であり、ビット“1”に対応する。
k=5およびk=6でのパディングビットを無視する。
その結果、復号器136は、“1101”を復号したビット列としてアプリケーションへ出力する。
このように、復号器136は、Viterbi復号方法に従って、復調器132または演算器135から受けたビット列を復号する。
変換器137における動作について説明する。変換器137は、高レベル変調方式で変調されたネットワークコーディング信号から自己が搭載された無線装置(無線装置20)宛ての低レベル変調方式の信号を復調するための位相図からなる変換テーブルを保持している。表3に16QAMからQPSKの位相図を構築する例を示す。
まず、表3に示す変換テーブルを作成する方法について説明する。無線装置20,30からの送信データを中継する無線装置10が反復コードを用いてポストコーディングする場合、QPSKの1つのシンボルに載せる2つのビットb1b0は、b’3b’2b’1b’0=b1b1b0b0にエンコードされ、16QAMの1つのシンボルに載せるようになる。そして、無線装置10は、無線装置30宛ての16QAMの1つのシンボルで送信できるビット列a3a2a1a0と、無線装置20宛てのQPSKの1つのシンボルで送信できるビット列b1b0(b’3b’2b’1b’0)とをネットワークコーディングして1つの16QAMで無線装置20,30の両方へ送信する。
a3a2a1a0が既知である場合、b1b0(=00,01,10,11のいずれか)は、a3a2a1a0とb’3b’2b’1b’0との排他的論理和(表3では、排他的論理和の演算記号は、プラス記号を円で囲った記号によって表されている)によって求められる。
例えば、a3a2a1a0=1110であり、b1b0=00である場合、b’3b’2b’1b’0=0000となる。そして、a3a2a1a0とb’3b’2b’1b’0との排他的論理和は、1110となる。この1110は、16QAMの信号S14に相当する。同様にして、b1b0=01,10,11の各々について、a3a2a1a0とb’3b’2b’1b’0との排他的論理和を演算すると、表4に示すようになる。
そして、b1b0=00,01,10,11であるときの16QAMの信号S14,S13,S2,S1を左から順次配列すると、(S14,S13,S2,S1)16QAMが得られる。そうすると、表3に示すように、(S14,S13,S2,S1)16QAMをa3a2a1a0=1110に対応付ける。
(S14,S13,S2,S1)16QAMは、a3a2a1a0=1110である場合、b1b0(b’3b’2b’1b’0)の取り得る16QAMの信号を表す。b1b0の取り得るビット列は、00,01,10,11であり、(S14)16QAMは、b1b0=00に対応する16QAMの信号であり、(S13)16QAMは、b1b0=01に対応する16QAMの信号であり、(S2)16QAMは、b1b0=10に対応する16QAMの信号であり、(S1)16QAMは、b1b0=11に対応する16QAMの信号であるからである。
即ち、(S14,S13,S2,S1)16QAMは、a3a2a1a0=1110である場合における、変調レベルが最大の変調レベルよりも低い無線装置20宛ての取り得る16QAMの信号を表す。つまり、無線装置20宛ての16QAMの信号は、a3a2a1a0=1110である場合、(S14,S13,S2,S1)16QAMの4つのシンボルS14,S13,S2,S1のいずれかになる。
a3a2a1a0が1110以外のビット列からなる場合も、上述した方法によって、b1b0(b’3b’2b’1b’0)の取り得る16QAMの信号を算出し、その算出した16QAMの信号をa3a2a1a0に対応付けることによって、表3が作成される。
なお、表3のa3a2a1a0に対応付けられた(S14,S13,S2,S1)16QAM等の各々は、変調レベルの低い無線装置20宛ての信号を復調するための位相図である。
そして、b1b0を受信しようとする無線装置20は、自己が送信したビット列a3a2a1a0が既知であるので、ビットb1b0を復調するための位相図を表3から抽出できる。
a3a2a1a0が0000である場合、表3の第1列目の(S0,S3,S12,S15)16QAMのS0は、QPSKの位相図の第1番目のポイント(=(S0)QPSK)に相当し、S3は、QPSKの位相図の第2番目のポイント(=(S1)QPSK)に相当し、S12は、QPSKの位相図の第3番目のポイント(=(S2)QPSK)に相当し、S15は、QPSKの位相図の第4番目のポイント(=(S3)QPSK)に相当する。
表3の第2列目〜第16列目の位相図についても同様である。
変換器137は、自己が搭載された無線装置(=無線装置20または無線装置30)が送信した送信データのうち、無線装置10によって送信先へ中継された送信データに対してチャネルコーディングおよびポストコーディングを順次施したビット列pをポストコーディング手段134から受ける。
ここで、ビット列pは、例えば、“11100010”からなるものとする。また、受信信号s(t)は、例えば、(S1S1)16QAMからなるものとする。
変換器137は、ビット列p=“11100010”をポストコーディング手段134から受けると、ビット列p=“11100010”の最初の4ビット“1110”をa3a2a1a0として抽出し、その抽出したa3a2a1a0=“1110”に対応する(S14,S13,S2,S1)16QAMを表3から抽出し、その抽出した(S14,S13,S2,S1)16QAMを復調器132へ出力する。復調器132は、受信信号s(t)の一番目の信号に含まれるQPSKのシンボルに相当するビットb1b0を復調するための位相図として(S14,S13,S2,S1)16QAMを使用する。
論理的には、変換器137は、受信信号s(t)=(S1S1)16QAMの1番目のシンボルがS1であるので、その抽出した(S14,S13,S2,S1)16QAMにおけるS1の位置(=4番目のポイント)を検出する。その後、変換器137は、受信信号s(t)=(S1S1)16QAMの1番目のシンボルS1が(S14,S13,S2,S1)16QAMの4番目に含まれており、かつ、(S14,S13,S2,S1)16QAMの4番目のポイントは、QPSKの4番目のポイントS3に相当するので、受信信号s(t)=(S1S1)16QAMの1番目のシンボルS1を(S3)QPSKに変換する。
次に、変換器137は、ビット列p=“11100010”の残りの4ビット“0010”をa3a2a1a0として抽出し、その抽出したa3a2a1a0=“0010”に対応する(S2,S1,S14,S13)16QAMを表3から抽出し、その抽出した(S2,S1,S14,S13)16QAMを復調器132へ出力する。復調器132は、受信信号s(t)の二番目の信号に含まれるQPSKのシンボルに相当するビットb1b0を復調するための位相図として(S2,S1,S14,S13)16QAMを使用する。
論理的には、変換器137は、受信信号s(t)=(S1S1)16QAMの2番目のシンボルがS1であるので、その抽出した(S2,S1,S14,S13)16QAMにおけるS1の位置(=2番目のポイント)を検出する。その後、変換器137は、受信信号s(t)=(S1S1)16QAMの2番目のシンボルS1が(S2,S1,S14,S13)16QAMの2番目に含まれており、かつ、(S2,S1,S14,S13)16QAMの2番目のポイントは、QPSKの2番目のポイントS1に相当するので、受信信号s(t)=(S1S1)16QAMの2番目のシンボルS1を(S1)QPSKに変換する。
このように、変換器137は、表3に示す変換テーブルを用いて、時系列な位相図(S14,S13,S2,S1)16QAMと位相図(S2,S1,S14,S13)16QAMとを抽出し、その抽出した位相図(S14,S13,S2,S1)16QAM,(S2,S1,S14,S13)16QAMをQPSK位相図として復調器132へ出力する。復調器132は、変換器137から受けたQPSK位相図を用いて受信信号s(t)に対してQPSK復調を行い、自己宛ての情報を得る。
図11は、16QAMの位相図の概念図である。無線装置10の送信手段6は、データ生成手段5から受けたビット列を図11に示す位相図のグレーコードを用いて変調する。より具体的には、送信手段6は、データ生成手段5から受けたビット列が“00110110”からなる場合、図11に示す位相図を参照して、ビット列“00110110”の最初の4ビット“0011”をS3に置き換え、ビット列“00110110”の残りの4ビット“0110”をS6に置き換えることによって、ビット列“00110110”を(S3S6)16QAMに変調する。そして、送信手段6は、その変調した(S3S6)16QAMをアンテナ1を介して送信する。
図12は、図1に示す無線通信システム100における無線通信方法を説明するためのフローチャートである。
なお、図12の説明においては、無線装置20は、QPSKの変調方式を用いて送信データを変調し、無線装置30は、16QAMの変調方式を用いて送信データを変調するものとする。また、無線装置20は、コーディングレートc1=1/2、および変調レベルm1=2によって決定された最大送信レートr1=(1/2)×2=1(bit/symbol)を用いて送信データを送信し、無線装置30は、コーディングレートc2=1/2、および変調レベルm2=4によって決定された最大送信レートr2=(1/2)×4=2(bit/symbol)を用いて送信データを送信するものとする。更に、フレーム長を“2”(symbol)とする。その結果、無線装置10は、1つのフレームを用いて2×r1=2×1=2(bit)を無線装置20へ送信でき、1つのフレームを用いて2×r2=2×2=4(bit)を無線装置30へ送信できるものとする。
図12を参照して、一連の動作が開始されると、無線装置20の生成手段14は、アプリケーションからデータを受け、その受けたデータをエンコードして送信データ“11”,“01”を生成する。そして、無線装置20の生成手段14は、送信データ“11”,“01”を送信手段16へ順次出力する。
そして、無線装置20の送信手段16は、送信データ“11”,“01”にチャネルコーディングを施してからQPSKの変調方式によって順次変調し、その変調した送信データ“11”,“01”をアンテナ11を介して無線装置10へ順次送信する(ステップS1)。
その後、無線装置10の受信手段2は、QPSKの変調方式によって変調された送信データ“11”,“01”を順次受信する(ステップS2)。また、無線装置10の検出手段3は、受信手段2が送信データ“11”,“01”を受信したときの信号対雑音比SNR1,SNR2を検出し、その検出した信号対雑音比SNR1,SNR2を決定手段4へ出力する。
そして、無線装置20の生成手段14は、送信データ“1101”をバッファ15に保存する(ステップS3)。
一方、無線装置10の受信手段2は、受信データ“11”,“01”をデータ生成手段5へ出力し、データ生成手段5は、受信データ“11”,“01”を復調および復号し、データ“1101”を算出する(ステップS4)。
引き続いて、無線装置30の生成手段14は、アプリケーションからデータを受け、その受けたデータをエンコードして送信データ“1011”を生成する。そして、無線装置30の生成手段14は、送信データ“1011”を送信手段16へ出力する。
無線装置30の送信手段16は、送信データ“1011”にチャネルコーディングを施してから16QAMの変調方式によって変調し、その変調した送信データ“1011”をアンテナ11を介して無線装置10へ送信する(ステップS5)。
その後、無線装置10の受信手段2は、16QAMの変調方式によって変調された送信データ“1011”を受信する(ステップS6)。また、無線装置10の検出手段3は、受信手段2が送信データ“1011”を受信したときの信号対雑音比SNR3を検出し、その検出した信号対雑音比SNR3を決定手段4へ出力する。
そして、無線装置30の生成手段14は、送信データ“1011”をバッファ15に保存する(ステップS7)。
一方、無線装置10の受信手段2は、受信データ“1011”をデータ生成手段5へ出力し、データ生成手段5は、受信データ“1011”を復調および復号し、データ“1011”を算出する(ステップS8)。
そして、無線装置10の決定手段4は、検出手段3から信号対雑音比SNR1,SNR2を受け、その受けた信号対雑音比SNR1,SNR2に対応する送信レートr1=1.00(bit/symbol)をテーブルTBLを参照して抽出する。また、無線装置10の決定手段4は、検出手段3から信号対雑音比SNR3を受け、その受けた信号対雑音比SNR3に対応する送信レートr2=2.00(bit/symbol)をテーブルTBLを参照して抽出する。
そうすると、無線装置10の決定手段4は、その抽出した送信レートr1=1.00(bit/symbol),r2=2.00(bit/symbol)をデータ生成手段5へ出力する。
無線装置10のデータ生成手段5は、送信レートr1=1.00(bit/symbol),r2=2.00(bit/symbol)にフレーム長(=2)を乗算して送信フレーム長FL1=2bits,FL2=4bitsを決定する。
そして、無線装置10のデータ生成手段5は、無線装置30から無線装置20への送信データ“1011”から送信フレーム長FL1=2bitsを有するデータ“10”を抽出し、P1,u=“10”を作成する。また、無線装置10のデータ生成手段5は、無線装置20から無線装置30への送信データ“1101”から送信フレーム長FL2=4bitsを有するデータ“1101”を抽出し、P2,u=“1101”を作成する。
即ち、無線装置10は、信号対雑音比SNRに基づいて、無線装置20,30への送信レートr1,r2と、送信フレーム長FL1,FL2とを決定し、P1,u=“10”,P2,u=“1101”を作成する(ステップS9)。
そして、無線装置10のデータ生成手段5は、上述した方法によって、P1,u=“10”をチャネルコーディングしてP1,c=“1101”を作成し、P2,u=“1101”をチャネルコーディングしてP2,c=“11100010”を作成する(ステップS10)。
その後、無線装置10のデータ生成手段5は、1/2の反復コードを用いてP1,c=“1101”をP1=“11110011”へポストコーディングする。これによって、P1=“11110011”は、P2=P2,c=“11100010”と同じ長さを有する。
そして、無線装置10のデータ生成手段5は、P1とP2との排他的論理和を演算することによってP1,P2をネットワークコーディングする。
即ち、無線装置10は、P1,c,P2,cのポストコーディングを行なってP1,P2を算出し、P1,P2をネットワークコーディングする(ステップS11)。
このように、無線装置10は、無線装置20が採用する変調方式(QPSK)の変調レベルm1=2と、無線装置30が採用する変調方式(16QAM)の変調レベルm2=4とのうち、最大の変調レベルm2=4を有するP2,c=“11100010”以外のP1,c=“1101”をポストコーディングして変調レベルが同じであるP1,P2を生成する。
P1,P2をネットワークコーディングしたものをPSUMとすると、PSUM=“00010001”となる。無線装置10のデータ生成手段5は、P1,P2をネットワークコーディングすると、PSUM=“00010001”を送信手段6へ出力する。
そして、無線装置10の送信手段6は、PSUM=“00010001”を16QAMの変調方式によって変調してxSUM=(S1,S1)16QAMを生成し(図11参照)、その生成したxSUM=(S1,S1)16QAMをアンテナ1を介して無線装置20,30へ送信する(ステップS12)。
無線装置30の受信手段12は、アンテナ11を介して受信信号s2(t)を受信し、その受信した受信信号s2(t)を処理手段13へ出力する。そして、無線装置30の処理手段13において、判定器131は、受信信号s2(t)を受信手段12から受ける。
その後、無線装置30の判定器131は、受信信号s2(t)の変調レベルが自端末(=無線装置30)宛ての信号の変調レベルと同じであるか否かを判定する。この場合、受信信号s2(t)の変調レベルは、“4”である。また、無線装置30宛ての信号の変調レベルも、“4”である。従って、無線装置30の判定器131は、受信信号s2(t)の変調レベルが自端末(=無線装置30)宛ての信号の変調レベルと同じであると判定する。
そして、無線装置30の判定器131は、信号SS0,SS1を生成し、その生成した信号SS0をチャネルコーディング手段133へ出力し、その生成した信号SS1をポストコーディング手段134へ出力する。また、無線装置30の判定器131は、受信信号s2(t)を復調器132へ出力する。
無線装置30の復調器132は、受信信号s2(t)を復調し、PSUM=“00010001”を算出する(ステップS13)。そして、無線装置30の復調器132は、その復調後のPSUM=“00010001”を演算器135へ出力する。
一方、無線装置30のチャネルコーディング手段133は、判定器131から信号SS0を受けると、バッファ15から送信データ“1011”を読み出し、その読み出した送信データ“1011”のうち、無線装置10から無線装置20へ送信されたデータ“10”を抽出する。
そして、無線装置30のチャネルコーディング手段133は、上述した方法によって、データ“10”を“1101”にチャネルコーディングし、そのチャネルコーディング後のデータ“1101”をポストコーディング手段134へ出力する。その後、無線装置30のポストコーディング手段134は、チャネルコーディング手段133からのデータ“1101”をポストコーディングしてP1=“11110011”を生成する。即ち、無線装置30は、データ“10”を元にP1を算出する(ステップS14)。
そうすると、無線装置30のポストコーディング手段134は、判定器131からの信号SS1に応じて、P1=“11110011”を演算器135へ出力する。
無線装置30の演算器135は、復調器132からPSUM=“00010001”を受け、ポストコーディング手段134からP1=“11110011”を受ける。そうすると、無線装置30の演算器135は、PSUM=“00010001”とP1=“11110011”との排他的論理和を演算してP2,c=“11100010”を算出し、その算出したP2,c=“11100010”を復号器136へ出力する。
無線装置30の復号器136は、演算器135からP2,c=“11100010”を受け、その受けたP2,c=“11100010”を上述した方法によってチャネルデコーディングし、P2,u=“1101”を得る(ステップS15)。
一方、無線装置20の受信手段12は、上述したステップS12の後、アンテナ11を介して受信信号s1(t)を受信し、その受信した受信信号s1(t)を処理手段13へ出力する。
そして、無線装置20の処理手段13において、判定器131は、受信信号s1(t)を受信手段12から受ける。
その後、無線装置20の判定器131は、受信信号s1(t)の変調レベルが自端末(=無線装置20)宛ての信号の変調レベルと同じであるか否かを判定する。この場合、受信信号s1(t)の変調レベルは、“4”である。また、自端末(=無線装置20)宛ての信号の変調レベルは、“2”である。従って、無線装置20の判定器131は、受信信号s1(t)の変調レベルが自端末(=無線装置20)宛ての信号の変調レベルと同じでないと判定する。
そして、無線装置20の判定器131は、信号SS0,SS2を生成し、その生成した信号SS0をチャネルコーディング手段133へ出力し、その生成した信号SS2をポストコーディング手段134へ出力する。また、無線装置20の判定器131は、受信信号s1(t)を復調器132へ出力する。
無線装置20のチャネルコーディング手段133は、判定器131から信号SS0を受けると、バッファ15から送信データ“1101”を読み出し、その読み出した送信データ“1101”のうち、無線装置10から無線装置30へ送信されたデータ“1101”を抽出する。
そして、無線装置20のチャネルコーディング手段133は、上述した方法によって、データ“1101”をデータ“11100010”にチャネルコーディングし、そのチャネルコーディングしたデータ“11100010”をポストコーディング手段134へ出力する。
無線装置20のポストコーディング手段134は、受信信号s(t)に含まれる他の無線装置30への信号に対応する、チャネルコーディング手段133から受けたデータ“11100010”にポストコーディングする。即ち、無線装置20は、データ“1101”を元にP2=“11100010”を算出する(ステップS16)。
そうすると、無線装置20のポストコーディング手段134は、判定器131からの信号SS2に応じて、ポストコーディング後のP2=“11100010”を変換器137へ出力する。
無線装置20の変換器137は、ポストコーディング手段134からP2=“11100010”を受ける。
そして、無線装置20の変換器137は、P2=“11100010”の最初の4ビット“1110”を既知情報とし、QPSKの位相図に基づいて、上述した方法によって、受信信号s1(t)=(S1S1)16QAMの最初のシンボルから無線装置20宛てのビートを復調するためのQPSK位相図(S14,S13,S2,S1)16QAMを抽出する。そして、無線装置20の変換器137は、P2=“11100010”の残りの4ビット“0010”を既知情報とし、QPSKの位相図に基づいて、上述した方法によって、受信信号s1(t)=(S1S1)16QAMの2番目のシンボルから無線装置20宛てのビットを復調するためのQPSK位相図(S2,S1,S14,S13)16QAMを抽出する(ステップS17)。このように、論理的には、無線装置20の変換器137は、受信信号s1(t)=(S1S1)16QAMを(S3S1)QPSKへ変換する。
そうすると、無線装置20の変換器137は、位相図(S14,S13,S2,S1)16QAMと位相図(S2,S1,S14,S13)16QAMとを復調器132へ出力する。QPSKの変調方式においては、s1(t)=(S1,S1)16QAMにおける2つのシンボルS1,S1がそれぞれ “11”,“01”に対応するので、無線装置20の変調器132は、s1(t)からP1,c=“1101”を復調し、その復調したP1,c=“1101”を復号器136へ出力する。
無線装置20の復号器136は、復調器132からP1,c=“1101”を受け、その受けたP1,c=“1101”を上述した方法によってチャネルデコーディング(=復号)してP1,u=“10”を取得する。即ち、無線装置20は、P1,cを算出し、P1,uを復号する(ステップS18)。
そして、ステップS15,S18の後、一連の動作が終了する。
なお、この発明の実施の形態においては、自己宛ての信号は、中継無線装置である無線装置10が自己に送信する信号を言う(以下、同じ。)。例えば、無線装置30にとって、自己宛ての信号とは、P2,c=“11100010”を言い、無線装置20にとって、自己宛ての信号とは、P1,c=“1101”を言う。
上述したように、無線装置10の受信手段2は、無線装置20,30から変調レベルが異なる複数の送信データ“1101”,“1011”を受信する(ステップS2,S6参照)。
また、無線装置20は、自己の送信データ“1101”をバッファ15に格納しておき、その格納した送信データ“1101”に対してチャネルコーディングおよびポストコーディングを順次施してP2を生成し、その生成したP2を既知情報として用いて、QPSK位相図を抽出し、16QAMによって変調された信号xSUM=(S1S1)16QAMに対してQPSK復調を行ってから復号する。論理的には、無線装置20は、自己から無線装置30への送信データ“1101”を既知情報として用いて、16QAMによって変調された信号xSUM=(S1S1)16QAMをQPSKの変調方式による信号(S3S1)QPSKに変換し、その変換した信号(S3S1)QPSKを復調および復号する(ステップS16〜S18参照)。
更に、無線装置30は、自己の送信データ“1011”をバッファ15に格納しておき、送信データ“1011”のうち、無線装置10から無線装置20へ送信された送信データ“10”を抽出し、その抽出した送信データ“10”に対してチャネルコーディングおよびポストコーディングを順次施してP1を生成し、その生成したP1とPSUMとの排他的論理和を演算してP2を算出し、その算出したP2を復号する(ステップS13〜S15参照)。
従って、無線装置20,30の各々は、自己の送信データを既知情報として用いることによって、自己宛ての送信データを復号する。そして、PSUMは、無線装置20から送信された送信データ“1101”に基づいて生成されたP2と、無線装置30から送信された送信データ“1011”に基づいて生成されたP1との排他的論理和である。その結果、自己宛ての信号の変調レベルがPSUMの変調レベルと同じである無線装置30は、P1とPSUMとの排他的論理和を演算することによってP2を算出でき、P2を復号することによって自己宛ての送信データ“1101”を取得できる。
また、自己宛ての信号の変調レベルがPSUMの変調レベルと同じでない無線装置20は、自己の送信データ“1101”に基づいて生成したP2を既知情報として用いて自己宛ての信号を復調するための位相図を変換テーブル(表3参照)から抽出し、その抽出した位相図を用いて自己宛ての送信データを復調および復号し、自己宛ての送信データ“10”を取得できる。
上述したように、無線装置20は、送信データ“11”,“01”を無線装置10へ順次送信し、無線装置30は、送信データ“1011”を無線装置10へ送信し、無線装置10は、送信データ“11”,“01”から、無線装置30へ1つのフレームで送信可能な送信フレーム長を有する送信データ“1101”を抽出し、送信データ“1011”から、無線装置20へ1つのフレームで送信可能な送信フレーム長を有する送信データ“10”を抽出する。
そして、無線装置10は、送信データ“1101”,“10”をチャネルコーディングするとともに、異なる変調レベルの信号を性能劣化させずに同時に送信できるように、ポストコーディングを行い、そのポストコーディング後の送信データの排他的論理和を演算して無線装置20,30へ送信する。
その結果、無線装置10−無線装置20間と、無線装置10−無線装置30間とで、送信レートが異なっている場合でも、無線装置10は、1回だけ中継を行う。
従って、送信レートが異なる複数のリンクを用いて送信された複数のデータを効率良く中継できる。
表5は、各種の転送方法による送信レートおよび送信ビット数の比較を示す。
従来、通常に行われている復号転送法の場合、送信レートは、r1/2+r2/2となり、無線装置10は、各無線装置20,30ごとに1つのシンボルを使用して転送するので、送信ビット数は、3ビットとなる。
また、従来のネットワークコーディング法では、送信レートは、min(r1,r2)×2となり、無線装置10は、2つのシンボルを使用して転送するので、送信ビット数は、4ビットとなる。
更に、本発明のネットワークコーディング法では、送信レートは、r1+r2となり、無線装置10は、2つのシンボルを使用して送信するので、送信ビット数は、(SUMri)×2=6ビットである。
このように、本発明のネットワークコーディング法では、従来の方法に比べ、より多くのビット数を中継できる。
従って、データを効率良く中継できる。
表6は、ポストコーディングの方法を示す。
表6において、使用可能な変調方式とは、上述した無線装置10におけるネットワークコーディングに適用可能な2つの変調方式を言う。そして、無線装置20,30がそれぞれBPSK,QPSKの変調方式を採用する場合、無線装置20の送信データの“0”,“1”がそれぞれ“00”,“11”にポストコーディングされる。
また、無線装置20,30がそれぞれBPSK,16QAMの変調方式を採用する場合、無線装置20の送信データの“0”,“1”がそれぞれ“0000”,“1111”にポストコーディングされる。
更に、無線装置20,30がそれぞれQPSK,64QAMの変調方式を採用する場合、無線装置20の送信データの“00”,“01”,“10”,“11”がそれぞれ“000000”,“000110”,“110000”,“110110”にポストコーディングされる。
更に、無線装置20,30がそれぞれ16QAM,64QAMの変調方式を採用する場合、無線装置20の送信データの“0000”,“0001”,“0010”,“0011”,“0100”,“0101”,“0110”,“0111”,“1000”,“1001”,“1010”,“1011”,“1100”,“1101”,“1110”,“1111”がそれぞれ“000000”,“000011”,“000101”,“000110”,“011000”,“011011”,“011101”,“011110”,“101000”,“101011”,“101101”,“101110“,110000”,“110011”,“110101”,“110110”にポストコーディングされる。
そして、BPSK,QPSK,16QAM,64QAMにおける送信フレーム長は、それぞれ、1ビット、2ビット、4ビットおよび6ビットである。
そうすると、無線装置20,30がそれぞれBPSK,QPSKの変調方式を採用した場合、無線装置20は、2つの送信データa0,a1を無線装置10へ順次送信し、無線装置30は、送信データb1b0を無線装置10へ送信する。
そして、無線装置10は、2つの送信データa0,a1のうち、無線装置30へ送信可能な2つの送信データa0,a1を選択し、その選択した2つの送信データa0,a1を1つの送信データa0a1とし、送信データa0a1を上述した方法によってa01a02a11a12にチャネルコーディングする。
また、無線装置10は、送信データb1b0のうち、無線装置20へ送信可能な送信データb1を選択し、その選択した送信データb1を上述した方法によってb11b12にチャネルコーディングする。そして、無線装置10は、チャネルコーディング後のb11b12をb111b112b121b122にポストコーディングする。
その結果、a01a02a11a12の長さは、b111b112b121b122の長さに一致するので、無線装置10は、a01a02a11a12とb111b112b121b122との排他的論理和を演算してPSUMを算出する。
また、無線装置20,30がそれぞれBPSK,16QAMの変調方式を採用した場合、無線装置20は、4つの送信データa0,a1,a2,a3を無線装置10へ順次送信し、無線装置30は、送信データb3b2b1b0を無線装置10へ送信する。
そして、無線装置10は、4つの送信データa0,a1,a2,a3のうち、無線装置30へ送信可能な4つの送信データa0,a1,a2,a3を選択し、その選択した4つの送信データa0,a1,a2,a3を1つの送信データa0a1a2a3とし、送信データa0a1a2a3を上述した方法によってa01a02a11a12a21a22a31a32にチャネルコーディングする。
また、無線装置10は、送信データb3b2b1b0のうち、無線装置20へ送信可能な送信データb3を選択し、その選択した送信データb3を上述した方法によってb31b32にチャネルコーディングする。そして、無線装置10は、チャネルコーディング後のb31b32をb311b312b313b314b321b322b323b324にポストコーディングする。
その結果、a01a02a11a12a21a22a31a32の長さは、b311b312b313b314b321b322b323b324の長さに一致するので、無線装置10は、a01a02a11a12a21a22a31a32とb311b312b313b314b321b322b323b324との排他的論理和を演算してPSUMを算出する。
更に、無線装置20,30がそれぞれQPSK,64QAMの変調方式を採用した場合、無線装置20は、3つの送信データa0a1,a2a3,a4a5を無線装置10へ順次送信し、無線装置30は、送信データb5b4b3b2b1b0を無線装置10へ送信する。
そして、無線装置10は、3つの送信データa0a1,a2a3,a4a5のうち、無線装置30へ送信可能な3つの送信データa0a1,a2a3,a4a5を選択し、その選択した3つの送信データa0a1,a2a3,a4a5を1つの送信データa0a1a2a3a4a5とし、送信データa0a1a2a3a4a5を上述した方法によってa01a02a11a12a21a22a31a32a41a42a51a52にチャネルコーディングする。
また、無線装置10は、送信データb5b4b3b2b1b0のうち、無線装置20へ送信可能な送信データb5b4を選択し、その選択した送信データb5b4を上述した方法によってb51b52b41b42にチャネルコーディングする。そして、無線装置10は、チャネルコーディング後のb51b52b41b42をb511b512b513b521b522b523b411b412b413b421b422b423にポストコーディングする。
その結果、a01a02a11a12a21a22a31a32a41a42a51a52の長さは、b511b512b513b521b522b523b411b412b413b421b422b423の長さに一致するので、無線装置10は、a01a02a11a12a21a22a31a32a41a42a51a52とb511b512b513b521b522b523b411b412b413b421b422b423との排他的論理和を演算してPSUMを算出する。
更に、無線装置20,30がそれぞれ16QAM,64QAMの変調方式を採用した場合、無線装置20は、2つの送信データa0a1a2a3,a4a5a6a7を無線装置10へ順次送信し、無線装置30は、送信データb5b4b3b2b1b0を無線装置10へ送信する。
そして、無線装置10は、2つの送信データa0a1a2a3,a4a5a6a7のうち、無線装置30へ送信可能な送信データa0a1a2a3a4a5を選択し、その選択した送信データa0a1a2a3a4a5を上述した方法によってa01a02a11a12a21a22a31a32a41a42a51a52にチャネルコーディングする。
また、無線装置10は、送信データb5b4b3b2b1b0のうち、無線装置20へ送信可能な送信データb5b4b3b2を選択し、その選択した送信データb5b4b3b2を上述した方法によってb51b52b41b42b31b32b21b22にチャネルコーディングする。そして、無線装置10は、チャネルコーディング後の(b51b52b41b42),(b31b32b21b22)をそれぞれ(c21c22c23c24c25c26),(c11c12c13c14c15c16)にポストコーディングする。
その結果、a01a02a11a12a21a22a31a32a41a42a51a52の長さは、c21c22c23c24c25c26c11c12c13c14c15c16の長さに一致するので、無線装置10は、a01a02a11a12a21a22a31a32a41a42a51a52とc21c22c23c24c25c26c11c12c13c14c15c16との排他的論理和を演算してPSUMを算出する。
なお、無線装置20,30がそれぞれQPSK,16QAMの変調方式を採用する場合については、上述したとおりである。
従って、無線装置20,30が表6に示す変調方式の組み合わせのいずれかを採用する場合、無線装置10は、チャネルコーディングおよびポストコーディングによって同じ長さの2つの送信データを生成し、その生成した2つの送信データの排他的論理和を演算してPSUMを生成する。
その結果、無線装置20,30が表6に示す変調方式の組み合わせのいずれかを採用する場合も、無線装置10は、上述した方法によって、無線装置20,30からの送信データをネットワークコーディングして1回の無線通信によって無線装置20,30へ中継でき、無線装置20,30は、無線装置10によって中継されたデータに基づいて自己宛ての送信データを復号できる。
無線装置20,30がそれぞれBPSK,QPSKの変調方式を採用した場合、無線装置20は、無線装置10から受信したQPSKで変調された受信信号s(t)からBPSKの信号を復調および復号する。
この場合、無線装置20の変換器137は、表7に示す変換テーブルを上述した方法によって構築して保持しており、その保持している変換テーブルを参照して、上述した方法によって、受信信号s(t)から自己宛ての信号を復調するためのBPSK位相図を抽出する。そして、変換器137は、その抽出した位相図を復調器132へ出力する。そうすると、無線装置20の復調器132は、判定器131から受けた受信信号s(t)を変換器137から受けた位相図を用いてBPSKの信号に復調して復号器136へ出力し、復号器136は、復調器132から受けた信号を上述した方法によって復号する。これによって、無線装置20は、自己宛ての送信データを取得する。
また、無線装置20,30がそれぞれBPSK,16QAMの変調方式を採用した場合、無線装置20は、無線装置10から受信した16QAMで変調された受信信号s(t)からBPSKの信号を復調および復号する。この場合、無線装置20は、上述した方法によって表3に示すような変換テーブルを構築して保持しており、その保持している変換テーブルを参照して、受信信号s(t)から自己宛ての信号を復調するためのBPSK位相図を変換テーブルから抽出し、その抽出した位相図を用いて受信信号s(t)をBPSKの信号に復調し、その復調した信号を復号して自己宛ての送信データを取得する。
更に、無線装置20,30がそれぞれQPSK,64QAMの変調方式を採用する場合、または無線装置20,30がそれぞれ16QAM,64QAMの変調方式を採用する場合も、無線装置20の変換器137は、上述した方法によって表3に示すような変換テーブルを構築して保持しており、その保持している変換テーブルを参照して、64QAMで変調された受信信号s(t)を復調するためのQPSK位相図、または64QAMで変調された受信信号s(t)を復調するための16QAM位相図を抽出して復調器132へ出力する。そして、無線装置20の復調器132は、判定器131から受けた受信信号s(t)を変換器137から受けた位相図を用いてQPSKまたは16QAMの信号に復調して復号器136へ出力し、復号器136は、復調器132から受けた信号を上述した方法によって復号する。これによって、無線装置20は、自己宛ての送信データを取得する。従って、無線装置20は、自己宛ての送信データを復号できる。
図13は、この発明の実施の形態による他の無線通信システムの概略図である。この発明の実施の形態による無線通信システムは、図13に示す無線通信システム200であってもよい。
図13を参照して、無線通信システム200は、無線装置110,120,130,140を備える。無線装置110,120,130,140は、無線通信空間に配置され、パケットを相互に送受信可能である。より具体的には、無線装置110は、無線装置120,130,140との間で、直接、データを送受信可能であり、無線装置120,130,140は、相互に、直接、データを送受信可能である。
無線装置110は、図2に示す無線装置10と同じ構成からなる。そして、無線装置110は、無線装置120,130,140から送信された送信データP1,u,P2,u,P3,uを無線装置10と同じ方法によってネットワークコーディングし、そのネットワークコーディングした送信データPNCを無線装置120,130,140へ送信する。
無線装置120は、送信データを無線装置140へ送信し、無線装置130は、送信データを無線装置120へ送信し、無線装置140は、送信データを無線装置130へ送信するものとする。また、無線装置120,130における送信フレーム長は、2ビットであり、無線装置140における送信フレーム長は、4ビットであるものとする。
無線装置120は、無線装置140への送信データP1,uをQPSKの変調方式を用いて無線装置110へ送信する。また、無線装置120は、無線装置110からネットワークコーディングされた送信データPNCを受信するとともに、無線装置140から無線装置130宛ての送信データP3,uを受信する。そして、無線装置120は、送信データP1,u,P3,u,PNCに基づいて、後述する方法によって、無線装置130から無線装置120宛てに送信された送信データP2,uを復号する。
無線装置130は、無線装置120への送信データP2,uをQPSKの変調方式を用いて無線装置110へ送信する。また、無線装置130は、無線装置110からネットワークコーディングされた送信データPNCを受信するとともに、無線装置120から無線装置140宛ての送信データP1,uを受信する。そして、無線装置130は、送信データP1,u,P2,u,PNCに基づいて、後述する方法によって、無線装置140から無線装置130宛てに送信された送信データP3,uを復号する。
無線装置140は、無線装置130への送信データP3,uを16QAMの変調方式を用いて無線装置110へ送信する。また、無線装置140は、無線装置110からネットワークコーディングされた送信データPNCを受信するとともに、無線装置130から無線装置120宛ての送信データP2,uを受信する。そして、無線装置140は、送信データP2,u,P3,u,PNCに基づいて、後述する方法によって、無線装置120から無線装置140宛てに送信された送信データP1,uを復号する。
図14は、図13に示す無線装置120の構成を示す概略図である。図14を参照して、無線装置120は、図3に示す無線装置20の受信手段12および処理手段13をそれぞれ受信手段12Aおよび処理手段13Aに代えたものであり、その他は、無線装置20と同じである。
受信手段12Aは、送信データP3,u,PNCをアンテナ11を介して受信し、その受信した送信データP3,uをバッファ15に格納するとともに、送信データPNCを処理手段13Aへ出力する。
処理手段13Aは、受信手段12から送信データPNCを受ける。また、処理手段13Aは、バッファ15から送信データP1,u,P3,uを読み出す。そして、処理手段13Aは、送信データP1,u,P3,u,PNCに基づいて、後述する方法によって、無線装置130から無線装置120へ送信された送信データP2,uを復号する。
図15は、図14に示す処理手段13Aの構成を示す概略図である。図15を参照して、処理手段13Aは、図8に示す処理手段13の判定器131および変換器137をそれぞれ判定器131Aおよび変換器137Aに代え、演算器138を追加したものであり、その他は、処理手段13と同じである。
判定器131Aは、受信信号s(t)を受信手段12Aから受ける。そして、判定器131Aは、判定器131と同じ方法によって、受信信号s(t)の変調レベルが自端末(=無線装置120)宛ての信号の変調レベルと同じであるか否かを判定する。
判定器131Aは、受信信号s(t)の変調レベルが自端末(=無線装置120)宛ての信号の変調レベルと同じであると判定したとき、信号SS0,SS1を生成し、その生成した信号SS0をチャネルコーディング手段133へ出力し、その生成した信号SS1を演算器138へ出力する。また、判定器131Aは、受信信号s(t)を復調器132へ出力する。
一方、判定器131Aは、受信信号s(t)の変調レベルが自端末(=無線装置120)宛ての信号の変調レベルと同じでないと判定したとき、信号SS0,SS2を生成し、その生成した信号SS0をチャネルコーディング手段133へ出力し、その生成した信号SS2を演算器138へ出力する。
演算器135Aは、復調器132から復調結果を受け、演算器138から排他的論理和を受ける。そして、演算器135Aは、復調結果と、排他的論理和との排他的論理和を演算し、その演算結果を復号器136へ出力する。
変換器137Aは、演算器138から排他的論理和の演算結果を受け、その受けた排他的論理和の演算結果を既知情報として、変換器137と同じ方法によって、受信信号s(t)から自己が搭載された無線装置(=無線装置20または無線装置30)宛ての信号を復調するための位相図を変換テーブル(表3)から抽出し、その抽出した位相図を復調器132へ出力する。
演算器138は、ポストコーディング手段134からポストコーディングされた2つのデータを受け、その受けた2つのデータの排他的論理和を演算する。そして、演算器138は、判定器131Aから信号SS1を受けた場合、排他的論理和の演算結果を演算器135Aへ出力し、判定器131Aから信号SS2を受けた場合、排他的論理和の演算結果を変換器137Aへ出力する。
なお、図13に示す無線装置130,140の各々も、図14および図15に示す無線装置120と同じ構成からなる。
図16は、図13に示す無線通信システム200における無線通信方法を説明するためのフローチャートである。
図16を参照して、一連の動作が開始されると、無線装置120は、上述した無線装置20と同じ動作によって、送信データ“11”,“01”にチャネルコーディングを施してからQPSKの変調方式を用いて、送信データ“11”を無線装置110へ送信し、その後、送信データ“01”を無線装置110へ送信する(ステップS21)。
そして、無線装置110は、送信データ“11”,“01”を順次受信する(ステップS22)。
その後、無線装置120は、送信データ“1101”をバッファ15に保存する(ステップS23)。また、無線装置130は、無線装置120から送信データ“1101”を受信し、その受信した送信データ“1101”をバッファ15に保存する(ステップS24)。
引き続いて、無線装置130は、送信データ“10”,“01”にチャネルコーディングを施してからQPSKの変調方式を用いて、送信データ“10”を無線装置110へ送信し、その後、送信データ“01”を無線装置110へ送信する(ステップS25)。
そして、無線装置110は、送信データ“10”,“01”を順次受信し(ステップS26)、無線装置140は、無線装置130から送信された送信データ“1001”を受信してバッファ15に保存する(ステップS27)。
その後、無線装置130が送信データ“1001”をバッファ15に保存する(ステップS28)。
そして、無線装置110は、受信データ“11”,“01”を復調および復号し、データ“1101”を算出する(ステップS29)。同様に、無線装置110は、受信データ“10”,“01”を復調および復号し、データ“1001”を算出する(ステップS30)。
その後、無線装置140は、16QAMの変調方式によって、送信データ“1011”を送信し(ステップS31)、無線装置110は、送信データ“1011”を受信する(ステップS32)。
そして、無線装置140は、送信データ“1011”をバッファ15に格納する(ステップS33)。また、無線装置120は、送信データ“1011”を受信してバッファ15に保存する(ステップS34)。
その後、無線装置110は、受信データ“1011”を復調および復号し、データ“1011”を算出する(ステップS35)。
引き続いて、無線装置110は、無線装置10と同じ方法によって、無線装置110−無線装置120間のリンク、無線装置110−無線装置130間のリンク、および無線装置110−無線装置140間のリンクにおける送信レートr1=1bit/sym(QPSK変調方式、コーディングレート1/2),r2=1bit/sym(QPSK変調方式、コーディングレート1/2),r3=2bit/sym(16QAM変調方式、コーディングレート1/2)と、送信フレーム長FL1,FL2,FL3とを決定する。そして、無線装置110は、無線装置130から無線装置120へ送信された送信データ“1001”から送信フレーム長FL1(=2ビット)を有するデータ“10”を抽出し、送信データP1,u=“10”を作成する。また、無線装置110は、無線装置140から無線装置130へ送信された送信データ“1011”から送信フレーム長FL2(=2ビット)を有するデータ“10”を抽出し、送信データP2,u=“10”を作成する。更に、無線装置110は、無線装置120から無線装置140へ送信された送信データ“1101”から送信フレーム長FL3(=4ビット)を有するデータ“1101”を抽出し、送信データP3,u=“1101”を作成する(ステップS36)。
そして、無線装置110は、送信データP1,u,P2,u,P3,uの各々を上述した方法によってチャネルコーディングし、P1,c=“1101”,P2,c=“1101”,P3,c=“11100010”を作成する(ステップS37)。
その後、無線装置110は、上述した方法によって、P1,c=“1101”,P2,c=“1101”をそれぞれP1=“11110011”,P2=“11110011”にポストコーディングする。その結果、P1=“11110011”,P2=“11110011”の長さは、P3=P3,c=“11100010”の長さと同じになる。
無線装置110は、P1=“11110011”とP2=“11110011”とP3= “11100010”との排他的論理和を演算し、PSUM=“11100010”を得る(ステップS38)。
そして、無線装置110は、16QAMの変調方式によって、PSUM=“11100010”をxSUM=(S14S2)16QAMに変調し、その変調したxSUM=(S14S2)16QAMを無線装置120,130,140へ送信する(ステップS39)。
そうすると、無線装置120,130,140は、無線装置110からxSUM=(S14S2)16QAMを受信し、受信処理を行う(ステップS40,S41)。これによって、一連の動作が終了する。
図17は、図16に示すステップS40,S41の詳細な動作を説明するためのフローチャートである。
図17を参照して、図16に示すステップS39の後、無線装置140の判定器131Aは、受信手段12Aから受信信号s(t)を受け、その受けた受信信号s(t)の変調レベルが自端末(=無線装置140)宛ての信号の変調レベルと同じであるか否かを判定する(ステップS401)。
この場合、受信信号s(t)の変調レベルは、“4”であり、自端末宛ての信号の変調レベルは、“4”である。従って、無線装置140の判定器131Aは、受信信号s(t)の変調レベルが自端末(=無線装置140)宛ての信号の変調レベルと同じであると判定する。
そして、無線装置140の判定器131Aは、信号SS0,SS1を生成し、その生成した信号SS0をチャネルコーディング手段133へ出力し、その生成した信号SS1を演算器138へ出力する。また、無線装置140の判定器131Aは、受信信号s(t)を復調器132へ出力する。
無線装置140の復調器132は、受信信号s(t)=xSUM=(S14S2)16QAMを復調し、PSUM=“11100010”を算出する(ステップS402)。
一方、無線装置140のチャネルコーディング手段133は、判定器131Aからの信号SS0に応じて、バッファ15から送信データ“1001”および送信データ“1011”を読み出す。送信データ“1001”は、無線装置130が無線装置120へ送信したデータであり(ステップS25参照)、送信データ“1011”は、無線装置140が無線装置130へ送信したデータである(ステップS31参照)。従って、無線装置140のチャネルコーディング手段133は、無線装置140宛ての送信データ以外の送信データをバッファ15から読み出す。
無線装置140のチャネルコーディング手段133は、無線装置110から無線装置120へのリンクにおける送信フレーム長(=2ビット)を有するデータ“10”を送信データ“1001”から抽出し、その抽出したデータP1,u=“10”を上述した方法によってP1,c=“1101”へチャネルコーディングする。また、無線装置140のチャネルコーディング手段133は、無線装置110から無線装置130へのリンクにおける送信フレーム長(=2ビット)を有するデータ“10”を送信データ“1011”から抽出し、その抽出したデータP2,u=“10”を上述した方法によってP2,c=“1101”へチャネルコーディングする。そして、無線装置140のチャネルコーディング手段133は、P1,c=“1101”およびP2,c=“1101”をポストコーディング手段134へ出力する。
そして、無線装置140のポストコーディング手段134は、上述した方法によって、P1,c=“1101”をポストコーディングしてP1=“11110011”を算出し、P2,c=“1101”をポストコーディングしてP2=“11110011”を算出する。
そうすると、無線装置140のポストコーディング手段134は、P1=“11110011”およびP2=“11110011”を演算器138へ出力する。
無線装置140の演算器138は、P1=“11110011”およびP2=“11110011”をポストコーディング手段134から受け、P1=“11110011”とP2=“11110011”との排他的論理和を演算し、“00000000”を算出する。即ち、無線装置140は、自己以外の無線装置120,130宛てのP1とP2との排他的論理和を演算する(ステップS403)。そして、無線装置140の演算器138は、判定器131Aからの信号SS1に応じて、演算結果“00000000”を演算器135Aへ出力する。
無線装置140の演算器135Aは、PSUM=“11100010”を復調器132から受け、“00000000”を演算器138から受ける。そして、無線装置140の演算器135Aは、“11100010”と“00000000”との排他的論理和を演算し、その演算結果“11100010”を復号器136へ出力する。
無線装置140の復号器136は、上述した方法によって、“11100010”を “1101”に復号する。データ“1101”は、無線装置120が無線装置140へ送信したデータである(ステップS21参照)。
このように、無線装置140は、自己宛てのPi(=P3)=“11100010”を算出し、Pi,u(=P3,u)=“1101”を復号する(ステップS404)。
一方、無線装置120の判定器131Aは、図16に示すステップS39の後、受信手段12Aから受信信号s(t)を受け、その受けた受信信号s(t)の変調レベルが自端末(=無線装置120)宛ての信号の変調レベルと同じであるか否かを判定する(ステップS401)。
この場合、受信信号s(t)の変調レベルは、“4”であり、自端末宛ての信号の変調レベルは、“2”である。従って、無線装置120の判定器131Aは、受信信号s(t)の変調レベルが自端末(=無線装置120)宛ての信号の変調レベルと同じでないと判定する。
そして、無線装置120の判定器131Aは、信号SS0,SS2を生成し、その生成した信号SS0をチャネルコーディング手段133へ出力し、その生成した信号SS2を演算器138へ出力する。また、無線装置120の判定器131Aは、受信信号s(t)を復調器132へ出力する。
無線装置120のチャネルコーディング手段133は、判定器131Aからの信号SS0に応じて、バッファ15から送信データ“1101”および送信データ“1011”を読み出す。送信データ“1101”は、無線装置120が無線装置140へ送信したデータであり(ステップS21参照)、送信データ“1011”は、無線装置140が無線装置130へ送信したデータである(ステップS31参照)。従って、無線装置120のチャネルコーディング手段133は、無線装置120宛ての送信データ以外の送信データをバッファ15から読み出す。
無線装置120のチャネルコーディング手段133は、無線装置110から無線装置140へのリンクにおける送信フレーム長(=4ビット)を有するデータ“1101”を送信データ“1101”から抽出し、その抽出したデータP3,u=“1101”を上述した方法によってP3,c=“11100010”へチャネルコーディングする。また、無線装置120のチャネルコーディング手段133は、無線装置110から無線装置130へのリンクにおける送信フレーム長(=2ビット)を有するデータ“10”を送信データ“1011”から抽出し、その抽出したデータP2,u=“10”を上述した方法によってP2,c=“1101”へチャネルコーディングする。そして、無線装置120のチャネルコーディング手段133は、P2,c=“1101”およびP3,c=“11100010”をポストコーディング手段134へ出力する。
そして、無線装置120のポストコーディング手段134は、上述した方法によって、P2,c=“1101”をポストコーディングしてP2=“11110011”を算出し、P3,c=“11100010”をポストコーディングしてP3=“11100010”を算出する。
そうすると、無線装置120のポストコーディング手段134は、P2=“11110011”およびP3=“11100010”を演算器138へ出力する。
無線装置120の演算器138は、P2=“11110011”およびP3=“11100010”を受け、P2=“11110011”とP3=“11100010”との排他的論理和を演算し、演算結果“00010001”を算出する。即ち、無線装置120は、自己以外の無線装置130,140宛てのP2とP3との排他的論理和を演算する(ステップS405)。そして、無線装置120の演算器138は、判定器131Aからの信号SS2に応じて、演算結果“00010001”を変換器137Aへ出力する。
無線装置120の変換器137Aは、演算器138から演算結果“00010001”を受ける。
そして、無線装置120の変換器137Aは、上述した変換器137と同じように表3に示す変換テーブルを参照して、無線装置120宛ての信号を復調するためのQPSK位相図(S1,S2,S13,S14)16QAMおよび(S1,S2,S13,S14)16QAMを抽出し(ステップS406)、その抽出した位相図(S1,S2,S13,S14)16QAM,(S1,S2,S13,S14)16QAMを復調器132へ出力する。
無線装置120の復調器132は、一番目のQPSK位相図において、S14=11であり、二番目のQPSK位相図において、S2=01であるので、P1,c=“1101”を算出し、その算出したP1,c=“1101”を復号器136へ出力する。
そして、無線装置120の復号器136は、上述した方法によって、P1,c=“1101”を復号してP1,u=“10”を取得する。即ち、無線装置120は、Pi,c(=P1,c)を算出し、Pi,u(=P1,u)を復号する(ステップS407)。
また、無線装置130も、無線装置120と同じ方法によってP2,u=“10”を復号する。
そして、ステップS404またはステップS407の後、一連の動作は、図16に示す“終了”へ移行する。
上述したように、3個の無線装置120,130,140がそれぞれ送信先の無線装置140,120,130へ送信データを送信する場合、無線装置110は、3個の送信データP1,u,P2,u,P3,uに対してチャネルコーディングおよびポストコーディングを施して長さが同じである3個のP1,P2,P3を生成し、その生成した3個のP1,P2,P3の排他的論理和を演算してPSUMを生成し、その生成したPSUMを16QAMの変調方式によって変調して無線装置120,130,140へ送信する。
その結果、無線装置110は、各無線装置120,130,140への送信データを1回の送信動作によって中継する。
従って、無線通信システム200において、送信レートが異なる複数のリンクを用いて送信された複数のデータを効率良く中継できる。
また、受信信号s3(t)の変調レベルが自端末宛ての信号の変調レベルと同じである無線装置140は、受信信号s3(t)を復調してPSUMを算出し、その算出したPSUMを復号して自己宛てのP3,uを取得する。更に、受信信号s1(t),s2(t)の変調レベルが自端末宛ての信号の変調レベルと同じでない無線装置120,130は、受信信号s1(t),s2(t)を、変換テーブルから抽出した位相図を用いて復調してP1,c,P2,cを算出し、その算出したP1,c,P2,cを復号して自己宛てのP1,u,P2,uを取得する。
従って、無線装置120,130,140は、相互に異なる変調方式を採用する場合も、無線装置110によって中継された信号xSUMに基づいて自己宛てのP1,u,P2,u,P3,uを取得できる。
なお、上記においては、無線装置120,130がQPSKの変調方式を採用し、無線装置140が16QAMの変調方式を採用すると説明したが、この発明の実施の形態においては、これに限らず、無線装置120,130,140は、表6に示す組み合わせのいずれかによって示される変調方式を採用してもよい。
図18は、この発明の実施の形態による更に他の無線通信システムの概略図である。この発明の実施の形態による無線通信システムは、図18に示す無線通信システムであってもよい。図18を参照して、無線通信システム300は、無線装置310,311〜31m(mは4以上の整数)を備える。
無線装置310,311〜31mは、無線通信空間に配置され、相互に無線通信が可能である。より具体的には、無線装置310は、無線装置311〜31mとの間で、直接、無線通信が可能である。また、無線装置311〜31mは、相互に、直接、無線通信が可能である。
無線装置311〜31mは、表6に示す組み合わせのいずれかによって示される変調方式を採用する。例えば、無線装置311〜31mがQPSKと16QAMとの組み合わせを採用する場合、無線装置311〜31mの少なくとも1つは、16QAMの変調方式を採用し、残りの無線装置がQPSKの変調方式を採用する。無線装置311〜31mが他の組み合わせを採用した場合も同様である。
無線装置310は、図2および図5に示す無線装置10と同じ構成からなる。この場合、無線装置310の検出手段3は、受信手段2が無線装置311〜31mからの送信データを受信したときの信号対雑音比SNR1〜SNRmを検出し、その検出した信号対雑音比SNR1〜SNRmを決定手段4へ出力する。
また、無線装置310の決定手段4は、検出手段3から信号対雑音比SNR1〜SNRmを受け、その受けた信号対雑音比SNR1〜SNRmに基づいて、上述した方法によって、m個の送信レートr1〜rmを決定し、その決定したm個の送信レートr1〜rmをデータ生成手段5へ出力する。
更に、無線装置310のデータ生成手段5は、受信手段2からm個の送信データを受け、決定手段4からm個の送信レートr1〜rmを受ける。そして、無線装置310のデータ生成手段5は、上述した方法によって、m個の送信レートr1〜rmに基づいて、m個の送信フレーム長FL1〜FLmを決定する。そうすると、無線装置310のデータ生成手段5は、m個の送信データおよびm個の送信フレーム長FL1〜FLmに基づいて、m個のP1,u,P2,u,・・・,Pm,uを生成し、その生成したm個のP1,u,P2,u,・・・,Pm,uを上述した方法によってチャネルコーディングしてm個のP1,c,P2,c,・・・,Pm,cを生成し、その生成したm個のP1,c,P2,c,・・・,Pm,cを上述した方法によってポストコーディングして同じ長さを有するm個のP1,P2,・・・,Pmを生成し、その生成したm個のP1,P2,・・・,Pmの排他的論理和を演算してPSUMを生成する。
更に、無線装置310の送信手段6は、無線装置311〜31mが採用する変調方式のうち、変調レベルが最大である変調方式によってPSUMを変調してxSUMを生成し、その生成したxSUMを無線装置311〜31mへ送信する。
このように、無線装置310は、無線装置311〜31mからm個の送信データを受信し、その受信したm個の送信データを上述した方法によってネットワークコーディングして無線装置311〜31mへ送信する。
無線装置311〜31mの各々は、図14および図15に示す無線装置120と同じ構成からなる。無線装置311〜31mは、それぞれ、無線装置312〜31m,311へデータを送信する。この場合、無線装置311〜31mは、自己の送信データを無線装置310へ送信する。そして、無線装置311〜31mの各々において、生成手段14は、その生成した送信データを送信手段16へ出力するとともにバッファ15に格納し、受信手段12Aは、他の無線装置から受信した送信データのうち、自己が搭載された無線装置宛てでない送信データをバッファ15に格納する。即ち、無線装置311〜31mの各々は、自己が送信した送信データと、他の無線装置が送信した送信データのうち、自己宛ての送信データ以外の送信データとをバッファ15によって保持する。
また、無線装置311〜31mの各々は、ネットワークコーディングされた信号xSUMを無線装置310から受信し、その受信信号s(t)を上述した無線装置120,130、または無線装置140と同じ方法によって復調および復号して自己宛ての送信データP1,u,P2,u,・・・,Pm,uを取得する。
より具体的には、無線装置311〜31mのうち、受信信号s(t)の変調レベルが自端末宛ての信号の変調レベルと同じである無線装置は、上述した無線装置140と同じ方法によって自己宛ての送信データを取得する。また、無線装置311〜31mのうち、受信信号s(t)の変調レベルが自端末宛ての信号の変調レベルと同じでない無線装置は、上述した無線装置120,130と同じ方法によって自己宛ての送信データを取得する。
そして、無線装置140と同じ方法によって自己宛ての送信データを取得する無線装置において、チャネルコーディング手段133は、バッファ15からm−1個の送信データを読み出し、その読み出したm−1個の送信データを上述した方法によってチャネルコーディングする。また、無線装置140と同じ方法によって自己宛ての送信データを取得する無線装置において、ポストコーディング手段134は、チャネルコーディングされたm−1個のデータを上述した方法によってポストコーディングする。更に、無線装置140と同じ方法によって自己宛ての送信データを取得する無線装置において、演算器138は、ポストコーディングされたm−1個のデータの排他的論理和を演算し、その演算結果を演算器135Aへ出力する。更に、無線装置140と同じ方法によって自己宛ての送信データを取得する無線装置において、演算器135Aは、復調器132からのPSUMと、演算器138からの演算結果との排他的論理和を演算し、その演算結果を復号器136へ出力する。
一方、無線装置120,130と同じ方法によって自己宛ての送信データを取得する無線装置において、チャネルコーディング手段133は、バッファ15からm−1個の送信データを読み出し、その読み出したm−1個の送信データを上述した方法によってチャネルコーディングし、ポストコーディング手段134は、チャネルコーディングされたm−1個のデータを上述した方法によってポストコーディングし、演算器138は、ポストコーディングされたm−1個のデータの排他的論理和を演算し、その演算結果を変換器137Aへ出力し、変換器137Aは、演算器138からの演算結果に基づいて、上述した方法によって受信信号s(t)から自端末宛ての信号を復調するための位相図を抽出し、その抽出した位相図を復調器132へ出力する。
図19は、図18に示す無線通信システム300における無線通信方法を説明するためのフローチャートである。なお、図19においては、無線装置310を無線装置Rと表記し、無線装置311〜31mのうち、1つの送信元を無線装置M1と表記し、無線装置311〜31mのうち、無線装置M1以外の無線装置を無線装置Mj(j=2〜m)と表記する。
図19を参照して、一連の動作が開始されると、無線装置M1は、送信データ“1〜N1”を送信する(ステップS51)。
無線装置Rは、送信データ“1〜N1”を受信し(ステップS52)、無線装置Mjは、聞き取った送信データ“1〜N1”をバッファ15に記録する(ステップS53)。
その後、無線装置M1は、送信データ“1〜N1”をバッファ15に保存する(ステップS54)。そして、無線装置Rは、受信データを復調および復号し、データ“1〜N1”を算出する(ステップS55)。
引き続いて、無線装置Mjは、送信データ“1〜Nj”を送信し(ステップS56)、無線装置Rは、送信データ“1〜Nj”を受信し(ステップS57)、無線装置M1は、聞き取った送信データ“1〜Nj”をバッファ15に記録する(ステップS58)。
そして、無線装置Mjは、送信データ“1〜Nj”をバッファ15に保存する(ステップS59)。
その後、無線装置Rは、上述した方法によって、信号対雑音比SNRに基づいて、無線装置311〜31mへの送信レートr1〜rmと送信フレーム長FL1〜FLmとを決定し、P1,u,P2,u,・・・,Pm,uを作成する(ステップS61)。
そして、無線装置Rは、P1,u,P2,u,・・・,Pm,uをチャネルコーディングしてP1,c,P2,c,・・・,Pm,cを算出する(ステップS62)。その後、無線装置Rは、P1,c,P2,c,・・・,Pm,cをポストコーディングしてP1,P2,・・・,Pmを算出し、P1,P2,・・・,Pmの排他的論理和を演算してP1,P2,・・・,Pmをネットワークコーディングする(ステップS63)。
引き続いて、無線装置Rは、無線装置311〜31mが採用する変調方式のうち、変調レベルが最大である変調方式によってネットワークコーディング後のPSUMを変調し、その変調後のxSUMを無線装置311〜31mへ送信する(ステップS64)。
そして、無線装置M1は、xSUMを受信し、その受信したxSUMの受信処理を行う(ステップS65)。また、無線装置Mjは、xSUMを受信し、その受信したxSUMの受信処理を行う(ステップS66)。そして、ステップS65,S66の後、一連の動作が終了する。
なお、ステップS65,S66の詳細な動作は、図17に示すフローチャートに従って実行される。
このように、送信元である無線装置311〜31mの個数が4個以上である場合も、無線装置310(=無線装置R)は、m個の送信データP1,u,P2,u,・・・,Pm,uに対してチャネルコーディングおよびポストコーディングを施して長さが同じであるm個のP1,P2,・・・,Pmを生成し、その生成したm個のP1,P2,・・・,Pmの排他的論理和を演算してPSUMを生成し、その生成したPSUMを最大の変調レベルを有する変調方式によって変調して無線装置311〜31mへ送信する。
その結果、無線装置310(=無線装置R)は、各無線装置311〜31mへの送信データを1回の送信動作によって中継する。
従って、無線通信システム300において、送信レートが異なる複数のリンクを用いて送信された複数のデータを効率良く中継できる。
また、受信信号s(t)の変調レベルが自端末宛ての信号の変調レベルと同じである無線装置は、受信信号s(t)を復調してPSUMを算出し、その算出したPSUMを復号して自己宛ての送信データを取得する。更に、受信信号s(t)の変調レベルが自端末宛ての信号の変調レベルと同じでない無線装置は、受信信号s(t)から自端末宛ての信号を復調するための位相図を変換テーブルから抽出し、その抽出した位相図を用いて受信信号s(t)を復調および復号して自端末宛ての送信データを取得する。
従って、無線装置311〜31mは、相互に異なる変調方式を採用する場合も、無線装置310によって中継された信号xSUMに基づいて自己宛てのP1,u,P2,u,・・・,Pm,uを取得できる。
送信元である無線装置の個数が3個である場合については、図13〜図17において説明し、送信元である無線装置の個数が4個以上である場合については、図18および図19において説明した。従って、送信元である無線装置の個数が3個以上である場合、無線通信システムは、中継器である1つの無線装置Rと、n(nは3以上の整数)個の無線装置とを備える。
そして、この1つの無線装置Rは、上述した無線装置10と同じ構成からなり、n個の無線装置からのn個の送信データを上述した方法によってネットワークコーディングして信号xSUMをn個の無線装置へ送信(中継)する。
また、n個の無線装置の各々は、無線装置Rから信号xSUMを受信し、自己宛ての送信データ以外のn−2個の送信データを他の無線装置から受信し、信号xSUMとn−2個の送信データと自己が送信した送信データとに基づいて、上述した方法によって、自己宛ての送信データを取得する。
従って、送信元である無線装置の個数が3個以上である場合も、送信レートが異なる複数のリンクを用いて送信された複数のデータを効率良く中継できる。また、n個の無線装置は、相互に異なる変調方式を採用する場合も、無線装置Rによって中継された信号xSUMに基づいて自己宛てのP1,u,P2,u,・・・,Pn,uを取得できる。
なお、上記においては、チャネルコーディングによって誤り訂正符号を送信データに付加すると説明したが、この発明の実施の形態においては、これに限らず、チャネルコーディング以外の方法によって誤り訂正符号を送信データに付加してもよい。
また、この発明の実施の形態においては、変換器137,137Aは、上述した方法によって表3に示すような変換テーブルを作成し、その作成した変換テーブルを用いて自己宛ての信号を復調するための位相図を抽出し、その抽出した位相図を復調器132へ出力してもよく、表3に示すような変換テーブルを予め保持し、既知情報を受けると、その保持した変換テーブルを参照して自己宛ての信号を復調するための位相図を抽出し、その抽出した位相図を復調器132へ出力するようにしてもよい。
更に、この発明の実施の形態においては、変換器137,137Aは、それぞれ、ポストコーディング手段134および演算器138からビット列を受けると、その受けたビット列を既知情報(=a3a2a1a0)として、上述した方法によって、a3a2a1a0とb3’b2’b1’b0’との排他的論理和を演算することによって、受信信号s(t)から自己宛ての信号を復調するための位相図を算出し、その算出した位相図を復調器132へ出力するようにしてもよい。この場合、変換器137,137Aは、表3および表7に示すような変換テーブルを保持していない。つまり、変換器137,137Aは、ポストコーディング手段134および演算器138からビット列を受ける毎に、受信信号s(t)から自己宛ての信号を復調するための位相図を算出し、その算出した位相図を復調器132へ出力する。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。