(57)【要約】【課題】探索が難しい条件下でも、入射方向を正しく探知することができるようにする。【解決手段】スパースベクトル生成部３により生成されたスパースベクトルＸｓが収束しているか否かを判定し、そのスパースベクトルＸｓが収束していなければ、そのスパースベクトルＸｓを残差計算部１０１に出力して、次の収束演算ステップを実行させるＸｓ収束判定部４を設け、パラメータ設定部５が、信号復元ベクトル算出部２及びスパースベクトル生成部３で選択される要素の個数の設定値を収束演算ステップの進行に伴って減少させるようにする。【選択図】図１
2014219207.tif 000002
【特許請求の範囲】
【請求項１】
複数の探知方向のステアリングベクトルが格納されている行列と、前回の収束演算ステップで生成されたスパースベクトルとの積を算出し、その算出結果と入射信号を受信する各センサの受信信号が格納されている観測ベクトルとの残差を算出する残差算出手段と、
上記残差算出手段により算出された残差と上記行列に格納されているステアリングベクトルとの内積ベクトルを算出して、上記内積ベクトルの要素の中から、値が相対的に大きい設定個数分の要素を選択し、その選択した要素と、前回の収束演算ステップで生成した信号復元ベクトルの要素の中から選択されている要素と用いて、最新の信号復元ベクトルを算出する信号復元ベクトル算出手段と、
上記信号復元ベクトル算出手段により算出された信号復元ベクトルの要素の中から、値が相対的に大きい設定個数分の要素を選択して、その選択した要素を上記信号復元ベクトル算出手段に出力するとともに、その選択した要素と零値が配列されているスパースベクトルを生成するスパースベクトル生成手段と、
上記スパースベクトル生成手段により生成されたスパースベクトルが収束しているか否かを判定し、収束していなければ、上記スパースベクトルを上記残差算出手段に出力して、次の収束演算ステップを実行させる収束判定手段と、
上記信号復元ベクトル算出手段及び上記スパースベクトル生成手段で選択される要素の個数の設定値を収束演算ステップの進行に伴って減少させる個数設定手段と
を備えた方向探知装置。
【請求項２】
個数設定手段は、収束演算ステップの実行回数が増えるほど、小さな設定値を提示する関数を用いて、信号復元ベクトル算出手段及びスパースベクトル生成手段で選択される要素の個数を設定することを特徴とする請求項１記載の方向探知装置。
【請求項３】
個数設定手段は、線形関数を用いて、信号復元ベクトル算出手段及びスパースベクトル生成手段で選択される要素の個数を設定することを特徴とする請求項２記載の方向探知装置。
【請求項４】
個数設定手段は、指数関数を用いて、信号復元ベクトル算出手段及びスパースベクトル生成手段で選択される要素の個数を設定することを特徴とする請求項２記載の方向探知装置。
【請求項５】
個数設定手段は、第１回目の収束演算ステップにおいて、信号復元ベクトル算出手段及びスパースベクトル生成手段で選択される要素の個数として、ビーム幅をカバーする値に設定することを特徴とする請求項１から請求項４のうちのいずれか１項記載の方向探知装置。
【請求項６】
個数設定手段は、第１回目の収束演算ステップにおいて、信号復元ベクトル算出手段及びスパースベクトル生成手段で選択される要素の個数として、全ての探知方向をカバーする値に設定することを特徴とする請求項１から請求項４のうちのいずれか１項記載の方向探知装置。
【請求項７】
個数設定手段により設定される個数の最小値が、入射信号の推定信号数であることを特徴とする請求項１から請求項６のうちのいずれか１項記載の方向探知装置。
【請求項８】
個数設定手段により設定される個数の最小値が、予め想定される入射信号の最大数であることを特徴とする請求項１から請求項６のうちのいずれか１項記載の方向探知装置。
【請求項９】
個数設定手段により設定される個数の最小値が、センサの数であることを特徴とする請求項１から請求項６のうちのいずれか１項記載の方向探知装置。
【請求項１０】
収束判定手段によりスパースベクトルが収束していると判定されると、個数の設定値を更新する指令を個数設定手段に出力するとともに、上記スパースベクトルを残差算出手段に出力して、次の収束演算ステップを実行させる一方、上記収束判定手段によりスパースベクトルが収束していないと判定されると、個数の設定値を更新する指令を上記個数設定手段に出力せずに、上記スパースベクトルを残差算出手段に出力して、次の収束演算ステップを実行させる設定制御手段を備えたことを特徴とする請求項１から請求項９のうちのいずれか１項記載の方向探知装置。
【請求項１１】
残差算出手段が、複数の探知方向のステアリングベクトルが格納されている行列と、前回の収束演算ステップで生成されたスパースベクトルとの積を算出し、その算出結果と入射信号を受信する各センサの受信信号が格納されている観測ベクトルとの残差を算出する残差算出処理ステップと、
信号復元ベクトル算出手段が、上記残差算出処理ステップで算出された残差と上記行列に格納されているステアリングベクトルとの内積ベクトルを算出して、上記内積ベクトルの要素の中から、値が相対的に大きい設定個数分の要素を選択し、その選択した要素と、前回の収束演算ステップで生成した信号復元ベクトルの要素の中から選択されている要素と用いて、最新の信号復元ベクトルを算出する信号復元ベクトル算出処理ステップと、
スパースベクトル生成手段が、上記信号復元ベクトル算出処理ステップで算出された信号復元ベクトルの要素の中から、値が相対的に大きい設定個数分の要素を選択して、その選択した要素を上記信号復元ベクトル算出手段に出力するとともに、その選択した要素と零値が配列されているスパースベクトルを生成するスパースベクトル生成処理ステップと、
収束判定手段が、上記スパースベクトル生成処理ステップで生成されたスパースベクトルが収束しているか否かを判定し、収束していなければ、上記スパースベクトルを上記残差算出手段に出力して、次の収束演算ステップを実行させる収束判定処理ステップと、
個数設定手段が、上記信号復元ベクトル算出処理ステップ及び上記スパースベクトル生成処理ステップで選択される要素の個数の設定値を収束演算ステップの進行に伴って減少させる個数設定処理ステップと
を備えた方向探知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、入射信号の入射方向を探知する方向探知装置及び方向探知方法に関するものである。
【背景技術】
【０００２】
以下の非特許文献１には、ＣｏＳａＭＰ（Ｃｏｍｐｒｅｓｓｉｖｅ  Ｓａｍｐｌｉｎｇ  Ｍａｔｃｈｉｎｇ  Ｐｕｒｓｕｉｔ）と呼ばれる方向探知装置が開示されている。
以下、この方向探知装置の処理内容を説明するが、説明の簡単化のため、サンプル数は１スナップショットであるものとする。
複数のスナップショットに拡張する場合には、以下の非特許文献２に開示されている方法を適用すればよい。
【０００３】
図８は非特許文献１に開示されている方向探知装置による方向探知の概要を示す説明図であり、図９は非特許文献１に開示されている方向探知装置を示す構成図である。
図８及び図９の例では、入射信号の信号数がＪであるとき、複数の入射信号ｓｊ（ｊ＝１，・・・，Ｊ）が入射方向θｊから入射される場合を想定している。θｊは第ｊ番目の入射信号ｓｊの入射方向である。
また、図８及び図９の例では、センサアレーを構成しているＩ個（Ｉ＞Ｊ）のセンサの全部又は一部が入射信号を受信する。
Ｉ個のセンサの受信信号ｙｉ（ｉ＝１，・・・，Ｉ）が観測値として、方向探知装置に与えられる。
【０００４】
方向探知装置では、下記の観測モデルを定義する。
2014219207.tif 000003
式（１）において、ＹはＩ個のセンサの受信信号ｙｉ（ｉ＝１，・・・，Ｉ）が格納されている観測ベクトルであり、下記の式（２）で与えられる。
2014219207.tif 000004
Ａは複数の探知方向のステアリングベクトルａ（θｊ）（ｊ＝１，・・・，Ｊ）が格納されている行列であり、下記の式（３）で与えられる。
2014219207.tif 000005
ステアリングベクトルａ（θｊ）は、入射方向θｊによって決まるセンサ間の位相差情報が格納されているベクトルであり、入射方向θｊ毎に固有である。
Ｓは複数の入射信号ｓｊ（ｊ＝１，・・・，Ｊ）が格納されているベクトルであり、下記の式（４）で与えられる。
2014219207.tif 000006
【０００５】
方向探知装置が用いるＣｏＳａＭＰ法では、ビームフォーマによる到来方向範囲の限定と、スパース処理による到来方向範囲の限定とを繰り返し実行して、以下の最適化問題を解くことで、入射方向θｊを探知するものである。
2014219207.tif 000007
【０００６】
方向探知をしたい方向の範囲を任意の刻み幅δθで区切り、その区切った方位をθ１，・・・，θＮで表すと、式（５）中のＡｓは、下記の式（６）に示すように、任意の分解能で生成されたステアリングベクトルａ（θｎ）（ｎ＝１，・・・，Ｎ）が格納されている行列となる。
2014219207.tif 000008
【０００７】
また、Ｘｓは入射信号ｓｊに対応する成分が存在する要素が非零値、それ以外の要素が零値となるスパースベクトルであり、下記の式（７）で与えられる。
2014219207.tif 000009
例えば、方向θ２から信号ｓが入射される場合、下記の式（８）に示すように、ステアリングベクトルＸｓの２列目に方向θ２から入射される信号ｓに対応する成分が格納される。
2014219207.tif 000010
この場合、下記の式（９）のようになる。
2014219207.tif 000011
【０００８】
図９の方向探知装置は、残差計算部１０１、信号復元ベクトル算出部１０２、スパースベクトル生成部１０３及びＸｓ収束判定部１０４から構成されており、残差計算部１０１、信号復元ベクトル算出部１０２、スパースベクトル生成部１０３及びＸｓ収束判定部１０４が下記に示す収束演算ステップを繰り返し実行する。
以下、図９の方向探知装置の処理内容を具体的に説明する。
【０００９】
まず、残差計算部１０１は、ステアリングベクトルａ（θｎ）（ｎ＝１，・・・，Ｎ）が格納されている式（６）の行列Ａｓと、前回の収束演算ステップで生成された式（７）のスパースベクトルＸｓとの積ＡｓＸｓを算出し、下記の式（１０）に示すように、その積ＡｓＸｓと式（２）の観測ベクトルＹとの残差ｒを算出する。
2014219207.tif 000012
【００１０】
信号復元ベクトル算出部１０２は、残差計算部１０１が残差ｒを算出すると、下記の式（１１）に示すように、その残差ｒと行列Ａｓに格納されているステアリングベクトルａ（θｎ）との内積ベクトルｇを算出する。
2014219207.tif 000013
内積ベクトルｇの要素である内積値は、残差ｒとステアリングベクトルａ（θｎ）の合致度合を表す評価値となり、その内積値が大きい程、その要素に対応する方向から信号が到来していると言える。
【００１１】
信号復元ベクトル算出部１０２は、内積ベクトルｇを算出すると、下記の式（１２）に示すように、その内積ベクトルｇの要素の中から、値が相対的に大きいＫｇ（Ｋｇは予め設定されている固定のパラメータ）個分の要素を選択し、Ｋｇ個分の要素の集合をΩで表すものとする。
2014219207.tif 000014
式（１２）において、ｓｕｐｐｏｒｔ（ａ｜ｂ）はベクトルａの要素の中から、値が相対的に大きいｂ個の要素を選択するオペレータである。
【００１２】
次に、信号復元ベクトル算出部１０２は、下記の式（１３）に示すように、Ｋｇ個分の要素の集合Ωと、スパースベクトル生成部１０３から出力された信号復元ベクトルの要素の集合Ｔ（前回の収束演算ステップで生成した信号復元ベクトルＸΨの要素の中から選択されているＫ個の要素）との和集合Ψを求める。
2014219207.tif 000015
なお、集合Ｔの初期値は空集合である。
【００１３】
次に、信号復元ベクトル算出部１０２は、下記の式（１４）に示すように、和集合Ψを用いて、最新の信号復元ベクトルＸΨを算出し、その信号復元ベクトルＸΨをスパースベクトル生成部１０３に出力する。
2014219207.tif 000016
＃は擬似逆行列である。
【００１４】
スパースベクトル生成部１０３は、信号復元ベクトル算出部１０２から最新の信号復元ベクトルＸΨを受けると、下記の式（１５）に示すように、その信号復元ベクトルＸΨの要素の中から、値が相対的に大きいＫ（Ｋは予め設定されている固定のパラメータ）個分の要素を選択し、Ｋ個分の要素の集合Ｔを信号復元ベクトル算出部１０２に出力する。
2014219207.tif 000017
また、スパースベクトル生成部１０３は、最新の信号復元ベクトルＸΨの中で、選択したＫ個分の要素はそのまま残し、その要素以外の要素（選択していない要素）を零値に置き換えることで、下記の式（１６）に示すようなスパースベクトルＸｓを生成し、そのスパースベクトルＸｓをＸｓ収束判定部１０４に出力する。
2014219207.tif 000018
【００１５】
Ｘｓ収束判定部１０４は、スパースベクトル生成部１０３からスパースベクトルＸｓを受けると、下記の式（１７）に示すように、そのスパースベクトルＸｓが収束しているか否かを判定する。
2014219207.tif 000019
式（１７）において、Ｘｓｐｒｅｖは前回の収束演算ステップで生成されたスパースベクトルＸｓ、εは予め設定された閾値である。
【００１６】
Ｘｓ収束判定部１０４は、式（１７）が成立している場合、スパースベクトル生成部１０３から出力されたスパースベクトルＸｓが収束していると判断して、収束演算ステップを終了する。
一方、式（１７）が成立していない場合、スパースベクトル生成部１０３から出力されたスパースベクトルＸｓが収束していないと判断し、そのスパースベクトルＸｓを残差計算部１０１に出力して、次の収束演算ステップを実行させる。
したがって、スパースベクトルＸｓが収束するまで、残差計算部１０１、信号復元ベクトル算出部１０２、スパースベクトル生成部１０３及びＸｓ収束判定部１０４による収束演算ステップが繰り返し実行される。
【先行技術文献】
【非特許文献】
【００１７】
【非特許文献１】D. Needel AND J. A. Tropp,“ COSAMP: Iterative signal recovery from incomplete and inaccurate samples,” Appl. Comput. Harmon. Anal., 26(3):301-321,2008.
【非特許文献２】Dmitry M. Malioutov, “A Sparse Signal Reconstruction Perspective for Source Localization with Sensor Arrays,” Massachusetts Institute of Technology, 2003.
【発明の概要】
【発明が解決しようとする課題】
【００１８】
従来の方向探知装置は以上のように構成されているので、例えば、２波の入射方向が近接しているような探索が難しい条件下では、パラメータＫｇ，Ｋの設定値が大き過ぎると、方向の選択肢が多くなり過ぎて、収束しなくなることがある。一方、パラメータＫｇ，Ｋの設定値が小さ過ぎると、最初から方向の選択肢が限られてしまう関係上、入射方向を正しく探知することができなくなることがある課題があった。
【００１９】
この発明は上記のような課題を解決するためになされたもので、探索が難しい条件下でも、入射方向を正しく探知することができる方向探知装置及び方向探知方法を得ることを目的とする。
【課題を解決するための手段】
【００２０】
この発明に係る方向探知装置は、複数の探知方向のステアリングベクトルが格納されている行列と、前回の収束演算ステップで生成されたスパースベクトルとの積を算出し、その算出結果と入射信号を受信する各センサの受信信号が格納されている観測ベクトルとの残差を算出する残差算出手段と、残差算出手段により算出された残差と行列に格納されているステアリングベクトルとの内積ベクトルを算出して、その内積ベクトルの要素の中から、値が相対的に大きい設定個数分の要素を選択し、その選択した要素と、前回の収束演算ステップで生成した信号復元ベクトルの要素の中から選択されている要素と用いて、最新の信号復元ベクトルを算出する信号復元ベクトル算出手段と、信号復元ベクトル算出手段により算出された信号復元ベクトルの要素の中から、値が相対的に大きい設定個数分の要素を選択して、その選択した要素を信号復元ベクトル算出手段に出力するとともに、その選択した要素と零値が配列されているスパースベクトルを生成するスパースベクトル生成手段と、スパースベクトル生成手段により生成されたスパースベクトルが収束しているか否かを判定し、収束していなければ、そのスパースベクトルを上記残差算出手段に出力して、次の収束演算ステップを実行させる収束判定手段とを設け、個数設定手段が、信号復元ベクトル算出手段及びスパースベクトル生成手段で選択される要素の個数の設定値を収束演算ステップの進行に伴って減少させるようにしたものである。
【発明の効果】
【００２１】
この発明によれば、個数設定手段が、信号復元ベクトル算出手段及びスパースベクトル生成手段で選択される要素の個数の設定値を収束演算ステップの進行に伴って減少させるように構成したので、探索が難しい条件下でも、入射方向を正しく探知することができる効果がある。
【図面の簡単な説明】
【００２２】
【図１】この発明の実施の形態１による方向探知装置を示す構成図である。
【図２】この発明の実施の形態１による方向探知装置の処理内容（方向探知方法）を示すフローチャートである。
【図３】パラメータ設定部５により更新されるパラメータＫｇ，Ｋを示す説明図である。
【図４】線形関数を用いた場合のパラメータＫｇ，Ｋの変化を示す説明図である。
【図５】従来の方向探知装置によるモンテカルロ試行２０回分のスペクトラムを示す説明図である。
【図６】実施の形態１の方向探知装置によるモンテカルロ試行２０回分のスペクトラムを示す説明図である。
【図７】この発明の実施の形態６による方向探知装置を示す構成図である。
【図８】非特許文献１に開示されている方向探知装置による方向探知の概要を示す説明図である。
【図９】非特許文献１に開示されている方向探知装置を示す構成図である。
【発明を実施するための形態】
【００２３】
実施の形態１．
図１はこの発明の実施の形態１による方向探知装置を示す構成図である。
図１において、残差計算部１はステアリングベクトルａ（θｎ）（ｎ＝１，・・・，Ｎ）が格納されている式（６）の行列Ａｓと、前回の収束演算ステップで生成された式（７）のスパースベクトルＸｓとの積ＡｓＸｓを算出し、その積ＡｓＸｓと式（２）の観測ベクトルＹとの残差ｒを算出する処理を実施する。なお、残差計算部１は残差算出手段を構成している。
【００２４】
信号復元ベクトル算出部２は残差計算部１により算出された残差ｒと行列Ａｓに格納されているステアリングベクトルａ（θｎ）との内積ベクトルｇを算出して、その内積ベクトルｇの要素の中から、値が相対的に大きいＫｇ（Ｋｇはパラメータ設定部５により設定される可変のパラメータ）個分の要素を選択し、その選択したＫｇ個分の要素とスパースベクトル生成部３から出力された信号復元ベクトルの要素（前回の収束演算ステップで生成した信号復元ベクトルＸΨの要素の中から選択されているＫ個の要素）とを用いて、最新の信号復元ベクトルＸΨを算出する処理を実施する。なお、信号復元ベクトル算出部２は信号復元ベクトル算出手段を構成している。
【００２５】
スパースベクトル生成部３は信号復元ベクトル算出部２により算出された最新の信号復元ベクトルＸΨの要素の中から、値が相対的に大きいＫ（Ｋはパラメータ設定部５により設定される可変のパラメータ）個分の要素を選択し、その選択したＫ個分の要素を信号復元ベクトル算出部２に出力するとともに、その選択したＫ個分の要素と零値が配列されているスパースベクトルＸｓを生成する処理を実施する。なお、スパースベクトル生成部３はスパースベクトル生成手段を構成している。
【００２６】
Ｘｓ収束判定部４はスパースベクトル生成部３により生成されたスパースベクトルＸｓが収束しているか否かを判定し、そのスパースベクトルＸｓが収束していなければ、そのスパースベクトルＸｓを残差計算部１に出力して、次の収束演算ステップを実行させる処理を実施する。なお、Ｘｓ収束判定部４は収束判定手段を構成している。
パラメータ設定部５はパラメータＫｇ，Ｋを設定する処理部であり、収束演算ステップの進行に伴ってパラメータＫｇ，Ｋの値を減少させるように更新する。なお、パラメータ設定部５は個数設定手段を構成している。
【００２７】
図１の例では、方向探知装置の構成要素である残差計算部１、信号復元ベクトル算出部２、スパースベクトル生成部３、Ｘｓ収束判定部４及びパラメータ設定部５のそれぞれが専用のハードウェア（例えば、ＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなど）で構成されているものを想定しているが、方向探知装置がコンピュータで構成されていてもよい。
方向探知装置がコンピュータで構成されている場合、残差計算部１、信号復元ベクトル算出部２、スパースベクトル生成部３、Ｘｓ収束判定部４及びパラメータ設定部５の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにすればよい。
図２はこの発明の実施の形態１による方向探知装置の処理内容（方向探知方法）を示すフローチャートである。
【００２８】
次に動作について説明する。
図１の方向探知装置は、残差計算部１、信号復元ベクトル算出部２、スパースベクトル生成部３及びＸｓ収束判定部４が下記に示す収束演算ステップを繰り返し実行する。
また、パラメータ設定部５が、次の収束演算ステップに移行する際、信号復元ベクトル算出部２及びスパースベクトル生成部３で使用するパラメータＫｇ，Ｋを更新する。
以下、図１の方向探知装置の処理内容を具体的に説明する。
【００２９】
まず、残差計算部１は、ステアリングベクトルａ（θｎ）（ｎ＝１，・・・，Ｎ）が格納されている式（６）の行列Ａｓと、前回の収束演算ステップで生成された式（７）のスパースベクトルＸｓとの積ＡｓＸｓを算出し、下記の式（１８）に示すように、その積ＡｓＸｓと式（２）の観測ベクトルＹとの残差ｒを算出する（ステップＳＴ１）。
2014219207.tif 000020
【００３０】
信号復元ベクトル算出部２は、残差計算部１が残差ｒを算出すると、下記の式（１９）に示すように、その残差ｒと行列Ａｓに格納されているステアリングベクトルａ（θｎ）との内積ベクトルｇを算出する（ステップＳＴ２）。
2014219207.tif 000021
内積ベクトルｇの要素である内積値は、残差ｒとステアリングベクトルａ（θｎ）の合致度合を表す評価値となり、その内積値が大きい程、その要素に対応する方向から信号が到来していると言える。
【００３１】
信号復元ベクトル算出部２は、内積ベクトルｇを算出すると、下記の式（２０）に示すように、その内積ベクトルｇの要素の中から、値が相対的に大きいＫｇ個分の要素を選択し（ステップＳＴ３）、Ｋｇ個分の要素の集合をΩで表すものとする。
2014219207.tif 000022
式（１２）において、ｓｕｐｐｏｒｔ（ａ｜ｂ）はベクトルａの要素の中から、値が相対的に大きいｂ個の要素を選択するオペレータである。
ここで、Ｋｇはパラメータ設定部５により設定されるパラメータであり、収束演算ステップが進行するほど、小さくなるように更新される。
図３はパラメータ設定部５により更新されるパラメータＫｇ，Ｋを示す説明図であり、第１回目の収束演算ステップで使用されるＫｇの初期値Ｋｇｉｎｉｔが最も大きく、Ｋｇの値が徐々に小さくなっていることを表している。
【００３２】
次に、信号復元ベクトル算出部２は、下記の式（２１）に示すように、Ｋｇ個分の要素の集合Ωと、スパースベクトル生成部３から出力された信号復元ベクトルの要素の集合Ｔ（前回の収束演算ステップで生成した信号復元ベクトルＸΨの要素の中から選択されているＫ個の要素）との和集合Ψを求める（ステップＳＴ４）。
2014219207.tif 000023
なお、集合Ｔの初期値は空集合である。
【００３３】
次に、信号復元ベクトル算出部２は、下記の式（２２）に示すように、和集合Ψを用いて、最新の信号復元ベクトルＸΨを算出し、その信号復元ベクトルＸΨをスパースベクトル生成部３に出力する（ステップＳＴ５）。
2014219207.tif 000024
＃は擬似逆行列である。
【００３４】
スパースベクトル生成部３は、信号復元ベクトル算出部２から最新の信号復元ベクトルＸΨを受けると、下記の式（２３）に示すように、その信号復元ベクトルＸΨの要素の中から、値が相対的に大きいＫ個分の要素を選択し、Ｋ個分の要素の集合Ｔを信号復元ベクトル算出部２に出力する（ステップＳＴ６）。
2014219207.tif 000025
ここで、Ｋはパラメータ設定部５により設定されるパラメータであり、パラメータＫｇと同様に、収束演算ステップが進行するほど、小さくなるように更新される。
【００３５】
また、スパースベクトル生成部３は、最新の信号復元ベクトルＸΨの中で、選択したＫ個分の要素はそのまま残し、その要素以外の要素（選択していない要素）を零値に置き換えることで、下記の式（２４）に示すようなスパースベクトルＸｓを生成し、そのスパースベクトルＸｓをＸｓ収束判定部４に出力する（ステップＳＴ７）。
2014219207.tif 000026
【００３６】
Ｘｓ収束判定部４は、スパースベクトル生成部３からスパースベクトルＸｓを受けると、下記の式（２５）に示すように、そのスパースベクトルＸｓが収束しているか否かを判定する（ステップＳＴ８）。
2014219207.tif 000027
式（２５）において、Ｘｓｐｒｅｖは前回の収束演算ステップで生成されたスパースベクトルＸｓ、εは予め設定された閾値である。
【００３７】
Ｘｓ収束判定部４は、式（２５）が成立している場合、スパースベクトル生成部３から出力されたスパースベクトルＸｓが収束していると判断して、収束演算ステップを終了する。
一方、式（２５）が成立していない場合、スパースベクトル生成部３から出力されたスパースベクトルＸｓが収束していないと判断し、そのスパースベクトルＸｓを残差計算部１に出力して、次の収束演算ステップを実行させる。
したがって、スパースベクトルＸｓが収束するまで、残差計算部１、信号復元ベクトル算出部２、スパースベクトル生成部３及びＸｓ収束判定部４による収束演算ステップが繰り返し実行される。
【００３８】
パラメータ設定部５は、Ｘｓ収束判定部４によりスパースベクトルＸｓが収束していないと判定されると、前回よりもパラメータＫｇ，Ｋが小さくなるように更新する（ステップＳＴ９）。
即ち、パラメータ設定部５は、入射方向のピークが確実に解の候補として含むようにするために、収束演算の初期段階では、パラメータであるスパース拘束数を大きい値に設定する。その後、一度に多数の信号空間を削除することによる誤った解への収束を回避するために、一度にパラメータＫｇ，Ｋの値を小さくするのではなく、収束演算の過程で徐々に小さくするようにする。
以下、パラメータ設定部５によるパラメータＫｇ，Ｋの更新処理を具体的に説明する。
【００３９】
パラメータ設定部５は、第１回目の収束演算ステップが開始する前に、パラメータＫｇ，Ｋの初期値Ｋｇｉｎｉｔ，Ｋｉｎｉｔを設定する。初期値Ｋｇｉｎｉｔ，Ｋｉｎｉｔの具体的な値については後述するが、全収束演算ステップで使用されるパラメータＫｇ，Ｋの中で最も大きな値となる。
パラメータ設定部５は、第１回目の収束演算ステップが終了し、次の収束演算ステップに移行する場合（Ｘｓ収束判定部４によりスパースベクトルＸｓが収束していないと判定された場合）、収束演算ステップの実行回数ｉが増えるほど、小さな設定値を提示する関数を用いて、パラメータＫｇ，Ｋを設定する。設定値を提示する関数としては、例えば、線形関数などを用いることができる。
【００４０】
ただし、パラメータＫｇ，Ｋの値が、予め設定されている最終値Ｋｇｅｎｄ，Ｋｅｎｄより小さくならないようにするため、下記の式（２６）（２７）に示すように、関数が提示している値が最終値Ｋｇｅｎｄ，Ｋｅｎｄより小さい場合、パラメータＫｇ，Ｋの値として、最終値Ｋｇｅｎｄ，Ｋｅｎｄを設定するようにする。
2014219207.tif 000028
したがって、パラメータＫｇ，Ｋの値は、例えば、設定値を提示する関数が線形関数である場合、図４に示すように、初期値Ｋｇｉｎｉｔ，Ｋｉｎｉｔから単調に減少した後、最終値Ｋｇｅｎｄ，Ｋｅｎｄを維持するようになる。
【００４１】
ここで、この実施の形態１と従来の方向探知装置の方向探知性能を比較するため、入射角差が２ｄｅｇ（θ１＝０ｄｅｇ，θ２＝２ｄｅｇ）である２波が入射された場合のシミュレーション例を開示する。
図５は従来の方向探知装置によるモンテカルロ試行２０回分のスペクトラムを示す説明図であり、図６は実施の形態１の方向探知装置によるモンテカルロ試行２０回分のスペクトラムを示す説明図である。
このシミュレーション例では、従来の方向探知装置で用いているパラメータＫｇは“４”、Ｋは“２”である。
図５と図６を比較すると明らかなように、従来の方向探知装置では、２波の入射方向を正しく探知できていないが、この実施の形態１の方向探知装置では、２波の入射方向を正しく探知できている。
【００４２】
以上で明らかなように、この実施の形態１によれば、パラメータ設定部５が、信号復元ベクトル算出部２及びスパースベクトル生成部３で選択される要素の個数の設定値を収束演算ステップの進行に伴って減少させるように構成したので、探索が難しい条件下でも、入射方向を正しく探知することができる効果を奏する。
【００４３】
実施の形態２．
上記実施の形態１では、設定値を提示する関数としては、線形関数を用いる例を示したが、指数関数を用いるようにしてもよく、同様の効果を奏することができる。
指数関数を用いる場合でも、パラメータＫｇ，Ｋの値が、予め設定されている最終値Ｋｇｅｎｄ，Ｋｅｎｄより小さくならないようにするため、下記の式（２８）（２９）に示すように、関数が提示している値が最終値Ｋｇｅｎｄ，Ｋｅｎｄより小さい場合、パラメータＫｇ，Ｋの値として、最終値Ｋｇｅｎｄ，Ｋｅｎｄを設定するようにする。
2014219207.tif 000029
したがって、パラメータＫｇ，Ｋの値は、初期値Ｋｇｉｎｉｔ，Ｋｉｎｉｔから徐々に減少した後、最終値Ｋｇｅｎｄ，Ｋｅｎｄを維持するようになる。
【００４４】
実施の形態３．
上記実施の形態１では、パラメータＫｇ，Ｋの初期値をＫｇｉｎｉｔ，Ｋｉｎｉｔに設定するものを示したが、初期値Ｋｇｉｎｉｔ，Ｋｉｎｉｔについては、正解の方向を選択し損なうことがないようにするため、ある程度、大きな値に設定することが重要である。
通常、ビーム幅内には正解の方向が存在しているので、この実施の形態３では、初期値Ｋｇｉｎｉｔ，Ｋｉｎｉｔとして、ビーム幅をカバーする値に設定することで、確実に、正解の方向を選択することができるようにする。
【００４５】
具体的には、ビーム幅は、Ｉ個のセンサからなるアレーセンサの開口径Ｄと、入射信号ｓｊ（ｊ＝１，・・・，Ｊ）の波長λとの比λ／Ｄ［ｒａｄ］で決まる。これをｄｅｇの単位で表すと、λ／Ｄ×１８０／π［ｄｅｇ］となる。
この角度幅λ／Ｄ×１８０／πを任意の刻み幅で設定することで、合計Ｎ個の方位が得られたとすると、初期値Ｋｇｉｎｉｔ，Ｋｉｎｉｔとして、Ｎの値を設定する方法が考えられる。
ここでは、ＫｇｉｎｉｔとＫｉｎｉｔの両方をＮの値に設定する例を示したが、両方が同じＮの値である必要はなく、例えば、ＫｇｉｎｉｔをＮの値に設定して、ＫｉｎｉｔをＫｇｉｎｉｔの半分のＮ／２に設定するようにしてもよい。
【００４６】
実施の形態４．
上記実施の形態３では、初期値Ｋｇｉｎｉｔ，Ｋｉｎｉｔとして、ビーム幅をカバーする値に設定する例を示したが、より確実に正解の方向を選択するために、初期値Ｋｇｉｎｉｔ，Ｋｉｎｉｔとして、全ての探知方向をカバーする値に設定するようにしてもよい。
具体的には、式（６）に示すように、方向探知をしたい方向の範囲を任意の刻み幅δθ（方向探知をしたい方位は、θ１，・・・，θＮ）で設定することで、合計Ｎ個の方位が得られたとすると、初期値Ｋｇｉｎｉｔ，Ｋｉｎｉｔとして、Ｎの値を設定する方法が考えられる。
ここでは、ＫｇｉｎｉｔとＫｉｎｉｔの両方をＮの値に設定する例を示したが、両方が同じＮの値である必要はなく、例えば、ＫｇｉｎｉｔをＮの値に設定して、ＫｉｎｉｔをＫｇｉｎｉｔの半分のＮ／２に設定するようにしてもよい。
【００４７】
実施の形態５．
上記実施の形態１では、パラメータＫｇ，Ｋの値が最終値Ｋｇｅｎｄ，Ｋｅｎｄより小さくならないように更新しているが、最終値Ｋｇｅｎｄ，Ｋｅｎｄについては、入射信号の信号数より少ないと、全ての入射信号の方位を推定することができなくなるため、入射信号の信号数より大きな値に設定することが重要である。
そのため、この実施の形態５では、最終値Ｋｇｅｎｄ，Ｋｅｎｄとして、入射信号の推定信号数を設定するようにする。
【００４８】
入射信号の信号数の推定方法としては、受信行列における相関行列の固有値判定を用いることができる。
また、スパースベクトルＸｓは、収束するにしたがって、パラメータＫｇ，Ｋの値が実際の入射信号の信号数より大きい場合でも、非零値の要素の数が入射信号の信号数に近づいていくので、非零値の要素の数を最終値Ｋｇｅｎｄ，Ｋｅｎｄとして用いるようにしてもよい。
【００４９】
ここでは、最終値Ｋｇｅｎｄ，Ｋｅｎｄとして、入射信号の推定信号数を設定する例を示したが、予め、入射信号の最大数が想定される状況下では、最終値Ｋｇｅｎｄ，Ｋｅｎｄとして、予め想定される入射信号の最大数を設定するようにしてもよい。
【００５０】
また、最終値Ｋｇｅｎｄ，Ｋｅｎｄとして、センサの数を設定するようにしてもよい。
その理由は、ＣａＳａＭＰでは、原理上、アレーセンサを構成するセンサの数以上の入射方向は一度に推定できないからである。
この性質を用いれば、設計上、入射信号の最大数を想定して、アレーセンサを構成するセンサの数を決めるので、センサ数と同数にしておけば問題ないと言える。
【００５１】
実施の形態６．
上記実施の形態１〜５では、次の収束演算ステップに移行する毎に、パラメータ設定部５が、パラメータＫｇ，Ｋの値を小さな値に更新する例を示したが、一旦設定したパラメータＫｇ，Ｋで、スパースベクトルＸｓが収束するまで、パラメータＫｇ，Ｋの値を更新せずに、次の収束演算ステップに移行するようにしてもよい。
図７はこの発明の実施の形態６による方向探知装置を示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
【００５２】
パラメータ設定制御部６はＸｓ収束判定部４によりスパースベクトルＸｓが収束していると判定され、かつ、パラメータＫｇ，Ｋの値が最終値Ｋｇｅｎｄ，Ｋｅｎｄに到達していれば、収束演算ステップを終了する。Ｘｓ収束判定部４によりスパースベクトルＸｓが収束していると判定されているが、パラメータＫｇ，Ｋの値が最終値Ｋｇｅｎｄ，Ｋｅｎｄに到達していなければ、パラメータＫｇ，Ｋの更新指令をパラメータ設定部５に出力するとともに、そのスパースベクトルＸｓを残差計算部１に出力する。
一方、Ｘｓ収束判定部４によりスパースベクトルＸｓが収束していないと判定されると、パラメータＫｇ，Ｋの更新指令をパラメータ設定部５に出力せずに、そのスパースベクトルＸｓを残差計算部１に出力する処理を実施する。なお、パラメータ設定制御部６は設定制御手段を構成している。
【００５３】
図７の例では、方向探知装置の構成要素である残差計算部１、信号復元ベクトル算出部２、スパースベクトル生成部３、Ｘｓ収束判定部４、パラメータ設定部５及びパラメータ設定制御部６のそれぞれが専用のハードウェア（例えば、ＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなど）で構成されているものを想定しているが、方向探知装置がコンピュータで構成されていてもよい。
方向探知装置がコンピュータで構成されている場合、残差計算部１、信号復元ベクトル算出部２、スパースベクトル生成部３、Ｘｓ収束判定部４、パラメータ設定部５及びパラメータ設定制御部６の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにすればよい。
【００５４】
次に動作について説明する。
パラメータ設定制御部６を追加している点以外は、上記実施の形態１〜５と同様であるため、ここでは、主にパラメータ設定制御部６の処理内容を説明する。
【００５５】
パラメータ設定制御部６は、Ｘｓ収束判定部４の判定結果を入力し、その判定結果が、スパースベクトルＸｓが収束している旨を示している場合、パラメータ設定部５により設定されているパラメータＫｇ，Ｋの値が最終値Ｋｇｅｎｄ，Ｋｅｎｄに到達していれば、収束演算ステップを終了する。
また、パラメータ設定制御部６は、Ｘｓ収束判定部４の判定結果が、スパースベクトルＸｓが収束している旨を示している場合、パラメータ設定部５により設定されているパラメータＫｇ，Ｋの値が最終値Ｋｇｅｎｄ，Ｋｅｎｄに到達していなければ、パラメータＫｇ，Ｋの更新指令をパラメータ設定部５に出力するとともに、そのスパースベクトルＸｓを残差計算部１に出力して、次の収束演算ステップを実行させる。
パラメータ設定部５は、パラメータ設定制御部６からパラメータＫｇ，Ｋの更新指令を受けると、下記の式（３０）（３１）に示すように、そのパラメータＫｇ，Ｋの値が小さくなるように更新する。
2014219207.tif 000030
【００５６】
パラメータ設定制御部６は、Ｘｓ収束判定部４の判定結果が、スパースベクトルＸｓが収束していない旨を示している場合、パラメータＫｇ，Ｋの更新指令をパラメータ設定部５に出力せずに、そのスパースベクトルＸｓを残差計算部１に出力して、次の収束演算ステップを実行させる。
【００５７】
以上で明らかなように、この実施の形態６によれば、次の収束演算ステップに移行する毎に、パラメータＫｇ，Ｋの値を更新するのではなく、一旦設定したパラメータＫｇ，Ｋで、スパースベクトルＸｓが収束するまで、パラメータＫｇ，Ｋの値を更新せずに、次の収束演算ステップに移行するように構成したので、ＣｏＳａＭＰの動作をより安定化させることができるようになり、高精度な方向探知結果を得ることができる。
【００５８】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００５９】
１  残差計算部（残差算出手段）、２  信号復元ベクトル算出部（信号復元ベクトル算出手段）、３  スパースベクトル生成部（スパースベクトル生成手段）、４  Ｘｓ収束判定部（収束判定手段）、５  パラメータ設定部（個数設定手段）、６  パラメータ設定制御部（設定制御手段）、１０１  残差計算部、１０２  信号復元ベクトル算出部、１０３  スパースベクトル生成部、１０４  Ｘｓ収束判定部。
【図１】
2014219207.tif 000031
【図２】
2014219207.tif 000032
【図３】
2014219207.tif 000033
【図４】
2014219207.tif 000034
【図５】
2014219207.tif 000035
【図６】
2014219207.tif 000036
【図７】
2014219207.tif 000037
【図８】
2014219207.tif 000038
【図９】
2014219207.tif 000039