(57)【要約】    【課題】  任意のサンプリング回数だけ入力データをサンプリングしてその平均化を行うことができるサンプリングデータ平均化回路を提供する。    【解決手段】  設定されたサンプリング回数だけ入力データを所定のタイミングでサンプリングするサンプリング手段と、入力データのサンプリングが行われる毎にそのサンプリングされたデータを設定サンプリング回数で割り算する割算手段と、その割算結果を順次積算する積算手段と、を備え、積算手段による積算結果から平均値を得る。【選択図】  図１０
2008066857.tif 000002
【特許請求の範囲】
【請求項１】
入力データを複数回サンプリングしてその平均値を算出するサンプリングデータ平均化回路であって、
任意のサンプリング回数を設定するサンプリング回数設定手段と、
前記サンプリング回数設定手段によって設定されたサンプリング回数だけ入力データを所定のタイミングでサンプリングするサンプリング手段と、
前記サンプリング手段によってデータのサンプリングが行われる毎にそのサンプリングされたデータを前記サンプリング回数設定手段によって設定されたサンプリング回数で割り算する割算手段と、
前記割算手段による割算結果を順次積算する積算手段と、を備え、
前記積算手段による積算結果から平均値を得ることを特徴とするサンプリングデータ平均化回路。
【請求項２】
前記割算手段は、前記サンプリング手段によってサンプリングされたデータをＮビット（Ｎは１以上の整数）とし、割算結果をＮ＋Ｍビット（Ｍは１以上の整数）とし、前記サンプリング回数設定手段によって設定されたサンプリング回数を２I（Ｉは１以上の整数でＩ≦Ｍ）とすると、前記サンプリングされたデータをＮ＋Ｍビットの上位ビットからIビットだけ下位ビットへシフトし、残りのビットを０とすることによって前記Ｎ＋Ｍビットの割算結果を生成して前記積算手段に供給することを特徴とする請求項１記載のサンプリングデータ平均化回路。
【請求項３】
前記積算手段は、前記Ｎ＋Ｍビットの割算結果を積算し、その積算結果の上位Ｎビットを前記平均値とすることを特徴とする請求項１又は２記載のサンプリングデータ平均化回路。
【請求項４】
前記積算手段は、上位からＮ＋１ビット目を１とし、その他のビットを０する前記Ｎ＋Ｍビットの積算初期値を設定し、これにより、前記積算結果の下位Ｍビットを四捨五入した前記上位Ｎビットの前記平均値を算出することを特徴とする請求項１ないし３のいずれか１記載のサンプリングデータ平均化回路。
【請求項５】
前記サンプリング手段は、前記サンプリング回数設定手段によって設定されたサンプリング回数＋２だけ前記入力データを所定のタイミングでサンプリングし、
前記積算手段は、前記割算手段による割算結果のデータ値のうちのから最大値を検出する最大値検出手段と、
前記割算手段による割算結果のデータ値のうちのから最小値を検出する最小値検出手段と、
前記割算手段による割算結果を前記サンプリング回数＋２だけ積算した結果から前記最大値及び前記最小値を減算して前記サンプリング回数だけの積算結果を得る演算手段と、を備えることを特徴とする請求項１記載のサンプリングデータ平均化回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力データを複数回サンプリングしてその平均値を算出するサンプリングデータ平均化回路に関する。
【背景技術】
【０００２】
従来のサンプリングデータ平均化回路は、例えば、図１に示すように、サンプリング回路１、データ加算回路２、サンプリング命令回路３及びサンプリングデータ格納回路４から構成される。サンプリング回数を２M回、サンプリングデータ幅をＮビットとする。サンプリング回路１はＮビット幅の入力データＤ001、及びサンプリング開始フラグＳ021を受け入れ、サンプリング完了フラグＳ011、及びＮビット幅の出力データＤ011を出力する。入力データＤ001は時間変化するサンプリング対象データである。
【０００３】
サンプリング回路１は、図２に示すように、カウンタ１１、比較器１２、Ｎビット分のＡＮＤ回路１３[0]〜１３[N-1]、及びフリップフロップ（ＦＦ）１４、１５[0]〜１５[N-1]から構成される。カウンタ１１は、サンプリング開始フラグＳ021の立ち上がりに応答してカウントアップを開始し、カウンタ値をＤ111として出力する。カウンタ１１のカウントアップは比較器１２の比較出力Ｓ111のフラグが立つと停止し、カウンタ値は初期値に戻る。比較器１２はカウンタ１１のカウンタ値Ｄ111と固定値Ｄ112とを比較し、Ｄ111とＤ112の値が等しいときＳ111のフラグをセットする。比較器１２の比較出力Ｓ111はＡＮＤ回路１３[0]〜１３[N-1]及びＦＦ１４に出力する。
【０００４】
ＡＮＤ回路１３[0]〜１３[N-1]は、比較器１２の比較出力Ｓ111とＮビットの入力データＤ001[0]〜Ｄ001[N-1]との論理積をとり、データＤ113[0]〜Ｄ113[N-1]としてＦＦ１５[0]〜１５[N-1]に出力する。
【０００５】
ＦＦ１４及び１５[0]〜１５[N-1]にはクロックパルス及びリセットパルスが供給される。ＦＦ１４はクロックパルスに同期して比較器１２の比較出力Ｓ111の値を取り込み、サンプリング完了フラグＳ011として出力する。ＦＦ１５[0]〜１５[N-1]はクロックパルスに同期してＡＮＤ回路１３[0]〜１３[N-1]の出力データＤ113[0]〜Ｄ113[N-1]を取り込んで保存し、データＤ011[0]〜Ｄ011[N-1]として出力する。データＤ011[0]〜Ｄ011[N-1]がサンプリング回路１の出力データＤ011、すなわちサンプリングされたデータである。
【０００６】
データ加算回路２は、図３に示すように、加算器２１とセレクタ２２を有する。加算器２１はＮビット（Ｎは１以上の整数）の加算を行い、サンプリング回路１のＮビットの出力データＤ011とサンプリングデータ格納回路４のＮ＋Ｍビット（Ｍは１以上の整数）の出力データＤ031とを加算し、データＤ121としてセレクタ２２に出力する。セレクタ２２はＦＦ１４からのサンプリング完了フラグＳ011に応じてサンプリング命令回路３の出力データＤ031と加算器２１の出力データＤ121とのいずれか一方をＮ＋ＭビットのデータＤ021として出力する。すなわち、サンプリング完了フラグＳ011が０を示すときデータＤ031をＤ021として出力し、サンプリング完了フラグＳ011が１を示すときデータＤ121をＤ021として出力する。
【０００７】
サンプリング命令回路３は、図４に示すように、ＡＮＤ回路３１，３２、記憶回路３３、カウンタ３４及び比較器３５を有する。ＡＮＤ回路３１は記憶回路３３の出力データＳ132の反転値とセレクトデータＳ011との論理積をとり、データＳ131を記憶回路３３に出力する。記憶回路３３はフリップフロップからなり、それにはクロックパルス及びリセットパルスが供給される。記憶回路３３はクロックパルスに同期してＡＮＤ回路３１の出力データＳ131を取り込んで保存し、フラグデータＳ132として出力する。
【０００８】
カウンタ３４はフラグデータＳ132のフラグを受けるとカウントアップを開始し、カウンタ値をＳ133として出力する。カウンタ１１のカウントアップは比較器３５の比較出力Ｓ135のフラグが立つと停止し、カウンタ値は初期値に戻る。比較器３６はカウンタ３４のカウンタ値Ｓ133と固定値Ｓ134とを比較し、Ｓ133とＳ134との値が等しいときＳ135のフラグをセットする。ＡＮＤ回路３２は、記憶回路３３の出力データＳ132と比較器３６の比較結果Ｓ135の反転値との論理積をとり、サンプリング開始フラグＳ021として出力する。
【０００９】
サンプリングデータ格納回路４は、図５に示すように、フリップフロップからなる記憶回路４１[0]〜４１[N+M-1]からなり、それにはクロックパルス及びリセットパルスが供給される。また、記憶回路４１[0]〜４１[N+M-1]にはデータ加算回路２の出力データＤ021（Ｄ021[0]〜Ｄ021[N+M-1]）が供給される。記憶回路４１[0]〜４１[N+M-1]はクロックパルスに同期してデータＤ021[0]〜Ｄ021[N+M-1]を取り込んで保存し、Ｄ031[0]〜Ｄ031[N+M-1]として出力する。Ｄ031[0]〜Ｄ031[N+M-1]がデータＤ031であり、Ｄ031[M]〜Ｄ031[N+M-1]がサンプリングデータ平均化回路の出力データＤ041である。
【００１０】
次に、かかる構成の従来のサンプリングデータ平均化回路の動作について説明する。サンプリング回路１への入力データＤ001は図６に示すように時間変化するＤ00A,Ｄ00B，Ｄ00C，……であるとする。図６は入力データＤ001の他に、サンプリング完了フラグＳ011、サンプリング開始フラグＳ021、及びサンプリング回路１の出力データＤ011のタイムチャートを示している。サンプリング命令回路３からのサンプリング開始フラグＳ021が０から１となることにより立ち上がると、カウンタ１１がカウントアップを開始する。カウンタ１１のカウント値Ｄ111が固定値に達すると、比較器１２の出力Ｓ111が０から１に変化し、それに応じてその時点の入力データＤ001[0]〜Ｄ001[N-1]がＡＮＤ回路１３[0]〜１３[N-1]介してＦＦ１５[0]〜１５[N-1]に保存される。よって、サンプリング回路１の出力データＤ011が得られる。それと同時にＦＦ１４から出力されるサンプリング完了フラグＳ011が０から１となることにより立ち上がる。
【００１１】
図７はデータ加算回路２に入力されるサンプリング完了フラグＳ011、サンプリング回路１の出力データＤ011及びサンプリングデータ格納回路４の出力データＤ031、並びにデータ加算回路２の出力データＤ021の間の関係をタイムチャートとして示している。図７に示されたように、サンプリング完了フラグＳ011が０のときにはその時点のサンプリングデータ格納回路４の出力データＤ031がそのまま出力データＤ021とされる。サンプリング完了フラグＳ011が１となると、その時点のサンプリング回路１の出力データＤ011とサンプリングデータ格納回路４の出力データＤ031との加算値Ｄ121が出力データＤ021とされる。
【００１２】
図８はサンプリング命令回路３に入力されるサンプリング完了フラグＳ011、サンプリング命令回路３から出力されるサンプリング開始フラグＳ021、及びサンプリング命令回路３内のカウンタ３４のカウンタ値をＳ133の間の関係をタイムチャートとして示している。サンプリング回路１からサンプリング完了フラグＳ011の立ち上がりに応答してサンプリング命令回路３では、記憶回路３３がクロックパルスに同期してＡＮＤ回路３１の出力データＳ131を取り込んで保存し、フラグデータＳ132として出力する。サンプリング完了フラグＳ011が１であるとき、その１を示すフラグデータＳ132がＡＮＤ回路３２を介してサンプリング開始フラグＳ021として出力される。また、フラグデータＳ132の立ち上がりに応答してカウンタ３４がカウントアップを開始する。そのカウンタ値Ｓ133が固定値Ｓ134（２M）に達すると比較器３５の比較出力Ｓ135のフラグが立ち上がり、それに応答してＡＮＤ回路３２によるフラグデータＳ132のサンプリング開始フラグＳ021としての出力が遮断され、カウンタ３４はカウントアップを停止し、そのカウンタ値Ｓ133は初期値に戻る。
【００１３】
図９はクロックパルスＣＫ、データ加算回路２からサンプリングデータ格納回路４に供給されるデータＤ021、サンプリングデータ格納回路４の出力データＤ031及びＤ041の間の関係をタイムチャートとして示している。クロックパルスＣＫの立ち上がりに応じてデータ加算回路２から供給されるデータＤ021が記憶回路４１[0]〜４１[N+M-1]によって保存され、それが出力データＤ031となる。出力データＤ031の上位Ｎビット（図９では上位３ビット）が平均化出力データＤ041である。
【００１４】
２M個のサンプリングデータは加算回路２により加算されてサンプリング格納回路４に格納される。格納されたデータは結果として２M個のデータの和となる。この値を２Mで割ったものがデータの平均値となる。２Mで割ると、２進数表記では、下位Ｍビットを削除したものとなる。下位Ｍビットは余りとなる。従って、サンプリング格納回路４内の記憶回路４１[N+M-1]〜４１[M]が下位Ｍビットを切り捨てた２M個のサンプリングデータの平均値となる。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、従来のサンプリングデータ平均化回路においては、サンプリング回数が固定であり、任意のサンプリング回数を設定するものではなかった。それ故、入力データの変化内容に応じて最適なサンプリング回数だけ入力データをサンプリングしてそのサンプリングデータについての平均化を行うことはできなかった。
【００１６】
そこで、本発明の目的は、任意のサンプリング回数だけ入力データをサンプリングしてその平均化を行うことができるサンプリングデータ平均化回路を提供することである。
【課題を解決するための手段】
【００１７】
本発明によるサンプリングデータ平均化回路は、入力データを複数回サンプリングしてその平均値を算出するサンプリングデータ平均化回路であって、任意のサンプリング回数を設定するサンプリング回数設定手段と、前記サンプリング回数設定手段によって設定されたサンプリング回数だけ入力データを所定のタイミングでサンプリングするサンプリング手段と、前記サンプリング手段によってデータのサンプリングが行われる毎にそのサンプリングされたデータを前記サンプリング回数設定手段によって設定されたサンプリング回数で割り算する割算手段と、前記割算手段による割算結果を順次積算する積算手段と、を備え、前記積算手段による積算結果から平均値を得ることを特徴としている。
【発明の効果】
【００１８】
かかる本発明によるサンプリングデータ平均化回路においては、データのサンプリングが行われる毎にそのサンプリングされたデータをサンプリング回数設定手段によって任意に設定されたサンプリング回数で割り算し、それを積算して平均値を求めるので、任意のサンプリング回数だけ入力データをサンプリングしてその平均化を行うことができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
【００２０】
図１０は本発明の第１の実施例のサンプリングデータ平均化回路を示している。この平均化回路は、サンプリング回路１、データ加算回路２、サンプリング命令回路３ａ及びサンプリングデータ格納回路４の他に、データ格納セレクタ５及びサンプリング回数設定回路６を備えている。
【００２１】
データ格納セレクタ５は、図１１に示すように、セレクタ回路５１[0]〜５１[N+M-1]を備え、サンプリング回路１のＮビット幅の出力データＤ011と、サンプリング回数設定回路６から出力されるサンプリング回数データＤ061とを受け入れ、出力データＤ051を生成してデータ加算回路２に出力する。出力データＤ051はＤ051[0]〜Ｄ051[N+M-1]からなる。
【００２２】
図１２はＮ＝３，Ｍ＝３のときのデータ格納セレクタ５の構成を示している。すなわち、セレクタ回路５１[0]〜５１[5]からなり、６ビットのデータＤ051（Ｄ051[0]〜Ｄ051[5]を出力する。
【００２３】
図１２のセレクタ回路５１[0]〜５１[5]のうちのセレクタ回路５１[3]は、図１３に示すように、３入力ＮＯＲ回路２５１〜２５３及びセレクタ２５４〜２５６を備えている。３入力ＮＯＲ回路２５１はサンプリング回数データＤ061[1]の反転とＤ061[2]とＤ061[0]とを入力とし、信号Ｄ251を出力し、Ｄ061[2:0]=3'b010の時にのみ出力Ｄ251は1となる。３入力ＮＯＲ回路２５２はサンプリング回数データＤ061[0]の反転とＤ061[1]とＤ061[2]とを入力とし、信号Ｄ252を出力し、Ｄ061[2:0]=3'b001の時にのみ出力信号Ｄ252は1となる。３入力ＮＯＲ回路２５３はサンプリング回数データＤ061[0]とＤ061[1]とＤ061[2]とを入力とし、信号Ｄ253を出力し、Ｄ061[2:0]=3'b000の時にのみ出力信号Ｄ253は1となる。
【００２４】
なお、上記のＤ061[2:0]の表記はデータＤ061のＤ061[2]〜Ｄ061[0]の３ビットを示している。また、上記の「3'b010」の表記では、「3'b」は３ビットデータであることを示し、その３ビットが上位ビットから下位ビットに向けて「010」であることを示している。
【００２５】
セレクタ２５４は３入力ＮＯＲ回路２５１の出力信号Ｄ251をセレクト信号とし、そのセレクト信号に応じて入力1'b0とＤ011[2]とのいずれか一方を選択して信号Ｄ255として出力する。セレクタ２５５は３入力ＮＯＲ回路２５２の出力信号Ｄ252をセレクト信号とし、そのセレクト信号に応じて信号Ｄ255とＤ011[1]とのいずれか一方を選択して信号Ｄ256として出力する。セレクタ２５６は３入力ＮＯＲ回路２５３の出力信号Ｄ253をセレクト信号とし、そのセレクト信号に応じて信号Ｄ256とＤ011[0]とのいずれか一方を選択し、信号Ｄ051[3]として出力する。
【００２６】
Ｄ061[2:0]=3'b000の時はＤ253が1をとるため、サンプリング回路１の出力データＤ011[0]がＤ051[3]として出力される。Ｄ061[2:0]=3'b001の時はＤ252が1をとるため、サンプリング回路１の出力データＤ011[1]がＤ051[3]として出力される。Ｄ061[2:0]=3'b010の時はＤ251が1をとるため、サンプリング回路１の出力データＤ011[2]がＤ051[3]として出力される。Ｄ061[2:0]が上記以外の値である場合にはセレクタ２５４〜２５６へのセレクト信号が全て０になるため、1'b0がＤ051[3]として出力される。
【００２７】
このようにセレクタ回路５１[3]では、サンプリング回数データＤ061をセレクト信号としてサンプリング回数データＤ061の値により、信号Ｄ051[3]として出力する入力値Ｄ011を下位ビットへシフトすることが行われる。
【００２８】
図１１に示したデータ格納セレクタ５は全てこのように、サンプリング回数データＤ061の値に応じて出力するデータを選択している。これによりサンプリング回数データＤ061の値を２I回(Ｉ≦Ｍ)とすると、データ格納セレクタ５によりＮビット幅のＤ011は上位ビットからIビットだけ下位ビットへシフトしてデータＤ051に割当られる。データＤ051においてＤ011の割り当てられたビット以外のビットは０とされる。
【００２９】
図１４は、Ｎ＝３，Ｍ＝４とし、データＤ011を固定した場合のデータ格納セレクタ５の動作を示すタイムチャートである。２IのＩを時間順に１，３，２としてサンプリング回数データＤ061が変化するとき、そのＤ061の値によりデータＤ011が割り当てられるＤ051のビットが変更される。
【００３０】
次に、サンプリング回数設定回路６は、図１５に示すように、セレクタ６１[0]〜６１[L-1]と、フリップフロップからなる記憶回路６２[0]〜６２[L-1]から構成される。サンプリング回数設定回路６においては、入力としてＬビットのデータＤ071[0]〜Ｄ071[L-1]とライトイネーブルＳ031とが供給され、出力としてＬビットのサンプリング回数データＤ061[1]〜Ｄ061[L-1]が生成される。記憶回路６２[0]〜６２[L-1]各々はクロックパルスに同期してセレクタ６１[0]〜６１[L-1]から供給されるデータを保存し、その保存データを出力する。
【００３１】
例えば、操作部（図示せず）から入力された任意のデータＤ071[0]〜Ｄ071[L-1]がライトイネーブルＳ031が１であるときセレクタ６１[0]〜６１[L-1]を介して記憶回路６２[0]〜６２[L-1]に供給され、その供給データが記憶回路６２[0]〜６２[L-1]によってサンプリング回数データＤ061[1]〜Ｄ061[L-1]として保存出力される。ライトイネーブルＳ031が０であるときには、そのときのサンプリング回数データＤ061[1]〜Ｄ061[L-1]がセレクタ６１[0]〜６１[L-1]を介して記憶回路６２[0]〜６２[L-1]に供給され、その供給データが記憶回路６２[0]〜６２[L-1]によってサンプリング回数データＤ061[1]〜Ｄ061[L-1]として保存出力される。サンプリング回数データＤ061[1]〜Ｄ061[L-1]は２の乗数の値を示す。
【００３２】
サンプリング命令回路３ａは、図４に示したサンプリング命令回路３では固定値が比較器３５に供給される構成であったが、本実施例のサンプリングデータ平均化回路のものは図１６に示すように、サンプリング回数設定回路６から出力されたサンプリング回数データＤ061が比較器３５に供給される。その他の構成は図４に示した回路３と同一である。
【００３３】
サンプリング命令回路３ａにおいては、比較器３５がカウンタ３４のカウンタ値Ｓ133とサンプリング回数データＤ061とを比較し、Ｓ133とＤ061との値が等しいときＳ135のフラグをセットする。ＡＮＤ回路３２は、記憶回路３３の出力データＳ132と比較器３５の比較結果Ｓ135の反転値との論理積をとり、サンプリング開始フラグＳ021として出力する。
【００３４】
図１０の平均化回路のその他のサンプリング回路１、データ加算回路２、及びサンプリングデータ格納回路４は図１のものと同一である。
【００３５】
なお、データ格納セレクタ５が割算手段であり、データ加算回路２及びサンプリングデータ格納回路４が積算手段に相当する。
【００３６】
かかる構成の本発明によるサンプリングデータ平均化回路においては、サンプリング回数設定回路６によってサンプリング回数２Iが設定される。それはサンプリング回数データＤ061としてサンプリング命令回路３ａに供給される。サンプリング命令回路３ａは入力データＤ061に応じて２I回のサンプリング命令をサンプリング回路１に出力する。
【００３７】
サンプリング回路１によるサンプリング結果のデータＤ011はデータ格納セレクタ５を経てＤ051としてデータ加算回路２に供給され、そこでデータＤ031と加算される。加算結果のデータＤ021はサンプリングデータ格納回路４に供給され、そこに保持される。保持出力データＤ031が得られ、それはデータ加算回路２における次のＤ051との加算に用いられる。
【００３８】
２I回のサンプリング回数データを取得すると、サンプリングデータ格納回路４のＤ041、すなわちＤ031の上位ビット[Ｎ+M-1:M]より２I回サンプリングの平均値が得られる。なお、Ｄ031の上位ビット[Ｎ+M-1:M]の表記はＤ031[M]〜Ｄ031[N+M-1]を示している。この表記方法は以下の他のデータについても同様に用いている。
【００３９】
図１７はＮ＝３，Ｍ＝３，Ｉ＝２とした時のサンプリング開始フラグＳ021、サンプリング完了フラグＳ011、入力データＤ001、サンプリング回路１の出力データＤ011、データ格納セレクタ５の出力データＤ051、サンプリングデータ格納回路４の出力データＤ031、及び加算回路２の出力データＤ021のタイムチャートを示している。入力データＤ001はランダムに変化する。サンプリング開始フラグＳ021が１となった後にサンプリングが完了すると、サンプリング完了フラグＳ011が１となる。この時、入力データＤ001の値がサンプリング回路１によってサンプリングされた結果の出力データＤ011となる。
【００４０】
上記のようにＮ＝３，Ｍ＝３，Ｉ＝２のために３ビット幅のＤ011はデータ格納セレクタ５の出力データＤ051の[3:1]に割り振られる。それ以外のビットは０とされる。データ格納セレクタ５の出力データＤ051の値は、Ｉだけシフトされた値、すなわちＤ011をサンプリング回数２Iで割った値を示す。その出力データＤ051の値は、加算回路２において積算値であるサンプリングデータ格納回路４の出力データＤ031と加算され、出力データＤ021となる。第１のサンプリング結果によるデータＤ051は6'b000100であり、サンプリングデータ格納回路４の出力データＤ031は初期値では6'b000000となっており、加算結果の出力データＤ021は6'b000100である。その出力データＤ021はサンプリングデータ格納回路４に保存され、出力データＤ031となる。その出力データＤ031は加算回路２における第２のサンプリング結果のデータＤ051の値6'b001110との加算に用いられる。
【００４１】
このようにして、サンプリング回数２I＝４回のサンプリングが完了した後、加算回路２の出力データＤ021として6'b011100が積算結果として出力される。その出力データＤ021の上位３ビット[5:3]は平均値であるので、４回サンプリングの平均値は3'b011となる。
【００４２】
このように、第１の実施例の平均化回路においては、サンプリング回数設定回路６にて任意のサンプリング回数２Iを入力し、入力される対象データに対して最適なサンプリング回数に応じた平均化処理を施すので、その平均値を得ることが可能となる。
【００４３】
図１８は本発明の第２の実施例のサンプリングデータ平均化回路を示している。この平均化回路は、サンプリング回路１、データ加算回路２、サンプリング命令回路３ａ、サンプリングデータ格納回路４ａ、データ格納セレクタ５及びサンプリング回数設定回路６を備えている。
【００４４】
サンプリングデータ格納回路４ａは、図１９に示すように、フリップフロップからなる記憶回路４２[0]〜４２[N+M-1]からなり、それにはクロックパルス及びリセットパルスが供給される。また、記憶回路４２[0]〜４２[N+M-1]にはデータ加算回路２の出力データＤ021（Ｄ021[0]〜Ｄ021[N+M-1]）が供給される。記憶回路４２[0]〜４２[N+M-1]はクロックパルスに同期してデータＤ021[0]〜Ｄ021[N+M-1]を取り込んで保存し、Ｄ032[0]〜Ｄ032[N+M-1]として出力する。Ｄ032[0]〜Ｄ032[N+M-1]がデータＤ032であり、Ｄ031[M]〜Ｄ031[N+M-1]がサンプリングデータ平均化回路の出力データＤ042である。
【００４５】
リセットパルスの供給により、平均値を算出する毎の記憶回路４２[M-1]の初期値は１であり、それ以外の記憶回路４２[0]〜４２[M-2]，４２[M]〜４２[N+M-1]の初期値は０である。これは、余りのビットＤ032[0]〜Ｄ032[M-1]のうちの最上位ビットＤ032[M-1]に１を加えて、平均値Ｄ042に対して余りのビットＤ032[0]〜Ｄ032[M-1]の四捨五入を可能にしている。
【００４６】
余りのビット[M-1:0]の値は000…000から111…111までの値を取ることができ、この下位ビットの中心値は100…000となる。よって、100…000以上の余りデータの最上位ビットに1を加えると、１つ上のビットに桁上げが発生し、一方、100…000未満(011…111以下)のデータの最上位ビットに1を加えると最上位ビットが1となるだけで、上位のデータへの桁上げは発生しない。すなわち、記憶回路４２[M-1]の初期値を１とすることにより四捨五入が可能となる。
【００４７】
図２０は第２の実施例においてデータビット幅Ｎ＝３，Ｍ＝３，Ｉ＝２とした時のサンプリング開始フラグＳ021、サンプリング完了フラグＳ011、入力データＤ001、サンプリング回路１の出力データＤ011、データ格納セレクタ５の出力データＤ051、サンプリングデータ格納回路４の出力データＤ031、及び加算回路２の出力データＤ021のタイムチャートを示している。なお、Ｓ021、Ｓ011、Ｄ001、Ｄ011、及びＤ051の各値については第１の実施例の動作例として図１７に示した各値と同一である。
【００４８】
図２０において、サンプリング回路１から出力されるサンプリング結果の３ビット幅のデータＤ011はデータ格納セレクタ５においてデータＤ051の[Ｎ+M-I-1:M-I]=[3:1]に割当られる。データＤ051は加算回路２によってサンプリングデータ格納回路４ａの出力データＤ032と加算される。第１のサンプリング結果によるデータＤ051は6'b000100であり、サンプリングデータ格納回路４ａの出力データＤ032は初期値では6'b000100となっている。よって、加算されたデータＤ021は6'b001000となる。その加算結果のデータＤ021はサンプリングデータ格納回路４ａの記憶回路４２[0]〜４２[5]に格納される。その記憶回路４２[0]〜４２[5]の出力データＤ032は加算回路２における第２のサンプリング結果によるデータＤ051の値6'b001110との加算に用いられる。これが第３のサンプリング結果によるデータＤ051の値6'b000100、そして第４のサンプリング結果によるデータＤ051の値6'b000110について行われる。この４回の加算値6'b100000は記憶回路４２[5]〜４２[0]の６ビットにて示され、その上位３ビットの値3'b100が平均値Ｄ042である。
【００４９】
上記した第１の実施例の動作例として図１７に示した場合と比べると、第１の実施例では余りデータの切り捨てのため平均値は3'b011となっているが、第２の実施例の動作例では余りデータの四捨五入を行うため平均値は3'b100となる。
【００５０】
よって、第２の実施例の平均化回路においては、サンプリング回数設定回路６にて任意のサンプリング回数２Iを入力し、入力される対象データに対して最適なサンプリング回数に応じた平均化処理を施すので、その平均値を得ることが可能となる。また、余りデータの四捨五入を行うため精度の高い平均値を出力することができる。
【００５１】
図２１は本発明の第３の実施例のサンプリングデータ平均化回路を示している。この平均化回路は、サンプリング回路１、データ加算回路２ａ、サンプリング命令回路３ａ、サンプリングデータ格納回路４ａ、データ格納セレクタ５、サンプリング回数設定回路６ａ、最大値検出回路７及び最小値検出回路８を備えている。
【００５２】
データ加算回路２ａは、図２２に示すように、加算器２１及びセレクタ２２の他に、カウンタ２３、比較器２４及び演算器２５を備えている。加算器２１及びセレクタ２２からなる部分は図３に示したデータ加算回路２のものと同一である。セレクタ２２の出力データＤ122は演算器２５に供給される。カウンタ２３はサンプリング完了フラグＳ011が０から１に変化する毎にカウントアップを行う。カウンタ２３のカウント値Ｄ123は比較器２４に供給される。比較器２４はカウンタ２３のカウント値Ｄ123がサンプリング回数設定回路６ａから供給されるサンプリング回数データＤ062＝２I＋２に等しくなると、出力する一致フラグＳ121を０から１に変化させる。一致フラグＳ121はカウンタ２３及び演算器２５に供給される。カウンタ２３は一致フラグＳ121が１になるとカウント値Ｄ123を０にクリアする。演算器２５は一致フラグＳ121が１になるとセレクタ２２の出力データＤ122からデータＤ081及びＤ091の値を減算し、その結果のデータＤ022をサンプリングデータ格納回路４ａに出力する。データＤ081は最大値検出回路７から供給され、データＤ091は最小値検出回路８から供給される。
【００５３】
最大値検出回路７は、図２３に示すように、フリップフロップからなる記憶回路７１と、比較器７２とから構成される。記憶回路７１はクロックパルスに同期して比較器７２の出力データＤ081を最大値として保存し、それを最大値Ｄ171として比較器７２に出力する。比較器７２は記憶回路７１に保存された最大値Ｄ171と、データ格納セレクタ５の出力データＤ051とを比較する。出力データＤ051が保存された最大値Ｄ171を越えると、その出力データＤ051が比較器７２から出力データＤ081として出力されると共に、その後、クロックパルスに同期して記憶回路７１の保存データＤ171が更新される。
【００５４】
最小値検出回路８は、図２４に示すように、フリップフロップからなる記憶回路８１と、比較器８２とから構成される。記憶回路８１はクロックパルスに同期して比較器８２の出力データＤ091を最小値として保存し、それを最小値Ｄ181として比較器８２に出力する。比較器８２は記憶回路８１に保存された最小値Ｄ181と、データ格納セレクタ５の出力データＤ051とを比較する。出力データＤ051が保存された最小値Ｄ181を下回ると、その出力データＤ051が比較器８２から出力データＤ091として出力されると共に、その後、クロックパルスに同期して記憶回路８１の保存データＤ181が更新される。
【００５５】
サンプリング回数設定回路６ａは、図２５に示すように、第１及び第２の実施例に示したサンプリング回数設定回路６と同様に、セレクタ６１[0]〜６１[L-1]と、記憶回路６２[0]〜６２[L-1]とを備える他に、加算回路６３と、セレクタ回路６４とを備えている。加算回路６３は記憶回路６２[0]〜６２[L-1]から出力されるデータＤ161に２を加算してＤ162として出力する。セレクタ回路６４は入力フラグＳ041の内容に応じて記憶回路６２[0]〜６２[L-1]から出力されるデータＤ161と、加算回路６３の出力データＤ162とのいずれか一方をサンプリング回数データＤ062として出力する。入力フラグＳ041が１を示すときには、Ｄ162がサンプリング回数データＤ062とされる。入力フラグＳ041が０を示すときには、データＤ161がサンプリング回数データＤ062とされ、この場合には上記の第２の実施例と同様に動作する。
【００５６】
サンプリング回数データＤ062はデータ加算回路２ａ、サンプリング命令回路３ａ、及びデータ格納セレクタ５に供給される。サンプリング命令回路３ａでは、図１６におけるデータＤ061に代えてデータＤ062が供給される。同様に、データ格納セレクタ５では、図１１におけるデータＤ061に代えてデータＤ062が供給される。
【００５７】
図２６は、第３の実施例においてサンプリング完了フラグＳ011、データ格納セレクタ５の出力データＤ051、サンプリングデータ格納回路４ａの出力データＤ032、加算回路２ａの出力データＤ022、最大値検出回路７よる検出最大値Ｄ081、及び最小値検出回路８よる検出最小値Ｄ091のタイムチャートを示している。入力フラグＳ041が１を示すとしているので、サンプリング回数２I＋２だけのサンプリング動作が完了すると、加算結果Ｄ032＝Ａ＋Ｄ＋Ｃから最大値Ｄ081＝Ｅ及び最小値Ｄ091＝Ｆが減算される。
【００５８】
図２７は、第３の実施例においてデータビット幅Ｎ＝３，Ｍ＝３，Ｉ＝２とした時のサンプリング開始フラグＳ021、サンプリング完了フラグＳ011、入力データＤ001、サンプリング回路１の出力データＤ011、データ格納セレクタ５の出力データＤ051、サンプリングデータ格納回路４ａの出力データＤ032、加算回路２ａ内のセレクタ２３の出力データＤ122、最大値検出回路７よる検出最大値Ｄ081、最小値検出回路８よる検出最小値Ｄ091、及び加算回路２ａの出力データＤ022のタイムチャートを示している。入力フラグＳ041が１を示し、サンプリング回数は２I＋２回＝６回である。
【００５９】
図２７において、最大値検出回路７よる検出最大値Ｄ081は3'b111、すなわちデータ格納セレクタ５の出力データＤ051からの値としては6'b001110である。また、最小値検出回路８よる検出最小値Ｄ091は3'b001、すなわちデータ格納セレクタ５の出力データＤ051からの値としては6'b000010である。加算回路２ａでは、サンプリング回数の６回の加算が行われたとき、セレクタ２２の出力データＤ122が６回分の加算結果となり、6'b111000である。演算器２５は比較器２４から一致フラグＳ121に応答してセレクタ２２の出力データＤ122＝6'b111000から最大値Ｄ081及び最小値Ｄ091を差し引く。よって、演算器２５の出力データＤ022＝6'b101000が得られ、そのデータはサンプリングデータ格納回路４ａの記憶回路４２[5]〜４２[0]の６ビットにて示され、その上位３ビットの値3'b101が平均値Ｄ042である。
【００６０】
サンプリングされる入力データは時系列で変化するデータであるので、ノイズデータ等の特異な極大および極小データを示す場合がある。これらのデータを通常データとして扱い平均値を算出すると、扱うデータやサンプリング回数によっては特異データに大きく依存した値が得られ、期待する平均値を得られない場合が生ずる可能性がある。しかしながら、かかる第３の実施例の平均化回路によれば、任意に設定されたサンプリング回数２Iに最大値及び最小値の２回を加えた回数だけサンプリングを実行し、そのサンプリングしたデータのうちから最大値Ｄ081及び最小値Ｄ091を検出し、それら最大値Ｄ081及び最小値Ｄ091だけを２I＋２回分の加算出力データＤ122から減算することによりその算出結果からサンプリング回数２I分の平均値Ｄ042を得ることができる。よって、サンプリングデータからノイズデータ等の特異な極大および極小点を除いた平均値を精度よく得ることが可能である。
【図面の簡単な説明】
【００６１】
【図１】従来のサンプリングデータ平均化回路を示すブロック図である。
【図２】図１の回路中のサンプリング回路を示すブロック図である。
【図３】図１の回路中のデータ加算回路を示すブロック図である。
【図４】図１の回路中のサンプリング命令回路を示すブロック図である。
【図５】図１の回路中のサンプリングデータ格納回路を示すブロック図である。
【図６】図２のサンプリング回路の動作例を示す図である。
【図７】図３のデータ加算回路の動作例を示す図である。
【図８】図４のサンプリング命令回路の動作例を示す図である。
【図９】図５のサンプリングデータ格納回路の動作例を示す図である。
【図１０】本発明の第１の実施例を示すブロック図である。
【図１１】図１０の回路中のデータ格納セレクタを示すブロック図である。
【図１２】Ｎ＝３，Ｍ＝３の場合の図１０の回路中のデータ格納セレクタを示すブロック図である。
【図１３】図１２のデータ格納セレクタ中の１つのセレクタ回路を示すブロック図である。
【図１４】図１１のデータ格納セレクタの動作例を示す図である。
【図１５】図１０の回路中のサンプリング回数設定回路を示すブロック図である。
【図１６】図１０の回路中のサンプリング命令回路を示すブロック図である。
【図１７】図１０の回路の動作例を示す図である。
【図１８】本発明の第２の実施例を示すブロック図である。
【図１９】図１８の回路中のサンプリングデータ格納回路を示すブロック図である。
【図２０】図１８の回路の動作例を示す図である。
【図２１】本発明の第３の実施例を示すブロック図である。
【図２２】図２１の回路中のデータ加算回路を示すブロック図である。
【図２３】図２１の回路中の最大値検出回路を示すブロック図である。
【図２４】図２１の回路中の最小値検出回路を示すブロック図である。
【図２５】図２１の回路中のサンプリング回数設定回路を示すブロック図である。
【図２６】図２２のデータ加算回路の動作例を示す図である。
【図２７】図２１の回路の動作例を示す波形図である。
【符号の説明】
【００６２】
１  サンプリング回路
２，２ａ  データ加算回路
３，３ａ  サンプリング命令回路
４，４ａ  サブリングデータ格納回路
５  データ格納セレクタ
６，６ａ  サンプリング回数設定回路
７  最大値検出回路
８  最小値検出回路
【図１】
2008066857.tif 000003
【図２】
2008066857.tif 000004
【図３】
2008066857.tif 000005
【図４】
2008066857.tif 000006
【図５】
2008066857.tif 000007
【図６】
2008066857.tif 000008
【図７】
2008066857.tif 000009
【図８】
2008066857.tif 000010
【図９】
2008066857.tif 000011
【図１０】
2008066857.tif 000012
【図１１】
2008066857.tif 000013
【図１２】
2008066857.tif 000014
【図１３】
2008066857.tif 000015
【図１４】
2008066857.tif 000016
【図１５】
2008066857.tif 000017
【図１６】
2008066857.tif 000018
【図１７】
2008066857.tif 000019
【図１８】
2008066857.tif 000020
【図１９】
2008066857.tif 000021
【図２０】
2008066857.tif 000022
【図２１】
2008066857.tif 000023
【図２２】
2008066857.tif 000024
【図２３】
2008066857.tif 000025
【図２４】
2008066857.tif 000026
【図２５】
2008066857.tif 000027
【図２６】
2008066857.tif 000028
【図２７】
2008066857.tif 000029