(57)【要約】【課題】  無駄な固有値分解演算をなくすことが可能な、到来波の方向推定装置の提供【解決手段】到来波の相関行列Ｒを演算する手段６、相関行列について、固有値を求めるための行列ＱＴと固有ベクトルを求めるための行列Ａを生成する手段、ハウスホルダ変換演算の対象となる行列に対して、列ノルムを演算する手段、列ノルムの最大値が、閾値Ｔｈ以下であるか否かを判定する手段、列ノルムの最大値が、閾値以下でない場合に限り、行列に対してハウスホルダ変換演算を繰り返し実行する手段、列ノルムの最大値が、閾値以下であるものと判定された場合に、ハウスホルダ変換演算の実行を中断すると共にハウスホルダ変換演算の実行回数を格納する手段、ハウスホルダ変換演算を更に実行させて、相関行列の固有ベクトルと固有値を求める手段、ハウスホルダ変換演算の実行回数に基づいて、到来波の数を判定する手段９，１０、から構成される。【選択図】    図２
2006284180.tif 000002
【特許請求の範囲】
【請求項１】
複数のアンテナで受信した複数の到来波の受信データから、前記到来波の到来方向を推定する、到来波の方向推定装置において、
前記複数のアンテナで受信した、複数の到来波の受信データから、その相関行列を演算する相関行列演算手段、
前記相関行列演算手段で演算された前記相関行列に対して、ハウスホルダ変換演算を実施して、前記相関行列を、固有ベクトルと固有値とに分解処理する固有値分解演算手段、
前記固有値分解演算手段に設けられ、前記相関行列について、固有値を求めるための行列と固有ベクトルを求めるための行列を生成する行列生成手段、
前記固有値分解演算手段に設けられ、前記固有値を求めるための行列において、前記ハウスホルダ変換演算を行うたび毎に、前記ハウスホルダ変換演算の対象となる行列に対して、各列の成分の列ノルムを演算する列ノルム演算手段、
前記固有値分解演算手段に設けられ、前記ハウスホルダ変換演算を行うたび毎に、前記列ノルム演算手段により演算されたハウスホルダ変換演算の対象となる行列の列ノルムの最大値が、所定の閾値以下であるか否かを判定する、列ノルム最大値判定手段、
前記固有値分解演算手段に設けられ、前記列ノルム最大値判定手段により、前記列ノルム演算手段により演算されたハウスホルダ変換演算の対象となる行列の列ノルムの最大値が、所定の閾値以下でないものと判定された場合に限り、前記固有値を求めるための行列に対してハウスホルダ変換演算を、繰り返し実行するハウスホルダ変換演算実行手段、
前記固有値分解演算手段に設けられ、前記列ノルム最大値判定手段により、前記列ノルム演算手段により演算されたハウスホルダ変換演算の対象となる行列の列ノルムの最大値が、所定の閾値以下であるものと判定された場合に、前記ハウスホルダ変換演算実行手段によるハウスホルダ変換演算の実行を中断すると共に、前記ハウスホルダ変換演算実行手段によるハウスホルダ変換演算の実行回数を所定のメモリに格納する変換演算実行制御手段、
前記固有値分解演算手段に設けられ、前記変換演算実行制御手段によりハウスホルダ変換演算の実行が中断された前記固有値を求めるための行列に対して、前記ハウスホルダ変換演算実行手段及び変換演算実行制御手段によるハウスホルダ変換演算を、所定回数に達するまで更に実行させて、その結果から、前記相関行列の前記固有ベクトルと固有値を求める、収束演算実行手段、及び、
前記求められた固有値及び前記メモリ手段に格納されたハウスホルダ変換演算の実行回数に基づいて、前記到来波の数を判定する信号ランク判定手段、
を有する、到来波の方向推定装置。
【請求項２】
前記閾値として、０又は０に近い値を格納するメモリ手段を有し、
前記変換演算実行制御手段は、前記列ノルムの最大値が負の場合に、前記ハウスホルダ変換演算の更なる実行を中断させる、ことを特徴とする、請求項１記載の到来波の方向推定装置。
【請求項３】
複数のアンテナで受信した複数の到来波の受信データから、前記到来波の到来方向を推定する、到来波の方向推定装置において、
前記複数のアンテナで受信した、複数の到来波の受信データから、その相関行列を演算する相関行列演算手段、
前記相関行列演算手段で演算された前記相関行列に対して、ハウスホルダ変換演算を実施して、前記相関行列を、固有ベクトルと固有値とに分解処理する固有値分解演算手段、
前記固有値分解演算手段に設けられ、前記相関行列について、固有値を求めるための行列と固有ベクトルを求めるための行列を生成する行列生成手段、
前記固有値分解演算手段に設けられ、前記固有値を求めるための行列において、前記ハウスホルダ変換演算を行うたび毎に、前記ハウスホルダ変換演算の対象となる行列に対して、各列の成分の列ノルムを演算する列ノルム演算手段、
前記固有値分解演算手段に設けられ、前記ハウスホルダ変換演算を行うたび毎に、前記列ノルム演算手段により演算されたハウスホルダ変換演算の対象となる行列の列ノルムの最大値が、所定の閾値以下であるか否かを判定する、列ノルム最大値判定手段、
前記固有値分解演算手段に設けられ、前記列ノルム最大値判定手段により、前記列ノルム演算手段により演算されたハウスホルダ変換演算の対象となる行列の列ノルムの最大値が、所定の閾値以下でないものと判定された場合に限り、前記固有値を求めるための行列に対してハウスホルダ変換演算を、繰り返し実行するハウスホルダ変換演算実行手段、
前記固有値分解演算手段に設けられ、前記列ノルム最大値判定手段により、前記列ノルム演算手段により演算されたハウスホルダ変換演算の対象となる行列の列ノルムの最大値が、所定の閾値以下であるものと判定された場合に、前記ハウスホルダ変換演算実行手段によるハウスホルダ変換演算の実行を中断すると共に、前記ハウスホルダ変換演算実行手段によるハウスホルダ変換演算の実行回数を所定のメモリに格納する変換演算実行制御手段、
前記固有値分解演算手段に設けられ、前記変換演算実行制御手段によりハウスホルダ変換演算の実行が中断された前記固有値を求めるための行列に対して、前記ハウスホルダ変換演算実行手段及び変換演算実行制御手段によるハウスホルダ変換演算を、所定回数に達するまで更に実行させて、その結果から、前記相関行列の前記固有ベクトルと固有値を求める、収束演算実行手段、
前記メモリ手段に格納されたハウスホルダ変換演算の実行回数に基づいて、前記到来波の数を判定する信号ランク判定手段、及び
前記所定の閾値を、前記受信データにおいて雑音のみが捕捉された際の、前記固有値を求めるための行列の列ノルムよりも大きくなるように設定する閾値設定手段、
を有することを特徴とする、到来波の方向推定装置。
【請求項４】
前記閾値設定手段は、前記所定の閾値を、前記受信データにおいて雑音のみが捕捉された際の、前記固有値を求めるための行列の列ノルムよりも大きく、前記受信データの到来波の信号についての、前記固有値を求めるための行列の列ノルムよりも小さな値となるように設定することを特徴とする、請求項３記載の到来波の方向推定装置。
【請求項５】
前記閾値設定手段は、前記所定の閾値を、周囲の環境や観測距離に対応させて変動的に設定することを特徴とする、請求項３記載の到来波の方向推定装置。
【請求項６】
前記ハウスホルダ変換演算実行手段によるハウスホルダ変換演算の実行回数の最大数を設定する演算回数設定手段を有し、
前記ハウスホルダ変換演算実行手段によるハウスホルダ変換演算を、前記演算回数設定手段に設定されたハウスホルダ変換演算の実行回数の最大数以内で行うことを特徴とする、請求項１又は３記載の到来波の方向推定装置。
【請求項７】
前記演算回数設定手段は、前記ハウスホルダ変換演算の実行回数の最大数を、周囲の環境や観測距離に対応させて変動的に設定することを特徴とする、請求項６記載の到来波の方向推定装置。
【請求項８】
前記収束演算実行手段による、前記ハウスホルダ変換演算実行手段及び変換演算回数制御手段による前記ハウスホルダ変換演算の、各回の実行回数を制御する変換演算実行制御手段を設け、
前記変換演算回数制御手段は、Ｎ回目の前記ハウスホルダ変換演算実行手段及び変換演算実行制御手段によるハウスホルダ変換演算の実行回数を、それ以前の回におけるハウスホルダ変換演算の実行回数以下に制御することを特徴とする、請求項１または３記載の到来波の方向推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアンテナ素子に到来する、電波や音波などの到来波の方向推定装置に関する。
【背景技術】
【０００２】
従来、複数のアンテナ素子で到来する同一周波数の一つ以上の電波や音波などの波を捕捉し、その到来方向を推定演算する技術が知られている。こうした方法として、一般にＭＵＳＩＣ（Multiple  Signal  Classification）法が知られている（例えば、特許文献１参照）。
【０００３】
ＭＵＳＩＣ法は、到来波の信号データベクトルから、それら信号データベクトルの相関行列を求め、当該求められた相関行列を、固有ベクトルと固有値とに分解する固有値分解演算を行い、求められた固有ベクトルから、到来波の方位を推定するものである。上記した到来方位を求める際には、事前に到来波の数を推定しておく必要がある。到来波数の推定は、一般に固有値を用いて行われ、ＡＩＣ、ＭＤＬ、しきい値法などがある。
【０００４】
【特許文献１】特開平２０００−１２１７１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
この、固有値分解演算には、ハウスホルダや、ヤコビ法を利用した方法等が知られているが、到来波のＳＮ比が高い、即ち、到来波がノイズに比して非常に大きな場合や、複数の到来波の到来方位差が小さな場合に、固有値の最大値と最小値の比が大きくなるために、特に小さい方の固有値の演算中に桁落ちが生じ、演算された固有値が負の値を取ってしまったり、信頼度の低い値をとってしまったりする場合がある。特に、演算に不十分な語長の固定小数点方式を用いていると、上述した不都合が現れやすい。
【０００６】
固有値の値が信頼性の低いものとなってしまうと、当該固有値から演算される到来波の数は不正確なものとなり、正しい到来波の数の推定が困難となる不都合が生じるばかりか、結果的に信頼性の低い固有値を求めるために、固有値分解演算において無駄な演算動作が繰り返され、演算処理装置に無用な演算負荷を与えることとなる。
【０００７】
本発明は、上記した事情に鑑み、無駄な固有値分解演算を極力なくすことが出来、信頼性の高い到来波の数の判定が可能な、到来波の方向推定装置の提供を可能とするものである。
【課題を解決するための手段】
【０００８】
請求項１の発明は、複数のアンテナで受信した複数の到来波の受信データから、前記到来波の到来方向を推定する、到来波の方向推定装置において、
複数のアンテナ（１５）で受信した、複数の到来波の受信データから、その相関行列（Ｒ）を演算する相関行列演算手段（６）、
前記相関行列演算手段で演算された前記相関行列に対して、ハウスホルダ変換演算（図３のステップＳ５からステップＳ８など）を実施して、前記相関行列を、固有ベクトル（Ｑ）と固有値（λ）とに分解処理する固有値分解演算手段（７）、
前記固有値分解演算手段に設けられ、前記相関行列について、固有値を求めるための行列（ＱＴ）と固有ベクトルを求めるための行列（Ａ）を生成する行列生成手段（７，図３のステップＳ１、ステップＳ２、ステップＳ１０など）、
前記固有値分解演算手段に設けられ、前記固有値を求める行列において、前記ハウスホルダ変換演算を行うたび毎に、前記ハウスホルダ変換演算の対象となる行列に対して、各列の成分の列ノルムを演算する列ノルム演算手段（７，ステップＳ３など）、
前記固有値分解演算手段に設けられ、前記ハウスホルダ変換演算を行うたび毎に、前記列ノルム演算手段により演算されたハウスホルダ変換演算の対象となる行列の列ノルムの最大値が、所定の閾値（Ｔｈ）以下であるか否かを判定する、列ノルム最大値判定手段（７，図３のステップＳ４など）、
前記固有値分解演算手段に設けられ、前記列ノルム最大値判定手段により、前記列ノルム演算手段により演算されたハウスホルダ変換演算の対象となる行列の列ノルムの最大値が、所定の閾値以下でないものと判定された場合に限り、前記固有値を求めるための行列に対してハウスホルダ変換演算を、繰り返し実行するハウスホルダ変換演算実行手段（７，図３のステップＳ３乃至ステップＳ８）、
前記固有値分解演算手段に設けられ、前記列ノルム最大値判定手段により、前記列ノルム演算手段により演算されたハウスホルダ変換演算の対象となる行列の列ノルムの最大値が、所定の閾値以下であるものと判定された場合に、前記ハウスホルダ変換演算実行手段によるハウスホルダ変換演算の実行を中断すると共に、前記ハウスホルダ変換演算実行手段によるハウスホルダ変換演算の実行回数を所定のメモリに格納する変換演算実行制御手段（７，図３のステップＳ４など）、
前記固有値分解演算手段に設けられ、前記変換演算実行制御手段によりハウスホルダ変換演算の実行が中断された前記固有値を求めるための行列に対して、前記ハウスホルダ変換演算実行手段及び変換演算実行制御手段によるハウスホルダ変換演算を、所定回数に達するまで更に実行させて、その結果から、前記相関行列の前記固有ベクトルと固有値を求める、収束演算実行手段（７．図３のステップＳ１１、Ｓ１２，Ｓ１４など）、及び、
前記求められた前記固有値及び前記メモリ手段に格納されたハウスホルダ変換演算の実行回数に基づいて、前記到来波の数を判定する信号ランク判定手段（９，１０）、
から構成される。
【０００９】
請求項２の発明は、前記閾値（Ｔｈ）として、０又は０に近い値格納するメモリ手段を有し、
前記変換演算実行制御手段は、前記列ノルムの最大値が負の場合に、前記ハウスホルダ変換演算の更なる実行を中断させる、ことを特徴として構成される。
【００１０】
請求項３の発明は、複数のアンテナで受信した複数の到来波の受信データから、前記到来波の到来方向を推定する、到来波の方向推定装置において、
複数のアンテナ（１５）で受信した、複数の到来波の受信データから、その相関行列（Ｒ）を演算する相関行列演算手段（６）、
前記相関行列演算手段で演算された前記相関行列に対して、ハウスホルダ変換演算（図３のステップＳ５からステップＳ８など）を実施して、前記相関行列を、固有ベクトル（Ｑ）と固有値（λ）とに分解処理する固有値分解演算手段（７）、
前記固有値分解演算手段に設けられ、前記相関行列について、固有値を求めるための行列（ＱＴ）と固有ベクトルを求めるための行列（Ａ）を生成する行列生成手段（７，図３のステップＳ１、ステップＳ２、ステップＳ１０など）、
前記固有値分解演算手段に設けられ、前記固有値を求める行列において、前記ハウスホルダ変換演算を行うたび毎に、前記ハウスホルダ変換演算の対象となる行列に対して、各列の成分の列ノルムを演算する列ノルム演算手段（７，ステップＳ３など）、
前記固有値分解演算手段に設けられ、前記ハウスホルダ変換演算を行うたび毎に、前記列ノルム演算手段により演算されたハウスホルダ変換演算の対象となる行列の列ノルムの最大値が、所定の閾値（Ｔｈ）以下であるか否かを判定する、列ノルム最大値判定手段（７，図３のステップＳ４など）、
前記固有値分解演算手段に設けられ、前記列ノルム最大値判定手段により、前記列ノルム演算手段により演算されたハウスホルダ変換演算の対象となる行列の列ノルムの最大値が、所定の閾値以下でないものと判定された場合に限り、前記固有値を求めるための行列に対してハウスホルダ変換演算を、繰り返し実行するハウスホルダ変換演算実行手段（７，図３のステップＳ３乃至ステップＳ８）、
前記固有値分解演算手段に設けられ、前記列ノルム最大値判定手段により、前記列ノルム演算手段により演算されたハウスホルダ変換演算の対象となる行列の列ノルムの最大値が、所定の閾値以下であるものと判定された場合に、前記ハウスホルダ変換演算実行手段によるハウスホルダ変換演算の実行を中断すると共に、前記ハウスホルダ変換演算実行手段によるハウスホルダ変換演算の実行回数を所定のメモリに格納する変換演算実行制御手段（７，図３のステップＳ４など）、
前記固有値分解演算手段に設けられ、前記変換演算実行制御手段によりハウスホルダ変換演算の実行が中断された前記固有値を求めるための行列に対して、前記ハウスホルダ変換演算実行手段及び変換演算実行制御手段によるハウスホルダ変換演算を、所定回数に達するまで更に実行させて、その結果から、前記相関行列の前記固有ベクトルと固有値を求める、収束演算実行手段（７．図３のステップＳ１１、Ｓ１２，Ｓ１４など）、
前記メモリ手段に格納されたハウスホルダ変換演算の実行回数に基づいて、前記到来波の数を判定する信号ランク判定手段、及び、
前記所定の閾値を、前記受信データにおいて雑音のみが捕捉された際の、前記固有値を求めるための行列の列ノルムよりも大きくなるように設定する閾値設定手段、
を有することを特徴として構成される。
【００１１】
また、請求項４の発明は、請求項３の発明において、前記閾値設定手段は、前記所定の閾値を、前記受信データにおいて雑音のみが捕捉された際の、前記固有値を求めるための行列の列ノルムよりも大きく、前記受信データの到来波の信号についての、前記固有値を求めるための行列の列ノルムよりも小さな値となるように設定することを特徴として構成される。
【００１２】
請求項５の発明は、請求項３の発明において、前記閾値設定手段は、前記所定の閾値を、周囲の環境や観測距離に対応させて変動的に設定することを特徴として構成される。
【００１３】
請求項６の発明は、請求項１又は３の発明において、前記ハウスホルダ変換演算実行手段によるハウスホルダ変換演算の実行回数の最大数を設定する演算回数設定手段を有し、
前記ハウスホルダ変換演算実行手段によるハウスホルダ変換演算を、前記演算回数設定手段に設定されたハウスホルダ変換演算の実行回数の最大数以内で行うことを特徴として構成される。
【００１４】
請求項７の発明は、請求項６の発明において、前記演算回数設定手段は、前記ハウスホルダ変換演算の実行回数の最大数を、周囲の環境や観測距離に対応させて変動的に設定することを特徴として構成される。
【００１５】
請求項８の発明は、請求項１又は３の発明において、前記収束演算実行手段による、前記ハウスホルダ変換演算実行手段及び変換演算実行制御手段による前記ハウスホルダ変換演算の、各回の実行回数を制御する変換演算回数制御手段を設け、
前記変換演算回数制御手段は、Ｎ回目の前記ハウスホルダ変換及演算実行手段及び変換演算実行制御手段によるハウスホルダ変換演算の実行回数を、それ以前の回におけるハウスホルダ変換演算の実行回数以下に制御することを特徴として構成される。
【発明の効果】
【００１６】
請求項１の発明によれば、ハウスホルダ変換演算は、固有値を求める行列から演算される列ノルムの最大値が、所定の閾値以下の場合に、それ以上のハウスホルダ変換演算を行わないので、閾値を適宜設定することにより、信号に対応せず、かつ演算結果の信頼性の低い列についてハウスホルダ変換演算が実行されることを未然に防止することが出来る。これにより、無駄な固有値分解演算の発生を極力防止することが出来る。
【００１７】
また、固有値を求める行列から演算される列ノルムの最大値が、所定の閾値以下の場合には、それ以降のハウスホルダ変換演算を行わないので、その時点までのハウスホルダ変換演算の実行回数が、信号数（ランク）と対応することとなり、より信頼性の高い到来波のランクの判定が可能となる。これにより、たとえ、固有値から求められた到来波の数が、誤って多く演算されたとしても、ハウスホルダ変換演算の実行回数に基づいて修正される形でその到来波の数が判定されるので、より正確な判定が可能となる。
【００１８】
請求項２の発明によると、閾値は、０又は０に近い値であることから、固有値が負となる列に対する無駄なハウスホルダ変換演算の実行を排除することが可能となる。
【００１９】
請求項３の発明によると、閾値は、前記受信データにおいて雑音のみが捕捉された際の、前記固有値を求めるための行列の列ノルムよりも大きくなるように予め設定されているので、雑音に対するハウスホルダ変換演算の実行を排除し、演算負荷を軽減することができる。
【００２０】
請求項４の発明によると、閾値は、前記受信データにおいて雑音のみが捕捉された際の、前記固有値を求めるための行列の列ノルムよりも大きく、前記受信データの到来波の信号についての、前記固有値を求めるための行列の列ノルムよりも小さな値となるように予め設定されているので、雑音に対するハウスホルダ変換演算の実行を排除し、演算負荷を軽減することができばかりか、ハウスホルダ変換演算回数を直ちに到来波の信号の数とすることが出来、固有値に基づく到来波の数の判定処理をなくすことが出来る。
【００２１】
請求項５の発明によると、例えば、カーナビゲーションシステムなどを用いて周囲の環境を検出し、その結果、検出されたトンネル内などにおいては、レーダから発射した電波が、多くの場所（車両、壁など）に反射されて帰ってくることが予想される。こうした到来波の数が多くなることが予想され場合に、閾値（Ｔｈ）を低く設定して、より多くの到来波を的確に捕捉し、それ以外の到来波の数が少ないことが予想される開放された路上などにおいては、閾値（Ｔｈ）を高めに設定して、無駄な雑音列ノルムに係わる信号の演算動作を行わないようにし、効率的な演算動作を可能とすることが出来る。また、観測距離が遠くなる場合も、多くの場所から反射してくることが予想されるため、上述と同様のことが可能である。
【００２２】
請求項６の発明によると、到来波の最大数が予め判っているような場合には、ハウスホルダ変換演算実行手段によるハウスホルダ変換演算の実行回数を予め当該最大数に設定しておき、無駄な演算動作が発生することを防止するように構成することも可能である。
【００２３】
請求項７の発明によると、例えば、カーナビゲーションシステムなどを用いて周囲の環境を検出し、その結果、検出されたトンネル内などにおいては、レーダから発射した電波が、多くの場所（車両、壁など）に反射されて帰ってくることが予想される。こうした到来波の数が多くなることが予想され場合に、ハウスホルダ変換演算の実行回数を多く設定して、より多くの到来波についての固有値を的確に演算し、それ以外の到来波の数が少ないことが予想される開放された路上などにおいては、ハウスホルダ変換演算の実行回数を少なく設定して、無駄な雑音列ノルムに係わる信号の固有値演算動作を行わないようにし、効率的な演算動作を可能とすることが出来る。また、観測距離が遠くなる場合も、多くの場所から反射してくることが予想されるため、上述と同様のことが可能である。
【００２４】
請求項８の発明によると、前の回の演算サイクルにおいて桁落ちなどが生じてハウスホルダ変換演算が行われていない行列部分に対してハウスホルダ変換演算が行なわれることが防止され、演算効率を高めることが出来る。
【００２５】
なお、括弧内の番号等は、図面における対応する要素を示す便宜的なものであり、従って、本記述は図面上の記載に限定拘束されるものではない。
【発明を実施するための最良の形態】
【００２６】
以下、図面に基づき、本発明の実施例を説明する。
【００２７】
図１は、到来波方位測定装置の一例を示すブロック図、図２は、信号処理の一例を示すチャート、図３は、固有値分解演算処理の一例を示すフローチャート、図４乃至図１０は、図３のフローチャートにおける、具体的な演算例の一例を示す図、図１１は、列ノルムの演算方法の一例を示す図、図１２は、到来波数の判定処理の別の例を示すチャート、図１３は、演算式の一例を示す図、図１４は、固有値分解演算の基本概念の一例を示すフローチャートである。
【００２８】
到来波方位測定装置１は、図１に示すように、主制御部２を有しており、主制御部２には、バス線３を介して、信号受信部５、相関行列演算部６、固有値分解演算部７、信号ランク推定演算部９、信号ランク判定部１０、スペクトル演算部１１、到来波方位演算部１２及び出力部１３などが接続している。信号受信部５には、Ｋ個（複数）のアンテナ１５が設けられている。
【００２９】
なお、図１に示した到来波方位測定装置１は一例であり、図面にブロックで示された各構成部分は、コンピュータを構成するＣＰＵ（中央演算処理装置）及び適宜なメモリ、さらに、当該コンピュータを活性化させるプログラムにより、置換することも当然可能である。この場合、コンピュータがプログラムの各ステップを実行することにより、図１に示した到来波方位測定装置１を構成する各ブロックとして機能することとなる。
【００３０】
以下、図１に示す、到来波方位測定装置１の信号受信部５，相関行列演算部６，固有値分解演算部７，信号ランク推定演算部９，信号ランク判定部１０の機能について、図１４と共に説明する。
【００３１】
[信号受信部5]
サンプリング時刻mΔT1(ΔT1はサンプリング間隔、mは自然数)において、各アンテナ素子15-1から15-K（Ｋはアンテナ素子数）で得られる複素データをx1(m),x2(m),…,xK(m)とすると、信号受信部では、式(1)で表されるサイズKのデータベクトルx(m)を得る。上付きのTは転置を表す。
【数１】
2006284180.tif 000003
【００３２】
｛相関行列演算部６｝
相関行列演算部では式(2)を用いて、時刻nΔT2(ΔT2は相関行列を算出する時間間隔)における相関行列Rxx(n)を求める。Rxxは(K×K)の半正定値あるいは正定値エルミート行列である。あとでも触れるが、半正定値エルミート行列の場合、固有値はすべて0以上の実数となる(正定値の場合、固有値は0より大きい実数となる)。上付きのHは複素共役転置を表す。SSNはスナップショット数で、相関行列演算に用いるデータベクトルの数を表す。βは忘却係数で0〜1の範囲の値を取る。Rxx(n-1)は時刻(n-1)ΔT2における相関行列である。
【数２】
2006284180.tif 000004
【００３３】
なお、アンテナ素子が中心対称に配置されている場合、式(3)に示すような変換をすることで実数対称な相関行列Ryyを得られる。QKはK×Kのユニタリ行列である。詳細は文献[２][４]を参照。realは実数部のみを取り出す演算を表す。
【数３】
2006284180.tif 000005
【００３４】
実数相関行列Ryyを用いれば、後の固有値分解演算量を大きく削減することができる。
【００３５】
こうして求められた相関行列Ryy(あるいはRxx)は、固有値分解演算部に出力され、固有ベクトルQと固有値λに分解される。
【００３６】
｛固有値分解演算部７｝
固有値分解演算は、ハウスホルダ変換演算を利用したQR分解を繰りかえし利用することで行う。１回の固有値分解演算は複数回のQR分解演算を含み、１回のQR分解演算は複数回のハウスホルダ変演算換を含む。ここでは、１回の固有値分解演算中に行うQR分解演算の回数をNQR[回]とする。また、１回のQR分解演算においては、最大(K-1)回(Kは素子数)のハウスホルダ変換演算が実行される。このハウスホルダ変換演算の実行回数は適宜なメモリ手段に格納される。
【００３７】
フローチャート例(図１４)を用いて処理の流れを説明する。最初は、列ピボット選択が行われる（図１４-S1００）。列ピボット選択演算は、演算対象行列(上記の場合RxxやRyy)のランクが不足している場合にでも、得られる固有ベクトルが直交し、演算精度が向上する利点がある。具体的には、演算対象となる行列の中で「最大のノルムを持つ列」を一番左の列に移動（交換）する操作を行う。列ピボット選択を用いたハウスホルダ変換演算については文献[３]p248-p250に記述がある。
【００３８】
列ピボット選択後、ハウスホルダ変換処理を実行するか否かを判定する（図１４-S2００）。この判定は、列ノルムの最大値が、予め設定されたしきい値(Th)より大きいか否かによって決定する（以下）。
列ノルムの最大値＞＝しきい値  ハウスホルダ変換を実行
列ノルムの最大値＜  しきい値  ハウスホルダ変換を中止
通常、しきい値Thは列ノルムの最大値が負であることをチェックすることのできる値、即ち、「0」または「0」に近い値が予め設定されている。先にも述べたが,Ryy(あるいはRxx)が半正定値のエルミート行列であるので、得られる固有値は必ず0以上の実数となる（正定値の場合0より大きな実数）。固有値と列ノルムは相互に強く関連している。列ノルムが負または0に近い値となった場合には、桁落ちなどの演算誤差が生じていることが考えられ、以後、更なるハウスホルダ変換演算を行っても求められる固有値の信頼性が低下してしまい、演算負荷ばかりが増加してしまうことから、ハウスホルダ変換を中止しステップ図１４-S5００へ入る。
【００３９】
一方ハウスホルダ変換を実行と判定された場合、ハウスホルダ変換を実行する（図１４-S3００）。
例としてK=4の場合のj(=1,2,3)回目のハウスホルダ変換終了後に得られる行列Ａ(j)を示す。ここで×印は不特定の値が入る。Hは(K×K)のハウスホルダ行列である。A(0)は初期値であり、最初は相関行列Ryyが入る。
【数４】
2006284180.tif 000006
【数５】
2006284180.tif 000007
【数６】
2006284180.tif 000008
【数７】
2006284180.tif 000009
【００４０】
このように、j回目のハウスホルダ変換により、行列A(j-1)の第j列の第j+1行目以降が0となる。このような変換を行うハウスホルダ行列Hの算出法については文献[2]p209-p210参照。ハウスホルダ変換演算を最大(K-1)実行すれば、行列A(K-1)は右上三角行列(対角項より下側成分がすべて0の行列)となる。実際の処理では、２回目以降のハウスホルダ変換はしきい値判定により中断することがあるため、完全な上三角行列にはならない場合がある。この場合、ハウスホルダ変換演算が実行されなかった部分の固有値は正しい値に収束しない。ただし、最終的に得られる固有ベクトル行列Qは各列ベクトルが正規直交するユニタリ行列となるため、最低でも信号ランク数(到来波の数)だけハウスホルダ変換が実行されれば（=信号の固有値・固有ベクトルが正しく得られていれば）、雑音固有ベクトルの張る空間（雑音部分空間）は正しく得られる。これは式(８)の関係から導かれる。ここでEsEsHは信号部分空間を表すK×K行列、EnEnHは雑音部分空間を表すK×K行列である。Es=[e(1) e(2) … e(L)]は信号固有ベクトルをL個横並べたK×L行列、En=[e(K-L) … e(K)]は雑音固有ベクトルを(K-L)個横に並べたK×(K-L)行列、IkはK×Kの単位行列である。このように、信号固有ベクトルEsが正しくもとまれば正しい雑音固有空間が一意に決定される。
【数８】
2006284180.tif 000010
【００４１】
つまりは、MUSICスペクトル算出する場合に必要なのは雑音固有空間であるので、正確なスペクトルを得ることができる。
【００４２】
図１４-S2００において、ハウスホルダ変換が中断するか、図１４-S4００において、ハウスホルダ変換が規定回数(K-1)回に達したと判定された場合、図１４-S5００に入り式(９)(１０)を計算する。
【数９】
2006284180.tif 000011
【数１０】
2006284180.tif 000012
【００４３】
式（１０）において、Ｑの初期値はK×Kの単位行列を入れておく。ここでNh(ite)(=<K-1)はite回目のQR分解演算において実行されたハウスホルダ変換実行回数であり、後の信号ランクの推定に利用するため適宜メモリ手段に記憶しておく。次に図１４-S6００においてQR分解演算が規定回数(NQR[回])に達したかの判定を行う。QR分解演算が規定回数に達していない場合、A(0) は次回QR分解演算への入力として使用される。QR分解演算が規定回数に達した場合、固有値分解演算を終了する。このときA(0)の対角項が固有値λ=[λ1 λ2 … λK]Tであり、行列QＨ=[e(1) e(2) … e(K)]Ｈの各列が各固有値λ1〜λKに対応した固有ベクトルである。
【００４４】
｛信号ランク推定演算部９｝
こうして固有値分解演算部7において、相関行列Ryy(あるいはRxx)の固有値λが求められたところで、当該求められた固有値λを、図１の信号ランク推定演算部9に出力し、信号ランク推定演算部９は、固有値λから、到来波数(信号ランク)を推定する。推定法としては、AICやMDL、しきい値法などがある。しきい値法では、例えば予め設定さえた所定しきい値より大きな固有値については到来波の信号の固有値とし、小さなものは雑音の固有値と判定して、信号ランクLt、即ち到来波の数Ltを推定する。
【００４５】
｛信号ランク判定部１０｝
信号ランク判定部１０は、信号ランク推定演算部９で推定された信号ランク、即ち到電波の数Ｌｔと、固有値分解演算部７で実行されたハウスホルダ変換実行回数Nh(i)(i=1,2,..,NQR)のうち、一番小さい値を信号ランク、即ち到来波の数Lとする演算を行い、求められた到来波（信号）の数Lを、スペクトル演算部１１に対して出力する。
【００４６】
｛スペクトル演算部１１｝
こうして、信号ランク推定部10により、ハウスホルダ変換演算回数Nhが考慮された形で、信号ランクLが判定され、その値Lが、図1に示す、スペクトル演算部11に出力されると、スペクトル演算部11は、公知の手法により、図2に示すようにMUSICスペクトラムSPEを演算して求め、当該求められたMUSICスペクトラムSPEを、到来波方位演算部12に出力する。
【００４７】
｛到来波方位演算部１２｝
到来波方位演算部12は、当該MUSICスペクトラムSPEから、公知の手法で、到来波の到来する方位θ1、θ2を演算することが出来るが、MUSICスペクトラムSPEは、既に述べたように、信号の数Lが、相関行列Ryy(あるいはRxx)の固有値分解演算に際したハウスホルダ変換演算回数Nhに基づいて補正され、信頼性の低いデータが排除されているので、実態のない所謂「偽ピーク」を排除した形で、正確な到来波の方位を算出することができる。ただし「偽ピーク」を完全に排除できるわけではないので、より正確な推定には電力推定演算などを利用する必要がある（関連参考特許文献[５]）。
【００４８】
文献[２]菊間信良、‘アダプティブアンテナ技術’、オーム社、ISBN4-274-03611-1
文献[３]Gene  H  Golub  et  al，‘MATRIX  COMPUTATION’(3rd  edition)，Jhon  Hopkins  Univ．Press，ISBN0-8018-5414-8
参考特許文献[４] 特願平１０−１５２６２９
参考特許文献[５] 特願平１０−２９０７６６
【００４９】
以下、より具体的に説明すると、到来波方位測定装置１は、発信位置（レーダの場合は反射位置）の異なる１個以上の、同一周波数の複数の到来波１６が方位θ１、θ２、……などでＫ個のアンテナ１５にそれぞれ入射すると、信号受信部５は、それら各アンテナ１５で受信した、一個以上の到来波１６を含む受信データｘを、受信データベクトルＸとして、相関行列演算部６に出力する。受信データベクトルＸは、例えば、図１３の（ａ）で示すように表示される。図中ｘｉ（ｉは個々のアンテナを示す序数で、この場合、アンテナは例えば、３個有り、順にｉ＝１，２，３の番号が付されているものとする。なお、アンテナの数は任意である）は、各アンテナ１５で受信した信号の受信データである。以後、ＭＵＳＩＣ法に基づいて、受信データに対する処理を実行する。
【００５０】
Ｋ個のアンテナ素で受信された受信データｘｉ（ｉ＝１，２……Ｋ）からなる受信データベクトルＸは、相関行列演算部６に出力され、相関行列演算部６は、当該受信データベクトルＸに基づいて、図１３（ｂ）に示すように、Ｋ次の正方行列からなる受信データベクトルＸの相関行列Ｒを、演算生成する。こうして求められた相関行列Ｒは、固有値分解演算部７に出力され、ここで、固有ベクトルＱと固有値λとに分解演算される。
【００５１】
この固有値分解演算部７による固有値分解演算は、図３に示すような手順で行われる。これらの手順は、コンピュータによりプログラマブルに実行することも出来る。即ち、固有値分解演算部７は、ステップＳ１に示すように、相関行列演算部６から出力された相関行列Ｒを、固有値を求めるための行列Ａに代入し、到来波方位測定装置１に設けられたメモリであるＲＡＭ（ランダムアクセスメモリ）１７に、図３及び図４（１）及び（２）に示すように、格納する、初期化処理を実行する。なお、図４に示す演算例は、説明を簡略化するために、アンテナの数が３個の場合で説明するが、既に述べたように、アンテナの数は任意である。
【００５２】
また、初期化に際しては、図４（２）に示すように、固有ベクトルを求めるための行列ＱＴとして、素子数Ｋ（図４（２）の場合、素子数は３）の単位行列を代入し、更に、固有値を求める収束演算のサイクル演算回数を表示するパラメータとしてＩｔｅ＝１を代入し、図３（２）に示すように、ＲＡＭ１７に格納する。
【００５３】
次に、図３のステップＳ２に入り、図４（３）に示すように、ハウスホルダ変換演算回数Ｎｈ＝１としてＲＡＭ１７に格納すると共に、行列Ｑｉとして、素子数Ｋに対応したＫ次の単位行列（図４（２）の場合、素子数は３なので、３次の単位行列）を代入し、同様にＲＡＭ１７に格納する。
【００５４】
次に、図３のステップＳ３に入り、以下ステップＳ３からステップＳ８から構成される、１回以上のハウスホルダ変換演算を含むＱＲ分解演算を、図３のステップＳ１１で示す所定のサイクル回数ＮＱＲだけ実行する、固有値分解演算を行う。
【００５５】
即ち、まず行列Ａの列ノルムｃｃを演算する。図４（２）に示す行列Ａの列ノルムｃｃは、図４（４）に示すように求められる。いまだハウスホルダ変換演算を実行していない状態の行列Ａの列ノルムｃｃの演算は、図１１（１）に示すように、行列Ａの全ての成分について行われる。
ここで、列ノルムｃｃの最大値を示す列を抽出し、ｉｎｄ＿ｋに代入して、その値をＲＡＭ１７に格納する。図４（４）の場合、２列目の列ノルムｃｃが最大値：２．９２６０を取るので、ｉｎｄ＿ｋ＝２を代入する。
【００５６】
次に、図３のステップＳ４に入り、列ノルムｃｃの最大値が、予め設定され、ＲＡＭ１７などのメモリに格納された閾値Ｔｈより大きいか否かを判定すると共に、前述のハウスホルダ変換演算回数Ｎｈが、アンテナの素子数Ｋ未満であるか否かを判定する。通常、閾値Ｔｈは列ノルムｃｃの最大値が負であることをチェックすることの出来る値、即ち、「０」又は「０」に近い値（後述する、列ノルムｃｃの最大値が負となる場合をチェックすることが出来れば、必ずしも０でなくても良いという意味である）が、固有値分解演算部７により、予め設定されている（プログラムで設定することも当然可能である）ので、列ノルムｃｃが負の値となった状態で、後述するハウスホルダ演算が行われる事態を回避することが出来る。通常、列ノルムｃｃは負の値を取ることはないので、列ノルムｃｃが負又は「０」に近い値となった場合には、桁落ちなどの演算誤差が生じていることが考えられ、以後、更なるハウスホルダ演算を行っても求められる固有値の信頼性が低下してしまい、演算負荷ばかりが増加してしまうことから、後述するステップＳ５からステップＳ８のハウスホルダ演算は行なわず、ステップＳ９（詳細は後述する）に入る。
【００５７】
また、信号受信部５で捕捉し、解析可能な到来波の数は、通常、（素子数Ｋ−１）であることから、固有値を求めるのに必要な、Ｋ次の相関行列Ｒに対するハウスホルダ変換演算回数Ｎｈも、最大（素子数Ｋ−１）となる。従って、ステップＳ４では、ハウスホルダ変換演算回数Ｎｈが、素子数Ｋ未満となるように制御し、無駄な変換演算の発生を防止する。
【００５８】
ステップＳ４で、列ノルムｃｃの最大値が閾値Ｔｈ以上であり、かつハウスホルダ変換演算回数Ｎｈが、素子数Ｋ未満と判定された場合には、図３のステップＳ５に入り、ステップＳ８までの間で、行列Ａに対するハウスホルダ変換演算を実行する（図５の（１））。
【００５９】
まず、ステップＳ５では、ステップＳ３の列ノルムｃｃが最大値を示した列と、ハウスホルダ変換演算により対角要素以外の成分が０に未だ変換されていない列の内、最左方の列を入れ替える、ピポット選択を行う。即ち、図４（２）の行列Ａの場合、列ノルムｃｃの最大値を示す列は、図４（４）のｉｎｄ＿ｋ＝２より、２列目であり、行列Ａに対するハウスホルダ変換演算は未だ実行されていないので、行列Ａの最左方である１列目の列と、２列目の列を入れ替えるピポット選択を演算実行し、図５（２）の行列Ａを求め、ＲＡＭ１７に更新格納する。
【００６０】
更に、ステップＳ６で、ハウスホルダ演算回数Ｎｈに１を加算して、当該加算された値をＮｈ＝２を、新たなハウスホルダ演算回数Ｎｈとして、ＲＡＭ１７に更新格納する。
【００６１】
次に、ステップＳ７に入り、図５（３）に示すように、行列Ａに対するハウスホルダ行列Ｈを演算して求め、更にステップＳ８で、Ａ＝Ｈ＊Ａ、Ｑｉ＝Ｈ＊Ｑｉなる行列演算を行い、求められた、図５（４）に示す、行列Ａ及びＱｉを、ＲＡＭ１７にそれまで格納されていた行列Ａ及びＱｉを更新する形で格納する。この場合、行列Ａの第１列目の対角要素より下の二つの要素が０に変換される。
【００６２】
次に、図３のステップＳ３に戻り、行列Ａの、次にハウスホルダ変換演算の対象となる行列に対して、再度列ノルムｃｃを演算し、図５（５）に示す値を得る。即ち、一度ハウスホルダ変換演算が行われた行列Ａについての列ノルムｃｃの演算は、図１１（２）に示すように、既に「０」にされた１列目を除外した、次にハウスホルダ変換演算を行って、対角成分より下の部分を「０」とする対象となる行列部分、従って、２列目及び３列目の対角成分ａ′２２、ａ′２３、ａ′３２、ａ′３３を含む、図中四角で囲んだ正方行列に対して求める。その演算方法は、（Ａ）又は（Ｂ）の二通りがある。得られた列ノルムｃｃから、既に１回目のハウスホルダ変換演算に際して最大値が採用された一列目の列ノルムｃｃを除いた２列目以降の列ノルムｃｃを比較し、最大値を取る列を求める。図５（５）の場合、第３列目の列ノルムｃｃが最大値となるので、ｉｎｄ＿ｋ＝３とする演算を行う。
【００６３】
同様に、ステップＳ４で、列ノルムｃｃの最大値が、予め設定された閾値Ｔｈより大きいか否かを判定すると共に、前述のハウスホルダ変換演算回数Ｎｈが、アンテナの素子数Ｋ未満であるか否かを判定する。このばあい、列ノルムｃｃ＝０．６５５５で、「０」より大きく、また、ハウスホルダ演算回数Ｎｈも２であり、素子数Ｋ＝３よりも少ないので、再度ステップＳ５に入り、ハウスホルダ変換演算を再度実行する。
【００６４】
ステップＳ６では、図６（２）に示すように、列ノルムｃｃの最大値を取る列と、ハウスホルダ変換演算により既に「０」変換された列の右方に隣接する列を入れ替えるピポット選択を実行する。この場合、第２列と第３列を入れ替え、図６（２）に示す行列Ａを得る。また、ステップＳ６で、ハウスホルダ変換演算回数Ｎｈを、１加算し、Ｎｈ＝３とする。
【００６５】
この状態で、ステップＳ７を実行して、図６（３）に示すように、図６（２）の行列Ａに対するハウスホルダ行列Ｈを演算して求め、更にステップＳ８で、Ａ＝Ｈ＊Ａ、Ｑｉ＝Ｈ＊Ｑｉなる行列演算を行い、求められた、図６（４）に示す、行列Ａ及びＱｉを、ＲＡＭ１７にそれまで格納されていた行列Ａ及びＱｉを更新する形で格納する。この演算により、行列Ａの第２列目の対角要素より下の１つの要素が０に変換される。これにより、行列Ａは、第１列目及び第２列目の対角要素より下の要素がすべて「０」に変換されたこととなる。
【００６６】
次に、図３のステップＳ３に戻り、再度行列Ａの列ノルムを求め、ステップＳ４に入るが、この際ハウスホルダ変換演算回数Ｎｈが既に３となっており、素子数Ｋと等しくなっているので、これ以上のハウスホルダ変換演算は不要なものと判定して、固有値を求める収束演算の最初の演算サイクルを抜けてステップＳ９に入る。
【００６７】
ステップＳ９では、ステップＳ５でピポット選択により入れ替えた列順を戻す。即ち、図６（４）の、ハウスホルダ変換演算を２回行った行列Ａは、相関行列Ｒの１列、２列、３列が、２列，３列、１列と入れ替えられた形となっており、その入れ替え状態を示すために、図６（５）に示すように、列入れ替え情報ｐｉｖがｐｉｖ＝２３１と設定され、ＲＡＭ１７に格納される。
【００６８】
列入れ替え情報ｐｉｖに基づいて、図７（１）に示すように、図６（４）の行列Ａの各列を、相関行列Ｒの列に対応する形で入れ替える演算をおこなう。即ち、図６（４）の行列Ａの１列を２列に、２列を３列に、３列を１列に入れ替える演算処理を行い、その結果を行列Ａｉに代入する。
【００６９】
次に、ステップＳ１０に入り、図７（２）に示すように、行列Ａ＝Ａｉ＊ＱｉＨ、ＱＴ＝Ｑｉ＊ＱＴの演算を行い、求められた行列Ａ及びＱＴをＲＡＭ１７に格納する。次に、ステップＳ１１に入り、ＲＡＭ１７内の、固有値を求めるための収束演算のサイクル回数を表示するパラメータＩｔｅ＝１が、所定のサイクル演算回数ＮＱＲよりも大きいか否かを判定し、演算回数Ｉｔｅ＝１が所定のサイクル演算回数ＮＱＲよりも小さな場合には、ステップＳ１２に入り、サイクル回数を表示するパラメータＩｔｅに１を加算してＩｔｅ＝２としてＲＡＭ１７の内容を更新する。以後、固有値分解演算の収束演算のサイクルは２周目入り、図７（２）で求めた行列Ａに対して、再度ハウスホルダ変換演算を実行して、行列Ａの対角要素を固有値に収束させてゆく演算処理を行う。
【００７０】
即ち、収束演算の演算サイクルの２周目に入った固有値分解演算は、図３のステップＳ２で、ハウスホルダ変換演算回数ＮｈをＮｈ＝１に戻してＲＡＭ１７の値を更新すると共に、行列Ｑｉとして、素子数Ｋに対応したＫの単位行列を再代入し、ＲＡＭ１７の値を更新する。
【００７１】
以後、図７（５）から図９（３）により、演算サイクルの２周目の固有値分解演算において、図７（２）の行列Ａに対して、２度のハウスホルダ変換演算を更に、実行し、図３のステップＳ４で、Ｎｈ（＝３）がアンテナの数Ｋ（＝３）となって、ステップＳ９に入る。
【００７２】
ステップＳ９では、図８（１）及び図９（１）で示すように、ステップＳ５でピポット選択により入れ替えた列順を戻して（図８（１）及び図９（１）の場合、列ノルムｃｃの最大値は、それぞれ１列目（図８（１）のｉｎｄ＿ｋ＝１参照）と２列目（図８（４）のｉｎｄ＿ｋ＝２参照）なので、行列Ａのピポット選択は、実際には行われていない）、行列Ａｉとしてその値を、ＲＡＭ１７に格納する。
【００７３】
なお、固有値分解演算部７は、演算サイクルの２周目以降の固有値分解演算においては、１周目で行った行列Ａ（相関行列Ｒ）に対して行ったハウスホルダ変換演算の回数を超えて、１周目で求められた行列Ａに対するハウスホルダ変換演算を行うことはしないように制御する。これは、１周目の固有値分解演算において、ステップＳ４で、列ノルムｃｃの最大値が所定の閾値Ｔｈ以下と判定され、それ以上ハウスホルダ変換演算を行っても、演算結果の信頼性が低いものと判断された場合、２週目以降の収束演算において、１周目のハウスホルダ変換演算回数を超えた回数の変換演算を行っても、演算結果の信頼性は同様に低くなる。従って、２週目以降の固有値分解演算におけるハウスホルダ変換演算回数は、１周目で行った行列Ａ（相関行列Ｒ）に対して行ったハウスホルダ変換演算の回数を超えないように制御し、その分の演算処理に要する負担をなくすようにする。即ち、各演算サイクルで実行するハウスホルダ変換演算の回数は、最初の演算サイクルで実行されたハウスホルダ変換演算の回数が最大値となる。また、ハウスホルダ変換演算回数Ｎｈは、ＭＵＳＩＣ法の原理に基づき、最大でも（アンテナの数Ｋ−１）回である。
【００７４】
次に、ステップＳ１０に入り、図１０（１）に示すように、行列Ａ＝Ａｉ＊ＱｉＨ、ＱＴ＝Ｑｉ＊ＱＴの演算を行い、求められた行列Ａ及びＱＴをＲＡＭ１７に格納する。次に、ステップＳ１１に入り、ＲＡＭ１７内の演算回数を表示するパラメータＩｔｅ＝２が、所定の演算回数ＮＱＲよりも大きいか否かを判定し、演算回数Ｉｔｅ＝２が所定の演算回数ＮＱＲよりも等しいか大きな場合には、行列Ａの対角要素は固有値に収束したものと判定して、ステップＳ１４に入る。
【００７５】
ステップＳ１４では、図１０（１）で求められた行列Ａから、対角成分を取り出して（ｄｉａｇ（Ａ））、図１０（３）に示すように、固有値λを求め、更に固有ベクトルＱを、図１０（１）の行列ＱＴの共役転置行列として求め、ＲＡＭ１７などの適宜なメモリに格納する。
【００７６】
こうして、固有値分解演算部７において、相関行列Ｒの固有値λが求められたところで、当該求められた固有値λを、図１の信号ランク推定演算部９に出力し、信号ランク推定演算部９は、固有値λから、当該固有値を構成する値と所定の閾値を比較して、当該閾値よりも大きな値については到来波の信号の固有値とし、小さなものは雑音の固有値と判定して、信号ランクＬｔ、即ち到来波の数Ｌｔを推定演算する。例えば、図１０（３）の固有値λの場合、閾値を１．０とすると、当該閾値をこえる固有値の値は、２．２１９２だけなので、信号ランクＬｔを「１」と推定して、信号ランク判定部１０に当該推定された到来波の（ランク）数Ｌｔを出力する。
【００７７】
信号ランク判定部１０は、信号ランク推定演算部９で推定された信号ランク、即ち到来波の数Ｌｔと、固有値分解演算部７で実行されたハウスホルダ変換演算回数Ｎｈを比較し、その少ない方の値を、信号ランク、即ち到来波の数Ｌとする演算を行い、求められた到来波（信号）の数Ｌを、スペクトル演算部１１に対して出力する。
【００７８】
ハウスホルダ変換演算回数Ｎｈは、既に述べたように、列ノルムｃｃの最大値が所定の閾値Ｔｈ以下となった場合には、それ以上のハウスホルダ変換演算は、演算負荷が増大する反面、計算結果の信頼性が低くなることから実行しないによう制御されるので、各固有値分解演算のサイクルにおいてハウスホルダ変換演算が実行された回数Ｎｈが信号ランク推定演算部９で推定された信号の数Ｌｔよりも少ない場合には、推定された信号の数Ｌｔには、ハウスホルダ変換演算Ｎｈが行われていない列についての演算結果に基づいて信号の数Ｌｔが判定されている部分が有るものと判断して、ハウスホルダ変換演算が行われた回数に等しい数を、信号ランク（到来波の数）として判定する。
【００７９】
特に、図３のステップＳ４における閾値Ｔｈを「０」ないしは「０」に近い値とした場合には、列ノルムｃｃの最大値が「０」に近い値以下となることは、通常の固有値分解演算においてはあり得ないので、そうしたデータに基づいて判定された到来波の数を修正することが出来、信頼性の高い信号ランクの推定が可能となる。更に、閾値Ｔｈを「０」ないしは「０」に近い値とした場合、ハウスホルダ変換演算回数Ｎｈは、固有値から推定される到来波の数よりも大きくなることはないので、演算された固有値から信号ランクが過大に判定されることを防止することが出来る。
【００８０】
こうして、信号ランク判定部１０により、ハウスホルダ変換演算回数Ｎｈが考慮された形で、信号ランクＬが判定され、その値Ｌが、図１に示す、スペクトル演算部１１に出力されると、スペクトル演算部１１は、公知の手法により、図２に示すように、ＭＵＩＣスペクトラムＳＰＥを演算して求め、当該求められたＭＵＳＩＣスペクトラムＳＰＥを、到来波方位演算部１２に出力する。
【００８１】
到来波方位演算部１２は、当該ＭＵＳＩＣスペクトラムＳＰＥから、公知の手法で、到来波の到来する方位θ１、θ２を演算することが出来るが、ＭＵＳＩＣスペクトラムＳＰＥは、既に述べたように、信号の数Ｌが、相関行列Ｒの固有値分解演算に際したハウスホルダ変換演算回数Ｎｈに基づいて補正され、信頼性の低いデータが排除されているので、実体のない所謂「偽電波」を排除した形で、正確な到来波の方位を算出することが出来る。
【００８２】
なお、固有値分解演算の演算処理の、図３のステップＳ４（又は図１４のステップＳ２００）における閾値Ｔｈとしては別の値を用いることが出来る。即ち、到来波において、各アンテナ１５で雑音のみが捕捉された際の相関行列Ｒを求め、当該相関行列Ｒについて、固有値を求めるための行列Ａについての雑音列ノルムを、実験などにより求めて演算しておく。次に、到来波の信号について、固有値を求めるための行列Ａの信号列ノルムｃｃを実験などにより求めて演算する。そして雑音列ノルムの値（平均値、最大値など）よりも大きく、信号列ノルムの値（平均値、最大値など）よりも小さな値を信号閾値Ｔｈ′として設定することにより、ハウスホルダ変換演算回数Ｎｈも、捕捉した本来の信号の数に応じた回数だけ、実行するように構成することも出来る。この場合、雑音に対応する列ノルムｃｃの最大値（＜Ｔｈ）が、図３のステップＳ３で得られた時点で、ステップＳ４でハウスホルダ変換演算を中止することが出来、余分なハウスホルダ変換演算を行わずに済み、演算負荷を少なくすることが出来る。
【００８３】
また、この場合、図１２に示すように、信号の数（到来波数）Ｌをハウスホルダ変換演算回数Ｎｈと一致する形で判定することが出来るので、信号ランク推定部９及び信号ランク判定部１０による信号の数の推定及び判定演算が不要となり、直ちにスペクトル演算部１１によるＭＵＳＩＣスペクトラムの演算に入ることが出来、高速な処理動作が可能となる。
【００８４】
また、閾値Ｔｈを、信号列ノルムの値とは無関係に、雑音列ノルムの値のみを基準にして設定することも可能である。これにより、設定動作が簡単になる。更に、閾値Ｔｈを、到来波を受信する状況に応じて、変動させるようにすることも可能である。例えば、カーナビゲーションシステムなどを用いて周囲の環境を検出し、その結果、検出されたトンネル内などにおいては、レーダから発射した電波が、多くの車両や壁などに反射されて帰ってくることが予想される。こうした到来波の数が多くなることが予想され場合に、閾値Ｔｈを低く設定して、より多くの到来波を的確に捕捉し、それ以外の到来波の数が少ないことが予想される開放された路上などにおいては、閾値Ｔｈを高めに設定して、無駄な雑音列ノルムに係わる信号の演算動作を行わないようにし、効率的な演算動作を可能とすることが出来る。また、観測距離が遠い場合にも、到来波が多くの場所から反射してくるので、閾値を低くすることが効果的である。
【００８５】
なお、到来波の数、あるいは最大数が予め判っているような場合には、ハウスホルダ変換演算実行手段によるハウスホルダ変換演算の実行回数を予め当該数、あるいは当該最大数に設定しておき、無駄な演算動作が発生することを防止するように構成することも可能である。更に、各演算サイクル（図３のステップＳ２〜Ｓ８、又は図１４におけるステップＳ１００からＳ４００の、「ＱＲ分解演算」と称された、点線で囲まれた演算サイクル）におけるハウスホルダ変換演算の実行回数を、周囲の環境に対応させて変動させることも可能である。例えば、カーナビゲーションシステムなどを用いて周囲の環境を検出し、その結果、検出されたトンネル内などにおいては、レーダから発射した電波が、多くの車両に反射されて帰ってくることが予想される。こうした到来波の数が多くなることが予想され場合に、ハウスホルダ変換演算の実行回数を多く設定して、より多くの到来波についての固有値を的確に演算し、それ以外の到来波の数が少ないことが予想される開放された路上などにおいては、ハウスホルダ変換演算の実行回数を少なく設定して、無駄な雑音列ノルムに係わる信号の固有値演算動作を行わないようにし、効率的な演算動作を可能とすることが出来る。
【００８６】
更に、固有値分解演算部などの収束演算実行手段は、Ｎ−１回目の所定回数のハウスホルダ変換演算からなる演算サイクル（ＱＲ分解演算）を行った後、Ｎ回目の演算サイクル（ＱＲ分解演算）を実行し、これにより、図３のステップＳ１１に規定されている所定回数（ＮＱＲ）の演算サイクル数だけ、ＱＲ分解演算を実行する。この際、Ｎ回目の演算サイクル（ＱＲ分解演算）におけるハウスホルダ変換演算の実行回数は、それ以前に実行された演算サイクル（ＱＲ分解演算）におけるハウスホルダ変換演算の実行回数以下に制御する手段を設けることが、望ましい。直前に行われた演算サイクル（ＱＲ分解演算）のハウスホルダ変換演算の実行回数を上回るハウスホルダ変換演算を、次の演算サイクル（ＱＲ分解演算）で実行しても、直前にハウスホルダ変換演算が行われていない行列部分（桁落ちや雑音部分など）に対してハウスホルダ変換演算を行うこととなり、演算の意味がないからである。
【産業上の利用可能性】
【００８７】
本発明は、車載用のレーダなど、簡易な構成で複数のアンテナ素子に到来する到来波の数、即ちランクを判定することの出来る、到来波の方向推定装置として、利用することが出来る。
【図面の簡単な説明】
【００８８】
【図１】図１は、到来電波方位測定装置の一例を示すブロック図。
【図２】図２は、信号処理の一例を示すチャート。
【図３】図３は、固有値分解演算処理の一例を示すフローチャート。
【図４】図４は、図３のフローチャートにおける、具体的な演算例の一例を示す図。
【図５】図５は、図３のフローチャートにおける、具体的な演算例の一例を示す図。
【図６】図６は、図３のフローチャートにおける、具体的な演算例の一例を示す図。
【図７】図７は、図３のフローチャートにおける、具体的な演算例の一例を示す図。
【図８】図８は、図３のフローチャートにおける、具体的な演算例の一例を示す図。
【図９】図９は、図３のフローチャートにおける、具体的な演算例の一例を示す図。
【図１０】図１０は、図３のフローチャートにおける、具体的な演算例の一例を示す図。
【図１１】図１１は、列ノルムの演算方法の一例を示す図。
【図１２】図１２は、到来波数の判定処理の別の例を示すチャート。
【図１３】図１３は、演算式の一例を示す図。
【図１４】図１４は、固有値分解演算の基本概念の一例を示すフローチャートである。
【符号の説明】
【００８９】
１……到来波方位測定装置
６……相関行列演算部
７……固有値分解演算部
９……信号ランク推定演算部
１０……信号ランク判定部
１５……アンテナ
Ｔｈ……閾値
【図１】
2006284180.tif 000013
【図２】
2006284180.tif 000014
【図３】
2006284180.tif 000015
【図４】
2006284180.tif 000016
【図５】
2006284180.tif 000017
【図６】
2006284180.tif 000018
【図７】
2006284180.tif 000019
【図８】
2006284180.tif 000020
【図９】
2006284180.tif 000021
【図１０】
2006284180.tif 000022
【図１１】
2006284180.tif 000023
【図１２】
2006284180.tif 000024
【図１３】
2006284180.tif 000025
【図１４】
2006284180.tif 000026