(57)【要約】【課題】システム全体の複雑化や高コスト化を招くことなく、回転角度を高い精度で検出することが可能な磁気センサ信号処理プログラム及び磁気センサモジュールを提供すること。【解決手段】磁気センサを含むブリッジ回路から出力される出力信号Ｖ0（周期：λ）を、磁場の回転角度に対して周期がλである初期三角波からなる初期補正出力Ｅ0で近似する。次に、出力信号Ｖ0に対して、初期補正出力Ｅ0と出力信号Ｖ0との電圧誤差Δｅ0を、第１三角波からなる第１誤差関数ΔＥ1で近似する。さらに、初期補正出力Ｅ0と第１誤差関数ΔＥ1との和（＝Ｅ0＋ΔＥ1）を第１補正出力Ｅ1とし、これを用いて前記回転磁場の回転角度を算出する。【選択図】図１３
2016211979.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、以下の手段として機能させるための磁気センサ信号処理プログラム。
（１）磁気センサ（Ａ）を含むブリッジ回路（Ａ相）に回転磁場が作用したときに、前記ブリッジ回路（Ａ相）から出力される出力信号（Ａ相）を入力し、メモリーに記憶させるＡ相信号入力手段。
（２）磁気センサ（Ｂ）を含み、前記ブリッジ回路（Ａ）とは機械角度が４５°異なるように配置されたブリッジ回路（Ｂ相）に回転磁場が作用したときに、前記ブリッジ回路（Ｂ相）から出力される出力信号（Ｂ相）を入力し、前記メモリーに記憶させるＢ相信号入力手段。
（３）前記出力信号Ｖ0の振幅から前記回転磁場の強さを算出する磁場強度算出手段。
（４）前記出力信号（Ａ相）及び前記出力信号（Ｂ相）のそれぞれについて、以下の処理を実行する誤差補正手段。
（４．１）磁場の回転角度に対して周期がλである前記出力信号Ｖ0を、周期がλである初期三角波（一次関数の組み合わせからなる鋸歯状に折れ曲がった波形を含む。以下同じ。）からなる初期補正出力Ｅ0で近似し、これを前記メモリーに記憶させる三角波近似手段。
（４．２）前記出力信号Ｖ0に対して、前記初期補正出力Ｅ0と前記出力信号Ｖ0との電圧誤差Δｅ0（＝Ｖ0−Ｅ0）を第１三角波で近似したときに、前記回転磁場の強さと前記第１三角波の波形情報（振幅及び極値の位置）との関係であって、角度誤差がより小さくなる関係を予め前記メモリーに記憶させておき、
前記回転磁場の強さに対応する前記第１三角波の波形情報を前記メモリーから読み出し、これを第１誤差関数ΔＥ1として前記メモリーに記憶させる第１誤差関数算出手段。
（４．３）前記初期補正出力Ｅ0と前記第１誤差関数ΔＥ1との和（＝Ｅ0＋ΔＥ1）を第１補正出力Ｅ1とし、これを前記メモリーに記憶させる第１補正出力算出手段。
（５）前記出力信号（Ａ相）に対応する前記第１補正出力Ｅ1及び前記出力信号（Ｂ相）に対応する前記第１補正出力Ｅ1用いて、前記回転磁場の回転角度を算出する回転角度算出手段。
【請求項２】
以下の手段をさらに備えた請求項１に記載の磁気センサ信号処理プログラム。
（４．４）前記出力信号Ｖ0に対して、前記第（ｎ−１）補正出力Ｅn-1（ｎは、２以上の整数）と前記出力信号Ｖ0との電圧誤差Δｅn-1（＝Ｖ0−Ｅn-1）を第ｎ三角波で近似したときに、前記回転磁場の強さと前記第ｎ三角波の波形情報（振幅及び極値の位置）との関係であって、角度誤差がより小さくなる関係を予め前記メモリーに記憶させておき、
前記回転磁場の強さに対応する前記第ｎ三角波の波形情報を前記メモリーから読み出し、これを第ｎ誤差関数ΔＥnとして前記メモリーに記憶させる第ｎ誤差関数算出手段。
（４．５）前記第（ｎ−１）補正出力Ｅn-1と前記第ｎ誤差関数ΔＥnとの和（＝Ｅn-1＋ΔＥn）を第ｎ補正出力Ｅnとし、これを前記メモリーに記憶させる第ｎ補正出力算出手段。
（５’）前記出力信号（Ａ相）に対応する前記第ｎ補正出力Ｅn及び前記出力信号（Ｂ相）に対応する前記第ｎ補正出力Ｅn用いて、前記回転磁場の回転角度を算出する回転角度算出手段。
【請求項３】
前記三角波近似手段は、前記出力信号（Ａ相）及び前記出力信号（Ｂ相）として、それぞれ、ピン角補正されたものを用いて、前記初期補正出力Ｅ0を算出するものであり、
前記ピン角補正は、
（ａ）前記出力信号（Ａ相）の絶対値｜Ｘ｜、及び、前記出力信号（Ｂ相）の絶対値｜Ｙ｜を算出し、
（ｂ）前記絶対値｜Ｘ｜、及び絶対値｜Ｙ｜を相互に加算し、
（ｃ）加算値｜Ｘ｜＋｜Ｙ｜が基準電圧に一致するように、前記ブリッジ回路（Ａ）及び前記ブリッジ回路（Ｂ）の電源電圧をフィードバック制御する
ことにより行われたものである
請求項１又は２に記載の磁気センサ信号処理プログラム。
【請求項４】
前記三角波近似手段は、前記出力信号（Ａ相）及び前記出力信号（Ｂ相）として、それぞれ、ゲイン調整が行われたものを用いる請求項１から３までのいずれか１項に記載の磁気センサ信号処理プログラム。
【請求項５】
前記磁気センサ（Ａ）及び前記磁気センサ（Ｂ）は、それぞれ、その出力がランジュバン関数で近似できるものからなる請求項１から４までのいずれか１項に記載の磁気センサ信号処理プログラム。
【請求項６】
以下の構成を備えた磁気センサモジュール。
（１）前記磁気センサモジュールは、
磁気センサ（Ａ）を含むブリッジ回路（Ａ相）と、
磁気センサ（Ｂ）を含み、前記ブリッジ回路（Ａ）とは機械角度が４５°異なるように配置されたブリッジ回路（Ｂ相）と、
前記磁気センサ（Ａ）及び前記磁気センサ（Ｂ）に回転磁場を作用させるための磁場発生部と、
前記ブリッジ回路（Ａ）及び前記ブリッジ回路（Ｂ）に電圧を印加する電源と、
前記ブリッジ回路（Ａ相）及び前記ブリッジ回路（Ｂ相）に接続された中央演算処理装置と、
前記中央演算処理装置に接続されたメモリーと
を備えている。
（２）前記メモリーには、請求項１から５までのいずれか１項に記載の磁気センサ信号処理プログラムが記憶されている。
【請求項７】
前記出力信号（Ａ相）及び前記出力信号（Ｂ相）のピン角補正を行うピン角補正手段をさらに備え、
前記ピン角補正手段は、
（ａ）前記出力信号（Ａ相）の絶対値｜Ｘ｜、及び、前記出力信号（Ｂ相）の絶対値｜Ｙ｜を算出し、
（ｂ）前記絶対値｜Ｘ｜、及び絶対値｜Ｙ｜を相互に加算し、
（ｃ）加算値｜Ｘ｜＋｜Ｙ｜が基準電圧に一致するように、前記ブリッジ回路（Ａ）及び前記ブリッジ回路（Ｂ）の電源電圧をフィードバック制御する
ものからなる請求項６に記載の磁気センサモジュール。
【請求項８】
前記出力信号（Ａ相）及び前記出力信号（Ｂ相）のゲイン調整を行うゲイン調整手段をさらに備えた請求項６又は７に記載の磁気センサモジュール。
【請求項９】
前記磁気センサ（Ａ）及び前記磁気センサ（Ｂ）は、それぞれ、その出力がランジュバン関数で近似できるものからなる請求項６から８までのいずれか１項に記載の磁気センサモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気センサ信号処理プログラム及び磁気センサモジュールに関し、さらに詳しくは、回転情報の検出に用いられる磁気センサの信号処理を行うための磁気センサ信号処理プログラム、及び、これを用いた磁気センサモジュールに関する。
【背景技術】
【０００２】
磁気センサは、電磁気力（例えば、電流、電圧、電力、磁場、磁束など。）、力学量（例えば、位置、速度、加速度、変位、距離、張力、圧力、トルク、温度、湿度など。）、生化学量等の被検出量を、磁場を介して電圧に変換する電子デバイスである。磁気センサは、磁場の検出方法に応じて、ホールセンサ、異方的磁気抵抗（ＡＭＲ：  Anisotropic Magneto-Resistance）センサ、トンネル磁気抵抗（ＴＭＲ：  Tunnel Magneto Resistance）センサ等に分類される。
【０００３】
このような磁気センサは、従来から、
（ａ）自動車の車軸、ロータリーエンコーダ、産業用歯車等の回転情報の検出、
（ｂ）油圧式シリンダ／空気式シリンダのストロークポジション、工作機械のスライド等の位置・速度情報の検出、
（ｃ）工業用溶接ロボットのアーク電流等の電流情報の検出、
（ｄ）地磁気方位コンパスなどに用いる方位の検出
などに用いられている。
【０００４】
ＴＭＲ素子のように、その出力がランジュバン関数で近似される磁気センサを回転磁場の検出に用いた場合、回転磁場に対する出力は、正弦波ではなく、擬似的な三角波となることが分かっている。一般に、正弦波で出力される場合には、取得した素子の２相出力から逆正接（Arctangent）演算により角度を算出する方法が用いられる。一方、三角波で出力される場合には、素子から取得した出力信号を比例計算することで角度を算出することができる。
【０００５】
しかしながら、擬似的な三角波の場合、理想的な三角波から逸脱するため、角度演算に誤差を生じる。これを解決するために、２相信号（Ａ相、Ｂ相）を切り替えることで角度を演算する方法が提案されている（特許文献１）。また、擬似的な三角波を、素子を駆動する電源電圧を用いてピン角補正することで、理想的な三角波に近づける方法が提案されている（特許文献２）。
【０００６】
２相信号を切り替えることにより角度を演算する方法を用いると、誤差の大きい三角波の頂点近傍を避けて回転角度を算出することができる。この方法の場合、回転磁場が良好な状態で角度誤差は０．５°を下回る。しかしながら、回転磁場の強さが変化する場合には、角度誤差は増加し、０．５°を超える場合がある。
一方、電源電圧を用いてピン角補正する方法を用いると、三角波の頂点近傍における角度誤差を小さくすることができる。しかし、この方法においても、角度誤差が最良となる磁場の強さ以外の回転磁場に対して、角度誤差は１°を超える。このため、角度の検出時に回転磁場の強さが変化（例えば、磁石とセンサの距離が変化）したり、温度変化によるセンサの出力変動が発生する場合には、角度誤差を０．５°以下にすることができない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−０３３４８１号公報
【特許文献２】特開２００８−１０１９５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明が解決しようとする課題は、磁気センサに作用する回転磁場の強さが変化する場合であっても、システム全体の複雑化と高コスト化を招くことなく、回転角度を高い精度で検出することが可能な磁気センサ信号処理プログラム、及び、これを用いた磁気センサモジュールを提供することにある。
また、本発明が解決しようとする他の課題は、磁気センサ出力が理想的な三角波から大きく逸脱するような回転磁場が作用する場合であっても、システム全体の複雑化と高コスト化を招くことなく、回転角度を高い精度で検出することが可能な磁気センサ信号処理プログラム、及び、これを用いた磁気センサモジュールを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために本発明に係る磁気センサ信号処理プログラムは、コンピュータを、以下の手段として機能させることを要旨とする。
（１）磁気センサ（Ａ）を含むブリッジ回路（Ａ相）に回転磁場が作用したときに、前記ブリッジ回路（Ａ相）から出力される出力信号（Ａ相）を入力し、メモリーに記憶させるＡ相信号入力手段。
（２）磁気センサ（Ｂ）を含み、前記ブリッジ回路（Ａ）とは機械角度が４５°異なるように配置されたブリッジ回路（Ｂ相）に回転磁場が作用したときに、前記ブリッジ回路（Ｂ相）から出力される出力信号（Ｂ相）を入力し、前記メモリーに記憶させるＢ相信号入力手段。
（３）前記出力信号Ｖ0の振幅から前記回転磁場の強さを算出する磁場強度算出手段。
（４）前記出力信号（Ａ相）及び前記出力信号（Ｂ相）のそれぞれについて、以下の処理を実行する誤差補正手段。
（４．１）磁場の回転角度に対して周期がλである前記出力信号Ｖ0を、周期がλである初期三角波（一次関数の組み合わせからなる鋸歯状に折れ曲がった波形を含む。以下同じ。）からなる初期補正出力Ｅ0で近似し、これを前記メモリーに記憶させる三角波近似手段。
（４．２）前記出力信号Ｖ0に対して、前記初期補正出力Ｅ0と前記出力信号Ｖ0との電圧誤差Δｅ0（＝Ｖ0−Ｅ0）を第１三角波で近似したときに、前記回転磁場の強さと前記第１三角波の波形情報（振幅及び極値の位置）との関係であって、角度誤差がより小さくなる関係を予め前記メモリーに記憶させておき、
前記回転磁場の強さに対応する前記第１三角波の波形情報を前記メモリーから読み出し、これを第１誤差関数ΔＥ1として前記メモリーに記憶させる第１誤差関数算出手段。
（４．３）前記初期補正出力Ｅ0と前記第１誤差関数ΔＥ1との和（＝Ｅ0＋ΔＥ1）を第１補正出力Ｅ1とし、これを前記メモリーに記憶させる第１補正出力算出手段。
（５）前記出力信号（Ａ相）に対応する前記第１補正出力Ｅ1及び前記出力信号（Ｂ相）に対応する前記第１補正出力Ｅ1用いて、前記回転磁場の回転角度を算出する回転角度算出手段。
【００１０】
本発明に係る磁気センサモジュールは、以下の構成を備えていることを要旨とする。
（１）前記磁気センサモジュールは、
磁気センサ（Ａ）を含むブリッジ回路（Ａ相）と、
磁気センサ（Ｂ）を含み、前記ブリッジ回路（Ａ）とは機械角度が４５°異なるように配置されたブリッジ回路（Ｂ相）と、
前記磁気センサ（Ａ）及び前記磁気センサ（Ｂ）に回転磁場を作用させるための磁場発生部と、
前記ブリッジ回路（Ａ）及び前記ブリッジ回路（Ｂ）に電圧を印加する電源と、
前記ブリッジ回路（Ａ相）及び前記ブリッジ回路（Ｂ相）に接続された中央演算処理装置と、
前記中央演算処理装置に接続されたメモリーと
を備えている。
（２）前記メモリーには、本発明に係る磁気センサ信号処理プログラムが記憶されている。
【発明の効果】
【００１１】
出力が擬似的な三角波となる磁気センサに対して理想的な強さの回転磁場が作用する場合、三角波の頂点近傍の角度誤差は大きくなるが、三角波の辺上の角度誤差は相対的に小さくなる。しかしながら、回転磁場の強さが理想的な強さから大きく逸脱すると、三角波の頂点近傍だけでなく、三角波の辺上においても、角度誤差が大きくなる。
【００１２】
これに対し、
（ａ）ブリッジ回路から出力される磁場の回転角度に対して周期λの出力信号Ｖ0を、周期λの初期三角波からなる初期補正出力Ｅ0で近似し、
（ｂ）出力信号Ｖ0に対して、出力信号Ｖ0と初期補正出力Ｅ0との電圧誤差Δｅ0を、第ｎ三角波からなる第ｎ誤差関数の和ΣΔＥn（ｎは、１以上の整数）で近似し、さらに、
（ｃ）この初期補正出力Ｅ0及び第ｎ誤差関数の和ΣΔＥnを用いて出力信号Ｖ0を補正することで、
回転磁場の強さが変動する場合であっても、三角波の辺上における角度誤差が小さくなる。しかも、誤差関数は、一次関数の組み合わせであり、その演算は、比較的容易であるため、 システム全体の複雑化と高コスト化を招くこともない。
【図面の簡単な説明】
【００１３】
【図１】出力がランジュバン関数で近似される素子のＭＲカーブである。
【図２】素子の飽和感度（Ｈk）の２０％に相当する回転磁場Ｂが作用したときの、（ａ）素子の出力波形、（ｂ）ピン角補正後の波形、及び、（ｃ）角度誤差（＝三角波演算により算出された角度−実際の角度）である。
【図３】素子の飽和感度（Ｈk）の４０％に相当する回転磁場Ｂが作用したときの、（ａ）素子の出力波形、（ｂ）ピン角補正後の波形、及び、（ｃ）角度誤差（＝三角波演算により算出された角度−実際の角度）である。
【図４】素子の飽和感度（Ｈk）の８０％に相当する回転磁場Ｂが作用したときの、（ａ）素子の出力波形、（ｂ）ピン角補正後の波形、及び、（ｃ）角度誤差（＝三角波演算により算出された角度−実際の角度）である。
【００１４】
【図５】図５（ａ）は、ピン角補正後の波形の一例である。図５（ｂ）は、回転角度が０°〜４５°（０〜λ／４）の区間にある波形の拡大図である。
【図６】図６（ａ）は、実際の角度（横軸）と角度誤差（縦軸）との関係を示す図である。図６（ｂ）は、ビット表示された素子の電圧（横軸）とビット表示された電圧誤差（縦軸）との関係を示す図である。
【００１５】
【図７】図７（ａ）は、三角波近似により回転角度を算出する場合において、素子の飽和感度（Ｈk）の２０％に相当する回転磁場Ｂが作用したときの実際の角度（横軸）と角度誤差（縦軸）との関係（０〜λ／４の区間のみ表示）を示す図である。図７（ｂ）は、０〜λ／８の区間内でのビット表示された電圧（横軸）とビット表示された電圧誤差（縦軸）との関係を示す図である。
【図８】図８（ａ）は、三角波近似により回転角度を算出する場合において、素子の飽和感度（Ｈk）の４０％に相当する回転磁場Ｂが作用したときの実際の角度（横軸）と角度誤差（縦軸）との関係（０〜λ／４の区間のみ表示）を示す図である。図８（ｂ）は、０〜λ／８の区間内でのビット表示された電圧（横軸）とビット表示された電圧誤差（縦軸）との関係を示す図である。
【図９】図９（ａ）は、三角波近似により回転角度を算出する場合において、素子の飽和感度（Ｈk）の８０％に相当する回転磁場Ｂが作用したときの実際の角度（横軸）と角度誤差（縦軸）との関係（０〜λ／４の区間のみ表示）を示す図である。図９（ｂ）は、０〜λ／８の区間内でのビット表示された電圧（横軸）とビット表示された電圧誤差（縦軸）との関係を示す図である。
【図１０】最小二乗法を用いた誤差関数の算出方法を説明するための模式図である。
【００１６】
【図１１】図１１（ａ）は、回転磁場の強さ（横軸）と補正前の電圧振幅（縦軸）との関係を示す図である。図１１（ｂ）は、補正前の信号振幅（横軸）と、補正三角波（第１三角波）の振幅（縦軸）との関係を示す図である。図１１（ｃ）は、図１１（ｂ）の破線で囲まれた領域の拡大図である。
【図１２】左上図は、誤差補正前の実際の角度（横軸）と角度誤差（縦軸）との関係を示す図（０〜λ／４の区間のみ表示）である。左下図は、誤差補正後の実際の角度（横軸）と角度誤差（縦軸）との関係を示す図（０〜λ／８の区間のみ表示）である。右上図は、誤差補正前のビット表示された電圧（横軸）とビット表示された電圧誤差（縦軸）との関係を示す図（０〜λ／４の区間のみ表示）である。右下図は、誤差補正後のビット表示された電圧（横軸）とビット表示された電圧誤差（縦軸）との関係を示す図（０〜λ／８の区間のみ表示）である。右下図の挿入図は、誤差補正前（ピン角補正後）の出力波形の一例である。
【図１３】回転磁場の強さ（横軸）と角度誤差（縦軸）との関係を示す図である。
【００１７】
【図１４】実際の機械角度（磁場の回転角度）に対する出力波形、理想的な三角波、及び、電圧誤差Δｅ0の関係を示す図である。
【図１５】取得電圧Ｖと電圧誤差Δｅ0との関係を示す図である。
【図１６】電圧誤差Δｅ0と、最小二乗法を用いて三角波近似された第１誤差関数ΔＥ1との関係を示す図である。
【図１７】基準となる取得電圧を２のべき数和で表すことによる演算処理の高速化を説明するための図である。
【００１８】
【図１８】極値を用いて、電圧誤差Δｅ0を第１三角波（第１誤差関数）ΔＥ1で近似する方法の模式図である。
【図１９】極値を用いて、電圧誤差Δｅn-1を高次の三角波（第ｎ誤差関数）ΔＥnで近似する方法の模式図である。
【図２０】１次〜３次の三角波（誤差関数）ΔＥ1〜ΔＥ3の関係を説明する模式図である。
【図２１】電圧誤差Δｅ0とΣΔＥnとの関係を示す模式図である。
【図２２】本発明に係る磁気センサ信号処理プログラムのフローチャートである。
【図２３】本発明に係る磁気センサ信号処理プログラムを実行するための回路図の一例である。
【発明を実施するための形態】
【００１９】
以下、本発明の一実施の形態について詳細に説明する。
［１．  磁気センサ及びブリッジ回路］
［１．１．  磁気センサ］
本発明において、磁気センサの種類は、特に限定されるものではなく、あらゆる種類の磁気センサに対して本発明を適用することができる。
本発明が適用可能な磁気センサとしては、具体的には、
（１）ホールセンサ、
（２）ＡＭＲセンサ、
（３）磁性体粒子又は磁性体薄膜の間に薄い絶縁膜がある構造を備えたトンネル磁気効果（ＴＭＲ：Tunneling Magnetoresistance）センサ、
などがある。
【００２０】
出力がランジュバン関数で近似される素子（図１参照）は、回転磁場に対する出力が擬似的な三角波となる。そのため、このような素子に対して本発明を適用すると、システム全体の複雑化と高コスト化を招くことなく、回転角度を高い精度で検出することが可能となる。出力がランジュバン関数で近似される素子としては、例えば、ＴＭＲ素子などがある。
【００２１】
［１．２．  ブリッジ回路］
本発明において、「ブリッジ回路」とは、４個の抵抗からなるフルブリッジ回路、又は、２個の抵抗からなるハーフブリッジ回路の双方を意味する。
フルブリッジ回路の場合、４個の抵抗の内、少なくとも１個が磁気センサであり、残りが固定抵抗器であっても良い。しかしながら、演算を容易化し、かつ、温度変化が生ずる環境下においても高い出力を安定して得るためには、フルブリッジ回路は、感磁方向が互いに９０°異なるように配置された４個の磁気センサで構成するのが好ましい。
同様に、ハーフブリッジ回路の場合、２個の抵抗の内、１個が磁気センサであり、残りが固定抵抗器であっても良い。しかしながら、演算を容易化し、かつ、温度変化が生ずる環境下においても安定した出力を得るためには、ハーフブリッジ回路は、感磁方向が互いに９０°異なるように配置された２個の磁気センサで構成するのが好ましい。
ここで、「感磁方向」とは、磁気センサに回転磁場を作用させた場合において、最大の抵抗変化が生ずる方向をいう。
【００２２】
［１．３．  ブリッジ回路の機械角］
本発明において、機械角度が４５°異なるように配置された２つのブリッジ回路（ブリッジ回路（Ａ）、ブリッジ回路（Ｂ））を用いて回転角度を算出する。
「機械角度が４５°異なる」とは、２つのブリッジ回路に含まれる磁気センサ（磁気センサ（Ａ）、磁気センサ（Ｂ））の感磁方向が互いに４５°異なるように、２つのブリッジ回路を配置することをいう。
ブリッジ回路（Ａ）及びブリッジ回路（Ｂ）は、一方がフルブリッジ回路で他方がハーフブリッジ回路であっても良い。しかしながら、演算を容易化するためには、双方をフルブリッジ回路とするか、あるいは、双方をハーフブリッジ回路とするのが好ましい。
【００２３】
フルブリッジ回路においては、２つの中点電位の差分を出力として取り出す。４個の抵抗に作用する磁場が等価であるときは、中点電位の差分は、ゼロ（Ｖ）となる。一方、回転磁場が作用すると、中点電位の差分は、ゼロ（Ｖ）を中心として、プラス側又はマイナス側に変動する。
ハーフブリッジ回路においては、中点電位を出力として取り出す。２個の抵抗に作用する磁場が等価であるときは、中点電位は、ハーフブリッジ回路に印加される電圧Ｖccの１／２となる。一方、回転磁場が作用すると、中点電位は、Ｖoc／２を中心として、プラス側又はマイナス側に変動する。
【００２４】
［２．  角度誤差］
図１に、出力がランジュバン関数で近似される素子のＭＲカーブを示す。
ここで、「飽和感度（Ｈk）」とは、抵抗値の磁場に対する感度の変化の割合が極大となる磁場（感度の変化が鈍感になる磁場）をいう。図１に示すＭＲ特性を示す磁気センサの場合、飽和感度Ｈkは１００（Ｏｅ）となる。飽和感度Ｈkは、簡便には、ＭＲカーブに対し、飽和感度より低磁場側において引いた接線と、飽和感度より高磁場側において引いた接線との交点として求められる。
【００２５】
図２に、２極マグネットを使用して、このような素子に対し、素子の飽和感度（Ｈk）の２０％に相当する回転磁場Ｂを作用させたときの、（ａ）素子の出力波形、（ｂ）ピン角補正後の波形、及び、（ｃ）角度誤差（＝三角波演算により算出された角度−実際の角度）を示す。
図３に、素子の飽和感度（Ｈk）の４０％に相当する回転磁場Ｂが作用したときの、（ａ）素子の出力波形、（ｂ）ピン角補正後の波形、及び、（ｃ）角度誤差（＝三角波演算により算出された角度−実際の角度）を示す。
さらに、図４に、素子の飽和感度（Ｈk）の８０％に相当する回転磁場Ｂが作用したときの、（ａ）素子の出力波形、（ｂ）ピン角補正後の波形、及び、（ｃ）角度誤差（＝三角波演算により算出された角度−実際の角度）を示す。
【００２６】
ブリッジ回路に回転磁場が作用した場合、素子の出力は、λ＝１８０°の周期で周期的に変動する。また、機械角度が４５°異なるように配置された２つのブリッジ回路（ブリッジ回路（Ａ）、ブリッジ回路（Ｂ））の位相差は、４５°となる。
飽和感度（Ｈk）が１００（Ｏｅ）である素子に対して、飽和感度（Ｈk）の４０％に相当する外部磁場Ｂが作用した場合、素子の出力波形は、三角波に近い波形となる（図３（ａ））。そのため、素子の出力波形をピン角補正し（図３（ｂ））、三角波近似により回転角度を算出した場合、角度誤差は、三角波の頂点近傍（４５°近傍）やその中間点近傍（０°近傍）だけでなく、三角波の辺上（０°から４５°の間）においても小さくなる（図３（ｃ））。
【００２７】
一方、飽和感度（Ｈk）が１００（Ｏｅ）である素子に対して、飽和感度（Ｈk）の２０％に相当する外部磁場Ｂが作用した場合、素子の出力波形は、正弦波に近い波形となる（図２（ａ））。そのため、素子の出力波形をピン角補正し（図２（ｂ））、三角波近似により回転角度を算出した場合、角度誤差は、三角波の頂点近傍（４５°近傍）やその中間点近傍（０°近傍）では小さくなるが、三角波の辺上（０°から４５°の間）では大きくなる（図２（ｃ））。
同様に、飽和感度（Ｈk）が１００（Ｏｅ）である素子に対して、飽和感度（Ｈk）の８０％に相当する外部磁場Ｂが作用した場合、素子の出力波形は、歪んだ三角波となる（図４（ａ））。そのため、素子の出力波形をピン角補正し（図４（ｂ））、三角波近似により回転角度を算出した場合、角度誤差は、三角波の頂点近傍（４５°近傍）やその中間点近傍（０°近傍）では小さくなるが、三角波の辺上（０°から４５°の間）では大きくなる（図４（ｃ））。しかも、角度誤差の極性は、図２とは反対となる。
【００２８】
図５（ａ）に、ピン角補正後の波形の一例を示す。図５（ｂ）に、回転角度が０°〜４５°（０〜λ／４）の区間の波形の拡大図を示す。
例えば、ブリッジ回路から取得される電圧がＶ0である場合、実際の回転角度は、θである。しかし、ピン角補正後の出力波形を三角波で近似した場合において、実際の波形が三角波の下にある時には、電圧Ｖ0を用いて、三角波演算により求められる回転角度は、θ−Δθとなる。従って、三角波演算により取得電圧Ｖ0から実際の回転角度θを導くためには、取得した電圧Ｖ0に電圧誤差Δｅ0を加算して出力を補正する必要がある。
逆に、実波形が三角波の上にある時には、取得電圧Ｖ0から電圧誤差Δｅ0を減算する必要がある。
【００２９】
補正すべき電圧誤差Δｅ0の波形は、磁気センサ（ブリッジ回路）の特性、生信号の矯正方法、及び、外部磁場Ｂの強さが決まれば一義的に定まる。図６（ａ）に、図２〜図４に示す特性を持つブリッジ回路に回転磁場が作用したときの、実際の角度（横軸）と角度誤差（縦軸）との関係の一例を示す。角度誤差Δθは、「三角波演算により算出された角度−実際の回転角度」を表す。
なお、図６（ａ）は、０〜λ／４の区間の波形のみを示している。それ以降の波形は、図６（ａ）に示す波形の繰り返しとなる。この点は、図６（ｂ）も同様である。
【００３０】
図２〜図４に示す特性を持つブリッジ回路に対し、飽和感度（Ｈk）の０．０５倍〜０．１倍程度の弱い磁場Ｂが作用した場合、実際の出力波形は、正弦波に近い形となる。これを三角波で近似すると、０〜λ／８の区間では、「三角波演算により算出された角度＞実際の角度」となる。一方、λ／８〜λ／４の区間では、この関係が逆転する。そのため、角度誤差Δθは、０〜λ／８の区間では上に凸、λ／８〜λ／４の区間では下に凸の正弦波に似た波形（疑似正弦波）となる。
外部磁場Ｂの強さが大きくなるに伴い、疑似正弦波の振幅が小さくなり、最適な磁場Ｂでは、角度誤差Δθは、０〜λ／４の区間でほぼ一定値（ゼロ）となる。
外部磁場Ｂの強さがさらに強くなる（例えば、飽和感度（Ｈk）の１．８倍になる）と、極性が反転し、角度誤差Δθは、０〜λ／８の区間では下に凸、λ／８〜λ／４の区間では上に凸の疑似正弦波となる。
【００３１】
図６（ｂ）に、図２〜図４に示す特性を持つブリッジ回路に回転磁場Ｂが作用したときの、ビット表示された素子の電圧（横軸）とビット表示された電圧誤差（縦軸）との関係の一例を示す。電圧誤差Δｅは、「三角波演算に用いられる電圧−実際に取得された電圧」を表す。ビット表示された電圧は、アナログ−デジタル変換回路（ＡＤＣ）により取得することができる。
【００３２】
図６（ｂ）は、図６（ａ）の変化を電圧側から見た図である。すなわち、外部磁場Ｂが小さい場合において、０〜λ／８の区間では、実際の波形が三角波の上に来る。そのため、三角波演算に用いられる電圧は、実際の出力電圧から電圧誤差Δｅ0を減算したものを用いる。一方、λ／８〜λ／４の区間では、この関係が逆転する。そのため、電圧誤差Δｅ0は、０〜λ／８の区間では上に凸、λ／８〜λ／４の区間では下に凸の疑似正弦波となる。
外部磁場Ｂの強さが大きくなるに伴い、疑似正弦波の振幅が小さくなり、最適な磁場Ｂでは、電圧誤差Δｅ0は、０〜λ／４の区間でほぼ一定値（ゼロ）となる。
外部磁場Ｂの強さがさらに強くなる（例えば、飽和感度（Ｈk）の１．８倍になる）と、極性が反転し、電圧誤差Δｅ0は、０〜λ／８の区間では下に凸、λ／８〜λ／４の区間では上に凸の疑似正弦波となる。
【００３３】
［３．  角度誤差の補正］
本発明においては、まず、磁場の回転角度Ｔに対して周期がλである出力信号Ｖ0を、周期がλである初期三角波からなる初期補正出力Ｅ0で近似する。「磁場の回転角度に対して」とは、出力信号Ｖ0又は初期補正出力Ｅ0を、磁場の回転角度Ｔを変数とする周期関数として表すことをいう。
次に、出力信号Ｖ0に対して、初期補正出力Ｅ0と出力電圧Ｖ0との電圧誤差Δｅ0（＝Ｖ0−Ｅ0）をさらに三角波ΔＥ1で近似し、これを用いて回転角度の演算に用いられる電圧を補正する。この点が、従来とは異なる。「出力信号Ｖ0に対して」とは、電圧誤差Δｅ0又は三角波ΔＥ1を、出力信号Ｖ0を変数とする周期関数として表すことをいう。磁場の回転角度でλに相当する全区間についてΔｅ0を三角波に近似する計算をしても良いが、上述したように、Δｅ0は、回転角度でλ／４に相当する区間を１周期として周期的に変動する。そのため、例えば、回転角度が（ｍ−１）λ／４〜ｍλ／４（ｍは、整数）に相当するいずれかの区間についてΔｅ0を三角波で近似する計算を行い、得られた三角波を機械角１８０°に展開すれば良い。この場合、ｍは、任意に選択することができる。
さらに、高い精度が求められる場合には、（ｎ−１）回目（ｎは、２以上の整数）の角度誤差の補正が行われた後の電圧（Ｅn-1）と出力電圧（Ｖ0）との間の電圧誤差Δｅn-1（＝Ｖ0−Ｅn-1）をさらにｎ番目の三角波ΔＥnで近似し、これを用いて回転角度の演算に用いられる電圧を補正しても良い。
【００３４】
上述したように、電圧誤差Δｅ0は、磁気センサ（ブリッジ回路）の特性、生信号の矯正方法、及び、外部磁場Ｂの強さが決まれば一義的に定まるので、近似された三角波の波形情報を予め誤差関数としてメモリーに記憶させておく。実際の測定の際には、外部磁場Ｂの強さに対応する誤差関数をメモリーから読み出し、出力信号を誤差関数で補正する。
【００３５】
電圧誤差Δｅ0を三角波で近似する方法は、特に限定されない。電圧誤差Δｅ0を三角波で近似する方法としては、例えば、
（ａ）最小二乗法を用いて、電圧誤差Δｅ0を三角波で近似する方法、
（ｂ）電圧誤差Δｅ0の極値を用いて、電圧誤差Δｅ0を三角波で近似する方法、
などがある。
なお、本発明において、「三角波」というときは、二等辺三角形の繰り返しからなる波形（狭義の三角波）だけではなく、一次関数の組み合わせからなる鋸歯状に折れ曲がった波形も含まれる。
【００３６】
［３．１．  最小二乗法を用いた電圧誤差Δｅ0の近似］
［３．１．１．  電圧誤差Δｅ0の取得及び誤差関数の振幅の決定］
図７（ａ）に、三角波近似により回転角度を算出する場合において、素子の飽和感度（Ｈk）の２０％に相当する回転磁場Ｂが作用したときの実際の角度（横軸）と角度誤差（縦軸）との関係（０〜λ／４の区間のみ表示）を示す。図７（ｂ）に、０〜λ／８の区間内でのビット表示された電圧（横軸）とビット表示された電圧誤差（縦軸）との関係を示す。
【００３７】
上述したように、ピン角補正された出力を初期三角波で近似した場合において、外部磁場Ｂが小さいときには、図７（ａ）に示すように、０〜λ／８の区間では角度誤差Δθは上に凸となる。一方、λ／８〜λ／４の区間では、角度誤差Δθは下に凸となる。また、角度誤差Δθの波形は、０〜λ／４の区間内でλ／８の点を中心として点対称になっている。
図７（ｂ）中、白四角は、図７（ａ）の角度誤差Δθを電圧誤差Δｅ0に置き換えたものである。黒丸は、実際の電圧誤差Δｅ0（白四角）のデータを用いて、最小二乗法により求めた誤差関数（第１三角波）の波形である。この場合、三角波の絶対値の周期はλ／８であり、三角波の頂点はλ／１６の位置にあるので、三角波の振幅が決まれば、三角波の波形は一義的に定まる。
【００３８】
図８（ａ）に、三角波近似により回転角度を算出する場合において、素子の飽和感度（Ｈk）の４０％に相当する回転磁場が作用したときの実際の角度（横軸）と角度誤差（縦軸）との関係（０〜λ／４の区間のみ表示）を示す。図８（ｂ）に、０〜λ／８の区間内でのビット表示された電圧（横軸）とビット表示された電圧誤差（縦軸）との関係を示す。
図９（ａ）に、三角波近似により回転角度を算出する場合において、素子の飽和感度（Ｈk）の８０％に相当する回転磁場が作用したときの実際の角度（横軸）と角度誤差（縦軸）との関係（０〜λ／４の区間のみ表示）を示す。図９（ｂ）に、０〜λ／８の区間内でのビット表示された電圧（横軸）とビット表示された電圧誤差（縦軸）との関係を示す。
【００３９】
外部磁場Ｂの強さが適度な大きさである場合（図８）、及び、外部磁場Ｂの強さが大きい場合（図９）も同様であり、角度誤差Δθの波形は、０〜λ／４の区間内でλ／８の点を中心として点対称になっている。また、図８（ｂ）及び図９（ｂ）において、黒丸は、実際の電圧誤差Δｅ0（白四角）のデータを用いて、最小二乗法により求めた誤差関数（第１三角波）の波形である。図７〜９より、外部磁場の強さに応じて、三角波の振幅の絶対値及び符号が変わることがわかる。
【００４０】
図１０に、最小二乗法を用いた誤差関数の算出方法を説明するための模式図を示す。まず、図１０に示すように、ある電圧（ｘi）における実際の電圧誤差Ｆ（ｘi）と、振幅がＶ（未知）である三角波上の値Ｔtri（ｘi）との差の二乗和Ｓ（Ｖ）を求める。Ｔtri（ｘi）はＶの関数であるため、Ｓ（Ｖ）もＶの関数となる。次に、∂Ｓ／∂Ｖ＝０を満たすＶを求める。Ｖが分かると、図１０の黒丸で示すような三角波が導かれる。
【００４１】
［３．１．２．  測定精度］
図１１（ａ）に、回転磁場Ｂの強さ（横軸）と補正前の電圧振幅（縦軸）との関係を示す。図１１（ｂ）に、補正前の信号振幅（横軸）と、最小二乗法により得られた補正三角波（第１三角波）の振幅（縦軸）との関係を示す。図１１（ｃ）に、図１１（ｂ）の破線で囲まれた領域の拡大図を示す。
磁気センサ（ブリッジ回路）の特性及び出力信号の矯正方法が決まると、図１１（ｂ）に示すように、外部磁場Ｂの強さ（＝補正前の信号振幅）と、補正三角波の振幅との関係が一義的に定まる。この図１１（ｂ）又は図１１（ｃ）の関係を予めメモリーに記憶させておく。実際の測定の際には、補正前の信号振幅（すなわち、回転磁場の強さ）を算出し、図１１（ｂ）又は図１１（ｃ）の関係を用いて出力電圧を補正する。
【００４２】
図１２に、誤差補正前の角度誤差（左上図）、誤差関数ΔＥ1による誤差補正後の角度誤差（左下図）、誤差補正前の電圧誤差（右上図）、及び、誤差関数ΔＥ1による誤差補正後の電圧誤差（右下図）を示す。右下図の挿入図は、誤差補正前（ピン角補正後）の出力波形の一例である。図１２の上図は、０〜λ／４の区間のみ表示されている。また、図１２の下図は、０〜λ／８の区間のみ表示されている。図１２より、外部磁場Ｂの強さによらず、誤差関数ΔＥ1を用いた誤差補正によって、角度誤差及び電圧誤差が減少していることがわかる。
【００４３】
図１３に、回転磁場の強さ（横軸）と角度誤差（縦軸）との関係を示す。
出力波形を三角波で近似した（ピン角を補正した）だけの場合、角度誤差が０．５°以下となるのは、回転磁場の強さが約４０±１０（Ｏｅ）の範囲である。一方、三角波による近似に加えて上述した誤差補正を行った場合、角度誤差が０．５°以下となる回転磁場の範囲は、約１０（Ｏｅ）〜約１２０（Ｏｅ）の範囲まで拡大する。
【００４４】
［３．１．３．  演算方法］
図１４に、実際の機械角度（磁場の回転角度）に対する出力波形、理想的な三角波、及び、電圧誤差Δｅ0の関係を示す。図１４において、ＶTは出力波形の上限値、ＶMは出力波形の中間値、ＶLは出力波形の下限値である。また、ＶQはＶTとＶMの単純平均の電圧、ＶPはＶLとＶMの単純平均の電圧である。素子の対称性から、実際の波形は、ＶT、ＶQ、ＶM、ＶP、ＶLで理想的な三角波と交わる。理想的な三角波（Ｅ0）と実際の出力波形（Ｖ0）との差（＝Ｖ0−Ｅ0）が電圧誤差Δｅ0となる。
【００４５】
図１５に、取得電圧Ｖと電圧誤差Δｅ0との関係を示す。最小二乗法を用いて電圧誤差Δｅ0を三角波で近似する場合、その振幅を規定する必要がある。振幅は、図１５の波形中のＶE、ＶF、ＶG、ＶHにより求めることができる。
また、ＶE、ＶF、ＶG、ＶHを次のように決める。すなわち、ＶEはＶLとＶPの単純平均の電圧とし、ＶFはＶPとＶMの単純平均の電圧とする。同様に、ＶGはＶMとＶQの単純平均の電圧とし、ＶHはＶQとＶTの単純平均の電圧とする。
【００４６】
図１６に、電圧誤差Δｅ0と、最小二乗法を用いて三角波近似された誤差関数ΔＥ1との関係を示す。最小二乗法を用いてΔｅ0を近似すると、ＶE、ＶF、ＶG、ＶHを頂点とする三角波が得られる。三角波の振幅をＡ1とすると、Ａ1は、回転磁場Ｂの関数となる。この振幅を用いて取得電圧Ｖに対するΔＥ1を線形の関数で表すと、以下のようになる。
（ａ）ＶL≦Ｖ＜ＶEの時、ΔＥ1＝    −Ａ1(Ｂ)・(Ｖ−ＶL)／(ＶE−ＶL)
（ｂ）ＶE≦Ｖ＜ＶFの時、ΔＥ1＝  ２・Ａ1(Ｂ)・(Ｖ−ＶP)／(ＶF−ＶE)
（ｃ）ＶF≦Ｖ＜ＶGの時、ΔＥ1＝−２・Ａ1(Ｂ)・(Ｖ−ＶM)／(ＶG−ＶF)
（ｄ）ＶG≦Ｖ＜ＶHの時、ΔＥ1＝  ２・Ａ1(Ｂ)・(Ｖ−ＶQ)／(ＶH−ＶG)
（ｅ）ＶH≦Ｖ＜ＶTの時、ΔＥ1＝    −Ａ1(Ｂ)・(Ｖ−ＶT)／(ＶT−ＶH)
【００４７】
図１７に、基準となる取得電圧を２のべき数和で表すことによる演算処理の高速化を説明するための図を示す。取得電圧Ｖの三角波の演算において、基準となる電圧（ＶL、ＶE、ＶP、ＶF、ＶM、ＶG、ＶQ、ＶH、ＶT）を２のべき数和で表すと、Ｃ言語やＶｅｒｉｌｏｇＨＤＬなどのハードウェア記述言語を用いたマイコンやＤＳＰによる演算が高速になる。例えば、ＶMを２11＝２０４８とし、ＶLを２11−２10＝１０２４とすると、三角波ΔＥ1の周期の１／４に相当する電圧（１２ビット）は、２8＝２５６となる。
この場合、上述した（ａ）〜（ｅ）式は、それぞれ、以下の（ａ’）〜（ｅ’）式のようにビット演算子（≫）を用いて三角波の傾きを算出するための演算を簡略化できる。
【００４８】
（ａ’）ＶL≦Ｖ＜ＶEの時、ΔＥ1＝    −Ａ1(Ｂ)・(Ｖ−ＶL)／(ＶE−ＶL)
＝−Ａ1(Ｂ)・(Ｖ−ＶL)／２５６＝{−Ａ1(Ｂ)・(Ｖ−ＶL)}≫８
（ｂ’）ＶE≦Ｖ＜ＶFの時、ΔＥ1＝  ２・Ａ1(Ｂ)・(Ｖ−ＶP)／(ＶF−ＶE)
＝２・Ａ1(Ｂ)・(Ｖ−ＶP)／５１２＝{２・Ａ1(Ｂ)・(Ｖ−ＶP)}≫９
（ｃ’）ＶF≦Ｖ＜ＶGの時、ΔＥ1＝−２・Ａ1(Ｂ)・(Ｖ−ＶM)／(ＶG−ＶF)
＝−２・Ａ1(Ｂ)・(Ｖ−ＶQ)／５１２＝{−２・Ａ1(Ｂ)・(Ｖ−ＶM)}≫９
（ｄ’）ＶG≦Ｖ＜ＶHの時、ΔＥ1＝  ２・Ａ1(Ｂ)・(Ｖ−ＶQ)／(ＶH−ＶG)
＝２・Ａ1(Ｂ)・(Ｖ−ＶQ)／５１２＝{２・Ａ1(Ｂ)・(Ｖ−ＶQ)}≫９
（ｅ’）ＶH≦Ｖ＜ＶTの時、ΔＥ1＝    −Ａ1(Ｂ)・(Ｖ−ＶT)／(ＶT−ＶH)
＝−Ａ1(Ｂ)・(Ｖ−ＶT)／２５６＝{−Ａ1(Ｂ)・(Ｖ−ＶT)}≫８
【００４９】
［３．２．  極値を用いた電圧誤差Δｅ0の近似］
三角波ΔＥの振幅を最小二乗法で決めると、補正した後に残る高次の誤差は小さくなるが、高次の誤差を補正しにくくなる。これに対し、電圧誤差Δｅ0の極値を用いて、三角波ΔＥの振幅を決めると、最小二乗法に比べて大きな誤差が残る。しかしながら、極値を用いる方法は、最小二乗法に比べて、高次の誤差の補正が容易となる。
【００５０】
図１８に、極値を用いて、電圧誤差Δｅ0を三角波（誤差関数）ΔＥ1で近似する方法の模式図を示す。まず、１次の三角波ΔＥ1の振幅Ａ1(Ｂ)を、電圧誤差Δｅ0の極値に対応する取得電圧（ＶE0、ＶF0、ＶG0、ＶH0）を用いて決定する。なお、図１８の例では、振幅Ａ1(Ｂ)は、ＶE0とＶF0で決める。
ここで、ＶE0は、ＶLとＶPの間で、Δｅ0が最小となる電圧である。ＶF0は、ＶPとＶMの間でΔｅ0が最大となる電圧である。
ＶG0は、ＶMとＶTの間でΔｅ0が最小となる電圧である。ＶH0は、ＶQとＶTの間でΔｅ0が最大となる電圧である。
また、波形の対称性から、ＶE0とＶF0、ＶF0とＶG0、及び、ＶG0とＶH0は、それぞれ、ＶP、ＶM、及び、ＶQに対して対称である。
【００５１】
このようにして得られた振幅Ａ1を用いて取得電圧Ｖに対する１次の三角波ΔＥ1を線形の関数で表すと、以下のようになる。
（ａ）ＶL≦Ｖ＜ＶEOの時、 ΔＥ1＝    −Ａ1(Ｂ)・(Ｖ−ＶL)／(ＶEO−ＶL)
（ｂ）ＶE0≦Ｖ＜ＶF0の時、ΔＥ1＝  ２・Ａ1(Ｂ)・(Ｖ−ＶP)／(ＶF0−ＶEO)
（ｃ）ＶF0≦Ｖ＜ＶG0の時、ΔＥ1＝−２・Ａ1(Ｂ)・(Ｖ−ＶM)／(ＶGO−ＶF0)
（ｄ）ＶG0≦Ｖ＜ＶH0の時、ΔＥ1＝  ２・Ａ1(Ｂ)・(Ｖ−ＶQ)／(ＶH0−ＶG0)
（ｅ）ＶH0≦Ｖ＜ＶTの時、 ΔＥ1＝      Ａ1(Ｂ)・(Ｖ−ＶT)／(ＶT−ＶH0)
【００５２】
図１９に、極値を用いて、電圧誤差Δｅn-1を高次の三角波（誤差関数）ΔＥnで近似する方法の模式図を示す。
上述した（ａ）式〜（ｅ）式を用いて、電圧誤差Δｅ0を１次の三角波ΔＥ1で近似すると、高次の誤差が残る。この１次の三角波ΔＥ1と電圧誤差Δｅ0との差Δｅ1を、さらに２次の三角波ΔＥ2で近似する。近似方法は、極値の位置が異なる点を除き、１次の三角波ΔＥ1と同様である。
次に、２次の三角波ΔＥ2と電圧誤差Δｅ1との差Δｅ2を、さらに３次の三角波ΔＥ3で近似する。この場合も近似方法は、極値の位置が異なる点を除き、１次の三角波ΔＥ1と同様である。
以下、同様にして近似を繰り返すと、Δｅ0は、以下のように表せる。
Δｅ0＝ΣΔＥk＋Δｅn
Δｅnは、ｎ次の三角波ΔＥnで補正した後の誤差の残り量である。このような極値を用いた近似を繰り返すことで、Δｅn→０にすることができる。
【００５３】
図２０に、１次〜３次の三角波ΔＥ1〜ΔＥ3の関係の模式図を示す。図２０の上図において、破線で描かれた曲線は、電圧誤差Δｅ0を拡大して描いたものである。また、実線で描かれた三角形は、振幅がＡ11である１次の三角波ΔＥ1である。Ｔ3は、Ｔ1（ＶL）とＴ2（ＶP）の間の極値示す電圧であり、Ａ11は、Ｔ3における振幅である。極値を用いて三角波の振幅を求める場合、三角波ΔＥ1は、通常、Ｔ3に対して左右非対称の形となる。
【００５４】
図２０の中図において、破線で描かれた曲線は、１次の三角波ΔＥ1で近似した後に残る誤差の量Δｅ1を拡大して描いたものである。また、実線で描かれた折れ線は、２つの振幅Ａ21及びＡ21を持つ２次の三角波ΔＥ2である。Ｔ4は、Ｔ1とＴ3の間の極値を示す電圧であり、Ａ21は、Ｔ4における振幅である。また、Ｔ5は、Ｔ3とＴ2の間の極値を示す電圧であり、Ａ22は、Ｔ5における振幅である。Δｅ1の波形が非対称であるため、三角波ΔＥ2は、振幅Ａ21とＡ22の大きさ及び位置が異なる非対称の形となる。
【００５５】
同様に、図２０の下図において、破線で描かれた曲線は、２次の三角波ΔＥ2で近似した後に残る誤差の量Δｅ2を拡大して描いたものである。また、実線で描かれた折れ線は、４つの振幅Ａ31、Ａ32、Ａ33、及びＡ34を持つ３次の三角波ΔＥ3である。Ａ31〜Ａ34は、それぞれ、極値Ｔ6〜Ｔ9における振幅である。Δｅ2の波形が非対称であるため、三角波ΔＥ3は、振幅Ａ31〜Ａ34の大きさ及び位置が異なる非対称の形となる。
以上のように、ＶLとＶPの間のｎ次の誤差は、２n-1個の振幅Ａnk（ｋ＝１〜２n-1）を使用して、リニアな関数で近似することができる。その後は、誤差の対称性を利用して、ΣΔＥnを機械角１８０°に展開する。
【００５６】
図２１に、電圧誤差Δｅ0とΣΔＥnとの関係を示す。図２１より、高次の三角波（誤差関数）ΔＥnで近似するほど、残りの誤差の量Δｅnが小さくなることがわかる。
【００５７】
［４．  出力信号Ｖ0の矯正］
上述したように、本発明においては、外部磁場Ｂの強さに応じて、第ｎ三角波（誤差関数）ΔＥnの波形を選択する。そのため、外部磁場Ｂの強さ（振幅）を求めるときには、磁気センサ（Ａ）及び（Ｂ）から出力される生信号をそのまま用いる。
一方、初期補正出力Ｅ0や第ｎ誤差関数ΔＥnを求める場合、同様に、磁気センサ（Ａ）及び磁気センサ（Ｂ）から出力される生信号をそのまま用いることも可能である。しかし、生信号をそのまま用いると、以後の演算が煩雑となる。
そのため、三角波近似の演算に用いる出力信号Ｖ0は、生信号ではなく、
（ａ）ピン角補正が行われた後の信号、及び／又は、
（ｂ）ゲイン調整が行われた後の信号
を用いるのが好ましい。
【００５８】
［４．１．  ピン角補正］
「ピン角補正」とは、出力信号の波形が理想的な三角波から逸脱し、極値近傍の波形が丸みを帯びたときに、出力信号の波形を理想的な三角波に近づける処理をいう。ピン角補正を行うと、三角波近似により回転角度を算出したときに、三角波の頂点近傍で発生する角度誤差を小さくすることができる。
【００５９】
ピン角補正の方法は、特に限定されない。ピン角補正は、例えば、
（ａ）前記出力信号（Ａ相）の絶対値｜Ｘ｜、及び、前記出力信号（Ｂ相）の絶対値｜Ｙ｜を算出し、
（ｂ）前記絶対値｜Ｘ｜、及び絶対値｜Ｙ｜を相互に加算し、
（ｃ）加算値｜Ｘ｜＋｜Ｙ｜が基準電圧に一致するように、前記ブリッジ回路（Ａ）及び前記ブリッジ回路（Ｂ）の電源電圧をフィードバック制御する
ことにより行うことができる（特許文献２参照）。
【００６０】
［４．２．  ゲイン調整］
回転角度を計算するための計算式は、一次関数であり、コンピュータに記憶されている。計算式の係数が予め固定されている場合には、固定された係数に合うように、出力信号のゲインを調整する必要がある。この場合、ゲイン調整が行われた後の出力信号がコンピュータに入力されることになる。
【００６１】
なお、固定された係数に適合するように、演算により出力信号のゲインを調整することができる。あるいは、計算式の係数を演算により算出することもできる。さらに、ゲイン調整は、いずれか１箇所の地点において行っても良く、あるいは、出力絶対値が等価となる２箇所以上の地点において行っても良い。出力絶対値が等価となる２箇所以上の地点においてゲイン調整を行うと、調整精度が向上するという利点がある。演算によりゲインを調整する方法には、種々の方法がある。
【００６２】
演算によりゲイン調整を行うための第１の方法は、固定された係数に合うように、出力信号のゲインを調整する方法であり、具体的には、以下のような工程を備えている。
（１）実際の角度検出を行う前に、磁気センサに対して人為的に回転磁場を与え、このときの回転磁場の回転角度と、その回転角度に対応するブリッジ回路の出力とを、それぞれメモリーに記憶させる。
（２）出力信号の下端の頂点の電位Ａ11（１個の頂点の値でも良く、複数個の頂点の値の平均値でも良い）と上端の頂点の電位Ａ12（１個の頂点の値でも良く、複数個の頂点の値の平均値でも良い）とを求め、両電位の差の半分（＝(Ａ11−Ａ12)／２）を算出し、これを入力信号の振幅Ａ1INと定義してメモリーに記憶させる。
（３）出力信号の振幅Ａ1outが固定された係数（＝計算式の振幅Ａ1）に合うように、メモリーに記憶された入力信号の振幅Ａ1INに対する出力信号の振幅Ａ1outの比Ｇ1（＝Ａ1out／Ａ1IN）を求め、これをメモリーに記憶させる。
（４）ブリッジ回路から逐次出力された後の実際の出力信号にＧ1を乗算する。
【００６３】
ゲインを調整するための第２の方法は、計算式の係数を演算により算出する方法であり、具体的には、以下のような工程を備えている。
（１）実際の角度検出を行う前に、磁気センサに対して人為的に回転磁場を与え、このときの回転磁場の回転角度と、その回転角度に対応するブリッジ回路の出力とを、それぞれメモリーに記憶させる。
（２）角度演算信号Ｖ1の下端の頂点の電位Ａ11（１個の頂点の値でも良く、複数個の頂点の値の平均値でも良い）と上端の頂点の電位Ａ12（１個の頂点の値でも良く、複数個の頂点の値の平均値でも良い）とを求め、両電位の差の半分（＝(Ａ11−Ａ12)／２）を算出し、これを入力信号の振幅Ａ1と定義してメモリーに記憶させる。
（３）メモリーに記憶された入力信号の振幅Ａ1を、回転角度を計算するための計算式に代入する。
【００６４】
ゲインを調整するためのその他の方法としては、具体的には、
（１）周期信号の頂点以外の位置であって、出力絶対値が等価となる２箇所以上の位置における出力の絶対値が所定の値となるようにゲイン調整する方法、
（２）周期信号のいずれか１箇所の位置における出力の絶対値が所定の値となるようにゲイン調整する方法、
などがある。
【００６５】
［５．  回転角度の算出］
回転角度の算出方法は、特に限定されない。回転角度の算出方法としては、例えば、
（ａ）一方の出力信号を常に回転角度の算出に用い、他方を常に位相の判別に用いる方法、
（ｂ）２相信号を切り替えて回転角度を算出する方法（特許文献１参照）、
などがある。
【００６６】
［６．  磁気センサ信号処理プログラム］
図２２に、本発明に係る磁気センサ信号処理プログラムのフローチャートを示す。
まず、ステップ１（以下、「Ｓ１」という）において、誤差補正の次数（ｎ）を設定する。ｎは、測定の都度、適切な次数をコンピュータに入力しても良く、あるいは、固定された数値であっても良い。ｎは、１でも良いが、以下の説明では、ｎが２以上の整数に設定された例（ｎ次の誤差関数まで算出する例）について説明する。
【００６７】
次に、Ｓ２に進む。Ｓ２では、磁気センサ（Ａ）を含むブリッジ回路（Ａ相）に回転磁場が作用したときに、前記ブリッジ回路（Ａ相）から出力される出力信号（Ａ相）を入力し、メモリーに記憶させる（Ａ相信号入力手段）。
次に、Ｓ３において、磁気センサ（Ｂ）を含み、前記ブリッジ回路（Ａ）とは機械角度が４５°異なるように配置されたブリッジ回路（Ｂ相）に回転磁場が作用したときに、前記ブリッジ回路（Ｂ相）から出力される出力信号（Ｂ相）を入力し、前記メモリーに記憶させる（Ｂ相信号入力手段）。
【００６８】
次に、Ｓ４に進む。メモリーには、予め、前記出力信号Ｖ0に対して、前記初期補正出力Ｅ0と前記出力信号Ｖ0との電圧誤差Δｅ0（＝Ｖ0−Ｅ0）を第１三角波で近似したときに、前記回転磁場の強さと前記第１三角波の波形情報（振幅及び極値の位置）との関係であって、角度誤差がより小さくなるものが記憶されている。上述したように、電圧誤差Δｅ0を三角波で近似した場合、第ｎ三角波（第ｎ誤差関数ΔＥn）の波形は、ブリッジ回路の特性、出力信号の矯正方法、及び、回転磁場Ｂの強さ（振幅）がわかると一義的に定まる。そのため、Ｓ４では、第ｎ誤差関数ΔＥnの波形を決めるための回転磁場の強さを算出する（磁場強度算出手段）。
【００６９】
回転磁場Ｂの強さは、回転磁場Ｂが作用したときにブリッジ回路で実際に検出された出力信号（生信号）Ｖ0の振幅に対応する。出力信号Ｖ0（生信号）の振幅は、極大値−極小値間の電圧から算出することができる。
【００７０】
次に、Ｓ５に進む。Ｓ５では、出力信号（Ａ相）及び出力信号（Ｂ相）の矯正（すなわち、ピン角補正やゲイン調整）が行われた否かが判断される。矯正が行われた場合（Ｓ５：ＹＥＳ）には、Ｓ６に進み、矯正後の出力信号をメモリーに記憶させる。その後、Ｓ７に進む。
一方、矯正が行われていない場合（Ｓ５：ＮＯ）には、そのままＳ７に進む。
【００７１】
Ｓ７では、出力信号（Ａ相）の誤差補正が終了したか否かが判断される。この時点では、誤差補正が行われていない（Ｓ７：ＮＯ）ので、Ｓ８に進む。
Ｓ８では、ブリッジ回路（Ａ相）の出力信号（Ａ相）Ｖ0であって、三角波演算に用いるものをメモリから読み出す。出力信号Ｖ0の矯正が行われている場合には、矯正後の信号を読み出す。
【００７２】
次に、Ｓ９に進む。Ｓ９では、磁場の回転角度に対して周期がλである前記出力信号Ｖ0を、周期がλである初期三角波からなる初期補正出力Ｅ0で近似し、これを前記メモリーに記憶させる（三角波近似手段）。出力信号Ｖ0を三角波に近似する方法は、特に限定されない。通常、三角波の波形は、振幅と周期で決まるので、出力信号Ｖ0を用いてこれらを算出する。具体的には、極大値−極小値の電圧から三角波の振幅を求めることができる。また、極値間の長さから三角波の周期λを求めることができる。
【００７３】
次に、Ｓ１０に進む。Ｓ１０では、誤差補正のための演算の繰り返し回数（ｋ）に初期値「１」を代入する。
次に、Ｓ１１に進む。Ｓ１１では、前記回転磁場Ｂの強さ（並びに、ブリッジ回路の特性、及び、出力信号の矯正方法）に対応する前記第１三角波の波形情報を前記メモリーから読み出し、これを第１誤差関数ΔＥ1として前記メモリーに記憶させる（第１誤差関数算出手段）。
次に、Ｓ１２に進む。Ｓ１２では、前記初期補正出力Ｅ0と前記第１誤差関数ΔＥ1との和（＝Ｅ0＋ΔＥ1）を第１補正出力Ｅ1とし、これを前記メモリーに記憶させる（第１補正出力算出手段）。なお、Ｅ1の算出の際には、上述したように、誤差の対称性を利用して、回転角度で（ｍ−１）λ／４〜ｍλ／４に相当する区間についてΔＥ1を計算し、これを機械角１８０°に展開するのが好ましい。
【００７４】
次に、Ｓ１３に進む。Ｓ１３では、演算の繰り返し数（ｋ）が設定された次数（ｎ）に一致するか否かが判断される。この時点では、１次の誤差関数が算出されただけである（Ｓ１３：ＮＯ）ので、Ｓ１４に進む。Ｓ１４では、演算の繰り返し数（ｋ）に１が加算される。その後、Ｓ１１に戻る。そして、演算の繰り返し数（ｋ）が設定された次数（ｎ）に一致するまで、上述したＳ１１からＳ１４の各ステップを繰り返す。
【００７５】
Ａ相についての第ｎ補正出力Ｅnの演算が終了したとき（Ｓ１３：ＹＥＳ）には、Ｓ７に戻る。Ｓ７では、再び、出力信号（Ａ相）の誤差補正が終了したか否かが判断される。この時点では、誤差補正が終了している（Ｓ７：ＹＥＳ）ので、Ｓ１５に進む。
Ｓ１５では、出力信号（Ｂ相）の誤差補正が終了したか否かが判断される。この時点では、誤差補正が行われていない（Ｓ１５：ＮＯ）ので、Ｓ８に進む。
以下、上述したＳ８〜Ｓ１４の各ステップを繰り返し、Ｂ相についても同様にして第ｎ補正出力Ｅnを算出する。
【００７６】
Ｂ相についての第ｎ補正出力Ｅnの算出終了したとき（Ｓ１３：ＹＥＳ）には、Ｓ７に戻る。この時点では、出力信号（Ａ）相の誤差補正が終了しており（Ｓ７：ＹＥＳ）、かつ、出力信号（Ｂ）相の誤差補正も終了している（Ｓ１５：ＹＥＳ）ので、Ｓ１６に進む。
【００７７】
Ｓ１６では、前記出力信号（Ａ相）に対応する前記第ｎ補正出力Ｅn及び前記出力信号（Ｂ相）に対応する前記第ｎ補正出力Ｅn用いて、前記回転磁場の回転角度を算出する（回転角度算出手段）。
出力を三角波で近似した場合、ブリッジ回路の出力と回転角度Ｔとの関係は、一次関数となる。この一次関数は、予めメモリーに記憶されている。そのため、誤差補正後の出力を一次関数に代入すれば、回転角度Ｔを容易に求めることができる。
本発明では、誤差関数ΔＥnで補正された第ｎ補正出力Ｅnを一次関数に代入する。そのため、初期補正出力Ｅ0のみを用いる場合に比べて、角度誤差を小さくすることができる。
【００７８】
［７．  磁気センサモジュール］
本発明に係る磁気センサモジュールは、以下の構成を備えている。
（１）前記磁気センサモジュールは、
磁気センサ（Ａ）を含むブリッジ回路（Ａ相）と、
磁気センサ（Ｂ）を含み、前記ブリッジ回路（Ａ）とは機械角度が４５°異なるように配置されたブリッジ回路（Ｂ相）と、
前記磁気センサ（Ａ）及び前記磁気センサ（Ｂ）に回転磁場を作用させるための磁場発生部と、
前記ブリッジ回路（Ａ）及び前記ブリッジ回路（Ｂ）に電圧を印加する電源と、
前記ブリッジ回路（Ａ相）及び前記ブリッジ回路（Ｂ相）に接続された中央演算処理装置と、
前記中央演算処理装置に接続されたメモリーと
を備えている。
（２）前記メモリーには、本発明に係る磁気センサ信号処理プログラムが記憶されている。
【００７９】
磁気センサモジュールは、前記出力信号（Ａ相）及び前記出力信号（Ｂ相）のピン角補正を行うピン角補正手段をさらに備えていても良い。ピン角補正は、例えば、
（ａ）前記出力信号（Ａ相）の絶対値｜Ｘ｜、及び、前記出力信号（Ｂ相）の絶対値｜Ｙ｜を算出し、
（ｂ）前記絶対値｜Ｘ｜、及び絶対値｜Ｙ｜を相互に加算し、
（ｃ）加算値｜Ｘ｜＋｜Ｙ｜が基準電圧に一致するように、前記ブリッジ回路（Ａ）及び前記ブリッジ回路（Ｂ）の電源電圧をフィードバック制御する
ことにより行うことができる。
【００８０】
さらに、磁気センサモジュールは、前記出力信号（Ａ相）及び前記出力信号（Ｂ相）のゲイン調整を行うゲイン調整手段をさらに備えていても良い。
磁気センサ、ブリッジ回路、磁気センサ信号処理プログラム、ピン角補正手段、及びゲイン調整手段の詳細については、上述した通りであるので、説明を省略する。
【００８１】
図２３に、本発明に係る磁気センサ信号処理プログラムを実行するための回路図の一例を示す。
本手法では、リアルタイムで回転磁場が変化する装置等で角度誤差を補正し、高精度な角度演算を実施する手法を示す。磁気センサから得られた回転磁場に対する２相のアナログ出力（Ａ相、Ｂ相）は、マイコンやＤＳＰといったＣＰＵなどの演算装置で使用されるため、ＡＤＣ等によりデジタル信号に変換される。
このデジタル信号を適切にサンプリングして、その電圧変化の極値を判定することで、信号の振幅強度を得る。なお、信号の振幅強度を得る方法は、これ以外にＡＤＣ前の信号振幅をアナログ回路等により取得することも可能である。
【００８２】
一方、ＡＤＣで変換されたデジタル信号を使用して、特許文献１、２に示される方法で信号処理を実施する。現実的な問題として、回転磁場が小さい時には信号の振幅が小さく、その強度を取得するために信号の極値を求めることが困難になる場合がある。その場合には、予め特許文献２の方法でピン角を有する三角波処理したり、あるいは、特許文献１の方法でゲイン調整した信号を使用して極値を求め、それに対応する処理前の信号から振幅強度を求めても良い。
【００８３】
最後に、誤差演算で取得した誤差電圧を特許文献１又は２で処理した信号に加減算することで、誤差補正後の信号を得る。これらの信号をＤＡＣ等でアナログ電圧に変換することで、角度信号等に応じて駆動するアクチュエーター等に送信することが可能となる。また、デジタル信号を利用して、直接演算した角度情報を別の装置で使用しても良い。
【００８４】
以上、本発明の実施の形態について詳細に説明したが、本発明は上記実施の形態に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改変が可能である。
【産業上の利用可能性】
【００８５】
本発明に係る磁気センサ信号処理プログラムは、自動車の車軸、ロータリーエンコーダ、産業用歯車等の回転情報の検出などに用いられる磁気センサの信号処理に用いることができる。
【図１】
2016211979.tif 000003
【図２】
2016211979.tif 000004
【図３】
2016211979.tif 000005
【図４】
2016211979.tif 000006
【図５】
2016211979.tif 000007
【図６】
2016211979.tif 000008
【図７】
2016211979.tif 000009
【図８】
2016211979.tif 000010
【図９】
2016211979.tif 000011
【図１０】
2016211979.tif 000012
【図１１】
2016211979.tif 000013
【図１２】
2016211979.tif 000014
【図１３】
2016211979.tif 000015
【図１４】
2016211979.tif 000016
【図１５】
2016211979.tif 000017
【図１６】
2016211979.tif 000018
【図１７】
2016211979.tif 000019
【図１８】
2016211979.tif 000020
【図１９】
2016211979.tif 000021
【図２０】
2016211979.tif 000022
【図２１】
2016211979.tif 000023
【図２２】
2016211979.tif 000024
【図２３】
2016211979.tif 000025