(57)【要約】【課題】波形信号の振幅を高精度に検出することができる振幅検出装置を提供する。【解決手段】振幅検出装置は、運動体の角度／位置を示す波形信号を周期的にサンプリングし、これをデジタル化して得られたデジタル信号に基づき波形信号の振幅を検出する装置であって、デジタル信号とそれ以前のデジタル信号とを用いて該デジタル信号の最大値、最小値を検出する最大値・最小値検出部と、最大値を安定化させる第１低域通過フィルタと、最小値を安定化させる第２低域通過フィルタと、波形信号の周期を検出する周期検出部と、波形信号の周期とサンプリング周期との演算で表された補正係数を生成する補正係数生成部と、デジタル信号の最大値に補正係数を乗算した補正最大値を生成する第１の乗算部と、デジタル信号の最小値に補正係数を乗算した補正最小値を生成する第２の乗算部と、補正最大値または補正最小値の絶対値を波形信号の振幅として出力する出力部とを備えている。【選択図】図１
2008185486.tif 000002
【特許請求の範囲】
【請求項１】
回転運動または往復運動を行う運動体の角度または位置を示す波形信号を周期的にサンプリングし、該サンプリングで得られたデジタル信号に基づいて前記波形信号の振幅を検出する装置であって、
或る時点のデジタル信号とそれ以前のサンプリングで得られたデジタル信号とを用いて該デジタル信号の最大値および最小値を検出する最大値・最小値検出部と、
カットオフ周波数が前記波形信号の周波数よりも低く、前記デジタル信号の最大値を安定化させる第１の低域通過フィルタと、
カットオフ周波数が前記波形信号の周波数よりも低く、前記デジタル信号の最小値を安定化させる第２の低域通過フィルタと、
複数の前記デジタル信号から前記波形信号の周期を検出する周期検出部と、
前記波形信号の周期と前記サンプリングの周期との演算で表された補正係数の数値を生成する補正係数生成部と、
前記デジタル信号の最大値に前記補正係数を乗算した補正最大値を生成する第１の乗算部と、
前記デジタル信号の最小値に前記補正係数を乗算した補正最小値を生成する第２の乗算部と、
前記補正最大値または前記補正最小値の絶対値の少なくともいずれか一方を、前記波形信号の振幅として出力する出力部とを備えた振幅検出装置。
【請求項２】
前記サンプリングの所定の周期における、前記波形信号の周期と前記補正係数との対応関係を格納した記憶部をさらに備え、
前記補正係数生成部は、前記周期検出部で検出された前記波形信号の周期に対応する前記補正係数を前記記憶部から読み出し、該補正係数を前記第１および前記第２の乗算部へ送ることを特徴とする請求項１に記載の振幅検出装置。
【請求項３】
前記補正係数生成部は、式３を演算し、
【数１】
2008185486.tif 000007
（Ａは前記補正係数、ｔｓは前記サンプリングの周期、Ｔは前記波形信号の周期である。）
前記補正係数Ａを前記第１および前記第２の乗算部へ送ることを特徴とする請求項１に記載の振幅検出装置。
【請求項４】
前記周期検出部は、前記デジタル信号のうちｓｉｎ信号またはｃｏｓ信号のいずれか一方の符号が一定である期間を測定し、その期間を用いて前記波形信号の周期を算出することを特徴とする請求項１から請求項３のいずれかに記載の振幅検出装置。
【請求項５】
前記周期検出部と前記補正係数生成部との間に設けられ、カットオフ周波数が前記波形信号の周波数よりも低い第３の低域通過フィルタをさらに備えたことを特徴とする請求項１から請求項４のいずれかに記載の振幅検出装置。
【請求項６】
当該振幅検出装置は、ロータリエンコーダまたはリニアスケールに配備されていることを特徴とする請求項１に記載の振幅検出装置。
【請求項７】
前記補正係数生成部は、ロジック回路で構成されていることを特徴とする請求項３に記載の振幅検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振幅検出装置に関し、例えば、機械の角度検出器あるいは位置検出器に組み込まれる振幅検出装置に関する。
【背景技術】
【０００２】
一般に、機械の高精度な運動制御のために、ロータリエンコーダが回転運動を行う運動体（例えば、サーボモータ）の位置検出器として用いられ、あるいは、リニアスケールが直線往復運動を行う運動体（例えば、ロボットのアーム）の位置検出器として用いられる。位置検出器の出力信号は、周期的にアナログ−デジタル変換（サンプリング）された後、位置を示す値に変換されて用いられる。運動体の位置を高精度に検出するためには、運動体の正弦波（ｓｉｎ波およびｃｏｓ波）の振幅を高精度に検出する必要がある。従来、この振幅は、サンプリングにより得られたデジタル信号（ｓｉｎ信号およびｃｏｓ信号）の最大値および最小値から得ていた。  
【特許文献１】特開平６−１６７３５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、サンプリングにより離散的に得られたデジタル信号の中から最大値および最小値を選択した場合、その最大値および最小値は、それぞれ実際のアナログ正弦波の最大値および最小値と異なることがある。通常、サンプリング周期は正弦波の周期よりも小さい。しかし、正弦波の周期が低下することによって正弦波の周期とサンプリング周期との差が小さくなると、デジタル信号により得られた最大値と実際の正弦波の最大値との誤差、並びに、デジタル信号により得られた最小値と実際の正弦波の最小値との誤差が大きくなる可能性が高い。
【０００４】
そこで、本発明の目的は、運動体に基づくアナログの波形信号の周期とその波形信号のサンプリング周期との差が小さくても、波形信号の振幅を高精度に検出することができる振幅検出装置を提供することである。
【課題を解決するための手段】
【０００５】
本発明に係る実施形態に従った振幅検出装置は、回転運動または往復運動を行う運動体の角度または位置を示す波形信号を周期的にサンプリングし、該サンプリングで得られたデジタル信号に基づいて前記波形信号の振幅を検出する装置であって、
或る時点のデジタル信号とそれ以前のサンプリングで得られたデジタル信号とを用いて該デジタル信号の最大値および最小値を検出する最大値・最小値検出部と、カットオフ周波数が前記波形信号の周波数よりも低く、前記デジタル信号の最大値を安定化させる第１の低域通過フィルタと、カットオフ周波数が前記波形信号の周波数よりも低く、前記デジタル信号の最小値を安定化させる第２の低域通過フィルタと、複数の前記デジタル信号から前記波形信号の周期を検出する周期検出部と、前記波形信号の周期と前記サンプリングの周期との演算で表された補正係数の数値を生成する補正係数生成部と、前記デジタル信号の最大値に前記補正係数を乗算した補正最大値を生成する第１の乗算部と、前記デジタル信号の最小値に前記補正係数を乗算した補正最小値を生成する第２の乗算部と、前記補正最大値または前記補正最小値の絶対値の少なくともいずれか一方を、前記波形信号の振幅として出力する出力部とを備えている。
【０００６】
当該振幅検出装置は、前記サンプリングの所定の周期における、前記波形信号の周期と前記補正係数との対応関係を格納した記憶部をさらに備え、
前記補正係数生成部は、前記周期検出部で検出された前記波形信号の周期に対応する前記補正係数を前記記憶部から読み出し、該補正係数を前記第１および前記第２の乗算部へ送ってもよい。
【０００７】
前記補正係数生成部は、式３を演算し、
【数１】
2008185486.tif 000003
（Ａは前記補正係数、ｔｓは前記サンプリングの周期、Ｔは前記波形信号の周期である。）
前記補正係数Ａを前記第１および前記第２の乗算部へ送ってもよい。
【０００８】
前記周期検出部は、前記デジタル信号のうちｓｉｎ信号またはｃｏｓ信号のいずれか一方の符号が一定である期間を測定し、その期間を用いて前記波形信号の周期を算出してもよい。
【０００９】
当該振幅検出装置は、前記周期検出部と前記補正係数生成部との間に設けられ、カットオフ周波数が前記波形信号の周波数よりも低い第３の低域通過フィルタをさらに備えていてもよい。
【００１０】
当該振幅検出装置は、ロータリエンコーダまたはリニアスケールに配備されていてもよい。
【００１１】
前記補正係数生成部は、ロジック回路で構成されていてもよい。
【発明の効果】
【００１２】
本発明による振幅検出装置は、運動体に基づくアナログの波形信号の周期とその波形信号のサンプリング周期との差が小さくても、波形信号の振幅を高精度に検出することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
【００１４】
図１は、本発明に係る実施形態に従った位置検出装置１００のブロック図である。位置検出装置１００は、ロータリエンコーダまたはリニアスケール１０と、Ａ／Ｄコンバータ２０と、振幅検出装置３０とを備えている。振幅検出装置３０は、汎用ＣＰＵまたはロジックＬＳＩである。振幅検出装置３０は、例えば、ＦＰＧＡ（Field Programmable Gate Array）またはＡＳＩＣ（Application Specific Integrated Circuit）のようなカスタムＬＳＩでよい。振幅検出装置３０をＬＳＩ上でロジック回路として実現した場合、同じ処理を繰り返す反復処理を短時間で行うことができる。一方で、振幅検出装置３０を、汎用ＣＰＵおよびソフトウェアで実現してもよい。演算部５０を、汎用ＣＰＵおよびソフトウェアで実現した場合、プログラムの変更で様々な処理を行うことができる。
【００１５】
位置検出装置１００は、例えば、回転運動または往復運動を行う運動体を備えたサーボモータに配設されてもよい。運動体は、例えば、工作機械に配備されたサーボモータのロータまたは往復運動するアーム等である。位置検出装置１００は、例えば、ロータリエンコーダまたはリニアスケール１０を用いた位置決め装置に配備されてもよい。
【００１６】
ロータリエンコーダまたはリニアスケール１０は、回転運動または往復運動を行う運動体の角度または位置を示す波形信号（ｃｏｓ波，ｓｉｎ波）を出力する。このｃｏｓ波，ｓｉｎ波は、アナログ信号であり、直交位相の正弦波の値である。Ａ／Ｄコンバータ２０は、ロータリエンコーダまたはリニアスケール１０からのｃｏｓ波およびｓｉｎ波を周期的にサンプリングし、この信号をデジタル信号へ変換する。これにより、デジタル化されたｃｏｓ信号およびｓｉｎ信号が生成される。
【００１７】
振幅検出装置３０は、デジタル信号（ｃｏｓ信号、ｓｉｎ信号）を受け取り、波形信号の振幅を検出する。これを達成するために、振幅検出装置３０は、最大値・最小値検出部３２と、低域通過フィルタ３４，３６と、周期検出部３５と、補正係数発生部３７と、第１の乗算部としての乗算器３８と、第２の乗算部としての乗算器３９とを備えている。
【００１８】
最大値・最小値検出部３２は、或る時点のデジタル信号とそれ以前のサンプリングで得られたデジタル信号とを用いてデジタル信号の最大値および最小値を検出する。デジタル信号の最大値および最小値は、運動体が１回転または１往復するごとに更新される。サンプリングは或る一定期間を置いて周期的に実行されるため、デジタル信号であるｓｉｎ信号の最大値ｙｍａｘは、ｓｉｎ波のほぼ頂点を示すが、必ずしも正確にその頂点の値を示すものではない。よって、最大値ｙｍａｘは、運動体の回転または往復ごとに幾分変化する。そこで、最大値ｙｍａｘを低域通過フィルタ３４に通すことによって、最大値ｙｍａｘを安定化させる。同様に、デジタル信号であるｃｏｓ信号の最大値ｘｍａｘも、低域通過フィルタ３４を通過させることによって安定化させる。さらに、ｓｉｎ信号およびｃｏｓ信号のそれぞれの最小値ｙｍｉｎ、ｘｍｉｎは、低域通過フィルタ３６を通過させることによって安定化させる。低域通過フィルタ３４および３６は、カットオフ周波数が波形信号の周波数よりも低い。従って、低域通過フィルタ３４および３６は、デジタル信号の最大値および最小値を安定化させることができる。しかし、低域通過フィルタ３４および３６を通過した最大値ｙｍａｘ、ｘｍａｘおよび最小値ｙｍｉｎ、ｘｍｉｎは、必ずしも波形信号の最大値および最小値を示すとは限らない。この問題点は、図２および図３を参照してより詳細に説明する。
【００１９】
図２および図３は、デジタル信号であるｓｉｎ信号の最大値ｙｍａｘとアナログ信号である波形信号（ｓｉｎ波）の実際の最大値Ｐとの誤差を示す概念図である。以下、ｓｉｎについてのみ説明するが、ｃｏｓについても同様の考察をすることができる。また、以下、最大値のみについて説明するが、最小値についても同様の考察をすることができる。
【００２０】
図２では、サンプリング周期ｔｓがアナログ波形信号の周期Ｔよりも非常に小さい。サンプリング周期ｔｓは、或る時点のサンプリングから次のサンプリングまでの期間であり、通常、システムを設計する時点で任意に決定される定数である。波形信号の周期Ｔは、波形振幅の１波長の周期であり、周波数をｆとすると、周期Ｔは１／ｆである。サンプリング周期ｔｓがアナログ波形信号の周期Ｔよりも非常に小さい場合、Ａ／Ｄ変換器２０は波形信号の１波を多数サンプリングすることができる。従って、デジタル信号の最大値ｙｍａｘは、実際の最大値Ｐにほぼ等しくなる。尚、サンプリング周期ｔｓと波形信号の周期Ｔとは非同期であるので、最大値ｙｍａｘが実際の最大値Ｐに一致することは稀である。
【００２１】
これに対し、図３では、アナログ波形信号の周期Ｔがサンプリング周期ｔｓに比較的近い。このような場合、波形信号の１波長に対するサンプリング数が少なくなる。従って、デジタル信号の最大値ｙｍａｘと実際の最大値Ｐとの誤差が大きくなる。
【００２２】
図４は、低域通過フィルタ３４の通過後のデジタル信号の最大値ｙｍａｘと実際の最大値Ｐとを示す概念図である。上述の通りサンプリング周期ｔｓと波形信号の周期Ｔとは非同期であるので、Ａ／Ｄ変換器２０が多数の波形信号をサンプリングすることによって、Ａ／Ｄ変換器２０は１波長の全体を満遍なくサンプリングすることになる。即ち、１波長の或る部分（或るｓｉｎ値で示される部分）がサンプリングされる確率は、他の部分（他のｓｉｎ値で示される部分）がサンプリングされる確率と等しい。
【００２３】
実際の最大値Ｐを中心としたサンプリング周期ｔｓの期間（Ｐの時点を基準として±ｔｓ／２の期間Ｔｙｍａｘ）においても、サンプリングの確率は等しい。また、低域通過フィルタ３４に入力される最大値ｙｍａｘは、実際の最大値Ｐを中心としたサンプリング周期ｔｓの期間に必ず存在する。従って、低域通過フィルタ３４に入力される最大値ｙｍａｘは、期間Ｔｙｍａｘのいずれの時点においても等しい確率で獲得される。この事実を利用することによって、低域通過フィルタ３４を通過した後の最大値ｙｍａｘの値を推定することができる。即ち、多数の波形信号について期間Ｔｙｍａｘの間にサンプリングされた最大値ｙｍａｘの平均値が低域通過フィルタ３４を通過した後の最大値ｙｍａｘの値にほぼ等しいと推定できる。この推定は、低域通過フィルタ３４を通過した後の最大値ｙｍａｘが安定しており、急激な変動が無いことからも正しいと言うことができる。勿論、サンプリングされた最大値ｙｍａｘの個数は、多いほどよい。最大値ｙｍａｘのサンプリング数が充分に多ければ、期間Ｔｙｍａｘの間にサンプリングされた最大値ｙｍａｘの平均値は、期間Ｔｙｍａｘにおけるアナログ波形信号のｓｉｎの平均値と等しくなる。
【００２４】
従って、この場合、次の式１が成立する。
【数２】
2008185486.tif 000004
尚、Ｖｌｐは、期間Ｔｙｍａｘの間にサンプリングされた最大値ｙｍａｘの平均値（低域通過フィルタ３４の出力最大値ｙｍａｘとほぼ等しい）である。Ｐは波形振幅の実際の最大値である。Ｔは正弦波の周期（秒）である。ｔｓはサンプリング周期（秒）である。これを実際の最大値Ｐについて解くと、式２のように表現することができる。
【数３】
2008185486.tif 000005
平均値Ｖｌｐに対する補正係数をＡとすると、つまり、式３のように置き換えると、式２は、式４のように表現され得る。
【数４】
2008185486.tif 000006
式４に示すように、平均値Ｖｌｐに補正係数Ａを乗算すれば、実際の最大値Ｐが得られる。
【００２５】
補正係数Ａは、サンプリング周期ｔｓおよび波形信号（ｓｉｎ波）の周期Ｔによって表されている。サンプリング周期ｔｓは、予め設定された値であるので、実際には、波形信号（ｓｉｎ波）の周期Ｔが判明すれば、補正係数Ａを求めることができる。そこで、図１に示すように、周期検出部３５が波形信号の周期Ｔを検出し、補正係数生成部３７が補正係数Ａを生成する。
【００２６】
周期検出部３５は、複数のデジタル信号（ｃｏｓ信号、ｓｉｎ信号）を受け取り、ｃｏｓ信号および／またはｓｉｎ信号の周期を検出する。より詳細には周期検出部３５は、複数のサンプリングで得られたデジタル信号の符号の変化によってその周期を検出することができる。例えば、ｓｉｎ信号が正値を維持している期間、あるいは、負値を維持している期間は、半周期に相当する。従って、周期検出部３５は、ｓｉｎ信号の値が負から正に変化した時点から正から負に変化する時点までの期間を測定、あるいは、正から負に変化した時点から負から正に変化する時点までの期間を測定すればよい。即ち、周期検出部３５は、ｓｉｎ信号の符号が一定である期間を測定すればよい。この測定は、サンプリング周期ｔｓとサンプリング数との乗算を実行することで簡単に得ることができる。その期間を２倍にすれば、周期Ｔを得ることができる。周期検出部３５は、ｃｏｓ信号を用いてもｓｉｎ信号と同様に周期Ｔを検出することができる。
【００２７】
補正係数生成部３７は、周期Ｔを周期検出部３５から受け取る。補正係数生成部３７は、波形信号の周期Ｔとサンプリングの周期ｔｓとの演算で表された補正係数Ａの数値を生成する。補正係数Ａを生成するために、補正係数生成部３７は、周期Ｔを用いて、式３を演算してもよい。補正係数生成部３７が汎用ＣＰＵである場合、式３の演算は、そのＣＰＵおよびプログラムによって演算される。あるいは、補正係数生成部３７がＡＳＩＣやＦＰＧＡ等のロジック回路である場合、式３の演算は、ロジック回路で実現されている。このロジック回路は、式３自体をロジック回路で表現したものでもよいが、回路規模が大きくなる可能性が高い。
【００２８】
そこで、振幅検出装置３０は、図５に示すように、波形信号の周期Ｔと補正係数Ａとの対応関係を格納した記憶部４０をさらに備えてもよい。サンプリング周期ｔｓは予め設定されているため、補正係数Ａおよび周期Ｔは、一対一の対応関係を有する。図６は、サンプリング周期ｔｓ＝１μｓにおける、記憶部４０に格納される周期Ｔと補正係数Ａとの対応関係を示すグラフである。記憶部４０は、実質的に図６に示すグラフを格納している。実際には、記憶部４０は、離散的な周期Ｔの値に対応する補正係数Ａの値を格納している。記憶部４０は、例えば、ＲＯＭ（Read Only Memory）である。尚、周期検出部３５から得られた実際の周期Ｔと記憶部４０に格納される周期Ｔとを区別するために、記憶部４０に格納される周期ＴをＴｍと示す。
【００２９】
補正係数生成部３７は、実際の周期Ｔを周期検出部３５から受け取る（Ｓ１０）。次に、補正係数生成部３７は、周期検出部３５から受け取った実際の周期Ｔと記憶部４０から読み出された周期Ｔｍとを比較し、実際の周期Ｔに最も近いＴｍを選択する。さらに、補正係数生成部３７は、選択された周期Ｔｍに対応する補正係数Ａを出力する。このような方式によれば、補正係数生成部３７は、実際の周期Ｔ、比較途中の周期Ｔｍ、並びに、比較途中の周期Ｔｍに対応する補正係数Ａを格納するレジスタのほか、実際の周期Ｔと周期Ｔｍとを比較する比較器（図示せず）を備えればよい。比較器は、減算器であってもよい。このように構成された補正係数生成部３７は、式３自体をロジック回路で実現したＬＳＩ、あるいは、式３自体を表現したプログラムを実行する汎用ＣＰＵよりも小規模の回路で実現することができる。さらに、補正係数生成部３７は、非常に簡単な比較演算を繰り返し実行するだけである。従って、補正係数生成部３７は、補正係数Ａの生成速度が非常に速い。
【００３０】
例えば、記憶部４０は、周期Ｔｍi（i＝１，２，３，・・・ｎ）のそれぞれに対応するＡｉを格納しているとする。iが多くなるに従い、周期Ｔｍiの値も大きくなるものとする。即ち、尚、Ｔｍ１＜Ｔｍ２＜Ｔｍ３・・・＜Ｔｍｎである。
【００３１】
当初、補正係数発生部３７は、或るＴｍｋを選択する（Ｓ２０）。例えば、補正係数発生部３７は、周期Ｔｍｋとして、周期Ｔｍ（ｎ／２）（ｎが奇数の場合は、（ｎ−１）／２あるいは（ｎ＋１）／２でよい）を選択する。
【００３２】
比較器がＴとＴｍｋとを比較する（Ｓ３０）。その結果、ＴがＴｍｋより大きい場合（Ｔ−Ｔｍｋが正である場合）には、補正係数発生部３７は、ｋの値を１だけインクリメントする（Ｓ４０）。即ち、補正係数発生部３７は、記憶部４０から前回のＴｍｋよりも大きなＴｍｋを読み出す。さらに、比較器はインクリメントされたＴｍｋとＴとを比較する。その結果、Ｔが依然としてＴｍｋより大きい場合（Ｔ−Ｔｍｋが依然として正である場合）には、補正係数発生部３７は、ｋの値をさらにインクリメントする。補正係数発生部３７は、これを繰り返して、ＴｍｋがＴよりも大きくなった時点（Ｔ−Ｔｍｋが負になった時点）で、Ｔｍに対応する補正係数Ａを記憶部４０から読み出す（Ｓ５０）。そして、補正係数発生部３７は、この補正係数Ａを出力する（Ｓ６０）。
【００３３】
逆に、当初、ＴがＴｍｋより小さい場合（Ｔ−Ｔｍｋが負である場合）には、補正係数発生部３７は、ｋの値を１だけデクリメントする（Ｓ４１）。即ち、補正係数発生部３７は、記憶部４０から前回のＴｍｋよりも小さなＴｍｋを読み出す。比較器はこのデクリメントされたＴｍｋとＴとを比較する。Ｔが依然としてＴｍｋより小さい場合（Ｔ−Ｔｍｋが依然として負である場合）には、補正係数発生部３７は、ｋの値をさらにデクリメントする。補正係数発生部３７は、これを繰り返して、ＴｍｋがＴよりも小さくなった時点（Ｔ−Ｔｍｋが正になった時点）におけるＴｍｋに対応する補正係数Ａを乗算器３８、３９へ出力する。
【００３４】
尚、選択された周期Ｔｍｋが実際の周期Ｔに等しい場合には、補正係数発生部３７は、周期Ｔｍｋをそのまま乗算器３８、３９へ出力する。
【００３５】
補正係数発生部３７は、さらに、比例演算器を備えてもよい。Ｔｍｋの選択後、Ｔｍｋ−１の選択によってＴｍとＴとの大小関係が逆転したとする。この場合、周期Ｔは、Ｔｍｋ−１とＴｍｋとの間にある。よって、比例演算器は、座標（Ｔｍｋ、Ａｋ）と座標（Ｔｍｋ−１、Ａｋ−１）との間においてＴｍおよびＡが線形に変化すると推定し、正確なＴｍに対応する補正係数Ａを比例演算する。これにより、補正係数発生部３７は、より詳細な補正係数Ａを演算することができる。
【００３６】
乗算器３８は、低域通過フィルタ３４を通過した最大値ｙｍａｘ、ｘｍａｘに、補正係数生成部３７から出力された補正係数Ａを乗算する。乗算器３９は、低域通過フィルタ３６を通過した最大値ｙｍｉｎ、ｘｍｉｎに、補正係数生成部３７から出力された補正係数Ａを乗算する。これにより、補正最大値ｙｃｍａｘ、ｘｃｍａｘおよび補正最小値ｙｃｍｉｎ、ｘｃｍｉｎが生成される。
【００３７】
補正最大値ｙｃｍａｘ、ｘｃｍａｘおよび補正最小値ｙｃｍｉｎ、ｘｃｍｉｎは、補正前の最大値ｙｍａｘ、ｘｍａｘおよび最小値ｙｍｉｎ、ｘｍｉｎに比べアナログ波形信号の実際の最大値および最小値に近い。その結果、本実施形態は、補正最大値ｙｃｍａｘ、ｘｃｍａｘまたは補正最小値ｙｃｍｉｎ、ｘｃｍｉｎを用いて、アナログ波形信号の実際の振幅に近い振幅を得ることができる。補正最大値ｙｃｍａｘ、ｘｃｍａｘは、その値を波形信号の振幅として用いてよい。補正最小値ｙｃｍｉｎ、ｘｃｍｉｎを用いる場合には、その絶対値を波形信号の振幅として用いればよい。
【００３８】
アナログ波形信号の実際の周期Ｔとその波形信号のサンプリング周期ｔｓとの差が小さい場合には、最大値ｙｍａｘ、ｘｍａｘおよび最小値ｙｍｉｎ、ｘｍｉｎは、波形信号の実際の最大値および実際の最小値からそれぞれ大きく乖離する。しかし、補正係数Ａの値も１から乖離し、補正の度合いが大きくなる。これは、図６に示すグラフから分かる。これにより、実際の周期Ｔとサンプリング周期ｔｓとの差が小さくとも、本実施形態による振幅検出装置１００〜４００は、アナログ波形信号の実際の振幅に近い振幅を生成することができる。上記記載は、波形信号の周期Ｔは、サンプリング周期ｔｓよりも大きいことを前提としている。
【００３９】
ただし、本実施形態では、オフセットは無く、あるいは、オフセットは補正されているものとする。オフセットとは、基準座標とリサージュ図形とのずれを意味し、予め設定された基準電位（例えば、ゼロボルト）からデジタル信号の最大値と最小値との中間値までの電位差である。
【００４０】
図７および図８は、周期検出部３５と補正係数生成部３７との間に低域通過フィルタ３１をさらに備えている。図７および図８に示す振幅検出装置３０のその他の構成は、それぞれ図１および図５に示す振幅検出装置３０の構成と同様である。低域通過フィルタ３１のカットオフ周波数は波形信号の周波数よりも低い。正弦波の周期Ｔが急峻に変動することは望ましくない。従って、図７、図８に示すように、低域通過フィルタ３１を設けることによって周期Ｔを安定化させることができる。
【００４１】
図９は、補正係数生成部３７の上述の動作を示すフロー図である。このアルゴリズムをＡＳＩＣやＦＰＧＡで構成することによって、補正係数生成部３７は、ロジック回路で実現することができる。
【図面の簡単な説明】
【００４２】
【図１】本発明に係る実施形態に従った位置検出装置１００のブロック図。
【図２】デジタル信号であるｓｉｎ信号の最大値ｙｍａｘとアナログ信号である波形信号（ｓｉｎ波）の実際の最大値Ｐとの誤差を示す概念図。
【図３】デジタル信号であるｓｉｎ信号の最大値ｙｍａｘとアナログ信号である波形信号（ｓｉｎ波）の実際の最大値Ｐとの誤差を示す概念図。
【図４】低域通過フィルタ３４の通過後のデジタル信号の最大値ｙｍａｘと実際の最大値Ｐとを示す概念図。
【図５】記憶部４０を備えた振幅検出装置２００の構成を示すブロック図。
【図６】サンプリング周期ｔｓ＝１μｓにおける、記憶部４０に格納される周期Ｔと補正係数Ａとの対応関係を示すグラフ。
【図７】低域通過フィルタ３１を備えた振幅検出装置３００の構成を示すブロック図。
【図８】低域通過フィルタ３１を備えた振幅検出装置４００の構成を示すブロック図。
【図９】補正係数生成部３７の上述の動作を示すフロー図。
【符号の説明】
【００４３】
１００…位置検出装置
１０…ロータリエンコーダまたはリニアスケール
２０…Ａ／Ｄコンバータ
３０…振幅検出装置
３２…最大値・最小値検出部
３４，３６…低域通過フィルタ
３５…周期検出部
３７…補正係数発生部
３８、３９…乗算器
４０…記憶部
【図１】
2008185486.tif 000008
【図２】
2008185486.tif 000009
【図３】
2008185486.tif 000010
【図４】
2008185486.tif 000011
【図５】
2008185486.tif 000012
【図６】
2008185486.tif 000013
【図７】
2008185486.tif 000014
【図８】
2008185486.tif 000015
【図９】
2008185486.tif 000016