(57)【特許請求の範囲】
【請求項１】
倍精度以上の浮動小数点型の値を示す複数個のデータにより構成されたデータ列の入力を受け付ける入力部と、
前記複数個のデータのうちの基準データが示す値を用いて、２πの倍数により表される補正量を算出する補正量算出部と、
前記複数個のデータの各々が示す値から前記補正量を減算する減算部と、
前記減算部による減算後の値の各々を倍精度以上の浮動小数点型の値から単精度の浮動小数点型の複素数に変換する型変換部と、
を備える位相係数算出器。
【請求項２】
前記型変換部による変換後の複素数に対するオイラー変換を実行するオイラー変換部と、
前記オイラー変換部による変換後の複素数を位相係数として出力する出力部と、
を備えることを特徴とする請求項１記載の位相係数算出器。
【請求項３】
前記補正量算出部は、前記複数個のデータのうち、前記データ列の先頭部に配置されたデータを前記基準データに用いることを特徴とする請求項１記載の位相係数算出器。
【請求項４】
プロセッサ及びメモリを用いて構成されていることを特徴とする請求項１記載の位相係数算出器。
【請求項５】
前記データ列は２次元配列に対応するものであり、
前記補正量算出部は、前記複数個のデータのうち、前記２次元配列における各行の先頭部に配置されたデータを前記基準データに用いる
ことを特徴とする請求項１記載の位相係数算出器。
【請求項６】
前記データ列は２次元配列に対応するものであり、
前記補正量算出部は、前記複数個のデータのうち、前記２次元配列における各行の中央に配置されたデータを前記基準データに用いる
ことを特徴とする請求項１記載の位相係数算出器。
【請求項７】
前記データ列は２次元配列に対応するものであり、
前記補正量算出部は、前記複数個のデータのうち、前記２次元配列における各列の先頭部に配置されたデータを前記基準データに用いる
ことを特徴とする請求項１記載の位相係数算出器。
【請求項８】
前記データ列は２次元配列に対応するものであり、
前記補正量算出部は、前記複数個のデータのうち、前記２次元配列における各列の中央に配置されたデータを前記基準データに用いる
ことを特徴とする請求項１記載の位相係数算出器。
【請求項９】
前記データ列は２次元配列に対応するものであり、
前記補正量算出部は、前記複数個のデータのうち、前記２次元配列の各行におけるいずれか２個以上のデータ又は前記２次元配列の各列におけるいずれか２個以上のデータを前記基準データに用いる
ことを特徴とする請求項１記載の位相係数算出器。
【請求項１０】
前記データ列は２次元配列に対応するものであり、
前記補正量算出部は、前記複数個のデータのうちのいずれか３個以上のデータ同士を比較することにより、前記２次元配列における行方向及び列方向のうちの値の変動量がより小さい方向を判定して、当該判定した方向に応じて前記補正量の算出方法を切り替える
ことを特徴とする請求項１記載の位相係数算出器。
【請求項１１】
前記データ列は２次元配列に対応するものであり、
前記補正量算出部は、前記データ列の生成に用いられた複数個のベクトルの各々における最大値と最小値との比率を取得して、当該取得した比率同士を比較することにより、前記２次元配列における行方向及び列方向のうちの値の変動量がより小さい方向を判定して、当該判定した方向に応じて前記補正量の算出方法を切り替える
ことを特徴とする請求項１記載の位相係数算出器。
【請求項１２】
入力部が、倍精度以上の浮動小数点型の値を示す複数個のデータにより構成されたデータ列の入力を受け付けるステップと、
補正量算出部が、前記複数個のデータのうちの基準データが示す値を用いて、２πの倍数により表される補正量を算出するステップと、
減算部が、前記複数個のデータの各々が示す値から前記補正量を減算するステップと、
型変換部が、前記減算部による減算後の値の各々を倍精度以上の浮動小数点型の値から単精度の浮動小数点型の複素数に変換するステップと、
を備える位相係数算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位相係数算出器及び位相係数算出方法に関する。
【背景技術】
【０００２】
合成開口レーダ又は電波伝搬などの技術分野においては、電波の位相を算出することが多い。例えば、合成開口レーダによる画像生成においてチャープスケーリングアルゴリズムを用いた場合、サンプリングにより２次元配列が得られる。この２次元配列に対して、当該２次元配列に含まれる複数個の要素と一対一に対応する複数個の位相係数を算出し、当該複数個の要素の各々と対応する位相係数とを乗算する処理、いわゆる「係数乗算」が実行される。【０００３】
個々の位相係数は、大きさが１で位相が互いに異なる複素数である。この位相は、観測時における対象物との距離及び観測時に使用した電波の波長などから算出された値をオイラー変換することにより得られる。オイラー変換前の値ｘは、「｜ｘ｜≫２π」を満たすものであり、広いダイナミックレンジに散らばる。一方、係数乗算において有効となる値は、ｘを２πで割ったときの剰余のみである。このため、オイラー変換前の値は、広いダイナミックレンジを持つ値の中で、２πで割ったときの剰余の成分において一定の精度を確保する観点から、倍精度以上（すなわち６４ビット以上）の浮動小数点数を用いて計算される。一方、サンプリングにより得られた２次元配列の各要素及び個々の位相係数には、単精度（すなわち３２ビット）の浮動小数点型の複素数が用いられる。【０００４】
ここで、位相係数の算出は高負荷な演算であるため、演算負荷を低減する手法が開発されている。例えば、特許文献１に開示された手法は、位相の算出式を複数の項（より具体的には、２πの項、整数の項及び１未満の項）に分解して式変形をすることにより、２πの項と整数の項との積を無視するものである。これにより、倍精度の浮動小数点数を用いることなく、単精度の浮動小数点数又は固定小数点数を用いて位相の演算が可能となる。この結果、演算精度を確保しつつ演算負荷を低減している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−８９７８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示された手法は、位相算出式の分解及び変形が可能であるという条件を前提とするものである。このため、位相算出式の分解及び変形が不可能な状況においては適用することができないという問題があった。【０００７】
本発明は、上記のような課題を解決するためになされたものであり、位相算出式の分解及び変形を不要としつつ、位相係数を算出する処理における演算負荷を低減することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の位相係数算出器は、倍精度以上の浮動小数点型の値を示す複数個のデータにより構成されたデータ列の入力を受け付ける入力部と、複数個のデータのうちの基準データが示す値を用いて、２πの倍数により表される補正量を算出する補正量算出部と、複数個のデータの各々が示す値から補正量を減算する減算部と、減算部による減算後の値の各々を倍精度以上の浮動小数点型の値から単精度の浮動小数点型の複素数に変換する型変換部と、を備えるものである。
【発明の効果】
【０００９】
本発明によれば、上記のように構成したので、位相算出式の分解及び変形を不要としつつ、位相係数を算出する処理における演算負荷を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１に係る係数乗算器の要部を示すブロック図である。
【図２】図２Ａは、本発明の実施の形態１に係る係数乗算器に入力される要素列に対応する２次元配列を示す説明図である。図２Ｂは、本発明の実施の形態１に係る係数乗算器から出力される要素列に対応する２次元配列を示す説明図である。図２Ｃは、本発明の実施の形態１に係る位相係数算出器に入力されるデータ列に対応する２次元配列を示す説明図である。図２Ｄは、本発明の実施の形態１に係る位相係数算出器から出力される係数列に対応する２次元配列を示す説明図である。
【図３】本発明の実施の形態１に係る位相係数算出器の要部を示すブロック図である。
【図４】本発明の実施の形態１に係る位相係数算出器のハードウェア構成を示すブロック図である。
【図５】本発明の実施の形態１に係る係数乗算器の動作を示すフローチャートである。
【図６】本発明の実施の形態１に係る位相係数算出器の動作を示すフローチャートである。
【図７】本発明の実施の形態１に係る位相係数算出器の他のハードウェア構成を示すブロック図である。
【図８】本発明の実施の形態２に係る係数乗算器の要部を示すブロック図である。
【図９】図９Ａは、本発明の実施の形態２に係る係数乗算器に入力される要素列に対応する２次元配列を示す説明図である。図９Ｂは、本発明の実施の形態２に係る係数乗算器から出力される要素列に対応する２次元配列を示す説明図である。図９Ｃは、本発明の実施の形態２に係る位相係数算出器に入力されるデータ列に対応する２次元配列を示す説明図である。図９Ｄは、本発明の実施の形態２に係る位相係数算出器から出力される係数列に対応する２次元配列を示す説明図である。
【図１０】本発明の実施の形態２に係る位相係数算出器の要部を示すブロック図である。
【図１１】本発明の実施の形態３に係る位相係数算出器の要部を示すブロック図である。
【図１２】本発明の実施の形態４に係る位相係数算出器の要部を示すブロック図である。
【図１３】本発明の実施の形態５に係る位相係数算出器の要部を示すブロック図である。
【図１４】本発明の実施の形態６に係る位相係数算出器の要部を示すブロック図である。
【図１５】本発明の実施の形態７に係る位相係数算出器の要部を示すブロック図である。
【図１６】本発明の実施の形態８に係る位相係数算出器の要部を示すブロック図である。
【図１７】本発明の実施の形態９に係る位相係数算出器の要部を示すブロック図である。
【図１８】本発明の実施の形態１０に係る位相係数算出器の要部を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
【００１２】
実施の形態１．
図１は、実施の形態１に係る係数乗算器の要部を示すブロック図である。図２Ａは、実施の形態１に係る係数乗算器に入力される要素列に対応する２次元配列を示す説明図である。図２Ｂは、実施の形態１に係る係数乗算器から出力される要素列に対応する２次元配列を示す説明図である。図２Ｃは、実施の形態１に係る位相係数算出器に入力されるデータ列に対応する２次元配列を示す説明図である。図２Ｄは、実施の形態１に係る位相係数算出器から出力される係数列に対応する２次元配列を示す説明図である。図１及び図２を参照して、実施の形態１の係数乗算器１００について説明する。
【００１３】
以下、Ｍ列Ｎ行の２次元配列において（Ｍは２以上の任意の整数であり、Ｎは２以上の任意の整数である。）、各列の列番号を示す変数を「ｘ」と記載し、各行の行番号を示す変数を「ｙ」と記載し、各要素の座標を「（ｘ，ｙ）」と記載する。すなわち、ｘの取り得る値の範囲は１≦ｘ≦Ｍであり、ｙの取り得る値の範囲は１≦ｙ≦Ｎである。
【００１４】
また、Ｍが偶数である場合はＭ／２を示し、かつ、Ｍが奇数である場合は（Ｍ＋１）／２を示す整数を「Ｏ」と記載する。すなわち、Ｍ列Ｎ行の２次元配列における第Ｏ列は、当該２次元配列の中央部に配置された列である。
【００１５】
また、Ｎが偶数である場合はＮ／２を示し、かつ、Ｎが奇数である場合は（Ｎ＋１）／２を示す整数を「Ｐ」と記載する。すなわち、Ｍ列Ｎ行の２次元配列における第Ｐ行は、当該２次元配列の中央部に配置された行である。
【００１６】
２次元配列Ｘは、例えば、合成開口レーダのチャープスケーリングアルゴリズムにおいてサンプリングにより得られたものである。２次元配列Ｘは、Ｍ列Ｎ行の２次元配列であり、Ｍ×Ｎ個の要素Ｅ（１，１）〜Ｅ（Ｍ，Ｎ）により構成されている。個々の要素Ｅ（ｘ，ｙ）は、単精度の浮動小数点型の複素数を示すものである。
【００１７】
係数乗算器１００には、要素Ｅ（１，１）〜Ｅ（Ｍ，Ｎ）が順次入力されるようになっている。すなわち、係数乗算器１００には、要素Ｅ（１，１）〜Ｅ（Ｍ，Ｎ）により構成された要素列ＥＳが入力されるようになっている。要素列ＥＳは２次元配列Ｘに対応するものである。
【００１８】
また、係数乗算器１００には、複数個のベクトルＶａ，Ｖｂ，Ｖｃ，Ｖｄが入力されるようになっている。ベクトルＶａ，Ｖｂ，Ｖｃ，Ｖｄの各々に含まれる要素の個数は、２次元配列Ｘの列数Ｍ又は行数Ｎに等しいものである。ベクトルＶａ，Ｖｂ，Ｖｃ，Ｖｄは、前処理部１におけるデータ列ＤＳの生成に用いられるものである。
【００１９】
前処理部１は、ベクトルＶａ，Ｖｂ，Ｖｃ，Ｖｄを用いて、位相係数算出器２に対する入力用のデータ列ＤＳを生成するものである。データ列ＤＳは、Ｍ×Ｎ個のデータＤ（１，１）〜Ｄ（Ｍ，Ｎ）により構成されており、２次元配列Ｘと同列数かつ同行数の２次元配列Ｙに対応するものである。個々のデータＤ（ｘ，ｙ）は、倍精度以上の浮動小数点型の値を示すものである。
【００２０】
具体的には、例えば、前処理部１は、以下の式（１）〜（４）のいずれかを用いて個々のデータＤ（ｘ，ｙ）の値を算出することにより、データ列ＤＳを生成する。以下、ベクトルＶａ，Ｖｂ，Ｖｃ，Ｖｄを用いてデータ列ＤＳを生成する処理を「前処理」という。
【００２１】
0006632772.tif 000002
【００２２】
0006632772.tif 000003
【００２３】
0006632772.tif 000004
【００２４】
0006632772.tif 000005
【００２５】
前処理部１は、データＤ（１，１）〜Ｄ（Ｍ，Ｎ）を位相係数算出器２に順次出力するものである。すなわち、前処理部１は、データＤ（１，１）〜Ｄ（Ｍ，Ｎ）により構成されたデータ列ＤＳを位相係数算出器２に出力するものである。
【００２６】
位相係数算出器２は、データ列ＤＳの入力を受け付けるものである。すなわち、位相係数算出器２は、データＤ（１，１）〜Ｄ（Ｍ，Ｎ）の入力を順次受け付けるものである。位相係数算出器２は、データＤ（１，１）〜Ｄ（Ｍ，Ｎ）を用いて、Ｍ×Ｎ個の位相係数Ｃ（１，１）〜Ｃ（Ｍ，Ｎ）を順次算出するものである。個々の位相係数Ｃ（ｘ，ｙ）は、単精度の浮動小数点型の複素数を示すものである。
【００２７】
位相係数算出器２は、位相係数Ｃ（１，１）〜Ｃ（Ｍ，Ｎ）を乗算部３に順次出力するものである。すなわち、位相係数算出器２は、位相係数Ｃ（１，１）〜Ｃ（Ｍ，Ｎ）により構成された係数列ＣＳを乗算部３に出力するものである。係数列ＣＳは、２次元配列Ｘと同列数かつ同行数の２次元配列Ｙ’に対応するものである。
【００２８】
乗算部３は、係数乗算器１００に入力された要素Ｅ（１，１）〜Ｅ（Ｍ，Ｎ）と位相係数算出器２が出力した位相係数Ｃ（１，１）〜Ｃ（Ｍ，Ｎ）とを順次乗算するものである。これにより、各座標（ｘ，ｙ）における要素Ｅ（ｘ，ｙ）と位相係数Ｃ（ｘ，ｙ）との乗算、すなわち係数乗算が実行される。係数乗算後の要素Ｅ’（ｘ，ｙ）は、係数乗算前の要素Ｅ（ｘ，ｙ）に対して回転が加えられたものである。
【００２９】
乗算部３は、要素Ｅ’（１，１）〜Ｅ’（Ｍ，Ｎ）を係数乗算器１００の外部に順次出力するものである。すなわち、乗算部３は、要素Ｅ’（１，１）〜Ｅ’（Ｍ，Ｎ）により構成された要素列ＥＳ’を係数乗算器１００の外部に出力するものである。要素列ＥＳ’は、２次元配列Ｘと同列数かつ同行数の２次元配列Ｘ’に対応するものである。
【００３０】
前処理部１、位相係数算出器２及び乗算部３により、係数乗算器１００の要部が構成されている。
【００３１】
図３は、実施の形態１に係る位相係数算出器の要部を示すブロック図である。図３を参照して、実施の形態１の位相係数算出器２について説明する。
【００３２】
入力部１１は、データ列ＤＳの入力を受け付けて、このデータ列ＤＳを補正量算出部１２及び遅延部１３の各々に出力するものである。すなわち、入力部１１は、データＤ（１，１）〜Ｄ（Ｍ，Ｎ）の入力を順次受け付けて、これらのデータＤ（１，１）〜Ｄ（Ｍ，Ｎ）を補正量算出部１２及び遅延部１３の各々に順次出力するものである。
【００３３】
補正量算出部１２は、入力されたデータＤ（１，１）〜Ｄ（Ｍ，Ｎ）のうちの所定のデータ（以下「基準データ」という。）が示す値を用いて、以下の式（５）により補正量ＣＶを算出するものである。実施の形態１において、補正量算出部１２は、データ列ＤＳの先頭部に配置されたデータＤ（１，１）、すなわち２次元配列Ｙの左上隅部に配置されたデータＤ（１，１）を基準データに用いるものである。
【００３４】
ＣＶ＝２π＊ｆｌｏｏｒ（ａ÷２π）      （５）
【００３５】
式（５）において、「ａ」は基準データが示す値であり、「ｆｌｏｏｒ（）」は括弧内の値における小数点以下を切り捨てる関数である。すなわち、補正量ＣＶは２πの倍数により表されるものであり、かつ、倍精度以上の浮動小数点型の値を示すものである。補正量算出部１２は、補正量ＣＶを減算部１４に出力するものである。
【００３６】
遅延部１３は、入力されたデータ列ＤＳに遅延を加えるものである。遅延部１３における遅延量は、補正量算出部１２における補正量ＣＶの算出時間に応じた値に設定されている。遅延部１３は、遅延後のデータ列ＤＳを減算部１４に出力するものである。すなわち、遅延部１３は、遅延後のデータ列ＤＳに含まれるデータＤ（１，１）〜Ｄ（Ｍ，Ｎ）を減算部１４に順次出力するものである。
【００３７】
減算部１４は、遅延後のデータ列ＤＳに含まれるデータＤ（１，１）〜Ｄ（Ｍ，Ｎ）の各々が示す値から補正量ＣＶを減算して、減算後の値の各々を型変換部１５に出力するものである。すなわち、減算部１４は、遅延後のデータ列ＤＳに含まれるデータＤ（１，１）〜Ｄ（Ｍ，Ｎ）が示す値から補正量ＣＶを順次減算して、減算後の値を型変換部１５に順次出力するものである。減算後の値の各々は、倍精度以上の浮動小数点型の値である。
【００３８】
型変換部１５は、減算後の値の各々を倍精度以上の浮動小数点型の値から単精度の浮動小数点型の複素数に変換して、変換後の複素数の各々をオイラー変換部１６に出力するものである。すなわち、型変換部１５は、減算後の値を倍精度以上の浮動小数点型の値から単精度の浮動小数点型の複素数に順次変換して、変換後の複素数をオイラー変換部１６に順次出力するものである。以下、倍精度以上の浮動小数点型の値を単精度の浮動小数点型の複素数に変換する処理を「型変換」という。
【００３９】
オイラー変換部１６は、型変換後の複素数に対するオイラー変換を順次実行して、オイラー変換後の複素数を出力部１７に順次出力するものである。オイラー変換後の複素数の各々は、単精度の浮動小数点型の複素数である。オイラー変換後の複素数は、位相係数Ｃ（１，１）〜Ｃ（Ｍ，Ｎ）に対応するものである。
【００４０】
出力部１７は、オイラー変換後の複素数を位相係数Ｃ（１，１）〜Ｃ（Ｍ，Ｎ）として乗算部３に順次出力するものである。すなわち、出力部１７は、位相係数Ｃ（１，１）〜Ｃ（Ｍ，Ｎ）により構成された係数列ＣＳを乗算部３に出力するものである。
【００４１】
入力部１１、補正量算出部１２、遅延部１３、減算部１４、型変換部１５、オイラー変換部１６及び出力部１７により、位相係数算出器２の要部が構成されている。
【００４２】
次に、図４を参照して、位相係数算出器２のハードウェア構成について説明する。
【００４３】
図３に示す入力部１１の機能は、受信機２１により実現される。受信機２１は、データ列ＤＳを受信して、データ列ＤＳに含まれるデータＤ（１，１）〜Ｄ（Ｍ，Ｎ）を処理回路２２に順次出力するものである。
【００４４】
図３に示す補正量算出部１２、遅延部１３、減算部１４、型変換部１５及びオイラー変換部１６の機能は、専用の処理回路２２により実現される。すなわち、処理回路２２は、データＤ（１，１）〜Ｄ（Ｍ，Ｎ）の入力を順次受け付けて、位相係数Ｃ（１，１）〜Ｃ（Ｍ，Ｎ）を順次算出し、係数列ＣＳを送信機２３に出力するものである。
【００４５】
処理回路２２は、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−Ｃｈｉｐ）又はシステムＬＳＩ（Ｌａｒｇｅ−Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）などにより構成されている。
【００４６】
図３に示す出力部１７の機能は、送信機２３により実現される。送信機２３は、係数列ＣＳを位相係数算出器２の外部に、より具体的には乗算器３の機能を実現するハードウェアに送信するものである。
【００４７】
なお、係数乗算器１００のうちの位相係数算出器２を除く残余の部位、すなわち前処理部１及び乗算部３のハードウェア構成は図４を参照して説明したものと同様であるため、図示及び説明を省略する。すなわち、前処理部１及び乗算部３の機能は、図４に示す処理回路２２と同様の処理回路により実現されるものである。
【００４８】
次に、図５のフローチャートを参照して、係数乗算器１００の動作について説明する。係数乗算器１００に要素列ＥＳが入力されたとき、係数乗算器１００は以下のステップＳＴ１〜ＳＴ３の処理を実行する。
【００４９】
まず、ステップＳＴ１にて、前処理部１が前処理を実行する。前処理部１は、前処理により生成されたデータ列ＤＳを位相係数算出器２に出力する。すなわち、前処理部１は、データＤ（１，１）〜Ｄ（Ｍ，Ｎ）を位相係数算出器２に順次出力する。
【００５０】
次いで、ステップＳＴ２にて、位相係数算出器２は、ステップＳＴ１で前処理部１から入力されたデータＤ（１，１）〜Ｄ（Ｍ，Ｎ）を用いて、位相係数Ｃ（１，１）〜Ｃ（Ｍ，Ｎ）を順次算出する。位相係数算出器２は、位相係数Ｃ（１，１）〜Ｃ（Ｍ，Ｎ）を乗算部３に順次出力する。
【００５１】
次いで、ステップＳＴ３にて、乗算部３が係数乗算を実行する。すなわち、乗算部３は、係数乗算器１００に入力された要素Ｅ（１，１）〜Ｅ（Ｍ，Ｎ）とステップＳＴ２で位相係数算出器２が出力した位相係数Ｃ（１，１）〜Ｃ（Ｍ，Ｎ）とを順次乗算する。乗算部３は、係数乗算後の要素Ｅ’（ｘ，ｙ）を係数乗算器１００の外部に順次出力する。
【００５２】
次に、図６のフローチャートを参照して、位相係数算出器２によるステップＳＴ２の詳細な処理内容について説明する。
【００５３】
まず、ステップＳＴ１１にて、入力部１１は、データ列ＤＳの入力を受け付けて、このデータ列ＤＳを補正量算出部１２及び遅延部１３の各々に出力する。すなわち、入力部１１は、データＤ（１，１）〜Ｄ（Ｍ，Ｎ）の入力を順次受け付けて、これらのデータＤ（１，１）〜Ｄ（Ｍ，Ｎ）を補正量算出部１２及び遅延部１３の各々に順次出力する。
【００５４】
次いで、ステップＳＴ１２にて、補正量算出部１２は、ステップＳＴ１１で入力されたデータＤ（１，１）〜Ｄ（Ｍ，Ｎ）のうちの基準データが示す値を用いて、上記式（５）により補正量ＣＶを算出する。このとき、補正量算出部１２は、データ列ＤＳの先頭部に配置されたデータＤ（１，１）を基準データに用いる。補正量算出部１２は、補正量ＣＶを減算部１４に出力する。
【００５５】
他方、ステップＳＴ１３にて、遅延部１３は、ステップＳＴ１１で入力されたデータ列ＤＳに遅延を加える。ステップＳＴ１３における遅延量は、ステップＳＴ１２における補正量ＣＶの算出時間に応じた値に設定されている。遅延部１３は、遅延後のデータ列ＤＳを減算部１４に出力する。すなわち、遅延部１３は、遅延後のデータ列ＤＳに含まれるデータＤ（１，１）〜Ｄ（Ｍ，Ｎ）を減算部１４に順次出力する。
【００５６】
次いで、ステップＳＴ１４にて、減算部１４は、ステップＳＴ１３における遅延後のデータ列ＤＳに含まれるデータＤ（１，１）〜Ｄ（Ｍ，Ｎ）が示す値から、ステップＳＴ１２で算出された補正量ＣＶを順次減算する。減算部１４は、減算後の値を型変換部１５に順次出力する。
【００５７】
次いで、ステップＳＴ１５にて、型変換部１５が型変換を実行する。すなわち、型変換部１５は、ステップＳＴ１４における減算後の値を倍精度以上の浮動小数点型の値から単精度の浮動小数点型の複素数に順次変換する。型変換部１５は、型変換後の複素数をオイラー変換部１６に順次出力する。
【００５８】
次いで、ステップＳＴ１６にて、オイラー変換部１６は、ステップＳＴ１５における型変換後の複素数に対するオイラー変換を順次実行する。オイラー変換部１６は、オイラー変換後の複素数を出力部１７に順次出力する。
【００５９】
次いで、ステップＳＴ１７にて、出力部１７は、ステップＳＴ１６におけるオイラー変換後の複素数を位相係数Ｃ（１，１）〜Ｃ（Ｍ，Ｎ）として乗算部３に順次出力する。
【００６０】
次に、位相係数算出器２の効果について説明する。
【００６１】
データ列ＤＳの先頭部に配置されたデータＤ（１，１）の値ａに対して、減算部１４から最初に出力される値はａを２πで割ったときの剰余となり、当該値は０〜２πの範囲内となる。他方、減算部１４から２番目以降に出力される値は０〜２πの範囲外となる可能性があるものの、その絶対値を十分に小さく抑えることができる。すなわち、補正量ＣＶを減算してから型変換を実行することにより、補正量ＣＶを減算することなく型変換を実行する構成に比して演算誤差を小さくすることができる。
【００６２】
なお、ここで言う「演算誤差」とは、データＤ（ｘ，ｙ）が示す倍精度以上の浮動小数点型の値をｂとし、ｂを単精度の浮動小数点数に変換してなる値をｂ’とし、ｂから補正量ＣＶを減じた値（ｂ−ＣＶ）を単精度の浮動小数点数に変換してなる値をｂ”とした場合における、ｂとｂ’との差及びｂとｂ”との差のことである。
【００６３】
また、オイラー変換前に型変換を実行することにより、オイラー変換時に倍精度以上の浮動小数点数を用いる構成に比して演算負荷を低減することができる。この結果、オイラー変換用の回路規模を小さくすることができ、かつ、遅延時間を短くすることができる。
【００６４】
なお、係数乗算器１００に入力される２次元配列Ｘは、電波の位相に関する複素数の２次元配列であれば良く、合成開口レーダのチャープスケーリングアルゴリズムにおいてサンプリングにより得られた２次元配列に限定されるものではない。
【００６５】
また、補正量算出部１２において、基準データはデータ列ＤＳの先頭部に配置されたデータＤ（１，１）に限定されるものではなく、基準データの個数は１個に限定されるものではなく、算出される補正量ＣＶの個数も１個に限定されるものではない。補正量算出部１２は、データＤ（ｘ，ｙ）のうちのいずれか１個以上のデータを用いて１個以上の補正量ＣＶを算出するものであれば良く、減算部１４は、データＤ（ｘ，ｙ）の各々が示す値からいずれかの補正量ＣＶを減算するものであれば良い。また、遅延部１３は、補正量算出部１２が補正量ＣＶを算出する度毎に、個々の補正量ＣＶの算出時間に応じた遅延量による遅延をデータ列ＤＳに加えるものであれば良い。
【００６６】
また、位相係数算出器２は、専用の処理回路２２に代えて汎用のプロセッサ及びメモリを用いて構成されたものであっても良い。この場合のブロック図を図７に示す。
【００６７】
図３に示す入力部１１の機能は、受信機３１により実現される。受信機３１は、データ列ＤＳを受信して、データ列ＤＳに含まれるデータＤ（１，１）〜Ｄ（Ｍ，Ｎ）をメモリ３４に順次記憶させるものである。
【００６８】
メモリ３３には、図３に示す補正量算出部１２、減算部１４、型変換部１５及びオイラー変換部１６の機能を実現するためのプログラムが記憶されている。メモリ３３に記憶されたプログラムをプロセッサ３２が読み出して実行することにより、補正量算出部１２、減算部１４、型変換部１５及びオイラー変換部１６の機能が実現される。
【００６９】
すなわち、プロセッサ３２は、メモリ３４に記憶されたデータＤ（１，１）〜Ｄ（Ｍ，Ｎ）を順次読み出して、位相係数Ｃ（１，１）〜Ｃ（Ｍ，Ｎ）を順次算出する。このとき、メモリ３４が遅延用のバッファの機能を果たすため、図３に示す遅延部１３の機能はメモリ３４により実現される。プロセッサ３２は、位相係数Ｃ（１，１）〜Ｃ（Ｍ，Ｎ）をメモリ３４に順次記憶させる。
【００７０】
図３に示す出力部１７の機能は、送信機３５により実現される。送信機３５は、メモリ３４に記憶された位相係数Ｃ（１，１）〜Ｃ（Ｍ，Ｎ）を順次読み出して、位相係数Ｃ（１，１）〜Ｃ（Ｍ，Ｎ）により構成された係数列ＣＳを位相係数算出器２の外部に、より具体的には乗算器３の機能を実現するハードウェアに送信するものである。
【００７１】
プロセッサ３２は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、マイクロプロセッサ、マイクロコントローラ又はＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）などにより構成されている。メモリ３３，３４は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）又はＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの半導体メモリにより構成されている。
【００７２】
汎用のプロセッサ３２及びメモリ３３，３４を用いることにより、専用の処理回路２２を用いる場合に比して位相係数Ｃ（ｘ，ｙ）の算出にかかる時間を短縮することができる。
【００７３】
また、係数乗算器１００のうちの位相係数算出器２を除く残余の部位、すなわち前処理部１及び乗算部３も、専用の処理回路に代えて汎用のプロセッサ及びメモリを用いて構成されたものであっても良い。
【００７４】
すなわち、図７に示すメモリ３３と同様のメモリに前処理部１及び乗算部３の機能を実現するためのプログラムが記憶されており、図７に示すプロセッサ３２と同様のプロセッサが当該プログラムを読み出して実行することにより前処理部１及び乗算部３の機能が実現されるものであっても良い。汎用のプロセッサ及びメモリを用いることにより、専用の処理回路を用いる場合に比して係数乗算にかかる時間を短縮することができる。
【００７５】
以上のように、実施の形態１の位相係数算出器２は、倍精度以上の浮動小数点型の値を示す複数個のデータＤ（ｘ，ｙ）により構成されたデータ列ＤＳの入力を受け付ける入力部１１と、複数個のデータＤ（ｘ，ｙ）のうちの基準データが示す値を用いて、２πの倍数により表される補正量ＣＶを算出する補正量算出部１２と、複数個のデータＤ（ｘ，ｙ）の各々が示す値から補正量ＣＶを減算する減算部１４と、減算部１４による減算後の値の各々を倍精度以上の浮動小数点型の値から単精度の浮動小数点型の複素数に変換する型変換部１５と、を備える。補正量ＣＶを減算してから型変換を実行することにより、演算誤差を小さくすることができる。また、オイラー変換前に型変換を実行することにより、演算負荷を低減することができるため、オイラー変換用の回路規模を小さくすることができ、かつ、遅延時間を短くすることができる。さらに、位相算出式の分解及び変形を不要としつつ、これらの効果を得ることができる。
【００７６】
また、位相係数算出器２は、プロセッサ３２及びメモリ３３，３４を用いて構成されている。位相係数算出器２に汎用のプロセッサ３２及びメモリ３３，３４を用いることにより、位相係数Ｃ（ｘ，ｙ）の算出にかかる時間を短縮することができる。
【００７７】
また、実施の形態１の位相係数算出方法は、入力部１１が、倍精度以上の浮動小数点型の値を示す複数個のデータＤ（ｘ，ｙ）により構成されたデータ列ＤＳの入力を受け付けるステップ（ステップＳＴ１１）と、補正量算出部１２が、複数個のデータＤ（ｘ，ｙ）のうちの基準データが示す値を用いて、２πの倍数により表される補正量ＣＶを算出するステップ（ステップＳＴ１２）と、減算部１４が、複数個のデータＤ（ｘ，ｙ）の各々が示す値から補正量ＣＶを減算するステップ（ステップＳＴ１４）と、型変換部１５が、減算部１４による減算後の値の各々を倍精度以上の浮動小数点型の値から単精度の浮動小数点型の複素数に変換するステップ（ステップＳＴ１５）と、を備える。これにより、位相係数算出器２と同様の上記効果を得ることができる。
【００７８】
実施の形態２．
図８は、実施の形態２に係る係数乗算器の要部を示すブロック図である。図９Ａは、実施の形態２に係る係数乗算器に入力される要素列に対応する２次元配列を示す説明図である。図９Ｂは、実施の形態２に係る係数乗算器から出力される要素列に対応する２次元配列を示す説明図である。図９Ｃは、実施の形態２に係る位相係数算出器に入力されるデータ列に対応する２次元配列を示す説明図である。図９Ｄは、実施の形態２に係る位相係数算出器から出力される係数列に対応する２次元配列を示す説明図である。図１０は、実施の形態２に係る位相係数算出器の要部を示すブロック図である。
【００７９】
図８〜図１０を参照して、実施の形態２の位相係数算出器２ａ及び係数乗算器１００１〜１００Ｎについて説明する。なお、図８において、図１に示すブロックと同様のブロックには同一符号を付して説明を省略する。図９において、図２に示す要素等と同様の要素等には同一符号を付して説明を省略する。図１０において、図３に示すブロックと同様のブロックには同一符号を付して説明を省略する。
【００８０】
図８に示す如く、Ｎ個の係数乗算器１００１〜１００Ｎにより係数乗算システム２００が構成されている。係数乗算器１００１〜１００Ｎの各々は、前処理部１、位相係数算出器２ａ及び乗算部３を有している。個々の位相係数算出器２ａは、図１０に示す如く、入力部１１、補正量算出部１２ａ、遅延部１３ａ、減算部１４ａ、型変換部１５、オイラー変換部１６及び出力部１７を有している。
【００８１】
係数乗算器１００１〜１００Ｎには、２次元配列Ｘの各行に対応する要素列ＥＳ１〜ＥＳＮがそれぞれ入力されるようになっている。要素列ＥＳ１〜ＥＳＮの各々は、Ｍ個の要素Ｅ（１，ｙ）〜Ｅ（Ｍ，ｙ）により構成されている。
【００８２】
例えば、第１の係数乗算器１００１には、２次元配列Ｘの第１行に対応する要素列ＥＳ１が入力される。要素列ＥＳ１は、Ｍ個の要素Ｅ（１，１）〜Ｅ（Ｍ，１）により構成されている。
【００８３】
係数乗算器１００１内の前処理部１は、上記式（１）〜（４）のいずれかを用いて、Ｍ個のデータＤ（１，１）〜Ｄ（Ｍ，１）の各々が示す値を算出する。係数乗算器１００１内の前処理部１は、データＤ（１，１）〜Ｄ（Ｍ，１）を係数乗算器１００１内の位相係数算出器２ａに順次出力する。すなわち、係数乗算器１００１内の前処理部１は、データＤ（１，１）〜Ｄ（Ｍ，１）により構成されたデータ列ＤＳ１を係数乗算器１００１内の位相係数算出器２ａに出力する。
【００８４】
係数乗算器１００１内の位相係数算出器２ａは、データ列ＤＳ１に含まれるデータＤ（１，１）〜Ｄ（Ｍ，１）を用いて、Ｍ個の位相係数Ｃ（１，１）〜Ｃ（Ｍ，１）を算出する。係数乗算器２００１内の位相係数算出器２ａは、位相係数Ｃ（１，１）〜Ｃ（Ｍ，１）を係数乗算器１００１内の乗算部３に順次出力する。すなわち、係数乗算器２００１内の位相係数算出器２ａは、位相係数Ｃ（１，１）〜Ｃ（Ｍ，１）により構成された係数列ＣＳ１を係数乗算器１００１内の乗算部３に出力する。
【００８５】
このとき、補正量算出部１２ａは、データＤ（１，１）〜Ｄ（Ｍ，１）のうちのいずれか１個以上のデータを基準データに用いて、上記式（５）により１個以上の補正量ＣＶを算出する。減算部１４ａは、データＤ（１，１）〜Ｄ（Ｍ，１）の各々が示す値からいずれかの補正量ＣＶを減算する。遅延部１３ａは、補正量算出部１２ａが補正量ＣＶを算出する度毎に、個々の補正量ＣＶの算出時間に応じた遅延量による遅延をデータ列ＤＳ１に加える。
【００８６】
具体的には、例えば、補正量算出部１２ａは、図３に示す補正量算出部１２と同様に、データ列ＤＳ１の先頭部に配置されたデータＤ（１，１）を基準データに用いて補正量ＣＶを算出する。減算部１４ａは、データＤ（１，１）〜Ｄ（Ｍ，１）の各々が示す値から補正量ＣＶを減算する。
【００８７】
または、例えば、補正量算出部１２ａは、データ列ＤＳ１の先頭部に配置されたデータＤ（１，１）を基準データに用いて第１の補正量ＣＶを算出するとともに、データ列ＤＳ１の中央部に配置されたデータＤ（Ｏ，１）を基準データに用いて第２の補正量ＣＶを算出する。減算部１４ａは、データ列ＤＳ１の前半部に配置されたデータＤ（１，１）〜Ｄ（Ｏ−１，１）の各々が示す値から第１の補正量ＣＶを減算し、データ列ＤＳ１の後半部に配置されたデータＤ（Ｏ，１）〜Ｄ（Ｍ，１）の各々が示す値から第２の補正量ＣＶを減算する。
【００８８】
係数乗算器１００１内の乗算部３は、要素列ＥＳ１に含まれる要素Ｅ（１，１）〜Ｅ（Ｍ，１）と係数列ＣＳ１に含まれる位相係数Ｃ（１，１）〜Ｃ（Ｍ，１）とを順次乗算することにより、係数乗算を実行する。係数乗算器１００１内の乗算部３は、係数乗算後の要素Ｅ’（１，１）〜Ｅ’（Ｍ，１）を係数乗算システム２００の外部に順次出力する。すなわち、係数乗算器１００１内の乗算部３は、要素Ｅ’（１，１）〜Ｅ’（Ｍ，１）により構成された要素列ＥＳ１’を係数乗算システム２００の外部に出力する。
【００８９】
第２〜第Ｎの係数乗算器１００２〜１００Ｎの各々における前処理部１の動作は、第１の係数乗算器１００１における前処理部１の動作と同様であるため、説明を省略する。第２〜第Ｎの係数乗算器１００２〜１００Ｎの各々における位相係数算出器２ａの動作は、第１の係数乗算器１００１における位相係数算出器２ａの動作と同様であるため、説明を省略する。第２〜第Ｎの係数乗算器１００２〜１００Ｎの各々における乗算部３の動作は、第１の係数乗算器１００１における乗算部３の動作と同様であるため、説明を省略する。
【００９０】
このように、係数乗算器１００１〜１００Ｎからは、係数乗算後の２次元配列Ｘ’の各行に対応する要素列ＥＳ１’〜ＥＳＮ’がそれぞれ出力されるようになっている。この結果、係数乗算システム２００からは、２次元配列Ｘ’の全体に対応する要素Ｅ’（１，１）〜Ｅ’（Ｍ，Ｎ）が出力されるようになっている。
【００９１】
ここで、係数乗算器１００１〜１００Ｎは互いに独立した処理回路により構成されている。または、係数乗算システム２００はマルチプロセッサを用いたものであり、係数乗算器１００１〜１００Ｎの処理に互いに異なるプロセッサが割り当てられている。または、係数乗算システム２００はマルチコアプロセッサを用いたものであり、係数乗算器１００１〜１００Ｎの処理に互いに異なるコアが割り当てられている。これにより、Ｎ個の位相係数算出器２ａが並列に動作するため、位相係数Ｃ（ｘ，ｙ）の算出にかかる時間を短縮することができる。また、Ｎ個の係数乗算器１００１〜１００Ｎが並列に動作するため、係数乗算にかかる時間を短縮することができる。
【００９２】
なお、係数乗算システム２００は、２次元配列Ｘを任意に分割してなる複数個の部位に対応する複数個の係数乗算器を含むものであれば良い。すなわち、２次元配列Ｘの分割方法は行毎の分割に限定されるものではなく、如何なる態様による分割であっても良い。また、個々の係数乗算器は１個の部位と対応するものであっても良く、又は複数個の部位と対応するものであっても良い。
【００９３】
また、係数乗算器ごとに、位相係数算出器２ａが異なる個数の補正量ＣＶを算出するものであっても良い。また、係数乗算器ごとに、位相係数算出器２ａがデータＤ（１，ｙ）〜Ｄ（Ｍ，ｙ）のうちの異なる位置に配置されたデータを基準データに用いて補正量ＣＶを算出するものであっても良い。
【００９４】
通常、係数乗算システム２００において算出される補正量ＣＶの総数と、２次元配列Ｘを分割してなる部位の個数と、係数乗算システム２００に含まれる係数乗算器の個数とは以下の関係を満たすものとなる。すなわち、「係数乗算システム２００において算出される補正量ＣＶの総数」≧「２次元配列Ｘを分割してなる部位の個数」≧「係数乗算システム２００に含まれる係数乗算器の個数」の関係である。
【００９５】
以上のように、実施の形態２の係数乗算システム２００において、個々の位相係数算出器２ａに入力されるデータ列は２次元配列Ｙの一部に対応するものであり、個々の位相係数算出器２ａは、２次元配列Ｙの残部に対応する他のデータ列が入力される他の位相係数算出器２ａと並列に動作する。これにより、位相係数Ｃ（ｘ，ｙ）の算出にかかる時間を短縮することができる。
【００９６】
実施の形態３．
図１１は、実施の形態３に係る位相係数算出器の要部を示すブロック図である。図１１を参照して、実施の形態３の位相係数算出器２ｂについて説明する。なお、図１１において、図３に示すブロックと同様のブロックには同一符号を付して説明を省略する。また、位相係数算出器２ｂのハードウェア構成は実施の形態１にて図４又は図７を参照して説明したものと同様であるため、図示及び説明を省略する。
【００９７】
補正量算出部１２ｂは、２次元配列Ｙにおける各行の先頭部に配置されたデータＤ（１，ｙ）、すなわち２次元配列Ｙの第１列に配置されたＮ個のデータＤ（１，１）〜Ｄ（１，Ｎ）を基準データに用いて、上記式（５）によりＮ個の補正量ＣＶを算出するものである。
【００９８】
減算部１４ｂは、２次元配列Ｙの各行に含まれるＭ個のデータＤ（１，ｙ）〜Ｄ（Ｍ，ｙ）の各々が示す値から、対応する行の先頭部に配置されたデータＤ（１，ｙ）に基づき算出された補正量ＣＶを減算するものである。
【００９９】
遅延部１３ｂは、補正量算出部１２ｂが補正量ＣＶを算出する度毎に、個々の補正量ＣＶの算出時間に応じた遅延量による遅延をデータ列ＤＳに加えるものである。
【０１００】
入力部１１、補正量算出部１２ｂ、遅延部１３ｂ、減算部１４ｂ、型変換部１５、オイラー変換部１６及び出力部１７により、位相係数算出器２ｂの要部が構成されている。
【０１０１】
このように、位相係数算出器２ｂは行毎に補正量ＣＶを算出するものである。これにより、全行において共通の補正量ＣＶを用いる実施の形態１の位相係数算出器２に比して、演算精度を向上することができる。
【０１０２】
以上のように、実施の形態３の位相係数算出器２ｂにおいて、データ列ＤＳは２次元配列Ｙに対応するものであり、補正量算出部１２ｂは、複数個のデータＤ（ｘ，ｙ）のうち、２次元配列Ｙにおける各行の先頭部に配置されたデータＤ（１，ｙ）を基準データに用いる。これにより、演算精度を向上することができる。
【０１０３】
実施の形態４．
図１２は、実施の形態４に係る位相係数算出器の要部を示すブロック図である。図１２を参照して、実施の形態４の位相係数算出器２ｃについて説明する。なお、図１２において、図３に示すブロックと同様のブロックには同一符号を付して説明を省略する。また、位相係数算出器２ｃのハードウェア構成は実施の形態１にて図４又は図７を参照して説明したものと同様であるため、図示及び説明を省略する。
【０１０４】
補正量算出部１２ｃは、２次元配列Ｙにおける各行の先頭部に配置されたデータＤ（１，ｙ）、すなわち２次元配列Ｙの第１列に配置されたＮ個のデータＤ（１，１）〜Ｄ（１，Ｎ）を基準データに用いて、上記式（５）によりＮ個の補正量ＣＶを算出するものである。また、補正量算出部１２ｃは、２次元配列Ｙにおける各行の中央部に配置されたデータＤ（Ｏ，ｙ）、すなわち２次元配列Ｙの第Ｏ列に配置されたＮ個のデータＤ（Ｏ，１）〜Ｄ（Ｏ，Ｎ）を用いて、上記式（５）によりＮ個の補正量ＣＶを算出するものである。
【０１０５】
減算部１４ｃは、２次元配列Ｙにおける各行の前半部に配置されたデータＤ（１，ｙ）〜Ｄ（Ｏ−１，ｙ）の各々が示す値から、対応する行の先頭部に配置されたデータＤ（１，ｙ）に基づき算出された補正量ＣＶを減算するものである。また、減算部１４ｃは、２次元配列Ｙの各行の後半部に配置されたデータＤ（Ｏ，ｙ）〜Ｄ（Ｍ，ｙ）の各々が示す値から、対応する行の中央部に配置されたデータＤ（Ｏ，ｙ）に基づき算出された補正量ＣＶを減算するものである。
【０１０６】
遅延部１３ｃは、補正量算出部１２ｃが補正量ＣＶを算出する度毎に、個々の補正量ＣＶの算出時間に応じた遅延量による遅延をデータ列ＤＳに加えるものである。
【０１０７】
入力部１１、補正量算出部１２ｃ、遅延部１３ｃ、減算部１４ｃ、型変換部１５、オイラー変換部１６及び出力部１７により、位相係数算出器２ｃの要部が構成されている。
【０１０８】
このように、位相係数算出器２ｃは行毎に２個の補正量ＣＶを算出するものである。これにより、各行において１個の補正量ＣＶを用いる実施の形態３の位相係数算出器２ｂに比して、演算精度を更に向上することができる。
【０１０９】
なお、位相係数算出器２ｃは、２次元配列Ｙの各行に含まれるデータＤ（１，ｙ）〜Ｄ（Ｍ，ｙ）のうちのいずれか２個以上のデータを基準データに用いて２個以上の補正量ＣＶを算出するものであれば良く、基準データの個数は２個に限定されるものではない。基準データの個数を増やすことにより、演算精度を更に向上することができる。
【０１１０】
以上のように、実施の形態４の位相係数算出器２ｃにおいて、データ列ＤＳは２次元配列Ｙに対応するものであり、補正量算出部１２ｃは、複数個のデータＤ（ｘ，ｙ）のうち、２次元配列Ｙの各行におけるいずれか２個以上のデータを基準データに用いる。これにより、演算精度を更に向上することができる。
【０１１１】
実施の形態５．
図１３は、実施の形態５に係る位相係数算出器の要部を示すブロック図である。図１３を参照して、実施の形態５の位相係数算出器２ｄについて説明する。なお、図１３において、図３に示すブロックと同様のブロックには同一符号を付して説明を省略する。また、位相係数算出器２ｄのハードウェア構成は実施の形態１にて図４又は図７を参照して説明したものと同様であるため、図示及び説明を省略する。
【０１１２】
補正量算出部１２ｄは、２次元配列Ｙにおける第１行の先頭部に配置された１個のデータＤ（１，１）を用いて、上記式（５）により１個の補正量ＣＶを算出するものである。また、補正量算出部１２ｄは、２次元配列Ｙにおける各行の中央部に配置されたデータＤ（Ｏ，ｙ）、すなわち２次元配列Ｙの第Ｏ列に配置されたＮ個のデータＤ（Ｏ，１）〜Ｄ（Ｏ，ｙ）を用いて、上記式（５）によりＮ個の補正量ＣＶを算出するものである。
【０１１３】
減算部１４ｄは、第１行の先頭部のデータＤ（１，１）に基づき算出された補正量ＣＶを、第１行の前半部に配置されたデータＤ（１，１）〜Ｄ（Ｏ−１，１）の各々が示す値から減算するものである。また、減算部１４ｄは、各行の中央部のデータＤ（Ｏ，ｙ）に基づき算出された補正量ＣＶを、対応する行の後半部に配置されたデータＤ（Ｏ，ｙ）〜Ｄ（Ｍ，ｙ）及び次の行の前半部に配置されたデータＤ（１，ｙ＋１）〜Ｄ（Ｏ−１，ｙ＋１）の各々が示す値から減算するものである。
【０１１４】
なお、２次元配列Ｙにおいて第Ｎ＋１行は存在しないため、第Ｎ行の中央部のデータＤ（Ｏ，Ｎ）に基づき算出された補正量ＣＶは、第Ｎ行の後半部に配置されたデータＤ（Ｏ，Ｎ）〜Ｄ（Ｍ，Ｎ）の各々のみから減算される。
【０１１５】
遅延部１３ｄは、補正量算出部１２ｄが補正量ＣＶを算出する度毎に、個々の補正量ＣＶの算出時間に応じた遅延量による遅延をデータ列ＤＳに加えるものである。
【０１１６】
入力部１１、補正量算出部１２ｄ、遅延部１３ｄ、減算部１４ｄ、型変換部１５、オイラー変換部１６及び出力部１７により、位相係数算出器２ｄの要部が構成されている。
【０１１７】
このように、位相係数算出器２ｄは行毎に補正量ＣＶを算出するものである。これにより、実施の形態３の位相係数算出器２ｂと同様に、演算精度を向上することができる。
【０１１８】
以上のように、実施の形態５の位相係数算出器２ｄにおいて、データ列ＤＳは２次元配列Ｙに対応するものであり、補正量算出部１２ｄは、複数個のデータＤ（ｘ，ｙ）のうち、２次元配列Ｙにおける各行の中央部に配置されたデータＤ（Ｏ，ｙ）を基準データに用いる。これにより、演算精度を向上することができる。
【０１１９】
実施の形態６．
図１４は、実施の形態６に係る位相係数算出器の要部を示すブロック図である。図１４を参照して、実施の形態６の位相係数算出器２ｅについて説明する。なお、図１４において、図３に示すブロックと同様のブロックには同一符号を付して説明を省略する。また、位相係数算出器２ｅのハードウェア構成は実施の形態１にて図４又は図７を参照して説明したものと同様であるため、図示及び説明を省略する。
【０１２０】
補正量算出部１２ｅは、２次元配列Ｙにおける各列の先頭部に配置されたデータＤ（ｘ，１）、すなわち２次元配列Ｙの第１行に配置されたＭ個のデータＤ（１，１）〜Ｄ（Ｍ，１）を基準データに用いて、上記式（５）によりＭ個の補正量ＣＶを算出するものである。
【０１２１】
減算部１４ｅは、２次元配列Ｙの各列に含まれるＮ個のデータＤ（ｘ，１）〜Ｄ（ｘ，Ｎ）の各々が示す値から、対応する列の先頭部に配置されたデータＤ（ｘ，１）に基づき算出された補正量ＣＶを減算するものである。
【０１２２】
遅延部１３ｅは、補正量算出部１２ｅが補正量ＣＶを算出する度毎に、個々の補正量ＣＶの算出時間に応じた遅延量による遅延をデータ列ＤＳに加えるものである。
【０１２３】
入力部１１、補正量算出部１２ｅ、遅延部１３ｅ、減算部１４ｅ、型変換部１５、オイラー変換部１６及び出力部１７により、位相係数算出器２ｅの要部が構成されている。
【０１２４】
このように、位相係数算出器２ｅは２次元配列Ｙの列毎に補正量ＣＶを算出するものである。これにより、全列において共通の補正量ＣＶを用いる実施の形態１の位相係数算出器２に比して、演算精度を向上することができる。
【０１２５】
以上のように、実施の形態６の位相係数算出器２ｅにおいて、データ列ＤＳは２次元配列Ｙに対応するものであり、補正量算出部１２ｅは、複数個のデータＤ（ｘ，ｙ）のうち、２次元配列Ｙにおける各列の先頭部に配置されたデータＤ（ｘ，１）を基準データに用いる。これにより、演算精度を向上することができる。
【０１２６】
実施の形態７．
図１５は、実施の形態７に係る位相係数算出器の要部を示すブロック図である。図１５を参照して、実施の形態７の位相係数算出器２ｆについて説明する。なお、図１７において、図３に示すブロックと同様のブロックには同一符号を付して説明を省略する。また、位相係数算出器２ｆのハードウェア構成は実施の形態１にて図４又は図７を参照して説明したものと同様であるため、図示及び説明を省略する。
【０１２７】
補正量算出部１２ｆは、２次元配列Ｙにおける各列の先頭部に配置されたデータＤ（ｘ，１）、すなわち２次元配列Ｙの第１行に配置されたＭ個のデータＤ（１，１）〜Ｄ（Ｍ，１）を基準データに用いて、上記式（５）によりＭ個の補正量ＣＶを算出するものである。また、補正量算出部１２ｆは、２次元配列Ｙにおける各列の中央部に配置されたデータＤ（ｘ，Ｐ）、すなわち２次元配列Ｙの第Ｐ行に配置されたＭ個のデータＤ（１，Ｐ）〜Ｄ（Ｍ，Ｐ）を用いて、上記式（５）によりＭ個の補正量ＣＶを算出するものである。
【０１２８】
減算部１４ｆは、２次元配列Ｙにおける各列の前半部に配置されたデータＤ（ｘ，１）〜Ｄ（ｘ，Ｐ−１）の各々が示す値から、対応する列の先頭部に配置されたデータＤ（ｘ，１）に基づき算出された補正量ＣＶを減算するものである。また、減算部１４ｆは、２次元配列Ｙの各列の後半部に配置されたデータＤ（ｘ，Ｐ）〜Ｄ（ｘ，Ｎ）の各々が示す値から、対応する列の中央部に配置されたデータＤ（ｘ，Ｐ）に基づき算出された補正量ＣＶを減算するものである。
【０１２９】
遅延部１３ｆは、補正量算出部１２ｆが補正量ＣＶを算出する度毎に、個々の補正量ＣＶの算出時間に応じた遅延量による遅延をデータ列ＤＳに加えるものである。
【０１３０】
入力部１１、補正量算出部１２ｆ、遅延部１３ｆ、減算部１４ｆ、型変換部１５、オイラー変換部１６及び出力部１７により、位相係数算出器２ｆの要部が構成されている。
【０１３１】
このように、位相係数算出器２ｆは２次元配列Ｙの列毎に２個の補正量ＣＶを算出するものである。これにより、各列において１個の補正量ＣＶを用いる実施の形態６の位相係数算出器２ｅに比して、演算精度を更に向上することができる。
【０１３２】
なお、位相係数算出器２ｆは、２次元配列Ｙの各列に含まれるデータＤ（ｘ，１）〜Ｄ（ｘ，Ｍ）のうちのいずれか２個以上のデータを基準データに用いて２個以上の補正量ＣＶを算出するものであれば良く、基準データの個数は２個に限定されるものではない。基準データの個数を増やすことにより、演算精度を更に向上することができる。
【０１３３】
以上のように、実施の形態７の位相係数算出器２ｆにおいて、データ列ＤＳは２次元配列Ｙに対応するものであり、補正量算出部１２ｆは、複数個のデータＤ（ｘ，ｙ）のうち、２次元配列Ｙの各列におけるいずれか２個以上のデータを基準データに用いる。これにより、演算精度を更に向上することができる。
【０１３４】
実施の形態８．
図１６は、実施の形態８に係る位相係数算出器の要部を示すブロック図である。図１６を参照して、実施の形態８の位相係数算出器２ｇについて説明する。なお、図１６において、図３に示すブロックと同様のブロックには同一符号を付して説明を省略する。また、位相係数算出器２ｇのハードウェア構成は実施の形態１にて図４又は図７を参照して説明したものと同様であるため、図示及び説明を省略する。
【０１３５】
補正量算出部１２ｇは、２次元配列Ｙにおける第１列の先頭部に配置された１個のデータＤ（１，１）を用いて、上記式（５）により１個の補正量ＣＶを算出するものである。また、補正量算出部１２ｇは、２次元配列Ｙにおける各列の中央部に配置されたデータＤ（ｘ，Ｐ）、すなわち２次元配列Ｙの第Ｐ行に配置されたＭ個のデータＤ（１，Ｐ）〜Ｄ（Ｍ，Ｐ）を用いて、上記式（５）によりＭ個の補正量ＣＶを算出するものである。
【０１３６】
減算部１４ｇは、第１列の先頭部のデータＤ（１，１）に基づき算出された補正量ＣＶを、第１列の前半部に配置されたデータＤ（１，１）〜Ｄ（１，Ｐ−１）の各々が示す値から減算するものである。また、減算部１４ｇは、各列の中央部のデータＤ（ｘ，Ｐ）に基づき算出された補正量ＣＶを、対応する列の後半部に配置されたデータＤ（ｘ，Ｐ）〜Ｄ（ｘ，Ｎ）及び次の列の前半部に配置されたデータＤ（ｘ＋１，１）〜Ｄ（ｘ＋１，Ｐ−１）の各々が示す値から減算するものである。
【０１３７】
なお、２次元配列Ｙにおいて第Ｍ＋１列は存在しないため、第Ｍ列の中央部のデータＤ（Ｍ，Ｐ）に基づき算出された補正量ＣＶは、第Ｍ列の後半部に配置されたデータＤ（Ｍ，Ｐ）〜Ｄ（Ｍ，Ｎ）の各々のみから減算される。
【０１３８】
遅延部１３ｇは、補正量算出部１２ｇが補正量ＣＶを算出する度毎に、個々の補正量ＣＶの算出時間に応じた遅延量による遅延をデータ列ＤＳに加えるものである。
【０１３９】
入力部１１、補正量算出部１２ｇ、遅延部１３ｇ、減算部１４ｇ、型変換部１５、オイラー変換部１６及び出力部１７により、位相係数算出器２ｇの要部が構成されている。
【０１４０】
このように、位相係数算出器２ｇは２次元配列Ｙの列毎に補正量ＣＶを算出するものである。これにより、実施の形態６の位相係数算出器２ｅと同様に、演算精度を向上することができる。
【０１４１】
以上のように、実施の形態８の位相係数算出器２ｇにおいて、データ列ＤＳは２次元配列Ｙに対応するものであり、補正量算出部１２ｇは、複数個のデータＤ（ｘ，ｙ）のうち、２次元配列Ｙの各列における中央部に配置されたデータＤ（ｘ，Ｐ）を基準データに用いる。これにより、演算精度を向上することができる。
【０１４２】
実施の形態９．
図１７は、実施の形態９に係る位相係数算出器の要部を示すブロック図である。図１７を参照して、実施の形態９の位相係数算出器２ｈについて説明する。なお、図１７において、図３に示すブロックと同様のブロックには同一符号を付して説明を省略する。また、位相係数算出器２ｈのハードウェア構成は実施の形態１にて図４又は図７を参照して説明したものと同様であるため、図示及び説明を省略する。
【０１４３】
補正量算出部１２ｈは、データ列ＤＳに含まれるデータＤ（１，１）〜Ｄ（Ｍ，Ｎ）のうちのいずれか３個以上のデータ同士を比較することにより、２次元配列Ｙの各行に沿う方向（以下「行方向」という。）及び２次元配列Ｙの各列に沿う方向（以下「列方向」という。）のうちの値の変動量がより小さい方向を判定するものである。
【０１４４】
具体的には、例えば、補正量算出部１２ｈは、２次元配列Ｙの左上隅部に配置されたデータＤ（１，１）及び２次元配列Ｙの左下隅部に配置されたデータＤ（１，Ｎ）と、２次元配列Ｙの右上隅部に配置されたデータＤ（Ｍ，１）及び２次元配列Ｙの右下隅部に配置されたデータＤ（Ｍ，Ｎ）との比較により、行方向に対する値の差を求める。また、補正量算出部１２ｈは、２次元配列Ｙの左上隅部に配置されたデータＤ（１，１）及び２次元配列Ｙの右上隅部に配置されたデータＤ（Ｍ，１）と、２次元配列Ｙの左下隅部に配置されたデータＤ（１，Ｎ）及び２次元配列Ｙの右下隅部に配置されたデータＤ（Ｍ，Ｎ）との比較により、列方向に対する値の差を求める。
【０１４５】
または、例えば、補正量算出部１２ｈは、２次元配列Ｙの左上隅部に配置されたデータＤ（１，１）と２次元配列Ｙの右上隅部に配置されたデータＤ（Ｍ，１）との比較により、行方向に対する値の差を求める。また、補正量算出部１２ｈは、２次元配列Ｙの左上隅部に配置されたデータＤ（１，１）と２次元配列Ｙの左下隅部に配置されたデータＤ（１，Ｎ）との比較により、列方向に対する値の差を求める。
【０１４６】
または、例えば、補正量算出部１２ｈは、２次元配列Ｙの第１列の中央部に配置されたデータＤ（１，Ｐ）と２次元配列Ｙの第Ｍ列の中央部に配置されたデータＤ（Ｍ，Ｐ）との比較により、行方向に対応する値の差を求める。また、補正量算出部１２ｈは、２次元配列Ｙの第１行の中央部に配置されたデータＤ（Ｏ，１）と２次元配列Ｙの第Ｎ行の中央部に配置されたデータＤ（Ｏ，Ｎ）との比較により、列方向に対する値の差を求める。
【０１４７】
補正量算出部１２ｈは、行方向に対する値の差が列方向に対する値の差よりも小さい場合、行方向に対する値の変動量が列方向に対する値の変動量よりも小さいと判定する。また、補正量算出部１２ｈは、列方向に対する値の差が行方向に対する値の差よりも小さい場合、列方向に対する値の変動量が行方向に対する値の変動量よりも小さいと判定する。
【０１４８】
行方向に対する値の変動量が列方向に対する値の変動量よりも小さいと判定された場合、補正量算出部１２ｈが実施の形態３の補正量算出部１２ｂと同様の処理を実行し、遅延部１３ｈが実施の形態３の遅延部１３ｂと同様の処理を実行し、減算部１４ｈが実施の形態３の減算部１４ｂと同様の処理を実行するようになっている。すなわち、２次元配列Ｙにおける各行の先頭部に配置されたデータＤ（１，ｙ）に基づき、行毎に補正量ＣＶが算出される。
【０１４９】
列方向に対する値の変動量が行方向に対する値の変動量よりも小さいと判定された場合、補正量算出部１２ｈが実施の形態６の補正量算出部１２ｅと同様の処理を実行し、遅延部１３ｈが実施の形態６の遅延部１３ｅと同様の処理を実行し、減算部１４ｈが実施の形態６の減算部１４ｅと同様の処理を実行するようになっている。すなわち、２次元配列Ｙにおける各列の先頭部に配置されたデータＤ（ｘ，１）に基づき、列毎に補正量ＣＶが算出される。
【０１５０】
入力部１１、補正量算出部１２ｈ、遅延部１３ｈ、減算部１４ｈ、型変換部１５、オイラー変換部１６及び出力部１７により、位相係数算出器２ｈの要部が構成されている。
【０１５１】
行方向に対する値の変動量が小さい場合、行毎に補正量ＣＶを算出して減算することにより演算精度を向上することができる。他方、列方向に対する値の変動量が小さい場合、列毎に補正量ＣＶを算出して減算することにより演算精度を向上することができる。位相係数算出器２ｈは、これらの変動量の大小関係に応じて補正量ＣＶの算出方法を切り替えることにより、いずれの場合であっても演算精度を向上することができる。
【０１５２】
以上のように、実施の形態９の位相係数算出器２ｈにおいて、データ列ＤＳは２次元配列Ｙに対応するものであり、補正量算出部１２ｈは、複数個のデータＤ（ｘ，ｙ）のうちのいずれか３個以上のデータ同士を比較することにより、２次元配列Ｙにおける行方向及び列方向のうちの値の変動量がより小さい方向を判定して、当該判定した方向に応じて補正量ＣＶの算出方法を切り替える。これにより、演算精度を向上することができる。
【０１５３】
実施の形態１０．
図１８は、実施の形態１０に係る位相係数算出器の要部を示すブロック図である。図１８を参照して、実施の形態１０の位相係数算出器２ｉについて説明する。なお、図１８において、図３に示すブロックと同様のブロックには同一符号を付して説明を省略する。また、位相係数算出器２ｉのハードウェア構成は実施の形態１にて図４又は図７を参照して説明したものと同様であるため、図示及び説明を省略する。
【０１５４】
上記式（１）〜（４）に示す如く、データＤ（ｘ，ｙ）の値は複数個のベクトルを用いて算出されるものであり、より具体的には行方向に対応するベクトルと列方向に対応するベクトルとの積に基づき算出されるものである。このため、これらのベクトルの各々における最大値と最小値との比率を求めて、これらの比率同士を比較することにより、２次元配列Ｙの行方向に対する値の変動傾向及び２次元配列Ｙの列方向に対する値の変動傾向を知ることができる。これらの変動傾向に基づき、２次元配列Ｙにおける行方向及び列方向のうちの値の変動量がより小さい方向を判定することができる。
【０１５５】
そこで、補正量算出部１２ｉは、データ列ＤＳの生成に用いられた複数個のベクトルの各々における最大値と最小値との比率を取得して、当該取得した比率同士を比較することにより、２次元配列Ｙにおける行方向及び列方向のうちの値の変動量がより小さい方向を判定するものである。
【０１５６】
行方向に対する値の変動量が列方向に対する値の変動量よりも小さいと判定された場合、補正量算出部１２ｉが実施の形態３の補正量算出部１２ｂと同様の処理を実行し、遅延部１３ｉが実施の形態３の遅延部１３ｂと同様の処理を実行し、減算部１４ｉが実施の形態３の減算部１４ｂと同様の処理を実行するようになっている。すなわち、２次元配列Ｙにおける各行の先頭部に配置されたデータＤ（１，ｙ）に基づき、行毎に補正量ＣＶが算出される。
【０１５７】
列方向に対する値の変動量が行方向に対する値の変動量よりも小さいと判定された場合、補正量算出部１２ｉが実施の形態６の補正量算出部１２ｅと同様の処理を実行し、遅延部１３ｉが実施の形態６の遅延部１３ｅと同様の処理を実行し、減算部１４ｉが実施の形態６の減算部１４ｅと同様の処理を実行するようになっている。すなわち、２次元配列Ｙにおける各列の先頭部に配置されたデータＤ（ｘ，１）に基づき、列毎に補正量ＣＶが算出される。
【０１５８】
入力部１１、補正量算出部１２ｉ、遅延部１３ｉ、減算部１４ｉ、型変換部１５、オイラー変換部１６及び出力部１７により、位相係数算出器２ｉの要部が構成されている。
【０１５９】
行方向に対する値の変動量が小さい場合、行毎に補正量ＣＶを算出して減算することにより演算精度を向上することができる。他方、列方向に対する値の変動量が小さい場合、列毎に補正量ＣＶを算出して減算することにより演算精度を向上することができる。位相係数算出器２ｉは、これらの変動量の大小関係に応じて補正量ＣＶの算出方法を切り替えることにより、いずれの場合であっても演算精度を向上することができる。
【０１６０】
以上のように、実施の形態１０の位相係数算出器２ｉにおいて、データ列ＤＳは２次元配列Ｙに対応するものであり、補正量算出部１２ｉは、データ列ＤＳの生成に用いられた複数個のベクトルの各々における最大値と最小値との比率を取得して、当該取得した比率同士を比較することにより、２次元配列Ｙにおける行方向及び列方向のうちの値の変動量がより小さい方向を判定して、当該判定した方向に応じて補正量ＣＶの算出方法を切り替える。これにより、演算精度を向上することができる。
【０１６１】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【０１６２】
本発明の位相係数算出器は、例えば、合成開口レーダのチャープスケーリングアルゴリズムにおいてサンプリングにより得られた２次元配列用の係数乗算器において、位相係数の算出に用いることができる。
【符号の説明】
【０１６３】
１  前処理部、２，２ａ，２ｂ，２ｃ，２ｄ，２ｅ，２ｆ，２ｇ，２ｈ，２ｉ  位相係数算出器、３  乗算部、１１  入力部、１２，１２ａ，１２ｂ，１２ｃ，１２ｄ，１２ｅ，１２ｆ，１２ｇ，１２ｈ，１２ｉ  補正量算出部、１３，１３ａ，１３ｂ，１３ｃ，１３ｄ，１３ｅ，１３ｆ，１３ｇ，１３ｈ，１３ｉ  遅延部、１４，１４ａ，１４ｂ，１４ｃ，１４ｄ，１４ｅ，１４ｆ，１４ｇ，１４ｈ，１４ｉ  減算部、１５  型変換部、１６  オイラー変換部、１７  出力部、２１  受信機、２２  処理回路、２３  送信機、３１  受信機、３２  プロセッサ、３３  メモリ、３４  メモリ、３５  送信機、１００  係数乗算器、１００１〜１００Ｎ  係数乗算器、２００  係数乗算システム。
【図１】
0006632772.tif 000006
【図２】
0006632772.tif 000007
【図３】
0006632772.tif 000008
【図４】
0006632772.tif 000009
【図５】
0006632772.tif 000010
【図６】
0006632772.tif 000011
【図７】
0006632772.tif 000012
【図８】
0006632772.tif 000013
【図９】
0006632772.tif 000014
【図１０】
0006632772.tif 000015
【図１１】
0006632772.tif 000016
【図１２】
0006632772.tif 000017
【図１３】
0006632772.tif 000018
【図１４】
0006632772.tif 000019
【図１５】
0006632772.tif 000020
【図１６】
0006632772.tif 000021
【図１７】
0006632772.tif 000022
【図１８】
0006632772.tif 000023