(57)【特許請求の範囲】
【請求項１】
フィルタ定数に対応するフィルタクロックにより動作するカスケード接続された第１、第２のレジスタを有し、２段サンプリング方式で入力信号をフィルタリングするディジタルフィルタであって、
前記フィルタクロックより高い周波数のノイズ検出用クロックにより前記入力信号に含まれるノイズ成分を検出すると前記第２のレジスタの出力の更新を抑制するノイズ検出／制御手段を有することを特徴とするディジタルフィルタ。
【請求項２】
前記第１のレジスタの出力または第２のレジスタの出力のいずれかを該第２のレジスタに入力させるセレクタを有し、
前記ノイズ検出／制御手段は、前記第１のレジスタの出力と第２のレジスタの出力とが不一致であるときに、前記第１のレジスタの出力と前記入力信号とが不一致になったことを検出すると、前記第１のレジスタの出力が前記第２のレジスタに入力しないように前記セレクタを切換え制御することを特徴とする請求項１記載のディジタルフィルタ。
【請求項３】
前記フィルタクロックは、前記ノイズ監視用クロックに基づいて任意の分周比で生成されることを特徴とする請求項１記載のディジタルフィルタ。
【請求項４】
前記フィルタクロックは、前記ノイズ監視用クロックに基づく任意の周波数のクロックとして生成されることを特徴とする請求項１記載のディジタルフィルタ。
【請求項５】
フィルタ定数に対応するフィルタクロックにより動作するカスケード接続された第１、第２のレジスタを有し、カウンタ方式で入力信号をフィルタリングするディジタルフィルタであって、
前記フィルタクロックより高い周波数のノイズ検出用クロックで動作し、前記入力信号に含まれるノイズを検出すると、前記第２のレジスタの出力の更新を抑制するノイズ検出／制御手段を有することを特徴とするディジタルフィルタ。
【請求項６】
前記カウンタ方式は、ＵＰ−ＲＥＳＥＴモードのカウンタ方式またはＵＰ−ＤＯＷＮモードのカウンタ方式であり、
前記ノイズ検出／制御手段は、ノイズを検出した場合、前記ＵＰ−ＲＥＳＥＴモードのカウンタ方式においてはカウンタに設定値を再ロードさせ、前記ＵＰ−ＤＯＷＮモードのカウンタ方式においてはカウントダウンさせることを特徴とする請求項５記載のディジタルフィルタ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フィルタ回路に係わり、特にディジタルフィルタに関する。
【０００２】
【従来の技術】
従来より、入力信号に含まれるノイズが内部に取込まれないようにするために、入力信号をフィルタリングするフィルタ回路が知られており、ノイズ除去能力を向上させる為に様々なフィルタ回路が提案されている。
【０００３】
フィルタ回路のうち、ディジタルフィルタ回路において、例えば、入力データ値を２回サンプリングして、１回目と２回目との値が一致した場合はその値をフィルタ後の入力として内部に取込む方式（二度読み照合方式／二段サンプリング方式；ローパスフィルタの一種）のディジタルフィルタ回路がある。
【０００４】
図８は、従来のディジタルフィルタ回路の構成の一例を示す図である。
同図に示すディジタルフィルタ回路は、２段構成のＤフリップフロップＦＦ１１、ＦＦ１２と、Exclusive ＯＲゲート（以下、ＥｘＯＲゲートと記す）Ｇ１１、及びセレクタＳより構成される。
【０００５】
入力信号ａは、１段目のＤフリップフロップＦＦ１１のＤ端子に入力し、フィルタクロックＦＣＬＫ（サンプリングクロック）の立ち上がりでこの入力信号ａがＦＦ１１のＱ端子より出力される（保持／出力する）。ＦＦ１１の出力は、セレクタＳに入力し、セレクタＳが「Ｓ＝１」側に切換えられている場合には、ＦＦ１１の出力はＦＦ１２の入力となる。セレクタＳの切換えは、ＥｘＯＲゲートＧ１１の出力により制御される。ＥｘＯＲゲートＧ１１には、入力信号と出力信号（ＦＦ１２の出力）とが入力しており、両者の値が不一致である場合は‘１’出力し、両者の値が一致している場合には‘０’出力する。セレクタＳは、ＥｘＯＲゲートＧ１１の出力が‘１’であるとき「Ｓ＝１」側に切換えられ、‘０’であるとき「Ｓ＝０」側に切換えられる。
【０００６】
これより、２段目のＤフリップフロップＦＦ１２には、セレクタＳが「Ｓ＝１」にあるときにはＦＦ１１の出力が入力し、セレクタＳが「Ｓ＝０」にあるときには自己（「ＦＦ１２）の出力が入力する。
【０００７】
このような構成において、例えば図９の図上左側に示すような正常な入力信号（通過域の信号）が入力した場合は、これを２回サンプリングすると１回目と２回目の値が一致するので、これをフィルタ後の出力信号として２段目のＦＦ１２から出力されることになる。詳しくは、まず、入力信号が‘０’から‘１’に変化すると、出力信号は‘０’であるので、ＥｘＯＲゲートＧ１１への２つの入力値は不一致となり、セレクタＳが「Ｓ＝１」側に切換えられる。そして、入力信号の変化後の最初のサンプリング・タイミング（フィルタクロックＦＣＬＫの立ち上がり）で、ＦＦ１１は入力信号‘１’を保持／出力し、セレクタＳが「Ｓ＝１」側に切換えられているので、このＦＦ１１の出力‘１’はＦＦ１２の入力端子Ｄｎに印加される。そして、図９の図上左側に示すように、入力信号が２回目のサンプリング時にも‘１’であった場合には、ＦＦ１２はＦＦ１１の出力である‘１’を保持／出力する。すなわち、入力信号の変化後の２回目のサンプリング・タイミングで出力信号が‘０’から‘１’になる。
【０００８】
一方、同図には示していないが、高周波ノイズ等による入力信号ａの‘１’に偶然サンプリング周期に同期して、１回目のサンプリング・タイミングでＦＦ１１が‘１’を保持／出力する場合がある。このような場合でも、２回目のサンプリング・タイミング前に入力信号ａは‘０’に戻るので（通常、フィルタ定数は、このような高周波ノイズによる‘１’を２回続けてサンプリングすることがないように設定されている）、このときＥｘＯＲゲートＧ１１への２つの入力値が一致する状態になり、セレクタＳが「Ｓ＝０」側に切換えられ、ＦＦ１２の入力は自己の出力となる。この為、２回目のサンプリング・タイミングにおいて、ＦＦ１２の保持／出力は、自己の現在の出力状態‘０’となるので、ノイズによる入力信号の変化が出力信号に反映されてしまうことがない。すなわち、ノイズを除去できる。
【０００９】
また、特に図示していないが、上記二度読み照合方式の他にも、カウンタ及び設定レジスタを組み合わせたフィルタ回路をフィルタクロックで動作させて、上記入力信号の値が所定の一定期間（カウンタＵＰするまでの間）変化しない場合にその値をフィルタ後の入力として内部に取込む方式のフィルタ回路も知られている。このカウンタ・メモリ方式のフィルタ回路においては、フィルタクロックＦＣＬＫの周波数は一定とし、その代わりにカウント値の設定内容を変更可能とすることにより、フィルタ定数を可変とすることができる。例えば、設定されたサンプリング継続回数が‘５’であるならば、ＦＣＬＫの立ち上がりエッジで５回続けて同一の入力値があった場合に、これをフィルタ後の信号として出力する。この場合、フィルタ定数は、［５×１／ＦＣＬＫ（時間）］となる。
【００１０】
この方式（カウンタ方式）には、ノイズを検出した場合に、カウント値を再ロードして最初からカウントし始めるモード（UP-RESETモード）と、カウント値を−１（デクリメント）してカウントを継続するモード（UP-DOWNモード）とがある。いずれのモードにおいても、カウント値が規定回数に達した時は、上記入力信号の値をフィルタ後の入力値として内部に取込む。いずれの方式でも、フィルタリングクロックを、１つの周波数、もしくは複数の中から１つの周波数を選んで、フィルタを動作させることができる。
【００１１】
【発明が解決しようとする課題】
上述した従来のディジタルフィルタ回路において、まず図８に示すような二度読み照合方式のフィルタ回路においては、ノイズによる短い幅（フィルタクロックのクロックサイクル以下の幅）の‘１’信号が入力しても、これを内部に取込んでしまうことはないが、これが偶然フィルタクロックに同期する形で連続して入力してきた場合（図９の図上右側に示すような状況）、誤って入力値として取込まれる可能性があった。すなわち、例えば図９の図上右側に示すように、高周波ノイズによる‘１’入力信号が連続して且つこれらが共に偶然サンプリング周期に同期した場合には、１段目のフリップフロップＦＦ１１によるサンプリング値が２回続けて‘１’となってしまうので、これが２段目のフリップフロップＦＦ１２の出力に反映されてしまう。すなわち、ノイズを除去できない。これを別の側面から言えば、入力信号において同図に点線で示す円（楕円）で囲った部分のような入力変化を検出することが、ノイズを検出（除去）することに繋がるが、この入力変化の幅が、フィルタクロックのクロックサイクル以下の幅である場合に、この‘０’部分を検出できない（ノイズを検出できない）可能性が生じることになる。
【００１２】
これに対して、従来より、上述したカウンタとレジスタとを組み合わせた回路において、周波数の高いクロックをフィルタクロックとして使用する方法が知られている。
【００１３】
しかしながら、この方式では、回路規模（特にカウンタ）が、フィルタクロックのサイクル時間とフィルタ時間定数との比率にほぼ比例して、増大してしまうという問題があった。
【００１４】
また、フィルタクロックサイクル以下の幅のパルス成分を遮断するような時定数を持つアナログフィルタ（通常、ＣＲフィルタ）を、ディジタルフィルタの前段に設けるという方法が従来より知られている。
【００１５】
この方法では、アナログフィルタの時定数はフィルタクロックサイクルに合わせることになり、フィルタ定数を大きくする必要がある場合はフィルタクロックの周期を大きく（周波数を低くする）しなければならない。
【００１６】
また、フィルタ定数が大きくなると、サンプリング間隔、すなわちフィルタクロック周波数の逆数が、それに比例して大きくなってしまい、この為、内部に取込まれるノイズパルスの幅も比例して大きくなってしまうという問題があった。
【００１７】
更に、上記のように内部に取込まれるノイズパルスの幅もフィルタ定数に比例して大きくなる為、フィルタ定数を選択可能（可変）とした場合、アナログフィルタの素子定数をも可変にするか、もしくは最大値に合わせなければならなくなるという問題があった。
【００１８】
これに対して、後段のディジタルフィルタが、上記カウンタ及び設定レジスタを組み合わせた回路である場合には、カウンタのビット数を増やす等してディジタルフィルタそのものの感度を高くしフィルタクロックを固定とすることで、上記アナログフィルタの時定数を固定とするという対処方法もある。
【００１９】
しかしながら、この方法では、フィルタクロックの周波数がある程度高くないと、アナログフィルタの素子定数が大きくなり、使用するＣＲも大きくなり、回路規模（消費電流、実装面積など）が増大する。一方で、フィルタクロックの周波数を高くすると、（所望のフィルタ定数に対して）カウンタのビット数を非常に大きくしなければならなくなり、この場合も回路規模の増大につながってしまうという問題があった。
【００２０】
本発明の課題は、ノイズ除去能力を高めることでき、更に回路規模を増大させることなくノイズ除去能力を高めることでき、またノイズ除去能力をフィルタ定数に関係なく一定とできるディジタルフィルタを提供することである。
【００２１】
【課題を解決するための手段】
本発明による第１のディジタルフィルタは、フィルタ定数に対応するフィルタクロックにより動作するカスケード接続された第１、第２のレジスタを有し、２段サンプリング方式で入力信号をフィルタリングするディジタルフィルタであって、前記フィルタクロックより高い周波数のノイズ検出用クロックにより前記入力信号に含まれるノイズ成分を検出すると前記第２のレジスタの出力の更新を抑制するノイズ検出／制御手段を有する。
【００２２】
例えば、上記第１のディジタルフィルタは、前記第１のレジスタの出力または第２のレジスタの出力のいずれかを該第２のレジスタに入力させるセレクタを有し、前記ノイズ検出／制御手段は、前記第１のレジスタの出力と第２のレジスタの出力とが不一致であるときに、前記第１のレジスタの出力と前記入力信号とが不一致になったことを検出すると、前記第１のレジスタの出力が前記第２のレジスタに入力しないように前記セレクタを切換え制御する。
【００２３】
上記第１のディジタルフィルタによれば、２段サンプリング方式のディジタルフィルタにおいて、フィルタクロックより高い周波数のノイズ監視用クロックを用いてノイズ検出するノイズ検出／制御手段を設けることで、ノイズ除去能力をフィルタ定数に依存せずに、高めることができる。
【００２４】
また、例えば、前記フィルタクロックは、前記ノイズ監視用クロックに基づいて任意の分周比で生成される。あるいは、前記フィルタクロックは、前記ノイズ監視用クロックに基づく任意の周波数のクロックとして生成されるものである。
【００２５】
このようなフィルタクロック周波数を選択可能とした場合でも、上記第１のディジタルフィルタによれば、任意のフィルタ定数に対応すると共に、ノイズ除去能力を一定（ノイズ監視用クロックの周波数による）とすることができる。
【００２６】
更に、上記フィルタクロック周波数を選択可能とした場合において、ディジタルフィルタの外部にアナログフィルタを置く構成（一般的に知られている）においても、上記第１のディジタルフィルタによれば、このアナログフィルタの素子定数は、小さくでき且つフィルタ定数に関係なく共通化できる。
【００２７】
本発明による第２のディジタルフィルタは、フィルタ定数に対応するフィルタクロックにより動作するカスケード接続された第１、第２のレジスタを有し、カウンタ方式で入力信号をフィルタリングするディジタルフィルタであって、前記フィルタクロックより高い周波数のノイズ検出用クロックで動作し、前記入力信号に含まれるノイズを検出すると、前記第２のレジスタの出力の更新を抑制するノイズ検出／制御手段を有する。
【００２８】
前記カウンタ方式は、ＵＰ−ＲＥＳＥＴモードのカウンタ方式またはＵＰ−ＤＯＷＮモードのカウンタ方式であり、前記ノイズ検出／制御手段は、ノイズを検出した場合、前記ＵＰ−ＲＥＳＥＴモードのカウンタ方式においてはカウンタに設定値を再ロードさせ、前記ＵＰ−ＤＯＷＮモードのカウンタ方式においてはカウントダウンさせる。
【００２９】
従来のカウンタ方式では、フィルタクロックの周波数を高くすることによりノイズ除去能力を高めることは出来たが、回路規模が増大してしまう。上述した第２のディジタルフィルタによれば、ノイズ検出用クロックにより動作するノイズ検出／制御手段によってノイズ除去能力を高めることが出来るので、回路規模が増大してしまうことはない。
【００３０】
【発明の実施の形態】
以下、図面を参照して、本発明の実施形態について説明する。
まず、本発明の第１の実施例について、図１、図２を参照して説明する。
【００３１】
図１は、第１の実施例によるディジタルフィルタ回路１０の構成図である。
尚、同図に示す回路１０を、２度読みフィルタ回路（破線部Ａ）とフィルタクロック微分回路（破線部Ｂ）とに分けているのは、入力信号が複数（ｎ本）ある場合には、２度読みフィルタ回路は破線部Ａに示す回路がビット数分（ｎ）必要であるが（但し、各Ｄ−フリップフロップＦＦ１、ＦＦ２、ＦＦ３は、入出力がｎ本分（Ｄn、Ｑn）あるものが１つあればよい）、フィルタクロック微分回路は１つでよいからである。
【００３２】
同図において、例えばＩ／Ｏ装置等に入力される入力信号ａは、カスケード接続された２つのレジスタ（ＦＦ１、ＦＦ２）の一段目のＤ−フリップフロップＦＦ１に入力し、フィルタリング後の入力信号（出力信号ｂ）として２段目のＤ−フリップフロップＦＦ２より出力される。これら２段のレジスタ（ＦＦ１、ＦＦ２）は、フィルタクロックＦＣＬＫによって動作する。
【００３３】
上記２段のレジスタ（ＦＦ１、ＦＦ２）の間には、セレクタＳが設けられている。セレクタＳは、入力信号ａが正常な時は「Ｓ＝０」側に切換えられており、ＦＦ１の出力ｃがＦＦ２の入力ｄとなっている。そして、後述する不一致検出器によって“不一致検出”（ノイズ検出）されたときには「Ｓ＝１」側に切換えられＦＦ２は自己の出力ｂをループ入力する。
【００３４】
上記不一致検出器は、Ｄ−フリップフロップＦＦ３、及び２つのＥｘＯＲゲートＧ１、Ｇ２とＡＮＤゲートＧ３とＯＲゲートＧ４より構成される（図上、一点鎖線で示す）。不一致検出器は、上記一段目と二段目のレジスタ（ＦＦ１、ＦＦ２）の保持／出力値が不一致（ｂ≠ｃ）である期間に、一段目のレジスタ（ＦＦ１）への入力すなわち入力信号ａと、ＦＦ１の出力ｃとが不一致（ａ≠ｃ）となったことを検出すると、セレクタＳを切換え制御する。換言すれば、不一致検出器は、ノイズ等によってＦＦ１の出力値ｃが変化していた場合には、これを検出して、ＦＦ１の出力がＦＦ２の出力に反映されないようにする為の回路である。また、不一致検出器は、サンプルクロックＳＣＬＫ（フィルタクロックＦＣＬＫより高い周波数のノイズ監視用クロック）で動作する回路であり、フィルタ定数とは関係なく（フィルタクロックＦＣＬＫの周波数に依存することなく）、高い周波数でノイズを除去することを可能にする。
【００３５】
以下、この不一致検出器の動作について更に詳細に説明する。
ＥｘＯＲゲートＧ１には、ＦＦ１の出力ｃとＦＦ２の出力ｂが入力している。ＥｘＯＲゲートＧ１は、一段目と二段目のレジスタ（ＦＦ１、２）の出力値が不一致（ｂ≠ｃ）であるか否かを検出する構成である（不一致である場合‘１’出力する）。ＥｘＯＲゲートＧ２には、ＦＦ１の出力ｃと入力信号ａが入力している。２つのＥｘＯＲゲートＧ１、Ｇ２の出力は、ＡＮＤゲートＧ３に入力している。
【００３６】
上記ＥｘＯＲゲートＧ１、Ｇ２及びＡＮＤゲートＧ３より成る構成では、ＦＦ１とＦＦ２の出力値が不一致（ｂ≠ｃ）である期間、すなわち入力信号ａの値が変化した後の最初のサンプリング時（ＦＣＬＫの立ち上がり）から２回目のサンプリング時までの間、ＥｘＯＲゲートＧ１は‘１’出力することになり、この間にＦＦ１の入力と出力が一致しない状態（ａ≠ｃ）になると、ＥｘＯＲゲートＧ２も‘１’出力するので、ＡＮＤゲートＧ３の出力ｅは‘１’となる。
【００３７】
ＯＲゲートＧ４及びＦＦ３より成る構成は、上記ＥｘＯＲゲートＧ１、Ｇ２及びＡＮＤゲートＧ３より成る構成による不一致検出結果を、次のフィルタクロックＦＣＬＫの立ち上がりでフィルタクロック微分回路（Ｄ−フリップフロップＦＦ４及びＮＡＮＤゲート１０）により生成／出力されるサンプルクリア信号ＳＣＬＲによってクリアされるまでの間、保持する為の構成である。
【００３８】
上述した不一致検出器の動作により、セレクタＳは、不一致検出（ノイズ検出）された場合は、ＦＦ３の出力ｆ（＝１）によって、次のフィルタクロックＦＣＬＫの立ち上がりまでの間、「Ｓ＝１」側に切換えられる。これより、ＦＦ２は、自己の出力ｂを入力とする（現在の出力値を維持する）。このように、例えば高周波ノイズが２度連続して入り、これが２度とも偶然フィルタクロックＦＣＬＫの立ち上がりに同期してしまっても、ＦＦ２の出力ｂはこれに影響されることなく現在値を維持することになり、結果として、ＦＣＬＫのサイクルより短いノイズパルスがあっても、これがＳＣＬＫのサイクルより大きい幅であれば除去することができ、ノイズ除去能力が向上する。
【００３９】
上述した図１に示す構成のフィルタ回路の具体的な動作の一例について、以下、図２を参照して説明する。
図２に示す例では、ＦＣＬＫの各立ち上がり時をｔ1 〜ｔ6 とし、入力信号ａは、本来、ｔ4 の時点の少し手前で‘０’から‘１’になるのが正しい信号であるが、ｔ2 とｔ3 にかかるところでそれぞれ高周波ノイズによる短い‘１’信号が入ってしまっているものとする。
【００４０】
このような入力信号ａでは、上述した従来の回路では、ｔ2 とｔ3 のＦＣＬＫの立ち上がりで２度続けて‘１’を読んでしまうため、ｔ3 の時点でフィルタ後の出力値が‘１’になってしまう。すなわち、ノイズを取込んでしまう。別の言い方をするならば、従来の回路では、図上に点線の円（楕円）で示す位置の入力変化（ノイズを認識し得る変化）が、ＦＣＬＫの周期より短い幅である場合には、これを検出できない可能性があった。
【００４１】
一方、図１の回路では、まず、ＦＣＬＫの立ち上がり（ｔ2 ）で、ＦＦ１は１番目のノイズの‘１’を読み込んで‘１’出力し、（このときセレクタＳは「Ｓ＝０」側になっているので）ＦＦ１の出力ｃはＦＦ２の入力ｄとなる。
【００４２】
ＦＦ２の出力ｂは、次のＦＣＬＫの立ち上がり時（ｔ3 ）までは‘０’であるので、ＦＦ１の出力ｃとＦＦ２の出力ｂとは不一致となり、ＥｘＯＲゲートＧ１は‘１’出力することになる。この状態で、上記図２上に点線円（楕円）で示す入力変化があると（入力信号ａの値が‘０’になると）、ＦＦ１の入力ａ（‘０’）と出力ｃ（‘１’）とは不一致となるので、ＥｘＯＲゲートＧ２の出力も‘１’となり、これよりＡＮＤゲートＧ３の出力ｅは‘１’となり、これがＯＲゲートＧ４を介してＦＦ３に入力する。ＦＦ３は、サンプルクロックＳＣＬＫで動作しており、上記のように入力が‘１’になった後のＳＣＬＫの立ち上がりでこの入力値‘１’を保持／出力する。すなわち、図２に示すように、ＦＦ３の出力ｆの値が‘１’に変わる。このとき、ＦＦ３の出力変化に応じてセレクタＳは「Ｓ＝１」側に切換えられるので、図２に示すようにＦＦ２の入力値は、上記‘１’の状態から自己の出力値‘０’に変わる。
【００４３】
これにより、次のＦＣＬＫの立ち上がり（ｔ3 ）時に、ＦＦ２は自己の出力値‘０’を取込むので、上記ノイズによるＦＦ１の出力‘１’が出力信号ｂに反映されてしまうことはない（すなわち、内部にノイズを取込まない）。
【００４４】
尚、このとき、上述したフィルタクロック微分回路の動作により図２に示すように生成されるサンプルクリア信号ＳＣＬＲによってＦＦ３はクリアされる。これより、その出力ｆは‘０’になり、セレクタＳは「Ｓ＝０」側に切換えられるので、再び、ＦＦ１の出力ｃがＦＦ２の入力ｄとなり、図２に示すように、ＦＦ２の入力ｄは‘１’になっている。
【００４５】
サンプリング・タイミングｔ3,ｔ4 の間にある、ＦＣＬＫでは検出できない入力変化（点線で囲っている部分）についても、同様に、上述したＳＣＬＫで動作する不一致検出器によって検出されるので、ＦＦ３の出力ｆが‘１’になり、セレクタＳは「Ｓ＝１」側に切換えられる。よって、図２に示すようにＦＦ２の入力ｄは、自己の出力値‘０’に変わるので、次のＦＣＬＫの立ち上がり（ｔ4 ）時に、ノイズによるＦＦ１の出力‘１’が出力信号ｂに反映されてしまうことはない（すなわち、内部にノイズを取込まない）。
【００４６】
このように、第１の実施例のフィルタ回路によれば、特に２度読み照合方式のフィルタ回路において、従来の回路ではフィルタクロックＦＣＬＫの周期より短い幅の入力変化は検出できない（ノイズとして認識できない）可能性があったが、フィルタクロックＦＣＬＫより高い周波数の検出用クロックであるサンプルクロックＳＣＬＫで動作する不一致検出器によりこれを検出することにより、誤ってノイズを取込んでしまうことはない。ノイズ除去能力を、フィルタクロックＦＣＬＫの周波数に依存することなく、サンプルクロックＳＣＬＫの周波数によって一定とすることができる。
【００４７】
尚、図２に示すように、入力信号が正常な形としての‘１’となった場合には、フィルタクロックＦＣＬＫの立ち上がり（ｔ4 ）でＦＦ１がこれを保持／出力すると共にＦＦ１の出力ｃがＦＦ２の入力ｄ（‘１’）となる。そして、この状態のまま、次のＦＣＬＫの立ち上がり（ｔ5 ）を迎えるので、このときＦＦ２の入力ｄの値‘１’をＦＦ２が保持／出力し、出力信号ｂが‘１’となる。
【００４８】
上述した第１の実施例によるディジタルフィルタ回路１０によれば、フィルタクロックＦＣＬＫの周波数を以下に説明するように選択可能（フィルタ定数を可変）とする構成において、ノイズ除去能力に関して更なる効果が得られるようになる。これについて、以下、図３を参照して詳述する。
【００４９】
図３は、図１のフィルタ回路に複数のフィルタ定数を設定可能にする構成の一例を示す図である。
図３（ａ）には、フィルタクロックＦＣＬＫのフィルタ定数（１／ｆ（ｆ；周波数））を、源周波数（ＳＣＬＫ）の２n （２のｎ乗）の中から選択できるようにする構成を示す。
【００５０】
図上右側には、図１のフィルタ回路１０を示す。このフィルタ回路１０に入力する上記サンプルクロックＳＣＬＫには、源周波数クロックをそのまま用いる。
クロック分周器２２は、フィルタ回路１０に出力するフィルタクロックＦＣＬＫのフィルタ定数を、入力する源周波数クロック（ＳＣＬＫ）の２n （２のｎ乗）の中から、設定内容（分周比ｎ）に応じて決定できるようにする構成である。クロック分周器２２については、従来より知られているものを用いればよいので特に説明しないが、例えば、分周器（カウンタ等）とセレクタとにより構成される。上記設定内容（分周比ｎ）は、適宜、外部等より設定入力されて分周比設定レジスタ２１に格納されており、クロック分周器２２はこの設定内容に応じたフィルタクロックＦＣＬＫを生成／出力する。
【００５１】
図３（ｂ）には、フィルタクロックＦＣＬＫを任意の周波数に設定可能にする構成を示す。
図上右側には、図１のフィルタ回路１０を示す。このフィルタ回路１０に入力する上記サンプルクロックＳＣＬＫには、源周波数クロックをそのまま用いる。
【００５２】
周波数設定レジスタ２３には、外部より設定入力される任意の周波数データが格納される。
ＤＤＡ（Digital Differential Analyzer ）周波数変換器は、源周波数クロックで動作し、周波数設定レジスタ２３に格納されている周波数のフィルタクロックＦＣＬＫを生成／出力する。
【００５３】
ここで、一般に、ディジタルフィルタのフィルタ定数は、数百μ秒から数ｍ秒のオーダーである。一方、ディジタル回路を構成するＩＣやＬＳＩ等は数百MHz 、数ｎ秒のオーダーで動作できる。したがって、サンプルクロックＳＣＬＫを非常に高い周波数にした場合、それに比例して本実施形態のフィルタ回路１０のノイズパルス除去能力は高まり、しかもそれはフィルタクロック周波数に関係なく一定となる。
【００５４】
特に、図３（ａ）に示すようにフィルタクロックＦＣＬＫのフィルタ定数をサンプルクロックＳＣＬＫの２n の中から選択可能とする構成では、一定の高い周波数でノイズ除去を可能とする本発明の効果がより大きく得られる。また図３（ｂ）に示すようにフィルタクロックＦＣＬＫ周波数を任意に設定可能とする構成においても、ＤＤＡ回路のビット数を大きくとった場合に周波数設定範囲が広がるため、同様に効果がより大きくなる。
【００５５】
更に、当該ディジタルフィルタの外部にアナログフィルタを置く構成においては、上記のようにフィルタ定数が可変であっても、外部に置くアナログフィルタの素子定数は小さくでき且つフィルタ定数に関係なく共通化できる。
【００５６】
次に、以下、図４、図５を参照して、第２の実施例によるフィルタ回路について説明する。
尚、当該第２の実施例、及び後述する第３の実施例は、従来のカウンタ・メモリ方式のフィルタ回路に対して、上記第１の実施例のフィルタ回路における本発明の特徴を適用するものである。
【００５７】
図４は、第２の実施例によるディジタルフィルタ回路３０の構成図である。
尚、同図に示す構成において、図１に示す構成と略同一の構成でよい場合には、同一符号を付してある。すなわち、フィルタクロックＦＣＬＫで動作する２段のレジスタ（ＦＦ１、ＦＦ２）と、その間に設けられたセレクタＳとによる構成は図１の構成とほぼ同じでよい（但し、セレクタＳがカウンタ３１からのカウントキャリー信号ｋにより切換え制御される点は異なる）。また、不一致検出器、フィルタクロック微分回路も図１の構成とほぼ同じでよいが、不一致検出器におけるＥｘＯＲゲートＧ１の出力が、ＡＮＤゲートＧ３の他に、Ｄ−フリップフロップＦＦ５及びＡＮＤゲートＧ６にも入力しており、またＯＲゲートＧ７にも入力（反転入力）している点が異なっている。また、Ｄ−フリップフロップＦＦ３の出力信号ｆは、セレクタＳの切換え制御に用いられるのではなく、ＯＲゲートＧ８を介して、カウンタ３１へのカウンタロード信号ｉとして用いられる。また、図４（及び図６）では、入力１ビット分についてフィルタ回路を構成した例を示してある。
【００５８】
図４において、Ｄ−フリップフロップＦＦ５及びＡＮＤゲートＧ６より成る構成は、不一致検出器のＥｘＯＲゲートＧ１によってＦＦ１の出力が変化したことが検出されると、これをカウンタ３１に通知する為の信号ｇ（ＦＣＬＫ１周期幅）を生成／出力する為の構成である。この信号ｇは、ＯＲゲートＧ８を介して、カウンタロード信号ｉとしてカウンタ３１のＬＤ端子に入力される。また、この信号ｇは、ＪＫフリップフロップＦＦ６のＪ端子にも入力しており、ＦＦ６は次のＦＣＬＫの立ち上がりから信号ｇの値を保持／出力する。すなわち、カウントイネーブル信号ｈを保持／出力する。カウントイネーブル信号ｈが‘１’である間は、カウンタ３１のＵＰ端子には常に‘１’が印加されているので、ＦＣＬＫの立ち上がり毎にカウントアップされていく。
【００５９】
このように、カウンタ３１は、ＦＦ１とＦＦ２の出力が不一致となったとき（入力信号ａが変化したとき）、カウンタ値設定レジスタ３２に格納されている設定値（初期値）をロードし、カウントを開始する。
【００６０】
ＦＦ６の出力状態は、通常、カウンタ３１よりカウンタキャリー信号ｋが‘１’出力されるまで保持されるが、ＥｘＯＲゲートＧ１によりＦＦ１の出力ｃとＦＦ２の出力ｂとが一致する状態になったことが検出されると、カウントイネーブル信号ｈは‘０’となる。
【００６１】
また、カウンタロード信号ｉは、不一致検出器により上述した第１の実施例の場合と略同様にして不一致が検出された場合にも‘１’となる。これによって、不一致検出器によりノイズが検出された場合には、再ロードして最初からカウントし直すようにすることができる。
【００６２】
上述した図４に示す構成のフィルタ回路の具体的な動作の一例について、以下、図５を参照して説明する。
同図に示す例では、カウンタ値設定レジスタ３２には設定値‘７’が格納されており、カウンタ３１は１６進カウンタであるものとして説明する。
【００６３】
まず、入力信号ａには、図２で説明した場合と略同様に、ノイズによって短い幅の‘１’が連続して入っているものとする。入力信号ａの最初の‘１’によってサンプリング・タイミング（ｔ1 ）でＦＦ１の出力ｃが‘１’となり、これよりＥｘＯＲゲートＧ１の出力が‘１’となるので、ＦＦ５とＡＮＤゲートＧ６により上記ＦＣＬＫの１周期幅の‘１’信号ｇが生成／出力され、これが、ＯＲゲートＧ８を介して、カウンタロード信号ｉとしてカウンタ３１のＬＤ端子に入力される。また、この信号ｇはＦＦ６のＪ端子にも入力され、このＦＦ６により次のＦＣＬＫの立ち上がり（ｔ2 ）からカウンタ３１へのカウントイネーブル信号ｈ（‘１’）が保持／出力される。このような動作により、図５に示すように、入力信号ａが‘１’に変化すると、カウンタロード信号ｉによりカウンタ値設定レジスタ３２に格納されている設定値‘７’がカウンタ３１にロードされ、更にカウントイネーブル信号ｈが‘１’となりカウント開始される。
【００６４】
ここで、図５に示すような入力信号ａに対してＦＣＬＫが同図に示すような周期／タイミングとなっている場合には、従来の回路では、ＦＣＬＫの立ち上がりがノイズを検出し得る入力変化（図上に点線で示す円の部分）に掛らないと、ノイズであることを認識できずにそのままカウントが続行され、結果としてノイズを取込んでしまう。
【００６５】
これに対し、図４の回路では、例えばタイミングｔ3 とｔ4 の間の入力信号ａの変化（上記点線で示す円の部分）を、ＦＣＬＫより高い周波数のクロック（ＳＣＬＫ）で動作する不一致検出器により検出できるので、ノイズであることを認識でき、最初からカウントし直すようにすることができる。
【００６６】
すなわち、不一致検出器により、ＦＦ１の出力ｃとＦＦ２の出力ｂとが不一致である期間に、入力信号ａとＦＦ１の出力ｃとが不一致になったことが検出され、図５に示すように、ＦＦ３より‘１’出力されると、これがＯＲゲートＧ８を介してカウンタロード信号ｉとしてカウンタ３１に入力される。これより、カウンタ３１はカウンタ値設定レジスタ３２に格納されている設定値‘７’を再ロードする。そして、最初からカウントし直す。
【００６７】
同様に、タイミングｔ6 後の短い入力変化も、不一致検出器により検出できるので、同図に示すようにカウンタ３１は、再び、カウンタ値設定レジスタ３２に格納されている設定値‘７’を再ロードして、最初からカウントし直す。
【００６８】
その後は、入力信号ａは正常な状態の‘１’となっているので、カウンタ３１は再ロードすることなくカウントを続行し、カウント値が‘ｆ（１６進数）’となったときカウンタキャリー信号ｋを‘１’出力する。このカウンタキャリー信号ｋによってセレクタＳは「Ｓ＝１」側に切換えられるので、ＦＦ１の出力ｃがＦＦ２の入力ｄとなる。これより、次のＦＣＬＫの立ち上がりタイミングでＦＦ２からの出力信号ｂは‘１’となる。
【００６９】
このように第２の実施例のフィルタ回路３０によれば、ＦＣＬＫでは検出できないような幅／タイミングのノイズに対しても、ＦＣＬＫより高い周波数のサンプルクロックＳＣＬＫで動作する不一致検出器によってノイズであることを検出できるので、カウントを最初からやり直し、正常にフィルタリングすることができる。
【００７０】
上述した従来の方法ではノイズ除去能力を上げる為にＦＣＬＫの周波数を高くすると、フィルタ定数に対して必要となるカウント数が増えるので、カウンタ、メモリのビット数を大きくしなければならず、このビット数に応じて回路規模が増大してしまったが、上記第２の実施例のフィルタ回路３０によればＦＣＬＫの周波数に依らずにノイズ除去能力を高めることができるので、回路規模を増大させることなくノイズ除去能力を向上させることができる。
【００７１】
上記第２の実施例のフィルタ回路３０では、ノイズを検出した場合は最初からカウントし直していたが、微小なノイズであれば無視して継続したいような場合もある。
【００７２】
このような場合に対して、以下、図６、図７を参照して、第３の実施例について説明する。
図６は、第３の実施例によるディジタルフィルタ回路４０の構成図である。
【００７３】
尚、同図に示すフィルタ回路４０は、図４に示すフィルタ回路３０と一部を除いてほぼ同じであるので、略同一の構成には同一符号を付して説明は省略し、相違点についてのみ説明するものとする。
【００７４】
相違点は、フィルタ回路３０においては、カウンタ３１のＵＰ端子には常に‘１’を入力してカウントイネーブル状態でクロック入力するとカウントアップする構成とし、不一致検出器のＦＦ３の出力はロード信号として利用していたが、第３の実施例のフィルタ回路４０では不一致検出器のＦＦ３の出力をカウンタ４１のＵＰ端子に反転入力させることで、不一致検出器により不一致検出しているときにはカウントダウンさせるように構成している点で異なる。尚、カウントイネーブル信号ｈをカウンタキャリー信号ｋ以外ではクリアさせないようにしている点でも異なる。
【００７５】
上述した図６に示す構成のフィルタ回路の具体的な動作の一例について、以下、図７を参照して説明する。
同図に示すように、フィルタ回路４０では、不一致検出器のＦＦ３の出力が、インバータＧ９によりカウンタ４１のＵＰ端子に反転入力しているので、正常時はＦＦ３の出力‘０’に応じてカウンタ４１はカウントアップモードになっておりカウントイネーブル信号ｋが‘１’の状態でＦＣＬＫの立ち上がり毎に１カウントアップする。一方、不一致検出器により不一致が検出されてＦＦ３より‘１’出力されているときには、ＦＣＬＫの立ち上がりで１カウントダウンする。
【００７６】
【発明の効果】
以上、詳細に説明したように、本発明のディジタルフィルタによれば、フィルタクロックより高い周波数のノイズ監視用クロックを用いてノイズ検出してフィルタ回路の動作を制御することで、ノイズ除去能力を、フィルタ定数に依存することなく、高めることができる。更に、これによって、外部にアナログフィルタを置き、フィルタ定数を選択可能とする構成においても、外部に置くアナログフィルタの素子定数を、小さく且つフィルタ定数に関係なく共通化できる。
【００７７】
また、カウンタ方式のディジタルフィルタに適用した場合、回路規模を増大させることなくノイズ除去能力を高めることができる。
【図面の簡単な説明】
【図１】第１の実施例によるディジタルフィルタ回路の構成図である。
【図２】図１のフィルタ回路の具体的な動作の一例を示すタイミングチャート図である。
【図３】図１のフィルタ回路に複数のフィルタ定数を設定可能にする構成の一例を示す図である。
【図４】第２の実施例によるディジタルフィルタ回路の構成図である。
【図５】図４のフィルタ回路の具体的な動作の一例を示すタイミングチャート図である。
【図６】第３の実施例によるディジタルフィルタ回路の構成図である。
【図７】図６のフィルタ回路の具体的な動作の一例を示すタイミングチャート図である。
【図８】従来のフィルタ回路の構成図である。
【図９】図８のフィルタ回路の具体的な動作の一例を示すタイミングチャート図である。
【符号の説明】
１０  ディジタルフィルタ
ＦＦ１  Ｄフリップフロップ
ＦＦ２  Ｄフリップフロップ
ＦＦ３  Ｄフリップフロップ
ＦＦ４  Ｄフリップフロップ
Ｓ  セレクタ
Ｇ１  Exclusive ＯＲ（ＥｘＯＲ）ゲート
Ｇ２  ＥｘＯＲゲート
Ｇ３  ＡＮＤゲート
Ｇ４  ＯＲゲート
Ｇ５  ＮＡＮＤゲート
２１  分周比設定レジスタ
２２  クロック分周器
２３  周波数設定レジスタ
２４  ＤＤＡ周波数変換器
３０  ディジタルフィルタ
３１  カウンタ
３２  カウンタ値設定レジスタ
ＦＦ５  Ｄフリップフロップ
ＦＦ６  ＪＫフリップフロップ
Ｇ６  ＡＮＤゲート
Ｇ７  ＯＲゲート（１端子反転入力）
Ｇ８  ＯＲゲート
４０  ディジタルフィルタ
４１  カウンタ
４２  カウンタ値設定レジスタ
Ｇ９  インバータ
【図１】
0003736190.tif 000002
【図２】
0003736190.tif 000003
【図３】
0003736190.tif 000004
【図４】
0003736190.tif 000005
【図５】
0003736190.tif 000006
【図６】
0003736190.tif 000007
【図７】
0003736190.tif 000008
【図８】
0003736190.tif 000009
【図９】
0003736190.tif 000010