(57)【要約】【課題】安定した演算結果を出力することができる計測器を提供する。また、入力データの急変に迅速に追従できる測定器を提供する【解決手段】リングバッファ１３は、サンプリング部１２が獲得したサンプル値を、格納ポインタが示す１つのフィールドに格納する。制御部１６は、リングバッファ１３の全てのフィールドにサンプル値が格納されるまでは、フィールドに格納されているサンプル値に単純平均を行うよう演算処理部１４に指示を出す。リングバッファ１３の全てのフィールドにサンプル値が格納されている場合、制御部１６は、通常の移動平均処理を行うよう演算処理部１４に指示を出す。【選択図】　　　　図１
2004069350.tif 000002
【特許請求の範囲】
【請求項１】
外部から入力されるデータから周期的にサンプル値を取得するサンプリング手段と、
複数のフィールドを備え、前記サンプリング手段により取得されるサンプル値を前記フィールドに順次、循環して格納するリングバッファと、
前記リングバッファの全てのフィールドがサンプル値を有する場合は、前記リングバッファに格納された複数のサンプル値のうち最近のサンプル値を含む所定数のサンプル値に対して平均を求め、前記リングバッファの少なくとも１つのフィールドがサンプル値を有しない場合は、前記リングバッファに格納されているサンプル値の平均を求める演算処理手段と
を備えたことを特徴とする計測器。
【請求項２】
請求項１記載の計測器において、
前記サンプリング手段がサンプル値を取得すると、この取得されたサンプル値と、このサンプル値の直前に取得されたサンプル値との差を算出し、この差の値が所定の閾値を超えると、前記リングバッファに既に格納されている全てのサンプル値を消去する制御手段を
さらに備えたことを特徴とする計測器。
【請求項３】
外部から入力されるデータから周期的にサンプル値を取得するサンプリング手段と、
複数のフィールドを備え、前記サンプリング手段により取得されるサンプル値を前記フィールドに順次、循環して格納するリングバッファと、
前記サンプリング手段がサンプル値を取得すると、この取得されたサンプル値と、このサンプル値の直前に取得されたサンプル値との差を算出し、この差の値が所定の閾値を超えると、前記リングバッファに既に格納されている全てのサンプル値を消去する制御手段と
を備えたことを特徴とする計測器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部からの入力データを周期的にサンプリングして演算を実施する計測器に関するものである。
【０００２】
【従来の技術】
従来、計測器では、入力の脈動の影響を抑えるために、周期的にサンプリングした入力データをリングバッファに格納して、このリングバッファに格納されたサンプル値に移動平均を行っている。この移動平均とは、時間とともに変動する観測値の偶然変動を取り除き、一定期間ごとにずらして平均をとることである。例えば、入力信号系列をｘ（ｎＴ）とすると、この入力信号系列ｘ（ｎＴ）から順にＮ点（Ｎを「移動平均回数」という）を取り出し、それらを加算して、その結果をＮで割ると、入力信号系列ｘ（ｎＴ）の移動平均である出力系列ｙ（ｎＴ）を得る。ここで、Ｎ＝５とすると、入力信号を順に５点加算し、それを５で割ることによって、式（１）に示すような出力系列ｙ（ｎＴ）が得られる。
ｙ（ｎＴ）＝［ｘ（ｎＴ）＋ｘ（（ｎ−１）Ｔ）＋ｘ（（ｎ−２）Ｔ）＋ｘ（（ｎ−３）Ｔ）＋ｘ（（ｎ−４）Ｔ）］／５　　…（１）
出力系列ｙ（ｎＴ）の次の時点の移動平均である出力系列ｙ（（ｎ＋１）Ｔ）は、式（２）に示すように、出力系列ｙ（ｎＴ）における最も古い時点の入力信号ｘ（（ｎ−４）Ｔ）を最新の入力信号ｘ（（ｎ＋１）Ｔ）に置き換えて、平均をとる。
ｙ（（ｎ＋１）Ｔ）＝［ｘ（（ｎ＋１）Ｔ）＋ｘ（ｎＴ）＋ｘ（（ｎ−１）Ｔ）＋ｘ（（ｎ−２）Ｔ）＋ｘ（（ｎ−３）Ｔ）］／５　　…（２）
このように、移動平均は、所定の周期Ｔごとに最古の入力信号を最新の入力信号に順次置き換えながら平均をとる。
【０００３】
このような移動平均を用いる計測器においては、通常、スタートアップ時にリングバッファの全てのフィールドを初回サンプル値で埋める方式がよく使われている。ここで、リングバッファのフィールドの数は、上述したＮに対応する。
図１１（ａ）は、従来のデジタル計測器の構成を示すブロック図、図１１（ｂ）は、リングバッファの構成を示す概略図である。
従来のデジタル計測器２１は、外部から入力されるアナログ計測値からなる入力データをデジタルデータに変換するＡ／Ｄ変換部２２と、このＡ／Ｄ変換部２２から出力されるデジタルデータから所定の周期でサンプリングを行いサンプル値を取得するサンプリング部２３と、このサンプリング部２３が取得したサンプル値を格納するリングバッファ２４と、このリングバッファ２４に格納されているサンプル値に移動平均を行う演算処理部２５と、この演算処理部２５から出力される値に所定の演算を行う演算部２６とから構成される。
【０００４】
ここで、リングバッファ２４は、図１１（ｂ）に示すように、サンプリング部２３から入力されるサンプル値を格納する複数のフィールドを備え、サンプリング部２３から入力されるサンプル値は、格納ポインタが示すアドレスのフィールドに格納される。それぞれのフィールドには、サンプル値を格納する順番にアドレスが付与されている。格納ポインタは、サンプル値がフィールドに格納されると、アドレスの順番にしたがって、次にサンプル値を格納するアドレスのフィールドに移動する。
【０００５】
次に、従来のデジタル計測器の動作について、図１１および図１２を用いて説明する。図１１（ｃ）は、リングバッファにサンプルが格納された状態を示す概略図、図１２は、従来のデジタル計測器の動作を示すフローチャートである。
計測を開始すると、まず、サンプリング部２３は、前回の計測時にリングバッファ２４に格納したサンプル値を全て消去する（ステップＳ１２０１）。リングバッファ２４がクリアされると（ステップＳ１２０２：ＹＥＳ）、サンプリング部２３は、Ａ／Ｄ変換部２２から入力されるデジタルデータからサンプル値を取得する（ステップＳ１２０３）。
【０００６】
ステップＳ１２０３で取得したサンプル値は、リングバッファ２４に格納する最初のサンプル値（初回サンプル値）である（ステップＳ１２０４：ＹＥＳ）。よって、リングバッファ２４は、図１１（ｃ）に示すように、リングバッファ２４の全てのフィールドに初回サンプル値を格納する（ステップＳ１２０８）。
【０００７】
演算処理部２５は、リングバッファ２４に格納されたサンプル値に移動平均を行う（ステップＳ１２０６）。初回サンプル値の場合は、リングバッファ２４に格納されているのは初回サンプル値だけなので、移動平均は、初回サンプル値となる。
演算部２６は、演算処理部２５から出力される値に所定の演算を行い、この演算結果を出力データとして外部に出力する（ステップＳ１２０７）。演算が終了すると、サンプリング部２３は、再びステップＳ１２０２に戻り、Ａ／Ｄ変換部２２から入力されるデジタルデータのサンプルタイミング待ち状態に移行する。
【０００８】
２回目以降のサンプリングの場合、前回のサンプリングから所定の期間が経過すると（ステップＳ１２０２：ＹＥＳ）、サンプリング部２３は、Ａ／Ｄ変換部２２から入力されるデジタルデータを取得する（ステップＳ１２０３）。
【０００９】
２回目以降のサンプリングの場合（ステップＳ１２０４：ＮＯ）、リングバッファ２４は、図１１（ｂ）に示すように、リングバッファ２４の格納ポインタが示すアドレスのフィールドにサンプル値を格納する（ステップＳ１２０５）。格納ポインタは、サンプル値がフィールドに格納されると、アドレスの順番にしたがって、次にサンプル値を格納するアドレスのフィールドに移動する。このように格納ポインタがアドレスの順番にしたがってフィールドを順次、移動することにより、リングバッファ２４は、既に格納している初回サンプル値を、順次最新のサンプル値に置き換えてゆく。従来のデジタル計測器においては、図１１（ｃ）に示すようにフィールドがｎ個あるとすると、初回からｎ回目のサンプリングを行うと、全てのフィールドにそれぞれ異なる時点のサンプル値が格納されるようになる。
【００１０】
【発明が解決しようとする課題】
しかしながら、計測器におけるスタートアップ時の入力データは、往々にして不安定である。上述した従来のデジタル計測器では、初回サンプル値でリングバッファ２４の全てのフィールドを埋めてしまう。このため、従来のデジタル計測器では、初回サンプル値が不安定な入力データから得られたサンプル値（異常値）であると、図１１（ｃ）に示すように、リングバッファ２４の全てのフィールド分のサンプリングが終了するまで異常値の影響が残ってしまうという問題があった。
また、スタートアップ時の入力データが時間と共に一定の割合で増加するランプ状であった場合にも、従来のデジタル計測器では、入力データの変化に迅速に追従できないという問題があった。つまり、移動平均処理は、脈動を除くために複数の異なる時点の入力データの平均をとる。このため、移動平均処理は、入力データの変化に対して迅速に追従することができない。
さらには、入力データが階段状に変化するステップ状であった場合にも、従来のデジタル計測器では、入力データがランプ状の場合と同様、入力データの変化に迅速に追従できないという問題があった。
【００１１】
本発明は、このような課題を解決するためになされたものであり、安定した演算結果を出力することができる計測器を提供することを目的とする。また、本発明は、入力データの急変に迅速に追従できる測定器を提供することを目的にする。
【００１２】
【課題を解決するための手段】
このような課題を解決するために本発明にかかる計測器は、外部から入力されるデータから周期的にサンプル値を取得するサンプリング手段と、複数のフィールドを備え、サンプリング手段により取得されるサンプル値をフィールドに順次、循環して格納するリングバッファと、リングバッファの全てのフィールドがサンプル値を有する場合は、リングバッファに格納された複数のサンプル値のうち最近のサンプル値を含む所定数のサンプル値に対して平均を求め、リングバッファの少なくとも１つのフィールドがサンプル値を有しない場合は、リングバッファに格納されているサンプル値の平均を求める演算処理手段とを備えたことを特徴とする。
【００１３】
上記デジタル計測器において、サンプリング手段がサンプル値を取得すると、この取得されたサンプル値と、このサンプル値の直前に取得されたサンプル値との差を算出し、この差の値が所定の閾値を超えると、リングバッファに既に格納されている全てのサンプル値を消去する制御手段をさらに備えるようにしてもよい。
【００１４】
他の形態の計測器は、外部から入力されるデータから周期的にサンプル値を取得するサンプリング手段と、複数のフィールドを備え、前記サンプリング手段により取得されるサンプル値を前記フィールドに順次、循環して格納するリングバッファと、前記サンプリング手段がサンプル値を取得すると、この取得されたサンプル値と、このサンプル値の直前に取得されたサンプル値との差を算出し、この差の値が所定の閾値を超えると、前記リングバッファに既に格納されている全てのサンプル値を消去する制御手段とを備えたことを特徴とする。
【００１５】
【発明の実施の形態】
［第１の実施の形態］
次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。図１（ａ）は、本発明の第１の実施の形態にかかるデジタル計測器の構成を示すブロック図、図１（ｂ）は、リングバッファ１３に格納されるデータの構成を示す概略図である。
図１（ａ）において、デジタル計測器１は、Ａ／Ｄ変換部１１と、サンプリング部１２と、リングバッファ１３と、演算処理部１４と、演算部１５と、制御部１６とから構成される。これらの構成要素は、例えばＣＰＵ、メモリ等のハードウェアとソフトウェアが協働することにより実現することができる。
【００１６】
Ａ／Ｄ変換部１１は、図示しないセンサ等から入力されるアナログデータをデジタルデータに変換して、サンプリング部１２に出力する。
サンプリング部１２は、Ａ／Ｄ変換部１１から出力されたデジタルデータから、周期的にサンプル値を取得する。そして、取得したサンプル値をリングバッファ１３に出力する。なお、サンプリング部１２がサンプリングする周期は、後述する制御部１６により適宜自由に設定することができる。
【００１７】
リングバッファ１３は、図１１（ｂ）を用いて説明した従来のリングバッファ１３と同等の構成を有し、サンプリング部１２から入力されるサンプル値を格納する複数のフィールドと、それぞれのフィールドを識別するアドレスと、サンプリング部１２から入力されるサンプル値を格納するフィールドのアドレスを示す格納ポインタとを少なくとも備える。それぞれのフィールドには、サンプル値を格納する順番にアドレスが付与されている。リングバッファ１３の格納ポインタが示すアドレスのフィールドには、サンプリング部１２から入力されるサンプル値が格納される。格納ポインタは、サンプル値がフィールドに格納されるたびに、アドレスの順番にしたがってインクリメントされ、次にサンプル値を格納するフィールドを順次、移動させる。格納ポインタは、複数のフィールドの最終のアドレスまでインクリメントすると、その次には先頭のアドレスに戻る。なお、フィールドの数は、適宜自由に設定することができる。
【００１８】
このようなリングバッファ１３において、サンプリング部１２から入力されるサンプル値は、格納ポインタが示す１つのフィールドに格納される。このとき、リングバッファ１３のいずれのフィールドにもサンプル値が格納されていない場合、リングバッファ１３は、格納ポインタが示す先頭のアドレスのフィールドにサンプル値を格納する。
例えば、図１（ｂ）に示すようにフィールドがｎ個あるとすると、初回サンプルからｎ回目サンプルまでは、１つずつサンプル値を順次フィールドに格納する。（ｎ＋１）回目のサンプリング以降、つまり全てのフィールドにサンプル値が格納された場合、次回のサンプル値は、先頭のアドレスのフィールド、つまり一番古いサンプル値が格納されたフィールドに格納され、一番古いサンプル値と置き換えられる。このように、格納ポインタがフィールドを循環することにより、リングバッファ１３は、一番古いサンプル値を最新のサンプル値に順次置き換えていく。
【００１９】
演算処理部１４は、後述する制御部１６の指示に基づいて、リングバッファ１３に格納されているサンプル値に、単純平均または移動平均のどちらかの処理を行い、この処理結果を測定値として演算部１５に出力する。ここで、単純平均とは、例えばｎ個のデータがあるとすると、ｎ個のデータの和をｎで割ったときに得られる商のことを意味する。
【００２０】
リングバッファ１３の少なくとも１つのフィールドがサンプル値を有しない場合、演算処理部１４は、リングバッファ１３に格納されているサンプル値に単純平均を行う。つまり、フィールドの数をｎとすると、初回サンプリングから（ｎ−１）回目のサンプリングまでは、初回サンプル値から（ｎ−１）回目サンプル値までに単純平均を行い、この結果を測定値として演算部１５に出力する。
一方、リングバッファ１３の全てのフィールドがサンプル値を有する場合、演算処理部１４は、通常の移動平均を行う。つまり、図１（ｂ）に示すように、ｎ回目のサンプリング以降は、通常の移動平均を行い、この結果を測定値として演算部１５に出力する。
このような構成にすることにより、本実施の形態では、入力データの変化に迅速に追従することができる。
【００２１】
演算部１５は、演算処理部１４から入力される測定値に、例えば入力レンジング演算、出力スケーリング演算または温度補正演算などの所定の演算を行い、演算結果を出力データとして外部に出力する。
【００２２】
制御部１６は、リングバッファ１３のサンプル値を有するフィールドの数に基づいて、リングバッファ１３に格納されているサンプル値に単純平均または移動平均を行うか選択する。
【００２３】
次に、第１の実施の形態にかかるデジタル計測器の動作について、図１および図２を参照して説明する。図２は、第１の実施の形態にかかるデジタル計測器の動作を示すフローチャートである。
デジタル計測器１が計測を開始すると、まず、サンプリング部１２は、前回の計測時にリングバッファ１３に格納したサンプル値を全て消去する（ステップＳ２０１）。リングバッファ１３がクリアされると（ステップＳ２０２：ＹＥＳ）、サンプリング部１２は、Ａ／Ｄ変換部１１から入力されるデジタルデータからサンプル値を１つ取得し（ステップＳ２０３）、このサンプル値をリングバッファ１３に出力する。
【００２４】
リングバッファ１３は、サンプリング部１２から入力されたサンプル値を、格納ポインタが示すフィールドに格納する（ステップＳ２０４）。なお、格納ポインタは、１つのサンプル値に対し、１つのフィールドを指定する。これにともない、サンプリング部１２から出力される１つのサンプル値は、リングバッファ１３の１つのフィールドに格納される。
【００２５】
初回のサンプリングでは、当然、リングバッファ１３の１つのフィールドにしかサンプル値が格納されていない（ステップＳ２０５：ＮＯ）。この場合、演算処理部１４は、制御部１６の指示に基づいて、リングバッファ１３に格納されているサンプル値に単純平均を行う。だが、図１（ｂ）に示すように、リングバッファ１３には初回サンプル値しか格納されていないので、演算処理部１４は、初回サンプル値を測定値として演算部１５に出力する（ステップＳ２０８）。
【００２６】
演算部１５は、演算処理部１４から入力された測定値に所定の演算を行い、この演算結果を出力データとして外部に出力する（ステップＳ２０７）。この演算が終了すると、再びステップＳ２０２に戻る。
【００２７】
２回目以降のサンプリングの場合、前回のサンプリングから所定の期間が経過すると（ステップＳ２０２：ＹＥＳ）、サンプリング部１２は、Ａ／Ｄ変換部１１から入力されるデジタルデータからサンプル値を取得する（ステップＳ２０３）。リングバッファ１３は、サンプリング部１２が取得したサンプル値を、格納ポインタが示すフィールドに格納する（ステップＳ２０４）。
【００２８】
格納ポインタは、図１１（ｂ）を参照して前述したように、サンプル値がフィールドに格納されると、アドレスの順番にしたがって、次にサンプル値を格納するアドレスのフィールドに移動する。このため、図１（ｂ）に示すように、リングバッファ１３にフィールドがｎ個あるとすると、リングバッファ１３のサンプル値が格納されるフィールドは、２回目からｎ回目のサンプリングまでは、毎回、１つずつ増加する。（ｎ＋１）回目以降のサンプリングでは、全てのフィールドにサンプル値が格納されているので、リングバッファ１３は、既に格納してあるサンプル値の中で最古のサンプル値を、最新のサンプル値に置き換えていく。
【００２９】
制御部１６は、リングバッファ１３のサンプル値が格納されているフィールドの数に応じて、リングバッファ１３に格納されているサンプル値に単純平均または移動平均を行うかの指示を演算処理部１４に出す。
フィールドの数をｎ個とすると、（ｎ−１）回目のサンプリングまでは、リングバッファ１３のフィールドの中に、サンプル値が格納されていないフィールドが少なくとも１つ存在する（ステップＳ２０５：ＮＯ）。このため、演算処理部１４は、制御部１６の指示に基づいて単純平均処理、つまりリングバッファ１３に格納されているサンプル値に単純平均を行い、この結果を測定値として演算部１５に出力する（ステップＳ２０８）。
ｎ回目以降のサンプリングでは、リングバッファ１３の全てのフィールドにサンプル値が格納されている（ステップＳ２０５：ＹＥＳ）。このため、演算処理部１４は、制御部１６の指示に基づいて通常の移動平均処理、つまり全てのフィールドに格納されたサンプル値に移動平均を行い、この結果を測定値として演算部１５に出力する（ステップＳ２０６）。
【００３０】
演算部１５は、演算処理部１４から入力された測定値に所定の演算を行い、この演算結果を出力データとして外部に出力する（ステップＳ２０７）。この演算が終了すると、再びステップＳ２０２に戻り、第１の実施の形態にかかるデジタル計測器は、上述した各処理を連続的に行っていく。
この結果、第１の実施の形態では、１回のサンプリングにつき１つのフィールドにサンプル値が格納されるため、算出する測定値における初回のサンプル値の影響が小さくなる。したがって、第１の実施の形態にかかるデジタル計測器は、初回サンプル値が不安定な入力データであっても、そのようなデータの影響を抑えることができるので、安定した演算結果を出力することができる。
【００３１】
次に、図３と図４を参照して、移動平均回数が１０回、初回のサンプル値が１０（異常値）、２回目以降のサンプル値が５という入力データが定常値であるという条件で、第１の実施の形態にかかるデジタル計測器と従来のデジタル計測器との計測結果のシミュレーション結果を比較する。図３（ａ）は、初回のサンプル値が異常値である場合に第１の実施の形態にかかるデジタル計測器のリングバッファに格納されるサンプル値の構成を示す概略図、図３（ｂ）は、初回のサンプル値が異常値である場合に従来のデジタル計測器のリングバッファに格納されるサンプル値の構成を示す概略図、図４は、初回のサンプル値が異常値である場合の第１の実施の形態にかかるデジタル計測器と従来のデジタル計測器の測定値の結果を示すグラフである。
【００３２】
第１の実施の形態にかかるデジタル計測器は、図３（ａ）に示すように、１回のサンプリングにつき１つのフィールドにサンプル値を格納する。したがって、初回サンプル値が異常値の場合にも、この異常値は１つのフィールドにしか格納されない。このため、第１の実施の形態では、サンプリングの初期の段階での測定値に対する初回のサンプル値の影響を小さくして、測定値を早期に理想値に近づけることができる。
【００３３】
一方、従来のデジタル計測器は、図３（ｂ）に示すように、初回サンプリングの際に全てのフィールドに初回のサンプル値を格納する。初回のサンプル値は、１回のサンプリングにつき１つずつしか最新のサンプル値と置き換えられない。このため、従来のデジタル計測器では、サンプリングの初期の段階での測定値に現れる初回のサンプル値の影響が大きい。
【００３４】
図４は、第１の実施の形態による測定値が、従来のデジタル計測器による測定値に比べて、理想値へ迅速に追従することを示している。特に、初期のサンプリング時における測定値と理想値との差は、第１の実施の形態が従来のデジタル計測器より格段に小さい。このことからも明らかなように、第１の実施の形態は、計測初期の不安定な入力データの影響を抑えることができるので、安定した演算結果を出力することができる。
【００３５】
［第２の実施の形態］
第１の実施の形態は、初期の不安定な入力データの影響を抑えることができる。しかし、ランプ入力やステップ入力などのように、入力データが初回のサンプル値以外に途中から変化する場合、第１の実施の形態は、従来のデジタル計測器と比較して飛躍的に入力データの変化に追従することができるとは言い難い。これは、第１の実施の形態は、入力データが変化する前、つまり既にリングバッファに格納されているサンプル値を用いて測定値を算出するからである。
そこで、第２の実施の形態は、入力データの変化に迅速に追従するために、第１の実施の形態の制御部１６に以下に示す新たな機能を追加した。なお、第２の実施の形態は、第１の実施の形態とほぼ同等の構成を成すので、同等の構成要素には同じ符号および名称を付し、適宜説明を省略する。
【００３６】
制御部１６は、サンプリング部１２がサンプル値を取得すると、この取得したサンプル値とリングバッファ１３に既に格納されている前回のサンプル値との差分を算出する。この算出した差分が所定の閾値を超えると、制御部１６は、リングバッファ１３に既に格納されているサンプル値を全て削除し、リングバッファ１３の格納ポインタの位置を、リングバッファ１３の先頭のアドレスのフィールドに移動させる。そして、サンプリング部１２は、取得したサンプル値を、リングバッファ１３に出力する。リングバッファ１３は、サンプリング部１２から入力されたサンプル値を、格納ポインタが示すフィールドに格納する。
なお、閾値は、必要に応じて自由に変更することができる。
【００３７】
次に、第２の実施の形態にかかるデジタル計測器の動作について、図５を参照して説明する。図５は、第２の実施の形態にかかるデジタル計測器の動作を示すフローチャートである。
第２の実施の形態にかかるデジタル計測器が計測を開始すると、まず、サンプリング部１２は、前回の計測時にリングバッファ１３に格納したサンプル値を全て消去する（ステップＳ５０１）。リングバッファ１３がクリアされると（ステップＳ５０２：ＹＥＳ）、サンプリング部１２は、Ａ／Ｄ変換部１１から入力されるデジタルデータから初回のサンプル値を１つ取得し（ステップＳ５０３）、このサンプル値をリングバッファ１３に出力する。
【００３８】
初回のサンプリングでは、当然、リングバッファ１３にはサンプル値が１つも格納されていない。このため、制御部１６は、初回のサンプル値と閾値とを比較する（ステップＳ５０４）。だが、初回のサンプル値は、閾値を超えていてもいなくても、結局は格納ポインタが示すフィールドに格納される（ステップＳ５０５）。
【００３９】
初回のサンプリングでは、リングバッファ１３には、１つのフィールドにしかサンプル値が格納されていない（ステップＳ５０６：ＮＯ）。演算処理部１４は、制御部１６の指示に基づいて、リングバッファ１３に格納されているサンプル値に単純平均を行うが（ステップＳ５１０）、リングバッファ１３には初回サンプル値しか格納されていないので、図１（ｂ）に示すように、初回サンプル値を測定値として演算部１５に出力する。
【００４０】
演算部１５は、演算処理部１４から入力された測定値に所定の演算を行い、この演算結果を出力データとして外部に出力する（ステップＳ５０８）。この演算が終了すると、再びステップＳ５０２に戻る。
【００４１】
２回目以降のサンプリングの場合、前回のサンプリングから所定の期間が経過すると（ステップＳ５０２：ＹＥＳ）、サンプリング部１２は、Ａ／Ｄ変換部１１から入力されるデジタルデータからサンプル値（最新のサンプル値）を取得する（ステップＳ５０３）。
制御部１６は、最新のサンプル値と、リングバッファ１３に既に格納されている前回に取得したサンプル値（前回のサンプル値）との差分を算出し、この差分と所定の閾値とを比較する（ステップＳ５０４）。この際、前回のサンプル値は、制御部１６が、リングバッファ１３から読み出す。
【００４２】
差分が所定の閾値を超えている場合（ステップＳ５０４：ＹＥＳ）、制御部１６は、リングバッファ１３に既に格納されているサンプル値を全て削除し、リングバッファ１３の格納ポインタの位置をリングバッファ１３の先頭のアドレスのフィールドに移動させる（ステップＳ５０９）。リングバッファ１３は、格納ポインタが示す先頭のアドレスのフィールドに、最新のサンプル値を格納する（ステップＳ５０５）。
差分が所定の閾値を超えている場合は、初回のサンプリングの場合と同様、リングバッファ１３には、サンプル値が１つしか格納されていない（ステップＳ５０６：ＮＯ）。演算処理部１４は、制御部１６の指示に基づいて、リングバッファ１３に格納されているサンプル値に単純平均を行うが（ステップＳ５１０）、リングバッファ１３には最新のサンプル値しか格納されていないので、この最新のサンプル値を測定値として演算部１５に出力する。
【００４３】
算出した差分が所定の閾値を超えていない場合（ステップＳ５０４：ＮＯ）、リングバッファ１３は、格納ポインタが示すアドレスのフィールド、つまり、前回のサンプル値の隣のアドレスのフィールドに、最新のサンプル値を格納する（ステップＳ５０５）。
リングバッファ１３の全てのフィールドにサンプル値が格納されると（ステップＳ５０６：ＹＥＳ）、演算処理部１４は、制御部１６の指示に基づいて通常の移動平均処理、つまり全てのフィールドに格納されたサンプル値に移動平均を行い、この結果を測定値として演算部１５に出力する（ステップＳ５０７）。
リングバッファ１３にサンプル値が格納されていないフィールドが少なくとも１つあると（ステップＳ５０６：ＮＯ）、演算処理部１４は、制御部１６の指示に基づいてリングバッファ１３に格納されているサンプル値に単純平均を行い、この結果を測定値として演算部１５に出力する（ステップＳ５１０）。
【００４４】
演算部１５は、演算処理部１４から入力された測定値に所定の演算を行い、この演算結果を出力データとして外部に出力する（ステップＳ５０８）。この演算が終了すると、再びステップＳ５０２に戻り、第２の実施の形態にかかるデジタル計測器は、上述した各処理を連続的に行っていく。
この結果、第２の実施の形態では、サンプル値が閾値を超えると、リングバッファ１３がクリアされるので、入力データが急激に変化する場合に、その変化に迅速に追従することができる。したがって、第２の実施の形態では、入力データが定常状態のときは安定した演算結果を、入力データが急激に変化したときは入力に迅速に追従した演算結果を出力することができる。
【００４５】
次に、図６と図７を参照して、移動平均回数が１０、閾値が０．５、初回のサンプル値が１、２回目サンプル値以降が初回のサンプル値から１ずつ増えていくランプ入力という条件で、第２の実施の形態にかかるデジタル計測器と従来のデジタル計測器との計測結果のシミュレーション結果を比較する。図６（ａ）は、外部からの入力データがランプ入力である場合に第２の実施の形態にかかるデジタル計測器のリングバッファに格納されるサンプル値の構成を示す概略図、図６（ｂ）は、外部からの入力データがランプ入力である場合に従来のデジタル計測器のリングバッファに格納されるサンプル値の構成を示す概略図、図７は、外部からの入力データがランプ入力である場合の第２の実施の形態にかかるデジタル計測器と従来のデジタル計測器の測定値の結果を示すグラフである。
【００４６】
第２の実施の形態にかかるデジタル計測器のリングバッファには、図６（ａ）に示すように、先頭のアドレスのみにサンプル値が格納される。これは、第２の実施の形態は、最新のサンプル値と前回のサンプル値との差分が常に閾値を超えるので、制御部１６が、サンプリング部１２が最新のサンプル値を取得するごとに、リングバッファ１３をクリアするからである。したがって、リングバッファ１３には、先頭のアドレスのフィールドにのみサンプル値が格納される、つまり最新のサンプル値のみが格納される。これにより、第２の実施の形態では、入力データの変化に迅速に追従することができる。
【００４７】
一方、従来のデジタル計測器のリングバッファには、図６（ｂ）に示すように、初回サンプリングの際に全てのフィールドに初回のサンプル値を格納する。従来のデジタル計測器は、入力データがランプ入力の場合にも、初回のサンプリングの際に全てのフィールドを初回のサンプル値で埋めてしまうため、測定値が初回のサンプル値の影響を大きく受ける。
【００４８】
図７は、第２の実施の形態による測定値が、従来のデジタル計測器の測定値に比べて、理想値の変化に迅速に追従することを示している。従来のデジタル計測器の移動平均値は、サンプリング回数を増やしても、理想値との差が大きいが、第２の実施の形態の移動平均値は、理想値と同じ値をとる。このことからも明らかなように、第２の実施の形態は、入力データが定常状態のときは安定した演算結果を、入力データが急激に変化したときは入力に迅速に追従した演算結果を出力することができる。
【００４９】
次に、同じランプ入力に対して第２の実施の形態にかかるデジタル計測器と第１の実施の形態にかかるデジタル計測器についても比較する。図８（ａ）は、外部からの入力データがランプ入力である場合に第１の実施の形態にかかるデジタル計測器のリングバッファに格納されるサンプル値の構成を示す概略図、図８（ｂ）は、外部からの入力データがランプ入力である場合の第２の実施の形態にかかるデジタル計測器と第１の実施の形態にかかるデジタル計測器の測定結果を示すグラフである。
【００５０】
第１の実施の形態にかかるデジタル計測器のリングバッファには、図８（ａ）に示すように、１回のサンプリングにつき１つのフィールドにサンプル値が格納される。このため、第１の実施の形態において算出される測定値は、リングバッファ１３に既に格納されているサンプル値の影響を受ける。したがって、第１の実施の形態は、入力データがランプ入力のような所定の値ずつ増加する場合、第２の実施の形態と比較すると、入力データの変化に迅速に追従することができない。
【００５１】
図８（ｂ）は、第２の実施の形態による測定値が、第１の実施の形態による測定値に比べて、理想値の変化に迅速に追従することを示している。第２の実施の形態が算出する測定値は、理想値と同じ値をとる。これに対して第１の実施の形態が算出する測定値は、ランプ入力のように入力データが所定の値ずつ変化すると、サンプリング回数を増やしても理想値との差が大きく、入力データの変化に迅速に追従することができない。このことからも明らかなように、第２の実施の形態は、入力データが定常状態のときは安定した演算結果を、入力データが急激に変化したときは入力に迅速に追従した演算結果を出力することができる。
【００５２】
次に、図９と図１０を参照して、第２の実施の形態にかかるデジタル計測器と従来のデジタル計測器との計測結果のシミュレーション結果について比較する。なお、動作条件は、移動平均回数が１０、定常サンプル値が１、ステップ入力サンプル値が１０、閾値が５、１５回目のサンプリングからサンプル値がステップ入力サンプル値に変化するものとする。図９（ａ）は、外部からの入力データがステップ入力である場合に第２の実施の形態にかかるデジタル計測器のリングバッファに格納されるサンプル値の構成を示す概略図、図９（ｂ）は、外部からの入力データがステップ入力である場合に従来のデジタル計測器のリングバッファに格納されるサンプル値の構成を示す概略図、図１０は、外部からの入力データがステップ入力の場合の第２の実施の形態にかかるデジタル計測器と従来のデジタル計測器との測定値の結果を示すグラフである。
【００５３】
第２の実施の形態にかかるデジタル計測器のリングバッファには、図９（ａ）に示すように、最新のサンプル値と前回のサンプル値との差分が閾値を超えると、バッファをクリアして、先頭のアドレスのフィールドに最新のサンプル値が格納される。ここで、１５回目のサンプル値と１４回目のサンプル値との差分は、閾値を超える。このため、１４回目までのサンプル値は、全て消去される。そして、１５回目のサンプル値は、先頭のアドレスのフィールドに格納される。このような構成を有することにより、第２の実施の形態は、ステップ入力のような入力データの急激な変化にも迅速に追従することができる。
【００５４】
一方、従来のデジタル計測器のリングバッファには、図９（ｂ）に示すように、リングバッファ１３の全てのフィールドにサンプル値が格納されると、１回のサンプリングにつき１つずつ格納ポインタが示すフィールドのサンプル値と最新のサンプル値と置き換える。このため、従来のデジタル計測器では、ステップ入力のように入力データに急激な変化がある場合、この変化に迅速に追従することができない。
【００５５】
図１０は、第２の実施の形態にかかるデジタル計測器が算出する測定値が、従来のデジタル計測器が算出する測定値に比べて、理想値の変化に迅速に追従することを示している。第２の実施の形態が算出する測定値は、理想値と同じ値をとる。これに対して従来のデジタル計測器は、ステップ入力のように入力データが急激に変化すると、この変化に迅速に追従することができない。このことからも明らかなように、第２の実施の形態は、入力データが定常状態のときは安定した演算結果を、入力データが急激に変化したときは入力に迅速に追従した演算結果を出力することができる。
【００５６】
なお、第２の実施の形態において、制御部１６は、リングバッファ１３をクリアすると、格納ポインタを先頭のアドレスのフィールドに移動させるように説明したが、リングバッファ１３をクリアしても格納ポインタを移動させなくてもよい。格納ポインタは、サンプル値を格納するフィールド全てを所定の順序で循環する。このため、格納ポインタの位置は、サンプル値を格納するフィールドが特定できれば、リングバッファ１３をクリアした後も、リングバッファ１３のどのフィールドに存在していてもよい。例えば、任意のアドレスのフィールド、またはリングバッファをクリアしても移動させないなど、リングバッファ１３をクリアした後の格納ポインタの位置は、適宜自由に設定することができる。
【００５７】
また、第１および第２の実施の形態において、リングバッファ１３にサンプル値が格納されていない場合、サンプリング部１２が取得したサンプル値を、必ずしも先頭のアドレスのフィールドに格納しなくてもよい。格納ポインタは、サンプル値を格納するフィールド全てを所定の順序で循環する。このため、格納ポインタが示すアドレスのフィールドであるならば、リングバッファ１３にサンプル値が格納されていない場合でも、サンプル値を格納するフィールドは、適宜自由に設定することができる。
【００５８】
また、第１および第２の実施の形態において、外部から入力されるアナログデータをデジタルデータに変換し、このデジタルデータをサンプリングするように説明したが、サンプリングする手順はこれに限定されない。例えば、まずサンプリング部１２により外部から入力されるアナログデータからサンプル値を取得し、この取得したアナログデータをＡ／Ｄ変換部１１によりデジタルデータに変換するようにしてもよい。
【００５９】
また、第１および第２の実施の形態において、計測器としてデジタル計測器を適用して説明したが、本発明は、移動平均処理を行う計測器であれば各種計測器に適用することができる。
【００６０】
【発明の効果】
以上説明したことからも明らかなように、本発明によれば、外部からの入力データを周期的にサンプリングする計測器において、リングバッファのフィールドに１つもサンプル値が格納されていないと、先頭のアドレスのフィールドのみにサンプル値を格納して、以下、サンプリング周期ごとに、得られたサンプル値を前回格納した次のアドレスのフィールドに順次格納していき、リングバッファの全てのフィールドにサンプル値が格納されるまでは、演算処理部がリングバッファに格納されているサンプル値に単純平均を行い、この結果を測定値とし、この測定値に所定の演算を行うことにより、計測初期の不安定な入力データの影響を抑えることができる。したがって、安定した演算結果を出力することができる。
【００６１】
また、サンプリング手段が取得したサンプル値と、このサンプル値の前回に得たサンプル値との差分を算出し、この差分が所定の閾値を超えると、リングバッファに格納されているサンプル値を全て消去する制御手段を備えることにより、スタートアップ時以外の入力データの急変にも迅速に追従することができる。
【図面の簡単な説明】
【図１】（ａ）本発明の実施の形態にかかるデジタル計測器の構成を示すブロック図、（ｂ）リングバッファ１３に格納されるデータの構成を示す概略図である。
【図２】第１の実施の形態にかかるデジタル計測器の動作を示すフローチャートである。
【図３】（ａ）初回のサンプル値が異常値である場合に第１の実施の形態にかかるデジタル計測器のリングバッファに格納されるサンプル値の構成を示す概略図、（ｂ）初回のサンプル値が異常値である場合に従来のデジタル計測器のリングバッファに格納されるサンプル値の構成を示す概略図である。
【図４】初回のサンプル値が異常値である場合の第１の実施の形態にかかるデジタル計測器と従来のデジタル計測器の測定値の結果を示すグラフである。
【図５】第２の実施の形態にかかるデジタル計測器の動作を示すフローチャートである。
【図６】（ａ）外部からの入力データがランプ入力である場合に第２の実施の形態にかかるデジタル計測器のリングバッファに格納されるサンプル値の構成を示す概略図、（ｂ）外部からの入力データがランプ入力である場合に従来のデジタル計測器のリングバッファに格納されるサンプル値の構成を示す概略図である。
【図７】外部からの入力データがランプ入力である場合の第２の実施の形態にかかるデジタル計測器と従来のデジタル計測器の測定値の結果を示すグラフである。
【図８】（ａ）外部からの入力データがランプ入力である場合の第１の実施の形態にかかるデジタル計測器のリングバッファに格納されるサンプル値の構成を示す概略図、（ｂ）外部からの入力データがランプ入力である場合の第２の実施の形態にかかるデジタル計測器と第１の実施の形態にかかるデジタル計測器の測定値の結果を示すグラフである。
【図９】（ａ）外部からの入力データがステップ入力である場合に第２の実施の形態にかかるデジタル計測器のリングバッファに格納されるサンプル値の構成を示す概略図、（ｂ）外部からの入力データがステップ入力である場合に従来のデジタル計測器のリングバッファに格納されるサンプル値の構成を示す概略図ある。
【図１０】外部からの入力データがステップ入力の場合の第２の実施の形態にかかるデジタル計測器と従来のデジタル計測器との測定値の結果を示すグラフである。
【図１１】（ａ）従来のデジタル計測器の構成を示すブロック図、（ｂ）リングバッファの構成を示す概略図、（ｃ）リングバッファにサンプルが格納された状態を示す概略図である。
【図１２】従来のデジタル計測器の動作を示すフローチャートである。
【符号の説明】
１…デジタル計測器、１１…Ａ／Ｄ変換部、１２…サンプリング部、１３…リングバッファ、１４…演算処理部、１５…演算部、１６…制御部。
【図１】
2004069350.tif 000003
【図２】
2004069350.tif 000004
【図３】
2004069350.tif 000005
【図４】
2004069350.tif 000006
【図５】
2004069350.tif 000007
【図６】
2004069350.tif 000008
【図７】
2004069350.tif 000009
【図８】
2004069350.tif 000010
【図９】
2004069350.tif 000011
【図１０】
2004069350.tif 000012
【図１１】
2004069350.tif 000013
【図１２】
2004069350.tif 000014