JP5371720B2 - 位置信号補正装置および位置信号補正方法 - Google Patents
位置信号補正装置および位置信号補正方法 Download PDFInfo
- Publication number
- JP5371720B2 JP5371720B2 JP2009275648A JP2009275648A JP5371720B2 JP 5371720 B2 JP5371720 B2 JP 5371720B2 JP 2009275648 A JP2009275648 A JP 2009275648A JP 2009275648 A JP2009275648 A JP 2009275648A JP 5371720 B2 JP5371720 B2 JP 5371720B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- phase
- regression
- calculation
- signal
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B9/00—Measuring instruments characterised by the use of optical techniques
- G01B9/02—Interferometers
- G01B9/02083—Interferometers characterised by particular signal processing and presentation
- G01B9/02084—Processing in the Fourier or frequency domain when not imaged in the frequency domain
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B9/00—Measuring instruments characterised by the use of optical techniques
- G01B9/02—Interferometers
- G01B9/02083—Interferometers characterised by particular signal processing and presentation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D5/00—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
- G01D5/12—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
- G01D5/244—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
- G01D5/24471—Error correction
- G01D5/24476—Signal processing
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Transmission And Conversion Of Sensor Element Output (AREA)
Description
また、オフセット誤差(誤差の0次成分)と振幅誤差(誤差の1次成分)以外の誤差を検出および補正する方法が特許文献2に開示されている。特許文献2に開示された方法は、2相信号における各相信号の最大値と最小値に加えて、該2相信号の和信号と差信号のそれぞれの最大値と最小値を利用する。これにより、オフセット誤差と振幅の誤差に加え、位相差誤差(2相信号の相間の位相差のπ/2からの誤差)、2次歪および3次歪成分を計測および補正する。
y=sinθ+Σ(ekcos(kθ)+bksin(kθ))
また、A、B相信号のk次の誤差成分(ak,dk,ek,bk)に起因するリサージュ半径の変動Rkは次式で表される。
Rk=0.5(ak+bk)cos(k−1)θ
+0.5(dk−ek)sin(k−1)θ
+0.5(ak−bk)cos(k+1)θ
+0.5(dk+ek)sin(k+1)θ
上式から明らかなように、2相信号に含まれるk次の誤差成分は、リサージュ半径のk+1次とk−1次の周期誤差を引き起こす。このため、リサージュ半径の変動を解析しても、それがk+1次の効果によるものであるのかk−1次の効果によるものであるのかを判別できず、位置信号に含まれる誤差要因を特定することができない。
0次の誤差成分(オフセット誤差)に関しては、サイン成分が存在せず、0次誤差によって生じるリサージュ半径のk−1次(すなわち−1次)の変動成分は折り返しにより1次の変動成分として現れk+1次成分に重なることから可能となる。ただし、2次の誤差成分が元信号に含まれている場合は、このk‐1次成分が1次のリサージュ半径の変動成分として現れ、これを分離することはできない。したがって、2次の誤差成分が無視できる場合に、この手法は成立する。
また、1次の成分(=振幅誤差)については、a1とb1が振幅の誤差であってa1=−b1の関係に制約されること、およびd1とe1が位相差の誤差であってe1=d1の関係に制約されることから、リサージュ半径の変動は全てk+1次側に現れる。
ここで説明を補足すると、誤差成分の位相誤差(もしくはリサージュ半径誤差)に与える影響は、誤差ベクトルと接線方向の単位ベクトル(もしくは半径方向の単位ベクトル)との内積で与えられる。式で書けば、(akcos(kθ)+dksin(kθ),(ekcos(kθ)+bksin(kθ))・(−sinθ,cosθ)となる。ここでk次の成分にさらにsin関数が乗算されることにより±1次の成分が発生する。
このため、リサージュ半径の2次の変動から元信号に含まれる1次の誤差成分の特定が可能となる。ただし、この場合も、元信号に含まれる3次の誤差成分によるk−1次成分が2次のリサージュ半径の変動成分として現れ、これを分離することはできない。
リサージュ半径を用いた0次、1次の誤差成分の計測は、いずれも元信号が2次以上の誤差成分を含んでいないことが前提となる。特許文献2にて開示された方法は、信号処理回路の歪であれば基本波成分とピークが一致する誤差成分のみを含むとの仮定により、2次および3次の誤差成分の位相を予め決めることで、各次の誤差成分の計測を可能としている。ただし、この仮定は近似的に成り立っているに過ぎず、2相信号に含まれる全ての誤差を検出および補正するには不十分である。
特許文献3には、2相信号のそれぞれをフーリエ変換することにより誤差成分を検出および補正する方法が開示されている。特許文献3に開示されている方法は、計測装置を予めマイクロメータ等の角度設定器を用いて既知の角度に設定した状態で信号の位相を計測し、これから誤差を求める。このため、装置の実使用中の誤差を自動的に計測するには適さない。
特許文献4には、2相信号から算出される位相情報が、スケールを一定速度で移動させたとき直線状の変動をすることを元に、その直線からの外れを誤差として求める方法を開示している。しかし誤差補正を高次歪成分の係数に直目した一般式(多項式)にて行うことは開示されていないこと、誤差補正データの採取と補正は別々に行うこと によって誤差補正が不十分な場合がある。
しかしながら、このようにして得られた位相情報には、入力された2相信号に含まれる誤差成分のために生ずる位相の誤差(アークタンジェントの計算値の誤差)を含む。この結果、フーリエ変換演算が位相の誤差をもって行なわれる。
即ちフーリエ変換は原理的に、信号にsinkθ、coskθを乗算して1周期にわたって積分することにより行われるが、このときのθに誤差がある場合にはフーリエ変換の工程で誤差を発生する。
2相信号の基本波成分(a1,b1,a2,b2,a3,b3,… )と位相誤差関与成分(d1,e1,d2,e2,d3,e3,… )の相乗作用により、フーリエ演算結果には偽の(見掛け上の)位相θの誤差成分が現れる。
この現象について、以下詳しく説明する。
k次の誤差成分は、次式に示す位相誤差δkを生じる(記号は前と同じ)。
下式より2相信号のk次成分歪はk−1次とk+1次の周期誤差成分になることがわかる。
δk=((ak+bk)/2)sin(k−1)θ
+((ek−dk)/2)cos(k−1)θ
+((bk−ak)/2)sin(k+1)θ
+((dk+ek)/2)cos(k+1)θ
位相に誤差δkがある場合、採取される信号には信号の位相に対する微係数に−δkを乗じた量の誤差が含まれる。この結果生じる見掛け上の誤差は、誤差係数の二乗以上の項を無視して近似すれば、次のようになる。
コサイン信号に重畳される誤差は次式で表される。
δksinθ=
−(ak/2)coskθ−(dk/2)sinkθ
+((ak+bk)/4)cos(k−2)θ
−((ek−dk)/4)sin(k−2)θ
+((ak−bk)/4)cos(k+2)θ
+((ek+dk)/4)sin(k+2)θ
サイン信号に重畳される誤差は次式で表される。
−δkcosθ=
−(ek/2)coskθ−(bk/2)sin kθ
−((ek−dk)/4)cos(k−2)θ
−((ak+bk)/4)sin(k−2)θ
−((ek+dk)/4)cos(k+2)θ
+((ak−bk)/4)sin(k+2)θ
すなわち、2相信号に含まれる誤差成分によって生じる位相の誤差により、元々存在していた誤差成分は1/2に圧縮されると同時に、±2次離れた部分に1/4の大きさの偽の誤差を生み出す。
それぞれの次数のそれぞれの係数(ak,dk,ek,bk)の誤差成分によって発生する偽の誤差(見掛け上の誤差)の大きさを表1および表2に示す。表1および表2では、akとbk、dkとekに分けている。即ち、表1は振幅誤差に関係する成分ak、bkのみ考慮した表であり、表2は位相誤差に関係する成分dkとekのみ考慮した表である。ただし、元信号に含まれる誤差成分のうちakおよびbkは、計測される誤差成分のdk,ekには影響を与えず、元信号のdkおよびekも、計測されるak、bkには影響を与えない。
真の誤差に対する偽の誤差の発生量が既知であることから、表1および表2の逆行列を予め求めておくことができれば、計測された誤差から元信号に含まれる誤差を逆算することができる。しかしながら、偽誤差を発生させる行列は非正則行列であり、逆行列は存在しない。よってリサージュ波形の周期誤差を用いて例えばkが0〜6までのk次の歪成分係数(ak,dk,ek,bk)を解析的に算出することはできない。
そこで本発明は、スケールを一定速度で移動させて、計測された2相の周期信号を直線回帰演算することで、基準となる位相(A,B相より算出されるアークタンジェントの値)のデータ群を形成する。そして、これらを用いてフーリエ変換を行うことで、見掛け上の誤差を発生させずに高次の誤差成分までを正確に計測し、補正できる装置および方法を提供する。
即ち、フーリエ変換の演算に際してアークタンジェントを計算した結果を使用し、直線回帰演算を行うことで、「偽の誤差」の影響を排除する。なお、スケールの速度は高分解能エンコーダの場合は特に意識しなくても隣接の数周期の間は一定速度と見なすことができる。
また、本発明の他の一側面としての位置信号補正方法は、位置検出器から出力された互いに位相差を有する2相の周期信号に対応する2相入力信号のそれぞれに対して誤差係数を用いた誤差補正演算を行うステップと、誤差補正演算後の2相入力信号に対してアークタンジェント演算を行うことにより位相情報を生成するステップと、該位相情報に対して直線回帰演算を行い、回帰予測値を基準位相として誤差補正演算後の2相入力信号のそれぞれをフーリエ変換する演算ステップと、該フーリエ変換により得られたフーリエ係数を用いて誤差係数を補正するステップとを有する。そして、演算ステップにおいて、複数周期の位相範囲で得られた位相情報の回帰誤差を演算し、該回帰誤差が最も小さい位相範囲においてフーリエ変換を行うことを特徴とする。
コサイン信号(xin)およびサイン信号(yin)に対しては、誤差補正部11,12によって次式に示す誤差補正演算が施され、既知の誤差が除去される。
y=yin−sΣ(Ekcos(kθ)+Bksin(kθ))
ただし、sは信号の振幅であり、次式で与えられる。
Ak,Dk,Ek,Bkは、これまでの誤差計測のための演算により求められた各次数(k)の誤差係数であり、初期値はゼロである。誤差係数Ak,Dk,Ek,Bkは、後述する各次数の誤差係数補正値ak,dk,ek,bkにより逐次補正される。θはアークタンジェント演算部13で得られた前回までの位相情報を、予測器23にてカルマンフィルタで処理することにより得られる最新のサンプルに対する位相の予想値である。
図2に、カルマンフィルタの構成を示す。DPは最新位相の前回位相に対する変化量である。これを所定のnビットだけ右シフトするためにPを乗じてレジスタPDPに格納する。ここでPは2−nである。レジスタFXの値からレジスタPDPの値を減算した値は、レジスタQに格納される。
次に、レジスタQの値にPを乗じてnビットだけ右シフトした値をレジスタPQに格納する。また、レジスタQの値からレジスタPQの値を減算した値がレジスタFXに格納される。
レジスタPQの値にレジスタVXの値を加算した値は、レジスタBに格納される。レジスタBはサンプリングインターバルにおける位相の変化量を平均化した値を示しており、次回のサンプリング時点における位相を予測するために使用される。
レジスタBの値にPを乗じてnビットだけ右シフトした値は、レジスタPBに格納され、レジスタBの値からレジスタPBの内容を減算した値が、レジスタVXに格納される。
レジスタFXの値からレジスタVXの値を減算した値Cは、回帰式の定数項となる。この定数項は、最後に計測された位相に含まれるノイズを意味する。
これを用いて最後に計測された位相からノイズを除去し、サンプリングインターバルにおける移動量Bを加えることにより、次回のサンプリングに際しての位相予想値が算出される。
カルマンフィルタの内部で行なわれている演算は、位相変化量Δxが得られたとき、内部に保持された値FXおよびVXを用いて次式のように行なわれる。これらの演算により、速度BおよびノイズCが求められ、内部に保持する値FXおよびVXが更新される。ここで、「’」は前回演算されたことを示している。また、Pは2−nであり、最新の位相角に対する重み係数を示している。通常、nは4〜6程度で充分な精度が得られる。
B=VX’+PQ
VX=(1−P)B
FX=(1−P)Q
C=FX−VX
図1において、アークタンジェント演算部13は、誤差補正部11,12から出力された補正済み2相信号(誤差補正演算後の2相入力信号)に対してアークタンジェント演算を行う。これにより、該補正済み2相信号を位相情報に変換する(すなわち、位相情報を生成する)。位相情報および補正済み2相信号は、少なくとも各相信号の1周期以上にわたってメモリー14,15,16に蓄積される。計測インターバルに対して移動量が小さい場合は、各メモリーへの蓄積を間引きして行うことも可能である。高次の誤差成分の推定に充分な精度を得るためには、各メモリーに蓄積されるサンプル数は百点ないし数百点とすることが好ましい。
次に、メモリー14に蓄積された位相情報に対して回帰演算部21にて回帰演算を行い、回帰演算により得られる回帰予測値を基準位相22として出力する。後述するフーリエ変換部17,18によるフーリエ変換演算は信号周期の整数倍(2mπ:mは自然数)の範囲で行われるため、回帰演算も同じ範囲の位相情報に対して行うことが好ましい。回帰演算は、通常の場合には線形回帰演算でもよいし、信号に含まれるノイズが小さい場合は単に始点と終点を結んだ直線を回帰式とする演算でもよい。回帰式は、メモリーアドレスを独立変数とし、メモリーアドレスを与えて位相を予測する形とする。
回帰演算部21とフーリエ変換部17,18とにより、回帰演算/フーリエ変換部が構成される。
次に、メモリー15,16に蓄積された補正済み2相信号に対して、基準位相22を用いた、フーリエ変換部17,18によるフーリエ変換演算が行われる。フーリエ変換演算のアルゴリズムとしては、FFT(高速フーリエ変換)アルゴリズムが知られている。しかし、2相信号に含まれる高次の誤差成分を求めるためのフーリエ変換に対しては、次数が少なく(通常は10以下)、また周期を等分割する点のサンプル値が得られていないことから、数値積分によるフーリエ変換を行うことが好ましい。
数値積分によるフーリエ変換を行うために、信号周期の整数倍(位相として0〜2mπ)の範囲において以下の積算を行う。ここで、関数t(i)は、メモリーアドレスiに対する回帰式で与えられる位相の予想値である。また、Σは、iをフーリエ変換範囲の2番目のアドレスからフーリエ変換範囲の終点までの範囲で積算することを示す。
ak=Σ{((x[i-1]+x[i])/2)cos(k(t(i-1)+t(i))/2)(t(i)-t(i-1))}
dk=Σ{((x[i-1]+x[i])/2)sin(k(t(i-1)+t(i))/2)(t(i)-t(i-1))}
ek=Σ{((y[i-1]+y[i])/2)cos(k(t(i-1)+t(i))/2)(t(i)-t(i-1))}
bk=Σ{((y[i-1]+y[i])/2)sin(k(t(i-1)+t(i))/2)(t(i)-t(i-1))}
積算の終点位相は、開始点から正確に2mπ離れている必要がある。このため、t(i)が終点を越えた際には、t(i)に代えて、正確な終了点である、開始点の位相に2mπを加算した値を用いて上記演算を行うことが好ましい。終了点の信号値に関しても、メモリーに蓄積された値を用いて内挿演算を行うことで該終了点における正確な信号値が得られる。ただし、終了点における信号値に誤差があっても位相の誤差ほどの影響を与えないため、終了点を超えた信号値をそのまま用いても差し支えない。
サイン関数およびコサイン関数は、それらの値のテーブルデータをROMに格納し、これを読み出す形とするとよい。
フーリエ変換によってフーリエ係数としての誤差係数補正値ak,dk,ek,bkの算出が終了すると、全体の信号振幅の影響を排除するため、誤差係数更新部24,25は、振幅sを用いて誤差係数補正値ak,dk,ek,bkの規格化を行なう。振幅sは1次のフーリエ係数a1とb1の平均値で与えられる。
得られた全ての誤差係数補正値ak,dk,ek,bkをsで除すことにより規格化が完了する。
dk=dk/s
ek=ek/s
bk=bk/s
1次のフーリエ係数a1およびb1には基本波成分が含まれるため、これから1を差し引く。また、d1およびe1は位相差誤差であり、これらの値は等しいことが要求される。(等しくないことを許すと位相のゼロ点が移動してしまう。)そこで、d1とe1の平均値を求め、双方に平均値をセットする。
Ak=Ak+Pak
Dk=Dk+Pdk
Ek=Ek+Pek
Bk=Bk+Pbk
パラメータPは定数とすることもできるが、米国特許4,488,117号明細書にて説明されている手法を援用して、位相を回帰演算した際の誤差分散VNを用いて、次式の演算で定めるのが好ましい。
P=(VC+VT)/(VC+VT+VN)
ただし、VCは推定値の誤差分散を代表する量で、上式でPが定まった後に次式により更新される(初期値は0とする)。
ただし、VTは誤差係数の経時変化を代表する量であり、誤差係数の保持値の経時変化が滑らかな変化となるように適宜定められる。具体的には、VT値を小さくすると経時変化が緩やかになってノイズの影響を受け難くなる代わりに、誤差の変動に対する応答性が悪化する。
前述した検出器から出力されて所定の電子的処理が施された2相の周期信号は、アナログ・デジタル変換器(ADC)によりデジタル信号に変換される。該2相のデジタル信号は、誤差補正部11,12のレジスタXINおよびYINに格納される。これら双方のレジスタの内容はそれぞれ乗算器(×)により二乗された後、加算器(+)により二乗和が演算され、開平演算モジュールSQRTにより二乗和平方根が演算される。
開平演算モジュールの詳細を図4に示す。作業用レジスタTおよび結果格納用のレジスタRはゼロに初期化される。また、レジスタSは入力値が置かれるレジスタであり、上位に余裕が設けられている。例えば32ビットの整数から16ビットの平方根を演算する場合は、上位に14ビットの余裕(ゼロで初期化される)が設けられ、下位32ビットに入力値が格納される。この場合、レジスタTおよびレジスタRは16ビット長とする。
開平演算の手順は、上記ビット長の場合、次のように進行する。まず、レジスタSの上位16ビットから、レジスタTを1ビット左シフトして1を加算した値を減算する。減算に際してボロー(繰り下がり:減算結果がマイナスになる場合に発生する)が発生した場合は、レジスタSの内容を2ビット左シフトした値が信号線wSに出力され、レジスタTの内容を1ビット左シフトした値が信号線wTに出力される。
減算に際してボローが発生しない場合は、減算結果にレジスタSの下位30ビットを連結した値を2ビット左シフトした値が信号線wS2出力され、レジスタTを1ビット左シフトして2を加算した値が信号線wTに出力される。
演算を1ビットずつ行う場合はクロック毎に、信号線wSの内容をレジスタSに、信号線wTの内容をレジスタTにロードし、ボローの論理を反転した信号をレジスタRの下位からシフトインする。この操作を16回行うことで32ビット整数の開平演算が完了する。
開平演算モジュールは、直列に接続して1クロックで複数のビットを同時に行うことができる。これを行うには、図4の破線内の論理回路を複数設け、出力線wTおよびwSを次段のレジスタTおよびSの出力に代えて接続すればよい。ボローbはそれぞれ独立に出力し、複数ビットの結果をまとめて結果レジスタにシフトインすればよい。
例えば、4桁の開平演算を1クロックで実行するには、破線内の論理回路を4段に接続し、クロック毎に結果レジスタを4ビット左シフトし、下位4ビットにそれぞれの桁のボローを反転した値をセットする。この場合には、32ビットの開平演算が4クロックで完了する。
32ビットの開平演算を4段構成の開平モジュールで行なう論理を、FPGAの一例として、アルテラ社のEP2S30F672C4に組み込んだ際の上限クロック周波数は90MHzであった。
一般的な位置の計測および制御にはサンプリング周波数が数百kHzないし数MHzのAD変換器が利用される。このため、信号処理のクロックレートを数十MHzとすれば、一つのAD変換結果の処理に10以上のクロック周期を使用することが可能となり、演算に複数クロックを使用した簡素な論理回路が構成可能となる。
図3において、それぞれの次数の誤差係数は、ECXおよびECYで示すRAMに格納されている。これらの係数と二乗和平方根との積を演算することにより入力信号の振幅に合せた後、ROMより順次読み出されるcoskθおよびsinkθの値と乗算し、各誤差係数に対応する信号の誤差を算出する。
各信号値XINおよびYINは、最初のクロックでレジスタXおよびレジスタYにセットされる。次いで、各誤差係数に対応する信号の誤差が算出される毎に、これらをレジスタXおよびレジスタYの内容に加算する。
全ての次数の誤差の加算が完了した後、これらの内容を図中にXRAM、YRAMと示したRAMに、サンプリングごとにアドレスを変えて格納する。また、それぞれの信号を用いてアークタンジェント演算ATANを行い、この結果も図中にTRAMと示したRAMに格納する。これらのRAMは、誤差の演算に充分な数の結果を格納する必要があり、例えば1kサンプルの結果を格納するに十分な領域とする。
アークタンジェント演算の結果の最新値と前回値の差は、モジュールKLMNに導かれ、前述したカルマンフィルタ演算が行なわれ、次回サンプリングの際の位相θが演算される。θは一旦レジスタPHSに格納された後、レジスタIDXに加算される。レジスタIDXは、初期値としてゼロにリセットした後、順次レジスタPHSを加算することにより各次数の誤差計算に必要なアドレスkθを生成する。
図3において、誤差係数格納用のECXおよびECY、一連の位置を格納するXRAMおよびYRAMと一連の位相情報を格納するTRAMは、いずれもデュアルポートRAM(読み書きポートを二組持つランダムアクセスメモリ)で構成される。デュアルポートRAMの一方のポートは、先に説明したFPGAの論理によりアクセスされる。また、他方のポートは、図1に示した、誤差補正部11,12以外の各部を構成するマイクロプロセッサ、デジタルシグナルプロセッサまたはホストコンピュータ等の誤差係数更新システムに接続されている。誤差係数更新システムは、XRAM、YRAM、TRAMを読み込んで、前述した回帰演算、フーリエ変換および誤差係数の更新演算を行い、その結果をECX、ECYに書き込む。
上記誤差係数更新システムの動作は、一般にはFPGAの動作に比べると非常に遅い。しかし、誤差係数の変動は緩やかであるため、その更新処理にはさほどの速度は要求されない。よって、無駄な演算は極力省き、誤差係数更新システムの演算能力を誤差係数の更新処理に有効に利用することが好ましい。
本実施例では、位置検出対象物の移動速度が一定であるとの仮定に基づいて基準位相を回帰演算(直線回帰演算)により求めている。このため、データ採取期間に大きな速度変動がある場合には、誤差係数の演算結果に大きな誤差が含まれる。このため、FPGAの論理に、有効性の高いデータを保存する機能を設けることが好ましい。このための回路構成の一例を図5に示す。
図5において、位相情報のデータ(位相データ)を格納するためのRAMは2セット設けられており、一方のRAMに最良の(位相の線形回帰誤差が最も小さい)位相データの組みが格納され、他方のRAMには新たな位相データが蓄積される。
新たな位相データが蓄積されるTRAMから複数周期の位相範囲(例えば、32点の位相)での位相データを読み出し、線形回帰モジュールREGにより線形回帰演算を行って回帰誤差を求める。この際の回帰演算は、RAMの全領域を対象として行ってよい。
回帰誤差は、モジュールMINにより、保持されている最小回帰誤差と比較される。そして、新しく得られた回帰誤差が最小回帰誤差よりも小さい場合は、新しく得られた回帰誤差を最小回帰誤差にセットするとともに、新たなデータを蓄積するRAM領域と最良データを格納するRAM領域を切替える。
上記誤差係数更新システムによるRAMからのデータの取り込みは、最良のデータの組に対して行い、これが行われている間はRAM領域の切替えを停止する。また、誤差係数更新システムによるRAMデータの取り込みが行なわれた際には、最小の回帰誤差はリセットされる(最新の回帰誤差を最小回帰誤差にセットする)。
FPGA上のRAMに蓄えられた信号は、通信回線により誤差係数更新システムに取り込まれ(ステップS101)、回帰演算部21による位相情報の直線回帰演算が行われる(ステップS103)。
RAMは、低速移動の際にも必要な範囲のデータが採取できるよう、通常の計測に対しては過剰な容量を有する。これを利用して、直線回帰演算を、演算可能な全ての位相範囲(複数周期の位相範囲)、すなわちそれぞれの始点から2mπの範囲にて行い(ステップS102,S103)、回帰誤差が最小も小さい位相範囲を求める(ステップS104)。そして、フーリエ変換部17,18によるフーリエ変換演算を、このようにして得られた回帰誤差が最も小さい位相範囲に対して行う(ステップS105)。このような演算ステップ(S102〜S105)によって、より良好な誤差係数補正値(つまりは更新後の誤差係数)の演算精度が得られる。
このように本実施例によれば、2相信号に対して回帰演算を行うことで基準位相を生成し、該基準位相を用いたフーリエ変換により得られた誤差係数補正値を用いて誤差補正演算を行うための誤差係数を補正(更新)する。これにより、見掛け上の誤差を発生させずに高次の誤差成分までを正確に計測し、補正することができる。
以上説明した実施例は代表的な例にすぎず、本発明の実施に際しては、実施例に対して種々の変形や変更が可能である。
13 アークタンジェント演算部
17 フーリエ変換部
21 回帰演算部
24,25 誤差係数更新部
Claims (2)
- 位置検出器から出力された互いに位相差を有する2相の周期信号に対応する2相入力信号のそれぞれに対して誤差係数を用いた誤差補正演算を行う誤差補正部と、
該誤差補正演算後の2相入力信号に対してアークタンジェント演算を行うことにより位相情報を生成するアークタンジェント演算部と、
該位相情報に対して直線回帰演算を行い、回帰予測値を基準位相として前記誤差補正演算後の2相入力信号のそれぞれをフーリエ変換する回帰演算/フーリエ変換部と、
該フーリエ変換により得られたフーリエ係数を用いて前記誤差係数を補正する誤差係数更新部とを有し、
前記回帰演算/フーリエ変換部は、複数周期の位相範囲で得られた前記位相情報の回帰誤差を演算し、該回帰誤差が最も小さい位相範囲において前記フーリエ変換を行うことを特徴とする位置信号補正装置。 - 位置検出器から出力された互いに位相差を有する2相の周期信号に対応する2相入力信号のそれぞれに対して誤差係数を用いた誤差補正演算を行うステップと、
前記誤差補正演算後の2相入力信号に対してアークタンジェント演算を行うことにより位相情報を生成するステップと、
該位相情報に対して直線回帰演算を行い、回帰予測値を基準位相として前記誤差補正演算後の2相入力信号のそれぞれをフーリエ変換する演算ステップと、
該フーリエ変換により得られたフーリエ係数を用いて前記誤差係数を補正するステップとを有し、
前記演算ステップにおいて、複数周期の位相範囲で得られた前記位相情報の回帰誤差を演算し、該回帰誤差が最も小さい位相範囲において前記フーリエ変換を行うことを特徴とする位置信号補正方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009275648A JP5371720B2 (ja) | 2009-12-03 | 2009-12-03 | 位置信号補正装置および位置信号補正方法 |
US12/958,471 US8457914B2 (en) | 2009-12-03 | 2010-12-02 | Apparatus and method for obtaining phase corresponding to object position |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009275648A JP5371720B2 (ja) | 2009-12-03 | 2009-12-03 | 位置信号補正装置および位置信号補正方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011117834A JP2011117834A (ja) | 2011-06-16 |
JP5371720B2 true JP5371720B2 (ja) | 2013-12-18 |
Family
ID=44081977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009275648A Expired - Fee Related JP5371720B2 (ja) | 2009-12-03 | 2009-12-03 | 位置信号補正装置および位置信号補正方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8457914B2 (ja) |
JP (1) | JP5371720B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8564339B2 (en) * | 2011-08-19 | 2013-10-22 | Soft Db Inc. | Method and system for measuring amplitude and phase difference between two sinusoidal signals |
JP5836026B2 (ja) * | 2011-09-08 | 2015-12-24 | 三菱重工業株式会社 | 誤差周波数成分取得装置、回転角度取得装置およびモータ制御装置 |
JP5932285B2 (ja) * | 2011-10-14 | 2016-06-08 | キヤノン株式会社 | エンコーダおよびこれを備えた装置 |
JP6182729B2 (ja) * | 2012-01-27 | 2017-08-23 | パナソニックIpマネジメント株式会社 | 光学式エンコーダ |
CN109459070B (zh) * | 2018-11-15 | 2020-04-28 | 浙江理工大学 | 一种pgc相位解调法中相位延迟提取与补偿方法 |
JP6854841B2 (ja) * | 2019-04-19 | 2021-04-07 | 三菱電機株式会社 | 角度検出装置 |
CN116257730B (zh) * | 2023-05-08 | 2023-08-01 | 成都戎星科技有限公司 | 一种基于fpga实现频偏跟踪的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4458322A (en) | 1981-06-19 | 1984-07-03 | Manhattan Engineering Co., Inc. | Control of page storage among three media using a single channel processor program and a page transfer bus |
JPH0643892B2 (ja) * | 1984-02-15 | 1994-06-08 | 旭光学工業株式会社 | 測角誤差の補正装置 |
US5581488A (en) | 1989-08-10 | 1996-12-03 | Mitsubishi Chemical Corporation | Apparatus and method for compensating for noise in signals |
JP3772121B2 (ja) | 2002-02-28 | 2006-05-10 | ファナック株式会社 | エンコーダの信号処理装置 |
DE10313518A1 (de) * | 2003-03-25 | 2004-10-14 | Hübner Elektromaschinen AG | Positionsmessverfahren und Positionsmesssystem zur Signalperioden-Vervielfachung |
DE102004038621B3 (de) * | 2004-08-09 | 2006-02-16 | Siemens Ag | Ermittlungsverfahren für ein Lagesignal |
DE102005036719A1 (de) * | 2005-07-28 | 2007-02-01 | Carl Zeiss Industrielle Messtechnik Gmbh | Verfahren zum Korrigieren von Interpolationsfehlern einer Maschine, insbesondere eines Koordinatenmessgerätes |
-
2009
- 2009-12-03 JP JP2009275648A patent/JP5371720B2/ja not_active Expired - Fee Related
-
2010
- 2010-12-02 US US12/958,471 patent/US8457914B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011117834A (ja) | 2011-06-16 |
US20110134984A1 (en) | 2011-06-09 |
US8457914B2 (en) | 2013-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5371720B2 (ja) | 位置信号補正装置および位置信号補正方法 | |
JP5178374B2 (ja) | 検出装置 | |
Chen | New RBF collocation methods and kernel RBF with applications | |
CN108020717B (zh) | 数字频率测量设备及包括该设备的相机模块 | |
JP4602411B2 (ja) | 位置検出誤差補正方法 | |
US7716018B2 (en) | Method and computer program for determining operating parameters in a roller bearing and a roller bearing which may be analyzed | |
JP6503418B2 (ja) | 周波数解析装置、当該周波数解析装置を用いた信号処理装置、および、当該信号処理装置を用いた高周波測定装置 | |
CN110968833A (zh) | 一种用于模拟量校准的校准函数关系获取方法及装置 | |
JP5000441B2 (ja) | 電力測定方法および電力測定装置 | |
CN109374966A (zh) | 一种电网频率估计方法 | |
JP6100552B2 (ja) | 位置検出装置 | |
Zhu et al. | Design of a precise subdivision system for gratings using a modified CORDIC algorithm | |
Shali et al. | Approximate solutions of nonlinear Volterra-Fredholm integral equations | |
JP2015036635A (ja) | フーリエ解析による周波数測定方法および周波数測定装置 | |
JP6041325B2 (ja) | 信号処理装置、信号処理方法およびプログラム | |
JP6688166B2 (ja) | 位置検出装置 | |
Zhu et al. | An improved cordic for digital subdivision of Moiré signal | |
Boudjemaa et al. | Automatic differentiation and its application in metrology | |
JP2016118439A (ja) | 位置検出装置 | |
JP2008180547A (ja) | 内挿誤差補正装置 | |
RU2476896C2 (ru) | Способ калибровки измерительных систем | |
EP2767805B1 (en) | Method for phase drift correction of a capacitive position encoder and capacitive position encoder | |
JP2010139487A (ja) | 誤差決定方法、誤差決定装置、位置検出方法及び演算手順 | |
EP3293492B1 (en) | Method for improving emc robustness of integrated capacitive sensors | |
Zhang et al. | FPGA-Based Implementation of an Error-Controllable and Resource-Efficient Approximation Method for Transcendental Functions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121203 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130725 |
|
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: 20130820 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130917 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5371720 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |