(57)【要約】【課題】バッファサイズを抑制する。【解決手段】復調部１ａは、送信側無線通信装置によって符号化処理が第１のブロック単位で行われ、符号化処理のうちのチャネル符号化処理が第１のブロック単位より小さい第２のブロック単位で行われたデータを復調する。復号部１ｂは、復調部１ａによって復調されたデータの復号化処理を少なくとも第２のブロック単位を１つ含む処理単位で行う。【選択図】図１
2012099989.tif 000002
【特許請求の範囲】
【請求項１】
無線通信を行う無線通信装置において、
送信側無線通信装置によって符号化処理が第１のブロック単位で行われ、前記符号化処理のうちのチャネル符号化処理が前記第１のブロック単位より小さい第２のブロック単位で行われたデータを復調する復調部と、
前記復調部によって復調された前記データの復号化処理を少なくとも前記第２のブロック単位を１つ含む処理単位で行う復号部と、
を有することを特徴とする無線通信装置。
【請求項２】
前記処理単位は、前記データをチャネルデインタリーブ処理するブロック単位であることを特徴とする請求項１記載の無線通信装置。
【請求項３】
前記復号部は、前記データの尤度生成処理、デコンスタレーションリアレンジメント処理、チャネルデインタリーブ処理、ビットデコレクション処理、およびデレートマッチング処理を行う際、各処理におけるデータ結果をバッファに出力することを特徴とする請求項２記載の無線通信装置。
【請求項４】
前記復号部は、前記データの尤度生成処理、デコンスタレーションリアレンジメント処理、チャネルデインタリーブ処理、およびビットデコレクション処理を行ってバッファに出力することを特徴とする請求項２記載の無線通信装置。
【請求項５】
前記復号部は、前記データの尤度生成処理、デコンスタレーションリアレンジメント処理、チャネルデインタリーブ処理、ビットデコレクション処理、および２ｎｄデレートマッチング処理を行ってハイブリッド自動再送合成処理を行うハイブリッド自動再送合成部へ出力することを特徴とする請求項２記載の無線通信装置。
【請求項６】
前記復号部は、前記第２のブロック単位のデレートマッチング処理を行ったときの判定用パラメータを次の前記第２のブロック単位のデレートマッチング処理に用いることを特徴とする請求項１または２に記載の無線通信装置。
【請求項７】
無線通信を行う無線通信装置の復号処理方法において、
送信側無線通信装置によって符号化処理が第１のブロック単位で行われ、前記符号化処理のうちのチャネル符号化処理が前記第１のブロック単位より小さい第２のブロック単位で行われたデータを復調し、
復調された前記データを少なくとも前記第２のブロック単位を１つ含む処理単位で復号化処理を行う、
ことを特徴とする復号処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、復号処理を行う無線通信装置およびその復号処理方法に関する。
【背景技術】
【０００２】
無線通信システムには、情報ビットを規定の処理単位ごとに処理して送受信するものがある（例えば、非特許文献１参照）。例えば、送信側は、トランスポートブロック（以下、ＴＲＢ）単位でデータの送信処理を行い、受信側は、ＴＲＢ単位でデータの受信処理を行う。
【０００３】
例えば、送信側のコーデック部は、上位レイヤから送られてきたデータを、ＣＲＣ（Cyclic Redundancy Check）処理し、ビットスクランブリング処理する。コーデック部は、ビットスクランブリング処理したデータをコードブロック（以下、ＣＢ）に分割し、例えば、ターボ符号などのチャネル符号化処理を行う。コーデック部は、符号化処理したデータのレートマッチング処理を行い、ビットコレクション処理、チャネルインタリーブ処理、およびコンスタレーションリアレンジメント処理を行う。モデムは、コンスタレーションリアレンジメント処理されたデータの変調処理を行って、送信側に無線送信する。
【０００４】
受信側のモデムは、受信した無線信号の復調処理を行い、尤度データ（以下、単にデータと呼ぶこともある）を出力する。コーデック部は、送信側のコーデック部と逆の処理である、デコンスタレーションリアレンジメント処理、チャネルデインタリーブ処理、ビットデコレクション処理、およびデレートマッチング処理を行う。コーデック部は、デレートマッチング処理したデータをチャネル復号する。
【０００５】
受信側は、各処理を行ったデータを一時的に記憶するバッファを備える。例えば、モデムは、復調したデータをバッファに記憶する。コーデック部は、バッファに記憶したデータのデコンスタレーションリアレンジメント処理を行い、別のバッファに記憶する。コーデック部は、バッファに記憶したデータのチャネルデインタリーブ処理を行い、別のバッファに記憶する。以下同様にして、コーデック部は、各処理において、処理したデータをバッファに記憶する。
【０００６】
上記したように、送信側は、ＴＲＢ単位でデータを処理して送信する。受信側も同様に受信したデータをＴＲＢ単位で処理する。このため、受信側の備えるバッファの大きさは、例えば、ＴＲＢ単位となる。
【０００７】
なお、従来、メモリの記憶容量を減少することができ、消費電力を減少することができ、さらに処理全体のスループットを向上することができるデータ処理装置、無線装置、復号装置、データ処理方法、およびデータ処理プログラムが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−３３３６１４号公報
【非特許文献】
【０００９】
【非特許文献１】3GPP TS 25.212 v8.6.0
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、送信側のデータ処理単位が大きくなると、受信側の備えるバッファサイズが大きくなるという問題点があった。
例えば、送信側の送信するデータのＴＲＢ単位が大きくなると、受信側の備える各処理間のバッファサイズも大きくなる。
【００１１】
本件はこのような点に鑑みてなされたものであり、バッファサイズを抑制することができる無線通信装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、無線通信を行う無線通信装置が提供される。この無線通信装置は、送信側無線通信装置によって符号化処理が第１のブロック単位で行われ、前記符号化処理のうちのチャネル符号化処理が前記第１のブロック単位より小さい第２のブロック単位で行われたデータを復調する復調部と、前記復調部によって復調された前記データの復号化処理を少なくとも前記第２のブロック単位を１つ含む処理単位で行う復号部と、を有する。
【発明の効果】
【００１３】
開示の装置および方法によれば、バッファサイズを抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態に係る無線通信装置を示した図である。
【図２】無線通信装置の動作を説明する図である。
【図３】第２の実施の形態に係る無線通信装置のハードウェアブロックを示した図である。
【図４】無線通信装置の機能ブロックを示した図である。
【図５】送信側の符号化処理のフローチャートである。
【図６】ビットコレクションを説明する図である。
【図７】チャネルインタリーブを説明する図である。
【図８】無線通信装置の復号化処理のフローチャートである。
【図９】尤度生成を説明する図である。
【図１０】尤度生成部から出力されるデータの一例を示した図である。
【図１１】デコンスタレーションリアレンジメント処理を説明する図である。
【図１２】チャネルデインタリーブ処理を説明する図である。
【図１３】ビットデコレクション処理を説明する図である。
【図１４】ビットデコレクション処理を行ったデータを示した図である。
【図１５】ＣＢの単位を算出するための変数定義を示した図である。
【図１６】ＣＢの単位の算出アルゴリズム例を示した図である。
【図１７】ＣＢの単位の算出アルゴリズム例を示した図である。
【図１８】２ｎｄデレートマッチング処理を説明する図である。
【図１９】２ｎｄデレートマッチング処理のデパンクチャ処理のアルゴリズム例を示した図である。
【図２０】２ｎｄデレートマッチング処理のレペティション処理のアルゴリズム例を示した図である。
【図２１】１ｓｔレートマッチング後のサイズ算出を説明する図である。
【図２２】１ｓｔレートマッチング後のサイズ算出のアルゴリズム例を示した図である。
【図２３】第３の実施の形態に係る無線通信装置の機能ブロックを示した図である。
【図２４】復号化処理のフローチャートである。
【図２５】一括処理を説明する図である。
【図２６】一括処理のための変数定義を示した図である。
【図２７】一括処理のアルゴリズム例を示した図である。
【図２８】一括処理のアルゴリズム例を示した図である。
【図２９】一括処理部のフローチャートである。
【図３０】第４の実施の形態に係る無線通信装置の機能ブロックを示した図である。
【図３１】復号化処理のフローチャートである。
【図３２】一括処理を説明する図である。
【発明を実施するための形態】
【００１５】
以下、実施の形態を、図面を参照して詳細に説明する。
［第１の実施の形態］
図１は、第１の実施の形態に係る無線通信装置を示した図である。図１に示すように、無線通信装置１は、復調部１ａおよび復号部１ｂを有している。
【００１６】
復調部１ａは、図示しない送信側無線通信装置によって符号化処理が第１のブロック単位で行われ、その符号化処理のうちのチャネル符号化処理が第１のブロック単位より小さい第２のブロック単位で行われたデータを復調する。
【００１７】
復号部１ｂは、復調部１ａによって復調されたデータの復号化処理を少なくとも第２のブロック単位を１つ含む処理単位で行う。
図２は、無線通信装置の動作を説明する図である。図１に図示しない送信側無線通信装置は、第１のブロック単位で符号化処理を行う。また、送信側無線通信装置は、符号化処理のうちのチャネル符号化処理を行う際は、第１のブロック単位より小さい第２のブロック単位でチャネル符号化処理を行う。第１のブロック単位は、例えば、ＴＲＢであり、第２のブロック単位は、ＣＢである。無線通信装置１の復調部１ａは、前記の送信側無線通信装置から前記の符号化処理されたデータを受信し、復調する。
【００１８】
復号部１ｂは、復調部１ａによって復調されたデータの復号化処理を、少なくとも第２のブロック単位を１つ含む処理単位で行う。
例えば、図２には、無線通信装置１の復調部１ａによって復調されたデータが示してある。ブロック単位２は、送信側無線通信装置が符号化処理を行ったブロック単位を示している。ブロック単位２より小さいブロック単位３は、送信側無線通信装置がチャネル符号化処理を行った際のブロック単位を示している。
【００１９】
図２において、復号部１ｂは、少なくともブロック単位３を１つ含む処理単位４で復号化処理を行う。例えば、復号部１ｂは、処理単位４で尤度生成処理、デコンスタレーションリアレンジメント処理、チャネルデインタリーブ処理、ビットデコレクション処理、デレートマッチング処理、およびチャネル符号化処理を行う。処理単位４は、例えば、２つのブロック単位３を含んでいてもよいが、ブロック単位２を形成する全てのブロック単位３を含まないようにする。すなわち、処理単位４は、ブロック単位２より小さくする。
【００２０】
このように、無線通信装置は、送信側無線通信装置によって符号化処理が第１のブロック単位で行われ、符号化処理のうちのチャネル符号化処理が第１のブロック単位より小さい第２のブロック単位で行われたデータを復調する。そして、無線通信装置は、復調されたデータの復号化処理を少なくとも第２のブロック単位を１つ含む処理単位で行う。これにより、無線通信装置は、バッファサイズを抑制することができる。
【００２１】
例えば、無線通信装置は、復号部の各処理間で使用するバッファのサイズを第１のブロック単位にしなくて済み、第１のブロック単位より小さい第２のブロック単位を少なくとも１つ含む処理単位の大きさにすることができる。
【００２２】
［第２の実施の形態］
次に、第２の実施の形態を、図面を参照して詳細に説明する。
図３は、第２の実施の形態に係る無線通信装置のハードウェアブロックを示した図である。図３に示すように、無線通信装置２０は、モデム２１、メモリ２２、ＣＰＵ（Central Processing Unit）２３、および上位レイヤ処理部２４を有している。無線通信装置２０は、例えば、携帯電話システムの基地局または携帯電話であり、ＨＳＰＡ＋（High Speed Packet Access）のＨＳ−ＤＳＣＨ（High Speed Downlink Shard Channel）にて、データの無線通信を行う。図３では、無線通信装置２０の受信側の各部を示しているが、送信側の機能を有していてもよい。
【００２３】
モデム２１には、アンテナを介して受信されたデータが入力される。モデム２１は、送信側から無線送信されたデータの復調処理を行う。
メモリ２２には、ＣＰＵ２３によって実行される復号化処理のプログラムが記憶されている。ＣＰＵ２３は、メモリ２２に記憶されたプログラムを実行して、受信したデータの復号化処理を行う。
【００２４】
上位レイヤ処理部２４は、例えば、ＣＰＵ２３によって復号化されたデータを図示しないディスプレイに表示したり、または、スピーカなどから音声を出力したりする。
図４は、無線通信装置の機能ブロックを示した図である。図４に示すように、無線通信装置２０は、復調部３１、尤度生成部３２、デコンスタレーションリアレンジメント部３３、チャネルデインタリーブ部３４、ビットデコレクション部３５、２ｎｄデレートマッチング部３６、Ｈ−ＡＲＱ（Hybrid Automatic Repeat reQuest）合成部３７、１ｓｔデレートマッチング部３８、およびチャネル復号部３９を有している。また、無線通信装置２０は、バッファ４１〜４７およびＨ−ＡＲＱソフトバッファ４８を有している。図４に示す各部３１〜３９は、コーデック部と呼ぶこともある。なお、コーデック部は、図４に図示しない制御部も有している。
【００２５】
図４に示す復調部３１は、例えば、図３で示したモデム２１によって実現される。復調部３１は、送信側無線通信装置によって符号化処理がＴＲＢ単位で行われ、符号化処理のうちのチャネル符号化処理がＴＲＢ単位より小さいＣＢ単位で行われたデータを復調する。
【００２６】
尤度生成部３２〜チャネル復号部３９は、例えば、図３で示したＣＰＵ２３によって実現される。チャネル復号部３９は、例えば、図３に示していない復号器（ハードウェア）によって実現してもよい。
【００２７】
図４に示す各バッファ４１〜４８は、例えば、図３で示したメモリ２２によって実現される。バッファ４１，４７は、例えば、少なくともＴＲＢ単位のデータを記憶できる大きさを有している。バッファ４２〜４６は、例えば、少なくとも１つのＣＢ単位のデータを記憶できる大きさを有している。
【００２８】
以下、図４の各部について詳細に説明するが、その前に、送信側の符号化処理を説明し、無線通信装置２０の復号化処理の流れを説明する。
図５は、送信側の符号化処理のフローチャートである。送信側のコーデック部は、以下の処理をＴＲＢ単位で行う。送信側のコーデック部は、例えば、ＣＰＵがプログラムを実行することによって実現される。
【００２９】
［ステップＳ１］送信側のコーデック部は、上位レイヤから送信されたデータにＣＲＣパリティを付加する。
［ステップＳ２］コーデック部は、ＣＲＣパリティが付加されたデータのビットスクランブリング処理を行う。
【００３０】
［ステップＳ３］コーデック部は、ビットスクランブリング処理されたデータをＣＢ単位に分割する。
［ステップＳ４］コーデック部は、ＴＲＢ単位のデータの、ＣＢ単位に分割されたデータのチャネル符号化処理を行う。チャネル符号化処理は、例えば、ターボ符号化である。
【００３１】
［ステップＳ５］コーデック部は、チャネル符号化されたデータの１ｓｔレートマッチング処理を行う。
［ステップＳ６］コーデック部は、１ｓｔレートマッチング処理されたデータの２ｎｄレートマッチング処理を行う。
【００３２】
［ステップＳ７］コーデック部は、２ｎｄレートマッチング処理されたデータのビットコレクション処理を行う。
［ステップＳ８］コーデック部は、ビットコレクション処理されたデータのチャネルインタリーブ処理を行う。
【００３３】
［ステップＳ９］コーデック部は、チャネルインタリーブ処理されたデータのコンスタレーションリアレンジメント処理を行う。なお、コンスタレーションリアレンジメント処理は、例えば多値変調の場合にのみ適用される。
【００３４】
［ステップＳ１０］モデムは、コンスタレーションリアレンジメント処理されたデータの変調処理を行う。
図６は、ビットコレクションを説明する図である。図５で説明したように、ＴＲＢ単位のデータは、ＣＢに分割され、例えば、ターボ符号によって符号化される。ターボ符号化されたデータは、レートマッチング処理（１ｓｔレートマッチング処理および２ｎｄレートマッチング処理を合わせて、単にレートマッチング処理と呼ぶことがある）がされる。図６に示すデータ５１は、あるＣＢのデータをターボ符号化し、レートマッチング処理したデータを示している。
【００３５】
図６に示す方眼の横方向は、時間の経過を示し、縦軸は、ビット列（１シンボルにマッピングされるビットの並び）を示している。図６の方眼の列は、１シンボルに対応し、右に進むほど時間が経過していることを示している。図６では、６４ＱＡＭ（Quadrature Amplitude Modulation（ｍ＝６ビット））で変調される場合の例を示している。
【００３６】
ビットコレクションは、ターボ符号化され、レートマッチング処理されたデータ５１の組織ビットおよびパリティビット１，２を、図６中の矢印に示すように配置していく。図６に示すＮc，Ｎrは、例えば、３ＧＰＰ（3rd Generation Partnership Project）の規格に従って求められる。
【００３７】
図６に示す点線の枠５２ａａ〜５２ｃｂは、ＣＢ１〜ＣＢ３の単位を示している。枠５２ａａ，５２ａｂは、ＣＢ１を示している。枠５２ａａ内のデータは、ＣＢ１の組織ビットを示し、枠５２ａｂ内のデータは、ＣＢ１のパリティビット（パリティビット１，２を単にパリティビットと呼ぶことがある）を示している。
【００３８】
枠５２ｂａ，５２ｂｂは、ＣＢ２を示している。枠５２ｂａ内のデータは、ＣＢ２の組織ビットを示し、枠５２ｂｂ内のデータは、ＣＢ２のパリティビットを示している。
枠５２ｃａ，５２ｃｂは、ＣＢ３を示している。枠５２ｃａ内のデータは、ＣＢ３の組織ビットを示し、枠５２ｃｂ内のデータは、ＣＢ３のパリティビットを示している。
【００３９】
図７は、チャネルインタリーブを説明する図である。ビットコレクションされたデータは、図７の矢印５３に示すように、チャネルインタリーブ処理がされる。
チャネルインタリーブは、ＰｈＣＨ（Physical Channel）単位で、かつ、１シンボル内の２ビットをペアにしたＰｈＣＨサブブロック単位で行われる。例えば、図７に示す太枠は、ＰｈＣＨサブブロックを示している。
【００４０】
なお、図７に示す斜線を付していない四角は、図６で説明した組織ビットに対応している。斜線を付した四角は、図６で説明したパリティビット１，２に対応している。
チャネルインタリーブ処理されたデータは、図５で説明したように、コンスタレーションリアレンジメント処理がされる。コンスタレーションリアレンジメント処理は、シンボル単位でビットの位置を所定の規則で入れ替える。例えば、図７の１列ごとに、ビットの位置を所定の規則で入れ替える。
【００４１】
コンスタレーションリアレンジメント処理されたデータは、モデムによって変調され、受信側（無線通信装置２０）に無線送信される。
無線通信装置２０の復号化処理の流れについて説明する。
【００４２】
図８は、無線通信装置の復号化処理のフローチャートである。無線通信装置２０は、図５で説明した送信側の符号化処理とは逆の順番で復号化処理を行っていく。
［ステップＳ２１］復調部３１は、受信したデータの復調処理を行う。復調されたデータは、バッファ４１に記憶される。
【００４３】
［ステップＳ２２］制御部は、変数ｃｂを０に初期化する。
［ステップＳ２３］制御部は、変数ｃｂが変数Ｃより小さいか否か判断する。制御部は、変数ｃｂが変数Ｃより小さい場合、ステップＳ２４へ進む。制御部は、変数ｃｂが変数Ｃ以上である場合、ステップＳ３２へ進む。
【００４４】
変数Ｃは、ＴＲＢをＣＢに分割したときの分割数を示している。例えば、送信側のコーデック部が、ビットスクランブリング処理したデータをｎ個のＣＢに分割してチャネル符号化処理を行う場合、変数Ｃの値はｎとなる。
【００４５】
［ステップＳ２４］尤度生成部３２は、バッファ４１に記憶されたデータの尤度データを生成する。尤度生成部３２は、生成した尤度データをバッファ４２に記憶する。
［ステップＳ２５］デコンスタレーションリアレンジメント部３３は、バッファ４２に記憶されたデータのデコンスタレーションリアレンジメント処理を行う。デコンスタレーションリアレンジメント部３３は、デコンスタレーションリアレンジメント処理したデータをバッファ４３に記憶する。
【００４６】
［ステップＳ２６］チャネルデインタリーブ部３４は、バッファ４３に記憶されたデータのチャネルデインタリーブ処理を行う。チャネルデインタリーブ部３４は、チャネルデインタリーブ処理したデータをバッファ４４に記憶する。
【００４７】
［ステップＳ２７］ビットデコレクション部３５は、バッファ４４に記憶されたデータのビットデコレクション処理を行う。ビットデコレクション部３５は、ビットデコレクション処理したデータをバッファ４５に記憶する。
【００４８】
［ステップＳ２８］２ｎｄデレートマッチング部３６は、バッファ４５に記憶されたデータの２ｎｄデレートマッチング処理を行う。２ｎｄデレートマッチング部３６は、２ｎｄデレートマッチング処理したデータをＨ−ＡＲＱ合成部３７へ出力する。
【００４９】
［ステップＳ２９］Ｈ−ＡＲＱ合成部３７は、２ｎｄデレートマッチング部から出力されるデータのＨ−ＡＲＱ合成処理を行う。Ｈ−ＡＲＱ合成部３７は、データの再送が行われる場合、Ｈ−ＡＲＱソフトバッファ４８を用いてＨ−ＡＲＱ合成処理を行い、Ｈ−ＡＲＱ合成処理結果をバッファ４６に記憶する。
【００５０】
［ステップＳ３０］１ｎｄデレートマッチング部３８は、バッファ４６に記憶されたデータの１ｎｄデレートマッチング処理を行う。１ｎｄデレートマッチング部３８は、１ｎｄデレートマッチング処理したデータをバッファ４７に記憶する。
【００５１】
［ステップＳ３１］制御部は、変数ｃｂに１を加算し、ステップＳ２３へ進む。すなわち、制御部は、ステップＳ２４からステップＳ３０の処理がＣ回行われるようにする。
［ステップＳ３２］チャネル復号部３９は、バッファ４７に記憶されたデータのチャネル復号処理を行う。チャネル復号処理されたデータは、ビットデスクランブリング処理および誤り検出処理が行われ、上位レイヤへ出力される。
【００５２】
図４の各部について説明する。
・尤度生成部
変調方式には、例えば、ＱＰＳＫ（Quadrature Phase Shift Keying）、１６ＱＡＭ、または６４ＱＡＭなどがある。送信側は、符号化処理の最終結果のビット系列（前述のＱＰＳＫ、１６ＱＡＭ、６４ＱＡＭの場合、それぞれ２，４，６ビット）に対して、１つの複素ベースバンド信号（シンボルと呼ぶ）をマッピングする。
【００５３】
図９は、尤度生成を説明する図である。図９には、図４に示した尤度生成部３２およびバッファ４１，４２が示してある。
モデム２１は、シンボルの形に復調した結果を、ＴＲＢ単位でバッファ４１に記憶する。尤度生成部３２は、バッファ４１に記憶されているシンボルをＩチャネルおよびＱチャネルごとに呼び出して、それぞれにマッピングされているビットに対応した尤度データを生成する。尤度生成部３２は、生成した尤度データをバッファ４２に出力する。
【００５４】
図１０は、尤度生成部から出力されるデータの一例を示した図である。図１０の横方向は、時間の経過を示し、縦軸は、尤度生成部３２から出力されるビットデータを示している。図１０では、右に進むほど時間が経過する。図１０では、６４ＱＡＭ（ｍ＝６ビット）で変調された場合の例が示してあり、図１０の方眼の１列は、１シンボルに対応する。
【００５５】
送信側は、図５で説明したように、ビットスクランブル処理したデータをＣＢに分割し、ターボ符号などのチャネル符号化処理を行う。そして、送信側は、レートマッチング処理、ビットコレクション処理、チャネルインタリーブ処理、およびコンスタレーションリアレンジメント処理を行う。
【００５６】
従って、尤度生成部３２から出力されるビットの配置は、例えば、図６で示したビットの配置と異なっている。例えば、図１０の枠５４ａに示す１シンボル目のビットは、送信側の各処理によって、枠５４ｂ，５４ｃに配置されて無線送信されている。
【００５７】
図１０に示す点線の枠５５ａ，５５ｂは、例えば、ＣＢ１を示している。枠５５ａ内のデータは、ＣＢ１の組織ビットを示し、枠５５ｂ内のデータは、ＣＢ１のパリティビットを示している。
【００５８】
無線通信装置２０のコーデック部は、ＣＢ単位で処理を行う。従って、バッファ４２は、例えば、１つのＣＢを記憶するサイズを有している。図１０に示す枠５６は、バッファ４２のサイズを示している。図１０の例では、バッファ４２は、ＰｈＣＨサブブロックの２つ分のサイズを有し、少なくとも１つのＣＢ単位のデータを記憶するようにしている。
【００５９】
・デコンスタレーションリアレンジメント部
送信側では、コンスタレーションリアレンジメントによって、シンボル単位でビットの配列が入れ替わっている。従って、デコンスタレーションリアレンジメントは、元のデータを得るために、バッファ４２に記憶されているビットをシンボル単位で置換処理を行う。
【００６０】
図１１は、デコンスタレーションリアレンジメント処理を説明する図である。デコンスタレーションリアレンジメント部３３は、バッファ４２に記憶されているビットの配置を、シンボル単位で入れ替える。例えば、デコンスタレーションリアレンジメント部３３は、図１１の矢印５７に示すように、シンボル単位でビットの配置を入れ替える。デコンスタレーションリアレンジメント部３３は、送信側のコンスタレーションリアレンジメントの配置入れ替えとは逆の方向でビットを入れ替える。
【００６１】
デコンスタレーションリアレンジメント部３３は、デコンスタレーションリアレンジメント処理したビットをバッファ４３に出力する。バッファ４３のサイズは、バッファ４２と同じであり、図１１に示す枠５８は、バッファ４３のサイズを示している。点線の枠５９ａ，５９ｂは、例えば、ＣＢ１を示している。枠５９ａ内のデータは、ＣＢ１の組織ビットを示し、枠５９ｂ内のデータは、ＣＢ１のパリティビットを示している。
【００６２】
・チャネルデインタリーブ部
送信側では、ＰｈＣＨサブブロック単位でチャネルインタリーブ処理を行う。従って、チャネルデインタリーブ部３４も、ＰｈＣＨサブブロック単位でチャネルデインタリーブ処理を行う。
【００６３】
図１２は、チャネルデインタリーブ処理を説明する図である。チャネルデインタリーブ部３４は、ＰｈＣＨサブブロック単位でバッファ４３に記憶されているビットのチャネルデインタリーブ処理を行う。チャネルデインタリーブ部３４は、送信側のチャネルインタリーブ処理とは逆方向でビットをインタリーブする。
【００６４】
例えば、チャネルデインタリーブ部３４は、図１２の矢印６０に示すように、ＰｈＣｈサブブロック単位でチャネルデインタリーブ処理を行う。なお、図１２の点線の枠６１ａ，６１ｂは、例えば、ＣＢ１を示している。枠６１ａ内のデータは、ＣＢ１の組織ビットを示し、枠６１ｂ内のデータは、ＣＢ１のパリティビットを示している。また、図１２の斜線を付した四角は、パリティビット１，２を示し、斜線を付していない四角は、組織ビットを示している。
【００６５】
チャネルデインタリーブ部３４は、チャネルデインタリーブ処理したビットをバッファ４４に出力する。バッファ４４のサイズは、バッファ４３と同じである。図１２に示す枠６２は、バッファ４４のサイズを示している。
【００６６】
このように、チャネルデインタリーブ処理は、ＰｈＣＨサブブロック単位で行われる。従って、無線通信装置２０のコーデック部は、例えば、少なくともＣＢ単位を１つ含むＰｈＣＨサブブロック単位で復号処理を行う。例えば、無線通信装置２０のコーデック部は、図１２の例の場合、２個のＰｈＣＨサブブロックで復号化処理を行う。なお、コーデック部は、バッファサイズを抑制するために、ＣＢ単位を１つ含むＰｈＣＨサブブロックの単位で復号処理を行うのが望ましい。
【００６７】
・ビットデコレクション部
ビットデコレクション部３５は、バッファ４４に記憶されているデータのビットデコレクション処理を行うために、ビットデコレクション処理を行うＣＢの単位を予め算出する。
【００６８】
図１３は、ビットデコレクション処理を説明する図である。図１３に示す枠６３ａ，６３ｂは、例えば、ＣＢ１を示している。枠６３ａ内のデータは、ＣＢ１の組織ビットを示し、枠６３ｂ内のデータは、ＣＢ１のパリティビットを示している。
【００６９】
枠６４ａ，６４ｂは、例えば、ＣＢ２を示している。枠６４ａ内のデータは、ＣＢ２の組織ビットを示し、枠６４ｂ内のデータは、ＣＢ２のパリティビットを示している。
枠６５ａ，６５ｂは、例えば、ＣＢ３を示している。枠６５ａ内のデータは、ＣＢ３の組織ビットを示し、枠６５ｂ内のデータは、ＣＢ３のパリティビットを示している。
【００７０】
図１３に示すｃs,st（０），ｒs,st（０）は、ＣＢ１の組織ビットにおけるビットデコレクションの開始位置を示している。ｃp,st（０），ｒp,st（０）は、ＣＢ１のパリティビットにおけるビットデコレクションの開始位置を示している。
【００７１】
ｃs,st（１），ｒs,st（１）は、ＣＢ２の組織ビットにおけるビットデコレクションの開始位置を示している。ｃp,st（１），ｒp,st（１）は、ＣＢ２のパリティビットにおけるビットデコレクションの開始位置を示している。
【００７２】
ｃs,st（２），ｒs,st（２）は、ＣＢ３の組織ビットにおけるビットデコレクションの開始位置を示している。ｃp,st（２），ｒp,st（２）は、ＣＢ３のパリティビットにおけるビットデコレクションの開始位置を示している。
【００７３】
なお、ＣＢ１，ＣＢ２のそれぞれのビットデコレクションの開始位置は、ＣＢ０，ＣＢ１の終了位置を示しているといえる。
ビットデコレクション部３５は、例えば、図１３に示すビットデコレクションの開始位置を算出する。ビットデコレクション部３５は、算出したビットデコレクションの開始位置に基づいて、ＣＢ１〜ＣＢ３の組織ビットおよびパリティビットの位置を認識し、ビットデコレクション処理を行う。ビットデコレクション部３５は、ＣＢの単位において、組織ビットとパリティビット１，２とに分けて、それぞれをビットコレクションの書き込み順と同じ順でビットを読み出していく。
【００７４】
図１４は、ビットデコレクション処理を行ったデータを示した図である。図１４に示すデータ６６は、図１３のＣＢ１（枠６３ａ，６３ｂ）のビットデコレクション処理を行ったデータの例を示している。ビットデコレクション処理が行われたデータは、バッファ４５に記憶される。バッファ４５のサイズは、バッファ４４と同じである。または、バッファ４５のサイズは、１ＣＢの大きさにしてもよい。
【００７５】
ＣＢの単位（開始位置）の算出アルゴリズム例について説明する。
図１５は、ＣＢの単位を算出するための変数定義を示した図である。図１５に示すように、変数Ｎdata、変数Ｎt,sys、変数Ｎrow、変数Ｎcol、変数Ｎr、および変数Ｎcを定義する。図中のＢＣは、ビットコレクションを示し、ＲＭは、レートマッチングを示す。
【００７６】
図１６、図１７は、ＣＢの単位の算出アルゴリズム例を示した図である。なお、ｃx,y（ｉ）、ｒx,y（ｉ）（ｘ＝ｓ，ｐ：ｙ＝ｓｔ，ｅｎｄ）のそれぞれは、組織ビットおよびパリティビットのｉ番目のＣＢの開始位置と終了位置とについての行番号および列番号とする。ｒx,y（ｉ）は、組織ビットおよびパリティビットのそれぞれの領域での相対位置とする。Ｎsを組織ビットについての行数を示す変数とする。Ｎsは、列に依存して、ＮrかＮr＋１の値をとる。図１６，図１７のアルゴリズムによって、ビットデコレクション部３５は、例えば、図１３に示したｃs,st（０）〜ｃs,st（２）およびｒs,st（０）〜ｒs,st（２）を算出することができる。
【００７７】
・２ｎｄデレートマッチング部
２ｎｄデレートマッチング部３６は、送信側の２ｎｄレートマッチング処理と逆の処理を行う。例えば、２ｎｄデレートマッチング部３６は、送信側でパンクチャリングが行われた場合、パンクチャされたビット位置にビット０を挿入する。また、２ｎｄデレートマッチング部３６は、送信側でレペティションが行われた場合、レペティションされたビットとレペティションビットとを加算して、レペティション前のビット位置に配置する。なお、３ＧＰＰで標準化されているレートマッチング処理およびデレートマッチング処理では、判定用パラメータｅを用いたアルゴリズムによって、レートマッチング処理およびデレートマッチング処理を行う。
【００７８】
送信側では、２ｎｄレートマッチング処理（パンクチャまたはレペティション）をＴＲＢ単位で行う。そのため、ＣＢ単位で２ｎｄデレートマッチング処理を行う受信側の無線通信装置２０では、前のＣＢの２ｎｄデレートマッチング処理に用いた判定用パラメータｅを保存し、次のＣＢの２ｎｄデレートマッチング処理の初期値として用いる。
【００７９】
図１８は、２ｎｄデレートマッチング処理を説明する図である。図１８には、ＣＢ１〜ＣＢ３のデータが示してある。ＣＢ１〜ＣＢ３で１つのＴＲＢを形成しているとする。
上記したように、送信側では、ＴＲＢ単位で２ｎｄレートマッチング処理する。従って、２ｎｄデレートマッチング部３６は、ＣＢ単位で適切にデレートマッチング処理するために、前のＣＢのデレートマッチング処理に用いた判定用パラメータｅを次の判定用パラメータｅの初期値として用いる。
【００８０】
例えば、２ｎｄデレートマッチング部３６は、図１８の矢印６７ａに示すように、ＣＢ１の２ｎｄデレートマッチング処理の最後の判定用パラメータｅを、次の判定用パラメータｅの初期値として用いる。また、２ｎｄデレートマッチング部３６は、矢印６７ｂに示すように、ＣＢ２の２ｎｄデレートマッチング処理の最後の判定用パラメータｅを、次のＣＢ３の判定用パラメータｅの初期値として用いる。
【００８１】
このように、判定用パラメータｅを次のＣＢのデレートマッチング処理に用いることにより、ＴＲＢ単位での復号化が可能となる。
図１９は、２ｎｄデレートマッチング処理のデパンクチャ処理のアルゴリズム例を示した図である。なお、ＣＢあたりの入力データをｙk(i)（ｉ＝０，１，２、ｋ＝０，１，２，…，Ｙｃi−１）とする。また、ＣＢあたりの出力データをｘk(i)（ｉ＝０，１，２、ｋ＝０，１，２，…，Ｘｃi−１）とする。Ｙｃi，Ｘｃiは、２ｎｄデレートマッチング前後の系列あたりのＣＢサイズとする。判定用パラメータをＸi，ｅini(i)，ｅ+(i)，ｅ-(i)とする。ｅcb,ini(i)をＣＢごとの初期値パラメータとする。
【００８２】
組織ビットは、素通りとする。パリティ系列ｉ＝１，２では、ｅcb,ini(i)の初期値として、規定のｅini(i)を設定する。図１９に示すアルゴリズムでは、パンクチャ位置を特定すると、そのパンクチャ位置に０を挿入する。
【００８３】
図１９に示すアルゴリズムは、３ＧＰＰで標準化されているデパンクチャ処理と同様であるが、２−２）に示すように、前のＣＢで用いた判定用パラメータを、次のＣＢの判定用パラメータの初期値に設定している。また、２−３）に示すように、次のＣＢの初期値のために、判定用パラメータを保存している。
【００８４】
２ｎｄデレートマッチングの入出力サイズは、一般にＣＢごとに異なっている。Ｘｃiは、１ｓｔレートマッチングの出力結果のＣＢごとにおけるサイズで、Ｙｃiは、２ｎｄレートマッチング処理を行った結果のサイズである。Ｘｃiは、予め算出しておく。Ｙｃiは、予め算出することもできるし、ビットデコレクション部３５の処理結果を用いてもよい。Ｘｃiの算出については、後述する。
【００８５】
図２０は、２ｎｄデレートマッチング処理のレペティション処理のアルゴリズム例を示した図である。なお、ＣＢあたりの入力データをｙk(i)（ｉ＝０，１，２、ｋ＝０，１，２，…，Ｙｃi−１）とする。また、ＣＢあたりの出力データをｘk(i)（ｉ＝０，１，２、ｋ＝０，１，２，…，Ｘｃi−１）とする。Ｙｃi，Ｘｃiは、２ｎｄデレートマッチング前後の系列あたりのＣＢサイズとする。判定用パラメータをＸi，ｅini(i)，ｅ+(i)，ｅ-(i)とする。ｅcb,ini(i)をＣＢごとの初期値パラメータとする。
【００８６】
図２０に示すアルゴリズムは、３ＧＰＰで標準化されているデレペティション処理と同様であるが、１−２）に示すように、前のＣＢで用いた判定用パラメータを、次のＣＢの判定用パラメータの初期値に設定している。また、２−１）に示すように、次のＣＢの初期値のために、判定用パラメータを保存している。図２０に示すアルゴリズムでは、ＣＢごとにレペティション処理を行い、ビット系列ｉ＝０，１，２に対して、レートマッチング判定を行いつつ、レートマッチング元となるビットに、レペティションビットを累積加算していく。
【００８７】
１ｓｔレートマッチング後のサイズ（Ｘｃi）の算出について説明する。
１ｓｔレートマッチング後のサイズは、ＣＢの入力ビットに対して、何ビットパンクチャされるかをカウントすることによって算出することができる。算出例としては、実際にＣＢのパンクチャリングパターンを求めてから（すなわち、ＣＢの１ｓｔレートマッチング処理をしてから）、そのパターンのビット数をカウントし、１ｓｔレートマッチング後のサイズを求めることができる。
【００８８】
また、別の算出例として、次のようにすることもできる。例えば、判定用パラメータの減分値および増分値をｅ-，ｅ+とし、パンクチャリングビット数をＫとすると、あるビット位置Ｘでのエラー変数ｅXは、次の式（１）に示す関係を有する。
【００８９】
【数１】
2012099989.tif 000003
【００９０】
式（１）から、次の式（２）に示すようにＫを求めることができる。
【００９１】
【数２】
2012099989.tif 000004
【００９２】
これにより、２ｎｄデレートマッチング部３６は、１ｓｔレートマッチング前のＣＢのサイズからＫを減算して、予め１ｓｔレートマッチング後のサイズを算出することができる。
【００９３】
なお、エラー変数ｅXは、位置Ｘのビットをパンクチャするか否かを判断する変数で、例えば、ｅXが０以下の場合にその位置Ｘのビットをパンクチャする。減分値ｅ-、増分値ｅ+、およびｅXの初期値を変えることによって、パンクチャビットのパターンを変えることができる。
【００９４】
図２１は、１ｓｔレートマッチング後のサイズ算出を説明する図である。図２１に示すグラフの横軸は、１ｓｔレートマッチングされる入力ビットを示している。縦軸は、エラー変数を示している。矢印６８ａは、エラー変数ｅの初期値を示している。矢印６８ｂは、減分値ｅ-を示している。矢印６８ｃは、増分値ｅ+を示している。
【００９５】
図２１のグラフは、入力ビットに対応したエラー変数ｅから、減分値ｅ-を繰り返し減算し、減分値ｅ-をｍ回（ｍは１以上の整数）減算した時点で判定値ｅの値が負になると、ｍ番目のビットをパンクチャし、増分値ｅ+を加算することを示している。矢印６８ｄは、パンクチャされるビット位置を示している。
【００９６】
矢印６８ｅは、Ｘビットまでの減分値の合計値を示している。図２１に示すＸ・ｅ-、Ｋ・ｅ+、およびｅXの間には、上記で示した式（１）の関係を有する。これにより、２ｎｄデレートマッチング部３６は、Ｋの値を算出でき、予め１ｓｔレートマッチング後のサイズを算出することができる。
【００９７】
図２２は、１ｓｔレートマッチング後のサイズ算出のアルゴリズム例を示した図である。図２２では、変数ｄｎがＫに対応している。図２２のアルゴリズムは、パリティビット１，２において実行される。
【００９８】
・Ｈ−ＡＲＱ合成部
Ｈ−ＡＲＱ合成部３７は、２ｎｄデレートマッチング部から出力されるデータのＨ−ＡＲＱ合成処理を行う。例えば、Ｈ−ＡＲＱ合成部３７は、送信されるデータをＨ−ＡＲＱソフトバッファ４８に記憶する。Ｈ−ＡＲＱ合成部３７は、データが再送される場合、Ｈ−ＡＲＱソフトバッファ４８に記憶されているデータと、２ｎｄデレートマッチング部３６から出力されるデータを合成し、バッファ４６に記憶する。Ｈ−ＡＲＱ合成部３７は、同じビットに対応するビット同士は加算し、前回までに送信されたビットと異なるビットが初めて送信された場合には、そのままシリアルに多重する。Ｈ−ＡＲＱ合成部３７は、合成した結果をソフトバッファ４８に改めて記憶する。バッファ４６のサイズは、２ｎｄデレートマッチング処理後およびＨ−ＡＲＱ合成処理後を考慮したＣＢ単位の大きさとなる。
【００９９】
・１ｓｔデレートマッチング部
１ｓｔデレートマッチング部３８は、バッファ４６に記憶されているデータのデパンクチャ処理を行う。１ｓｔデレートマッチング部３８は、２ｎｄデレートマッチング部３６のデパンクチャ処理と同様のデパンクチャ処理を行う。
【０１００】
なお、送信側で行われる１ｓｔレートマッチング処理は、Ｈ−ＡＲＱソフトバッファサイズ以下のサイズに送信データを制限するためのパンクチャ処理である。送信側のコーデック部は、符号化処理されたビットがＨ−ＡＲＱソフトバッファサイズより小さい場合には、１ｓｔレートマッチング処理を行わない。従って、この場合、１ｓｔデレートマッチング部３８は、１ｓｔデレートマッチング処理を行わない。また、１ｓｔデレートマッチング処理が行われない場合、２ｎｄデレートマッチング部３６は、１ｓｔレートマッチング後のサイズ算出を行わない。
【０１０１】
１ｓｔデレートマッチング部３８でデパンクチャ処理されたデータまたはデパンクチャ処理されなかったデータは、バッファ４７に出力される。バッファ４７は、チャネル復号部３９がＴＲＢ単位でチャネル復号処理を行うように、ＴＲＢ単位のサイズを有する。
【０１０２】
このように、無線通信装置２０は、送信側無線通信装置によって符号化処理がＴＲＢ単位で行われ、符号化処理のうちのチャネル符号化処理がＴＲＢより小さいＣＢ単位で行われたデータを復調する。そして、無線通信装置２０は、復調されたデータの復号化処理を少なくともＣＢ単位を１つ含むＰｈＣＨサブブロックで行う。これにより、無線通信装置は、バッファサイズを抑制することができる。
【０１０３】
なお、各処理間のバッファサイズは、例えば、無線通信システムの利用するチャネルのフォーマットが単一の場合、フォーマットのＣＢ数をＮとすると、約１／Ｎにすることができる。
【０１０４】
また、Ｈ−ＡＲＱにおいて、伝搬環境に応じて複数のフォーマットを用いる場合、再送時のフォーマットに規定がない場合には、再送時に最大の符号化ビットサイズになるフォーマットに対応してバッファを用意する。このフォーマットは、必ずしも最大のＣＢ数Ｎではなく、Ｍ（＜Ｎ）となる場合がある。この場合、バッファサイズＢMは、最大ＣＢ数Ｎの場合にＴＲＢ全体を保存するために必要なＴＢNより小さくできるので、それだけバッファサイズを小さくすることができる。具体的には、バッファサイズは、ＢM／ＴＢN倍となる。
【０１０５】
また、図４の機能は、図３に示したＣＰＵ２０によって形成されるとしたが、半導体チップによって形成することもできる。すなわち、図４の機能は、プログラムではなく、ハードウェアによっても形成することができる。
【０１０６】
［第３の実施の形態］
次に、第３の実施の形態を、図面を参照して詳細に説明する。第３の実施の形態では、尤度生成処理、デコンスタレーションリアレンジメント処理、チャネルデインタリーブ処理、およびビットデコレクション処理を一括して行う。
【０１０７】
図２３は、第３の実施の形態に係る無線通信装置の機能ブロックを示した図である。図２３に示すように、無線通信装置７０は、一括処理部７１を有している。図２３において、図４と同じものには同じ符号を付し、その説明を省略する。なお、無線通信装置７０は、図３で示したハードウェアによって形成することができる。また、半導体チップによっても形成することができる。
【０１０８】
一括処理部７１は、尤度生成処理、デコンスタレーションリアレンジメント処理、チャネルデインタリーブ処理、およびビットデコレクション処理を一括して行う。すなわち、一括処理部７１は、処理ごとに対応して設けられたバッファにデータを記憶しないで、ビットデコレクション処理したデータを出力する。これにより、無線通信装置７０は、図４に示した無線通信装置２０に対し、バッファ４２〜４４を削減することができる。
【０１０９】
図２４は、復号化処理のフローチャートである。
［ステップＳ４１］復調部３１は、受信したデータの復調処理を行う。復調されたデータは、バッファ４１に記憶される。
【０１１０】
［ステップＳ４２］制御部は、変数ｃｂを０に初期化する。
［ステップＳ４３］制御部は、変数ｃｂが変数Ｃより小さいか否か判断する。制御部は、変数ｃｂが変数Ｃより小さい場合、ステップＳ４４へ進む。制御部は、変数ｃｂが変数Ｃ以上である場合、ステップＳ４９へ進む。
【０１１１】
変数Ｃは、ＴＲＢをＣＢに分割したときの数を示している。例えば、送信側のコーデック部が、ビットスクランブリング処理したデータをｎ個のＣＢに分割してチャネル符号化処理を行った場合、変数Ｃの値はｎとなる。
【０１１２】
［ステップＳ４４］一括処理部７１は、一括して尤度生成処理、デコンスタレーションリアレンジメント処理、チャネルデインタリーブ処理、およびビットデコレクション処理を行う。一括処理部７１は、一括処理したデータをバッファ４５に記憶する。
【０１１３】
ステップＳ４５〜Ｓ４９は、図８で説明したフローチャートのステップＳ２８〜Ｓ３２と同様であり、その説明を省略する。
図２５は、一括処理を説明する図である。図２５には、復調部３１から出力されるデータを示している。図２５の横方向は、時間の経過を示し、縦軸は、復調部３１から出力されるデータを示している。図２５では、右に進むほど時間が経過する。図２５では、６４ＱＡＭ（ｍ＝６ビット）で変調された場合の例が示してあり、図２５の方眼の１列は、１シンボルに対応する。
【０１１４】
図２５に示す点線の枠８１ａ，８１ｂは、例えば、ＣＢ１を示している。枠８１ａ内のデータは、ＣＢ１の組織ビットを示し、枠８１ｂ内のデータは、パリティビット１，２を示している。
【０１１５】
上記で説明したように、送信側は、ビットスクランブル処理したデータをＣＢに分割し、ターボ符号などのチャネル符号化処理を行う。そして、送信側は、レートマッチング処理、ビットコレクション処理、チャネルインタリーブ処理、およびコンスタレーションリアレンジメント処理を行う。
【０１１６】
このため、復調部３１から出力されるビット配置は、例えば、図６で示すように、送信側のビット配置と異なっている。例えば、図２５の枠８２ａに示す１シンボル目のビットは、送信側の各処理によって、枠８２ｂ，８２ｃに配置されて無線送信されている。すなわち、送信側の１シンボル目のデータは、例えば、図２５中に示す矢印の始点の位置で無線送信される。
【０１１７】
受信側は、図２５中に示す矢印の始点を求めることができれば、尤度生成処理、デコンスタレーションリアレンジメント処理、チャネルデインタリーブ処理、およびビットデコレクション処理を個々に実行しなくても、一度に送信側のインタリーブ前の１シンボル目のビット位置を認識できる。すなわち、一括処理部７１は、デインタリーブパターンおよびデコンスタレーションリアレンジメントパターンから、送信側のインタリーブ前のシンボル位置を認識でき、そのシンボルの尤度データ生成を行うことができる。そして、一括処理部７１は、１シンボル目から、ビットコレクション処理の書き込み順にバッファ４５に出力すれば、例えば、図２５に示すビットデコレクション処理を行ったデータ８３を得ることができる。
【０１１８】
以下、尤度生成処理、デコンスタレーションリアレンジメント処理、チャネルインタリーブ処理、およびビットデコレクション処理の一括処理のアルゴリズムについて説明する。
【０１１９】
図２６は、一括処理のための変数定義を示した図である。以下で説明するアルゴリズムのために、図２６に示す変数を定義する。図２６中のＩＬは、インタリーブを示し、ＣＲＡは、コンスタレーションリアレンジメントを示す。
【０１２０】
図２７、図２８は、一括処理のアルゴリズム例を示した図である。図２７、図２８のアルゴリズムでは、ＣＢ単位でデータを処理している。また、ＣＢ単位で組織ビットとパリティビット１，２とに分け、順に処理している。図２７、図２８に示すｃx,y（ｉ）、ｒx,y（ｉ）（ｘ＝ｓ，ｐ：ｙ＝ｓｔ，ｅｎｄ）のそれぞれは、組織ビットおよびパリティビットのｉ番目のＣＢの開始位置と終了位置とについての行および列番号を示し、例えば、図１５〜図１７に示すアルゴリズムによって、予め算出することができる。
【０１２１】
一括処理部７１は、ＣＢ単位において、読み出しビットに対応する入力シンボル（例えば、図２５の枠８２ｂ，８２ｃ）のＩＱ成分およびデコンスタレーションリアレンジメントの置換後のマッピング位置を特定し、それを元に尤度データを生成する。
【０１２２】
これらを実行するには、一括処理部７１は、読み出しビットの列番号ｃ０および行番号ｋから、チャネルインタリーブ後の列番号ｃ１と行番号ｋ１を求め、これにより、シンボル番号ｓ１とＩＱチャネルの選択を行う。また、一括処理部７１は、行番号ｋ１に対して、コンスタレーションリアレンジメントによる、置換先のインデックスｋ２を求める。一括処理部７１は、各変調方式に対して、ＩＱチャネルとインデックスｋ２が分かると、尤度データの尤度生成方法を決定する。
【０１２３】
一括処理部７１は、上記処理を効率的に実行するために、読み出し順に対してのシンボルマッピングインデックス（行番号ｋ）について、偶数と奇数に分けて順番に行う。チャネルインタリーブは、行番号ｋにおいて、２値ずつのペアで別の処理ブロックに属するようになっており、処理単位内のインタリーブパターンは同じである。そのため、対応する行番号ｋ１が偶数であるか奇数であるかは、行番号ｋの偶奇に依存する。
【０１２４】
コンスタレーションリアレンジメントは、偶数と奇数に関係なく、２ビットペアのインデックスｋ１ｎ＝ｋ１／２（チャネルインタリーブ処理のブロック単位）に依存して決まる。従って、コンスタレーションリアレンジメント結果のインデックスｋ２についても、その偶奇は変わらない。つまり、行番号ｋが偶数のグループは、全て奇数か、全て偶数に移るかの何れかとなる。また、インデックスｋ２の偶奇は、シンボルＩＱチャネルのそれぞれに対応している。従って、行番号ｋの偶数番号を先に行うことは、対応する入力シンボルのＩＱチャネルのいずれかの処理をまとめて行うことを意味している。これにより、一括処理部７１は、無駄にシンボルデータの読み出しを行うことを避けることができる。
【０１２５】
以上より、一括処理部７１は、読み出しインデックスにおいて、行番号ｋの偶奇ｒ０＝０，１についてシンボルデータの読み出しを行う。そして、一括処理部７１は、それぞれ２ビットペアのインデックスｋｎ＝ｋ／２の順に、ＩＱデータに対してｋ２ｎ＝ｋ２／２によって決まる尤度生成方法を順に適用する。一括処理部７１は、その結果をＣＢ単位のバッファ４５に記憶する。
【０１２６】
・１段目のループ
１段目のループでは、一括処理部７１は、ＢＣブロックにおいて、読み出し順に、当該ＣＢ領域内での列ごとに、２段目ループの処理を行う。
【０１２７】
・２段目のループ
まず、受信データについて説明する。図２５に示すように、ＢＣブロックの１つの列は、１つのシンボルにマッピングされるビットに対応している。入力シンボルのＩチャネルとＱチャネルにマッピングされるビットが交互に並んでいる。
【０１２８】
ただし、受信時には、１つの列に含まれているビットは、それぞれ別の入力シンボル（列）から置換されるビットになっている。一括処理部７１は、この入力シンボルの位置およびシンボル内での位置を特定する。
【０１２９】
シンボルにマッピングされているビットは、２ビットずつのペアでグループ分けされ、ＰｈＣＨサブブロックに属している。従って、ビット位置は、ＰｈＣＨサブブロックの番号に対応するインデックスｋｎ（ｋｎ＝０，…，２ｍ−１）と、グループ内での２ビットを区別するインデックスｒ０（ｒ０＝０，１）とで特定される。
【０１３０】
ＰｈＣＨサブブロックは、チャネルインタリーブが行われる単位で、同じ列に属するビットは、そのＰｈＣＨサブブロック内で置換を受けることになる。従って、ｒ０が同じものは、同じ置換を受けることになる。
【０１３１】
このことから、出力シンボル（列）でｒ０が同じものは、同じ入力シンボルから置換されたものになる。よって、一括処理部７１は、ｒ０ごとに以下の処理を行う。
一括処理部７１は、ｒ０ごとに対応する入力シンボルのＩチャネルおよびＱチャネルのバッファインデックスｒｄを特定する。例えば、一括処理部７１は、図２５に示した枠８２ｂ，８２ｃの列番号を特定する。
【０１３２】
（１）一括処理部７１は、出力ビット順での列番号（ＢＣブロック全体での列）から、当該ＰｈＣＨ内での列番号を特定する。
（２）一括処理部７１は、ＰｈＣＨサブブロック内での読み出し順インデックスｉ０を特定する。
【０１３３】
（３）一括処理部７１は、チャネルデインタリーブによる逆置換を行い、送信時のインデックスｉ１を特定する。
（４）一括処理部７１は、ｉ１から入力シンボルの列番号および２ビットグループ内インデックスｒ１を特定する。
【０１３４】
（５）一括処理部７１は、入力シンボルのＩチャネルおよびＱチャネルのデータ位置（ｒｄ）を特定する。
一括処理部７１は、特定したｒｄより入力シンボルＩＱチャネルのデータを読み出す。
【０１３５】
・３段目のループ（最内ループ）
一括処理部７１は、ｒ０のそれぞれについて、ＰｈＣＨサブブロックに含まれるビット処理を順に行う。ＰｈＣＨサブブロックは、ｋｎで区別される。
【０１３６】
（１）一括処理部７１は、当該列について、対応するビットがＢＣブロックの当該ＣＢの領域に含まれているかどうか判断する。一括処理部７１は、含まれていない場合、処理を行わない。
【０１３７】
（２）一括処理部７１は、尤度データの生成処理を行うために、デコンスタレーションリアレンジメント処理を行う。デコンスタレーションリアレンジメントは、ＰｈＣＨサブブロックのグループインデックスでの置換と、符号反転となる。従って、一括処理部７１は、出力シンボルでのインデックスｋｎだけに依存した配列テーブルを予め求めておいて、位置（ｋ２ｎ）と、反転符号（ｓｉｇｎ２）をそれぞれ読み出す。
【０１３８】
（３）一括処理部７１は、尤度データを生成する。一括処理部７１は、入力シンボルに対してのＰｈＣＨサブブロックグループ（ｋ２ｎ）に従って、尤度生成方法が異なるので、ｋ２ｎによって異なる尤度処理関数を呼び出し、尤度データを生成する。
【０１３９】
（４）一括処理部７１は、尤度生成関数に出力結果に対し、コンスタレーションリアレンジメントの符号を乗算する。
図２９は、一括処理部のフローチャートである。一括処理部７１は、各ＣＢにおいて以下の処理を行う。
【０１４０】
［ステップＳ５１］一括処理部７１は、変数ｃにｃ＿ｓｔを代入する。ｃ＿ｓｔは、ＣＢの開始列である。
［ステップＳ５２］一括処理部７１は、変数ｃがｃ＿ｅｎｄ以下であるか否か判断する。ｃ＿ｅｎｄは、ＣＢの終了列である。一括処理部７１は、変数ｃがｃ＿ｅｎｄ以下である場合、ステップＳ５３へ進む。一括処理部７１は、変数ｃがｃ＿ｅｎｄより大きければ、処理を終了する。
【０１４１】
［ステップＳ５３］一括処理部７１は、変数ｒ０に０を代入する。変数ｒ０は、グループ内での２ビットを区別するインデックスである。
［ステップＳ５４］一括処理部７１は、変数ｒ０が２より小さいか否か判断する。一括処理部７１は、変数ｒ０が２より小さければ、ステップＳ５５へ進む。一括処理部７１は、変数ｒ０が２以上であれば、ステップＳ６３へ進む。
【０１４２】
［ステップＳ５５］一括処理部７１は、入力シンボルのＩチャネルおよびＱチャネルの位置を特定する。
［ステップＳ５６］一括処理部７１は、入力シンボルのＩチャネルおよびＱチャネルを読み出す。
【０１４３】
［ステップＳ５７］一括処理部７１は、変数ｋｎがｍ２より小さいか否か判断する。変数ｋｎは、２ビットペアのインデックスである。ｍ２は、シンボルマッピング数の１／２である。一括処理部７１は、変数ｋｎがｍ２より小さい場合、ステップＳ５８へ進む。一括処理部７１は、変数ｋｎがｍ２以上の場合は、ステップＳ６２へ進む。
【０１４４】
［ステップＳ５８］一括処理部７１は、読み出した入力シンボルのＩ，Ｑチャネルのデータが、ＣＢの領域内にあるか否か判断する。一括処理部７１は、読み出した入力シンボルのＩ，Ｑチャネルのデータが、ＣＢの領域内にある場合、ステップＳ５９へ進む。一括処理部７１は、読み出した入力シンボルのＩ，Ｑチャネルのデータが、ＣＢの領域内にない場合、ステップＳ６１へ進む。
【０１４５】
［ステップＳ５９］一括処理部７１は、読み出したＩ，Ｑチャネルのデータのデコンスタレーションリアレンジメント処理を行う。
［ステップＳ６０］一括処理部７１は、デコンスタレーションリアレンジメント処理したデータの尤度データを生成する。
【０１４６】
［ステップＳ６１］一括処理部７１は、変数ｋｎに１を加算し、ステップＳ５７の処理へ進む。
［ステップＳ６２］一括処理部７１は、変数ｒ０に１を加算し、ステップＳ５４の処理へ進む。
【０１４７】
［ステップＳ６３］一括処理部７１は、変数ｃに１を加算し、ステップＳ５２の処理へ進む。
このように、無線通信装置７０は、尤度生成処理、デコンスタレーションリアレンジメント処理、チャネルデインタリーブ処理、およびビットデコレクション処理を一括して処理するようにした。これにより、無線通信装置７０は、尤度生成処理、デコンスタレーションリアレンジメント処理、チャネルデインタリーブ処理、およびビットデコレクション処理間のバッファを省略することができ、バッファサイズを抑制することができる。
【０１４８】
［第４の実施の形態］
次に、第４の実施の形態を、図面を参照して詳細に説明する。第４の実施の形態では、第３の実施の形態で説明した一括処理部が、２ｎｄデレートマッチング処理まで一括処理する。
【０１４９】
図３０は、第４の実施の形態に係る無線通信装置の機能ブロックを示した図である。図３０に示すように、無線通信装置９０は、一括処理部９１を有している。図３０において、図４と同じものには同じ符号を付し、その説明を省略する。なお、無線通信装置９０は、図３で示したハードウェアによって形成することができる。また、半導体チップによっても形成することができる。
【０１５０】
一括処理部９１は、尤度生成処理、デコンスタレーションリアレンジメント処理、チャネルデインタリーブ処理、ビットデコレクション処理、および２ｎｄデレートマッチング処理を一括して行う。すなわち、一括処理部９１は、処理ごとに対応して設けられたバッファにデータを記憶しないで、２ｎｄデレートマッチング処理したデータをＨ−ＡＲＱ合成部３７に出力する。これにより、無線通信装置９０は、無線通信装置２０に対し、バッファ４２〜４５を削減することができる。
【０１５１】
図３１は、復号化処理のフローチャートである。
［ステップＳ７１］復調部３１は、受信したデータの復調処理を行う。復調されたデータは、バッファ４１に記憶される。
【０１５２】
［ステップＳ７２］制御部は、変数ｃｂを０に初期化する。
［ステップＳ７３］制御部は、変数ｃｂが変数Ｃより小さいか否か判断する。制御部は、変数ｃｂが変数Ｃより小さい場合、ステップＳ７４へ進む。制御部は、変数ｃｂが変数Ｃ以上である場合、ステップＳ７８へ進む。
【０１５３】
変数Ｃは、ＴＲＢをＣＢに分割したときの数を示している。例えば、送信側のコーデック部が、ビットスクランブリング処理したデータをｎ個のＣＢに分割してチャネル符号化処理を行った場合、変数Ｃの値はｎとなる。
【０１５４】
［ステップＳ７４］一括処理部９１は、一括して尤度生成処理、デコンスタレーションリアレンジメント処理、チャネルデインタリーブ処理、ビットデコレクション処理、および２ｎｄデレートマッチング処理を行う。一括処理部９１は、一括処理したデータをＨ−ＡＲＱ合成部３７へ出力する。
【０１５５】
ステップＳ７５〜Ｓ７８は、図８で説明したフローチャートのステップＳ２９〜Ｓ３２と同様であり、その説明を省略する。
図３２は、一括処理を説明する図である。図３２には、復調部３１から出力されるデータを示している。図３２の横方向は、時間の経過を示し、縦軸は、復調部３１から出力されるデータを示している。図３２では、右に進むほど時間が経過する。図３２では、６４ＱＡＭ（ｍ＝６ビット）で変調された場合の例が示してあり、図３２の四角の１列は、１シンボルに対応する。なお、図３２において、図２５と同じものには同じ符号を付し、その説明を省略する。
【０１５６】
図３２に示すデータ１０１は、ビットデコレクション処理したデータ８３を、２ｎｄデレートマッチング処理したデータを示している。一括処理部９１は、第３の実施の形態で説明したように、ビットデコレクション処理を行うとともに、第２の実施の形態で説明した２ｎｄデレートマッチング処理を行うことで、データ１０１を出力する。
【０１５７】
このように、無線通信装置９０は、尤度生成処理、デコンスタレーションリアレンジメント処理、チャネルデインタリーブ処理、ビットデコレクション処理、および２ｎｄデレートマッチング処理を一括して処理するようにした。これにより、無線通信装置９０は、尤度生成処理、デコンスタレーションリアレンジメント処理、チャネルデインタリーブ処理、ビットデコレクション処理、および２ｎｄデレートマッチング処理間のバッファを省略することができ、バッファサイズを抑制することができる。
【符号の説明】
【０１５８】
１  無線通信装置
１ａ  復調部
１ｂ  復号部
２，３  ブロック単位
４  処理単位
【図１】
2012099989.tif 000005
【図２】
2012099989.tif 000006
【図３】
2012099989.tif 000007
【図４】
2012099989.tif 000008
【図５】
2012099989.tif 000009
【図６】
2012099989.tif 000010
【図７】
2012099989.tif 000011
【図８】
2012099989.tif 000012
【図９】
2012099989.tif 000013
【図１０】
2012099989.tif 000014
【図１１】
2012099989.tif 000015
【図１２】
2012099989.tif 000016
【図１３】
2012099989.tif 000017
【図１４】
2012099989.tif 000018
【図１５】
2012099989.tif 000019
【図１６】
2012099989.tif 000020
【図１７】
2012099989.tif 000021
【図１８】
2012099989.tif 000022
【図１９】
2012099989.tif 000023
【図２０】
2012099989.tif 000024
【図２１】
2012099989.tif 000025
【図２２】
2012099989.tif 000026
【図２３】
2012099989.tif 000027
【図２４】
2012099989.tif 000028
【図２５】
2012099989.tif 000029
【図２６】
2012099989.tif 000030
【図２７】
2012099989.tif 000031
【図２８】
2012099989.tif 000032
【図２９】
2012099989.tif 000033
【図３０】
2012099989.tif 000034
【図３１】
2012099989.tif 000035
【図３２】
2012099989.tif 000036