JP3873721B2 - 周波数解析装置及び打検装置 - Google Patents
周波数解析装置及び打検装置 Download PDFInfo
- Publication number
- JP3873721B2 JP3873721B2 JP2001355058A JP2001355058A JP3873721B2 JP 3873721 B2 JP3873721 B2 JP 3873721B2 JP 2001355058 A JP2001355058 A JP 2001355058A JP 2001355058 A JP2001355058 A JP 2001355058A JP 3873721 B2 JP3873721 B2 JP 3873721B2
- Authority
- JP
- Japan
- Prior art keywords
- frequency
- spectrum data
- window function
- waveform data
- complex
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Investigating Or Analyzing Materials By The Use Of Ultrasonic Waves (AREA)
Description
【発明の属する技術分野】
本発明は、打検の反響音等の振動のモード周波数を、高速フーリエ変換法(Fast Fourier Transform:FFT)等の離散フーリエ級数展開を用いて同定する周波数解析技術に関し、特に、FFT等の離散フーリエ級数展開を実行する際に用いる窓関数として複素窓関数を用いた周波数解析技術に関する。
【0002】
【従来の技術】
内容物が正常に充填・密封された缶詰においては、缶内圧力が陰圧等の所定の圧力に保たれている。これに対し、充填・密封が不完全な場合には缶内圧は大気圧と等しくなり、また内容物が腐敗・発酵してガスが発生すると缶内圧力が上昇する。このように、異常缶と正常缶とでは缶内圧力が一般に異なっている。そして、缶内圧力が異なれば、缶体の振動の固有振動数が異なる。そこで、従来から打検により缶内圧力を検査し、異常缶を排除している。
【0003】
打検としては、一般に、インライン打検とケース打検とが実施されている。
インライン打検は、主に充填・密封の不良による漏洩を検知するため、充填・巻締・レトルト工程を経てカートン詰めされる直前の缶詰に対して実施される。
一方、ケース打検は、主に変敗による缶内圧力変化を検知するため、カートン詰め後、数日間の保存期間を経過した缶詰に対し、カートンに詰めたままで実施される。ケース打検は、カートンを開けずに検査できるので、異常が発見されて回収された製品を再選別する際に特に有用である。
【0004】
打検の際には、一般にFFTを用いて缶体の振動の固有振動数を求める。FFTとは、離散フーリエ級数展開を高速に実行するための計算アルゴリズムのことであり、その計算原理は、離散フーリエ級数展開とまったく同じである。
FFTでは、観測した振動波形が無限に繰り返されるとみなして観測データを解析する。ところが、データ列の先頭のデータと最後のデータとでは、通常、位相不整合が生じている。このため、FFTにより求めるスペクトルには誤差が生じる。
【0005】
そこで、FFTによる周波数解析では、データ列に実数関数を乗じる前処理を行うことにより、位相不整合を解消し、スペクトルの誤差を低減させる。この前処理において、位相不整合を解消する目的で用いられる関数を窓関数と称する。窓関数としては、例えばハニング窓関数やハミング窓関数が知られているが、このほかにも解析対象とする振動の種類に応じて種々の実数関数が用いられる。
【0006】
ところで、FFTをはじめとする離散フーリエ級数展開におけるスペクトルの周波数分解能は、直交関数系の基底モードの周波数、すなわち、全観測時間の逆数により制約される。この制約を相反則という。相反則における周波数分解能とは、近接する二つのモードの振動周波数を弁別する能力をいう。
【0007】
全観測時間がTの場合、FFT等の離散フーリエ級数展開により求められるスペクトルの周波数間隔は1/Tである。二つのモードを弁別するためには、スペクトルが<山−谷−山>のパターンを有していることが必要である。このため、この場合の周波数分解能は2/Tとなる。したがって、振動時間が短い場合、高い周波数分解能を得ることは原理的に困難である。例えば、打検による振動のように振動時間がわずか数ミリ秒(ms)間しか続かない場合、周波数分解能は高々数百ヘルツ(Hz)にすぎない。
【0008】
これに対し、打検による振動は、通常、振動モードが離散的であり、多くの場合、振動モードは単一モードである。このため、打検では、一つのモード周波数を決定する能力、言い換えれば、モード周波数を同定する能力が要求される。すなわち、打検の際の周波数解析において要求される周波数精度は、上述した周波数弁別能力とは異なるものである。このため、周波数同定能力については、上述した相反則は適用されない。したがって、観測時間の短い波形データからであっても、周波数弁別能力以上の精度でモード周波数を同定することは可能である。
【0009】
そこで、従来の打検システムにおいては、高い周波数同定能力を得るため、サンプリングデータの後ろに「0」値を付加してサンプリング点を拡張し、見かけ上の観測時間を長くしてFFTを行っている。例えば、サンプリング周波数20kHzで128点をサンプリングした観測データに「0」値データを付加し、サンプリング点を2048点に拡張したうえでFFTを行っている。この方法(以下、「0点付加法」とも称する。)により、1モード振動のモード周波数を十分な精度で同定することができる。その結果、例えば、10Hz程度の精度で振動のモード周波数を求め、缶内圧力変化を検知することができる。
【0010】
【発明が解決しようとする課題】
上述した0点付加法による周波数解析方法は、観測時間が短い場合であっても高い精度でモード周波数を同定することができる点で優れているが、サンプリング点を拡張した分だけ余分な計算を行う必要があり、演算負荷が増大してしまう点で改良の余地がある。
【0011】
なお、高速演算速度を有するCPUを採用したり、FFT専用素子を利用することにより、演算処理速度の向上を図ることも考えられる。しかしながら、高速演算CPUは、発熱量の増大や、それに伴う動作の安定性限界等の問題を有している。また、FFT専用素子を採用すると、打検装置の性能が特定の素子によって決まってしまう。その結果、打検装置の寿命は一般的な素子の生産期間よりも長いため、素子の生産中止により打検装置の仕様変更を余儀なくされることになる。
【0012】
本発明は、上記の事情にかんがみてなされたものであり、演算負荷の増加を抑制しつつ、高い精度でモード周波数を同定することができる周波数解析技術の提供を目的とする。
【0013】
【課題を解決するための手段】
上記第一の目的の達成を図るため、本出願に係る発明者は、種々の検討及び実験を重ねた結果、FFT等の離散フーリエ級数展開により求めたフーリエスペクトルを複素三角関数で表示した場合、周波数原点が位相項として他の表示周波数と分離して表せることに着目した。そして、この位相項を前処理において窓関数として用いれば、スペクトルの表示周波数の原点を周波数軸上で任意にずらすことができることに想到した。すなわち、表示周波数原点をずらすことにより、任意の周波数のスペクトルを求めることができることに想到した。
【0014】
そこで、本発明の請求項1記載の周波数解析装置は、振動現象から一定のサンプリング時間間隔でサンプリングされた波形データ列に、窓関数を乗じて切出波形データ列を生成する前処理手段と、前記切出波形データ列から高速フーリエ変換法等の離散フーリエ級数展開によりスペクトルデータ列を生成するフーリエ変換手段と、前記スペクトルデータ列に含まれるスペクトルデータのうち、最大値となるスペクトルデータの周波数を前記振動音のモード周波数として同定する同定手段とを備える周波数解析装置であって、前記前処理手段は、前記窓関数として、実数窓関数(実数関数の窓関数)に複素位相項を乗じた複素窓関数を使用し、前記複素窓関数の前記複素位相項の値を一定間隔で変化させた各複素窓関数を前記波形データ列にそれぞれ乗じることにより、互いに位相をずらした複数の切出波形データ列を生成し、前記フーリエ変換手段は、前記各切出波形データ列から、周波数原点を一定周波数ずつずらした複数のスペクトルデータ列を追加生成する構成としてある。
【0015】
FFT等の離散フーリエ級数展開により求めたフーリエスペクトルを複素三角関数で表示した場合、周波数原点を位相項として他の表示周波数と分離して表示することができる。このため、FFT等の離散フーリエ級数展開を行う前に位相項だけを計算することができる。すなわち、位相項を前処理において複素数の窓関数として用いることができる。その結果、複素窓関数は、単に、観測データ列の端部どうしの位相不整合を低減する目的にとどまらず、表示周波数の原点を周波数軸上で移動させる目的でも利用することができる。
【0016】
そして、本発明の周波数解析装置によれば、複素窓関数の複素位相項の値を変化させ、スペクトルの周波数原点を周波数軸上で移動させる。その結果、任意の周波数を原点とするスペクトルデータ列を生成することができる。このため、スペクトルの表示周波数間隔は原理的に無限に細かくすることができる。すなわち、周波数同定能力は、原理的に制約を受けない。これにより、短時間の波形データであっても高い精度で打検のモード周波数を同定することができる。
【0017】
また、本発明によれば、通常のFFTに加え、周波数原点をシフトさせた切出波形データに対してもFFT等の離散フーリエ級数展開を行うため、通常のFFTに比べて演算量は増加する。しかしながら、上述した0点付加法と比較すると、より少ない演算量で同程度の精度でモード周波数を同定することができる。このため、0点付加法を用いた場合に比べて、本発明では演算負荷の増加を抑制しつつ、高精度でモード周波数を同定することができる。
【0018】
また、前処理手段は、複素窓関数の複素位相項の値を一定間隔で変化させた各複素窓関数を波形データ列にそれぞれ乗じることにより、互いに位相をずらした複数の切出波形データ列を生成し、フーリエ変換手段は、各切出波形データ列から、周波数原点を一定周波数ずつずらした複数のスペクトルデータ列を追加生成する構成としてあるので、上述したように、周波数原点をずらしたスペクトルデータ列を生成すれば、通常のFFTによりスペクトルデータ列を生成する場合に比べ、演算量が増加する。しかしながら、上述した0点付加法と比較すると、より少ない演算量で同程度の精度でモード周波数を同定することができる。このため、0点付加法を用いた場合に比べて、本発明では演算負荷の軽減を図ることができる。その結果、処理時間の短縮を図ることができる。
【0019】
また、請求項2記載の発明は、振動現象から一定のサンプリング時間間隔でサンプリングされた波形データ列に、窓関数を乗じて切出波形データ列を生成する前処理手段と、前記切出波形データ列から高速フーリエ変換法等の離散フーリエ級数展開によりスペクトルデータ列を生成するフーリエ変換手段と、前記スペクトルデータ列に含まれるスペクトルデータのうち、最大値となるスペクトルデータの周波数を前記振動音のモード周波数として同定する同定手段とを備える周波数解析装置であって、前記同定手段は、周波数原点をずらしていない基礎スペクトルデータ列のうち、最大値となるスペクトルデータの周波数を中央周波数とし、前記前処理手段は、前記中央周波数を前記基礎スペクトルデータ列の周波数間隔の半分ずつ前後にずらした候補区間内の周波数へ前記基礎スペクトルデータ列の周波数原点を移動させる複素窓関数を、前記波形データ列に乗じて切出波形データ列を生成し、前記フーリエ変換手段は、前記切出波形データ列から生成されるスペクトルデータ列のうち、周波数原点のスペクトルデータを選択的に追加生成し、前記同定手段は、中央周波数のスペクトルデータ及び追加生成されたスペクトルデータのうちで最大値となるスペクトルデータの周波数をモード周波数として同定する構成としてある。
【0020】
このようにすれば、通常のFFTによるスペクトルデータ列を計算した後、そのうちの最大値のスペクトルの周波数付近のみで周波数間隔を分割してモード周波数を求めることができる。さらに、候補区間内の周波数へ周波数原点を移動させるので、追加生成されるスペクトルデータ列のうち、周波数原点に対応するスペクトルデータのみを計算してモード周波数を求めることができる。これにより、演算負荷のより一層の軽減を図ることができる。その結果、処理時間の一層の短縮を図ることができる。
【0021】
また、請求項3記載の発明は、振動現象から一定のサンプリング時間間隔でサンプリングされた波形データ列に、窓関数を乗じて切出波形データ列を生成する前処理手段と、前記切出波形データ列から高速フーリエ変換法等の離散フーリエ級数展開によりスペクトルデータ列を生成するフーリエ変換手段と、前記スペクトルデータ列に含まれるスペクトルデータのうち、最大値となるスペクトルデータの周波数を前記振動音のモード周波数として同定する同定手段とを備える周波数解析装置であって、(a)前記同定手段は、周波数原点をずらしていない基礎スペクトルデータ列のうち、最大値となるスペクトルデータの周波数を基準周波数とし、(b)前記前処理手段は、前記基準周波数を前記基礎スペクトルデータ列の周波数間隔の半分である分割周波数間隔ずつ前後にずらした二つの周波数へ周波数原点をそれぞれ移動させる複素窓関数を、前記波形データ列にそれぞれ乗じて一対の切出波形データ列をそれぞれ生成し、(c)前記フーリエ変換手段は、前記一対の切出波形データ列からそれぞれ生成されるスペクトルデータ列のうち、二つの周波数原点のスペクトルデータを選択的に追加生成し、(d)前記同定手段は、追加生成された二つのスペクトルデータ及び前記基準周波数のスペクトルデータのうち、最大値をとるスペクトルデータの周波数を新たな基準周波数とし、(e)前記前処理手段は、最新の基準周波数を直前の分割周波数間隔のさらに半分の新たな分割周波数ずつ前後にずらした二つの周波数へ周波数原点をそれぞれ移動させる複素窓関数を、前記波形データ列にそれぞれ乗じて一対の新たな切出波形データ列を生成し、(f)前記フーリエ変換手段は、最新の一対の切出波形データ列からそれぞれ生成されるスペクトルデータ列のうち、二つの周波数原点のスペクトルデータを選択的に追加生成し、(g)前記同定手段は、追加生成された最新の二つのスペクトルデータ及び最新の基準周波数のスペクトルデータのうちから、最大値をとるスペクトルデータの周波数を新たな基準周波数とし、前記前処理手段、フーリエ変換手段及び同定手段は、前記(e)〜(g)の処理を繰り返した後、最新の基準周波数を前記モード周波数として同定する構成としてある。
【0022】
このようにすれば、通常のFFT等の離散フーリエ級数展開によるスペクトルデータ列を計算した後、最大値のスペクトルの周波数付近のスペクトルのみを、その範囲を徐々に狭めながら選択的に計算してモード周波数を求めることができる。さらに、いったん基準周波数を求めた後は、最新の基準周波数を直前の分割周波数間隔のさらに半分の新たな分割周波数ずつ前後にずらした二つの周波数へ周波数原点をそれぞれ移動させるので、追加生成されるスペクトルデータ列のうち、周波数原点に対応するスペクトルデータのみを計算してモード周波数を求めることができる。これにより、演算負荷のより一層の軽減を図ることができる。その結果、処理時間の一層の短縮を図ることができる。
【0023】
また、請求項4記載の発明によれば、前処理手段は、複素窓関数として、下記の(1)式に示すC(n,m)を含む複素関数を使用する構成としてある。
C(n,m)=H(n)・exp(−i2π(n・m)/(NM))…(1)
ただし、n=0,1,…,N−1を満たす。Nは、波形データのサンプリング数を表し、1以上の整数である。また、m=0,1,…,M−1を満たす。Mは、スペクトルデータ列の周波数間隔の分割数を表し、1以上の整数である。また、H(n)は、実数関数の窓関数を表す。
【0024】
このように、従来の実数窓関数H(n)に、複素位相項exp(−i2π(n・m)/(N/M))を乗じた複素窓関数C(n,m)を用いることが望ましい。波形データ列{x(n)}に、この複素窓関数C(n,m)を乗じると、切出波形データ列{C(n,m)・x(n)}が得られる。この切出波形データ列{C(n,m)・x(n)}に対して離散フーリエ級数展開を行って得たスペクトルデータ列{X(k,m)}の周波数fk,mは、下記の(3)式で与えられる。
fk,m=(fs/N)(k+m/M)…(3)
【0025】
上記の(3)式に示すように、N点のスペクトルデータ列{X(k,m)}の周波数間隔は、(fs/N)である。さらに、m=0,1,…,M−1と変化させることにより、スペクトルデータ列の各周波数を(fs/(M・N))ずつずらすことができる。「M」の値は無制限に大きくすることができるので、(fs/(M・N))の値も無制限に小さくすることができる。すなわち、複素窓関数を用いることにより、単一モード、又は、他と十分に独立したモードの振動波形のモード周波数は、原理的にいくらでも精度よく求めることができる。
【0026】
また、請求項5記載の発明によれば、前処理手段は、複素窓関数として、C(n,m)に、第二の複素位相項exp(−i2πnk/N)を乗じた下記の(2)式に示すCk(n,m)を使用する構成としてある。
Ck(n,m)=C(n,m)・exp(−i2πnk/N)…(2)
ただし、kは、スペクトルデータ列に含まれるスペクトルデータの、周波数原点のスペクトルデータから数えた番号を表し、0以上の整数である。
【0027】
上記の(1)式に示すC(n,m)により、周波数間隔内で周波数原点を移動させることができる。これに加えて、上記の(2)式に示すCk(n,m)によれば、第二複素位相項により、周波数間隔を越えて、任意の周波数は周波数原点を移動させることができる。
【0028】
また、本発明の請求項6記載の打検装置は、被検査体に衝撃を与える衝撃手段と、打撃を与えられた前記被検査体の振動音を集音して電気的な反響信号を生成する集音手段と、前記反響信号をアナログ/デジタル変換し、一定のサンプリング時間間隔でサンプリングされた波形データ列を生成するデジタル変換手段と、同定されたモード周波数に基づいて被検査体の良否を判定する判定手段とを備える打検装置であって、前記請求項1〜5のいずれかに記載の周波数解析装置を備え、当該周波数解析装置によって前記モード周波数を同定する構成としてある。
【0029】
このように、本発明の打検装置は、上述の周波数解析装置を利用したものであり、前処理手段が、複素窓関数の複素位相項の値を変化させ、スペクトルの周波数原点を周波数軸上で移動させる。その結果、フーリエ変換手段は、任意の周波数を原点とするスペクトルデータ列を生成することができる。このため、フーリエ変換手段により生成されるスペクトルの表示周波数間隔は原理的に無限に細かくすることができる。すなわち、周波数同定能力は、原理的に制約を受けない。これにより、高い精度でモード周波数を同定することができる。
【0030】
また、本発明によれば、通常のFFTに加え、周波数原点をシフトさせた切出波形データに対してもFFT等の離散フーリエ級数展開を行うため、通常のFFTに比べて演算量は増加する。しかしながら、上述した0点付加法と比較すると、より少ない演算量で同程度の精度でモード周波数を同定することができる。このため、0点付加法を用いた場合に比べて、本発明では演算負荷の増加を抑制しつつ、高精度でモード周波数を同定することができる。
【0031】
また、請求項7記載の発明は、フーリエ変換手段が、スペクトルデータ列に含まれるスペクトルデータのうち、1000〜3000Hzの周波数範囲の少なくとも一部分を含む特定の周波数範囲内のスペクトルデータのみを選択的に生成する構成としてある。
【0032】
通常のFFTにおいては、サンプリング周波数が20kHzの場合、0〜10000Hzの周波数範囲にわたって周波数解析を行っている。これに対して、打検による振動のモード周波数は、1000Hz〜3000Hzの範囲内に含まれることが多い。このため、この周波数範囲の少なくとも一部分を含む特定の周波数範囲内のスペクトルデータを選択的に計算すれば、演算負荷を一層軽減し、処理速度の向上を図ることができる。
【0033】
【発明の実施の形態】
以下、本発明の周波数解析装置及び打検装置の実施の形態について、図面を参照して説明する。本発明の各実施形態の説明に先立ち、本発明の理解を容易にするため、離散的に観測されたデータ列に対する、FFT等の離散フーリエ級数展開をはじめとする離散フーリエ級数展開による離散的スペクトルの推定方法について説明する。
【0034】
サンプリング間隔τ=1/fs(fsはサンプリング周波数)でN回観測された波形データ列{x(tn):n=0,1,2,…,N―1}を、関数系列{φk(t):k=0,1,2,…}を用いて最小二乗近似する。すなわち、二乗ノルムは、下記の(4)式で与えられる。
【0035】
【数1】
【0036】
上記二乗ノルムの値が最小となるように係数ckを決定することにより、関数系列{φk(t):k=0,1,2,…}の一次結合として、データ列{x(tn):n=0,1,2,…,N―1}を最良近似する。関数系列を適切に選べば、最良近似は一通りに決まる。
【0037】
関数系列を下記の(5)式で与えられる波動方程式の解である複素三角関数系{exp{i2πfkt}:k=0,1,…}で構成し、その係数をX(k)とすると、X(k)は振動周波数fkに対する振動振幅を表す。これをスペクトルと称する。
(d2x/dt2)+ω2x=0 …(5)
【0038】
関数系列{φk(t)}を下記の(6)式で与えられる正規化直交条件を満たすように定めると、この関数系列は離散フーリエ級数展開となる。この正規直交系列に対する係数ckをフーリエ係数と称する。フーリエ係数ckは、上記の(4)式を各フーリエ係数で偏微分してその値を0とおくことにより、下記の(7)式で与えられる。
【0039】
【数2】
【0040】
さらに、関数系列{φk(t)}が複素関数系{exp(i2πfkt):k=0,1,2,…}であり、波形データ列{x(tn)}が、tn=n・τの等間隔サンプリングである場合、上記の(6)式に示した正規直交系列条件式は、下記の(8)式で与えられる。
【0041】
【数3】
【0042】
これにより、周波数に関する直交条件は、下記の(9)式で与えられる。
fk=f0+(k/Nτ)=f0+(k/T)=f0+(k/N)fs …(9)
また、フーリエスペクトル(スペクトルデータ)X(k)は、下記の(10)式で与えられる。
【0043】
【数4】
【0044】
ただし、上記の(9)及び(10)式において、T=Nτは全観測時間を表す。また、複素三角関数の周期性からkは、k=0,1,…,N−1に限定される。
【0045】
そして、上記の(9)式に示した周波数に関する直交条件から相反則が導き出される。すなわち、フーリエスペクトルの周波数間隔Δfkは、全観測時間Tの逆数で定められることが分かる。
【0046】
また、サンプリング周波数fsで標本化した波形データからは、最大fs/2までの周波数のスペクトルデータしか得られない。その理由は、fs/2よりも高い周波数成分を含む振動をサンプリングすると、エリアジングによる誤差を招くためである。したがって、スペクトルデータの有効な周波数は、下記の(11)式で与えられる。
f0+(k/N)fs<fs/2 …(11)
【0047】
なお、FFTでは、形式上、fs/2からfsまでの周波数に対するスペクトルデータも得られるが、これらデータは、下記の(12)式に示すように、0からfs/2に対する負の周波数のスペクトルを求めることになり意味を持たない。
exp{i2π(fs−fk)nτ}=exp{i2π(−fk)nτ}…(12)
【0048】
このようにFFT等の離散フーリエ級数展開による周波数解析においては、隣接するモード周波数の弁別能力が全観測時間Tにより制約されるとともに、スペクトルデータの周波数の上限がサンプリング周波数fsにより決まる。
【0049】
これに対し、打検では、周波数弁別能力とは異なり、モード周波数を同定する能力が要求される。そして、周波数同定能力については、上述した相反則は適用されない。このため、観測時間の短い波形データからであっても、周波数弁別能力以上の精度で、FFT等の離散フーリエ級数展開を用いてモード周波数を同定することは可能である。
【0050】
また、上記の(10)式に示したフーリエスペクトルは、下記の(13)式に変形することができる。
【0051】
【数5】
【0052】
上記の(13)式中の(x(nτ)e-i2 πf 0 ・nτ)は、kに無関係である。したがって、この括弧中はFFT等の離散フーリエ級数展開を行う前に計算することができる。これは、この括弧中の複素位相項を窓関数として扱えることを意味する。この複素位相項を実数窓関数と掛け合わせて生成した窓関数を、複素窓関数と称する。複素窓関数の実数窓関数部には、解析対象とする振動の種類に応じて、ハニング窓関数やハミング窓関数などの、種々の実数関数を用いることができる。
【0053】
そして、複素窓関数の複素位相項には任意の値を与えることができる。すなわち、複素位相項中のf0の値を任意に設定することができる。その結果、通常の窓関数が波形データ列の端部における位相不整合を解消する目的で用いられるのに対し、複素窓関数は、スペクトルデータの表示周波数の原点を周波数軸上で移動させるために用いることができる。これにより、後述の各実施形態に示すように、高精度でモード周波数を決定することが可能となる。
【0054】
つぎに、FFTの演算処理速度について説明する。FFTの演算処理速度は、最も処理時間のかかる複素乗算の回数で表される。複素乗算は、前処理において波形データ列に窓関数をかける処理、及び、FFTアルゴリズムの中核であるバタフライ演算で実行される。なお、複素乗算の回数のカウントにあたっては、1回の(実数)×(実数)乗算は複素数どうしの乗算の1/4回としてカウントされる。また、1回の(実数)×(複素数)乗算は複素数どうしの乗算の1/2回としてカウントされる。
【0055】
先ず、通常のFFTにおける複素乗算回数について説明する。上記の(13)式において、e-i2 π=W:回転子(Rotator)と置き換えると、上記(13)式は下記の(14)式で表される。ただし、下記の(14)式中のx0(n)は、波形データx(n)に実数窓関数H(n)を乗じて生成された切出波形データを表す。
【0056】
【数6】
【0057】
ここで、Nを2Pに限定し、n、kを下記の(15)及び(16)式のように2進数表記する。
n=[np-1,np-2,…,nr,…,n1,n0]
=2P-1nP-1+2P-2nP-2+…+2rnr+…+21n1+20n0 …(15)
k=[kp-1,kp-2,…,ks,…,k1,k0]
=2P-1kP-1+2P-2kP-2+…+2rkr+…+2sks+20k0 …(16)
これにより、上記の(14)式は、下記の(17)式のように表される。
【0058】
【数7】
【0059】
そして、上記の(17)式中の回転子Wの指数項を展開すると、下記の(18)式のように表される。
【0060】
【数8】
【0061】
また、nr、ksの値は、0又は1であるので、上記の(18)式は、下記の(19)式で表される。
【0062】
【数9】
【0063】
上記の(19)式より、X(k)がnrについて帰納的に演算できることが分かる。さらに、下記の(20)式に示す、{x(n)}のビット反転(Bit Reversion)数列を導入すると、上記の(19)式は、下記の(21)式のように表される。
y0(m)=y0([mp-1,…,mr,…,m0])
=x([n0,…,np-r-1,…,np-1])
…(20)
【0064】
【数10】
【0065】
上記(21)式をバタフライ演算の漸化式に書き表すと、下記の(22)及び(23)式のように表される。
【0066】
【数11】
【0067】
データ点数2P点に対して、上記のバタフライ演算の各段では、r次に対応するmp-r=1の項に回転子を乗じる複素乗算が行われる。その回数は2P/2回である。これが(P−1)段繰り返されるので、バタフライ演算全体としては、2P-1(P−1)回の複素乗算が行われる。
【0068】
また、通常のFFTでは、窓関数処理には2P回の(実数)×(実数)乗算が行われるので、窓関数処理における複素乗算回数は、2P/4回となる。したがって、通常のFFTにおける複素乗算回数は、これらを合わせて、下記の表1に示すように、2P-1(P−1/2)回となる。
【0069】
例えば、サンプリング周波数fs=20kHzの場合において、データ点数128点(P=7)のときの0Hzから10000Hzの範囲で複素乗算回数は、下記の表2に示すように、416回である。
【0070】
また、0点付加法により、2P点のデータ点数を2P+Q点に拡張したFFTの場合、バタフライ演算部の複素乗算回数は、2P+Q-1(P+Q−1)である。また、窓関数処理における複素乗算回数は、通常のFFTと同じ2P/4回となる。したがって、0点付加法によるFFTにおける複素乗算回数は、これらを合わせて、下記の表1に示すように、2P+Q-1(P+Q−1+(1/2Q+1))回となる。例えば、サンプリング周波数fs=20kHzの場合において、データ点数128点(P=7)、拡張後データ点数2048点(Q=4)のときの0Hzから10000Hzの範囲で複素乗算回数は、下記の表2に示すように、10272回である。
【0071】
【表1】
【0072】
【表2】
【0073】
このように、0点付加法では、分解能は高くなるが、複素乗算回数が大幅に増加するため演算負荷が重たくなる。そこで、短時間の波形データであっても高い精度でモード周波数を同定するとともに、演算負荷の増加を抑制できる周波数解析技術の例について以下に説明する。
【0074】
[第一実施形態]
まず、図1を参照して、第一実施形態の打検装置の構成について説明する。なお、本実施形態の打検装置は、本発明の周波数解析装置の一例でもある。本実施形態では、ベルトコンベア1に載せられて搬送中の缶2を被検査体とし、打検プローブ4により打検を行う。
【0075】
打検プローブ4は、図2に示すように、缶2の缶底に衝撃を与えるエキサイタコイル41と、缶2の振動音を集音して電気的な反響信号を生成するマイク42とにより構成されている。エキサイタコイル41に駆動部12からインパルスが印加されると、磁力により缶2の缶底面が強制的に変位させられる。その結果、缶2は振動音を発する。
【0076】
なお、図2では、側壁部と底部とが一体成形された缶胴と、上蓋都とから構成される2ピース缶の断面図を缶2として示したが、本発明では、側壁部のみからなる缶胴、底蓋、及び上蓋とから構成される3ピース缶の場合に対しても、同様に打検を行うことができる。
【0077】
駆動部12は、存在検知器3により缶2が検知されてから一定時間経過後、検知された缶2が打検プローブ4の真下を通過するタイミングで、エキサイタコイル41にインパルスを印加する。存在検知器3は、ベルトコンベア1を挟んで設置された光源31と受光素子32とから構成されている。
【0078】
マイク2により生成された反響信号は、フィルタ5を介してコンピュータ10に送られる。フィルタ5は、反響信号に含まれる固有振動予測領域を大きく外れる高調波を含む高周波領域や低周波ノイズ領域を除去する。
【0079】
コンピュータ10は、メモリ(図示せず)に格納されているプログラムに従って周波数解析装置として動作する。ここで、図3に、コンピュータ10の機能ブロックを示す。図3に示すように、コンピュータ10は、デジタル変換部11、前処理部12、フーリエ変換部13、同定部14及び判定部15により構成されている。
【0080】
デジタル変換部11は、反響信号をアナログ/デジタル変換し、一定のサンプリング時間間隔でサンプリングされた波形データ列{x(n)}を生成する。波形データ列は、いったんコンピュータ10内のメモリ(図示せず)に格納される。
【0081】
ここで、図4に、波形データの一例のグラフを示す。グラフ中のプロットは、波形データ列を構成する個々の波形データである。そして、グラフ中、各波形データのプロットを曲線Iで結んで示す。この波形データは、全観測時間6.4msの反響信号をサンプリング周波数20kHzでサンプリングした128点のデータからなる。
【0082】
また、前処理部12は、メモリに格納されていた波形データ列を読み出し、波形データ列に窓関数を乗じて切出波形データ列を生成する。ここでは、窓関数として、実数窓関数H(n)に複素位相項exp{−i2π(n・m)/(N・M)}を乗じた、下記の(1)式に示す複素窓関数C(n,m)を使用する。
C(n,m)=H(n)・exp(−i2π(n・m)/(N・M))…(1)
ただし、n=0,1,…,N−1を満たす。Nは波形データのサンプリング数を表し、1以上の整数を表す。また、m=0,1,…,M−1を満たす。Mは、スペクトルデータ列の周波数間隔の分割数を表し、1以上の整数である。また、H(n)は、例えばハニング窓関数等の実数関数の窓関数を表す。
【0083】
波形データ列{x(n)}に、この複素窓関数C(n,m)を乗じると、切出波形データ列{C(n,m)・x(n)}が得られる。生成された切出波形データ列は、いったんコンピュータ10内のメモリ(図示せず)に格納される。そして、複素位相項中のm値を変化させた複素窓関数を波形データ列{x(n)}に乗じることにより、位相をずらした切出波形データ列{C(n,m)・x(n)}を生成することができる。
【0084】
ここで、図5の(A)に、M=2Q=16、m=0の場合の複素窓関数C(n,0)を曲線IIで示し、切出波形データ列{C(n,0)・x(n)}のグラフを曲線Iaに示す。m=0の場合、複素窓関数C(n,0)は、複素位相項の値が1となるので、窓関数は実数関数H(n)と同じとなる。
【0085】
また、図5の(B)に、m=5の場合の複素窓関数C(n,5)の実部関数を曲線IIIで示し、虚部関数を破線IVで示す。ただし、虚部関数は、見やすくするため、符号を反転して表している。また、切出波形データ列{C(n,5)・x(n)}の実部のグラフを曲線Ibに示す。なお、図5の(B)には図示していないが、虚部関数で処理した虚部波形データも、実部波形データとともに、FFT演算に用いられる。
【0086】
また、フーリエ変換部13は、メモリから切出波形データ列を読み出し、切出波形データ列{C(n,m)・x(n)}からFFTによりスペクトルデータ列{X(k)}を生成する。その際、フーリエ変換手段13は、複素窓関数の位相項の値を変化させて位相をずらした切出波形データ列から、周波数原点f0をずらしたスペクトルデータ列を追加生成する。生成されたスペクトルデータ列は、コンピュータ10内のメモリ(図示せず)に格納される。
【0087】
ここで、図6の(A)のグラフに、図5の(A)に示したm=0の場合の切出波形データ列に対してFFTを行って求めたスペクトルデータを示す。なお、ここでは、ピーク周波数の近傍のみを示す。また、図6の(B)のグラフに、図5の(B)に示したm=5の場合の切出波形データ列に対してFFTを行って求めたスペクトルデータを示す。図6の(A)及び(B)のグラフから、m=5の場合のスペクトルデータの周波数はm=0の場合のスペクトルデータの周波数よりも高周波数側にシフトしていることが分かる。
【0088】
そして、通常のFFTにより求めたN点のスペクトルデータ列の周波数間隔fs/NをM等分したスペクトルデータ列を求めるためには、周波数原点f0を(1/M)(fs/N)ずつずらせばよい。その場合の周波数原点は、下記の(24)式で表される。
f0(m)=(m/M)(fs/N) …(24)
ただし、m=0,1,2,…,M−1
【0089】
さらに、切出波形データ列{C(n,m)・x(n)}に対して通常のFFT解析を行って得たスペクトルデータ列{X(k,m)}の周波数は、下記の(3)式で与えられる。
fk,m=(fs/N)(k+m/M)…(3)
ただし、m=0,1,…,M−1
【0090】
上記(3)式において、mの値を変化させることにより、スペクトルデータ列の各周波数fk,mを(fs/N)・(1/M)ずつずらすことができる。「M」の値は無制限に大きくすることができるので、(1/M)の値も無制限に小さくすることができる。
【0091】
ここで、図7のグラフに、通常のFFTにより求められるスペクトルデータの周波数間隔をM=16分割したスペクトルデータを示す。グラフ中の各ドットはスペクトルデータを示す。また、太い縦線を伴うドットは、図6の(A)に示したm=0の場合のスペクトルデータである。また、細い縦線を伴うドットは、図6の(B)に示したm=5の場合のスペクトルデータである。
【0092】
また、同定部14は、メモリに格納されていたスペクトルデータを読み出し、最大値となるスペクトルデータの周波数(ピーク周波数)を振動音のモード周波数として同定する。このように、複素窓関数を用いることにより、周波数間隔を分割したスペクトルデータを生成できるので、単一モード又は他と十分に独立したモードの振動波形のモード周波数を精度よく求めることができる。
【0093】
また、判定部15は、同定されたモード周波数に基づいて被検査体の良否を判定する。判定は、被検査体の缶2の種類(材質、形式、大きさ、内容物等)に応じて適正周波数の範囲を示すテーブルを設定しておき、モード周波数が適正周波数の範囲に含まれるか否かで行う。モード周波数が適正基準の範囲外である場合、判定部15により異常缶と判定される。異常缶と判定された缶2は、リジェクタ7によってベルトコンベア1上から排除される。
【0094】
なお、モード周波数は、缶内圧力を反映したものであり、缶内圧力は温度の影響を受ける。このため、温度センサ6の検出温度により、同定されたモード周波数の補正を行う。
【0095】
また、本実施形態の打検装置においては、コンピュータ10に、設定入力部8とディスプレイ9が接続されている。設定入力部8からは、例えば、波形データのサンプリング間隔や、被検査体である缶2の種類を入力することができる。また、ディスプレイ9には、例えば、設定入力画面や、周波数分析されたスペクトルや適正周波数範囲を画像表示することができる。
【0096】
つぎに、図8を参照して、第一実施形態におけるコンピュータ10による周波数解析方法(周波数分割法)について説明する。周波数分割法においては、周波数原点f0(m)をfs/(NM)ずつずらしたスペクトルデータ列を生成することにより、通常のFFTで得られるスペクトルデータ列の表示周波数間隔fs/NをM等分する。そのために、先ず、引数m=0と設定する(S101)。
【0097】
続いて、引数m=0の場合の前処理を行う(S102)。すなわち、上記の(1)式に示した複素窓関数C(n,m)を波形データ列{x(n)}に乗じ、切出波形データ列{C(n,m)・x(n)}を生成する。
【0098】
引数m=0の場合は、上記の(1)式中の複素位相項の値が1となるので、実質的に通常の実数の窓関数H(n)を乗じることになる。続いて、切出波形データ列{C(n,0)・x(n)}に対してFFTを実行し、スペクトルデータ列を生成する(S103)。
【0099】
ここで、図9の(A)に、スペクトルデータ列の一例をグラフで示す。グラフ中、1回目のFFTで生成された周波数f0,f1,f2,f3,…のスペクトルデータを黒丸印で示す。これらの周波数間隔はfs/Nである。なお、スペクトルデータ列の各周波数のうち、周波数原点f0の周波数は、必ずしも0Hzに限定されない。また、図9においては、周波数原点f0を縦軸からずらして示す。
【0100】
つぎに、引数mの値をインクリメントし、m=1とする(S104)。さらに、インクリメント後の引数mの値が、分割数Mに達するまで、上述したS102〜S104の処理を繰り返す(S105)。
【0101】
その結果、引数mの値をインクリメントするごとに、複素窓関数の複素位相項の値が一定間隔exp(−i2πn/(NM))で変化する。そして、前処理では、複素窓関数C(n,m)を波形データ列{x(n)}にそれぞれ乗じることにより、位相をずらした複数の切出波形データ列{C(n,m)・x(n)}が生成される(S102)。
【0102】
また、FFTでは、切出波形データ列から、周波数原点f0(m)を一定周波数fs/(NM)ずつずらした複数のスペクトルデータ列{X(k,m)}が追加生成される(S103)。
【0103】
例えば、M=4として、表示周波数間隔fs/Nを4分割した結果を図9の(B)に示す。2回目のFFTで、周波数f0+(1/4)(fs/N),f1+(1/4)(fs/N),f2+(1/4)(fs/N),…のスペクトルデータが生成される。グラフ中、2回目のFFTにより追加生成されたスペクトルデータを白丸印で示す。
【0104】
また、3回目のFFTで、周波数f0+(2/4)(fs/N),f1+(2/4)(fs/N),f2+(2/4)(fs/N),…のスペクトルデータが生成される。グラフ中、3回目のFFTにより追加生成されたスペクトルデータを白三角印で示す。
【0105】
また、4回目のFFTで、周波数f0+(3/4)(fs/N),f1+(3/4)(fs/N),f2+(3/4)(fs/N),…のスペクトルデータが生成される。グラフ中、4回目のFFTにより追加生成されたスペクトルデータを白四角印で示す。
【0106】
そして、インクリメント後の引数mの値がMに達するまで処理を繰り返すことにより、通常のFFTで得られるスペクトルデータ列の表示周波数間隔fs/NをM等分した表示周波数間隔fs/(NM)でスペクトルデータが生成される。図9の(B)に示す例では、表示周波数間隔fs/(4N)でスペクトルデータが生成されている。
【0107】
つぎに、このようにして狭い表示周波数間隔で生成されたスペクトルデータのうちから、スペクトルが最大値を示すピーク周波数が、打検の振動のモード周波数として同定される(S106)。図9の(B)に示す例では、周波数f1+(3/4)(fs/N)のスペクトルが最大値となり、この周波数がモード周波数として同定される。
【0108】
ところで、表示周波数間隔をM分割する方法は、N点FFTをM回繰り返すことに相当する。このため、通常のN点FFTよりも計算回数は増加する。しかし、本実施形態の方法(周波数分割法)は、0点付加法により計算した場合に比べると、より少ない計算回数で同一の周波数精度を得ることができる。
【0109】
波形データ点数N=2P点、分割数M=2Qに対して、周波数分割法におけるバタフライ演算部の複素乗算回数は、2P-1・(P−1)・2Q回である。また、窓関数処理における複素乗算回数は、2P-1(2Q−1)+2P/4回となる。したがって、周波数分割法における複素乗算回数は、これらを合わせて、上記の表1に示すように、2P+Q-1(P−(1/2Q+1))回となる。
【0110】
例えば、サンプリング周波数fs=20kHzの場合において、データ点数128点(P=7)、Q=4のときの0Hzから10000Hzの範囲で複素乗算回数は、上記の表2に示すように、7136回であり、0点付加法の10272回よりも少ない。したがって、第一実施形態の周波数分割法によれば、演算負荷の増加を抑制しつつ、短時間の波形データであっても高い精度でモード周波数を同定することができることが分かる。
【0111】
[第二実施形態]
つぎに、図10を参照して、第二実施形態について説明する。第二実施形態においても、上述した第一実施形態の打検装置と同一の構成で打検を行う。ただし、第二実施形態においては、第一実施形態よりも演算負荷を軽減するため、フォーカス法として、以下のようにして周波数解析を行う。
【0112】
フォーカス法においては、周波数原点f0(m)を周波数軸上でfs/(NM)ずつずらしたスペクトルデータ列を追加生成するにあたり、通常のFFTで得られた最大値を有するスペクトルデータの周波数の近傍に含まれるスペクトルデータのみを選択的に求める。
【0113】
そこで、まず、周波数原点をずらしていない基礎スペクトルデータ列のうち、最大値となるスペクトルデータの周波数を中央周波数として求める。、そのために、先ず、引数m=0と設定する(S201)。続いて、引数m=0の場合の前処理を行う(S202)。すなわち、上述の第一実施形態において(1)式に示した複素窓関数C(n,m)を波形データ列{x(n)}に乗じ、切出波形データ列{C(n,m)・x(n)}を生成する。引数m=0の場合、上記(1)式中の複素三角関数の位相項の値が0となるので、実質的に通常の実数の窓関数H(n)を乗じることになる。
【0114】
続いて、切出波形データ列{C(n,0)・x(n)}に対してFFTを実行する。最初のFFTは、通常のFFTと同じとなる。このFFTにより、周波数原点f0をずらしていない基礎スペクトルデータ列が生成される(S203)。ここで、図11の(A)に、基礎スペクトルデータ列の一例をグラフで示す。グラフ中、最初のFFTで生成された周波数f0,f1,f2,f3,…のスペクトルデータを黒丸印で示す。これらの周波数間隔はfs/Nである。なお、スペクトルデータ列の各周波数のうち、周波数原点f0の周波数は、必ずしも0Hzに限定されない。また、図11においては、周波数原点f0を縦軸からずらして示す。
【0115】
そして、基礎スペクトルデータ列のうち、最大値となるスペクトルデータの周波数と、それに対応するkの値を求め、その周波数を中央周波数fcとする。k値は、基礎スペクトルデータ列に含まれるスペクトルデータの、周波数原点のスペクトルデータから数えた番号を表し、0以上の整数である。なお、周波数原点のスペクトルデータはk=0に相当する。また、例えば、図11の(A)に示したグラフにおいては、周波数f2のスペクトルが最大値であるので、周波数f2が中央周波数となり、k=2となる。
【0116】
つぎに、中央周波数fcを基礎スペクトルデータ列の周波数間隔(fs/N)の半分ずつ前後にずらした候補区間[fc−fs/2N,fc+fs/2N]内の周波数へ基礎スペクトルデータ列の周波数原点を移動させる。そのために、下記の(2a)式の複素窓関数を、波形データ列{x(n)}に乗じて切出波形データ列を生成する。なお、下記の(2a)式は、(1)式に示した複素窓関数C(n,m)に、第二の複素位相項exp(−i2πnk/N)を乗じたものである。
【0117】
Ck(n,m)=C(n,m)・exp(−i2πnk/N)=H(n)・exp(−i2π(n・m)/(NM))・exp(−i2πnk/N)=H(n)・exp(−i2πn(kM+m)/(NM))…(2a)
【0118】
ただし、候補区間[fc−fs/2N,fc+fs/2N]内へ周波数原点を移動させるため、m≦M/2の場合は、上記(2a)式を用い、m≧M/2の場合は、下記の(2b)式を用いる。
Ck-1(n,m)=C(n,m)・exp(−i2πn(k−1)/N)=H(n)・(−i2πn((k−1)M+m)/(NM))…(2b)
なお、m=M/2のときは、上記の(2a)式と(2b)式の両方でそれぞれ用いてスペクトルデータを求める。
【0119】
そして、まず、上記の(2a)式において、引数mの値をインクリメントし、m=1とする(S205)。続いて、引数m=1の場合の前処理を行う(S206)。すなわち、上記(2a)式に示した複素窓関数Ck(n,1)を波形データ列{x(n)}に乗じ、切出波形データ列{Ck(n,1)・x(n)}を生成する。引数m=1の場合、上記(2a)式中の複素三角関数の位相項の値は、exp(−i2πn(kM+1)/(NM))となる。
【0120】
続いて、切出波形データ列{Ck(n,1)・x(n)}と、中央周波数に対応するkを用いて、上記(14)式によりフーリエスペクトルを計算する。この場合、離散フーリエ級数展開により、周波数原点f0をfc+(1/M)(fs/N)へ移動させたスペクトルデータ列{X(k,1)}を生成することが可能である。しかし、第二実施形態においては、このスペクトルデータ列{X(n,1)}のうち、周波数原点に対応するスペクトルのみを選択的に追加生成する(S207)。なぜならば、スペクトルデータ列{X(n,1)}のうち、周波数原点のみが、中央周波数fcを基礎スペクトルデータ列の周波数間隔(fs/N)の半分(1/2)(fs/N)ずつ前後にずらした候補区間[fc−fs/2N,fc+fs/2N]に含まれるからである。
【0121】
例えば、図11の(A)に示した例では、中央周波数f2の前後、[f2−(1/2)(fs/N),f2+(1/2)(fs/N)]の候補区間内に含まれる周波数原点のスペクトルデータのみが生成される。M=4の場合、図11の(B)に示すように、新たな周波数原点f2+(1/4)(fs/N)に対するスペクトルデータが生成される。グラフ中、引数m=1に対応する離散フーリエ級数展開により追加生成されたスペクトルデータを白丸印で示す。
【0122】
つぎに、引数mの値をインクリメントし、m=2とする(S208)。さらに、インクリメント後の引数mの値が、分割数Mに達するまで、上述したS206〜S207の処理を繰り返す(S209)。ただし、引数mの値がM/2を越えたときは、前記のkの値を、中央周波数に対応する値から1減じた(k−1)として、上述したS206〜S207のフォーカス解析処理を繰り返す。また、引数mの値がM/2に等しいときは、前記のkの値が中央周波数に対応する値と、中央周波数に対応する値から1減じた値とについて、各々上述したS206〜S207のフォーカス解析処理を繰り返す。
【0123】
その結果、周波数原点f0(m)を一定周波数fs/(NM)ずつずらした各スペクトルデータ列{X(k,m)}のうち、中央周波数fcを周波数間隔(fs/N)の半分(1/2)(fs/N)ずつ前後にずらした区間に含まれる周波数原点に対応するスペクトルデータだけが選択的に追加生成される。
【0124】
ここで、M=4の場合のフォーカス解析結果を図11の(B)に示す。2回目(m=2)のフォーカス解析処理では、引数m=2がM/2に等しい。このため、上記の(2a)式により、f2+(1/2)(fs/N)に移動した周波数原点に対応するスペクトルデータを追加生成するとともに、上記の(2b)式により、f1+(1/2)(fs/N)に移動した周波数原点に対応するスペクトルデータを生成する。グラフ中2回目のフォーカス解析処理により追加生成されたスペクトルデータを白三角印で示す。なお、周波数f1+(1/2)(fs/N)は、f2−(1/2)(fs/N)と同一である。
【0125】
また、3回目(m=3)のフォーカス解析処理では、m≧M/2となる。このため、上記の(2b)式により、f1+(3/4)(fs/N)に移動した周波数原点に対応するスペクトルデータを生成する。グラフ中、3回目のフォーカス解析処理により追加生成されたスペクトルデータを白四角印で示す。
【0126】
このようにして、インクリメント後の引数mの値がM−1に達するまで処理を繰り返すことにより、中央周波数の前後、表示周波数間隔の半分の区間内でのみ、基礎スペクトルデータ列の表示周波数間隔fs/NをM等分した表示周波数間隔fs/(NM)でスペクトルデータが生成される。例えば、図11の(B)に示す例では、区間[f2−(1/2)(fs/N),f2+(1/2)(fs/N)]の範囲内でのみ、表示周波数間隔fs/(4N)でスペクトルデータが生成されている。
【0127】
つぎに、このようにして狭い表示周波数間隔で生成されたスペクトルデータのうちから、スペクトルが最大値を示すピーク周波数を、打検の振動のモード周波数として同定する(S210)。図11の(B)に示す例では、区間[f2−(1/2)(fs/N),f2+(1/2)(fs/N)]のうち、周波数f1+(3/4)(fs/N)のスペクトルが最大値となり、この周波数がモード周波数として同定される。
【0128】
このように、フォーカス解析処理では、kの値として、中央周波数fcに対応する値(k)と、この値から1を減じた値(k−1)とのみが用いられる。このことを利用すると、前処理(S206)と、離散フーリエ級数展開(S207)の一部を同時に行うことができ、これによって複素乗算回数を大幅に軽減することができる。
【0129】
第二実施形態における上述した周波数解析方法をまとめれば、つぎのようになる。すなわち、引数m≦(M/2)の場合、引数mに対する複素窓関数C(n,m)と、中央周波数に対応したkに対する複素位相項exp(−i2πnk/N)とをかけた、新たな複素窓関数Ck(n,m)を生成する。この複素窓関数Ck(n,m)の複素位相項はexp(−i2πn(kM+m)/(NM))となる。この新たな複素窓関数を波形データ列{x(n)}に乗じて切出波形データ列{Ck(n,m)・x(n)}を生成する。この切出波形データ列から求められるフーリエスペクトルデータ列の周波数原点は、中央周波数fcとすると、fc+(m/M)(fs/N)となる。
【0130】
同様に、引数m≧(M/2)の場合は、引数mに対する複素窓関数C(n,m)と、中央周波数に対応したkから1を減じた値に対する複素位相項とをかけた、新たな複素窓関数Ck-1(n,m)を波形データ列{x(n)}に乗じて切出波形データ列{Ck-1(n,m)・x(n)}を生成する。この切出波形データ列から求められるフーリエスペクトルデータ列の周波数原点は、中央周波数fcとすると、fc−(1−(m/M))(fs/N)となる。
【0131】
これらの周波数原点は中央周波数fcの前後、[fc−(1/2)(fs/N),fc+(1/2)(fs/N)]の範囲内にある。このため、生成した切出波形データ列からスペクトルデータを生成するにあたっては、各々のスペクトルデータ列のうち、周波数原点のスペクトルデータを計算することとなり、この場合は、複素乗算を行うことなく、単に波形データ列の各項を加算すればよいので、複素乗算回数を軽減することができる。
【0132】
ところで、本実施形態のフォーカス法によれば、通常のN点FFTよりも計算回数は増加する。しかし、フォーカス法は、0点付加法により計算した場合に比べると、より少ない計算回数で同一の周波数精度を得ることができる。
【0133】
すなわち、データ点数N=2P点、分割数M=2Qに対して、フォーカス法においては、最初に行う通常のFFTにおける複素乗算回数が、2P-1(P−1/2)回である。また、その後に行う離散フーリエ級数展開では、中央周波数付近の区間だけで、2Q個の2P回複素乗算を行う。したがって、フォーカス法における複素乗算回数は、これらを合わせて、上記の表1に示したように、2P-1(P−1/2+2Q +1)回となる。
【0134】
例えば、P=7、Q=4の場合、合計の複素乗算回数は、上記の表2に示すように、2464回となるしたがって、フォーカス法によれば、演算負荷の増加を一層抑制しつつ、短時間の波形データであっても高い精度でモード周波数を同定することができることが分かる。
【0135】
[第三実施形態]
つぎに、図12を参照して、第三実施形態について説明する。第三実施形態においても、上述した第一実施形態の打検装置と同一の構成で打検を行う。ただし、第三実施形態においては、第一及び第二実施形態よりも演算負荷を軽減するため、分割比較法として、以下のようにして周波数解析を行う。
【0136】
分割比較法によりモード周波数を求めるにあたり、まず、上述の第一実施形態において(1)式に示した複素窓関数C(n,m)を波形データ列{x(n)}に乗じ、切出波形データ列{C(n,m)・x(n)}を生成する。その際、m=0とし、実質的に通常の実数の窓関数H(n)を乗じる(S301)。
【0137】
続いて、切出波形データ列{C(n,0)・x(n)}に対してFFTを実行する。このFFTは通常のFFTと同じことになり、周波数原点f0をずらしていない基礎スペクトルデータ列{X(k,0)}が生成される(S302)ここで、図13の(A)に、基礎スペクトルデータ列の一例のグラフで示す。グラフ中、上記のFFTで生成された周波数f0,f1,f2,f3,…のスペクトルデータを黒丸印で示す。これら周波数間隔はfs/Nである。なお、スペクトルデータ列の各周波数のうち、周波数原点f0の周波数は、必ずしも0Hzに限定されない。また、図13においては、周波数原点f0を縦軸からずらして示す。
【0138】
そして、周波数原点f0をずらしていない基礎スペクトルデータ列のうち、最大値となるスペクトルデータを求め、その周波数を基準周波数とする(S303)。例えば、図13の(A)に示した例においては、周波数f2のスペクトルが最大値であるので、周波数f2が基準周波数fcとなる。この場合、k=2となる。
【0139】
つぎに、基準周波数fcを基礎スペクトルデータ列の周波数間隔の半分である分割周波数間隔(1/2)(fs/N)ずつ前後にずらした二つの周波数fc±(1/2)(fs/N)へ周波数原点をそれぞれ移動させる。そのために、周波数原点f0を分割周波数間隔(1/2)(fs/N)ずつ前後にずら複素窓関数C(n,m)=H(n)・exp(−i2πn/2N)に、周波数間隔のk倍ずらす複素位相項exp(−i2πnk/N)を乗じた下記の(2c)式に示す複素関数Ck(n,m)を使用して前処理を行う。
Ck(n,m)=H(n)・(−i2πn(k±(1/2))/N)…(2c)
【0140】
そして、上記の(2c)式に示した複素窓関数Ck(n,m)を、波形データ列{x(n)}に乗じ、一対の切出波形データ列{Ck(n,m)・x(n)}をそれぞれ生成する(S304)。なお、上記(2c)式中では、m/M=±1/2に相当する。
【0141】
続いて、一対の切出波形データ列{Ck(n,m)・x(n)}に対して、上記(14)式により、離散フーリエ級数展開を行う。この離散フーリエ級数展開によって、周波数原点f0を(1/2)(fs/N)ずつ前後にシフトさせた二つのスペクトルデータ列を生成することが可能である。しかし、本実施形態では、二つスペクトルデータ列のうち、それぞれ周波数原点に対応する二つのスペクトルデータだけを選択的に追加生成する(S305)。
【0142】
例えば、図13の(B)に示す例では、新たな周波数原点f2±(1/2)(fs/N)に対応する二つのスペクトルデータのみが生成される。グラフ中、この処理により追加生成された二つのスペクトルデータをそれぞれ白丸印で示す。
【0143】
さらに、追加生成された二つのスペクトルデータ及び基準周波数のスペクトルデータのうち、最大値をとるスペクトルデータを求め、その周波数を新たな基準周波数とする(S303)。例えば、図13の(B)に示す例では、基準周波数f2、周波数f2−(1/2)(fs/N)、及び、周波数f2+(1/2)(fs/N)の三つのスペクトルデータのうち、周波数f2−(1/2)(fs/N)のスペクトルデータの値が最も高い。このため、周波数f2−(1/2)(fs/N)を新たな基準周波数とする。
【0144】
つぎに、最新の基準周波数を最新の分割後の周波数間隔のさらに半分である分割周波数間隔(1/4)(fs/N)ずつ前後にずらした二つの周波数fc±(1/2)(fs/N)へ、周波数原点をそれぞれ移動させる。そのために、図13の(B)に示す例の場合、下記の(2d)式に示す複素関数Ck(n,m)を使用して前処理を行う。
Ck(n,m)=H(n)・(−i2πn(k−(1/2)±(1/4))/N)…(2d)
上記の(2d)式では、m/M=−1/2±1/4に相当する。
【0145】
そして、上記の(2d)式に示した複素窓関数Ck(n,m)を、波形データ列{x(n)}に乗じ、一対の切出波形データ列{Ck(n,m)・x(n)}をそれぞれ生成する(S304)。
【0146】
続いて、最新の一対の切出波形データ列{Ck(n,m)・x(n)}からそれぞれ生成されるスペクトルデータ列のうち、二つの周波数原点のスペクトルデータを選択的に追加生成する(S305)。ここでは、最新の基準周波数を(1/4)(fs/N)ずつ前後にシフトさせた二つの周波数原点に対応するスペクトルデータだけを、上記(14)式により、選択的に追加生成する。
【0147】
例えば、図14の(A)に示す例では、周波数原点f0が((−1/2)±(1/4))(fs/N)シフトしたスペクトルデータ列のうち、最新の基準周波数f2−(1/2)(fs/N)を挟む、周波数f2−(1/2)(fs/N)−(1/4)(fs/N)、及び、周波数f2−(1/2)(fs/N)+(1/4)(fs/N)の二つの周波数原点に対するスペクトルデータのみが追加生成される。グラフ中、この処理により追加生成された二つのスペクトルデータをそれぞれ白三角印で示す。
【0148】
さらに、追加生成された二つのスペクトルデータ及び基準周波数のスペクトルデータのうち、最大値をとるスペクトルデータを求め、その周波数を新たな基準周波数とする(S303)。例えば、図14の(A)に示す例では、最新の基準周波数f2−(1/2)(fs/N)、周波数f2−(1/2)(fs/N)−(1/4)(fs/N)、及び、周波数f2−(1/2)(fs/N)+(1/4)(fs/N)の三つのスペクトルデータのうち、周波数f2−(1/2)(fs/N)+(1/4)(fs/N)のスペクトルデータの値が最も高い。このため、周波数f2−(1/2)(fs/N)+(1/4)(fs/N)を新たな基準周波数とする。
【0149】
つぎに、最新の基準周波数のスペクトルデータを含むスペクトルデータ列の周波数原点を、最新の分割後の周波数間隔(1/4)(fs/N)のさらに半分にあたる(1/8)(fs/N)ずつ前後にシフトさせる。そのため、図14の(A)に示す例では、下記の(2e)式に示した複素窓関数Ck(n,m)を、波形データ列{x(n)}に乗じ、一対の切出波形データ列{Ck(n,m)・x(n)}を生成する前処理を行う(S304)。
Ck(n,m)=H(n)・(−i2πn(k−(1/2)+(1/4)±(1/8))/N)…(2e)
なお、上記(2e)式では、m/M=−(1/2)+(1/4)±(1/8)に相当する。
【0150】
続いて、最新の一対の切出波形データ列{Ck(n,m)・x(n)}からそれぞれ生成されるスペクトルデータ列のうち、二つの周波数原点のスペクトルデータを選択的に追加生成する(S305)。ここでは、最新の基準周波数を(1/8)(fs/N)ずつ前後にシフトさせた二つの周波数原点に対応するスペクトルデータだけを、上記(14)式により、選択的に追加生成する。
【0151】
例えば、図14の(B)に示す例では、周波数原点を(−1/2+1/4±1/8)(fs/N)シフトしたスペクトルデータ列のうち、最新の基準周波数f2−(1/2)(fs/N)+(1/4)(fs/N)を挟む、周波数f2−(1/2)(fs/N)+(1/4)(fs/N)+(1/8)(fs/N)、及び、周波数f2−(1/2)(fs/N)+(1/4)(fs/N)−(1/8)(fs/N)の二つの周波数に対するスペクトルデータのみが生成される。グラフ中、この処理により追加生成された二つのスペクトルデータをそれぞれ白四角印で示す。
【0152】
そして、本実施形態では、分割後の周波数間隔が基準値以下となるまで、上述したS303〜S305の処理を繰り返す。そして、分割後の周波数間隔が基準値以下となった場合、その段階で、追加生成されている最新のスペクトルデータ及び最新の基準周波数のスペクトルデータのうちから、最大値をとるスペクトルデータの周波数を新たな基準周波数とし、最新の基準周波数をモード周波数として同定する。
【0153】
このようにして同定されたモード周波数は、例えば、下記の(25)式で与えられる。ただし、下記の(25)式中、fcは、最初のFFTで生成した基礎スペクトルデータ列から得られた最初の基準周波数を表し、jmは、−1,0又は1を表す。また、Qは、基礎スペクトルデータ列の周波数間隔の分割数に相当する。
【0154】
【数12】
【0155】
例えば、基準周波数がf2−(1/2)(fs/N)+(1/4)(fs/N)の場合、図14の(B)に示す例では、基準周波数f2−(1/2)(fs/N)+(1/4)(fs/N)、周波数f2−(1/2)(fs/N)+(1/4)(fs/N)+(1/8)(fs/N)、及び、周波数f2−(1/2)(fs/N)+(1/4)(fs/N)−(1/8)(fs/N)のうちの周波数f2−(1/2)(fs/N)+(1/4)(fs/N)、を再び新たな基準周波数とし、この周波数をモード周波数として同定する。
【0156】
このようにすれば、通常のFFTによるスペクトルデータ列を計算した後、モード周波数近傍の周波数のスペクトルデータのみを選択的に計算してモード周波数を求めることができる。これにより、演算負荷のより一層の軽減を図ることができる。その結果、処理時間の一層の短縮を図ることができる。
【0157】
このように、分割比較法では、kの値は最初のFFTで求めたスペクトルデータ列から得られる、最初の基準周波数fcに対応する値のみが用いられる。このことを利用すると、複素窓関数を用いて切出波形データ列を生成する前処理と、フーリエ変換処理を同時に行うことができ、これによって複素乗算回数をさらに軽減することができる。
【0158】
例えば、最初の基準周波数fcに対して、周波数原点f0を(1/2)(fs/N)ずつ前後にシフトさせた二つのスペクトルデータ列のうち、基準周波数を(1/2)(fs/N)ずつ前後にシフトさせた二つの周波数に対するスペクトルデータだけを、上記(14)式により選択的に追加生成する処理においては、周波数原点f0を(1/2)(fs/N)ずつ前後にシフトさせた複素窓関数C(n,m)と、基準周波数fcに対応したkに対する複素位相項exp(−i2πnk/N)とをかけた、新たな複素窓関数Ck(n,m)を生成する。この複素窓関数Ck(n,m)の複素位相項はexp(−i2πn(k±(1/2))/N)となる。この新たな複素窓関数を波形データ列{x(n)}に乗じて切出波形データ列{Ck(n,m)・x(n)}を生成する。この切出波形データ列から求められるフーリエスペクトルデータ列の周波数原点は、fc±(1/2)(fs/N)となる。
【0159】
これらの周波数原点は、選択的に追加生成するスペクトルデータの周波数と一致している。このため、生成した切出波形データ列からスペクトルデータを生成するにあたっては、周波数原点のスペクトルデータを計算することとなり、この場合は、複素乗算を行うことなく、単に波形データ列の各項を加算すればよいので、複素乗算回数を軽減することができる。
【0160】
ところで、本実施形態の分割比較法によれば、通常のN点FFTよりも計算回数は増加する。しかし、分割比較法は、0点付加法やフォーカス法により計算した場合に比べると、より少ない計算回数で同一の周波数精度を得ることができる。
【0161】
すなわち、データ点数N=2P点、分割数M=2Qに対して、分割比較法においては、最初の通常のFFTにおける複素乗算回数が、2P-1(P−1/2)回である。また、以降の離散フーリエ級数展開では、2Q個の2P回複素乗算を行う。したがって、分割比較法における複素乗算回数は、これらを合わせて、上記の表1に示したように、2P-1(P−1/2+4Q)回となる。例えば、P=7、Q=4の場合、合計の複素乗算回数は、上記の表2に示すように、1440回となる。したがって、分割比較法によれば、演算負荷の増加を一層抑制しつつ、短時間の波形データであっても高い精度でモード周波数を同定することができることが分かる。
【0162】
[第四実施形態]
つぎに、第四実施形態について説明する。第四実施形態においても、上述した第一実施形態の打検装置と同一の構成で打検を行う。ただし、第四実施形態においては、第一、第二及び第三実施形態よりも演算負荷を軽減するため、以下のようにして周波数解析を行う。
【0163】
すなわち、サンプリング周波数が20kHzの場合、通常のFFTにおいては、0〜10000Hzの周波数範囲にわたって周波数解析を行っている。これに対して、打検による振動のモード周波数は、1000Hz〜3000Hzの範囲内に含まれることが多い。そこで、本実施形態では、この周波数範囲の少なくとも一部分を含む特定の周波数範囲内のスペクトルデータのみを選択的に生成する。これにより、演算負荷を一層軽減し、処理速度の向上を図ることができる。
【0164】
なお、特定周波数範囲は、缶種ごとに設定するのが好ましい。例えば、ある種類の缶では1200〜2000Hz、他のある種類の缶では1500〜3000Hzといった範囲を特定周波数範囲として設定するとよい。また、1000〜3000Hzの全範囲を含むより広い範囲を特定周波数範囲として設定してもよい。例えば、1000〜3500Hzを特定周波数範囲として設定してもよい。
【0165】
以下、FFTによる周波数解析範囲を2S点に限定する場合の複素乗算回数について検討する。これは、上述したバタフライ演算の漸化式である(22)及び(23)式において、kp-1=kp-2=…=kS=0とした場合に対応する。そして、この条件を適用すると、下記の(26)、(27)及び(28)式が得られる。
【0166】
【数13】
【0167】
ここで、1<r≦P−Sの各段においては、kr=0であることから、演算に関与するyr(m)の個数を順次1/2ずつ減らしていくことになり、P−S<r≦P−1の各段においては、2S個のyr(m)を用いて演算を行っている。したがって、この演算における複素乗算回数は、下記の(29)式により与えられる。ただし、(29)式中、R=P−Sである。
【0168】
【数14】
【0169】
そして、周波数解析範囲を限定する手法は、上述した各実施形態と組み合わせることができる。上述した第一実施形態において説明した周波数分割法と併用した場合、複素乗算回数は、上記の表1に示すように、2P+Q((3/2)−(1/2R))+2P+Q-R-1(P−R−1)回となる。例えば、P=7、Q=4の場合、合計の複素乗算回数は、上記の表2に示すように、3584回となるしたがって、周波数分割法において周波数解析範囲を限定すれば、より一層演算負荷の増加を抑制することができる。
【0170】
また、上述した第二実施形態において説明したフォーカス法と併用した場合、複素乗算回数は、上記の表1に示すように、2P(3/2−1/2R+2Q)+2P-R-1(P−R−1)回となる。例えば、P=7、Q=4の場合、合計の複素乗算回数は、上記の表2に示すように、2272回となる。したがって、フォーカス法において周波数解析範囲を限定すれば、より一層演算負荷の増加を抑制することができる。
【0171】
また、上述した第三実施形態において説明した分割比較法と併用した場合、複素乗算回数は、上記の表1に示すように、2P((3/2)−(1/2R)+2Q)+2P-R-1(P−R−1)回となる。例えば、P=7、Q=4の場合、合計の複素乗算回数は、上記の表2に示すように、1248回となるしたがって、分割比較法において周波数解析範囲を限定すれば、より一層演算負荷の増加を抑制することができる。
【0172】
上述した実施の形態においては、本発明を特定の条件で構成した例について説明したが、本発明は、種々の変更を行うことができる。例えば、上述した実施形態においては、打検による短時間の波形データからモード周波数を求める例について説明したが、本発明の周波数解析方法及び装置では、波形データは打検によるものに限定されない。また、波形データは短時間のものに限定されない。例えば、本発明をスペクトルアナライザに適用し、機械的振動等の解析にも利用することができる。そして、モード周波数に基づいて、例えば機械の故障を発見することも期待できる。
【0173】
なお、上記の実施形態における周波数解析処理は、プログラムに制御されたコンピュータにより実行することができる。このプログラムは、例えば、記録媒体により提供される。記録媒体としては、例えば、磁気ディスク、半導体メモリ等の磁気記録媒体、CD−ROM等の光学式記録媒体、又は、光磁気記録媒体その他の任意の、コンピュータで読み取り可能なものを使用することができる。
【0174】
【発明の効果】
以上、詳細に説明したように、本発明によれば、複素窓関数の複素位相項の値を変化させ、スペクトルの周波数原点を周波数軸上で移動させる。その結果、任意の周波数を原点とするスペクトルデータ列を生成することができる。このため、スペクトルの表示周波数間隔は原理的に無限に細かくすることができる。すなわち、周波数同定能力は、原理的に制約を受けない。これにより、短時間の波形データであっても高い精度で打検のモード周波数を同定することができる。
【0175】
また、本発明によれば、通常のFFTに加え、周波数原点をシフトさせた切出波形データ列に対してもFFT等の離散フーリエ級数展開を行うため、通常のFFTに比べて演算量は増加する。しかしながら、上述した0点付加法と比較すると、より少ない演算量で同程度の精度でモード周波数を同定することができる。このため、0点付加法を用いた場合に比べて、本発明では演算負荷の増加を抑制しつつ、高精度でモード周波数を同定することができる。また、本発明は1モード振動のピーク周波数の検出に用いて特に好適である。また、本発明によれば、専用LSIチップを用いなくとも、汎用コンピュータによって、FFTを高精度かつ高速に実施することが可能となる。
【図面の簡単な説明】
【図1】第一実施形態の打検装置の構成図である。
【図2】打検プローブの模式図である。
【図3】打検装置を構成するコンピュータの機能ブロック図である。
【図4】第一実施形態における波形データ例を示すグラフである。
【図5】(A)及び(B)は、窓関数及び切出波形データ例を示すグラフである。
【図6】(A)及び(B)は、FFTにより得られたスペクトルデータ例を示すグラフである。
【図7】FFTにより得られたスペクトルデータ例を示すグラフである。
【図8】第一実施形態における周波数解析方法(周波数分割法)を説明するためのフローチャートである。
【図9】(A)及び(B)は、第一実施形態における周波数解析方法を説明するためのグラフである。
【図10】第二実施形態における周波数解析方法(フォーカス法)を説明するためのフローチャートである。
【図11】(A)及び(B)は、第二実施形態における周波数解析方法を説明するためのグラフである。
【図12】第三実施形態における周波数解析方法(分割比較法)を説明するためのフローチャートである。
【図13】(A)及び(B)は、第三実施形態における周波数解析方法を説明するためのグラフである。
【図14】(A)及び(B)は、第三実施形態における周波数解析方法を説明するための、図13に続くグラフである。
【符号の説明】
1 ベルトコンベア
2 缶
3 存在検知器
4 打検プローブ
5 フィルタ
6 温度センサ
7 リジェクタ
8 設定入力部
9 ディスプレイ
10 コンピュータ
11 デジタル変換部
12 前処理部
13 フーリエ変換部
14 同定部
15 判定部
41 エキサイタコイル
42 マイク
Claims (7)
- 振動現象から一定のサンプリング時間間隔でサンプリングされた波形データ列に、窓関数を乗じて切出波形データ列を生成する前処理手段と、前記切出波形データ列から高速フーリエ変換法等の離散フーリエ級数展開によりスペクトルデータ列を生成するフーリエ変換手段と、前記スペクトルデータ列に含まれるスペクトルデータのうち、最大値となるスペクトルデータの周波数を前記振動音のモード周波数として同定する同定手段とを備える周波数解析装置であって、
前記前処理手段は、前記窓関数として、実数窓関数に複素位相項を乗じた複素窓関数を使用し、前記複素窓関数の前記複素位相項の値を一定間隔で変化させた各複素窓関数を前記波形データ列にそれぞれ乗じることにより、互いに位相をずらした複数の切出波形データ列を生成し、
前記フーリエ変換手段は、前記各切出波形データ列から、周波数原点を一定周波数ずつずらした複数のスペクトルデータ列を追加生成することを特徴とする周波数解析装置。 - 振動現象から一定のサンプリング時間間隔でサンプリングされた波形データ列に、窓関数を乗じて切出波形データ列を生成する前処理手段と、前記切出波形データ列から高速フーリエ変換法等の離散フーリエ級数展開によりスペクトルデータ列を生成するフーリエ変換手段と、前記スペクトルデータ列に含まれるスペクトルデータのうち、最大値となるスペクトルデータの周波数を前記振動音のモード周波数として同定する同定手段とを備える周波数解析装置であって、
前記同定手段は、周波数原点をずらしていない基礎スペクトルデータ列のうち、最大値となるスペクトルデータの周波数を中央周波数とし、
前記前処理手段は、前記中央周波数を前記基礎スペクトルデータ列の周波数間隔の半分ずつ前後にずらした候補区間内の周波数へ前記基礎スペクトルデータ列の周波数原点を移動させる複素窓関数を、前記波形データ列に乗じて切出波形データ列を生成し、
前記フーリエ変換手段は、前記切出波形データ列から生成されるスペクトルデータ列のうち、周波数原点のスペクトルデータを選択的に追加生成し、
前記同定手段は、中央周波数のスペクトルデータ及び追加生成されたスペクトルデータのうちで最大値となるスペクトルデータの周波数をモード周波数として同定することを特徴とする周波数解析装置。 - 振動現象から一定のサンプリング時間間隔でサンプリングされた波形データ列に、窓関数を乗じて切出波形データ列を生成する前処理手段と、前記切出波形データ列から高速フーリエ変換法等の離散フーリエ級数展開によりスペクトルデータ列を生成するフーリエ変換手段と、前記スペクトルデータ列に含まれるスペクトルデータのうち、最大値となるスペクトルデータの周波数を前記振動音のモード周波数として同定する同定手段とを備える周波数解析装置であって、
(a)前記同定手段は、周波数原点をずらしていない基礎スペクトルデータ列のうち、最大値となるスペクトルデータの周波数を基準周波数とし、
(b)前記前処理手段は、前記基準周波数を前記基礎スペクトルデータ列の周波数間隔の半分である分割周波数間隔ずつ前後にずらした二つの周波数へ周波数原点をそれぞれ移動させる複素窓関数を、前記波形データ列にそれぞれ乗じて一対の切出波形データ列をそれぞれ生成し、
(c)前記フーリエ変換手段は、前記一対の切出波形データ列からそれぞれ生成されるスペクトルデータ列のうち、二つの周波数原点のスペクトルデータを選択的に追加生成し、
(d)前記同定手段は、追加生成された二つのスペクトルデータ及び前記基準周波数のスペクトルデータのうち、最大値をとるスペクトルデータの周波数を新たな基準周波数とし 、
(e)前記前処理手段は、最新の基準周波数を直前の分割周波数間隔のさらに半分の新たな分割周波数ずつ前後にずらした二つの周波数へ周波数原点をそれぞれ移動させる複素窓関数を、前記波形データ列にそれぞれ乗じて一対の新たな切出波形データ列を生成し、
(f)前記フーリエ変換手段は、最新の一対の切出波形データ列からそれぞれ生成されるスペクトルデータ列のうち、二つの周波数原点のスペクトルデータを選択的に追加生成し、
(g)前記同定手段は、追加生成された最新の二つのスペクトルデータ及び最新の基準周波数のスペクトルデータのうちから、最大値をとるスペクトルデータの周波数を新たな基準周波数とし、
前記前処理手段、フーリエ変換手段及び同定手段は、前記(e)〜(g)の処理を繰り返した後、最新の基準周波数を前記モード周波数として同定することを特徴とする周波数解析装置。 - 前記前処理手段は、前記複素窓関数として、実数窓関数H(n)に第一の複素位相項を乗じた下記の(1)式に示すC(n,m)を含む複素関数を使用することを特徴とする請求項1〜3のいずれかに記載の周波数解析装置。
C(n,m)=H(n)・exp(−i2π(n・m)/(NM))…(1)
ただし、n=0,1,…,N−1を満たす。Nは、前記波形データのサンプリング数を表し、1以上の整数である。また、m=0,1,…,M−1を満たす。Mは、前記スペクトルデータ列の周波数間隔の分割数を表し、1以上の整数である。 - 前記前処理手段は、前記複素窓関数として、前記C(n,m)に、第二の複素位相項exp(−i2πnk/N)を乗じた下記の(2)式に示すCk(n,m)を使用することを特徴とする請求項4記載の周波数解析装置。
Ck(n,m)=C(n,m)・exp(−i2πnk/N)…(2)
ただし、kは、前記スペクトルデータ列に含まれるスペクトルデータの、周波数原点のスペクトルデータから数えた番号を表し、0以上の整数である。 - 被検査体に衝撃を与える衝撃手段と、
打撃を与えられた前記被検査体の振動音を集音して電気的な反響信号を生成する集音手段と、
前記反響信号をアナログ/デジタル変換し、一定のサンプリング時間間隔でサンプリングされた波形データ列を生成するデジタル変換手段と、
同定されたモード周波数に基づいて被検査体の良否を判定する判定手段とを備える打検装置であって、
前記請求項1〜5のいずれかに記載の周波数解析装置を備え、当該周波数解析装置によって前記モード周波数を同定することを特徴とする打検装置。 - 前記フーリエ変換手段は、前記スペクトルデータ列に含まれるスペクトルデータのうち、1000〜3000Hzの周波数範囲の少なくとも一部分を含む特定の周波数範囲内のスペクトルデータのみを選択的に生成することを特徴とする請求項6に記載の打検装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001355058A JP3873721B2 (ja) | 2001-11-20 | 2001-11-20 | 周波数解析装置及び打検装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001355058A JP3873721B2 (ja) | 2001-11-20 | 2001-11-20 | 周波数解析装置及び打検装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003156480A JP2003156480A (ja) | 2003-05-30 |
JP3873721B2 true JP3873721B2 (ja) | 2007-01-24 |
Family
ID=19166816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001355058A Expired - Fee Related JP3873721B2 (ja) | 2001-11-20 | 2001-11-20 | 周波数解析装置及び打検装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3873721B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004028694B3 (de) * | 2004-06-14 | 2005-12-22 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Umsetzen eines Informationssignals in eine Spektraldarstellung mit variabler Auflösung |
JP4486478B2 (ja) * | 2004-11-10 | 2010-06-23 | 日本電子株式会社 | スペクトル測定方法 |
KR101602046B1 (ko) * | 2014-07-02 | 2016-03-09 | 울산대학교 산학협력단 | 베어링 고장 진단용 모함수 선택 방법 및 장치 |
DE102017215561A1 (de) * | 2017-09-05 | 2019-03-07 | Robert Bosch Gmbh | FMCW-Radarsensor mit synchronisierten Hochfrequenzbausteinen |
-
2001
- 2001-11-20 JP JP2001355058A patent/JP3873721B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003156480A (ja) | 2003-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Duxbury et al. | Complex domain onset detection for musical signals | |
Peter et al. | The automatic selection of an optimal wavelet filter and its enhancement by the new sparsogram for bearing fault detection: Part 2 of the two related manuscripts that have a joint title as “Two automatic vibration-based fault diagnostic methods using the novel sparsity measurement—Parts 1 and 2” | |
US8407020B1 (en) | Fast method to search for linear frequency-modulated signals | |
JP4081237B2 (ja) | ノイズにおける周期的な信号を感知する信号処理システム | |
US20040167775A1 (en) | Computational effectiveness enhancement of frequency domain pitch estimators | |
US20040225493A1 (en) | Pitch determination method and apparatus on spectral analysis | |
Traube et al. | Estimating the plucking point on a guitar string | |
US20180252741A1 (en) | Method and device for determining machine speeds | |
JP3873721B2 (ja) | 周波数解析装置及び打検装置 | |
CN107210029A (zh) | 用于处理一连串信号以进行复调音符辨识的方法和装置 | |
Chiementin et al. | Effect of cascade methods on vibration defects detection | |
CN111736222A (zh) | 单炮数据信噪比确定方法及装置 | |
JP4764921B2 (ja) | 共振現象を利用した超音波探査方法 | |
JP5035815B2 (ja) | 周波数測定装置 | |
US7012186B2 (en) | 2-phase pitch detection method and apparatus | |
Hong et al. | Centroid-based sifting for empiricalmode decomposition | |
JP5766896B1 (ja) | ピーク周波数検出装置、方法およびプログラム | |
Perov et al. | Wavelet filtering of signals from ultrasonic flaw detector | |
JP4419249B2 (ja) | 音響信号分析方法及び装置並びに音響信号処理方法及び装置 | |
JP2010185682A (ja) | 一般調和解析装置および周波数分析装置 | |
JP3728756B2 (ja) | 離散フーリエ変換値の遅延時間補正装置 | |
JPH08261817A (ja) | 回転機械のラビング判定方法およびその装置 | |
JP6286933B2 (ja) | 小節間隔推定およびその推定のための特徴量抽出を行う装置、方法、およびプログラム | |
US20090010100A1 (en) | Synchronous re-sampling based signal extraction | |
Gillich et al. | Problem of detecting damage through natural frequency changes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040930 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060328 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060404 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060602 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060627 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060828 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061016 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101102 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111102 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111102 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131102 Year of fee payment: 7 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131102 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |