(57)【要約】【課題】ノイズ磁界に起因した角度誤差が低減された精度の高い角度検出値を生成する。【解決手段】角度センサ１は、複数の磁気センサとプロセッサ２０とを備えている。複数の磁気センサは、検出対象磁界とノイズ磁界との合成磁界の方向を表す複数の検出値を生成する。プロセッサ２０は、未知数群と暫定未知数群と推定未知数群とを想定する。未知数群は、角度検出値に対応する第１の未知数と、ノイズ磁界の方向に対応する第２の未知数と、ノイズ磁界の強度に対応する第３の未知数の集合である。暫定未知数群は、第１ないし第３の未知数の暫定的な値の集合である。推定未知数群は、第１ないし第３の未知数の推定値の集合である。プロセッサ２０は、複数の検出値と暫定未知数群に基づいて、推定未知数群を決定する処理を複数回実行し、最後に決定された推定未知数群における第１の未知数の推定値を角度検出値とする。【選択図】図３
2020085614.tif 000002
【特許請求の範囲】
【請求項１】
検出対象の角度と対応関係を有する角度検出値を生成する角度センサであって、
それぞれ互いに異なる複数の検出位置において、検出対象磁界と、それ以外のノイズ磁界との合成磁界を検出し、前記合成磁界の方向を表す複数の検出値を生成する複数の磁気センサと、
前記角度検出値を生成するプロセッサとを備え、
前記複数の検出位置において、前記検出対象磁界の方向は前記検出対象の角度に応じて変化し、
前記複数の検出位置において、前記検出対象磁界の強度と方向の少なくとも一方の、前記検出対象の角度に応じた変化の態様は互いに異なり、
前記プロセッサは、未知数群と、暫定未知数群と、推定未知数群とを想定し、
前記未知数群は、第１の未知数と第２の未知数と第３の未知数の集合であり、
前記第１の未知数は、前記角度検出値に対応する値であり、
前記第２の未知数は、前記ノイズ磁界の方向に対応する値であり、
前記第３の未知数は、前記ノイズ磁界の強度に対応する値であり、
前記暫定未知数群は、前記第１ないし第３の未知数の暫定的な値の集合であり、
前記推定未知数群は、前記第１ないし第３の未知数の推定値の集合であり、
前記プロセッサは、前記複数の検出値と前記暫定未知数群に基づいて、前記推定未知数群を決定する第１の処理と、前記第１の処理によって決定された前記推定未知数群を、次回に実行される前記第１の処理における新たな前記暫定未知数群とする第２の処理とを、前記第１の処理の実行回数が２以上になるように実行すると共に、最後に実行された前記第１の処理によって決定された前記推定未知数群における前記第１の未知数の推定値を前記角度検出値とする第３の処理を実行することを特徴とする角度センサ。
【請求項２】
前記プロセッサは、更に、前記未知数群を変数として前記複数の検出値を表すモデル関数の１次導関数である近似関数を想定し、
前記第１の処理は、前記複数の検出値と前記暫定未知数群と前記近似関数に基づいて、前記推定未知数群を決定することを特徴とする請求項１記載の角度センサ。
【請求項３】
前記プロセッサは、更に、複数の仮の検出値と、複数の乖離値と、変化量群と、近似乖離値群とを想定し、
前記複数の仮の検出値は、前記モデル関数における前記暫定未知数群での値であり、
前記複数の乖離値は、それぞれ、前記複数の検出値と前記複数の仮の検出値の対応するもの同士の差であり、
前記変化量群は、前記暫定未知数群における前記第１ないし第３の未知数の暫定的な値に対する前記推定未知数群における前記第１ないし第３の未知数の推定値の変化量の集合であり、
前記近似乖離値群は、前記近似関数と前記変化量群とによって求められる、前記複数の乖離値に対応する複数の近似乖離値の集合であり、
前記第１の処理は、前記近似乖離値群が前記複数の乖離値の近似値の集合となるように、前記変化量群を決定し、決定された前記変化量群に基づいて前記推定未知数群を決定することを特徴とする請求項２記載の角度センサ。
【請求項４】
前記第１の処理は、前記複数の乖離値と前記複数の近似乖離値の対応するもの同士の差の二乗和が最小になるように、前記変化量群を決定することを特徴とする請求項３記載の角度センサ。
【請求項５】
前記第３の処理は、前記変化量群における前記第１の未知数の推定値の変化量が所定値以下の場合に実行されることを特徴とする請求項３または４記載の角度センサ。
【請求項６】
前記モデル関数は、前記第１の未知数を変数とした複数の周期関数を含む非線形の関数であることを特徴とする請求項２ないし５のいずれかに記載の角度センサ。
【請求項７】
前記複数の磁気センサの各々は、
前記合成磁界の方向が基準方向に対してなす角度の余弦と対応関係を有する第１の信号を生成する第１の信号生成器と、
前記合成磁界の方向が前記基準方向に対してなす角度の正弦と対応関係を有する第２の信号を生成する第２の信号生成器と、
前記第１および第２の信号に基づいて前記検出値を生成する演算回路とを含み、
前記検出値は、前記合成磁界の方向が前記基準方向に対してなす角度を表わすことを特徴とする請求項１ないし６のいずれかに記載の角度センサ。
【請求項８】
前記第１および第２の信号生成器の各々は、少なくとも１つの磁気検出素子を含むことを特徴とする請求項７記載の角度センサ。
【請求項９】
請求項１ないし８のいずれかに記載の角度センサと、
前記検出対象磁界を発生する磁界発生部とを備えたことを特徴とする角度センサシステム。
【請求項１０】
前記複数の検出位置に対する前記磁界発生部の相対的位置が変化可能であり、
前記検出対象の角度は、前記磁界発生部の相対的位置と対応関係を有することを特徴とする請求項９記載の角度センサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出対象の角度と対応関係を有する角度検出値を生成する角度センサおよび角度センサシステムに関する。
【背景技術】
【０００２】
近年、自動車におけるステアリングホイールまたはパワーステアリングモータの回転位置の検出等の種々の用途で、検出対象の角度と対応関係を有する角度検出値を生成する角度センサが広く利用されている。角度センサとしては、例えば磁気式の角度センサがある。磁気式の角度センサが用いられる角度センサシステムでは、一般的に、対象物の回転や直線的な運動に連動して方向が回転する検出対象磁界を発生する磁界発生部が設けられる。磁界発生部は、例えば磁石である。磁気式の角度センサにおける検出対象の角度は、例えば磁石の回転位置に対応する角度である。磁気式の角度センサは、例えば、上記検出対象磁界を検出して、角度検出値として、基準平面内において基準位置における検出対象磁界の方向が基準方向に対してなす角度を表わす値を生成する。
【０００３】
磁気式の角度センサとしては、互いに位相が異なる２つの検出信号を生成する２つの検出回路を備え、２つの検出信号を用いた演算によって角度検出値を生成するものが知られている。このような磁気式の角度センサでは、２つの検出回路の各々に、検出対象磁界の他に、検出対象磁界以外のノイズ磁界が印加される場合がある。ノイズ磁界としては、例えば地磁気やモーターからの漏れ磁界がある。このように２つの検出回路の各々にノイズ磁界が印加される場合には、２つの検出回路の各々は、検出対象磁界とノイズ磁界との合成磁界を検出することになる。そのため、検出対象磁界の方向とノイズ磁界の方向が異なるときには、角度検出値に誤差が生じる。以下、角度検出値に生じる誤差を、角度誤差と言う。
【０００４】
特許文献１，２には、ノイズ磁界に起因した角度誤差を低減できるようにした角度センサが記載されている。
【０００５】
特許文献１に記載された角度センサは、それぞれ互いに異なる複数の検出位置において上記合成磁界を検出し、複数の合成磁界情報を生成する複数の合成磁界情報生成部と、角度検出値を生成する角度演算部とを備えている。複数の合成磁界情報の各々は、合成磁界の方向と強度のうちの少なくとも方向の情報を含んでいる。角度演算部は、複数の合成磁界情報に基づいて、最小二乗法を用いて角度検出値を生成する。
【０００６】
特許文献２に記載された角度センサは、それぞれ互いに異なる複数の検出位置において上記合成磁界を検出する複数の検出部と、角度検出値を生成する角度演算部とを備えている。複数の検出部の各々は、合成磁界の第１の方向の成分の強度を表す第１の検出信号を生成する第１の検出信号生成部と、合成磁界の第２の方向の成分の強度を表す第２の検出信号を生成する第２の検出信号生成部とを含んでいる。角度演算部は、例えば、複数の検出部において生成される複数対の第１および第２の検出信号に基づいて、最小二乗法を用いて角度検出値を生成する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１８−９６９６６号公報
【特許文献２】特許第６３２３６９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
複数の検出位置における合成磁界の強度と方向を、角度検出値に対応する未知数やノイズ磁界に対応する未知数を変数とした線形のモデル関数で表すことができる場合には、特許文献１，２に記載されているような最小二乗法を用いた方法で角度検出値を生成することができる。
【０００９】
しかし、角度センサシステムによっては、上述のように複数の検出位置における合成磁界の強度と方向を線形のモデル関数で表すことが適当ではない場合がある。このような角度センサシステムの例としては、回転する磁石が発生する検出対象磁界を検出して、磁石の回転位置に対応する角度と対応関係を有する角度検出値を生成する角度センサシステムがある。この角度センサシステムでは、磁石の回転位置に対応する角度が検出対象の角度であり、角度検出値は、この検出対象の角度と対応関係を有する。複数の検出位置における合成磁界の強度と方向を線形のモデル関数で表すことが適当ではない場合には、特許文献１，２に記載された方法では、ノイズ磁界に起因した角度誤差が低減された精度の高い角度検出値を生成することができない。
【００１０】
本発明はかかる問題点に鑑みてなされたもので、その目的は、方向が検出対象の角度に応じて変化する検出対象磁界を検出して、検出対象の角度と対応関係を有する角度検出値を生成する角度センサおよび角度センサシステムであって、ノイズ磁界に起因した角度誤差が低減された精度の高い角度検出値を生成できるようにした角度センサおよび角度センサシステムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の角度センサは、検出対象の角度と対応関係を有する角度検出値を生成するものである。角度センサは、複数の磁気センサとプロセッサとを備えている。複数の磁気センサは、それぞれ互いに異なる複数の検出位置において、検出対象磁界と、それ以外のノイズ磁界との合成磁界を検出し、合成磁界の方向を表す複数の検出値を生成する。プロセッサは、角度検出値を生成する。
【００１２】
複数の検出位置において、検出対象磁界の方向は検出対象の角度に応じて変化する。複数の検出位置において、検出対象磁界の強度と方向の少なくとも一方の、検出対象の角度に応じた変化の態様は互いに異なっている。
【００１３】
プロセッサは、未知数群と、暫定未知数群と、推定未知数群とを想定する。未知数群は、第１の未知数と第２の未知数と第３の未知数の集合である。第１の未知数は、角度検出値に対応する値である。第２の未知数は、ノイズ磁界の方向に対応する値である。第３の未知数は、ノイズ磁界の強度に対応する値である。暫定未知数群は、第１ないし第３の未知数の暫定的な値の集合である。推定未知数群は、第１ないし第３の未知数の推定値の集合である。
【００１４】
プロセッサは、複数の検出値と暫定未知数群に基づいて、推定未知数群を決定する第１の処理と、第１の処理によって決定された推定未知数群を、次回に実行される第１の処理における新たな暫定未知数群とする第２の処理とを、第１の処理の実行回数が２以上になるように実行すると共に、最後に実行された第１の処理によって決定された推定未知数群における第１の未知数の推定値を角度検出値とする第３の処理を実行する。
【００１５】
本発明の角度センサにおいて、プロセッサは、更に、未知数群を変数として複数の検出値を表すモデル関数の１次導関数である近似関数を想定してもよい。この場合、第１の処理は、複数の検出値と暫定未知数群と近似関数に基づいて、推定未知数群を決定してもよい。
【００１６】
プロセッサは、更に、複数の仮の検出値と、複数の乖離値と、変化量群と、近似乖離値群とを想定してもよい。複数の仮の検出値は、モデル関数における暫定未知数群での値である。複数の乖離値は、それぞれ、複数の検出値と複数の仮の検出値の対応するもの同士の差である。変化量群は、暫定未知数群における第１ないし第３の未知数の暫定的な値に対する推定未知数群における第１ないし第３の未知数の推定値の変化量の集合である。近似乖離値群は、近似関数と変化量群とによって求められる、複数の乖離値に対応する複数の近似乖離値の集合である。第１の処理は、近似乖離値群が複数の乖離値の近似値の集合となるように、変化量群を決定し、決定された変化量群に基づいて推定未知数群を決定してもよい。また、第１の処理は、複数の乖離値と複数の近似乖離値の対応するもの同士の差の二乗和が最小になるように、変化量群を決定してもよい。第３の処理は、変化量群における第１の未知数の推定値の変化量が所定値以下の場合に実行されてもよい。
【００１７】
また、モデル関数は、第１の未知数を変数とした複数の周期関数を含む非線形の関数であってもよい。
【００１８】
また、本発明の角度センサにおいて、複数の磁気センサの各々は、合成磁界の方向が基準方向に対してなす角度の余弦と対応関係を有する第１の信号を生成する第１の信号生成器と、合成磁界の方向が基準方向に対してなす角度の正弦と対応関係を有する第２の信号を生成する第２の信号生成器と、第１および第２の信号に基づいて検出値を生成する演算回路とを含んでいてもよい。この場合、検出値は、合成磁界の方向が基準方向に対してなす角度を表わしてもよい。また、第１および第２の信号生成器の各々は、少なくとも１つの磁気検出素子を含んでいてもよい。
【００１９】
本発明の角度センサシステムは、本発明の角度センサと、検出対象磁界を発生する磁界発生部とを備えている。本発明の角度センサシステムにおいて、複数の検出位置に対する磁界発生部の相対的位置が変化可能であってもよい。検出対象の角度は、磁界発生部の相対的位置と対応関係を有していてもよい。
【発明の効果】
【００２０】
本発明の角度センサおよび角度センサシステムでは、第１の処理の実行回数が２以上になるように第１ないし第３の処理を実行することにより、ノイズ磁界に起因した角度誤差が低減された精度の高い角度検出値を生成することが可能になるという効果を奏する。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施の形態に係る角度センサシステムの概略の構成を示す斜視図である。
【図２】本発明の一実施の形態におけるにおける基準平面を示す説明図である。
【図３】本発明の一実施の形態に係る角度センサの構成を示す機能ブロック図である。
【図４】本発明の一実施の形態における磁気センサの構成の一例を示す機能ブロック図である。
【図５】本発明の一実施の形態における第１の信号生成器の構成の一例を示す回路図である。
【図６】本発明の一実施の形態における第２の信号生成器の構成の一例を示す回路図である。
【図７】図５および図６における１つの磁気検出素子の一部を示す斜視図である。
【図８】本発明の一実施の形態における磁界発生部が発生する検出対象磁界の強度の分布を模式的に示す説明図である。
【図９】本発明の一実施の形態における磁界発生部が発生する検出対象磁界の強度および方向の分布を模式的に示す説明図である。
【図１０】本発明の一実施の形態における第１ないし第３の処理を示すフローチャートである。
【図１１】シミュレーションにおける第４の検出値の変化を示す特性図である。
【図１２】シミュレーションにおける第１ないし第４の検出値の変化を示す特性図である。
【図１３】シミュレーションにおける第１ないし第４の検出値の誤差ならびに角度誤差の変化を示す波形図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態について図面を参照して詳細に説明する。始めに、図１を参照して、本発明の一実施の形態に係る角度センサシステムの概略の構成について説明する。本実施の形態に係る角度センサシステム１００は、本実施の形態に係る角度センサ１と、磁界発生部５とを備えている。角度センサ１は、特に、磁気式の角度センサである。磁界発生部５は、角度センサ１が検出すべき本来の磁界である検出対象磁界を発生する。
【００２３】
本実施の形態における磁界発生部５は、円柱状の磁石６である。磁石６は、円柱の中心軸を含む仮想の平面を中心として対称に配置されたＮ極とＳ極とを有している。この磁石６は、円柱の中心軸を中心として回転する。これにより、磁石６が発生する検出対象磁界の方向は、円柱の中心軸を含む回転中心Ｃを中心として回転する。
【００２４】
角度センサ１は、検出対象磁界を検出して、検出対象の角度と対応関係を有する角度検出値θｓを生成するものである。以下、検出対象の角度を、対象角度と言い、記号θで表す。本実施の形態における対象角度θは、磁石６の回転位置に対応する角度である。
【００２５】
角度センサ１は、複数の磁気センサを備えている。複数の磁気センサは、それぞれ互いに異なる複数の検出位置において、検出対象磁界と、それ以外のノイズ磁界Ｍｅｘとの合成磁界を検出し、合成磁界の方向を表す複数の検出値を生成する。複数の検出位置において、検出対象磁界の方向は、対象角度θに応じて変化する。また、複数の検出位置において、検出対象磁界の強度と方向の少なくとも一方の、対象角度θに応じた変化の態様は互いに異なる。
【００２６】
検出位置の数は３以上であればよい。以下、複数の検出位置の数をＭ（Ｍは３以上の整数）で表す。本実施の形態では、Ｍ個の検出位置毎の、またはＭ個の検出位置に共通の基準平面Ｐが定義される。基準平面Ｐは、磁石６の一方の端面に平行な仮想の平面である。Ｍ個の検出位置は、対応する基準平面Ｐまたは共通の基準平面Ｐ内に存在する。以下の説明では、Ｍ個の検出位置が共通の基準平面Ｐ内に存在するものとする。
【００２７】
Ｍ個の検出位置におけるノイズ磁界Ｍｅｘの方向は互いに等しく、Ｍ個の検出位置におけるノイズ磁界Ｍｅｘの強度は互いに等しい。
【００２８】
本実施の形態では、複数の磁気センサは、Ｍ個の磁気センサである。Ｍ個の磁気センサは、磁石６の上記一方の端面に対向するように配置される。以下、Ｍ個の磁気センサを、１番目ないしＭ番目の磁気センサと呼ぶ。そして、ｉ番目（ｉは１以上Ｍ以下の任意の整数）の磁気センサを、符号１０ｉで表す。また、磁気センサ１０ｉに対応する検出位置を記号Ｐｉで表し、磁気センサ１０ｉに対応する基準方向を記号ＤＲｉで表し、磁気センサ１０ｉが生成する検出値を記号θsiで表す。磁気センサ１０ｉは、検出値θsiとして、検出位置Ｐｉにおける検出対象磁界の方向ＤＭｉが基準方向ＤＲｉに対してなす角度θdiと対応関係を有する値を生成する。
【００２９】
ここで、図１および図２を参照して、本実施の形態における方向の定義について説明する。まず、図１に示した回転中心Ｃに平行で、図１における下から上に向かう方向をＺ方向とする。図２では、Ｚ方向を図２における奥から手前に向かう方向として表している。次に、Ｚ方向に垂直な２方向であって、互いに直交する２つの方向をＸ方向とＹ方向とする。図２では、Ｘ方向を右側に向かう方向として表し、Ｙ方向を上側に向かう方向として表している。また、Ｘ方向とは反対の方向を−Ｘ方向とし、Ｙ方向とは反対の方向を−Ｙ方向とする。
【００３０】
基準方向ＤＲｉは、基準平面Ｐ内に位置して、検出位置Ｐｉと交差する。また、検出位置Ｐｉにおける検出対象磁界の方向ＤＭｉは、基準平面Ｐ内に位置する。本実施の形態では、Ｘ方向を基準方向ＤＲｉとする。基準平面Ｐ内において、検出対象磁界の方向ＤＭｉは、検出位置Ｐｉを中心として回転する。本実施の形態では、検出対象磁界の方向ＤＭｉは、図２において反時計回り方向に回転するものとする。角度θdiは、基準方向ＤＲｉから反時計回り方向に見たときに正の値で表し、基準方向ＤＲｉから時計回り方向に見たときに負の値で表す。
【００３１】
本実施の形態において、磁石６が理想的な検出対象磁界を発生する場合には、角度θdiは、対象角度θと一致する。しかし、角度θdiは、磁石６の着磁のばらつき等によって、理想的なものにならずに、対象角度θとはわずかに異なる場合がある。
【００３２】
ノイズ磁界Ｍｅｘが存在する状況の下では、磁気センサ１０ｉは、検出位置Ｐｉにおいて、検出対象磁界とノイズ磁界Ｍｅｘとの合成磁界を検出し、合成磁界の方向を表す検出値θsiを生成する。以下、磁気センサ１０ｉが検出する合成磁界の方向が基準方向ＤＲｉに対してなす角度を記号θｉで表す。角度θｉの正負の定義は、角度θdiと同じである。
【００３３】
なお、本実施の形態に係る角度センサシステム１００の構成は、図１に示した例に限られない。本実施の形態に係る角度センサシステム１００の構成は、複数の検出位置に対する磁界発生部５の相対的位置が変化する構成であればよい。例えば、図１に示したように配置された磁石６と角度センサ１において、磁石６が固定されて角度センサ１が回転してもよいし、磁石６と角度センサ１が互いに反対方向に回転してもよいし、磁石６と角度センサ１が同じ方向に互いに異なる角速度で回転してもよい。いずれの場合においても、対象角度θは、磁界発生部５の相対的位置と対応関係を有する。
【００３４】
次に、図１、図３および図４を参照して、角度センサ１の構成について詳しく説明する。図３は、角度センサ１の構成を示す機能ブロック図である。図４は、磁気センサ１０ｉの構成の一例を示す機能ブロック図である。前述のように、本実施の形態に係る角度センサ１は、Ｍ個の磁気センサ１０１，１０２，…，１０Ｍを備えている。
【００３５】
図４に示した例では、磁気センサ１０ｉは、第１の信号生成器１１ｉと、第２の信号生成器１２ｉと、アナログ−デジタル変換器（以下、Ａ／Ｄ変換器と記す。）１３ｉ，１４ｉと、演算回路１５ｉとを含んでいる。第１の信号生成器１１ｉは、検出位置Ｐｉにおける合成磁界の方向が基準方向ＤＲに対してなす角度θｉの余弦と対応関係を有する第１の信号Ｓ１ｉを生成する。第２の信号生成器１２ｉは、検出位置Ｐｉにおける合成磁界の方向が基準方向ＤＲに対してなす角度θｉの正弦と対応関係を有する第２の信号Ｓ２ｉを生成する。Ａ／Ｄ変換器１３ｉ，１４ｉは、それぞれ、第１および第２の信号Ｓ１ｉ，Ｓ２ｉをデジタル信号に変換する。演算回路１５ｉは、それぞれＡ／Ｄ変換器１３ｉ，１４ｉによってデジタル信号に変換された第１および第２の信号Ｓ１ｉ，Ｓ２ｉに基づいて、検出値θsiを生成する。検出値θsiは、角度θｉを表している。演算回路１５ｉは、例えば、特定用途向け集積回路（ＡＳＩＣ）によって実現することができる。
【００３６】
第１および第２の信号生成器１１ｉ，１２ｉの各々は、少なくとも１つの磁気検出素子を含んでいる。少なくとも１つの磁気検出素子は、少なくとも１つの磁気抵抗効果素子を含んでいてもよい。磁気抵抗効果素子は、ＧＭＲ（巨大磁気抵抗効果）素子でもよいし、ＴＭＲ（トンネル磁気抵抗効果）素子でもよいし、ＡＭＲ（異方性磁気抵抗効果）素子でもよい。また、少なくとも１つの磁気検出素子は、ホール素子等、磁気抵抗効果素子以外の磁界を検出する素子を、少なくとも１つ含んでいてもよい。
【００３７】
角度センサ１は、更に、角度検出値θｓを生成するプロセッサ２０を備えている。角度検出値θｓは、Ｍ個の検出値θs1，検出値θs2，…，θsMに基づいて生成される。プロセッサ２０は、例えば、ＡＳＩＣまたはマイクロコンピュータによって実現することができる。プロセッサ２０の構成と角度検出値θｓの生成方法については、後で説明する。
【００３８】
次に、第１および第２の信号生成器１１ｉ，１２ｉの構成について説明する。図５は、第１の信号生成器１１ｉの具体的な構成の一例を示している。この例では、第１の信号生成器１１ｉは、ホイートストンブリッジ回路１７と、差分検出器１８とを有している。ホイートストンブリッジ回路１７は、４つの磁気検出素子Ｒ１１，Ｒ１２，Ｒ１３，Ｒ１４と、電源ポートＶ１と、グランドポートＧ１と、２つの出力ポートＥ１１，Ｅ１２とを含んでいる。磁気検出素子Ｒ１１は、電源ポートＶ１と出力ポートＥ１１との間に設けられている。磁気検出素子Ｒ１２は、出力ポートＥ１１とグランドポートＧ１との間に設けられている。磁気検出素子Ｒ１３は、電源ポートＶ１と出力ポートＥ１２との間に設けられている。磁気検出素子Ｒ１４は、出力ポートＥ１２とグランドポートＧ１との間に設けられている。電源ポートＶ１には、所定の大きさの電源電圧が印加される。グランドポートＧ１はグランドに接続される。
【００３９】
図６は、第２の信号生成器１２ｉの具体的な構成の一例を示している。この例では、第２の信号生成器１２ｉは、ホイートストンブリッジ回路２７と、差分検出器２８とを有している。ホイートストンブリッジ回路２７は、４つの磁気検出素子Ｒ２１，Ｒ２２，Ｒ２３，Ｒ２４と、電源ポートＶ２と、グランドポートＧ２と、２つの出力ポートＥ２１，Ｅ２２とを含んでいる。磁気検出素子Ｒ２１は、電源ポートＶ２と出力ポートＥ２１との間に設けられている。磁気検出素子Ｒ２２は、出力ポートＥ２１とグランドポートＧ２との間に設けられている。磁気検出素子Ｒ２３は、電源ポートＶ２と出力ポートＥ２２との間に設けられている。磁気検出素子Ｒ２４は、出力ポートＥ２２とグランドポートＧ２との間に設けられている。電源ポートＶ２には、所定の大きさの電源電圧が印加される。グランドポートＧ２はグランドに接続される。
【００４０】
本実施の形態では、磁気検出素子Ｒ１１〜Ｒ１４，Ｒ２１〜Ｒ２４の各々は、直列に接続された複数の磁気抵抗効果素子（ＭＲ素子）を含んでいる。複数のＭＲ素子の各々は、例えばスピンバルブ型のＭＲ素子である。このスピンバルブ型のＭＲ素子は、磁化方向が固定された磁化固定層と、検出対象磁界の方向に応じて磁化の方向が変化する磁性層である自由層と、磁化固定層と自由層の間に配置された非磁性層とを有している。スピンバルブ型のＭＲ素子は、ＴＭＲ素子でもよいし、ＧＭＲ素子でもよい。ＴＭＲ素子では、非磁性層はトンネルバリア層である。ＧＭＲ素子では、非磁性層は非磁性導電層である。スピンバルブ型のＭＲ素子では、自由層の磁化の方向が磁化固定層の磁化の方向に対してなす角度に応じて抵抗値が変化し、この角度が０°のときに抵抗値は最小値となり、角度が１８０°のときに抵抗値は最大値となる。図５および図６において、塗りつぶした矢印は、ＭＲ素子における磁化固定層の磁化の方向を表し、白抜きの矢印は、ＭＲ素子における自由層の磁化の方向を表している。
【００４１】
第１の信号生成器１１ｉでは、磁気検出素子Ｒ１１，Ｒ１４に含まれる複数のＭＲ素子における磁化固定層の磁化の方向はＸ方向であり、磁気検出素子Ｒ１２，Ｒ１３に含まれる複数のＭＲ素子における磁化固定層の磁化の方向は−Ｘ方向である。この場合、検出位置Ｐｉにおける合成磁界の方向が基準方向ＤＲに対してなす角度θｉの余弦に応じて、出力ポートＥ１１，Ｅ１２の電位差が変化する。差分検出器１８は、出力ポートＥ１１，Ｅ１２の電位差に対応する信号を第１の信号Ｓ１ｉとして出力する。従って、第１の信号Ｓ１ｉは、角度θｉの余弦と対応関係を有する。
【００４２】
第２の信号生成器１２ｉでは、磁気検出素子Ｒ２１，Ｒ２４に含まれる複数のＭＲ素子における磁化固定層の磁化の方向はＹ方向であり、磁気検出素子Ｒ２２，Ｒ２３に含まれる複数のＭＲ素子における磁化固定層の磁化の方向は−Ｙ方向である。この場合、検出位置Ｐｉにおける合成磁界の方向が基準方向ＤＲに対してなす角度θｉの正弦に応じて、出力ポートＥ２１，Ｅ２２の電位差が変化する。差分検出器２８は、出力ポートＥ２１，Ｅ２２の電位差に対応する信号を第２の信号Ｓ２ｉとして出力する。従って、第２の信号Ｓ２ｉは、角度θｉの正弦と対応関係を有する。
【００４３】
なお、信号生成器１１ｉ，１２ｉ内の複数のＭＲ素子における磁化固定層の磁化の方向は、ＭＲ素子の作製の精度等の観点から、上述の方向からわずかにずれていてもよい。
【００４４】
ここで、図７を参照して、磁気検出素子の構成の一例について説明する。図７は、図５および図６に示した信号生成器１１ｉ，１２ｉにおける１つの磁気検出素子の一部を示す斜視図である。この例では、１つの磁気検出素子は、複数の下部電極１６２と、複数のＭＲ素子１５０と、複数の上部電極１６３とを有している。複数の下部電極１６２は図示しない基板上に配置されている。個々の下部電極１６２は細長い形状を有している。下部電極１６２の長手方向に隣接する２つの下部電極１６２の間には、間隙が形成されている。図７に示したように、下部電極１６２の上面上において、長手方向の両端の近傍に、それぞれＭＲ素子１５０が配置されている。ＭＲ素子１５０は、下部電極１６２側から順に積層された自由層１５１、非磁性層１５２、磁化固定層１５３および反強磁性層１５４を含んでいる。自由層１５１は、下部電極１６２に電気的に接続されている。反強磁性層１５４は、反強磁性材料よりなり、磁化固定層１５３との間で交換結合を生じさせて、磁化固定層１５３の磁化の方向を固定する。複数の上部電極１６３は、複数のＭＲ素子１５０の上に配置されている。個々の上部電極１６３は細長い形状を有し、下部電極１６２の長手方向に隣接する２つの下部電極１６２上に配置されて隣接する２つのＭＲ素子１５０の反強磁性層１５４同士を電気的に接続する。このような構成により、図７に示した磁気検出素子は、複数の下部電極１６２と複数の上部電極１６３とによって直列に接続された複数のＭＲ素子１５０を有している。なお、ＭＲ素子１５０における層１５１〜１５４の配置は、図７に示した配置とは上下が反対でもよい。
【００４５】
次に、検出値θsiの生成方法について具体的に説明する。演算回路１５ｉは、下記の式（１）によって、検出値θsiを求める。なお、“ａｔａｎ”は、アークタンジェントを表す。
【００４６】
θsi＝ａｔａｎ（Ｓ２ｉ／Ｓ１ｉ）    …（１）
【００４７】
θsiが０°以上３６０°未満の範囲内では、式（１）におけるθsiの解には、１８０°異なる２つの値がある。しかし、Ｓ１ｉ，Ｓ２ｉの正負の組み合わせにより、θsiの真の値が、式（１）におけるθsiの２つの解のいずれであるかを判別することができる。演算回路１５ｉは、式（１）と、上記のＳ１ｉ，Ｓ２ｉの正負の組み合わせの判定により、０°以上３６０°未満の範囲内でθsiを求める。
【００４８】
次に、角度検出値θｓの生成方法について説明する。始めに、検出対象磁界の強度および方向について説明する。本実施の形態では、磁界発生部５が発生する検出対象磁界として、基準平面Ｐ上において、回転中心Ｃ（図１参照）から遠ざかるに従って強度が減少する磁界を想定する。図８は、検出対象磁界の強度の分布を模式的に示す説明図である。図８における縦軸は、検出対象磁界の強度（単位はｍＴ）を示している。また、図８において、縦軸に直交する２つの軸は、基準平面Ｐ上の直交する２方向の位置（単位はｍｍ）を示している。図８では、基準平面Ｐと回転中心Ｃとの交点（図１参照）を、この縦軸に直交する２つの軸の原点とした。
【００４９】
図９は、検出対象磁界の強度および方向の、基準平面Ｐ上での分布を模式的に示す説明図である。図９では、基準平面Ｐと回転中心Ｃ（図１参照）との交点を原点とした。図９における各軸の単位は、ｍｍである。また、図９において、矢印は、対象角度θが０°のときの、原点を中心とする仮想の円の円周上の複数の点における検出対象磁界の強度および方向を表している。矢印の長さは検出対象磁界の強度を表し、矢印の方向は検出対象磁界の方向を表している。
【００５０】
図８に示したように、基準平面Ｐ上では、検出対象磁界の強度は、回転中心Ｃからの距離に依存して変化する。また、図９に示したように、基準平面Ｐ上の、回転中心Ｃからの距離が等しい複数の位置における検出対象磁界の強度は、ほぼ同じ大きさであるが、完全には一致しない。また、基準平面Ｐ上のうち図９に示した領域内では、複数の位置における検出対象磁界の方向は、ほぼ同じ方向であるが、完全には一致しない。基準平面Ｐ上の任意の位置において、対象角度θが変化すると、その位置における検出対象磁界の強度および方向は、対象角度θに依存して変化する。
【００５１】
本実施の形態では、上述のような特質を有する検出対象磁界の強度および方向をできるだけ忠実に再現するために、検出位置Ｐｉにおける検出対象磁界の強度Ｈdiと角度θdi（図２参照）を、対象角度θを変数とした複数の周期関数を含む非線形の関数によってモデリングした。以下、モデリングの具体的な内容について説明する。
【００５２】
検出位置Ｐｉにおける検出対象磁界の強度Ｈdiは、下記の式（２）で表される。式（２）の右辺が、強度Ｈdiをモデリングした関数を表している。
【００５３】
【数１】
2020085614.tif 000003
【００５４】
検出位置Ｐｉにおける角度θdiは、下記の式（３）で表される。式（３）の右辺が、角度θdiをモデリングした関数を表している。
【００５５】
【数２】
2020085614.tif 000004
【００５６】
式（２）、（３）において、ｋは、１以上の整数であり、対象角度θを変数とした周期関数の次数を表している。Ｈd0，θd0は定数である。また、Ａi_k，Ｂi_k，Ｃi_k，Ｄi_kは、それぞれｉ，ｋに応じて決定される定数である。図９に示した例では、強度Ｈdiをモデリングした関数と角度θdiをモデリングした関数の各々は、ｋの値が２である周期関数を含んでいる。
【００５７】
定数Ａi_k，Ｂi_k，Ｃi_k，Ｄi_kは、角度センサシステム１００の使用前に予め決定されている。定数Ａi_k，Ｂi_k，Ｃi_k，Ｄi_kは、例えば、シミュレーションによって基準平面Ｐ上における検出対象磁界の強度および方向の分布を求め、この分布を解析することによって決定することができる。例えば、図９に示した仮想の円が、ある検出位置Ｐｉを通過する円であるとする。対象角度θが変化するということは、仮想の円が回転することと等価である。そのため、例えば、シミュレーションによって仮想の円の円周上における検出対象磁界の強度および方向の分布を求め、この円周上における検出対象磁界の強度および方向の変化の態様をフーリエ解析等によって解析することによって、定数Ａi_k，Ｂi_k，Ｃi_k，Ｄi_kを求めることができる。
【００５８】
次に、磁気センサ１０ｉが生成する検出値θsiと、角度検出値θｓの生成方法の概要について説明する。ノイズ磁界Ｍｅｘが存在しない場合には、検出値θsiは、理論的には、検出対象磁界の強度Ｈdiと角度θdiの余弦と角度θdiの正弦を用いて、下記の式（４）で表される。
【００５９】
【数３】
2020085614.tif 000005
【００６０】
ここで、ノイズ磁界Ｍｅｘの強度を記号ＨEXで表し、ノイズ磁界Ｍｅｘの方向が基準方向ＤＲに対してなす角度を記号θEXで表す。ノイズ磁界Ｍｅｘが存在する場合には、検出値θsiは、理論的には、下記の式（５）で表される。
【００６１】
【数４】
2020085614.tif 000006
【００６２】
式（５）の右辺は、検出値θsiを表すモデル関数である。前述のように、Ｈdi，θdiは、いずれも、対象角度θを変数とした複数の周期関数を含むことから、上記モデル関数は、対象角度θを変数とした複数の周期関数を含む非線形の関数である。
【００６３】
なお、式（５）の右辺のモデル関数では、対象角度θの他にＨEX，θEXも変数である。式（５）は、θ，θEX，ＨEXを変数とした非線形方程式である。式（５）は、ｉの値が異なるＭ個の磁気センサ１０ｉ毎に定義される。従って、Ｍ個の検出値θsiは、ｉの値が異なるＭ個の式（５）で表される。
【００６４】
対象角度θは未知である。本実施の形態では、対象角度θに相当する未知数θMAを想定する。本実施の形態では、θEX，ＨEXも未知数である。以下、θEX，ＨEXを未知数θEX，ＨEXと言う。従って、ｉの値が異なるＭ個の式（５）は、未知数θMA，θEX，ＨEXを変数としたＭ個の非線形方程式と言える。
【００６５】
未知数θMAは、角度検出値θｓに対応する値であり、本発明における第１の未知数に対応する。未知数θEXは、ノイズ磁界Ｍｅｘの方向に対応する値であり、本発明における第２の未知数に対応する。未知数ＨEXは、ノイズ磁界Ｍｅｘの強度に対応する値であり、本発明における第３の未知数に対応する。
【００６６】
本実施の形態では、前述の未知数θMA，θEX，ＨEXを変数としたＭ個の非線形方程式に基づいて、数値計算を用いて、未知数θMAの推定値を求め、この推定値を角度検出値θｓとする。
【００６７】
次に、角度検出値θｓの生成方法について具体的に説明する。以下、未知数θMA，θEX，ＨEXの集合を未知数群と言い、記号Ｘで表す。式（５）の右辺は、未知数群Ｘを変数として検出値θsiを表すモデル関数と言える。このモデル関数は、未知数θMAを変数とした複数の周期関数を含む非線形の関数である。以下、式（５）の右辺を、θsi（Ｘ）とする。θsi（Ｘ）は、θMA，θEX，ＨEXを変数とする関数である。
【００６８】
また、未知数θMAのある値を記号ＰθMAで表し、未知数θEXのある値を記号ＰθEXで表し、未知数ＨEXのある値を記号ＰＨEXで表し、ＰθMA，ＰθEX，ＰＨEXの集合を記号ＸPで表す。ＸPを基準にした１次までのテイラー展開によって式（５）を変形すると、θsi（Ｘ）を表す下記の近似式（６）が得られる。
【００６９】
【数５】
2020085614.tif 000007
【００７０】
式（６）の右辺の第１項のθsi（ＸP）は、θsi（Ｘ）の、ＸPでの値を表しており、θsi（Ｘ）におけるθMA，θEX，ＨEXに、それぞれＰθMA，ＰθEX，ＰＨEXを代入して得られる値である。θsi（ＸP）は、想像上の検出値である。以下、θsi（ＸP）を、仮の検出値と言い、記号θeiで表す。
【００７１】
また、式（６）の右辺の第２項の∂θsi（ＸP）／∂θMAは、θsi（Ｘ）をθMAによって偏微分して得られる１次導関数の、ＸPでの値を表している。また、式（６）の右辺の第３項の∂θsi（ＸP）／∂θEXは、θsi（Ｘ）をθEXによって偏微分して得られる１次導関数の、ＸPでの値を表している。また、式（６）の右辺の第４項の∂θsi（ＸP）／∂ＨEXは、θsi（Ｘ）をＨEXによって偏微分して得られる１次導関数の、ＸPでの値を表している。
【００７２】
磁気センサ１０ｉが生成する実際の検出値θsiも式（６）の右辺で近似される。そこで、式（６）における左辺を検出値θsiに置き換えた式を考える。そして、乖離値Ｄθｉを、実際の検出値θsiと仮の検出値θeiの差と定義する。式（６）における左辺を検出値θsiに置き換えた式の両辺から、仮の検出値θeiすなわちθsi（ＸP）を引くと、乖離値Ｄθｉを表す下記の近似式（７）が得られる。
【００７３】
【数６】
2020085614.tif 000008
【００７４】
なお、式（７）において、ΔθMAはθMA−ＰθMAであり、ΔθEXはθEX−ＰθEXであり、ΔＨEXはＨEX−ＰＨEXである。θMA，θEX，ＨEXは未知数であることから、ΔθMA，ΔθEX，ΔＨEXも未知数である。式（７）の右辺は、乖離値Ｄθｉに相当する値である近似乖離値を表している。
【００７５】
本実施の形態では、未知数群Ｘを変数としてＭ個の検出値θs1，θs1，…，θsMを表すモデル関数の１次導関数である近似関数を想定する。近似関数は、Ｍ個の検出値θs1，θs1，…，θsMを表すモデル関数すなわちθsi（Ｘ）の１次導関数を要素として含むＭ行３列の行列Ｈで表される。行列Ｈにおける第ｉ行は、θsi（Ｘ）をθMAによって偏微分して得られる１次導関数と、θsi（Ｘ）をθEXによって偏微分して得られる１次導関数と、θsi（Ｘ）をＨEXによって偏微分して得られる１次導関数を要素とする。これらの１次導関数は、いずれも、θMA，θEX，ＨEXを変数とする関数である。行列Ｈは、下記の式（８）で表される。
【００７６】
【数７】
2020085614.tif 000009
【００７７】
Ｍ個の乖離値Ｄθ１，Ｄθ２，…，ＤθＭに対応するＭ個の近似乖離値は、行列Ｈの複数の要素である複数の１次導関数の変数θMA，θEX，ＨEXにそれぞれＰθMA，ＰθEX，ＰＨEXを代入して得られる行列ＨPと、ΔθMA，ΔθEX，ΔＨEXを要素とする３次元列ベクトルＶDXの積ＨPＶDXを計算することによって求められる。なお、ベクトルＶDXは、下記の式（９）で表される。
【００７８】
ＶDXT＝［ΔθMA，ΔθEX，ΔＨEX］      …（９）
【００７９】
本実施の形態では、Ｍ個の近似乖離値が、それぞれ対応するＭ個の乖離値Ｄθ１，Ｄθ２，…，ＤθＭとほぼ等しくなるように、未知数ΔθMA，ΔθEX，ΔＨEXの近似解を求める。具体的には、本実施の形態では、Ｍ個の乖離値Ｄθ１，Ｄθ２，…，ＤθＭとＭ個の近似乖離値の対応するもの同士の差の二乗和が最小になるように、未知数ΔθMA，ΔθEX，ΔＨEXの近似解を求める。このようにして未知数ΔθMA，ΔθEX，ΔＨEXの近似解が求まると、未知数θMA，θEX，ＨEXの推定値が求まる。
【００８０】
未知数θMA，θEX，ＨEXの推定値は、それぞれＰθMA，ＰθEX，ＰＨEXよりも、未知数θMA，θEX，ＨEXの真の値に近い。ここで、未知数θMA，θEX，ＨEXの推定値の集合を新たなＸPとし、このＸPに基づいて未知数ΔθMA，ΔθEX，ΔＨEXの新たな近似解を求めると、未知数θMA，θEX，ＨEXの新たな推定値が求まる。この新たな推定値は、より真の値に近づく。本実施の形態では、プロセッサ２０が未知数θMA，θEX，ＨEXの推定値を決定する処理を繰り返し実行することにより、推定値を真の値に近づけていく。
【００８１】
以下、図３を参照して、プロセッサ２０が実行する処理について具体的に説明する。図３に示したように、プロセッサ２０は、反復計算部２１と角度検出値決定部２２とを含んでいる。反復計算部２１と角度検出値決定部２２は、プロセッサ２０によって構成される機能ブロックである。
【００８２】
プロセッサ２０は、角度検出値θｓを生成するために、前記の未知数群Ｘと、暫定未知数群Ｘn-1と、推定未知数群Ｘnと、変化量群ＥＸnとを想定する。暫定未知数群Ｘn-1は、未知数θMA，θEX，ＨEXの暫定的な値の集合である。推定未知数群Ｘnは、未知数θMA，θEX，ＨEXの推定値の集合である。以下、未知数θMA，θEX，ＨEXの暫定的な値を、それぞれ暫定値ＡθMA，ＡθEX，ＡＨEXと言う。また、未知数θMA，θEX，ＨEXの推定値を、それぞれ記号ＢθMA，ＢθEX，ＢＨEXで表す。
【００８３】
変化量群ＥＸnは、暫定値ＡθMA，ＡθEX，ＡＨEXに対する推定値ＢθMA，ＢθEX，ＢＨEXの変化量の集合である。以下、推定値ＢθMA，ＢθEX，ＢＨEXの変化量を、それぞれ記号ＥθMA，ＥθEX，ＥＨEXで表す。
【００８４】
プロセッサ２０は、更に、前記の近似関数すなわち行列Ｈと、複数の仮の検出値θeiと、複数の乖離値Ｄθｉと、近似乖離値群Ｚとを想定する。行列Ｈの複数の要素である複数の１次導関数（式（８）参照）は、予め求められている。行列Ｈは、反復計算部２１によって保持されていてもよいし、プロセッサ２０に設けられた図示しない記憶部によって保持されていてもよい。プロセッサ２０が想定する仮の検出値θeiは、θsi（Ｘ）の、暫定未知数群Ｘn-1での値であり、θsi（Ｘ）における変数θMA，θEX，ＨEXに、それぞれ暫定値ＡθMA，ＡθEX，ＡＨEXを代入して得られる値である。複数の乖離値Ｄθｉは、それぞれ、複数の検出値θsiと複数の仮の検出値θeiの対応するもの同士の差である。
【００８５】
近似乖離値群Ｚは、近似関数すなわち行列Ｈと変化量群ＥＸnとによって求められる、複数の乖離値Ｄθｉに対応する複数の近似乖離値の集合である。本実施の形態では、複数の近似乖離値は、Ｍ個の近似乖離値ｚ１，ｚ２，…，ｚＭである。Ｍ個の近似乖離値ｚ１，ｚ２，…，ｚＭは、行列Ｈの複数の要素である複数の１次導関数の変数θMA，θEX，ＨEXに暫定値ＡθMA，ＡθEX，ＡＨEXを代入して得られる行列Ｈn-1と、変化量ＥθMA，ＥθEX，ＥＨEXを要素とする３次元列ベクトルＶEXnとの積Ｈn-1ＶEXnを計算することによって求められる。なお、ベクトルＶEXnは、下記の式（１０）で表される。
【００８６】
ＶEXnT＝［ＥθMA，ＥθEX，ＥＨEX］    …（１０）
【００８７】
プロセッサ２０は、角度検出値θｓを生成するために、推定未知数群Ｘnを決定する第１の処理を実行する。本実施の形態では、第１の処理は、複数の検出値θsiと暫定未知数群Ｘn-1に基づいて、推定未知数群Ｘnを決定する。本実施の形態では特に、複数の検出値θsiと暫定未知数群Ｘn-1に加えて、近似関数すなわち行列Ｈに基づいて、推定未知数群Ｘnを決定する。また、第１の処理は、プロセッサ２０の反復計算部２１によって実行される。
【００８８】
以下、第１の処理について具体的に説明する。第１の処理では、まず、反復計算部２１が、暫定未知数群Ｘn-1に基づいて複数の仮の検出値θeiを求める。反復計算部２１は、次に、複数の検出値θsiと複数の仮の検出値θeiに基づいて、複数の乖離値Ｄθｉを求める。反復計算部２１は、次に、暫定未知数群Ｘn-1に基づいて行列Ｈn-1を求める。
【００８９】
反復計算部２１は、次に、近似乖離値群Ｚが、複数の乖離値Ｄθｉの近似値の集合となるように、変化量群ＥＸnを決定する。具体的には、プロセッサ２０は、Ｍ個の乖離値Ｄθ１，Ｄθ２，…，ＤθＭとＭ個の近似乖離値ｚ１，ｚ２，…，ｚＭの対応するもの同士の差の二乗和が最小になるように、変化量群ＥＸnを決定する。
【００９０】
ここで、Ｍ個の乖離値Ｄθ１，Ｄθ２，…，ＤθＭを要素とするＭ次元列ベクトルを記号ＶYで表し、Ｍ個の近似乖離値ｚ１，ｚ２，…，ｚＭを要素とするＭ次元列ベクトルを記号ＶZで表す。ベクトルＶY，ＶZは、それぞれ下記の式（１１）、（１２）で表される。
【００９１】
ＶYT＝［Ｄθ１，Ｄθ２，…，ＤθＭ］    …（１１）
ＶzT＝［ｚ１，ｚ２，…，ｚＭ］          …（１２）
【００９２】
近似乖離値群Ｚが、Ｍ個の乖離値Ｄθ１，Ｄθ２，…，ＤθＭの近似値の集合である場合には、ベクトルＶZはベクトルＶYとほぼ等しくなる。また、ベクトルＶZは、行列Ｈn-1とベクトルＶEXnとの積Ｈn-1ＶEXnで表される。従って、ベクトルＶYは、下記の式（１３）で表される。
【００９３】
ＶY≒Ｈn-1ＶEXn    …（１３）
【００９４】
変化量群ＥＸnの決定は、具体的には、式（１３）における左辺と右辺の差を最小にするベクトルＶEXnを決定するための最小二乗コスト関数Ｆを定義して、この関数Ｆの値を最小にするベクトルＶEXnを求めることによって実現される。関数Ｆは、下記の式（１４）によって定義される。
【００９５】
Ｆ＝||ＶY−Ｈn-1ＶEXn||2
＝（ＶY−Ｈn-1ＶEXn）T（ＶY−Ｈn-1ＶEXn）
＝ＶYTＶY−ＶEXnTＨn-1TＶY−ＶYTＨn-1ＶEXn
＋ＶEXnTＨn-1TＨn-1ＶEXn                      …（１４）
【００９６】
式（１４）をＶEXnによって偏微分すると、下記の式（１５）が得られる。
【００９７】
∂Ｆ／∂ＶEXn＝２（−Ｈn-1TＶY＋Ｈn-1TＨn-1ＶEXn）    …（１５）
【００９８】
関数Ｆの値を最小にするＶEXnは、∂Ｆ／∂ＶEXn＝０を満たす。従って、関数Ｆの値を最小にするＶEXnは、下記の式（１６）によって表される。
【００９９】
ＶEXn＝（Ｈn-1TＨn-1）-1Ｈn-1TＶY    …（１６）
【０１００】
本実施の形態では、プロセッサ２０は、式（１６）によって算出されたベクトルＶEXnの３つの要素の集合、すなわち変化量ＥθMA，ＥθEX，ＥＨEXの近似解の集合を、変化量群ＥＸnとして決定する。
【０１０１】
第１の処理では、次に、反復計算部２１が、決定された変化量群ＥＸnに基づいて、推定未知数群Ｘnを決定する。ここで、暫定未知数群Ｘn-1における暫定値ＡθMA，ＡθEX，ＡＨEXを要素とする３次元列ベクトルを記号Ｖn-1で表し、推定未知数群Ｘnにおける推定値ＢθMA，ＢθEX，ＢＨEXを要素とする３次元列ベクトルを記号Ｖnで表す。ベクトルＶn-1，Ｖnは、それぞれ下記の式（１７）、（１８）で表される。
【０１０２】
Ｖn-1T＝［ＡθMA，ＡθEX，ＡＨEX］    …（１７）
ＶnT＝［ＢθMA，ＢθEX，ＢＨEX］      …（１８）
【０１０３】
ベクトルＶnは、ベクトルＶn-1とベクトルＶEXnを用いて、下記の式（１９）で表される。
【０１０４】
Ｖn＝Ｖn-1＋ＶEXn    …（１９）
【０１０５】
反復計算部２１は、式（１９）によって算出されたベクトルＶnの３つの要素の集合、すなわち推定値ＢθMA，ＢθEX，ＢＨEXの集合を、推定未知数群Ｘnとして決定する。
【０１０６】
プロセッサ２０は、角度検出値θｓを生成するために、推定未知数群Ｘnを決定する第１の処理に加えて、第２の処理と第３の処理を実行する。第２の処理は、第１の処理によって決定された推定未知数群Ｘnを、次回に実行される第１の処理における新たな暫定未知数群Ｘn-1とする処理である。また、第２の処理は、反復計算部２１によって実行される。反復計算部２１は、第１の処理と第２の処理とを、第１の処理の実行回数が２以上になるように実行する。
【０１０７】
第１の処理を繰り返し実行することによって、推定値ＢθMAは、第１の未知数θMAの真の値に近づく。推定値ＢθMAが第１の未知数θMAの真の値に近づくに従って、変化量群ＥＸnにおける変化量ＥθMAは小さくなる。第３の処理は、変化量ＥθMAが所定値以下の場合に、角度検出値決定部２２によって実行される。第３の処理は、最後に実行された第１の処理によって決定された推定未知数群Ｘnにおける推定値ＢθMAを角度検出値θｓとする処理である。
【０１０８】
以下、図１０を参照して、第１ないし第３の処理の関係について説明する。図１０は、角度検出値θｓの生成方法を示すフローチャートである。
【０１０９】
角度検出値θｓの生成方法では、まず、反復計算部２１が、変数ｎを１以上の整数として定義し且つｎ＝１とすると共に、初期未知数群Ｘ0を暫定未知数群Ｘn-1とする（ステップＳ１１）。初期未知数群Ｘ0は、暫定値ＡθMA，ＡθEX，ＡＨEXの初期値の集合である。初期未知数群Ｘ0は、反復計算部２１によって保持されていてもよいし、プロセッサ２０に設けられた図示しない記憶部によって保持されていてもよい。
【０１１０】
反復計算部２１は、次に、複数の検出値θsiと暫定未知数群Ｘn-1と近似関数すなわち行列Ｈに基づいて、変化量群ＥＸnを決定する（ステップＳ１２）。反復計算部２１は、次に、決定された変化量群ＥＸnに基づいて、推定未知数群Ｘnを決定する（ステップＳ１３）。これにより、推定値ＢθMA，ＢθEX，ＢＨEXが決定される。
【０１１１】
反復計算部２１は、次に、ｎが２以上で且つ変化量ＥθMAが所定値以下であるか否かを判定する（ステップＳ１４）。ｎが２以上で且つ変化量ＥθMAが所定値以下ではない場合（ＮＯ）には、反復計算部２１が、ｎ＋１を新たなｎとし、推定未知数群Ｘnを新たな暫定未知数群Ｘn-1として（ステップＳ１５）、ステップＳ１２に戻る。
【０１１２】
ステップＳ１４においてｎが２以上で且つ変化量ＥθMAが所定値以下である場合（ＹＥＳ）には、角度検出値決定部２２が、ステップＳ１３で決定された推定値ＢθMAを角度検出値θｓとする（ステップＳ１６）。
【０１１３】
ステップＳ１２，Ｓ１３は、第１の処理に対応する。ステップＳ１５は、第２の処理に対応する。ステップＳ１６は、第３の処理に対応する。
【０１１４】
次に、本実施の形態に係る角度センサ１および角度センサシステム１００の作用および効果について説明する。本実施の形態では、プロセッサ２０は、前述の第１の処理と第２の処理とを、第１の処理の実行回数が２以上になるように実行すると共に、最後に実行された第１の処理によって決定された推定値ＢθMAを角度検出値θｓとする第３の処理を実行する。
【０１１５】
本実施の形態では、基準平面Ｐ上の任意の位置における検出対象磁界の強度と方向は、対象角度θに依存して変化する。本実施の形態では、上述のような特質を有する検出対象磁界の強度および方向をできるだけ忠実に再現するために、前述の式（２）、（３）のように、検出位置Ｐｉにおける検出対象磁界の強度Ｈdiと角度θdiを、対象角度θを変数とした複数の周期関数を含む非線形の関数によってモデリングし、前述の式（５）のように、検出値θsiを非線形のモデル関数で表した。
【０１１６】
ノイズ磁界Ｍｅｘが存在する状況の下で角度検出値θｓを生成する方法としては、複数の検出値θsiに基づいて、最小二乗法を用いた１回の処理によって角度検出値θｓを推定する方法がある。しかし、上述のように、検出位置Ｐｉにおける検出対象磁界の強度Ｈdiと角度θdiが非線形の関数で表される場合には、最小二乗法を用いた１回の処理では、角度検出値θｓを精度よく決定することはできない。
【０１１７】
これに対し、本実施の形態では、式（６）ないし式（８）を参照して説明したように、１次までのテイラー展開を利用して近似関数すなわち行列Ｈを予め求めておき、角度検出値θｓを生成するために、複数の検出値θsiから得られる複数の乖離値Ｄθｉと行列Ｈから得られる行列Ｈn-1を利用して変化量群ＥＸnを決定し、決定した変化量群ＥＸnに基づいて推定値ＢθMA，ＢθEX，ＢＨEXを決定する第１の処理を繰り返し実行する。
【０１１８】
本実施の形態では、第１の処理の回数が増えるたびに、複数の乖離値Ｄθｉと、複数の乖離値Ｄθｉに対応する複数の近似乖離値が小さくなり、複数の近似乖離値の集合である近似乖離値群Ｚと対応関係を有する変化量群ＥＸnにおける変化量ＥθMA，ＥθEX，ＥＨEXも小さくなり、推定未知数群Ｘnにおける推定値ＢθMA，ＢθEX，ＢＨEXは未知数群Ｘにおける未知数θMA，θEX，ＨEXの真の値に近づく。これにより、本実施の形態によれば、検出位置Ｐｉにおける検出対象磁界の強度Ｈdiと角度θdiを線形の関数で表すことが適当ではない場合であっても、ノイズ磁界Ｍｅｘに起因した角度誤差が低減された精度の高い角度検出値θｓを生成することが可能になる。
【０１１９】
次に、本実施の形態による効果を確認するために行ったシミュレーションの結果について説明する。シミュレーションでは、検出位置および磁気センサの数を４つとした角度センサシステム１００のモデルを用いた。４つの検出位置は、互いに異なる位置とした。以下、角度センサシステム１００のモデルにおける４つの磁気センサを第１ないし第４の磁気センサと言い、第１ないし第４の磁気センサが生成する検出値を第１ないし第４の検出値θs1，θs2，θs3，θs4と言う。
【０１２０】
シミュレーションでは、角度センサシステム１００のモデルを用いて、方向と強度が一定のノイズ磁界Ｍｅｘが存在する状況の下で角度検出値θｓを生成したときの角度誤差を求めた。なお、シミュレーションでは、角度検出値θｓと対象角度θの差を角度誤差とした。
【０１２１】
また、シミュレーションでは、第１ないし第４の検出値θs1，θs2，θs3，θs4のそれぞれの誤差も求めた。なお、シミュレーションでは、第１の検出値θs1と対象角度θの差を第１の検出値θs1の誤差とし、第２の検出値θs2と対象角度θの差を第２の検出値θs2の誤差とし、第３の検出値θs3と対象角度θの差を第３の検出値θs3の誤差とし、第４の検出値θs4と対象角度θの差を第４の検出値θs4の誤差とした。
【０１２２】
シミュレーションでは、検出位置Ｐｉにおける検出対象磁界の強度Ｈdiと角度θdiがそれぞれ式（２）、（３）の右辺の関数によって表され、且つこれらの関数がｋの値が２である周期関数を含むように、検出対象磁界の強度と方向をモデリングした。また、シミュレーションでは、第１ないし第４の磁気センサに印加される検出対象磁界の強度の平均値を３０ｍＴとし、ノイズ磁界Ｍｅｘの強度を５ｍＴとした。
【０１２３】
図１１および図１２は、シミュレーションによって得られた第１ないし第４の検出値θs1〜θs4の変化を示す特性図である。図１１には、第１ないし第４の検出値θs1〜θs4を代表して、対象角度θが変化したときの第４の検出値θs4の変化を示している。図１２には、図１１に示した対象角度θの範囲の一部について、対象角度θが変化したときの第１ないし第４の検出値θs1〜θs4の変化を示している。図１１および図１２において、横軸は対象角度θを示し、縦軸は各検出値を示している。図１２において、符号３１は第１の検出値θs1を示し、符号３２は第２の検出値θs2を示し、符号３３は第３の検出値θs3を示し、符号３４は第４の検出値θs4を示している。図１２に示したように、対象角度θに応じた第１ないし第４の検出値θs1〜θs4の変化の態様は互いに異なっている。
【０１２４】
図１３は、シミュレーションによって得られた第１ないし第４の検出値θs1〜θs4の誤差ならびに角度誤差の変化を示す特性図である。図１３において、横軸は対象角度θを示し、縦軸は誤差を示している。この縦軸における誤差は、第１ないし第４の検出値θs1〜θs4の誤差および角度誤差を総称したものである。図１３において、符号４１は第１の検出値θs1の誤差を示し、符号４２は第２の検出値θs2の誤差を示し、符号４３は第３の検出値θs3の誤差を示し、符号４４は第４の検出値θs4の誤差を示し、符号４５は角度誤差を示している。
【０１２５】
図１３に示したように、第１ないし第４の検出値θs1〜θs4の誤差は比較的大きいが、角度誤差はほぼ０である。第１ないし第４の検出値θs1〜θs4の誤差は、ノイズ磁界Ｍｅｘに起因した誤差である。また、第１ないし第４の検出値θs1〜θs4の誤差は、１つの磁気センサのみを備えた磁気センサ装置が生成する角度検出値の角度誤差と見なすことができる。図１３に示したように、本実施の形態によれば、１つの磁気センサのみを備えた磁気センサ装置に比べて、ノイズ磁界Ｍｅｘに起因した角度誤差が低減された角度検出値θｓを生成することができる。
【０１２６】
なお、本発明は、上記実施の形態に限定されず、種々の変更が可能である。例えば、本発明の角度センサシステムは、磁界発生部５として、磁石６の代わりに、複数組のＮ極とＳ極が交互に直線状に配列された磁気スケールを備え、この磁気スケールの外周の近傍に複数の磁気センサが配置された構成であってもよい。この場合、複数の検出位置に対する磁気スケールの相対的位置が、磁気スケールのＮ極とＳ極が並ぶ方向に直線的に変化可能であればよい。また、この場合、検出対象の角度は、磁気スケールの１ピッチを３６０°として磁気スケールの相対的位置を角度で表したときのその角度であってもよい。
【符号の説明】
【０１２７】
１…角度センサ、５…磁界発生部、６…磁石、１０ｉ…磁気センサ、１１ｉ…第１の信号生成器、１２ｉ…第２の信号生成器、１５ｉ…演算回路、２０…プロセッサ、２１…反復計算部、２２…角度検出値決定部、１００…角度センサシステム。
【図１】
2020085614.tif 000010
【図２】
2020085614.tif 000011
【図３】
2020085614.tif 000012
【図４】
2020085614.tif 000013
【図５】
2020085614.tif 000014
【図６】
2020085614.tif 000015
【図７】
2020085614.tif 000016
【図８】
2020085614.tif 000017
【図９】
2020085614.tif 000018
【図１０】
2020085614.tif 000019
【図１１】
2020085614.tif 000020
【図１２】
2020085614.tif 000021
【図１３】
2020085614.tif 000022
【手続補正書】
【提出日】令和1年10月30日(2019.10.30)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
【図１】本発明の一実施の形態に係る角度センサシステムの概略の構成を示す斜視図である。
【図２】本発明の一実施の形態における基準平面を示す説明図である。
【図３】本発明の一実施の形態に係る角度センサの構成を示す機能ブロック図である。
【図４】本発明の一実施の形態における磁気センサの構成の一例を示す機能ブロック図である。
【図５】本発明の一実施の形態における第１の信号生成器の構成の一例を示す回路図である。
【図６】本発明の一実施の形態における第２の信号生成器の構成の一例を示す回路図である。
【図７】図５および図６における１つの磁気検出素子の一部を示す斜視図である。
【図８】本発明の一実施の形態における磁界発生部が発生する検出対象磁界の強度の分布を模式的に示す説明図である。
【図９】本発明の一実施の形態における磁界発生部が発生する検出対象磁界の強度および方向の分布を模式的に示す説明図である。
【図１０】本発明の一実施の形態における第１ないし第３の処理を示すフローチャートである。
【図１１】シミュレーションにおける第４の検出値の変化を示す特性図である。
【図１２】シミュレーションにおける第１ないし第４の検出値の変化を示す特性図である。
【図１３】シミュレーションにおける第１ないし第４の検出値の誤差ならびに角度誤差の変化を示す波形図である。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
図４に示した例では、磁気センサ１０ｉは、第１の信号生成器１１ｉと、第２の信号生成器１２ｉと、アナログ−デジタル変換器（以下、Ａ／Ｄ変換器と記す。）１３ｉ，１４ｉと、演算回路１５ｉとを含んでいる。第１の信号生成器１１ｉは、検出位置Ｐｉにおける合成磁界の方向が基準方向ＤＲｉに対してなす角度θｉの余弦と対応関係を有する第１の信号Ｓ１ｉを生成する。第２の信号生成器１２ｉは、検出位置Ｐｉにおける合成磁界の方向が基準方向ＤＲｉに対してなす角度θｉの正弦と対応関係を有する第２の信号Ｓ２ｉを生成する。Ａ／Ｄ変換器１３ｉ，１４ｉは、それぞれ、第１および第２の信号Ｓ１ｉ，Ｓ２ｉをデジタル信号に変換する。演算回路１５ｉは、それぞれＡ／Ｄ変換器１３ｉ，１４ｉによってデジタル信号に変換された第１および第２の信号Ｓ１ｉ，Ｓ２ｉに基づいて、検出値θsiを生成する。検出値θsiは、角度θｉを表している。演算回路１５ｉは、例えば、特定用途向け集積回路（ＡＳＩＣ）によって実現することができる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
第１の信号生成器１１ｉでは、磁気検出素子Ｒ１１，Ｒ１４に含まれる複数のＭＲ素子における磁化固定層の磁化の方向はＸ方向であり、磁気検出素子Ｒ１２，Ｒ１３に含まれる複数のＭＲ素子における磁化固定層の磁化の方向は−Ｘ方向である。この場合、検出位置Ｐｉにおける合成磁界の方向が基準方向ＤＲｉに対してなす角度θｉの余弦に応じて、出力ポートＥ１１，Ｅ１２の電位差が変化する。差分検出器１８は、出力ポートＥ１１，Ｅ１２の電位差に対応する信号を第１の信号Ｓ１ｉとして出力する。従って、第１の信号Ｓ１ｉは、角度θｉの余弦と対応関係を有する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
第２の信号生成器１２ｉでは、磁気検出素子Ｒ２１，Ｒ２４に含まれる複数のＭＲ素子における磁化固定層の磁化の方向はＹ方向であり、磁気検出素子Ｒ２２，Ｒ２３に含まれる複数のＭＲ素子における磁化固定層の磁化の方向は−Ｙ方向である。この場合、検出位置Ｐｉにおける合成磁界の方向が基準方向ＤＲｉに対してなす角度θｉの正弦に応じて、出力ポートＥ２１，Ｅ２２の電位差が変化する。差分検出器２８は、出力ポートＥ２１，Ｅ２２の電位差に対応する信号を第２の信号Ｓ２ｉとして出力する。従って、第２の信号Ｓ２ｉは、角度θｉの正弦と対応関係を有する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】変更
【補正の内容】
【００６０】
ここで、ノイズ磁界Ｍｅｘの強度を記号ＨEXで表し、ノイズ磁界Ｍｅｘの方向が基準方向ＤＲｉに対してなす角度を記号θEXで表す。ノイズ磁界Ｍｅｘが存在する場合には、検出値θsiは、理論的には、下記の式（５）で表される。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００７５
【補正方法】変更
【補正の内容】
【００７５】
本実施の形態では、未知数群Ｘを変数としてＭ個の検出値θs1，θs2，…，θsMを表すモデル関数の１次導関数である近似関数を想定する。近似関数は、Ｍ個の検出値θs1，θs2，…，θsMを表すモデル関数すなわちθsi（Ｘ）の１次導関数を要素として含むＭ行３列の行列Ｈで表される。行列Ｈにおける第ｉ行は、θsi（Ｘ）をθMAによって偏微分して得られる１次導関数と、θsi（Ｘ）をθEXによって偏微分して得られる１次導関数と、θsi（Ｘ）をＨEXによって偏微分して得られる１次導関数を要素とする。これらの１次導関数は、いずれも、θMA，θEX，ＨEXを変数とする関数である。行列Ｈは、下記の式（８）で表される。
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図１０
【補正方法】変更
【補正の内容】
【図１０】
2020085614.tif 000023