(57)【特許請求の範囲】
【請求項１】
パケットに含まれる第１のヘッダの誤り検出を行う手段と、
前記第１のヘッダから誤りが検出されなかった場合に、該第１のヘッダに基づいて、前記パケット長の整合性が取れるかを判断する手段と、
前記判断する手段により整合性が取れると判断されたパケットの復号処理を行う手段と、
前記判断する手段により整合性が取れると判断されたパケットの誤り検出を行う手段と
を有し、
前記復号処理を行う手段は、前記誤り検出を行う手段による誤り検出に先立って、前記整合性が取れると判断されたパケットの復号処理を行う無線通信装置。
【請求項２】
請求項１に記載の無線通信装置において、
前記判断する手段は、該第１のヘッダに含まれる制御情報に基づいて、前記パケット長の整合性が取れるかを判断する無線通信装置。
【請求項３】
請求項２に記載の無線通信装置において、
前記判断する手段は、前記第１のヘッダに含まれる制御情報に基づいて、前記パケットに含まれる第２のヘッダ長の整合性が取れるかを判断する無線通信装置。
【請求項４】
請求項３に記載の無線通信装置において、
前記第１のヘッダに含まれる制御情報には、第２のヘッダの有無を示す情報と、誤り検出符号の有無を示す情報とが含まれる無線通信装置。
【請求項５】
請求項２に記載の無線通信装置において、
前記判断する手段は、前記第１のヘッダに含まれる制御情報に基づいて、前記パケットに含まれるデータ長の整合性が取れるかを判断する無線通信装置。
【請求項６】
請求項５に記載の無線通信装置において、
前記第１のヘッダに含まれる制御情報には、第２のヘッダの有無を示す情報と、誤り検出符号の有無を示す情報と、前記パケットに含まれる情報が暗号化されているか否かを示す情報とが含まれる無線通信装置。
【請求項７】
請求項１ないし６のいずれか１項に記載の無線通信装置において、
前記パケット長の整合性が取れないと判断されたパケットを廃棄する手段
を有する無線通信装置。
【請求項８】
請求項１ないし７のいずれか１項に記載の無線通信装置において、
前記パケットは、パケット番号を含み、
前記パケット番号に基づいて、該パケット番号の重複及び／又は遡りを検出する手段と、
前記パケットの誤り検出を行う手段における誤り検出処理の終了まで、前記検出する手段における処理を遅延させる手段と
を有する無線通信装置。
【請求項９】
請求項１ないし８のいずれか１項に記載の無線通信装置において、
前記第１のヘッダはジェネリック  マック  ヘッダであり、前記第２のヘッダはサブヘッダである無線通信装置。
【請求項１０】
パケットに含まれる第１のヘッダの誤り検出を行うステップと、
前記第１のヘッダから誤りが検出されなかった場合に、該第１のヘッダに基づいて、前記パケット長の整合性が取れるかを判断するステップと、
前記判断するステップにより整合性が取れると判断されたパケットの復号処理を行うステップと、
前記判断するステップにより整合性が取れると判断されたパケットの誤り検出を行うステップステップと
を有し、
前記復号処理を行うステップは、前記誤り検出を行うステップによる誤り検出に先立って、前記整合性が取れると判断されたパケットの復号処理を行う受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信システムに関する。
【背景技術】
【０００２】
近年、パケット型の無線通信技術が普及している。パケット型の無線通信技術には、WiMAX(Worldwide  Interoperability  for  Microwave  Access)、Wireless  LANが含まれる。無線通信技術は世代を追うごとに、伝送容量が増大している。一方、通信装置における受信処理はハードリアルタイム処理である。ハードリアルタイム処理では、決まった時間内に処理が終了しない場合には、該処理しきれないデータは欠落する。このように、伝送容量が年々増大するため、無線通信技術における受信処理の高スループット化技術の役割も年々重要になっている。
【０００３】
パケット型の無線通信技術について説明する。ここでは、一例としてWiMAXについて説明する。
【０００４】
図１に、パケットの構成を示す。パケットには、媒体アクセス制御−パケット  データ  ユニット(MAC-PDU:  Medium  Access  Control−Packet  Data  Unit)が含まれる。また、MAC-PDUには、ジェネリック  マック  ヘッダ(GMH:  Generic  MAC  Header)、エクステンディッド  サブヘッダ(Extended  subheader)、パケット番号(PN:  Packet  Number)、暗号化されたペイロード(payload）、メッセージ認証コード(MAC:  Message  Authentication  Code)及び巡回冗長検査(CRC:  Cyclic  Redundancy  Check)が含まれる。巡回冗長検査には、CRC32が含まれてもよい。
【０００５】
GMHにはヘッダ情報が含まれる。Extended  subheaderは拡張ヘッダである。Extended  subheaderには、GMHに入らない付加的な制御情報が含まれる。例えば、Extended  subheaderの１バイト目はExtended  subheaderのデータ長が含まれる。例えば、Extended  subheaderのデータ長は、最大で255バイトとしてもよい。MAC-PDUのデータ長は最大で2,047バイト(byte)となる。このデータ長は、GMHの先頭からCRCの最後までである。
【０００６】
GMHには、図２に示すように、ヘッダタイプ(HT:  Header  Type)、暗号化制御(EC:  Encryption  Control）、タイプ(TYPE)、拡張サブヘッダフィールド(ESF:  Extended  Subheader  Field)、CRCインジケータ(CI:  CRC  Indicator)、暗号化キー系列(EKS:  Encryption  Key  Sequence)、RSV(Reserved）、サブフィールドのデータ長(LEN) (LEN  MSB、LEN  LSB)、コネクション識別子(CID:  Connection  Identifier)(CID  MSB、CID  LSB)、ヘッダ−チェック系列(HCS:  Header  Check  Sequence)が含まれる。LENには、最上位ビット(MSB)と、最下位ビット(LSB)が含まれる。コネクション識別子には、最上位ビット(MSB)と、最下位ビット(LSB)が含まれる。
【０００７】
Typeにはサブヘッダの種別が含まれる。LENには、MAC-PDUのデータ長が含まれる。HCSは、GMHの6バイト目に含まれる。例えばHCSは、GMH内でデータ化けが発生していない場合には、HCSチェック結果が零になるように生成される。
【０００８】
Extended  Subheaderには、図３に示すように、拡張サブヘッダグループ長(Extended  subheader  group  length)、Rsv、拡張サブヘッダタイプ(Extended  subheader  type)、拡張サブヘッダボディ(Extended  subheader  body)が含まれる。ここで、Rsv、Extended  subheader  type、Extended  subheader  bodyは、複数であってもよい。
【０００９】
通信装置における受信処理について説明する。ここでは、一例として、WiMAX  Lower  MACダウンリンクの受信処理を示す。例えば、この処理はハードウエアにより実現されてもよい。
【００１０】
通信装置５０は、MAC-PDU抽出部２と、CRCエラーチェック部１０と、暗号処理部１８とを有する。MAC-PDU抽出部２は、フレームメモリ(Frame  Memory)４と、MAC-PDU抽出コア部１６とを有する。MAC-PDU抽出コア部１６は、HCSチェック部８を有する。CRCエラーチェック部１０は、CRCチェック回路１２と、MAC-PDU保持メモリ１４と、PDU出力部１６とを有する。暗号処理部は、復号処理部２０と、パケット番号ウインドウ(PN  Window)処理部２２を有する。
【００１１】
MAC-PDU抽出部２では、フレームメモリ４内のデータから、MAC-PDUが抽出される。例えば、フレームメモリ４には、前方誤り訂正(FEC:  Forward  Error  Correction)ブロックが入力される。MAC-PDU抽出コア部６は、フレームメモリ４内のデータからGMHを探し出す。そして、HCSチェック部８において、GMHに含まれるHCSのチェックが行われる。MAC-PDU抽出コア部６は、正しいと判断されたHCSを含むGMH内に含まれる情報に基づいて、最大2,047ByteのMAC-PDUという別の単位のパケットを抽出する。
【００１２】
MAC-PDU抽出コア部６は、正しいと判断されたHCSを含むGMHを有するMAC-PDUをCRCエラーチェック部１０に入力する。CRCチェック回路１２では、入力されたMAC-PDUをMAC-PDU保持メモリ１４に格納する。そして、CRCチェック回路１２は、MAC-PDUに含まれるCRCをチェックする。CRCチェックの結果が正しくない(NG)の場合には、MAC-PDU内にデータ化けが発生していることになる。このCRCのチェックの結果は、PDU出力部１６に入力される。
【００１３】
PDU出力部１６は、CRCチェックの結果とともにMAC-PDU保持メモリ１４に格納されたMAC-PDUを暗号処理部１８に入力するようにしてもよい。また、PDU出力部１６は、CRCチェックの結果に基づいて、MAC-PDU保持メモリ１４に格納されたMAC-PDUのうち、該CRCチェックの結果が正しいMAC-PDUを暗号処理部１８に入力するようにしてもよい。
【００１４】
復号処理部２０は、入力されたMAC-PDUに含まれる暗号化されたペイロード部分を抽出し復号する。例えば、復号処理部２０は、MAC-PDUをGMH、ESH、PN(Packet  Number)、暗号化されたペイロード、メッセージ認証コードに分割する。そして、暗号化されたペイロードを復号する。一方、パケット番号ウインドウ処理部２２は、パケット番号に基づいて、パケット番号ウインドウ処理を行う。
【００１５】
暗号処理部１８は、分割されたMAC-PDUを再構成する。この再構成されたMAC-PDUには、復号されたペイロードが含まれる。
【００１６】
通信装置における受信処理のフローについて、図５を参照して説明する。例えば、この処理はソフトウェアにより実現されてもよい。
【００１７】
フレームメモリに格納されたデータからGMHが抽出される（ステップＳ５０２）。
【００１８】
GMHに含まれるHCSのチェックが行われる（ステップＳ５０４）。
【００１９】
HCSが正しくない場合（ステップＳ５０４：ＮＯ）、該HCSを含むGMHを有するMAC-PDUは廃棄される。一方、HCSが正しい場合（ステップＳ５０４：ＹＥＳ）、ＣＲＣ演算処理が行われる（ステップＳ５０６）。
【００２０】
CRCのチェックが行われる（ステップＳ５０８）。
【００２１】
ＣＲＣが正しくない場合（ステップＳ５０８：ＮＯ）、該CRCを含むMAC-PDUは廃棄される。一方、HCSが正しい場合（ステップＳ５０８：ＹＥＳ）、パケット番号ウインドウ処理が行われる（ステップＳ５１０）。
【００２２】
復号処理が行われる（ステップＳ５１２）。例えば、暗号化されたペイロードの復号が行われる。
【非特許文献１】IEEE  Std  802.16TM-2004
【非特許文献２】IEEE  Std  802.16TM-2005  and  IEEE  Std  802.16TM-2004/Cor1-2005
【発明の開示】
【発明が解決しようとする課題】
【００２３】
復号化処理及びパケット番号ウインドウ処理は、CRCチェックが完了しないと開始できない。CRCのチェックが完了していない場合には、Extended  subheaderの長さに間違いが含まれている可能性があるためである。Extended  subheaderの長さに間違いが含まれている場合には、MAC-PDUからPN、（暗号化された）Payload、メッセージ認証コードの抽出を正しく実行することができない。上述した例では、CRCのチェックを完了し、CRCが正しいMAC-PDUだけ復号処理及びパケット番号ウインドウ処理が実施される。
【００２４】
このような処理が行われる場合、処理レイテンシが大きくなる。CRCチェックが完了しないと、復号化処理及びパケット番号ウインドウ処理が行われないためである。特に、MAC-PDUサイズが大きくなるに従って、処理レイテンシが大きくなる。
【００２５】
MAC-PDU単位の処理時間について、図６を参照して説明する。図６において横軸は時間である。クロックサイクルとしてもよい。また、図６では、パケット番号ウインドウ処理はPNにより示される。例えば、MAC-PDUサイズが最大の2047byteであるとする。この場合に、2byte毎に処理が行われると仮定した場合、次のMAC-PDUの処理を開始できるまでの最短レイテンシは約1,050サイクルとなる。また、次のMAC-PDUの処理との間は約2047サイクルとなる。例えば、動作周波数が44.8MHzである場合には、約50usの時間がかかる。スループットに換算すると、この時間あたり2047byteのデータ処理しかできない。すなわち、低スループットとなる。
【００２６】
また、CRCチェックが行われる際に、該チェック中のMAC-PDUのデータに対して復号処理が行われないようにするために、一時的に該MAC-PDUのデータを退避させるためのメモリが必要となる。例えば、MAC-PDUの最大サイズが2047byteであるため、少なくとも2047byteのメモリが必要になる。
【００２７】
低スループットを改善するために、サイクルレベルでパイプライン処理を行うことも考えられる。しかし、この場合には、CRCチェック前のデータに対して復号化処理が実施される。このため、暗号化されたペイロード部分の抽出を誤る場合がある。この暗号化されたペイロード部分の抽出の誤りが生じた場合には、復号処理ができない。また、パケット番号にデータ化けが発生している場合には、パケット番号ウインドウ処理においてエラーとなる。
【００２８】
そこで、受信処理におけるスループットを改善することができる無線通信装置及び受信方法を提供することを目的とする。
【課題を解決するための手段】
【００２９】
上記課題を解決するため、本無線通信装置は、
パケットに含まれる第１のヘッダの誤り検出を行う手段と、
前記第１のヘッダから誤りが検出されなかった場合に、該第１のヘッダに基づいて、前記パケット長の整合性が取れるかを判断する手段と、
前記判断する手段により整合性が取れると判断されたパケットの復号処理を行う手段と、
前記判断する手段により整合性が取れると判断されたパケットの誤り検出を行う手段と
を有し、
前記復号処理を行う手段は、前記誤り検出を行う手段による誤り検出に先立って、前記整合性が取れると判断されたパケットの復号処理を行う。
【００３０】
本受信方法は、
パケットに含まれる第１のヘッダの誤り検出を行うステップと、
前記第１のヘッダから誤りが検出されなかった場合に、該第１のヘッダに基づいて、前記パケット長の整合性が取れるかを判断するステップと、
前記判断するステップにより整合性が取れると判断されたパケットの復号処理を行うステップと、
前記判断するステップにより整合性が取れると判断されたパケットの誤り検出を行うステップステップと
を有し、
前記復号処理を行うステップは、前記誤り検出を行うステップによる誤り検出に先立って、前記整合性が取れると判断されたパケットの復号処理を行う。
【発明の効果】
【００３１】
受信処理におけるスループットが改善される。
【発明を実施するための最良の形態】
【００３２】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
（第1の実施例）
本実施例に係る通信システムについて説明する。
【００３３】
本実施例に係る通信システムは、無線通信装置を有する。無線通信装置間では、MAC-PDUを含むパケットが送受信される。例えば、この無線通信装置は、基地局が有するようにしてもよい。また、この通信装置は、移動局が有するようにしてもよい。また、この通信装置は、基地局及び移動局が有するようにしてもよい。また、MAC-PDUには、ヘッダ及び拡張ヘッダが含まれる。例えば、拡張ヘッダには、ヘッダに入らない付加的な制御情報が含まれるようにしてもよい。このヘッダは、ジェネリック  マック  ヘッダ(Generic  MAC  Header)と呼ばれてもよい。また、拡張ヘッダは、エクステンディド  ヘッダ(Extended  Headed)と呼ばれてもよい。これらの要件を有する通信システムには、WiMAX(Worldwide  Interoperability  for  Microwave  Access)が含まれる。そこで、本実施例では、WiMAX(Worldwide  Interoperability  for  Microwave  Access)を一例として説明する。これらの要件を有する通信システムであれば、WiMAX以外にも適用できる。
【００３４】
WiMAXは、時分割復信(TDD:  Time  Division  Duplex)方式が適用される。TDDでは、上りリンクと下りリンクの信号が同一周波数帯で送信され、下りリンクと上りリンクとが高速に切り替えられることにより、全二重通信が行われる。時分割復信方式における伝送フレームには、下りリンクの信号が送信される下りリンクサブフレームと、上りリンクの信号が送信される上りリンクサブフレームとが含まれる。また、WiMAXは、直交周波数分割多重(OFDM:  Orthogonal  Frequency  Division  Multiplexing)／直交周波数分割多重接続(OFDMA:  Orthogonal  Frequency  Division  Multiple  Access)が適用される。
【００３５】
本実施例に係る無線通信装置について、図７を参照して説明する。
【００３６】
本実施例に係る無線通信装置１００は、MAC-PDU抽出部１０２を有する。MAC-PDU抽出部１０２は、入力されたFECブロックからMAC-PDUを抽出する。ここでは、FECブロックが入力されているが、入力はFECブロックに限られるものではなく、FECブロックをさらに細分化したデータでもよいし、あるいは、例えばバーストと呼ばれる、複数のFECブロックを含む大きな単位のデータでも構わない。
【００３７】
MAC-PDU抽出部１０２は、フレームメモリ１０４を有する。フレームメモリ１０４は、入力された前方誤り訂正(FEC:  Forward  Error  Correction)ブロックを格納する。
【００３８】
MAC-PDU抽出部１０２は、MAC-PDU抽出コア部１０６を有する。MAC-PDU抽出コア部１０６は、フレームメモリ１０４に格納されたFECブロックからGMHを検出する。また、MAC-PDU抽出コア部１０６は、抽出されたGMHに含まれるHCSに基づいて、GMHの誤り検出を行う。また、MAC-PDU抽出コア部１０６は、誤りが検出されなかったGMHに含まれる拡張サブヘッダフィールドと、CRCインジケータを抽出する。そして、MAC-PDU抽出コア部１０６は、抽出した拡張サブヘッダフィールドと、CRCインジケータとに基づいて、該GMHを含むMAC-PDUに対して復号処理ができるかを判断する。また、MAC-PDU抽出コア部１０６は、復号処理ができないと判断されたMAC-PDUを廃棄するようにしてもよい。
【００３９】
具体的に説明する。MAC-PDU抽出コア部１０６は、HCSチェック部１０８を有する。HCSチェック部１０８は、フレームメモリ１０４に格納されたFECブロックからGMHを検出する。また、HCSチェック部１０８は、抽出されたGMHに含まれるHCSに基づいて、GMHの誤り検出を行う。
【００４０】
MAC-PDU抽出コア部１０６は、MAC-PDU不整合チェック部１１０を有する。MAC-PDU不整合チェック部１１０は、誤りが検出されなかったGMHに基づいて、該GMHを含むMAC-PDUに対して復号処理ができるかを判断する。例えば、MAC-PDU不整合チェック部１１０は、拡張サブヘッダフィールドの長さに矛盾がないかを判定するようにしてもよい。言い換えれば、MAC-PDU不整合チェック部１１０は、拡張サブヘッダの長さの不正のチェックを行う。MAC-PDUに含まれる情報要素のうち、GMHの部分はHCSにより保護される。一方で拡張サブヘッダに関してはCRCのチェックにより誤っていないと判断されない限り、誤っている可能性がある。そのため、MAC-PDU不整合チェック部１１０は、誤りが検出されなかったGMHを含むMAC-PDUに対して復号処理ができるかを判断する。例えば、MAC-PDU不整合チェック部１１０は、誤りが検出されなかったGMHに含まれる拡張サブヘッダフィールドと、CRCインジケータとを抽出する。そして、MAC-PDU抽出コア部１０６は、抽出した拡張サブヘッダフィールドと、CRCインジケータとに基づいて、該GMHを含むMAC-PDUに対して復号処理ができるかを判断する。例えば、MAC-PDU不整合チェック部１１０は、図８に示すように、拡張サブヘッダフィールドの値が０である場合には、該MAC-PDUの復号ができるかの判定は行わない。拡張サブヘッダフィールドが０である場合には、拡張サブヘッダが含まれないためである。この場合、MAC-PDU抽出コア部１０６は、該MAC-PDUを後述するCRCチェック部１１４に入力するようにしてもよい。
【００４１】
また、例えば、MAC-PDU不整合チェック部１１０は、拡張サブヘッダフィールドの値が１である場合には、以下の処理を行う。
【００４２】
MAC-PDU不整合チェック部１１０は、図８に示すように、拡張サブヘッダフィールドの値が１であり、かつ拡張サブヘッダの長さが０である場合には、不整合と判断する。拡張サブヘッダフィールドの値が１である場合には拡張サブヘッダがMAC-PDUに含まれることを示している。この場合、拡張サブヘッダの長さが０であることは整合性が取れないためである。
【００４３】
また、MAC-PDU不整合チェック部１１０は、図８に示すように、拡張サブヘッダフィールドの値が１であり、かつCRCインジケータの値が０である場合には、MAC_PDUの長さが、拡張サブヘッダの長さとGMHの長さとの和未満である場合には、不整合と判断する。MAC-PDU不整合チェック部１１０は、GMHに含まれるLENによりMAC-PDUの長さを把握する。そして、MAC-PDU不整合チェック部１１０は、拡張サブヘッダを復号し、該拡張サブヘッダに含まれる拡張サブヘッダグループ長を参照することにより該拡張サブヘッダの長さを把握することができる。また、MAC-PDU不整合チェック部１１０は、GMHの長さは６バイトであることを把握している。MAC-PDU不整合チェック部１１０は、拡張サブヘッダの長さとGMHの長さとの和を求め、MAC_PDUの長さが、該和未満である場合には、不整合と判断する。
【００４４】
また、MAC-PDU不整合チェック部１１０は、拡張サブヘッダフィールドの値が１であり、かつCRCインジケータの値が１である場合には、MAC_PDUの長さが、拡張サブヘッダの長さとGMHの長さとCRCの長さの和未満である場合には、不整合と判断する。MAC-PDU不整合チェック部１１０は、GMHに含まれるLENによりMAC-PDUの長さを把握する。そして、MAC-PDU不整合チェック部１１０は、拡張サブヘッダを復号し、該拡張サブヘッダに含まれる拡張サブヘッダグループ長を参照することにより該拡張サブヘッダの長さを把握することができる。また、MAC-PDU不整合チェック部１１０は、GMHの長さは６バイトであることを把握している。また、MAC-PDU不整合チェック部１１０は、CRCの長さを把握している。例えば、CRCの長さは、該CRCがCRC32である場合には、４バイトである。MAC-PDU不整合チェック部１１０は、拡張サブヘッダの長さとGMHの長さとCRCの長さとの和を求め、MAC_PDUの長さが、該和未満である場合には、不整合と判断する。
【００４５】
MAC-PDU抽出コア部１０６は、不整合MAC-PDU廃棄処理部１１２を有する。不整合MAC-PDU廃棄処理部１１２は、不整合と判断されたMAC-PDUを廃棄する。
【００４６】
MAC-PDU抽出コア部１０６は、不整合と判断されなかったMAC-PDUをCRCチェック部１１４に入力する。言い換えれば、HCSチェックに基づいて、GMHが正しいと判断され、かつ不整合と判断されなかったMAC-PDUが、CRCチェック部１１４に入力される。
【００４７】
本実施例に係る無線通信装置１００は、CRCチェック部１１４を有する。CRCチェック部１１４部は、CRCチェック回路１１６を含む。CRCチェック部１１４は、入力されたMAC-PDUを後述する復号処理部１２０及びパケット番号保持部１２２に入力する。復号処理部１２０及びパケット番号保持部１２２に入力されるMAC-PDUには、CRCチェック処理前のMAC-PDUが含まれる。例えば、CRCチェック部１１４は、パイプライン的に復号処理部１２０及びパケット番号保持部１２２に入力するようにしてもよい。例えば、CRCチェック部１１４は、２バイト単位で入力するようにしてもよい。また、CRCチェック部１１４は、MAC-PDUに含まれるCRCに基づいて、誤り検出を行う。この誤り検出は、CRCチェック回路１１６により実行される。そして、CRCチェック部１１４は、誤り検出の結果を復号処理部１２０及びパケット番号保持部１２２に入力する。
【００４８】
本実施例に係る無線通信装置１００は、暗号処理部１１８を有する。暗号処理部１１８は、入力されたMAC-PDUの復号を行う。また、暗号処理部１１８は、入力されたMAC-PDUに含まれるパケット番号を保持する。また、暗号処理部１１８は、保持したパケット番号に基づいて、パケット番号ウインドウ処理を行う。
【００４９】
暗号処理部１１８は、復号処理部１２０を有する。復号処理部１２０は、入力されたMAC-PDUの復号を行う。そして、復号処理部１２０は、復号されたMAC-PDUと、CRCチェックの結果とを出力する。
【００５０】
暗号処理部１１８は、パケット番号保持部１２２を有する。パケット番号保持部１２２は、入力されたパケット番号を保持する。パケット番号は、MAC-PDUの先頭部分に位置する。このため、復号処理部１２０においてパケット番号を受信した時点では、CRCチェック部１１４においてCRCチェックが完了していない場合がある。このため、該MAC-PDUに含まれるパケット番号が誤っている場合がある。このため、パケット番号保持部１２２にパケット番号を保持する。パケット番号保持部１２２は、CRCチェック部１１４から入力されたCRCチェック結果に基づいて、該結果が正しいことを示す場合に、後述するパケット番号ウインドウ処理部１２４にパケット番号ウインドウ処理を開始させる。そして、パケット番号保持部１２２は、パケット番号をパケット番号ウインドウ処理部１２４に入力する。このようにすることにより、パケット番号ウインドウ処理は、CRCのチェックが終了してから開始される。このため、パケット番号が正しくない場合に生じる問題は回避される。ここで、パケット番号が正しくない場合に生じる問題は、パケット番号にデータ化けが発生している場合にエラーが検出されることを含む。
【００５１】
暗号処理部１１８は、パケット番号ウインドウ処理部１２４を有する。パケット番号ウインドウ処理部１２４は、パケット番号保持部１２２に保持されたパケット番号に基づいて、ウインドウ処理を行う。例えば、パケット番号ウインドウ処理部１２４は、同じパケット番号が入力された場合、２回目以降に入力されたパケット番号を含むMAC-PDUを廃棄するようにしてもよい。また、パケット番号ウインドウ処理部１２４は、入力されたMAC-PDUに含まれるパケット番号に基づいて、直前に入力されたMAC-PDUに含まれるパケット番号よりも小さい値のパケット番号を含むMAC-PDUが入力された場合、該小さい値のパケット番号を含むMAC-PDUを廃棄する。また、パケット番号ウインドウ処理部１２４は、パケット番号ウインドウサイズに基づいて、該小さい値のパケット番号を含むMAC-PDUを廃棄するか否かを決定するようにしてもよい。例えば、パケット番号ウインドウ処理部１２４は、入力されたMAC-PDUに含まれるパケット番号とパケット番号ウインドウサイズに基づいて、入力されるMAC-PDUに含まれるパケット番号の許容範囲を決定する。例えば、入力されたMAC-PDUに含まれるパケット番号からパケット番号ウインドサイズだけさかのぼったパケット番号の範囲のパケット番号は許容されるようにしてもよい。この場合、該範囲のパケット番号を有するMAC-PDUが入力されても、該範囲の変更は行われない。
【００５２】
例えば、上位層では、入力されたMAC-PDUとCRCチェック結果とに基づいて、処理を行う。例えば上位層では、入力されたMAC-PDUとCRCチェック結果とに基づいて、CRCチェック結果が正しい場合は、入力されたMAC-PDUを受信処理し、正しくない場合には、入力されたMAC-PDUを廃棄する処理を行う。
【００５３】
本実施例にかかる無線通信装置１００のハードウエア構成例について説明する。
【００５４】
無線通信装置１００は、ＣＰＵと、ＲＯＭと、ＲＡＭと、ハードディスク装置等の大容量の記憶装置とを有する。さらに補助記憶装置を備えるようにしてもよい。
【００５５】
コンピュータを無線通信装置１００として機能させるためのプログラムは、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、メモリカード等の記録媒体に記録された状態で提供されるようにしてもよい。この記録媒体をコンピュータの補助記憶装置に挿入すると、媒体に記録されたプログラムが読み取られる。そして、ＣＰＵは、読み込んだプログラムをＲＡＭあるいは記憶装置に書き込み、このプログラムに従って本実施例で説明するような処理を実行する。また、プログラムを、通信網を介してダウンロードし、また記憶媒体からハードディスク装置にコピー・インストールし、実行するようにしてもよい。
【００５６】
本実施例に係る無線通信装置１００における受信処理のフローについて、図９を参照して説明する。例えば、この処理はソフトウェアにより実現されてもよい。例えば、上述したプログラムにより実現されるようにしてもよい。
【００５７】
フレームメモリ１０４に格納されたデータからGMHが抽出される（ステップＳ９０２）。例えば、MAC-PDU抽出コア部１０６は、フレームメモリ１０４に格納されたデータからGHMを探し出し、抽出する。
【００５８】
GMHに含まれるHCSのチェックが行われる（ステップＳ９０４）。例えば、HCSチェック部１０８は、GMHに含まれるHCSのチェックを行う。
【００５９】
HCSが正しくない場合（ステップＳ９０４：ＮＯ）、該HCSを含むGMHを有するMAC-PDUは廃棄される。一方、HCSが正しい場合（ステップＳ９０４：ＹＥＳ）、MAC-PDUの不整合の検出が行われる（ステップＳ９０６）。例えば、MAC-PDU不整合チェック部１１０は、正しいと判断されたGMHに含まれる拡張サブヘッダフィールドとCRCインジケータとを抽出する。そして、MAC-PDU不整合チェック部１１０は、該抽出した拡張サブヘッダフィールドとCRCインジケータに基づいて、上述した方法により、拡張サブヘッダの長さの不正のチェックを行う。
【００６０】
不整合なしと判断されない場合（ステップＳ９０８：ＮＯ）、該MAC-PDUは、廃棄する。例えば、不整合MAC-PDU廃棄処理部１１２は、不整合なしと判断されないMAC-PDUを廃棄する。一方、不整合なしと判断された場合（ステップＳ９０８：ＹＥＳ）、該MAC-PDUは、復号処理（ステップＳ９１０）と、CRC演算処理と（ステップＳ９１２）とが行われる。例えば、MAC-PDU抽出コア部１０６は、不整合と判断されたMAC-PDU以外のMAC-PDUをCRCチェック部１１４に入力する。CRCチェック部１１４は、入力されたMAC-PDUを暗号処理部１１８に入力する。復号処理部１２０は、入力されたMAC-PDUの復号処理を行う。例えば、復号処理部１２０は、暗号化されたペイロードの復号を行う。また、CRCチェック部１１４は、入力されたMAC-PDUに含まれるCRCに基づいて、演算処理を行う。このように、CRCによる誤り検出に先立って、復号処理が行われる。
【００６１】
CRCチェック部１１４は、CRCが正しいかを判断する（ステップＳ９１４）。
【００６２】
CRCが正しいと判断されない場合（ステップＳ９１４：ＮＯ）、該CRCを含むMAC-PDUは廃棄されるようにしてもよい。一方、CRCが正しいと判断される場合（ステップＳ９１４：ＹＥＳ）、パケット番号ウインドウ処理が行われる（ステップＳ９１６）。例えば、パケット番号保持部１２２は、入力されたMAC-PDUに含まれるパケット番号を保持する。そして、パケット番号保持部１２２は、CRCの結果が入力された場合に、該CRCの結果に基づいて、正しいCRCの結果に対応するパケット番号をパケット番号ウインドウ処理部１２４に入力する。パケット番号ウインドウ処理部１２４は入力されたパケット番号に基づいて、パケット番号ウインドウ処理を行う。
【００６３】
そして、暗号処理部１１８は、復号されたMAC-PDUと、CRCの結果とを上位層に入力する。
【００６４】
本実施例に係る無線通信装置１００におけるMAC-PDUの処理時間について、図１０を参照して説明する。
【００６５】
図１０において横軸は時間である。クロックサイクルとしてもよい。また、図１０では、パケット番号ウインドウ処理はPNにより示される。例えば、MAC-PDUサイズが最大の2047byteであるとする。この場合に、2byte毎に処理が行われると仮定した場合、次のMAC-PDUの処理を開始できるまでの最短レイテンシは約15サイクルとなる。従って、背景技術において説明した場合の約1/70となる。また、次のMAC-PDUの処理との間は約1050サイクルとなる。従って、処理間隔は、背景技術において説明した場合の約1/2となる。例えば、動作周波数が44.8MHzである場合には、約23usの時間がかかる。従って、背景技術において説明した場合と比較して、約2倍のスループットとなる。
【００６６】
上述した実施例においては、MAC-PDU不整合チェック部１１０が、MAC-PDU抽出部１０２に含まれる場合について説明した。しかし、MAC-PDU不整合チェック部１１０は、復号処理部１２０による処理の前であれば、MAC-PDU抽出部１０２に含まれる必要はない。例えば、MAC-PDU不整合チェック部１１０は、MAC-PDU抽出部１０２とCRCチェック部１１４との間であってもよい。また、MAC-PDU不整合チェック部１１０は、CRCチェック部１１４と暗号処理部１１８との間であってもよい。
（第２の実施例）
本実施例に係る通信システムは、上述した実施例と同様である。
【００６７】
本実施例に係る無線通信装置について説明する。
【００６８】
本実施例に係る無線通信装置１００は、上述した実施例に係る無線通信装置と、MAC-PDU不整合チェック部１１０における処理が異なる。
【００６９】
本実施例に係る無線通信装置１００のMAC-PDU不整合チェック部１１０は、誤りが検出されなかったGMHに基づいて、該GMHを含むMAC-PDUに対して復号処理ができるかを判断する。例えば、MAC-PDU不整合チェック部１１０は、ペイロードの長さに矛盾がないかを判定するようにしてもよい。MAC-PDUに含まれる情報要素のうち、GMHはHCSにより保護されているが、0.4%(1/255)の割合ですり抜けが発生する。後段のCRCチェックが完了していないため、このすり抜けに関しても、不整合チェックをする必要がある。また、拡張サブヘッダに関してはCRCのチェックにより誤っていないと判断されない限り、誤っている可能性がある。そのため、MAC-PDU不整合チェック部１１０は、誤りが検出されなかったGMHを含むMAC-PDUに対して復号処理ができるかを判断する。
【００７０】
例えば、MAC-PDU不整合チェック部１１０は、誤りが検出されなかったGMHに含まれる暗号化制御(EC:  Encryption  Control）と、拡張サブヘッダフィールドと、CRCインジケータとを抽出する。そして、MAC-PDU抽出コア部１０６は、抽出したECと、拡張サブヘッダフィールドと、CRCインジケータとに基づいて、該GMHを含むMAC-PDUに対して復号処理ができるかを判断する。例えば、MAC-PDU不整合チェック部１１０は、図１１に示すように、ECが０である場合には、該MAC-PDUの復号ができるかの判定は行わない。ECが０の場合には、ペイロードが暗号化されていないためである。
【００７１】
一方、MAC-PDU不整合チェック部１１０は、図１１に示すように、ECが１である場合には、以下の処理を行う。
【００７２】
MAC-PDU不整合チェック部１１０は、CRCインジケータの値が０であり、拡張サブヘッダフィールドの値が０である場合には、MAC-PDUの長さが、GMHの長さ以上であり、さらにGMHの長さと、パケット番号の長さと、メッセージ認証コードの長さとの和未満である場合に不整合であると判断する。この条件に該当する場合には、該MAC-PDUには、ペイロードが含まれないと想定されるためである。CRCインジケータが０である場合には、MAC-PDUにCRCは含まれない。また、拡張サブヘッダフィールドの値が０である場合には、MAC-PDUに拡張サブヘッダフィールドは含まれない。例えば、GMHの長さを６バイト、パケット番号の長さを４バイト、メッセージ認証コードの長さを８バイトとした場合について説明する。この場合、MAC-PDU不整合チェック部１１０は、MAC-PDUの長さが、６バイト以上かつ１８バイト未満である場合には、該MAC-PDUを不整合と判断する。ここで、MAC-PDU不整合チェック部１１０が、GMHの長さと、パケット番号の長さと、メッセージ認証コードの長さとの和以下であると判断しないのは、ペイロードの長さ０である場合には、ECの値を０にしなければならないと標準化上で決定されているためである。
【００７３】
MAC-PDU不整合チェック部１１０は、CRCインジケータの値が０であり、拡張サブヘッダフィールドの値が１である場合には、GMHの長さと、拡張サブヘッダの長さとの和以上であり、さらにGMHの長さと、拡張サブヘッダの長さと、パケット番号の長さと、メッセージ認証コードの長さとの和未満である場合に不整合であると判断する。この場合、MAC-PDU不整合チェック部１１０は、拡張サブヘッダを復号し、拡張サブヘッダの長さを示す情報を取得する。CRCインジケータが０である場合には、MAC-PDUにCRCは含まれない。また、拡張サブヘッダフィールドの値が１である場合には、MAC-PDUに拡張サブヘッダが含まれる。例えば、GMHの長さを６バイト、パケット番号の長さを４バイト、メッセージ認証コードの長さを８バイトとした場合について説明する。この場合、MAC-PDU不整合チェック部１１０は、MAC-PDUの長さが、６バイトと拡張サブヘッダの長さとの和以上かつ１８バイトと拡張サブヘッダの長さとの和未満である場合には、該MAC-PDUを不整合と判断する。
【００７４】
MAC-PDU不整合チェック部１１０は、CRCインジケータの値が１であり、拡張サブヘッダフィールドの値が０である場合には、MAC-PDUの長さが、GMHの長さと、CRCとの和以上であり、さらにGMHの長さと、パケット番号の長さと、メッセージ認証コードの長さとCRCとの和未満である場合に不整合であると判断する。この場合、CRCインジケータが１である場合には、MAC-PDUにCRCが含まれる。また、拡張サブヘッダフィールドの値が０である場合には、MAC-PDUに拡張サブヘッダが含まれない。例えば、GMHの長さを６バイト、パケット番号の長さを４バイト、メッセージ認証コードの長さを８バイト、CRCを４とした場合について説明する。この場合、MAC-PDU不整合チェック部１１０は、MAC-PDUの長さが、１０バイト以上かつ２２バイト未満である場合には、該MAC-PDUを不整合と判断する。
【００７５】
MAC-PDU不整合チェック部１１０は、CRCインジケータの値が１であり、拡張サブヘッダフィールドの値が１である場合には、GMHの長さと、拡張サブヘッダの長さと、CRCの長さとの和以上であり、さらにGMHの長さと、拡張サブヘッダの長さと、パケット番号の長さと、メッセージ認証コードの長さと、CRCの長さとの和未満である場合に不整合であると判断する。この場合、MAC-PDU不整合チェック部１１０は、拡張サブヘッダを復号し、拡張サブヘッダの長さを示す情報を取得する。CRCインジケータが１である場合には、MAC-PDUにCRCが含まれる。また、拡張サブヘッダフィールドの値が１である場合には、MAC-PDUに拡張サブヘッダが含まれる。例えば、GMHの長さを６バイト、パケット番号の長さを４バイト、メッセージ認証コードの長さを８バイト、CRCの長さを４バイトとした場合について説明する。この場合、MAC-PDU不整合チェック部１１０は、MAC-PDUの長さが、１０バイトと拡張サブヘッダの長さとの和以上かつ２２バイトと拡張サブヘッダの長さとの和未満である場合には、該MAC-PDUを不整合と判断する。
【００７６】
本実施例に係る無線通信装置１００における受信処理のフローは、図９を参照して説明した動作と同様である。
【００７７】
本実施例によれば、CRCチェックと復号処理とを並列に実行できる。言い換えれば、パケット長の整合性が取れるMAC-PDUの復号を、該MAC-PDUに対する誤り検出処理に先立って実行できる。このため、受信処理におけるスループットを向上させることができる。
【００７８】
本実施例によれば、受信処理における誤り検出処理と復号処理とのパイプライン化が可能であるため、高スループットが実現できる。さらに、CRCチェック待ち用のメモリも不要となる。具体的には、サイクルレベルでパイプライン処理が可能である。
【００７９】
上述した実施例においては、通信システムの一例として、WiMAXについて説明した。しかし、送信装置と受信装置との間でパケットの送受信が行われる通信システムで、該パケットがヘッダとサブヘッダとを有する通信システムに適用できる。この場合、該ヘッダ内に、サイズ情報を含む場合に適用できる。
（付記１）
パケットに含まれる第１のヘッダの誤り検出を行う手段と、
前記第１のヘッダから誤りが検出されなかった場合に、該第１のヘッダに基づいて、前記パケット長の整合性が取れるかを判断する手段と、
前記判断する手段により整合性が取れると判断されたパケットの復号処理を行う手段と、
前記判断する手段により整合性が取れると判断されたパケットの誤り検出を行う手段と
を有し、
前記復号処理を行う手段は、前記誤り検出を行う手段による誤り検出に先立って、前記整合性が取れると判断されたパケットの復号処理を行う無線通信装置。
（付記２）
付記１に記載の無線通信装置において、
前記判断する手段は、該第１のヘッダに含まれる制御情報に基づいて、前記パケット長の整合性が取れるかを判断する無線通信装置。
（付記３）
付記２に記載の無線通信装置において、
前記判断する手段は、前記第１のヘッダに含まれる制御情報に基づいて、前記パケットに含まれる第２のヘッダ長の整合性が取れるかを判断する無線通信装置。
（付記４）
付記３に記載の無線通信装置において、
前記第１のヘッダに含まれる制御情報には、第２のヘッダの有無を示す情報と、誤り検出符号の有無を示す情報とが含まれる無線通信装置。
（付記５）
付記２に記載の無線通信装置において、
前記判断する手段は、前記第１のヘッダに含まれる制御情報に基づいて、前記パケットに含まれるデータ長の整合性が取れるかを判断する無線通信装置。
（付記６）
付記５に記載の無線通信装置において、
前記第１のヘッダに含まれる制御情報には、第２のヘッダの有無を示す情報と、誤り検出符号の有無を示す情報と、前記パケットに含まれる情報が暗号化されているか否かを示す情報とが含まれる無線通信装置。
（付記７）
付記１ないし６のいずれか１項に記載の無線通信装置において、
前記パケット長の整合性が取れないと判断されたパケットを廃棄する手段
を有する無線通信装置。
（付記８）
付記１ないし７のいずれか１項に記載の無線通信装置において、
前記第１のヘッダの誤り検出を行う手段は、該第１のヘッダに含まれる誤り検出符号に基づいて、誤り検出を行う無線通信装置。
（付記９）
付記１ないし８のいずれか１項に記載の無線通信装置において、
前記パケットは、パケット番号を含み、
前記パケット番号に基づいて、該パケット番号の重複及び／又は遡りを検出する手段と、
前記パケットの誤り検出を行う手段における誤り検出処理の終了まで、前記検出する手段における処理を遅延させる手段と
を有する無線通信装置。
（付記１０）
付記９に記載の無線通信装置において、
前記検出する手段は、予め決定されたパケット番号の遡りを許容することを特徴とする無線通信装置。
（付記１１）
付記１ないし１０のいずれか１項に記載の無線通信装置において、
前記誤り検出を行う手段による誤り検出の結果に基づいて、前記復号処理を行う手段により復号されたパケットの受信処理を行う手段
を有する無線通信装置。
（付記１２）
付記１ないし１１のいずれか１項に記載の無線通信装置において、
前記第１のヘッダはジェネリック  マック  ヘッダであり、前記第２のヘッダはサブヘッダである無線通信装置。
（付記１３）
パケットに含まれる第１のヘッダの誤り検出を行うステップと、
前記第１のヘッダの誤り検出結果に基づいて、該第１のヘッダに基づいて、前記パケット長の整合性が取れるかを判断するステップと、
前記判断するステップにより整合性が取れると判断されたパケットの復号処理を行うステップと、
前記判断するステップにより整合性が取れると判断されたパケットの誤り検出を行うステップステップと
を有し、
前記復号処理を行うステップは、前記誤り検出を行うステップによる誤り検出に先立って、前記整合性が取れると判断されたパケットの復号処理を行う受信方法。
（付記１４）
付記１ないし１２のいずれか１項に記載の無線通信装置を有する無線基地局。
（付記１５）
付記１ないし１２のいずれか１項に記載の無線通信装置を有する移動局。
【図面の簡単な説明】
【００８０】
【図１】MAC-PDUを示す説明図である。
【図２】GMHを示す説明図である。
【図３】Extended  Subheaderを示す説明図である。
【図４】無線通信装置を示す部分ブロック図である。
【図５】無線通信装置の動作を示すフロー図である。
【図６】MAC-PDUの処理時間の一例を示す説明図である。
【図７】一実施例に係る無線通信装置を示す部分ブロック図である。
【図８】一実施例に係る無線通信装置の処理を示す説明図である。
【図９】一実施例に係る無線通信装置の動作を示すフロー図である。
【図１０】一実施例に係るMAC-PDUの処理時間の一例を示す説明図である。
【図１１】一実施例に係る無線通信装置の処理を示す説明図である。
【符号の説明】
【００８１】
２  MAC-PDU抽出部
４  フレーム  メモリ
６  MAC-PDU抽出コア部
８  HCSチェック部
１０  CRCエラーチェック部
１２  CRCチェック部
１４  MAC−PDU保持メモリ
１６  PDU出力部
１８  暗号処理部
２０  復号処理部
２２  パケット番号ウインドウ処理部
５０  無線通信装置
１０２  MAC-PDU抽出部
１０４  フレームメモリ
１０６  MAC-PDU抽出コア部
１０８  HCSチェック部
１１０  MAC-PDU不整合チェック部
１１２  不整合MAC-PDU廃棄処理部
１１４  CRCチェック部
１１６  CRCチェック回路
１１８  暗号処理部
１２０  復号処理部
１２２  パケット番号保持部
１２４  パケット番号ウインドウ処理部
【図１】
0005169449.tif 000002
【図２】
0005169449.tif 000003
【図３】
0005169449.tif 000004
【図４】
0005169449.tif 000005
【図５】
0005169449.tif 000006
【図６】
0005169449.tif 000007
【図７】
0005169449.tif 000008
【図８】
0005169449.tif 000009
【図９】
0005169449.tif 000010
【図１０】
0005169449.tif 000011
【図１１】
0005169449.tif 000012