JP4987448B2 - 速度検出装置 - Google Patents

速度検出装置 Download PDF

Info

Publication number
JP4987448B2
JP4987448B2 JP2006328311A JP2006328311A JP4987448B2 JP 4987448 B2 JP4987448 B2 JP 4987448B2 JP 2006328311 A JP2006328311 A JP 2006328311A JP 2006328311 A JP2006328311 A JP 2006328311A JP 4987448 B2 JP4987448 B2 JP 4987448B2
Authority
JP
Japan
Prior art keywords
calculation
coordinates
calculation unit
coordinate
moving body
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
Application number
JP2006328311A
Other languages
English (en)
Other versions
JP2008139257A (ja
Inventor
野 竜 二 青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shibaura Machine Co Ltd
Original Assignee
Toshiba Machine Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Machine Co Ltd filed Critical Toshiba Machine Co Ltd
Priority to JP2006328311A priority Critical patent/JP4987448B2/ja
Priority to DE102007057476A priority patent/DE102007057476B4/de
Priority to KR1020070124972A priority patent/KR100959215B1/ko
Priority to US11/949,816 priority patent/US7668689B2/en
Priority to CN2007101968560A priority patent/CN101196532B/zh
Publication of JP2008139257A publication Critical patent/JP2008139257A/ja
Application granted granted Critical
Publication of JP4987448B2 publication Critical patent/JP4987448B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P3/00Measuring linear or angular speed; Measuring differences of linear or angular speeds
    • G01P3/42Devices characterised by the use of electric or magnetic means
    • G01P3/44Devices characterised by the use of electric or magnetic means for measuring angular speed
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P3/00Measuring linear or angular speed; Measuring differences of linear or angular speeds
    • G01P3/42Devices characterised by the use of electric or magnetic means
    • G01P3/44Devices characterised by the use of electric or magnetic means for measuring angular speed
    • G01P3/48Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage
    • G01P3/481Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage of pulse signals
    • G01P3/489Digital circuits therefor
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P13/00Indicating or recording presence, absence, or direction, of movement
    • G01P13/02Indicating direction only, e.g. by weather vane
    • G01P13/04Indicating positive or negative direction of a linear movement or clockwise or anti-clockwise direction of a rotational movement
    • G01P13/045Indicating positive or negative direction of a linear movement or clockwise or anti-clockwise direction of a rotational movement with speed indication

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)

Description

本発明は、速度検出装置に関する。
サーボモータの運動制御では、位置検出器内部で機械の移動距離または軸の移動角度に基づいたSIN信号およびCOS信号を生成する。位置検出器の演算回路は、SIN信号およびCOS信号を単位時間ごとにサンプリングし、2つのサンプル間の距離差または角度差と2回のサンプリングの時間間隔とから移動速度または角速度を算出していた。
例えば、2回のサンプリングで得られた座標を(x1,y1)および(x2,y2)とし、サンプリングの時間間隔をt(sec)とすると、角速度ω(rad/sec)は式1のように表わすことができる。
ω=(θ2−θ1)/t=(tan−1(y2/x2)−tan−1(y1/x1))/t (式1)
ここで、θ1(rad)およびθ2(rad)は、2回のサンプリングの時刻における絶対角度(偏角)である。式1に示すように、角速度ωを得るためには、座標から偏角を算出しなければならない。
杉本 英彦等"ACサーボシステムの理論と設計の実際"総合電子出版社 (P142〜P149)
上記問題に対処するために、演算回路としてCPUあるいはカスタムLSI(Large-Scale Integrated circuit)を用い、デジタルロジック回路で式1の演算を実現することが考えられる。
しかし、アークタンジェント(tan−1)は、sin/cosという割り算を必要とする。アークタンジェントの計算には次の2つの問題点がある。その1つの問題点は、単位円上のcos信号が0に近づくと、タンジェント(sin÷cos)の値が絶対値が非常に大きくなることである。その結果、アークタンジェントの結果の誤差が非常に大きくなってしまう。
もう1つの問題点は、アークタンジェントおよびタンジェントを求めるために割り算(sin÷cos)が必要になることである。除算器は、デジタル回路で実現することが困難な回路であり、実現するためには加減算に比べてかなり大規模なデジタル回路を用いる必要がある。
さらに、乗算器も、デジタル回路で実現するためには加減算に比べてかなり大規模なデジタル回路を用いる必要がある。乗算器も、デジタル回路で実現すると、加算器および減算器に比べてかなり大規模なデジタル回路を用いる必要がある。
そこで、本発明は、小規模な演算回路で運動体の速度を高精度に検出することができる速度検出回路を提供することである。
本発明に係る実施形態に従った速度検出装置は、回転運動または往復運動を行う運動体の位置を示す座標を周期的にサンプリングし、前記座標に基づいて前記運動体の角速度を検出する速度検出装置であって、
予め設定された複数の仮の角度、および、該複数の仮の角度のそれぞれに対する三角関数の値を記憶するメモリと、
第1のサンプリングで得られた運動体の第1の現実の座標を格納する第1のレジスタと、
前記第1のサンプリングの次の第2のサンプリングで得られた運動体の第2の現実の座標を格納する第2のレジスタと、
前記第1の現実の座標(x1、y1)のx1と前記三角関数の値に基いてy1の桁をシフトした結果値との加算または減算によって表される第1の計算上の座標を算出する第1の演算部と、
前記第2の現実の座標(x2、y2)のy2と前記三角関数の値に基いてx2の桁をシフトした結果値との加算または減算によって表される第2の計算上の座標を算出する第2の演算部と、
前記第1または前記第2の演算部における演算で用いられた前記仮の角度を積算する第3の演算部とを備え、
前記第1および前記第2の演算部は、前記第1および前記第2の計算上の座標を互いに接近させるように演算することを特徴とする。
前記第1および前記第2の演算部は、前記仮の角度を小さくしつつ、前記第1および前記第2の計算上の座標を収束させるように演算を繰り返し、前記第3の演算部は、前記第1または前記第2の演算部における演算で収束する前記仮の角度を積算し、前記第1および前記第2の計算上の座標が収束したときの該仮の角度に基づいて前記運動体の角速度を生成してもよい。
前記メモリは、前記仮の角度としてΦi(Φ>Φ>Φ>・・・>Φi>・・・Φ)(nは自然数)、前記三角関数の値としてtanΦiを記憶し、
前記第1または前記第2の計算上の座標を(xxc,yyc)とすると、
Figure 0004987448
(但し、Φi=tan−1−i(i=0、1、2・・・n)であり、i=0のとき、前記第1の演算部においては、xxci−1=x1、yyci−1=y1であり、前記第2の演算部においては、xxci−1=x2、yyci−1=y2である)
前記第1および前記第2の演算部は、i=0、1、2・・・nの順に式1または式2を演算し、前記第3の演算部は、前記仮の角度をiごとに積算してもよい。
前記第1および前記第2の演算部は、i=0、1、2・・・nの順に式1および式2を交互または相補に演算し、かつ、前記第1の演算部が式1を演算するときには、前記第2の演算部は式2を演算し、前記第1の演算部が式2を演算するときには、前記第2の演算部は式1を演算してもよい。
当該速度検出装置は、前記第1の計算上の座標を保持する第3のレジスタと、前記第2の計算上の座標を保持する第4のレジスタと、前記第3の演算部で積算された前記仮の角度を保持する第5のレジスタとをさらに備えていてもよい。
前記サンプリング周期を単位時間にすることによって、前記第3の演算部で積算された前記仮の角度の2倍を前記運動体の角速度としてもよい。
前記第3の演算部で積算された前記仮の角度は、前記運動体の回転角度の2分の1でよい。
当該速度検出装置は、ロータリエンコーダまたはリニアスケールに配備されていてもよい。
本発明に係る実施形態に従った速度検出装置は、回転運動または往復運動を行う運動体の位置を示す座標を周期的にサンプリングし、前記座標に基づいて前記運動体の角速度を検出する速度検出装置であって、
予め設定された複数の仮の角度Φ(Φ>Φ>Φ>・・・>Φ>・・・Φ)(nは自然数)、および、該複数の仮の角度のそれぞれに対する三角関数の値tanΦを記憶するメモリと、第1のサンプリングで得られた運動体の第1の現実の座標(x1,y1)を格納する第1のレジスタと、前記第1のサンプリングの次の第2のサンプリングで得られた運動体の第2の現実の座標(x2,y2)を格納する第2のレジスタと、前記第1の現実の座標(x1、y1)と前記三角関数の値tanΦiに基いて式1または式2を演算する第1の演算部と、前記第2の現実の座標(x2、y2)と前記三角関数の値tanΦiに基いて式1または式2を演算する第2の演算部と、前記第1または前記第2の演算部における演算で用いられた前記仮の角度Φiを積算する第3の演算部とを備える
Figure 0004987448
(但し、Φi=tan−1−i(i=0、1、2・・・n)であり、i=0のとき、前記第1の演算部においては、xxci−1=x1、yyci−1=y1であり、前記第2の演算部においては、xxci−1=x2、yyci−1=y2である)。
前記第1および前記第2の演算部は、i=0、1、2・・・nの順に式1または式2を演算し、前記第3の演算部は、前記仮の角度をiごとに積算する。
前記第1および前記第2の演算部は、i=0、1、2・・・nの順に式1および式2を交互または相補に演算し、かつ、前記第1の演算部が式1を演算するときには、前記第2の演算部は式2を演算し、前記第1の演算部が式2を演算するときには、前記第2の演算部は式1を演算してもよい。
本発明による速度検出装置は、小規模な演算回路で運動体の速度を高精度に検出することができる。
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
図1は、本発明に係る実施形態に従った速度検出装置100のブロック図である。速度検出装置100は、ロータリエンコーダまたはリニアスケール10と、A/Dコンバータ40と、演算部50とを備えている。演算部50は、汎用CPUまたはカスタムLSIである。演算部50は、例えば、FPGA(Field Programmable Gate Array)でよい。速度検出装置100は、例えば、回転運動または往復運動を行う運動体を備えたサーボモータに配設されてもよい。運動体は、例えば、工作機械に配備されたサーボモータのロータまたは往復運動するアーム等である。速度検出装置100は、例えば、ロータリエンコーダまたはリニアスケール10を用いた位置決め装置に配備されてもよい。
ロータリエンコーダまたはリニアスケール10は、回転運動または往復運動を行う運動体の位置を示す座標(sin,cos)の信号を出力する。この座標(sin,cos)は、直交位相の正弦波の値である。A/Dコンバータ40は、ロータリエンコーダまたはリニアスケール10からのsin信号およびcos信号をデジタル信号へ変換する。さらに、演算部50はA/Dコンバータ40からのsin信号およびcos信号のそれぞれに基づくデジタル信号を受け、運動体の角速度または速度を算出する。
演算部50は、FPGAでよいが、FPGAに代えて、他の任意のLSIを用いることができる。演算部50をカスタムLSI上でロジック回路として実現した場合、同じ処理を繰り返す反復処理を短時間で行うことができる。一方で、演算部50は、汎用CPUおよびソフトウェアで実現してもよい。演算部50を汎用CPUおよびソフトウェアで実現した場合、プログラムの変更で様々な処理を行うことができる。
図2は、演算部50の内部構成を示すブロック図である。演算部50は、第1の演算部としてのCORDICローテーション(以下、ローテータともいう)51と、第2の演算部としてのCORDICローテーション58と、メモリ52、59と、回転方向判別部53と、エリア判別部54、55と、選択部56、57と、第1から第4のレジスタR11、R21、R31およびR41と、第5のレジスタとしての回転角度レジスタR51と、角速度保持レジスタR61と、第3の演算部としての加算器80とを備えている。
図3は、第1の現実の座標(sinθ,cosθ)および第2の現実の座標(sin(θ+Φ),cos(θ+Φ))の位置関係を示す図である。第2の現実の座標(sin(θ+Φ),cos(θ+Φ))は、図3に示すように第1の現実の座標(sinθ,cosθ)を基準としてΦだけロータを回転させたときの現実の座標である。図3の紙面において、ロータはCCW(Counter Clock Wise)方向(図3の矢印の方向)に回転している。尚、θおよびΦの単位は、rad(ラジアン)である。
図2および図3を参照し、ロータが第1の現実の座標から第2の現実の座標まで回転するときの角速度を、sin信号およびcos信号から算出する過程を説明する。尚、往復運動を行う運動体の速度は、角速度から簡単に算出することができるので、ここでは、角速度の算出のみを説明する。
本実施形態では、角速度を算出するためにCORDIC(COordinate Rotation Digital Computer)アルゴリズムが利用される。CORDICアルゴリズムには、ベクタリングモードおよびローテーションモードがある。本実施形態では、ローテーションモードを利用する。このCORDICアルゴリズムは、演算部50内に内蔵されており、本実施形態ではロジック回路によって実現されている。
理解を容易にするために、運動体としてのロータが1回転すると、ロータリエンコーダ10が1サイクルのsin波およびcos波を出力するものとする。速度検出装置100は、1サイクルの間に周期的(周期T)にロータの座標をサンプリングする。速度検出装置100は、第1のサンプリングでロータの2次元座標(ユークリッド座標)(x1,y1)を獲得し、第1のサンプリングの次の第2のサンプリングで一定時間後の2次元座標(x2,y2)を獲得する。x1およびx2はsin値であり、y1およびy2はcos値である。速度検出装置100は、座標(x1,y1)および座標(x2,y2)に基づいて第1のサンプリング時におけるロータの位置から第2のサンプリング時のロータの位置までの角度ΦをCORDICアルゴリズムによって計算する。サンプリングは、所定の周期で行われるので、この角度Φが判明すると、ロータの角速度が得られる。
メモリ52は、予め設定された複数の仮の角度Φ〜Φ(Φ>Φ>Φ>・・・Φ)(nは自然数)、および、該複数の仮の角度のそれぞれに対する三角関数の値tanΦ〜tanΦを記憶している。速度検出装置100の初期状態において、第1から第4のレジスタは特定値を格納していない。第5のレジスタR51は、ゼロである。尚、第5のレジスタR51は、サンプリングごとにゼロにリセットされる。
まず、演算部50は、第1のサンプリングで得られたロータの第1の現実の座標(x1,y1)=(sinθ,cosθ)を、A/Dコンバータ40からデジタル値で受け取る。第1の座標は、第2のレジスタR21に格納される。
当初、第1、第3および第4のレジスタR11、R31およびR41は不定である。このときの計算値は、不定値に基づくので排除する。
次に、演算部50は、次の周期において第2のサンプリングを行う。演算部50は、第2のサンプリングで得られたロータの第2の現実の座標(x2,y2)=(sin(θ+Φ),cos(θ+Φ))を、A/Dコンバータ40からデジタル値で受け取る。このとき、第1の現実の座標(sinθ,cosθ)は第1のレジスタR11へ移され、第2の現実の座標(sin(θ+Φ),cos(θ+Φ))が第2のレジスタR21に格納される。
第2の現実の座標を受けたときには、第3のレジスタR31はまだ不定であるので、選択部56は、第1のレジスタR11を選択し、第1の現実の座標(sinθ,cosθ)をエリア判別部54およびローテータ51へ送る。また、このとき、第4のレジスタR41もまだ不定であるので、選択部57は、第2のレジスタR21を選択し、第2の現実の座標(sin(θ+Φ),cos(θ+Φ))をエリア判別部55およびローテータ58へ送る。
ローテータ51は、第1の座標(x1,y1)=(sinθ,cosθ)、および、メモリ52からの三角関数の値tanΦを用いて第1の計算上の座標(xxc,yyc)を計算する。一方、ローテータ58は、第2の現実の座標(x2,y2)=(sin(θ+Φ),cos(θ+Φ))、および、メモリ59からの三角関数の値tanΦを用いて第2の計算上の座標(xxc,yyc)を計算する。ローテータ51および58の具体的な演算内容に関しては後述する。尚、ローテータ51および58は、ともに後述の式1および式2を演算するので、第1および第2の計算上の座標は、(xxc,yyc)で表現している。しかし、第1の計算上の座標および第2の計算上の座標は、互いに異なる座標である。iは、ローテータ51、58が既に実行した演算回数に等しい。
第3のレジスタR31は、第1の計算上の座標(xxc,yyc)を格納する。第4のレジスタR41は、第2の計算上の座標(xxc,yyc)を格納する。その後、選択部56および57は、次の周期のサンプリングが行われるまで、それぞれ第3および第4のレジスタR31およびR41を選択する。ローテータ51および58は、それぞれ第3および第4のレジスタR31およびR41に格納された座標と、三角関数の値tanΦとを用いて同様の計算を繰り返す。それらの計算結果は、第1の計算上の座標(xxc,yyc)および第2の計算上の座標(xxc,yyc)として、それぞれ第3および第4のレジスタR31およびR41に上書きされる。このように、ローテータ51および58は、三角関数の値tanΦ、tanΦ、tanΦ、・・・tanΦを順に用いてそれぞれ第1の計算上の座標および第2の計算上の座標を計算する。i=0、1、2・・・に対応する各演算において、ローテータ51および58は、第1の計算上の座標および第2の計算上の座標を互いに接近させるように演算する。これにより、第1の計算上の座標および第2の計算上の座標は、ローテータ51および58による計算ごとに、第1の現実の座標と第2の現実の座標と間の中間座標(sin(θ+Φ/2),cos(θ+Φ/2))へ収束していく。中間座標は、サンプリングごとに決定され、回転角度レジスタR51へ送られる。回転角度レジスタR51内のデータは、サンプリングごとに更新される。
加算器80は、回転角保持レジスタR51に格納されている仮の角度+Φi−1または−Φi−1に仮の角度−Φiまたは+Φiを加算し、その加算結果を回転角保持レジスタR41へ戻す。このように、加算器80は、仮の角度±Φ、±Φ、±Φ、・・・±Φiを積算し、回転角保持レジスタR51は、積算された仮の角度を保持する。仮の角度Φiが収束したときに、回転角保持レジスタR51に格納された角度は、第1の現実の座標から中間座標への回転角Φ/2となる。回転角保持レジスタR51内の回転角は、サンプリングごとに更新される。ここで、積算とは、前回の演算結果に対して加算または減算をさらに繰り返して演算することである。例えば、積算された仮の角度は、Φ−Φ+Φ−Φ+・・・のように表すことができる。
実際のロータの回転角度は、回転角度レジスタR51内のデータを2倍にすることによって求め得る。データを2倍にすることは、デジタル値を1ビットだけ左シフトすれば足りる。左シフトとは、或る数値がより大きい値になる方向へ桁をシフトさせることである。従って、このときの演算に乗算器は不要である。この演算は、回転角度レジスタR51、角速度保持レジスタR61、あるいは、FPGA50の外部回路のいずれが行ってもよい。
現実の座標のサンプリング周期は一定であるので、ロータの回転角度Φの値は、そのまま相対的な角速度として用いることができる。現実の座標のサンプリング周期を単位時間とすれば、ロータの回転角度Φの値は、そのまま絶対的な角速度として用いることができる。角速度は、角速度保持レジスタR61に格納され、必要に応じて出力される。角速度保持レジスタR61内の角速度は、サンプリングごとに更新される。
尚、加算器80は、ローテータ58から中間座標(sin(θ+Φ/2),cos(θ+Φ/2))を獲得してもよい。第1の計算上の座標および第2の計算上の座標は、同一中間座標へ収束するからである。
エリア判別部54は、第1のレジスタR11に格納された第1の現実の座標が属する領域または第3のレジスタR31に格納された第1の計算上の座標が属する領域のいずれか一方を判別する。即ち、エリア判別部54は、選択部56により選択された座標が属する領域を判別する。判別部55は、第2のレジスタR21に格納された第2の現実の座標が属する領域または第4のレジスタR41に格納された第2の計算上の座標が属する領域のいずれか一方を判別する。即ち、エリア判別部55は、選択部57により選択された座標が属する領域を判別する。
次に、ローテータ51および58の具体的演算内容を説明する。第1および第2の計算上の座標(xxc,yyc)は式1または式2のように表わすことができる。比較器53は、判別部54および55の判別結果に基づいて式1または式2のいずれかを選択する。ローテータ51および58は、比較器53の比較結果に基づいて式1または式2の演算を実行する。ローテータ58は、インバータ60によって比較器53の比較結果の反転信号を受信する。従って、ローテータ58は、第2の現実の座標または第2の計算上の座標を、第1の現実の座標または第1の計算上の座標の移動方向と反対方向へ移動させるように演算を行う。
Figure 0004987448
但し、tanΦi=2−i(i=0、1、2・・・n)である。i=0のとき、ローテータ51に与える初期値としての第1の現実の座標は、xxci−1=x1、yyci−1=y1である。また、ローテータ58に与える初期値としての第2の現実の座標は、xxci−1=x2、yyci−1=y2である。
式1および式2ついて説明する。まず、第1の現実の座標および第2の現実の座標は式3〜式6のように表わすことができる。
x(i−1)=cosθ (式3)
y(i−1)=sinθ (式4)
x(i)=cos(θ+Φ) (式5)
y(i)=sin(θ+Φ) (式6)
式5および式6を三角関数の加法定理を用いて変形すると、式7および式8となる。
x(i)=cosθ・cosΦ−sinθ・sinΦ (式7)
y(i)=sinθ・cosΦ+cosθ・sinΦ (式8)
式7および式8に式3および式4を代入し、変形すると、式9〜式12が得られる。
x(i)/cosΦ=x(i−1)−y(i−1)・tanΦ(式9)
y(i)/cosΦ=y(i−1)+x(i−1)・tanΦ(式10)
x(i)/cosΦをxxc(i)とし、y(i)/cosΦをyyc(i)とすると、式9および式10はそれぞれ式11および式12のように表すことができる。
xxc(i)=x(i−1)−y(i−1)・tanΦ (式9)
yyc(i)=y(i−1)+x(i−1)・tanΦ (式10)
ここで、CORDICアルゴリズムを利用する。より詳細には、tanΦの値を式11のように±2−iに制限する。このように制限されたtanΦをtanΦiとする。
tanΦi=±2−i=±1,±2−1,±2−2,・・・ (i=0、1、2、・・・n) (式11)
このとき、Φiが取り得る値は、式12のように制限される。この角度Φiは離散的な数値をとり、このΦiが“仮の角度”である。
Φi=tan−1(±2−i)=±0.78rad,±0.46rad,±0.25rad,±0.12rad・・・ (式12)
式9および式10に三角関数の値tanΦiを代入すると計算上の座標が得られる。ここで、ローテータ51および58の各初期値(i=0)は、それぞれ図2の第1のレジスタR11に格納された第1の現実の座標(x1、y1)および第2のレジスタR21に格納された第2の現実の座標(x2、y2)である。即ち、ローテータ51において、(xxc(0)、xxc(0))=(x1、y1)、ローテータ58において、(xxc(0)、xxc(0))=(x2、y2)である。第1および第2の現実の座標は、第1および第2のサンプリングで判明している。
(最初の演算(i=0))
ローテータ51は、初期値としての第1の現実の座標(x1、y1)を式9および式10に代入した演算を最初に実行する。即ち、ローテータ51は、式13および式14を実行する。このとき、選択部56は、第1のレジスタR11を選択する。
xxc1=x1−y1・tanΦ0 (式13)
yyc1=y1+x1・tanΦ0 (式14)
式11に示したとおり、tanΦi=±2−iである。従って、式13および式14に含まれる乗算項(y1・tanΦ0)および(x1・tanΦ0)は、三角関数の値tanΦ0=±2−iに基いて、デジタル値(バイナリ値)として表されたy1およびx1の桁を単にシフトすれば足りる。つまり、ローテータ51は、実際には乗算を演算する必要は無い。これにより、ローテータ51には、乗算器が不要となる。ただし、式13、式14で示す最初の演算では、tanΦ0=1であるので、ローテータ51は、桁のシフトを行わない。その後、ローテータ51は、x1またはy1と乗算項の結果値とを加算または減算する。これにより、ローテータ51は、乗算なしに、式13および式14を演算することができる。
一方、ローテータ58は、初期値としての第2の現実の座標(x2、y2)を式9および式10に代入した演算を最初に実行する。即ち、ローテータ58は、式15および式16を実行する。このとき、選択部57は、第2のレジスタR21を選択する。
xxc2=x2+y2・tanΦ0 (式15)
yyc2=y2−x2・tanΦ0 (式16)
ローテータ58も、式15および式16に含まれる乗算項(y2・tanΦ0)および(x2・tanΦ0)の演算をするために、実際には乗算を演算する必要は無く、デジタル値(バイナリ値)として表されたy2またはx2の桁を単にシフトすればよい。これにより、ローテータ58には、乗算器が不要となる。ただし、式15および式16で示された最初の演算では、tanΦ0=1であるので、ローテータ58は、桁のシフトを行わない。その後、ローテータ58は、x2またはy2と乗算項の結果値とを加算または減算する。これにより、ローテータ58は、乗算なしに、式15および式16を演算することができる。
(2回目以降の演算(i=1・・・))
2回目以降の演算では、ローテータ51および58は、式1または式2を用いる。
ローテータ51において演算された第1の計算上の座標(xxc1、yyc1)は、第3のレジスタR31に格納される。その後、選択部56は、第3のレジスタR31を選択し、第1の計算上の座標(xxc1、yyc1)をローテータ51に送る。ローテータ51は、第1の計算上の座標(xxc1、yyc1)を、それぞれ式1または式2のxxci−1およびyyci−1に代入し、演算を繰り返す。これにより、第1の計算上の座標(xxc2、yyc2)が得られる。第1の計算上の座標(xxc2、yyc2)は、(xxc1、yyc1)に代わり、第3のレジスタR31に上書きされる。つまり、ローテータ51は、最初の1回目の演算では式13および式14を演算し、その後は、式1または式2の演算を繰り返す。
式1および式2に含まれる乗算項(yyci−1・tanΦ0)および(xxci−1・tanΦ0)は、三角関数の値tanΦi=±2−iに基いて、デジタル値(バイナリ値)として表されたyyci−1およびxxci−1の桁を単にシフトすれば足りる。本実施形態では、ローテータ51は、yyci−1およびxxci−1をiだけ右シフトさせる。右シフトとは、或る数値がより小さい値になる方向へ桁をシフトさせることである。つまり、式1および式2に関して、ローテータ51は、実際には乗算を演算する必要は無い。その後、ローテータ51は、xxci−1またはyyci−1と乗算項の結果値とを加算または減算する。これにより、ローテータ51は、乗算なしに、式1または式2を演算することができる。iの値は演算ごとに1つずつ大きくなるので、乗算項のシフト量は演算ごとに大きくなる。これにより、計算上の座標(xxc、yyc)は、演算ごとに収束する。この演算で用いられた仮の角度Φiは、演算ごとに回転角度レジスタR51に積算される。
また、ローテータ58で演算された第2の計算上の座標(xxc1、yyc1)は、第4のレジスタR31に格納される。その後、選択部57は第4のレジスタR41を選択し、xx1およびyy1をローテータ58に送る。ローテータ58は、xx1およびyy1を、式1または式2のxxi−1およびyyi−1に代入し、演算を繰り返す。これにより、xx2およびyy2が得られる。つまり、ローテータ58は、最初の1回目の演算では式15および式16を演算し、その後、ローテータ51と同様に式1または式2の演算を繰り返す。
ローテータ58も、ローテータ51と同様に、式1および式2に関して乗算を演算する必要は無い。その後、ローテータ58は、xxci−1またはyyci−1と乗算項の結果値とを加算または減算する。これにより、ローテータ58も、乗算なしに、式1または式2を演算することができる。
式9および式10において、x(i)/cosΦをxxc(i)と置換し、y(i)/cosΦをyyc(i)と置換した意味は、cosΦの乗算を演算から除くためである。このように置換することで、ローテータが実質的に乗算を演算する必要が無くなる。尚、計算上の座標として得られる結果(xxc1、yyc2)は、座標にcosΦを割り算した値である。これは、あくまでも演算途中の計算上の結果であり、角度Φ/2が最終的に得られれば差し支えない。
上記ローテータ51および58の演算動作は、演算時間短縮のために各iについて同時に実行される。尚、ロータの回転方向によって、式13〜式16内の+、−の符号は、逆符号になる場合もある。
式11および式12に示す各iに対する離散的な数値は、予め設定されており、メモリ52および59に記憶されている。即ち、メモリ52および59は、仮の角度Φi、仮の角度Φiのそれぞれに対する三角関数の値tanΦiを各iごとに記憶している。
ローテータ51および58は、それぞれメモリ52および59に記憶された式11に示す数値を獲得する。ローテータ51および58は、式1または式2に示す第1および第2の計算上の座標(xxci,yyci)を各iに関してi=0、1、2・・・の順番で計算する。
式1は、仮の角度が正である場合に成り立つ式であり、式2は、仮の角度が負である場合に成り立つ式である。式1および式2のΦiは、絶対値で表示されている。即ち、式2は、式1のΦiに−Φiを代入して得られる式である。仮の角度が正(+Φi)である場合、ローテータ51および58は、図4に示す反時計回り方向CCWへ計算上の座標を移動させる。仮の角度が負(−Φi)である場合、ローテータ51および58は、図4に示す時計回り方向CWへ計算上の座標を移動させる。ローテータ51および58は、回転方向判断部53からの信号に応じて式1または式2のいずれかを選択する。
ローテータ51および58は、第1および第2の計算上の座標を互いに接近させるために、i=0、1、2・・・nの順に式1および式2を交互または相補に演算する。つまり、ローテータ51が式1を演算するときには、ローテータ58は式2を演算し、ローテータ51が式2を演算するときには、ローテータ58は式1を演算する。第1の計算上の座標の移動方向および第2の計算上の座標の移動方向は、一方が決まれば、他方も決まるので、回転方向判別部53は1つで足りる。
仮の角度Φiは、式12に示すようにiが大きくなるにつれて小さくなる。従って、図4に示すように、第1の計算上の座標および第2の計算上の座標を、第1の現実の座標(x1,y1)と第2の現実の座標(x2,y2)との中間の座標へ収束させることができる。ローテータ51および58は、第1および第2の計算上の座標を互いに接近させるように演算するので、仮の角度Φiは、収束の結果、実際の回転角度の2分の1(Φ/2)となる。仮の角度±Φiの積算は、レジスタR51に格納されたローテータ51の演算結果を、加算器80がローテータ51の演算ごとに積算することによって実行される。尚、仮の角度±Φiの積算結果は、ローテータ58の演算結果を積算することによっても同様に得られる。
図4を参照して、演算部50の動作を概念的に説明する。ローテータ51は、まず、第1の現実の座標(x1,y1)をCCW方向へΦ0だけ回転させる。実際には、ローテータ51は、式13および式14を演算し、第1の計算上の座標を算出する。CCWは、第1の現実の座標(x1,y1)を基準として第2の第2の現実の座標(x2,y2)へ向かう方向である。
これと同時に、ローテータ58は、第2の現実の座標(x2,y2)をCW方向へΦ0だけ回転させる。実際には、ローテータ58は、式15および式16を演算し、第2の計算上の座標(xxc1,yyc1)を算出する。CWは、第2の第2の現実の座標(x2,y2)を基準として第1の現実の座標(x1,y1)へ向かう方向である。結果として、ローテータ51および58は、第1の現実の座標と第2の現実の座標とを互いに接近させる方向(互いに向かい合う方向)へ回転させるように演算する。
次に、ローテータ51は、第1の計算上の座標(xxc1,yyc1)をCW方向へΦ1だけ回転させる。実際には、ローテータ51は、式2(i=1)を演算し、第1の計算上の座標を再計算する。
これと同時に、ローテータ58は、第2の計算上の座標(xxc2,yyc2)をCCW方向へΦ1だけ回転させる。実際には、ローテータ58は、式1を演算し、第2の計算上の座標を再計算する。
次に、ローテータ51は、第1の計算上の座標(xxc1,yyc1)をCW方向へΦ1だけ回転させる。実際には、ローテータ51は、式2(i=1)を演算し、第1の計算上の座標を再計算する。これと同時に、ローテータ58は、第2の計算上の座標(xxc2,yyc2)をCCW方向へΦ1だけ回転させる。実際には、ローテータ58は、式1を演算し、第2の計算上の座標を再計算する。
次に、ローテータ51は、第1の計算上の座標をCCW方向へΦ2だけ回転させる実際には、ローテータ51は、式1(i=2)を演算し、第1の計算上の座標を再計算する。これと同時に、ローテータ58は、第2の計算上の座標をCW方向へΦ2だけ回転させる。実際には、ローテータ58は、式2を演算し、第2の計算上の座標を再計算する。
式12に示すようにiが大きくなるにつれて、仮の角度Φiの値は小さくなっていく。また、ローテータ51および58は、各演算において、第1の計算上の座標と第2の計算上の座標とを互いに接近させる方向(互いに向かい合う方向)へ回転させるように演算する。よって、ローテータ51および58が演算を繰り返すごとに、第1の計算上の座標および第2の計算上の座標は、中間座標(sin(θ+Φ/2),cos(θ+Φ/2))へ収束する。第1の計算上の座標および第2の計算上の座標が中間座標に収束したとき、仮の角度Φiは、ほぼΦ/2に等しい。
次に、回転方向判別部53が方向CWまたはCCW(式1または式2)を選択する方法を説明する。
図5は、座標を分割した8つの領域を示す図である。図6は、或る座標(x,y)が図5に示す領域I〜VIIIのいずれに属するかを判別するためのフロー図である。判別部54および55は、第1の現実の座標、第2の現実の座標、第1の計算上の座標および第2の計算上の座標が図5の領域I〜VIIIのいずれに属するかを判別する。第1の現実の座標を判別する場合には、図6の(x,y)に(x1,y1)を代入すればよい。第2の現実の座標を判別する場合には、図6の(x,y)に(x2,y2)を代入すればよい。第1または第2の計算上の座標を判別する場合には、図6の(x,y)に(xxc,yyc)を代入すればよい。
ステップS11およびS12において、x>0かつy>0である場合、座標(x,y)は、図5の領域IまたはIIに属する。さらに、ステップS13において、x≧yである場合、座標(x,y)は領域Iに属し、x<yである場合、座標(x,y)は領域IIに属することがわかる。
ステップS11およびS12において、x>0かつy≦0である場合、座標(x,y)は、図5の領域VIIまたはVIIIに属する。さらに、ステップS14において、|x|≧|y|である場合、座標(x,y)は領域VIIIに属し、|x|<|y|である場合、座標(x,y)は領域VIIに属することがわかる。
ステップS11およびS15において、x≦0かつy>0である場合、座標(x,y)は、図5の領域IIIまたはIVに属する。さらに、ステップS16において、|x|≧|y|である場合、座標(x,y)は領域IVに属し、|x|<|y|である場合、座標(x,y)は領域IIIに属することがわかる。
ステップS11およびS15において、x≦0かつy≦0である場合、座標(x,y)は、図5の領域VまたはVIに属する。さらに、ステップS17において、|x|≧|y|である場合、座標(x,y)は領域Vに属し、|x|<|y|である場合、座標(x,y)は領域VIに属することがわかる。
エリア判別部54および55は、図6のフローをASIC(Application Specific Integrated Circuit)のようなカスタムLSIで構成すればよい。
図7(A)および図7(B)は、第1の現実の座標および第2の現実の座標、または、第1の計算上の座標および第2の計算上の座標が属する領域に基づいて、第1および第2の計算上の座標の回転方向(CCWまたはCW)を規定した表である。回転方向判別部53は、図7(A)および図7(B)の表に従って、ローテータ51および58が用いる演算式(式1または式2)を選択する。
図7(A)および図7(B)の“目標”は、目標となる座標が属する領域を示す。第1の現実の座標および第2の現実の座標は、その一方が他方を目標とする。第1の計算上の座標および第2の計算上の座標は、その一方が他方を目標とする。図7(A)および図7(B)の“前回”は、前回の演算によって得られた計算上の座標(xxci−1,yyci−1)が属する領域を示す。あるいは、最初の演算では、第1の現実の座標および第2の現実の座標を示す。例えば、第1の現実の座標が領域Iに属し、第2の現実の座標が領域IIに属する場合、第1の現実の座標にとって、目標は領域IIとなる。従って、回転方向判別部53は、“目標”の領域がII であり、かつ、“前回”の領域がIである回転方向CCWを選択する。つまり、回転方向判別部53は、ローテータ51が式1を選択するように信号を送る。このとき、ローテータ58は式2を選択する。
同様に、i=1における第1の計算上の座標が領域IIに属し、第2の計算上の座標が領域Iに属する場合、第1の計算上の座標にとって、目標は領域Iとなる。従って、回転方向判別部53は、“目標”の領域がI であり、かつ、“前回”の領域がIIである回転方向CWを選択する。つまり、回転方向判別部53は、ローテータ51が式2を選択するように信号を送る。このとき、ローテータ58は式1を選択する。
第1の現実の座標と第2の現実の座標とが同一の領域に属する場合、x1とx2とを、あるいは、y1とy2とを比較する。例えば、第1の現実の座標と第2の現実の座標とがともに領域Iに属する場合、y1とy2とを比較する。y1<y2の場合には、第1の現実の座標をCCW方向へ回転させ、第2の現実の座標をCW方向へ回転させる。
第1の計算上の座標と第2の計算上の座標とが同一の領域に属する場合、第1の計算上の座標のxxciと第2の計算上の座標のxxciとを比較する。あるいは、第1の計算上の座標のyyciと第2の計算上の座標のyyciとを比較する。例えば、i=1において第1の計算上の座標と第2の計算上の座標とがともに領域Iに属する場合、第1の計算上の座標のxxc1と第2の計算上の座標のxxc1とを比較する。第1の計算上の座標のxxc1が第2の計算上の座標のxxc1より大きい場合には、第1の計算上の座標をCCW方向へ回転させ、第2の計算上の座標をCW方向へ回転させる。
このように、第1の現実の座標と第2の現実の座標とが同一の領域に属する場合、あるいは、第1の計算上の座標と第2の計算上の座標とが同一の領域に属する場合であっても、回転方向判別部53は、式1または式2を正確に選択することができる。
回転方向判別部53は、図7(A)および図7(B)の選択条件をASICのようなカスタムLSIで構成すればよい。
本実施形態において、速度検出装置100は、ロータの角速度を算出する。しかし、速度検出装置100は、往復運動をする運動体にも適用することができる。この場合、速度検出装置100は、FPGA50で得られた角速度を運動体の速度に変換すればよい。
本実施形態によれば、速度検出装置100は、速度検出の精度を悪化させていた除算や乗算を用いることなく、sin信号およびcos信号の加算および減算のみを用いて回転角度を検出することができるので高精度である。ここで、式1および式2には、tanΦiを乗算する項が存在する。しかし、tanΦiは、=2−iであるので、tanΦiの乗算は、xxci−1またはyyci−1のデジタル値をiビットだけ右シフトすることと等価である。従って、ローテータ51および58は、実際には、乗算器を含まず、単に、デジタル値を桁下げする回路を含むだけである。
一般に、演算器をロジック回路で実現しようとすると、除算器および乗算器は、加算器および減算器に比べ、非常に回路規模が大きくなる。本実施形態では、FPGA50は、2つのローテータを含むが、これらのローテータから除算器および乗算器を省くことによって、全体の回路規模は、非常に小さいものとなる。また、除算器および乗算器がないので、本実施形態によるFPGA50は、カスタムロジックLSIで実現しやすい。本実施形態のローテータ51、58は、上述のように簡単な式を繰り返し演算する。カスタムロジックLSIは、このように簡単な演算を高速に演算することに適している。従って、本実施形態によるFPGA50は、カスタムロジックLSIを用いて演算速度を高速化することができる。即ち、本実施形態によるFPGA50は、ロジックLSIで実現した場合に特に有利であるということができる。
本実施形態において、回転角度レジスタR51は、ローテータ51の演算ごとに仮の角度を2倍した値を保持してもよい。この場合、加算器80で積算され回転角度レジスタR51に保持された仮の角度の値をそのままロータの回転角度とすることができる。
本発明に係る実施形態に従った速度検出装置100のブロック図。 FPGA50の内部構成を示すブロック図。 第1の現実の座標および第2の現実の座標の位置関係を示す図。 第1の計算上の座標および第2の計算上の座標を中間座標へ収束させるときの概念図。 座標を分割した8つの領域を示す図。 或る座標が図5に示す領域I〜VIIIのいずれに属するかを判別するためのフロー図。 第1の座標、現実の第2の座標および計算上の第2の座標のそれぞれが属する領域に基づいて、計算上の第2の座標の回転方向CCWまたはCWを規定した表。
符号の説明
50…FPGA
51、58…CORDICローテーション
52、59…メモリ
53…回転方向判別部
54、55…エリア判別部
56、57…選択部
R11…第1のレジスタ
R21…第2のレジスタ
R31…第3のレジスタ
R41…第4のレジスタ
R51…回転角度レジスタ
R61…角速度保持レジスタ

Claims (10)

  1. 回転運動または往復運動を行う運動体の位置を示す座標を周期的にサンプリングし、前記座標に基づいて前記運動体の角速度を検出する速度検出装置であって、
    予め設定された複数の仮の角度、および、該複数の仮の角度のそれぞれに対する三角関数の値を記憶するメモリと、
    第1のサンプリングで得られた運動体の第1の現実の座標を格納する第1のレジスタと、
    前記第1のサンプリングの次の第2のサンプリングで得られた運動体の第2の現実の座標を格納する第2のレジスタと、
    前記第1の現実の座標(x1、y1)のx1と前記三角関数の値に基いてy1の桁をシフトした結果値との加算または減算によって表される第1の計算上の座標を算出する第1の演算部と、
    前記第2の現実の座標(x2、y2)のy2と前記三角関数の値に基いてx2の桁をシフトした結果値との加算または減算によって表される第2の計算上の座標を算出する第2の演算部と、
    前記第1または前記第2の演算部における演算で用いられた前記仮の角度を積算する第3の演算部とを備え、
    前記第1および前記第2の演算部は、前記第1および前記第2の計算上の座標を互いに接近させるように演算することを特徴とする速度検出装置。
  2. 前記第1および前記第2の演算部は、前記仮の角度を小さくしつつ、前記第1および前記第2の計算上の座標を収束させるように演算を繰り返し、
    前記第3の演算部は、前記第1または前記第2の演算部における演算で収束する前記仮の角度を積算し、前記第1および前記第2の計算上の座標が収束したときの該仮の角度に基づいて前記運動体の角速度を生成することを特徴とする請求項1に記載の速度検出装置。
  3. 前記メモリは、前記仮の角度としてΦi(Φ>Φ>Φ>・・・>Φi>・・・Φ)(nは自然数)、前記三角関数の値としてtanΦiを記憶し、
    前記第1または前記第2の計算上の座標を(xxc,yyc)とすると、
    Figure 0004987448
    (但し、Φi=tan−1−i(i=0、1、2・・・n)であり、i=0のとき、前記第1の演算部においては、xxci−1=x1、yyci−1=y1であり、前記第2の演算部においては、xxci−1=x2、yyci−1=y2である)
    前記第1および前記第2の演算部は、i=0、1、2・・・nの順に式1または式2を演算し、
    前記第3の演算部は、前記仮の角度をiごとに積算することを特徴とする請求項1または請求項2に記載の速度検出装置。
  4. 前記第1および前記第2の演算部は、i=0、1、2・・・nの順に式1および式2を交互または相補に演算し、かつ、前記第1の演算部が式1を演算するときには、前記第2の演算部は式2を演算し、前記第1の演算部が式2を演算するときには、前記第2の演算部は式1を演算することを特徴とする請求項3に記載の速度検出装置。
  5. 前記第1の計算上の座標を保持する第3のレジスタと、
    前記第2の計算上の座標を保持する第4のレジスタと、
    前記第3の演算部で積算された前記仮の角度を保持する第5のレジスタとをさらに備えたことを特徴とする請求項2に記載の速度検出装置。
  6. 前記サンプリング周期を単位時間にすることによって、前記第3の演算部で積算された前記仮の角度の2倍を前記運動体の角速度とすることを特徴とする請求項2から請求項5のいずれかに記載の速度検出装置。
  7. 前記第3の演算部で積算された前記仮の角度は、前記運動体の回転角度の2分の1であることを特徴とする請求項2から請求項5のいずれかに記載の速度検出装置。
  8. 当該速度検出装置は、ロータリエンコーダまたはリニアスケールに配備されていることを特徴とする請求項1に記載の速度検出装置。
  9. 回転運動または往復運動を行う運動体の位置を示す座標を周期的にサンプリングし、前記座標に基づいて前記運動体の角速度を検出する速度検出装置であって、
    予め設定された複数の仮の角度Φ(Φ>Φ>Φ>・・・>Φ>・・・Φ)(nは自然数)、および、該複数の仮の角度のそれぞれに対する三角関数の値tanΦを記憶するメモリと、
    第1のサンプリングで得られた運動体の第1の現実の座標(x1,y1)を格納する第1のレジスタと、
    前記第1のサンプリングの次の第2のサンプリングで得られた運動体の第2の現実の座標(x2,y2)を格納する第2のレジスタと、
    前記第1の現実の座標(x1、y1)と前記三角関数の値tanΦiに基いて式1または式2を演算する第1の演算部と、
    前記第2の現実の座標(x2、y2)と前記三角関数の値tanΦiに基いて式1または式2を演算する第2の演算部と、
    前記第1または前記第2の演算部における演算で用いられた前記仮の角度Φiを積算する第3の演算部とを備え、
    Figure 0004987448
    (但し、Φi=tan−1−i(i=0、1、2・・・n)であり、i=0のとき、前記第1の演算部においては、xxci−1=x1、yyci−1=y1であり、前記第2の演算部においては、xxci−1=x2、yyci−1=y2である)
    前記第1および前記第2の演算部は、i=0、1、2・・・nの順に式1または式2を演算し、
    前記第3の演算部は、前記仮の角度をiごとに積算することを特徴とする速度検出装置。
  10. 前記第1および前記第2の演算部は、i=0、1、2・・・nの順に式1および式2を交互または相補に演算し、かつ、前記第1の演算部が式1を演算するときには、前記第2の演算部は式2を演算し、前記第1の演算部が式2を演算するときには、前記第2の演算部は式1を演算することを特徴とする請求項9に記載の速度検出装置。
JP2006328311A 2006-12-05 2006-12-05 速度検出装置 Expired - Fee Related JP4987448B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006328311A JP4987448B2 (ja) 2006-12-05 2006-12-05 速度検出装置
DE102007057476A DE102007057476B4 (de) 2006-12-05 2007-11-29 Geschwindigkeitserfassungsvorrichtung
KR1020070124972A KR100959215B1 (ko) 2006-12-05 2007-12-04 속도 검출 장치
US11/949,816 US7668689B2 (en) 2006-12-05 2007-12-04 Velocity detection apparatus
CN2007101968560A CN101196532B (zh) 2006-12-05 2007-12-05 速度检测装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006328311A JP4987448B2 (ja) 2006-12-05 2006-12-05 速度検出装置

Publications (2)

Publication Number Publication Date
JP2008139257A JP2008139257A (ja) 2008-06-19
JP4987448B2 true JP4987448B2 (ja) 2012-07-25

Family

ID=39432006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006328311A Expired - Fee Related JP4987448B2 (ja) 2006-12-05 2006-12-05 速度検出装置

Country Status (5)

Country Link
US (1) US7668689B2 (ja)
JP (1) JP4987448B2 (ja)
KR (1) KR100959215B1 (ja)
CN (1) CN101196532B (ja)
DE (1) DE102007057476B4 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4987269B2 (ja) * 2005-08-22 2012-07-25 東芝機械株式会社 速度検出装置およびサーボモータ
JP5079346B2 (ja) * 2007-01-30 2012-11-21 東芝機械株式会社 波形補正装置および波形補正方法
JP2009281883A (ja) * 2008-05-22 2009-12-03 Toshiba Mach Co Ltd 速度検出装置およびサーボモータ
DE102014219004A1 (de) * 2014-09-22 2016-03-24 Continental Teves Ag & Co. Ohg Signalverarbeitungsvorrichtung zur Verarbeitung eines Messsignals in einem Kraftfahrzeug
CN114707110B (zh) * 2022-06-07 2022-08-30 中科亿海微电子科技(苏州)有限公司 一种三角函数和双曲函数扩展指令计算装置及处理器核

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4152645A (en) * 1977-05-26 1979-05-01 Acurex Corporation Method and apparatus for producing an analogue output proportional to rotational speed employing digital to analogue conversion
JPH07294992A (ja) * 1994-04-27 1995-11-10 Nikon Corp 振れ補正機能を有する撮影装置
KR19990085924A (ko) 1998-05-22 1999-12-15 윤종용 삼각함수 생성장치 및 방법
EP1471332A1 (en) * 2003-04-17 2004-10-27 Dialog Semiconductor GmbH Digital interface for an angular sensor
EP1711888A1 (en) * 2004-01-28 2006-10-18 Koninklijke Philips Electronics N.V. Implementation of the cordic algorithm for complex phase rotation
DE602005012743D1 (de) * 2004-01-29 2009-04-02 Panasonic Corp Verfahren und Vorrichtung zu Berechnung der Lenkwinkelgeschwindigkeit
JP2006201148A (ja) 2004-12-22 2006-08-03 Toshiba Mach Co Ltd 信号処理装置、信号処理方法、信号処理プログラム、信号処理プログラムを記録した記録媒体、速度検出装置、サーボ機構
JP4987269B2 (ja) * 2005-08-22 2012-07-25 東芝機械株式会社 速度検出装置およびサーボモータ
US7932692B2 (en) * 2006-11-13 2011-04-26 Denso Corporation Control system for rotary electric machine with salient structure

Also Published As

Publication number Publication date
CN101196532B (zh) 2010-12-22
DE102007057476A1 (de) 2008-06-26
DE102007057476B4 (de) 2010-09-09
CN101196532A (zh) 2008-06-11
US7668689B2 (en) 2010-02-23
KR20080052418A (ko) 2008-06-11
US20080133172A1 (en) 2008-06-05
KR100959215B1 (ko) 2010-05-19
JP2008139257A (ja) 2008-06-19

Similar Documents

Publication Publication Date Title
JP4987448B2 (ja) 速度検出装置
JP4987269B2 (ja) 速度検出装置およびサーボモータ
CN108733349B (zh) 一种基于定点数的三角函数运算电路
KR101239570B1 (ko) 속도 검출 장치 및 서보 모터
JP4757328B2 (ja) 逆正接演算装置及び逆正接演算プログラム
JP3460017B2 (ja) R/dコンバータ
JP4515120B2 (ja) レゾルバディジタル角度変換装置および方法ならびにプログラム
JP5079346B2 (ja) 波形補正装置および波形補正方法
US10312837B2 (en) Information processing apparatus, and recording medium storing computer program
WO2019032751A1 (en) INTERRUPTIBLE TRIGONOMETRIC OPERATIONS
JP2008185459A (ja) 位置検出装置
JP2617733B2 (ja) 初等関数演算装置
KR20070022597A (ko) 속도 검출 장치 및 서보 모터
JP6750857B2 (ja) 座標データ回転演算装置及び座標データ回転演算方法
JP3967963B2 (ja) アブソリュート変位検出装置
JP2021012052A (ja) 座標データ回転演算装置及び座標データ回転演算方法
US7873493B2 (en) Method and device for determining angular position
JPH05256638A (ja) 誤差補正機能付き位置検出装置
CN114111797A (zh) 基于fpga的卡尔曼滤波器、ip核及导航用芯片
CN117235423A (zh) 一种利用cordic实现角度计算的方法
JPH10227657A (ja) 誤差補正機能付き位置検出装置
CN114840171A (zh) 三角函数计算方法及装置
JPS59168546A (ja) デジタル関数計算装置
JPH0382913A (ja) エンコーダの信号処理回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091023

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

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: 20120327

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120425

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees