(57)【特許請求の範囲】
【請求項１】
ヘッダを有するデータユニットを処理するデータ受信処理方法において，
前記ヘッダのエラーチェックを行う工程と，
前記ヘッダのエラーチェックでエラーが検出された場合に，前記ヘッダを含む誤り訂正処理ブロックにおける誤り訂正数に基づいて，前記エラーが検出されたヘッダのエラー訂正処理を行うか否かを判定する工程と，
前記誤り訂正処理ブロックにおける誤り訂正数が基準値より大きい場合に，前記エラーが検出されたヘッダを含む前記誤り訂正処理ブロック内に含まれた，前記エラーが検出されたヘッダのデータユニット以降のデータユニットを破棄し，次の誤り訂正処理ブロック内のヘッダのエラーチェックを行う工程とを有するデータ受信処理方法。
【請求項２】
請求項１のデータ受信処理方法において，さらに，
１以上の前記データユニットを有するバーストを受信して受信バッファに格納する工程と，
前記バーストを前記誤り訂正処理ブロックに分割し，前記誤り訂正処理ブロック毎に誤り訂正処理を行い前記誤り訂正数を検出する工程とを有するデータ受信処理方法。
【請求項３】
請求項１または請求項２のデータ受信処理方法において，さらに，
前記誤り訂正処理ブロックにおける誤り訂正数が基準値以下の場合に，前記エラーが検出されたヘッダのエラー訂正処理を行う工程を有するデータ受信処理方法。
【請求項４】
請求項１乃至３のデータ受信処理方法において，
変調方式または誤り訂正符号化の符号化レート，及び通信環境に応じて，前記基準値が複数種類あらかじめ設定され，
前記複数種類の基準値のうち，そのときの前記変調方式または誤り訂正符号化の符号化レートに対応した基準値が使用されるデータ受信処理方法。
【請求項５】
ヘッダを有するデータユニットを処理するデータ受信処理方法において，
前記ヘッダのエラーチェックを行う工程と，
前記ヘッダのエラーチェックでエラーが検出された場合に，前記ヘッダを含む誤り訂正処理ブロックにおける誤り訂正数または誤り訂正率が基準値以下の場合に，前記エラーが検出されたヘッダを含むデータユニット以降のデータユニットの救済処理を行い，前記基準値より大きい場合に，前記誤り訂正処理ブロック内の前記エラーが検出されたヘッダ以降のデータユニットを破棄する救済処理工程とを有するデータ受信処理方法。
【請求項６】
請求項５のデータ受信処理方法において，
前記救済処理工程では，
前記エラーが検出されたヘッダのエラー訂正処理を行い，
前記エラー訂正処理が行われたヘッダ内のデータユニットの長さ情報に基づいて，前記ヘッダの次のヘッダのエラーチェックを行い，
前記次のヘッダのエラーチェックでエラーが検出されない場合に，前記エラー訂正処理が行われたヘッダのデータユニットを処理するデータ受信処理方法。
【請求項７】
請求項５または請求項６のデータ受信処理方法において，さらに，
１以上の前記データユニットを有するバーストを受信して受信バッファに格納する工程と，
前記バーストを前記誤り訂正処理ブロックに分割し，前記誤り訂正処理ブロック毎に誤り訂正処理を行い前記誤り訂正数または誤り訂正率を検出する工程とを有するデータ受信処理方法。
【請求項８】
ヘッダを有するデータユニットを処理するデータ受信処理装置において，
受信した複数のデータユニットを一時的に格納する受信バッファと，
前記受信バッファ内の前記ヘッダのエラーチェックを行い，前記ヘッダエラーチェックでエラーを検出した場合に，前記ヘッダを含む誤り訂正処理ブロックにおける誤り訂正数に基づいて，前記エラーが検出されたヘッダのエラー訂正処理を行うか否かを判定する受信処理ユニットとを有し，
前記受信処理ユニットは，前記誤り訂正処理ブロックにおける誤り訂正数が基準値より大きい場合に，前記エラーが検出されたヘッダを含む前記誤り訂正処理ブロック内に含まれた，前記エラーが検出されたヘッダのデータユニット以降のデータユニットを破棄し，次の誤り訂正処理ブロック内のヘッダのエラーチェックを行うデータ受信処理装置。
【請求項９】
ヘッダを有するデータユニットを処理するデータ受信処理装置において，
受信した複数のデータユニットを一時的に格納する受信バッファと，
前記受信バッファ内の前記ヘッダのエラーチェックを行い，前記ヘッダのエラーチェックでエラーが検出された場合に，前記ヘッダを含む誤り訂正処理ブロックにおける誤り訂正数または誤り訂正率が基準値以下の場合には，前記エラーが検出されたヘッダを含むデータユニット以降のデータユニットの救済処理を行い，前記基準値より大きい場合には，前記誤り訂正処理ブロック内の前記エラーが検出されたヘッダ以降のデータユニットを破棄する受信処理ユニットとを有するデータ受信処理装置。
【請求項１０】
請求項９のデータ受信処理装置において，
前記受信処理ユニットは，前記救済処理において，前記エラーが検出されたヘッダのエラー訂正処理を行い，前記エラー訂正処理が行われたヘッダ内のデータユニットの長さ情報に基づいて，前記ヘッダの次のヘッダのエラーチェックを行い，前記次のヘッダのエラーチェックでエラーが検出されない場合に，前記エラー訂正処理が行われたヘッダのデータユニットを処理するデータ受信処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，データ受信処理方法及びデータ受信処理装置に関する。
【背景技術】
【０００２】
無線通信システム，例えばＷｉＭＡＸ，において，ＭＡＣ（Medium Access Control:媒体接続制御）層は物理層に共通のプロトコルであり，基地局と移動局との間でデータのやり取りをする場合に，基地局と移動局との間でＭＡＣ層どうしの対応付け（マッピング）が行われコネクションが確立される。
【０００３】
データのやり取りは複数のパケットで行われるが，このパケットはＭＡＣプロトコルで規定されたプロトコルデータユニット（以下，ＭＡＣ−ＰＤＵ，または単にＰＤＵ（Protocol Data Unit）と称する）の形態を持つ。ＭＡＣ−ＰＤＵは，ＰＤＵの構成方式や長さ，コネクションＩＤ(CID)などの情報を有するＭＡＣヘッダ部と，データが含まれるペイロード部とで構成される。ただし，ペイロード部はオプションである。また，ＭＡＣヘッダには，一般ＭＡＣヘッダ（Generic MAC Header: GMAC）とＭＡＣ制御ヘッダ（MAC Control Header）とがある。
【０００４】
バーストは，１つ以上のＰＤＵの束であり，フレームは，１つ以上のバーストの束である。受信装置は，フレームからバースト領域を区分し，バースト内のＰＤＵのＭＡＣヘッダ内のコネクションＩＤをチェックし自身宛のＰＤＵのみを選別して処理する。
【０００５】
一方，無線通信などにおいては，送信側と受信側との間の通信媒体上の状態に応じて，受信データにエラーが発生する。そのため，上記の無線通信では，受信側でエラーを検出できるように，ＭＡＣヘッダ部とペイロード部は，巡回冗長検査ビット（Cyclic Redundancy Check: CRC）などの誤り訂正符号ビットを有する。ＭＡＣヘッダ部内のＣＲＣは，ヘッダ検査シーケンス（ＨＣＳ：Header Check Sequence）と呼ばれ，ペイロード部とＰＤＵ全体に対するエラーを検出するＣＲＣは，フレームチェックシーケンス（ＦＣＳ：Frame Check Sequence）と呼ばれる。
【０００６】
受信処理装置は，バースト毎に，バースト内のＰＤＵのエラーチェックとデータ処理を順番に行う。たとえば，ＰＤＵのＭＡＣヘッダ内のＨＣＳビットによるエラーチェックがＯＫの場合は，そのＭＡＣヘッダ内のコネクションＩＤが自身宛であれば，そのＰＤＵのデータ処理を行い，自身宛でなければそのＰＤＵを破棄して，次のＰＤＵのエラーチェックとデータ処理を行う。ＭＡＣヘッダ内にはＰＤＵのデータ長の情報を有する長さフィールドがあり，受信処理装置は，この長さフィールド内のデータ長に基づいて，次のＰＤＵを抽出する。
【０００７】
ＨＣＳビットによるエラーチェックがＮＧ（No Good）の場合は，そのＰＤＵのデータは信用できないので，次のＰＤＵの先頭を特定することができない。したがって，そのバースト内のそれ以降のＰＤＵは全て破棄することが行われる。しかし，この方法ではバースト内の残りのＰＤＵが全て破棄されスループットが急激に低下する。
【０００８】
そこで，ＨＣＳビットによるエラーチェックがＮＧの場合には，次のＭＡＣヘッダをスキャンして次のＰＤＵの先頭を推測することが提案されている。それによれば，１バイトシフトしてスキャン毎に，ＭＡＣヘッダ内のＨＣＳビットによるエラーチェックを行い，チェック結果がＯＫの場合に推測したＰＤＵが正しいと判断してデータ処理を行うことで，そのＰＤＵを救済する。たとえば，特許文献１である。
【０００９】
また，通信システムにおけるＰＤＵの処理については，例えば，特許文献２，３などに提案されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００７−１９５１８５号公報
【特許文献２】特開２００８−１７４６７号公報
【特許文献３】特開２００１−３５８６９９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
まず，ＨＣＳビットによるエラーチェックでＮＧになった場合に，処理中のバースト内のそれ以降のＰＤＵを全て破棄することはスループットが急激に低下するので好ましくない。
【００１２】
さらに，上記特許文献１によるＰＤＵの救済方法では，ノイズの強い通信環境下においては，ＭＡＣヘッダ内のＨＣＳビットによるエラーチェックがＯＫであっても，ＰＤＵのＣＲＣビットによるエラーチェック結果がＮＧになる可能性が高い。そのため，ＰＤＵの救済処理を行っても，結果的にはそのＰＤＵがＣＲＣビットによるエラーチェックでＮＧとなり破棄されることになり，かえってデータ受信処理のパフォーマンスの低下を招く。
【００１３】
そこで，本発明の目的は，データ受信処理のパフォーマンス低下を伴わずにＰＤＵの救済を行うデータ受信処理方法及びデータ受信処理装置を提供することにある。
【課題を解決するための手段】
【００１４】
データ受信処理方法のひとつの側面は，ヘッダを有するデータユニットを処理するデータ受信処理方法において，前記ヘッダのエラーチェックを行う工程と，前記ヘッダのエラーチェックでエラーが検出された場合に，前記ヘッダを含む誤り訂正処理ブロックにおける誤り訂正数に基づいて，前記エラーが検出されたヘッダのエラー訂正処理を行うか否かを判定する工程とを有する。
【発明の効果】
【００１５】
上記の側面によれば，スループットを低下させずにエラーを有するヘッダを救済することができる。
【図面の簡単な説明】
【００１６】
【図１】モバイルＷｉＭＡＸにおけるデータユニットの構成を示す図である。
【図２】本実施の形態における受信装置の構成図である。
【図３】本発明者がある受信装置による実験で求めた，ビットエラーレートBERとビットエラーレートとの関係を示す図表である。
【図４】本実施の形態におけるデータ受信処理装置の構成図である。
【図５】本実施の形態における受信処理ユニット５０の処理手順を示すフローチャート図である。
【図６】次のGMHの探索方法を説明する図である。
【図７】FECブロック内でのGMHの探索方法を説明する図である。
【図８】本実施の形態のデータユニット救済方法を説明するためのバースト例を示す図である。
【発明を実施するための形態】
【００１７】
図１は，モバイルＷｉＭＡＸにおけるデータユニットの構成を示す図である。フレームＦＲには１以上のバーストＢＳＴが含まれ，バーストＢＳＴには１以上のデータユニット１０が含まれる。モバイルＷｉＭＡＸでは，このデータユニット１０は，ＭＡＣ−ＰＤＵ（Protocol Data Unit）である。図１では，バーストＢＳＴは３つのデータユニットＭＡＣ−ＰＤＵ＃０，＃１，＃２を有している。
【００１８】
そして，MAC-PDUは，データユニット１０に示されるとおり，ヘッダであるGMH（Generic MAC Header）１２と，可変長のペイロード１４と，MAC-PDUの誤り訂正符号である４バイト（３２ビット）のCRC（Cyclic Redundancy Check:巡回冗長検査）ビット１６とを有する。ペイロード１４とCRCビット１６はオプションであるが，GMH１２は必ず含まれる。
【００１９】
さらに，ヘッダのGMH１２は，６バイト（４８ビット）固定長であり，ヘッダのタイプ（一般MACヘッダ，MAC制御ヘッダ）を示すヘッダタイプ１２１，ペイロードの暗号化の有無を示すエンクリプションコントロール１２２と，種々の情報が格納されたヘッダコンテンツ１２３と，ヘッダの誤りをチェックするヘッダチェックシーケンス（HCS）１２４とを有する。このヘッダコンテンツ１２３内には，図１に示されるとおり，タイプ，ESF(Extended Subheader Field)，CI(CRC Indicator)，EKS(Encryption Key Sequence)，MAC-PDUの長さを示すLength，コネクションID（CID）などが含まれる。
【００２０】
データ受信処理装置は，このヘッダ内のコネクションIDに基づいて，自身宛のMAC-PDUか否かを判定する。また，データ受信処理装置は，ヘッダ内の長さ情報に基づいて，次のMAC-PDUの先頭の位置を検出することができる。
【００２１】
バーストBST内には，それぞれデータ長が異なる複数のMAC-PDUが含まれている。送信装置は，バーストBSTを決められたルールに基づいて複数の固定長の誤り訂正処理ブロックに分割し，それぞれの誤り訂正処理ブロックで，畳み込み符号化などの前方誤り訂正符号化を行う。それに伴って，受信装置は，無線信号を受信処理し，ベースバンドの受信データの前方誤り訂正を行って可能な範囲でエラービットの誤り訂正処理を行い，後段のデータ受信処理装置に誤り訂正した受信データを供給する。
【００２２】
この前方誤り訂正符号化の対象である誤り訂正処理ブロックは，FEC（Forward Error Correction:前方誤り訂正）ブロックと称され，受信装置は，高周波受信回路の直後で前方誤り訂正を行う。
【００２３】
そして，後段のデータ受信処理装置は，誤り訂正された受信データを受信バッファ内に一時的に格納し，バーストBST内の各MAC-PDUのヘッダを解析し，コネクションID（CID）に基づいて自身宛のデータユニットを検出し，検出したデータユニットについて適切なデータ処理を行う。データ受信処理装置は，ヘッダ内の長さ情報に基づいて次のMAC-PDUを受信バッファから読み出して，順番にMAC-PDUがエラーを有していないか，自身宛のデータユニットかなどの処理を行う。
【００２４】
また，データ受信処理装置は，ヘッダであるGMH１２内の８ビット固定長のHCSビット１２４に基づいて，GMH内にエラーが存在するか否かをチェックする。このHCSビット１２４は，例えばCRCコードであり，GMH内のHCSビット１２４とそれ以外のデータとを演算することで，GMH内にエラーが存在するか否かを検出することができる。さらに，エラービットが１ビットの場合は，エラービットの位置を特定することができ，１ビットのエラービットを反転すれば誤り訂正をすることができる。ただし，HCSビットでは，通常，エラービットの数を特定することはできない。
【００２５】
さらに，データユニットであるMAC-PDU１０も，ペイロード１４が設けられている場合は，４バイト固定長のCRCビット１６を有する。したがって，データ受信処理装置は，このCRCビット１６に基づいて，MAC-PDU内にエラーが存在するか否かをチェックする。
【００２６】
図２は，本実施の形態における受信装置の構成図である。受信装置は，アンテナ２０で受信した高周波信号を処理する高周波アナログ回路RFと，受信デジタル信号について周波数同期制御SYNCや位相同期制御DETを行い，FECブロック毎に前方誤り訂正を行う物理層回路PHYと，ローレベルMAC層回路LMACとを有する。
【００２７】
高周波アナログ回路RFは，ローノイズアンプLNA,ミキサMIX，直交復調器Q-DEM，ローパスフィルタLPF，可変ゲインアンプVGA，アナログデジタルコンバータADCなどを有する。高周波アナログ回路RFは，受信した高周波信号を処理し，ベースバンドの受信データを生成し，物理層回路PHYに供給する。また，物理層回路PHYは，周波数同期制御部SYNCと，位相同期制御部DETと，前方誤り訂正部FECとを有する。この前方誤り訂正部FECが，FECブロック毎に前方誤り訂正を行う。この処理により，FECブロック内での誤り訂正数，または誤り訂正率（誤り訂正数をFECブロックのビット数で除算した率）を得ることができる。
【００２８】
そして，ローレベルMAC層回路LMACは，受信データ内に混在する複数のバーストを再構築しながら受信バッファ内に一時的に格納し，各バースト内の自身宛のMAC-PDUを検出するバースト再構築回路２２と，検出した自身宛のMAC-PDUのCRCビットによるエラーチェックを行うCRC回路２４と，CRCチェックでエラーがなかった場合に，暗号化されたMAC-PDUを復号化する復号化回路２６とを有する。暗号が解かれたMAC-PDUが，図示しない後段の処理回路でデータ処理される。
【００２９】
本実施の形態において，上記のバースト再構築回路２２が，データ受信処理装置に対応している。そして，本実施の形態では，このバースト再構築回路２２が，バースト内のMAC-PDU内のHCSビットによるエラーチェック結果がNG（NO Good）の場合に，そのエラーが検出されたMAC-PDUとそれ以降のMAC-PDUの救済を，受信処理のパフォーマンスを大きく低下させることなく行う。
【００３０】
たとえば，図１に示した３つのMAC-PDUを有するバーストBSTにおいて，２番目のMAC-PDU#1のヘッダ１２のHCSビット１２４によるエラーチェック結果がNGの場合（エラーが検出された場合），そのヘッダ内の情報，特に次のMAC-PDUのヘッダ位置を特定するために必要な長さ情報は，エラービットが含まれている可能性があり確からしくない。そのため次のMAC-PDUの先頭位置を知ることができない。そこで，一般的なデータ受信処理では，そのバーストBST内のエラーが検出されたMAC-PDU#1以降の全てのデータユニットMAC-PDU#1,#2を破棄して，次のバーストBSTから同様のデータ受信処理を行う。
【００３１】
しかし，上記の処理方法では，バースト内の残りのMAC-PDUを全て破棄することになり，その中に含まれているかもしれない自身宛のMAC-PDUを受信することができない可能性があり，スループットの大幅な低下を招く。
【００３２】
前述の特許文献１によれば，ｎ番目のMAC-PDUのヘッダであるGMHのHCSチェック結果がNGの場合に，ヘッダ内の長さ情報にはエラーが存在しないと仮定して，その長さ情報に基づいて，受信バッファ内の次のMAC-PDUの先頭にジャンプし，次のｎ＋１番目のMAC-PDUのGMHに相当する６バイトのデータを読み出し，そのGMHのHCSチェックを行う。このHCSチェック結果がOKの場合には，上記の長さ情報が正しかったとみなすことができ，上記のｎ＋１番目のMAC-PDUから通常処理を再開する。また，HCSチェック結果がNGの場合には，長さ情報が正しくなかったとみなすことができ，上記のｎ番目のMAC-PDUの先頭から受信バッファ内を１バイトずつずらしてスキャンしながら６バイトのデータを読み出し，その読み出した６バイトデータをGMHとみなしてHCSチェックを行い，HCSチェック結果がOKになるまで，そのスキャン検索を行う。
【００３３】
上記の方法によれば，ｎ番目のMAC-PDUのヘッダGMHのHCSチェック結果がNGの場合でも，少なくともｎ＋１番目のMAC-PDUから救済することができる可能性があり，スループットの大幅な低下を回避できる。
【００３４】
しかしながら，ノイズの強い通信環境下では，ｎ＋１番目のMAC-PDUの救済を行っても，CRC回路２４でのCRCビット１６によるMAC-PDU全体のエラーチェックでエラーが検出される可能性が高く，結局は救済したｎ＋１番目のMAC-PDUは破棄される可能性が高い。その場合，救済処理が無駄に終わり，全体のパフォーマンスがかえって低下することになる。
【００３５】
また，ｎ＋１番目のMAC-PDUのスキャン検索において，GMH内のHCSビットによるエラーチェックでエラーなしになる確率が１／２５６（０．３９％）であり，GMHでない箇所をGMHと誤認識する可能性がある。よって，HCSビットによるエラーチェックだけでそのGMHが正しいと判定することは誤認識を招来し，パフォーマンスの低下につながる場合がある。
【００３６】
さらに，HCSエラーチェックでNGになったｎ番目のMAC-PDUは救済されないので，そのMAC-PDUが自身宛の場合にはスループットの低下を招くことになる。
【００３７】
本実施の形態のデータ受信処理装置は，HCSビットによるエラーチェックでNGとなったｎ番目のMAC-PDUを含めて，確度の高い救済処理を行う。そのために，FECブロックに対する前方誤り訂正で得られる誤り訂正数が基準値以下の場合に，ｎ番目のMAC-PDUを含めて救済処理を行い，基準値より大きい場合には救済処理を行わずに次のFECブロック内のMAC-PDUを検出して受信処理を行う。前方誤り訂正は，図２で示したとおり物理層回路PHYで行われるので，バースト再構築回路２２は，処理中のMAC-PDUが含まれているFECブロックの誤り訂正数を事前に取得することができる。
【００３８】
受信装置は送信装置が送信した送信データを取得できない。したがって，受信装置は，受信信号からは送信側と受信側の間の通信媒体上での信号伝送品質を示すBER（Bit Error Rate:ビットエラーレート）を知ることはできない。しかし，受信装置では，高周波アナログ回路の直後で前方誤り訂正を行い，その誤り訂正によって訂正されたビット数を知ることはできる。つまり，受信装置は，誤り訂正数または誤り訂正率（誤り訂正数をFECブロックのビット数で除した値）を知ることはできる。
【００３９】
そして，BERと誤り訂正数との間には一定の相関関係があることが知られている。たとえば，ビットエラーレートBERが１つのFECブロックに対してKビットの場合，そのFECブロックの前方誤り訂正ではKビット以下のLビットを訂正することができる。つまり，K≧Lである。そして，BERが高くなれば受信データ内のエラービット数が増加し，誤り訂正数も増加する。逆に，BERが低くなれば受信データ内のエラービット数が減少し，誤り訂正数も減少する。従って，誤り訂正数または誤り訂正率に基づいて，受信データのBERを推定することができる。
【００４０】
CCやCTCの畳み込み符号など前方誤り訂正で利用される誤り訂正符号は，DSK，QPSK，16QAM，64QAMなどの変調方式の違いに応じて，または畳み込み符号の符号レート（ｍビットの情報シンボルが符号化によってｎ（≧ｍ）ビットシンボルに変換された場合の符合レートはｍ／ｎ）に応じて，誤り訂正能力が異なる。さらに，誤り訂正符号の誤り訂正能力は，受信装置の性能によっても異なる。
【００４１】
したがって，あらかじめ実験によって，受信装置毎に，異なる変調方式と符合レートとに応じて，前方誤り訂正による誤り訂正数または誤り訂正率とビットエラーレート（BER）との関係を求めておく。そして，その誤り訂正数または誤り訂正率について，ｎ番目のMAC-PDUのHSCビットによるエラーチェックでNGになったときに，そのｎ番目のMAC-PDUを含めて救済処理を行うか否かを判断する基準値を設定しておく。データ受信処理装置は，FECブロックの前方誤り訂正で取得した誤り訂正数または誤り訂正率が基準値以下の場合に，MAC-PDUの救済処理を行い，基準値より高い場合にはそのFECブロック内のそれ以降のMAC-PDUを破棄し，次のFECブロックから処理を行う。つまり，受信装置は，通信媒体中のビットエラーレートBERを知ることはできないので，誤り訂正数や率から通信媒体中のBERを推定し，推定したBERが基準値より低い場合に，救済処理を実行するのである。これにより，無駄な救済処理の実行を抑制し，スループットを上げることができる。
【００４２】
モバイルWiMAXにおいて，６バイト（４８ビット）のGMHのHCSビットは１バイト（８ビット）で構成され，残りの５バイトのGMHを演算することで生成される。そして，データ受信処理装置は，受信データ内のHCSビットと残りの５バイトのデータとに基づいて演算することで，エラーが存在するか否かを検出することができる。さらに，データ受信処理装置は，GMH内のエラービットが１ビットのみの場合は，HCSチェックによる演算結果により，どのビットが誤っているかを特定することができる。ただし，１ビットのエラーか否かを知ることはできない。
【００４３】
たとえば，HCSの生成多項式が
Ｘ8＋Ｘ2＋Ｘ1＋１
の場合に，以下のＧＭＨ１，ＧＭＨ０のようにＭＳＢ（４７ビット目）のみが反転していた場合，それらのＬＳＢが「５」と「３」の違いがあっても，ＨＣＳチェック演算の結果は同じになる。
LSB=5
ＧＭＨ１＝0x80AA AA0F 0FD5            HCS Check = 0x00 (OK)
ＧＭＨ０＝0x00AA AA0F 0FD5            HCS Check = 0xE0 (NG)
LSB=3
ＧＭＨ１＝0x80AA AA0F 0FD3            HCS Check = 0x00 (OK)
ＧＭＨ０＝0x00AA AA0F 0FD3            HCS Check = 0xE0 (NG)
つまり，HCSチェック結果が0xE0であれば，１ビットのエラーの位置はMSB（４７ビット目）であることがユニークに特定できる。ただし，１ビットしかエラーが発生していないことが前提である。
【００４４】
そこで，GMHが１ビットのみエラー（反転）していることを知る必要がある。本実施の形態では，GMHが６バイト（４８ビット）のビット列を有するので，ビットエラーレートBERが１／４８以下であれば，GMH内のエラーが１ビット以下である可能性が高い。もちろんビットエラーレートBERは，ビットエラーが一カ所に集中する場合もあり，必ずGMH内のエラーが１ビット以下になる保証はないが，少なくともその可能性は高いといえる。
【００４５】
そこで，本実施の形態では，ビットエラーレートBERがそれより１桁以上低い１／１０−３以下であれば，GMH内のエラーが１ビット以下である可能性が極めて高いとみなして，BER=１／１０−３に対応する誤り訂正数または誤り訂正率を実験で求めておき，その誤り訂正数または誤り訂正率をHSCエラーが検出されたMAC-PDUの救済を行うか否かの基準値とする。
【００４６】
図３は，本発明者がある受信装置による実験で求めた，ビットエラーレートBERとビットエラーレートとの関係を示す図表である。この図表では，３種類のBER毎に，変調方式（Modulation），符合レート（Cording Rate）に対応する，FECブロック（６０バイト）での前方誤り訂正による誤り訂正率を示している。通信環境である３種類のBERにおいて，変調方式と符合レートを変更して，それぞれの誤り訂正率を求めた。この実験例ではFFTサイズが１０２４の例である。
【００４７】
誤り訂正率は，FECブロック内の誤り訂正数をFECブロックのビット数で除したものであるので，FECブロックのビット数が固定長であれば，誤り訂正率と誤り訂正数とは１対１に対応する。したがって，図３において，２種類のBERに対応して誤り訂正数を求めて置いても良い。図３において，BER=1.00 -E03 (1/1000)に対応する誤り訂正率が，基準値として採用される。
【００４８】
図４は，本実施の形態におけるデータ受信処理装置の構成図である。このデータ受信処理装置は，図２に示したバースト再構築回路２２である。バースト再構築回路２２は，受信した複数のデータユニットMAC-PDUを一時的に格納する受信バッファ３２と，受信バッファ３２内のヘッダGMHのエラーチェックを行い，ヘッダエラーチェックでエラーを検出した場合に，ヘッダGMHを含む誤り訂正処理ブロックにおける誤り訂正数４２に基づいて，エラーが検出されたヘッダのエラー訂正処理を行うか否かを判定する受信処理ユニット５０とを有する。
【００４９】
もしくは，バースト再構築回路２２は，受信した複数のデータユニットMAC-PDUを一時的に格納する受信バッファ３２と，受信バッファ内のヘッダGMHのエラーチェックを行い，ヘッダのエラーチェックでエラーが検出された場合に，ヘッダを含む誤り訂正処理ブロックにおける誤り訂正数または誤り訂正率４２が基準値以下の場合には，エラーが検出されたヘッダを含むデータユニット以降のデータユニットの救済処理を行い，基準値より大きい場合には，誤り訂正処理ブロック内のエラーが検出されたヘッダ以降のデータユニットを破棄する受信処理ユニット５０とを有する。
【００５０】
図４において，前段の物理層回路PHYから供給される受信データが書き込み制御ユニット３０により，受信バッファ３２内に一時的に格納される。受信データには複数のバーストが混在しているので，書き込み制御ユニット３０は受信データをそれらのバースト毎に区別して受信バッファ３２内のそれぞれ対応する領域に書き込むことで，複数のバーストを再構築する。
【００５１】
受信処理ユニット５０は，GMHアナライザ３４と，HCSチェックユニット３６と，HCSビットによるエラー訂正処理ユニット３８と，GMHスキャンユニット４０とを有する。GMHアナライザ３４には，物理層回路PHYの前方誤り訂正回路FECが検出した誤り訂正数４２が供給される。そして，GMHアナライザ３４は，図３に示した基準値の対応テーブルを内部に備え，現在のFECブロックの誤り訂正数４２が，基準値以下か基準値より大きいかに基づいて，エラーが検出されたMAC-PDUの救済を行うか否かを判定する。
【００５２】
図５は，本実施の形態における受信処理ユニット５０の処理手順を示すフローチャート図である。このフローチャート図に沿って，本実施の形態における受信データ処理について説明する。
【００５３】
まず，ヘッダアナライザ３４は，受信バッファ３２に一時的に格納されているあるバースト内のGMHを読み出す（S10）。例えば，バーストの先頭のGMHのアドレスはバーストの先頭アドレスと同じであり，次のGMHのアドレスは先頭GMHのアドレスからそのMAC-PDUの長さ情報だけずらしたアドレスになる。
【００５４】
ヘッダアナライザ３４は，受信バッファ３２からFECブロック内のGMHを読み出す（S10）。そして，読み出したGMHについてHCSエラーチェックを行う（S12）。HCSエラーチェックは，HCSエラーチェックユニット３６が行う。このHCSエラーチェック結果がOKであれば，そのGMHのMAC-PDUについて通常の処理を行う（S14）。この通常処理では，MAC-PDU内のCRCエラーチェックでOKであれば，コネクションIDにもとづいて自身宛のデータユニットか否かを判定し，自身宛であればペイロードのデータを後段の回路に提供する。そして，ヘッダアナライザ３４は，GMH内の長さ情報に基づいて次のGMHのアドレスまでジャンプし，受信バッファから次のGMHを読み出す（図中Aに戻る）。
【００５５】
上記のHCSエラーチェック工程S12で，HCSエラーチェック結果がNGの場合は，ヘッダアナライザ３４は，当該GMHを含むFECブロックの前方誤り訂正での誤り訂正数４２が，あからじめ求めていた基準値以下か否かを判定する（S16）。ヘッダアナライザ３４は，誤り訂正数４２が基準値以下の場合は（S16のYES），以下に示すMAC-PDUの救済処理を行う（S18-S24）。
【００５６】
一方，誤り訂正数４２が基準値を超える場合は（S16のNO），現在のFECブロック内のHCSエラーチェックがNGであったGMHのMAC-PDU以降を破棄し，次のFECブロック内でGMHを探索する（S28）。この次のFECブロック内でのGMHの探索については，後述する。
【００５７】
誤り訂正数４２が基準値以下の場合（S16のYES），ヘッダアナライザ３４は，HCSエラーチェック結果がNGだったGMHについて，誤り訂正演算により特定されたエラービットを反転して訂正する（S18）。このエラー訂正処理はエラー訂正処理ユニット３８によって行われる。ヘッダアナライザ３４は，エラービットが１ビット以下であることを確認することはできないが，前方誤り訂正での誤り訂正数が基準値以下の場合は，通信環境がBERが1/1000であるので，４８ビットのGMH内のエラービット数は高々１ビットであると高い可能性を持って推定することができる。よって，このエラービット訂正S18により，HCSエラーチェックがNGであっても，高い可能性でそのGMHのエラーを訂正することができる。これにより，GMH内の正しい長さ情報を高い可能性で取得できる。
【００５８】
次に，ヘッダアナライザ３４は，エラー訂正されたGMH内の長さ情報に基づいて，受信バッファ３２内の次のGMHのアドレスまでジャンプし，その次のGMHのデータを読み出す（S20）。さらに，ヘッダアナライザ３４は，HCSチェックユニット３６にその読み出したGMHのデータについてHCSチェックを行わせる（S20）。このHCSチェック結果がOKであれば（S20のYES），最初にエラー訂正されたGMHの長さ情報が正しいことを意味するので，最初のエラー訂正されたGMHのMAC-PDUから通常処理を行う（S22）。通常処理については，工程S14と同等である。これにより，最初のエラー訂正されたMAC-PDUを救済することができ，もしこのMAC-PDUが自身宛の場合はスループットを大幅に改善できる。
【００５９】
一方，HCSチェック結果がNGであれば（S20のNO），最初のエラー訂正されたGMHの長さ情報にエラーが含まれている可能性があるので，ヘッダアナライザ３４は，最初のエラー訂正されたGMHを含むMAC-PDUの次のMAC-PDUを探索する（S24）。
【００６０】
図６は，次のGMHのスキャン探索を説明する図である。ヘッダアナライザ３４は，スキャンユニット４０を使用して，最初のエラービット訂正されたGMH６０のアドレスから，図中６４に示すとおり，アドレスをインクリメントしながら６バイト（４８ビット）のデータ６２を受信バッファ３２から読み出す。そして，ヘッダアナライザ３４は，HCSチェックユニット３６を利用して，読みだした６バイト（４８ビット）のデータ６２の最後の８ビットをHCSビット列と仮定して，HCSエラーチェックを行う。エラーチェック結果がNGであれば，その読み出した６バイトデータ６２はGMHではないと仮定し，スキャンユニット４０は，次のアドレスの６バイトデータ６２を受信バッファ３２から読み出す。そして，HCSチェックユニット３６が上記と同様のHCSチェックを行う。これらの動作を繰り返すことで，図６中の次のGMH６６を抽出することができる。つまり，６バイトデータ６２のHCSチェック結果がOKであれば，その６バイトデータ６２が正しいGMHと推定することができる。
【００６１】
そして，ヘッダアナライザ３４は，探索により検出したMAC-PDUから通常処理を行う（S26）。この通常処理も，工程S14と同等である。
【００６２】
前述のとおり，現在のFECブロック内のHCSエラーチェックがNGであったGMHのMAC-PDU以降を破棄し，次のFECブロック内でGMHを探索する（S28）。この探索方法を次の通りである。
【００６３】
図７は，FECブロック内でのGMHの探索方法を説明する図である。図７において，FECブロック＃２のデータが破棄された場合，次のFECブロック＃３の先頭アドレスから，６バイト（４８ビット）データ７２が受信バッファ３２から読み出される。この読み出しは，スキャンユニット４０により行われる。そして，前述と同様に，ヘッダアナライザ３４は，HCSチェックユニット３６を利用して，読みだした６バイトのデータ７２の最後の８ビットをHCSビット列と仮定して，HCSエラーチェックを行う。エラーチェック結果がNGであれば，その読み出した６バイトデータ７２はGMHではないと仮定し，スキャンユニット４０は，次のアドレスの６バイトデータ７２を受信バッファ３２から読み出す。そして，HCSチェックユニット３６が上記と同様のHCSチェックを行う。これらの動作を図中７４のように繰り返すことで，図７中のFECブロック＃３内の最初のGMH７６を抽出することができる。
【００６４】
そして，工程S28で検出されたGMHのMAC-PDUから通常処理が再開される（S26）。
【００６５】
図８は，本実施の形態のデータユニット救済方法を説明するためのバースト例を示す図である。図８には１つのバーストBSTが示され，この１つのバーストに５つのMAC-PDU#0−#4が含まれ，ビット長が等しい（６０バイト）の３つのFECブロックFEC Block #0−#2と，それらよりビット長が短いが互いに等しい２つのFECブロックFEC Block #3, #4とが含まれている。そして，図中に，各FECブロックの前方誤り訂正での誤り訂正数と基準値Nthとの関係が示され，各MAC-PDUのGMHのHCSチェック結果OKまたはNGが示されている。そこで，図９を例にして，図５に示したデータ受信処理装置５０におけるデータユニットの救済処理について説明する。
【００６６】
バーストBSTの最初のMAC-PDU#0のGMHが受信バッファ３２から読み出され，そのHCSチェック結果がNGとなるが，そのFECブロック#0の誤り訂正数が基準値Nth以下であるので（S16のYES），データ受信処理装置は，そのMAC-PDU#0のHCSビットによりGMHのエラービット訂正を行う（S18）。そして，次のMAC-PDU#1のGMHについてHCSエラーチェック結果がOKとなり（S20のYES），MAC-PDU#0から通常処理が行われる（S22）。
【００６７】
次に，MAC-PDU#2のGMHが受信バッファ３２から読み出され，そのHCSエラーチェック結果がNGとなるが，そのFECブロック#1の誤り訂正数が基準値Nth以下であるので（S16のYES），データ受信処理装置は，そのMAC-PDU#2のHCSビットによりGMHのエラービット訂正を行う（S18）。そして，次のMAC-PDU#3のGMHについてもHCSエラーチェック結果がNGとなり（S20のNO），データ受信処理装置は，MAC-PDU#2のGMHからスキャンして次のGMHを探索する（S24）。そして，MAC-PDU#3のGMHが検出されると，そのMAC-PDU#3から通常の処理が再開される（S26）。
【００６８】
次に，MAC-PDU#4のGMHが受信バッファ３２から読み出され，そのHCSエラーチェック結果がNGとなるが，そのFECブロック#2の誤り訂正数が基準値Nthより大きいいので（S16のNO），そのFECブロック#2内のMAC-PDU#4以降のデータを破棄する（S28）。そして，次のFECブロック#3の先頭アドレスからスキャンして次のGMHを探索する（S28）。
【００６９】
そして，FECブロック#3において，MAC-PDU#5のGMHのHCSエラーチェック結果がOKであるので，そのMAC-PDU#5から通常処理が行われる（S14）。
【００７０】
以上のとおり，本実施の形態によれば，スループットの低下を伴わずに，エラーが検出されたMAC-PDUとそれ以降のMAC-PDUの救済を行うことができる。
【００７１】
以上の実施の形態をまとめると，次の付記のとおりである。
【００７２】
（付記１）
ヘッダを有するデータユニットを処理するデータ受信処理方法において，
前記ヘッダのエラーチェックを行う工程と，
前記ヘッダのエラーチェックでエラーが検出された場合に，前記ヘッダを含む誤り訂正処理ブロックにおける誤り訂正数に基づいて，前記エラーが検出されたヘッダのエラー訂正処理を行うか否かを判定する工程とを有するデータ受信処理方法。
【００７３】
（付記２）
付記１のデータ処理方法において，さらに，
前記誤り訂正処理ブロックにおける誤り訂正数が基準値より大きい場合に，前記エラーが検出されたヘッダを含む前記誤り訂正処理ブロック内に含まれ，前記エラーが検出されたヘッダのデータユニット以降のデータユニットを破棄し，次の誤り訂正処理ブロック内のヘッダのエラーチェックを行う工程を有するデータ受信処理方法。
【００７４】
（付記３）
付記１のデータ受信処理方法において，さらに，
前記誤り訂正処理ブロックにおける誤り訂正数が基準値以下の場合に，前記エラーが検出されたヘッダのエラー訂正処理を行う工程を有するデータ受信処理方法。
【００７５】
（付記４）
付記３のデータ受信処理方法において，
前記ヘッダはヘッダデータと，ヘッダデータから算出された誤り訂正ビットとを有し，
前記エラーが検出されたヘッダのエラー訂正処理を行う工程は，前記ヘッダデータと誤り訂正ビットとに基づいてエラー位置を特定し，当該特定されたエラー位置のビットを修正するデータ受信処理方法。
【００７６】
（付記５）
付記３のデータ処理方法において，さらに，
前記エラー訂正処理が行われたヘッダ内の前記データユニットの長さ情報に基づいて，次のヘッダのエラーチェックを行い，当該次のヘッダのエラーが検出されない場合に，前記エラー訂正処理が行われたヘッダを有するデータユニットのデータを処理する工程を有するデータ受信処理方法。
【００７７】
（付記６）
付記５のデータ処理方法において，さらに，
前記エラー訂正処理が行われたヘッダ内の前記データユニットの長さ情報に基づいて，受信バッファ内の次のヘッダのエラーチェックを行い，当該次のヘッダのエラーが検出された場合に，前記エラー訂正処理が行われたヘッダから前記受信バッファ内をスキャンして次のヘッダを推測し，当該推測されたヘッダのエラーチェックでエラーが検出されない場合に，当該推測されたヘッダを有するデータユニットのデータを処理する工程を有するデータ受信処理方法。
【００７８】
（付記７）
付記１乃至６のデータ処理方法において，さらに，
１以上の前記データユニットを有するバーストを受信して受信バッファに格納する工程と，
前記バーストを前記誤り訂正処理ブロックに分割し，前記誤り訂正処理ブロック毎に誤り訂正処理を行い前記誤り訂正数を検出する工程とを有するデータ受信処理方法。
【００７９】
（付記８）
付記２または３のデータ処理方法において，
変調方式または誤り訂正符号化の符号化レート，及び通信環境に応じて，前記基準値が複数種類あらかじめ設定され，
前記複数種類の基準値のうち，そのときの前記変調方式または誤り訂正符号化の符号化レートに対応した基準値が使用されるデータ受信処理方法。
【００８０】
（付記９）
付記１乃至３のいずれかのデータ処理方法において，
前記誤り訂正数は，前記誤り訂正処理ブロックのビット数に応じた誤り訂正された数を有することをデータ受信処理方法。
【００８１】
（付記１０）
ヘッダを有するデータユニットを処理するデータ受信処理方法において，
前記ヘッダのエラーチェックを行う工程と，
前記ヘッダのエラーチェックでエラーが検出された場合に，前記ヘッダを含む誤り訂正処理ブロックにおける誤り訂正数または誤り訂正率が基準値以下の場合に，前記エラーが検出されたヘッダを含むデータユニット以降のデータユニットの救済処理を行い，前記基準値より大きい場合に，前記誤り訂正処理ブロック内の前記エラーが検出されたヘッダ以降のデータユニットを破棄する救済処理工程とを有するデータ受信処理方法。
【００８２】
（付記１１）
付記１０のデータ処理方法において，
前記救済処理工程では，
前記エラーが検出されたヘッダのエラー訂正処理を行い， 
当該エラー訂正処理が行われたヘッダ内のデータユニットの長さ情報に基づいて，当該ヘッダの次のヘッダのエラーチェックを行い，
前記次のヘッダのエラーチェックでエラーが検出されない場合に，前記エラー訂正処理が行われたヘッダのデータユニットを処理し，
前記次のヘッダのエラーチェックでエラーが検出された場合に，前記エラー訂正処理が行われたヘッダから受信バッファ内をスキャンして次のヘッダを推定し，当該推定したヘッダのエラーチェックでエラーが検出されない場合に当該推定したヘッダのデータユニットを処理するデータ受信処理方法。
【００８３】
（付記１２）
ヘッダを有するデータユニットを処理するデータ受信処理方法において，
前記ヘッダのエラーチェックを行う工程と，
前記ヘッダのエラーチェックでエラーが検出された場合に，前記エラーが検出されたヘッダのエラー訂正処理を行う工程と，
当該エラー訂正処理が行われたヘッダの次のヘッダのエラーチェックを行う工程と，
前記次のヘッダのエラーチェックでエラーが検出されない場合に，前記エラー訂正処理が行われたヘッダのデータユニットを処理する工程とを有するデータ受信処理方法。
【００８４】
（付記１３）
付記１２のデータ処理方法において，さらに，
前記次のヘッダのエラーチェックでエラーが検出された場合に，前記エラー訂正処理が行われたヘッダから受信バッファ内をスキャンして次のヘッダを推定し，当該推定したヘッダのエラーチェックでエラーが検出されない場合に当該推定したヘッダのデータユニットを処理する工程を有するデータ受信処理方法。
【００８５】
（付記１４）
ヘッダを有するデータユニットを処理するデータ受信処理装置において，
受信した複数のデータユニットを一時的に格納する受信バッファと，
前記受信バッファ内の前記ヘッダのエラーチェックを行い，前記ヘッダエラーチェックでエラーを検出した場合に，前記ヘッダを含む誤り訂正処理ブロックにおける誤り訂正数に基づいて，前記エラーが検出されたヘッダのエラー訂正処理を行うか否かを判定する受信処理ユニットとを有するデータ受信処理装置。
【００８６】
（付記１５）
付記１４において，
前記受信処理ユニットは，前記誤り訂正処理ブロックにおける誤り訂正数が基準値より大きい場合に，前記エラーが検出されたヘッダを含む前記誤り訂正処理ブロックの次の誤り訂正処理ブロック内のヘッダのエラーチェックを行うデータ受信処理装置。
【００８７】
（付記１６）
付記１４において，
前記受信処理ユニットは，前記誤り訂正処理ブロックにおける誤り訂正数が基準値以下の場合に，前記エラーが検出されたヘッダのエラー訂正処理を行うデータ受信処理装置。
【００８８】
（付記１７）
付記１６において，
前記ヘッダはヘッダデータと，ヘッダデータから算出された誤り訂正ビットとを有し，
前記受信処理ユニットは，前記エラーが検出されたヘッダのエラー訂正処理では，前記ヘッダデータと誤り訂正ビットとに基づいてエラー位置を特定し，当該特定されたエラー位置のビットを修正するデータ受信処理装置。
【００８９】
（付記１８）
ヘッダを有するデータユニットを処理するデータ受信処理装置において，
受信した複数のデータユニットを一時的に格納する受信バッファと，
前記受信バッファ内の前記ヘッダのエラーチェックを行い，前記ヘッダのエラーチェックでエラーが検出された場合に，前記ヘッダを含む誤り訂正処理ブロックにおける誤り訂正数または誤り訂正率が基準値以下の場合には，前記エラーが検出されたヘッダを含むデータユニット以降のデータユニットの救済処理を行い，前記基準値より大きい場合には，前記誤り訂正処理ブロック内の前記エラーが検出されたヘッダ以降のデータユニットを破棄する受信処理ユニットとを有するデータ受信処理装置。
【００９０】
（付記１９）
ヘッダを有するデータユニットを処理するデータ受信処理装置において，
受信した複数のデータユニットを一時的に格納する受信バッファと，
前記受信バッファ内の前記ヘッダのエラーチェックを行い，前記ヘッダのエラーチェックでエラーが検出された場合に，前記エラーが検出されたヘッダのエラー訂正処理を行い，当該エラー訂正処理が行われたヘッダ内のデータユニットの長さ情報に基づいて，当該ヘッダの次のヘッダのエラーチェックを行い，前記次のヘッダのエラーチェックでエラーが検出されない場合に，前記エラー訂正処理が行われたヘッダのデータユニットを処理する受信処理ユニットとを有するデータ受信処理装置。
【符号の説明】
【００９１】
２２：バースト再構築回路，データ受信処理装置
５０：受信処理ユニット
３２：受信バッファ
３４：ヘッダアナライザ
【図１】
0005453948.tif 000002
【図２】
0005453948.tif 000003
【図３】
0005453948.tif 000004
【図４】
0005453948.tif 000005
【図５】
0005453948.tif 000006
【図６】
0005453948.tif 000007
【図７】
0005453948.tif 000008
【図８】
0005453948.tif 000009