(57)【要約】【課題】ピーク波形の分割点を適切に検出することができ、測距精度が高い測距装置を提供する。【解決手段】検出部は、検出信号の信号強度の最大値を記憶し、検出信号の信号強度が、記憶されている最大値から頂点判定値ＯｖＬＰ１だけ小さい値となるまで下がった場合に、検出信号における記憶されている最大値を示した点を、検出信号の波形における山の頂点と判定する、頂点検出処理と、頂点が検出された後、検出信号の信号強度の最小値を記憶し、検出信号の信号強度が、記憶されている最小値から底点判定値ＯｖＬＰ２だけ大きい値となるまで上がった場合に、検出信号における記憶されている最小値を示した点を、検出信号の波形における谷の底点と判定する、底点検出処理と、を行う。【選択図】図２
2020118478.tif 000002
【特許請求の範囲】
【請求項１】
物体からの反射波を検出し、前記反射波に基づいて前記物体との距離を測定する測距装置（１００）であって、
前記反射波の強度に応じた検出信号を出力するように構成された信号出力部（２２）と、
前記信号出力部から出力される前記検出信号の信号強度を監視し、前記検出信号の波形における山の頂点及び谷の底点を検出するように構成された検出部（２３１，２３２）であって、
前記検出信号の信号強度の最大値を記憶し、前記検出信号の信号強度が、記憶されている前記最大値から所定の頂点判定値だけ小さい値となるまで下がった場合に、前記検出信号における記憶されている前記最大値を示した点を、前記検出信号の波形における前記山の頂点と判定する、頂点検出処理と、
前記山の頂点が検出された後、前記検出信号の信号強度の最小値を記憶し、前記検出信号の信号強度が、記憶されている前記最小値から所定の底点判定値だけ大きい値となるまで上がった場合に、前記検出信号における記憶されている前記最小値を示した点を、前記検出信号の波形における前記谷の底点と判定する、底点検出処理と、
を行うように構成された前記検出部と、
前記検出部で検出された前記谷の底点に基づいて、前記検出信号の波形を、前記反射波を受信したことを示すピーク波形ごとに分割するように構成された波形分割部（２３３）と、
前記波形分割部によって得られた前記ピーク波形に基づいて前記物体との距離を算出するように構成された距離算出部（２３６）と、
を備える測距装置。
【請求項２】
前記検出部は、前記頂点検出処理と前記底点検出処理とを繰り返し行う、請求項１に記載の測距装置。
【請求項３】
前記反射波の検出期間外において、前記検出信号の信号強度のばらつきを示すノイズ値を取得するように構成されたノイズ取得部（２３４）と、
前記頂点判定値及び前記底点判定値の少なくとも一方を、前記ノイズ値に基づいて設定するように構成された値設定部（２３５）と、
を更に備える、請求項１又は請求項２に記載の測距装置。
【請求項４】
前記検出部による前記頂点検出処理を行うか否かを判定するように構成された、検出判定部を更に備え、
前記検出判定部は、前記信号出力部から出力される前記検出信号の信号強度が所定の検出閾値よりも大きくなった場合に、前記検出部による前記頂点検出処理を行うと判定する、請求項１〜請求項３のいずれか１項に記載の測距装置。
【請求項５】
前記検出部による前記頂点検出処理を行うか否かを判定するように構成された、検出判定部を更に備え、
前記検出判定部は、前記信号出力部から出力される前記検出信号の信号強度が所定の検出閾値よりも大きくなった場合に、前記検出部による前記頂点検出処理を行うと判定し、
前記値設定部は更に、前記検出閾値を前記ノイズ値に基づいて設定する、請求項３に記載の測距装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は物体との距離を測定する測距装置に関する。
【背景技術】
【０００２】
車両に搭載され、車両の前方にある物体との距離を測定する測距装置として、送信波を前方に向けて照射し、照射した送信波の物体からの反射波を検出して、その物体までの距離を算出する測距装置がある。
【０００３】
このような測距装置において、送信波が照射される範囲に２つの物体が照射方向に並んで近接して存在する場合、得られる検出信号の波形において物体からの反射波を受信したことを示す２つのピーク波形が引っ付いていることがある。物体との距離は通常ピーク波形の中心位置などに基づいて算出されるため、２つのピーク波形の分割点を検出できずに、２つのピーク波形を１つのピーク波形と捉えてしまうと、物体との距離を適切に算出できない場合がある。
【０００４】
特許文献１の測距装置では、検証対象の１個のポイントと、その１個のポイントに対して時間的に１個前のポイント及び１個後のポイントとの信号成分の差分が所定の条件を満たす場合に、その点を分割点として検出信号の波形を分割している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４６９７０７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明者らの検討の結果、特許文献１に記載の測距装置では、連続する検証ポイント間の差分に基づいてピーク波形の分割が行われるため、本来なら２つのピーク波形として分割すべき波形であっても、２つのピーク間の波形が非常になだらかにつながっている場合には、ピーク波形の分割点を検出できず、測距精度が低下するという課題が見出された。
【０００７】
本開示の一局面は、ピーク波形の分割点を適切に検出することができ、測距精度が高い測距装置を提供する。
【課題を解決するための手段】
【０００８】
本開示の一態様は、物体からの反射波を検出し、反射波に基づいて物体との距離を測定する測距装置（１００）であって、信号出力部（２２）と、検出部（２３１，２３２）と、波形分割部（２３３）と、距離算出部（２３６）と、を備える。信号出力部は、反射波の強度に応じた検出信号を出力するように構成される。検出部は、信号出力部から出力される検出信号の信号強度を監視し、検出信号の波形における山の頂点及び谷の底点を検出するように構成される。また、検出部は、検出信号の信号強度の最大値を記憶し、検出信号の信号強度が、記憶されている最大値から所定の頂点判定値だけ小さい値となるまで下がった場合に、検出信号における記憶されている最大値を示した点を、検出信号の波形における山の頂点と判定する、頂点検出処理を行うように構成される。さらに、検出部は、山の頂点が検出された後、検出信号の信号強度の最小値を記憶し、検出信号の信号強度が、記憶されている最小値から所定の底点判定値だけ大きい値となるまで上がった場合に、検出信号における記憶されている最小値を示した点を、検出信号の波形における谷の底点と判定する、底点検出処理を行うように構成される。波形分割部は、検出部で検出された谷の底点に基づいて、検出信号の波形を、反射波を受信したことを示すピーク波形ごとに分割するように構成される。距離算出部は、波形分割部によって得られたピーク波形に基づいて物体との距離を算出するように構成される。
【０００９】
このような構成によれば、ピーク波形の分割点を適切に検出することができる。
【図面の簡単な説明】
【００１０】
【図１】測距装置の構成を示すブロック図である。
【図２】ピーク波形検出処理の概要を示す図である。
【図３】ピーク波形検出処理のフローチャートである。
【図４】ピーク半値幅及びピーク頂点位置の算出方法を示す図である。
【図５】ピーク距離の補正方法を示す図である。
【図６】ノイズ値の取得方法を示す図である。
【発明を実施するための形態】
【００１１】
以下、本開示の例示的な実施形態について図面を参照しながら説明する。
［１．第１実施形態］
［１−１．構成］
図１に示すライダ装置１００は、送信波としてレーザ光などの光を照射し、光が照射された物体からの反射波を検出することにより、物体との距離を測定する測距装置である。ライダはＬＩＤＡＲとも表記される。ＬＩＤＡＲは、Light Detection and Rangingの略語である。ライダ装置１００は、車両に搭載して使用され、車両の前方に存在する様々な物体の検出に用いられる。
【００１２】
ライダ装置１００は、送信部１０と、受信部２０と、制御部３０とを備えている。
送信部１０は、パルス状のレーザ光を車両前方に向けて照射する。
受信部２０は、受光素子２１と、信号出力部２２と、処理部２３とを備えている。
【００１３】
受光素子２１は、照射したレーザ光の反射波を受光し、受光強度に応じた電気信号である受光信号を出力する。
信号出力部２２は、受光素子２１から出力された受光信号を一定のサンプリング周波数でデジタル信号に変換し、検出信号として処理部２３へ出力する。
【００１４】
処理部２３は、信号出力部２２から出力された検出信号に対して信号処理を実行する。そして、処理部２３は、信号処理での処理結果と、制御部３０が送信部１０に対して出力するレーザパルス出力信号とに基づき、レーザ光を反射した物体までの距離を算出する。本実施形態では、処理部２３は、ＦＰＧＡ（すなわち、field-programmable gate array）などのハードウェアにより構成されており、ピーク波形検出判定部２３１、ピーク波形検出部２３２（以下、単に「検出部」ともいう）、ピーク波形分割部２３３、ノイズ取得部２３４、値設定部２３５、及び距離算出部２３６の各機能を実行する。
【００１５】
ピーク波形検出判定部２３１は、検出信号の信号強度が所定の検出閾値Ｔｈよりも大きくなった場合に、ピーク波形の検出を開始するように構成されている。具体的には、ピーク波形検出判定部２３１は、検出信号の信号強度が検出閾値Ｔｈよりも大きくなった場合に、ピーク波形検出部２３２に後述する頂点検出処理の開始を指示するように構成されている。
【００１６】
ピーク波形検出部２３２は、検出信号の信号強度を監視し、検出信号の波形における山の頂点及び谷の底点を検出するように構成されている。具体的には、ピーク波形検出部２３２は、検出信号の波形における山の頂点を検出する頂点検出処理と、検出信号の波形における谷の底点を検出する底点検出処理とを実行するように構成されている。
【００１７】
ピーク波形分割部２３３は、ピーク波形検出部２３２での検出結果に基づいて、検出信号の波形を、物体からの反射波を受信したことを示すピーク波形ごとに分割するように構成されている。
【００１８】
以下、ピーク波形検出判定部２３１、ピーク波形検出部２３２、及びピーク波形分割部２３３において行われる処理をまとめてピーク波形検出処理と呼ぶ。ピーク波形検出処理の詳細については後に詳述する。
【００１９】
ノイズ取得部２３４は、反射波の検出期間外において、検出信号の信号強度のばらつきを示すノイズ値を取得するように構成されている。値設定部２３５は、ノイズ取得部２３４が取得したノイズ値に基づいて、ピーク波形検出判定部２３１において使用される検出閾値Ｔｈの設定、及びピーク波形検出部２３２がピーク波形検出処理で使用する各種判定値の設定を行う。以下、ノイズ取得部２３４及び値設定部２３５において行われる処理をまとめて値設定処理と呼ぶ。値設定処理の詳細については後に詳述する。
【００２０】
距離算出部２３６は、ピーク波形検出部２３２での検出結果に基づいて、物体との距離を算出するように構成されている。以下、距離算出部２３６において行われる処理を距離算出処理と呼ぶ。距離算出処理の詳細については後に詳述する。
【００２１】
制御部３０は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を有するマイクロコンピュータを備える。制御部３０は、レーザパルス出力信号を送信部１０に対して出力し、送信部１０にレーザ光を所望の探索範囲に照射させる。また、制御部３０は、探査範囲に照射したレーザ光の反射波を所定の検出期間で受信するように受信部２０を制御する。
【００２２】
［１−２．処理］
次に、処理部２３が実行するピーク波形検出処理について説明する。
［１−２−１．ピーク波形検出処理］
処理部２３が実行するピーク波形検出処理の概要を図２を用いて説明する。
【００２３】
処理部２３には、信号出力部２２から所定のサンプリング周期を有する検出信号が入力される。
まず、処理部２３は、検出信号の信号強度を示す入力値Ｉｎｐｕｔが検出閾値Ｔｈよりも大きくなった場合に、ピーク波形の検出を開始する。
【００２４】
次に、処理部２３は、検出信号の波形における山の頂点を検出する頂点検出処理と、検出信号の波形における谷の底点を検出する底点検出処理とを行う。
具体的には、処理部２３は、頂点検出処理において、入力値Ｉｎｐｕｔの最大値を記憶し更新していく。具体的には、データ番号ｉにおける入力値Ｉｎｐｕｔ（ｉ）が入力される度に、当該入力値Ｉｎｐｕｔ（ｉ）と記憶されている最大値（以下、「最大値の記憶値ｍａｘ＿ｐｅａｋ」とする）とを比較する。そして、入力値Ｉｎｐｕｔ（ｉ）が最大値の記憶値ｍａｘ＿ｐｅａｋよりも大きい場合には、最大値の記憶値ｍａｘ＿ｐｅａｋを当該入力値Ｉｎｐｕｔ（ｉ）に更新する。その後、入力値Ｉｎｐｕｔ（ｉ）が、最大値の記憶値ｍａｘ＿ｐｅａｋから所定の頂点判定値ＯｖＬＰ１だけ小さい値となるまで下がった場合に、検出信号における、現在記憶されている最大値の記憶値ｍａｘ＿ｐｅａｋを示した点を、検出信号の波形における山の頂点と判定する。
【００２５】
頂点検出処理において山の頂点が検出されると、処理部２３は、頂点検出処理を終了し、底点検出処理の実行に移行する。
処理部２３は、底点検出処理において、入力値Ｉｎｐｕｔの最小値を記憶し更新していく。具体的には、データ番号ｉにおける入力値Ｉｎｐｕｔ（ｉ）が入力される度に、当該入力値Ｉｎｐｕｔ（ｉ）と記憶されている最小値（以下、「最小値の記憶値ｍｉｎ＿ｐｅａｋ」とする）とを比較する。そして、入力値Ｉｎｐｕｔ（ｉ）が最小値の記憶値ｍｉｎ＿ｐｅａｋよりも小さい場合には、最小値の記憶値ｍｉｎ＿ｐｅａｋを当該入力値Ｉｎｐｕｔ（ｉ）に更新する。その後、入力値Ｉｎｐｕｔ（ｉ）が、最小値の記憶値ｍｉｎ＿ｐｅａｋから所定の底点判定値ＯｖＬＰ２だけ大きい値となるまで上がった場合に、検出信号における、現在記憶されている最小値の記憶値ｍｉｎ＿ｐｅａｋを示した点を、検出信号の波形における谷の底点と判定する。そして、処理部２３は、当該底点をピーク波形の分割点に設定する。
【００２６】
底点検出処理において谷の底点が検出されると、処理部２３は、底点検出処理を終了し、頂点検出処理の実行に移行する。
このように、処理部２３は、頂点検出処理と底点検出処理とを繰り返し行う。
【００２７】
その後、処理部２３は、入力値Ｉｎｐｕｔが検出閾値Ｔｈ以下となった場合に、ピーク波形の検出を終了する。
続いて、処理部２３が行うピーク波形検出処理の詳細を、図３に示すフローチャートを用いて説明する。図３に示すピーク波形検出処理は、制御部３０からレーザパルス出力信号が出力されて送信部１０がレーザ光を照射した後、受信部２０による検出期間が開始されると実行される。
【００２８】
まず、Ｓ１０１で、処理部２３は、初期化処理を行う。すなわち、ピーク波形検出処理において使用する各種パラメータ、例えば後述するピーク波形のカウント値ｐｅａｋ＿ｃｏｕｎｔなどの値を「０」に設定する。
【００２９】
続いて、Ｓ１０２で、入力値Ｉｎｐｕｔ（ｉ）が検出閾値Ｔｈよりも大きいか否かを判定する。
処理部２３は、Ｓ１０２で入力値Ｉｎｐｕｔ（ｉ）が検出閾値Ｔｈよりも大きいと判定した場合には、Ｓ１０３へ移行し、ピーク波形の検出フラグｄｅｔ＿ｆｌａｇが「０」であるか否かを判定する。ピーク波形の検出フラグｄｅｔ＿ｆｌａｇは、前回の入力値Ｉｎｐｕｔ（ｉ−１）が検出閾値Ｔｈよりも大きい場合には「１」、検出閾値Ｔｈ以下である場合には「０」となっている。
【００３０】
処理部２３は、Ｓ１０３でピーク波形の検出フラグｄｅｔ＿ｆｌａｇが「０」であると判定した場合には、前回の入力値Ｉｎｐｕｔ（ｉ）ではピーク波形の検出は行われておらず、今回の入力値Ｉｎｐｕｔ（ｉ）からピーク波形の検出が開始されることから、Ｓ１０４へ移行し、ピーク波形の検出フラグｄｅｔ＿ｆｌａｇを「１」に設定する。また、処理部２３は、Ｓ１０４で、以降の処理に用いる各種パラメータの初期値を設定する。具体的には、底点検出処理フラグｖｌｙ＿ｆｌａｇを「０」に設定し、ピーク波形のカウント値ｐｅａｋ＿ｃｏｕｎｔを１増やし、最大値の記憶値ｍａｘ＿ｐｅａｋを入力値Ｉｎｐｕｔ（ｉ）に設定し、最大値の記憶値のデータ位置ｍａｘ＿ｐｅａｋ＿ｉｄをデータ番号ｉに設定し、ピーク波形の開始位置ＳｔａｒｔＰｏｓ（ｐｅａｋ＿ｃｏｕｎｔ）をデータ番号ｉに設定する。その後、処理部２３は、Ｓ１０５へ移行する。
【００３１】
一方、処理部２３は、Ｓ１０３でピーク波形の検出フラグｄｅｔ＿ｆｌａｇが「０」でないと判定した場合には、Ｓ１０４をスキップしてＳ１０５へ移行する。
Ｓ１０５で、処理部２３は、底点検出処理フラグｖｌｙ＿ｆｌａｇが「０」であるか否かを判定する。底点検出処理フラグｖｌｙ＿ｆｌａｇは、今回の入力値Ｉｎｐｕｔ（ｉ）において、後述するＳ１０６〜Ｓ１０９の頂点検出処理を実行するか、後述するＳ１１０〜Ｓ１１３の底点検出処理を実行するかを示すフラグである。今回の入力値Ｉｎｐｕｔ（ｉ）において底点検出処理を実行する場合には「１」、頂点検出処理を実行する場合には「０」となっている。
【００３２】
処理部２３は、Ｓ１０５で、底点検出処理フラグｖｌｙ＿ｆｌａｇが「０」であると判定した場合には、Ｓ１０６へ移行し、入力値Ｉｎｐｕｔ（ｉ）が、最大値の記憶値ｍａｘ＿ｐｅａｋよりも大きいか否かを判定する。
【００３３】
処理部２３は、Ｓ１０６で、入力値Ｉｎｐｕｔ（ｉ）が現在の最大値の記憶値ｍａｘ＿ｐｅａｋよりも大きいと判定した場合には、入力値Ｉｎｐｕｔの最大値を更新するため、Ｓ１０７へ移行し、最大値の記憶値ｍａｘ＿ｐｅａｋを入力値Ｉｎｐｕｔ（ｉ）に設定する。また、処理部２３は、Ｓ１０７で、最大値の記憶値のデータ位置ｍａｘ＿ｐｅａｋ＿ｉｄをデータ番号ｉに設定する。その後、処理部２３は、Ｓ１０８へ移行する。
【００３４】
一方、処理部２３は、Ｓ１０６で入力値Ｉｎｐｕｔ（ｉ）が最大値の記憶値ｍａｘ＿ｐｅａｋよりも大きくないと判定した場合には、Ｓ１０７をスキップしてＳ１０８へ移行する。
【００３５】
Ｓ１０８で、処理部２３は、最大値の記憶値ｍａｘ＿ｐｅａｋと入力値Ｉｎｐｕｔ（ｉ）とを比較し、最大値の記憶値ｍａｘ＿ｐｅａｋから入力値Ｉｎｐｕｔ（ｉ）を引いた値が頂点判定値ＯｖＬＰ１よりも大きいか否かを判定する。
【００３６】
処理部２３は、Ｓ１０８で、最大値の記憶値ｍａｘ＿ｐｅａｋから入力値Ｉｎｐｕｔ（ｉ）を引いた値が頂点判定値ＯｖＬＰ１よりも大きいと判定した場合には、Ｓ１０９へ移行し、山の頂点のデータ位置ＰｅａｋＰｏｓ（ｐｅａｋ＿ｃｏｕｎｔ）、及び山の頂点における入力値ＰｅａｋＶａｌ（ｐｅａｋ＿ｃｏｕｎｔ）を確定する。具体的には、山の頂点における入力値ＰｅａｋＶａｌ（ｐｅａｋ＿ｃｏｕｎｔ）を現在の最大値の記憶値ｍａｘ＿ｐｅａｋに設定し、山の頂点におけるデータ位置ＰｅａｋＰｏｓ（ｐｅａｋ＿ｃｏｕｎｔ）を、現在の最大値の記憶値のデータ位置ｍａｘ＿ｐｅａｋ＿ｉｄに設定する。また、処理部２３は、Ｓ１０９で、頂点検出処理から底点検出処理へ移行するための、すなわち、次回の入力値Ｉｎｐｕｔ（ｉ＋１）において底点検出処理を実行するための準備も行う。具体的には、処理部２３は、底点検出処理フラグｖｌｙ＿ｆｌａｇを「１」に設定し、底点検出処理において使用する最小値の記憶値ｍｉｎ＿ｐｅａｋを、初期値としてＩｎｐｕｔ（ｉ）に設定し、最初値の記憶値のデータ位置ｍｉｎ＿ｐｅａｋ＿ｉｄを、初期値としてデータ番号ｉに設定する。その後、処理部２３は、Ｓ１１８へ移行する。
【００３７】
一方、処理部２３は、Ｓ１０８で最大値の記憶値ｍａｘ＿ｐｅａｋから入力値Ｉｎｐｕｔ（ｉ）を引いた値が頂点判定値ＯｖＬＰ１よりも大きくないと判定した場合には、Ｓ１０９をスキップしてＳ１１８へ移行する。
【００３８】
一方、処理部２３は、Ｓ１０５で、底点検出処理フラグｖｌｙ＿ｆｌａｇが「１」であると判定した場合には、Ｓ１１０へ移行し、入力値Ｉｎｐｕｔ（ｉ）が、最小値の記憶値ｍｉｎ＿ｐｅａｋよりも小さいか否かを判定する。
【００３９】
処理部２３は、Ｓ１１０で入力値Ｉｎｐｕｔ（ｉ）が現在の最小値の記憶値ｍｉｎ＿ｐｅａｋよりも小さいと判定した場合には、入力値Ｉｎｐｕｔの最小値を更新するため、Ｓ１１１へ移行し、最小値の記憶値ｍｉｎ＿ｐｅａｋをＩｎｐｕｔ（ｉ）に設定する。また、処理部２３は、Ｓ１１１で、最小値の記憶値のデータ位置ｍｉｎ＿ｐｅａｋ＿ｉｄをデータ番号ｉに設定する。
【００４０】
一方、処理部２３は、Ｓ１１０で入力値Ｉｎｐｕｔ（ｉ）が最小値の記憶値ｍｉｎ＿ｐｅａｋよりも小さくないと判定した場合には、Ｓ１１１をスキップしてＳ１１２へ移行する。
【００４１】
Ｓ１１２で、処理部２３は、入力値Ｉｎｐｕｔ（ｉ）と最小値の記憶値ｍｉｎ＿ｐｅａｋとを比較し、入力値Ｉｎｐｕｔ（ｉ）から最小値の記憶値ｍｉｎ＿ｐｅａｋを差し引いた値が底点判定値ＯｖＬＰ２よりも大きいか否かを判定する。
【００４２】
処理部２３は、Ｓ１１２で入力値Ｉｎｐｕｔ（ｉ）から最小値の記憶値ｍｉｎ＿ｐｅａｋを差し引いた値が底点判定値ＯｖＬＰ２よりも大きいと判定した場合には、Ｓ１１３へ移行し、ピーク波形の分割点となる、ピーク波形の終点を確定する。具体的には、ピーク波形の終了位置ＥｎｄＰｏｓ（ｐｅａｋ＿ｃｏｕｎｔ）を現在の最小値の記憶値のデータ位置ｍｉｎ＿ｐｅａｋ＿ｉｄに設定する。また、処理部２３は、底点検出処理から頂点検出処理へ移行するための、すなわち、次回の入力値Ｉｎｐｕｔ（ｉ＋１）において頂点検出処理を実行するための準備も行う。具体的には、処理部２３は、ピーク波形のカウント値ｐｅａｋ＿ｃｏｕｎｔを１増やし、底点検出処理フラグｖｌｙ＿ｆｌａｇを「０」に設定し、頂点検出処理において使用する最大値の記憶値ｍａｘ＿ｐｅａｋを、初期値として入力値ｉｎｐｕｔ（ｉ）に設定し、最大値の記憶値のデータ位置ｍａｘ＿ｐｅａｋ＿ｉｄをデータ番号ｉに設定し、ピーク波形の開始位置ＳｔａｒｔＰｏｓ（ｐｅａｋ＿ｃｏｕｎｔ）を最小値の記憶値のデータ位置ｍｉｎ＿ｐｅａｋ＿ｉｄに設定する。また、処理部２３は、後述する距離算出処理で用いる谷検出フラグＯＶＦＬＡＧ（ｐｅａｋ＿ｃｏｕｎｔ）を「１」に設定する。なお、谷検出フラグＯＶＦＬＡＧ（ｐｅａｋ＿ｃｏｕｎｔ）は、所望のカウント値ｐｅａｋ＿ｃｏｕｎｔのピーク波形において谷が検出された場合には「１」、谷が検出されなかった場合には「０」となる。その後、処理部２３は、Ｓ１１８へ移行する。
【００４３】
一方、処理部２３は、Ｓ１１２で入力値Ｉｎｐｕｔ（ｉ）から最小値の記憶値ｍｉｎ＿ｐｅａｋを差し引いた値が底点判定値ＯｖＬＰ２よりも大きくないと判定した場合には、Ｓ１１３をスキップしてＳ１１８へ移行する。
【００４４】
Ｓ１０２の説明に戻る。処理部２３は、Ｓ１０２で入力値Ｉｎｐｕｔ（ｉ）が検出閾値Ｔｈよりも大きくないと判定した場合には、Ｓ１１４へ移行し、ピーク波形の検出フラグｄｅｔ＿ｆｌａｇが「１」であるか否かを判定する。
【００４５】
処理部２３は、Ｓ１１４でピーク波形の検出フラグｄｅｔ＿ｆｌａｇが「１」であると判定した場合には、前回の入力値Ｉｎｐｕｔ（ｉ−１）では検出閾値Ｔｈよりも大きく、今回の入力値Ｉｎｐｕｔ（ｉ）で検出閾値Ｔｈ以下になったことを意味するため、Ｓ１１５へ移行し、ピーク波形の検出フラグｄｅｔ＿ｆｌａｇを「０」に設定する。また、処理部２３は、Ｓ１１５で、今まで検出していたピーク波形の終点を確定するため、ピーク波形の終了位置ＥｎｄＰｏｓ（ｐｅａｋ＿ｃｏｕｎｔ）をデータ番号ｉ−１に設定する。その後、処理部２３は、Ｓ１１６へ移行する。
【００４６】
一方、処理部２３は、Ｓ１１４でピーク波形の検出フラグｄｅｔ＿ｆｌａｇが「１」でないと判定した場合には、Ｓ１１８へ移行する。
続いて、Ｓ１１６で、処理部２３は、底点検出処理フラグｖｌｙ＿ｆｌａｇが「０」であるか否かを判定する。
【００４７】
処理部２３は、Ｓ１１６で底点検出処理フラグｖｌｙ＿ｆｌａｇが「０」であると判定した場合には、Ｓ１０９を経ておらず山の頂点が確定されていない可能性があるため、Ｓ１１７へ移行し、山の頂点の確定を行う。具体的には、処理部２３は、山の頂点における入力値ＰｅａｋＶａｌ（ｐｅａｋ＿ｃｏｕｎｔ）を最大値の記憶値ｍａｘ＿ｐｅａｋに設定し、山の頂点のデータ位置ＰｅａｋＰｏｓ（ｐｅａｋ＿ｃｏｕｎｔ）を最大値の記憶値のデータ位置ｍａｘ＿ｐｅａｋ＿ｉｄに設定する。その後、処理部２３は、Ｓ１１８に移行する。
【００４８】
一方、処理部２３は、Ｓ１１６で底点検出処理フラグｖｌｙ＿ｆｌａｇが「０」でないと判定した場合には、Ｓ１１７をスキップしてＳ１１８へ移行する。
続いて、Ｓ１１８で、処理部２３は、入力値Ｉｎｐｕｔ（ｉ）が最終データであるか否かを判定する。具体的には、入力値Ｉｎｐｕｔ（ｉ）が、反射波の検出期間内の最後の入力値であるか否かを判定する。
【００４９】
処理部２３は、Ｓ１１８で入力値Ｉｎｐｕｔ（ｉ）が最終データでないと判定した場合には、Ｓ１１９へ移行し、データ番号ｉを１増やした後、Ｓ１０２に戻る。
一方、処理部２３は、Ｓ１１８で入力値Ｉｎｐｕｔ（ｉ）が最終データであると判定した場合には、図３のピーク波形検出処理を終了する。
【００５０】
［１−２−２．距離算出処理］
次に、処理部２３が距離算出部２３６として行う距離算出処理について図４及び図５を用いて説明する。
【００５１】
まず、処理部２３は、以下のとおりにピーク算出閾値ＣＡＬＴｈを求める。
所望のカウント値ｐｅａｋ＿ｃｏｕｎｔの波形において上記ピーク波形検出処理における谷検出フラグＯＶＦＬＡＧが「１」である場合、すなわち、図４に示すように反射波の検出期間内に谷が検出された場合、ピーク算出閾値ＣＡＬＴｈは下記式（１）に基づいて求められる。
【００５２】
ＣＡＬＴｈ＝（ピーク最大値−谷値）×ＣＡＬＴｈ＿ＲＡＳＩＯ＋谷値・・・（１）
「ピーク最大値」は、上記ピーク波形検出処理における、カウント値ｐｅａｋ＿ｃｏｕｎｔ＝ｐのピーク波形における山の頂点における入力値ＰｅａｋＶａｌ（ｐ）に相当する。また、「谷値」は、カウント値ｐｅａｋ＿ｃｏｕｎｔ＝ｐのピーク波形におけるピーク波形の開始位置ＳｔａｒｔＰｏｓ（ｐ）における入力値と、カウント値ｐｅａｋ＿ｃｏｕｎｔ＝ｐのピーク波形におけるピーク波形の終了位置ＥｎｄＰｏｓ（ｐ）における入力値を比較した場合に、より大きい値の方を指す。また、「ＣＡＬＴｈ＿ＲＡＳＩＯ」は、あらかじめ設定された定数であり、０＜ＣＡＬＴｈ＿ＲＡＳＩＯ＜１である。
【００５３】
一方、谷検出フラグＯＶＦＬＡＧが「０」である場合、すなわち、反射波の検出期間内に谷が検出されなかった場合、ピーク算出閾値ＣＡＬＴｈは下記式（２）に基づいて求められる。
【００５４】
ＣＡＬＴｈ＝ピーク最大値×ＣＡＬＴｈ＿ＲＡＳＩＯ・・・（２）
次に、図４に示すように、カウント値ｐｅａｋ＿ｃｏｕｎｔ＝ｐのピーク波形のデータから、得られたピーク算出閾値ＣＡＬＴｈを跨ぐ点Ｐ１〜Ｐ４を抽出する。そして、下記式（３）〜（６）に基づいて、カウント値ｐｅａｋ＿ｃｏｕｎｔ＝ｐのピーク波形におけるピーク半値幅ＭＩＤＷＩＤ＿ＯＵＴ、及びピーク頂点位置ＭＩＤＰＯＳ＿ＯＵＴを算出する。
【００５５】
T1＝(t2−t1)×(CALTh−Input(t1))／(Input(t2)−Input(t1))＋t1
＝(CALTh−Input(t1))／(Input(t2)−Input(t1))＋t1・・・（３）
T2＝(t4−t3)×(Input(t3)−CALTh)／(Input(t3)−Input(t4))＋t3
＝(Input(t3)−CALTh)／(Input(t3)−Input(t4))＋t3・・・（４）
MIDWID_OUT＝T2−T1・・・（５）
MIDPOS_OUT＝(T2＋T1)／２・・・（６）
なお、式（３）〜（４）中、t1、t2、t3、及びt4は、点Ｐ１、Ｐ２、Ｐ３、及びＰ４における、検出期間の開始点Ｓを基準とした位置である。また、各データポイント位置の間は規格化してあるため、式（３）中のt2ーt1及び式（４）中のt4−t3は１である。
【００５６】
こうして得られたピーク半値幅ＭＩＤＯＷＩＤ＿ＯＵＴ、及びピーク頂点位置ＭＩＤＰＯＳ＿ＯＵＴを物体の検出情報とする。
次に、下記式（７）に基づいて、得られたピーク半値幅ＭＩＤＰＯＳ＿ＯＵＴを、時間距離変換係数を用いて、時間軸に基づく値から距離に基づく値に変換する。
【００５７】
ピーク距離Ｘ0＝時間距離変換係数×ＭＩＤＰＯＳ＿ＯＵＴ・・・（７）
次に、図５に示すように、得られたピーク距離Ｘ0は、ピークの幅に依存して実際の物体の距離に対してずれが生じるため、パルス幅距離補正量ΔＸを用いて以下の補正を行う。パルス幅距離補正量ΔＸは、ピーク半値幅ＭＩＤＷＩＤ＿ＯＵＴに基づいて決定される。
【００５８】
ピーク距離Ｘ＝ピーク距離Ｘ０−パルス幅距離補正値ΔＸ
このように得られたピーク距離Ｘが物体との距離である。
［１−２−３．値設定処理］
次に、処理部２３が値設定部２３５として行う値設定処理について図６を用いて説明する。
【００５９】
処理部２３は、反射波の検出期間外であらかじめ設定されているノイズ学習期間において、検出信号の信号強度のばらつきを示すノイズ値を取得する。そして、処理部２３は、当該ノイズ値に基づいて頂点判定値ＯｖＬＰ１、底点判定値ＯｖＬＰ２、及び検出閾値Ｔｈを設定する。
【００６０】
ノイズ値が大きく変動した場合、例えば波形に大きなノイズ成分がのった場合、本来ピーク波形の分割点として検出すべきでない点が分割点として検出されたり、ノイズ成分をピーク波形として誤検出したりする可能性がある。このような誤分割及び誤検出を抑制するため、処理部２３は、ノイズ値に応じて頂点判定値ＯｖＬＰ１、底点判定値ＯｖＬＰ２、及び検出閾値Ｔｈを設定している。
【００６１】
具体的には、図６に示すように、ノイズ学習期間においてｎ個の離散化された検出信号の入力値Ｎｏｉｓｅ（ｔ）（ｔ＝０〜ｎ−１）を取得し、その標準偏差σを求める。標準偏差σは以下の式（８）〜（１０）に基づいて求められる。
【００６２】
Ｍ＝Σ（Ｎｏｉｓｅ（ｔ））・・・（８）
μ＝Ｍ／ｎ・・・（９）
σ＝ｓｑｒｔ（Σ（Ｎｏｉｓｅ（ｔ）−μ）2／ｎ)・・・（１０）
頂点判定値ＯｖＬＰ１、底点判定値ＯｖＬＰ２、及び検出閾値Ｔｈは、標準偏差σを用いて、それぞれ下記式（１１）及び（１２）に基づいて設定される。
【００６３】
ＯｖＬＰ１＝ＯｖＬＰ２＝ｋｏ×σ・・・（１１）
Ｔｈ＝ｋｄ×σ・・・（１２）
式（１１）及び式（１２）中、ｋｏ及びｋｄは、それぞれ任意の定数であり、あらかじめ設定された設計値である。なお、式（９）に基づいて算出された平均μは、反射波の信号強度の０基準として使用される。
【００６４】
［１−３．効果］
以上詳述した実施形態によれば、以下の効果が得られる。
（１ａ）上記構成では、処理部２３は、検出信号の信号強度が、記憶されている検出信号の最大値から所定の頂点判定値ＯｖＬＰ１だけ小さい値となるまで下がった場合に、検出信号における当該最大値を示した点を、山の頂点と判定している。また、処理部２３は、山の頂点が検出された後において、検出信号の信号強度が、記憶されている検出信号の最小値から所定の底点判定値ＯｖＬＰ２だけ大きい値となるまで上がった場合に、検出信号における当該最小値を示した点を、谷の底点と判定している。そして、処理部２３は、検出された谷の底点を分割点としてピーク波形の分割を行っている。すなわち、上記構成では、検証ポイントと山の頂点との差分、及び検証ポイントと谷の底点との差分に基づいて、ピーク波形の分割点となる谷の底点を検出している。
【００６５】
このような構成によれば、例えば、前述の特許第４６９７０７２号公報に記載されている測距装置のように、検証ポイント間の差分に基づいてピーク波形の分割点を検出する場合と比べて、２つのピーク間の波形が非常になだらかにつながった形状である場合であっても、２つのピーク波形の分割点を適切に検出することができる。
【００６６】
（１ｂ）また、検証ポイント間の差分に基づいてピーク波形の分割点を検出する方法では、検証ポイントのサンプリング周期によって、ピーク波形の分割性能が大きく変化する。そのため、例えば、測距精度を高めようとサンプリング周期を短くした場合には、ピーク波形の分割に用いる、ポイント間の差分が小さくなり、分割点を検出することが困難となる。また、ポイント間の差分に対するノイズ成分の影響が大きくなり、ノイズに起因する誤分割が生じやすい。
【００６７】
これに対し、上記構成によれば、ピーク波形の分割点の検出に用いる頂点判定値ＯｖＬＰ１及び底点判定値ＯｖＬＰ２は、検証ポイント間の差分に基づいてピーク波形の分割点を検出する場合に分割点の検出に用いる差分よりも大きく設定することができる。そのため、上記構成によれば、ノイズに起因する誤分割を抑制しつつ、適切にピーク波形の分割点を検出することが可能である。
【００６８】
（１ｃ）上記構成では、処理部２３が、信号出力部２２から出力される検出信号の信号強度を監視し、検出信号の波形における山の頂点及び谷の底点を検出するように構成されている。このような構成によれば、連続的に入力される検出信号を１回スキャンするだけで、物体の距離の算出に必要な、山の頂点及び谷の底点の情報を抽出することができる。
【００６９】
（１ｄ）上記構成では、処理部２３が、頂点検出処理と底点検出処理とを繰り返し行う。そのため、２つのピーク波形が引っ付いた波形だけでなく、任意の数の重畳波形に対しても適切にピーク波形の分割を行うことができる。
【００７０】
（１ｅ）上記構成では、ピーク波形の分割に用いる頂点判定値ＯｖＬＰ１及び底点判定値ＯｖＬＰ２が、ノイズ取得部２３４で取得されたノイズ値に基づいて設定されているため、ノイズに起因する誤分割が抑制される。
【００７１】
（１ｆ）上記実施形態では、ピーク波形の検出閾値が、ノイズ取得部２３４で取得されたノイズ値に基づいて設定されているため、ノイズに起因する誤検出が抑制される。
［２．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は、上記実施形態に限定されることなく、種々の形態を採り得ることは言うまでもない。
【００７２】
（２ａ）上記実施形態では、頂点判定値ＯｖＬＰ１と、底点検出処理で使用される底点判定値ＯｖＬＰ２とが同じ値であるが、頂点判定値と底点判定値とは異なる値であってもよい。
【００７３】
（２ｂ）上記実施形態では、頂点判定値ＯｖＬＰ１及び底点判定値ＯｖＬＰ２の両方が、ノイズ取得部２３４で取得されたノイズ値に基づいて設定されているが、頂点判定値ＯｖＬＰ１及び底点判定値ＯｖＬＰ２のうち片方のみがノイズ値に基づいて設定されてもよい。
【００７４】
（２ｃ）上記実施形態では、ピーク波形の半値幅に基づいて求められたピーク最大値を用いて物体との距離を算出しているが、物体との距離の算出方法はこれに限定されない。例えば、ピーク波形の開始位置に基づいて物体との距離を算出してもよい。
【００７５】
（２ｄ）上記実施形態では、谷の底点と判定された点自体がピーク波形の分割点とされているが、ピーク波形の分割点はこれに限定されない。すなわち、ピーク波形の分割点は谷の底点に基づいて決定されればよい。よって、例えば、ピーク波形の分割点は、谷の底と判定された点から一定期間離れた点、例えば、谷の底点と判定された点の前後の点を分割点としてもよい。
【００７６】
（２ｅ）上記実施形態では、測距装置としてライダ装置を例示しているが、測距装置の種類はこれに限定されるものではない。具体的には、測距装置として例えば、ミリ波レーダ装置及び超音波センサ装置が挙げられる。
【００７７】
（２ｆ）上記実施形態における１つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を１つの構成要素に統合したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加、置換等してもよい。
【００７８】
（２ｇ）本開示は、前述した測距装置の他、前述した測距装置を構成要素とするシステム、処理部２３としてコンピュータを機能させるためのプログラム、このプログラムを記録した媒体、ピーク波形検出方法など、種々の形態で実現することができる。
【符号の説明】
【００７９】
１０…送信部、２０…受信部、２２…信号出力部、２３…処理部、３０…制御部、１００…ライダ装置、２３１…ピーク波形検出判定部、２３２…ピーク波形検出部、２３３…ピーク波形分割部、２３４…ノイズ取得部、２３５…値設定部、２３６…距離算出部。
【図１】
2020118478.tif 000003
【図２】
2020118478.tif 000004
【図３】
2020118478.tif 000005
【図４】
2020118478.tif 000006
【図５】
2020118478.tif 000007
【図６】
2020118478.tif 000008