(57)【要約】【課題】サンプリング時間毎にＡ／Ｄ変換器によりディジタル化された変換データを濾波し、特定の周波数を取り除くディジタルフィルタにおいて、ヒステリシスを意識することなくディジタルデータの下位ビットの変化を抑制し、簡単な構成で精度の高いデータを得ることができるディジタルフィルタを提供する。【解決手段】Ａ／Ｄ変換器１の変換データＳ１を入力とし、遅延時間がサンプリング時間となる遅延器２１１、２１２、‥２１ｍと、遅延器出力Ｓ１１、Ｓ１２、‥Ｓ１ｍを入力とし、現在の次のサンプリング時間における変換データを予測する予測器２３と、Ａ／Ｄ変換器１の変換データＳ１、遅延器出力Ｓ１１、Ｓ１２、‥Ｓ１ｍおよび予測器出力Ｓ３を加算する加算器２２を備える。【選択図】    図１
2005236589.tif 000002
【特許請求の範囲】
【請求項１】
サンプリング時間毎にＡ／Ｄ変換器によりディジタル化された変換データを濾波し、特定の周波数を取り除くディジタルフィルタにおいて、
前記Ａ／Ｄ変換器の変換データを入力とし、遅延時間がサンプリング時間となる遅延器と、
前記遅延器出力を入力とし、現在の次のサンプリング時間における変換データを予測する予測器と、
前記Ａ／Ｄ変換器の変換データ、前記遅延器出力および前記予測器出力を加算する加算器を備えたことを特徴とするディジタルフィルタ。
【請求項２】
請求項１記載のディジタルフィルタにおいて、
前記遅延器、前記予測器および前記加算器をマイクロプロセッサで構成したことを特徴とするディジタルフィルタ。
【請求項３】
サンプリング時間毎にＡ／Ｄ変換器によりディジタル化された変換データを濾波し、特定の周波数を取り除くディジタルフィルタにおいて、
Ａ／Ｄ変換器の変換データを入力とし、変換データの最下位ビットの下にｌ（エル）ビットのガードビットを付加するガードビット生成器と、
前記ガードビット生成器出力を入力とし、遅延時間がサンプリング時間となる遅延器と、
前記ガードビット生成器出力と前記遅延器出力を入力とし、現在の次のサンプリング時間における変換データを予測する予測器と、
前記Ａ／Ｄ変換器の変換データと前記遅延器出力、前記予測器出力を加算する加算器と、
前記予測器出力、前記ガードビット生成器出力および前記遅延器出力を入力とし、前記ガードビット生成器出力と前記遅延器出力から前記ガードビットの丸めを行なう丸め器を備えたことを特徴とするディジタルフィルタ。
【請求項４】
請求項３記載のディジタルフィルタにおいて、
前記ガードビット生成器、前記遅延器、前記予測器、前記加算器および前記丸め器をマイクロプロセッサで構成したことを特徴とするディジタルフィルタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はディジタルフィルタ、特に磁気式エンコーダのアナログ・ディジタル変換（以降Ａ/Ｄ変換と称す）後の出力をフィルタ処理するディジタルフィルタに関する。
【背景技術】
【０００２】
従来のディジタルフィルタは、エンコーダ等の変位検出器から供給されるアナログ信号をＡ／Ｄ変換器でディジタル信号に変換し、このディジタル信号をディジタル・ローパス・フィルタに供給し、そこで信号中の高周波成分、即ち、下位ビットの変動を除去して、内挿回路に供給していた。また、上記ディジタル・ローパス・フィルタの後にヒステリシス回路を設けることによりフィルタだけでは取り除けなかった雑音を除去することができた。（例えば、特許文献１参照）。
従来例の構成を、図７および図８を参照しながら説明する。
図７は従来例のディジタルフィルタを示す全体構成図である。
図７において、１はＡ／Ｄ変換器、２はディジタルフィルタ、３はヒステリシス、４は内挿回路である。ディジタルフィルタ２ではＡ／Ｄ変換器１により変換されたディジタルデータの下位ビットのふらつきを除去している。また、入力がＡ／Ｄ変換器１の値の変わり目に位置するときは、ディジタルデータの下位ビットが変化するが、このディジタルデータの下位ビットの変化を抑えるために、ヒステリシス３を利用している。
図８は従来例のディジタルフィルタを示すブロック図であり、図７におけるディジタルフィルタ２の部分の詳細を示している。
図８において、２２は加算器、２１１、２１２、‥２１ｍは遅延器、Ｓ１はＡ／Ｄ変換データ、Ｓ２はフィルタデータ、Ｓ１１、Ｓ１２、‥Ｓ１ｍは遅延器出力すなわち遅延データである。この構成により、従来のディジタルフィルタは、入力データ（Ａ／Ｄ変換データＳ１）をシステムクロック（以下システムＣＬＫと表記する）に同期して遅延器２１１、２１２、‥２１ｍにより遅延させ、入力データおよび遅延データＳ１１、Ｓ１２、‥Ｓ１ｍを加算器２２で加算することでフィルタ処理を実行するのである。
【特許文献１】特開平８−２０１１１１号公報（第３頁−４頁、図１−３、５参照）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のディジタルフィルタは、現在および過去にサンプリングしたデータからフィルタの計算を行なっており、将来サンプリングされるであろうデータを利用していないことから、精度の高いフィルタ処理を行なうことが出来ないという問題があった。また、ヒステリシス処理においても、ヒステリシス値の作成およびその与え方によっては、ディジタルデータの下位ビットの変化を抑えることが出来ないという問題があった。
本発明はこのような問題点に鑑みてなされたものであり、将来データを予測してフィルタ処理に利用するとともに、ヒステリシスを意識することなくディジタルデータの下位ビットの変化を抑制し、簡単な構成で精度の高いデータを得ることができるディジタルフィルタを提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記問題を解決するため、請求項１に記載の発明は、サンプリング時間毎にＡ／Ｄ変換器によりディジタル化された変換データを濾波し、特定の周波数を取り除くディジタルフィルタにおいて、前記Ａ／Ｄ変換器の変換データを入力とし、遅延時間がサンプリング時間となる遅延器と、前記遅延器出力を入力とし、現在の次のサンプリング時間における変換データを予測する予測器と、前記Ａ／Ｄ変換器の変換データ、前記遅延器出力および前記予測器出力を加算する加算器を備えたことを特徴としている。
また、請求項２に記載の発明は、請求項１記載のディジタルフィルタにおいて、前記遅延器、前記予測器および前記加算器をマイクロプロセッサで構成したことを特徴としている。
また、請求項３に記載の発明は、サンプリング時間毎にＡ／Ｄ変換器によりディジタル化された変換データを濾波し、特定の周波数を取り除くディジタルフィルタにおいて、Ａ／Ｄ変換器の変換データを入力とし、変換データの最下位ビットの下にｌ（エル）ビットのガードビットを付加するガードビット生成器と、前記ガードビット生成器出力を入力とし、遅延時間がサンプリング時間となる遅延器と、前記ガードビット生成器出力と前記遅延器出力を入力とし、現在の次のサンプリング時間における変換データを予測する予測器と、前記Ａ／Ｄ変換器の変換データと前記遅延器出力、前記予測器出力を加算する加算器と、前記予測器出力、前記ガードビット生成器出力および前記遅延器出力を入力とし、前記ガードビット生成器出力と前記遅延器出力から前記ガードビットの丸めを行なう丸め器を備えたことを特徴としている。
また、請求項４に記載の発明は、請求項３記載のディジタルフィルタにおいて、前記ガードビット生成器、前記遅延器、前記予測器、前記加算器および前記丸め器をマイクロプロセッサで構成したことを特徴としている。
【発明の効果】
【０００５】
請求項１に記載の発明によると、Ａ／Ｄ変換データのノイズ成分に起因する下位ビットのふらつきを除去することができ、Ａ／Ｄ変換器の分解能を有効に利用することができる。さらに、Ａ／Ｄ変換器のビット数を減らしても、従来と同等の精度を得ることができる。
請求項２に記載の発明によると、マイクロプロセッサのプログラムになっているので、付加回路無しにシステムで利用をすることができる。また、処理自体も複雑な演算は行なっていないため、組み込み用のマイクロプロセッサでの処理に適している。
請求項３に記載の発明によると、Ａ／Ｄ変換データのノイズ成分に起因する下位ビットのふらつきを除去することができ、Ａ／Ｄ変換器の分解能を有効に利用することができる。同時に、Ａ／Ｄ変換の下位ビットの変化を抑えることができるので、結果をさらに高精度にすることができる。さらに、Ａ／Ｄ変換器のビット数を減らしても、従来と同等の精度を得ることができる。
請求項４に記載の発明によると、マイクロプロセッサのプログラムになっているので、付加回路無しにシステムで利用をすることができる。また、処理自体も複雑な演算は行なっていないため、組み込み用のマイクロプロセッサでの処理に適している。
以上の様に、請求項１乃至４に記載の発明は、将来データを予測してフィルタ処理に利用しているので、ヒステリシスを意識することなくディジタルデータの下位ビットの変化を抑制でき、簡単な構成で精度の高いデータを得ることができる。その為、特に磁気式エンコーダのＡ／Ｄ変換器の後段での利用に最適なディジタルフィルタを構成することができる。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の具体的実施例について、図に基づいて説明する。
【実施例１】
【０００７】
図１は、本発明の第１実施例を示すディジタルフィルタのブロック図である。
図１において、２３は予測器、Ｓ３は予測器２３の出力すなわち、予測データである。
ここで、図７および８中の構成要素と同一の構成要素には同一の符号を付し、説明を省略するものとする。
入力データ、すなわちＡ／Ｄ変換データＳ１を、システムＣＬＫに同期して遅延器２１１、２１２、‥２１ｍにより遅延させ、遅延器出力、すなわち遅延データＳ１１、Ｓ１２、‥Ｓ１ｍを生成する。ここで、遅延器２１１、２１２、‥２１ｍとしてフリップフロップ（以下ＦＦと称す）やＦＩＦＯメモリ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ  ｍｅｍｏｒｙ）等を利用することができる。予測器２３は、Ａ／Ｄ変換データＳ１と遅延データＳ１１を用いて次のサンプリング点の予測データＳ３を生成する。この予測データＳ３は直線近似や、精度を高めたい場合には曲線近似を利用する。
加算器２２はＡ／Ｄ変換データＳ１と遅延データＳ１１、Ｓ１２、‥Ｓ１ｍ、予測データＳ３を加算し、フィルタデータＳ２を生成する。
本発明が特許文献１と異なる部分は、予測器２３を備えた部分と、加算器２２の入力に予測器の出力Ｓ３を追加した部分である。
【０００８】
図２は、本発明の第１実施例を示すディジタルフィルタの詳細ブロック図である。
図２において、２３１は減算器、２３２は加算器である。ここで、図１と同じ説明符号のものは同じ構成要素を示しているので説明は省略する。
以下、図２を用いて、遅延器を２つ用いた場合を例にして、動作ついて詳細説明する。
遅延器としてＦＦによる遅延器２１１、２１２を用い、システムＣＬＫに同期して入力を遅延し、遅延データＳ１１、Ｓ１２を生成する。予測器２３はＡ／Ｄ変換データＳ１と遅延データＳ１１を利用して、予測データＳ３を生成する。加算器２２はＡ／Ｄ変換データＳ１と遅延データＳ１１、Ｓ１２、予測データＳ３を加算し、フィルタデータＳ２を生成する。その予測器２３の動作は、減算器２３１でＡ／Ｄ変換データＳ１と遅延データＳ１１の差を取り、さらに、その差とＡ／Ｄ変換データＳ１が加算器２３２で加算されて予測データＳ３となる。この実施例では直線近似で次のサンプリング点のデータを得ている。
このように次のサンプリング点のデータを予測してフィルタ演算のデータの一つにすることができるため、Ａ／Ｄ変換データＳ１のノイズ成分に起因する下位ビットのふらつきを除去することができ、Ａ／Ｄ変換器１の分解能を有効に利用することができるようになり、Ａ／Ｄ変換器１のビット数を減らしても、従来と同等の精度を得ることができる。
【実施例２】
【０００９】
図３は本発明の第２実施例のディジタルフィルタの処理内容を示すフローチャートである。本発明が特許文献１図５記載のフローチャート（不図示）と異なる部分は、ステップＳＴ３の処理が追加された部分である。ステップＳＴ３は本発明の第１実施例における予測器２３に相当する。
【００１０】
図３のフローチャートに示される処理は、システムＣＬＫに同期した割込み処理で行なわれる。先ず、マイクロプロセッサのブート時に、変数ｎと、アドレス０からｍまでのメモリを０に初期化しておく必要がある。割込みが発生したら計算が開始される（ステップＳＴ１）。次に、Ａ／Ｄ変換器の生成した変換データを、新たなデータとしてアドレスｎのメモリに書き込みを行なう（ステップＳＴ２）。次に、次の割込み時に得られるデータを予測して作成する処理を行なう（ステップＳＴ３）。すなわち、アドレスｎとアドレスｎ−１のメモリのデータを利用して、アドレスｎ＋１のデータを予測演算し、予測データとしてアドレスｎ＋１に書き込む。例えば、予測演算として本発明の第１実施例のような１次近似を利用することができる。次に、アドレス０からｍまで、メモリの内容をすべて加算する（ステップＳＴ４）。次に、加算されたデータを、フィルタ処理したデータとして出力する（ステップＳＴ５）。次に、次の割り込みで書き込むアドレスを設定するために、ｎに「１」を加える（ステップＳＴ６）。次に、アドレスｎがメモリ領域外にアクセスしていないかの判定を行なう（ステップＳＴ７）。ここで、ｎとｍを比較して、ｎ＞ｍのときメモリ領域外へのアクセスになるため、ｎを０にリセットする（ステップＳＴ８）。以上で計算が終了となる（ステップＳＴ９）。
【００１１】
このように、予測機能を含むディジタルフィルタの処理をマイクロプロセッサのプログラムとすることができるので、付加回路無しにシステムで利用をすることができる。また、処理自体も複雑な演算は行なっていないため、組み込み用のマイクロプロセッサでの処理に適している。
【実施例３】
【００１２】
図４は、本発明の第３実施例のディジタルフィルタを示すブロック図である。
図４において、２４はガードビット生成器、２５は丸め器、Ｓ４はガードビット付き変換データ、Ｓ４１‥Ｓ４ｍはガードビット付き遅延データ、Ｓ５は加算データである。ここで、図２中の構成要素と同一の構成要素には同一の符号を付し、説明を省略するものとする。
以下、図４を用いて、本発明の第３実施例のディジタルフィルタの動作を説明する。
Ａ／Ｄ変換データＳ１を入力とするガードビット生成器２４は、Ａ／Ｄ変換器１の下位ビットの変化を抑える目的で、Ａ／Ｄ変換データの下位にｌ（エル）（ｌ≧１）ビットのガードビットを付加し、ガードビット付き変換データＳ４を生成する。遅延器２１１‥２１ｍはシステムＣＬＫで入力データを遅延させ、ガードビット付き遅延データＳ４１‥Ｓ４ｍを生成する。ここで、遅延器２１１‥２１ｍとして、ＦＦやＦＩＦＯメモリ等を利用することができる。予測器２３は、ガードビット付き変換データＳ４とガードビット付き遅延データＳ４１‥Ｓ４ｍを用いて、次のサンプリング点の予測データＳ３を生成する。この予測データＳ３は直線近似や、精度を高めたい場合には曲線近似を利用する。加算器２２はガードビット付き変換データＳ４とガードビット付き遅延データＳ４１‥Ｓ４ｍ、予測データＳ３を加算し、加算データＳ５を生成する。丸め器２５は、加算データＳ５を入力とし、ガードビット付き変換データＳ４とガードビット付き遅延データＳ４１‥Ｓ４ｍを用いて、ガードビットの丸めを行ない、フィルタデータＳ２を生成する。
本発明が特許文献１と異なる部分は、丸め器２５と予測器２３を備えた部分と、加算器２２の入力に予測器２３の出力を追加した部分である。
【００１３】
図５は、本発明の第３実施例を示すディジタルフィルタの詳細ブロック図である。
図５において、２５１は加算器、２５２はコンパレータ、２５３はセレクタ、２５４は右１ビットシフタである。ここで、図４と同じ説明符号のものは同じ構成要素を示しているので説明は省略する。
以下、図５に基づいて、遅延器を２つ用いた場合を例にして動作を詳細に説明する。
Ａ／Ｄ変換データＳ１を入力とするガードビット生成器２４は、Ａ／Ｄ変換器１の下位ビットの変化を抑える目的で、Ａ／Ｄ変換データＳ１の下位に１ビットのガードビットを付加し、ガードビット付き変換データＳ４を生成する。遅延器としてＦＦによる遅延器２１１、２１２を用い、システムＣＬＫに同期して入力を遅延し、ガードビット付き遅延データＳ４１、Ｓ４２を生成する。予測器２３はガードビット付き変換データＳ４とガードビット付き遅延データＳ４１を利用して、ガードビットを１ビット持つ予測データＳ３を生成する。加算器２２はＡ／Ｄ変換データＳ１と遅延データＳ４１、Ｓ４２と予測データＳ３を加算し、加算データＳ５を生成する。丸め器２５は、加算データＳ５を入力とし、ガードビット付き変換データＳ４とガードビット付き遅延データＳ４１を用いて、ガードビットの丸めを行ない、フィルタデータＳ２を生成する。その予測器２３の動作は、減算器２３１でガードビット付き変換データＳ４とガードビット付き遅延データＳ４１の差を取り、さらに、その差とガードビット付き変換データＳ４が加算器２３２で加算され予測データＳ３となる。本発明の第１実施例と同じく、本実施例でも直線近似で次のサンプリング点のデータを得ている。また、丸め器２５の動作は、コンパレータ２５２でガードビット付き変換データＳ４とガードビット付き遅延データＳ４１の大小比較を行ない、ガードビット付き変換データＳ４≧ガードビット付き遅延データＳ４１の場合は「１」を、ガードビット付き変換データＳ４＜ガードビット付き遅延データＳ４１の場合は「０」を生成する。セレクタ２５３はコンパレータ２５２が「１」の時は加算データを、「０」のときは加算器２５１で加算データに「１」を加えたものを選択する。セレクタ２５３の出力は右１ビットシフタ２５４で１ビット右シフトされてガードビットが除かれ、フィルタデータＳ２となる。ガードビット付き変換データＳ４とガードビット付き遅延データＳ４１の大小比較は、直線の傾きを調べており、傾きが正の時にガードビットの切り捨て、負の時にはガードビットの切り上げを行なう。このように、次のサンプリング点のデータを予測してフィルタ演算のデータの一つにすることができるため、Ａ／Ｄ変換データＳ１のノイズ成分に起因する下位ビットのふらつきを除去することができ、Ａ／Ｄ変換器１の分解能を有効に利用することができ、Ａ／Ｄ変換器１のビット数を減らしても、従来と同等の精度を得ることができる。さらに、入力信号がＡ／Ｄ変換器の値の変わり目に位置することによって生じる下位ビットの変化を抑えることができるので、結果をさらに高精度にすることができる。
【実施例４】
【００１４】
図６は本発明の第４実施例のディジタルフィルタの処理内容を示すフローチャートである。本発明が特許文献１図５記載のフローチャート（不図示）と異なる部分は、ステップＳＴ１２、１３、１５、１６、１７の処理が追加された点である。ステップＳＴ１２が本発明の第３実施例のガードビット生成器２４に、ステップＳＴ１３が予測器２３に、ステップＳＴ１５、１６、１７が丸め器２５にそれぞれ相当する。
【００１５】
図６のフローチャートに示される処理は、システムＣＬＫに同期した割込み処理で行なわれる。先ず、マイクロプロセッサのブート時に、変数ｎと、アドレス０からｍまでのメモリを０に初期化しておく必要がある。割込みが発生したら計算が開始される（ステップＳＴ１１）。次に、Ａ／Ｄ変換器の生成した変換データを、新たなデータとしてアドレスｎのメモリに書き込みを行なう（ステップＳＴ１２）。尚、このとき、ガードビットを付加するために左に１ビットシフトする。次に、次の割込み時に得られるデータを予測して作成する処理を行なう（ステップＳＴ１３）。すなわち、アドレスｎとアドレスｎ−１のメモリのデータを利用して、アドレスｎ＋１のデータを予測演算し、予測データとしてアドレスｎ＋１に書き込む。例えば、予測演算として実施例１のような１次近似を利用することができる。次に、アドレス０からｍまで、メモリの内容をすべて加算する（ステップＳＴ１４）。次に、ステップＳＴ１２で付加したガードビットの丸めを行な行なうために、アドレスｎとｎ−１のメモリの内容を比較する（ステップＳＴ１５）。これは傾きを調べることに相当し、傾きが負の時、つまりアドレスｎの内容がアドレスｎ−１の内容より小さい時は、ステップＳＴ１４で加算したデータに「１」を加える（ステップＳＴ１６）。もともとガードビットは余分なものであるので削除するために、ステップＳＴ１４もしくはステップＳＴ１６のデータを右に１ビットシフトする（ステップＳＴ１７）。次に、ステップＳＴ１７で得られたデータを、フィルタ処理したデータとして出力する（ステップＳＴ１８）。次に、次の割り込みで書き込むアドレスを設定するために、ｎに「１」を加える（ステップＳＴ１９）。次に、アドレスｎがメモリ領域外にアクセスしていないかの判定を行なう（ステップＳＴ２０）。次に、ｎとｍを比較して、ｎ＞ｍのときメモリ領域外へのアクセスになるため、ｎを０にリセットする（ステップＳＴ２１）。以上で計算が終了となる（ステップＳＴ２２）。
【００１６】
以上述べたように、予測機能を含むディジタルフィルタの処理をマイクロプロセッサのプログラムとすることができるので、付加回路無しにシステムで利用をすることができる。また、処理自体も複雑な演算は行なっていないため、組み込み用のマイクロプロセッサでの処理に適している。
【産業上の利用可能性】
【００１７】
本発明は、予測器での予測演算を曲線近似することや、ガードビットの桁数を増やすことによってＡ／Ｄ変換の精度を向上することができるので、幅広くＡ／Ｄ変換を利用したディジタル信号処理一般に適用できる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施例を示すディジタルフィルタのブロック図
【図２】本発明の第１実施例を示すディジタルフィルタの詳細ブロック図
【図３】本発明の第２実施例のディジタルフィルタの処理内容を示すフローチャート
【図４】本発明の第３実施例のディジタルフィルタを示すブロック図
【図５】本発明の第３実施例を示すディジタルフィルタの詳細ブロック図
【図６】本発明の第４実施例のディジタルフィルタの処理内容を示すフローチャート
【図７】従来例のディジタルフィルタを示す全体構成図
【図８】従来例のディジタルフィルタを示すブロック図
【符号の説明】
【００１９】
１  Ａ／Ｄ変換器
２  ディジタルフィルタ
３  ヒステリシス
４  内挿回路
２２、２３２、２５１  加算器
２３  予測器
２４  ガードビット生成器
２５  丸め器
２１１、２１２、２１ｍ  遅延器
２３１  減算器
２５２  コンパレータ
２５３  セレクタ
２５４  右１ビットシフタ
Ｓ１  Ａ／Ｄ変換データ
Ｓ２  フィルタデータ
Ｓ３  予測データ
Ｓ４  ガードビット付き変換データ
Ｓ５  加算データ
Ｓ１１、Ｓ１２、Ｓ１ｍ  遅延データ
Ｓ４１、Ｓ４ｍ  ガードビット付き遅延データ
【図１】
2005236589.tif 000003
【図２】
2005236589.tif 000004
【図３】
2005236589.tif 000005
【図４】
2005236589.tif 000006
【図５】
2005236589.tif 000007
【図６】
2005236589.tif 000008
【図７】
2005236589.tif 000009
【図８】
2005236589.tif 000010