(57)【特許請求の範囲】
【請求項１】
離散フーリエ演算装置であって、
複素平面上の単位円の円周上に配置された回転因子を当該回転因子の位相に対応付ける回転因子テーブルを格納する回転因子テーブル格納部と、
時間軸上に並べられた所定個数のサンプリングデータである入力信号に関して、各前記サンプリングデータの振幅を２で除した値の逆余弦値を第一の補正値として特定し、該逆余弦値の符号を逆転した値を第二の補正値として特定する補正値特定部と、
前記特定された第一の補正値及び第二の補正値それぞれを用いて各前記サンプリングデータの位相を補正して第一の位相及び第二の位相を生成する生成部と、
前記生成された第一の位相及び第二の位相それぞれに対して、前記回転因子テーブルに記憶された任意の回転因子に対応する位相である任意位相を加算する加算部と、
前記任意位相を加算した前記第一の位相及び前記第二の位相に対応する第一の回転因子及び第二の回転因子を前記回転因子テーブルから取得し、取得した第一の回転因子及び第二の回転因子を積算することにより、前記入力信号に対する回転演算の結果を取得する回転演算部と
を備えることを特徴とする離散フーリエ演算装置。
【請求項２】
各前記サンプリングデータの振幅が一定であるか否かを判定する判定部をさらに備え、
前記生成部は、各前記サンプリングデータの振幅が一定である場合に、各前記サンプリングデータの位相を用いて第三の位相を生成し、各前記サンプリングデータの振幅が一定ではない場合に、前記特定された第一の補正値及び第二の補正値それぞれを用いて各前記サンプリングデータの位相を補正して第一の位相及び第二の位相を生成し、
前記加算部は、各前記サンプリングデータの振幅が一定である場合に、前記生成された第三の位相に対して、前記回転因子テーブルに記憶された任意の回転因子に対応する位相である任意位相を加算し、各前記サンプリングデータの振幅が一定ではない場合に、前記生成された第一の位相及び第二の位相それぞれに対して、前記回転因子テーブルに記憶された任意の回転因子に対応する位相である任意位相を加算し、
前記回転演算部は、各前記サンプリングデータの振幅が一定である場合に、前記任意位相を加算した前記第三の位相に対応する第三の回転因子を前記回転因子テーブルから取得し、取得した第三の回転因子を積算することにより、前記入力信号に対する回転演算の結果を取得し、各前記サンプリングデータの振幅が一定ではない場合に、前記任意位相を加算した前記第一の位相及び前記第二の位相に対応する第一の回転因子及び第二の回転因子を前記回転因子テーブルから取得し、取得した第一の回転因子及び第二の回転因子を積算することにより、前記入力信号に対する回転演算の結果を取得することを特徴とする請求項１に記載の離散フーリエ演算装置。
【請求項３】
離散フーリエ演算装置であって、
複素平面上の単位円の円周上に配置された回転因子を当該回転因子の位相に対応付ける回転因子テーブルを格納する回転因子テーブル格納部と、
複素平面の実数軸上の値であるＩ値と前記複素平面の虚数軸上の値であるＱ値とを各々が含む、時間軸上に並べられた所定個数のサンプリングデータである入力信号に関して、各前記サンプリングデータに含まれる前記Ｉ値が取り得る最大振幅値で前記Ｉ値の振幅を除した値の逆余弦値を第一の補正値として特定し、当該逆余弦値の符号を逆転した値を第二の補正値として特定するＩ側補正値特定部と、
前記特定された第一の補正値及び第二の補正値それぞれを用いて、各前記サンプリングデータに含まれる前記Ｉ値の位相を補正して第一の位相及び第二の位相を生成するＩ側補正位相生成部と、
前記入力信号に関して、各前記サンプリングデータに含まれる前記Ｑ値が取り得る最大振幅値で前記Ｑ値の絶対値を除した値の逆余弦値を第三の補正値として特定し、当該逆余弦値の符号を逆転した値を第四の補正値として特定するＱ側補正値特定部と、
前記特定された第三の補正値及び第四の補正値それぞれを用いて、各前記サンプリングデータに含まれる前記Ｑ値の位相を補正して第三の位相及び第四の位相を生成するＱ側補正位相生成部と、
前記生成された第一乃至第四の位相それぞれに対して、前記回転因子テーブルに記憶された任意の回転因子に対応する位相である任意位相を加算する加算部と、
前記任意位相を加算した前記第一乃至第四の位相に対応する第一乃至第四の回転因子を前記回転因子テーブルから取得し、取得した第一乃至第四の回転因子を積算することにより、前記入力信号に対する回転演算の結果を取得する回転演算部と
を備えることを特徴とする離散フーリエ演算装置。
【請求項４】
離散フーリエ演算装置を含む無線通信装置であって、
前記離散フーリエ演算装置は、
複素平面上の単位円の円周上に配置された回転因子を当該回転因子の位相に対応付けて記憶する回転因子テーブルを格納する回転因子テーブル格納部と、
時間軸上に並べられた所定個数のサンプリングデータである入力信号に関して、各前記サンプリングデータの振幅を２で除した値の逆余弦値を第一の補正値として特定し、該逆余弦値の符号を逆転した値を第二の補正値として特定する位相補正値特定部と、
前記特定された第一の補正値及び第二の補正値それぞれを用いて各前記サンプリングデータの位相を補正して第一の位相及び第二の位相を生成する生成部と、
前記生成された第一の位相及び第二の位相に対して、前記回転因子テーブルに記憶された任意の回転因子に対応する位相である任意位相を加算する加算部と、
前記任意位相を加算した前記第一の位相および前記第二の位相に対応する第一の回転因子及び第二の回転因子を前記回転因子テーブルから取得し、取得した第一の回転因子及び第二の回転因子を積算することにより、前記入力信号に対する回転演算の結果を取得する回転演算部と
を備えることを特徴とする無線通信装置。
【請求項５】
複素平面上の単位円の円周上に配置された回転因子を当該回転因子の位相に対応付けて記憶する回転因子テーブルを格納する回転因子テーブル格納部を備えた離散フーリエ演算装置により実行される離散フーリエ演算方法であって、
時間軸上に並べられた所定個数のサンプリングデータである入力信号に関して、各前記サンプリングデータの振幅を２で除した値の逆余弦値を第一の補正値として特定し、該逆余弦値の符号を逆転した値を第二の補正値として特定し、
特定された第一の補正値及び第二の補正値それぞれを用いて各前記サンプリングデータの位相を補正して第一の位相及び第二の位相を生成し、
生成された第一の位相及び第二の位相に対して、前記回転因子テーブルに記憶された任意の回転因子に対応する位相である任意位相を加算し、
前記任意位相を加算した前記第一の位相および前記第二の位相に対応する第一の回転因子及び第二の回転因子を前記回転因子テーブルから取得し、
取得した第一の回転因子及び第二の回転因子を積算することにより、前記入力信号に対する回転演算の結果を取得する
ことを含むことを特徴とする離散フーリエ演算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、離散フーリエ演算装置、無線通信装置及び離散フーリエ演算方法に関する。
【背景技術】
【０００２】
近年、３ＧＰＰ（Third Generation Partnership Project）において、高速なデータ通信仕様の一つであるＬＴＥ（Long Term Evolution）の普及が進められている。ＬＴＥを採用した携帯端末装置等の無線通信装置は、データを送信する場合に、離散フーリエ変換（ＤＦＴ：Discrete Fourier Transform）処理を行う。具体的には、無線通信装置は、ＤＦＴ処理を行う場合には、入力信号である時間領域信号に回転因子を乗算し、その乗算結果を積算することにより、時間領域信号を周波数領域信号に変換する。
【０００３】
ただし、ＬＴＥを採用した無線通信装置では、ＤＦＴ処理のＤＦＴサイズが増大するほどＤＦＴ処理に伴う演算量が増大する。すなわち、ＤＦＴ処理を行う際に実行される乗算が複素乗算であり、１回の複素乗算には４回の実数乗算が含まれる。このため、ＤＦＴ処理のＤＦＴサイズが増大するほど、複素乗算を実行する回数が増大し、さらに、実数乗算を実行する回数は、複素乗算を実行する回数の４倍に増大する。
【０００４】
そこで、ＤＦＴ処理に伴う演算量を削減するために、複素乗算を省略した手法が提案されている。すなわち、この手法では、複素平面上の単位円の円周上に配置された回転因子を回転因子の位相に対応づけて回転因子テーブルに予め格納する。そして、この手法では、入力信号の位相に対して、回転因子テーブルに格納された任意の回転因子の位相を加算し、加算後の位相に対応する回転因子を回転因子テーブルから取得して積算する。これにより、回転因子の積算のみでＤＦＴ処理の演算結果が得られるため、複素除算を省略することができ、ＤＦＴ処理の伴う演算量を削減することが可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−６０４３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、上記した従来の手法では、入力信号の振幅が一定ではない場合に、無線通信装置の回路規模が増大するという問題がある。
【０００７】
具体的には、例えばＱＰＳＫ（Quadrature Phase Shift Keying）で変調された信号のように振幅が１（一定値）である信号が入力信号である場合には、無線通信装置は、振幅が１である回転因子を格納した１個の回転因子テーブルを保持すれば良い。ただし、例えば１６ＱＡＭ（Quadrature Amplitude Modulation）で変調された信号のように３種類の振幅を含む信号が入力信号である場合には、無線通信装置は、各振幅に応じた回転因子を格納した３個の回転因子テーブルを保持することとなる。このように、無線通信装置は、入力信号の振幅が一定ではない場合に、各振幅に応じた回転因子を格納した複数の回転因子テーブルを保持することになるので、回路規模が増大してしまう。
【０００８】
開示の技術は、上記に鑑みてなされたものであって、入力信号の振幅が一定ではない場合でも、回路規模の増大を抑制することができる離散フーリエ演算装置、無線通信装置及び離散フーリエ演算方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示する離散フーリエ演算装置は、回転因子テーブル格納部と、補正値特定部と、生成部と、加算部と、回転演算部とを備える。回転因子テーブル格納部は、複素平面上の単位円の円周上に配置された回転因子を当該回転因子の位相に対応付ける回転因子テーブルを格納する。補正値特定部は、入力信号の振幅に応じて、前記入力信号の位相を補正する第一の補正値及び第二の補正値を特定する。生成部は、前記特定された第一の補正値及び第二の補正値それぞれを用いて前記入力信号の位相を補正して第一の位相及び第二の位相を生成する。加算部は、前記生成された第一の位相及び第二の位相それぞれに対して、前記回転因子テーブルに記憶された任意の回転因子に対応する位相である任意位相を加算する。回転演算部は、前記任意位相を加算した前記第一の位相および前記第二の位相に対応する第一の回転因子及び第二の回転因子を前記回転因子テーブルから取得する。そして、回転演算部は、取得した第一の回転因子及び第二の回転因子を積算することにより、前記入力信号に対する回転演算の結果を取得する。
【発明の効果】
【００１０】
本願の開示する離散フーリエ演算装置の一つの態様によれば、入力信号の振幅が一定ではない場合でも、回路規模の増大を抑制することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１の無線通信装置による離散フーリエ演算方法について説明するための図である。
【図２】図２は、実施例１に係る無線通信装置の構成例を示すブロック図である。
【図３】図３は、実施例１における送信処理部の構成例を示すブロック図である。
【図４】図４は、ＱＰＳＫ変調を示す図である。
【図５】図５は、１６ＱＡＭ変調を示す図である。
【図６】図６は、６４ＱＡＭ変調を示す図である。
【図７】図７は、実施例１におけるＤＦＴ部の構成の詳細を示す図である。
【図８】図８は、回転因子テーブルの一例を示す図である。
【図９】図９は、補正位相テーブルの一例を示す図である。
【図１０】図１０は、補正位相テーブルの一例を示す図である。
【図１１−１】図１１−１は、補正位相テーブルの他の例を示す図である。
【図１１−２】図１１−２は、補正位相テーブルの他の例を示す図である。
【図１２】図１２は、実施例１におけるＤＦＴ部による離散フーリエ演算処理の処理手順を示すフローチャートである。
【図１３】図１３は、実施例２の無線通信装置による離散フーリエ演算方法について説明するための図である。
【図１４】図１４は、実施例２におけるＤＦＴ部の構成の詳細を示す図である。
【図１５】図１５は、Ｉ側補正値特定部及びＱ側補正値特定部による処理を説明するための図である。
【図１６】図１６は、補正位相テーブルの一例を示す図である。
【図１７】図１７は、実施例２におけるＤＦＴ部による離散フーリエ演算処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する離散フーリエ演算装置、無線通信装置及び離散フーリエ演算方法の実施例を図面に基づいて説明する。なお、以下の実施例では、本願の開示する離散フーリエ演算装置を、ＬＴＥを採用した無線通信装置に適用する場合について説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１３】
まず、図１を用いて、本実施例の無線通信装置による離散フーリエ演算方法について説明する。図１は、実施例１の無線通信装置による離散フーリエ演算方法について説明するための図である。なお、図１において、入力信号は、１６ＱＡＭ（Quadrature Amplitude Modulation）で変調された信号であり、３種類の振幅を含むものとする。また、入力信号のデータＤ１１は、振幅３／√５、位相π／４のデータであるものとし、入力信号のデータＤ２１は、振幅１／√５、位相π／４のデータであるものとする。
【００１４】
本実施例の無線通信装置は、複素平面上の単位円の円周上に配置された回転因子を当該回転因子の位相に対応付ける回転因子テーブルを保持している。
【００１５】
まず、無線通信装置は、入力信号の振幅に応じて、入力信号の位相を補正する第一の補正値及び第二の補正値を特定する。図１の例では、無線通信装置は、合成後の大きさが入力信号のデータＤ１１の振幅となる２つの単位ベクトルと、データＤ１１のベクトルとの成す角度β及び−βをそれぞれ第一の補正値及び第二の補正値として特定する。また、無線通信装置は、合成後の大きさが入力信号のデータＤ２１の振幅となる２つの単位ベクトルと、データＤ２１のベクトルとの成す角度β及び−βをそれぞれ第一の補正値及び第二の補正値として特定する。
【００１６】
そして、無線通信装置は、特定した第一の補正値及び第二の補正値それぞれを用いて入力信号の位相を補正して第一の位相及び第二の位相を生成する。図１の例では、無線通信装置は、第一の補正値「β」及び第二の補正値「−β」それぞれを用いて入力信号のデータＤ１１の位相π／４を補正して第一の位相（π／４−β）及び第二の位相（π／４＋β）を生成する。また、無線通信装置は、第一の補正値「β」及び第二の補正値「−β」それぞれを用いて入力信号のデータＤ１２の位相π／４を補正して第一の位相（π／４−β）及び第二の位相（π／４＋β）を生成する。
【００１７】
そして、無線通信装置は、生成した第一の位相及び第二の位相それぞれに対して、自身の保持する回転因子テーブルに記憶された任意の回転因子に対応する位相である任意位相を加算する。図１の例では、無線通信装置は、第一の位相（π／４−β）に対して、回転因子テーブルに記憶された任意の回転因子Ｅ１１に対応する位相αを加算する。また、無線通信装置は、第二の位相（π／４＋β）に対して、位相αを加算する。
【００１８】
そして、無線通信装置は、任意の位相を加算した第一の位相及び第二の位相に対応する第一の回転因子及び第二の回転因子を回転因子テーブルから取得する。図１の例では、無線通信装置は、位相αを加算した第一の位相｛（π／４−β）＋α｝に対応する第一の回転因子Ｅ１２及びＥ１４を回転因子テーブルから取得する。また、無線通信装置は、位相αを加算した第二の位相｛（π／４＋β）＋α｝に対応する第二の回転因子Ｅ１３及びＥ１５を回転因子テーブルから取得する。
【００１９】
そして、無線通信装置は、取得した第一の回転因子及び第二の回転因子を積算することにより、入力信号に対する回転演算の結果を取得する。図１の例では、無線通信装置は、第一の回転因子Ｅ１２と第二の回転因子Ｅ１３を積算することにより、入力信号のデータＤ１１に対する回転演算の結果Ｄ１２を取得する。また、無線通信装置は、第一の回転因子Ｅ１４と第二の回転因子Ｅ１５を積算することにより、入力信号のデータＤ２１に対する回転演算の結果Ｄ２２を取得する。
【００２０】
このように、本実施例の無線通信装置は、入力信号の振幅に応じて入力信号の位相を補正した第一の位相及び第二の位相に任意位相を加算する。そして、無線通信装置は、任意位相の加算後の位相に対応する２つの回転因子を１つの回転因子テーブルから取得して積算することにより、ＤＦＴ処理の演算結果を取得する。このため、本実施例では、入力信号の振幅が一定でない場合でも、１つの回転因子テーブルを保持するだけでフーリエ変換処理を行うことができるので、回路規模の増大を抑制することができる。
【００２１】
次に、図２を用いて、本実施例の無線通信装置の構成を説明する。図２は、実施例１に係る無線通信装置の構成例を示すブロック図である。図２に示した無線通信装置１０は、例えば、ＬＴＥを採用した携帯電話機等の携帯端末装置であり、基地局１との間で無線通信を行う。図２に示すように、無線通信装置１０は、受信アンテナ１１、送信アンテナ１２、無線部１３、上位レイヤ１４およびベースバンド処理部１５を有する。
【００２２】
受信アンテナ１１は、外部から信号を受信するアンテナである。例えば、受信アンテナ１１は、基地局１から送信される信号を受信する。送信アンテナ１２は、外部へ信号を送信するアンテナである。例えば、送信アンテナ１２は、基地局１へ信号を送信する。なお、無線通信装置１０は、受信用アンテナと送信用アンテナとを共用した送受信アンテナを有してもよい。
【００２３】
無線部１３は、受信アンテナ１１や送信アンテナ１２を介して、無線信号の送受を行う。例えば、無線部１３は、受信アンテナ１１から受信した信号に対してＡ／Ｄ（Analog／Digital）変換等の無線処理を行う。また、例えば、無線部１３は、後述する送信処理部１００から入力された信号に対して、Ｄ／Ａ（Digital／Analog）変換等の無線処理を行い、無線処理後の信号を送信アンテナ１２を介して基地局１へ送信する。
【００２４】
上位レイヤ１４は、後述する復号部１７から復号化された受信データを入力された場合に、かかる受信データに基づいて各種処理を行う。例えば、上位レイヤ１４は、受信データがメールデータである場合には、かかる受信データを所定の記憶領域に格納する。
【００２５】
また、上位レイヤ１４は、基地局１等の外部へデータを送信する場合には、送信データを生成し、生成した送信データを符号化部１８へ出力する。例えば、無線通信装置１０が、ＰＵＣＣＨ（Physical  Uplink  Control  Channel）や、ＰＵＳＣＨ（Physical  Uplink  Shared  Channel）等の物理チャネルを用いてデータを送信するものとする。かかる場合には、上位レイヤ１４は、例えば、利用者の操作等に基づいて送信データを生成する。また、例えば、無線通信装置１０が、ＳＲＳ（Sounding  Reference  Signal）や、ＤＲＳ（Demodulation  Reference  Signal）等のリファレンス信号を送信するものとする。かかる場合には、上位レイヤ１４は、例えば、Ｚａｄｏｆｆ−Ｃｈｕ系列番号を送信処理部１００へ出力する。
【００２６】
ベースバンド処理部１５は、送信データや受信データに対してベースバンド処理を行う。図２に示すように、ベースバンド処理部１５は、受信処理部１６と、復号部１７と、符号化部１８と、送信処理部１００とを有する。
【００２７】
受信処理部１６は、無線部１３から入力された受信データに対して、各種受信処理を行う。例えば、受信処理部１６は、無線部１３から入力された受信データに対してＣＰ（Cyclic  Prefix）削除処理や、復調処理等を行う。復号部１７は、受信処理部１６から入力された受信データを復号化する。
【００２８】
符号化部１８は、上位レイヤ１４から入力される送信データに誤り訂正符号を付与する。送信処理部１００は、符号化部１８によって誤り訂正符号が付与された送信データに対して、各種送信処理を行う。送信処理部１００による処理については、図３を用いて具体的に説明する。
【００２９】
次に、図３を用いて、実施例１における送信処理部１００の構成について説明する。図３は、実施例１における送信処理部１００の構成例を示すブロック図である。図３に示すように、実施例１における送信処理部１００は、送信データ生成部１１０、ＤＦＴ部１２０、サブキャリアマッピング部１３０、ＩＤＦＴ部１４０、ＣＰ（Cyclic  Prefix）挿入部１５０及びサブキャリアシフト部１６０を有する。
【００３０】
送信データ生成部１１０は、符号化部１８からデータを入力された場合に、かかるデータを変調して、送信データを生成する。具体的には、送信データ生成部１１０は、ＱＰＳＫ（Quadrature  Phase  Shift  Keying）、１６ＱＡＭ及び６４ＱＡＭなどの変調方式により変調処理を行う。
【００３１】
例えば、送信データ生成部１１０は、ＰＵＳＣＨにおいて送信されるデータをＱＰＳＫで変調する場合には、データビット列を、図４に例示するように、ＩＱ平面上における半径「１」の円周上の４個の信号点にマッピングする。また、例えば、送信データ生成部１１０は、ＰＵＳＣＨにおいて送信されるデータを１６ＱＡＭで変調する場合には、データビット列を、図５に例示するように、ＩＱ平面上において振幅及び位相の異なる１６個の信号点にマッピングする。
【００３２】
また、例えば、送信データ生成部１１０は、ＰＵＳＣＨにおいて送信されるデータを６４ＱＡＭで変調する場合には、データビット列を、図６に例示するように、ＩＱ平面上において振幅及び位相の異なる６４個の信号点にマッピングする。すなわち、ＱＰＳＫで変調されたデータの振幅は「１」であり一定であり、一方、１６ＱＡＭや６４ＱＡＭで変調されたデータの振幅は一定ではない。なお、図４は、ＱＰＳＫ変調を示す図であり、図５は、１６ＱＡＭ変調を示す図であり、図６は、６４ＱＡＭ変調を示す図である。
【００３３】
送信データ生成部１１０は、生成した送信データをＤＦＴ部１２０又はサブキャリアマッピング部１３０のいずれかへ出力する。例えば、送信データ生成部１１０は、送信データがＰＵＣＣＨやＳＲＳ、ＤＲＳにおいて送信されるデータである場合には、かかる送信データをサブキャリアマッピング部１３０へ出力する。また、例えば、送信データ生成部１１０は、送信データがＰＲＡＣＨ、ＰＵＳＣＨにおいて送信されるデータである場合には、かかる送信データをＤＦＴ部１２０へ出力する。
【００３４】
ＤＦＴ部１２０は、送信データ生成部１１０から入力された送信データに対して離散フーリエ変換処理を行うことにより、時間領域のデータを周波数領域のデータに変換し、変換したデータをサブキャリアマッピング部１３０へ出力する。ＤＦＴ部１２０により行われる離散フーリエ変換処理は、以下の式（１）により表される演算である。
【００３５】
【数１】
0005724739.tif 000002
【００３６】
上記式（１）のうち、Ｘ（ｋ）は、フーリエ変換後の周波数領域のデータを示す。また、ｘ（ｎ）は、フーリエ変換前の時間領域のデータを示す。また、ＮＤＦＴは、ＤＦＴサイズを示す。また、ｋは、周波数領域信号のサンプル点を識別する周波数領域サンプル番号を示す。また、ｎは、時間領域信号のサンプル点を識別する時間領域サンプル番号を示す。なお、ｋ及びｎは、「０」〜「ＮＤＦＴ−１」の値を取る。
【００３７】
なお、ＤＦＴ部１２０による処理の具体的な内容については、図７を用いて後に説明する。
【００３８】
サブキャリアマッピング部１３０は、送信データ生成部１１０から入力された送信データや、ＤＦＴ部１２０から入力された周波数領域のデータをサブキャリアにマッピングする。ＩＤＦＴ部１４０は、サブキャリアマッピング部１３０によりサブキャリアにマッピングされた周波数領域のデータを時間領域のデータに変換し、変換したデータをＣＰ挿入部１５０へ出力する。
【００３９】
ＣＰ挿入部１５０は、ＩＤＦＴ部１４０から入力される時間領域のデータの末尾の一定時間分をＣＰとし、かかるＣＰを時間領域のデータの先頭に挿入する。サブキャリアシフト部１６０は、ＣＰ挿入部１５０によってＣＰが挿入されたデータに回転因子を乗算することにより、各サブキャリアの帯域幅の「１／２」分だけ周波数シフトを行う。そして、サブキャリアシフト部１６０は、サブキャリアシフト処理を行った時間領域のデータを無線部１３へ出力する。
【００４０】
次に、図３に示したＤＦＴ部１２０の構成の詳細について説明する。図７は、実施例１におけるＤＦＴ部１２０の構成の詳細を示す図である。図７に示すように、ＤＦＴ部１２０は、回転因子格納部１２１、ＤＦＴ制御部１２２、データ格納メモリ１２３、振幅判定部１２４、補正値特定部１２５、補正位相格納部１２６、補正位相生成部１２７、加算部１２８及び回転演算部１２９を有する。
【００４１】
回転因子格納部１２１は、複素平面上の単位円の円周上に配置された回転因子をその回転因子の位相と対応付ける回転因子テーブル１２１ａを格納する。回転因子テーブル１２１ａは、ＤＦＴサイズであるＮ個の回転因子を記憶する。本実施例では、ＤＦＴサイズは「１２００」であるものとする。したがって、本実施例における回転因子テーブル１２１ａは、２πを１２００分割した１２００個の回転因子を記憶する。回転因子テーブル１２１ａの一例を図８に示す。
【００４２】
図８に示すように、回転因子テーブル１２１ａは、アドレス、Ｉ値、Ｑ値といった項目を対応付けて記憶する。このうち、アドレスは、複素平面上の単位円の円周上に配置された各回転因子の位相を表す。なお、回転因子の個数は１２００個であるので、回転因子の位相（アドレス）は０〜１９９９の値を採る。Ｉ値は、複素平面上の単位円の円周上に配置された回転因子のＩ軸上の値を表す。Ｑ値は、複素平面上の単位円の円周上に配置された回転因子のＱ軸上の値を表す。
【００４３】
ＤＦＴ制御部１２２は、ＤＦＴ部１２０全体の処理を制御する。具体的には、ＤＦＴ制御部１２２は、データ格納メモリ１２３に対してライトアドレスを提供し、提供したライトアドレスを用いて送信データ生成部１１０からのデータを記憶するようデータ格納メモリ１２３に指示する。
【００４４】
また、ＤＦＴ制御部１２２は、回転因子テーブル１２１ａに記憶された任意の回転因子に対する位相を表す任意位相（以下「任意アドレス」とも言う）を生成する。具体的には、ＤＦＴ制御部１２２は、以下の式（２）で表される演算を行うことにより、任意アドレスを生成する。そして、ＤＦＴ制御部１２２は、生成した任意アドレスを加算部１２８へ出力する。
【００４５】
【数２】
0005724739.tif 000003
【００４６】
上記式（２）のうち、ｋは、周波数領域信号のサンプル点を識別する周波数領域サンプル番号を示す。また、ｎは、時間領域信号のサンプル点を識別する時間領域サンプル番号を示す。また、Ｎは、ＤＦＴサイズを示し、本実施例では「１２００」である。
【００４７】
データ格納メモリ１２３は、ＤＦＴ制御部１２２からの指示を受け付ける。データ格納メモリ１２３は、ＤＦＴ制御部１２２からの指示に応じて、送信データ生成部１１０から入力される時間領域のデータｘ（ｎ）を、ＤＦＴ制御部１２２から提供されるライトアドレスｎに対応付けて記憶する。
【００４８】
振幅判定部１２４は、送信データ生成部１１０から入力される時間領域のデータの振幅が一定であるか否かを判定する。具体的には、振幅判定部１２４は、データ格納メモリ１２３から時間領域のデータｘ（ｎ）を読み出す。振幅判定部１２４は、読み出したデータｘ（ｎ）の振幅を取得し、データｘ（ｎ）の振幅が一定であるか否かを判定する。振幅判定部１２４は、データｘ（ｎ）の振幅が一定ではない場合には、データｘ（ｎ）が１６ＱＡＭや６４ＱＡＭで変調されたデータであることを表すため、データｘ（ｎ）の振幅を補正値特定部１２５に通知する。一方、振幅判定部１２４は、データｘ（ｎ）の振幅が一定である場合には、データｘ（ｎ）がＱＰＳＫで変調されたデータであることを表すため、データｘ（ｎ）の位相を補正位相生成部１２７に通知する。
【００４９】
補正値特定部１２５は、送信データ生成部１１０から入力される時間領域信号のデータの振幅に応じて、時間領域信号の位相を補正する第一の補正値及び第二の補正値を特定する。具体的には、補正値特定部１２５は、振幅判定部１２４から時間領域信号のデータｘ（ｎ）の振幅を受け取る。補正値特定部１２５は、合成後の大きさが時間領域信号のデータｘ（ｎ）の振幅となる２つの単位ベクトルと、時間領域信号のデータｘ（ｎ）のベクトルとの成す角度β及び−βをそれぞれ第一の補正値及び第二の補正値として特定する。すなわち、補正値特定部１２５は、時間領域信号のデータｘ（ｎ）の振幅を２で除した値の逆余弦値を第一の補正値βとして特定し、該逆余弦値の符号を逆転した値を第二の補正値−βとして特定する。そして、補正値特定部１２５は、特定した第一の補正値及び第二の補正値を補正位相生成部１２７へ出力する。
【００５０】
補正位相格納部１２６は、補正位相テーブル１２６ａと、補正位相テーブル１２６ｂとを格納する。補正位相テーブル１２６ａは、時間領域信号のデータｘ（ｎ）の振幅が一定である場合にデータｘ（ｎ）の位相を回転因子テーブル１２１ａにおけるアドレスに相当する第三の位相に変換するためのテーブルである。補正位相テーブル１２６ａの一例を図９に示す。
【００５１】
図９に示すように、補正位相テーブル１２６ａは、信号点、振幅、位相、アドレスオフセットといった項目を対応付けて記憶する。このうち、信号点は、ＱＰＳＫで変調されたデータｘ（ｎ）がマッピングされた４個の信号点の識別番号を表す。振幅は、信号点にマッピングされたデータｘ（ｎ）の振幅を表す。位相は、信号点にマッピングされたデータｘ（ｎ）の位相を表す。アドレスオフセットは、信号点にマッピングされたデータｘ（ｎ）の位相を回転因子テーブル１２１ａにおけるアドレスに相当する第三の位相に変換した値（以下「第三補正アドレス」という）を表す。
【００５２】
補正位相テーブル１２６ｂは、時間領域信号のデータｘ（ｎ）の振幅が一定ではない場合に第一の補正値及び第二の補正値を回転因子テーブル１２１ａにおけるアドレスに相当する第一の位相及び第二の位相に変換するためのテーブルである。補正位相テーブル１２６ｂの一例を図１０に示す。
【００５３】
図１０に示すように、補正位相テーブル１２６ｂは、信号点、振幅、位相、加算位相、アドレスオフセットといった項目を対応付けて記憶する。このうち、信号点は、１６ＱＡＭで変調されたデータｘ（ｎ）がマッピングされた１６個の信号点の識別番号を表す。振幅は、信号点にマッピングされたデータｘ（ｎ）の振幅を表す。位相は、信号点にマッピングされたデータｘ（ｎ）の位相を表す。加算位相は、信号点にマッピングされたデータｘ（ｎ）の位相を補正する第一の補正値及び第二の補正値を表し、符号が正の値が第一の補正値であり、符号が負の値が第二の補正値である。アドレスオフセットは、第一の補正値及び第二の補正値それぞれを用いて、信号点にマッピングされたデータｘ（ｎ）の位相を補正することで得られる第一の位相および第二の位相を表す。なお、本実施例のアドレスオフセットは、第一の位相および第二の位相を、回転因子テーブル１２１ａにおけるアドレスに変換した値（以下それぞれ「第一補正アドレス」及び「第二補正アドレス」という）を表す。
【００５４】
補正位相テーブル１２６ｂの他の例を図１１−１及び図１１−２に示す。図１１−１及び図１１−２に示すように、補正位相テーブル１２６ｂは、信号点、振幅、位相、加算位相、アドレスオフセットといった項目を対応付けて記憶する。このうち、信号点は、６４ＱＡＭで変調されたデータｘ（ｎ）がマッピングされた６４個の信号点の識別番号を表す。振幅は、信号点にマッピングされたデータｘ（ｎ）の振幅を表す。位相は、信号点にマッピングされたデータｘ（ｎ）の位相を表す。加算位相は、信号点にマッピングされたデータｘ（ｎ）の位相を補正する第一の補正値及び第二の補正値を表し、符号が正の値が第一の補正値であり、符号が負の値が第二の補正値である。アドレスオフセットは、第一の補正値及び第二の補正値それぞれを用いて、信号点にマッピングされたデータｘ（ｎ）の位相を補正することで得られる第一の位相および第二の位相を表す。なお、本実施例のアドレスオフセットは、第一の位相および第二の位相を、回転因子テーブル１２１ａにおけるアドレスに変換した値を表す。
【００５５】
補正位相生成部１２７は、補正値特定部１２５により特定された第一の補正値及び第二の補正値それぞれを用いて時間領域信号ｘ（ｎ）の位相を補正して第一の位相及び第二の位相を生成する。具体的には、補正位相生成部１２７は、時間領域信号のデータｘ（ｎ）の振幅が一定ではない場合に補正値特定部１２５から第一の補正値及び第二の補正値の入力を受ける。そして、補正位相生成部１２７は、補正位相格納部１２６の補正位相テーブル１２６ｂを参照して、第一の補正値及び第二の補正値に対応する第一補正アドレス及び第二補正アドレスを取得することにより、第一補正アドレス及び第二補正アドレスを生成する。そして、補正位相生成部１２７は、生成した第一補正アドレス及び第二補正アドレスを加算部１２８へ出力する。
【００５６】
また、補正位相生成部１２７は、時間領域のデータｘ（ｎ）の位相が一定である場合には、データｘ（ｎ）の位相を用いて第三の位相を生成する。具体的には、補正位相生成部１２７は、時間領域のデータｘ（ｎ）の位相が一定である場合にデータｘ（ｎ）の位相の入力を振幅判定部１２４から受け付ける。そして、補正位相生成部１２７は、補正位相格納部１２６の補正位相テーブル１２６ａを参照して、第三の位相に対応する第三補正アドレスを取得することにより、第三補正アドレスを生成する。そして、補正位相生成部１２７は、生成した第三補正アドレスを加算部１２８へ出力する。
【００５７】
加算部１２８は、第一補正アドレス及び第二補正アドレスの入力を補正位相生成部１２７から受け付ける。加算部１２８は、任意アドレスの入力をＤＦＴ制御部１２２から受け付ける。そして、加算部１２８は、第一補正アドレス及び第二補正アドレスそれぞれに対して任意アドレスを加算する。そして、加算部１２８は、任意アドレスの加算後の第一補正アドレス及び第二補正アドレスを回転演算部１２９へ出力する。
【００５８】
また、加算部１２８は、第三補正アドレスの入力を補正位相生成部１２７から受け付ける。そして、加算部１２８は、第三補正アドレスに対して任意アドレスを加算する。加算部１２８は、任意アドレスの加算後の第三補正アドレスを回転演算部１２９へ出力する。
【００５９】
回転演算部１２９は、回転因子取得部１９１及び積算部１９２を有する。回転因子取得部１９１は、任意アドレスの加算後の第一補正アドレス及び第二補正アドレスの入力を加算部１２８から受け付ける。そして、回転因子取得部１９１は、任意アドレスの加算後の第一補正アドレス及び第二補正アドレスに対応する第一の回転因子及び第二の回転因子を回転因子テーブル１２１ａから取得する。そして、回転因子取得部１９１は、第一の回転因子及び第二の回転因子のＩ値を積算部１９２の後述する加算器１９２ａへ出力し、第一の回転因子及び第二の回転因子のＱ値を積算部１９２の後述する加算器１９２ｃへ出力する。
【００６０】
また、回転因子取得部１９１は、任意アドレスの加算後の第三補正アドレスの入力を加算部１２８から受け付ける。そして、回転因子取得部１９１は、任意アドレスの加算後の第三補正アドレスに対応する第三の回転因子を回転因子テーブル１２１ａから取得する。そして、回転因子取得部１９１は、第三の回転因子のＩ値を積算部１９２の加算器１９２ａへ出力し、第三の回転因子のＱ値を積算部１９２の加算器１９２ｃへ出力する。
【００６１】
積算部１９２は、回転因子取得部１９１により取得された第一の回転因子及び第二の回転因子又は第三の回転因子を積算することにより、送信データ生成部１１０から入力される時間領域信号に対する回転演算の結果Ｘ（ｋ）を取得する。具体的には、積算部１９２は、加算器１９２ａ、フリップフロップ回路１９２ｂ、加算器１９２ｃ及びフリップフロップ回路１９２ｄを有する。
【００６２】
加算器１９２ａは、第一の回転因子及び第二の回転因子又は第三の回転因子における時刻ｔのＩ値の入力を回転因子取得部１９１から受け付ける。加算器１９２ａは、時刻ｔ−１のＩ値の入力をフリップフロップ回路１９２ｂから受け付ける。ここで、時刻ｔのＩ値とは任意の時刻のＩ値を指し、時刻ｔ−１のＩ値とは時系列的に時刻ｔの一つ前のＩ値を指す。そして、加算器１９２ａは、時刻ｔのＩ値に時刻ｔ−１のＩ値を加算してフリップフロップ回路１９２ｂへ出力する。フリップフロップ回路１９２ｂは、加算器１９２ａから入力される時刻ｔ−１のＩ値を、加算器１９２ａが時刻ｔのＩ値の入力を受け付けるまで保持する。加算器１９２ａが時刻ｔのＩ値の入力を受け付けると、フリップフロップ回路１９２ｂは、時刻ｔ−１のＩ値をサブキャリアマッピング部１３０へ出力する。
【００６３】
加算器１９２ｃは、第一の回転因子及び第二の回転因子又は第三の回転因子における時刻ｔのＱ値の入力を回転因子取得部１９１から受け付ける。加算器１９２ｃは、時刻ｔ−１のＱ値の入力をフリップフロップ回路１９２ｄから受け付ける。ここで、時刻ｔのＱ値とは任意の時刻のＱ値を指し、時刻ｔ−１のＱ値とは時系列的に時刻ｔの一つ前のＱ値を指す。そして、加算器１９２ｃは、時刻ｔのＩ値に時刻ｔ−１のＩ値を加算してフリップフロップ回路１９２ｄへ出力する。フリップフロップ回路１９２ｄは、加算器１９２ｃから入力される時刻ｔ−１のＱ値を、加算器１９２ａが時刻ｔのＱ値の入力を受け付けるまで保持する。加算器１９２ｃが時刻ｔのＱ値の入力を受け付けると、フリップフロップ回路１９２ｄは、時刻ｔ−１のＱ値をサブキャリアマッピング部１３０へ出力する。
【００６４】
次に、図１２を用いて、本実施例におけるＤＦＴ部１２０による離散フーリエ演算処理の処理手順について説明する。図１２は、実施例１におけるＤＦＴ部１２０による離散フーリエ演算処理の処理手順を示すフローチャートである。
【００６５】
図１２に示すように、ＤＦＴ制御部１２２は、データ格納メモリ１２３にライトアドレスを提供し、データ格納メモリ１２３は、送信データ生成部１１０から入力される時間領域のデータｘ（ｎ）をライトアドレスｎに対応付けて格納する（ステップＳ１０１）。続いて、ＤＦＴ制御部１２２は、周波数領域信号のサンプル点を示す周波数領域サンプル番号ｋを０に初期化する（ステップＳ１０２）。続いて、ＤＦＴ制御部１２２は、時間領域信号のサンプル点を示す時間領域サンプル番号ｎを０に初期化する（ステップＳ１０３）。
【００６６】
続いて、ＤＦＴ制御部１２２は、回転因子テーブル１２１ａに記憶された任意の回転因子に対する位相を表す任意アドレスを生成する（ステップＳ１０４）。すなわち、ＤＦＴ制御部１２２は、上記の式（２）で表される演算を行うことにより、任意アドレスを生成する。そして、ＤＦＴ制御部１２２は、生成した任意アドレスを加算部１２８へ出力する。
【００６７】
続いて、振幅判定部１２４は、データ格納メモリ１２３から時間領域のデータｘ（ｎ）を読み出す（ステップＳ１０５）。そして、振幅判定部１２４は、読み出したデータｘ（ｎ）の振幅を取得し（ステップＳ１０６）、データｘ（ｎ）の振幅が一定であるか否かを判定する（ステップＳ１０７）。
【００６８】
そして、振幅判定部１２４は、データｘ（ｎ）の振幅が一定ではない場合に（ステップＳ１０７否定）、データｘ（ｎ）が１６ＱＡＭや６４ＱＡＭで変調されたデータであることを表すため、データｘ（ｎ）の振幅を補正値特定部１２５に通知する。
【００６９】
データｘ（ｎ）の振幅を受け取った補正値特定部１２５は、データｘ（ｎ）の振幅に応じて、時間領域信号の位相を補正する第一の補正値及び第二の補正値を特定する（ステップＳ１０８）。そして、補正値特定部１２５は、特定した第一の補正値及び第二の補正値を補正位相生成部１２７へ出力する。第一の補正値及び第二の補正値を受け取った補正位相生成部１２７は、補正位相テーブル１２６ｂを参照する。そして、補正位相生成部１２７は、第一の補正値及び第二の補正値に対応する第一補正アドレス及び第二補正アドレスを補正位相テーブル１２６ｂから取得することにより、第一補正アドレス及び第二補正アドレスを生成する（ステップＳ１０９）。そして、補正位相生成部１２７は、生成した第一補正アドレス及び第二補正アドレスを加算部１２８へ出力する。
【００７０】
第一補正アドレス及び第二補正アドレスと任意アドレスとを受け取った加算部１２８は、第一補正アドレス及び第二補正アドレスに対して任意アドレスを加算する（ステップＳ１１０）。そして、加算部１２８は、任意アドレスの加算後の第一補正アドレス及び第二補正アドレスを回転演算部１２９へ出力する。
【００７１】
そして、回転演算部１２９の回転因子取得部１９１は、任意アドレスの加算後の第一補正アドレス及び第二補正アドレスに対応する第一の回転因子及び第二の回転因子を回転因子テーブル１２１ａから取得する（ステップＳ１１１）。そして、回転因子取得部１９１は、第一の回転因子及び第二の回転因子のＩ値を積算部１９２の加算器１９２ａへ出力し、第一の回転因子及び第二の回転因子のＱ値を積算部１９２の加算器１９２ｃへ出力する。
【００７２】
また、振幅判定部１２４は、データｘ（ｎ）の振幅が一定である場合に（ステップＳ１０７肯定）、データｘ（ｎ）がＱＰＳＫで変調されたデータであることを表すため、データｘ（ｎ）の位相を補正位相生成部１２７へ出力する。
【００７３】
データｘ（ｎ）の位相を受け取った補正位相生成部１２７は、補正位相テーブル１２６ａを参照して、第三の位相に対応する第三補正アドレスを取得することにより、第三補正アドレスを生成する（ステップＳ１１２）。そして、補正位相生成部１２７は、生成した第三補正アドレスを加算部１２８へ出力する。
【００７４】
第三補正アドレスと任意アドレスとを受け取った加算部１２８は、第三補正アドレスに対して任意アドレスを加算する（ステップＳ１１３）。そして、加算部１２８は、任意アドレスの加算後の第三補正アドレスを回転演算部１２９へ出力する。
【００７５】
そして、回転演算部１２９の回転因子取得部１９１は、任意アドレスの加算後の第三補正アドレスに対応する第三の回転因子を回転因子テーブル１２１ａから取得する（ステップＳ１１４）。そして、回転因子取得部１９１は、第三の回転因子のＩ値を積算部１９２の加算器１９２ａへ出力し、第三の回転因子のＱ値を積算部１９２の加算器１９２ｃへ出力する。
【００７６】
続いて、積算部１９２は、回転因子取得部１９１により取得された第一の回転因子及び第二の回転因子又は第三の回転因子を積算する（ステップＳ１１５）。これにより、送信データ生成部１１０から入力される時間領域信号に対する回転演算の結果Ｘ（ｋ）が得られる。
【００７７】
続いて、ＤＦＴ制御部１２２は、時間領域サンプル番号ｎをインクリメントする（ステップＳ１１６）。ＤＦＴ制御部１２２は、ｎがＤＦＴサイズよりも小さい場合には（ステップＳ１１７肯定）、ステップＳ１０４〜Ｓ１１６における処理手順を繰り返し行う。
【００７８】
一方、ＤＦＴ制御部１２２は、ｎがＤＦＴサイズ以上である場合には（ステップＳ１１７否定）、処理手順をステップＳ１１８へ進める。そして、積算部１９２は、回転演算の結果Ｘ（ｋ）をサブキャリアマッピング部１３０へ出力し（ステップＳ１１８）、フリップフロップ回路１９２ｂ、１９２ｄをクリアする（ステップＳ１１９）。
【００７９】
続いて、ＤＦＴ制御部１２２は、周波数領域サンプル番号ｋをインクリメントする（ステップＳ１２０）。そして、ＤＦＴ制御部１２２は、ｋがＤＦＴサイズよりも小さい場合には（ステップＳ１２１肯定）、ステップＳ１０３〜Ｓ１２０における処理手順を繰り返し行う。一方、ＤＦＴ制御部１２２は、ｋがＤＦＴサイズ以上である場合には（ステップＳ１２１否定）、処理を終了する。
【００８０】
上述してきたように、実施例１に係る無線通信装置１０は、入力信号の振幅に応じて入力信号の位相を補正した第一の位相及び第二の位相に任意位相を加算する。そして、無線通信装置１０は、任意位相の加算後の位相に対応する２つの回転因子を１つの回転因子テーブル１２１ａから取得して積算することにより、ＤＦＴ処理の演算結果を取得する。このため、実施例１に係る無線通信装置１０は、入力信号の振幅が一定でない場合でも、１つの回転因子テーブル１２１ａを保持するだけでフーリエ変換処理を行うことができるので、回路規模の増大を抑制することができる。
【００８１】
また、実施例１に係る無線通信装置１０は、入力信号の振幅が一定である場合に、入力信号の位相を用いて第三の位相を生成し、生成した第三の位相に任意位相を加算する。そして、無線通信装置１０は、任意位相の加算後の位相に対応する１つの回転因子を１つの回転因子テーブル１２１ａから取得して積算することにより、ＤＦＴ処理の演算結果を取得する。このため、実施例１に係る無線通信装置１０は、入力信号の振幅が一定である場合にも、１つの回転因子テーブル１２１ａを保持するだけでフーリエ変換処理を行うことができるので、回路規模の増大を一層抑制することができる。
【実施例２】
【００８２】
実施例２は、入力信号に含まれるＩ値及びＱ値それぞれの位相を補正した４つの位相に任意位相を加算し、任意位相の加算後の４つの位相に対する４つの回転因子を一つの回転因子テーブルから取得して積算することが実施例１と異なるものである。
【００８３】
まず、図１３を用いて、本実施例の無線通信装置による離散フーリエ演算方法について説明する。図１３は、実施例２の無線通信装置による離散フーリエ演算方法について説明するための図である。なお、図１３において、入力信号のデータＤ３１は、振幅Ａ及び位相θが未知であるデータであるものとする。
【００８４】
本実施例の無線通信装置は、複素平面上の単位円の円周上に配置された回転因子を当該回転因子の位相に対応付ける回転因子テーブルを保持している。
【００８５】
まず、無線通信装置は、複素平面の実数軸上の値であるＩ値と虚数軸上の値であるＱ値とを含む入力信号のうち、Ｉ値の位相を補正する第一の補正値及び第二の補正値を特定する。図１３の例では、無線通信装置は、合成後の大きさが入力信号のデータＤ３１のＩ値Ｄ３１ｉの振幅Ａｉとなる２つの単位ベクトルと、Ｉ値Ｄ３１ｉのベクトルとのなす角度βｉ及び−βｉをそれぞれ第一の補正値及び第二の補正値として特定する。
【００８６】
そして、無線通信装置は、特定した第一の補正値及び第二の補正値それぞれを用いてＩ値の位相を補正して第一の位相及び第二の位相を生成する。図１の例では、無線通信装置は、第一の補正値βｉ及び第二の補正値−βｉそれぞれを用いてＩ値Ｄ３１ｉの位相０を補正して第一の位相（０−βｉ）及び第二の位相（０＋βｉ）を生成する。
【００８７】
また、無線通信装置は、入力信号のうち、Ｑ値の位相を補正する第三の補正値及び第四の補正値を特定する。図１３の例では、無線通信装置は、合成後の大きさが入力信号のデータＤ３１のＱ値Ｄ３１ｑの振幅Ａｑとなる２つの単位ベクトルと、Ｑ値Ｄ３１ｑのベクトルとのなす角度βｑ及び−βｑをそれぞれ第三の補正値及び第四の補正値として特定する。
【００８８】
そして、無線通信装置は、特定した第三の補正値及び第四の補正値それぞれを用いてＱ値の位相を補正して第三の位相及び第四の位相を生成する。図１３の例では、無線通信装置は、第三の補正値βｑ及び第四の補正値−βｑそれぞれを用いてＱ値Ｄ３１ｑの位相π／２を補正して第三の位相（π／２−βｑ）及び第四の位相（π／２＋βｑ）を生成する。
【００８９】
そして、無線通信装置は、生成した第一〜第四の位相それぞれに対して、自身の保持する回転因子テーブルに記憶された任意の回転因子に対応する位相である任意位相を加算する。図１３の例では、無線通信装置は、第一の位相（０−βｉ）に対して、回転因子テーブルに記憶された任意の回転因子Ｅ２１に対応する位相αを加算する。また、無線通信装置は、第二の位相（０＋βｉ）に対して位相αを加算する。また、無線通信装置は、第三の位相（π／２−βｑ）に対して位相αを加算する。また、無線通信装置は、第四の位相（π／２＋βｑ）に対して位相αを加算する。
【００９０】
そして、無線通信装置は、任意の位相を加算した第一〜第四の位相に対応する第一〜第四の回転因子を回転因子テーブルから取得する。図１３の例では、無線通信装置は、位相αを加算した第一の位相（α−βｉ）に対応する第一の回転因子Ｅ２２を回転因子テーブルから取得する。また、無線通信装置は、位相αを加算した第二の位相（α＋βｉ）に対応する第二の回転因子Ｅ２３を回転因子テーブルから取得する。また、無線通信装置は、位相αを加算した第三の位相（α＋π／２−βｑ）に対応する第三の回転因子Ｅ２４を回転因子テーブルから取得する。また、無線通信装置は、位相αを加算した第四の位相（α＋π／２＋βｑ）に対応する第四の回転因子Ｅ２５を回転因子テーブルから取得する。
【００９１】
そして、無線通信装置は、取得した第一〜第四の回転因子を積算することにより、入力信号に対する回転演算の結果を取得する。図１３の例では、無線通信装置は、第一の回転因子Ｅ２２と第二の回転因子Ｅ２３を積算することにより、Ｉ値Ｄ３１ｉに対する回転演算の結果Ｄ３２ｉを取得する。また、無線通信装置は、第三の回転因子Ｅ２４と第四の回転因子Ｅ２５を積算することにより、Ｑ値Ｄ３１ｑに対する回転演算の結果Ｄ３２ｑを取得する。そして、Ｉ値Ｄ３１ｉに対する回転演算の結果Ｄ３２ｉと、Ｑ値Ｄ３１ｑに対する回転演算の結果Ｄ３２ｑとが積算されることにより、入力信号のデータＤ３１に対する回転演算の結果Ｄ３２が取得される。
【００９２】
このように、本実施例の無線通信装置は、入力信号に含まれるＩ値及びＱ値それぞれの位相を補正した４つの位相に任意位相を加算する。そして、無線通信装置は、任意位相の加算後の４つの位相に対する４つの回転因子を一つの回転因子テーブルから取得して積算することにより、ＤＦＴ処理の演算結果を取得する。このため、本実施例では、入力信号の振幅及び位相が未知である場合でも、１つの回転因子テーブルを保持するだけでフーリエ変換処理を行うことができるので、回路規模の増大を抑制することができる。
【００９３】
次に、図１４を用いて、本実施例におけるＤＦＴ部２２０の構成を説明する。図１４は、実施例２におけるＤＦＴ部２２０の構成の詳細を示す図である。なお、本実施例に係る無線通信装置のブロック図も図２で表される。また、本実施例における送信処理部のブロック図も図３で表される。以下では、実施例１で既に説明した構成部位と同様の部位には同一符号を付すこととして、その詳細な説明を省略する。
【００９４】
図１４に示すように、ＤＦＴ部２２０は、回転因子格納部１２１、ＤＦＴ制御部１２２、データ格納メモリ１２３、Ｉ側補正値特定部２２１、Ｑ側補正値特定部２２２及び補正位相格納部２２３を有する。また、ＤＦＴ部２２０は、Ｉ側補正位相生成部２２４、Ｑ側補正位相生成部２２５、加算部２２６及び回転演算部２２７を有する。
【００９５】
Ｉ側補正値特定部２２１は、送信データ生成部１１０から入力される時間領域信号のデータに含まれるＩ値の位相を補正する第一の補正値及び第二の補正値を特定する。具体的には、Ｉ側補正値特定部２２１は、図１５に示すように、データ格納メモリ１２３から時間領域のデータｘ（ｎ）に含まれるＩ値ｘｉを読み出す。なお、図１５は、Ｉ側補正値特定部２２１及びＱ側補正値特定部２２２による処理を説明するための図である。Ｉ側補正値特定部２２１は、合成後の大きさがデータｘ（ｎ）に含まれるＩ値ｘｉの振幅Ａｉとなる２つの単位ベクトルｖ１及びｖ２と、Ｉ値ｘｉのベクトルとのなす角度βｉ及び−βｉをそれぞれ第一の補正値及び第二の補正値として特定する。すなわち、Ｉ側補正値特定部２２１は、Ｉ値ｘｉが取り得る最大振幅値２でＩ値ｘｉの振幅を除した値の逆余弦値βｉを第一の補正値として特定し、この逆余弦値の符号を逆転した値−βｉを第二の補正値として特定する。逆余弦値βｉは、以下の式（３）によって表される。
【００９６】
【数３】
0005724739.tif 000004
【００９７】
Ｑ側補正値特定部２２２は、送信データ生成部１１０から入力される時間領域信号のデータに含まれるＱ値の位相を補正する第三の補正値及び第四の補正値を特定する。具体的には、Ｑ側補正値特定部２２２は、図１５に示すように、データ格納メモリ１２３から時間領域のデータｘ（ｎ）に含まれるＱ値ｘｑを読み出す。Ｑ側補正値特定部２２２は、合成後の大きさがデータｘ（ｎ）に含まれるＱ値ｘｑの振幅Ａｑとなる２つの単位ベクトルｖ３及びｖ４と、Ｑ値ｘｑのベクトルとのなす角度βｑ及び−βｑをそれぞれ第三の補正値及び第四の補正値として特定する。すなわち、Ｑ側補正値特定部２２２は、Ｑ値ｘｑが取り得る最大振幅値２でＱ値ｘｑの振幅を除した値の逆余弦値βｑを第三の補正値として特定し、この逆余弦値の符号を逆転した値−βｑを第四の補正値として特定する。逆余弦値βｑは、以下の式（４）によって表される。
【００９８】
【数４】
0005724739.tif 000005
【００９９】
補正位相格納部２２３は、補正位相テーブル２２３ａを格納する。補正位相テーブル２２３ａは、第一〜第四の補正値を回転因子テーブル１２１ａにおけるアドレスに相当する第一〜第四の位相に変換するためのテーブルである。補正位相テーブル２２３ａの一例を図１６に示す。
【０１００】
図１６に示すように、補正位相テーブル２２３ａは、入力振幅、β、アドレスオフセットといった項目を対応付けて記憶する。このうち、入力振幅は、時間領域のデータｘ（ｎ）に含まれるＩ値の振幅を２で除した値を表す。βは、時間領域のデータｘ（ｎ）のＩ値又はＱ値を補正する第一〜第四の補正値（±βｉ又は±βｑ）を表す。アドレスオフセットは、第一〜第四の補正値をそれぞれ用いて、時間領域のデータｘ（ｎ）のＩ値又はＱ値の位相を補正することで得られる第一〜第四の位相を表す。なお、本実施例のアドレスオフセットは、第一〜第四の位相を、回転因子テーブル１２１ａにおけるアドレスに変換した値（以下それぞれ「第一補正アドレス」、「第二補正アドレス」、「第三補正アドレス」及び「第四補正アドレス」という）を表す。
【０１０１】
Ｉ側補正位相生成部２２４は、Ｉ側補正値特定部２２１により特定された第一の補正値及び第二の補正値それぞれを用いて時間領域信号のデータｘ（ｎ）に含まれるＩ値の位相を補正して第一の位相及び第二の位相を生成する。具体的には、Ｉ側補正位相生成部２２４は、Ｉ側補正値特定部２２１から第一の補正値及び第二の補正値の入力を受け付ける。そして、Ｉ側補正位相生成部２２４は、補正位相格納部２２３の補正位相テーブル２２３ａを参照して、第一の補正値及び第二の補正値に対応する第一補正アドレス及び第二補正アドレスを生成する。そして、Ｉ側補正位相生成部２２４は、生成した第一補正アドレス及び第二補正アドレスを加算部２２６へ出力する。
【０１０２】
Ｑ側補正位相生成部２２５は、Ｑ側補正値特定部２２２により特定された第三の補正値及び第四の補正値それぞれを用いて時間領域信号のデータｘ（ｎ）に含まれるＱ値の位相を補正して第三の位相及び第四の位相を生成する。具体的には、Ｑ側補正位相生成部２２５は、Ｑ側補正値特定部２２２から第三の補正値及び第四の補正値の入力を受け付ける。そして、Ｑ側補正位相生成部２２５は、補正位相格納部２２３の補正位相テーブル２２３ａを参照して、第三の補正値及び第四の補正値に対応する第三補正アドレス及び第四補正アドレスを生成する。そして、Ｑ側補正位相生成部２２５は、生成した第三補正アドレス及び第四補正アドレスを加算部２２６へ出力する。
【０１０３】
加算部２２６は、Ｉ側加算器２２６ａ及びＱ側加算器２２６ｂを有する。Ｉ側加算器２２６ａは、第一補正アドレス及び第二補正アドレスの入力をＩ側補正位相生成部２２４から受け付ける。Ｉ側加算器２２６ａは、任意アドレスの入力をＤＦＴ制御部１２２から受け付ける。そして、Ｉ側加算器２２６ａは、第一補正アドレス及び第二補正アドレスそれぞれに対して任意アドレスを加算する。そして、Ｉ側加算器２２６ａは、任意アドレスの加算後の第一補正アドレス及び第二補正アドレスを回転演算部２２７へ出力する。
【０１０４】
Ｑ側加算器２２６ｂは、第三補正アドレス及び第四補正アドレスの入力をＱ側補正位相生成部２２５から受け付ける。Ｑ側加算器２２６ｂは、任意アドレスの入力をＤＦＴ制御部１２２から受け付ける。そして、Ｑ側加算器２２６ｂは、第三補正アドレス及び第四補正アドレスに対して任意アドレスを加算する。そして、Ｑ側加算器２２６ｂは、任意アドレスの加算後の第三補正アドレス及び第四補正アドレスを回転演算部２２７へ出力する。
【０１０５】
回転演算部２２７は、回転因子取得部２９１及び積算部２９２を有する。回転因子取得部２９１は、任意アドレスの加算後の第一補正アドレス及び第二補正アドレスの入力を加算部２２６のＩ側加算器２２６ａから受け付ける。そして、回転因子取得部２９１は、任意アドレスの加算後の第一補正アドレス及び第二補正アドレスに対応する第一の回転因子及び第二の回転因子を回転因子テーブル１２１ａから取得する。そして、回転因子取得部２９１は、第一の回転因子及び第二の回転因子のＩ値を積算部２９２の後述する加算器２９２ａへ出力し、第一の回転因子及び第二の回転因子のＱ値を積算部２９２の後述する加算器２９２ｄへ出力する。
【０１０６】
また、回転因子取得部２９１は、任意アドレスの加算後の第三補正アドレス及び第四補正アドレスの入力を加算部２２６のＱ側加算器２２６ｂから受け付ける。そして、回転因子取得部２９１は、任意アドレスの加算後の第三補正アドレス及び第四補正アドレスに対応する第三の回転因子及び第四の回転因子を回転因子テーブル１２１ａから取得する。そして、回転因子取得部２９１は、第三の回転因子及び第四の回転因子のＩ値を積算部２９２の加算器２９２ａへ出力し、第三の回転因子及び第四の回転因子のＱ値を積算部２９２の加算器２９２ｄへ出力する。
【０１０７】
積算部２９２は、回転因子取得部２９１により取得された第一〜第四の回転因子を積算することにより、送信データ生成部１１０から入力される時間領域信号に対する回転因子Ｘ（ｋ）を取得する。具体的には、積算部２９２は、加算器２９２ａ、加算器２９２ｂ、フリップフロップ回路２９２ｃ、加算器２９２ｄ、加算器２９２ｅ及びフリップフロップ回路２９２ｆを有する。
【０１０８】
加算器２９２ａは、第一の回転因子及び第二の回転因子のＩ値を回転因子取得部２９１から受け付ける。加算器２９２ａは、第三の回転因子及び第四の回転因子のＩ値を回転因子取得部２９１から受け付ける。そして、加算器２９２ａは、第一の回転因子及び第二の回転因子のＩ値と、第三の回転因子及び第四の回転因子のＩ値とを加算して加算器２９２ｂへ出力する。
【０１０９】
加算器２９２ｂは、時刻ｔのＩ値の入力を加算器２９２ａから受け付ける。加算器２９２ｂは、時刻ｔ−１のＩ値の入力をフリップフロップ回路２９２ｃから受け付ける。そして、加算器２９２ｂは、時刻ｔのＩ値に時刻ｔ−１のＩ値を加算してフリップフロップ回路２９２ｃへ出力する。フリップフロップ回路２９２ｃは、加算器２９２ｂから入力される時刻ｔ−１のＩ値を、加算器２９２ｂが時刻ｔのＩ値の入力を受け付けるまで保持する。加算器２９２ｂが時刻ｔのＩ値の入力を受け付けると、フリップフロップ回路２９２ｃは、時刻ｔ−１のＩ値をサブキャリアマッピング部１３０へ出力する。
【０１１０】
加算器２９２ｄは、第一の回転因子及び第二の回転因子のＱ値を回転因子取得部２９１から受け付ける。加算器２９２ｄは、第三の回転因子及び第四の回転因子のＱ値を回転因子取得部２９１から受け付ける。そして、加算器２９２ｄは、第一の回転因子及び第二の回転因子のＱ値と、第三の回転因子及び第四の回転因子のＱ値とを加算して加算器２９２ｅへ出力する。
【０１１１】
加算器２９２ｅは、時刻ｔのＱ値の入力を加算器２９２ｄから受け付ける。加算器２９２ｅは、時刻ｔ−１のＱ値の入力をフリップフロップ回路２９２ｆから受け付ける。そして、加算器２９２ｅは、時刻ｔのＱ値に時刻ｔ−１のＱ値を加算してフリップフロップ回路２９２ｆへ出力する。フリップフロップ回路２９２ｆは、加算器２９２ｅから入力される時刻ｔ−１のＱ値を、加算器２９２ｅが時刻ｔのＱ値の入力を受け付けるまで保持する。加算器２９２ｅが時刻ｔのＱ値の入力を受け付けると、フリップフロップ回路２９２ｆは、時刻ｔ−１のＱ値をサブキャリアマッピング部１３０へ出力する。
【０１１２】
次に、図１７を用いて、本実施例におけるＤＦＴ部２２０におる離散フーリエ演算処理の処理手順について説明する。図１７は、実施例２におけるＤＦＴ部２２０による離散フーリエ演算処理の処理手順を示すフローチャートである。なお、図１７に示したステップＳ２０１〜Ｓ２０４の処理手順は、図１２に示したステップＳ１０１〜Ｓ１０４と同様であるため、ここではその説明を省略する。
【０１１３】
図１７に示すように、Ｉ側補正値特定部２２１は、データ格納メモリ１２３から時間領域のデータｘ（ｎ）に含まれるＩ値を読み出す（ステップＳ２０５）。続いて、Ｉ側補正値特定部２２１は、Ｉ値が取り得る最大振幅値２でＩ値の振幅を除した値の逆余弦値を第一の補正値として特定し、この逆余弦値の符号を逆転した値を第二の補正値として特定する（ステップＳ２０６）。そして、Ｉ側補正値特定部２２１は、特定した第一の補正値及び第二の補正値をＩ側補正位相生成部２２４へ出力する。第一の補正値及び第二の補正値を受け取ったＩ側補正位相生成部２２４は、補正位相テーブル２２３ａを参照する。そして、Ｉ側補正位相生成部２２４は、第一の補正値及び第二の補正値に対応する第一補正アドレス及び第二補正アドレスを補正位相テーブル２２３ａから取得することにより、第一補正アドレス及び第二補正アドレスを生成する（ステップＳ２０７）。そして、Ｉ側補正位相生成部２２４は、生成した第一補正アドレス及び第二補正アドレスを加算部２２６へ出力する。
【０１１４】
一方、Ｑ側補正値特定部２２２は、データ格納メモリ１２３から時間領域のデータｘ（ｎ）に含まれるＱ値を読み出す（ステップＳ２０８）。続いて、Ｑ側補正値特定部２２２は、Ｑ値が取り得る最大振幅値２でＱ値の振幅を除した値の逆余弦値を第三の補正値として特定し、この逆余弦値の符号を逆転した値を第四の補正値として特定する（ステップＳ２０９）。そして、Ｑ側補正値特定部２２２は、特定した第三の補正値及び第四の補正値をＱ側補正位相生成部２２５へ出力する。第三の補正値及び第四の補正値を受け取ったＱ側補正位相生成部２２５は、補正位相テーブル２２３ａを参照する。そして、Ｑ側補正位相生成部２２５は、第三の補正値及び第四の補正値に対応する第三補正アドレス及び第四補正アドレスを補正位相テーブル２２３ａから取得することにより、第三補正アドレス及び第四補正アドレスを生成する（ステップＳ２１０）。そして、Ｑ側補正位相生成部２２５は、生成した第三補正アドレス及び第四補正アドレスを加算部２２６へ出力する。
【０１１５】
第一〜第四補正アドレスと任意アドレスとを受け取った加算部２２６は、第一〜第四補正アドレスに対して任意アドレスを加算する（ステップＳ２１１）。そして、加算部２２６のＩ側加算器２２６ａは、任意アドレスの加算後の第一補正アドレス及び第二補正アドレスを回転演算部２２７へ出力する。そして、加算部２２６のＱ側加算器２２６ｂは、任意アドレスの加算後の第三補正アドレス及び第四補正アドレスを回転演算部２２７へ出力する。
【０１１６】
そして、回転演算部２２７の回転因子取得部２９１は、任意アドレスの加算後の第一補正アドレス及び第二補正アドレスに対応する第一の回転因子及び第二の回転因子を回転因子テーブル１２１ａから取得する。さらに、回転因子取得部２９１は、任意アドレスの加算後の第三補正アドレス及び第四補正アドレスに対応する第三の回転因子及び第四の回転因子を回転因子テーブル１２１ａから取得する（ステップＳ２１２）。そして、回転因子取得部２９１は、第一の回転因子及び第二の回転因子のＩ値を積算部２９２の加算器２９２ａへ出力し、第一の回転因子及び第二の回転因子のＱ値を積算部２９２の加算器２９２ｄへ出力する。さらに、回転因子取得部２９１は、第三の回転因子及び第四の回転因子のＩ値を積算部２９２の加算器２９２ａへ出力し、第三の回転因子及び第四の回転因子のＱ値を積算部２９２の加算器２９２ｄへ出力する。
【０１１７】
続いて、積算部２９２は、回転因子取得部２９１により取得された第一〜第四の回転因子を積算する（ステップＳ２１３）。これにより、送信データ生成部１１０から入力される時間領域信号に対する回転演算の結果Ｘ（ｋ）が得られる。
【０１１８】
続いて、ＤＦＴ制御部１２２は、時間領域サンプル番号ｎをインクリメントする（ステップＳ２１４）。ＤＦＴ制御部１２２は、ｎがＤＦＴサイズよりも小さい場合には（ステップＳ２１５肯定）、ステップＳ２０４〜Ｓ２１４における処理手順を繰り返し行う。
【０１１９】
一方、ＤＦＴ制御部１２２は、ｎがＤＦＴサイズ以上である場合には（ステップＳ２１５否定）、処理手順をステップＳ２１６へ進める。そして、積算部２９２は、回転演算の結果Ｘ（ｋ）をサブキャリアマッピング部１３０へ出力し（ステップＳ２１６）、フリップフロップ回路２９２ｃ、２９２ｆをクリアする（ステップＳ２１７）。
【０１２０】
続いて、ＤＦＴ制御部１２２は、周波数領域サンプル番号ｋをインクリメントする（ステップＳ２１８）。そして、ＤＦＴ制御部１２２は、ｋがＤＦＴサイズよりも小さい場合には（ステップＳ２１９肯定）、ステップＳ２０３〜Ｓ２１８における処理手順を繰り返し行う。一方、ＤＦＴ制御部１２２は、ｋがＤＦＴサイズ以上である場合には（ステップＳ２１９否定）、処理を終了する。
【０１２１】
上述してきたように、実施例２に係る無線通信装置は、入力信号に含まれるＩ値及びＱ値それぞれの位相を補正した４つの位相に任意位相を加算する。そして、無線通信装置は、任意位相の加算後の４つの位相に対する４つの回転因子を一つの回転因子テーブル１２１ａから取得して積算することにより、ＤＦＴ処理の演算結果を取得する。このため、本実施例では、入力信号の振幅及び位相が未知である場合でも、１つの回転因子テーブルを保持するだけでフーリエ変換処理を行うことができるので、回路規模の増大を抑制することができる。
【符号の説明】
【０１２２】
１  基地局
１０  無線通信装置
１１  受信アンテナ
１２  送信アンテナ
１３  無線部
１４  上位レイヤ
１５  ベースバンド処理部
１６  受信処理部
１７  復号部
１８  符号化部
１００  送信処理部
１１０  送信データ生成部
１２０、２２０  ＤＦＴ部
１２１  回転因子格納部
１２１ａ  回転因子テーブル
１２２  ＤＦＴ制御部
１２３  データ格納メモリ
１２４  振幅判定部
１２５  補正値特定部
１２６、２２３  補正位相格納部
１２６ａ、１２６ｂ、２２３ａ  補正位相テーブル
１２７  補正位相生成部
１２８、２２６  加算部
１２９、２２７  回転演算部
１３０  サブキャリアマッピング部
１４０  ＩＤＦＴ部
１５０  ＣＰ挿入部
１６０  サブキャリアシフト部
１９１、２９１  回転因子取得部
１９２、２９２  積算部
１９２ａ  加算器
１９２ｂ  フリップフロップ回路
１９２ｃ  加算器
１９２ｄ  フリップフロップ回路
２２１  Ｉ側補正値特定部
２２２  Ｑ側補正値特定部
２２４  Ｉ側補正位相生成部
２２５  Ｑ側補正位相生成部
２２６ａ  Ｉ側加算器
２２６ｂ  Ｑ側加算器
２９２ａ  加算器
２９２ｂ  加算器
２９２ｃ  フリップフロップ回路
２９２ｄ  加算器
２９２ｅ  加算器
２９２ｆ  フリップフロップ回路
【図１】
0005724739.tif 000006
【図２】
0005724739.tif 000007
【図３】
0005724739.tif 000008
【図４】
0005724739.tif 000009
【図５】
0005724739.tif 000010
【図６】
0005724739.tif 000011
【図７】
0005724739.tif 000012
【図８】
0005724739.tif 000013
【図９】
0005724739.tif 000014
【図１０】
0005724739.tif 000015
【図１１−１】
0005724739.tif 000016
【図１１−２】
0005724739.tif 000017
【図１２】
0005724739.tif 000018
【図１３】
0005724739.tif 000019
【図１４】
0005724739.tif 000020
【図１５】
0005724739.tif 000021
【図１６】
0005724739.tif 000022
【図１７】
0005724739.tif 000023