JP4686420B2 - サンプリングデータ平均化回路 - Google Patents

サンプリングデータ平均化回路 Download PDF

Info

Publication number
JP4686420B2
JP4686420B2 JP2006240347A JP2006240347A JP4686420B2 JP 4686420 B2 JP4686420 B2 JP 4686420B2 JP 2006240347 A JP2006240347 A JP 2006240347A JP 2006240347 A JP2006240347 A JP 2006240347A JP 4686420 B2 JP4686420 B2 JP 4686420B2
Authority
JP
Japan
Prior art keywords
sampling
data
circuit
output
bits
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.)
Active
Application number
JP2006240347A
Other languages
English (en)
Other versions
JP2008066857A (ja
Inventor
雅彦 大久保
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lapis Semiconductor Co Ltd
Original Assignee
Oki Semiconductor Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oki Semiconductor Co Ltd filed Critical Oki Semiconductor Co Ltd
Priority to JP2006240347A priority Critical patent/JP4686420B2/ja
Priority to US11/878,663 priority patent/US8166089B2/en
Publication of JP2008066857A publication Critical patent/JP2008066857A/ja
Application granted granted Critical
Publication of JP4686420B2 publication Critical patent/JP4686420B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Analogue/Digital Conversion (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

本発明は、入力データを複数回サンプリングしてその平均値を算出するサンプリングデータ平均化回路に関する。
従来のサンプリングデータ平均化回路は、例えば、図1に示すように、サンプリング回路1、データ加算回路2、サンプリング命令回路3及びサンプリングデータ格納回路4から構成される。サンプリング回数を2M回、サンプリングデータ幅をNビットとする。サンプリング回路1はNビット幅の入力データD001、及びサンプリング開始フラグS021を受け入れ、サンプリング完了フラグS011、及びNビット幅の出力データD011を出力する。入力データD001は時間変化するサンプリング対象データである。
サンプリング回路1は、図2に示すように、カウンタ11、比較器12、Nビット分のAND回路13[0]〜13[N-1]、及びフリップフロップ(FF)14、15[0]〜15[N-1]から構成される。カウンタ11は、サンプリング開始フラグS021の立ち上がりに応答してカウントアップを開始し、カウンタ値をD111として出力する。カウンタ11のカウントアップは比較器12の比較出力S111のフラグが立つと停止し、カウンタ値は初期値に戻る。比較器12はカウンタ11のカウンタ値D111と固定値D112とを比較し、D111とD112の値が等しいときS111のフラグをセットする。比較器12の比較出力S111はAND回路13[0]〜13[N-1]及びFF14に出力する。
AND回路13[0]〜13[N-1]は、比較器12の比較出力S111とNビットの入力データD001[0]〜D001[N-1]との論理積をとり、データD113[0]〜D113[N-1]としてFF15[0]〜15[N-1]に出力する。
FF14及び15[0]〜15[N-1]にはクロックパルス及びリセットパルスが供給される。FF14はクロックパルスに同期して比較器12の比較出力S111の値を取り込み、サンプリング完了フラグS011として出力する。FF15[0]〜15[N-1]はクロックパルスに同期してAND回路13[0]〜13[N-1]の出力データD113[0]〜D113[N-1]を取り込んで保存し、データD011[0]〜D011[N-1]として出力する。データD011[0]〜D011[N-1]がサンプリング回路1の出力データD011、すなわちサンプリングされたデータである。
データ加算回路2は、図3に示すように、加算器21とセレクタ22を有する。加算器21はNビット(Nは1以上の整数)の加算を行い、サンプリング回路1のNビットの出力データD011とサンプリングデータ格納回路4のN+Mビット(Mは1以上の整数)の出力データD031とを加算し、データD121としてセレクタ22に出力する。セレクタ22はFF14からのサンプリング完了フラグS011に応じてサンプリング命令回路3の出力データD031と加算器21の出力データD121とのいずれか一方をN+MビットのデータD021として出力する。すなわち、サンプリング完了フラグS011が0を示すときデータD031をD021として出力し、サンプリング完了フラグS011が1を示すときデータD121をD021として出力する。
サンプリング命令回路3は、図4に示すように、AND回路31,32、記憶回路33、カウンタ34及び比較器35を有する。AND回路31は記憶回路33の出力データS132の反転値とセレクトデータS011との論理積をとり、データS131を記憶回路33に出力する。記憶回路33はフリップフロップからなり、それにはクロックパルス及びリセットパルスが供給される。記憶回路33はクロックパルスに同期してAND回路31の出力データS131を取り込んで保存し、フラグデータS132として出力する。
カウンタ34はフラグデータS132のフラグを受けるとカウントアップを開始し、カウンタ値をS133として出力する。カウンタ11のカウントアップは比較器35の比較出力S135のフラグが立つと停止し、カウンタ値は初期値に戻る。比較器36はカウンタ34のカウンタ値S133と固定値S134とを比較し、S133とS134との値が等しいときS135のフラグをセットする。AND回路32は、記憶回路33の出力データS132と比較器36の比較結果S135の反転値との論理積をとり、サンプリング開始フラグS021として出力する。
サンプリングデータ格納回路4は、図5に示すように、フリップフロップからなる記憶回路41[0]〜41[N+M-1]からなり、それにはクロックパルス及びリセットパルスが供給される。また、記憶回路41[0]〜41[N+M-1]にはデータ加算回路2の出力データD021(D021[0]〜D021[N+M-1])が供給される。記憶回路41[0]〜41[N+M-1]はクロックパルスに同期してデータD021[0]〜D021[N+M-1]を取り込んで保存し、D031[0]〜D031[N+M-1]として出力する。D031[0]〜D031[N+M-1]がデータD031であり、D031[M]〜D031[N+M-1]がサンプリングデータ平均化回路の出力データD041である。
次に、かかる構成の従来のサンプリングデータ平均化回路の動作について説明する。サンプリング回路1への入力データD001は図6に示すように時間変化するD00A,D00B,D00C,……であるとする。図6は入力データD001の他に、サンプリング完了フラグS011、サンプリング開始フラグS021、及びサンプリング回路1の出力データD011のタイムチャートを示している。サンプリング命令回路3からのサンプリング開始フラグS021が0から1となることにより立ち上がると、カウンタ11がカウントアップを開始する。カウンタ11のカウント値D111が固定値に達すると、比較器12の出力S111が0から1に変化し、それに応じてその時点の入力データD001[0]〜D001[N-1]がAND回路13[0]〜13[N-1]介してFF15[0]〜15[N-1]に保存される。よって、サンプリング回路1の出力データD011が得られる。それと同時にFF14から出力されるサンプリング完了フラグS011が0から1となることにより立ち上がる。
図7はデータ加算回路2に入力されるサンプリング完了フラグS011、サンプリング回路1の出力データD011及びサンプリングデータ格納回路4の出力データD031、並びにデータ加算回路2の出力データD021の間の関係をタイムチャートとして示している。図7に示されたように、サンプリング完了フラグS011が0のときにはその時点のサンプリングデータ格納回路4の出力データD031がそのまま出力データD021とされる。サンプリング完了フラグS011が1となると、その時点のサンプリング回路1の出力データD011とサンプリングデータ格納回路4の出力データD031との加算値D121が出力データD021とされる。
図8はサンプリング命令回路3に入力されるサンプリング完了フラグS011、サンプリング命令回路3から出力されるサンプリング開始フラグS021、及びサンプリング命令回路3内のカウンタ34のカウンタ値をS133の間の関係をタイムチャートとして示している。サンプリング回路1からサンプリング完了フラグS011の立ち上がりに応答してサンプリング命令回路3では、記憶回路33がクロックパルスに同期してAND回路31の出力データS131を取り込んで保存し、フラグデータS132として出力する。サンプリング完了フラグS011が1であるとき、その1を示すフラグデータS132がAND回路32を介してサンプリング開始フラグS021として出力される。また、フラグデータS132の立ち上がりに応答してカウンタ34がカウントアップを開始する。そのカウンタ値S133が固定値S134(2M)に達すると比較器35の比較出力S135のフラグが立ち上がり、それに応答してAND回路32によるフラグデータS132のサンプリング開始フラグS021としての出力が遮断され、カウンタ34はカウントアップを停止し、そのカウンタ値S133は初期値に戻る。
図9はクロックパルスCK、データ加算回路2からサンプリングデータ格納回路4に供給されるデータD021、サンプリングデータ格納回路4の出力データD031及びD041の間の関係をタイムチャートとして示している。クロックパルスCKの立ち上がりに応じてデータ加算回路2から供給されるデータD021が記憶回路41[0]〜41[N+M-1]によって保存され、それが出力データD031となる。出力データD031の上位Nビット(図9では上位3ビット)が平均化出力データD041である。
M個のサンプリングデータは加算回路2により加算されてサンプリング格納回路4に格納される。格納されたデータは結果として2M個のデータの和となる。この値を2Mで割ったものがデータの平均値となる。2Mで割ると、2進数表記では、下位Mビットを削除したものとなる。下位Mビットは余りとなる。従って、サンプリング格納回路4内の記憶回路41[N+M-1]〜41[M]が下位Mビットを切り捨てた2M個のサンプリングデータの平均値となる。
しかしながら、従来のサンプリングデータ平均化回路においては、サンプリング回数が固定であり、任意のサンプリング回数を設定するものではなかった。それ故、入力データの変化内容に応じて最適なサンプリング回数だけ入力データをサンプリングしてそのサンプリングデータについての平均化を行うことはできなかった。
そこで、本発明の目的は、任意のサンプリング回数だけ入力データをサンプリングしてその平均化を行うことができるサンプリングデータ平均化回路を提供することである。
本発明によるサンプリングデータ平均化回路は、入力データを複数回サンプリングしてその平均値を算出するサンプリングデータ平均化回路であって、任意のサンプリング回数を設定するサンプリング回数設定手段と、前記サンプリング回数設定手段によって設定されたサンプリング回数だけ入力データを所定のタイミングでサンプリングするサンプリング手段と、前記サンプリング手段によってデータのサンプリングが行われる毎にそのサンプリングされたデータを前記サンプリング回数設定手段によって設定されたサンプリング回数で割り算する割算手段と、前記割算手段による割算結果を順次積算する積算手段と、を備え、前記積算手段による積算結果から平均値を得ることを特徴としている。
かかる本発明によるサンプリングデータ平均化回路においては、データのサンプリングが行われる毎にそのサンプリングされたデータをサンプリング回数設定手段によって任意に設定されたサンプリング回数で割り算し、それを積算して平均値を求めるので、任意のサンプリング回数だけ入力データをサンプリングしてその平均化を行うことができる。
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
図10は本発明の第1の実施例のサンプリングデータ平均化回路を示している。この平均化回路は、サンプリング回路1、データ加算回路2、サンプリング命令回路3a及びサンプリングデータ格納回路4の他に、データ格納セレクタ5及びサンプリング回数設定回路6を備えている。
データ格納セレクタ5は、図11に示すように、セレクタ回路51[0]〜51[N+M-1]を備え、サンプリング回路1のNビット幅の出力データD011と、サンプリング回数設定回路6から出力されるサンプリング回数データD061とを受け入れ、出力データD051を生成してデータ加算回路2に出力する。出力データD051はD051[0]〜D051[N+M-1]からなる。
図12はN=3,M=3のときのデータ格納セレクタ5の構成を示している。すなわち、セレクタ回路51[0]〜51[5]からなり、6ビットのデータD051(D051[0]〜D051[5]を出力する。
図12のセレクタ回路51[0]〜51[5]のうちのセレクタ回路51[3]は、図13に示すように、3入力NOR回路251〜253及びセレクタ254〜256を備えている。3入力NOR回路251はサンプリング回数データD061[1]の反転とD061[2]とD061[0]とを入力とし、信号D251を出力し、D061[2:0]=3'b010の時にのみ出力D251は1となる。3入力NOR回路252はサンプリング回数データD061[0]の反転とD061[1]とD061[2]とを入力とし、信号D252を出力し、D061[2:0]=3'b001の時にのみ出力信号D252は1となる。3入力NOR回路253はサンプリング回数データD061[0]とD061[1]とD061[2]とを入力とし、信号D253を出力し、D061[2:0]=3'b000の時にのみ出力信号D253は1となる。
なお、上記のD061[2:0]の表記はデータD061のD061[2]〜D061[0]の3ビットを示している。また、上記の「3'b010」の表記では、「3'b」は3ビットデータであることを示し、その3ビットが上位ビットから下位ビットに向けて「010」であることを示している。
セレクタ254は3入力NOR回路251の出力信号D251をセレクト信号とし、そのセレクト信号に応じて入力1'b0とD011[2]とのいずれか一方を選択して信号D255として出力する。セレクタ255は3入力NOR回路252の出力信号D252をセレクト信号とし、そのセレクト信号に応じて信号D255とD011[1]とのいずれか一方を選択して信号D256として出力する。セレクタ256は3入力NOR回路253の出力信号D253をセレクト信号とし、そのセレクト信号に応じて信号D256とD011[0]とのいずれか一方を選択し、信号D051[3]として出力する。
061[2:0]=3'b000の時はD253が1をとるため、サンプリング回路1の出力データD011[0]がD051[3]として出力される。D061[2:0]=3'b001の時はD252が1をとるため、サンプリング回路1の出力データD011[1]がD051[3]として出力される。D061[2:0]=3'b010の時はD251が1をとるため、サンプリング回路1の出力データD011[2]がD051[3]として出力される。D061[2:0]が上記以外の値である場合にはセレクタ254〜256へのセレクト信号が全て0になるため、1'b0がD051[3]として出力される。
このようにセレクタ回路51[3]では、サンプリング回数データD061をセレクト信号としてサンプリング回数データD061の値により、信号D051[3]として出力する入力値D011を下位ビットへシフトすることが行われる。
図11に示したデータ格納セレクタ5は全てこのように、サンプリング回数データD061の値に応じて出力するデータを選択している。これによりサンプリング回数データD061の値を2I回(I≦M)とすると、データ格納セレクタ5によりNビット幅のD011は上位ビットからIビットだけ下位ビットへシフトしてデータD051に割当られる。データD051においてD011の割り当てられたビット以外のビットは0とされる。
図14は、N=3,M=4とし、データD011を固定した場合のデータ格納セレクタ5の動作を示すタイムチャートである。2IのIを時間順に1,3,2としてサンプリング回数データD061が変化するとき、そのD061の値によりデータD011が割り当てられるD051のビットが変更される。
次に、サンプリング回数設定回路6は、図15に示すように、セレクタ61[0]〜61[L-1]と、フリップフロップからなる記憶回路62[0]〜62[L-1]から構成される。サンプリング回数設定回路6においては、入力としてLビットのデータD071[0]〜D071[L-1]とライトイネーブルS031とが供給され、出力としてLビットのサンプリング回数データD061[1]〜D061[L-1]が生成される。記憶回路62[0]〜62[L-1]各々はクロックパルスに同期してセレクタ61[0]〜61[L-1]から供給されるデータを保存し、その保存データを出力する。
例えば、操作部(図示せず)から入力された任意のデータD071[0]〜D071[L-1]がライトイネーブルS031が1であるときセレクタ61[0]〜61[L-1]を介して記憶回路62[0]〜62[L-1]に供給され、その供給データが記憶回路62[0]〜62[L-1]によってサンプリング回数データD061[1]〜D061[L-1]として保存出力される。ライトイネーブルS031が0であるときには、そのときのサンプリング回数データD061[1]〜D061[L-1]がセレクタ61[0]〜61[L-1]を介して記憶回路62[0]〜62[L-1]に供給され、その供給データが記憶回路62[0]〜62[L-1]によってサンプリング回数データD061[1]〜D061[L-1]として保存出力される。サンプリング回数データD061[1]〜D061[L-1]は2の乗数の値を示す。
サンプリング命令回路3aは、図4に示したサンプリング命令回路3では固定値が比較器35に供給される構成であったが、本実施例のサンプリングデータ平均化回路のものは図16に示すように、サンプリング回数設定回路6から出力されたサンプリング回数データD061が比較器35に供給される。その他の構成は図4に示した回路3と同一である。
サンプリング命令回路3aにおいては、比較器35がカウンタ34のカウンタ値S133とサンプリング回数データD061とを比較し、S133とD061との値が等しいときS135のフラグをセットする。AND回路32は、記憶回路33の出力データS132と比較器35の比較結果S135の反転値との論理積をとり、サンプリング開始フラグS021として出力する。
図10の平均化回路のその他のサンプリング回路1、データ加算回路2、及びサンプリングデータ格納回路4は図1のものと同一である。
なお、データ格納セレクタ5が割算手段であり、データ加算回路2及びサンプリングデータ格納回路4が積算手段に相当する。
かかる構成の本発明によるサンプリングデータ平均化回路においては、サンプリング回数設定回路6によってサンプリング回数2Iが設定される。それはサンプリング回数データD061としてサンプリング命令回路3aに供給される。サンプリング命令回路3aは入力データD061に応じて2I回のサンプリング命令をサンプリング回路1に出力する。
サンプリング回路1によるサンプリング結果のデータD011はデータ格納セレクタ5を経てD051としてデータ加算回路2に供給され、そこでデータD031と加算される。加算結果のデータD021はサンプリングデータ格納回路4に供給され、そこに保持される。保持出力データD031が得られ、それはデータ加算回路2における次のD051との加算に用いられる。
I回のサンプリング回数データを取得すると、サンプリングデータ格納回路4のD041、すなわちD031の上位ビット[N+M-1:M]より2I回サンプリングの平均値が得られる。なお、D031の上位ビット[N+M-1:M]の表記はD031[M]〜D031[N+M-1]を示している。この表記方法は以下の他のデータについても同様に用いている。
図17はN=3,M=3,I=2とした時のサンプリング開始フラグS021、サンプリング完了フラグS011、入力データD001、サンプリング回路1の出力データD011、データ格納セレクタ5の出力データD051、サンプリングデータ格納回路4の出力データD031、及び加算回路2の出力データD021のタイムチャートを示している。入力データD001はランダムに変化する。サンプリング開始フラグS021が1となった後にサンプリングが完了すると、サンプリング完了フラグS011が1となる。この時、入力データD001の値がサンプリング回路1によってサンプリングされた結果の出力データD011となる。
上記のようにN=3,M=3,I=2のために3ビット幅のD011はデータ格納セレクタ5の出力データD051の[3:1]に割り振られる。それ以外のビットは0とされる。データ格納セレクタ5の出力データD051の値は、Iだけシフトされた値、すなわちD011をサンプリング回数2Iで割った値を示す。その出力データD051の値は、加算回路2において積算値であるサンプリングデータ格納回路4の出力データD031と加算され、出力データD021となる。第1のサンプリング結果によるデータD051は6'b000100であり、サンプリングデータ格納回路4の出力データD031は初期値では6'b000000となっており、加算結果の出力データD021は6'b000100である。その出力データD021はサンプリングデータ格納回路4に保存され、出力データD031となる。その出力データD031は加算回路2における第2のサンプリング結果のデータD051の値6'b001110との加算に用いられる。
このようにして、サンプリング回数2I=4回のサンプリングが完了した後、加算回路2の出力データD021として6'b011100が積算結果として出力される。その出力データD021の上位3ビット[5:3]は平均値であるので、4回サンプリングの平均値は3'b011となる。
このように、第1の実施例の平均化回路においては、サンプリング回数設定回路6にて任意のサンプリング回数2Iを入力し、入力される対象データに対して最適なサンプリング回数に応じた平均化処理を施すので、その平均値を得ることが可能となる。
図18は本発明の第2の実施例のサンプリングデータ平均化回路を示している。この平均化回路は、サンプリング回路1、データ加算回路2、サンプリング命令回路3a、サンプリングデータ格納回路4a、データ格納セレクタ5及びサンプリング回数設定回路6を備えている。
サンプリングデータ格納回路4aは、図19に示すように、フリップフロップからなる記憶回路42[0]〜42[N+M-1]からなり、それにはクロックパルス及びリセットパルスが供給される。また、記憶回路42[0]〜42[N+M-1]にはデータ加算回路2の出力データD021(D021[0]〜D021[N+M-1])が供給される。記憶回路42[0]〜42[N+M-1]はクロックパルスに同期してデータD021[0]〜D021[N+M-1]を取り込んで保存し、D032[0]〜D032[N+M-1]として出力する。D032[0]〜D032[N+M-1]がデータD032であり、D031[M]〜D031[N+M-1]がサンプリングデータ平均化回路の出力データD042である。
リセットパルスの供給により、平均値を算出する毎の記憶回路42[M-1]の初期値は1であり、それ以外の記憶回路42[0]〜42[M-2],42[M]〜42[N+M-1]の初期値は0である。これは、余りのビットD032[0]〜D032[M-1]のうちの最上位ビットD032[M-1]に1を加えて、平均値D042に対して余りのビットD032[0]〜D032[M-1]の四捨五入を可能にしている。
余りのビット[M-1:0]の値は000…000から111…111までの値を取ることができ、この下位ビットの中心値は100…000となる。よって、100…000以上の余りデータの最上位ビットに1を加えると、1つ上のビットに桁上げが発生し、一方、100…000未満(011…111以下)のデータの最上位ビットに1を加えると最上位ビットが1となるだけで、上位のデータへの桁上げは発生しない。すなわち、記憶回路42[M-1]の初期値を1とすることにより四捨五入が可能となる。
図20は第2の実施例においてデータビット幅N=3,M=3,I=2とした時のサンプリング開始フラグS021、サンプリング完了フラグS011、入力データD001、サンプリング回路1の出力データD011、データ格納セレクタ5の出力データD051、サンプリングデータ格納回路4の出力データD031、及び加算回路2の出力データD021のタイムチャートを示している。なお、S021、S011、D001、D011、及びD051の各値については第1の実施例の動作例として図17に示した各値と同一である。
図20において、サンプリング回路1から出力されるサンプリング結果の3ビット幅のデータD011はデータ格納セレクタ5においてデータD051の[N+M-I-1:M-I]=[3:1]に割当られる。データD051は加算回路2によってサンプリングデータ格納回路4aの出力データD032と加算される。第1のサンプリング結果によるデータD051は6'b000100であり、サンプリングデータ格納回路4aの出力データD032は初期値では6'b000100となっている。よって、加算されたデータD021は6'b001000となる。その加算結果のデータD021はサンプリングデータ格納回路4aの記憶回路42[0]〜42[5]に格納される。その記憶回路42[0]〜42[5]の出力データD032は加算回路2における第2のサンプリング結果によるデータD051の値6'b001110との加算に用いられる。これが第3のサンプリング結果によるデータD051の値6'b000100、そして第4のサンプリング結果によるデータD051の値6'b000110について行われる。この4回の加算値6'b100000は記憶回路42[5]〜42[0]の6ビットにて示され、その上位3ビットの値3'b100が平均値D042である。
上記した第1の実施例の動作例として図17に示した場合と比べると、第1の実施例では余りデータの切り捨てのため平均値は3'b011となっているが、第2の実施例の動作例では余りデータの四捨五入を行うため平均値は3'b100となる。
よって、第2の実施例の平均化回路においては、サンプリング回数設定回路6にて任意のサンプリング回数2Iを入力し、入力される対象データに対して最適なサンプリング回数に応じた平均化処理を施すので、その平均値を得ることが可能となる。また、余りデータの四捨五入を行うため精度の高い平均値を出力することができる。
図21は本発明の第3の実施例のサンプリングデータ平均化回路を示している。この平均化回路は、サンプリング回路1、データ加算回路2a、サンプリング命令回路3a、サンプリングデータ格納回路4a、データ格納セレクタ5、サンプリング回数設定回路6a、最大値検出回路7及び最小値検出回路8を備えている。
データ加算回路2aは、図22に示すように、加算器21及びセレクタ22の他に、カウンタ23、比較器24及び演算器25を備えている。加算器21及びセレクタ22からなる部分は図3に示したデータ加算回路2のものと同一である。セレクタ22の出力データD122は演算器25に供給される。カウンタ23はサンプリング完了フラグS011が0から1に変化する毎にカウントアップを行う。カウンタ23のカウント値D123は比較器24に供給される。比較器24はカウンタ23のカウント値D123がサンプリング回数設定回路6aから供給されるサンプリング回数データD062=2I+2に等しくなると、出力する一致フラグS121を0から1に変化させる。一致フラグS121はカウンタ23及び演算器25に供給される。カウンタ23は一致フラグS121が1になるとカウント値D123を0にクリアする。演算器25は一致フラグS121が1になるとセレクタ22の出力データD122からデータD081及びD091の値を減算し、その結果のデータD022をサンプリングデータ格納回路4aに出力する。データD081は最大値検出回路7から供給され、データD091は最小値検出回路8から供給される。
最大値検出回路7は、図23に示すように、フリップフロップからなる記憶回路71と、比較器72とから構成される。記憶回路71はクロックパルスに同期して比較器72の出力データD081を最大値として保存し、それを最大値D171として比較器72に出力する。比較器72は記憶回路71に保存された最大値D171と、データ格納セレクタ5の出力データD051とを比較する。出力データD051が保存された最大値D171を越えると、その出力データD051が比較器72から出力データD081として出力されると共に、その後、クロックパルスに同期して記憶回路71の保存データD171が更新される。
最小値検出回路8は、図24に示すように、フリップフロップからなる記憶回路81と、比較器82とから構成される。記憶回路81はクロックパルスに同期して比較器82の出力データD091を最小値として保存し、それを最小値D181として比較器82に出力する。比較器82は記憶回路81に保存された最小値D181と、データ格納セレクタ5の出力データD051とを比較する。出力データD051が保存された最小値D181を下回ると、その出力データD051が比較器82から出力データD091として出力されると共に、その後、クロックパルスに同期して記憶回路81の保存データD181が更新される。
サンプリング回数設定回路6aは、図25に示すように、第1及び第2の実施例に示したサンプリング回数設定回路6と同様に、セレクタ61[0]〜61[L-1]と、記憶回路62[0]〜62[L-1]とを備える他に、加算回路63と、セレクタ回路64とを備えている。加算回路63は記憶回路62[0]〜62[L-1]から出力されるデータD161に2を加算してD162として出力する。セレクタ回路64は入力フラグS041の内容に応じて記憶回路62[0]〜62[L-1]から出力されるデータD161と、加算回路63の出力データD162とのいずれか一方をサンプリング回数データD062として出力する。入力フラグS041が1を示すときには、D162がサンプリング回数データD062とされる。入力フラグS041が0を示すときには、データD161がサンプリング回数データD062とされ、この場合には上記の第2の実施例と同様に動作する。
サンプリング回数データD062はデータ加算回路2a、サンプリング命令回路3a、及びデータ格納セレクタ5に供給される。サンプリング命令回路3aでは、図16におけるデータD061に代えてデータD062が供給される。同様に、データ格納セレクタ5では、図11におけるデータD061に代えてデータD062が供給される。
図26は、第3の実施例においてサンプリング完了フラグS011、データ格納セレクタ5の出力データD051、サンプリングデータ格納回路4aの出力データD032、加算回路2aの出力データD022、最大値検出回路7よる検出最大値D081、及び最小値検出回路8よる検出最小値D091のタイムチャートを示している。入力フラグS041が1を示すとしているので、サンプリング回数2I+2だけのサンプリング動作が完了すると、加算結果D032=A+D+Cから最大値D081=E及び最小値D091=Fが減算される。
図27は、第3の実施例においてデータビット幅N=3,M=3,I=2とした時のサンプリング開始フラグS021、サンプリング完了フラグS011、入力データD001、サンプリング回路1の出力データD011、データ格納セレクタ5の出力データD051、サンプリングデータ格納回路4aの出力データD032、加算回路2a内のセレクタ23の出力データD122、最大値検出回路7よる検出最大値D081、最小値検出回路8よる検出最小値D091、及び加算回路2aの出力データD022のタイムチャートを示している。入力フラグS041が1を示し、サンプリング回数は2I+2回=6回である。
図27において、最大値検出回路7よる検出最大値D081は3'b111、すなわちデータ格納セレクタ5の出力データD051からの値としては6'b001110である。また、最小値検出回路8よる検出最小値D091は3'b001、すなわちデータ格納セレクタ5の出力データD051からの値としては6'b000010である。加算回路2aでは、サンプリング回数の6回の加算が行われたとき、セレクタ22の出力データD122が6回分の加算結果となり、6'b111000である。演算器25は比較器24から一致フラグS121に応答してセレクタ22の出力データD122=6'b111000から最大値D081及び最小値D091を差し引く。よって、演算器25の出力データD022=6'b101000が得られ、そのデータはサンプリングデータ格納回路4aの記憶回路42[5]〜42[0]の6ビットにて示され、その上位3ビットの値3'b101が平均値D042である。
サンプリングされる入力データは時系列で変化するデータであるので、ノイズデータ等の特異な極大および極小データを示す場合がある。これらのデータを通常データとして扱い平均値を算出すると、扱うデータやサンプリング回数によっては特異データに大きく依存した値が得られ、期待する平均値を得られない場合が生ずる可能性がある。しかしながら、かかる第3の実施例の平均化回路によれば、任意に設定されたサンプリング回数2Iに最大値及び最小値の2回を加えた回数だけサンプリングを実行し、そのサンプリングしたデータのうちから最大値D081及び最小値D091を検出し、それら最大値D081及び最小値D091だけを2I+2回分の加算出力データD122から減算することによりその算出結果からサンプリング回数2I分の平均値D042を得ることができる。よって、サンプリングデータからノイズデータ等の特異な極大および極小点を除いた平均値を精度よく得ることが可能である。
従来のサンプリングデータ平均化回路を示すブロック図である。 図1の回路中のサンプリング回路を示すブロック図である。 図1の回路中のデータ加算回路を示すブロック図である。 図1の回路中のサンプリング命令回路を示すブロック図である。 図1の回路中のサンプリングデータ格納回路を示すブロック図である。 図2のサンプリング回路の動作例を示す図である。 図3のデータ加算回路の動作例を示す図である。 図4のサンプリング命令回路の動作例を示す図である。 図5のサンプリングデータ格納回路の動作例を示す図である。 本発明の第1の実施例を示すブロック図である。 図10の回路中のデータ格納セレクタを示すブロック図である。 N=3,M=3の場合の図10の回路中のデータ格納セレクタを示すブロック図である。 図12のデータ格納セレクタ中の1つのセレクタ回路を示すブロック図である。 図11のデータ格納セレクタの動作例を示す図である。 図10の回路中のサンプリング回数設定回路を示すブロック図である。 図10の回路中のサンプリング命令回路を示すブロック図である。 図10の回路の動作例を示す図である。 本発明の第2の実施例を示すブロック図である。 図18の回路中のサンプリングデータ格納回路を示すブロック図である。 図18の回路の動作例を示す図である。 本発明の第3の実施例を示すブロック図である。 図21の回路中のデータ加算回路を示すブロック図である。 図21の回路中の最大値検出回路を示すブロック図である。 図21の回路中の最小値検出回路を示すブロック図である。 図21の回路中のサンプリング回数設定回路を示すブロック図である。 図22のデータ加算回路の動作例を示す図である。 図21の回路の動作例を示す波形図である。
符号の説明
1 サンプリング回路
2,2a データ加算回路
3,3a サンプリング命令回路
4,4a サブリングデータ格納回路
5 データ格納セレクタ
6,6a サンプリング回数設定回路
7 最大値検出回路
8 最小値検出回路

Claims (5)

  1. 入力データを複数回サンプリングしてその平均値を算出するサンプリングデータ平均化回路であって、
    任意のサンプリング回数を設定するサンプリング回数設定手段と、
    前記サンプリング回数設定手段によって設定されたサンプリング回数だけ入力データを所定のタイミングでサンプリングするサンプリング手段と、
    前記サンプリング手段によってデータのサンプリングが行われる毎にそのサンプリングされたデータを前記サンプリング回数設定手段によって設定されたサンプリング回数で割り算する割算手段と、
    前記割算手段による割算結果を順次積算する積算手段と、を備え、
    前記積算手段による積算結果から平均値を得ることを特徴とするサンプリングデータ平均化回路。
  2. 前記割算手段は、前記サンプリング手段によってサンプリングされたデータをNビット(Nは1以上の整数)とし、割算結果をN+Mビット(Mは1以上の整数)とし、前記サンプリング回数設定手段によって設定されたサンプリング回数を2I(Iは1以上の整数でI≦M)とすると、前記サンプリングされたデータをN+Mビットの上位ビットからIビットだけ下位ビットへシフトし、残りのビットを0とすることによって前記N+Mビットの割算結果を生成して前記積算手段に供給することを特徴とする請求項1記載のサンプリングデータ平均化回路。
  3. 前記積算手段は、前記N+Mビットの割算結果を積算し、その積算結果の上位Nビットを前記平均値とすることを特徴とする請求項1又は2記載のサンプリングデータ平均化回路。
  4. 前記積算手段は、上位からN+1ビット目を1とし、その他のビットを0する前記N+Mビットの積算初期値を設定し、これにより、前記積算結果の下位Mビットを四捨五入した前記上位Nビットの前記平均値を算出することを特徴とする請求項1ないし3のいずれか1記載のサンプリングデータ平均化回路。
  5. 前記サンプリング手段は、前記サンプリング回数設定手段によって設定されたサンプリング回数+2だけ前記入力データを所定のタイミングでサンプリングし、
    前記積算手段は、前記割算手段による割算結果のデータ値のうちのから最大値を検出する最大値検出手段と、
    前記割算手段による割算結果のデータ値のうちのから最小値を検出する最小値検出手段と、
    前記割算手段による割算結果を前記サンプリング回数+2だけ積算した結果から前記最大値及び前記最小値を減算して前記サンプリング回数だけの積算結果を得る演算手段と、を備えることを特徴とする請求項1記載のサンプリングデータ平均化回路。
JP2006240347A 2006-09-05 2006-09-05 サンプリングデータ平均化回路 Active JP4686420B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006240347A JP4686420B2 (ja) 2006-09-05 2006-09-05 サンプリングデータ平均化回路
US11/878,663 US8166089B2 (en) 2006-09-05 2007-07-26 Sampled data averaging circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006240347A JP4686420B2 (ja) 2006-09-05 2006-09-05 サンプリングデータ平均化回路

Publications (2)

Publication Number Publication Date
JP2008066857A JP2008066857A (ja) 2008-03-21
JP4686420B2 true JP4686420B2 (ja) 2011-05-25

Family

ID=39153291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006240347A Active JP4686420B2 (ja) 2006-09-05 2006-09-05 サンプリングデータ平均化回路

Country Status (2)

Country Link
US (1) US8166089B2 (ja)
JP (1) JP4686420B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI260134B (en) * 2005-04-22 2006-08-11 Sunplus Technology Co Ltd Apparatus and method of energy detection
US20140117752A1 (en) * 2011-02-01 2014-05-01 Albert Flack Pilot signal filter
US10277239B2 (en) 2015-09-11 2019-04-30 Hewlett Packard Enterprise Development Lp Averaging modules
TWI646842B (zh) * 2017-09-11 2019-01-01 晨星半導體股份有限公司 應用於顯示裝置的電路及相關的訊號處理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04227118A (ja) * 1990-12-29 1992-08-17 Fujitsu Ltd データノイズ除去方法及びデータノイズ除去装置
JPH05314165A (ja) * 1992-05-12 1993-11-26 Fujitsu Ltd 擬似移動平均回路
JPH098658A (ja) * 1995-06-16 1997-01-10 Honda Motor Co Ltd 信号処理装置およびこの装置を備えた電動パワーステアリング装置
JP2004080534A (ja) * 2002-08-20 2004-03-11 Oki Electric Ind Co Ltd 垂直同期検出回路

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2603134B2 (ja) * 1989-06-06 1997-04-23 三菱電機株式会社 移動平均処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04227118A (ja) * 1990-12-29 1992-08-17 Fujitsu Ltd データノイズ除去方法及びデータノイズ除去装置
JPH05314165A (ja) * 1992-05-12 1993-11-26 Fujitsu Ltd 擬似移動平均回路
JPH098658A (ja) * 1995-06-16 1997-01-10 Honda Motor Co Ltd 信号処理装置およびこの装置を備えた電動パワーステアリング装置
JP2004080534A (ja) * 2002-08-20 2004-03-11 Oki Electric Ind Co Ltd 垂直同期検出回路

Also Published As

Publication number Publication date
US8166089B2 (en) 2012-04-24
JP2008066857A (ja) 2008-03-21
US20080059550A1 (en) 2008-03-06

Similar Documents

Publication Publication Date Title
JP4806631B2 (ja) タイミング発生器および半導体試験装置
JP4686420B2 (ja) サンプリングデータ平均化回路
JP2600598B2 (ja) パルス幅判別回路
JP2000090069A (ja) 入力デジタル信号のシ―ケンスを処理する方法
CN115472204A (zh) 移位寄存器电路和用于控制移位寄存器电路的方法
JP6311601B2 (ja) 多段フィルタ処理装置及び方法
US7627624B2 (en) Digital signal averaging using parallel computation structures
US5189378A (en) Tone signal detecting circuit
US20030215038A1 (en) Jitter-resistant serial data receiving circuit
JPH0661871A (ja) パラレル・シリアル・データ変換回路
JP3028165B2 (ja) 高基数除算制御方法および高基数除算器
JP2020137043A (ja) デジタルフィルタ
JPH0434240B2 (ja)
JP3388484B2 (ja) 誤動作・誤設定検出機能を備えたタイミング発生器
JP3443630B2 (ja) ビット保護回路
JP2738862B2 (ja) 周期計測回路
JPH05276021A (ja) 分周回路
SU1476609A1 (ru) Аналого-цифровой преобразователь
KR0161374B1 (ko) 디지탈 최대값 검출 회로
JP5321333B2 (ja) 位相比較器及びその位相比較器を用いたクロック・リカバリ回路
JP2005017235A (ja) パルス幅測定装置及びパルス幅測定方法
JPH08161153A (ja) 除算回路
JP3225824B2 (ja) Nパラレル連続カウント判別回路
JPH0252901B2 (ja)
JPH06201779A (ja) テスト回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080922

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20081210

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090127

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: 20110208

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110214

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140218

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4686420

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350