(57)【特許請求の範囲】
【請求項１】
流体管路の上流側から下流側への超音波信号の伝播時間と下流側から上流側への伝播時間との時間差を求めて流速を測定し流量を演算する超音波流量計であり、上流側から超音波信号を発信し下流側で受信したＮ個のサンプリングデータをＡ／Ｄ変換したデジタルデータ列ｘ［ｎ］を記憶する第１のメモリ手段と、下流側から超音波信号を発信し上流側で受信したＮ個のサンプリングデータをＡ／Ｄ変換したデジタルデータ列ｙ［ｎ］を記憶する第２のメモリ手段と、一対の前記デジタルデータ列ｘ［ｎ］、ｙ［ｎ］ごとに次式により整数である変数ｍを変化させながらｎ＝１〜Ｎまで積分して総和Ｓｘｙ［ｍ］を演算する手段と、変数ｍごとに求めた前記総和Ｓｘｙ［ｍ］を記憶する記憶手段とを有し、該記憶手段に記憶した前記総和Ｓｘｙ［ｍ］からピーク値として得られる最小値を求め、該最小値を示す変数ｍから超音波信号の伝播時間差を算出して流体の流速を測定する超音波流量計であって、前記総和Ｓｘｙ［ｍ］を演算する過程で前記変数ｍをマイナスの整数を含む範囲で変化させながら演算することを特徴とする超音波流量計。
Ｓｘｙ［ｍ］＝Σ｜ｘ［ｎ］−ｙ［ｎ＋ｍ］｜
【請求項２】
推定した前記超音波信号の伝播時間差を基に変数ｍの範囲を特定して、前記総和Ｓｘｙ［ｍ］を演算することを特徴とする請求項１に記載の超音波流量計。
【請求項３】
前記総和Ｓｘｙ［ｍ］の真の最小値は前記最小値のピークを基に前後の変数ｍが異なる総和Ｓｘｙ［ｍ］のデータから推定して求めることを特徴とする請求項１又は２に記載の超音波流量計。
【請求項４】
前記総和Ｓｘｙ［ｍ］から最大値を求め、前記最小値と最大値の比を基に、得られた前記デジタルデータ列ｘ［ｎ］、ｙ［ｎ］にエラーがあるかどうかを判別する判別手段とを有することを特徴とする請求項１〜３の何れか１つの請求項に記載の超音波流量計。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、超音波パルスを用いて管路を流れる流体の流量を測定する超音波流量計に関するものである。
【背景技術】
【０００２】
超音波を利用して流体速度を測定する方法としては、上流から下流への超音波パルスを発信してその伝播時間と、下流から上流への超音波の伝播時間との差を求めて、流量を算出する方法が多く用いられている。
【０００３】
この時間差を求める方法として、特許文献１には信号のゼロクロス点を利用する方法が開示され、特許文献２には信号の相互相関を利用する方法が開示されている。
【０００４】
【特許文献１】特開２００２−１６２２６９号公報
【特許文献２】特開２００２−２４３５１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
超音波を伝播させるために超音波振動子の発信パルスを単一パルスとしても、振動子の自己共振による減衰振動が発生し、受信部に到達するパルスは複数サイクルのパルスとなるのが普通である。従って、図１２に示すように１個の発信パルスについて受信波には複数のゼロクロス点が存在し、このゼロクロス点を利用する方法では、上流方向へのパルスと下流方向へのパルスごとに、対応するゼロクロスを検出しなければならない。
【０００６】
しかし、信号レベルが低下してＳ／Ｎ比が悪化した場合や、２つの信号の振幅に差がある場合などは、対応すべきゼロクロス点の検出を誤る場合があり、その場合は測定に大きな誤差が発生することになる。
【０００７】
また、相互相関を利用する方法においては、信号を統計的に処理することにより、相関の最大値を示すポイントが２つの信号のずれの時間差を示すことになるが、最大値付近は緩やかな曲線なので、真の最大値の位置を求める場合は、２次式などの多項式で近似してその最大値を求める必要がある。図１３はこのような相互相関の計算結果の１例であり、図１４はその最大値付近の拡大図である。
【０００８】
相互相関を利用して伝播時間差を求めるには、それぞれ個数Ｎのデータから成る上流から下流への信号と、下流から上流への信号をそれぞれサンプリングして得た２つのデジタルデータ列ｘ、ｙを用いる。これらのデータ列ｘ、ｙの相互相関は式（１）で求められる。式（１）において、Ｒｘｙは相関関数を表し、ｘ［ｎ］、ｙ［ｎ＋ｍ］は相互相関を求めるデータ列である。添字ｎ＋ｍは、Ｎで割った剰余を使用する。Σについては、ｎ＝１〜Ｎまで積分する。
Ｒｘｙ[ｍ]＝Σｘ[ｎ]・ｙ[ｎ＋ｍ]    （ｍ＝０、１、２、…、Ｎ−１）
…（１）
【０００９】
相関関数Ｒｘｙの値が最大になる点を与える値ｍが、２つのデータ列ｘ、ｙのずれ量、即ち超音波伝播時間の時間差である。しかし、この相関を求めるためには、式（１）による多数のデータの乗算が必要となり、ソフトウエアで実行する場合にはその実行時間が長くなり、ハードウェアで実行する場合には回路規模が大きくなる問題点がある。
【００１０】
また、ｍの値は整数値であるのに対し、相関関数Ｒｘｙの真の最大値は、サンプリング周期によってＲｘｙ［ｍ］の最大値と外れた小数点以下の数値を含む個所にある可能性がある。そのため、真の最大値を求めるには、ｍとその前後の点を通る例えば２次曲線などで近似して推定する必要がある。
【００１１】
本発明の目的は、上記の課題を解決し、簡素な演算により超音波の伝播時間差を正確に検出し得る超音波流量計を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するための本発明に係る超音波流量計は、流体管路の上流側から下流側への超音波信号の伝播時間と下流側から上流側への伝播時間との時間差を求めて流速を測定し流量を演算する超音波流量計であり、上流側から超音波信号を発信し下流側で受信したＮ個のサンプリングデータをＡ／Ｄ変換したデジタルデータ列ｘ［ｎ］を記憶する第１のメモリ手段と、下流側から超音波信号を発信し上流側で受信したＮ個のサンプリングデータをＡ／Ｄ変換したデジタルデータ列ｙ［ｎ］を記憶する第２のメモリ手段と、一対の前記デジタルデータ列ｘ［ｎ］、ｙ［ｎ］ごとに次式により整数である変数ｍを変化させながらｎ＝１〜Ｎまで積分して総和Ｓｘｙ［ｍ］を演算する手段と、変数ｍごとに求めた前記総和Ｓｘｙ［ｍ］を記憶する記憶手段とを有し、該記憶手段に記憶した前記総和Ｓｘｙ［ｍ］からピーク値として得られる最小値を求め、該最小値を示す変数ｍから超音波信号の伝播時間差を算出して流体の流速を測定する超音波流量計であって、前記総和Ｓｘｙ［ｍ］を演算する過程で前記変数ｍをマイナスの整数を含む範囲で変化させながら演算することを特徴とする超音波流量計。
Ｓｘｙ［ｍ］＝Σ｜ｘ［ｎ］−ｙ［ｎ＋ｍ］｜。
【発明の効果】
【００１３】
本発明に係る超音波流量計によれば、短時間の演算で流量測定の基となる正確な超音波の伝播時間差を得ることができる。従って、従来の相互相関の場合よりも単位時間当りの測定回数を多くすることができ、従来と同様の測定回数とすれば回路の演算速度は低速で済む。
【発明を実施するための最良の形態】
【００１４】
図１は実施例のブロック回路構成図である。測定すべき流体が流れる管路１の上流側と下流側に超音波の発信、受信を兼ねた超音波振動子２、３が配置されている。
【００１５】
これらの超音波振動子２、３は切換スイッチ４を介して、送信用増幅器５、受信用可変ゲイン増幅器６に接続されている。可変ゲイン増幅器６の出力は、Ａ／Ｄ変換器７、データバス８を経て、演算ユニット９、ＲＡＭ１０、ＣＰＵ１１に接続されている。更に、ＣＰＵ１１には、Ｉ／Ｏブロック１２、表示入力回路１３が接続されている。
【００１６】
また、Ｉ／Ｏコントローラ１４がデータバス８に接続され、Ｉ／Ｏコントローラ１４にはクロック発生回路１５の出力が接続され、Ｉ／Ｏコントローラ１４の出力は切換スイッチ４、送信用増幅器５、可変ゲイン増幅器６、Ａ／Ｄ変換器７に接続されている。
【００１７】
管路１を流れる流体の流速を測定する際には、各回路の動作はＣＰＵ１１に内蔵のプログラムの指令によって行われる。上流側超音波振動子２から超音波信号を流体中を伝播させて下流側超音波振動子３で受信し、次に下流側超音波振動子３から上流側超音波振動子２に伝播させることを行い、その都度、演算により測定結果を出力するが、この順序は逆であってもよい。
【００１８】
先ず、切換スイッチ４により送信用増幅器５の出力を上流側超音波振動子２に接続し、受信用可変ゲイン増幅器６を下流側超音波振動子３に接続する。Ｉ／Ｏコントローラ１４から振動子２を駆動するバースト信号を発生し、送信用増幅器５から上流側超音波振動子２に送出する。
【００１９】
振動子２で発生した超音波パルスは、流体中を伝播し下流側超音波振動子３で受信される。受信したパルス信号をサンプリングして、受信用可変ゲイン増幅器６で増幅し、Ａ／Ｄ変換器７でデジタルデータ列ｘに変換しＲＡＭ１０に記録する。可変ゲイン増幅器６で得られた超音波パルスのレベルは種々の原因で変化しているので、可変ゲイン増幅器６はその変化を補償し、一定範囲のレベル信号を加えるように制御する。
【００２０】
次に、切換スイッチ４を切換えて、振動子２に可変ゲイン増幅器６を接続し、振動子３に送信用増幅器５を接続して、振動子３から振動子２に流体を介して超音波パルスを伝播させ、同様の処理を行ってデジタルデータ列ｙを得て、ＲＡＭ１０に記録する。
【００２１】
ＣＰＵ１１は上流→下流、下流→上流の超音波データをＡ／Ｄ変換したデータ列ｘ、ｙをそれぞれ記憶する２つのＲａｍＡ、ＲａｍＢを有している。これらのＲａｍＡ、ＲａｍＢは読み書きは独立に行うことが可能で、特に読み出しについては、同時にデータを読み出して演算ユニット９にデータを転送することが可能とされている。
【００２２】
また、表示入力回路１３は得られる信号を表示したり、パラメータの設定などを行う。パラメータとしては、流量のレンジ、アラームを発生する流量の上限値、下限値、ゼロ調整、リニアリティの補正等がある。Ｉ／Ｏブロック１２は流量データやアラーム信号などを出力し、シリアル通信を行う。
【００２３】
図２はハードウエアで差分計算を行うための演算ユニット９のブロック回路構成図である。超音波振動子３、２からのそれぞれのデータ列ｘ、ｙは、減算回路１６、絶対値回路１７を経て積算回路１８に接続されている。また、積算回路１８にクリア信号が接続されている。
【００２４】
式（２）は演算ユニット９で実施する計算方法である。ｍはマイナスを含む整数であり、Σについては、ｎ＝１〜Ｎまで積分する。
Ｓｘｙ［ｍ］＝Σ｜ｘ［ｎ］−ｙ［ｎ＋ｍ］｜                      …（２）
【００２５】
従来の式（１）の相関計算における乗算に代えて、式（２）はデータ列ｘ、ｙの差の絶対値を使用する。差分演算は乗算演算に比べてハードウエアにおいてもソフトウエアにおいてもはるかに負担が小さくて済み、演算も短時間でなされるので、式（２）の演算は式（１）に比較して極めて迅速になされる。
【００２６】
式（２）の差分計算では、例えばそれぞれ５１２個のデータを有するデータ列ｘ、ｙを１つずつのペアとして減算回路１６で差を求める。それにより５１２個の差分が計算されるが、絶対値回路１７で絶対値として、これを全て積算回路１８で積算したものが差分のデータ１個に対応する。データｘ、ｙをずらしながら、これを５１２回繰り返せば、完全な差分データが完成する。
【００２７】
本実施例では、演算ユニット９で行うのは、１つのずれに対する差分の積算値１つを計算する。ずれの量を変えて計算を繰り返すことは、ＣＰＵ１１のプログラムによるソフトウエアにより行う。このようにして、２つの受信データ列ｘ、ｙのずれ量を演算ユニット９で求めることで、伝播時間差が得られ流体の流速を求めることができ、この流速と管路１の内径から流体の流量を求めることができる。
【００２８】
演算ユニット９によるハードウエアで差分の計算を行っているが、差分計算はソフトウエアで行うこともできるが、このようにハードウエアで実行することにより高速で実行できる。
【００２９】
演算ユニット９で得られた式（２）の演算は、ＣＰＵ１１において真の最小値が求められ、更に流速積算されてＩ／Ｏブロック１２を経て出力され、また表示入力回路１３に表示されたり、必要に応じて警報が発せられる。
【００３０】
式（２）に示すように、データの個数をＮとした場合、差分計算にはＮ×Ｎ回の減算が必要とされるが、実際には全てのデータについて計算をする必要はない。例えば、水の流速を測定する場合に、超音波の伝播距離、つまり振動子２、３間の距離を１０ｃｍ、音速を１５００ｍ／ｓとし、測定する流速の最大値が１０ｍ／ｓとすれば、上流から下流への伝播時間は０．１／（１５００＋１０）、下流から上流への伝播時間は０．１／（１５００−１０）となり、伝播時間差は０．９μｓ程度の値となる。
【００３１】
例えば、５０ＭＨｚでサンプリングしてデータ列ｘ、ｙを求めると、サンプルポイントで４５のずれであり、これ以上ずれることがないことから、式（２）のｍの値の範囲としては０〜４５でよいことになる。実際には余裕をみて、これよりも多少大きめの範囲を計算すればよい。
【００３２】
図３、図４、図５に示すフローチャート図を用いて、１回当りの流速の測定手順を説明する。
【００３３】
（ステップ１）切換スイッチ４によりチャンネルＡ（上流→下流の信号経路）を選択する。
【００３４】
（ステップ２）送信用増幅器５からのバースト信号を上流側超音波振動子２に加える。
【００３５】
（ステップ３）上流側超音波振動子２から発信した超音波が下流側超音波振動子３に到着することを待つ。
【００３６】
（ステップ４）到着した超音波信号を例えば５０ＭＨｚのサンプリングレートで抽出し、可変ゲイン増幅器６、Ａ／Ｄ変換器７を経てＡ／Ｄ変換し、例えば５１２ポイントのデータをＲＡＭ１０のＲａｍＡに記憶する。
【００３７】
（ステップ５）切換スイッチ４によりチャンネルＢ（下流→上流の信号経路）を選択する。
【００３８】
（ステップ６）送信用増幅器５からのバースト信号を下流側超音波振動子３に加える。
【００３９】
（ステップ７）下流側超音波振動子３からの超音波が上流側超音波振動子２に到着することを待つ。
【００４０】
（ステップ８）到着した超音波信号をＡチャンネルと同様に、５０ＭＨｚのサンプルレートで抽出してＡ／Ｄ変換し、５１２ポイントのデータをＲａｍＢに記憶する。
【００４１】
（ステップ９）第１のループカウンタの変数ｉを０とする。
【００４２】
（ステップ１０）差分計算時のデータ間のずれを表す変数ｐを−１０とする。これは、流速が０のときに差分の最小値を与えるポイントが０となり、そのままでは最小点の前後のデータが得られないので、これを避けるためである。
【００４３】
（ステップ１１）変数Ｘｍｉｎを例えば７００００とする。この値は差分の最小値を記憶するためのものであり、初期値としてはできるだけ大きな値を採用する。
【００４４】
（ステップ１２）変数Ｔｍｉｎと変数Ｘｍａｘを０とする。変数Ｔｍｉｎは差分の最小値を示すポイントを記憶するために、変数Ｘｍａｘは差分の最大値を記憶するために使用する。
【００４５】
（ステップ１３）第２のループカウンタの変数ｊを０とする。
【００４６】
（ステップ１４）差分値の積算を行うための変数ｓｕｍを０とする。
【００４７】
（ステップ１５）ＲａｍＡ、ＲａｍＢからデータを読み出し、演算ユニット９の減算回路１６、絶対値回路１７で求めたデータ列ｘ、ｙの差の絶対値を積算回路１８で変数ｓｕｍに積算する。ここで、ｊの範囲は０〜５１１であれば、ｊ＋ｐが負となる場合は、それに５１２を加えた値を使用する。
【００４８】
（ステップ１６）第２のループカウンタｊを＋１とする。
【００４９】
（ステップ１７）第２のループカウンタｊが５１２以下ならば（ステップ１５）から繰り返し、そうでなければ（ステップ１８）を実行する。
【００５０】
（ステップ１８）変数ｓｕｍの積算結果をＲａｍＣ［ｉ］に記憶する。なお、ＲａｍＣはＲＡＭ１０に含めてもよいし、ＣＰＵ１１内に設けてもよい。
【００５１】
（ステップ１９）積算結果の変数ｓｕｍが変数Ｘｍｉｎよりも小さければ、（ステップ２０）、（ステップ２１）を実行し、そうでなければ（ステップ２２）を実行する。
【００５２】
（ステップ２０）変数Ｘｍｉｎを変数ｓｕｍに置き換える。
【００５３】
（ステップ２１）変数Ｔｍｉｎをｉに置き換える。
【００５４】
（ステップ２２）積算結果の変数ｓｕｍが変数Ｘｍａｘより大きければ（ステップ２３）を実行し、そうでなければ（ステップ２４）を実行する。
【００５５】
（ステップ２３）変数Ｘｍａｘを変数ｓｕｍに置換する。
【００５６】
（ステップ２４）変数ｐを＋１する。
【００５７】
（ステップ２５）変数ｉを＋１する。
【００５８】
（ステップ２６）変数ｉが６０より小さければ（ステップ１３）から繰り返す。そうでなければ（ステップ２７）を実行する。
【００５９】
（ステップ２７）変数Ｔｍｉｎが例えば５５より大きければ、測定はエラーで終了する。
【００６０】
（ステップ２８）変数Ｘｍａｘと変数Ｘｍｉｎの比が、例えば２．０より小さければ、測定はエラーで終了する。
【００６１】
（ステップ２９）ＲａｍＣの内容、及び変数Ｔｍｉｎの値から、ＣＰＵ１１により差分値の真の最小値Ｔを計算する。最後に−１０しているのは、最初にｐの値を−１０から始めているからである。
【００６２】
図６は計算結果のグラフ図であり、図７は図６における計算値の最小部分の拡大図である。式（１）の相互相関では、最大点が伝播時間差の最小値を示すのに対し、式（２）の差分法においては、最小点が時間差の最小値を示す。つまり、図６においては、左側の下方を向くピーク位置が時間差の最小値を示している。ただし、真の時間差の最小点は計算値の最小値からずれた点にある可能性が大きいので、その真の値は前後の値から推定して求めることが望ましく、フローチャート図のステップ２９で実行している。
【００６３】
即ち、図８においてＳ１は数値として有する差分値の最小点ｍであり、Ｓ０、Ｓ２は最小点ｍからそれぞれ前後に−１、＋１ずれた点にある。Ｐ０は差分値が真の最小点と推定できる点であり、Ｓ１からのずれ量をａ（０＜ａ＜１）とすると、その関係は式（３）で表される。
Ｓ０／（１＋ａ）＝Ｓ２／（１−ａ）                    ・・・（３）
【００６４】
この式（３）から求められたずれ量ａにより、真の最小値を示す時間Ｔは式（４）のように表される。
Ｔ＝ｍ＋ａ＝ｍ＋（Ｓ０−Ｓ２）／（Ｓ０＋Ｓ２）        …（４）
【００６５】
この式（４）から分かるように、真の最小値の時間Ｔを求めるために要する演算は、１回の除算で済むため、処理時間を短縮することが可能となる。
【００６６】
この真の最小値の推定には、Ｓ０、Ｓ２の代りに、Ｓ０、Ｓ１や、Ｓ１、Ｓ２を使用することもできる。Ｓ０＞Ｓ２の場合に、Ｓ０、Ｓ１を使用するときは外挿法で、Ｓ１、Ｓ２を使用するときは内挿法で計算する。Ｓ０＜Ｓ２の場合には、Ｓ０、Ｓ１を使用するときは内挿法で、Ｓ１、Ｓ２を使用するときは外挿法で計算することになる。
【００６７】
このようにして、真の最小値Ｔ、つまり真の伝播時間差を求めることができ、１回の超音波の送受信ごとに流速を求め、毎秒数１０回の流速測定ができる。
【００６８】
また超音波流量計において、流体が液体の場合にその中に気泡や固体の粒子が含まれていると、液体中を伝播する信号の質が低下し誤作動が発生し易いので、信号の質を判断することは重要な問題である。
【００６９】
図９は信号の質が良い場合の差分演算による実測値のグラフ図であり、図１０は信号の質が低下した場合の実測値のグラフ図である。図１１は信号の質が更に低下した場合の差分値の実測値のグラフ図である。なお、図９〜図１１は共に流体の流速は同じである。
【００７０】
これらの図から分かるように、信号の質が低下すると共に、差分値の最大値の尖鋭度が低下する。従って、差分値の最大値、或いは最大値と最小値の比が一定の値を下回った場合、例えば図５のステップ２８で説明したように、信号の質が基準を満たないとして、測定データから除去したり、警報を発することが可能となる。
【００７１】
また、図９、図１０においては差分の最小値を示す横軸の値が２４付近にあるのに対し、図１１では１６６と大幅にずれている。これについても、例えば図５のステップ２７に説明したように、規定の測定範囲を設けておき、図１１に示すようなデータはこの範囲を越えることになり、エラーとして測定データから取り除くことができる。
【図面の簡単な説明】
【００７２】
【図１】ブロック回路構成図である。
【図２】演算ユニットのブロック回路構成図である。
【図３】伝播時間差の測定フローチャート図である。
【図４】伝播時間差の測定フローチャート図である。
【図５】伝播時間差の測定フローチャート図である。
【図６】計算結果のグラフ図である。
【図７】最小値部分の拡大図である。
【図８】真の最小値を求める方法の説明図である。
【図９】信号の質が良い場合のグラフ図である。
【図１０】信号の質が悪い場合のグラフ図である。
【図１１】信号の質が更に悪い場合のグラフ図である。
【図１２】ゼロクロス点を求める場合の超音波受信波形のグラフ図である。
【図１３】乗算により得られた相互相関結果のグラフ図である。
【図１４】ピーク部分の拡大図である。
【符号の説明】
【００７３】
１  管路
２  下流側超音波振動子
３  上流側超音波振動子
４  切換スイッチ
５  送信用増幅器
６  受信用可変ゲイン増幅器
７  Ａ／Ｄ変換器
８  データバス
９  演算ユニット
１０  ＲＡＭ
１１  ＣＰＵ
１２  Ｉ／Ｏブロック
１３  表示入力回路
１４  Ｉ／Ｏコントローラ
１５  クロック発生回路
１６  減算回路
１７  絶対値回路
１８  積算回路
【図１】
0005113343.tif 000002
【図２】
0005113343.tif 000003
【図３】
0005113343.tif 000004
【図４】
0005113343.tif 000005
【図５】
0005113343.tif 000006
【図６】
0005113343.tif 000007
【図７】
0005113343.tif 000008
【図８】
0005113343.tif 000009
【図９】
0005113343.tif 000010
【図１０】
0005113343.tif 000011
【図１１】
0005113343.tif 000012
【図１２】
0005113343.tif 000013
【図１３】
0005113343.tif 000014
【図１４】
0005113343.tif 000015