(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-26
(45)【発行日】2024-04-03
(54)【発明の名称】基本周波数推定装置、アクティブノイズコントロール装置、基本周波数の推定方法及び基本周波数の推定プログラム
(51)【国際特許分類】
G10K 11/178 20060101AFI20240327BHJP
G10L 25/90 20130101ALI20240327BHJP
G01R 23/16 20060101ALI20240327BHJP
G01R 23/167 20060101ALI20240327BHJP
【FI】
G10K11/178 100
G10L25/90
G01R23/16 C
G01R23/167
(21)【出願番号】P 2020058076
(22)【出願日】2020-03-27
【審査請求日】2022-09-16
(73)【特許権者】
【識別番号】391008559
【氏名又は名称】株式会社トランストロン
(74)【代理人】
【識別番号】100170070
【氏名又は名称】坂田 ゆかり
(72)【発明者】
【氏名】大川 僚太
【審査官】冨澤 直樹
(56)【参考文献】
【文献】特開2008-281776(JP,A)
【文献】特開2014-219607(JP,A)
【文献】特開2000-298475(JP,A)
【文献】特開平06-110497(JP,A)
【文献】特開昭61-187000(JP,A)
【文献】米国特許出願公開第2008/0091418(US,A1)
【文献】特開2003-280696(JP,A)
【文献】特開2007-164041(JP,A)
【文献】国際公開第2004/040555(WO,A1)
【文献】中国特許出願公開第101814291(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10K 11/178
G10L 25/90
G01R 23/16
G01R 23/167
G10L 21/02
G10G 3/04
(57)【特許請求の範囲】
【請求項1】
入力信号の基本周波数を逐次推定する装置であって、
前記入力信号を逐次取得する収音部と、
前記入力信号のサンプル点が取得されるごとに、当該サンプル点の前回値を含む漸化式を用いて前記入力信号の振幅スペクトルを計算する漸化式DFT処理部と、
前記振幅スペクトルのピーク周波数である第1ピーク周波数を抽出する第1ピーク抽出部と、
前記振幅スペクトルの前記第1ピーク周波数を含む帯域を強調するフィルタをかけるフィルタ部と、
前記フィルタ部により処理された信号に対し、自己相関関数の前回値を含む漸化式を用いて当該自己相関関数を計算する自己相関関数計算部と、
前記自己相関関数のピーク周波数である第2ピーク周波数を抽出する第2ピーク抽出部と、
前記第2ピーク周波数を前記入力信号の基本周波数として出力する出力部と、
を備えることを特徴とする基本周波数推定装置。
【請求項2】
前記漸化式DFT処理部により算出された振幅スペクトルと、当該振幅スペクトルを周波数方向に1/m(mは自然数)に圧縮した振幅スペクトルをかけ合わせる基本周波数強調部を備え、
前記第1ピーク抽出部は、前記基本周波数強調部から出力された振幅スペクトルのピーク周波数を前記第1ピーク周波数として抽出する
ことを特徴とする請求項1に記載の基本周波数推定装置。
【請求項3】
前記フィルタ部は、前記振幅スペクトルのピーク周波数を中心周波数とする逆ノッチフィルタを掛ける処理を行う
ことを特徴とする請求項1又は2に記載の基本周波数推定装置。
【請求項4】
前記第2ピーク抽出部は、前記自己相関関数の最大値を含む周波数帯域において極大値をとる周波数をパラボラフィッティングにより求め、前記極大値をとる周波数を前記自己相関関数のピーク周波数とする
ことを特徴とする請求項1から3のいずれか一項に記載の基本周波数推定装置。
【請求項5】
前記第2ピーク抽出部が抽出した前記第2ピーク周波数の配列を逐次格納する記憶部と、
前記記憶部に格納された前記第2ピーク周波数の配列に基づいて、前記第2ピーク周波数に対して漸化式による時系列フィルタリング処理を行う時系列フィルタ部と、
を備えたことを特徴とする請求項1から4のいずれか一項に記載の基本周波数推定装置。
【請求項6】
前記収音部が受信した信号を全波整流する調波成分強調部を備え、
前記漸化式DFT処理部は、前記調波成分強調部から出力された信号の振幅スペクトルを計算する
ことを特徴とする請求項1から5のいずれか一項に記載の基本周波数推定装置。
【請求項7】
請求項1から6のいずれか一項に記載の基本周波数推定装置と、
前記入力信号の基本周波数と逆位相の信号を生成するアクティブノイズコントロール部と、
前記逆位相の信号を出力する放音部と、
を備えたことを特徴とするアクティブノイズコントロール装置。
【請求項8】
入力信号の基本周波数を逐次推定する方法であって、
前記入力信号を逐次取得するステップと、
前記入力信号のサンプル点が取得されるごとに、当該サンプル点の前回値を含む漸化式を用いて前記入力信号の振幅スペクトルを計算するステップと、
前記振幅スペクトルのピーク周波数である第1ピーク周波数を抽出するステップと、
前記振幅スペクトルの前記第1ピーク周波数を含む帯域を強調するフィルタをかけるステップと、
前記第1ピーク周波数を含む帯域が強調された信号に対して、自己相関関数の前回値を含む漸化式を用いて当該自己相関関数を計算するステップと、
前記自己相関関数のピーク周波数である第2ピーク周波数を抽出するステップと、
前記第2ピーク周波数を前記入力信号の基本周波数として出力するステップと、
を含むことを特徴とする基本周波数の推定方法。
【請求項9】
コンピュータを、
入力信号を逐次取得する収音部と、
前記入力信号のサンプル点が取得されるごとに、当該サンプル点の前回値を含む漸化式を用いて前記入力信号の振幅スペクトルを計算する漸化式DFT処理部と、
前記振幅スペクトルのピーク周波数である第1ピーク周波数を抽出する第1ピーク抽出部と、
前記振幅スペクトルの前記第1ピーク周波数を含む帯域を強調するフィルタをかけるフィルタ部と、
前記フィルタ部により処理された信号に対し、自己相関関数の前回値を含む漸化式を用いて当該自己相関関数を計算する自己相関関数計算部と、
前記自己相関関数のピーク周波数である第2ピーク周波数を抽出する第2ピーク抽出部と、
前記第2ピーク周波数を前記入力信号の基本周波数として出力する出力部と、
して機能させることを特徴とする基本周波数の推定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、基本周波数推定装置、アクティブノイズコントロール装置、基本周波数の推定方法及び基本周波数の推定プログラムに関する。
【背景技術】
【0002】
特許文献1には、音楽情報を表わす音符ベース・コードを生成する方法であって、音声信号の基本周波数を推定して基本周波数のシーケンスを得るためのステップと、当該基本周波数のシーケンスに基づいて音符ベース・コードを得るためのステップを含むことが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の方法は、高速フーリエ変換を使用するため、データのバッファリングに伴う遅延が生じる。また、遅延を抑えるために、1サンプル毎に高速フーリエ変換を実行しようとすると、演算量が多くなる。したがって、特許文献1に記載の方法を組込機器など小型の装置に適用すると、処理の遅延が発生するか、もしくは処理リソース不足で実現できないおそれがある。
【0005】
本発明はこのような事情に鑑みてなされたもので、高速フーリエ変換に伴う遅延を回避し、入力音の基本周波数を少ない演算量かつ少ない遅延量で正確に計算することができる基本周波数推定装置、アクティブノイズコントロール装置、および基本周波数の推定方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係る基本周波数推定装置は、例えば、入力信号の基本周波数を逐次推定する装置であって、前記入力信号を逐次取得する収音部と、前記入力信号のサンプル点が取得されるごとに、当該サンプル点の前回値を含む漸化式を用いて前記入力信号の振幅スペクトルを計算する漸化式DFT処理部と、前記振幅スペクトルのピーク周波数である第1ピーク周波数を抽出する第1ピーク抽出部と、前記振幅スペクトルの前記第1ピーク周波数を含む帯域を強調するフィルタをかけるフィルタ部と、前記フィルタ部により処理された信号に対し、自己相関関数の前回値を含む漸化式を用いて当該自己相関関数を計算する自己相関関数計算部と、前記自己相関関数のピーク周波数である第2ピーク周波数を抽出する第2ピーク抽出部と、前記第2ピーク周波数を前記入力信号の基本周波数として出力する出力部と、を備えることを特徴とする。
【0007】
本発明に係る基本周波数推定装置によれば、収音した入力信号に漸化式DFT(離散フーリエ変換)処理を行って得られた入力信号の振幅スペクトルに基づいて第1ピーク周波数(大まかなピーク周波数)を抽出し、当該ピーク周波数の近傍の帯域を強調する加工を行った上で、自己相関関数を計算し、自己相関関数に基づいて第2ピーク周波数を抽出する。これにより、高速フーリエ変換を用いず、入力音の基本周波数を少ない演算量かつ少ない遅延量で正確に計算することができる。
【0008】
前記漸化式DFT処理部により算出された振幅スペクトルと、当該振幅スペクトルを周波数方向に1/m(mは自然数)に圧縮した振幅スペクトルをかけ合わせる基本周波数強調部を備え、前記第1ピーク抽出部は、前記基本周波数強調部から出力された振幅スペクトルのピーク周波数を前記第1ピーク周波数として抽出してもよい。なお、mは調波構造に依存する自然数である。これにより、より正確に基本周波数を推定することができる。
【0009】
前記フィルタ部は、前記振幅スペクトルのピーク周波数を中心周波数とする逆ノッチフィルタを掛ける処理を行ってもよい。これにより、簡素な構成で基本周波数付近の狭帯域の強調が可能である。
【0010】
前記第2ピーク抽出部は、前記自己相関関数の最大値を含む周波数帯域において極大値をとる周波数をパラボラフィッティングにより求め、前記極大値をとる周波数を前記自己相関関数のピーク周波数としてもよい。これにより、自己相関関数のピーク近傍が二次関数によくあてはまることを利用して、離散的な周波数インデックスの間に存在するピーク周波数を精密に推定することができる。
【0011】
前記第2ピーク抽出部が抽出した前記第2ピーク周波数の配列を逐次格納する記憶部と、前記記憶部に格納された前記第2ピーク周波数の配列に基づいて、前記第2ピーク周波数に対して漸化式による時系列フィルタリング処理を行う時系列フィルタ部と、を備えてもよい。これにより、推定値の急激な変化を抑えることで、外れ値の影響を小さくできる。また、漸化式によってフィルタ処理を行うため、処理量が小さく、処理遅延を抑えることができる。
【0012】
前記収音部が受信した信号を全波整流する調波成分強調部を備え、前記漸化式DFT処理部は、前記調波成分強調部から出力された信号の振幅スペクトルを計算してもよい。これにより、入力信号に基本周波数の調波成分が多く含まれていることを利用して、基本周波数成分を強調することができる。
【0013】
上記課題を解決するために、本発明の別の観点に係るアクティブノイズコントロール装置は、例えば、上述のいずれかの一項に記載の基本周波数推定装置と、前記入力信号の基本周波数と逆位相の信号を生成するアクティブノイズコントロール部と、前記逆位相の信号を出力する放音部と、を備えたことを特徴とする。これにより、少ない演算量で騒音をリアルタイムに抑制することができる。
【0014】
上記課題を解決するために、本発明の別の観点に係る基本周波数の推定方法は、例えば、入力信号の基本周波数を逐次推定する方法であって、前記入力信号を逐次取得するステップと、前記入力信号のサンプル点が取得されるごとに、当該サンプル点の前回値を含む漸化式を用いて前記入力信号の振幅スペクトルを計算するステップと、前記振幅スペクトルのピーク周波数である第1ピーク周波数を抽出するステップと、前記振幅スペクトルの前記第1ピーク周波数を含む帯域を強調するフィルタをかけるステップと、前記第1ピーク周波数を含む帯域が強調された信号に対して、自己相関関数の前回値を含む漸化式を用いて当該自己相関関数を計算するステップと、前記自己相関関数のピーク周波数である第2ピーク周波数を抽出するステップと、前記第2ピーク周波数を前記入力信号の基本周波数として出力するステップと、を含むことを特徴とする。これにより、高速フーリエ変換を用いず、入力音の基本周波数を少ない演算量で正確に計算することができる。
【0015】
上記課題を解決するために、本発明の別の観点に係る基本周波数の推定プログラムは、例えば、コンピュータを、前記入力信号を逐次取得する収音部と、前記入力信号のサンプル点が取得されるごとに、当該サンプル点の前回値を含む漸化式を用いて前記入力信号の振幅スペクトルを計算する漸化式DFT処理部と、前記振幅スペクトルのピーク周波数である第1ピーク周波数を抽出する第1ピーク抽出部と、前記振幅スペクトルの前記第1ピーク周波数を含む帯域を強調するフィルタをかけるフィルタ部と、前記フィルタ部により処理された信号に対し、自己相関関数の前回値を含む漸化式を用いて当該自己相関関数を計算する自己相関関数計算部と、前記自己相関関数のピーク周波数である第2ピーク周波数を抽出する第2ピーク抽出部と、前記第2ピーク周波数を前記入力信号の基本周波数として出力する出力部と、として機能させることを特徴とする。
【発明の効果】
【0016】
本発明によれば、高速フーリエ変換に伴う遅延を回避し、入力音の基本周波数を少ない演算量かつ少ない遅延量で正確に計算できる。
【図面の簡単な説明】
【0017】
【
図1】基本周波数推定装置1及びこれを有するアクティブノイズコントロール装置2の電気的な機能ブロックの概略を示す図である。
【
図2】漸化式DFT処理部12における処理の様子を示すグラフであり、(a)は入力される音声信号の一例を示すグラフであり、(b)は、当該音声信号を漸化式により離散フーリエ変換して得られた振幅スペクトルを示すグラフである。
【
図3】基本周波数強調部13における処理の様子を示すグラフであり、(a)は基本周波数強調部13による処理前の信号の振幅スペクトルの一例を示すグラフであり、(b)は基本周波数強調部13による処理後の信号の振幅スペクトルを示すグラフである。
【
図4】第1ピーク抽出部14におけるパラボラフィッティング処理の様子を模式的に示す図である。
【
図5】フィルタ部15における逆ノッチフィルタ処理の様子を示すグラフであり、(a)は逆ノッチフィルタ処理前の信号の振幅スペクトルの一例を示すグラフであり、(b)は300kHzを強調する逆ノッチフィルタを適用した後の信号の振幅スペクトルを示すグラフである。
【
図6】上記逆ノッチフィルタ処理の前後の様子を重畳的に示したグラフである。
【
図7】自己相関関数計算部16による計算の様子を示すグラフであり、(a)はフィルタ部15により逆ノッチフィルタ処理をされている信号の自己相関関数の一例を示すグラフであり、(b)は逆ノッチフィルタ処理をされていない信号の自己相関関数の一例を示すグラフである。
【
図8】時系列フィルタ部18における処理の様子を示すグラフである。
【
図9】ANC処理部21において基本周波数推定装置1とSANとを組み合わせたときの電気的な機能ブロックの概略を示す図である。
【
図10】基本周波数推定装置1により信号の基本周波数を推定し、アクティブノイズコントロール装置2が当該基本周波数に基づいて騒音を低減する流れを示すフローチャートである。
【
図11】一般的なSANの電気的な機能ブロックの概略を示す図である。
【発明を実施するための形態】
【0018】
以下、本発明に係る基本周波数推定装置およびアクティブノイズコントロール装置の実施形態を、図面を参照して詳細に説明する。基本周波数推定装置は、外部音を逐次取得し、これを入力信号として解析することで、基本周波数をリアルタイムに推定する装置である。アクティブノイズコントロール装置は、基本周波数推定装置により推定された基本周波数に基づいて、外部音の逆位相の信号を出力することで、騒音を低減する装置である。
【0019】
基本周波数推定装置およびアクティブノイズコントロール装置は、例えば自動車内において、いわゆるエンジンこもり音の低減に適用することができるが、用途はこれに限られない。基本周波数推定装置は、例えばリアルタイムに自動で採譜する装置や、リアルタイムに音高を推定する装置や、音声調波成分を強調しハンズフリー通話を実現するための通話装置に適用することができる。
【0020】
図1は、基本周波数推定装置1及びこれを有するアクティブノイズコントロール装置2の電気的な機能ブロックの概略を示す図である。基本周波数推定装置1は、情報処理を実行するためのCPU(Central Processing Unit)などの演算装置、RAM(Random Access Memory)やROM(Read Only Memory)などの記憶装置により、ソフトウェア資源として、少なくとも、収音部10と、調波成分強調部11と、漸化式DFT(Discrete Fourier Transform)処理部12と、基本周波数強調部13と、第1ピーク抽出部14と、フィルタ部15と、自己相関関数計算部16と、第2ピーク抽出部17と、時系列フィルタ部18と、出力部19と、記憶部20とを有する。
【0021】
収音部10は、例えばマイクロホンにより収音される外部音を入力信号として逐次取得する機能部である。
【0022】
調波成分強調部11は、収音部10が取得した信号を全波整流し、入力信号の調波成分を強調する機能部である。これにより、入力信号に基本周波数の調波成分が多く含まれていることを利用して、基本周波数成分を強調することができる。なお、調波成分強調部11は、必須の構成ではない。
【0023】
漸化式DFT処理部12は、入力信号の振幅スペクトルを離散フーリエ変換(DFT、Discriate Fourier Transform)により計算する機能部である。漸化式DFT処理部12は、入力信号のサンプル点が取得されるごとに、当該サンプル点の前回値を含む漸化式を用いて入力信号の振幅スペクトルを計算する。ここで、漸化式DFT処理部12が処理する信号は、調波成分強調部11を有する場合には調波成分強調部11で全波整流された信号であり、調波成分強調部11を有しない場合には収音部10が取得した信号である。
【0024】
以下、漸化式DFT処理部12が行う処理について具体的に説明する。漸化式DFT処理部12は、以下の漸化式(1)を用いて、新しいサンプル点xtが取得されるごとに、時刻tにおける過去Nのサンプル(DFT長がN)の離散フーリエ変換を計算する。添え字の整数kは周波数ビンのインデックスである。
【数1】
・・・(1)
【0025】
なお、過去Nのサンプルの離散フーリエ変換は以下の式(2)のように表現される。ここで、x
t、x
t-1、・・・x
t-N+1は、時刻tにおける過去Nサンプルの系列である。
【数2】
・・・(2)
【0026】
離散フーリエ変換の絶対値は振幅スペクトルであり、入力信号の各周波数成分の大きさを表す。すなわち、振幅スペクトルの各値は以下の式(3)で求められる。
【数3】
・・・(3)
【0027】
図2は、漸化式DFT処理部12における処理の様子を示すグラフであり、(a)は入力される音声信号の一例を示すグラフであり、(b)は、当該音声信号を漸化式により離散フーリエ変換して得られた振幅スペクトルを示すグラフである。
図2(b)に示すように、漸化式DFT処理を行うことで、入力される音声信号は、300Hz付近ならびにその2倍音および3倍音等にピークを有することが明確になる。
【0028】
なお、一般的に、DFT長がNのときの離散フーリエ変換は以下の式(4)で定義されるが、この定義通りに計算すると、N個のサンプル点が取得されるのを待って離散フーリエ変換をする必要があり、DFT長分の遅延が生じてしまう。また、周波数分解能を大きくするほど遅延が大きくなり、リアルタイムに基本周波数を推定することは困難である。さらに、この計算方法は計算量が多いため、処理時間がかかり、一層遅延が大きくなる。したがって、アクティブノイズコントロール装置に適用しようとすると、生成した音と外部音との間に時間的なずれが生じ、騒音を効果的に低減することが難しい。
【数4】
・・・(4)
【0029】
これに対し、本実施の形態のように、漸化式により前回値に基づいて離散フーリエ変換を行うことで、N個のサンプル点の取得待ちに伴う遅延を生じさせず、処理量を減らすることができ、遅延を最小限に抑えることができる。
【0030】
図1の説明に戻る。基本周波数強調部13は、信号の基本周波数成分を強調する機能部である。基本周波数強調部13は、倍音が存在することが分かっている場合に、漸化式DFT処理部12により算出される振幅スペクトルに対し、例えばHPS法(Harmonic Product Spectrum法)により、基本周波数の帯域に、当該帯域の倍音成分に基づく量を加算する。
【0031】
例えば、基本周波数強調部13は、基本周波数とその2倍音が存在することが分かっている場合には、式(5)に示すように、元の振幅スペクトルと、周波数方向に1/2に圧縮した振幅スペクトルとをかけ合わせて、基本周波数成分を強調する。
【数5】
・・・(5)
【0032】
図3は、基本周波数強調部13における処理の様子を示すグラフであり、(a)は基本周波数強調部13による処理前の信号の振幅スペクトルの一例を示すグラフであり、(b)は基本周波数強調部13による処理後の信号の振幅スペクトルを示すグラフである。
図3(a)では、300Hz付近、600Hz付近および900Hz付近にそれぞれピークが見てとれる。一方、
図3(b)においては、300Hz付近のピークが、
図3(a)に示すグラフよりも強調され、600Hz付近および900Hz付近のピークは小さくなっている。このように、基本周波数強調部13により処理を行うことで、基本周波数の倍音成分を用いて基本周波数を強調することができるため、後に詳述する基本周波数強調部13の処理において、より正確に基本周波数を推定することができる。
【0033】
なお、式(4)では、基本周波数強調部13は、元の振幅スペクトルと2倍音の振幅スペクトルを掛け合わせたが、これに代えて、又は加えて、元の振幅スペクトルに3倍音以上の倍音成分の振幅スペクトルを乗算する処理を行ってもよい。つまり、m倍音(mは自然数)が存在するとき、基本周波数強調部13は、漸化式DFT処理部12により算出された振幅スペクトルと、当該振幅スペクトルを周波数方向に1/mに圧縮した振幅スペクトルをかけ合わせる。
【0034】
また、基本周波数強調部13は、基本周波数の倍音成分が存在しているか否かを判定し、倍音成分が存在すると判定された場合にのみ基本周波数成分を強調する処理を行うようにしてもよい。これにより、基本周波数成分を強調する処理を適切に行うことができる。
【0035】
図1の説明に戻る。第1ピーク抽出部14は、大まかな基本周波数を推定する機能部である。第1ピーク抽出部14は、基本周波数強調部13から出力される振幅スペクトルから以下の式(6)を用いてピーク周波数を推定する。なお、k
maxは、振幅スペクトルの最大値を取る周波数インデックスである。
【数6】
・・・(6)
【0036】
なお、第1ピーク抽出部14は、式(6)の処理に代えて、パラボラフィッティング処理を行うことで、より精密に基本周波数の概算値を計算してもよい。パラボラフィッティング処理とは、ピーク周辺を二次関数により近似し、より正確なピーク位置を計算する処理である。
【0037】
図4は、第1ピーク抽出部14におけるパラボラフィッティング処理の様子を模式的に示す図である。パラボラフィッティング処理では、以下の式(7)に示すように、振幅スペクトルの最大値を取る周波数インデックスの振幅スペクトルb、ならびにその前後の振幅スペクトルaおよびcを抽出し、これらを通る二次曲線を補完し、極大値をとる周波数を振幅スペクトルのピーク周波数とする。
【数7】
・・・(7)
【0038】
パラボラフィッティング処理を用いることで、離散的な周波数インデックスの間に存在するピーク周波数をより正確に求めることができる。
【0039】
なお、第1ピーク抽出部14により抽出されるピーク周波数(本発明の第1ピーク周波数の相当)は、入力信号の大まかな基本周波数であり、基本周波数の概算値であるが、基本周波数推定装置1が推定値として出力する値とは異なる。基本周波数推定装置1は、後述する処理により、入力信号の基本周波数をより正確に推定する。
【0040】
また、第1ピーク抽出部14は、パラボラフィッティング等のピーク抽出処理の前に、振幅スペクトルに対して窓関数の離散フーリエ変換結果を畳み込む処理を行ってもよい。これにより、矩形窓によってぼやけた振幅スペクトルをある程度鮮鋭化して補正することができる。ただし、この窓関数処理は必須ではない。
【0041】
図1の説明に戻る。フィルタ部15は、特定の狭帯域を強調する機能部である。具体的には、フィルタ部15は、第1ピーク抽出部14で抽出された振幅スペクトルのピーク周波数を含む帯域を強調するフィルタをかける処理を行う。
【0042】
本実施形態においては、フィルタ部15は、フィルタ部15への入力信号に振幅スペクトルのピーク周波数を中心周波数とする逆ノッチフィルタを掛ける処理を、漸化式を用いて計算する。帯域幅に関する定数をr(0<r<1)とすると、逆ノッチフィルタの漸化式は以下で定義される。
【数8】
・・・(8)
【数9】
・・・(9)
【0043】
ここで、xtは入力信号、ytは逆ノッチフィルタの出力、fsはサンプリング周波数である。定数rは、1に近いほど狭い範囲の周波数を強調することを表す定数であり、ここでは0.95~0.98程度である。当該処理により、簡素な構成で狭帯域の強調が可能である。
【0044】
図5は、フィルタ部15における逆ノッチフィルタ処理の様子を示すグラフであり、(a)は逆ノッチフィルタ処理前の信号の振幅スペクトルの一例を示すグラフであり、(b)は300kHzを強調する逆ノッチフィルタを適用した後の信号の振幅スペクトルを示すグラフである。
図5においては、逆ノッチフィルタ処理により、基本周波数である300Hz付近ではピークが強調され、その他の周波数のピークは抑制されている。
【0045】
このように、漸化式DFT処理部12及び第1ピーク抽出部14により基本周波数の含まれる帯域を大まかに推定した上で、当該帯域をフィルタ部15により強調することで、自己相関関数がきれいなcos波形状になり、ピーク抽出の精度が向上する(後に詳述)。
【0046】
なお、フィルタ部15が行う処理は、バンドパスフィルタ処理であってもよい。ただし、逆ノッチフィルタ処理は、バンドパスフィルタ処理に比べて簡便に狭帯域を強調することができる。
【0047】
図1の説明に戻る。自己相関関数計算部16は、フィルタ部15により処理された信号に対し、自己相関関数を計算する機能部である。
【0048】
長さMの自己相関関数ACFt(i)は、以下の式(10)で定義される。
【数10】
・・・(10)
【0049】
図6は、自己相関関数の計算例である。自己相関関数ACFt(i)は、信号をiサンプルずらして重ね合わせたときの内積であり、重ね合わせた2つの信号の類似度を示す指標である。したがって、自己相関関数ACFtのピーク間隔は信号周期に一致する。
【0050】
本実施の形態では、自己相関関数計算部16は、自己相関関数の前回値ACFt-1(i)を含む漸化式(11)を用いて、自己相関関数ACFt(i)を計算する。これにより、効率的に自己相関関数を計算することができる。
【数11】
・・・(11)
【0051】
図7は、自己相関関数計算部16による計算の様子を示すグラフであり、(a)はフィルタ部15により逆ノッチフィルタ処理をされている信号の自己相関関数の一例を示すグラフであり、(b)は逆ノッチフィルタ処理をされていない信号の自己相関関数の一例を示すグラフである。
【0052】
逆ノッチフィルタ処理により目的周波数の帯域以外の信号が抑制されているため、逆ノッチフィルタ処理をされている信号の自己相関関数の方が滑らかである。自己相関関数を滑らかにすることで、誤った極大値を検出することが少なくなる。また、二次関数へのあてはまりが良くなり、後述する第2ピーク抽出部17におけるパラボラフィッティングの精度が向上する。また、逆ノッチフィルタ処理により直流成分が除去できるため、自己相関関数の歪みを抑えることができる。
【0053】
図1の説明に戻る。第2ピーク抽出部17は、自己相関関数のピーク周波数を抽出する機能部である。第2ピーク抽出部17は、自己相関関数の最大値を含む周波数帯域において、極大値をとる周波数をパラボラフィッティングにより求め、当該極大値をとる周波数を自己相関関数のピーク周波数(本発明の第2ピーク周波数に相当)として抽出する。
【0054】
第1ピーク抽出部14により振幅スペクトルから求めた大まかな基本周期は、式(12)の通りである。
【数12】
・・・(12)
【0055】
当該基本周期近傍の自己相関関数の極大位置をパラボラフィッティングにより求め、これを、基本周波数推定装置1が推定値として出力する基本周波数の周期Tとする。
【数13】
・・・(13)
【数14】
・・・(14)
【0056】
そして、周期Tから、ピーク周波数f
0の推定値が導かれる。
【数15】
・・・(15)
【0057】
このように、自己相関関数がcos波に類似し、自己相関関数のピーク近傍が二次関数によくあてはまるため、パラボラフィッティングを利用することでピーク位置をより精密に推定することができる。
【0058】
第2ピーク抽出部17により求められた自己相関関数のピーク周波数f0は、サンプル点が取得されるごとに抽出され、ピーク周波数の配列として逐次記憶部20に格納される。
【0059】
離散フーリエ変換処理は、基本周波数を安定的に求められる一方で、大雑把な値しか得ることができない。一方、自己相関関数処理は、基本周波数を正確に求めることができるが、ノイズや倍音成分による誤ったピークを選択した場合、実際の基本周波数と大きく異なる数値を算出してしまうおそれがある。本実施の形態では、漸化式DFT処理部12において離散フーリエ変換処理で大まかに求めた基本周波数の帯域を利用して信号を加工した上で、第2ピーク抽出部17で自己相関関数を求めることで、正確かつ安定的に基本周波数を求めることができる。
【0060】
時系列フィルタ部18は、自己相関関数のピーク周波数の前回値との差分に基づいて、自己相関関数のピーク周波数の補正を行う機能部である。時系列フィルタ部18は、ピーク周波数の配列に基づいて、以下の漸化式(16)により自己相関関数のピーク周波数に対して時系列フィルタリング処理を行う。
【数16】
・・・(16)
【0061】
式(16)によれば、小さい変化量は今回値にそのまま反映され、極端に大きい変化は上限を設けて反映される。
図8は、時系列フィルタ部18における処理の様子を示すグラフである。
図8では、時系列フィルタリング処理前(点線参照)と時系列フィルタリング処理後(実線参照)の信号が重畳的に表示されている。このように、仮に基本周波数の推定を誤り、推定に外れ値が出現してしまったとしても、推定値の急激な変化を抑え、外れ値の影響を小さくできる。また、漸化式によって時系列フィルタリング処理を行うため、処理量が小さく、処理遅延を抑えることができる。
【0062】
なお、時系列フィルタ部18は、必須ではない。また、時系列フィルタ部18は、上述のように前回値との差分のtanh関数(双曲線正接関数)を計算する構成に代えて、sign関数(符号関数)、arctan関数(逆正接関数)またはerf関数(誤差関数)を用いて処理を実行してもよい。
【0063】
また、本実施形態においては、時系列フィルタ部18は、変化量を飽和させた漸化式によってフィルタリング処理を行ったが、これに代えて、最小二乗法、ロバスト回帰、カルマンフィルタ又はメディアンフィルタ等を用いることもできる。
【0064】
図1の説明に戻る。出力部19は、自己相関関数のピーク周波数を基本周波数として出力する。出力部19は、後述するANC処理部21に基本周波数を送信する。また、出力部19は、接続されるユーザインターフェース装置(図示省略)の画面に基本周波数の値を表示してもよい。
【0065】
次に、アクティブノイズコントロール装置2が有する機能部について説明する。
図1に示すように、アクティブノイズコントロール装置2は、基本周波数推定装置1の他に、主として、アクティブノイズコントロール(ANC)処理部21と、放音部22とを備える。なお、本実施の形態では、基本周波数推定装置1はアクティブノイズコントロール装置2の一部を構成するものとしたが、基本周波数推定装置1とアクティブノイズコントロール装置2のANC処理部21および放音部22とがそれぞれ別の装置により構成され、互いに有線又は無線で接続されていてもよい。
【0066】
ANC処理部21は、基本周波数推定装置1で推定された入力信号の基本周波数に基づいて、放音するノイズキャンセル音を生成する機能部である。ANC処理部21は、入力信号と逆位相の信号を生成する。
【0067】
例えば、車載装置においては、エンジンの回転に起因する低音の狭帯域騒音(いわゆるこもり音)が発生する。こもり音は正弦波に近い騒音であり、その周波数は、4気筒エンジンの場合はエンジン回転の2次の成分、6気筒エンジンの場合はエンジン回転の3次の成分に現れる。例えば、4気筒エンジンの回転数が3000rpmである場合、こもり音の基本周波数は100Hz(エンジン回転の2次成分)となる。また、その倍音成分も発生する。
【0068】
一般的に、こもり音は、SAN(Single Adaptive Notch filter)などを用いて減少させる。
図11は、一般的なSANの電気的な機能ブロックの概略を示す図である。SANは、CAN(Control Area Network)100からエンジン回転数情報を取得し、エンジン回転数に対応するcos波およびsin波を生成し、誤差マイク101の観測信号が小さくなるように適応処理を施した重みω0およびω1をそれぞれかけてスピーカ102から出力する。このようなフィードフォワード型のANC処理を実行するためには、エンジン回転数等の参照信号を取得する必要がある。しかしながら、コスト等の制約により参照信号を取得できない場合がある。
【0069】
本実施の形態では、基本周波数推定装置1と、SANを組み合わせることで、CAN等の参照信号なしでこもり音を低減することができる。
図9は、ANC処理部21において基本周波数推定装置1とSANとを組み合わせたときの電気的な機能ブロックの概略を示す図である。ANC処理部21は、基本周波数推定装置1から騒音の基本周波数を取得し、当該基本周波数と逆位相のcos波およびsin波を生成し、誤差マイク101の観測信号が小さくなるように適応処理を施した重みω0およびω1をそれぞれかけてスピーカから出力する。したがって、参照信号がなくても自動車内のこもり音を低減できるアクティブノイズコントロール装置2が構成できる。
【0070】
放音部22は、例えば信号をスピーカに伝達し、音に変換する機能部である。
【0071】
図10は、基本周波数推定装置1により信号の基本周波数を逐次推定し、アクティブノイズコントロール装置2が当該基本周波数に基づいて騒音を逐次低減する流れを示すフローチャートである。この処理は、入力信号が基本周波数推定装置1に入力される間、所定時間毎に連続して行われる。
【0072】
まず、マイクロホンおよび収音部10により音声信号が収音されると(ステップS11)、調波成分強調部11により調波成分を強調する(ステップS12)。次に、調波成分が強調された信号に対し、漸化式表現によるDFT処理を行う(ステップS13)。次に、基本周波数強調部13によるHPS処理などにより基本周波数を強調する処理を行う(ステップS14)。次に、基本周波数の強調処理がなされた信号のピーク周波数を抽出する(ステップS15)。
【0073】
次に、フィルタ部15により基本周波数を含む帯域を強調する逆ノッチフィルタ処理を行った後(ステップS16)、自己相関関数を計算し(ステップS17)、自己相関関数のピーク周波数を抽出する(ステップS18)。抽出した周波数は、記憶部20に逐次記憶される。
【0074】
次に、記憶部20に記憶されたデータに基づいて、自己相関関数のピーク周波数に信号に時系列フィルタリング処理を行い(ステップS19)、外れ値を抑制する。ステップS19により得られた値が、基本周波数推定装置1により推定された基本周波数の値である。
【0075】
次に、基本周波数推定装置1により得られた基本周波数に基づいてアクティブノイズコントロール処理、すなわち、ノイズと逆位相の音をスピーカから放音することでノイズを低減するための信号を生成する(ステップS20)。次に、ステップS20で生成された信号をスピーカから放音することで、騒音とその逆位相の音が物理的に加算され、騒音が相殺される(ステップS21)。
【0076】
本実施の形態によれば、漸化式DFT処理でおおまかに求めた基本周波数の帯域を利用して信号を加工した上で、自己相関関数を求めるため、少ない演算量で正確に基本周波数を推定することができる。
【0077】
DFT処理は、基本周波数を安定的に求められる一方で、大雑把な値しか得ることができない。一方、自己相関関数処理は、基本周波数を正確に求めることができるが、ノイズや倍音成分の影響で誤ったピーク倍音の信号が強調されるため、実際の基本周波数と大きく異なる数値を算出してしまうおそれがある。それに対し、DFT処理で大まかに求めた基本周波数の帯域を利用して信号を加工した上で、自己相関関数を求めることで、正確かつ安定して基本周波数を求めることができる。
【0078】
また、本実施の形態によれば、取得した信号に対して漸化式を用いたDFT処理および自己相関関数処理を逐次的に行うことで、高速フーリエ変換に伴う遅延を避け、演算量と遅延量を少なくすることができる。
【0079】
例えば、高速フーリエ変換を使用する場合には、データのバッファリングに伴う遅延が生じてしまう。また、バッファしたデータをまとめて高速フーリエ変換を実行する場合の演算量は多くないが、1サンプル毎に高速フーリエ変換を実行すると演算量が多くなる。それに対し、漸化式を用いたDFT処理を行う場合には、1サンプル毎に処理を実行しても演算量が少なくて済む。
【0080】
また、本実施の形態によれば、DFTおよび自己相関関数を漸化式により計算し、当該方法をサンプル点が取得されるごとに実行するため、処理遅延を抑えることができる。
【0081】
また、本実施の形態によれば、DFTおよび自己相関関数の漸化式計算に基づいて騒音の基本周波数を推定するため、処理負荷が小さい処理しか行えない組み込み機器においてもアクティブノイズコントロールを行うことができる。
【0082】
なお、本実施の形態に係る基本周波数推定装置1およびアクティブノイズコントロール装置2は、処理量が少なく、小型に構成できるので、自動車内などの組み込み機器に実装するのに好適であるが、他の用途に用いることも可能である。例えば、基本周波数推定装置1は、振幅スペクトルを逐次的に求め、特定の周波数が増大していることを検知し、その周波数の発散を抑制するハウリング検知およびハウリングキャンセル装置に適用することができる。さらに、基本周波数推定装置1は、音の基本周波数を推定し、楽譜を自動再生する自動採譜システムや、楽器の音の基本周波数を推定して表示する楽器のチューニングシステムに適用することができる。そのほかにも、基本周波数推定装置1は、推定した基本周波数を元にくし形フィルタを構成することで、音声調波成分だけを選択的に強調する通話装置に適用することができる。
【0083】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。なお、基本周波数推定装置1及びアクティブノイズコントロール装置2の機能構成要素は、処理内容に応じてさらに多くの構成要素に分類されてもよいし、1つの構成要素が複数の構成要素の処理を実行してもよい。基本周波数の推定プログラムは、コンピュータ等の機器に内蔵されている記憶媒体や、CPUを有するマイクロコンピュータ内の記憶部等に予め記憶しておき、そこからコンピュータにインストールされてもよいし、半導体メモリ、メモリカード、光ディスク、光磁気ディスク、磁気ディスク等のリムーバブル記憶媒体に、一時的あるいは永続的に格納(記憶)しておいてもよい。
【符号の説明】
【0084】
1 :基本周波数推定装置
2 :アクティブノイズコントロール装置
10 :収音部
11 :調波成分強調部
12 :漸化式DFT処理部
13 :基本周波数強調部
14 :第1ピーク抽出部
15 :フィルタ部
16 :自己相関関数計算部
17 :第2ピーク抽出部
18 :時系列フィルタ部
19 :出力部
20 :記憶部
21 :ANC処理部
22 :放音部