(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】信号処理装置、及び、信号処理方法
(51)【国際特許分類】
H04B 1/10 20060101AFI20241008BHJP
【FI】
H04B1/10 L
(21)【出願番号】P 2021030458
(22)【出願日】2021-02-26
【審査請求日】2023-08-25
(73)【特許権者】
【識別番号】322003857
【氏名又は名称】パナソニックオートモーティブシステムズ株式会社
(74)【代理人】
【識別番号】100138771
【氏名又は名称】吉田 将明
(72)【発明者】
【氏名】藤島 丈泰
(72)【発明者】
【氏名】宮下 航
(72)【発明者】
【氏名】池田 俊介
(72)【発明者】
【氏名】平野 隆行
【審査官】鴨川 学
(56)【参考文献】
【文献】特開2015-126360(JP,A)
【文献】特開2019-176447(JP,A)
【文献】特開2017-046123(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 1/10
(57)【特許請求の範囲】
【請求項1】
放送波に由来する信号である放送信号に、周波数領域において一定の間隔毎にピークを有するノイズが重畳された時間領域の信号である第1信号が入力され、前記第1信号を周波数領域の信号である第2信号に変換する第1変換部と、
前記第2信号の相関に基づいて、前記ノイズの周波数領域における前記ピークの間隔を検出する検出部と、
前記ピークの間隔に基づいて、周波数領域における周波数シフト量を決定する周波数シフト量決定部と、
前記第2信号を前記周波数シフト量だけ周波数をシフトさせる周波数シフト部と、を備え
、
前記周波数シフト量決定部は、前記第2信号を前記周波数シフト量だけ周波数シフトさせた場合に、前記放送信号を含む周波数範囲が前記放送波の選局された周波数範囲と重畳しないように、前記周波数シフト量を決定する、
信号処理装置。
【請求項2】
前記周波数シフト部によって周波数をシフトされた信号における前記ピークの位相を補正する補正部、をさらに備える、
請求項1に記載の信号処理装置。
【請求項3】
前記補正部は、前記周波数シフト部によって周波数をシフトされた信号における前記ピークの振幅を補正する、
請求項2に記載の信号処理装置。
【請求項4】
前記補正部によって補正された信号を、時間領域の信号である第3信号に変換する第2変換部と、
前記第1信号から前記第3信号を減算する信号合成を行うノイズキャンセル部と、をさらに備える、
請求項2又は3に記載の信号処理装置。
【請求項5】
前記周波数シフト量決定部は、前記周波数シフト量を、前記ピークの間隔の倍数となるように決定する、
請求項1から4のいずれか1項に記載の信号処理装置。
【請求項6】
前記周波数シフト量決定部は、前記周波数シフト量を、前記放送波の選局された周波数の占有する範囲よりも大きくなるように決定する、
請求項1から5のいずれか1項に記載の信号処理装置。
【請求項7】
放送波に由来する信号である放送信号に、周波数領域において一定の間隔毎にピークを有するノイズが重畳された時間領域の信号である第1信号が入力され、
前記第1信号を周波数領域の信号である第2信号に変換し、
前記第2信号の相関に基づいて、前記ノイズの周波数領域における前記ピークの間隔を検出し、
前記ピークの間隔に基づいて、周波数領域における周波数シフト量を決定し、
前記第2信号を前記周波数シフト量だけ周波数シフトさせた場合に、前記放送信号を含む周波数範囲が前記放送波の選局された周波数範囲と重畳しないように、前記周波数シフト量を決定し、
前記第2信号を前記周波数シフト量だけ周波数をシフトさせる、
信号処理方法。
【請求項8】
放送波に由来する信号である放送信号に、周波数領域において一定の間隔毎にピークを有するノイズが重畳された時間領域の信号である第1信号が入力され、前記第1信号を周波数領域の信号である第2信号に変換する第1変換部と、
前記第2信号の相関に基づいて、前記ノイズの周波数領域における前記ピークの間隔を検出する検出部と、
前記ピークの間隔に基づいて、周波数領域における周波数シフト量を決定する周波数シフト量決定部と、
前記第2信号から、前記第2信号を前記周波数シフト量だけ周波数をシフトさせた場合に、前記放送波の選局された周波数範囲と重複する周波数範囲の信号を、第3信号として抽出する抽出部と、
前記第3信号を、前記周波数シフト量だけ周波数をシフトさせる周波数シフト部と、
を備える信号処理装置。
【請求項9】
前記周波数シフト部によって周波数をシフトされた信号における前記ピークの位相を補正する補正部、をさらに備える、
請求項
8に記載の信号処理装置。
【請求項10】
前記補正部は、前記周波数シフト部によって周波数をシフトされた信号における前記ピークの振幅を補正する、
請求項
9に記載の信号処理装置。
【請求項11】
前記第2信号から前記放送波の選局された周波数範囲の信号を消去する信号消去部と、
前記信号消去部によって前記第2信号から前記放送波の選局された周波数範囲の信号が消去した信号である第4信号に、前記補正部によって補正された信号である第5信号を加算する信号合成を行う合成部と、
前記合成部によって信号合成された信号を、時間領域の信号である第6信号に変換する第2変換部と、
前記第1信号から前記第6信号を減算する信号合成を行うノイズキャンセル部と、をさらに備える、
請求項
9又は
10に記載の信号処理装置。
【請求項12】
放送波に由来する信号である放送信号に、周波数領域において一定の間隔毎にピークを有するノイズが重畳された時間領域の信号である第1信号が入力され、
前記第1信号を周波数領域の信号である第2信号に変換し、
前記第2信号の相関に基づいて、前記ノイズの周波数領域における前記ピークの間隔を検出し、
前記ピークの間隔に基づいて、周波数領域における周波数シフト量を決定し、
前記第2信号から、前記第2信号を前記周波数シフト量だけ周波数をシフトさせた場合に、前記放送波の選局された周波数範囲と重複する周波数範囲の信号を、第3信号として抽出し、
前記第3信号を、前記周波数シフト量だけ周波数をシフトさせる、
信号処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、信号処理装置、及び、信号処理方法に関する。
【背景技術】
【0002】
EV(Electric Vehicle)、HV(Hybrid Vehicle)、FCV(Fuel Cell Vehicle)といったモータを備える車両は、インバータを備える。車両に搭載されたインバータは、電磁ノイズを輻射する。以下、電磁ノイズを単にノイズと称する。そのため、インバータが輻射したノイズが車両に搭載されたラジオ又はテレビ等の放送波に干渉し、アンテナが受信した信号から放送信号を適切に抽出できない場合がある。インバータが輻射するノイズは、周波数領域において周期性を有することが知られている。特許文献1には、アンテナが受信した信号から、周波数領域において周期性を有するノイズを除去する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1が開示する技術では、アンテナが受信した信号から、周波数領域において周期性を有するノイズを適切に除去できない場合がある。
【0005】
本開示の目的は、アンテナが受信した信号から、周波数領域において周期性を有するノイズをより適切に除去する技術を提供することにある。
【課題を解決するための手段】
【0006】
本開示の一態様に係る信号処理装置は、放送波に由来する信号である放送信号に、周波数領域において一定の間隔毎にピークを有するノイズが重畳された時間領域の信号である第1信号が入力され、前記第1信号を周波数領域の信号である第2信号に変換する第1変換部と、前記第2信号の相関に基づいて、前記ノイズの周波数領域における前記ピークの間隔を検出する検出部と、前記ピークの間隔に基づいて、周波数領域における周波数シフト量を決定する周波数シフト量決定部と、前記第2信号を前記周波数シフト量だけ周波数をシフトさせる周波数シフト部と、を備える。
【0007】
本開示の一態様に係る信号処理方法は、放送波に由来する信号である放送信号に、周波数領域において一定の間隔毎にピークを有するノイズが重畳された時間領域の信号である第1信号が入力され、前記第1信号を周波数領域の信号である第2信号に変換し、前記第2信号の相関に基づいて、前記ノイズの周波数領域における前記ピークの間隔を検出し、前記ピークの間隔に基づいて、周波数領域における周波数シフト量を決定し、前記第2信号を前記周波数シフト量だけ周波数をシフトさせる。
【0008】
本開示の一態様に係る信号処理装置は、放送波に由来する信号である放送信号に、周波数領域において一定の間隔毎にピークを有するノイズが重畳された時間領域の信号である第1信号が入力され、前記第1信号を周波数領域の信号である第2信号に変換する第1変換部と、前記第2信号の相関に基づいて、前記ノイズの周波数領域における前記ピークの間隔を検出する検出部と、前記ピークの間隔に基づいて、周波数領域における周波数シフト量を決定する周波数シフト量決定部と、前記第2信号から、前記第2信号を前記周波数シフト量だけ周波数をシフトさせた場合に、前記放送波の選局された周波数範囲と重複する周波数範囲の信号を、第3信号として抽出する抽出部と、前記第3信号を、前記周波数シフト量だけ周波数をシフトさせる周波数シフト部と、を備える。
【0009】
本開示の一態様に係る信号処理方法は、放送波に由来する信号である放送信号に、周波数領域において一定の間隔毎にピークを有するノイズが重畳された時間領域の信号である第1信号が入力され、前記第1信号を周波数領域の信号である第2信号に変換し、前記第2信号の相関に基づいて、前記ノイズの周波数領域における前記ピークの間隔を検出し、前記ピークの間隔に基づいて、周波数領域における周波数シフト量を決定し、前記第2信号から、前記第2信号を前記周波数シフト量だけ周波数をシフトさせた場合に、前記放送波の選局された周波数範囲と重複する周波数範囲の信号を、第3信号として抽出し、前記第3信号を、前記周波数シフト量だけ周波数をシフトさせる。
【0010】
なお、これらの包括的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム又は記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0011】
本開示によれば、アンテナが受信した信号から、周波数領域において周期性を有するノイズをより適切に除去することができる。
【図面の簡単な説明】
【0012】
【
図1】実施の形態1に係る車両1の構成の一例を示す図
【
図2】実施の形態1に係る信号処理装置の構成の一例を示すブロック図
【
図3】実施の形態1に係る入力周波数領域信号の一例を示す図
【
図4】実施の形態1に係る信号処理装置における処理の概要を示すフローチャート
【
図5】実施の形態1に係る放送信号検出部における処理の一例を示すフローチャート
【
図6】入力周波数領域信号の帯域を放送波のチャンネルに分割した一例を示す図
【
図7】チャンネルごとのパワーを算出する処理を説明するための図
【
図8】パワーの大きさに基づいてチャンネルを並び替える処理を説明するための図
【
図10】実施の形態1に係るノイズ周波数周期検出部における処理の一例を示すフローチャート
【
図12】相関関数と第1ピークリストの関係を説明するための図
【
図13】実施の形態1に係るピーク周波数検出部における処理の一例を示すフローチャート
【
図15】実施の形態1に係る周波数シフト量決定部における処理の一例を示すフローチャート
【
図16】選局周波数範囲とノイズ周波数周期との関係を説明するための図
【
図17】入力周波数領域信号における選局周波数範囲と周波数シフト後の周波数領域信号における選局周波数範囲とが重なる場合を説明するための図
【
図18】入力周波数領域信号における選局周波数範囲と周波数シフト後の周波数領域信号における未選局周波数範囲とが重なる場合を説明するための図
【
図19】周波数シフト後に選局周波数範囲に重なる周波数範囲B1を説明するための図
【
図20】実施の形態1に係る振幅補正係数決定部における処理の一例を示すフローチャート
【
図21】振幅補正係数の算出に用いられるピーク周波数の算出方法を説明するための図
【
図22】振幅補正係数の算出方法を説明するための図
【
図23】実施の形態1に係る位相補正係数決定部における処理の一例を示すフローチャート
【
図24】位相補正係数の算出に用いられるピーク周波数の算出方法を説明するための図
【
図25】実施の形態1に係る周波数シフト部における処理の一例を示すフローチャート
【
図26】周波数シフト後の周波数領域信号の一例を示す図
【
図27】実施の形態1に係る補正部における処理の一例を示すフローチャート
【
図28】実施の形態1に係る振幅補正及び位相補正を説明するための図
【
図29】実施の形態1に係るノイズキャンセル部から出力される出力信号の周波数スペクトルの一例を示す図
【
図30】実施の形態2に係る信号処理装置の構成の一例を示すブロック図
【
図31】実施の形態2に係る信号処理装置における処理の概要を示すフローチャート
【
図32】周波数シフト後に選局周波数範囲に入る周波数範囲B2を説明するための図
【
図33】実施の形態2に係る信号抽出部及び周波数シフト部における処理の一例を示すフローチャート
【
図34】実施の形態2に係る補正部における処理の一例を示すフローチャート
【
図35】実施の形態2に係る振幅補正及び位相補正を説明するための図
【
図36】実施の形態2に係る信号消去部及び合成部における処理の一例を示すフローチャート
【
図37】実施の形態2に係る合成部における信号合成を説明するための図
【
図38】本開示に係る信号処理装置のハードウェア構成の一例を示すブロック図
【発明を実施するための形態】
【0013】
以下、図面を適宜参照して、本開示の実施の形態について、詳細に説明する。ただし、必要以上に詳細な説明は省略する場合がある。例えば、すでによく知られた事項の詳細説明及び実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、添付図面及び以下の説明は、当業者が本開示を十分に理解するために提供されるのであって、これらにより特許請求の記載の主題を限定することは意図されていない。
【0014】
(実施の形態1)
<車両の構成>
実施の形態1に係る車両1の構成について説明する。
図1は、実施の形態1に係る車両1の構成の一例を示す図である。
【0015】
車両1は、例えば、車輪2、モータ3、インバータ4、バッテリ5、アンテナ6、ラジオ装置7、スピーカ8、及び、信号処理装置100を備える。
【0016】
モータ3は、バッテリ5から供給される電力によって駆動し、車両1の車輪2を駆動させる。
【0017】
インバータ4は、バッテリ5からモータ3に供給される電力を制御して、モータ3の速度制御及びトルク制御を行う。インバータ4は、例えば、1kHz~10kHzのクロック周波数で動作する。インバータ4は、所定のクロック周波数で動作するため、周波数領域においてクロック周波数、及び、クロック周波数の整数倍の周波数を有するノイズを輻射し得る。すなわち、インバータ4は、周波数領域において一定周波数の間隔毎にピークを有するノイズを輻射し得る。ここで、ピークとは、横軸を周波数、縦軸を各周波数の電圧振幅とする周波数スペクトラムの波形において、電圧振幅の極大値のことを指す。ピークは、線スペクトラムにおいて示される離散的なピークであってもよい。以下、周波数領域において一定の間隔毎に出現するノイズのピークを、ノイズピークと称する。
【0018】
なお、インバータ4は、周波数領域において周期性を有するノイズを輻射し得る装置の一例である。例えば、周波数領域において周期性を有するノイズを輻射し得る装置は、車両1に備えられるDC/DCコンバータ等であってもよい。
【0019】
アンテナ6は、AMラジオの放送波を受信する。ただし、アンテナ6が受信する放送波は、AMラジオに限られず、FMラジオの放送波であってもよい。また、アンテナ6が受信する放送波は、アナログラジオの放送波に限られず、テレビの放送波、又は、デジタルラジオの放送波であってもよい。アンテナ6は、放送波を受信する際に、インバータ4から輻射されるノイズも受信し得る。以下、アンテナ6が受信した、放送波にノイズが重畳された信号を、受信信号と称する。
【0020】
信号処理装置100は、受信信号からノイズを除去し、そのノイズを除去した信号を出力する。以下、信号処理装置100が出力する当該信号を、出力信号と称する。
【0021】
ラジオ装置7は、信号処理装置100から入力された出力信号を復調し、スピーカ8からラジオの音声を出力する。これにより、車両1の搭乗者は、インバータ4から輻射されたノイズに由来する不快なノイズ音が低減された、クリアなラジオの音声を聴くことができる。
【0022】
以下、信号処理装置100について詳細に説明する。
【0023】
<信号処理装置の構成>
次に、信号処理装置100の構成について説明する。
図2は、実施の形態1に係る信号処理装置100の構成の一例を示すブロック図である。
図3は、実施の形態1に係る入力周波数領域信号の一例を示す図である。
【0024】
信号処理装置100は、A/D変換部101、第1変換部102、放送信号検出部103、ノイズ周波数周期検出部104、ピーク周波数検出部105、周波数シフト量決定部106、振幅補正係数決定部107、位相補正係数決定部108、周波数シフト部109、補正部110、第2変換部111、遅延部112、ノイズキャンセル部113を備える。
【0025】
A/D変換部101には、アンテナ6から受信信号が入力される。受信信号には、ラジオ装置7によって選局されたチャンネルの放送信号と、ラジオ装置7によって選局されていないチャンネルの放送信号と、インバータ4から輻射されたノイズとが含まれ得る。以下、選局されたチャンネルの放送信号を選局放送信号と称し、選局されていないチャンネルの放送信号を未選局放送信号と称する。A/D変換部101は、受信信号をデジタルの信号に変換する。以下、受信信号をデジタルの信号に変換したものを、入力時間領域信号と称する。また、入力時間領域信号をinSig(t)と表現する場合がある。ここで、tは時間を示す。A/D変換部101は、inSig(t)を、第1変換部102及び遅延部112へ出力する。
【0026】
なお、アンテナ6とA/D変換部101との間には、RF回路ブロック(図示しない)が含まれてよい。RF回路ブロックは、例えば、AM放送信号を低損失で通過させFM放送波などの不要信号を減衰させるためのフィルタ、受信感度を向上させるためのLNA(ローノイズアンプ)、及び、選局を行うためのミキサ回路の少なくとも1つを含んでよい。
【0027】
第1変換部102は、時間領域信号を周波数領域信号に変換する。第1変換部102は、A/D変換部101から入力された入力時間領域信号inSig(t)を、例えばFFT(Fast Fourier Transform、高速フーリエ変換)によって、
図3に示すように、周波数領域信号に変換する。以下、入力時間領域信号inSig(t)を周波数領域信号に変換したものを、入力周波数領域信号と称する。また、入力周波数領域信号をfftData(f)と表現する場合がある。ここで、fは周波数を示す。fftData(f)は、ある周波数fにおける複素電圧を表す関数である。第1変換部102は、fftData(f)を、放送信号検出部103、ノイズ周波数周期検出部104、ピーク周波数検出部105、及び、周波数シフト部109へ出力する。
【0028】
放送信号検出部103は、第1変換部102から入力されたfftData(f)を用いて、選局放送信号が含まれる周波数範囲、及び、未選局放送信号が含まれる周波数範囲を検出する。以下、選局放送信号が占有する周波数範囲を含む周波数範囲を選局周波数範囲と称し、未選局放送信号が占有する周波数範囲を含む周波数範囲を未選局周波数範囲と称する。放送信号検出部103は、選局周波数範囲及び未選局周波数範囲の検出結果を、放送検出情報として生成する。以下、放送検出情報をdetBcResultと表現する場合がある。なお、放送信号検出部103における処理の詳細については後述する。
【0029】
ノイズ周波数周期検出部104は、第1変換部102から入力されたfftData(f)におけるノイズピークの周波数周期を検出する。すなわち、ノイズ周波数周期検出部104は、fftData(f)におけるノイズピークの一定の間隔を検出する。以下、ノイズ周波数周期検出部104によって検出されたノイズピークの周波数周期、すなわちノイズピークの一定の間隔を、ノイズ周波数周期と称する。また、ノイズ周波数周期をfcyc[Hz]と表現する場合がある。ノイズ周波数周期検出部104は、検出したfcycを、周波数シフト量決定部106へ出力する。なお、ノイズ周波数周期検出部104における処理の詳細については後述する。
【0030】
ピーク周波数検出部105は、第1変換部102から入力されたfftData(f)のある周波数範囲において、ピークを有する複数の周波数の中で、最大の電圧振幅を持つノイズピークの周波数を検出する。以下、ピーク周波数検出部105によって検出された周波数を、抽出ノイズピーク周波数と称する。また、抽出ノイズピーク周波数をXpeak[Hz]と表現する場合がある。ピーク周波数検出部105は、検出したXpeakを、振幅補正係数決定部107及び位相補正係数決定部108へ出力する。なお、ピーク周波数検出部105における処理の詳細については後述する。
【0031】
周波数シフト量決定部106は、放送信号検出部103から入力された放送検出情報detBcResult、及び、ノイズ周波数周期検出部104から入力されたノイズ周波数周期fcycに基づいて、fftData(f)の周波数シフト量を決定する。以下、周波数シフト量決定部106によって決定された周波数シフト量を、fShift[Hz]と表現する場合がある。周波数シフト量決定部106は、決定したfShiftを、周波数シフト部109へ出力する。なお、周波数シフト量決定部106における処理の詳細については後述する。
【0032】
振幅補正係数決定部107は、ピーク周波数検出部105から入力されたXpeakを用いて、周波数領域におけるノイズピークを含む全周波数範囲の信号の振幅を補正するための係数である振幅補正係数を決定する。以下、振幅補正係数決定部107によって決定された振幅補正係数を、GdBと表現する場合がある。GdBは、fcycを隔てて隣接する2つのノイズピークの間の振幅の変化量に相当する。又は、GdBは、fcycを隔てて隣接する2つのノイズピークの間の振幅の比率に相当する。振幅補正係数決定部107は、決定したGdBを、補正部110へ出力する。なお、振幅補正係数決定部107における処理の詳細については後述する。
【0033】
位相補正係数決定部108は、ピーク周波数検出部105から入力されたXpeakを用いて、周波数領域におけるノイズピークを含む全周波数範囲の信号の位相を補正するための係数である位相補正係数を決定する。以下、位相補正係数決定部108によって決定された位相補正係数を、deltaDと表現する場合がある。deltaDは、fcycを隔てて隣接する2つのノイズピークの間の位相の変化量に相当する。位相補正係数決定部108は、決定したdeltaDを、補正部110へ出力する。なお、位相補正係数決定部108における処理の詳細については後述する。
【0034】
周波数シフト部109は、第1変換部102から入力されたfftData(f)を、周波数シフト量決定部106から入力されたfShiftだけ周波数をシフトさせる。以下、周波数シフト部109が、fftData(f)をfShiftだけ周波数をシフトさせた信号を、周波数シフト後の周波数領域信号と称する。また、周波数シフト後の周波数領域信号を、fftDataShift(f)と表現する場合がある。周波数シフト部109は、fftDataShift(f)を、補正部110へ出力する。なお、周波数シフト部109における処理の詳細については後述する。
【0035】
補正部110は、振幅補正係数決定部107から入力されたGdBを用いて、周波数シフト部109から入力されたfftDataShift(f)の全周波数範囲の周波数スペクトラムの振幅を補正する。ただし、補正部110は、当該振幅の補正を行わなくてもよい。また、補正部110は、位相補正係数決定部108から入力されたdeltaDを用いて、fftDataShift(f)の全周波数範囲の周波数スペクトラムの位相を補正する。以下、補正部110がfftDataShift(f)の全周波数範囲の周波数スペクトラムの振幅及び位相を補正した信号を、補正後の周波数領域信号と称する。また、補正後の周波数領域信号を、postFftDataShift(f)と表現する場合がある。補正部110は、postFftDataShift(f)を、第2変換部111へ出力する。なお、補正部110における処理の詳細については後述する。
【0036】
第2変換部111は、周波数領域信号を時間領域信号に変換する。第2変換部111は、補正部110から入力されたpostFftDataShift(f)を、例えばIFFT(Inverse Fast Fourier Transform、逆高速フーリエ変換)によって、時間領域信号に変換する。以下、postFftDataShift(f)を時間領域信号に変換したものを、ノイズ時間領域信号と称する。また、ノイズ時間領域信号を、noiseSig(t)と表現する場合がある。第2変換部111は、noiseSig(t)をノイズキャンセル部113へ出力する。
【0037】
遅延部112は、A/D変換部101から入力されたinSig(t)を所定時間遅延させる。当該所定時間は、inSig(t)が第1変換部102に入力されてから、そのinSig(t)に対応するnoiseSig(t)が第2変換部111から出力されるまでにかかる時間に基づいて定められてよい。遅延部112は、遅延させたinSig(t)をノイズキャンセル部113へ出力する。
【0038】
ノイズキャンセル部113は、遅延部112から入力されたinSig(t)から、第2変換部111から入力されたnoiseSig(t)を減算する信号合成を行う。これにより、inSig(t)の選局周波数範囲を含む全周波数範囲から、noiseSig(t)が示すノイズが除去される。inSig(t)からnoiseSig(t)を減算したものが、出力信号となる。以下、出力信号を、outSig(t)と表現する場合がある。ノイズキャンセル部113は、outSig(t)を、ラジオ装置7へ出力する。ラジオ装置7は、outSig(t)の選局周波数範囲の信号を復調する。これにより、ラジオ装置7は、インバータ4から輻射されたノイズに由来する不快なノイズ音が低減された、クリアなラジオの音声をスピーカ8から出力することができる。
【0039】
<信号処理装置における処理の概要>
次に、信号処理装置100における処理の概要について説明する。
図4は、実施の形態1に係る信号処理装置100における処理の概要を示すフローチャートである。
【0040】
S100として、アンテナ6は、受信信号をA/D変換部101へ出力する。
【0041】
S200として、A/D変換部101は、アンテナ6から入力された受信信号を、デジタルの入力時間領域信号inSig(t)に変換する。
【0042】
S300として、第1変換部102は、入力時間領域信号inSig(t)を、入力周波数領域信号fftData(f)に変換する。なお、当該S300の処理の詳細については後述する。
【0043】
S400として、放送信号検出部103は、fftData(f)を用いて、選局周波数範囲、及び、未選局周波数範囲を検出し、放送検出情報detBcResultを生成する。なお、当該S400の処理の詳細については後述する。
【0044】
S500として、ノイズ周波数周期検出部104は、fftData(f)におけるノイズ周波数周期fcycを検出する。なお、当該S500の処理の詳細については後述する。
【0045】
S600として、ピーク周波数検出部105は、fftData(f)のある周波数範囲における抽出ノイズピーク周波数Xpeakを検出する。なお、当該S600の処理の詳細については後述する。
【0046】
S700として、周波数シフト量決定部106は、fftData(f)に対する周波数シフト量fShiftを決定する。なお、当該S700の処理の詳細については後述する。
【0047】
S800として、振幅補正係数決定部107は、振幅補正係数GdBを決定する。なお、当該S800の処理については後述する。
【0048】
S900として、位相補正係数決定部108は、位相補正係数deltaDを決定する。なお、当該S900の処理については後述する。
【0049】
S1000として、周波数シフト部109は、fftData(f)をS700で決定したfShiftだけ周波数シフトさせ、周波数シフト後の周波数領域信号fftDataShift(f)を出力する。なお、当該S1000の処理については後述する。
【0050】
S1100として、補正部110は、S1000のfftDataShift(f)の全周波数範囲の周波数スペクトラムの振幅を、S800の振幅補正係数GdBを用いて補正し、当該全周波数範囲の周波数スペクトラムの位相を、S900の位相補正係数deltaDを用いて補正する。そして、補正部110は、fftDataShift(f)を補正した信号である補正後の周波数領域信号postFftDataShift(f)を出力する。なお、当該S1100の処理に詳細については後述する。
【0051】
S1200として、第2変換部111は、S1100のpostFftDataShift(f)を、ノイズ時間領域信号noiseSig(t)に変換する。
【0052】
S1300として、ノイズキャンセル部113は、A/D変換部101から出力されて遅延部112によって遅延されたinSig(t)からS1200のnoiseSig(t)を減算する信号合成を行い、出力信号outSig(t)を出力する。
【0053】
<第1変換部における処理の詳細>
次に、第1変換部102における処理を詳細に説明する。すなわち、
図4のS300の処理を詳細に説明する。
【0054】
第1変換部102は、A/D変換部101から入力された入力時間領域信号inSig(t)を、入力周波数領域信号fftData(f)に変換する。入力周波数領域信号fftData(f)の波形の一例を
図3に示す。
【0055】
ここで、
図3に示すfftData(f)は、選局されたチャンネルの中心周波数を0として表現した周波数スペクトラムである。また、本実施の形態では、fftData(f)の信号帯域幅をBWtotalとし、fftData(f)の下限周波数を(-BWtotal/2)とし、fftData(f)の上限周波数を(BWtotal/2)として説明する。
図3に示すfftData(f)には、選局されたチャンネルの周波数の放送信号の他に、未選局のチャンネルの周波数の放送信号と、一定の周波数の間隔でピークを持つノイズ信号と、その他の低振幅のノイズ信号とが含まれている。一定の周波数の間隔でピークを持つノイズ信号は、広い周波数範囲にわたり、一定の周波数の間隔で多数のノイズピークを形成している。信号帯域幅BWtotalは、放送波のチャンネルより、広い帯域幅である。例えば、AMラジオ放送の場合、1つのチャンネルが占める帯域幅は、9~30[kHz]であるのに対し、fftData(f)の信号帯域幅BWtotalは650[kHz]である。なお、信号帯域幅BWtotalは、650[kHz]より、大きくても小さくてもよい。
【0056】
<放送信号検出部における処理の詳細>
次に、放送信号検出部103における処理を詳細に説明する。すなわち、
図4におけるS400の処理を詳細に説明する。
図5は、実施の形態1に係る放送信号検出部103における処理の一例を示すフローチャートである。
図6は、入力周波数領域信号の帯域を放送波のチャンネルに分割した一例を示す図である。
図7は、チャンネルごとのパワーを算出する処理を説明するための図である。
図8は、パワーの大きさに基づいてチャンネルを並び替える処理を説明するための図である。
図9は、放送検出情報(detBcResult)の一例を示す図である。
【0057】
S401として、放送信号検出部103は、
図6に示すように、fftData(f)の帯域を、放送波のチャンネルごとの範囲に分割する。以下、分割した各チャンネルの範囲を、チャンネル範囲と称する。例えば、1つのチャンネル範囲の帯域幅は、日本、欧州又はアジアのアナログAMラジオ放送の場合9kHz、北米又は南米のアナログAMラジオ放送の場合10kHz、北米のAMデジタルラジオ(IBOC)の場合30kHzであってよい。
【0058】
S402として、放送信号検出部103は、
図7に示すように、各チャンネルのパワーを算出する。例えば、放送信号検出部103は、fftData(f)において、1つのチャンネル範囲に属する各周波数の信号の振幅の2乗を合計することにより、当該チャンネル範囲に対応するチャンネルのパワーを算出する。
【0059】
S403として、放送信号検出部103は、全チャンネルのうち、パワーの低い側から所定数のチャンネルのパワーの平均を算出し、ノイズの平均パワーとする。以下、ノイズの平均パワーをaveNoiseChPowDataと表現する場合がある。例えば、放送信号検出部103は、
図8に示すように、パワーの小さいチャンネルからパワーの大きいチャンネルの順にチャンネルを並び替え、下位の所定数のチャンネルのパワーの平均を算出し、aveNoiseChPowDataとする。当該所定数は、全チャンネル数の1/2であってよい。ただし、当該所定数は、全チャンネル数の1/2に限られず、1/2よりも大きくてもよいし、小さくてもよい。また、全チャンネル数の1/2が小数になる場合、放送信号検出部103は、小数部分を繰り上げ、繰り下げ、又は、四捨五入して、当該所定数が整数となるようにしてよい。
【0060】
S404として、放送信号検出部103は、チャンネル当たりのパワーが、aveNoiseChPowDataの所定倍数以上であるチャンネルを、放送信号を含むチャンネルと判定する。後述する、周波数シフト量の決定、振幅補正係数の算出、位相補正係数の算出といった各処理を行う際に、ノイズの平均パワーの所定倍よりもパワーが大きい放送信号を含むチャンネルを使用すると、正確に算出できない場合があり、これらを放送信号を含むチャンネルとして区別するためである。当該所定倍数は、4倍であってよい。ただし、当該所定倍数は、4倍に限られず、4倍よりも大きくてもよいし、小さくてもよい。また、チャンネルに含まれる放送信号は、選局放送信号であってもよいし、未選局放送信号であってもよい。よって、選局放送信号を含むチャンネルは、選局周波数範囲と読み替えられ、未選局放送信号を含むチャンネルは、未選局周波数範囲と読み替えられてもよい。
【0061】
S405として、放送信号検出部103は、fftData(f)の各周波数が、放送信号を含むチャンネルに属しているか否かを判定する。そして、放送信号検出部103は、
図9に示すように、当該判定結果を含む放送検出情報detBcResultを生成する。
図9に示すdetBcResultは、放送信号を含む周波数に「1」を、放送信号を含まない周波数に「0」を対応付けている。よって、detBcResultを参照することにより、放送信号を含む周波数と、放送信号を含まない周波数とを識別できる。
【0062】
以上の処理により、放送信号検出部103は、放送検出情報detBcResultを生成できる。
【0063】
なお、受信信号波形から放送波を検出する上述した方法とは異なる方法によって、未選局放送波を検出してもよい。例えば、あらかじめ本ラジオチューナ又は外部のラジオチューナを使用して、ラジオチューナの受信周波数をスキャンして、1局ごとに放送波の有無を判定し、放送波のある周波数を記憶しておいてもよい。あるいは、ラジオチューナの使用場所の位置情報を利用し、ユーザの位置にて受信できる放送局の情報をインターネットを通じて取得してもよい。なお、ラジオチューナの使用場所は、例えばアンテナの搭載場所であってよい。受信信号波形を利用しないこれらの方法から得られる未選局放送波の周波数の情報を使ってもよいし、これらの方法と上述した受信信号波形を利用する方法とを併用してもよい。
【0064】
<ノイズ周波数周期検出部における処理の詳細>
次に、ノイズ周波数周期検出部104における処理を詳細に説明する。すなわち、
図4におけるS500の処理を詳細に説明する。
図10は、実施の形態1に係るノイズ周波数周期検出部104における処理の一例を示すフローチャートである。
図11は、相関関数の算出方法を説明するための図である。
図12は、相関関数と第1ピークリストの関係を説明するための図である。
【0065】
S501として、ノイズ周波数周期検出部104は、
図11に示すように、fftData(f)の周波数範囲内に、区間ccSlit(f)を設定する。区間ccSlit(f)には、当該区間ccSlit(f)が設定された周波数範囲におけるfftData(f)が含まれる。例えば、ノイズ周波数周期が1kHz~10kHzのいずれかの周波数である場合、区間ccSlitの周波数範囲は100kHzであってよい。ただし、区間ccSlitの周波数範囲は100kHzに限られず、100kHzよりも大きくてもよいし、小さくてもよい。また、当該区間ccSlit(f)の周波数範囲には、選局周波数範囲が含まれてもよい。また、区間ccSlitの周波数範囲には、未選局放送信号が含まれてもよい。選局放送信号と未選局放送信号は、相関関数R(m)を計算する際に、周波数領域において周期性を持つノイズと比べて、絶対値の大きなピークを作らないためである。
【0066】
なお、fftData(f)の選局周波数範囲を除く周波数範囲に区間ccSlit(f)を設定し、計算負荷を軽減してもよい。その理由は、選局周波数範囲には、選局周波数の放送波の信号があり、選局周波数の放送波の信号と周波数領域において周期性を持つノイズが重畳していると、ノイズ周波数周期を算出するために利用できる相関関数R(m)のピークのデータを検出できない可能性が高まるためである。ただし、逆に、選局周波数範囲を除くと、利用できる周波数範囲が狭くなり、複数の相関関数R(m)のピークを検出できなくなる場合も考えられる。そのような場合は、選局周波数範囲を含め、fftData(f)の利用可能な周波数範囲内で、区間ccSlit(f)をなるべく広く設定するとよい。
【0067】
S502として、ノイズ周波数周期検出部104は、区間ccSlit内に、ウィンドウccData(f)を設定する。ウィンドウccData(f)には、当該ウィンドウccData(f)が設定された周波数範囲におけるfftData(f)が含まれる。このとき、ノイズ周波数周期検出部104は、放送検出情報detBcResultを参照し、未選局周波数範囲を除く周波数範囲に、ウィンドウccData(f)を設定する。また、選局周波数範囲を除く周波数範囲に、ウィンドウccData(f)を設定する。例えば、ノイズ周波数周期が1kHz~10kHzのいずれかの周波数である場合、ウィンドウccDataの周波数範囲は30kHzであってよい。ただし、ウィンドウccDataの周波数範囲は30kHzに限られず、30kHzよりも大きくてもよいし、小さくてもよい。
【0068】
S503として、ノイズ周波数周期検出部104は、下記の式1により、ウィンドウccData(f)の各周波数の振幅の平方の積分SccDataを計算する。
【0069】
【数1】
ここで、
図11に示すように、fa及びfbは、それぞれ、ウィンドウccDataの下限周波数及び上限周波数を示す値である。|A(x)|は、複素数A(x)の絶対値を示す。複素数A(x)の振幅は、絶対値として算出することができる。
【0070】
S504として、ノイズ周波数周期検出部104は、ウィンドウシフト量mに最小値である0Hzを設定する。なお、ウィンドウシフト量mの最小値は、0Hzより大きくてもよいし、小さくてもよい。
【0071】
S505として、ノイズ周波数周期検出部104は、下記の式2により、所定の周波数範囲の区間ccSlit(f)とウィンドウccDataの振幅の積の積分R0(m)を計算する。
【0072】
【0073】
S506として、ノイズ周波数周期検出部104は、下記の式3により、同じ周波数範囲の区間ccSlit(f+m)の各周波数の振幅の平方の積分S(m)を計算する。
【0074】
【0075】
S507として、ノイズ周波数周期検出部104は、下記の式4により、相関関数R(m)を計算する。すなわち、R0(m)を、S(m)とSccDataの積の平方根で割り、相関関数R(m)を得る。相関関数R(m)は、fftData(f)の振幅についての周波数軸上の相関関数である。
【0076】
【0077】
R0(m)からR(m)に変換を行っている理由は次の通りである。すなわち、R0(m)のままでは、計算結果が波形の相関だけでなく、ccSlitの振幅の大きさに依存してしまう。そのため、ccSlitの振幅の平方の積分S(m)と、ccDataの振幅の平方の積分SccDataとを算出し、式4によってR0(m)を規格化している。
【0078】
S508として、ノイズ周波数周期検出部104は、ウィンドウシフト量mに、入力周波数領域信号fftData(f)の周波数軸の単位周波数を加算する。入力周波数領域信号fftData(f)の周波数軸の単位周波数を、unitFと表現する場合がある。unitFは、入力周波数領域信号fftData(f)の信号帯域幅BWtotalに比べて、非常に小さい値であり、例えば、10[Hz]である。ただし、unitFは、10[Hz]より大きな値でもよいし、小さな値でもよい。
【0079】
S509として、ノイズ周波数周期検出部104は、ウィンドウシフト量mが区間ccSlit(f)の周波数範囲上限まで達したか否かを判定する。
【0080】
ノイズ周波数周期検出部104は、ウィンドウシフト量mが区間ccSlit(f)の周波数範囲上限まで達したと判定した場合(S509:YES)、S510の処理に進む。
【0081】
ノイズ周波数周期検出部104は、ウィンドウシフト量mが区間ccSlitの周波数範囲上限まで達していないと判定した場合(S509:NO)、S505の処理に戻る。
【0082】
S505~S509の処理により、
図12に示すように、元の区間ccSlitのスペクトラムと比較して、ノイズピークの周期性が強調された相関関数R(m)を得ることができる。
【0083】
S510として、ノイズ周波数周期検出部104は、
図12に示すように、相関関数R(m)が極大値となるウィンドウシフト量mを少なくとも2つ選定する。ノイズ周波数周期検出部104は、選定したウィンドウシフト量mを第1ピークリスト情報に含める。以下、第1ピークリスト情報を、RpeakListと表現する場合がある。例えば、ノイズ周波数周期検出部104は、相関関数R(m)が極大値となるウィンドウシフト量mを、少なくとも2つ、好ましくは6つ以上選定する。選定数は、相関関数R(m)が極大値となるウィンドウシフト量mの個数に応じて変更されてよい。相関関数R(m)が極大値となるウィンドウシフト量mの個数が多いにも関わらず選定数が少ない場合、誤ったノイズ周波数周期fcycが算出されてしまう可能性が高まるからである。また、ノイズ周波数周期検出部104は、R(m)が所定の閾値以上であるウィンドウシフト量mを選定してよい。これにより、ノイズピークとは異なる極大値が除外され得る。当該所定の閾値は、0.5であってよい。ただし、当該所定の閾値は、0.5よりも大きくてもよいし、小さくてもよい。
【0084】
S511として、ノイズ周波数周期検出部104は、RpeakListの互いに隣接する2つのウィンドウシフト量mの差分を算出する。ノイズ周波数周期検出部104は、算出した差分を、差分リスト情報に含める。以下、差分リスト情報を、difRIndexListと表現する場合がある。
【0085】
S512として、ノイズ周波数周期検出部104は、difRIndexListの中で最も多く出現する値、すなわち最頻値を、ノイズ周波数周期fcycとする。例えば、ノイズ周波数周期検出部104は、difRIndexListにおいて、8.013kHzが最頻値である場合、fcyc=8.013kHzとする。
【0086】
以上の処理により、ノイズ周波数周期検出部104は、ノイズ周波数周期fcycを算出できる。なお、上記の例では、式2において、ccData(f)およびccSlit(f)の振幅(つまり絶対値)を使ってR0(m)の計算を行ったが、振幅の代わりに振幅の2乗(つまりパワー)を使って、同様な計算をすることも可能である。この場合は、式4において、右辺の平方根の処理を行わず、R(m)=R0(m)/(S(m)・SccData)、とすることで、相関関数R(m)を算出できる。この処理の場合でも、上記と同じように、ノイズ周波数周期fcycを算出することができる。
【0087】
<ピーク周波数検出部における処理の詳細>
次に、ピーク周波数検出部105における処理を詳細に説明する。すなわち、
図4におけるS600の処理を詳細に説明する。
図13は、実施の形態1に係るピーク周波数検出部105における処理の一例を示すフローチャートである。
図14は、ピーク周波数の検出を説明するための図である。
【0088】
S601として、ピーク周波数検出部105は、相関関数R(m)を計算した区間ccSlit(f)から、振幅の大きい周波数を抽出する。例えば、ピーク周波数検出部105は、区間ccSlitから、振幅の大きい周波数から順に所定数の周波数を抽出する。ピーク周波数検出部105は、
図14に示すように、抽出した周波数を第2ピークリスト情報に含める。以下、第2ピークリスト情報を、peakIndexListと表現する場合がある。
【0089】
S602として、ピーク周波数検出部105は、放送検出情報detBcResultを参照し、peakIndexListから、条件Bに合致しない周波数を除外する。条件Bに合致する周波数とは、放送信号を含まない周波数である。具体的には、ピーク周波数検出部105は、放送信号を含まない周波数をpeakIndexListに残す。
図14の「条件B」の列に、各周波数における、ピーク周波数検出部105による、条件Bに合致するか否かの判定結果を示す。判定結果は、条件Bに合致する場合は〇、条件Bに合致しない場合は×で示される。
図14に示す例では、すべての周波数が条件Bに合致すると判定されている。
【0090】
S603として、ピーク周波数検出部105は、peakIndexListから、条件Aに合致しない周波数を除外する。条件Aに合致する周波数とは、前後の周波数と比べて振幅が高い周波数、つまり極大値である周波数である。具体的には、ピーク周波数検出部105は、単位周波数unitFだけ低周波数側の周波数の振幅及び単位周波数unitFだけ高周波数側の周波数の振幅と比べて、振幅の高い周波数、すなわち振幅が極大値である周波数を、peakIndexListに残す。
図14の「条件A」の列に、各周波数における、ピーク周波数検出部105による、条件Aに合致するか否かの判定結果を示す。判定結果は、条件Aに合致する場合は〇、条件Aに合致しない場合は×で示される。
【0091】
S604として、ピーク周波数検出部105は、peakIndexListに含まれる周波数のうち、条件Cに合致する周波数を抽出する。条件Cに合致する周波数とは、ノイズ周波数周期fcycを加算した周波数、及び、ノイズ周波数周期fcycを減算した周波数のいずれの振幅も極大となる周波数である。具体的には、ピーク周波数検出部105は、peakIndexListから、ノイズ周波数周期fcycだけずらした周波数の振幅も極大値である周波数を抽出する。別言すると、ピーク周波数検出部105は、peakIndexListから、処理対象の周波数を1つ選択し、その選択した周波数が、スペクトラム上においてノイズ周波数周期fcycにて周期的に発生している極大値の1つである場合、その選択した周波数を抽出する。S604を行うことにより、一定の間隔で出現するものでないノイズの周波数がピーク周波数検出部105によって検出されたとしても、それが抽出ノイズピーク周波数として抽出されることを防ぐことができる。
図14の「条件C」の列に、各周波数における、ピーク周波数検出部105による、条件Cに合致するか否かの判定結果を示す。判定結果は、条件Cに合致する場合は〇、条件Cに合致しない場合は×で示される。
【0092】
S605として、ピーク周波数検出部105は、S604にて抽出された周波数のうち、振幅が最大の周波数を、抽出ノイズピーク周波数Xpeakとする。例えば、
図14の場合、peakIndexListにおいて条件A,B,Cをすべて満たす周波数のうち、振幅が最大の周波数は73.98987kHzであるので、ピーク周波数検出部105は、Xpeak=73.98987kHzとする。
【0093】
<周波数シフト量決定部における処理の詳細>
次に、周波数シフト量決定部106における処理を詳細に説明する。すなわち、
図4におけるS700の処理を詳細に説明する。
図15は、実施の形態1に係る周波数シフト量決定部106における処理の一例を示すフローチャートである。
図16は、選局周波数範囲とノイズ周波数周期との関係を説明するための図である。
図17は、入力周波数領域信号における選局周波数範囲と、周波数シフト後の周波数領域信号における選局周波数範囲とが重なる場合を説明するための図である。
図18は、入力周波数領域信号における選局周波数範囲と、周波数シフト後の周波数領域信号における未選局周波数範囲とが重なる場合を説明するための図である。
図19は、周波数シフト後に選局周波数範囲に重なる周波数範囲を説明するための図である。
【0094】
S701として、周波数シフト量決定部106は、
図16に示すように、選局周波数範囲より大きく、かつ、ノイズ周波数周期fcycの整数倍となるように、初期の周波数シフト量を決定する。以下、選局周波数範囲をsigRangeと表現し、初期の周波数シフト量をextFShiftと表現する場合がある。例えば、周波数シフト量決定部106は、次の式5により、extFShiftを算出する。
【0095】
【数5】
ここで、floor(x)は、xの小数部分を切り捨てた値を返す関数である。
【0096】
S701にて、選局周波数範囲sigRangeより大きく、かつ、ノイズ周波数周期fcycの整数倍となるように、初期の周波数シフト量extFShiftを決定している理由は次の通りである。すなわち、
図17に示すように、周波数シフト量が選局周波数範囲より狭い場合、ノイズキャンセル部113にて、遅延部112の出力信号から第2変換部111の出力信号を減算する信号合成を行う際に、遅延部112の出力信号の選局周波数範囲に、第2変換部111の出力信号の選局周波数範囲が重なってしまう。なお、第2変換部111の出力信号は、postFftDataShift(f)を時間領域信号に変換した信号に相当する。遅延部112の出力信号の選局周波数範囲は、fftData(f)の選局周波数範囲に相当する。第2変換部111の出力信号の選局周波数範囲は、postFftDataShift(f)の選局周波数範囲に相当する。これにより、選局放送信号同士が干渉し、ラジオの音声に新たなノイズが含まれてしまう。この新たなノイズは、放送波の干渉によって発生するノイズのことであり、本開示の信号処理装置が対象とする、周波数領域上で一定の間隔毎にピークを持つという特徴を有するノイズとは異なるノイズである。
【0097】
よって、例えば
図16に示すように、選局周波数範囲sigRange=20kHz、ノイズ周波数周期fcyc=8.013kHzの場合、周波数シフト量決定部106は、初期の周波数シフト量extFShiftを、式5により、floor((20/8.013)+1)×8.013=3×8.013=24.039kHzと算出してよい。
【0098】
S702として、周波数シフト量決定部106は、相関関数R(m)が、m=extFShiftの周波数シフトにおいて極大値であるか否かを判定する。なお、mは相関関数R(m)の算出におけるウィンドウccData(f)の周波数シフト量であるが、以下では、周波数シフト量のことも周波数と呼ぶことがある。
【0099】
すなわち、相関関数R(m)のピークのうち、最も低い周波数をm0[kHz]としたとき、m0+extFShift[kHz]の周波数においても、相関関数R(m)がピークの条件を満たすかどうかを判定する。ここで、相関関数R(m)のピークは、RpeakListと同じ検出条件を満たすものであってよい。RpeakListの検出条件とは、前述の通り、相関関数R(m)が極大値であることと、所定の閾値以上であることの2点である。なお、m0=0[kHz]となるようにccData(f)の周波数範囲を設定した場合は、相関関数R(m)が、m=extFShift[kHz]の周波数において、ピークの条件を満たすか否かを判定すればよい。なお、当該ピークも、RpeakListと同じ検出条件を満たすものであってよい。ccData(f)の下限周波数とccSlit(f)の下限周波数とが同じ周波数となるようにccData(f)の周波数範囲を選んだ場合、m=0[kHz]にて、相関関数R(m)がピークとなる。この場合は、最も周波数の低いピークを有する周波数m0=0[kHz]となるので、相関関数R(m)が、m=extFShift[kHz]の周波数において、ピークの条件を満たすか否かを判定すればよい。なお、当該ピークも、RpeakListと同じ検出条件を満たすものであってよい。
図12は、このような場合の相関関数R(m)の波形の例である。
【0100】
周波数シフト量決定部106は、相関関数R(m)が、m=extFShiftの周波数シフトにおいて極大値でないと判定した場合(S702:NO)、S703として、extFShiftにノイズ周波数周期fcycを加算し、S702の処理に戻る。
【0101】
周波数シフト量決定部106は、相関関数R(m)が、m=extFShiftの周波数シフトにおいて極大値であると判定した場合(S702:YES)、S704の処理に進む。なお、extFShiftがfcycの整数倍である場合、原則的にS702の判定はYESとなるので、周波数シフト量決定部106は、S702及びS703の処理を行わなくてもよい。ただし、相関関数R(m)が、ノイズ周波数周期fcycの整数倍の全ての周波数で、所定の閾値(例えば0.5)以上の極大値を取るかどうかは自明ではない。選定したextFShiftの周波数において、相関関数R(m)の値が低かった場合、期待するノイズキャンセル効果が得られないことも起こりうる。そのため、選定したextFShiftの周波数の信頼性を高めるために、S702、S703の処理を行うことが望ましい。
【0102】
S704として、周波数シフト量決定部106は、fftData(f)において、extFShiftだけ周波数シフトを行った場合に、選局周波数範囲と重なる周波数範囲B1を算出する。例えば、周波数シフト量決定部106は、選局周波数範囲が(-sigRange/2~+sigRange/2)の場合、周波数範囲B1として((-extFShift-sigRange/2)~(-extFShift+sigRange/2))を算出する。
【0103】
S705として、周波数シフト量決定部106は、放送検出情報detBcResultを参照し、周波数範囲B1に放送信号が含まれているか否かを判定する。
【0104】
周波数シフト量決定部106は、周波数範囲B1に放送信号が含まれていると判定した場合(S705:YES)、S706として、extFShiftにfcycを加算し、S702の処理に戻る。S705がYESの場合にS706を行う理由は次の通りである。すなわち、
図18に示すように、そのままextFShiftだけ周波数をシフトすると、周波数範囲B1に含まれる未選局放送信号が、選局周波数範囲の選局放送信号に干渉してしまうからである。
【0105】
周波数シフト量決定部106は、周波数範囲B1に放送信号が含まれていないと判定した場合(S705:NO)、S707の処理に進む。
【0106】
S707として、周波数シフト量決定部106は、現在のextFShiftを、周波数シフト量fShiftに決定する。これにより、周波数シフト量決定部106は、
図19に示すように、選局放送信号及び未選局放送信号のいずれも含まない周波数範囲B1が選局周波数範囲に重なるように、周波数シフト量fShiftを決定できる。
【0107】
<振幅補正係数決定部における処理の詳細>
次に、振幅補正係数決定部107における処理を詳細に説明する。すなわち、
図4のS800の処理を詳細に説明する。
図20は、実施の形態1に係る振幅補正係数決定部107における処理の一例を示すフローチャートである。
図21は、振幅補正係数の算出に用いられるピーク周波数の算出方法を説明するための図である。
図22は、振幅補正係数の算出方法を説明するための図である。
【0108】
周波数シフト後の周波数領域信号fftDataShift(f)は、周波数シフト前の入力周波数領域信号fftData(f)と比べ、ノイズピークの周波数は一致するが、振幅及び位相の少なくとも一方が一致しない場合がある。よって、ノイズキャンセル部113にて、遅延部112の出力信号から第2変換部111の出力信号を減算する信号合成を行う際に、fftDataShift(f)をそのまま第2変換部111に入力し、第2変換部111から出力された出力信号を減算する信号合成を行っても、十分なノイズキャンセルの効果を得られない場合がある。そのため、周波数シフト後の周波数領域信号fftDataShift(f)の振幅と位相は、周波数シフト前の入力周波数領域信号fftData(f)の振幅と位相に一致するように補正されることが好ましい。発明者は、検証により、ノイズのスペクトラムの振幅及び位相は、周波数と比例関係があるという知見を得た。そこで、本実施の形態では、1つのノイズ周波数周期fcyc当たりの振幅の変化量を振幅補正係数として算出し、1つのノイズ周波数周期fcyc当たりの位相の変化量を位相補正係数として算出して、振幅と位相のそれぞれの比例関係を利用してfftDataShift(f)の振幅と位相を補正する。
【0109】
S801として、振幅補正係数決定部107は、
図21に示すように、抽出ノイズピーク周波数Xpeakを用いて、選局周波数範囲に存在するピーク周波数を算出する。以下、選局周波数範囲に存在するピーク周波数をGbaseIndexと表現する場合がある。例えば、振幅補正係数決定部107は、次の式6により、GbaseIndexを算出する。
GbaseIndex=Xpeak-floor(Xpeak/fcyc)×fcyc
…(式6)
【0110】
S802として、振幅補正係数決定部107は、
図21に示すように、選局周波数範囲よりも高周波数側、かつ、選局周波数範囲外に存在するピーク周波数を算出する。以下、選局周波数範囲よりも高周波数側、かつ、選局周波数範囲外に存在するピーク周波数を、G1baseIndexと表現する場合がある。
【0111】
S803として、振幅補正係数決定部107は、放送検出情報detBcResultを参照して、G1baseIndexが放送信号を含む周波数であるか否かを判定する。
【0112】
振幅補正係数決定部107は、G1baseIndexが放送信号を含む周波数であると判定した場合(S803:YES)、S804として、G1baseIndexにfcycを加算し、S803の処理に戻る。
【0113】
振幅補正係数決定部107は、G1baseIndexが放送信号を含まない周波数であると判定した場合(S803:NO)、S805の処理に進む。
【0114】
S805として、振幅補正係数決定部107は、
図21に示すように、選局周波数範囲よりも低周波数側、かつ、選局周波数範囲外に存在するピーク周波数を算出する。以下、選局周波数範囲よりも低周波数側、かつ、選局周波数範囲外に存在するピーク周波数を、G2baseIndexと表現する場合がある。
【0115】
S806として、振幅補正係数決定部107は、放送検出情報detBcResultを参照して、G2baseIndexが放送信号を含む周波数であるか否かを判定する。
【0116】
振幅補正係数決定部107は、G2baseIndexが放送信号を含む周波数であると判定した場合(S806:YES)、S807として、G2baseIndexからfcycを減算し、S805の処理に戻る。
【0117】
振幅補正係数決定部107は、G2baseIndexが放送信号を含まない周波数であると判定した場合(S806:NO)、S808の処理に進む。
【0118】
S808として、振幅補正係数決定部107は、
図22に示すように、G1baseIndexにおけるノイズピークの振幅(電圧)P1(dB単位系)と、G2baseIndexにおけるノイズピークの振幅(電圧)P2(dB単位系)とから、1つのノイズ周波数周期fcyc当たりのノイズピークの振幅(電圧)の変化量GdBを算出し、振幅補正係数とする。ここで、振幅P1=20×log10(ノイズピークの振幅V1(単位:ボルト))であり、振幅P2=20×log10(ノイズピークの振幅V2(単位:ボルト))であってよい。例えば、振幅補正係数決定部107は、次の式7により、振幅補正係数GdBを算出する。
GdB=(P1-P2)/((G1baseIndex-G2baseIndex)/fcyc)
…(式7)
【0119】
以上の処理により、振幅補正係数決定部107は、振幅補正係数GdBを算出できる。
【0120】
<位相補正係数決定部における処理の詳細>
次に、位相補正係数決定部108における処理を詳細に説明する。すなわち、
図4のS900の処理を詳細に説明する。
図23は、実施の形態1に係る位相補正係数決定部108における処理の一例を示すフローチャートである。
図24は、位相補正係数の算出に用いられるピーク周波数の算出方法を説明するための図である。
【0121】
S901として、位相補正係数決定部108は、例えば
図24に示すように、下記の式8により、抽出ノイズピーク周波数Xpeakよりも高周波数側に存在するピーク周波数を算出する。以下、抽出ノイズピーク周波数Xpeakよりも高周波数側に存在するピーク周波数を、phaseCheckIndexと表現する場合がある。
phaseCheckIndex=Xpeak+fcyc
…(式8)
【0122】
S902として、位相補正係数決定部108は、放送検出情報detBcResultを参照して、phaseCheckIndexが放送信号を含む周波数であるか否かを判定する。
【0123】
位相補正係数決定部108は、phaseCheckIndexが放送信号を含む周波数であると判定した場合(S902:YES)、S903として、phaseCheckIndexにfcycを加算し、S902の処理に戻る。
【0124】
位相補正係数決定部108は、phaseCheckIndexが放送信号を含まない周波数であると判定した場合(S902:NO)、S904の処理に進む。
【0125】
S904として、位相補正係数決定部108は、Xpeakにおけるノイズピークの位相D1と、phaseCheckIndexにおけるノイズピークの位相D2とに基づいて、1つのノイズ周波数周期fcyc当たりのノイズピークの位相の変化量deltaDを算出し、位相補正係数とする。例えば、位相補正係数決定部108は、次の式9により、位相補正係数deltaDを算出する。
deltaD=(D1-D2)/((Xpeak-phaseCheckIndex)/fcyc)
…(式9)
【0126】
以上の処理により、位相補正係数決定部108は、位相補正係数deltaDを算出できる。
【0127】
<周波数シフト部における処理の詳細>
次に、周波数シフト部109における処理を詳細に説明する。すなわち、
図4のS1000の処理を詳細に説明する。
図25は、実施の形態1に係る周波数シフト部109における処理の一例を示すフローチャートである。
図26は、周波数シフト後の周波数領域信号の一例を示す図である。
【0128】
S1000として、周波数シフト部109は、
図26に示すように、周波数シフト量fShiftだけfftData(f)の周波数をシフトし、周波数シフト後の周波数領域信号fftDataShift(f)を得る。周波数シフト部109は、fftDataShift(f)において、周波数シフトにより空いた周波数における電圧振幅を0としてよい。例えば、周波数シフト部109は、次の式10により、fftDataShift(f)を得る。
【0129】
【0130】
なお、周波数シフトにより空いた周波数における電圧振幅を、0とする代わりに、微小なランダム値としてもよい。具体的には、例えば
図26の場合、-100dBFS±10dBの範囲のランダムな電圧振幅としてもよい。また、位相もランダムとしてよい。これにより、周波数シフトにより空いた周波数範囲(-BWtotal/2~-BWtotal/2+fShift)と、それらより高周波側にあり当初から有限の電圧振幅を持っている周波数範囲(-BWtotal/2+fShift~BWtotal/2)の間の波形の不連続性によって発生し得る信号の歪みを低減できる。
【0131】
<補正部における処理の詳細>
次に、補正部110における処理を詳細に説明する。すなわち、
図4のS1100の処理を詳細に説明する。
図27は、実施の形態1に係る補正部110における処理の一例を示すフローチャートである。
図28は、実施の形態1に係る振幅補正及び位相補正を説明するための図である。
【0132】
S1101として、補正部110は、周波数fに、入力周波数領域信号の信号帯域幅BWtotalの下限周波数を設定する。
【0133】
S1102として、補正部110は、周波数シフト後の周波数領域信号fftDataShift(f)における周波数fの信号電圧(複素数)について、例えば、下記の式11により、補正前の振幅及び位相を算出する。以下、補正前のdB単位系の振幅(単位:dBV)をpreAmpldB、真数単位系(単位:V)の振幅をpreAmpl、補正前の位相をprePhaseRad(単位:ラジアン)と表現する場合がある。なお、fftDataShift(f)は、fftData(f)と同じように電圧の次元を持ち、V(ボルト)の単位系で表した複素数の関数である。
・振幅:preAmpldB=20×log(preAmpl)=20×log(abs(fftDataShift(f)))
・位相:prePhaseRad=arctan(imaginary(fftDataShift(f))/real(fftDataShift(f)))
…(式11)
ここで、abs(x)は、複素数xの絶対値を返す関数である。imaginary(x)は、複素数x=a+jbの虚部の値bを返す関数である。real(x)は、複素数x=a+jbの実部の値aを返す関数である。
【0134】
S1103として、補正部110は、例えば下記の式12により、周波数シフト量fShiftがノイズ周波数周期fcycの何周期分に当たるかを示す周波数シフト周期数を算出する。以下、周波数シフト周期数を、numCycleと表現する場合がある。
numCycle=round(fShift/fcyc)
…(式12)
ここで、round(x)は、xを四捨五入した値を返す関数である。
【0135】
S1104として、補正部110は、周波数シフト後の周波数領域信号fftDataShift(f)の位相prePhaseRadに対し、周波数シフト周期数numCycleに応じた位相補正を行う。例えば、補正部110は、下記の式13により、補正後の位相を算出する。以下、補正後の位相をpostPhaseRad(単位:ラジアン)と表現する場合がある。
postPhaseRad=prePhaseRad+numCycle×deltaD
…(式13)
【0136】
S1105として、補正部110は、周波数シフト後の周波数領域信号fftDataShift(f)の振幅preAmpldBに対し、周波数シフト周期数numCycleに応じた振幅補正を行う。例えば、補正部110は、次の式14により、補正後の振幅を算出する。以下、補正後の振幅をpostAmpldB(単位:dBV)と表現する場合がある。
postAmpldB=preAmpldB+numCycle×GdB
…(式14)
【0137】
S1106として、補正部110は、補正後の振幅の単位系を、真数の単位系(すなわちV(ボルト))の振幅に変換する。例えば、補正部110は、下記の式15により、補正後の振幅の真数単位系の値(単位:V)を算出する。以下、補正後の振幅の真数単位系の値をpostAmplと表現する場合がある。
postAmpl=10^(postAmpldB/20)
…(式15)
【0138】
S1107として、補正部110は、下記の式16により、補正後の信号電圧を算出する。以下、補正後の信号電圧は、postFftDataShift(f)に相当する。
postFftDataShift(f)=postAmpl×(cos(postPhaseRad)+j×sin(postPhaseRad))
…(式16)
ここで、jは虚数単位である。
【0139】
S1108として、補正部110は、周波数fが信号帯域幅BWtotalの上限周波数であるか否かを判定する。
【0140】
補正部110は、周波数fが信号帯域幅BWtotalの上限周波数でないと判定した場合(S1108:NO)、S1109として、周波数fを、周波数領域信号fftDataShift(f)の単位周波数unitFだけ大きくし、S1102の処理に戻る。
【0141】
補正部110は、周波数fが信号帯域幅BWtotalの上限周波数であると判定した場合(S1108:YES)、fftDataShift(f)の全周波数領域について補正が完了したので、S1110として、補正後の周波数領域信号を出力する。補正後の周波数領域信号は、postFftDataShift(f)に相当する。
【0142】
以上の処理により、補正部110は、補正後の周波数領域信号postFftDataShift(f)を算出できる。
【0143】
補正部110が出力した補正後の周波数領域信号postFftDataShift(f)は、第2変換部111にてノイズ時間領域信号noiseSig(t)に変換される。ノイズキャンセル部113は、遅延部112から出力された入力時間領域信号inSig(t)から、ノイズ時間領域信号noiseSig(t)を減算して、出力信号outSig(t)を出力する。outSig(t)は時間領域の信号であり、その周波数スペクトルを取得した結果を
図29に示す。また、
図3に示す、入力時間領域信号inSig(t)の周波数スペクトルに相当する入力周波数領域信号fftData(f)と、outSig(t)の周波数スペクトルを比較した結果の一例を表1に示す。
【表1】
【0144】
選局周波数の振幅は、入力信号も出力信号も-30dBFSであり、本開示の信号処理によってもほぼ減衰していない。一方で、周波数軸上で周期性を持つノイズピークの振幅は、選局周波数付近の周波数において、入力信号では-50dBFSであったが、出力信号では-68dBFSとなった。したがって、本開示の信号処理方法によって、選局周波数の信号の振幅を減衰させずに、ノイズの信号の振幅を減衰させる効果があることを確認できた。そのため、例えば、選局周波数の信号を復調した際に、音声に含まれるノイズの音量が下がり、放送波の音声を聞き取りやすくなるという効果が得られる。
【0145】
(実施の形態2)
次に、実施の形態2について説明する。なお、実施の形態2の説明では、実施の形態1にて説明済みの内容については省略する場合がある。
【0146】
<信号処理装置の構成>
図30は、実施の形態2に係る信号処理装置100の構成の一例を示すブロック図である。
【0147】
信号処理装置100は、A/D変換部101、第1変換部102、放送信号検出部103、ノイズ周波数周期検出部104、ピーク周波数検出部105、周波数シフト量決定部106、振幅補正係数決定部107、位相補正係数決定部108、周波数シフト部109、補正部110、第2変換部111、遅延部112、ノイズキャンセル部113、信号消去部121、信号抽出部122、合成部123を備える。
【0148】
A/D変換部101、第1変換部102、放送信号検出部103、ノイズ周波数周期検出部104、ピーク周波数検出部105、周波数シフト量決定部106、振幅補正係数決定部107、位相補正係数決定部108については、実施の形態1と同様であるため、説明を省略する。
【0149】
信号消去部121は、第1変換部102から入力された入力周波数領域信号fftData(f)から、選局周波数範囲の信号を消去する。以下、入力周波数領域信号fftData(f)から選局周波数範囲の信号を消去した信号を、fftDataWoRec(f)と表現する場合がある。信号消去部121は、fftDataWoRec(f)を、合成部123へ出力する。なお、信号消去部121における処理の詳細については後述する。
【0150】
信号抽出部122は、周波数シフト量fShiftを用いて、周波数シフト後にfftData(f)の選局周波数範囲と重なる周波数範囲B2を算出する。そして、第1変換部102から入力された入力周波数領域信号fftData(f)から、周波数範囲B2の信号を抽出する。信号抽出部122は、周波数範囲B2の信号を、周波数シフト部109へ出力する。なお、信号抽出部122における処理の詳細については後述する。
【0151】
周波数シフト部109は、信号抽出部122から入力された周波数範囲B2の信号を、周波数シフト量決定部106から入力された周波数シフト量fShiftだけ周波数をシフトさせる。以下、周波数範囲B2の信号の周波数をシフトした信号を、fftDataShiftOfRec(f)と表現する場合がある。周波数シフト部109は、fftDataShiftOfRec(f)を、補正部110へ出力する。なお、周波数シフト部109における処理の詳細については後述する。
【0152】
補正部110は、実施の形態1の場合と同様に、fftDataShiftOfRec(f)の振幅及び位相の補正を行う。以下、fftDataShiftOfRec(f)の振幅及び位相を補正した信号を、postFftDataShiftOfRec(f)と表現する場合がある。補正部110は、postFftDataShiftOfRec(f)を合成部123へ出力する。なお、補正部110における処理の詳細については後述する。
【0153】
合成部123は、信号消去部121から入力されたfftDataWoRec(f)に、補正部110から入力されたpostFftDataShiftOfRec(f)を加算する信号合成を行う。fftDataWoRec(f)にpostFftDataShiftOfRec(f)を加算した信号は、実施の形態1におけるpostFftDataShift(f)に相当する。合成部123は、postFftDataShift(f)を第2変換部111へ出力する。
【0154】
<信号処理装置における処理の概要>
図31は、実施の形態2に係る信号処理装置100における処理の概要を示すフローチャートである。
図32は、周波数シフト後に選局周波数範囲に入る周波数範囲B2を説明するための図である。
【0155】
信号処理装置100は、
図4のS100~S900と同様の処理を行う。
【0156】
S2001として、信号抽出部122は、入力周波数領域信号fftData(f)から、周波数シフト後に選局周波数範囲と重なる周波数範囲B2の信号を抽出する。なお、当該2001の処理の詳細については後述する。
【0157】
S2002として、周波数シフト部109は、S2001で抽出した周波数範囲B2の信号を、周波数シフト量fShiftだけ周波数をシフトさせて、fftDataShiftOfRec(f)を出力する。なお、当該S2002の処理の詳細については後述する。
【0158】
S2100として、補正部110は、fftDataShiftOfRec(f)に対して、振幅補正及び位相補正を行い、postFftDataShiftOfRec(f)を出力する。なお、当該S2100の処理の詳細については後述する。
【0159】
S2200として、合成部123は、fftDataWoRec(f)にpostFftDataShiftOfRec(f)を加算する信号合成を行い、postFftDataShift(f)を出力する。
【0160】
S2300として、第2変換部111は、postFftDataShift(f)を、ノイズ時間領域信号noiseSig(t)に変換する。
【0161】
S2400として、ノイズキャンセル部113は、入力時間領域信号inSig(t)からノイズ時間領域信号noiseSig(t)を減算する信号合成を行い、出力信号outSig(t)を出力する。
【0162】
これにより、信号処理装置100は、選局周波数範囲においてノイズがキャンセルされたoutSig(t)を出力できる。
【0163】
<信号抽出部及び周波数シフト部における処理の詳細>
次に、信号抽出部122及び周波数シフト部109における処理を詳細に説明する。すなわち、
図31のS2001及びS2002の処理を詳細に説明する。
図33は、信号抽出部122及び周波数シフト部109における処理の一例を示すフローチャートである。
【0164】
S2001として、信号抽出部122は、入力周波数領域信号fftData(f)から、周波数シフト量fShiftだけ周波数シフトを行った場合に、選局周波数範囲と重なる周波数範囲B2の信号を抽出する。例えば、選局周波数範囲が(-sigRange/2~+sigRange/2)である場合、信号抽出部122は、周波数範囲B2を((-fShift-sigRange/2)~(-fShift+sigRange/2))として算出する。そして、信号抽出部122は、fftData(f)から、周波数範囲B2に含まれる信号を抽出する。ここで「信号を抽出する」とは、所定の周波数範囲内の信号についての周波数及び電圧(振幅および位相)の情報を残して、当該所定の周波数範囲外の周波数の信号について、周波数及び電圧の情報を消去した状態とする、という意味であってよい。
【0165】
S2002として、周波数シフト部109は、S2001で抽出した周波数範囲B2に含まれる信号を、周波数シフト量fShiftだけ周波数をシフトし、fftDataShiftOfRec(f)を出力する。fftDataShiftOfRec(f)の周波数範囲は、選局周波数範囲と同様、(-sigRange/2~+sigRange/2)であってよい。
【0166】
<補正部における処理の詳細>
次に、補正部110における処理を詳細に説明する。すなわち、
図31のS2100の処理を詳細に説明する。
図34は、実施の形態2に係る補正部110における処理の一例を示すフローチャートである。
図35は、実施の形態2に係る振幅補正及び位相補正を説明するための図である。
【0167】
補正部110は、S2101~S2106として、
図27に示すS1101からS1106のfftDataShift(f)をfftDataShiftOfRec(f)に置き換えた処理を行う。
【0168】
S2107として、補正部110は、下記の式17により、補正後の信号電圧postFftDataShiftOfRec(f)を算出する。
postFftDataShiftOfRec(f)=postAmpl×(cos(postPhaseRad)+j×sin(postPhaseRad))
…(式17)
【0169】
そして、補正部110は、S2108として、周波数fが、選局周波数範囲の上限周波数であるか否かを判定する。
【0170】
補正部110は、周波数fが、選局周波数範囲の上限周波数でない場合(S2108:NO)、S2109として、周波数fを、周波数領域信号fftDataShiftOfRec(f)の単位周波数幅だけ大きくし、S2102の処理に戻る。
【0171】
補正部110は、周波数fが、選局周波数範囲の上限周波数である場合(S2108:YES)、S2110として、補正後の周波数領域信号であるpostFftDataShiftOfRec(f)を出力する。
【0172】
以上の処理により、補正部110は、fftDataShiftOfRec(f)の振幅及び位相を補正した信号であるpostFftDataShiftOfRec(f)を出力できる。
【0173】
<信号消去部及び合成部における処理の詳細>
次に、信号消去部121及び合成部123における処理を詳細に説明する。すなわち、
図31のS2200の処理を詳細に説明する。
図36は、実施の形態2に係る信号消去部121及び合成部123における処理の一例を示すフローチャートである。
図37は、実施の形態2に係る合成部123における信号合成を説明するための図である。
【0174】
S2201として、信号消去部121は、
図37に示すように、入力周波数領域信号fftData(f)から、選局周波数範囲の信号電圧を消去し、周波数領域信号fftDataWoRec(f)を出力する。fftDataWoRec(f)の選局周波数範囲(-sigRange/2~+sigRange/2)の信号電圧は0である。
【0175】
S2202として、合成部123は、
図37に示すように、fftDataWoRec(f)にpostFftDataShiftOfRec(f)を加算する信号合成を行い、周波数領域信号postFftDataShift(f)を出力する。
【0176】
以上の処理により、合成部123は、選局放送信号を含まない周波数領域信号postFftDataShift(f)を出力することができる。すなわち、postFftDataShift(f)における選局周波数範囲の信号は、主にノイズの信号となる。よって、ノイズキャンセル部113は、実施の形態1の場合と同様、選局周波数範囲におけるノイズを除去することができる。
【0177】
実施の形態2によれば、周波数シフト、及び、振幅・位相の補正の処理が選局周波数範囲に限定されるので、実施の形態1と比較して、演算量を低減できる。また、実施の形態2によれば、実施の形態1と比較して、選局周波数範囲外におけるノイズ電圧の低減量が大きくなることが多い。
【0178】
また、実施の形態1では、入力周波数領域信号fftData(f)を全体的に周波数をシフトするため、例えば、低周波数帯域において空いた周波数の信号電圧を0とする。そのため、実施の形態1では、ノイズキャンセル部113の信号合成において、信号電圧を0とした低周波数帯域におけるノイズが抑制されない。一方、実施の形態2では、低周波数帯域における周波数の信号電圧は0となっていない。よって、実施の形態2では、ノイズキャンセル部113の信号合成において、低周波数帯域におけるノイズも抑制される。
【0179】
(ハードウェア構成)
図38は、本開示に係る信号処理装置100のハードウェア構成の一例を示すブロック図である。
【0180】
図38に示すように、信号処理装置100は、プロセッサ1001、メモリ1002、信号入力I/F(Interface)1003、信号出力I/F1004、及び、通信装置1005を備えてよい。
【0181】
プロセッサ1001は、メモリ1002に記憶されたコンピュータプログラムを実行し、上述した信号処理装置100が備えるブロック101~113及び121~123の処理を実現してよい。プロセッサ1001は、制御部、制御装置、制御回路、コントローラ、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field-Programmable Gate Array)といった他の用語に読み替えられてもよい。
【0182】
メモリ1002は、信号処理装置100が取り扱うコンピュータプログラム及びデータを記憶する。メモリ1002は、ROM(Read-Only Memory)及びRAM(Random Access Memory)を含んでよい。また、メモリ1002は、揮発性メモリ及び不揮発性メモリを含んでよい。
【0183】
信号入力I/F1003は、アンテナ6に接続されてよい。信号入力I/F1003は、アンテナ6から入力された受信信号を、プロセッサ1001へ出力してよい。
【0184】
信号出力I/F1004は、ラジオ装置7に接続されてよい。信号出力I/F1004は、プロセッサ1001から入力された出力信号を、ラジオ装置7へ出力してよい。
【0185】
通信装置1005は、車両1内の通信ネットワークに接続されてよい。当該通信ネットワークの例として、CAN(Controller Area Network)、LIN、FlexRayが挙げられる。プロセッサ1001は、通信装置1005及び通信ネットワークを通じて、車両1が備える各装置と情報を送受信してよい。
【0186】
なお、信号処理装置100のブロック101~113及び121~123の少なくとも一部は、集積回路であるLSIとして実現されてもよい。ブロック101~123は、個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いてブロックの集積化を行ってもよい。
【0187】
以上、添付図面を参照しながら実施の形態について説明したが、本開示はかかる例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても本開示の技術的範囲に属すると了解される。また、発明の趣旨を逸脱しない範囲において、上述した実施の形態における各構成要素を任意に組み合わせてもよい。
【産業上の利用可能性】
【0188】
本開示の技術は、アンテナが受信した信号に含まれるノイズの除去に有用である。
【符号の説明】
【0189】
1 車両
2 車輪
3 モータ
4 インバータ
5 バッテリ
6 アンテナ
7 ラジオ装置
8 スピーカ
100 信号処理装置
101 A/D変換部
102 第1変換部
103 放送信号検出部
104 ノイズ周波数周期検出部
105 ピーク周波数検出部
106 周波数シフト量決定部
107 振幅補正係数決定部
108 位相補正係数決定部
109 周波数シフト部
110 補正部
111 第2変換部
112 遅延部
113 ノイズキャンセル部
121 信号消去部
122 信号抽出部
123 合成部
1001 プロセッサ
1002 メモリ
1003 信号入力I/F
1004 信号出力I/F
1005 通信装置