(57)【要約】【課題】デジタル信号に重畳されるノイズをデジタル的に除去しつつ、高い信頼性とノイズキャンセル能力を確保する。【解決手段】Ｄ型フリップフロップ（ＤＦＦ）１４，１６は、入力信号Ｓinを所定周期毎に遅延して成る信号Ｓ14，Ｓ16を出力する。そして、組み合わせ回路２は、信号Ｓ14，Ｓ16が同一の値であれば信号Ｓ2を当該同一の値に設定し、上記以外の場合は、信号Ｓ2を現周期の出力信号Ｓoutに等しくなるように設定する。この信号Ｓ2は、次の周期の開始とともにＤＦＦ３２にラッチされ、出力信号Ｓoutとして出力される。【選択図】  図１
2004200837.tif 000002
【特許請求の範囲】
【請求項１】
入力二値信号を所定周期毎に遅延した複数の遅延信号を生成する過程と、
これら遅延信号が同一の値を有する場合は当該同一の値を演算結果とし、その他の場合は現周期の出力二値信号を演算結果とする演算過程と、
前記各周期毎に、前記演算結果を次の周期における出力二値信号として出力する過程と
を有することを特徴とするノイズ除去方法。
【請求項２】
請求項１記載のノイズ除去方法を実行することを特徴とするノイズキャンセラ。
【請求項３】
請求項１記載のノイズ除去方法を実行することを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル回路の信号入力部に用いて好適なノイズ除去方法、ノイズキャンセラおよびプログラムに関する。
【０００２】
【従来の技術】
デジタル回路に入力される信号にノイズが重畳すると、デジタル回路に誤動作が生じるため、デジタル回路の信号入力段にはノイズキャンセラが設けられることが多い。一般的に、ノイズキャンセラは、入力信号のローパスフィルタリングを行うＲＣフィルタ回路と、フィルタリングされた信号を整形する（信号レベルを“０”または“１”の何れかに設定する）シュミットトリガ回路とから構成される。しかし、デジタル回路をＬＳＩ化しようとする際、ＲＣフィルタ回路に必要なコンデンサがＬＳＩ基板上の多大な面積を占有するという問題がある。さらに、ＲＣフィルタ等のアナログ回路を使用することにより、製造プロセスや電圧条件等によってノイズキャンセル能力が悪化する場合がある等の問題も生じる。
【０００３】
このため、ノイズ除去を全てデジタル的に処理する技術が特許文献１に開示されている。特許文献１に開示された技術においては、入力信号の変化（“０”→“１”または“１”→“０”）を検出する信号変化検出回路と、検出された信号変化タイミングを基準としてその変化後のレベルが保持されている時間を計時する計時回路と、ラッチ信号に応じて入力信号をラッチするフリップフロップとが設けられている。
【０００４】
ここで、計時回路は、計時された時間が所定の基準時間に達すると、該フリップフロップに対して上記ラッチ信号を出力するように構成されている。逆に、該基準時間を経過する前に入力信号が変化した場合には、ラッチ信号は出力されないことになる。すなわち、入力信号が変化した後に再び変化する迄の時間が該基準時間未満であれば、当該期間内の信号はノイズであると看做される。そして、フリップフロップの出力信号すなわちラッチ結果が、入力信号からノイズを除去した結果として出力される。
【０００５】
また、特許文献２，３には、他のノイズキャンセル技術が開示されている。これらの技術は、シフトレジスタ等を用いて入力信号を所定のクロック周期毎に遅延させることによって過去数周期に渡る入力信号を同時に出力し、これら複数の過去の入力信号に対して多数決演算を施し、ノイズを除去した信号としてその多数決演算結果を出力する、というものである。
【０００６】
【特許文献１】特開平０５− ０１４１４４号公報
【特許文献２】特開平０５− ００６４５５号公報
【特許文献３】特開平０７− ２１２２０９号公報
【０００７】
【発明が解決しようとする課題】
しかし、特許文献１に開示された技術は、信頼性に欠けるものであった。すなわち、計時回路がラッチ信号を出力するタイミングと、入力信号が変化するタイミングとが重なると、フリップフロップにラッチされる信号が不定になり、誤った信号がラッチされるという問題があった。また、特許文献２，３に開示された技術によれば、例えばキーボードのチャタリング等、頻繁に生ずるノイズを除去しようとする際にノイズキャンセル能力が著しく劣るという問題がある。一例として、過去「３」周期の入力信号の多数決によって出力信号を決定する回路を想定してみる。この回路に対して、クロック周期毎に“１”，“０”，“１”，“０”，……のように繰り返される入力信号を供給すると、ある周期においては“１”，“０”，“１”の多数決によって“１”が出力され、次の周期には“０”，“１”，“０”の多数決によって“０”が出力される。これが繰り返されると、出力信号もクロック周期毎に“１”，“０”，“１”，“０”，……のように繰り返される信号になり、全くノイズが除去されていないことが解る。
この発明は上述した事情に鑑みてなされたものであり、デジタル的にノイズを除去しつつ、高い信頼性とノイズキャンセル能力を確保できるノイズ除去方法、ノイズキャンセラおよびプログラムを提供することを目的としている。
【０００８】
【課題を解決するための手段】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項１記載のノイズ除去方法にあっては、入力二値信号（Ｓin）を所定周期毎に遅延した複数の遅延信号（Ｓ14，Ｓ16）を生成する過程と、これら遅延信号が同一の値を有する場合は当該同一の値を演算結果（Ｓ2）とし、その他の場合は現周期の出力二値信号（Ｓout）を演算結果（Ｓ2）とする演算過程（１８〜３０）と、前記各周期毎に、前記演算結果（Ｓ2）を次の周期における出力二値信号（Ｓout）として出力する過程（１２）とを有することを特徴とする。
また、請求項２記載のノイズキャンセラにあっては、請求項１記載のノイズ除去方法を実行することを特徴とする。
また、請求項３記載のプログラムにあっては、請求項１記載のノイズ除去方法を実行することを特徴とする。
【０００９】
【発明の実施の形態】
1．第１実施形態
1．1．第１実施形態の構成
次に、本発明の第１実施形態によるノイズキャンセラの構成を図１を参照し説明する。
図において１２はＤ型フリップフロップ（以下、ＤＦＦという）であり、そのデータ入力端Ｄには、バッファ１０を介して二値信号である入力信号Ｓinが供給される。ＤＦＦ１２のクロック入力端ＣＫにはクロック信号ＣＬＫが供給され、該クロック信号ＣＬＫの立上がり時にデータ入力端Ｄの信号がラッチされ、ラッチされた信号はデータ出力端Ｑを介して出力される。また、ＤＦＦ１２のリセット入力端ＳＡＮには負論理のリセット信号ＲＳＴが供給される。このリセット信号ＲＳＴが“１”から“０”に立下がると、データ入力端Ｄ等の信号状態に拘らずデータ出力端Ｑの出力信号が強制的に“１”にリセットされる。その後、リセット信号ＲＳＴが“０”から“１”に立上がると、データ入力端Ｄ等の信号状態に応じて出力信号が切り換わる状態になる。
【００１０】
同様に、１４，１６，３２はＤＦＦであり、これらのクロック入力端ＣＫにはクロック信号ＣＬＫが、また、リセット入力端ＳＡＮにはリセット信号ＲＳＴが供給される。ＤＦＦ１２の出力信号Ｓ12はＤＦＦ１４のデータ入力端Ｄに供給され、ＤＦＦ１４の出力信号Ｓ14はＤＦＦ１６のデータ入力端Ｄに供給される。これにより、信号Ｓ14，Ｓ16は、クロック信号ＣＬＫの周期毎に信号Ｓ12を遅延させた信号になる。
【００１１】
次に、１８，２６，２８はＡＮＤ回路、２０はＮＯＲ回路、２２，３０はＯＲ回路、２４はインバータであり、これらによって組み合わせ回路２が構成されている。組み合わせ回路２は、上記信号Ｓ14，Ｓ16と、ＤＦＦ３２の出力信号Ｓoutとに基づいて、以下のような信号Ｓ2を出力する。
(１)信号Ｓ14，Ｓ16が同一の値であれば、信号Ｓ2を当該同一の値に設定する。
(２)上記(１)以外の場合は信号Ｓ2を出力信号Ｓoutと同一の値に設定する。
ＤＦＦ３２においては、クロック信号ＣＬＫの立上がりとともにこの信号Ｓ2がラッチされ、ラッチされた結果が新たな出力信号Ｓoutとして出力されることになる。
【００１２】
なお、初段のＤＦＦ１２は、メタステーブル対策用に設けられたものである。「メタステーブル」とは、クロック信号ＣＬＫの立上がりとＤＦＦへの入力信号の立上がりとが重なった場合に、初段のＤＦＦの出力が不安定になることを言う。本実施形態においては、初段のＤＦＦ１２はメタステーブル対策のためにのみ使用され、組み合わせ回路２における演算には後段のＤＦＦ１４，１６の出力信号が使用されるため、メタステーブルが演算結果に及ぼす影響を、充分に抑制することができるのである。
【００１３】
1．2．第１実施形態の動作
次に、本実施形態の動作を図２を参照し説明する。図においてクロック信号ＣＬＫは所定の周期を有しており、その各立上がりタイミングを時刻ｔ0，ｔ1，ｔ2，……，ｔ18とする。なお、これらの時刻を「クロックタイミング」と呼ぶ。図示の例ではリセット信号ＲＳＴが時刻ｔ01に“０”に立ち下がり、その後の時刻ｔ21において“１”に立ち上がっている。この立下り時においては、各ＤＦＦ１２，１４，１６，３２にラッチされている値が強制的に“１”にリセットされる。その後、リセット信号ＲＳＴが“１”に立ち上がった後においても、入力信号Ｓinが“１”である限り、各ＤＦＦ１２，１４，１６，３２には“１”がラッチされ続けるため、これらＤＦＦの出力信号は“１”に保持される。
【００１４】
次に、時刻ｔ31において入力信号Ｓinが“０”に立下ったとする。この“０”信号は時刻ｔ4のタイミングにおいてＤＦＦ１２にラッチされ、信号Ｓ12が“０”に立ち下がる。そして、該信号Ｓ12が時刻ｔ5においてＤＦＦ１４にラッチされるから、図示のように時刻ｔ5において信号Ｓ14は“０”に立ち下がることになる。
【００１５】
次に、その後の時刻ｔ51において入力信号Ｓinが“１”に立ち上がると、「２」回後のクロック信号ＣＬＫの立上がりタイミングすなわち時刻ｔ7において“１”信号がＤＦＦ１４にラッチされ、信号Ｓ14が立ち上がる。以下同様に、図２の例においては時刻ｔ71，ｔ81，ｔ101，ｔ121，ｔ131，ｔ141において入力信号Ｓinが切り換わっており、切換後のレベルが次のクロックタイミングまで保持されているから、これらのさらに次のクロックタイミングである時刻ｔ9，ｔ10，ｔ12，ｔ14，ｔ15，ｔ16において信号Ｓ14のレベルが切り換わっている。また、ＤＦＦ１６の出力信号Ｓ16は、信号Ｓ14と同様の波形を有し、信号Ｓ14に対して「１」クロック周期遅延した信号である。
【００１６】
これら信号Ｓ14，Ｓ16と出力信号Ｓoutとに基づく演算結果が信号Ｓ2として出力され、該信号Ｓ2はＤＦＦ３２にラッチされることにより次の周期の出力信号Ｓoutとして出力される。図２において入力信号Ｓinと出力信号Ｓoutとを比較すると、入力信号Ｓinにおいて一定の信号レベルの持続期間内に発生するクロックタイミングが「１」回以下である区間（信号Ｓ12，Ｓ14，Ｓ16においては持続時間が「１」クロック周期になる区間）は、出力信号Ｓoutにおいては、その前後の区間と同一の信号レベルに設定されている。換言すれば、本実施形態においては、入力信号Ｓinにおける当該区間はノイズであると看做され、これを除去した結果が出力信号Ｓoutとして出力されるのである。
【００１７】
このように、本実施形態においては、「２」クロック周期に渡る入力信号Ｓinの遅延結果である信号Ｓ14，Ｓ16が同一であることを条件として信号Ｓ2すなわち出力信号Ｓoutを更新するため、高いノイズキャンセル能力を発揮することができる。すなわち、入力信号Ｓinが例えばクロック周期毎に“１”，“０”，“１”，“０”，……のように繰り返される信号であったとしても、出力信号Ｓoutを“１”または“０”に安定させることができるのである。
【００１８】
2．第２実施形態
次に、本発明の第２実施形態によるノイズキャンセラの構成を図３を参照し説明する。なお、図３において図１の各部に対応する部分には同一の符号を付しその説明を省略する。
図において５２，５４，５６はＤＦＦであり、上述したＤＦＦ１２，１４，１６と同様に構成されている。さらに、ＤＦＦ５６の後段にはＤＦＦ５７が接続されている。これにより、ＤＦＦ５２においては入力信号Ｓinがクロック周期毎にラッチされその結果が信号Ｓ52として出力される。そして、ＤＦＦ５４，５６，５７においては、この信号Ｓ52を順次「１」クロック周期づつ遅延させた信号Ｓ54，Ｓ56，Ｓ57が出力される。
【００１９】
次に、５８，６６，６８はＡＮＤ回路、６０はＮＯＲ回路、６２，７０はＯＲ回路、６４はインバータであり、これらによって組み合わせ回路４が構成されている。組み合わせ回路４は、上記信号Ｓ54，Ｓ56，Ｓ57と、ＤＦＦ７２の出力信号Ｓoutとに基づいて、以下のような信号Ｓ4を出力する。
(１)信号Ｓ54，Ｓ56，Ｓ57が同一の値であれば、信号Ｓ4を当該同一の値に設定する。
(２)上記(１)以外の場合は信号Ｓ4を出力信号Ｓoutと同一の値に設定する。
そして、この信号Ｓ4がＤＦＦ７２にラッチされ、次のクロック周期における出力信号Ｓoutとして出力されることになる。
【００２０】
このように、本実施形態においては、「３」クロック周期に渡る入力信号Ｓinの遅延結果である信号Ｓ54，Ｓ56，Ｓ57が同一であることを条件として信号Ｓ2すなわち出力信号Ｓoutを更新するため、高いノイズキャンセル能力を発揮することができる。すなわち、入力信号Ｓinにおいて一定の信号レベルの持続期間内に発生するクロックタイミングが「２」回以下である区間（信号Ｓ52，Ｓ54，Ｓ56においては持続時間が「２」クロック周期以下になる区間）はノイズであると看做され、これを除去した結果が出力信号Ｓoutとして出力されるのである。
【００２１】
さらに、本実施形態は第１実施形態よりも一層高いノイズキャンセル能力を発揮することができる。まず、本実施形態においては、第１実施形態と同様に入力信号Ｓinが例えばクロック周期毎に“１”，“０”，“１”，“０”，……のように繰り返される信号であったとしても、出力信号Ｓoutを“１”または“０”に安定させることができる。さらに、本実施形態によれば、“１”，“１”，“０”，“０”，“１”，“１”，……のように「２」クロック周期毎に変化するノイズが入力信号Ｓinに重畳されたとしても、出力信号Ｓoutを“１”または“０”に安定させることができるのである。
【００２２】
3．変形例
本発明は上述した実施形態に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記第１実施形態においては「２」クロック周期に渡る遅延信号の連続性に基づいて、また第２実施形態においては「３」クロック周期に渡る遅延信号の連続性に基づいて、次のクロック周期における出力信号Ｓoutを更新するか否かが決定されたが、必要な遅延信号の数ｎ（すなわちＤＦＦの数）は、入力信号Ｓinが本来有する信号波形や入力信号Ｓinに重畳されるノイズの長さ（クロック数）あるいはノイズの発生頻度等に応じて、「４」以上の自然数に設定してもよい。
【００２３】
(2)上記各実施形態においては、各ＤＦＦは、リセット信号ＲＳＴが“０”に立下った際にデータ出力端Ｑの出力信号が強制的に“１”になるように構成されていた。しかし、これらのＤＦＦに代えて、リセット信号ＲＳＴの立下りに応じて出力信号が強制的に“０”に設定されるものを用いてもよい。一例として、第１実施形態に対してかかる変形を施した回路を図４に示す。図４においては、図１におけるＤＦＦ１２，１４，１６，３２に代えて、ＤＦＦ４２，４４，４６，４８が設けられている。これらＤＦＦ４２，４４，４６，４８においては、リセット入力端ＲＡＮに供給されるリセット信号ＲＳＴが“１”から“０”に立ち下がると、データ入力端Ｄ等の信号状態に拘らずデータ出力端Ｑの出力信号が強制的に“０”にリセットされる。その後、リセット信号ＲＳＴが“０”から“１”に立上がると、データ入力端Ｄ等の信号状態に応じて出力信号が切り換わる状態になる。
【００２４】
(3)また、図１，図３，図４の回路図あるいは上記各変形例と同様のアルゴリズムを、コンピュータ上で動作するプログラム（例えばキーボードドライバ）によって実現することもできる。このプログラムのみをＣＤ−ＲＯＭ、フレキシブルディスク等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
【００２５】
【発明の効果】
以上説明したように本発明によれば、複数の遅延信号が同一の値を有する場合は当該同一の値を次の周期の出力二値信号に設定するとともにそれ以外の場合は現周期の出力二値信号を次の周期の出力二値信号に設定するから、デジタル的にノイズを除去しつつ、高い信頼性とノイズキャンセル能力を確保することができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態によるノイズキャンセラの回路図である。
【図２】図１における各部の波形図である。
【図３】本発明の第２実施形態によるノイズキャンセラの回路図である。
【図４】第１実施形態の変形例によるノイズキャンセラの回路図である。
【符号の説明】
２，４：組み合わせ回路、１０：バッファ、２０，６０：ＮＯＲ回路、２４，６４：インバータ、２２，３０，６２，７０：ＯＲ回路、１８，２６，２８，５８，６６，６８：ＡＮＤ回路、１２，１４，１６，３２，４２，４４，４６，４８，５２，５４，５６，５７，７２：Ｄ型フリップフロップ、Ｄ：データ入力端、Ｑ：データ出力端、ＣＫ：クロック入力端、ＲＡＮ，ＳＡＮ：リセット入力端。
【図１】
2004200837.tif 000003
【図２】
2004200837.tif 000004
【図３】
2004200837.tif 000005
【図４】
2004200837.tif 000006