以下、本発明の実施形態を、添付図面を参照して説明する。なお、以下の説明及び図面においては、同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
[第1実施形態]
まず、本発明の第1実施形態を、図1を参照して説明する。
<構成>
図1には、第1実施形態に係るエンジン音出力装置700の構成がブロック図にて示されている。このエンジン音出力装置700は、電気エネルギを駆動エネルギの全部として利用する電気自動車CR(以下、「車両CR」と呼ぶ)内に配置される。
第1実施形態では、車両CRには、エンジン音出力装置700に加えて、出力部910と、走行情報検出部920と、記憶部930とが装備されている。
上記の出力部910は、エンジン音出力装置700から送られた出力音信号に従って、擬似エンジン音を車両CRの内部へ出力するスピーカ等の発音体(以下、「スピーカSP」という)を備えている。
上記の走行情報検出部920は、車両CRの走行情報を検出する。走行情報検出部920により検出された車両の走行情報は、例えばCAN等の通信プロトコルによって動作する車内通信ネットワークを介して、エンジン音出力装置700へ送られる。第1実施形態では、走行情報検出部920による検出対象には、車両CRの速度(以下、「車速」ともいう)及びアクセル踏み込み量に対応するアクセル開度が含まれており、検出された車速及びアクセル開度が、エンジン音出力装置700へ送られるようになっている。
なお、第1実施形態では、走行情報が送信される間隔は一定とは限らず、逐次、ある程度変化する。すなわち、走行情報の受信間隔は、厳密には不定間隔となっている。
上記の記憶部930には、第1実施形態では、エンジン車両(エンジン音発生車両)のエンジンルーム内で収音された、当該エンジン車両のエンジン回転数ごとのエンジン音に関する情報である「エンジン音情報」が、複数記憶される。第1実施形態においては、エンジン回転数ER1の「エンジン音情報ESI1」、エンジン回転数ER2の「エンジン音情報ESI2」、…、エンジン回転数ERNの「エンジン音情報ESIN」(ER1<ER2<…<ERN)が含まれているものとする。
かかるエンジン音情報に従って音再生を行えば、そのエンジン音情報と関連付けられているエンジン回転数に対応するエンジン音が、擬似エンジン音として再現できるようになっている。この記憶部930には、エンジン音出力装置700がアクセス可能となっている。
《エンジン音出力装置700の構成》
次に、上記のエンジン音出力装置700の構成について、説明する。
エンジン音出力装置700は、図1に示されるように、第1取得部710と、補間部715と、算出部720と、第2取得部730とを備えている。また、エンジン音出力装置700は、生成部740と、制御部750とを備えている。
上記の第1取得部710は、走行情報検出部920から送られた車速及びアクセル開度の検出結果を取得する。こうして取得された車速及びアクセル開度は、補間部715へ送られる。
上記の補間部715は、第1取得部710から送られた車速及びアクセル開度の検出結果を受ける。そして、補間部715は、不定間隔で受けた車速の情報を一定間隔の情報に変換し、変換された一定間隔ごとの情報を線形補間して、車速補間データを算出する。こうして算出された車速補間データ(以下、「車速データ」という)は、算出される毎に、算出部720へ送られる。また、補間部715は、不定間隔で受けたアクセル開度の情報を一定間隔の情報に変換し、変換された一定間隔ごとの情報を線形補間して、アクセル開度補間データを算出する。こうして算出されたアクセル開度補間データ(以下、「アクセル開度データ」という)は、算出される毎に、算出部720及び生成部740へ送られる。
上記の算出部720は、補間部715から送られた車速データ及びアクセル開度データを受ける。これらのデータを受けると、算出部720は、車速データ及びアクセル開度データ等から、駆動機構がエンジンである場合におけるギア位置に相当する「擬似ギア位置」を決定する。次いで、算出部720は、車速データ及び擬似ギア位置等に基づいて、駆動機構がエンジンである場合におけるエンジン回転数に相当する「擬似エンジン回転数ERP」を算出する。こうして算出された擬似エンジン回転数ERPは、生成部740へ送られる。
上記の第2取得部730は、記憶部930から、「エンジン音情報ESI1」、「エンジン音情報ESI2」、…、「エンジン音情報ESIN」を、適宜、取得する。そして、第2取得部730は、取得されたエンジン音情報を生成部740へ送る。なお、第1実施形態では、第2取得部730は、これらのエンジン音情報ESIj(j=1,2,…,N)を取得するようになっている。
上記の生成部740は、第2取得部730から送られた「エンジン音情報ESI1」、「エンジン音情報ESI2」、…、「エンジン音情報ESIN」を受ける。また、生成部740は、算出部720から送られた「擬似エンジン回転数ERP」を受ける。さらに、生成部740は、補間部715から送られた「アクセル開度データ」を受ける。
そして、生成部740は、「エンジン音情報ESI1」、「エンジン音情報ESI2」、…、「エンジン音情報ESIN」、並びに、「擬似エンジン回転数ERP」及び「アクセル開度データ」に基づいて、合成音情報を生成する。生成された合成音情報は、制御部750へ送られる。生成部740による合成音情報の生成処理の詳細については、後述する。
上記の制御部750は、生成部740から送られた合成音情報を受ける。そして、制御部750は、当該合成音情報に基づいて、擬似エンジン音の出力音信号を生成する。引き続き、制御部750は、生成された出力音信号を出力部910へ供給する。
<動作>
上記のように構成されたエンジン音出力装置700の動作について説明する。
このエンジン音出力装置700では、第1取得部710が、走行情報検出部920から送られた車速及びアクセル開度を、取得しているものとする。そして、第1取得部710は、当該車速及びアクセル開度を、不定間隔で補間部715へ送っているものとする。
補間部715は、車速及びアクセル開度を不定間隔で受ける。車速を受けると、補間部715は、不定間隔で受けた車速の情報を一定間隔の情報に変換し、変換された一定間隔ごとの情報を線形補間して、車速データを算出する。そして、補間部715は、当該車速データを、計算する毎に算出部720へ送る。また、アクセル開度を受けると、補間部715は、不定間隔で受けたアクセル開度の情報を一定間隔の情報に変換し、変換された一定間隔ごとの情報を線形補間して、アクセル開度データを算出する。そして、補間部715は、当該アクセル開度データを、計算する毎に算出部720及び生成部740へ送る。
車速データ及びアクセル開度データを受けた算出部720は、当該車速データ及びアクセル開度データ等から、「擬似ギア位置」を決定する。次いで、算出部720は、車速データ及び擬似ギア位置等に基づいて、「擬似エンジン回転数ERP」を算出する。そして、算出部720は、算出された擬似エンジン回転数ERPを、生成部740へ送る。
さらに、エンジン音出力装置700では、第2取得部730が、記憶部930から、「エンジン音情報ESI1」、「エンジン音情報ESI2」、…、「エンジン音情報ESIN」を取得しているものとする。そして、これらのエンジン音情報ESIj(j=1,2,…,N)は、第2取得部730から生成部740へ送られる。
こうした状態で、生成部740は、擬似エンジン音に出力するための合成音情報を生成する。かかる合成音情報の生成に際して、生成部740は、まず、算出された擬似エンジン回転数ERPに基づいて、「エンジン音情報ESIj(j=1,2,…,N)」のそれぞれに対応する「エンジン音信号ESDj」に対して、周波数を(ERP/ERj)倍シフトさせた「特性変化信号FSDj」を生成する。
ここで、エンジン音信号ESDj(j=1,2,…,N)のそれぞれは、時系列の音データから構成される音信号(t)(t:時間)であってもよいし、周波数スペクトルの音信号(f)(f:周波数)であってもよい。そして、エンジン音信号ESDjが時系列の音データから構成される音信号(t)である場合には、音信号(t)における音データ間の時間間隔を(ERP/ERj)-1倍にして、特性変化信号FSDj(T)(T:時間)を生成すればよい。また、エンジン音信号ESDjが周波数スペクトルの音信号(f)である場合には、当該音信号(f)の周波数fを(ERP/ERj)倍にすることで、特性変化信号FSDj(F)(F:周波数)を生成すればよい。
引き続き、生成部740は、周波数をシフトさせたN個の「特性変化信号FSD1」、「特性変化信号FSD2」〜「特性変化信号FSDN」を、擬似エンジン回転数ERPに基づいた所定の割合で重み付け合成する。かかる所定の割合は、擬似エンジン回転数ERPに近いエンジン回転数ERに対応する特性変化信号FSDほど重み付け合成の割合を高くし、擬似エンジン回転数ERPと離れたエンジン回転数に対応する特性変化信号FSDについては、重み付け合成の割合を低くするようになっており、実験、シミュレーション等に基づいて予め定められる。
次に、生成部740は、「特性変化信号FSD1」、「特性変化信号FSD2」〜「特性変化信号FSDN」を重み付け合成した信号(擬似エンジン音信号)を、アクセル開度に応じて増幅させて、増幅合成信号GSDを生成する。
かかる増幅合成信号GSDの生成と並行して、生成部740は、算出された擬似エンジン回転数ERPに対応する周波数の所定次数の信号に対して、アクセル開度データに応じた振幅変調度の振幅変調を施した変調用信号MSDを生成する。そして、生成部740は、当該生成された変調用信号MSDに基づいて、増幅合成信号GSDを振幅変調する。こうして振幅変調された信号が、合成音情報として制御部750へ送られる。
制御部750は、生成部740から送られた合成音情報を受けると、擬似エンジン音に対応する出力音信号を生成する。そして、制御部750は、生成された出力音信号を出力部910へ供給する。
出力音信号を受けた出力部910は、出力音信号に従った擬似エンジン音を、車両CRの内部に出力する。この結果、車両CRの走行状態に対応した擬似エンジン音が、出力部910から出力される。
以上説明したように、第1実施形態では、第1取得部710が、走行情報検出部920により検出された車速及びアクセル開度を取得する。そして、第1取得部710は、当該車速及びアクセル開度を、不定間隔で補間部715へ送る。補間部715は、不定間隔で車速を受けると、車速の情報を一定間隔の情報に変換し、変換された一定間隔ごとの情報を線形補間して、車速データを算出する。そして、補間部715は、当該車速データを、補間データを算出する毎に、算出部720へ送る。また、補間部715は、不定間隔でアクセル開度を受けると、アクセル開度の情報を一定間隔の情報に変換し、変換された一定間隔ごとの情報を線形補間して、アクセル開度データを算出する。そして、補間部715は、当該アクセル開度データを、補間データを算出する毎に、算出部720及び生成部740へ送る。
算出部720は、当該車速データ及びアクセル開度データ等から、擬似ギア位置を決定し、車速データ及び擬似ギア位置等に基づいて、擬似エンジン回転数ERPを算出する。そして、算出部720は、算出された擬似エンジン回転数ERPを生成部740へ送る。
引き続き、生成部740が、擬似エンジン音を出力するための合成音情報を生成する。かかる合成音情報の生成に際して、生成部740は、第2取得部730を介して、記憶部930から、エンジン車両のエンジン回転数ごとのエンジン音に関する情報である複数のエンジン音情報ESIj(j=1,2,…,N)を取得する。そして、生成部740は、エンジン音情報ESIjに対応するエンジン音信号ESDjに対して、周波数を(ERP/ERj)倍シフトさせた「特性変化信号FSDj」を生成する。引き続き、生成部740は、N個の「特性変化信号FSD1」、「特性変化信号FSD2」〜「特性変化信号FSDN」を、擬似エンジン回転数ERPに基づいた所定の割合で重み付け合成した信号を生成する。そして、生成部740は、当該信号を、アクセル開度に応じて増幅させて、増幅合成信号GSDを生成する。
また、生成部740は、算出された擬似エンジン回転数ERPに対応する周波数の所定次数の信号に対して、アクセル開度データに応じた振幅変調度の振幅変調を施した変調用信号MSDを生成する。そして、生成部740は、当該生成された変調用信号MSDに基づいて、増幅合成信号GSDを振幅変調する。こうして振幅変調された信号が、合成音情報として制御部750へ送られる。
そして、生成部740から送られた合成音情報を受けると、制御部750は、当該合成音情報に基づいて擬似エンジン音の出力音信号を生成し、生成された出力音信号を出力部910へ供給する。出力部910は、こうして生成された出力音信号に従った擬似エンジン音を、車両CRの内部へ出力する。
このように、第1実施形態では、車両から送信される車速及びアクセル開度を補間したデータを使用して、擬似エンジン音信号を生成し、当該擬似エンジン音信号に基づいた擬似エンジン音を出力するようにしている。このため、利用者に違和感を覚えさせるノイズ音の発生を抑制し、アクセル開度が大きく変化した場合の擬似エンジン音の音量の不連続性を抑制することができる。
このため、第1実施形態では、電動車両の車室内において、走行状態に対応した擬似エンジン音による擬似環境を創出することができる。
したがって、第1実施形態によれば、利用者に聴感上の違和感を与えずに、走行状態に対応した擬似エンジン音による擬似環境を適切に創出することができる。
[第2実施形態]
次に、本発明の第2実施形態を、図2を参照して説明する。
<構成>
図2には、第2実施形態に係る端末装置810及び出力音管理装置820の構成がブロック図にて示されている。図2に示されるように、端末装置810は、車両(電気自動車)CR内に配置され、車両CRに装備された出力部910及び走行情報検出部920と接続されている。そして、端末装置810と出力音管理装置820とは、ネットワーク850を介して、通信可能となっている。
なお、出力音管理装置820は、端末装置810と同様に構成された他の端末装置とも通信可能となっているが、図2においては、端末装置810のみが代表的に示されている。
《端末装置810の構成》
図2に示されるように、端末装置810は、走行情報データ取得部811と、送信部812と、受信部815とを備えている。
上記の走行情報データ取得部811は、走行情報検出部920から送られた車両CRの車速及びアクセル開度の検出結果を取得する。そして、走行情報データ取得部811は、当該車速及びアクセル開度の検出結果を、端末送信データとして送信部812へ送る。
上記の送信部812は、走行情報データ取得部811から送られた端末送信データを受ける。そして、送信部812は、当該端末送信データを、ネットワーク850を介して、出力音管理装置820へ送信する。
上記の受信部815は、出力音管理装置820から、ネットワーク850を介して送られた出力音信号を受信する。そして、受信部815は、当該出力音信号を出力部910へ供給する。
《出力音管理装置820の構成》
図2に示されるように、出力音管理装置820は、第1取得部710と、補間部715と、算出部720と、第2取得部730と、生成部740と、制御部750とを備えている。また、出力音管理装置820は、受信部821と、エンジン音情報記憶部822と、送信部823とを備えている。
上記の受信部821は、端末装置810から、ネットワーク850を介して送られた端末送信データを受信する。そして、受信部821は、端末送信データに含まれる車両CRの車速及びアクセル開度を第1取得部710へ送る。
上記のエンジン音情報記憶部822には、エンジン車両(エンジン音発生車両)のエンジン回転数ごとのエンジン音に関する情報である「エンジン音情報」が、複数記憶される。第2実施形態においては、エンジン回転数ER1の「エンジン音情報ESI1」、エンジン回転数ER2の「エンジン音情報ESI2」、…、エンジン回転数ERNの「エンジン音情報ESIN」(ER1<ER2<…<ERN)が含まれているものとする。このエンジン音情報記憶部822には、生成部740がアクセス可能となっている。
上記の送信部823は、制御部750から送られた擬似エンジン音を出力するための出力音信号を受ける。そして、送信部823は、当該出力音信号を、ネットワーク850を介して、端末装置810へ送信する。
以上のような端末装置810の構成及び出力音管理装置820の構成では、端末装置810の走行情報データ取得部811が取得した車両CRの車速及びアクセル開度は、送信部812、ネットワーク850及び受信部821を介して、出力音管理装置820の第1取得部710へ送られることになる。
さらに、出力音管理装置820の制御部750により生成された擬似エンジン音の出力音信号は、送信部823、ネットワーク850を介して、端末装置810の受信部815へ送られることになる。
<動作>
上記のように構成された端末装置810と出力音管理装置820とが協働して実行する処理を説明する。
端末装置810では、走行情報データ取得部811が、走行情報検出部920から送られた車両CRの車速及びアクセル開度の検出結果を取得すると、当該車速及びアクセル開度を、逐次、ネットワーク850を介して出力音管理装置820の第1取得部710へ送る。
車両CRで検出された車速及びアクセル開度を受けた第1取得部710は、上述した第1実施形態の場合と同様にして、当該車速及びアクセル開度を取得する。そして、第1取得部710は、当該速度及びアクセル開度を、補間部715へ送る。
補間部715は、車速及びアクセル開度を不定間隔で受ける。車速を受けると、補間部715は、上述した第1実施形態の場合と同様にして、車速の情報を一定間隔の情報に変換し、変換された一定間隔ごとの情報を線形補間して、車速データを算出する。そして、補間部715は、当該車速データを算出する毎に、算出部720へ送る。また、アクセル開度を受けると、補間部715は、上述した第1実施形態の場合と同様にして、アクセル開度の情報を一定間隔の情報に変換し、変換された一定間隔ごとの情報を線形補間して、アクセル開度データを算出する。そして、補間部715は、当該アクセル開度データを算出する毎に、算出部720及び生成部740へ送る。
速度データ及びアクセル開度データを受けた算出部720は、上述した第1実施形態の場合と同様にして、当該速度データ及びアクセル開度データ等から、「擬似ギア位置」を決定する。次いで、算出部720は、車速データ及び擬似ギア位置等に基づいて、「擬似エンジン回転数ERP」を算出する。算出された擬似エンジン回転数ERPは、生成部740へ送られる。
次いで、生成部740が、エンジン音情報記憶部822から、第2取得部730を介して、エンジン音情報ESIj(j=1,2,…,N)を取得し、上述した第1実施形態の場合と同様にして、エンジン音情報ESIj、アクセル開度及び擬似エンジン回転数ERPに基づいて、合成音情報を生成する。そして、生成部740は、生成された合成音情報を制御部750へ送る。
制御部750は、生成部740から送られた合成音情報を受けると、当該合成音情報に基づいて、擬似エンジン音を出力するための出力音信号を生成する。そして、制御部750は、生成された出力音信号を、ネットワーク850を介して端末装置810の受信部815へ送る。
出力音信号を受けた受信部815は、当該出力音信号を出力部910へ供給する。出力音信号を受けた出力部910は、上述した第1実施形態の場合と同様にして、出力音信号に従った擬似エンジン音を、車両CRの内部に出力する。この結果、車両CRの走行状態に対応した擬似エンジン音が、出力部910から出力される。
以上説明したように、第2実施形態では、走行情報検出部920が車両CRの車速及びアクセル開度を検出すると、端末装置810の走行情報データ取得部811が、検出された車速及びアクセル開度を取得し、出力音管理装置820の第1取得部710へ送信する。第1取得部710は、当該車速及びアクセル開度を取得すると、当該車速及びアクセル開度を補間部715へ送る。補間部715は、車速を受けると、車速の情報を一定間隔の情報に変換し、変換された一定間隔ごとの情報を線形補間して車速データを算出する。そして、補間部715は、当該車速データを、算出部720へ送る。また、補間部715は、アクセル開度を受けると、アクセル開度の情報を一定間隔の情報に変換し、変換された一定間隔ごとの情報を線形補間してアクセル開度データを算出する。そして、補間部715は、当該アクセル開度データを、算出部720及び生成部740へ送る。
次に、算出部720が、車速データ及びアクセル開度データ等から、擬似ギア位置を決定し、車速データ及び擬似ギア位置等に基づいて、擬似エンジン回転数ERPを算出する。そして、算出部720は、算出された擬似エンジン回転数ERPを生成部740へ送る。
引き続き、生成部740は、第1実施形態の場合と同様にして、擬似エンジン音を出力するための合成音情報を生成する。そして、生成部740は、生成された合成音情報を制御部750へ送る。制御部750は、生成部740から送られた合成音情報に基づいて、擬似エンジン音を出力するための出力音信号を生成する。そして、当該出力音信号を、端末装置810へ送る。
端末装置810は、出力音信号を受けると、当該出力音信号を出力部910へ供給する。出力部910は、こうして供給された出力音信号に従った擬似エンジン音を、車両CRの内部へ出力する。
このように、第2実施形態では、第1実施形態の場合と同様にして、車両から送信される車速及びアクセル開度を補間したデータを使用して、擬似エンジン音信号を生成し、当該擬似エンジン音信号に基づいた擬似エンジン音を出力するようにしている。このため、利用者に違和感を覚えさせるノイズ音の発生を抑制し、アクセル開度が大きく変化した場合の擬似エンジン音の音量の不連続性を抑制することができる。
このため、第2実施形態では、上述した第1実施形態の場合と同様に、電動車両の車室内において、走行状態に対応した擬似エンジン音による擬似環境を創出することができる。
したがって、本発明の第2実施形態によれば、上述した第1実施形態と同様に、利用者に聴感上の違和感を与えずに、走行状態に対応した擬似エンジン音による擬似環境を適切に創出することができる。
[実施形態の変形]
本発明は、上記の実施形態に限定されるものではなく、様々な変形が可能である。
例えば、上記の第1及び第2実施形態では、補間部は、車速及びアクセル開度の補間データを計算するに際して、線形補間を行ったが、他の補間手法であってもよいことは勿論である。
また、上記の第1及び第2実施形態では、不定間隔で走行情報(車速及びアクセル開度)を受信し、不定間隔で受けた走行情報を一定間隔の情報に変換し、変換された一定間隔ごとの情報を線形補間して、車速及びアクセル開度の補間データを算出した。これに対して、一定間隔で走行情報を受信する場合には、上述した走行情報を一定間隔に変換する処理を省略して、受信した一定間隔ごとの走行情報を線形補間して、車速の補間データ及びアクセル開度の補間データを算出すればよい。
また、上記の第1及び第2実施形態では、第2取得部は、記憶部に記憶されているエンジン音情報ESIj(j=1,2,…,N)を取得することとした。これに対して、第2取得部は、擬似エンジン回転数に対応して重み付け合成を行うエンジン音情報のみを取得するようにしてもよい。この場合には、第2取得部は、重み付け合成を行うエンジン音情報のエンジン回転数の情報を、生成部から受けるようにすればよい。
また、上記の第1及び第2実施形態では、生成部は、合成音情報を生成するに際して、特性変化合成信号SNDを、アクセル開度に応じて増幅させたが、当該増幅処理を行わないようにしてもよい。
また、上記の第1及び第2実施形態では、生成部は、合成音情報を生成するに際して、擬似エンジン回転数に対応する周波数の所定次数の信号に対して、アクセル開度に応じた振幅変調度の振幅変調を施した変調用信号MSDを生成し、当該生成された変調用信号MSDに基づいて、増幅合成信号GSDを振幅変調させることとした。これに対して、当該振幅処理を行わないで、出力音信号を生成するようにしてもよい。
また、上記の第1及び第2実施形態では、走行情報として車速及びアクセル開度を採用し、当該車速及びアクセル開度に基づいて、擬似エンジン音を生成して出力した。これに対して、車両CRの駆動輪を駆動する電気モータのトルク値を走行情報として取得し、当該トルク値に基づいて、擬似エンジン音を生成して出力するようにしてもよい。また、車速、アクセル開度及びトルク値に基づいて、擬似エンジン音を生成し、出力するようにしてもよい。
なお、擬似エンジン音を出力する車両の駆動機構が燃料エンジンである場合には、燃料エンジンのトルク値を走行情報として取得し、当該燃料エンジンのトルク値に基づいて、擬似エンジン音を生成して出力するようにしてもよい。また、車速、アクセル開度及び燃料エンジンのトルク値に基づいて、擬似エンジン音を生成し、出力するようにしてもよい。
また、上記の第1及び第2実施形態では、エンジン音情報は、エンジン車両のエンジンルーム内で収音された収音データとしたが、電子楽器やコンピュータ等で作成したエンジン音情報であってもよい。
また、上記の第1実施形態では、エンジン音出力装置が、出力部、走行情報検出部及び記憶部を備えない構成とした。これに対して、出力部、走行情報検出部及び記憶部として利用できる設備品が車両に配置されていない場合には、エンジン音出力装置が、当該車両に配置されていない設備品を備えるようにしてもよい。
また、上記の第2実施形態では、端末装置が、出力部及び走行情報検出部を備えない構成とした。これに対して、出力部及び走行情報検出部として利用できる設備品が車両に配置されていない場合には、端末装置が、当該車両に配置されていない設備品を備えるようにしてもよい。
また、第2実施形態では、出力音管理装置820が、第1取得部と、補間部と、算出部と、生成部と、制御部と、エンジン音情報記憶部とを備えるようにしたが、例えば、第1取得部を端末装置の構成要素にすることができる。
また、上記の第1及び第2実施形態では、電気自動車内に配置される装置に本発明を適用したが、電気エネルギを駆動エネルギの一部として利用する車両(例えば、ハイブリッド車)に配置される装置に本発明を適用することができるのは、勿論である。
また、エンジン車両内に配置される装置に本発明を適用してもよい。この場合には、擬似エンジン音を出力するエンジン車両と、エンジン音発生車両とを同一の車両としてもよい。また、擬似エンジン音を出力するエンジン車両と、エンジン音発生車両とを異なる車両や異なる車種の車両としてもよい。
なお、上記の第1実施形態のエンジン音出力装置の第1取得部、補間部、算出部、第2取得部、生成部及び制御部を、中央処理装置(CPU:Central Processing Unit)、DSP(Digital Signal Processor)等を備えた演算部としてのコンピュータとして構成し、予め用意されたプログラムを当該コンピュータで実行することにより、これらの要素の処理の一部又は全部を実行するようにしてもよい。このプログラムはハードディスク、CD−ROM、DVD等のコンピュータで読み取り可能な記録媒体に記録され、当該コンピュータによって記録媒体からロードされて実行される。また、このプログラムは、CD−ROM、DVD等の可搬型記録媒体に記録された形態で取得されるようにしてもよいし、インターネットなどのネットワークを介した配信の形態で取得されるようにしてもよい。
また、上記の第2実施形態の端末装置の走行情報データ取得部、並びに、出力音管理装置の第1取得部、補間部、算出部、第2取得部、生成部及び制御部を、中央処理装置(CPU:Central Processing Unit)、DSP(Digital Signal Processor)等を備えた演算部としてのコンピュータとして構成し、予め用意されたプログラムを当該コンピュータで実行することにより、これらの要素の処理の一部又は全部を実行するようにしてもよい。このプログラムはハードディスク、CD−ROM、DVD等のコンピュータで読み取り可能な記録媒体に記録され、当該コンピュータによって記録媒体からロードされて実行される。また、このプログラムは、CD−ROM、DVD等の可搬型記録媒体に記録された形態で取得されるようにしてもよいし、インターネットなどのネットワークを介した配信の形態で取得されるようにしてもよい。
以下、本発明の一実施例を、図3〜図19を参照して説明する。なお、以下の説明及び図面においては、同一又は同等の要素については同一の符号を付し、重複する説明を省略する。
[構成]
図3には、一実施例に係るエンジン音出力装置100の概略的な構成がブロック図にて示されている。このエンジン音出力装置100は、上述した第1実施形態のエンジン音出力装置700(図1参照)の一態様となっている。
エンジン音出力装置100は、電気エネルギを駆動エネルギの全部として利用する電気自動車CR(以下、「車両CR」と呼ぶ)内に配置される。本実施例では、この車両CRには、車室内音出力ユニット210と、車両制御ユニット220とが配置され、エンジン音出力装置100に接続されている。
上記の車室内音出力ユニット210は、スピーカSPを備えて構成されている。この車室内音出力ユニット210は、エンジン音出力装置100から送られた出力音信号を受ける。そして、車室内音出力ユニット210は、当該出力音信号に従って、スピーカSPから擬似エンジン音を車両CRの内部へ出力する。すなわち、車室内音出力ユニット210は、上述した出力部910の機能を果たすようになっている。
上記の車両制御ユニット220は、車速センサ、アクセル開度センサ等の各種センサによる検出結果に基づいて、車両CRの走行制御を行う。そして、車両制御ユニット220は、車速SPCの検出結果及びアクセル開度ARCの検出結果を、例えばCAN等の通信プロトコルによって動作する車内通信ネットワークを介して、エンジン音出力装置100へ送るようになっている。すなわち、車両制御ユニット220は、上述した走行情報検出部920の機能を果たすようになっている。
なお、本実施例では、検出結果が送信される間隔は一定とは限らず、逐次、ある程度変化する。すなわち、検出結果の受信間隔は、厳密には不定間隔となっている。
<エンジン音出力装置100の構成>
次に、上記のエンジン音出力装置100の構成について、説明する。
エンジン音出力装置100は、図3に示されるように、制御ユニット110と、記憶ユニット120とを備えている。
上記の制御ユニット110は、エンジン音出力装置100の全体を統括制御するとともに、様々な処理を実行する。この制御ユニット110は、演算手段としての中央処理装置(CPU)、DSP(Digital Signal Processor)及びその周辺回路を備えて構成されている。制御ユニット110が様々なプログラムを実行することにより、エンジン音出力装置100としての各種機能が実現されるようになっている。こうした機能の中には、上述した第1実施形態における第1取得部710、補間部715、算出部720、第2取得部730、生成部740及び制御部750の機能も含まれている。
制御ユニット110の構成の詳細については、後述する。また、かかる制御ユニット110が実行する処理の詳細については、後述する。
なお、制御ユニット110が実行するプログラムは、ハードディスク、CD−ROM、DVD等のコンピュータで読み取り可能な記録媒体に記録され、当該記録媒体からロードされて実行される。また、このプログラムは、CD−ROM、DVD等の可搬型記録媒体に記録された形態で取得されるようにしてもよいし、インターネットなどのネットワークを介した配信の形態で取得されるようにしてもよい。
上記の記憶ユニット120は、ハードディスク装置等の不揮発性の記憶装置を備えて構成され、エンジン音出力装置100において利用される様々な情報データが記憶される。こうした情報データには、「エンジン音情報ESI1」、「エンジン音情報ESI2」、…、「エンジン音情報ESI5」が含まれている。記憶ユニット120には、制御ユニット110がアクセスできるようになっている。すなわち、記憶ユニット120は、上述した記憶部930の機能を果たすようになっている。
上記の「エンジン音情報ESIj」(j=1〜5)は、エンジン車両のエンジンルーム内で収音された収音データを解析して得られた、当該エンジン車両のエンジン回転数ごとの収音結果のスペクトルデータとなっている。ここで、「エンジン音情報ESI1」は、エンジン回転数ERがER1(=1000[rpm])のときの収音結果のスペクトルデータであり、「エンジン音情報ESI2」は、エンジン回転数ERがER2(=2000[rpm])のときの収音結果のスペクトルデータである。
また、「エンジン音情報ESI3」は、エンジン回転数ERがER3(=3000[rpm])のときの収音結果のスペクトルデータであり、「エンジン音情報ESI4」は、エンジン回転数ERがER4(=4000[rpm])のときの収音結果のスペクトルデータである。さらに、「エンジン音情報ESI5」は、エンジン回転数ERがER5(=5000[rpm])のときの収音結果のスペクトルデータである。
《制御ユニット110の構成》
次に、制御ユニット110の構成について説明する。
制御ユニット110は、図4に示されるように、補間部105と、算出部111と、特性変化信号生成部112と、信号合成部113とを備えている。また、制御ユニット110は、信号増幅部114と、イコライザ部(EQ)115と、変調用信号生成部116と、擬似エンジン音信号生成部117とを備えている。
上記の補間部105は、車両制御ユニット220から送られた車速SPC及びアクセル開度ARCを、不定間隔で受ける。次いで、補間部105は、不定間隔で受けた車速を一定間隔ΔXの車速データに変換する。引き続き、補間部105は、一定間隔ΔX毎の車速データを線形補間して、車速補間データ(以下、「車速データ」という)SPを算出する。また、補間部105は、不定間隔で受けたアクセル開度を一定間隔ΔXのアクセル開度データに変換する。引き続き、補間部105は、一定間隔ΔX毎のアクセル開度データを線形補間して、アクセル開度補間データ(以下、「アクセル開度データ」という)ARを算出する。
そして、補間部105は、車速の補間値である車速データSPを算出する毎に、当該車速データSPを算出部111へ送る。また、補間部105は、アクセル開度の補間値であるアクセル開度データARを算出する毎に、当該アクセル開度データARを算出部111、信号増幅部114及び変調用信号生成部116へ送る。本実施例では、一定間隔ΔXは、車両CRから送られる車速SPC及びアクセル開度ARCの不定間隔の平均値と概ね同じになるように設定している。また、補間処理の詳細については、後述する。
ここで、図5を参照して、本実施例で採用している不定間隔で受けた車速の情報を一定間隔の情報に変換する手法について、説明する。図5に示される白抜きの丸は、車両制御ユニット220から不定間隔で送られた車速SPCの例である。そして、車速SPCを、一定間隔ΔXの情報(時間t1,t2,…)に変換したデータが、黒塗りの四角で示されている。図5に示されるように、時間t1のデータは、時間t1より前の直近の車速SPCを採用し、時間t2のデータは、時間t2より前の直近の車速SPCを採用している。時間t3以降についても、一定間隔ΔXとなる時間よりも前の直近の車速SPCを採用するようにする。なお、不定間隔で受けたアクセル開度の情報を一定間隔の情報に変換する手法についても、車速の情報の変換処理と同様となっている。
図4に戻り、上記の算出部111は、内部に、ギア設定情報GSI(後述する図9参照)、ギア比情報GRT(後述する図10参照)及び遷移時間算出情報TDI(後述する図11参照)を有している。
算出部111は、補間部105から送られた車速データSP及びアクセル開度データARを受ける。こうして車速データSP及びアクセル開度データARを受けると、算出部111は、まず、ギア設定情報GSIを参照して、当該車速データSP及びアクセル開度データARに対応する擬似ギア位置を設定する。そして、算出部111は、設定された擬似ギア位置に対応するギア比GR及び最終減速比GRFを、ギア比情報GRTから読み取る。引き続き、算出部111は、「L」を車両CRのタイヤ円周として、次の(1)式により、擬似エンジン回転数ERPを算出するようにしている。
ERP[rpm]=SP・GR・GRF/(L・60) …(1)
ここで、(1)式では、車速データSPの単位を[km/h]とし、タイヤ円周Lの単位を[km]としている。
また、算出部111は、擬似ギア位置の変化に対応する「ギア位置変化中期間」を特定する。当該「ギア位置変化中期間」の特定方法を、図6を参照して説明する。なお、図6には、擬似ギア位置が、第2速から第3速へと変化するときの擬似エンジン回転数の時間変化が示されている。
「ギア位置変化中期間」の特定に際して、算出部111は、まず、擬似ギア位置の変化時点を、ギア位置変化中期間の始期として特定する。次に、算出部111は、擬似ギア位置の変化の直前(図6では、第2速)に算出された直前擬似エンジン回転数ER1(図6中の●)と、ギア位置変化中期間の始期において擬似ギア位置の変化が完了するという(図6では、第3速)仮定をした場合に、(1)式により、ギア位置変化中期間の始期において算出される直後仮定擬似エンジン回転数ER2(図6中の○)との差である回転数差ERDを算出する。次いで、算出部111は、遷移時間算出情報TDIを参照して、回転数差ERDに対応する遷移時間TDを算出する。
次に、算出部111は、直前擬似エンジン回転数ER1、回転数差ERD及び遷移時間TDにより定まる第1変化態様で時間変化する第1仮想擬似エンジン回転数を算出する(図6参照)。ここで、第1変化態様の傾きは、(ER2−ER1)/TDにより算出される。また、算出部111は、(1)式を用いて、ギア位置変化中期間の始期において擬似ギア位置の変化が完了する(図6では、第3速)という仮定のもとで算出される第2仮想擬似エンジン回転数を算出する。そして、算出部111は、第1仮想擬似エンジン回転数と第2仮想擬似エンジン回転数との差が、予め定められた閾値以下となる時点を、ギア位置変化中期間の終期として特定する。なお、本実施例では、当該差が予め定められた閾値以下とならない場合であっても、ギア位置変化中期間の始期から所定時間が経過した時点を、ギア位置変化中期間の終期として特定するようにしている。
ここで、当該閾値及び所定時間は、エンジン車両におけるギアチェンジに要する時間等を考慮して、実験、シミュレーション等に基づいて予め定められる。
算出部111は、このようにして「ギア位置変化中期間」を特定し、ギア位置変化中期間以外の期間においては、(1)式を用いて、擬似エンジン回転数ERPを算出する。一方、ギア位置変化中期間においては、算出部111は、第1仮想擬似エンジン回転数を、擬似エンジン回転数ERPとして算出する。こうして算出された擬似エンジン回転数ERPは、特性変化信号生成部112、信号合成部113及び変調用信号生成部116へ送られる。また、ギア位置変化中期間においては、算出部111は、ギア位置変化中期間である旨の報告GCP及び回転数差ERDを、信号増幅部114へ送るようにしている。
なお、図7には、擬似ギア位置が、第3速から第2速へと変化するときの擬似エンジン回転数の時間変化が示されている。ここで、図6及び図7の太線は、ギア位置の変化の前後において算出される擬似エンジン回転数ERPの時間変化の例を示している。
図4に戻り、上記の特性変化信号生成部112は、記憶ユニット120にアクセスして、5個のエンジン音情報ESIj(j=1〜5)を、エンジン音信号ESDj(f)(f:周波数)として読み取る。また、特性変化信号生成部112は、算出部111から送られた擬似エンジン回転数ERPを受ける。そして、特性変化信号生成部112は、擬似エンジン回転数ERPに基づいて、エンジン音信号ESDj(f)の周波数特性を変化させた特性変化信号FSDj(F)(F:周波数)を生成する。こうして生成された特性変化信号FSDj(F)は、信号合成部113へ送られる。
特性変化信号生成部112の構成の詳細については、後述する。
上記の信号合成部113は、内部に、音量設定テーブルVOT(後述する図12参照)を有している。信号合成部113は、特性変化信号生成部112から送られた特性変化信号FSDj(F)を受ける。また、信号合成部113は、算出部111から送られた擬似エンジン回転数ERPを受ける。そして、信号合成部113は、擬似エンジン回転数ERPに対応する音量設定テーブルVOTに示される割合で、特性変化信号FSD1(F)〜特性変化信号FSD5(F)を重み付け合成する。引き続き、信号合成部113は、当該重み付け合成された信号に対して逆フーリエ変換を施して、特性変化合成信号SND(t)(t:時間)を生成する。こうして生成された特性変化合成信号SND(t)は、信号増幅部114へ送られる。
上記の信号増幅部114は、内部に、増幅情報GNI(後述する図13参照)及び増幅率設定情報API(後述する図14参照)を有している。信号増幅部114は、信号合成部113から送られた特性変化合成信号SND(t)を受ける。また、信号増幅部114は、算出部111から送られた報告GCP及び回転数差ERDを受ける。さらに、信号増幅部114は、補間部105から送られたアクセル開度データARを受ける。
そして、信号増幅部114は、報告GCPを受けていないときには、信号増幅部114は、アクセル開度データARに対応する増幅率を増幅情報GNIから読み取り、当該増幅率で特性変化合成信号SND(t)を増幅する。一方、ギア位置変化中期間である旨の報告GCPを受けているときには、信号増幅部114は、回転数差ERDに対応する増幅率を増幅率設定情報APIから読み取り、当該増幅率で特性変化合成信号SND(t)を増幅する。次いで、信号増幅部114は、アクセル開度データARに対応する増幅率を増幅情報GNIから読み取り、当該増幅率で、回転数差ERDに基づいて増幅させた信号を増幅する。こうして増幅された信号は、増幅信号GSD(t)としてEQ部115へ送られる。
上記のEQ部115は、信号増幅部114から送られた増幅信号GSD(t)を受ける。そして、EQ部115は、エンジン音情報ESIの収集元のエンジン車両の車種に応じた周波数特性の変更処理を行う。そして、EQ部115は、当該周波数特性を変更した信号を、信号ESD(t)として擬似エンジン音信号生成部117へ送る。なお、EQ部115が実施する周波数特性変更の処理態様は、エンジン車両のエンジン音の再現性を高めた擬似エンジン音を生成するとの観点から、実験、シミュレーション、経験等に基づいて、予め定められる。
上記の変調用信号生成部116は、内部に、変調度情報MDI(後述する図15参照)を有している。変調用信号生成部116は、算出部111から送られた擬似エンジン回転数ERPを受けるとともに、補間部105から送られたアクセル開度データARを受ける。そして、変調用信号生成部116は、擬似エンジン回転数ERPの基本周波数fP[Hz](=ERP/60)の0.5次を周波数とし、アクセル開度データARに応じた振幅変調度の振幅変調処理を施した変調用信号MSD(t)を生成する。
ここで、図8には、振幅変調度が0%のときの変調用信号MSD(t)が2点鎖線にて示され、振幅変調度が50%のときの変調用信号MSD(t)が実線にて示されている。また、図8には、振幅変調度が100%のときの変調用信号MSD(t)が点線にて示されている。
図4に戻り、上記の擬似エンジン音信号生成部117は、EQ部115から送られた信号ESD(t)を受ける。また、擬似エンジン音信号生成部117は、変調用信号生成部116から送られた変調用信号MSD(t)を受ける。そして、擬似エンジン音信号生成部117は、信号ESD(t)と変調用信号MSD(t)を乗算して、出力音信号PED(以下、「擬似エンジン音信号」ともいう)を生成する。こうして生成された出力音信号PFDは、車室内音出力ユニット210へ送られる。
(制御ユニット110が使用する各種情報)
本実施例で採用している上述した「ギア設定情報GSI」、「ギア比情報GRT」、「遷移時間算出情報TDI」、「音量設定テーブルVOT」、「増幅情報GNI」、「増幅率設定情報API」及び「変調度情報MDI」の内容の例について説明する。
上記の「ギア設定情報GSI」には、図9に例示されるように、車速データSP及びアクセル開度データARに関連付けてギア位置(第1速〜第4速)が登録されている。このギア設定情報GSIの内容は、エンジン音出力装置100が配置される車両CRの走行動作と当該動作に対応する擬似エンジン音とを乖離しないようにする、すなわち、擬似エンジン音出力時の聴感上の違和感の発生を抑制するとの観点から、実験、シミュレーション、経験等に基づいて、車両CR及びエンジン音発生車両の車種ごとに予め定められる。
上記の「ギア比情報GRT」には、図10に例示されるように、第1速〜第4速のギア比と、最終減速比とが登録されている。このギア比情報GRTの内容は、上述した「ギア設定情報GSI」と同様に、車両CRの実際の走行動作に対応した擬似エンジン音を出力するとの観点から、実験、シミュレーション、経験等に基づいて、車両CR及びエンジン音発生車両の車種ごとに予め定められる。
上記の「遷移時間算出情報TDI」には、図11に例示されるように、回転数差ERDに応じたギア位置変化に要する遷移時間が登録されている。この遷移時間算出情報TDIの内容は、上述した「ギア設定情報GSI」及び「ギア比情報GRT」と同様に、車両CRの実際の走行動作に対応した擬似エンジン音を出力する観点から、実験、シミュレーション、経験等に基づいて、車両CR及びエンジン音発生車両の車種に対応付けて、ギア位置の変化ごとに予め定められる。
上記の「音量設定テーブルVOT」には、図12に例示されるように、擬似エンジン回転数ERPに応じて特性変化信号FSDj(F)(j=1,2,…,5)の音量を設定するための音量設定情報VOIjが登録されている。そして、これらの音量設定情報VOIj(j=1,2,…,5)は、擬似エンジン回転数ERPの変化に応じた、重み付け合成時における特性変化信号FSDj(F)の音量係数の変化に関する情報である。これらの音量設定情報VOIjは、車両CRの走行動作に対応した擬似エンジン音を出力するため、算出された擬似エンジン回転数ERPの変化に追従した擬似エンジン音を生成するとの観点から、車両CR及びエンジン音発生車両の車種に対応付けて、実験、シミュレーション、経験等に基づいて、予め定められる。
本実施例においては、音量設定情報VOI1では、擬似エンジン回転数ERPが0[rpm]より大きく、2000[rpm]より小さいときに、0より大きい音量係数を設定する。そして、この音量設定情報VOI1では、擬似エンジン回転数ERPが1000[rpm]となるときに最大の音量係数「1」を設定する。また、音量設定情報VOI2では、擬似エンジン回転数ERPが1000[rpm]より大きく、3000[rpm]より小さいときに、0より大きい音量係数を設定する。そして、この音量設定情報VOI2では、擬似エンジン回転数ERPが2000[rpm]となるときに最大の音量係数「1」を設定する。
また、音量設定情報VOI3では、擬似エンジン回転数ERPが2000[rpm]より大きく、4000[rpm]より小さいときに、0より大きい音量係数を設定する。そして、この音量設定情報VOI3では、擬似エンジン回転数ERPが3000[rpm]となるときに最大の音量係数「1」を設定する。また、この音量設定情報VOI4では、擬似エンジン回転数ERPが3000[rpm]より大きく、5000[rpm]より小さいときに、0より大きい音量係数を設定する。そして、この音量設定情報VOI4では、擬似エンジン回転数ERPが4000[rpm]となるときに最大の音量係数「1」を設定する。
また、音量設定情報VOI5では、擬似エンジン回転数ERPが4000[rpm]より大きく、6000[rpm]より小さいときに、0より大きい音量係数を設定する。そして、この音量設定情報VOI5では、擬似エンジン回転数ERPが5000[rpm]となるときに最大の音量係数「1」を設定する。
上記の「増幅情報GNI」には、図13に例示されるように、アクセル開度データARに応じて信号を増幅させる増幅率が登録されている。この増幅情報GNIの内容は、車両CRの実際の運転操作であるアクセル開度に応じた走行臨場感のある擬似エンジン音を生成するとの観点から、車両CR及びエンジン音発生車両の車種ごとに、実験、シミュレーション、経験等に基づいて、予め定められる。
上記の「増幅率設定情報API」には、図14に例示されるように、回転数差ERDに応じて信号を増幅させる増幅率が登録されている。本実施例では、登録された増幅率は、「1」以下の値となっている。この増幅率設定情報APIの内容は、車両CRのギア位置変更期間中において走行臨場感のある擬似エンジン音を生成するとの観点から、車両CR及びエンジン音発生車両の車種に対応付けて、実験、シミュレーション、経験等に基づいて、予め定められる。ここで、「増幅率設定情報API」は、エンジン車両の車種ごと、ギア位置の変化ごとに予め定められる。
上記の「変調度情報MDI」には、図15に例示されるように、アクセル開度データARに応じて信号を振幅変調させる変調率が登録されている。この変調度情報MDIの内容は、車両CRの実際の走行動作に対応した加速時におけるメカニカルな擬似エンジン音を演出するとの観点から、車両CR及びエンジン音発生車両の車種に対応付けて、実験、シミュレーション、経験等に基づいて、予め定められる。
(特性変化信号生成部112の構成)
上述した特性変化信号生成部112の構成について説明する。
特性変化信号生成部112は、図16に示されるように、5個の個別特性変化信号生成部211j(j=1,2,…,5)を備えている。
上記の個別特性変化信号生成部211j(j=1,2,…,5)のそれぞれは、内部に、エンジン回転数ERjの値を保持している。個別特性変化信号生成部211jのそれぞれは、記憶ユニット120にアクセスして、エンジン音情報ESIjを、エンジン音信号ESDj(f)として読み取る。また、個別特性変化信号生成部211jのそれぞれは、算出部111から送られた擬似エンジン回転数ERPを受ける。
そして、個別特性変化信号生成部211jのそれぞれは、エンジン回転数ERjの値及び擬似エンジン回転数ERPに基づいて、次の(2),(3)式の関係を満たす特性変化信号FSDj(F)を生成する。
FSDj(F)=ESDj(f) …(2)
F=f・(ERP/ERj) …(3)
引き続き、個別特性変化信号生成部211jのそれぞれは、生成された特性変化信号FSDj(F)を信号合成部113へ送る。
ここで、図17(A)には、エンジン音信号ESD1(f)に対して周波数をシフトさせた特性変化信号FSD1(F)の例が示され、図17(B)には、エンジン音信号ESD2(f)に対して周波数をシフトさせた特性変化信号FSD2(F)の例が、周波数シフトを説明する代表例として示されている。
[動作]
以上のようにして構成されたエンジン音出力装置100の動作について、制御ユニット110による擬似エンジン音の出力処理に、主に着目して説明する。
前提として、車両制御ユニット220は動作を開始しており、車両制御ユニット220からは、検出された車速SPC及びアクセル開度ARCが、不定間隔で制御ユニット110へ送られているものとする。
また、エンジン音出力装置100では、制御ユニット110の特性変化信号生成部112が、記憶ユニット120にアクセスして、スペクトル解析された5個の「エンジン音情報ESIj」(j=1〜5)を、エンジン音信号ESDj(f)として読み取っているものとする(図4参照)。
かかる動作環境のもとで、制御ユニット110により擬似エンジン音の出力処理が実行される。この擬似エンジン音の出力処理に際して、図18に示されるように、まず、ステップS11において、補間部105が、最初に受けた車速及びアクセル開度を、最初の車速データS及びアクセル開度データAとして計算する。次いで、ステップS12において、補間部105が、車速データSを「SO」にセットし、アクセル開度データAを「AO」にセットする。この後、処理はステップS13へ進む。
ステップS13では、補間部105が、前回の車速S及びアクセル開度Aの算出時点から、一定間隔ΔXを経過した時点の車速データS及びアクセル開度データAを計算する。
なお、ステップS13において算出する車速データS及びアクセル開度データAは、前回の算出時点から今回の算出時点の間に、車速SPC及びアクセル開度ARCを受けた場合には、直近に受けた車速及び開度を、車速データS及びアクセル開度データAとして計算する。一方、前回の算出時点から今回の算出時点の間に、車速SPC及びアクセル開度ARCを受けなかった場合には、前回の算出時点の車速データS及びアクセル開度データAを、今回の車速データS及びアクセル開度データAとして計算するようになっている(図5参照)。
次いで、ステップS14において、補間部105が、ステップS13で計算した車速データSを「SN」にセットし、ステップS13で計算したアクセル開度データAを「AN」にセットする。本実施例では、一定間隔ΔXを隔てた車速データSN及び車速データSOから、車速データの補間値を計算し、一定間隔ΔXを隔てたアクセル開度データAN及びアクセル開度データAOから、アクセル開度データの補間値を計算するようになっている。
次に、ステップS15において、補間部105が、次の(4)式により、車速データのステップ間隔ΔSを算出し、次の(5)式により、アクセル開度のステップ間隔ΔAを算出する。
ΔS={(SN−SO)/ΔX}・(N/fs) …(4)
ΔA={(AN−AO)/ΔX}・(N/fs) …(5)
ここで、fsは、擬似エンジン音の出力処理を実行する制御ユニット110のサンプリング周波数である。また、Nは、整数値であり、例えば、「1000」とすることができる。そして、(N/fs)が、補間データを計算する時間間隔となる。
引き続き、ステップS16において、補間部105が、「M=0」にセットする。この後、処理はステップS17へ進む。
ステップS17では、補間部105が、次の(6)式により、車速補間データSPを算出し、次の(7)式により、アクセル開度補間データARを算出する。
SP=SO+ΔS・M …(6)
AR=AO+ΔA・M …(7)
こうして算出された車速補間データSPは、補間部105から、算出部111へ送られる。また、算出されたアクセル開度補間データARは、補間部105から、算出部111、信号増幅部114及び変調用信号生成部116へ送られる。
引き続き、ステップS18において、「擬似エンジン音信号生成処理」を行う。かかるステップS18の処理の詳細については、後述する。そして、ステップS18の処理が終了すると、処理はステップS19へ進む。
ステップS19では、補間部105が、Mをインクリメントする。引き続き、ステップS20において、補間部105が、「M=round(ΔX・fs/N)」となったか否かを判定する。ここで、round()は、括弧内を四捨五入して整数値にする関数である。また、(ΔX・fs/N)は、時間間隔 (N/fs)で補間データを計算したときの間隔ΔX内での補間データの数に相当する。この判定の結果が否定的であった場合(ステップS20:N)には、処理はステップS17へ戻る。
ステップS20における判定の結果が肯定的であった場合(ステップS20:Y)には、処理はステップS21へ進む。ステップS21では、補間部105が、車速に関する「SN」を「SO」にセットし、アクセル開度に関する「AN」を「AO」にセットする。この後、処理はステップS13へ戻る。以後、ステップS13〜S21の処理が繰り返される。
<擬似エンジン音信号生成処理>
上述したステップS18における「擬似エンジン音信号生成処理」について説明する。
「擬似エンジン音信号生成処理」は、図19に示されるように、まず、ステップS31において、補間部105から送られた車速補間データ(「車速データ」)SPを、算出部111が取得する。また、補間部105から送られたアクセル開度補間データ(「アクセル開度データ」)ARを、算出部111、信号増幅部114及び変調用信号生成部116が取得する。この後、処理はステップS32へ進む。
ステップS32では、算出部111が、まず、ギア設定情報GSIを参照して、車速データSP及びアクセル開度データARに対応する擬似ギア位置を設定する。次いで、算出部111が、設定された擬似ギアに対応するギア比GR及び最終減速比GRFを、ギア比情報GRTから読み取り、上述した(1)式により、擬似エンジン回転数ERPを算出する。
また、算出部111は、擬似ギア位置の変化に対応する「ギア位置変化中期間」の特定処理を行う。そして、算出部111は、「ギア位置変化中期間」以外の期間においては、(1)式により、擬似エンジン回転数ERPを算出し、算出された擬似エンジン回転数ERPを、特性変化信号生成部112、信号合成部113及び変調用信号生成部116へ送る。
一方、「ギア位置変化中期間」においては、算出部111は、第1仮想擬似エンジン回転数を、擬似エンジン回転数ERPとして算出し、算出された擬似エンジン回転数ERPを、特性変化信号生成部112、信号合成部113及び変調用信号生成部116へ送る。また、ギア位置変化中期間においては、算出部111は、ギア位置変化中期間である旨の報告GCP及び回転数差ERDを信号増幅部114へ送る。
次に、ステップS33において、特性変化信号生成部112が、「エンジン音信号ESD1(f)」〜「エンジン音信号ESD5(f)」の周波数特性を変化させた「特性変化信号FSD1(F)」〜「特性変化信号FSD5(F)」を生成する。かかる「特性変化信号FSDj(F)」の生成に際して、個別特性変化信号生成部211jのそれぞれは、まず、算出された擬似エンジン回転数ERP及びエンジン回転数ERjの値に基づいて、値ERP/ERjを算出する。引き続き、個別特性変化信号生成部211jのそれぞれは、「エンジン音信号ESDj(f)」に対して、周波数fを(ERP/ERj)倍シフトさせることで「特性変化信号FSDj(F)」を生成する。そして、特性変化信号生成部112は、生成された「特性変化信号FSD1(F)」〜「特性変化信号FSD5(F)」を信号合成部113へ送る(図16参照)。
例えば、算出部111により算出された擬似エンジン回転数ERPが1800[rpm]のときには、個別特性変化信号生成部2111は、エンジン音信号ESD1(f)に対して、周波数を1.8(=1800/1000)倍シフトさせて、特性変化信号FSD1(F)を生成する。また、個別特性変化信号生成部2112は、エンジン音信号ESD2(f)に対して、周波数を0.9(=1800/2000)倍シフトさせて、特性変化信号FSD2(F)を生成する(図17参照)。
また、個別特性変化信号生成部2113は、エンジン音信号ESD3(f)に対して、周波数を0.6(=1800/3000)倍シフトさせることで、特性変化信号FSD3(F)を生成する。さらに、個別特性変化信号生成部2114は、エンジン音信号ESD4(f)に対して、周波数を0.45(=1800/4000)倍シフトさせて、特性変化信号FSD4(F)を生成する。また、個別特性変化信号生成部2115は、エンジン音信号ESD5(f)に対して、周波数を0.36(=1800/5000)倍シフトさせることで、特性変化信号FSD5(F)を生成する。
引き続き、ステップS34において、信号合成部113が、「特性変化信号FSD1(F)」〜「特性変化信号FSD5(F)」を、擬似エンジン回転数ERPに対応する音量設定テーブルVOTに示される割合で重み付け合成する(図4参照)。
例えば、算出部111により算出された擬似エンジン回転数ERPが1800[rpm]のときには、音量設定情報VOI1から読み取れる音量係数の値は「0.3」となり、音量設定情報VOI2から読み取れる音量係数の値は「0.7」となる。また、音量設定情報VOI3、音量設定情報VOI4、音量設定情報VOI5のそれぞれから読み取れる音量係数の値は「0」となる(図12参照))。こうした場合には、信号合成部113は、特性変化信号FSD1(F)及び特性変化信号FSD2(F)を、3対7の割合で重み付け合成する。
引き続き、信号合成部113は、重み付け合成された信号に対して逆フーリエ変換を施して、特性変化合成信号SND(t)を生成する。そして、信号合成部113は、特性変化合成信号SND(t)を、信号増幅部114へ送る。
次いで、ステップS35において、信号増幅部114が、擬似ギアチェンジに伴う信号増幅処理を行う。かかる処理に際して、信号増幅部114は、報告GCPを受けていないときには、特性変化合成信号SND(t)に対して擬似ギアチェンジに伴う信号増幅処理を行わない。一方、ギア位置変化中期間である旨の報告GCPを受けているときには、信号増幅部114は、増幅率設定情報APIに示されている回転数差ERDに対応する増幅率で、特性変化合成信号SND(t)を増幅する。
引き続き、ステップS36において、信号増幅部114が、増幅情報GNIに示されているアクセル開度データARに対応する増幅率で、信号を増幅する。そして、信号増幅部114は、増幅信号GSD(t)を、EQ部115へ送る(図4参照)。引き続き、ステップS37において、EQ部115が、増幅信号GSD(t)に対する周波数特性の変更処理を行い、信号ESD(t)を生成する。そして、EQ部115は、信号ESD(t)を擬似エンジン音信号生成部117へ送る(図4参照)。この後、処理はステップS38へ進む。
ステップS38では、変調用信号生成部116が、算出された擬似エンジン回転数ERP及び取得されたアクセル開度データARに基づいて、擬似エンジン回転数ERPの基本周波数fP[Hz](=ERP/60)の0.5次を周波数とし、アクセル開度データARに応じた振幅変調度の振幅変調を施した変調用信号MSD(t)を生成する(図8参照)。そして、変調用信号生成部116は、生成された変調用信号MSD(t)を擬似エンジン音信号生成部117へ送る(図4参照)。
引き続き、ステップS39において、擬似エンジン音信号生成部117が、EQ部115から送られた信号ESD(t)と、変調用信号生成部116から送られた変調用信号MSD(t)とを乗算して、擬似エンジン音信号PEDを生成する。そして、擬似エンジン音信号生成部117は、生成された擬似エンジン音信号PEDを車室内音出力ユニット210へ送る。この結果、車室内音出力ユニット210から、擬似エンジン音信号PEDに従った擬似エンジン音が、車両CRの内部へ出力する。
ステップS39の処理が終了すると、ステップS18の処理が終了する。そして、処理は上述した図18のステップS19へ進む。
以上説明したように、本実施例では、制御ユニット110が、車両制御ユニット220により検出された車速及びアクセル開度を取得する。そして、制御ユニット110内では、補間部105が、車速の情報を一定間隔の情報に変換し、変換された一定間隔ごとの情報を線形補間して、車速データSPを算出する。また、補間部105は、アクセル開度の情報を一定間隔の情報に変換し、変換された一定間隔ごとの情報を線形補間して、アクセル開度データARを算出する。
次に、算出部111が、補間された車速データSP及び補間されたアクセル開度データAR等から、擬似ギア位置を決定し、車速データ及び擬似ギア位置等に基づいて、擬似エンジン回転数ERPを算出する。そして、算出部111は、ギア位置変化中期間以外の期間には、車速データ及び擬似ギア位置等に基づいて算出された擬似エンジン回転数ERPを、特性変化信号生成部112、信号合成部113及び変調用信号生成部116へ送る。
一方、ギア位置変化中期間には、算出部111は、第1仮想擬似エンジン回転数を、擬似エンジン回転数ERPとして算出し、算出された擬似エンジン回転数ERPを、特性変化信号生成部112、信号合成部113及び変調用信号生成部116へ送る。また、ギア位置変化中期間においては、算出部111は、ギア位置変化中期間である旨の報告GCP及び回転数差ERDを信号増幅部114へ送る。
引き続き、特性変化信号生成部112が、エンジン車両のエンジン回転数ERj(j=1〜5)ごとのエンジン音情報ESIjを、記憶ユニット120から、エンジン音信号ESDj(f)として読み取る。そして、特性変化信号生成部112は、当該エンジン音信号ESDj(f)に対して、周波数を(ERP/ERj)倍シフトさせた「特性変化信号FSDj(F)」を生成する。次に、信号合成部113が、擬似エンジン回転数ERPに対応する音量設定テーブルVOTに示される割合で、特性変化信号FSD1(F)〜特性変化信号FSD5(F)を重み付け合成して、特性変化合成信号SND(t)を生成する。
そして、信号増幅部114が、ギア位置変化中期間においては、増幅率設定情報APIに示される回転数差ERDに対応する増幅率で、特性変化合成信号SND(t)を増幅し、次いで、増幅情報GNIに示されているアクセル開度ARに対応する増幅率で、特性変化合成信号SND(t)を増幅する。一方、ギア位置変化中期間以外の期間においては、信号増幅部114は、増幅情報GNIに示されているアクセル開度ARに対応する増幅率で、特性変化合成信号SND(t)を増幅する。次いで、EQ部115が、周波数特性の変更処理を施して、信号ESD(t)を生成する。
また、変調用信号生成部116が、算出された擬似エンジン回転数ERPに対応する周波数の0.5次の信号に対して、アクセル開度に応じた変調を施した変調用信号MSD(t)を生成する。そして、擬似エンジン音信号生成部117が、EQ部115から送られた信号ESD(t)と、変調用信号生成部116から送られた変調用信号MSD(t)とを乗算して、擬似エンジン音信号PEDを生成する。車室内音出力ユニット210は、こうして生成された擬似エンジン音信号PEDに従った擬似エンジン音を、車両CRの内部へ出力する。
このため、本実施例では、電動車両の車室内において、走行状態に対応した擬似エンジン音による擬似環境を創出することができる。
したがって、本実施例によれば、利用者に聴感上の違和感を与えずに、走行状態に対応した擬似エンジン音による擬似環境を適切に創出することができる。
[実施例の変形]
本発明は、上記の実施例に限定されるものではなく、様々な変形が可能である。
例えば、上記の実施例では、補間部は、車速及びアクセル開度の補間データを計算するに際して、線形補間を行ったが、他の補間手法であってもよいことは勿論である。
また、上記の実施例では、不定間隔で走行情報(車速及びアクセル開度)を受信し、不定間隔で受けた走行情報を一定間隔の情報に変換し、変換された一定間隔ごとの情報を線形補間して、車速及びアクセル開度の補間データを算出した。これに対して、一定間隔で走行情報を受信する場合には、上述した走行情報を一定間隔に変換する処理を省略して、受信した一定間隔ごとの走行情報を線形補間して、車速及びアクセル開度の補間データを算出すればよい。
また、上記の実施例では、信号増幅部は、ギア位置変化中期間に、合成信号を、回転数差に基づいて定まる一定割合で増幅させるようにした。これに対して、信号増幅部は、エンジン回転数、アクセル開度又はエンジン回転数及びアクセル開度の双方に更に基づき、合成信号を増幅させるようにしてもよい。また、実施例における増幅処理を省略するようにしてもよい。
また、上記の実施例では、信号増幅部は、ギア位置変化中期間の擬似エンジン音信号の振幅を、回転数差に基づいて定まる一定値に設定した。これに対して、エンジン音出力装置において、ギア位置変化中期間に、擬似エンジン音信号の振幅をアクセル開度に応じて増幅させつつ、擬似エンジン音信号の周波数特性を、回転数差に基づいて変化させるようにしてもよい。また、ギア位置変化中期間の擬似エンジン音信号の振幅を、回転数差に基づいて定まる一定値に設定するとともに、ギア位置変化中期間の擬似エンジン音信号の周波数特性を、回転数差に基づいて変化させるようにしてもよい。
当該回転数差に基づいてギア位置変化中期間の擬似エンジン音信号の周波数特性を変化させる場合には、例えば、ギア位置変化中期間以外の期間の音信号の周波数特性に対して、ギア位置変化中期間の擬似エンジン音の低周波数成分のレベルを小さくし、さらに、回転数差が小さいほど、擬似エンジン音の低周波数成分のレベルを小さくするように変化させるようにする。このように周波数特性を変化させることで、ギアチェンジ時(エンジンがギアと繋がっていない状態)では、エンジンがギアと繋がっている状態に比べて、擬似エンジン音の低周波数成分のレベルを下げることができる。さらに、ギアチェンジ時において、回転数差が小さいほど、擬似エンジン音の低周波数成分のレベルを下げることができる。このため、エンジン車両におけるギアチェンジの際のエンジン音の変化を再現することができる。
また、上記の実施例では、エンジン音出力装置100の構成要素の全てが車両CRに搭載されるようにしたが、上述した第2実施形態のように、車両CRに搭載される端末装置と通信可能なサーバ装置が、エンジン音出力装置100の構成要素の一部の機能を備えるようにしてもよい。
また、上記の実施例では、記憶ユニット120には、エンジン回転数1000[rpm]毎の5個の「エンジン音情報ESI1」、…、「エンジン音情報ESI5」が含まれることとした。これに対して、エンジン音情報の数は、2個以上4個以下、又は、6個以上であってもよく、さらに、データ収集時におけるエンジン車両のエンジン回転数の間隔は、1000[rpm]に限定されず、任意の間隔であってもよい。
また、上記の実施例では、記憶ユニット120に記憶されるエンジン音情報ESIj(f)(j=1,2,…,5)は、エンジン車両のエンジンルーム内で収音された収音データを解析して得られたスペクトルデータとした。これに対して、エンジン音情報としては、時系列の音データから構成されるエンジン音信号(t)であってもよい。
そして、エンジン音情報が時系列の音データから構成されるエンジン音信号(t)である場合には、個別特性変化信号生成部は、エンジン音信号(t)における音データ間の時間間隔を(ERP/ERj)-1倍にして、特性変化信号(T)を生成すればよい。
なお、時系列の音データから構成されるエンジン音信号(t)から特性変化信号を生成するに際して、上述した音データ間の時間間隔の変更処理を行わない場合には、制御ユニットにおける特性変化信号生成部の前段で、当該エンジン音信号(t)のスペクトル解析を行うようにしてもよい。
また、上記の実施例では、エンジン音情報は、エンジン車両のエンジンルーム内で収音することとしたが、エンジンルーム外で収音するようにしてもよい。
また、上記の実施例では、制御ユニットは、擬似エンジン音を出力するに際して、記憶ユニット120に記憶されているエンジン音情報ESIj(j=1〜5)を取得することとした。これに対して、制御ユニットは、擬似エンジン回転数に対応して重み付け合成を行うエンジン音情報のみを取得するようにしてもよい。
また、上記の実施例では、擬似エンジン音信号を生成するに際して、信号合成部は、擬似エンジン回転数ERPに近いエンジン回転数に対応する特性変化信号FSDほど重み付け合成の割合を高くし、擬似エンジン回転数ERPと離れたエンジン回転数に対応する特性変化信号FSDについては、重み付け合成の割合を低くする態様で、特性変化信号FSDj(F)(j=1〜5)を重み付け合成することとした。これに対して、信号合成部は、合成割合を一定として、特性変化信号FSDj(F)(j=1〜5)を合成するようにしてもよい。
また、上記の実施例では、擬似エンジン音信号を生成するに際して、信号増幅部が、信号合成部から送られた信号をアクセル開度に応じて増幅させたが、当該増幅処理を行わないようにしてもよい。
また、上記の実施例では、擬似エンジン音信号を生成するに際して、EQ部が、増幅信号GSD(t)に対して、収集元のエンジン車両の車種に応じた周波数特性の変更処理を行うようにしたが、当該EQ部の処理を行わないようにしてもよい。この場合には、エンジン音出力装置の構成要素として、制御ユニットにおけるEQ部を省略することができる。
また、上記の実施例では、擬似エンジン音信号を生成するに際して、変調用信号生成部が、擬似エンジン回転数に対応する周波数の0.5次の信号に対して、アクセル開度に応じた変調を施した変調用信号MSD(t)を生成した。そして、当該変調用信号に基づいて変調させた擬似エンジン音を出力するようにした。これに対して、当該変調用信号に基づいた変調を行わないで、擬似エンジン音を出力するようにしてもよい。この場合には、エンジン音出力装置の構成要素として、制御ユニットにおける変調用信号生成部を省略することができる。
また、上記の実施例における遷移時間算出情報TDI、音量設定テーブルVOT、増幅情報GNI、増幅率設定情報API及び変調度情報MDIの内容は一例を示したものであって、他の内容であってもよいことは、勿論である。
また、上記の実施例のエンジン音出力装置が、エンジン音情報を記憶するようにしたが、当該エンジン音情報を、スマートフォン情報を他の装置から取得するようにしてもよい。
また、上記の実施例では、エンジン音出力装置が、記憶ユニットを備える構成とした。これに対して、記憶ユニットとして利用できる設備品が車両に配置されている場合には、当該装備品を利用するようにしてもよい。
また、上記の実施例では、電気自動車内に配置される装置に本発明を適用したが、電気エネルギを駆動エネルギの一部として利用する車両(例えば、ハイブリッド車)に配置される装置に本発明を適用することができるのは、勿論である。
また、エンジン車両内に配置される装置に本発明を適用してもよい。この場合には、擬似エンジン音を出力するエンジン車両と、エンジン音発生車両とを同一の車両としてもよい。また、擬似エンジン音を出力するエンジン車両と、エンジン音発生車両とを異なる車両や異なる車種の車両としてもよい。
また、上記の実施例については、上述した第1実施形態に対する変形と同様の変形を適宜施すことができる。