特開2016-224625(P2016-224625A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アズビル株式会社の特許一覧
<>
  • 特開2016224625-演算装置 図000014
  • 特開2016224625-演算装置 図000015
  • 特開2016224625-演算装置 図000016
  • 特開2016224625-演算装置 図000017
  • 特開2016224625-演算装置 図000018
  • 特開2016224625-演算装置 図000019
  • 特開2016224625-演算装置 図000020
  • 特開2016224625-演算装置 図000021
  • 特開2016224625-演算装置 図000022
  • 特開2016224625-演算装置 図000023
  • 特開2016224625-演算装置 図000024
  • 特開2016224625-演算装置 図000025
  • 特開2016224625-演算装置 図000026
  • 特開2016224625-演算装置 図000027
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2016-224625(P2016-224625A)
(43)【公開日】2016年12月28日
(54)【発明の名称】演算装置
(51)【国際特許分類】
   G06F 17/14 20060101AFI20161205BHJP
【FI】
   G06F17/14 510
【審査請求】未請求
【請求項の数】6
【出願形態】OL
【全頁数】21
(21)【出願番号】特願2015-108999(P2015-108999)
(22)【出願日】2015年5月28日
(71)【出願人】
【識別番号】000006666
【氏名又は名称】アズビル株式会社
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】佐々木 宏
【テーマコード(参考)】
5B056
【Fターム(参考)】
5B056BB13
(57)【要約】
【課題】フーリエ変換および逆フーリエ変換の少なくとも一方をより効率的に行うことのできる演算装置を提供する。
【解決手段】演算装置100は、それぞれ標本数N(Nは正の整数)を含む実数離散信号である第1実信号xおよび第2実信号yに対し、第1実信号xを実部とし、第2実信号yを虚部とする合成複素信号wに合成する合成部110と、合成複素信号wをフーリエ変換するフーリエ変換部120と、フーリエ変換部の出力であるスペクトルWを、第1実信号xをフーリエ変換した第1スペクトルXと、第2実信号yをフーリエ変換した第2スペクトルYとに分離する分離部130と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
それぞれ標本数N(Nは正の整数)を含む実数離散信号である第1の実信号および第2の実信号に対し、前記第1の実信号を実部とし、前記第2の実信号を虚部とする合成複素信号に合成する合成部と、
前記合成複素信号をフーリエ変換するフーリエ変換部と、
前記フーリエ変換部の出力であるスペクトルを、前記第1の実信号をフーリエ変換した第1のスペクトルと、前記第2の実信号をフーリエ変換した第2のスペクトルとに分離する分離部と、を備える、
演算装置。
【請求項2】
前記第1の実信号および第2の実信号は、所定のサンプリング周波数で2のべき乗の標本数Nをそれぞれサンプリングしたものであり、
前記分離部は、
前記スペクトルの正の周波数領域における実部と前記スペクトルの負の周波数領域における実部とに基づいて、前記第1のスペクトルの実部と、前記第2のスペクトルの虚部とに分離し、
前記スペクトルの正の周波数領域における虚部と前記スペクトルの負の周波数領域における虚部とに基づいて、前記第1のスペクトルの虚部と、前記第2のスペクトルの実部とに分離する、
請求項1に記載の演算装置。
【請求項3】
前記フーリエ変換部は、前記合成複素信号を高速フーリエ変換する、
請求項1または2に記載の演算装置。
【請求項4】
逆フーリエ変換するとそれぞれ標本数N(Nは正の整数)を含む実数離散信号になる第1のスペクトルおよび第2のスペクトルを、合成スペクトルに合成する合成部と、
前記合成スペクトルを逆フーリエ変換する逆フーリエ変換部と、
前記逆フーリエ変換部の出力である複素信号に対し、前記複素信号の実部から前記第1のスペクトルを逆フーリエ変換した第1の実信号を分離し、前記複素信号の虚部から前記第2のスペクトルを逆フーリエ変換した第2の実信号を分離する分離部と、を備える、
演算装置。
【請求項5】
前記第1の実信号および第2の実信号は、所定のサンプリング周波数で2のべき乗の標本数Nをそれぞれサンプリングしたものであり、
前記合成部は、
前記第2のスペクトルの周波数成分に虚数単位を乗じたものを、前記第1のスペクトルの周波数成分に加算し、前記合成スペクトルを合成する、
請求項4に記載の演算装置。
【請求項6】
前記逆フーリエ変換部は、前記合成スペクトルを逆高速フーリエ変換する、
請求項4または5に記載の演算装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明に係るいくつかの態様は、フーリエ変換および逆フーリエ変換のうちの少なくとも一方を行う演算装置に関する。
【背景技術】
【0002】
従来、この種の演算装置として、第1および第2の信号をフーリエ変換した値を、ヒルベルト変換した後に逆フーリエ演算を行うものが知られている(例えば、特許文献1参照)。この演算装置では、周波数領域においてヒルベルト変換することにより、第1および第2の信号の時間差を、比較的少ない演算量で求めることができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−180077号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の演算装置では、一般に、2つの信号に対してフーリエ変換を行う場合、2つの信号のそれぞれをフーリエ変換していた。同様に、2つのスペクトルに対して逆フーリエ変換を行う場合、2つのスペクトルのそれぞれを逆フーリエ変換していた。
【0005】
近年、演算装置において、リソースの削減、演算時間の短縮、消費電力量の低減などの要求がますます高まっており、演算負荷の大きいフーリエ変換および逆フーリエ変換の効率化が求められている。
【0006】
本発明のいくつかの態様は上記した問題に鑑みてなされたものであり、フーリエ変換および逆フーリエ変換の少なくとも一方をより効率的に行うことのできる演算装置を提供することを目的の1つとする。
【課題を解決するための手段】
【0007】
本発明の一態様における演算装置は、それぞれ標本数N(Nは正の整数)を含む実数離散信号である第1の実信号および第2の実信号に対し、第1の実信号を実部とし、第2の実信号を虚部とする合成複素信号に合成する合成部と、合成複素信号をフーリエ変換するフーリエ変換部と、フーリエ変換部の出力であるスペクトルを、第1の実信号をフーリエ変換した第1のスペクトルと、第2の実信号をフーリエ変換した第2のスペクトルとに分離する分離部と、を備える。
【0008】
上記演算装置において、第1の実信号および第2の実信号は、所定のサンプリング周波数で2のべき乗の標本数Nをそれぞれサンプリングしたものであり、分離部は、スペクトルの正の周波数領域における実部とスペクトルの負の周波数領域における実部とに基づいて、第1のスペクトルの実部と、第2のスペクトルの虚部とに分離し、スペクトルの正の周波数領域における虚部とスペクトルの負の周波数領域における虚部とに基づいて、第1のスペクトルの虚部と、第2のスペクトルの実部とに分離してもよい。
【0009】
上記演算装置において、フーリエ変換部は、合成複素信号を高速フーリエ変換してもよい。
【0010】
また、本発明の一態様における演算装置は、逆フーリエ変換するとそれぞれ標本数N(Nは正の整数)を含む実数離散信号になる第1のスペクトルおよび第2のスペクトルを、合成スペクトルに合成する合成部と、合成スペクトルを逆フーリエ変換する逆フーリエ変換部と、逆フーリエ変換部の出力である複素信号に対し、複素信号の実部から第1のスペクトルを逆フーリエ変換した第1の実信号を分離し、複素信号の虚部から前記第2のスペクトルを逆フーリエ変換した第2の実信号を分離する分離部と、を備える。
【0011】
上記演算装置において、第1の実信号および第2の実信号は、所定のサンプリング周波数で2のべき乗の標本数Nをそれぞれサンプリングしたものであり、合成部は、第2のスペクトルの周波数成分に虚数単位を乗じたものを、第1のスペクトルの周波数成分に加算し、合成スペクトルを合成してもよい。
【0012】
上記演算装置において、逆フーリエ変換部は、合成スペクトルを逆高速フーリエ変換してもよい。
【発明の効果】
【0013】
本発明の一態様における演算装置によれば、それぞれ標本数N(Nは正の整数)を含む実数離散信号である第1の実信号および第2の実信号に対し、第1の実信号を実部とし、第2の実信号を虚部とする合成複素信号に合成する合成部を備える。これにより、それぞれ自由度Nを有する第1の実信号および第2の実信号が、自由度2Nの合成複素信号に合成される。したがって、自由度Nの信号をフーリエ変換していた従来の演算装置と比較して、フーリエ変換の演算効率を向上させることができる。また、本発明の一態様における演算装置は、合成複素信号をフーリエ変換するフーリエ変換部と、フーリエ変換部の出力であるスペクトルを、第1の実信号をフーリエ変換した第1のスペクトルと、第2の実信号をフーリエ変換した第2のスペクトルとに分離する分離部と、を備える。これにより、合成複素信号を1回フーリエ変換したスペクトルから、第1のスペクトルと第2のスペクトルの両方を得ることが可能になる。したがって、2つの実信号をそれぞれフーリエ変換していた従来の演算装置と比較して、フーリエ変換の演算回数(演算数)を削減することができる。
【0014】
また、本発明の一態様における演算装置によれば、逆フーリエ変換するとそれぞれ標本数N(Nは正の整数)を含む実数離散信号になる第1のスペクトルおよび第2のスペクトルを、合成スペクトルに合成する合成部を備える。これにより、それぞれ自由度Nを有する第1のスペクトルおよび第2のスペクトルが、自由度2Nの合成スペクトルに合成される。したがって、自由度Nのスペクトルを逆フーリエ変換していた従来の演算装置と比較して、逆フーリエ変換の演算効率を向上させることができる。また、合成スペクトルを逆フーリエ変換する逆フーリエ変換部と、逆フーリエ変換部の出力である複素信号に対し、複素信号の実部から第1のスペクトルを逆フーリエ変換した第1の実信号を分離し、複素信号の虚部から第2のスペクトルを逆フーリエ変換した第2実信号を分離する分離部と、を備える。これにより、合成スペクトルを1回逆フーリエ変換した複素信号から、第1の実信号と第2の実信号の両方を得ることが可能になる。したがって、2つのスペクトルをそれぞれ逆フーリエ変換していた従来の演算装置と比較して、逆フーリエ変換の演算回数(演算数)を削減することができる。
【図面の簡単な説明】
【0015】
図1】第1実施形態に従う演算装置の概略構成の一例を示すブロック図である。
図2】スペクトルの周波数成分におけるインデックスと対応する正の周波数領域のインデックスとの関係の一例を示す表である。
図3】スペクトルの周波数成分におけるインデックスと実部および虚部との関係の一例を示す表である。
図4】第1実施形態に従う第1スペクトルの周波数成分におけるインデックスと実部および虚部との関係の一例を示す表である。
図5】、第1実施形態に従う第2スペクトルの周波数成分におけるインデックスと実部および虚部との関係の一例を示す表である。
図6】スペクトルの周波数成分におけるインデックスと実部および虚部との関係の一例を示す表である。
図7】第1実施形態に従う合成複素信号におけるインデックスと実部および虚部との関係の一例を示す表である。
図8】第1実施形態に従うスペクトルの周波数成分におけるインデックスと実部および虚部との関係の一例を示す表である。
図9】第1実施形態に従う演算装置を備えるスペクトラムアナライザの構成の一例を示すブロック図である。
図10】第1実施形態に従う演算装置を備える相関演算装置の構成の一例を示すブロック図である。
図11】第2実施形態に従う演算装置の概略構成の一例を示すブロック図である。
図12】第2実施形態に従う合成スペクトルの周波数成分におけるインデックスと実部および虚部との関係の一例を示す表である。
図13】第2実施形態に従う複素信号におけるインデックスと実部および虚部との関係の一例を示す表である。
図14】第1実施形態に従う演算装置と第2実施形態に従う演算装置とを備えるヒルベルト相関演算装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【0016】
以下に本発明の実施形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号で表している。但し、図面は模式的なものである。したがって、具体的な寸法などは以下の説明を照らし合わせて判断するべきものである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。さらに、本発明の技術的範囲は、当該実施形態に限定して解するべきではない。なお、以下の説明において、図面の上側を「上」、下側を「下」、左側を「左」、右側を「右」という。
【0017】
<第1実施形態>
図1乃至図10は、本発明に係る演算装置の第1実施形態を示すためのものである。図1は、第1実施形態に従う演算装置100の概略構成の一例を示すブロック図である。図1に示すように、演算装置100は、例えば、合成部110と、フーリエ変換部120と、分離部130と、を備える。
【0018】
合成部110には、例えば演算装置100の外部から、第1実信号xと第2実信号yとが入力される。第1実信号xおよび第2実信号yは、それぞれ、例えば位置、速度、加速度、圧力、音圧、温度、湿度、乾き度、電圧、電流などの物理量の信号である。そのため、第1実信号xおよび第2実信号yは、実数のみで表される実信号である。また、第1実信号xおよび第2実信号yは、同数の標本数(サンプル数)N(Nは正の整数)を含む離散信号でもある。第1実信号xおよび第2実信号yは、物理量の信号を、例えば所定のサンプリング周波数で標本数Nをそれぞれサンプリング(標本化)して生成することができる。
【0019】
合成部110は、第1実信号xおよび第2実信号yに対し、第1実信号xを実部とし、第2実信号yを虚部とする合成複素信号wに合成するように、構成されている。合成部110は、合成複素信号wをフーリエ変換部120に出力する。
【0020】
フーリエ変換部120は、合成部110から入力された合成複素信号wをフーリエ変換するように、構成されている。好ましくは、フーリエ変換部120は、合成複素信号wを高速フーリエ変換するように、構成されている。フーリエ変換部120は、フーリエ変換または高速フーリエ変換したスペクトルWを、分離部130に出力する。
【0021】
分離部130は、スペクトルWを、第1実信号xをフーリエ変換した第1スペクトルXと、第2実信号yをフーリエ変換した第2スペクトルYとに分離するように、構成されている。分離部130は、分離した第1スペクトルXおよび第2スペクトルYを、例えば演算装置100の外部に出力する。
【0022】
一般に、フーリエ変換は、フーリエ変換の対象となる関数x(t)と、フーリエ変換されたスペクトル関数X(ω)とを用いて、例えば以下の式(1)のように表される。
【0023】
【数1】
ここで、tは時間であり、ωは角周波数である。
【0024】
式(1)では、独立変数が時間tの関数x(t)を独立変数が角周波数ωのスペクトル関数X(ω)に変換する例を示したが、これに限定されない。フーリエ変換は、例えば、独立変数が位置の関数を、独立変数が空間周波数のスペクトル関数に変換する場合にも適用することが可能である。但し、説明の簡略化のため、以下において、独立変数が時間tの関数を、独立変数が周波数fの関数に変換する場合について説明する。
【0025】
式(1)において、フーリエ変換の対象である関数x(t)が実数関数である場合、その離散信号である第1実信号xおよび第2実信号yも実数である。一方、フーリエ変換されたスペクトル関数X(ω)は、周波数における振幅および位相を有するので、複素数で表される複素数関数になり、その離散スペクトルである第1スペクトルXおよび第2スペクトルYも複素数である。
【0026】
式(1)では、被積分関数である関数x(t)を、独立変数の時間tに対して−∞から∞まで積分する必要があること、および、関数x(t)が連続関数である必要があることから、式(1)を用いてフーリエ変換を行うことは現実的ではない。
【0027】
そこで、一般には、連続関数に対し、必要な情報を得るために十分に長い時間について、標本数Nの離散信号データxk(N個のうちのk番目の離散信号データを示す)(k=0、1、2、…、N−1)をサンプリング(標本化)した信号を用いる。このような離散信号データxkを用いてフーリエ変換するとき、特に離散フーリエ変換と呼ばれている。この場合、フーリエ係数Xm(N個のうちのm番目のフーリエ係数を示す)(m=0、1、2、…、N−1)は、以下の式(2)のように表される。
【0028】
【数2】
ここで、Δtは離散信号データxkのサンプリング間隔(時間)であり、Δωはフーリエ係数の角周波数の間隔(=2π/NΔt)である。
【0029】
サンプリングの際のサンプリング周波数fsは、離散信号データxkのサンプリング間隔Δtを用いて以下の式(3)のように表される。
s=1/Δt …(3)
【0030】
また、ナイキスト周波数fnは、標本化定理から以下の式(4)のように表される。
n=fs/2=1/2Δt …(4)
【0031】
N個のフーリエ係数Xmは、フーリエ変換後の周波数の信号、つまり、スペクトルXにおける各周波数成分である。スペクトルXの各周波数成分のうち、ナイキスト周波数fnを超える周波数成分は、周波数空間上で折り返されることが知られている。
【0032】
また、離散フーリエ変換を効率的に演算する手法の一つとして、高速フーリエ変換が知られている。高速フーリエ変換は、様々な種類が存在するが、以下において、最も一般的であり、広く用いられている、2を基底とするアルゴリズムについて説明する。
【0033】
2を基底とするアルゴリズムでは、標本数Nとして2のべき乗を用いる(N=2n)(nは正の整数)。
【0034】
高速フーリエ変換することで、離散信号の標本数Nと同数の周波数成分で構成されるスペクトルを得ることができる。
【0035】
スペクトルの周波数fの間隔Δfは、以下の式(5)のように表される。
Δf=Δω/2π=1/NΔt=fs/N …(5)
【0036】
スペクトルのm番目の周波数成分に対応する周波数fmは、以下の式(6)のように表される。
m=mΔf=m/NΔt=fsm/N …(6)
【0037】
標本数Nの半分のときの周波数fN/2がナイキスト周波数fnであり、以下の式(7)のように表される。
n=fN/2=fs/2 …(7)
【0038】
N個の離散信号データxkを高速フーリエ変換すると、スペクトルXのN個の周波数成分Xmが得られる。上記したように、ナイキスト周波数fnを超える周波数成分は、周波数空間上で折り返されるので、N個の周波数成分Xmのうち、インデックス(添字)mが0からN/2までが、物理的に意味を有する。
【0039】
図2は、スペクトルXの周波数成分Xmにおけるインデックスmと対応する正の周波数領域のインデックスとの関係の一例を示す表である。図2に示すように、N個の周波数成分Xmのうち、インデックスm=N/2がナイキスト周波数成分であり、インデックスm=0が直流(DC)成分である。また、インデックスmが1から(N/2)−1までは、正の周波数領域と呼ばれ、インデックスmが(N/2)+1からN−1までは、負の周波数領域と呼ばれている。負の周波数領域の周波数成分は、正の周波数領域の周波数成分に対応している。例えば、インデックスmが(N/2)+1の周波数成分X(N/2)+1は、インデックスmが(N/2)−1の周波数成分X(N/2)-1に対応し、インデックスmがN−1の周波数成分XN-1は、インデックスmが1の周波数成分X1に対応している。
【0040】
また、負の周波数領域であるインデックスmがN/2より大きい周波数成分Xmは、折り返された結果、対応する正の周波数領域の周波数成分Xmに対して複素共役になっている。
【0041】
すなわち、インデックスmがN/2より大きい場合、スペクトルXの周波数成分Xmは、インデックス(添字)m’(m’=N−m)を用いて、上記した式(2)から以下の式(8)のように表される。
【0042】
【数3】
ここで、*は複素共役を表す。
【0043】
高速フーリエ変換は、N個(=2n)の複素数データに対し、N回のバタフライ演算をnステージ繰り返し、配列の並べ替え(ビットリーバス)を行うことで、演算することができる。
【0044】
複素数データの高速フーリエ変換の結果、得られるスペクトルXの周波数成分Xmは、実部amと虚部bmと用いて、以下の式(9)のように表される。
m=am+jbm …(9)
【0045】
図3は、スペクトルXの周波数成分Xmにおけるインデックスmと実部および虚部との関係の一例を示す表である。図3に示すように、スペクトルXは、インデックスmが0からN−1のN個の周波数成分Xmで構成されており、2Nの自由度を有している。
【0046】
ここで、従来の演算装置では、高速フーリエ変換する際に、バタフライと配列の並べ替えを同一のメモリ空間に対して行っており、高速フーリエ変換の入力および出力のために同じメモリ領域を使用することが多かった。このため、従来の演算装置は、高速フーリエ変換の入力を、出力と同様に、2Nの自由度を有する複素数として扱っていた。
【0047】
しかしながら、高速フーリエ変換の入力が実信号である場合、複素数の実部しか使用していないので、高速フーリエ変換の入力は、実際にはNの自由度である。また、上記したように、スペクトルXの負の周波数領域は、正の周波数領域と複素共役になっているので、高速フーリエ変換の出力も、実際にはNの自由度である。このように、従来の演算装置は、自由度2Nの入力および出力に対し、その半分しか使用していなかった。さらに、従来の演算装置は、2つの実信号の入力に対し、それぞれ高速フーリエ変換し、出力として2つのスペクトルを得ていた。
【0048】
これに対し、本願発明者は、2つの実信号を複素数の実部と虚部に配置してフーリエ変換を行うことで複素数のスペクトルを得て、このスペクトルの実部と虚部から2つの実信号のそれぞれのスペクトルを得ることに想到した。
【0049】
一例として、第1実信号xがN個の実数離散信号データxk(k=0、1、2、…、N−1)を含み、第2実信号yがN個の実数離散信号データyk(k=0、1、2、…、N−1)を含む場合を考える。第1実信号xおよび第2実信号yは、実部のみを有するから、その自由度はNである。
【0050】
第1実信号xを高速フーリエ変換して得られる第1スペクトルXは、周波数成分Xm(m=0、1、2、…、N−1)を、上記した式(9)で表すことができる。
【0051】
一方、第2実信号yを高速フーリエ変換して得られる第2スペクトルYは、周波数成分Ym(m=0、1、2、…、N−1)が、実部cmと虚部dmと用いて以下の式(10)のように表される。
m=cm+jdm …(10)
【0052】
ここで、第1スペクトルXの直流成分である周波数成分X0は、例えば上記した式(2)から、以下の式(11)のように表される。
【0053】
【数4】
【0054】
実数離散信号データxkは実数なので、式(11)から明らかなように、周波数成分X0は実数であり、虚部を有さない。
【0055】
また、第1スペクトルXのナイキスト周波数成分である周波数成分XN/2は、上記した式(2)から以下の式(12)のように表される。
【0056】
【数5】
ここで、
【数6】
【0057】
よって、周波数成分XN/2も実数であり、虚部を有さない。
【0058】
さらに、上記したように、第1スペクトルXの負の周波数領域における周波数成分は、対応する正の周波数領域の周波数成分の複素共役になっている。
【0059】
第1スペクトルXにおいて、直流成分およびナイキスト周波数成分が実数である点、ならびに、負の周波数領域における周波数成分が対応する正の周波数領域の周波数成分の複素共役である点は、第2スペクトルYにおいても同様である。
【0060】
図4は第1実施形態に従う第1スペクトルXの周波数成分Xmにおけるインデックスmと実部および虚部との関係の一例を示す表であり、図5は第1実施形態に従う第2スペクトルYの周波数成分Ymにおけるインデックスmと実部および虚部との関係の一例を示す表である。図4に示すように、第1スペクトルXの周波数成分Xmにおいて、独立した値は、実部がa0、a1、a2、…、aN/2、虚部がb1、b2、…、aN/2-1のN個である。このように、高速フーリエ変換の入力である第1実信号xがNの自由度を有し、高速フーリエ変換の出力である第1スペクトルXも、Nの自由度を有している。図5に示すように、第2スペクトルYの周波数成分Ymにおいて、独立した値は、実部がc0、c1、c2、…、cN/2、虚部がd1、d2、…、dN/2-1のN個である。このように、高速フーリエ変換の入力である第2実信号yがNの自由度を有し、高速フーリエ変換の出力である第2スペクトルYも、Nの自由度を有している。
【0061】
ここで、実数である第2実信号yを複素数信号の虚部に配置して高速フーリエ変換する場合を考えてみると、そのようなスペクトルjYの周波数成分jYmは、上記した式(2)および式(10)から、以下の式(14)のように表される。
【0062】
【数7】
【0063】
図6は、スペクトルjYの周波数成分jYmにおけるインデックスmと実部および虚部との関係の一例を示す表である。図6に示すように、スペクトルjYの周波数成分jYmは、各インデックスmにおいて、図5に示す実部が、虚部になり、図5に示す虚部が、符号が反転して実部になっている。
【0064】
本実施形態の演算装置100では、合成部110が、第1実信号xおよび第2実信号yに対し、第1実信号xを実部とし、第2実信号yを虚部とする合成複素信号wに合成する。合成複素信号wは、N個の実数離散信号データwk(k=0、1、2、…、N−1)を含んでいる。
【0065】
図7は、第1実施形態に従う合成複素信号wにおけるインデックスkと実部および虚部との関係の一例を示す表である。図7に示すように、合成複素信号wは、各インデックスkにおいて、第1実信号xの実数離散信号データxkが実部に配置され、第2実信号yの実数離散信号データykが虚部に配置されている。このように、合成部110が、第1実信号xおよび第2実信号yに対し、第1実信号xを実部とし、第2実信号yを虚部とする合成複素信号wに合成することにより、それぞれ自由度Nを有する第1実信号xおよび第2実信号yが、自由度2Nの合成複素信号wに合成される。
【0066】
本実施形態の演算装置100では、フーリエ変換部120が、この合成複素信号wをフーリエ変換する。好ましくは、フーリエ変換部120は、合成複素信号wを高速フーリエ変換する。
【0067】
フーリエ変換部120の出力であるスペクトルWは、上記した式(2)、式(9)、および式(14)から、周波数成分Wm(m=0、1、2、…、N−1)が、以下の式(15)のように表される。
【0068】
【数8】
【0069】
本実施形態の演算装置100では、分離部130が、このスペクトルWを、第1実信号xをフーリエ変換した第1スペクトルXと、第2実信号yをフーリエ変換した第2スペクトルYとに分離する。これにより、合成複素信号wを1回フーリエ変換したスペクトルWから、第1スペクトルXと第2スペクトルYの両方を得ることが可能になる。
【0070】
図8は、第1実施形態に従うスペクトルWの周波数成分Wmにおけるインデックスmと実部および虚部との関係の一例を示す表である。図8に示すように、第1スペクトルXの直流成分である実部a0は、スペクトルWの直流成分の実部から得られる。また、第2スペクトルYの直流成分である実部c0は、スペクトルWの直流成分の虚部から得られる。同様に、第1スペクトルXのナイキスト周波数成分である実部aN/2は、スペクトルWのナイキスト周波数成分の実部から得られ、第2スペクトルYのナイキスト周波数成分である実部cN/2は、スペクトルWのナイキスト周波数成分の虚部から得られる。
【0071】
また、正の周波数領域において、p番目(pは1以上N/2未満の整数)の周波数成分は、実部がap−dpであり、この周波数成分に対応する負の周波数領域における周波数成分は、実部がap+dpである。よって、分離部130は、スペクトルWの正の周波数領域における実部ap−dpと、スペクトルWの負の周波数領域における実部がap+dpとに基づいて、第1スペクトルXのp番目の周波数成分の実部apと、第2スペクトルYのp番目の周波数成分の虚部dpとに分離することが可能である。具体的には、例えば、正の周波数領域における実部ap−dpと負の周波数領域における実部がap+dpとを加算して2で除する(割る)ことで、第1スペクトルXのp番目の周波数成分の実部apを得ることができる。また、例えば、正の周波数領域における実部ap−dpと負の周波数領域における実部がap+dpとを減算して2で除する(割る)ことで、第2スペクトルYのp番目の周波数成分の虚部dpを得ることができる。
【0072】
さらに、正の周波数領域におけるp番目の周波数成分は、虚部がcp+bpであり、この周波数成分に対応する負の周波数領域における周波数成分は、虚部がcp−dpである。よって、分離部130は、スペクトルWの正の周波数領域における虚部cp+bpと、スペクトルWの負の周波数領域における虚部cp−dpとに基づいて、第1スペクトルXのp番目の周波数成分の虚部bpと、第2スペクトルYのp番目の周波数成分の実部cpとに分離することが可能である。具体的には、例えば、正の周波数領域における虚部cp+bpと負の周波数領域における虚部cp−dpとを減算して2で除する(割る)ことで、第1スペクトルXのp番目の周波数成分の虚部bpを得ることができる。また、例えば、正の周波数領域における虚部cp+bpと負の周波数領域における虚部cp−dpとを加算して2で除する(割る)ことで、第2スペクトルYのp番目の周波数成分の実部cpを得ることができる。このように、分離部130は、加減算によってスペクトルWから第1スペクトルXおよび第2スペクトルYを分離することが可能になる。
【0073】
以上の説明では、分離部130が、ap、bp、cp、dpを求める際にすべての因子に対して2で除して(割って)いる例を示したが、これに限定されず、2で割ることを省略できる場合がある。例えば後述の第1実施例の場合、対数化部により乗算が加算に変換されるため、対数化後に減算することで対応することができる。また、例えば後述の第2実施例の場合、フーリエ変換により得られたスペクトルの各周波数成分がすべて2倍となっていても相関演算のピーク位置には影響しないため、2で割ることを省略できる。
【0074】
なお、スペクトルWを第1スペクトルXと第2スペクトルYとに分離するときに、加減算を行うが、桁落ち又は情報落ちによる計算誤算が生じないように、第1スペクトルXと第2スペクトルYの各周波数成分が似通った値となるような第1実信号xと第2実信号yとが与えられることが好ましい。第1スペクトルXおよび第2スペクトルYの一方の周波数成分が他方の周波数成分と比較して桁違いに大きい値である場合、他方の周波数成分が加減算の際に有効桁数が小さくなるおそれがあるからである。
【0075】
一般に、演算量(計算量)は乗算の回数(数)に比例すると考えられる。本実施形態の合成部110は、2つの第1実信号xおよび第2実信号yを合成複素信号wの実部と虚部とに代入して合成するだけなので、乗算は含まない。よって。合成部110は、演算量がないものとみなすことができる。
【0076】
また、上記したように、本実施形態の分離部130は、加減算によってスペクトルWから第1スペクトルXおよび第2スペクトルYを分離することが可能である。加減算後に2で除する(割る)場合、シフト演算または指数部のデクリメントで行うことができるため、演算量に含まれない。よって、分離部130も、演算量がないものとみなすことができる。
【0077】
本実施形態のフーリエ変換部120は、例えば離散フーリエ変換を行う場合、上記した式(2)を用いて計算する。式(2)では、離散信号データxkが実数である場合、各周波数成分に対して2N回の乗算を行うことになる。よって、離散フーリエ変換を行う場合、フーリエ変換部120は2N2回の乗算を行っている。
【0078】
一方、フーリエ変換部120が高速フーリエ変換を行う場合、2N回の乗算をnステージ行っている。高速フーリエ変換は、配列の並べ替え(ビットリバース)を行っているが、配列の並べ替えは乗算を含まない。よって、高速フーリエ変換を行う場合、フーリエ変換部120は2Nn(=2Nlog2N)回の乗算を行っている。
【0079】
高速フーリエ変換の演算量は、離散フーリエ変換の演算量と比較すると、(2Nlog2N)/2N2=log2N/N倍である。例えば、実数離散信号データxkおよび実数離散信号データykの標本数Nが1024(=210)である場合、高速フーリエ変換の演算量は、離散フーリエ変換の演算量のおよそ1/100になる。このように、フーリエ変換部120が高速フーリエ変換することにより、フーリエ変換の演算量を大幅に低減することが可能になる。
【0080】
次に、本実施形態の演算装置100を適用した実施例について説明する。
【0081】
(第1実施例)
図9は、第1実施形態に従う演算装置100を備えるスペクトラムアナライザ150の構成の一例を示すブロック図である。図9に示すように、スペクトラムアナライザ150は、例えば、上記した演算装置100と、対数化部151と、対数化部152と、を備える。
【0082】
演算装置100の合成部110には、第1実信号xとしてLチャネルの音声離散信号と、第2実信号yとしてRチャネルの音声離散信号とが入力される。
【0083】
演算装置100の分離部130は、分離した第1スペクトルXを対数化部151に出力するとともに、分離した第2スペクトルYを対数化部152に出力する。
【0084】
対数化部151および対数化部152は、入力値の対数を算出するように、構成されている。対数化部151は、入力された第1スペクトルXに対して対数を計算し、対数化された第1スペクトルXを外部に出力する。同様に、対数化部152は、入力された第2スペクトルYに対して対数を計算し、対数化された第2スペクトルYを外部に出力する。対数化された第1スペクトルXは、例えば、Lチャネルの音声における周波数毎の音圧レベルとして使用し、対数化された第2スペクトルYは、例えば、Rチャネルの音声における周波数毎の音圧レベルとして使用することが可能である。
【0085】
(第2実施例)
図10は、第1実施形態に従う演算装置100を備える相関演算装置160の構成の一例を示すブロック図である。図10に示すように、相関演算装置160は、例えば、上記した演算装置100と、複素共役導出部161と、乗算器162と、逆フーリエ変換部163と、を備える。
【0086】
演算装置100の分離部130は、分離した第1スペクトルXを複素共役導出部161に出力するとともに、分離した第2スペクトルYを乗算器162に出力する。
【0087】
複素共役導出部161は、入力値の複素共役を導出するように、構成されている。複素共役導出部161は、入力された第1スペクトルXから複素共役を導き出し、この第1スペクトルXの複素共役を乗算器162に出力する。
【0088】
乗算器162は、複数の入力値を乗算するように、構成されている。乗算器162は、複素共役導出部161からの第1スペクトルXの複素共役と、分離部130からの第2スペクトルYとを乗算し、算出した値を逆フーリエ変換部163に出力する。
【0089】
逆フーリエ変換部163は、入力値を逆フーリエ変換するように、構成されている。逆フーリエ変換部163は、乗算器からの値を逆フーリエ変換し、逆フーリエ変換後の値を、例えば外部に出力する。逆フーリエ変換部163の出力は、第1実信号xと第2実信号yとの周波数領域(周波数空間)における相関として使用することが可能である。
【0090】
また、演算装置100は、例えば二次元画像の画像処理を行う画像処理装置(図示省略)にも適用することが可能である。このような画像処理装置では、二次元のフーリエ変換を行うことがある。二次元のフーリエ変換は、二次元画像の行ごとに一次元のフーリエ変換を行い、次に、二次元画像の列ごとに一次元のフーリエ変換を行うことで、二次元のスペクトルを求めている。なお、二次元のフーリエ変換は、二次元画像の列ごとに一次元のフーリエ変換を行った後、二次元画像の行ごとに一次元のフーリエ変換を行ってもよい。
【0091】
例えば二次元画像が256×256ピクセルの場合、従来の演算装置を用いた画像処理装置では、行ごとに一次元のフーリエ変換を256回行い、列ごとに一次元のフーリエ変換を256回行う必要があり、合計512回のフーリエ変換を行っていた。
【0092】
一方、演算装置100を用いた画像処理装置では、行ごとに一次元のフーリエ変換を行う際に、2行分のフーリエ変換を一度に行うことができるためフーリエ変換の演算回数を128回に減らすことが可能になる。その後、列ごとに一次元のフーリエ変換を256回行うことにより、二次元のスペクトルが得られる。その結果、従来の演算装置を用いた画像処理装置と比較して、フーリエ変換の演算回数を3/4(=384/512)に減らすことが可能になる。
【0093】
このように、本実施形態の演算装置100によれば、それぞれ標本数N(Nは正の整数)を含む実数離散信号である第1実信号xおよび第2実信号yに対し、第1実信号xを実部とし、第2実信号yを虚部とする合成複素信号wに合成する合成部110を備える。これにより、それぞれ自由度Nを有する第1実信号xおよび第2実信号yが、自由度2Nの合成複素信号wに合成される。したがって、自由度Nの信号をフーリエ変換していた従来の演算装置と比較して、フーリエ変換の演算効率を向上させることができる。また、本実施形態の演算装置100は、合成複素信号wをフーリエ変換するフーリエ変換部120と、フーリエ変換部120の出力であるスペクトルWを、第1実信号xをフーリエ変換した第1スペクトルXと、第2実信号yをフーリエ変換した第2スペクトルYとに分離する分離部130と、を備える。これにより、合成複素信号wを1回フーリエ変換したスペクトルWから、第1スペクトルXと第2スペクトルYの両方を得ることが可能になる。したがって、2つの実信号をそれぞれフーリエ変換していた従来の演算装置と比較して、フーリエ変換の演算回数(演算数)を削減することができる。
【0094】
<第2実施形態>
図11乃至図14は、本発明に係る演算装置の第2実施形態を示すためのものである。なお、特に記載がない限り、上記した第1実施形態と同一構成部分は同一符号をもって表し、その説明を省略する。また、上記した第1実施形態と類似する構成部分は類似の符号をもって表し、その詳細な説明を省略する。さらに、図示しない構成部分および動作は、上記した第1実施形態と同様とする。
【0095】
図11は、第2実施形態に従う演算装置200の概略構成の一例を示すブロック図である。図11に示すように、演算装置200は、例えば、合成部210と、逆フーリエ変換部220と、分離部230と、を備える。
【0096】
合成部210には、例えば演算装置200の外部から、第1スペクトルXと第2スペクトルYとが入力される。第1スペクトルXおよび第2スペクトルYは、逆フーリエ変換すると、それぞれ、実数であって標本数(サンプル数)N(Nは正の整数)を含む実数離散信号になるスペクトルである。つまり、第1スペクトルXを逆フーリエ変換した出力は、実数離散信号である第1実信号xになり、第1スペクトルXを逆フーリエ変換した出力は、実数離散信号である第2実信号yになる。
【0097】
合成部210は、第1スペクトルXおよび第2スペクトルYを合成スペクトルZに合成するように、構成されている。合成部110は、合成した合成スペクトルZを逆フーリエ変換部220に出力する。
【0098】
逆フーリエ変換部220は、合成部210から入力された合成スペクトルZを逆フーリエ変換するように、構成されている。好ましくは、逆フーリエ変換部220は、合成スペクトルZを逆高速フーリエ変換するように、構成されている。逆フーリエ変換部220は、逆フーリエ変換または逆高速フーリエ変換した信号、すなわち、複素信号zを、分離部230に出力する。
【0099】
分離部230は、分離部230の出力である複素信号zに対し、第1スペクトルXを逆フーリエ変換した第1実信号xと、第2スペクトルYを逆フーリエ変換した第2実信号yとに分離するように、構成されている。分離部230は、分離した第1実信号xおよび第2実信号yを、例えば演算装置200の外部に出力する。
【0100】
一般に、逆高速フーリエ変換は、バタフライ演算および配列の並べ替え(ビットリバース)を用い、上記した高速フーリエ変換とほぼ同様の演算によって行うことができる。
【0101】
スペクトルXを逆高速フーリエ変換すると、所定のサンプリング周波数で、2のべき乗の標本数N(N=2n)(nは正の整数)をサンプリングした実数離散信号データxk(k=0、1、2、…、N−1)が得られる場合、実数離散信号データxkは、スペクトルXの周波数成分Xm(m=0、1、2、…、N−1)を用いて、以下の式(16)のように表される。
【0102】
【数9】
【0103】
多くの場合において、式(16)における1/Nは省略していることから、実数離散信号データxkは、以下の式(17)のように表してもよい。
【0104】
【数10】
【0105】
式(17)で得られる実数離散信号データxkを含む実信号xは、本来の信号に比べてN倍だけ大きな値となるが、すべての実数離散信号データxkが同じだけ大きくなるので、問題とならない場合が多い。
【0106】
ここで、第1スペクトルXがN個の周波数成分Xm(m=0、1、2、…、N−1)を含み、第2スペクトルYがN個の周波数成分Ym(m=0、1、2、…、N−1)を含む場合を考える。
【0107】
逆高速フーリエ変換して実数離散信号データxkを含む第1実信号xが得られる第1スペクトルXは、その周波数成分Xmを、上記した式(9)で表すことができる。
【0108】
一方、逆高速フーリエ変換してN個の実数離散信号データyk(k=0、1、2、…、N−1)を含む第2実信号yが得られる第2スペクトルYは、その周波数成分Ymを上記した式(10)で表すことができる。
【0109】
このような第1スペクトルXおよび第2スペクトルYにおいて、直流成分およびナイキスト周波数成分が実数である点、ならびに、負の周波数領域における周波数成分が対応する正の周波数領域の周波数成分の複素共役である点は、上記した高速フーリエ変換の場合と同様である。そのため、第1スペクトルXおよび第2スペクトルYは、自由度Nを有する。
【0110】
本実施形態の演算装置200では、合成部210が、第1スペクトルXおよび第2スペクトルYを合成スペクトルZに合成する。具体的には、合成部210は、例えば、第2スペクトルYの周波数成分Ymに虚数単位を乗じた(掛けた)ものを、第1スペクトルXの周波数成分Xmに加算し、合成スペクトルZを合成する。
【0111】
この場合、合成スペクトルZは、上記した式(9)および式(10)から、その周波数成分Zm(m=0、1、2、…、N−1)が、以下の式(18)のように表される。
m=Xm+jYm=(am−dm)+j(cm+bm) …(18)
【0112】
図12は、第2実施形態に従う合成スペクトルZの周波数成分Zmにおけるインデックスmと実部および虚部との関係の一例を示す表である。図12に示すように、正の周波数領域において、q番目(qは1以上N/2未満の整数)の周波数成分は、実部がaq−dqになり、この周波数成分に対応する負の周波数領域における周波数成分は、実部がaq+dqになる。また、正の周波数領域におけるq番目の周波数成分は、虚部がcq+bqになり、この周波数成分に対応する負の周波数領域における周波数成分は、虚部がcq−dqになる。このように、合成部210が、第1スペクトルXおよび第2スペクトルYを合成スペクトルXに合成することにより、それぞれ自由度Nを有する第1スペクトルXおよび第2スペクトルYが、自由度2Nの合成スペクトルZに合成される。
【0113】
本実施形態の演算装置200では、逆フーリエ変換部220が、この合成スペクトルZを逆フーリエ変換する。好ましくは、逆フーリエ変換部220は、合成スペクトルZを逆高速フーリエ変換する。
【0114】
逆フーリエ変換部220の出力である複素信号zは、上記した式(17)から、その実数離散信号データzk(k=0、1、2、…、N−1)が、以下の式(19)のように表される。
【0115】
【数11】
【0116】
本実施形態の演算装置200では、分離部230が、この複素信号zに対し、第1スペクトルXを逆フーリエ変換した第1実信号xと、第2スペクトルXを逆フーリエ変換した第2実信号yとに分離する。
【0117】
図13は、第2実施形態に従う複素信号zにおけるインデックスkと実部および虚部との関係の一例を示す表である。図13に示すように、複素信号zは、各インデックスkにおいて、第1実信号xの実数離散信号データxkが実部に配置され、第2実信号yの実数離散信号データykが虚部に配置される。よって、分離部230が、複素信号zの実部から第1スペクトルXを逆フーリエ変換した第1実信号xを分離し、複素信号zの虚部から第2スペクトルYを逆フーリエ変換した第2実信号yを分離することにより、合成スペクトルZを1回逆フーリエ変換した複素信号zから、第1実信号xと第2実信号yの両方を得ることが可能になる。
【0118】
次に、第1実施形態の演算装置100および本実施形態の演算装置200を適用した実施例について説明する。
【0119】
(第4実施例)
図14は、第1実施形態に従う演算装置100と第2実施形態に従う演算装置200とを備えるヒルベルト相関演算装置250の構成の一例を示すブロック図である。図14に示すように、ヒルベルト相関演算装置250は、例えば、第1実施形態の演算装置100と、複素共役導出部251と、乗算器252と、ヒルベルト変換部253と、上記した演算装置200と、位相関係導出部254と、直線近似部255と、を備える。
【0120】
なお、ヒルベルト相関演算装置250の演算装置100、複素共役導出部251、および乗算器252は、図10に示す相関演算装置160の演算装置100、複素共役導出部161、および乗算器162と同様であるため、説明を省略する。
【0121】
ヒルベルト変換部253は、入力値をヒルベルト変換するように、構成されている。ヒルベルト変換部253は、乗算器252からの値を周波数領域でヒルベルト変換し、ヒルベルト変換後の値を演算装置200の合成部210に出力する。
【0122】
演算装置200の合成部210には、第1スペクトルXとして乗算器252からの値と、第2スペクトルYとしてヒルベルト変換部253からの値とが入力される。
【0123】
演算装置200の分離部230は、分離した第1実信号xおよび第2実信号yを、位相関係導出部254に出力する。
【0124】
位相関係導出部254は、複数の入力値の位相関係を導出するように、構成されている。位相関係導出部254は、演算装置200の分離部230から出力された第1実信号xおよび第2実信号yの位相関係を導出し、導出した位相関係を直線近似部255に出力する。
【0125】
直線近似部255は、位相関係導出部254の出力である位相関係を直線近似によって補間するように、構成されている。直線近似部255は、補完した位相関係を例えば外部に出力する。直線近似部255の出力値は、例えば位相関係が0になる点を相関のピーク位置として使用することが可能である。
【0126】
このように、本実施形態の演算装置200によれば、逆フーリエ変換するとそれぞれ標本数N(Nは正の整数)を含む実数離散信号になる第1スペクトルXおよび第2スペクトルYを、合成スペクトルZに合成する合成部210を備える。これにより、それぞれ自由度Nを有する第1スペクトルXおよび第2スペクトルYが、自由度2Nの合成スペクトルZに合成される。したがって、自由度Nのスペクトルを逆フーリエ変換していた従来の演算装置と比較して、逆フーリエ変換の演算効率を向上させることができる。また、合成スペクトルZを逆フーリエ変換する逆フーリエ変換部220と、逆フーリエ変換部220の出力である複素信号zに対し、複素信号zの実部から第1スペクトルXを逆フーリエ変換した第1実信号xを分離し、複素信号zの虚部から第2スペクトルYを逆フーリエ変換した第2実信号yを分離する分離部230と、を備える。これにより、合成スペクトルZを1回逆フーリエ変換した複素信号zから、第1実信号xと第2実信号yの両方を得ることが可能になる。したがって、2つのスペクトルをそれぞれ逆フーリエ変換していた従来の演算装置と比較して、逆フーリエ変換の演算回数(演算数)を削減することができる。
【0127】
なお、本発明は、上記の各実施形態に限定されることなく種々に変形して適用することが可能である。
【0128】
また、上記発明の各実施形態を通じて説明された実施例や応用例は、用途に応じて適宜に組み合わせて、または変更もしくは改良を加えて用いることができ、本発明は上記した実施形態の記載に限定されるものではない。そのような組み合わせまたは変更もしくは改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【符号の説明】
【0129】
1…流量計
100、200…演算装置
110、210…合成部
120…フーリエ変換部
130、230…分離部
220…逆フーリエ変換部
w…合成複素信号
x…第1実信号
y…第2実信号
z…複素信号
W…スペクトル
X…第1スペクトル
Y…第2スペクトル
Z…合成スペクトル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14