(57)【要約】【課題】音波の受信時刻を相互相関関数により算出する際に利用する閾値を、環境変化等に追従した適切な値として動的に設定することで、音波受信時刻を誤りなく算出することのできる受信時刻算出装置を提供する。【解決手段】受信部1は、音波を受信して受信音波データを得る。相関関数算出部2は所定区間ごとの受信音波データとリファレンス信号との相互相関関数を算出する。解析部3は、相互相関関数において閾値を超えて最初のピークとなる時刻をリファレンス信号の受信時刻であるとして判定する。閾値設定部4は、解析部3で用いる閾値を、解析部3で受信時刻であるとの判定が下されなかった際の相互相関関数に基づいて設定する。【選択図】図２
2016017944.tif 000002
【特許請求の範囲】
【請求項１】
音波を受信して受信音波データを得る受信部と、
所定区間ごとの前記受信音波データと、リファレンス信号との相互相関関数を算出する相関関数算出部と、
前記相互相関関数において閾値を超えて最初のピークとなる時刻を前記リファレンス信号の受信時刻であるとして判定する解析部と、
前記解析部で用いる閾値を、前記解析部で前記受信時刻であるとの判定が下されなかった際の相互相関関数に基づいて設定する閾値設定部と、を備えることを特徴とする受信時刻算出装置。
【請求項２】
前記閾値設定部は、前記解析部で用いる閾値を、前記解析部で前記受信時刻であるとの判定が下されなかった際の相互相関関数における最大値に基づいて設定することを特徴とする請求項１に記載の受信時刻算出装置。
【請求項３】
前記閾値設定部は、所定区間ごとに前記算出される一連の相互相関関数における一連の最大値のうち、最大となるものの値に所定のマージンを加算することで、前記解析部で用いる閾値を設定することを特徴とする請求項２に記載の受信時刻算出装置。
【請求項４】
前記閾値設定部は、所定区間ごとに前記算出される一連の相互相関関数における一連の最大値のうち、条件判定により大きすぎると判定されるものを除外したうえで、前記解析部で用いる閾値を設定することを特徴とする請求項２または３に記載の受信時刻算出装置。
【請求項５】
前記閾値算出部は、現時点に対する所定期間の過去において、前記解析部で前記受信時刻であるとの判定が下されなかった際の相互相関関数に基づいて、当該現時点以降において前記解析部で用いる閾値を設定することを特徴とする請求項１ないし４のいずれかに記載の受信時刻算出装置。
【請求項６】
コンピュータを請求項１ないし５のいずれかに記載の受信時刻算出装置として機能させることを特徴とするプログラム。
【請求項７】
親機及び子機を備え、当該親機及び子機の間において双方向又は単方向に音波を送受し、当該音波の送受時刻に基づいて当該親機及び子機の間の距離を推定する距離推定システムであって、
当該親機及び子機のうち少なくとも一方が、請求項１ないし５のいずれかに記載の受信時刻算出装置を備えることにより、前記送受時刻のうちの受信時刻を算出することを特徴とする距離推定システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音波の受信時刻を相互相関関数により算出する際に利用する閾値を、環境変化等に追従した適切な値として動的に設定することで、音波受信時刻を誤りなく算出することのできる受信時刻算出装置及びプログラム並びに当該装置を用いた距離推定システムに関する。
【背景技術】
【０００２】
主に自動車を中心にスマートキーシステム（登録商標）が普及し始めている。スマートキーシステムを利用すると、ユーザは鍵を自動車のドアに差し込まなくても、ドアに近づいたりドアノブに触ったりするだけでドアを開錠できる。他にも家のドアやマンションの共用玄関のドアの開錠等への適用が期待されている。
【０００３】
自動車における一般的なスマートキーシステムは、ユーザが携帯する専用キーと、自動車に取り付けられた送受信機で構成される。送受信機の送信信号を専用キーが受信した際、応答信号を送信する。送受信機が応答信号を受信した際にドアロックの解除を行う。送受信機の無線信号の通信範囲は1m程度の短距離に制限されている。これにより、自動車から離れているユーザが誤ってドアロックを解除し、第三者が自動車内に侵入できてしまうなどのセキュリティ問題を解決している。無線信号の周波数帯は自動車メーカによって異なるが、125kHzや300MHzなどが使用される。
【０００４】
非特許文献1では、携帯電話に専用ハードウェアを搭載することでスマートキーシステムを実現している。専用キーの代わりに、携帯電話やスマートフォン等の携帯端末を利用することで、ユーザの利便性が向上できる。携帯端末の普及により、多くの人々が携帯端末を普段身に着けているため、専用キーを携帯する必要がなくなる。
【０００５】
ところで非特許文献2では、信号の伝搬時間を利用することで、無線デバイスの感度や雑音による影響が少ない高精度な距離推定を提供している。電磁波と比較して伝搬時間が遅い音波(超音波)を利用し、誤差数10cmの精度を実現する。具体的には、親端末と子端末間で音波を送受信し、子端末が親端末に音波の送受信時刻の情報を通知することで、距離を推定する。受信時刻の算出には、相互相関関数を利用している。送信音波の波形を事前に両端末間で共有し、リファレンス信号を生成する。受信した音とリファレンス信号の相互相関値を計算し、ピークとなる点を音波の受信時刻と決定する。
【０００６】
特許文献1では、非特許文献2と同様に音波の伝搬時間による距離推定を利用し、スマートキーシステムを実現している。マイクで録音した受信音波データと、リファレンス信号の相互相関値を計算し、予め設定した閾値を超過する最初のピークとなる時刻を受信時刻と決定する。このとき、反射波や人体遮蔽の影響により、直接波より反射波の相互相関関数の値が大きい場合、音波の受信時刻を誤り、距離推定結果が実際より大きくなってしまう課題があった。特に、直接波と反射波が時間的に重なって受信される場合、音波の受信時刻を誤ることが多い。このような状況は、端末をポケットに入れてユーザがクルマの方向を向いている場合などに生じやすい。このような課題に対し、相互相関関数のウィンドウサイズを調整することで直接波の受信時刻の算出を図り、誤差増大を低減している。
【０００７】
特許文献２では、音波を用いたスマートキーシステムにおいて、悪意ある第三者が音波を録音再生することで不正解錠するのを防止するため、送信音波（リファレンス信号）をランダムに変更する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特願2014-119577号（音波受信時刻算出装置、方法及びプログラム並びに当該装置を備える距離推定システム）
【特許文献２】特願2013-222175号（距離推定システム）
【非特許文献】
【０００９】
【非特許文献１】日産・ドコモ・シャープによる「インテリジェントキー搭載ケータイ」http://www.itmedia.co.jp/mobile/articles/0810/02/news094.html
【非特許文献２】Beepbeep: a high accuracy acoustic ranging system using cots mobile devices(国際会議Sensys 2007)
【発明の概要】
【発明が解決しようとする課題】
【００１０】
以上のような従来技術においては、特許文献１に関して説明したように、受信音波データと、リファレンス信号の相互相関値を計算し、予め設定した閾値を超過する最初のピークとなる時刻を受信時刻として決定している。
【００１１】
しかしながら、環境音等のノイズや遮蔽物の有無、マイク性能による受信音波データの違い、リファレンス信号の違いにより、相互相関値は変化するため、前記閾値を固定値として設定する従来技術には、以下に(1)〜(5)として掲げるような課題があった。
【００１２】
(1)閾値を低く設定した場合、ノイズを音波と誤判定し、音波の受信時刻の決定を誤る。
(2)閾値を高く設定した場合、ノイズや距離、遮蔽物によって減衰した音波を検出できなくなる。
(3)異なる端末を用いた場合、マイク性能の違いによる相関値の変化により、上記課題(1),(2)が発生する。
(4)利用する環境が変化した場合、環境音の違いによる相関値の変化により、上記課題(1), (2)が発生する。
(5)リファレンス信号の変更による相関値の変化により、上記課題(1),(2)が発生する。
【００１３】
図１は、上記の課題(1),(2)をそれぞれ模式的に示す図であり、上段側の[1]が課題(1)の発生例を、下段側の[2]が課題(2)の発生例を、それぞれ示している。
【００１４】
図１にて[1]では、受信音波データとリファレンス信号との相互相関値のグラフG1に対して、閾値が線L1で示すように不適切に低く設定されている。このため、本来のリファレンス信号の正しい受信時刻T1ではなく、その前の時点で受信した何らかのノイズの受信時刻T2が、閾値を超える最初のピーク時刻として検出され、誤って本来のリファレンス信号の受信時刻として決定されてしまい、課題(1)が発生している。
【００１５】
また、図１にて[2]は、[1]と同様の相互相関値のグラフG1に対して、[1]とは逆に閾値が線L2で示すように不適切に高く設定されている。このため、グラフG1内に当該閾値を超える箇所が存在せず、本来のリファレンス信号の正しい受信時刻T1が検出不能となってしまい、課題(2)が発生している。
【００１６】
以上、図１では閾値自体の設定が不適切で課題(1),(2)が発生する例を示したが、当該図１におけるグラフG1自体がマイク性能、環境音、リファレンス信号等の変化により変化して、変化前は適切な閾値であったものが変化後は不適切な閾値となってしまうのが、課題(3), (4),(5)である。
【００１７】
上記従来技術の課題に鑑み、本発明は適切な閾値を設定して音波受信時刻を算出することのできる音波受信時刻算出装置及び方法並びに当該装置を用いた距離推定システムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
上記目的を達成するため、本発明は、受信時刻算出装置であって、音波を受信して受信音波データを得る受信部と、所定区間ごとの前記受信音波データと、リファレンス信号との相互相関関数を算出する相関関数算出部と、前記相互相関関数において閾値を超えて最初のピークとなる時刻を前記リファレンス信号の受信時刻であるとして判定する解析部と、前記解析部で用いる閾値を、前記解析部で前記受信時刻であるとの判定が下されなかった際の相互相関関数に基づいて設定する閾値設定部と、を備えることを特徴とする。
【００１９】
また、本発明は、プログラムであってコンピュータを前記受信時刻算出装置として機能させることを特徴とする。
【００２０】
さらに、本発明は、親機及び子機を備え、当該親機及び子機の間において双方向又は単方向に音波を送受し、当該音波の送受時刻に基づいて当該親機及び子機の間の距離を推定する距離推定システムであって、当該親機及び子機のうち少なくとも一方が、前記受信時刻算出装置を備えることにより、前記送受時刻のうちの受信時刻を算出することを特徴とする。
【発明の効果】
【００２１】
本発明によれば、ノイズの存在、検出対象の音波の減衰、端末におけるマイク性能差、環境音、リファレンス信号の変化その他といったような、種々の環境変化がある場合であっても、前記解析部で前記受信時刻であるとの判定が下されなかった際の相互相関関数を用いることで、当該環境変化を反映した適切な値として、音波受信時刻を算出する際の閾値を設定するので、環境変化があっても適切に音波受信時刻を算出することができる。
【図面の簡単な説明】
【００２２】
【図１】課題(1),(2)を模式的に示す図である。
【図２】一実施形態に係る受信時刻算出装置の機能ブロック図である。
【図３】受信時刻算出装置を利用する一実施形態に係る距離推定システムの機能ブロック図である。
【図４】距離推定システムによる一実施形態に係る距離推定のフローを示す図である。
【図５】閾値の動的設定のために継続的に算出される最大相関値のグラフの例である。
【図６】図５にて整数で指定される各範囲は、実時間上では[基本処理]が継続して実施されていることを概念的に示す図である。
【発明を実施するための形態】
【００２３】
図２は、一実施形態に係る受信時刻算出装置10の機能ブロック図である。受信時刻算出装置10は、受信部1、相関関数算出部2、解析部3、閾値設定部4及び設定部5を備える。各部の概要は以下の通りである。
【００２４】
受信部1は、その実際のデバイスとしてはマイク等で構成することができ、音波を継続的に受信し録音して、その受信音波データを相関関数算出部2に渡す。ここで、録音は継続的に行われ、その受信音波データは時間軸上で所定区間ごと（例えば長さ1秒の区間ごと）に区切ってそれぞれ、相関関数算出部2に渡される。
【００２５】
相関関数算出部2は、当該所定区間として構成され、従って所定長を有している受信音波データと、その音波データが予め与えられているリファレンス信号と、の相互相関関数を算出し、当該算出された相互相関関数を解析部3に渡す。当該算出の詳細等は後述する。
【００２６】
解析部3は、上記算出された相互相関関数において、その値が所定閾値を超える最初のピークとなる時刻を、受信部1にて受信し録音した受信音波データにおける、リファレンス信号の受信時刻であるものとして判断し、受信時刻算出装置10の出力とする。
【００２７】
解析部3はまた、上記算出された相互相関関数において、その値が所定閾値を超える最初のピークとなる時刻が存在しなかった場合に、受信部1にて受信し録音した受信音波データにおける当該相互相関関数の時刻範囲には、リファレンス信号の受信はなかったものと判断すると共に、当該相互相関関数の情報、特にその最大値を、閾値設定部4へと通知する。
【００２８】
閾値設定部4は、解析部3が一連の受信音波データについてそれぞれ、上記のように所定閾値を用いてリファレンス信号の受信時刻の算出を試み、算出不能すなわちリファレンス信号は受信していないと判断した際に通知してくる相互相関関数の情報の履歴を用いて、以降の時点において解析部3が当該受信時刻の算出を継続して実施する際に利用することとなる所定閾値を更新し、解析部3に通知する。
【００２９】
解析部3では、閾値設定部4により当該通知される更新された最新の閾値を受信音波データにおけるリファレンス信号の受信時刻の算出に利用することで、音波に関連する様々な状況が変化する場合であっても、当該状況変化を反映した適切な閾値判断により、適切に受信時刻を算出することが可能となる。なお、その詳細は後述する。
【００３０】
設定部5では、受信時刻算出装置10における以上の各部1〜4が動作する際の設定を記憶しており、各部1〜4は当該設定に従って以上のように動作する。なお、各部1〜4が設定部5に対して当該設定を参照する矢印は、図２では描くのを省略している。
【００３１】
例えば、受信部1において受信音波データをそれぞれどのような時刻範囲の所定区間として設定するかの情報や、相関関数算出部2で利用しているリファレンス信号の波形などを、設定部5では記憶している。なお、解析部3で利用する所定閾値については、閾値設定部4によって通知されることで設定される。
【００３２】
以下では、以上の図１の受信時刻算出装置10を、音波を用いた距離推定システムに用いる場合を例として、受信時刻算出装置10の動作の詳細を説明する。
【００３３】
図３は、受信時刻算出装置10を利用する一実施形態に係る距離推定システムの機能ブロック図である。距離推定システム30は、親機20P及び子機20Cを備える。
【００３４】
親機20P及び子機20Cはそれぞれ、例えばスマートフォンや携帯電話、PC、タブレットなどの携帯端末や情報端末、無線通信デバイスを取り付けられた車やドアなどとして実現することができる。親機20Pと子機20Cはそれぞれ、相互に通信あるいは音波送受信を行うための無線デバイスと音波デバイスを備える。
【００３５】
親機20Pと子機20C間では、当該備えた無線デバイスを通して制御信号を送受信する。制御信号を送受信する通信メディアとして、Bluetooth（登録商標）やWi-Fi（登録商標）、音波/超音波、2G/3G/LTE/WiMax（登録商標）等、親機20Pと子機20C間で直接通信するものや、基地局を介するものを利用する。また、親機20Pと子機20C間で音波デバイス(マイク、スピーカ)を通して音波を送受信する。
【００３６】
図４は、距離推定システム30による一実施形態に係る距離推定のフローを示す図である。図３に示す親機20P及び子機20Cの各機能部は、当該図４のフローにおける要素処理を担うものである。図３に示すように、親機20Pは、制御信号送受部21P、送信部22P、距離推定部23P及び受信時刻算出装置10Pを備える。子機20Cは、制御信号送受部21C、送信部22C、及び受信時刻算出装置10Cを備える。
【００３７】
ここで、受信時刻算出装置10P,10Cはそれぞれ、図１の受信時刻算出装置10と同様の構成である。例えば、受信時刻算出装置10Pは、受信部1P、相関関数算出部2P、解析部3P、閾値設定部4P及び設定部5Pを備える。このように、親機20Pにおける受信時刻算出装置10Pの各部に言及する際は、図２の参照符号に「P」を付加するものとする。同様に子機20Cにおける受信時刻算出装置10Cの各部に言及する際は、図２の参照符号に「C」を付加するものとする。
【００３８】
なお、距離推定システム30の構成及びこれによる距離推定のフローといった枠組みは、前述の特許文献１，２と共通である。当該共通の枠組み内において、本発明による受信時刻算出装置10P,10Cが利用可能である。
【００３９】
親機20P及び子機20Cの機能構成は、それぞれ以下の通りである。
【００４０】
[1-1 親機20Pの機能構成]
制御信号送受部21Pは、音波送受信の開始合図の子機20Cへの送信や、音波受信時刻の情報の子機20Cからの受信等、距離推定の際に必要となる制御信号を送受信する。また、親機20Pは、音波送受信機能を備え、測距に使用する音波の送受信を行う。このうち送信機能を送信部22Pが担い、受信機能は、受信時刻算出装置10Pの受信部1Pが担う。また、親機20Pは、音波受信時刻算出機能を備え、子機20Cの送信音波の受信時刻を算出する。受信時刻算出機能は、受信時刻算出装置10Pの解析部3Pが担うことにより、閾値設定部4Pのもとで適切な閾値条件を更新しながら、受信時刻の算出が行われる。さらに、距離推定部23Pは、親機20Pと子機20Cとのそれぞれの音波の送受信時刻の情報から、親機20Pと子機20C間の距離を推定する。
【００４１】
[1-2 子機20Cの機能構成]
制御信号送受部21Cは、音波送受信の開始合図の親機20Pからの受信や、音波受信時刻の情報の親機20Pへの送信等、距離推定の際に必要となる制御信号を送受信する。また、子機20Cは、音波送受信機能を備え、測距に使用する音波の送受信を行う。このうち送信機能を送信部22Cが担い、受信機能は、受信時刻算出装置10Cの受信部1Cが担う。また、子機20Cは、音波受信時刻算出機能を備え、親機20Pの送信音波の受信時刻を算出する。受信時刻算出機能は、受信時刻算出装置10Cの解析部3Cが担うことにより、閾値設定部4Cのもとで適切な閾値条件を更新しながら、受信時刻の算出が行われる。
【００４２】
以上のような要素機能構成のもと、図４に示す距離推定フローの各ステップは以下の通りである。
【００４３】
ステップS1では、親機20Pと子機20C間で制御用の通信チャネルを確立し、ステップS2にて、親機20Pから子機20Cへ開始合図を送信する。当該ステップS1,S2は、制御信号送受部21P,21Cを介して実行される。
【００４４】
この際、互いに利用する音波P,Cの情報の共有も併せて実施される。すなわち、親機20Pの設定部5Pには子機20Cが送信する音波Cがリファレンス信号として登録されることで、受信部1Pの受信音波データを対象として相関関数算出部2Pが音波Cを検出するための相互相関関数が算出可能となる。子機20C側も全く同様に音波Pが検出可能な状態となる。また、親機20P,20Cにおいて受信音波データから音波C,Pを検出するために、それぞれどのような長さの所定区間ごとに相互相関関数の算出を行うかということも、設定部5P,5Cに設定される。
【００４５】
ステップS3では、音波をお互いが送信する。ここで、親機20Pと子機20Cの送信音波をそれぞれ音波P、音波Cとする。その際、親機20Pは音波Pの送信時刻TP_Sと信号Cの受信時刻TP_Rを取得する。子機20Cも同様に、信号Cの送信時刻TC_Sと信号Pの受信時刻TC_Rを取得する。受信時刻の取得の詳細は[1-4音波受信時刻の算出]で後述する。
【００４６】
ここで特に、解析部3Pが信号Cの受信時刻TP_Rを取得し、解析部3Cが信号Pの受信時刻TC_Rを取得する。送信時刻TP_S及び送信時刻TC_Sに関しては、自身で当該音波P,Cを送信したことがわかっている送信部22P及び送信部22C自身において取得すればよい。
【００４７】
ステップS4では、子機20Cは取得した送信時刻TC_Sと受信時刻TC_Rを親機へ通知する。当該通知は、制御信号送受部21P,21Cを介して実行される。
【００４８】
ステップS5では、親機20Pの距離推定部23Pが、親機20Pと子機20Cのそれぞれにおける音波の送受信時刻を用いて、当該音波の送受がなされた時点における親機20Pと子機20Cの間の距離Dを推定する。距離Dは、cを音速として以下の式で計算される。
D= ((TP_R - TP_S) - (TC_S - TC_R) / 2)*c
【００４９】
なお、上記の式で距離Dを推定できることは、非特許文献２に開示されており周知である。当該手法では特に、親機20Pと子機20Cとの間で高精度な時計合わせを必要とすることなく、距離Dを高精度に推定することができる。
【００５０】
なお、上記の式では親機20P及び子機20Cの間にて双方向で音波を送受する場合を例としたが、上記の高精度な時計合わせが可能な状況であれば、親機20P及び子機20Cの間で単方向に音波を送受して、距離Dを推定するようにしてもよい。この場合、図４のステップS3で送信している音波P又は音波Cはそのいずれかのみを送信するようにすればよい。音波P, Cを送信した場合にそれぞれ、以下の式のように、音波が到達するのに要した時間に音速を乗ずる周知の手法により距離Dを推定することができる。
D= (TC_R - TP_S) *c
D= (TP_R - TC_S) *c
【００５１】
なお、上記のように単方向に音波を送受して距離Dを推定する場合、親機20P又は子機20Cのうち、音波を受信する片方の側のみが、受信時刻算出装置10P又は10Cを備えていればよい。
【００５２】
以上、図４のフローでは、測距処理がステップS5にて1回のみ行われているが、距離推定システム30においては、当該測距処理が所定間隔を設けて継続的に実施される。すなわち、ステップS2〜S5が所定間隔を設けて継続的に実施される。
【００５３】
ただし、ステップS2における開始合図は、親機20P及び子機20Cの間で測距処理を実施するタイミングを互いに確認するためのものであるので、最初に1回のみ実施してその後の経過時刻は親機20P及び子機20Cでそれぞれ管理しておき、2回目以降はステップS2を省略して、予め設定された所定間隔ごとに測距処理を行うようにしてもよい。
【００５４】
[1-4 音波受信時刻の算出]
ここで、上記ステップS3の詳細を説明する。親機20Pと子機20Cはそれぞれ解析部3P,3Cにおいて、相手の送信音波C,Pの受信時刻の算出を行う。当該算出は、以下の[基本処理]を継続的に実施することによって行われる。
【００５５】
[基本処理]
受信音波データrec(i)(iは1≦i≦rec_lengthの整数)とリファレンス信号ref(j)(jは1≦j≦rec_lengthの整数)の相互相関関数cor(j)(1≦j≦rec_length)を計算し、閾値を超過する最初のピークとなる時刻を受信時刻と決定する。ここで、rec_lengthは受信音波データのサンプル長、ref_lengthは送信音波(リファレンス信号)のサンプル長を表す。rec_length>ref_lengthである。相互相関関数cor(j)は次式で計算される。
【００５６】
【数１】
2016017944.tif 000003
【００５７】
WS1は相互相関関数を計算するためのウィンドウサイズを示すパラメタであり、通常はWS1=ref_lengthとする。WS1=ref_lengthの場合、リファレンス信号ref(j)の全てを相互相関関数の計算に使うことになる。
【００５８】
ここで、相互相関関数より閾値を超えて最初にピークとなる時刻を受信時刻として決定するに際して、閾値の適切な設定が重要であり、本発明の受信時刻算出装置10によれば当該閾値を自動で適切な値に設定したうえで受信時刻を求めることができる。相互相関関数及び閾値に関して、以下のような性質あるいは事実を挙げることができる。
【００５９】
一般的に、ウィンドウサイズを大きくすると、ノイズとの相互相関値の減少、音波との相互相関値の増大し、雑音に対する音波検出のロバスト性が向上する。しかしながら、WS1=ref_lengthとした場合でも、ref_lengthが小さい場合や、環境音にリファレンス信号と近い周波数の雑音が含まれている場合には、音波が送信されていない状態でも、相互相関関数が高い値となることがある。実際に、上記手法を実装した端末で相互相関関数を計測すると、端末や環境の条件によって違うものの、音波未送信時でも0.1〜0.4程度の相互相関値が得られた。一方で、音波送信時には、端末間距離やノイズに応じて、0.1〜0.9程度の相互相関値が得られた。従って、前述の図１で説明したような課題が現実に発生することとなる。
【００６０】
なお、本発明では各回の[基本処理]の全てにおいて音波が受信されるのではなく、その一部分のみにおいて音波を受信した旨の判定があり、残りの部分では音波を受信していないという判定が下されることが前提である。このために、受信対象となるリファレンス信号（距離推定システム30の場合、測距信号としての音波）を送信する間隔よりも短い間隔で[基本処理]を継続して実施するよう、リファレンス信号の送信周期TRと、[基本処理]の周期TBとを、「TR＞TB」となるように設定しておく。例えば、2以上の整数mによって、「TR=m*TB」となるように設定しておくことができる。また、[基本処理]の周期TBは、上記の式(1)の処理対象となる受信音波データの長さrec_lengthに一致するように設定することができる。
【００６１】
こうして、[基本処理]において、音波を受信していない判定が下された回の結果は、閾値設定部4P, 4Cに渡され、解析部3P, 3Cが継続して音波受信を行う際に利用する閾値を適切に設定するための情報として利用される。具体的には、以下に説明する[閾値の動的設定]の通りである。
【００６２】
[閾値の動的設定]
上記のように解析部3P,3Cにて[基本処理]として継続的に取得する相互相関値に応じて、閾値設定部4P,4Cがそれぞれ解析部3P,3Cが利用する閾値を動的に決定することで、利用状況が変化した場合でも適切に音波を検出できるようにする。具体的な処理として、[最大相関値の保持]、[閾値の初期値設定]及び[測距中の閾値の更新]を以下に説明する。
【００６３】
なお、[最大相関値の保持]は、上記[基本処理]が1回実行される都度、連動して1回実行される処理である。当該継続的に実行される[最大相関値の保持]のもとで、まず、[閾値の初期値設定]が1回実行され、その後、[測距中の閾値の更新]が継続して実行されることとなる。
【００６４】
[最大相関値の保持]
距離推定システム30では例えばスマートキーシステムを実現するといった用途上、親機20P、子機20Cはそれぞれマイクを用いて受信部1P,1Cにおいて長さrec_lengthの音声データを継続的に取得している。当該継続のn回目に取得した受信音波データをREC(n)と表す。それぞれのREC(n)について[基本処理]が実行されることで、相関関数算出部2P,2Cが式(1)から相互相関値を求め、解析部3P,3Cが解析することにより音波の有無を判定し、音波を受信した判定の場合はさらに受信時刻を計算する。ここで、REC(n)における最大相関値をcor_max(n)と表す。閾値設定部4P,4Cでは、各受信音波データREC(n)について、解析部3P,3Cにおける音波検出の有無の情報と、cor_max(n)とを紐付けて保持する。
【００６５】
図５にcor_max(n)のグラフを示す。この例では、4*rec_lengthに1回音波を送信しており、送信されたリファレンス信号としての音波を含む受信音波データ（REC(9)、REC(13)、REC(17)、REC(21)及びREC(25)）における最大相関値は最大相関値が0.5程度であり、その他のリファレンス信号を含まない受信音波データにおける最大相関値よりも高くなっている。
【００６６】
なお、以上の説明より明らかであるが、図６に概念的な例を示すように、図５中の整数nの範囲で指定されるupdate_length及びinit_length（後述）に関しては、実時間で見ると各nにつき[基本処理]が1回実施されることで、[基本処理]が継続的に実施されている。
【００６７】
[閾値の初期値設定]
親機20Pと子機20Cはそれぞれ、測距のための音波の送信を開始する前に、マイクをオンにし、受信部1P,1Cにおいて所定周期数init_lengthの受信音波データを取得する。取得したREC(1)〜REC(init_length)の音声データに対し、相関関数算出部2P,2Cが[基本処理]にて相互相関関数を計算し、解析部3P,3Cがこれを解析することで、それぞれの最大相関値cor_max(1)〜cor_max(init_length)を計算し、閾値設定部4に通知する。
【００６８】
ここで、cor_max(1)〜cor_max(init_length)のうち、最大値をMAX(0)と表す。MAX(0)よりも閾値を低く設定した場合、ノイズを音波と認識する可能性があるため、閾値の初期値TH(1)＞MAX(0)であるべきである。よって本発明では、所定のマージンαを設け、閾値設定部４が閾値の初期値TH(1)を以下の式で設定する。これにより、端末や利用場所に応じた適切な閾値を設定することができる。
TH(1)=MAX(0)+α
【００６９】
一実施形態では、突発的な雑音により、cor_max(n)が一時的に大きな値となる場合を考慮し、cor_max(1)〜cor_max(init_length)のうち極端に大きな値を除外して、上記の初期値TH(1)を計算する際に利用するMAX(0)を設定してもよい。最も簡単な例としては、最大値を除き、2番目に大きな値をMAX(0)とする方法がある。その他、閾値等の条件判定により、大きすぎると判定されるものを除外することが可能である。
【００７０】
なお、init_lengthの期間は、距離推定システム30による測距を開始できないため、適切な長さの期間としてinit_lengthを設定することが好ましい。測距開始の待機を避けたい場合は、TH(1)を所定値で与え、後述の[測距中の閾値の更新]によって、閾値を更新していってもよい。
【００７１】
なお、以上の[閾値の初期値設定]については、図４が主に測距処理に関連するステップを示すフローとなっているため、図４では描くのを省略されているが、ステップS1とS2の間において当該[閾値の初期値設定]を実行するようにすればよい。
【００７２】
図５では[0]にinit_length＝5として[閾値の初期値設定]を実施した際の例が示されている。すなわち、REC(1)〜REC(5)の受信音波データから、cor_max(1)〜cor_max(5)を取得している。音波の送信が開始されていないため、0.2前後の比較的低い相関値が得られている。
【００７３】
[測距中の閾値の更新]
親機20Pと子機20Cは、上記[閾値の初期値設定]の実行によりinit_length経過後、送信部22P,22Cにて音波の送信を開始し、受信部1P,1Cにて長さrec_lengthの受信音波データ取得を繰り返す。当該取得した受信音波データから[基本処理]により、相関関数算出部2P,2Cが相互相関値を計算すると共に、解析部3P,3Cが上記[閾値の初期値設定]で設定された閾値TH(1)を用いてリファレンス信号としての音波を受信しているかを判定し、受信していれば受信時刻を算出する。当該算出された受信時刻と、送信部22P,22Cが取得する送信時刻とを用いて、距離推定部23Pは測距を行う。また、閾値設定部4P,4Cでは、[最大相関値の保持]により各回の最大相関値cor_max(n)を記憶する。
【００７４】
ここで、所定周期数update_lengthが経過した際に、閾値設定部4P,4Cは閾値の更新を行う。当該時点のn=aとする。なお、以上の説明でも利用しているように、nは[基本処理]等の継続回数のカウンタであり、経過時刻に対応する。そして、更新はupdate_lengthごとに繰り返し行う。任意のp回目の更新について、過去update_lengh個の最大相関値のうち、リファレンス信号としての音波を含まないと解析部3P,3Cにて判定された受信音波データから算出した相互相関値cor_max(a-update_length)〜cor_max(a)の最大値MAX(p)を求める。そして、上記[閾値の初期値設定]と同様に、所定マージンαを加算することによって、TH(p+1)を以下の式で設定する。
TH(p+1)=MAX(p)+α
【００７５】
再びupdate_length経過するまで、上記のように閾値設定部4P,4Cの設定したTH(p+1)を用いて解析部3P,3Cはリファレンス信号の受信判定を行い、受信されていれば受信時刻を求め、当該求められた受信時刻及び送信時刻を用いて距離推定部23Pは測距を行う。以降、update_lengthが経過する度に全く同様にして、上記閾値の更新を繰り返す。
【００７６】
図５の例では、[0]に示す[閾値の初期値設定]後、[1], [2], [3]に繰り返して実施される[測距中の閾値の更新]が、グラフ中に線分で描いた実際の各閾値TH(p)と共にそれぞれ示されている。[1]に示すTH(1)は、[0]の[閾値の初期値設定]により時刻カウンタn=4におけるMAX(0)に所定マージンαを加えて得られたものである。これに基づき、[1]のupdate_lengthの区間では、時刻カウンタn=9にて閾値TH(1)を超える相互相関値cor_max(9)の箇所がリファレンス信号を受信したものと判定され、それ以外のn=5,6,7,8,10,11の箇所では、リファレンス信号が未受信であるものと判定される。当該未受信と判定された際の各相互相関値cor_max(n)のうち最大となるcor_max(7)=MAX(1)に同じく所定マージンαを加えて、[2]に示す次の区間で利用する閾値TH(2)が設定される。以降[2],[3]でも同様の処理が繰り返し行われている。
【００７７】
当該図５の例において、次のように、本発明の効果を見て取ることができる。すなわち、時刻カウンタn=18以降、相関値の上昇が見られる。ユーザ（親機20P又は子機20Cの保持者）がノイズの大きい環境へ移動した場合にこのような相関値の変化が予想される。閾値をTH(2)のままとした場合、音波を含まないデータでも相関値が大きくなることで、雑音を音波と誤認識し、誤った測距を行う可能性がある。図５の例では、TH(2)ののままでは、cor_max(20)、cor_max(21)等で、ノイズをリファレンス信号としての音波と誤判定してしまう。本発明によって、閾値がTH(3)に更新されることで、このような課題を解決している。
【００７８】
以上、[測距中の閾値の更新]を説明したが、これに関連する実施形態として次のようにしてもよい。
【００７９】
一実施形態では、update_length間隔での閾値の更新に限らず、特許文献2のように、リファレンス信号を変更する場合は、リファレンス信号を変更するタイミングで相関値を再計測し、閾値を再設定してもよい。すなわち、update_lengthの区間が開始する箇所を、その後リファレンス信号が変更されることが既知となった時点として設定するようにしてもよい。当該リファレンス信号が変更されることで開始された最初のupdate_length区間では、直近の時点で既に設定されている閾値を継続して利用すればよい。また、ユーザが任意のタイミングで更新するようシステムに指示をしても良い。
【００８０】
一実施形態では、[測距中の閾値の更新]を行わず、前記[閾値の初期値設定]で設定した閾値のみを用いて音波受信判定及びこれに基づく測距を行ってもよい。
【００８１】
以上、本発明の受信時刻算出装置10によると、計算した相互相関値から閾値が設定されるため、従来所定値として与えた場合のように、閾値が不必要に高い値や低い値にならないため、前述の課題(1), (2)が解決される。また、端末が異なる場合でも、共通の処理によって端末ごとに閾値が異なる値に設定されるため、課題(3)が解決される。さらに、利用する環境やリファレンス信号が変化した場合でも、定期的に閾値を更新することで課題(4),(5)を解決する。
【００８２】
特に、距離推定システム30で受信時刻算出装置10を利用する場合、音波による測距を用いたスマートキーシステムを実現可能である。この際、受信時刻算出装置10により、マイク性能や環境音、遮蔽物、リファレンス信号等の利用条件の違いによる相関値の変化に対応し、音波の誤検出や検出漏れを低減する。例えば、衣類の遮蔽物等により送信音波が減衰し、送信した音波の相互相関値が繰り返し閾値以下になる場合においても、弱いピーク値となる音波を検出することが可能となる。
【００８３】
なお、本発明の受信時刻算出装置10は、距離推定システム30において利用する場合を例として説明してきたが、所定のリファレンス信号が図５に示すupdate_lengthのような所定時間範囲内において受信されることが既知であり、当該update_length区間内をより細かく区切った所定区間をそれぞれ対象として解析部3を機能させるようにすれば、任意の用途に適用可能である。すなわち、所定のリファレンス信号の受信時刻を、相互相関関数に基づいて、最初に閾値を超えてピークとなる時刻を受信時刻として判定する必要がある任意の用途において、課題(1)〜(5)を解決して適切な閾値を自動算出することができる。
【００８４】
例えば、音波を用いて情報を送受信するようなシステムにおいては、情報（文字等の伝達対象の情報、及び／又は、音波における情報の開始点を示すヘッダ等の制御情報）を表すビット又はビット列にそれぞれ対応する所定のリファレンス信号を用意しておき、受信音波の中から当該所定のリファレンス信号を検出することで、音波から情報を復号することとなるが、このような場合にも全く同様に本発明の受信時刻算出装置10を利用することができる。
【００８５】
本発明は、コンピュータを受信時刻算出装置10若しくは距離推定システム30における親機20P又は子機20Cのいずれかとして機能させるプログラムとしても提供可能である。当該コンピュータは、CPU(中央演算装置)、メモリ及び各種I/Fを備えた通常のハードウェア構成とすることができ、当該プログラムを実行することでCPUが受信時刻算出装置10若しくは距離推定システム30における親機20P又は子機20Cの各部の機能を担うことができる。
【符号の説明】
【００８６】
10…受信時刻算出装置、1…受信部、2…相関関数算出部、3…解析部、4…閾値設定部、5…設定部、30…距離推定システム、20P…親機、20C…子機
【図１】
2016017944.tif 000004
【図２】
2016017944.tif 000005
【図３】
2016017944.tif 000006
【図４】
2016017944.tif 000007
【図５】
2016017944.tif 000008
【図６】
2016017944.tif 000009