(57)【特許請求の範囲】
【請求項１】
基地局とデータの送受信を行う送受信部と，
通信制御コードであるレンジングコードよりも短いビット列を有するデータであるシードデータに基づき，前記レンジングコードを生成する生成部と，
前記シードデータを格納するメモリとを有し，
前記送受信部は，
前記基地局へ送信するデータに含まれる前記レンジングコードを指定する指定データを前記基地局から受信し，
前記生成部は，
第i(iは1以上の整数)のシードデータに論理演算を行って，第iのレンジングコードと第(i+1)のシードデータとを生成する処理を，i=1〜N(Nは2以上の整数)まで繰り返し，
前記第1〜第Nのレンジングコードに対応する前記第1〜第Nのシードデータを前記メモリに格納し，
前記第1〜第Nのシードデータのうちの，前記指定データに対応するシードデータに，前記論理演算を行って前記レンジングコードを生成する通信装置。
【請求項２】
請求項１において，
前記第iのシードデータは，前記基地局から送信されるレンジングコード生成用パラメータと任意のデータとを有する通信装置。
【請求項３】
請求項１または２において，
前記生成部は，前記シードデータが設定されるレジスタと，前記レジスタのシードデータに前記論理演算を行って論理データを算出する論理回路とを有し，前記論理データの算出後，前記レジスタに設定されているビット列をビットシフトすると共に，前記算出された論理データを前記レジスタの空きビット領域に入力して新たなシードデータを前記レジスタに格納する処理を複数回行って複数の論理データを有するレンジングコードを生成する通信装置。
【請求項４】
請求項３において，
前記論理回路は，前記レジスタに設定されたシードデータの一部のビットの排他的論理和データを算出する通信装置。
【請求項５】
請求項３または４において，
前記生成部は，前記第iのレンジングコードを生成した際に，前記レジスタに設定されているシードデータを前記第(i+1)のシードデータとする通信装置。
【請求項６】
請求項１から５の何れかにおいて，
前記生成部は，連続するレンジングコードに対応する前記シードデータのうち，所定数おきのシードデータを前記メモリに格納する通信装置。
【請求項７】
基地局へ送信するデータに含まれる通信制御コードであるレンジングコードを指定する指定データを前記基地局から受信する工程と，
レンジングコードよりも短いビット列を有するデータである第i(iは1以上の整数)のシードデータに論理演算を行って，第iのレンジングコードと第(i+1)のシードデータとを生成する処理を，i=1〜N(Nは2以上の整数)まで繰り返し，
前記第1〜第Nのレンジングコードに対応する前記第1〜第Nのシードデータを生成しメモリに格納する工程と，
前記第1〜第Nのシードデータのうちの，前記指定データに対応するシードデータに，前記論理演算を行って前記レンジングコードを生成する工程とを有する通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，通信装置，通信方法に関する。
【背景技術】
【０００２】
基地局と，例えば移動局として機能する通信装置との間の通信を例えばWiMAX（Worldwide Interoperability for Microwave Access）形式で行う場合，レンジング（Ranging）が行われる。レンジングは，例えば基地局，通信装置間で通信同期を取るためや，通信装置の送信電力レベルなどを調整するためや，通信リンクの品質を維持するために，基地局と通信装置との間で行われる。
【０００３】
通信装置は，レンジングに先立ち，基地局に通信制御コードであるレンジングコードを送信する。基地局は，受信したレンジングコードに基づき通信装置を識別し，識別した通信装置にレンジング応答メッセージを送信する。このレンジング応答メッセージは，基地局が受信したレンジングコード，送信電力レベルなどの調整用パラメータ，レンジングが終了したか否かを示す情報（Status情報）を有する。
【０００４】
通信装置は，受信したレンジング応答メッセージの調整用パラメータに基づいて送信電力レベルなどの調整を行う。通信装置は，この調整後，調整した送信電力レベルなどが適切か確認するために，再度，レンジングコードを基地局に対して送信する。
【０００５】
基地局，通信装置間でこれら一連の処理を繰り返し行い，通信装置は，レンジング終了情報（Success情報）を基地局から受信すると，レンジングコードの送信を停止し，レンジングを終了する。以後，基地局は，レンジングが終了した通信装置に，コネクション識別子を示すCID（Connection Identifier）の割り当てなど各種処理を実行し，この通信装置を管理下におき，通信リンクが確立する。
【０００６】
ところで，このレンジングコードは，基地局からブロードキャスト送信されるレンジングコード生成用パラメータに基づき，通信装置が生成するものである。レンジングコードは，利用可能なコードパターンとして256パターンあり，1つのレンジングコードは144ビットで構成され，擬似乱数ビット列（PRBS：Pseudo Random Binary Sequence）生成器により生成される。
【０００７】
図1は，基地局と通信装置（移動局）との間で通信する際に，送受信される無線フレームの送受信タイミング図である。
【０００８】
図2は，通信装置において実行されるレンジングコードの生成，送信処理を説明するタイミング図である。図2のタイミングT1〜T4は，図1のタイミングT1〜T4に対応する。
【０００９】
通信装置が，基地局と通信を開始する場合，基地局から送信されるダウンリンクサブフレーム（以下，DLサブフレームと略記する）を，図1のタイミングT1において受信する。すると，図２に示すように，通信装置のMAC（Medium Access Control）部は，DLサブフレームのUCD（Uplink Channel Descriptor）を解析し（ステップS1）， 既に受信しているUL-MAPで指示されたUL_Permbase(Uplink_Permutationbase)情報を取得し，レンジングコード生成用パラメータGPを得る。なお，MAC部は， DLサブフレームからレンジングコードの指定データDを取得するまでこの解析を継続する。
【００１０】
UL_PHY（Uplink Physical Layer）部は，例えばPRBS生成器により，この生成用パラメータGPから，144ビットからなるレンジングコードを256個，順次生成し，これらをメモリに格納する（図2のステップS2）。
【００１１】
なお，通信装置は，タイミングT2においては，アップリンクサブフレーム（以下，ULサブフレームと略記する）を用いてレンジングに関連するデータの送信処理は実行しない。同じく，タイミングT3においても，受信したDLサブフレームについて，レンジングに関連するデータ処理は実行しない。
【００１２】
通信装置のMAC部は，引き続きUCDの解析を実行し（図2のステップS3），レンジングコードの指定データDを受信（取得）する。指定データDは，基地局が256個（パターン）のレンジングコードの中の何れかを指定して，指定したレンジングコードを基地局に送信するように通信装置に指示するデータである。
【００１３】
通信装置のUL_PHY部は，メモリに格納した256個のレンジングコードの中から指定データDに対応する送信用のレンジングコードを読み出し，基地局に送信する。以後，このレンジングコードに基づいて，基地局と通信装置との間において，レンジングが行われる。なお，レンジングコードのビット数，生成個数は例示である。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開2007-201848号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
このように，通信装置のUL_PHY部は，指定データを受信するのを待たずに，指定データで指定されうる256個のレンジングコードを予め生成しメモリに格納する。その理由は，指定データの受信から所定時間内に，指定データに対応するレンジングコードを基地局に送信する必要があるからである。
【００１６】
例えば，通信装置が，タイミングT3で受信（取得）した指定データDに応答して，タイミングT4で指定データDが指定した250番目のレンジングコードを送信する場合を想定する。この場合，通信装置が，指定データDを受信したタイミングT3で指定データに対応するレンジングコードの生成を開始すると（図2のステップS5），通信装置は，250番目のレンジングコードを生成するまでに長時間を要し，送信すべきタイミングT4までに，このレンジングコードを基地局に送信することができなくなる。
【００１７】
ところで，前記したメモリは，144ビットのレンジングコードを256個格納するので，その容量は，少なくとも約4.6KByte（144ビット×256個／8）必要である。また，通信装置は，最大3種類のレンジングコードを送信できるので，その3倍の最大約13.8KByte（4.6KByte×3）のメモリ容量が必要になる。このように，レンジングコードの送信処理のためだけに，約13.8KByteものメモリ容量を使用するのは，無駄である。
【００１８】
そこで，本発明の目的は，通信装置において，少ないメモリ容量でレンジングコードを生成することにある。
【課題を解決するための手段】
【００１９】
通信装置の第１の側面は，基地局とデータの送受信を行う送受信部と，
通信制御コードであるレンジングコードよりも短いビット列を有するデータであるシードデータに基づき，前記レンジングコードを生成する生成部と，
前記シードデータを格納するメモリとを有し，
前記生成部は，
第1のシードデータに論理演算を行って第1のレンジングコードを生成し，
前記第1のレンジングコードを生成した際に生成された第2のシードデータに前記論理演算を行って第2のレンジングコードを生成する処理を第Nのレンジングコードの生成まで繰り返し，前記第1〜第Nのレンジングコードに対応する前記第1〜第Nのシードデータを前記メモリに格納し，
前記基地局から受信した送信用レンジングコードの指定データに対応するシードデータに，前記論理演算を行って前記送信用レンジングコードを生成する。
【発明の効果】
【００２０】
第１の側面によれば，レンジングコードよりビット数が少ないシードデータをメモリに格納し，指定データに対応するシードデータから送信用レンジングコードを生成するようにしたので，メモリ容量が少なくても指定データの受信から所定時間内に送信用レンジングコードを生成することができる。
【図面の簡単な説明】
【００２１】
【図１】基地局と通信装置（移動局）との間で通信する際に，送受信される無線フレームの送受信タイミング図である。
【図２】通信装置において実行されるレンジングコードの生成，送信処理を説明するタイミング図である。
【図３】第1の実施の形態を説明するための通信装置の機能ブロック図である。
【図４】基地局と移動局との間の通信をWiMAX形式で行う際に利用される無線フレームの一例を示す図である。
【図５】レンジングコードを生成するRC生成部の機能ブロック図である。
【図６】レンジングコードの生成回路の一例を示す図である。
【図７】256個のレンジングコードRC#1〜#256を模式的に示す図である。
【図８】シードデータとレンジングコードとの関係を示す模式図である。
【図９】シードデータの生成処理を説明するフロー図である。
【図１０】メモリに格納されたシードデータSD#1〜#256を示す図である。
【図１１】送信用のレンジングコードの生成処理を説明するフロー図である。
【図１２】第1の実施の形態で説明した，シードデータの生成，レンジングコードの送信処理を説明するタイミング図である。
【図１３】第2の実施の形態で説明するレンジングコードを生成するRC生成部の機能ブロック図である。
【図１４】シードデータの生成処理を説明するフロー図である。
【図１５】メモリに格納された所定数おきのシードデータSD#1，#10，#20…，#250を示す図である。
【図１６】送信用のレンジングコードの生成処理を説明するフロー図である。
【発明を実施するための形態】
【００２２】
（第１の実施の形態）
図3は，第1の実施の形態を説明するための通信装置の機能ブロック図である。通信装置1は，通信装置1の基地局（図示しない）から送信されるDLサブフレームをアンテナATを介して受信する。通信装置1は，移動局，または中継局としても機能する。
【００２３】
通信装置1は，前記した受信や，この基地局にULサブフレームをアンテナATを介して送信するRF（Radio Frequency）部10と，RF部10から入力された信号に復調処理などを実行し復調信号を得るDL_PHY（DownLink Physical Layer）部20と，データリンクの管理などを行うMAC部30と，MAC部30から入力された信号に変調処理などを実行し送信用の信号を得るUL_PHY部40とを有する。
【００２４】
RF部10は，アンテナATを介して受信した信号を増幅し，ダウンコンバートしてDL_PHY部20に出力する。また，RF部10は，UL_PHY部40から入力された送信用の信号を増幅し，アップコンバートしてアンテナATを介して基地局に送信する。RF部10は，基地局とデータの送受信を行う送受信部の一例である。
【００２５】
DL_PHY部20は，RF部10から入力された信号に，無線フレームの同期処理，FFT（Fast Fourier Transform）処理，復調処理，誤り符号訂正などを実行して，受信データを得る。
【００２６】
MAC部30は，パケットデータコンバージェンスプロトコル副層（Packet Data Convergence Protocol SubLayer），MAC共通部副層，セキュリティ副層の機能などの機能を有する。例えば，MAC部30は，受信データからプロトコルデータユニット（PDU：Protocol Data Unit）を抽出し，後段のアプリケーション（図示しない）に出力する処理や，後段のアプリケーションから入力されたデータから送信用データを生成し，UL_PHY部40に出力する処理を実行する。
【００２７】
UL_PHY部40は，MAC部30から入力された送信用データを誤り訂正符号化し，変調し，IFFT（Inverse Fast Fourier Transform）処理を実行し，IFFT後の送信用の信号をRF部10に出力する。UL_PHY部40のRC生成部50は，レンジングコードを生成する。
【００２８】
図4は，基地局と通信装置１との間の通信をWiMAX形式で行う際に利用される無線フレームの一例を示す図である。無線フレームは，基地局が通信装置１にデータを送信する際に利用するDLサブフレームと，通信装置１が基地局にデータを送信する際に利用するULサブフレームとを有する。DLサブフレーム，ULサブフレームは，時間軸とサブチャネル軸とを有し，時間軸に対応するOFDMA（Orthogonal Frequency Division Multiple Access）シンボル番号毎にサブチャネルが対応する。
【００２９】
DLサブフレームのPreamble領域には，DLサブフレームの同期用信号，FCH（Frame Control Header）領域にはDLサブフレームの構成情報，DL-MAP領域にはDLサブフレーム内の無線割り当て情報，すなわちDLサブフレームにおけるバーストの配置情報などが記録（格納）される。UL-MAP領域にはULサブフレーム内の無線割り当て情報，すなわちULサブフレームにおけるバーストの配置情報などが記録される。UCD領域にはレンジングコード生成用パラメータ（以下，生成用パラメータと略記する），レンジングコードの指定データ，無線フレームにおけるULサブフレームの開始位置，OFDMAのシンボル数などのUCDが記録される。
【００３０】
ULサブフレームのRanging領域にはレンジングコードが記録され，CQICH（Channel Quality InfoChanel）領域には搬送波レベル対干渉・雑音比（CINR：Carrier to Interference and Noise Ratio）や，DL_PHY部20，MAC部30における応答時間の厳しい処理に対応するための各種情報などが記録される（Fast-Feedback 領域）。ACKCH領域には基地局から送信されるパケット再送要求（HARQ：Hybrid Automatic Repeat Request）に対するACK/NAKが記録され，UL-Burst#0，#1領域には，ユーザデータが記録される。
【００３１】
図3のMAC部30は，DLサブフレームのUCDを解析し， 既に受信しているUL-MAP領域のUL_Permbase情報（7ビット）を取得し，生成用パラメータを得る。そして，MAC部30は，生成用パラメータをUL_PHY部40のRC生成部50に出力する。さらに，MAC部30は，前記の解析により，レンジングコード情報（レンジングコードナンバーとも言う），すなわちレンジングコードの指定データを取得し， RC生成部50に出力する。
【００３２】
図5は，RC生成部50の機能ブロック図である。RC生成部50は，MAC部30から入力される生成用パラメータGP，シードメモリ54から入力されるシードデータSDの出力セレクトを行うセレクタ51と，図6に示すPRBS生成器を有し，レンジングコードRCや，レンジングコードRCを生成するためのシードデータSDを生成するRC_SD生成部52と，RC_SD生成部52から入力されるレンジングコードRCをUL_PHY部40に出力し，同シードデータSDをシードメモリ54に出力するスイッチ53と，シードデータSDを格納するシードメモリ54とを有する。
【００３３】
RC_SD生成部52は，レンジングコードよりも短いビット列を有するデータ（以降，シードデータと称する。）に基づき，レンジングコードを順次生成する。
【００３４】
具体的には，RC_SD生成部52は，基地局から受信したレンジングコード生成用パラメータGPと任意のデータを有する第1のシードデータに論理演算を繰り返し行って第1のレンジングコードを生成する。そして，RC_SD生成部52は，第1のレンジングコードを生成した際に生成された第2のシードデータに論理演算を繰り返し行って第2のレンジングコードを生成する処理を第Nのレンジングコードの生成まで順次繰り返す。Nは，例えば256以下の整数であり，好ましくは256である。RC_SD生成部52は，第1〜第Nのレンジングコードに対応する第1〜第Nのシードデータをシードメモリ54に格納する。
【００３５】
また，RC_SD生成部52は，基地局から受信した送信用レンジングコードの指定データDに対応するシードデータに論理演算を繰り返し行って，送信用レンジングコードを生成し基地局に送信する。
【００３６】
図6は，RC_SD生成部52が有するレンジングコードの生成回路の一例であるPRBS生成器を示す。PRBS生成器55は，シードデータが設定されるレジスタ55aと，レジスタ55aのシードデータに論理演算を行って論理データを算出する論理回路55bとを有する。
【００３７】
レジスタ55aは，15ビットの容量を有し，１ビットが設定される領域b1〜b15を有する。ここで，設定領域b1のビットが最下位ビット（LSB：Least Significant Bit）であり，設定領域b15のビットが最上位ビット（MSB：Most Significant Bit）である。
【００３８】
論理回路55bは，レジスタ55aに設定されたシードデータの一部のビット，例えばレジスタ55aの最下位ビットから数えて1，4，7，および15番目（設定領域b1，b4，b7，b15）に設定されたビットの排他的論理和データCkを算出するXOR回路であるとする。
【００３９】
RC_SD生成部52は，レジスタ55aの所定の設定領域b1，b3，b7，b15に設定されたビットの排他的論理和データCkを論理回路55bにより算出し，レンジングコードを構成する１ビットにする。そして，RC_SD生成部52は，ビットシフト用の基準クロックに同期して，設定領域b1〜b14に設定されているビット列を上位のビットにビットシフトすると共に，算出された排他的論理和データCkを，レジスタ55aの空きビット領域である設定領域b1に入力して新たなシードデータをレジスタ５５aに格納する処理を複数回繰り返す。なお，算出された排他的論理和データCkがビットシフト用の基準クロックに同期して設定領域b1に入力された後，RC_SD生成部52は，次の排他的論理和データを算出する。
【００４０】
このように，RC_SD生成部52は，前記した処理を複数回繰り返し行って複数の排他的論理和データを有する1個のレンジングコードを生成する論理演算処理を実行する。ここで，この複数回はレンジングコードのビット数144に相当する144回である。RC_SD生成部52は，前記の排他的論理和データの算出処理，ビットシフト処理を144回繰り返すことで，144ビットからなるレンジングコードを生成する。図7のRC#1：C1_1C1_2C1_3…C1_142C1_143C1_144が，1番目に生成されたレンジングコードである。
【００４１】
RC_SD生成部52が，前記の排他的論理和データの算出処理，ビットシフト処理を144回繰り返す処理を，さらに256回繰り返すこと，すなわち，前記したレンジングコードを生成する論理演算処理を256回実行することで，図7に示すように，256個のレンジングコードRC#1〜#256が生成される。
【００４２】
図8は，シードデータとレンジングコードとの関係を示す模式図である。
【００４３】
RC_SD生成部52は，レンジングコード生成用パラメータと任意のデータを有する第1のシードデータSD#1に前記の論理演算処理を実行することで，第1のレンジングコードRC#1を生成する。そして，第1のレンジングコードRC#1を生成した際にレジスタ55aに設定されている第2のシードデータSD#2に前記の論理演算処理を実行して第2のレンジングコードRC#2を生成する。そして，生成したシードデータを，シードメモリ54に格納する。すなわち，RC_SD生成部52は，第i番目（ｉ≧1）のレンジングコードを生成した際にレジスタ55aに設定されている第（i＋1）番目のシードデータをシードメモリ54に格納する。そして，RC_SD生成部52は，第（i＋1）番目のシードデータに前記の論理演算処理を実行して第（i＋1）番目のレンジングコードを生成する。なお，1番目のシードデータSD#1も，シードメモリ54に格納される。このようにして，RC_SD生成部52は，生成した全てのシードデータ（256個のシードデータ）をシードメモリ54に格納する。このシードデータのビット長は15ビットである。
【００４４】
図9は，シードデータの生成処理を説明するフロー図である。シードデータの生成処理は，通信装置１が基地局に最初に接続する際に実行するイニシャルレンジングや，通信装置１と基地局との間で通信リンクが確立した後に，生成用パラメータが更新された際にも実行される。
【００４５】
ステップS11：MAC部30から生成用パラメータGPがRC生成部50に入力されると，RC生成部50は，その旨を示す制御信号Ctlをセレクタ51，RC_SD生成部52，スイッチ53に出力する。この制御信号Ctrlが入力されると，セレクタ51は入力された生成用パラメータGPをRC_SD生成部52に出力する。
【００４６】
ステップS12：RC_SD生成部52は，7ビットの生成用パラメータGPを図6に示したレジスタ55aの設定領域b1〜b7に設定し，設定領域b8〜b15には任意のデータ例えば"11010100"を設定する。同時に，RC_SD生成部52は，レジスタ55aに設定されているビット列，すなわちシードデータSD#1をスイッチ53に出力する。スイッチ53は，ステップS11で説明した制御信号Ctrlに基づいて，入力されたシードデータSDをシードメモリ54に出力する。すなわち，シードメモリ54は，入力されたシードデータSDを格納する。このとき，RC生成部50は，シードデータの生成順番を示す識別子SD#1と対応付けてシードデータSDを管理する。
【００４７】
ステップS13：RC_SD生成部52は，図6で説明したように，PRBS生成器55を用いて，144ビット長分の排他的論理和データを送信用のレンジングコードとして生成する。
【００４８】
1個のレンジングコードを生成すると，RC_SD生成部52は，生成したレンジングコードの総数カウンタTcをカウントアップする。なお，総数カウンタTcの初期値は0である。この総数カウンタTc＋1を，生成したシードデータの識別子とする。シードデータの識別子として，総数カウンタTcを利用する他にも，シードデータの生成順番を判別できれば，例えばシードデータを格納したメモリアドレス等を利用することもできる。
【００４９】
ステップS14：ステップS13においてレンジングコードの生成が完了すると，RC_SD生成部52は，レジスタ55aに設定されているビット列をシードデータSDとしてスイッチ53に出力する。スイッチ53は，ステップS11で説明した制御信号Ctrlに基づいて，入力されたシードデータSDをシードメモリ54に出力する。すなわち，シードメモリ54は，入力されたシードデータSDを格納する。このとき，ステップS12で説明したように，RC生成部50は，識別子SD#iと対応付けてシードデータSDを管理する。
【００５０】
ステップS15：RC_SD生成部52は，ステップS13，S14の処理を256回実行，すなわち256個のレンジングコードを生成し，256個のレンジングコードに対応する256個のシードデータを全てシードメモリ54に格納したか判定する。256個のシードデータを格納すると（ステップS15／YES），シードデータの生成処理を終了する。256個のシードデータを格納していない場合は（ステップS15／NO），ステップS13に戻る。
【００５１】
図10は，シードデータの生成処理が終了した時点で，シードメモリ54に格納されたシードデータSD#1〜#256を示す図である。シードデータSD#iのSm_nはシードデータSD#iを構成するビットを示し，mはシードデータが生成された順番を示す1以上256以下の整数， nはこのシードデータを構成するビットが生成された順番を示す1以上〜15以下の整数を示す。このSD#iが，前記のシードデータの識別子に相当する。
【００５２】
図8〜10の説明から明らかなように，RC生成部50は，第1のシードデータSD#1に論理演算を行って第1のレンジングコードRC#1を生成する工程と，第1のレンジングコードRC#1を生成した際に生成された第2のシードデータSD#2に論理演算を行って第2のレンジングコードRC#2を生成する処理を第Nのレンジングコードの生成まで繰り返し行って，第1〜第Nのレンジングコードに対応する第1〜第Nのシードデータを生成しシードメモリ54に格納する工程を実行する。そのため，RC生成部50は，シードデータSD#iに，ステップS13で説明したレンジングコードの生成処理を実行すれば，レンジングコードRC#iを生成することができる。
【００５３】
ここで，通信装置１が，レンジングコードRC#iを送信するように指定する指定データを受信するとする。この場合，RC生成部50は，指定データ（レンジングコードRC#i）に対応する識別子，すなわちRC#iの指定番号#iと同じ識別子（識別番号#i）のシードデータSD#iを読み出す。そして，RC生成部50は，読み出されたシードデータSD#iをPRBS生成器55のレジスタ55aに設定してステップS13で説明した処理を実行すれば，レンジングコードRC#iを生成できる。
【００５４】
図11は，送信用のレンジングコードの生成処理を説明するフロー図である。送信用のレンジングコードの生成処理は，図9で説明した，イニシャルレンジングなどの他にも，例えば基地局と接続している状態の通信装置１が定期的に行う定期的レンジング，ハンドオーバ時に行うハンドオーバレンジング，帯域要求のレンジングの際に実行される。
【００５５】
ステップS21：MAC部30から指定データDがRC生成部50に入力されると，RC生成部50は，その旨を示す制御信号Ctlをセレクタ51，RC_SD生成部52，スイッチ53に出力する。
【００５６】
ステップS22：RC生成部50は，制御信号Ctrlを出力すると，指定データDに含まれる指定番号#iに対応するシードデータSD#iをシードメモリ54に格納されているシードデータSD#1〜#256の中から読み出す。ここでは，RC生成部50は，指定番号#iと同じ識別子のシードデータSD#iを読み出す。
【００５７】
ステップS23：RC生成部50が，シードメモリ54から読み出されたシードデータSD#iをセレクタ51に出力すると，セレクタ51は，シードデータSD#iをRC_SD生成部52に出力する。RC_SD生成部52は，入力されたシードデータSD#iをPRBS生成器55のレジスタ55aに設定する。
【００５８】
ステップS24：RC_SD生成部52は，PRBS生成器55に排他的論理和データCkの算出処理とビットシフト処理とを144回実行させて144ビットからなる送信用のレンジングコードRC#iを生成する。
【００５９】
このように，RC_SD生成部52は，第1〜第Nのシードデータのうち，基地局から受信した送信用レンジングコードの指定データに対応するシードデータに，論理演算を行って送信用レンジングコードRC#iを生成する工程を実行する。
【００６０】
RC_SD生成部52が，生成したレンジングコードRC#iをスイッチ53に出力すると，スイッチ53は，入力されたレンジングコードRC#iをUL_PHY部40に出力する。
【００６１】
UL_PHY部40は，入力されたレンジングコードRC#iをULサブフレームのRanging領域に記録し，RF部10を介して基地局に送信する（図1のタイミングT4参照）。
【００６２】
図12は，シードデータの生成，レンジングコードの送信処理を説明するタイミング図である。図12のタイミングT1〜T4は，図1のタイミングT1〜T4に対応する。MAC部30がUCDを解析し（ステップS31），生成用パラメータGPを取得すると，RC_SD生成部52は，図9で説明したシードデータの生成，格納処理を実行する（ステップS32）。
【００６３】
次いで，MAC部30がUCDを解析し（ステップS33），送信用レンジングコードの指定データDを取得する。すると，RC_SD生成部52は，図11で説明したように，指定データDに対応する送信用レンジングコードを生成し，UL_PHY部40，RF部10は，送信用のレンジングコードを基地局に送信する処理を実行する（ステップS34）。
【００６４】
送信用レンジングコードを生成するために，RC_SD生成部52は，図9のステップS13（図11のステップS24）の処理を1回実行すればよく，その処理時間は短い。そのため，基地局にレンジングコードを送信するタイミングが遅延することがない。すなわち，レンジングコードを送信するまでのレイテンシが大きくなることがない。
【００６５】
第1の実施の形態によれば，通信装置1は，送信用レンジングコードを生成するために，15ビットのシードデータSDを256個，シードメモリ54に格納すればよい。そのため，シードメモリ54のメモリ容量は，少なくとも0.48KByte（15ビット×256個／8）で済む。その結果，144ビットのレンジングコードを256個，メモリに格納するのに比べて，メモリ容量を約90%（（4.6−0.48）／4.6×100%）削減することができる。
【００６６】
（第2の実施の形態）
第1の実施の形態よりもメモリ容量を削減する方法について説明する。第1の実施の形態では，通信装置は，生成した全てのシードデータをメモリに格納していた。第2の実施の形態では，通信装置は，生成したシードデータを1個または複数個（以下，所定数と記す）おきにメモリに格納することで，さらに，レンジングコードを生成する際に利用するメモリの容量を削減する。
【００６７】
図13は，第2の実施の形態で説明するレンジングコードを生成するRC生成部の機能ブロック図である。なお，図5に示した機能ブロックと同じ機能を有する機能ブロックについては，同じ符号を付してその説明を省略する。
【００６８】
RC_SD生成部62は，連続して生成したレンジングコード（連続するレンジングコード）に対応するシードデータのうち，所定数おきのシードデータをシードメモリ64に格納する。なお，所定数は変更可能である。具体的には， RC_SD生成部62は，レンジングコードRC#p（pは（所定数＋1）の倍数）の生成が完了したタイミングで，PRBS生成器55のレジスタ55aに設定されているビット列をシードデータSD#p＋1としてシードメモリ64に格納する。
【００６９】
RC_SD生成部62が，例えば生成したシードデータを1個（所定数は1）おきにシードメモリ64に格納する場合には，シードデータSD#1，SD#3，SD#5…がシードメモリ64に格納される。以下の説明では，RC_SD生成部62が，例えば9個（所定数は9）おきに生成したシードデータをシードメモリ64に格納するとする。この場合，シードデータSD#1，SD＃11，SD#21…SD#251がシードメモリ64に格納される。
【００７０】
図14は，シードデータの生成処理を説明するフロー図である。
【００７１】
ステップS41〜S43の処理は，図9のステップS12〜S33の処理と同様なので，その説明を省略する。なお，ステップS43において，ステップS13で説明したように，生成したレンジングコードの総数カウンタTcをカウントアップする。
【００７２】
ステップS44：RC_SD生成部62は，所定数おきのシードデータを生成したか否かを判定する。すなわち，レンジングコードRC#pの生成が完了したかを判定する。前述の例では，RC_SD生成部62は，レンジングコードRC#10，#20，#30…，#250の生成が完了したか否かを判定する。RC_SD生成部62は，レンジングコードの総数カウンタTcが（所定数＋１）で割り切れると，所定数おきのシードデータを生成したと判定する。
【００７３】
ステップS45：RC_SD生成部62は，所定数おきのシードデータの生成が完了すると（ステップS44/YES），ステップS43におけるこのシードデータ（レンジングコード）の生成完了タイミングにおいて，レジスタ55aに設定されているビット列をシードデータとしてスイッチ53に出力する。スイッチ53は，ステップS11で説明した制御信号Ctrlに基づいて，シードデータSDをシードメモリ64に出力する。なお，1個目のシードデータSD#1は，ステップS42において，レジスタ55aに設定されたビット列である。このとき，図9のステップS12，S14で説明したように，RC生成部60は，シードデータSDの識別子，例えば総数カウンタTcと対応付けてシードデータSDを管理する。
【００７４】
所定数おきのシードデータの生成が完了しない場合（ステップS44/NO），RC生成部60は，ステップS43に戻る。
【００７５】
ステップS46：RC_SD生成部62は，所定数おきのシードデータを全てシードメモリ64に格納したか判定する。所定数おきのシードデータを全てシードメモリ64に格納した場合（ステップS46/YES），RC_SD生成部62は，処理を終了し，格納していない場合（ステップS46/NO），ステップS43に戻る。前述の例では，RC_SD生成部62は，SD#251のシードデータがシードメモリ64に格納された時点で，所定数おきのシードデータを全てシードメモリ64に格納したと判定する。なお，256個のレンジングコードを生成したら処理を終了し，それ以外の場合には，ステップS43に戻るようにしてもよい。図14の処理により，所定数おきのシードデータがシードメモリ64に格納される。
【００７６】
図15は，9個おきのシードデータSD#1，#11，#21…，#251がメモリに格納された状態を示す図である。
【００７７】
次に，送信用のレンジングコードの生成処理を説明する。通信装置１が，レンジングコードRC#iを送信するように指定する指定データDを受信するとする。この場合，RC生成部60は，指定データDの受信に応答して，指定データDに対応するシードデータをメモリ64から読み出し，または，対応するシードデータがない場合は，対応するシードデータが生成された直前に生成されメモリ64に格納されたシードデータをメモリ64から読み出す。
【００７８】
具体的には， RC生成部60は，レンジングコードRC#iの指定番号iと同じ識別子（識別番号i）のシードデータSD#i，または，このシードデータSD#iがない場合は，指定番号#iよりも小さい識別子のシードデータであって，指定番号#iとその識別子の差が最も小さい識別子のシードデータをシードメモリ64に格納されているシードデータSD#1〜#256の中から読み出す。以下，読み出したシードデータをシードデータSD#sとする。前述の例では，RC生成部60は，指定番号#1の場合，シードデータSD#1を読み出し，指定番号#24の場合，シードデータSD#21を読み出す。
【００７９】
そして，RC_SD生成部62は，この指定データDに対応して，指定データDにより指定された送信用レンジングコードを生成するまで，読み出されたシードデータSD#sに論理演算を繰り返し行って送信用レンジングコードを生成する。
【００８０】
具体的には，RC_SD生成部62は，この指定データDおよび読み出したシードデータの識別子に基づき，レンジングコードを生成する処理の繰り返し回数，すなわち図16のステップS54の処理の繰り返し回数を決定する。具体的には，（式１）により，繰り返し回数を決定する。
【００８１】
繰り返し回数X＝“指定番号#i”−“読み出したシードデータSD#sの識別子”＋１  …（式1）
前述の例では，RC生成部60は，指定番号#1の場合，シードデータSD#1を読み出した。この場合，RC生成部60は，繰り替えし回数Xとして1回を決定する。また，指定番号#24の場合，シードデータSD#21を読み出した。この場合，RC生成部60は，繰り替えし回数Xとして4回を決定する。
【００８２】
そして，RC_SD生成部62は，この決定した繰り返し回数に基づき，レンジングコードを生成する処理を繰り返し行い，指定データにより指定された送信用レンジングコードを生成する。
【００８３】
図16は，送信用のレンジングコードの生成処理を説明するフロー図である。
【００８４】
ステップS51：MAC部30から指定データDがRC生成部60に入力されると，RC生成部60は，その旨を示す制御信号Ctlをセレクタ51，RC_SD生成部62，スイッチ53に出力する。
【００８５】
ステップS52：RC生成部60は，制御信号Ctrlを出力すると，前述したように，指定データDに対応するシードデータをメモリ64から読み出し，または，対応するシードデータがない場合は，対応するシードデータが生成された直前に生成されメモリ64に格納されたシードデータSD#sをメモリ64から読み出す。そして，（式１）に基づき，繰り返し回数Xを決定する。
【００８６】
ステップS53：RC生成部60は，読み出されたシードデータSD#sをセレクタ51に出力すると，セレクタ51はシードデータSD#sをRC_SD生成部52に出力する。RC_SD生成部62は，入力されたシードデータSD#sをPRBS生成器55のレジスタ55aに設定する。
【００８７】
ステップS54： RC_SD生成部62は，PRBS生成器55に排他的論理和データCkの算出処理とビットシフト処理とを144回実行させて144ビットからなるレンジングコードを生成する。このとき，RC_SD生成部62は，生成したレンジングコードの総数カウンタTcをカウントアップする。なお，総数カウンタTcの初期値は0である。
【００８８】
ステップS55：RC生成部60は，ステップS54において生成したレンジングコードが送信用のレンジングコードか否かを判定する。具体的には，RC生成部60は，（式2）が成立したときに，生成したレンジングコードが送信用のレンジングコードであると判定する。
【００８９】
総数カウンタTc＝決定した繰り返し回数X…（式2）
前述の例では，RC生成部60は，指定番号#1の場合，シードデータSD#1を読み出し，繰り返し回数Xを1回とした。この場合，RC生成部60は，ステップS54の処理を1回実行すれば，送信用のレンジングコードRC#1を生成することになる。また，指定番号#24の場合，シードデータSD#21を読み出し，繰り返し回数Xを4回とした。この場合，RC生成部60は，ステップS54の処理を4回実行すれば，送信用のレンジングコードRC#24を生成することになる。
【００９０】
以後，RC生成部50は，生成したレンジングコードRC#iをスイッチ53に出力すると，スイッチ53は，入力されたレンジングコードRC#iをUL_PHY部40に出力する。
【００９１】
UL_PHY部40は，図11のステップS24で説明したように，入力されたレンジングコードRC#iをULサブフレームのRanging領域に記録し，RF部10を介して基地局に送信する。
【００９２】
このようにすることで，レンジングコードを生成する際に利用するメモリの容量を第1の実施の形態で説明したメモリサイズよりも，さらに削減することができる。具体的には，最大で（0.48／（所定数＋1））KByteに削減することができる。
【００９３】
以上の実施の形態をまとめると，次の付記のとおりである。
【００９４】
（付記１）
基地局とデータの送受信を行う送受信部と，
通信制御コードであるレンジングコードよりも短いビット列を有するデータであるシードデータに基づき，前記レンジングコードを生成する生成部と，
前記シードデータを格納するメモリとを有し，
前記生成部は，
第1のシードデータに論理演算を行って第1のレンジングコードを生成し，
前記第1のレンジングコードを生成した際に生成された第2のシードデータに前記論理演算を行って第2のレンジングコードを生成する処理を第Nのレンジングコードの生成まで繰り返し，前記第1〜第Nのレンジングコードに対応する前記第1〜第Nのシードデータを前記メモリに格納し，
前記基地局から受信した送信用レンジングコードの指定データに対応するシードデータに，前記論理演算を行って前記送信用レンジングコードを生成する通信装置。
【００９５】
（付記２）
付記１において，
前記第1のシードデータは，前記基地局から送信されるレンジングコード生成用パラメータと任意のデータとを有する通信装置。
【００９６】
（付記３）
付記１または２において，
前記生成部は，前記シードデータが設定されるレジスタと，前記レジスタのシードデータに前記論理演算を行って論理データを算出する論理回路とを有し，前記論理データの算出後，前記レジスタに設定されているビット列をビットシフトすると共に，前記算出された論理データを前記レジスタの空きビット領域に入力して新たなシードデータを前記レジスタに格納する処理を複数回行って複数の論理データを有するレンジングコードを生成する通信装置。
【００９７】
（付記４）
付記３において，
前記論理回路は，前記レジスタに設定されたシードデータの一部のビットの排他的論理和データを算出する通信装置。
【００９８】
（付記５）
付記３または４において，
前記生成部は，前記第１のレンジングコードを生成した際に，前記レジスタに設定されているシードデータを前記第2のシードデータとする通信装置。
【００９９】
（付記６）
付記１から５の何れかにおいて，
前記生成部は，連続するレンジングコードに対応する前記シードデータのうち，所定数おきのシードデータを前記メモリに格納する通信装置。
【０１００】
（付記７）
付記６において，
前記生成部は，前記指定データの受信に応答して，前記指定データに対応するシードデータを前記メモリから読み出し，または，当該対応するシードデータがない場合は，当該対応するシードデータが生成された直前に生成され前記メモリに格納されたシードデータを前記メモリから読み出し，当該指定データに対応して，当該読み出されたシードデータに前記論理演算を繰り返し行って前記送信用レンジングコードを生成する通信装置。
【０１０１】
（付記８）
付記５において，
前記レジスタは15ビットの容量を有し，前記シードデータの一部のビットは，前記レジスタの最下位ビットから数えて１，４，７，および１５番目に設定されたビットである通信装置。
【０１０２】
（付記９）
付記８において，
前記レンジングコードのビット長は144ビットであり，前記シードデータのビット長は15ビットである通信装置。
【０１０３】
（付記１０）
付記９において，
前記基地局との通信をWiMAX（Worldwide Interoperability for Microwave Access）形式で行う通信装置。
【０１０４】
（付記１１）
通信制御コードであるレンジングコードよりも短いビット列を有するデータである第1のシードデータに論理演算を行って第1のレンジングコードを生成する工程と，
前記第1のレンジングコードを生成した際に生成された第2のシードデータに前記論理演算を行って第2のレンジングコードを生成する処理を第Nのレンジングコードの生成まで繰り返し行って，前記第1〜第Nのレンジングコードに対応する前記第1〜第Nのシードデータを生成しメモリに格納する工程と，
前記第1〜第Nのシードデータのうち，前記基地局から受信した送信用レンジングコードの指定データに対応するシードデータに，前記論理演算を行って前記送信用レンジングコードを生成する工程とを有する通信方法。
【符号の説明】
【０１０５】
1…通信装置，10…RF部，20…DL_PHY部，30…MAC部，40…UL_PHY部，50，60…RC生成部，51…セレクタ，5２，62 …RC_SD生成部，53…スイッチ，54，64…シードメモリ，55…PRBS生成器，55a…レジスタ，55b…論理回路。
【図１】
0005672069.tif 000002
【図２】
0005672069.tif 000003
【図３】
0005672069.tif 000004
【図４】
0005672069.tif 000005
【図５】
0005672069.tif 000006
【図６】
0005672069.tif 000007
【図７】
0005672069.tif 000008
【図８】
0005672069.tif 000009
【図９】
0005672069.tif 000010
【図１０】
0005672069.tif 000011
【図１１】
0005672069.tif 000012
【図１２】
0005672069.tif 000013
【図１３】
0005672069.tif 000014
【図１４】
0005672069.tif 000015
【図１５】
0005672069.tif 000016
【図１６】
0005672069.tif 000017