(57)【要約】      （修正有）【課題】動作周波数を高めることなく、制御精度を高めることが可能なパルス幅変調制御回路を提供する。【解決手段】パルス幅変調制御回路は、第１のトランジスタと信号生成器を含む。第１のトランジスタは、電源に連結された第１の端子と、制御される構成要素の第１の入力に連結された第２の端子を含む。信号生成器は、第１のトランジスタのゲートに連結された第１のノードを含む。信号生成器において、パルス幅変調動作は、比較値３３２２と比較基準３３２４、３３２６を受信し、比較基準に基づいて比較値とカウンタ値３３０４とを比べる。カウンタ値に対して比較基準を満たす比較値に応答して、パルス幅変調された信号のパルスのパルスエッジを生成するため、制御信号を第１のトランジスタのゲートに送信する。【選択図】図３３
2019205155.tif 000002
【特許請求の範囲】
【請求項１】
パルス幅変調制御回路（２４２、３５０２）であって、
電源（２５２）に連結された第１の端子（２８６２）と、制御される構成要素（１２４）の第１の入力（２８５２）に連結された第２の端子（２８６６）と、を含む第１のトランジスタ（３３６、２８２２）と、
前記第１のトランジスタのゲート（２８６４）に連結された信号生成器（３３４、２８４２、３５２２、３５２４）であって、
比較値（３３２２、３４２２）と比較基準（３３２４、３３２６、３４２４、３４２６）とを受信（３７０２）し、
前記比較基準に基づいて前記比較値をカウンタ値（３３０４）と比較（３７０４）し、
前記カウンタ値に対して前記比較基準を満たす前記比較値に応答して、パルス幅変調信号（３８０）のパルスのパルスエッジを生成するため、前記第１のトランジスタのゲートに制御信号（３５３２、３５３４）を送信（３７０６）する
ように構成された信号生成器と、
を備えるパルス幅変調制御回路（２４２、３５０２）。
【請求項２】
前記電源に連結された第１の端子（２８６２）、前記制御される構成要素の第２の入力（２８５２）に連結された第２の端子（２８６６）、及び前記信号生成器に連結されたゲート（２８６４）を含む第２のトランジスタ（３３６、２８２４）を更に備える、請求項１に記載のパルス幅変調制御回路。
【請求項３】
前記電源に連結された第１の端子（２８６２）、前記制御される構成要素の第３の入力（２８５２）に連結された第２の端子（２８６６）、及び前記信号生成器に連結されたゲート（２８６４）を含む第３のトランジスタ（３３６、２８２６）を更に備える、請求項１に記載のパルス幅変調制御回路。
【請求項４】
前記第１のトランジスタを介して前記電源に連結された第１の端子（２８６２）を含み、前記制御される構成要素に連結され、接地に連結された第２の端子（２８６４）と前記信号生成器に連結されたゲート（２８６４）とを含む、第４のトランジスタ（３３６、２８３２）を更に備える、請求項１に記載のパルス幅変調制御回路。
【請求項５】
前記比較値と前記比較基準とは設定点信号（３３１２〜３３２０、３４１２〜３４２０）に含まれ、前記比較基準は「大なり」条件、「大なり又は等しい」条件、「小なり」条件、或いは「小なり又は等しい」条件を備える、請求項１に記載のパルス幅変調制御回路。
【請求項６】
前記信号生成器は更に、前記設定点信号のシフト動作に基づいて、前記比較値を決定するように構成される、請求項５に記載のパルス幅変調制御回路。
【請求項７】
前記信号生成器は更に、前記設定点信号の一又は複数のビットに基づいて、前記比較基準を決定するように構成される、請求項５に記載のパルス幅変調制御回路。
【請求項８】
前記信号生成器は、前記比較基準に基づいて、前記カウンタ値を前記比較値と比較するように構成されるコンパレータを含む、請求項１に記載のパルス幅変調制御回路。
【請求項９】
前記制御される構成要素は、発光ダイオード、デューティサイクルコントローラ、クロック信号生成器、バックコンバータ、サーボ、ステッパモーター、単相モーター、又は多相モーターを備える、請求項１に記載のパルス幅変調制御回路。
【請求項１０】
パルス幅変調の方法（３７００）であって、
比較値と比較基準（３３２４、３３２６、３４２４、３４２６）とを受信すること（３７０２）と、
前記比較基準に基づいて、比較値とカウンタ値（３３０４）を比較すること（３７０４）と、
前記カウンタ値に対して前記比較基準を満たす前記比較値に応答して、パルス幅変調信号（３８０）のパルスのパルスエッジを生成するため、第１のトランジスタ（３３６、２８２２〜２８２６、２８３２〜２８３６）のゲート（２８６４）に制御信号（３７８、３５３２、３５３４）を送信すること（３７０６）と、
を含む、パルス幅変調の方法（３７００）。
【請求項１１】
前記比較値、前記比較基準、及び第２の比較基準（３３２６、３４２６）を示す設定点信号（３３１２〜３３２０、３４１２〜３４２０）を受信することと、
前記第２の比較基準に基づいて、前記比較値と第２のカウンタ値（３３０４）とを比較することと、
前記第２のカウンタ値に対して第２の比較基準を満たす前記比較値に応答して、前記パルス幅変調信号の前記パルスの第２のパルスエッジを生成するため、第２の制御信号（３７８）を前記第１のトランジスタの前記ゲートに送信することと、
を更に含む、請求項１０に記載の方法。
【請求項１２】
前記設定点信号の一又は複数の第１のビットに基づいて前記比較値を決定することと、
前記設定点信号の一又は複数の第２のビットに基づいて前記比較基準及び前記第２の比較基準を決定することと、
を更に含む、請求項１１に記載の方法。
【請求項１３】
前記比較値を決定することは、前記設定点信号を１ビット以上右にシフトすることを含む、請求項１２に記載の方法。
【請求項１４】
前記設定点信号の一又は複数の第２のビットは、前記設定点信号の一又は複数の最下位ビットに対応する、請求項１２に記載の方法。
【請求項１５】
前記設定点信号の前記一又は複数の最下位ビットに基づいて、テーブルから前記比較基準を選択することを更に含む、請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概して、パルス幅変調及びジンバル式慣性計測装置に関する。
【背景技術】
【０００２】
ジンバル式慣性計測装置は、ビークル（乗り物）の航法及び対象物の追跡に使用される。ジンバル式慣性計測装置は、ビークルの経路に沿ってセンサを配置するため、各々が１本の軸に沿って回転する複数のジンバルを含む。３個又は４個のジンバルなど、複数個のジンバルを使用することによって、ビークルの慣性はセンサによって複数の軸でモニタ可能で、慣性航法に使用できる。慣性航法は、推測航法によって、外部参照を必要とすることなく、移動体の位置、配向、速度を連続的に計算する。推測航法（又は演繹的航法）は、事前に決定された位置を用いてビークルの現在位置を計算すること、及び推定された速度と方位に基づいて当該の位置を進むことを含む。
【０００３】
ジンバル式慣性計測装置は、複数のジンバルの各々を駆動し、ビークルの慣性を追跡するセンサを配置するモーターの位置を決定するため、リゾルバなどの追加のセンサを含む。リゾルバは、角度などの回転位置を決定するために使用されるアナログセンサである。リゾルバは励磁信号を受信し、デジタルサンプルに変換されるアナログ出力信号を生成する。デジタルサンプルは、モーターとジンバルの位置を決定するために使用される。出力アナログ信号から決定された位置出力は、アナログからデジタルへの変換中に、或いはデジタルサンプルから角度出力への処理によって、精度が低下することがある。加えて、ジンバルモーターの動作中の電流切り替えの干渉によってノイズや誤差が加わることがありうる。精度の低下及び誤差は、慣性航法中に時間と共に蓄積し、不正確なデータ又は航法をもたらしうる。
【０００４】
任務又は設計要件に必要となるジンバル式慣性計測装置の精度又は帯域幅を高めるために、多くの場合、複雑な個別の解決策が用いられる。しかしながら、これらの解決策は一般的に、精度と帯域幅を同時に高めることはない。加えて、これらの解決策は、ビークルの設計を複雑にし、コスト、重量、及び容積を増大させる。飛行ビークル（航空機、宇宙船など）の場合には、重量及び容積はコストを大幅に増大させ、性能を低下させる。
【発明の概要】
【０００５】
特定の実装では、装置は、モーターのドライブシャフトの粗い位置を示す粗い位置信号を出力するように構成された、粗いリゾルバを含む。装置はまた、モーターのドライブシャフトの微細な（細かい）位置を示す微細な位置信号を出力するように構成された、微細なリゾルバを含む。装置は更に制御回路を含む。制御回路は、粗いリゾルバからの粗い位置信号と微細なリゾルバからの微細な位置信号を受信し、粗い位置信号に基づいて、ドライブシャフトの初期位置を示す、初期位置出力を生成する。制御回路は更に、微細な位置信号に基づいて、ドライブシャフトのその後の位置を示す、その後の位置出力を生成するように構成されている。
【０００６】
別の特定の実装では、回転位置を決定する方法は、粗いリゾルバからの粗い位置信号と微細なリゾルバからの微細な位置信号を受信することを含む。粗い位置信号は、モーターのドライブシャフトの粗い位置を示し、微細な位置信号は、モーターのドライブシャフトの微細な位置を示す。方法はまた、粗い位置信号に基づいて、ドライブシャフトの初期位置を示す、初期位置出力を生成することを含む。方法は更に、微細な位置信号に基づいて、ドライブシャフトのその後の位置を示す、その後の位置出力を生成することを含む。
【０００７】
更に別の特定の実装では、非一過性のコンピュータ可読媒体は、プロセッサによって実行されると、プロセッサが粗いリゾルバからの粗い位置信号と微細なリゾルバからの微細な位置信号を受信するようにさせる命令を記憶する。粗い位置信号は、モーターのドライブシャフトの粗い位置を示し、微細な位置信号は、モーターのドライブシャフトの微細な位置を示す。命令によって更に、プロセッサは、粗い位置信号に基づいて、ドライブシャフトの初期位置を示す、初期位置出力を生成し、微細な位置信号に基づいて、ドライブシャフトのその後の位置を示す、その後の位置出力を生成する。
【０００８】
特定の実装では、パルス幅変調制御回路は第１のトランジスタと信号生成器を含む。第１のトランジスタは、電源に連結された第１の端子と、制御される構成要素の第１の入力に連結された第２の端子を含む。信号生成器は、第１のトランジスタのゲートに連結された第１のノードを含む。信号生成器は、比較値と比較基準を受信し、比較基準に基づいて比較値とカウンタ値とを比べるように構成されている。カウンタ値に対して比較基準を満たす比較値に応答して、信号生成器は、パルス幅変調された信号のパルスのパルスエッジを生成するため、制御信号を第１のトランジスタのゲートに送信するように構成されている。
【０００９】
別の特定の実装では、システムはモーターと、モーターに連結されたパルス幅変調制御回路を含む。パルス幅変調制御回路は、パルス幅変調信号をモーターに出力するように構成されている。パルス幅変調制御回路は、第１のトランジスタと信号生成器を含む。第１のトランジスタは、電源に連結された第１の端子と、モーターの第１の入力に連結された第２の端子を含む。信号生成器は、第１のトランジスタのゲートに連結された第１のノードを含む。信号生成器は、比較値と比較基準を受信し、比較基準に基づいて比較値とカウンタ値とを比べるように構成されている。カウンタ値に対して比較基準を満たす比較値に応答して、信号生成器は、パルス幅変調された信号のパルスのパルスエッジを生成するため、制御信号を第１のトランジスタのゲートに送信するように構成されている。
【００１０】
更に別の特定の実装では、パルス幅変調の方法は、比較値と比較基準を受信することを含み、比較基準に基づいて比較値とカウンタ値を比べることを含む。方法は更に、カウンタ値に対して比較基準を満たす比較値に応答して、パルス幅変調信号のパルスのパルスエッジを生成するため、制御信号を第１のトランジスタのゲートに送信することを含む。
【００１１】
特定の実装では、フィードバック制御回路は、制御される構成要素のための位置コマンドに基づき、また、制御される構成要素のための速度コマンドに基づいて、レート制限された位置コマンドを生成するように構成されたレートリミッタ回路を含む。フィードバック制御回路はまた、調整された誤差信号を生成するため、誤差信号に制御ゲインを適用するように構成された誤差調整回路を含む。誤差信号は位置フィードバックとレート制限された位置コマンドに基づいており、位置フィードバックは制御される構成要素の位置を示す。フィードバック制御回路は更に、調整された誤差信号に基づいて生成された電流コマンドを出力するように構成された出力端子を含む。
【００１２】
別の特定の実装では、システムはモーターと、モーターに連結されたフィードバック制御回路を含む。フィードバック制御回路は、モーターのための位置コマンドに基づき、また、モーターのための速度コマンドに基づいて、レート制限された位置コマンドを生成するように構成されたレートリミッタ回路を含む。フィードバック制御回路はまた、調整された誤差信号を生成するため、誤差信号に制御ゲインを適用するように構成された誤差調整回路を含む。誤差信号は位置フィードバックとレート制限された位置コマンドに基づいており、位置フィードバックはモーターの位置を示す。フィードバック制御回路は更に、調整された誤差信号に基づいて生成された電流コマンドを出力するように構成された出力端子を含む。
【００１３】
更に別の特定の実装では、フィードバック制御のための方法は、制御される構成要素のための位置コマンドと制御される構成要素のための速度コマンドを受信することを含み、また、速度コマンドと位置コマンドに基づいてレート制限された位置コマンドを生成することを含む。方法はまた、制御される構成要素の位置を示す位置フィードバックを受信することと、調整された誤差信号を生成するため、誤差信号に制御ゲインを適用することを含む。誤差信号は、位置フィードバックとレート制限された位置コマンドに基づいている。方法は更に、調整された誤差信号に基づいて電流コマンドを出力することを含む。
【００１４】
特定の実装では、復調回路は、アナログデジタル変換器（ＡＤＣ）に連結されるように構成され、かつ、複数のＡＤＣ出力を受信するように構成されている入力端子を含む。複数のＡＤＣ出力は、リゾルバ出力に基づいて生成される。復調回路はまた、複数のＡＤＣ出力を整流するように構成された整流器を含む。複数のＡＤＣ出力を整流することは、複数のＡＤＣ出力の位相を保存する。復調回路は、整流された複数のＡＤＣ出力に基づいて、リゾルバ出力に対応する復調振幅値を決定するように構成された振幅決定回路を含む。復調回路は更に、復調振幅値に基づいて、位置出力を生成するように構成された角度計算回路を含む。
【００１５】
別の特定の実装では、システムは、リゾルバ、リゾルバに連結されたＡＤＣ、及びＡＤＣに連結された復調回路を含む。復調回路は、復調リゾルバ出力を生成するように構成されており、ＡＤＣに連結されるように構成され、かつ、複数のＡＤＣ出力を受信するように構成されている入力端子を含む。複数のＡＤＣ出力は、リゾルバ出力に基づいて生成される。復調回路はまた、複数のＡＤＣ出力を整流するように構成された整流器を含む。複数のＡＤＣ出力の整流は、複数のＡＤＣ出力の位相を保存する。復調回路は、整流された複数のＡＤＣ出力に基づいて、リゾルバ出力に対応する復調振幅値を決定するように構成された振幅決定回路を含む。復調回路は更に、復調振幅値に基づいて、位置出力を生成するように構成された角度計算回路を含む。
【００１６】
更に別の特定の実装では、リゾルバ出力を復調する方法は、ＡＤＣから複数のＡＤＣ出力を受信することを含む。複数のＡＤＣ出力は、リゾルバ出力に基づいて生成される。方法はまた、複数のＡＤＣ出力を整流することと、複数のＡＤＣ出力の位相を保存する複数のＡＤＣ出力を整流することを含む。方法は、整流された複数のＡＤＣ出力に基づいて、リゾルバ出力に対応する復調振幅値を決定することを含む。方法は更に、復調振幅値に基づいて、位置出力を生成することを含む。
【００１７】
特定の実装では、ディザー回路は、ベース励磁信号の高次偶数高調波を生成するように構成された高調波信号生成回路を含む。ディザー回路はまた、高次偶数高調波及びベース励磁信号に基づいてディザ処理された励磁信号を生成するように構成された結合器（ｃｏｍｂｉｎｅｒ）を含む。ディザー回路は更に、ディザ処理された励磁信号をセンサ装置に出力するように構成された出力端子を含む。
【００１８】
別の特定の実装では、システムは、リゾルバ、リゾルバに連結されたデジタルアナログ変換器（ＤＡＣ）、及びＤＡＣに連結されたディザー回路を含む。ディザー回路は、ディザ処理された励磁信号をＤＡＣに出力するように構成されている。ディザー回路は、ベース励磁信号の高次偶数高調波を生成するように構成された高調波信号生成回路を含む。ディザー回路はまた、高次偶数高調波及びベース励磁信号に基づいてディザ処理された励磁信号を生成するように構成された結合器を含む。ディザー回路は更に、ディザ処理された励磁信号をリゾルバに出力するように構成された出力端子を含む。
【００１９】
更に別の特定の実装では、センサ装置のための励磁信号を生成する方法は、ベース励磁信号の高次偶数高調波を生成することを含む。方法は更に、高次偶数高調波と励磁信号との結合に基づいてディザ処理された励磁信号を生成すること、及び、ディザ処理された励磁信号をセンサ装置に出力することを含む。
【図面の簡単な説明】
【００２０】
【図１】慣性計測装置の例を示す図である。
【図２】慣性計測装置のシステムの例を示す図である。
【図３】慣性計測装置の動作の例を示す図である。
【図４Ａ】トランスの例を示す図である。
【図４Ｂ】リゾルバの例を示す図である。
【図４Ｃ】デュアルスピードリゾルバの信号の例示的なグラフを示す。
【図５】デュアルスピードリゾルバのリゾルバ出力を処理するためのフロー処理の例を示す図である。
【図６】デュアルスピードリゾルバのリゾルバ出力を処理するためのロジック（ｌｏｇｉｃ）の例の全体像を示す論理図である。
【図７】復調と角度推定のためのロジックの全体像を示す論理図である。
【図８】電圧調整のためのロジックの例を示す論理図である。
【図９】再帰的中央値解析のための再帰的中央値解析ロジックの例を示す論理図である。
【図１０】図８の復調ロジックの例を示す論理図である。
【図１１】位相保存（ｐｈａｓｅ  ｐｒｅｓｅｒｖａｔｉｏｎ）による整流のためのロジックの例を示す論理図である。
【図１２】復調中に生成される例示的な信号の図である。
【図１３】図４Ｂのリゾルバの信号の例示的なグラフを示す図である。
【図１４】図１０のマスクロジックの例を示す論理図である。
【図１５】復調のためのマスクされたデータと蓄積されたデータの例を示す図である。
【図１６】図１０の出力ロジックの例を示す論理図である。
【図１７】復調のためのアキュムレータ入力とアキュムレータ出力の例を示す図である。
【図１８】デュアルスピードリゾルバのリゾルバ出力の結合のためのロジックの例を示す論理図である。
【図１９】デュアルスピードリゾルバのドリフト修正器（ｄｒｉｆｔ  ｃｏｒｒｅｃｔｏｒ）のためのロジックの例を示す論理図である。
【図２０】図２のリゾルバシステムによって推定される機械的角度とモーターの実際の角度を示す図である。
【図２１】図２０の図の拡大表示を示す図である。
【図２２Ａ】ディザ処理なしの励磁信号を用いるリゾルバ出力に基づいて決定された角度を示す図である。
【図２２Ｂ】ディザ処理なしの励磁信号によって生成されたリゾルバ出力に基づいて生成されたアナログデジタル変換器（ＡＤＣ）出力を示す図である。
【図２３】ディザ処理された励磁信号の例を示す図である。
【図２４】ディザ処理された励磁信号に基づいて生成されたＡＤＣ出力を示す図である。
【図２５】ディザ処理された励磁信号に基づいて決定された角度を示す図である。
【図２６】励磁信号生成のためのロジックの例を示す論理図である。
【図２７】リゾルバドライバ回路の例を示す回路図である。
【図２８】モータードライバ回路の例を示す回路図である。
【図２９】速度フィードバック及び位置フィードバックのためのカスケードフィードバックロジックの例を示す図である。
【図３０】速度と位置を結合したフィードバック制御のためのロジックの例を示す論理図である。
【図３１】ダイレクト速度コマンドモードを含む速度と位置を結合したフィードバック制御のためのロジックの例を示す論理図である。
【図３２】初期化モードを含む速度と位置を結合したフィードバック制御のためのロジックの例を示す論理図である。
【図３３】調整可能な比較基準によるパルス幅変調（ＰＷＭ）動作の例を示す図である。
【図３４】調整可能な比較基準による２レーンＰＷＭ動作の例を示す図である。
【図３５】調整可能な比較基準及びデッドバンド制御によるＰＷＭのためのロジックの例を示す論理図である。
【図３６】デュアルスピードリゾルバを用いて回転位置を決定する方法の例のフロー図である。
【図３７】パルス幅変調の方法の例のフロー図である。
【図３８】フィードバック制御の方法の例のフロー図である。
【図３９】復調リゾルバ出力の方法の例のフロー図である。
【図４０】センサ装置のための励磁信号を生成する方法の例のフロー図である。
【図４１】慣性計測装置を含む航空機の例を示すブロック図である。
【発明を実施するための形態】
【００２１】
本書に開示した実装はジンバル式慣性計測装置を対象とする。ジンバル式慣性計測装置は、直線加速度及び角速度など、ビークルの慣性データを決定するため、加速度計及びジャイロスコープなどのセンサを含む。ジンバル式慣性計測装置では、慣性計測装置が多軸ジンバル装置の上に装着されている。ジンバル装置は、それぞれ対応するモーターを備えた複数のジンバルを含む。センサがビークルの経路に沿って配向されるように、モーターはジンバルを駆動及び配置するために使用される。ビークルの制御システムは、ビークルの慣性の変化に基づいてジンバルが移動するにつれて、センサからの出力に基づいてビークルの位置を追跡する。次に制御システムは、センサがビークルの更新された経路に沿って配向されるように、センサを調整（再調整）するため、ジンバル式慣性計測装置にコマンドを出力する。
【００２２】
幾つかの実装では、ジンバル式慣性計測装置は、モーター（例えば、モーターのドライブシャフト）の位置、及びこれにより、センサが対応するジンバルに装着される位置を決定するためデュアルスピードリゾルバを使用する。デュアルスピードリゾルバは、それぞれ異なる「速度」を有する２つのリゾルバを用いて、モーターのドライブシャフトの位置を決定する。第１のリゾルバ（例えば、粗いリゾルバ）は、ドライブシャフトの速度と位置（例えば、絶対位置）に対応する第１の速度を有しうる。リゾルバの速度は、リゾルバの１回の機械的な回転によって生成される幾つかの電気的サイクル（例えば、正弦波又は余弦波）に対応する。特定の実装では、第１のリゾルバはドライブシャフトと同じ回転速度で駆動又は回転され、その結果、第１のリゾルバの電気的サイクルは、ドライブシャフトの機械的な回転に対応する。したがって、ドライブシャフトの絶対位置は第１のリゾルバによって決定可能である。
【００２３】
第２のリゾルバ（例えば、微細なリゾルバ）は、第１の速度よりも大きく、ドライブシャフトの位置に対応する第２の速度を有する。例えば、第２のリゾルバは、リゾルバ（及びドライブシャフト）の１回の機械的回転に対して、複数の電気的サイクル（例えば、正弦波）を生成する複数の極（例えば、コイルのペア）を含みうる。代替的に、第２のリゾルバは、ドライブシャフトが１回転するごとに、複数の機械的回転を完了しうる。第１のリゾルバ（例えば、粗いリゾルバ）と比べると、第２のリゾルバ（微細なリゾルバ）は、開始位置（例えば、絶対開始位置）を決定できないという犠牲を払っているが高い精度を有している。第２のリゾルバはドライブシャフトの位置をより正確に決定できるが、ドライブシャフトが３６０度回転のどの象限にあるかを決定することができない。
【００２４】
デュアルスピードリゾルバ（又はデュアルリゾルバ）は、ドライブシャフトの位置を決定するため、両方のリゾルバの出力を使用する。例えば、従来のデュアルスピードリゾルバでは、１つのリゾルバよりも精度を高めるため、両方のリゾルバの出力がカルマンフィルタに入力される。しかしながら、粗いリゾルバの出力は、微細なリゾルバよりも正確性が劣り、精度が低下する。粗い出力と微細の出力の両方を利用することによって、デュアルリゾルバの正確性と精度は、微細なリゾルバの精度を下回っている。（例えば、初期化処理中又は初期化期間中の）開始位置を決定するために粗いリゾルバ出力を使用し、また、その後の位置（例えば、初期化処理後又は初期化期間後の位置）を決定するために微細なリゾルバ出力を使用することで、デュアルスピードリゾルバの正確性と精度は従来のデュアルスピードリゾルバよりも高められる。このようなデュアルスピードリゾルバは、絶対開始位置を決定し、微細なリゾルの正確性と精度を有するように使用することができる。加えて、微細なリゾルバ出力は更に、粗いリゾルバの開始オフセット（誤差）を訂正するために使用することができる。しかも、本書に記載の他の方法は、デュアルスピードリゾルバの正確性と精度を更に高めるように結合することができる。
【００２５】
上記で説明したように、リゾルバは励磁信号を受信し、それに応答して出力信号を生成する。励磁信号にディザー（例えば、ゼロミーンディザー）を加算することによって、リゾルバの速度（例えば、リゾルバの幾つかの極）、又は処理回路の帯域幅（例えば、リゾルバの出力のサンプリング周波数又はリゾルバ出力のビット数）を高めることなく、リゾルバ出力から決定された角度の精度は高められる。ゼロミーンディザーは、ベース励磁信号の中央振幅値を変えないノイズを含むか、これに対応している。加えて、ジンバルモーターの電流駆動切替信号で、ディザ処理された励磁信号を時間調整することによって、ディザ処理された励磁信号はノイズと干渉の少ない出力を生成することができる。したがって、リゾルバの速度又は処理回路の帯域幅を高めることなく、リゾルバ出力によって決定された信号の精度は高められる。
【００２６】
上記で説明したように、リゾルバ出力はアナログデジタル変換器（ＡＤＣ）によってデジタルサンプルに変換され、デジタルサンプルは、リゾルバの角度とドライブシャフトを決定するため、処理中に復調される。復調中、整流された信号を生成するため、デジタルサンプルは整流される。幾つかの実装では、デジタルサンプルは、励磁信号の位相が整流された信号内に保存されるように整流される。例えば、従来の復調器は、デジタルサンプルを整流するときに位相を保存するため、デジタルサンプルに励磁信号を乗じる。しかしながら、デジタルサンプルに励磁信号を乗じるとノイズが発生する。一例を挙げると、角度の正弦値の乗算は、正弦波のピーク間のデータの精度を低下させる。言い換えるならば、乗算はノイズや誤差を２乗することになる。
【００２７】
デジタルサンプルを矩形波で整流することにより、正弦波のピーク間のデータ、すなわち、オフピーク電圧の信号対ノイズ比が改善される。しかも、励磁信号の位相に従って矩形波の符号を反転させることによって、余計なノイズを与えることなく、或いは信号対ノイズ比を低下させることなく、デジタルサンプルと励磁信号の位相は保持されうる。したがって、リゾルバの速度又は処理回路の帯域幅を高めることなく、リゾルバ出力によって決定された信号の精度は高められる。
【００２８】
しかも、再帰的中央値解析とデータの一部のマスキングは、復調中の精度を高める。再帰的中央値解析は、精度を更に高めるため、入力デジタルサンプル及び復調器の出力振幅に適用されうる。例えば、復調器は、最後のｎ個の入力サンプルの中央値（中心値）を入力値として使用しうる。ここでｎは１を超える任意の整数である。別の実施例として、復調器は、最後のｍ個の出力サンプルの中央値を出力しうる。ここでｍは１を超える任意の整数である。追加的に又は代替的に、復調器は、３つの異なる信号の中央値を出力値として出力しうる。出力値は、リゾルバとドライブシャフトの角度を決定するために使用される。
【００２９】
幾つかの実装では、復調器は、ノイズと干渉を取り除くためにデータの一部をマスクし、これにより更に、ジンバル式慣性計測装置の精度を高める。マスクされた部分は、ノイズの多いデータ（電流駆動の切替中に発生し、電流駆動干渉を含むデータ）、ピーク振幅間の遷移に対応するデータ、或いはこの両方を含む。したがって、復調は、励磁信号のピーク振幅近傍のデータを使用することによって、結果を改善する。追加的に又は代替的に、精度を更に高め、誤差を減らすため、復調出力は同期化された（励磁信号に同期化された）アキュムレータ出力に基づいている。例えば、電流駆動信号に時間的に調和している励磁信号にアキュムレータを同期化することによって、アキュムレータの出力は、電流駆動干渉の少なくとも一部をマスクすること、電流駆動干渉の影響を平均化すること、或いはその両方が可能で、これは精度と正確性の向上につながる。
【００３０】
ジンバル式慣性計測装置はまた、ジンバルモーターを制御するため、フィードバック制御システムを含む。ジンバルモーターは通常、ダイレクトレートコマンド又は位置コマンド及びレートコマンドによって統制又は制御される。これらのコマンドは、ユーザー入力又はビークルのコントローラ（例えば、フライトコンピュータ）から受信される。フィードバック制御システムは一般的に、位置コマンドとレートコマンドを処理するため、また、フィードバックを提供するため、＿カスケード型（例えば、マルチループ）トラッキング制御を使用する。レートと位置を結合したフィードバックシステム（例えば、シングルループフィードバックシステム）を使用することにより、更に高い精度を実現するため、軽く減衰されたジンバルモーターをタイトなレートゲインで使用することができる。
【００３１】
ジンバルモーターを駆動するため、パルス幅変調器（ＰＷＭ）が使用される。ＰＷＭ制御は、フィードバック制御システムに基づいて、ジンバルモーターの起動を制御する。例えば、ジンバルモーターが３相モーターに対応するとき、ＰＷＭは、フィードバック制御システムによって生成された電流コマンドに基づいて、ジンバルモーターへの電力供給を制御する。一例を挙げると、電流コマンドはデューティサイクル値又は信号に変換される。例えば、電流コマンドは、モーターに供給される電流の量を示す。デューティサイクル値（例えば、５０パーセント）は、電源又はモーターの電流量及び電圧に基づいて決定される。デューティサイクル信号（例えば、設定点信号）は、デューティサイクル値を示す。一例を挙げると、８ビットのデューティサイクル信号では、どの比較条件を使用するかに応じて、３１又は３２の値は５０パーセントのデューティサイクルを示しうる。デューティサイクル信号はパルスを生成するＰＷＭに送られる。パルスの幅はジンバルモーターに供給される電力を制御する。
【００３２】
ＰＷＭは、カウンタ値を（５０パーセント、５１パーセントなどのデューティサイクル値を示す）比較値と比べることによって、パルスを生成する。例えば、ＰＷＭは、カウンタ値が比較値よりも大きいか小さいかを決定することによって、パルスを生成する。一例を挙げると、ＰＷＭは、カウンタ値が比較値よりも大きいときには、第１のパルスエッジを生成（例えば、トランジスタのゲートを作動）し、カウンタ値が比較値を下回る（超えない）ときには、第２のパルスエッジを生成する（例えば、トランジスタのゲートを停止する）。従来のＰＷＭでは、制御調整の精度を上げる又は粒度（ｇｒａｎｕｌａｒｉｔｙ）を下げるためには、ＰＷＭ構成要素の動作周波数を高めることが必要である。
【００３３】
調整可能な比較基準を利用することにより、ＰＷＭの制御精度は高めることが可能で、ＰＷＭ構成要素の動作周波数を高めることなく、制御の粒度を下げることができる。調整可能な比較基準は、設定点信号によって示されうる。調整可能な比較基準は、「大なり又は等しい」条件、或いは「小なり又は等しい」条件などの他の比較条件又はルールを含む。ＰＷＭは、三角波であるカウンタ信号を生成するアップダウンカウンタを利用する。したがって、１つのカウンタ値（クロックパルス）によって比較値を調整するときには、ＰＷＭは、第１のパルスを１クロックパルス早く生成し、第２のパルスを１クロックパルス遅く生成することで、パルス幅を２パルス分大きくする。しかしながら、比較基準を調整するときには、ＰＷＭは、第１のパルスを１クロックパルス早く生成し、第２のパルスを同時に生成することで、パルス幅を１パルス分大きくする。したがって、調整可能な比較基準を使用することにより、ＰＷＭは、ＰＷＭ構成要素の動作周波数を高めることなく、モーターの制御調整の精度を高め、粒度を低下させた。
【００３４】
上述の一又は複数の改良を利用することにより、ジンバル式慣性計測装置は、従来のジンバル式慣性計測装置よりも小さな実装面積で、より高い精度を提供することができる。しかも、ジンバル式慣性計測装置は、高いハードウェア能力を必要とすることなく、高い精度を実現することができる。したがって、ジンバル式慣性計測装置によって、精度が向上したことで、ビークルは慣性航法を安全に行うことができる。しかも、ジンバル式慣性計測装置を使用するビークルは小型軽量化されうるため、コスト低減につながる。
【００３５】
図１は、ジンバル式慣性計測装置など、慣性計測装置１０２の一例を示す概略図１００である。幾つかの実装では、図２及び図４１に示したように、慣性計測装置１０２はビークル（例えば、船舶、潜水艦、航空機、ロケット、衛星、宇宙船など）に含まれ、これらの制御システムに連結されている。
【００３６】
慣性計測装置１０２は、インバータ１１２とジンバル装置１１４を含む。インバータ１１２は、インバータ電子回路とファームウェアを含む。インバータ１１２は、直流（ＤＣ）電力を受け取り、ＤＣ電力を交流（ＡＣ）電力に変換し、ＡＣ電力をジンバル装置１１４に供給するように構成されている。例えば、インバータ１１２は、ジンバル装置１１４のモーター１２４の動作を制御するため、電力を提供するように構成されている。インバータ電子回路は、プロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、或いはこれらの組み合わせを含むか、対応しうる。ファームウェアは、インバータ電子回路の動作を制御するように構成されている。幾つかの実装では、インバータ電子回路とファームウェアは、図２のＰＷＭ２４２のようなＰＷＭを含むか、対応し、モーター１２４への電力供給（例えば、電流駆動切替）を制御するように構成されている。
【００３７】
ジンバル装置１１４は、多軸ジンバル又はジンバル１２２の組を含むか、対応している。ジンバル装置１１４は、センサ１２８をビークルの経路に向けるように構成されている。幾つかの実装では、ジンバル装置１１４は３軸ジンバルを含む。特定の実装では、３軸ジンバルはボール（例えば、第１の軸のジンバル１２２）、内側シェル（例えば、第２の軸のジンバル１２２）、及び外側シェル（例えば、第３の軸のジンバル１２２）を含む。他の実装では、ジンバル装置１１４は、２つのジンバルシステム又は４つのジンバルシステムを含む。
【００３８】
ジンバル装置１１４はモーター１２４を含む。各モーター１２４は、対応するジンバル１２２に装着されたセンサ１２８をビークルの経路に一致するように配向するため、ジンバル装置１１４の対応するジンバル１２２の位置を駆動する、又は制御するように構成されている。モーター１２４は、ブラシ付き電気モーター又はブラシレス電気モーターなどの電気モーターを含むか、これに対応しうる。
【００３９】
ジンバル装置１１４は複数のリゾルバ１２６を含む。各リゾルバ１２６は、対応するジンバル１２２に装着されたセンサ１２８が、ビークルの経路に一致するように配向可能であるように、ジンバル装置１１４の対応するジンバル１２２の位置を決定するように構成されている。例えば、各リゾルバ１２６は、対応するモーター１２４のドライブシャフトに連結されており、各リゾルバ１２６の出力は、ドライブシャフトの位置、及びその結果として、対応するジンバル１２２及びセンサ１２８の組の位置を決定するために使用される。
【００４０】
センサ１２８は、加速度計１３２とジャイロスコープ１３４とを含む。加速度計１３２は直線加速度を決定するように構成され、ジャイロスコープ１３４は角速度を決定するように構成されている。例えば、加速度計１３２とジャイロスコープ１３４は、直線加速度と角速度、或いは直線加速度の変化と角速度の変化を示すセンサデータを生成する。幾つかの実装では、各ジンバル１２２はセンサ１２８の組を含む。センサ１２８のそれぞれの組は、一又は複数の加速度計１３２、及び一又は複数のジャイロスコープ１３４を含む。
【００４１】
幾つかの実装では、センサ１２８は更に磁力計を含む。特定の実装では、ジンバル装置１１４の各ジンバル１２２は更に磁力計を含む。磁力計は、磁場の方向、強度、又は相対的変化を検出するように構成されている。磁力計の出力は、ビークルの機首方向及び／又は位置を決定するために使用されうる。
【００４２】
ビークルの動作中、ビークルは方向（例えば、経路、機首方向、又はコース）を変更することがある。例えば、ビークルは、第１の方向（例えば、元の方向）から第２の方向（例えば、更新された方向）に方向を変えることがある。第２の方向へのビークルの方向変更に応答して、慣性計測装置１０２は、ジンバル１２２に装着されたセンサ１２８を第２の方向（例えば、ビークルの現在の経路又は機首方向）に配向する（例えば、向ける）ように、ジンバル装置１１４のジンバル１２２を配置（例えば、再配置）する。慣性計測装置１０２は、ビークルが第１の方向から第２の方向へ変化したとき、センサ１２８によって生成されるセンサデータに基づいて、ジンバル装置１１４のジンバル１２２を配置する。
【００４３】
ビークルはその方向を再び変更することがある。例えば、ビークルはその方向を第２の方向から第３の方向へ変更しうる。ビークルの２回目の方向変更に応答して、慣性計測装置１０２は、ジンバル１２２に装着されたセンサ１２８を第３の方向（例えば、ビークルの現在の経路）に配向する（例えば、向ける）ように、ジンバル装置１１４のジンバル１２２を配置（例えば、再配置）する。慣性計測装置１０２は、ビークルが第２の方向から第３の方向へ変化したとき、センサ１２８によって生成されるセンサデータに基づいて、ジンバル装置１１４のジンバルを配置する。上述の実施例は方向の変化を利用しているが、ジンバル装置１１４は、ビークルの慣性の任意の変化（同一の方向又は機首方向に沿った速度の変化など）を検知可能で、慣性計測装置１０２は、ビークルの慣性の変化に応答してジンバル装置１１４を配置することができる。慣性計測装置１０２及びその構成要素は、以下の図に関して更に説明される。
【００４４】
図２は、図１の慣性計測装置１０２のシステムの実施例のダイアグラム２００を示す。ダイアグラム２００では、わかりやすくするため、ジンバル装置１１４は示されていない。図２に示した具体的な実施例では、慣性計測装置１０２は、励磁信号生成システム２０２、リゾルバシステム２０４、及び制御システム２０６を含む。これらのシステム、又はそのサブシステムの各々は、以下の図でより詳細に説明されるように、慣性計測装置１０２の機能を単独で、また、他のシステムと組み合わせて改善する。しかも、慣性計測装置１０２は、図１を参照して説明されるインバータ１１２及びモーター１２４を含む。
【００４５】
慣性計測装置１０２及びその構成要素は、ビークルの他の機器に連結されうる。図２に示したように、慣性計測装置１０２及びその構成要素は、電源２５２とフライトコンピュータ２５４に連結されている。幾つかの実装では、電源２５２は、バッテリ又は発電機など、ビークルのＤＣ電源に対応する。他の実装では、電源２５２は、例えば、内蔵バッテリとして慣性計測装置１０２に含まれてもよい。フライトコンピュータ２５４は、ユーザー入力に反応して、又は自律的にビークルのコース又は方向を変えるなど、ビークルを制御するように構成された飛行制御コンピュータ（ＦＣＣ）又はガイダンスシステムを含むか、対応しうる。
【００４６】
励磁信号生成システム２０２は、励磁信号を生成し、励磁信号をリゾルバシステム２０４に出力するように構成されている。励磁信号は、図４に関して更に説明されるように、リゾルバ１２６が、対応するモーター１２４のドライブシャフトの位置を示す信号を生成するように構成されている。
【００４７】
励磁信号生成システム２０２は、ディザー生成器２１２及び座標系２１４を含む。ディザー生成器２１２は、ディザ処理された励磁信号を生成するため、ディザーを生成して、励磁信号（ベース励磁信号）に加算するように構成されている。図２２〜図２９を参照して更に説明されるように、ディザ処理された励磁信号は、より精度の高い復調と、より精度の高いジンバル／モーター制御を可能にし、これにより、センサ出力は向上し、慣性計測装置１０２の精度は高くなる。
【００４８】
調整された励磁信号（又は、調整されたディザ処理された励磁信号）を生成するため、座標系２１４は、励磁信号（又は、ディザ処理された励磁信号）をモーター１２４の電流駆動切替に揃えるように構成されている。一例を挙げると、モーター１２４に電力を供給するトランジスタのオンオフ切替は、それぞれ正のスパイクと負のスパイクを発生させる。各波の間に、オフからオンへの遷移とオンからオフへの遷移が同数となるように、励磁信号の波は電流駆動切替に揃えられて（例えば、オフセットされて）もよい。更に、電流駆動切替は励磁信号の波のピーク振幅からオフセットされてもよい。揃えられた励磁信号は、リゾルバ出力のノイズとコンタミネーションと減らし、これによって、センサ出力は向上し、慣性計測装置１０２の精度は高くなる。
【００４９】
リゾルバシステム２０４は、励磁信号に応答するモーター１２４のドライブシャフトの位置を示すリゾルバ出力を生成するように構成されている。リゾルバ出力は、ＡＤＣによってデジタルサンプルに変換され、ドライブシャフトの位置（角度）を決定するように処理されたアナログ信号である。リゾルバシステム２０４は、リゾルバ１２６、復調システム２２２、及びデュアルリゾルバ結合システム２２４を含む。
【００５０】
復調システム２２２は、図７〜図１７を参照して更に説明されているように、ＡＤＣによって出力されたデジタルサンプルを復調するように構成されている。幾つかの実施形態では、復調システム２２２は、電流駆動切替及びその他の干渉によって引き起こされるスパイクなど、復調システム２２２へのデジタルサンプル入力でのスパイクを減らす又は除去するため、再帰的中央値解析を実行する。追加的に又は代替的に、復調システム２２２は、復調システム２２２の復調出力でのスパイクを減らす又は除去するためのアキュムレータを含む。アキュムレータはまた、復調出力でのスパイクを減らす又は除去するため、再帰的中央値解析及びノイズの多いデータのマスキング（例えば、フィルタ処理）を実行しうる。
【００５１】
デュアルリゾルバ結合システム２２４は、図１８と図１９を参照して説明されているように、ドライブシャフトの位置を決定するため、復調出力に基づいて角度の推定値を生成し、各リゾルバからの角度推定値を結合するように構成されている。デュアルリゾルバ結合システム２２４は、初期化処理（例えば、初期化モード）中に、ドライブシャフトの開始位置を決定するため、粗いリゾルバを使用する。開始位置は、絶対値でのドライブシャフトの開始位置（０度から３６０度）に対応している。デュアルリゾルバ結合システム２２４は、初期化処理後のドライブシャフトのその後の位置を決定するため、より正確で精密な微細なリゾルバ出力を使用する。幾つかの実装では、デュアルリゾルバ結合システム２２４は、ドリフトを補正するためのドリフト修正器を含む。ドリフト修正器は、粗いリゾルバによって決定される開始位置の初期誤差（オフセット）を補正するため、また、微細なリゾルバ出力の積分誤差を補正するため、微細なリゾルバ出力を使用しうる。
【００５２】
制御システム２０６は、フィードバック制御システム２３２を含む。フィードバック制御システム２３２は、フライトコンピュータ２５４から飛行制御入力を受信し、リゾルバシステム２０４から位置フィードバックを受信し、また、リゾルバシステム２０４から速度フィードバック（例えば、毎分回転数（ＲＰＭ）のフィードバック）を受信するように構成されている。位置フィードバックはモーター１２４の位置（角度）を示し、速度フィードバックは、ＲＰＭ単位でのモーターのレートなどを示す。
【００５３】
飛行制御入力は、速度コマンド（例えば、ＲＰＭコマンド）、位置コマンド、或いはその両方を含む。フィードバック制御システム２３２は、図３０及び図３１を参照して更に説明されているように、飛行制御入力、位置フィードバック、及び速度フィードバックに基づいて、電流コマンドを生成する。制御システム２０６は、電流コマンドをモーター１２４の制御に使用されるデューティサイクルの設定又は値に変換する。幾つかの実装では、デューティサイクル設定は、比較値と比較基準を示す設定点信号によって示される。
【００５４】
インバータ１１２は、調整可能な比較基準を適用するように構成されたＰＷＭ２４２を含む。ＰＷＭは、図３３〜図３５を参照して説明されているように、比較値と一又は複数の比較基準を受信し、比較値と一又は複数の比較基準に基づいて、パルス幅変調信号のパルスを生成するように構成されている。パルス幅変調信号は、制御の精度を上げるか粒度を下げ、電源２５２からモーター１２４へより正確に電力を供給するために使用される。図２の慣性計測装置１０２の動作は、図３を参照して説明される。
【００５５】
図３は、慣性計測装置１０２の動作の例を示すダイアグラム３００である。ダイアグラム３００は慣性計測装置１０２のシングルモーター１２４の動作に対応し、ジンバル装置１１４の特定のジンバル１２２（モーター１２４に対応する）のセンサ１２８を位置決めする。図３では、クロスハッチング部分は、相互に時間調整された動作又はステップを表している。図２７及び図２８を参照して更に説明されるように、時間調整は、同じクロック又はカウンタを使用することによって、２つ以上のクロック又はカウンタをオフセットすることによって、或いはこれらを結合することによって実現することができる。
【００５６】
慣性計測装置１０２の動作中、励磁信号生成システム２０２はディザ処理された励磁信号３５２を生成し、ディザ処理された励磁信号を慣性計測装置１０２の他の構成要素（一又は複数のクロスハッチングされた構成要素など）と調和させ、デジタルアナログ変換器（ＤＡＣ）３１０にディザ処理された励磁信号３５２を提供する。ＤＡＣ３１０はディザ処理された励磁信号３５２をアナログ信号に変換し、デュアルスピードリゾルバ３１２の各リゾルバ３４２、３４４にアナログディザ処理された励磁信号３５２を提供する。例えば、デュアルスピードリゾルバ３１２は、１スピードリゾルバと１６スピードリゾルバを含む。各リゾルバ３４２、３４４は、差動電圧出力（ｄｉｆｆｅｒｅｎｔｉａｌ  ｖｏｌｔａｇｅ  ｏｕｔｐｕｔ）３５４などの出力を生成する。例えば、図３に図解したように、粗いリゾルバ３４２は差動電圧出力３５４Ａ（すなわち、粗い位置を示す粗い位置信号）を出力し、微細なリゾルバ出力は差動電圧出力３５４Ｂ（すなわち、微細な位置を示す微細な位置信号）を出力する。
【００５７】
差動電圧信号３５６を生成するため、差動電圧出力３５４は、対応する差動電圧センサ３１４、３１６によって測定される。差動電圧センサ３１４、３１６によって生成された差動電圧信号３５６は、対応するＡＤＣ３１８、３２０によってサンプリングされる。ＡＤＣ３１８、３２０は、慣性計測装置１０２の電圧バイアスを補正する電圧調整回路３２２、３２４に、（ＡＤＣ出力３５８と称される）電圧値のデジタルサンプルを出力する。復調出力３６２を生成するため、調整された電圧値３６０は、復調システム２２２によって復調される。角度推定回路３２６は、復調出力３６２から両リゾルバに対して角度推定値３６４を生成する。角度推定値３６４は、復調出力３６２に基づいて、モーターの初期位置及びその後の位置など、モーターの推定位置３６６を生成するために使用される。一又は複数の推定位置３６６は、モーターの推定ＲＰＭ３６８を決定するために使用される。更に、推定位置３６６は、モーター１２４を考慮して、例えば、整流及びサーボオフセットを考慮して調整（ゼロ点調節（ｔａｒｅｄ））されうる。推定位置３６６を調整（ゼロ点調節）することによって、磁気的なローター位置及び機械的なローター位置、例えば、ゼロ点調節された位置出力などが生成される。推定ＲＰＭ３６８は、磁気的なローター位置及び機械的なローター位置に更に基づいて決定されうる。モーター１２４の推定位置３６６及び推定ＲＰＭ３６８は、フィードバックとして、すなわち、モーター１２４を制御するための位置フィードバック及びＲＰＭフィードバックとして使用されるフィードバック制御システム２３２に提供される。
【００５８】
フィードバック制御システム２３２は、フライトコンピュータ２５４から、位置コマンド及びＲＰＭコマンドなどのコマンド３７０を受信する。フィードバック制御システム２３２は、位置コマンド及びＲＰＭコマンドに基づいて、レート制限された位置コマンドを生成する。フィードバック制御システム２３２は、レート制限された位置コマンド、位置フィードバック、及びＲＰＭフィードバックに基づいて、電流コマンド３７２を生成する。電流コマンド３７２は、トルクコマンドに対応しうるか、モーター１２４のトルク量を示しうる。電流コマンド３７２は、デューティサイクル値３７４を生成するため、電流トラッカ３３０に提供される。デューティサイクル値３７４は、２つの位相参照フレーム（例えば、ダイレクトと直角位相の２つの位相参照フレームで、直角位相はトルクに対応している）を単位としうる。逆Ｐａｒｋ／Ｃｌａｒｋ変換３３２は、デューティサイクル値３７４を３相モーター用の一又は複数のデューティサイクル設定３７６（例えば、３相モーターのＡ、Ｂ、及びＣのレーン（位相）を単位とする）に変換するため、デューティサイクル値３７４に適用可能である。一又は複数のデューティサイクル設定３７６（例えば、設定点信号）は、ＰＷＭ２４２に送信される。
【００５９】
ＰＷＭ２４２は一又は複数のデューティサイクル設定３７６を受信し、各デューティサイクル設定３７６は比較値と２つの比較基準を示している。ＰＷＭ２４２は、各レーン（Ａ、Ｂ、及びＣ）に対して１つのデューティサイクル設定３７６を受信してよく、或いは特定のレーンに対して１つのデューティサイクル設定３７６を受信し、受信したデューティサイクル設定３７６に基づいて他の各レーンに対してデューティサイクル設定３７６を生成してもよい。ＰＷＭ２４２は、各レーンの２つの比較基準に基づくカウンタ値と比較値との比較に基づいて、インバータ１１２のトランジスタ３３６（金属酸化物半導体電界効果トランジスタ（ＭＯＳＦＥＴ））のゲートドライバ３３４を制御する。
【００６０】
ＰＷＭ２４２はパルス幅変調信号３７８を生成する（或いは、ゲートドライバ３４４に生成させる）ように構成されている。ＰＷＭ２４２は、各レーンに対してパルス幅変調信号３７８のパルス（各比較基準に対するパルス）を生成し、当該パルスはトランジスタ３３６を始動及び停止（すなわち、電流駆動切替）する。ゲートドライバ３３４を始動することによって、ＰＷＭ２４２は、電源２５２からモーター１２４への電力供給を制御する。ＰＷＭ２４２とインバータ１１２は、電源２５２からのＤＣ電力を３相ＡＣ電力信号３８０に変換し、モーター１２４の制御の精度を高める。
【００６１】
図４Ａ〜図４Ｃは、リゾルバの例示的な動作を示している。図４Ａは、トランス４０２、磁心の周囲に巻かれたワイヤの２つのコイル４１２、４１４（「巻き線」と称される）の実施例のダイアグラム（図）を示す。入力コイル４１２に印加される電流の変化は、出力コイル４１４の位置に変化する磁束と変化する磁場を作り出す。出力コイル４１４の位置で変化する磁場は、出力コイル４１４に電圧を誘導する。リゾルバは、回転可能なトランスを用いて動作し、誘導電圧を生成する。
【００６２】
図４Ｂは、リゾルバ４０４の一実施例のダイアグラムである。リゾルバ４０４は、回転構成要素の回転位置を決定するように構成されたアナログセンサである。リゾルバ４０４は能動的センサである。すなわち、図３のディザ処理された励磁信号３５２などの励磁信号を受信し、出力信号を引き起こす（誘導する）。
【００６３】
リゾルバ４０４は、回転可能なトランスを形成する３つのコイル４２２〜４２６を含む。リゾルバ４０４は、回転可能な一次コイル４２２（第１のコイル）と２つの二次コイル４２４、４２６（正弦波コイルと余弦波コイル）を含む。二次コイル４２４、４２６は、極のペア（例えば、２ｎ個の極）を含むか、極のペアに対応しうる。各極は他の極から角度的に（例えば、９０度だけ）オフセットされている。極の各ペアは、正弦波出力を提供するように構成された１つの極と、余弦波出力を提供するように構成されたもう１つの極を有する。一次コイル４２２が回転すると、一次コイル４２２は励磁信号３５２を受信し、二次コイル４２４、４２６に電圧を誘導する。二次コイル４２４、４２６の各々は、図３の差動電圧出力３５４などの差動出力を出力しうる。二次コイル４２４、４２６の電圧間の比率は、（モーター１２４の角度を示す）リゾルバ４０４の角度４３０を表す。図４Ｂのリゾルバ４０４は、２極リゾルバであり、単一速度リゾルバで、例えば、図３の粗いリゾルバ３４２である。
【００６４】
マルチスピードリゾルバの場合、マルチスピードリゾルバ（例えば、微細なリゾルバ３４４）は、マルチスピードリゾルバ（及びトラックされる構成要素）の１回転当たりの電気的サイクル数が高くなっている。例えば、マルチスピードリゾルバは多極リゾルバであってよく、一次コイル４２２（及びトラックされる構成要素）の１回の機械的回転に対してより多くの電気的サイクルを生成するため、余分の極（コイル）のペアがリゾルバ４０４に追加されうる。別の実施例として、マルチスピードリゾルバの一次コイル４２２は、トラックされる構成要素の１回の機械的回転が、一次コイル４２２の１回以上の回転を引き起こすように、トラックされる構成要素に対して調整されうる。
【００６５】
図４Ｃは、図３のデュアルスピードリゾルバ３１２の信号の例示的なグラフ４６２〜４６８を示す。図４Ｃのグラフ４６２〜４６８の各々は、同じ時間間隔に対応し、これらはデュアルスピードリゾルバ３１２のリゾルバ３４２、３４４の部分的な回転に対応している。第１のグラフ４６２は、リゾルバ３４２、３４４の両方に供給される時間間隔に渡る励磁信号４５２（ＡＣ信号）の電圧を示している。図４Ｃに示したように、励磁信号４５２は２４４２Ｈｚの周波数を有する。他の実装では、励磁信号は、図３のディザ処理された励磁信号３５２や図２３に描かれているディザ処理された励磁信号３５２などのディザ処理された励磁信号である。励磁信号４５２（ベース励磁信号）は、例示を目的として図４に描かれている。
【００６６】
第２のグラフ４６４は、時間間隔に渡る粗いリゾルバ３４２（例えば、リゾルバ４０４）の正弦二次コイル（ｓｉｎｅ  ｓｅｃｏｎｄａｒｙ  ｃｏｉｌ）４２４の電圧出力を示している。第３のグラフ４６６及び第４のグラフ４６８は、時間間隔に渡る微細なリゾルバ３４４の電圧出力を示している。図４Ｃに示されているように、微細なリゾルバ３４４は１６スピードリゾルバで、第３のグラフ４６６は正弦二次コイル４２４の電圧出力を示し、第４のグラフ４６８は微細なリゾルバ３４４の余弦二次コイル（ｃｏｓｉｎｅ  ｓｅｃｏｎｄａｒｙ  ｃｏｉｌ）４２６の出力電圧を示している。第２のグラフ４６４における粗いリゾルバ３４２の正弦二次コイル４２４の電圧出力と比較して、第３のグラフ４６６における微細なリゾルバ３４４の正弦二次コイル４２４の電圧出力は、時間間隔に渡ってより高い電圧、より高いサイクル周波数、及び完全な多重電気サイクル（ｃｏｍｐｌｅｔｅ  ｍｕｌｔｉｐｌｅ  ｅｌｅｃｔｒｉｃａｌ  ｃｙｃｌｅｓ）を有する。第３のグラフ４６６における微細なリゾルバ３４４の正弦二次コイル４２４の電圧出力と比較して、第４のグラフ４６８における余弦二次コイル４２６の微細なリゾルバ３４４の電圧出力は、同じサイクル周波数を有するが、第３のグラフ４６６に対してオフセットされている（例えば、位相がずれている）。第４のグラフ４６８における微細なリゾルバ３４４の余弦二次コイル４２６の電圧出力はまた、第１のグラフ４６２の励磁信号４５２からオフセットされている。リゾルバ出力の処理、例えば、復調と角度の結合は、図５〜図２１を参照して説明されている。リゾルバ４０４に対する励磁信号の生成は、図２２〜図２８を参照して説明されている。
【００６７】
図５は、図３のデュアルスピードリゾルバ３１２のリゾル出力を処理するための処理フローの実施例を示すダイアグラム５００である。図５に示されているように、リゾルバシステム２０４は２つの処理チェーン５０２、５０４を含み、それぞれがデュアルスピードリゾルバ３１２の各リゾルバに対応している。処理チェーン５０２、５０４は、ＡＤＣ３１８、３２０、復調回路５１４、５２４、及び角度計算回路５１６、５２６を含む。各処理チェーン５０２、５０４の出力は、出力回路５３２に入力される。
【００６８】
図５に示したように、出力回路５３２は、角度結合回路５４２及びドリフト修正回路５４４を含む。モーターのドライブシャフトの位置は、角度結合回路５４２とドリフト修正回路５４４からの出力に基づいて決定されうる。
【００６９】
動作中、図３の粗いリゾルバ３４２（例えば、第１のリゾルバ又は１スピードリゾルバ）は、第１のＡＤＣ３１８の入力に粗い位置信号を出力し、図３の微細なリゾルバ３４４（例えば、第２のリゾルバ又はマルチスピードリゾルバ）は、第２のＡＤＣ３２０の入力に微細な位置信号を出力する。図５に示した実施例では、ＡＤＣ３１８、３２０は図３の差動電圧信号３５６を受信する。特定の実装では、微細な位置信号は１６スピードである。粗い位置信号と微細な位置信号は、アナログの正弦波と余弦波を含む。特定の実装では、粗い位置信号と微細な位置信号はそれぞれ、差動正弦波信号と差動余弦波信号を含む。
【００７０】
ＡＤＣ３１８、３２０は、リゾルバのアナログ出力をデジタルサンプルに変換する。ＡＤＣ３１８、３２０によるデジタルサンプル出力は、対応する復調回路５１４、５２４によって受信される。復調回路５１４、５２４は、デジタルサンプルを復調して、正弦波と余弦波の振幅を生成する。特定の実装では、振幅は符号の情報を含み、すなわち、「符号付け」されており、サンプルが正であるか負であるかを示す。復調の詳細は、図６〜図１７を参照して更に説明される。
【００７１】
復調回路５１４、５２４の振幅出力は、対応する角度計算回路５１６、５２６によって受信される。角度計算回路５１６、５２６は、正弦波と余弦波の振幅を用いて、ドライブシャフトの推定角度を計算する。振幅が符号情報を含む特定の実装では、振幅は符号情報を含み、角度計算回路５１６、５２６は、ａｒｃｔａｎ２（一般的にはａｔａｎ２と省略される）を用いて、リゾルバ３４２、３４４の推定角度（ドライブシャフトの角度で示される）を計算する。ａｔａｎ２関数は、符号付き振幅に基づいて、ドライブシャフトがどの象限にあるかを決定することができる、４象限逆（アーク）タンジェント関数である。
【００７２】
各角度計算回路５１６、５２６のドライブシャフトの推定角度は、出力回路５３２に提供される。図５に示した実施例では、角度結合回路５４２は２つの推定角度出力を受信し、ドリフト修正回路５４４はマルチスピード推定角度出力を受信する。
【００７３】
角度結合回路５４２は、各角度計算回路５１６、５２６の推定角度（例えば、図３の角度推定値３６４）を結合し、ドライブシャフトの開始位置（図３の初期推定位置３６６）とドライブシャフトのその後の位置を決定する。特定の実装では、角度結合回路５４２は、第１の角度計算回路５２６の推定角度出力を使用してドライブシャフトの開始位置を決定し、第２の角度計算回路５２６の推定角度出力を使用してドライブシャフトのその後の位置を決定する。代替的に、角度結合回路５４２は、２つの推定角度出力を使用してドライブシャフトの開始位置を決定し、また、第２の角度計算回路５２６の推定角度出力を使用してドライブシャフトのその後の位置を決定する。
【００７４】
ドリフト修正回路５４４は、２つの推定角度を結合するときに生成される誤差を修正する。例えば、ドライブシャフトの開始位置とその後の位置の決定が、マルチスピード推定角度の微分（ｄｉｆｆｅｒｅｎｔｉａｔｉｏｎ）を含むときには、ノイズ及び整数誤差（ｉｎｔｅｇｅｒ  ｅｒｒｏｒ）が、角度結合回路５４２の出力に導入されうる。ノイズ及び整数誤差を修正するため、角度結合回路５４２は角度結合回路５４２から推定位置を受信する。ドリフト修正回路５４４は、第２の角度計算器のマルチスピード推定角度に基づいて、ドリフト修正出力を生成する。ドリフト修正回路５４４は、角度結合回路５４２にドリフト修正出力を提供する。角度結合回路５４２は、ドリフト修正出力に基づいて、その後の出力（図３のその後の推定位置３６６）を調整する。角度結合回路５４２の詳細は、図６、図７、及び図１８を参照して更に説明され、ドリフト修正回路５４４の詳細は、図６、図７、及び図１９を参照して更に説明される。
【００７５】
図６は、図３のデュアルスピードリゾルバ３１２のリゾルバ出力を処理するためのロジック６０２の例の概要を示す論理図６００である。論理図６００は、リゾルバ出力からＡＤＣ出力への変換、ＡＤＣ出力の復調、復調出力に基づく角度推定、及び角度推定に基づく結合位置出力の概要を示している。論理図６００の丸で囲まれた各位置は、図７〜図１９を参照してより詳細に説明される。図６及び以降の図のロジック又はその一部は、特定用途向け回路（電気回路）、ＦＰＧＡ、ファームウェア（ＦＰＧＡのファームウェアなど）、プロセッサによって実行されるソフトウェア、或いはこれらの組み合わせによって実行されうる。加えて、本書で開示されるロジック（又はその一部）は同等のロジックで置き換えられうる。例えば、任意の論理ゲートは、一又は複数のＮＯＲ論理ゲートによって表現されうる。
【００７６】
図７は、復調と角度推定のためのロジック７０２の例の概要を示す論理図７００である。ロジック７０２は、デュアルスピードリゾルバ３１２の１つのリゾルバのための復調と角度推定を示す。図７に示したように、ロジック７０２は、図３の微細なリゾルバ３４４（例えば、１６スピード）の復調と角度推定に対応している。
【００７７】
ロジック７０２は、復調ロジック７１２と角度推定ロジック７１４を含む。復調ロジック７１２は、図８〜図１７を参照して更に説明されるように、ＡＤＣ３２０を介してリゾルバ出力（例えば、差動電圧出力３５４）をＡＤＣ出力３５８として受信し、復調出力３６２を角度推定ロジック７１４に出力するように構成されている。角度推定ロジック７１４は、図１８及び図１９を参照して更に説明されるように、復調出力３６２（復調振幅値）を受信し、リゾルバに対して角度推定値３６４を計算するように構成されている。
【００７８】
幾つかの実装では、角度推定ロジック７１４は、関数ａｔａｎ２（例えば、４象限逆（アーク）タンジェント）に基づいて、角度推定値３６４を計算するように構成されている。例えば、角度推定ロジック７１４は、復調出力３６２（復調振幅値）の積に基づいて、また、正弦及び余弦のフィードバック角度値７４２、７４４に基づいて、角度推定値３６４を生成するように構成されている。
【００７９】
ａｔａｎ２の関数に基づいて角度推定値３６４を計算することによって、角度推定値３６４はモーターがどの象限にあるかを示す。一例を挙げると、ａｔａｎ２による角度出力は（０〜９０度とは対照的に）０〜３６０度になっている。関数ａｔａｎ２は、特定の象限（すなわち、０〜９０度、９０〜１８０度、１８０〜２７０度、又は２７０〜３６０度）を決定するため、符号付きの入力角度を使用する。
【００８０】
幾つかの実装では、図８を参照して更に説明されるように、復調ロジック７１２は更に、電圧バイアス及びハードウェアの他のバイアスを調整（ゼロ点調節）するように構成されている。幾つかの実装では、角度推定ロジック７１４は更に、角度推定値３６４に加えて、正弦値及び余弦値に対して推定角度出力を出力するように構成されている。
【００８１】
動作中、復調ロジック７１２は、ＡＤＣのデジタルサンプルを受信する。例えば、復調ロジック７１２は、ＡＤＣ３１８、３２０のうちの１つからＡＤＣ出力３５８を受信する。デジタルサンプルは、デュアルスピードリゾルバ３１２のリゾルバ３４２、３４４の正弦及び余弦コイル４２４、４２６の電圧を表す。図７に示したように、デジタルサンプルは、微細なリゾルバ３４４の正弦入力及び余弦入力に対応する。デジタルサンプルは、復調された正弦及び余弦出力３６２を生成するため、復調される。複数の復調出力３６２は、復調フィードバック又は復調フィードバック信号と称されることがある。特定の実装では、復調ロジック７１２は、過去の３つの復調出力３６２の中央値を生成し、その中央値を復調フィードバック信号の次の復調出力３６２として出力する。復調ロジック７１２の詳細な動作は、図８〜図１６を参照して更に説明される。
【００８２】
復調出力３６２には、積７５２、７５４を生成するため、正弦及び余弦フィードバック角度値７４２、７４４が乗ぜられる。一例を挙げると、正弦復調出力３６２には、第１の積７５２を生成するため、余弦フィードバック角度値７４４が乗ぜられる。余弦復調出力３６２には、第２の積７５４を生成するため、正弦フィードバック角度値７４６が乗ぜられる。正弦及び余弦フィードバック角度値７４２、７４４は、角度推定ロジック７１４によって、正弦及び余弦推定角度値７６２、７６４として生成され、ロジック７０２に提供される。例えば、正弦及び余弦推定角度値７６２、７６４は、復調出力３６２に基づいて生成される。一例を挙げると、正弦推定角度値７６２は、正弦フィードバック角度値７４２と正弦復調出力３６２の値（振幅）の第１の積７５２に基づいて計算される。
【００８３】
角度推定ロジック７１４は、復調出力３６２と正弦及び余弦フィードバック角度値７４２、７４４との積７５２、７５４を受信し、復調出力３６２に基づいて角度推定値３６４を生成する。例えば、角度推定ロジック７１４は、関数ａｔａｎ２（すなわち、４象限逆（アーク）タンジェント）に基づいて角度推定値３６４を生成する。一例を挙げると、特定の角度推定値３６４は、（積７５２ー積７５４）の積分値（角度）、すなわち、積分値（ｓｉｎｅ＿ａｍｐｌｉｔｕｄｅ＊ｃｏｓ（θ）−ｃｏｓｉｎｅ＿ａｍｐｌｉｔｕｄｅ＊ｓｉｎ（θ）−０）に関数ａｔａｎ２を適用することによって計算される。このような実装では、復調出力３６２は符号付きで、すなわち、符号情報を含む。図７、図１８、及び図１９を参照して説明されているように、モーターのドライブシャフト１４２の初期位置とその後の位置を生成するため、微細なリゾルバ３４４によって示された角度推定値３６４は、粗いリゾルバ３４２によって示された角度と組み合わせて使用される。
【００８４】
幾つかの実装では、復調ロジック７１２、角度推定ロジック７１４、或いはその両方は、割り込み処理ルーチン（ＩＳＲ）入力７３０を受信するように構成されている。ＩＳＲ入力７３０は、割り込み処理ルーチンモードを示すブール値である。復調ロジック７１２、角度推定ロジック７１４、或いはその両方は、ＩＳＲ入力７３０の受信に応答する出力の生成を停止する。
【００８５】
図８は、電圧調整のためのロジック８０２の例を示す論理図８００である。ロジック８０２は、センサから電圧値を受信し、ハードウェアバイアスを取り除くように電圧値を調整し、復調出力値を出力するように構成されている。図８に示した具体的な実施例では、ロジック８０２は、微細なリゾルバ３４４の正弦コイル４２４に対応する差動電圧センサ３１６によって測定された電圧値を受信し、微細なリゾルバ３４４に対して復調出力３６２を計算する。
【００８６】
ロジック８０２は、再帰的中央値解析（ＲＭＶＡ）ロジック８１２、電圧フィルタ８１８、及び結合器８１６を含む。ＲＭＶＡロジック８１２は、最後のｎ個の入力値又はサンプルの中央値（中心値）を決定するように構成されており、ここでｎは１を超える整数である。ＲＭＶＡロジック８１２は、図９を参照して更に説明される。
【００８７】
動作中、ロジック８０２は、差動電圧センサ３１６によって測定された微細なリゾルバ３４４（例えば、１６スピードリゾルバ）の正弦コイル４２４での電圧に対応するＡＤＣ３２０から複数の電圧値を受信する。ＲＭＶＡロジック８１２は、複数の電圧値を受信し、中央電圧値８１４を結合器８１６に出力する。ローパスフィルタなどの電圧フィルタ８１８は、中央電圧値８１４及びカウンタ入力８５２に基づいて、図８に示されているように、電圧バイアス出力８２０、ｓｉｎ＿ｔａｒｅを生成する。電圧バイアス出力８２０は、慣性計測装置１０２のハードウェアの電圧バイアス、或いはこれによって与えられる電圧バイアスに対応する。例えば、電圧バイアス出力８２０は、慣性計測装置１０２のＦＰＧＡに関連する電圧降下を補正しうる。
【００８８】
特定の実装では、中央電圧値８１４は、１６ビット値から３２ビット値など、より高いビット値に変換される。１６ビットから３２ビットに変換すること（ビット数を増やすこと）によって、電圧フィルタ８１８によって引き起こされる精度の低下を減らす又はなくすことができる。例えば、電圧フィルタ８１８による任意の右シフトは、精度の低下を引き起こさない。
【００８９】
結合器８１６は、中央電圧値８１４及び電圧バイアス出力８２０に基づいて、調整された電圧値８２２（例えば、図３の調整された電圧値３６０）を生成する。図８に示したように、調整された電圧値８２２は、中央電圧値８１４と電圧バイアス出力８２０との差分である。調整された電圧値８２２は、符号つき整数に変換され、復調の前にシフトされうる。調整された電圧値８２２は、復調ロジック８２６に出力されてよく、入力電圧値８２４として記憶されてよい。
【００９０】
復調ロジック８２６は、入力電圧値８２４、カウンタ入力８５２、幅入力８５４、及び中央入力８５６に基づいて、復調出力３６２を生成する。復調出力３６２の生成、及びＲＭＶＡロジック８１２、復調ロジック８２６の例は、図９〜図１７を参照して更に説明される。
【００９１】
図９は、図７及び図８のＡＤＣ出力３５８など、入力の再帰的中央値解析のための、ＲＭＶＡロジック８１２などを示す論理図９００である。ＲＭＶＡロジック８１２は、入力を受信し、最後のｎ個の入力を記憶するように構成されたスライド式ウィンドウロジック９０４を含む。スライド式ウィンドウロジック９０４は、最後のｎ個の入力を記憶するため、一又は複数のレジスタ（例えば、メモリ、キャッシュ、バッファなど）を含みうる。スライド式ウィンドウロジック９０４は、最後のｎ個の入力を記憶するため、ゼロ次ホールド（ＺＯＨ）を実行しうる。ゼロ次ホールド（ＺＯＨ）は、１つのサンプル間隔に対して各サンプル値を保持する。新しいサンプルが受信されると、記憶された各サンプルは１つ後方に移動し、記憶された最後のサンプルは押し出される。図９に示されている実施例では、スライド式ウィンドウロジック９０４は、最後の７個の入力（ｐ０〜ｐ６）を記憶する。
【００９２】
ＲＭＶＡロジック８１２は、最後のｎ個の入力の中央値、図８の中央電圧値８１４を決定するように構成されているカスケード中央値ロジック９０６を含む。カスケード中央値ロジック９０６は、各々が最後のｎ個の入力のサブセットに対して中央値を決定するように構成された複数のロジックブロック９１２〜９１６を含む。第１のロジックブロック９１２の出力は、第２のロジックブロック９１４の入力として使用され、第２のロジックブロック９１４の出力は第３のロジックブロック９１６の入力として使用されること、などがある。最終のロジックブロック（すなわち、図９に示された実装の第３のロジックブロック９１６）の出力は、最後のｎ個のサンプルに対する中央値である。図９はＲＭＶＡロジック８１２の特定の実施例を示し、複数のロジックブロック９１２〜９１６はそれぞれ、３つの入力の中央値を決定し、３つのロジックブロック９１２〜９１６が使用される。他の実装では、３つを超えるロジックブロック又は３つ未満のロジックブロックが使用されてもよく、及び／又は、各ロジックブロックは他のロジックブロックとは異なる数の入力を処理してもよい。追加的に又は代替的に、ロジックブロック９１２及び９１４の各々は、３つのサンプルの中央値を決定することが可能で、ロジックブロック９１６は２つの出力と１つのサンプルの中央値を決定することができる。
【００９３】
図９は更に、第１のロジックブロック９１２のように、３つの値の中央値を決定するためのロジック９２２の実施例を示している。ロジック９２２は平行処理が可能で、ｎのより大きな値に対して、より迅速に中央値を決定することができる。第１のロジックブロック９１２は、サンプルと中央値出力の組み合わせに対応する３つの入力を受信する。図９に示した第１のロジックブロック９１２では、第１のロジックブロックは、入力１、２、及び３においてそれぞれ、サンプル５、６、及び７（ｐ４〜ｐ６）を受信する。サンプルは、図９に「＞（大なり）」条件で示した、ブール条件によって互いに比較される。３つのサンプルが例示した実施例で使用されるため、３つの比較が使用される。これらの比較は、スイッチ出力の制御に使用されるブール出力を生成する。一例を挙げると、第１の入力（［ｘ］）が第３の入力よりも大きいか否かを示す第１のブール条件（［ｘｇｚ］）を生成するため、ロジック９２２は、第１の入力（［ｘ］）を第３の入力（［ｚ］）と比較する。
【００９４】
ロジック９２２は、中央値出力を決定するため、一連のスイッチ（ｈ〜ｈ５）を使用する。各スイッチ（ｈ〜ｈ５）は、２つの入力サンプル値と対応するブール条件を受信する。例えば、第１のスイッチ（ｈ２）は、第１の入力（［ｘ］）と第３の入力（［ｚ］）、並びに第１の入力と第３の入力を比較することによって生成される対応するブール条件、すなわち、第１の条件（［ｘｇｚ］）を受信する。第１のスイッチ（ｈ２）は、「偽」を示す第１の条件、すなわち、「ｘはｚより大きくない」という条件に基づいて、第３の入力（［ｚ］）を出力する。第２のスイッチ（ｈ４）は、第２の入力（［ｙ］）、第１のスイッチ（ｈ２）の出力（第３の入力（［ｚ］））、並びに、第２の入力（例えば、第２のブール条件又は第３のブール条件）に対応するブール条件を受信する。第２のスイッチ（ｈ４）は、第２の入力に対応するブール条件の１つ、すなわち、図９の第２の条件（［ｙｇｚ］）に基づいて、第２の入力を第３の入力と比較する。第２のスイッチ（ｈ４）は、「真」を示す第１の条件、すなわち、「ｙはｚより大きい」という条件に基づいて、第２の入力（［ｙ］）を第５のスイッチ（例えば、出力スイッチの（ｈ３））に出力する。
【００９５】
第３のスイッチ（ｈ）と第４のスイッチ（ｈ５）の動作は、第１のスイッチ（ｈ２）と第２のスイッチ（ｈ４）の動作に酷似している。例えば、第３のスイッチ（ｈ）は、同じ入力と条件を逆の順で受信し、その結果、第３のスイッチ（ｈ）は、第４のスイッチ（ｈ５）に対する第１の条件に基づいて、反対の出力値を出力する。一例を挙げると、第１のスイッチ（ｈ２）が第３の出力（［ｚ］）を出力する場合に、第３のスイッチ（ｈ）は第１の出力（［ｘ］）を出力する。第２のスイッチ（ｈ４）及び第４のスイッチ（ｈ５）のうちの１つは、常に第２の入力（［ｙ］）を出力する。
【００９６】
第５のスイッチ（ｈ３）は、第２及び第４のスイッチ（ｈ４及びｈ５）の出力を受信し、第２の入力（［ｙ］）に対応する他のブール条件に基づいて、これらを比較する。第５のスイッチ（ｈ３）は第２の入力（［ｙ］）に基づいて中央値を出力し、第１の入力（［ｘ］）が第２の入力（［ｙ］）よりも大きいときには、トップスイッチ（ｈ２及びｈ４）は中央値を出力する。第２の入力（［ｙ］）が第１の入力（［ｘ］）よりも大きいときには、（「真」又は「高」のブール条件が各スイッチでトップ入力を選択すると仮定すると）ボトムスイッチ（ｈ及びｈ５）の出力は中央値になる。最後のｎ個の入力の（例えば、ソート関数による）ソートと比較して、ＲＭＶＡロジック８１２とロジック９２２は、ファームウェア、回路領域、及び処理速度を軽減する。
【００９７】
図１０は、図８の復調ロジック８２６の実施例を示す論理図１０００である。復調ロジック８２６は、図８の入力電圧値８２４（信号１０１２を含む）、カウンタ入力８５２、幅入力８５４、及び中央入力８５６に基づいて、復調入力３６２を生成するように構成されている。復調ロジック８２６は、アキュムレータロジック１０１４、マスクロジック１０１８、及び出力ロジック１０２６を含む。
【００９８】
アキュムレータロジック１０１４は、入力電圧値８２４に基づいて、蓄積出力１０２４を出力するように構成されている。例えば、アキュムレータロジック１０１４は、入力電圧値８２４の値を蓄積し、蓄積出力１０２４を入力電圧値８２４の蓄積として出力するように構成されている。一例を挙げると、蓄積は、これまでの電圧値８２４の和に現在の電圧値８２４を加算することを含む。しかも、アキュムレータロジック１０１４は、フリップ入力１０２２に基づいて蓄積出力１０２４の符号を決定し、調整するように構成されている。
【００９９】
幾つかの実装では、アキュムレータロジック１０１４は、特定の蓄積出力１０２４を決定するため、複数の入力電圧値８２４を調整しフィルタ処理する。例えば、アキュムレータロジック１０１４は、カウント可能入力１０２０に基づいて、複数の入力電圧値８２４のうちのどの入力電圧値８２４を考慮（又はフィルタ処理）するかを決定するように構成されている。選択された入力電圧値８２４は蓄積され、フィルタ処理された入力電圧値８２４は破棄される（蓄積されない）。しかも、アキュムレータロジック１０１４は更に、リセット入力１０１６の受信に応答してリセットされるように構成されている。アキュムレータロジック１０１４の詳細は、図１１に関連して更に詳細に説明される。
【０１００】
マスクロジック１０１８は、カウンタ入力８５２、幅入力８５４、及び中央入力８５６に基づいて、カウント可能入力１０２０を生成するように構成されている。マスクロジック１０１８の詳細は、図１４に関連して更に詳細に説明される。
【０１０１】
出力ロジック１０２６は、蓄積出力１０２４とカウンタ入力８５２に基づいて、復調入力３６２を生成するように構成されている。例えば、出力ロジック１０２６は、カウンタ入力８５２に基づいて、復調入力３６２を蓄積出力１０２４の中央値として決定するように構成されている。出力ロジック１０２６の詳細は、図１６に関連して更に詳細に説明される。
【０１０２】
動作中、マスクロジック１０１８は、カウンタ入力８５２、幅入力８５４、及び中央入力８５６に基づいて、取得データ出力（ｔａｋｅ  ｄａｔａ  ｏｕｔｐｕｔ）（すなわち、カウント可能入力１０２０）を生成する。マスク取得データ出力（カウント可能入力１０２０）の生成及びマスクロジック１０１８の実施例は、図１４及び図１５を参照して更に説明される。
【０１０３】
アキュムレータロジック１０１４は、複数の入力電圧値８２４を含む信号１０１２を受信する。アキュムレータロジック１０１４はまた、リセット入力１０１６、マスク取得データ出力（カウント可能入力１０２０）、及びフリップ入力１０２２を受信する。アキュムレータロジック１０１４は、複数の入力電圧値８２４、リセット入力１０１６、マスク取得データ出力（カウント可能入力１０２０）、及びフリップ入力１０２２に基づいて、蓄積出力１０２４を生成する。アキュムレータロジック１０１４は、フリップ入力１０２２に基づいて複数の入力電圧値８２４を整流し、整流値を生成する。整流値は、リセット入力１０１６とマスク取得データ出力（カウント可能入力１０２０）に基づいて、蓄積出力１０２４として出力される。蓄積出力１０２４の生成及びアキュムレータロジック１０１４の実施例は、図１１及び図１２を参照して更に説明される。
【０１０４】
フリップ入力１０２２は、整流で使用される矩形波の符号をいつ変更するかを示すブール値である。フリップ入力１０２２は、複数の入力電圧値８２４の整流に使用される矩形波の符号を変更するように構成されている。フリップ入力１０２２は、図３及び図４の励磁信号３５２、４５２のうちの１つなど、リゾルバの励磁信号の正弦波の挙動を追跡する。例えば、矩形波の符号は、カウンタ入力８５２値がカウンタ周期（図１０の２＾７−１で示される）の２分の１未満のときに正となる。これは、正弦波が正弦波の前半部分（すなわち、０〜１８０度）で正となるからである。矩形波の符号は、カウンタ入力８５２値がカウンタ周期（図１０の２＾７−１で示される）の２分の１よりも大きいときに負となる。これは、正弦波が正弦波の後半部分（すなわち、１８１〜３６０度）で負となるからである。
【０１０５】
図１１は、位相保存による整流のためのロジック１１０２の実施例を示す論理図１１００である。ロジック１１０２は、図１０のフリップ生成ロジック１１０４とアキュムレータロジック１０１４を含む。フリップ生成ロジック１１０４は、図１０を参照して説明されるように、フリップ入力１０２２を生成するように構成されている。
【０１０６】
アキュムレータロジック１０１４は、フリップ入力１０２２に基づいて複数の入力電圧値８２４を整流し、整流値を生成するように構成されている。アキュムレータロジック１０１４は、整流値を蓄積し、蓄積出力１０２４を生成するように構成されている。図１１に示したように、アキュムレータロジック１０１４は、インバータ１１１２、複数のスイッチ１１１４、１１１８、及び１１２０、並びに加算器１１１６を含む。
【０１０７】
インバータ１１１２は、複数の入力電圧値８２４を反転するように構成されている。例えば、インバータ１１１２は、複数の入力電圧値８２４に−１を乗じるように構成されている。複数のスイッチ１１１４、１１１８、及び１１２０の各々は、制御入力、すなわち、フリップ入力１０２２、カウント可能入力１０２０、及びリセット入力１０１６に基づいて値を出力するように構成されている。加算器１１１６は、第１のスイッチ１１１４の出力と第３のスイッチ１１２０の遅延出力を加算するように構成されている。ユニット遅延１１２２は、１つのサンプルに対して第３のスイッチ１１２０の出力を遅延するように構成されている。例えば、ユニット遅延１１２２はゼロ次ホールドを実行する。
【０１０８】
動作中、フリップ生成ロジック１１０４は、カウンタ入力８５２とカウンタ中央値（例えば、８ビットカウンタ８４２で、２＾７-１）との比較に基づいて、フリップ入力１０２２を生成する。カウンタ入力８５２がカウンタ中央値を上回るとき、フリップ生成ロジック１１０４は「真」（例えば、１）を示すフリップ入力１０２２を生成するか、入力電圧値８２４の符号を反転する。
【０１０９】
第１のスイッチ１１１４は、信号１０１２の入力電圧値８２４、インバータ１１１２からの反転された入力電圧値８２４、及びフリップ入力１０２２を受信する。第１のスイッチ１１１４は、１を示すフリップ入力に基づいて、反転された入力電圧値８２４を出力する。これは、正弦波の振幅が負になる励磁信号の正弦波の後半部分に対応する。したがって、フリップ生成ロジック１１０４、インバータ１１１２、及び第１のスイッチ１１１４は、入力電圧値８２４を整流し、励磁信号の位相を保存するように動作する。フリップ生成ロジック１１０４、インバータ１１１２、及び第１のスイッチ１１１４は、入力電圧値８２４に、励磁信号と位相が一致している［１，−１］の矩形波を乗じるように機能する。
【０１１０】
加算器１１１６は、第１のスイッチ１１１４から整流された入力電圧値１１５２を受信し、整流済み入力電圧値１１５２とユニット遅延１１２２の遅延出力１１５８を結合し、結合出力１１５４を生成する。結合出力１１５４は第２のスイッチ１１１８に提供される。第２のスイッチ１１１８は、カウント可能入力１０２０に基づいて、結合出力１１５４又は遅延出力１１５８を出力する。カウント可能入力１０２０が「真」、すなわちデータを取得すること示しているときには、図１１に示したように、第２のスイッチ１１１８は結合出力１１５４を出力する。代替的に、カウント可能入力１０２０が「偽」、すなわちデータを取得しないことを示しているときには、第２のスイッチ１１１８は遅延出力１１５８を出力する。
【０１１１】
第２のスイッチ１１１８の出力は、第３のスイッチ１１２０に提供される。リセット入力１０１６が「真」すなわち、アキュムレータロジック１０１４をリセットすることを示しているときには、第３のスイッチ１１２０はヌル値１１２４（例えば、０）を出力する。リセット入力１０１６が「偽」すなわち、アキュムレータロジック１０１４をリセットしないことを示しているときには、第３のスイッチ１１２０は第２のスイッチ１１１８の出力を第３のスイッチの出力１１５６として出力する。第３のスイッチ１１２０の出力１１５６は、ユニット遅延１１２２に提供される。ユニット遅延１１２２は、第３のスイッチ１１２０の出力１１５６を遅延し、遅延出力１１５８を加算器１１１６と第２のスイッチ１１１８に提供する。遅延出力１１５８はまた、蓄積出力１０２４として出力される。
【０１１２】
遅延出力１１５８を加算器１１１６と第２のスイッチ１１１８に提供すること、「真」を示すカウント可能入力１０２０に応答する結合出力１１５４を出力することは、新たな入力電圧値８２４が受信されると、遅延出力１１５８を繰り返し高めるように機能する。したがって、遅延出力１１５８が蓄積出力１０２４として（すなわち、アキュムレータロジック１０１４がリセットされる前に）出力されると、マスクロジック１０１８がデータを取得又は蓄積することを示すカウント可能入力１０２０を出力するときには、蓄積出力１０２４は、周期に対応する入力電圧値８２４の蓄積を表す。図１０に示したように、図１６及び図１７を参照して更に説明されるように、出力ロジック１０２６は、蓄積出力１０２４に基づいて復調出力３６２を生成し、カウンタ入力８５２に基づく復調出力３６２を出力する。
【０１１３】
多くの入力は論理ゲート又はスイッチを制御するブール入力として記述されているが、論理ゲート又はスイッチはトランジスタとして実装され、ブール入力を表す論理的な高低信号（例えば、高電圧と低電圧）を受信する。
【０１１４】
図１２は、復調中に生成された例示的な信号のダイアグラム１２００を示している。ダイアグラム１２００は、３つのグラフ１２０２〜１２０６を含む。第１のグラフ１２０２は、図３の微細なリゾルバ３４４など、リゾルバの正弦波出力に対応するＡＤＣ出力信号１２１２（復調器入力）を示している。ＡＤＣ出力信号１２１２は、図３のＡＤＣ出力３５８（又は調整された電圧値３６０）を含む。第２のグラフ１２０４は、第１のグラフ１２０２に対応する整流されたＡＤＣ出力信号１２１４を示す。第２のグラフでは、整流されたＡＤＣ出力信号１２１４は、ＡＤＣ出力信号１２１２と同じ位相を有する。修正中にＡＤＣ出力信号１２１２の位相を保持し、精度を高めるため、ＡＤＣ出力信号１２１２は、励磁信号（例えば、正弦波）ではなく、矩形波によって整流（例えば、乗算）される。整流されたＡＤＣ出力信号１２１２は、複数の整流されたＡＤＣ出力など、図１１の修正された入力電圧値１１５２を含むか、これに対応している。第３のグラフ１２０６は、復調された正弦振幅値の復調出力信号１２１６を示す。復調された正弦振幅値（符号情報、すなわち、正又は負を含む）はモーターのドライブシャフトの位置の計算に使用され、図３の復調出力３６２に対応する。第３のグラフに示されているように、復調出力信号１２１６は、ＡＤＣ出力信号１２１２及び整流済みＡＤＣ出力信号１２１４からの遅延を有する（位相がずれている）。遅延は、図１３に関連して示され、より詳細に説明される。
【０１１５】
矩形波による整流は、励磁信号の振幅が正の値から負の値に（すなわち、ゼロを超えて）変化し、ＡＤＣ出力信号１２１２の振幅がゼロに近づく際に、領域１２２２に誤差を導入しうる。領域１２２２に対応する領域の誤差を含まない復調出力信号１２１６によって示されるように、電圧値の蓄積、電圧値のマスキング、中央値の蓄積された値の出力、或いはこれらの組み合わせにより、この誤差又は欠点は軽減されるか除去される。
【０１１６】
図１３は、図３の粗いリゾルバ３４２の信号の例示的なグラフ１３０２及び１３０４を示す。第１のグラフ１３０２は、粗いリゾルバ３４２による正弦値及び余弦値の出力の表示を含む。第１のグラフ１３０２は、図３の粗いリゾルバ３４２の差動電圧出力のＡＤＣ３１８、３２０によってサンプルされた正弦値１３１２と余弦値１３１４を表しうる。第１の時刻Ｔ１の前には、粗いリゾルバ３４２は動いていない。第１の時刻Ｔ１の後に、粗いリゾルバ３４２は動き始め、正弦値１３１２及び余弦値１３１４の変化を引き起こす。
【０１１７】
第２のグラフ１３０４は、第１のグラフ１３０２の正弦値１３１２と余弦値１３１４に対応する復調された正弦値１３２２と余弦値１３２４の表示を含む。復調された正弦値１３２２と余弦値１３２４を生成するための正弦値１３１２と余弦値１３１４の復調は、図３及び図４の励磁信号３５２、４５２のうちの１つなど、励磁信号を除去すること又は弱めることを含む。正弦値１３１２と余弦値１３１４は、粗いリゾルバ３４２に関連した図３のＡＤＣ出力３５８（又は、調整された電圧値３６０）に対応する。復調された正弦値１３２２と余弦値１３２４は、粗いリゾルバ３４２に関連した図３の復調出力３６２に対応する。図１２の信号１２１２〜１２１６と比較すると、値１３１２、１３１４、１３２２、及び１３２４は、（微細なリゾルバ３４４に対応する信号１２１２〜１２１６とは対照的に）粗いリゾルバ３４２に対応する。
【０１１８】
第２のグラフ１３０４に示したように、正弦値１３１２と余弦値１３１４の変化は、２サイクル後に復調された正弦値１３２２と余弦値１３２４に反映される。すなわち、変化は２サイクル遅延している。正弦値１３１２と余弦値１３１４の測定には１サイクル（例えば、正弦波又は余弦波のピーク振幅からピーク振幅まで）を要し、復調中の測定値の中央値の処理には第２のサイクルを要する。一例を挙げると、第１の時刻Ｔ１から第２の時刻Ｔ２までの間に発生する正弦値１３１２と余弦値１３１４の値の（粗いリゾルバ３４２の運動による）変化は、第３の時刻Ｔ３から第４の時刻Ｔ４までの第３のサイクルまで、復調された正弦値１３２２と余弦値１３２４に反映されない。したがって、図２０〜図２５に関連して更に説明されるように、復調ロジック８２６は、従来の復調システムと比較して、比較的小さな遅延（２サイクル）を与えるだけで、比較的大きな（複数桁の）精度向上を可能にする。
【０１１９】
図１４は、図１０のマスクロジック１０１８の実施例を示す論理図１４００である。マスクロジック１０１８は、カウンタ入力８５２、幅入力８５４、及び中央入力８５６に基づいて、カウント可能入力１０２０を生成するように構成されている。図１４の実施例で説明されるように、マスクロジック１０１８は、複数の結合器１４１０〜１４１８、比較条件１４２２〜１４２８、及び論理ゲート１４３２〜１４３６を含む。
【０１２０】
動作中、マスクロジック１０１８は、幅入力８５４、中央入力８５６、及びカウンタ入力８５２を受信する。マスクロジック１０１８はまた、オフセット入力１４０２を受信又は決定する。オフセット入力１４０２は、入力８５２〜８５６のビット数に基づいて決定されうる。例えば、入力８５２〜８５６が８ビット値に対応するとき、オフセット入力１４０２の値は１２８、すなわち、２＾（８−１）となる。特定の実装では、入力８５２〜８５６は８ビットの符号なし整数値である。中央入力８５６と幅入力８５４との差分は、幅入力８５４の２分の１を表す。
【０１２１】
マスクロジック１０１８は、ブール出力を生成するように構成された２つのロジックチェーン１４０４、１４０６を含む。マスクロジック１０１８は、２つのロジックチェーン１４０４、１４０６からのブール出力の論理演算に基づいて、出力を生成する。図１４に示したように、マスクロジック１０１８は、２つのロジックチェーン１４０４、１４０６からのブール出力の「ＯＲ」論理演算に基づいて、取得データのブール出力を生成する。他の実装では、ＮＯＲ、ＡＮＤなどの他の論理演算が使用されうる。取得データのブール出力（すなわち、カウント可能入力１０２０）の値は、図１０を参照して説明されるように、アキュムレータロジック１０１４にデータを取得すること、又はデータを取得しないことを示す。
【０１２２】
動作中、マスクロジック１０１８は３つの入力８５２〜８５６を受信する。カウンタ入力８５２の値は、クロックパルスに基づくなどして、カウンタ８４２のカウンタ値が増大するたびに変化しうる。カウンタ入力８５２は、リセットパルス又は最大カウンタ値に到達することに基づいて、リセットされる。幅入力８５４と中央入力８５６は一定であってよく、動作前にユーザーによって入力されるか、固定されうる。オフセット入力１４０２は、ユーザーによって入力されるか、動作前に固定されるか、入力８５２〜８５６の一又は複数に基づいて決定されうる。
【０１２３】
第１のロジックチェーン１４０４の第１の結合器１４１０は、中央入力８５６と幅入力８５４の２分の１（すなわち、図１５に示したように、データウィンドウ１５１４を定義する中央入力８５６からの偏差又は差分を示す［幅］／２の入力）との差分を生成する。第１のコンパレータ１４２２は、第１の比較条件に基づいて、カウンタ入力８５２を、中央入力８５６と幅入力８５４の２分の１との間の差分と比較する。第２の結合器１４１２は、中央入力８５６と幅入力８５４の２分の１との和を生成する。カウンタ入力８５２を比較する第２のコンパレータ１４２４は、第２の比較基準に基づいて、中央入力８５６と幅入力８５４の２分の１との和と比較される。図１４に示したように、第１の比較条件は条件以上となり、第２の比較条件は条件以下となる。他の実装では、他の比較条件が使用されてよい。コンパレータ１４２２、１４２４の出力は、第１の論理ゲート１４３２に入力される。第１の論理ゲート１４３２は、第１の論理ゲート１４３２の論理ルールに基づいて、第１の中間出力を第３の論理ゲート１４３６（出力論理ゲート）に出力する。
【０１２４】
第２のロジックチェーン１４０６の第３の結合器１４１４は、中央入力８５６とオフセット入力１４０２との和を生成する。第４の結合器１４１６は、中央入力８５６とオフセット入力１４０２との和と、幅入力８５４の２分の１との差分を生成する。第３のコンパレータ１４２６は、第３の比較条件に基づいて、カウンタ入力８５２を和と幅入力８５４の２分の１との間の差分と比較する。図１４に示したように、第３の比較条件は第１の比較条件と同じである。第５の結合器１４１８は、中央入力８５６と、オフセット入力１４０２と、幅入力８５４の２分の１との和を生成する。第４のコンパレータ１４２８は、第４の比較条件に基づいて、カウンタ入力８５２を入力８５４、８５６、及び１４０２の和（すなわち、中央入力８５６とオフセット入力１４０２と幅入力８５４の２分の１との和）と比較する。図１４に示したように、第４の比較条件は第２の比較条件と同じである。コンパレータ１４２６、１４２８の出力は、第２の論理ゲート１４３４に入力される。第２の論理ゲート１４３４は、第２の論理ゲート１４３４の論理ルールに基づいて、第２の中間出力を第３の論理ゲート１４３６（出力論理ゲート）に出力する。
【０１２５】
第３の論理ゲート１４３６は、第３の論理ゲート１４３６の論理ルールに基づいて、取得データ出力（カウント可能入力１０２０）を生成し、取得データ出力（カウント可能入力１０２０）を図１０のアキュムレータロジック１０１４に提供する。図１４に示したように、第１及び第２の論理ゲートの論理ルールはＡＮＤ論理を含み、第３の論理ゲート１４３６の論理ルールはＯＲ論理を含む。他の実装では、他の論理ルール、追加の論理ゲート、或いはその両方が、取得データ出力（カウント可能入力１０２０）を再生成するために使用されうる。
【０１２６】
図１５は、復調のためのマスクされたデータと蓄積されたデータの実施例を示すダイアグラム１５００である。ダイアグラム１５００は、（第３のスイッチ１１２０の出力１１５６を表す）アキュムレータ信号１５２２を描く例示的なグラフ、アキュムレータロジック１０１４の（蓄積出力１０２４を表す）復調入力信号１５２４、及びマスク領域１５１２を示している。ダイアグラム１５００はまた、２つの特定のマスク領域１５１２間のデータウィンドウ１５１４に幅入力８５４と中央入力８５６を示している。ダイアグラム１５００では、中央入力８５６は、図１４の第１のロジックチェーン１４０４に対応する（その出力によって生成される）サイクルの第１のデータウィンドウ１５１４に配置されており、幅入力８５４とオフセット入力１４０２は、図１４の第２のロジックチェーン１４０６に対応する（その出力によって生成される）サイクルの第２のデータウィンドウ１５１４に配置されている。サイクルは正弦波の周期とリセットされるカウンタ入力８５２に対応する。
【０１２７】
カウント可能入力１０２０がフィルタ処理されたデータの取得又は蓄積するように示すとき、すなわち、マスク領域１５１２間のデータウィンドウ１５１４内にあるときには、アキュムレータ信号１５２２は増加する。カウント可能入力１０２０がデータの取得又は蓄積を抑制するように示しているときには、マスク領域１５１２内でアキュムレータ信号１５２２は増加しない。マスク領域１５１２でのデータの取得を停止した後、アキュムレータロジック１０１４は、マスク領域１５１２内（すなわち、１つおきのマスク領域１５１２）にあるとき、復調出力信号１５２４（その値）を出力する。復調入力信号１５２４の値の出力後、アキュムレータロジック１０１４はマスク領域１５１２内でリセットされる（すなわち、アキュムレータ信号１５２２の値は０に戻る）。したがって、図１５に示した実施例では、アキュムレータロジック１０１４は、サイクルの２つのデータウィンドウ１５１４間でデータを蓄積し、その蓄積出力１０２４を１サイクルに１回出力する。
【０１２８】
図１６は、図１０の出力ロジック１０２６の実施例を示す論理図１６００である。出力ロジック１０２６は、蓄積出力１０２４とカウンタ入力８５２に基づいて、アキュムレータロジック１０１４によって復調入力３６２として決定された蓄積出力１０２４値の中央値を出力するように構成されている。アキュムレータロジック１０１４と出力ロジック１０２６の動作は、アキュムレータ（例えば、アキュムレータ回路）によって実行されうる。
【０１２９】
図１６の実施例に示したように、出力ロジック１０２６は、スイッチ１６１２とＲＭＶＡロジック８１２を含む。図８及び図９のＲＭＶＡロジック８１２と比較して、ＲＭＶＡロジック８１２は、ブール入力値１６２８に応答して、或いはこれに基づいて値を出力するように構成されている。ＲＭＶＡロジック８１２は、「真」を示すブール入力値１６２８に応答して復調入力３６２を出力する。
【０１３０】
出力ロジック１０２６は更に、カウンタ入力８５２に基づいてブール入力値１６２８を生成するように構成されている。図１６に示したように、ユニット遅延１６２２は、タイミングをＲＭＶＡロジック８１２への入力と同期させるため、カウンタ入力８５２を１サンプルだけ遅らせる。ブール入力値１６２８は、遅延したカウンタ値１６２６と比較条件１６２４との比較に基づいて生成される。図１６に示したように、比較条件１６２４はゼロに等しい条件で、ブール入力値１６２８は、遅延カウンタ値１６２６が比較条件１６２４を満たす（すなわち、ゼロに等しい）ときに、「真」を示す。ブール入力値１６２８は、遅延カウンタ値１６２６が比較条件１６２４を満たさない（すなわち、ゼロに等しくない）ときに、「偽」を示す。
【０１３１】
動作中、出力ロジック１０２６はカウンタ入力８５２を受信する。カウンタ入力８５２はスイッチ１６１２に提供され、スイッチ１６１２はカウンタ入力８５２に基づいて、蓄積出力１０２４を出力するか、アキュムレータ出力１６５４を遅らせる。図１６に示したように、スイッチ１６１２は、「ゼロに等しくない」という条件を満たすカウンタ入力８５２に基づいて、遅延アキュムレータ出力１６５４を出力する。スイッチ１６１２の出力１６５２はユニット遅延１６１４に提供される。ユニット遅延１６１４は、遅延アキュムレータ出力１６５４を生成する一又は複数のサンプルに対応する期間だけ、出力１６５２を保持する。遅延アキュムレータ出力１６５４は、スイッチ１６１２とＲＭＶＡロジック８１２に提供される。
【０１３２】
図１１を参照して説明されるように、カウンタ入力８５２がゼロに等しいとき、蓄積出力１０２４の値はゼロにリセットされる。カウンタ入力８５２がゼロに等しくない間は、蓄積出力１０２４が遅延ユニット１６１４によって再度受信されるまで、すなわち、カウンタ入力８５２がゼロに等しくなるまで、出力ロジック１０２６は遅延アキュムレータ出力１６５４値を記憶する。したがって、ユニット遅延１６１４（例えば、レジスタ又はシャドーレジスタ）は遅延アキュムレータ出力１６５４の値を、１サイクルの間、すなわち、新しい蓄積出力１０２４が次のリゾルバ励磁信号サイクルの開始時に受信されるまで、すなわち、カウンタ入力８５２がゼロに等しくなるときまで、保持する。遅延アキュムレータ出力１６５４の値は、蓄積出力１０２４がゼロにリセットされる前に、前の蓄積出力１０２４の最終アキュムレータ値に対応する。ＲＭＶＡロジック８１２が遅延アキュムレータ出力１６５４の値を取得し、遅延アキュムレータ出力１６５４がスイッチ１６１２と遅延ユニット１６１４によって保持されている（すなわち、カウンタ入力８５２がゼロになった後にＲＭＶＡロジック８１２の１サンプルによってサンプルされている）間に、ＲＭＶＡロジック８１２は、ゼロにリセットされる前に、前の蓄積出力１０２４の最終アキュムレータを受信する。
【０１３３】
ＲＭＶＡロジック８１２は、最後のｎ個の遅延アキュムレータ出力１６５４の中央値を決定し、「真」を示すブール入力値１６２８に応答する復調入力３６２として、最後のｎ個の遅延アキュムレータ出力１６５４の中央値を出力する。幾つかの実装では、図８のＲＭＶＡロジック８１２は、最後のｎ個の入力に対して、同じ数のｎを図１６のＲＭＶＡロジック８１２として使用する。他の実装では、図８のＲＭＶＡロジック８１２は、最後のｎ個の入力に対して、異なる数のｎを図１６のＲＭＶＡロジック８１２として使用する。特定の実装では、ＲＭＶＡロジック８１２は、最後の３つの遅延アキュムレータ出力１６５４に基づいて、中央値復調入力１６５６を決定する。
【０１３４】
図１７は、復調回路のアキュムレータ出力の実施例を示すダイアグラム１７００である。図１０のアキュムレータロジック１０１４及び出力ロジック１０２６などのアキュムレータは、複数の中間値及び出力値を生成しうる。図１７に示したように、アキュムレータは、図１０〜図１６を参照して説明されているように、（第３のスイッチ１１２０の出力１１５６に対応する値を蓄積することによって）アキュムレータ信号１５２２を生成し、（蓄積出力１０２４に対応する）復調入力信号１５２４を生成し、また、（復調入力信号１５２４の中央値又は中央値復調入力１６５６に対応する）復調された正弦出力３６２を生成する。復調入力信号１５２４及び復調された正弦出力３６２は、符号情報（すなわち、正又は負）を含む。
【０１３５】
図１８は、デュアルスピードリゾルバ３１２のリゾルバ出力を結合するためのロジック１８０２の実施例を示す論理図１８００である。ロジック１８０２は、第１のドメインの初期位置又は絶対的な初期位置を決定するため、また、微細なリゾルバだけに基づいて、その後の位置を決定するため、デュアルスピードリゾルバ３１２の各リゾルバ３４２、３４４からの出力を結合するように構成されている。微細なリゾルバだけに基づいて、その後の位置（例えば、初期位置からの位置の変化）を決定することは、粗いリゾルバからの出力に基づいてその後の位置を決定するデュアルスピードリゾルバに対する精度を高める。ロジック１８０２の動作は図５の角度結合回路５４２によって実行されうる。
【０１３６】
ロジック１８０２は、図１８で第２のドメイン角度推定値１８１２と称される、微細なリゾルバ３４４の微細な位置信号に基づいて、第２のドメインの角度推定値３６４を受信する。微細なリゾルバ３４４から受信した第２のドメイン角度推定値１８１２は、微細なリゾルバ３４４に関連する第２のドメイン（例えば、１６スピードドメイン）内にある。ロジック１８０２は、第２のドメイン内での位置（速度）の変化を決定するため、第２のドメインの角度推定値１８１２を識別する。例えば、位置の値１８１８の変化を生成するため、以前の位置の値１８１４が、第２のドメインの角度推定値１８１２の現在の位置の値１８１６から差し引かれる。位置の値１８１８の変化は、３２ビットの符号付き整数に変換され、パイプライン処理又はロジック１８０２の実行に使用される回路のフローを考慮して遅延される。位置の値１８１８の変化を第１のドメインに変換して、変換された位置の値１８２０の変化（例えば、図３の微細なリゾルバ３４４の変換された微細な位置信号）を生成するため、位置の値１８１８の変化は、右に４ビットシフトされる（１６で除算される）。変換された位置の値１８２０の変化は、第１のドメインに関して微細なリゾルバ３４４によって決定された位置の変化を表す。
【０１３７】
ロジック１８０２は、粗いリゾルバ３４２の粗い位置信号に基づいて決定された推定初期位置１８２２を受信する。推定初期位置１８２２は、粗いリゾルバ３４２の角度推定値３６４の最初の（初期の）角度推定値に対応する。推定初期位置１８２２は、粗いリゾルバ３４２によって決定された初期位置を表し、第１のドメイン内にある。ブール入力１８２４（ｉｎｉｔ＿ｒｓｌｖ）が「真」を示すとき、すなわち、デュアルスピードリゾルバ３１２が初期化モードにあるとき、スイッチ１８２６（例えば、初期化スイッチ）は推定初期位置１８２２を出力するように構成されている。ブール入力１８２４（ｉｎｉｔ＿ｒｓｌｖ）が「偽」を示すとき、すなわち、デュアルスピードリゾルバ３１２が初期化モードにないとき、スイッチ１８２６は位置フィードバック（例えば、あらかじめ決定された位置、遅延され結合された推定角度１８４４など）を出力するように構成されている。
【０１３８】
変換された位置の値１８２０の変化及び推定初期位置１８２２は、結合された推定角度１８３２（例えば、モーターの推定位置）を生成するため、結合器１８３０（例えば、加算器又は他の演算回路）によって結合される。結合された推定角度１８３２は、図３の推定位置３６６を含むか、これに対応している。幾つかの実装では、結合器１８３０は更に、ドリフト修正値１８２８を受信し、ドリフト修正値１８２８に更に基づいて、結合された推定角度１８３２を生成するように構成されている。このような実装では、遅延され結合された推定角度１８４４を生成するため、結合された推定角度１８３２は、ゼロ次ホールドなどによって遅延される。遅延され結合された推定角度１８４４は、ドリフト修正値１８２８を生成するため、図５のドリフト修正回路５４４に提供される。ドリフト修正値１８２８の生成は、図１９を参照して説明される。最初の（初期の）結合された推定角度１８３２（すなわち、初期位置）に関しては、ドリフト修正回路５４４がまだ結合された推定角度１８３２を受信しておらず、ドリフト修正値１８２８の提供を開始していないため、ドリフト修正値１８２８はゼロである。
【０１３９】
結合された推定角度１８３２は、ロジック１８０２の出力として提供される。幾つかの実装では、ロジック１８０２は、結合された推定角度１８３２に基づいて、一又は複数の追加の出力を生成する。例えば、結合された推定角度１８３２は、ローターの整流のため、ローターオフセット１８５２に結合される。一例を挙げると、モーター１２４の整流のためのローターオフセット１８５２は、リゾルバとモーター１２４のローターマグネットとの不整合の原因となる。追加的に又は代替的に、結合された推定角度１８３２は、ローターサーボオフセットなど、ローターのサーボ制御のためローターオフセット１８６２に結合される。一例を挙げると、モーター１２４のサーボ制御のためのローターオフセット１８６２は、ジンバル（例えば、図１のジンバル１２２の１つ）が水平に対して上向きに、或いは重力と反対の方向に配置される状態のオフセットの原因となる。特定の実装では、ローターオフセット１８５２、１８６２は一定値で、ユーザーによって入力される。
【０１４０】
これらのローターオフセット１８５２、１８６２は一般的に、リゾルバ出力のゼロ点調節と称される。リゾルバ出力のゼロ点調節は、精度の改善に役立ち、精度のゼロ点調節は従来のデュアルリゾルバで必要となることが多い。しかしながら、励磁信号と電流駆動切替の時間的調和によってノイズを低減する場合、励磁信号にディザーが加算される場合、或いはその両方の場合には、図２２〜図２８を参照して説明されるように、ゼロ点調節の効果は減少し（改善効果は減少し）、精度の低いゼロ点調節が使用されることがある。ゼロ点調節された出力１８５６、１８６６は、ローターの整流とサーボ制御を調整する他の構成要素に提供されうる。例えば、サーボオフセット出力１８６６は、図３２を参照して説明されるように、慣性計測装置１０２の初期化のため、図２のフィードバック制御システム２３２に提供されうる。別の実施例として、ゼロ点調節された出力１８５６、１８６６は、モーター１２４の推定位置を示しうる。一例を挙げると、結合された推定角度１８３２は、図３のデュアルスピードリゾルバ３１２の位置を示し、結合された推定角度１８３２は、モーター１２４の位置を示すように調整されうる。結合された推定角度１８３２は、図３の機械的なローター位置又は磁気的なローター位置など、モーター又はこれらの構成要素の推定位置を示すように調整／ゼロ点調節されている。追加的に又は代替的に、ゼロ点調節された出力１８５６、１８６６は、モーター１２４の推定ＲＰＭ３６８を決定するために使用されうる。
【０１４１】
ロジック１８０２は、その後の粗いリゾルバ３４２の位置入力とは独立に、その後の位置出力（初期位置が決定された後、又は初期化処理後の出力）を生成する。一例を挙げると、ブール入力１８２４が初期化処理が完了したことを示すとき（例えば、ブール入力１８２４がゼロに等しくなるとき）、スイッチ１８２６はその後の粗いリゾルバ３４２の位置入力（すなわち、推定初期位置１８２２）を「フィルタで除去」し、あらかじめ計算した角度（遅延され結合された推定角度１８４４）を提供する。前記別の方法で、ロジック１８０２は、微細なリゾルバ３４４のその後の微細なリゾルバ３４４だけに基づいて、位置のその後の変化を決定する。
【０１４２】
図１９は、デュアルスピードリゾルバ３１２のドリフト修正器に対するロジック１９０２の実施例を示す論理図１９００である。ロジック１９０２の動作は、図５のドリフト修正回路５４４によって実行されうる。ロジック１９０２は、遅延され結合された推定角度１８４４、第２のドメイン角度推定値１８１２及び１８０度バイアス値１９１８に基づいて、ドリフト修正値１８２８を生成するように構成されている。
【０１４３】
ロジック１９０２は、デュアルスピードリゾルバ３１２の微細なリゾルバ３４４の角度推定値３６４を、第２のドメイン角度推定値１８１２として受信する。ロジック１９０２は更に、遅延され結合された推定角度１８４４（例えば、図１８のロジック１８０２によって生成される結合された推定角度１８３２の遅延バージョン）を受信する。遅延され結合された推定角度１８４４は、モーター１２４と粗いリゾルバ３４２に関連する第１のドメイン（例えば、１スピードドメイン）内にある。ロジック１９０２は、遅延され結合された推定角度１８４４を、デュアルスピードリゾルバ３１２の微細なリゾルバ３４４に関連する第２のドメイン（例えば、１６スピードドメイン）に変換する。図９に示すように、変換された推定角度１９１４（例えば、変形された初期位置出力）を生成するため、遅延され結合された推定角度１８４４は、左に４ビットシフトされる（１６が乗ぜられる）。
【０１４４】
誤差値１９２０を生成するため、変換された推定角度１９１４及び１８０度バイアス値１９１８が、第２のドメイン角度推定値１８１２から差し引かれる。図９に示した実装では、ロジック１９０２は、３２ビット整数及び、２＾３１−１（又は２＾（ビット数−１）−１）の値に対応する１８０度バイアス値１９１８を使用する。１８０度バイアス値１９１８は、初期化中にリゾルバ３４２、３４４の誤った位置合わせを引き起こすノイズ及び整数の数学的誤差に対する保護をもたらす。ノイズ及び整数の数学的誤差は、第２のドメイン角度推定値１８１２の微分によって引き起こされうる。
【０１４５】
誤差値１９２０は、３２ビット符号付き整数などの符号付き整数に変換されうる。比例ゲイン１９２２及び積分ゲイン１９２４は、比例ゲイン回路及び積分ゲイン回路によって誤差値１９２０に適用される。幾つかの実装では、比例ゲイン１９２２及び積分ゲイン１９２４は誤差値１９２０に基づいて生成される。図１９に示したように、比例ゲイン１９２２は誤差値１９２０を１５ビット右にシフトすることによって（３２７６８で除することによって）生成され、積分ゲイン１９２４はスイッチ１９２６によって生成される。誤差値１９２０と「ゼロ以上である」という比較条件との比較に基づいて、スイッチ１９２６は、１又は−１の値を有する積分ゲイン１９２４を出力する。
【０１４６】
比例ゲイン１９２２と積分ゲイン１９２４は、ドリフト修正値１８２８を生成するため、結合器１９２８によって結合（加算）される。ドリフト修正値１８２８はロジック１８０２に記憶、提供、或いはその両方が行われうる。例えば、ドリフト修正値１８２８は、図１８を参照して説明されるように、次の結合された推定角度１８３２を決定するため、ロジック１８０２の結合器１８３０に提供される。次の結合された推定角度１８３２は、初期位置で結合された推定角度１８３２の生成に使用される粗いリゾルバ出力の低い精度を考慮して、その後の結合された推定角度１８３２（その後の位置に対する結合された推定角度１８３２）を調整又は修正する。したがって、ロジック１９０２は、図３のデュアルスピードリゾルバ３１２など、デュアルスピードリゾルバの異なる速度のリゾルバを結合するときに発生する誤差を修正又は低減しうる。
【０１４７】
図２０は、リゾルバシステム２０４の推定角度２００２及びモーターの実際の角度２００４を示すダイアグラム２０００を含む。推定角度２００２は、図３の推定位置３６６、又は図１８の結合された推定角度１８３２を含むか、これらに対応しうる。代替的に、推定角度２００２は、調整された（ゼロ点調節された）推定位置３６６（例えば、図１８のゼロ点調節された出力１８５６、１８５８のうちの１つ）、又は図１８の結合された推定角度１８３２を含むか、これらに対応しうる。ダイアグラム２０００は、初期化プロセス又はモードの間及びその後に、リゾルバシステム２０４によって出力された推定角度２００２を示す。
【０１４８】
図２０の第１の時点Ｔ１に、リゾルバシステム２０４は起動され、初期化モード又はプロセスを開始する。初期化モード又はプロセスの間に、リゾルバシステム２０４は、粗いリゾルバ出力に基づいて、図２０の第２の時点Ｔ２に推定角度２００２の初期位置出力２０１２を生成する。図２０の第２の時点Ｔ２後に、推定角度２００２を修正するため、リゾルバシステム２０４はドリフト修正回路５４４の利用を開始する。図２０の第３の時点Ｔ３に、ドリフト修正回路５４４は粗いリゾルバ３４２の初期誤差に対して調整され、固定モーターの位置に固定される。第３の時点Ｔ３後、リゾルバシステム２０４は推定角度２００２のその後の位置出力２０１４を生成する。図２０の第４の時点Ｔ４に、モーターは運動を開始する。図２０の第５の時点Ｔ５に、モーターは運動を停止する。
【０１４９】
図２１は、図２０のダイアグラム２０００の拡大図を示すダイアグラム２１００を含む。ダイアグラム２１００は、リゾルバシステム２０４の遅延と精度をよりわかりやすく示している。ダイアグラム２１００は、ドリフト修正回路５４４が粗いリゾルバ３４２の初期誤差に対して調整され、固定モーターの位置に固定された後の第３の時点Ｔ３での誤差を示している。図２０を参照して説明されるように、第４の時点Ｔ４で、モーターは運動を開始する。しかしながら、復調処理遅延は図１２及び図１３を参照して説明されるため、図２１の第５の時点Ｔ５まで、リゾルバシステム２０４は運動を検出せず、運動に対応する角度推定値を出力しない。第５の時点Ｔ５後、リゾルバシステム２０４は、第４の時点Ｔ４に発生したモーターの運動を追跡し始める。ダイアグラム２１００は、０．０１ａｒｃ−ｓｅｃの精度を示す。
【０１５０】
図２２Ａは、図４の励磁信号４５２など、ディザ処理なしの励磁信号を用いるリゾルバ出力に基づいて決定された角度を示すダイアグラム２２０２である。図２２Ａは、約０．０２秒後のモーターの起動と約０．０３７５秒後の停止を示している。図２２Ａでは、モーターのドライブシャフトの推定角度２００２は、約１．２３ａｒｃ−ｓｅｃの精度でドライブシャフトの実際の角度２００４を追跡する。モーターは約０．０６秒後に再起動されて運動を再開し、リゾルバシステム２０４はモーターの追跡を継続する。
【０１５１】
図２２Ｂは、ディザ処理なしの励磁信号によって生成されたリゾルバ出力に基づいて生成されたＡＤＣ出力２２５２を示すダイアグラム２２０４である。ＡＤＣ出力２２５２は、実質的に対称かつ一様で、ＡＤＣ出力２２５２は比較的長い周期に対して１つのビットをラッチする。比較的長い周期に対して１つのビットをラッチすることは、オーバーサンプリングによる精度の向上を妨げる。これは、蓄積された値が非ゼロ及び／又は非変化になるからである。
【０１５２】
図２３は、図３のディザ処理された励磁信号３５２など、ディザーを含む励磁信号の実施例を示すダイアグラム２３００である。図２３では、ディザ処理された励磁信号３５２は通常の正弦波のように反復しているが、ディザ処理された励磁信号３５２の振幅は局所的な変動を有している。例えば、ディザ処理された励磁信号３５２の振幅は、ベース励磁信号４５２（例えば、１次高調波）の正弦波のコースの上に正弦曲線のゆらぎを有する。一例を挙げると、振幅はピークからピークから谷への遷移中にときどき増加し、谷からピークへの遷移中に減少する。図２３に示したように、励磁信号４５２は、ディザ処理された励磁信号３５２を生成するため、励磁信号４５２の高次偶数高調波に基づいてディザーされる。したがって、ディザ処理された励磁信号３５２は、励磁信号４５２の「ミニチュア正弦波」偏差を含む。高次偶数高調波（例えば、１６次高調波）が使用されるため、ディザーは正弦波の平均振幅に影響を及ぼさない、又は平均振幅を変えない。これは、ベース励磁信号４５２及び偶数高調波が同じ位相を有し、高調波信号がベース励磁信号４５２と同じ機能を有するからである。したがって、ディザーは、付加的な誤差及び精度の低下を引き起こすノイズを導入しない。
【０１５３】
図２４は、ディザ処理された励磁信号によって生成されたリゾルバ出力に基づいて生成されたＡＤＣ出力２４０２を示すダイアグラム２４００である。図２２Ｂのディザ処理なしの励起信号に基づいて生成されたＡＤＣ出力２２５２と比較すると、ディザ処理された励起信号に基づいて生成されたＡＤＣ出力２４０２はより多くの可変性を有し、ＡＤＣ出力２４０２はある期間又はある量に関して同じ値をラッチすることはない。したがって、累積出力１０２４は変動し、ゼロになる可能性がある。したがって、推定角度２００２は、図２５に示すように、実際の角度２００４の過大評価及び過少評価によって変動することがありうる。
【０１５４】
図２５は、図２３のディザ処理された励磁信号３５２に基づいて生成されるリゾルバ出力に基づいて決定された角度を示すダイアグラム２５００である。図２５では、モーターのドライブシャフトの推定角度２００２は、ドライブシャフトの実際の角度２００４を追跡する。ディザ処理された励磁信号３５２により、推定角度２００２はドライブシャフトの実際の角度２００４の過大評価と過少評価との間で切り替わる。このため、推定角度２００２を平均化（例えば、１秒間隔での平均化）することで、ディザ処理された励磁信号３５２によりリゾルバシステム２０４は０．０１ａｒｃ−ｓｅｃの精度を実現することができる。０．０１ａｒｃ−ｓｅｃの精度は、図２２Ａの推定角度２００２の精度と比較して、複数桁の精度の向上を示す。
【０１５５】
図２６は、励磁信号生成のためのロジック２６０２の実施例を示す論理図２６００である。ロジック２６０２は、図３のデュアルスピードリゾルバ３１２など、能動的なセンサに提供される励磁信号を生成するように構成される。例えば、ロジック２６０２はデジタル差動出力をＤＡＣ３１０に出力し、ＤＡＣ３１０はデジタル差動出力をリゾルバ３４２、３４４の回転一次コイル４２２に提供される励起信号に変換する。ロジック２６０２の動作は、図２の励磁信号生成システム２０２（例えば、励磁信号生成回路）によって実行されうる。
【０１５６】
ロジック２６０２は、図３のディザ処理された励磁信号３５２又は図４の励磁信号４５２を含む、異なるタイプの励起信号を生成することができる。ロジック２６０２は、励磁信号を生成するように構成された一又は複数のロジックチェーンを含む。図２６で示されるように、ロジック２６０２は、３つのロジックチェーン２６１２〜２６１６を含む。各ロジックチェーン２６１２〜２６１６は、励磁信号の一部の生成を対象としている。他の実装では、ロジック２６０２は追加のロジックチェーン又は少数のロジックチェーンを含みうる。図２６に示した例では、ロジック２６０２はロジックチェーン２６１２〜２６１６を含み、そのうちの２つ（ロジックチェーン２６１２と２６１４）は能動的である。
【０１５７】
最初のロジックチェーン２６１２は、１次高調波（すなわち、ベース励磁信号４５２）を生成するように構成されている。第２のロジックチェーン２６１４は、ディザーを生成するように構成されている。図２６に示すように第２のロジックチェーン２６１４は、ベース励磁信号の高次偶数高調波を生成するように構成されている。高次偶数高調波の実施例は１６次高調波である。他の高次偶数高調波は、ＡＤＣ及びＤＡＣのサンプリングレート、ハードウェアの周波数、又はこれらの組み合わせに応じて使用されうる。例えば、他の実装では、８次高調波、１０次高調波、１２次高調波、１８次高調波、２４次高調波、３２次高調波、６４次高調波など、又はこれらの組み合わせが使用されうる。第３のロジックチェーン２６１６は、ベース励磁信号の低次偶数高調波を生成するように構成されている。図２６に示すように第３のロジックチェーン２６１６は、ベース励磁信号４５２の３次高調波を生成するように構成されている。一又は複数の低次奇数高調波を加算すると、励磁信号は「矩形」になる傾向がある。他の低次奇数高調波は、励磁信号を矩形にするため、単独で、或いは３次高調波と組み合わせて使用されうる。励磁信号の矩形化により、センサ出力の信号対ノイズ比が向上しうる。
【０１５８】
動作中、第１のロジックチェーン２６１２は、ベース励磁信号４５２を生成する。図２６に示すように、第１のロジックチェーン２６１２は、ベース励起信号４５２を差動信号（正および負の信号構成要素を含む）として生成する。第１のロジックチェーン２６１２は２つの入力を受信する。入力２６５２の正弦関数と入力２６５４の正弦関数に対して設定される振幅である。幾つかの実装では、第１のロジックチェーン２６１２により、正弦関数のビット数、振幅設定、又はその両方が減少する。追加的に又は代替的に、第１のロジックチェーン２６１２は、ユーザー定義した値（例えば、図２６では０．１）の加算により振幅設定をシフトする。第１のロジックチェーン２６１２は、正弦関数にシフトされた振幅設定を乗ずることによって、中間正弦波を生成する。
【０１５９】
第１のロジックチェーン２６１２は、中間正弦波に基づいて差動出力（例えば、正の出力と復の出力）を生成する。例えば、第１のロジックチェーン２６１２は、中間正弦波の各値に対して正の値と負の値を生成することに基づいて、差動出力を生成するように構成された変換ロジック２６２２を含む。
【０１６０】
幾つかの実装では、変換ロジック２６２２は更に、正及び負の出力を符号なしの値に変換し、図３のＤＡＣ３１０で処理するために正及び負の出力のビット数を更に減らすように構成されている。正及び負の出力のビット数を減らしても、正及び負の出力が、ＤＡＣ３１０が処理するように構成されているビット数よりも多くのビットを有するときには、慣性計測装置１０２の精度は低下しない。加えて、第１の変換ロジック２６２２は、中間電圧バイアス値２６３０の加算に基づいて正及び負の出力を調整する。図２６では、中電圧バイアス値２６３０は２＾１１−１で、ＤＡＣ３１０は１２ビットＤＡＣである。
【０１６１】
第１のロジックチェーン２６１２は、第１のロジックチェーン２６１２の正及び負の出力を結合器２６２４、２６２６に提供する。第１のロジックチェーン２６１２の正及び負の出力は、ベース励磁信号４５２（又は、ディザ処理された励磁信号３５２の１次高調波）に対応する。
【０１６２】
第２のロジックチェーン２６１４は、第１のロジックチェーン２６１２によって生成された励磁信号に追加（結合）されるディザーを生成する。第２のロジックチェーン２６１４は２つの入力を受信する。入力２６６２の正弦関数の高次偶数高調波と、入力２６６４の正弦関数の高次偶数高調波に対して設定される振幅である。幾つかの実装では、ロジックチェーン２６１４は、正弦関数の高次偶数高調波のビット数、高次偶数高調波の振幅設定、又はその両方を低減する。追加的に又は代替的に、第２のロジックチェーン２６１４は、ユーザー定義した値（例えば、図２６では０．０１）の加算により振幅設定をシフトする。第２のロジックチェーン２６１４は、正弦関数の高次偶数高調波にシフトされた振幅設定を乗じて、高次偶数高調波信号２６６６（すなわち、ディザ処理された励磁信号３５２のディザーの例）を生成する。
【０１６３】
第２のロジックチェーン２６１４は、高次偶数高調波信号２６６６に基づいて、差動出力（例えば、正の出力と負の出力）を生成する。例えば、第２のロジックチェーン２６１４は、高次偶数高調波信号２６６６の各値に対して正の値と負の値を生成することに基づいて、差動出力を生成するように構成された変換ロジック２６２２を含む。
【０１６４】
第２のロジックチェーン２６１２（又は変換ロジック２６２２）は、正及び負の出力を符号なしの値に変換し、更に、第１のロジックチェーン２６０２と同様のＤＡＣ３１０による処理のために、正及び負の出力のビット数を減らしうる。
【０１６５】
第３のロジックチェーン２６０６の動作は、第２のロジックチェーン２６１４の動作と同様である。特定の実装では、第３のロジックチェーン２６０２の振幅設定はゼロで、すなわち、ロジック２６０２は励磁信号を生成するために３次高調波を使用しない。
【０１６６】
結合器２６２４、２６２６は、ロジックチェーン２６１２〜２６１６の出力を結合する。例えば、結合器２６２４は、第１のロジックチェーン２６１２と第２のロジックチェーン２６１４の正の出力を加算し、正の結合出力を生成する。結合器２６２４は、第１のロジックチェーン２６１２と第２のロジックチェーン２６１４の負の出力を加算し、負の結合出力を生成する。ロジック２６０２は、正と負の結合した出力を、出力端子２６４２、２６４４を経由してＤＡＣ３１０に提供する。ＤＡＣ３１０は、結合した出力をディザ処理された励磁信号３５２に変換する。他の実装では、結合器２６２４、２６２６は、第３のロジックチェーン２６１６の出力を減算することもある。
【０１６７】
幾つかの実装では、ロジック２６０２は初期化処理のためのロジックを含む。図２６に示したように、ロジック２６０２は、スイッチ２６３２、２６３４、ブール入力２６３６（図２６の［フリーズ］というラベル）、及び中電圧初期化値２６３８を含む。図２６に示した実施例では、ＤＡＣ３１０は１２ビットＤＡＣで、中電圧値は１２ビット値（２＾１１−１）の２分の１である。スイッチ２６３２、２６３４は、ブール入力２６３６に基づいて、結合器２６２４、２６２６の結合された励磁信号出力、又は中電圧初期化値２６３８の出力動作を切り替えるように構成されている。図２６に示すように、ロジック２６０２はスイッチ２６３２、２６３４の位置によって示されているように、初期化モードでは動作しない。
【０１６８】
幾つかの実装では、記憶されている値のテーブル（ルックアップテーブルなど）を使用して正弦関数入力が生成される。特定の実装では、正弦関数のルックアップテーブルは共有される。すなわち、正弦関数を生成する１つの正弦ルックアップテーブルは３つのロジックチェーン２６１２〜２６１６の入力になる。また、正弦ルックアップテーブルは、本書で更に説明されるように、慣性計測装置１０２の他の構成要素又はロジックと共有されうる。例えば、正弦ルックアップテーブルは、総当たりスケジューリングによって他の構成要素及びロジックと共有されうる。他の実装では、正弦関数入力は一連の算術論理演算（例えば、加算とシフト演算）、又はテイラー展開を用いて計算される。
【０１６９】
図２７は、リゾルバドライバ回路２７０２の実施例を示す回路図２７００である。リゾルバドライバ回路２７０２は、図３及び図４の励起信号３５２、４５２などの差動励起信号を生成し、端子２７１２及び２７１４を介して差動励起信号をリゾルバに送信する。リゾルバドライバ回路２７０２は、図２の励磁信号生成システム２０２を含むか、これに対応しうる。幾つかの実装では、差動励起信号はモーターの電流駆動切替と時間調整される。
【０１７０】
リゾルバドライバ回路２７０２は、低精度のＡＤＣ２７０４及び高精度のＡＤＣ２７０６を含む。例えば、低精度のＡＤＣ２７０４は１０ビット又は１２ビットＡＤＣで、高精度のＡＤＣ２７０６は１６ビットＡＤＣであってよい。他の実装では、他のサイズのＡＤＣが使用されうる。低精度のＡＤＣ２７０４及び高精度のＡＤＣ２７０６は、励磁信号（又はディザ処理された励磁信号３５２）を、ＰＷＭ２４２、ＡＤＣ３１８、３２０、並びに図２及び図３の復調システム２２２と時間調整するように構成されている。
【０１７１】
低精度のＡＤＣ２７０４は、リゾルバ出力を受信し、差動励起信号を生成するように構成されている。低精度のＡＤＣ２７０４は、差動励磁信号をリゾルバに提供する。例えば、低精度のＡＤＣ２７０４は、差動信号を、端子２７１２及び２７１４を介して、図３のデュアルスピードリゾルバ３１２の特定のリゾルバに提供する。低精度のＡＤＣ２７０４はまた、シリアル・ペリフェラル・インターフェイス（ＳＰＩ）励磁信号２７４２を生成し、ＳＰＩ励磁信号２７４２を慣性計測装置１０２の構成要素（そのＦＰＧＡなど）に送信するように構成されている。
【０１７２】
高精度のＡＤＣ２７０６は、リゾルバ出力を受信し、ＳＰＩフィードバック信号２７４４を生成するように構成されている。ＳＰＩフィードバック信号２７４４は、ＦＰＧＡなどの慣性計測装置１０２の構成要素（そのＦＰＧＡなど）に提供される。ＳＰＩ励磁及びフィードバック信号２７４２、２７４４は、慣性計測装置１０２の構成要素間の時間調整を可能にする。ＳＰＩ励起及びフィードバック信号２７４２、２７４４は、リゾルバフィードバックに基づいて生成されうる。例えば、ＳＰＩ励磁信号２７４２は、正の正弦と余弦のフィードバックに基づいて生成され（負の正弦と余弦のフィードバックには依存しない）、ＳＰＩフィードバック信号２７４４は、差動正弦及び余弦のフィードバックに基づいている。
【０１７３】
動作中、リゾルバドライバ回路２７０２は、端子２７２２及び２７２４で、デュアルスピードリゾルバ３１２の特定のリゾルバ（リゾルバ３４２、３４４のうちの１つなど）から、差動正弦フィードバックを受信する。リゾルバドライバ回路２７０２は、端子２７３２及び２７３４で、特定のリゾルバから、差動余弦フィードバックを受信する。差動正弦及び余弦フィードバックは、差動リゾルバ励磁信号とフィードバック信号を生成するように使用される。差動励起信号とＳＰＩ励磁信号２７４２は、リゾルバフィードバックに基づいて生成されるため、ＤＡＣ３１０、デュアルスピードリゾルバ３１２、差動電圧センサ３１４、３１６、又はこれらの組み合わせは、時間調整されうる。ＳＰＩフィードバック信号２７４４はリゾルバフィードバックに基づいて生成され、リゾルバシステム２０４のタイミング（例えば、入力と出力のタイミング）を示すため、復調システム２２２、デュアルリゾルバコンビネーションシステム２２４、フィードバック制御システム２３２、ＰＷＭ２４２、またはこれらの組み合わせは、互いに時間調整され、ＳＰＩ励起信号２７４２によって調整された時間調整された構成要素になりうる。一例を挙げると、ＳＰＩ励起信号２７４２及びフィードバック信号２７４４は、データとクロックデータ（例えば、データをサンプリングするタイミング）を示し、これにより構成要素間の同期を可能にする。追加的に又は代替的に、ＰＷＭ２４２は、図３３〜３５に示すように、カウンタ又はクロック同期によって上記の構成要素と時間調整することもできる。
【０１７４】
図２８は、モータードライバ回路２８０２の実施例を示す回路図２８００である。モータードライバ回路２８０２は、図１及び図２の電源２５２とモーター１２４に連結されている。図２８に示したモータードライバ回路２８０２は、図１のインバータ１１２など、３相モーターのインバータに対応する。このような実装では、電源２５２はモータードライバ回路２８０２にＤＣ電源を供給する。モータードライバ回路２８０２は、図３を参照して説明されているように、ＤＣ電源をＡＣ信号に変換し、ＡＣ信号（ＡＣ電源信号３８０など）をモーター１２４に供給する。他の実装では、モーター１２４は３を超える位相又は３未満の位相を有しうる。複数のジンバル１２２を備えるジンバル装置１１４を含む慣性計測装置１０２の場合、インバータ１１２は、対応するジンバル１２２を駆動する各モーター１２４に対してモータードライバ回路２８０２を有してもよい。
【０１７５】
モータードライバ回路２８０２は、３つのハーフブリッジに配置された６個のトランジスタ２８２２〜２８２６、２８３２〜２８３６を含む。他の実装では、６個のトランジスタ２８２２〜２８２６、２８３２〜２８３６がフルブリッジに配置されうる。６個のトランジスタ２８２２〜２８２６、２８３２〜２８３６は、特定のモーター１２４への電力供給を制御するように構成されている。第１、第２、第３のトランジスタ２８２２〜２８２６は上部トランジスタに対応し、第４、第５、第６のトランジスタ２８３２〜２８３６は下部トランジスタに対応している。第１及び第４のトランジスタ２８２２、２８３２は、モーターの第１の位相（第１レーン）に対応している。第２及び第４のトランジスタ２８２４、２８３４は、モーターの第２の位相（第２のレーン）に対応し、第３及び第６のトランジスタ２８２６、２８３６はモーターの第３の位相（第３のレーン）に対応している。幾つかの実装では、６個のトランジスタ２８２２〜２８２６、２８３２〜２８３６がＮチャネルのＭＯＳＦＥＴを含むか、これに対応している。６個のトランジスタ２８２２〜２８２６、２８３２〜２８３６は、図３のトランジスタ３３６を含むか、これに対応しうる。
【０１７６】
幾つかの実装では、モータードライバ回路２８０２は、モータードライバ回路２８０２の電流を決定するように構成された、一又は複数の高帯域幅電流センサ２８１２を含む。図２８に示したように、モータードライバ回路２８０２は２個の高帯域幅電流センサ２８１２を含む。他の実装では、モータードライバ回路２８０２は、３個を超える高帯域幅電流センサ２８１２、又は２個未満の高帯域電流センサ２８１２を含む。図２８に示した特定の実施例では、高帯域幅電流センサ２８１２はホール効果電流センサを含むか、これに対応している。高帯域幅電流センサ２８１２は、モータードライバ回路２８０２の電流の連続組み込み試験を実行するように構成されている。
【０１７７】
幾つかの実装では、モータードライバ回路２８０２は、モータードライバ回路２８０２の電圧を決定するように構成された、一又は複数の電圧センサ２８１４を含む。図２８に示したように、モータードライバ回路２８０２は、３つの電圧センサ２８１４を含み、各電圧センサは上部トランジスタ２８２２〜２８２６の出力端子（例えば、ソース）に連結されている。図２８に示したように、電圧センサ２８１４は、上部トランジスタ２８２２〜２８２６の出力電圧を決定するように構成されており、この電圧はモーターに供給される電圧に対応していることがある。また、図２８は、上部トランジスタ２８２２〜２８２６の第１のトランジスタ２８２２の概略図も示している。概略図は、３つの端子２８６２〜２８６６を示している。トランジスタ２８２２は、第１の端子２８６２（例えば、ドレイン）、第２の端子２８６４（例えば、ゲート）、第３の端子２８６６（例えば、ソース）を含む。
【０１７８】
モータードライバ回路２８０２は、６個のトランジスタのゲート（第２の端子２８６４）を駆動するゲートドライバ２８４２を含む。ゲートドライバ２８４２は、６個のトランジスタ２８２２〜２８２６、２８３２〜２８３６のゲート（第２の端子２８６４）に起動信号を生成して提供するように構成されている。例えば、ゲートドライバ２８４２は、ＰＷＭパルス信号に応答する高／低論理信号を生成し、６個のトランジスタ２８２２〜２８２６、２８３２〜２８３６のゲート（第２の端子２８６４）に高／低論理信号を提供し、これによってモーターへの３相電力供給を制御する。
【０１７９】
モータードライバ回路２８０２は、上部トランジスタ２８２２〜２８２６用のブートストラップ電源回路２８４４を含みうる。例えば、上部トランジスタ２８２２〜２８２６がＮチャネルＭＯＳＦＥＴを含む場合、ブートストラップ電源回路２８４４は上部トランジスタ２８２２〜２８２６を駆動するために使用される。
【０１８０】
モータードライバ回路２８０２は、上部トランジスタ２８２２〜２８２６と下部トランジスタ２８３２−２８３６との間の出力を介して（例えば、出力２８５２を介して）、図１のモーター１２４に連結されている。図２８に示したように、上部トランジスタ２８２２〜２８２６の第３の端子２８６６（例えば、ソース）と下部トランジスタ２８３２〜２８３６の第１の端子２８６２（例えば、ドレイン）はモーターに連結されている。
【０１８１】
幾つかの実装では、モータードライバ回路２８０２は、ＦＰＧＡによって制御され、リゾルバ励起と時間調整される。例えば、モータードライバ回路２８０２は、図３２〜図３５を参照して説明されているように、図２のＰＷＭ２４２によって制御される。追加的に又は代替的に、モータードライバ回路２８０２はリゾルバ検知と時間調整されている。リゾルバの励起及び検知との時間調整により、リゾルバ出力のノイズと誤差が低減され、モーターのドライブシャフトの決定精度が向上する。例えば、時間調整は、モーター駆動の切替による電磁干渉を低減する。
【０１８２】
図２９は、速度フィードバック及び位置フィードバックのためのカスケードフィードバックロジック２９０２の例を示すダイアグラム２９００である。カスケードフィードバックロジック２９０２は、外側ループ２９１２と内側ループ２９１４を含む。外側ループ２９１２と内側ループ２９１４は、電流コマンド２９４０の結果として生成される位置フィードバック２９２４と速度フィードバック２９３６に対応するフィードバックループを意味する。電流コマンドは、図３の電流コマンド３７２を含むか、これに対応しうる。
【０１８３】
外側ループ２９１２は位置フィードバックループに対応し、受信した位置コマンド２９２２に基づいてレートコマンド２９３０を生成するように構成されている。位置コマンド２９２２と位置フィードバック２９２４は、中間信号（例えば、誤差信号）の生成に使用される。制御ゲインは、レートコマンド２９３０の生成のため中間信号に適用される。レートコマンド２９３０は、位置の変化率などのレートを示す。レートコマンド２９３０（カスケードフィードバックロジック２９０２によって生成される）は、（フライトコンピュータから受信する）速度コマンド２９３２と同様の速度を示しうるが、レートコマンド２９３０は速度コマンド２９３２とは異なる単位になることがある。例えば、レートコマンド２９３０はラジアン／秒で、速度コマンド２９３２はＲＰＭで表されうる。
【０１８４】
内側ループ２９１４は、制限されたレートコマンド２９３４を生成するため、速度コマンド２９３２（例えば、ＲＰＭコマンド）に基づいて、レートコマンド２９３０を制限するように構成されている。速度フィードバック２９３６（例えば、ＲＰＭフィードバック）は制限されたレートコマンド２９３４に適用され、ＲＰＭゲイン２９３８（Ｋｒｐｍ）などの第２の制御ゲインは、電流コマンド２９４０を生成するように適用される。内側ループ２９１４は電流コマンド２９４０を出力し、図３の電流トラッカ３３０などによって、電流コマンド２９４０はＰＷＭ２４２のデューティサイクル値に変換される。
【０１８５】
動作中、外側ループ２９１２は、図２のフライトコンピュータ２５４から位置コマンド２９２２を受信し、リゾルバシステム２０４から位置フィードバック２９２４を受信する。外側ループ２９１２は、位置コマンド２９２２から位置フィードバック２９２４を差し引くことで誤差信号を生成する。制御ゲインは、レートコマンド２９３０の生成のため誤差信号に適用される。例えば、誤差信号には比例ゲイン２９２６が乗算され、誤差信号（又はその積分）には積分ゲイン２９２８が乗算される。外側ループ２９１２は、内部ループ２９１４にレートコマンド２９３０を提供する。
【０１８６】
内側ループ２９１４レートは、速度コマンド２９３２に基づいてレートコマンド２９３０を制限する。例えば、レートコマンド２９３０は、速度コマンド２９３２がレートコマンド２９３０よりも低いＲＰＭを示すときに減少する。一例を挙げると、速度コマンド２９３２で示されたＲＰＭが、レートコマンド２９３０の位置の値の変化よりも少ない（遅い）位置の変化に対応する場合には、内側ループ２９１４は、速度コマンド２９３２の位置の値の変化に対して、レートコマンド２９３０の位置の値の変化を減少させる。内側ループ２９１４は、図２のリゾルバシステム２０４から受信した速度フィードバック２９３６を制限されたレートコマンド２９３４から差し引き、第２の誤差信号を生成する。電流コマンド２９４０は、第２の制御ゲインを第２の誤差信号に適用することに基づいて生成される。例えば、第２の誤差信号に、ＲＰＭゲイン２９３８が乗ぜられる。内側ループ２９１４は、図１のモーター１２４のトルクを示す電流コマンド２９４０を、図１のインバータ１１２に提供し、これにより、電流コマンド２９４０に基づいてモーター１２４の動作を制御する。図１のジンバル１２２の配置に使用されるモーター１２４など、特に低減衰システムでは、カスケードフィードバックロジック２９０２の内側ループ２９１４は実装が困難になることがありうる。
【０１８７】
図３０は、速度と位置を結合したフィードバック制御のためのロジック３００２の例を示す論理図３０００である。図２９のダイアグラム２９００と比較すると、ロジック３００２は、位置と速度を結合したフィードバック用の単一のフィードバックループを含む。ダイアグラム２９００とは対照的に、ロジック３００２は別々のフィードバックループとしてではなく、減衰用の速度フィードバック２９３６を使用する。また、ロジック３００２は、フィードバックを適用する前に、レート制限された位置コマンド３０３４（例えば、速度と位置を結合したコマンド）を生成する。ロジック３００２は、図２９のカスケードフィードバックロジック２９０２と比較して、図１のジンバル１２２の位置決めに使用されるモーター１２４など、低減衰モーターの制御を改善し、複雑さを単純化する。
【０１８８】
ロジック３００２は、動作中に図２のフライトコンピュータ２５４から位置コマンド２９２２と速度コマンド２９３２を受信する。レート制限された位置コマンド３０３４を生成するため、ロジック３００２は速度コマンド２９３２に基づいて位置コマンド２９２２をレート制限する。例えば、（前の位置に対する位置の最大変化を表す位置の値に変換された）速度コマンド２９３２の位置の値が、位置コマンド２９２２の位置の値によって示された前の位置に対する第２の位置の変化よりも、前の位置に対する小さな位置の変化がより小さくなることが示される場合には、位置コマンド２９２２の位置の値は小さくなる。
【０１８９】
レート制限された位置コマンド３０３４は、誤差信号３０１２が生成される（又は制御ゲインが適用される）前に生成される。ロジック３００２は、レート制限された位置コマンド３０３４から位置フィードバック２９２４を差し引くことによって、誤差信号３０１２を生成する。例えば、位置の誤差を生成するため、レート制限された位置コマンド３０３４の位置の値は、位置フィードバック２９２４の位置の値に基づいて調整される。
【０１９０】
ロジック３００２は誤差信号３０１２に制御ゲインを適用する。例えば、ロジック３００２は、誤差信号３０１２に比例ゲイン２９２６を乗じ、誤差信号３０１２に積分ゲイン２９２８を乗じる。ロジック３００２は、誤差信号３０１２とゲイン２９２６、２９２８との２つの積の和に基づいて、調整された誤差信号３０１４を生成する。特定の実装では、第１の積は誤差信号３０１２と比例ゲイン２９２６の積の微分係数（ｄｅｒｉｖａｔｉｖｅ）に対応する。
【０１９１】
加えて、ロジック３００２は、速度フィードバック２９３６に基づいて、調整された誤差信号３０１４を減衰しうる。ロジック３００２は、速度フィードバック２９３６にＲＰＭゲイン２９３８（例えば、減衰係数）を乗じて、ＲＰＭ減衰値３０１６を生成する。ロジック３００２は、調整された誤差信号３０１４からＲＰＭ減衰値３０１６を差し引いて、調整された誤差信号３０１４を減衰する。例えば、調整された誤差信号３０１４の減衰により、減衰された誤差信号が生成される。ロジック３００２は、減衰された誤差信号に基づいて、電流コマンド２９４０を生成する。例えば、ロジック３００２は減衰された誤差信号を積分して電流コマンド２９４０を生成する。図２９のカスケードフィードバックロジック２９０２と比較して、ロジック３００２は、低複雑度の（例えば、複数の制御ループやネストされた制御ループがない）低減衰モーターの制御と安定性を向上させる。
【０１９２】
図３１及び図３２は、複数の動作モードを含む速度と位置を結合したロジックの例を示す論理図である。図３１と図３２に示すように、図はわかりやすく簡略化されている。例えば、図３１のダイアグラムの幾つかのロジックボックスは空白のまま、図３２についての説明がなされるが、その逆も同様である。また、変換、シフト、ホールド、定数値の一部もわかりやすくするため、説明から除外されている。図３１及び図３２では、変換ロジックボックスは、ビット変換については「Ｃ」で、符号付き／符号なし変換については「ｓｉ」で表されている。シフトロジックボックスは、３つの文字列で表され、「Ｓ」、方向（すなわち、「Ｌ」と「Ｒ」）、とビット数が含まれる。絶対値ロジックボックスは「ａｂｓ」で示され、ホールド又は遅延ユニットは「１／ｚ」で示される。
【０１９３】
図３１を参照すると、ダイレクト速度コマンドモードを含む、速度と位置を結合したフィードバック制御のためのロジック３１０２の実施例の論理図３１００が示されている。図３０のロジック３００２と比較して、ロジック３１０２は、ダイレクト速度モード又は位置と速度のモードで動作するように構成されている。ダイレクト速度モード及び位置と速度のモードの両方を利用することにより、ロジック３１０２は、モーター１２４のトルク又は速度を調整することによってモーター１２４を制御することができる。ロジック３１０２は、ダイレクト速度コマンドモードロジック３１１２、位置コマンドロジック３１１４、速度コマンドロジック３１１６、レートリミッタロジック３１１８、誤差生成ロジック３１２０、コンバインド比例ゲインロジック３１２２、コンバインド積分ゲインロジック３１２４、及び出力ロジック３１２６を含む。
【０１９４】
ダイレクト速度コマンドモードロジック３１１２は、速度コマンド２９３２に基づく導出（ｄｅｒｉｖｅｄ）位置コマンド３１３２を生成するように構成されている。導出位置コマンド３１３２は、前の位置からの位置の変化の増分を示す。ダイレクト速度モードは、ダイレクトＲＰＭコマンドモードを含むか、これに対応する。ダイレクトＲＰＭコマンドモードは、フライトコンピュータ２５４が図３のコマンド３７０だけに速度コマンド２９３２（ＲＰＭコマンド）を提供するモードを含むか、これに対応する。第１のモード（位置と速度のモード）から第２のモード（ダイレクト速度モード）に切り替えた後、ダイレクト速度コマンドモードロジック３１１２は、導出位置コマンド３１３２の代わりに、図２のリゾルバシステム２０４によって決定されたモーターの位置（例えば、推定位置３６６）を出力するように構成されている。モード切り替え後の推定位置３６６を出力することで、ダイレクト速度コマンドモードロジック３１１２によりモーターの円滑な動作が可能になる（例えば、モード切替による急激な動きを低減または解消することができる）。ダイレクト速度コマンドモードロジック３１１２はダイレクト速度回路によって実行されうる。例えば、ダイレクト速度回路には、図３１に示すように、ダイレクト速度コマンドモードロジック３１１２の動作を実行するために、一又は複数の結合器、乗算器、遅延素子、スイッチなどが含まれる。
【０１９５】
位置コマンドロジック３１１４は、例えば、図２のフライトコンピュータ２５４などから位置コマンド２９２２を受信し、第１のモードにあるとき、位置コマンド２９２２をレートリミッタロジック３１１８に出力するように構成されている。位置コマンドロジック３１１４は、第２のモードにあるとき、導出位置コマンド３１３２を出力するように構成されている。例えば、位置コマンドロジック３１１４は、ロジック３１０２が第２のモードで動作していることを示すブール入力に基づいて、導出位置コマンド３１３２をレートリミッタロジック３１１８に提供するように構成されたスイッチ３１３４を含む。したがって、出力ロジック３１２６は、速度コマンド２９３２に基づいて、また、第２のモードで動作中には位置コマンド２９２２とは独立に、電流コマンド２９４０を生成する。
【０１９６】
速度コマンドロジック３１１６は、速度コマンド２９３２を受信し、速度コマンド２９３２をレートリミッタロジック３１１８に提供するように構成されている。幾つかの実装では、速度コマンドロジック３１１６は、速度コマンド２９３２を符号なし整数に変換し、速度コマンド２９３２を絶対値に変換するように構成されている。追加的に又は代替的に、速度コマンド２９３２はリゾルバ用に調整されうる。例えば、速度コマンド２９３２は、モーターのＲＰＭとリゾルバ速度との差を考慮して、速度コマンド２９３２に定数値を乗じることによって調整されうる。
【０１９７】
レートリミッタロジック３１１８は、第１のモードにあるとき、位置コマンド２９２２と速度コマンド２９３２に基づいて、レート制限された位置コマンド３０３４を生成するように構成されている。レートリミッタロジック３１１８は、第２のモードにあるとき、速度コマンド２９３２に基づいて、レート制限されたコマンド３０３４を生成するように構成されている。幾つかの実行形態では、レートリミッタロジック３１１８は、図３２を参照して説明されているように、初期化モードで動作するように更に構成されている。
【０１９８】
誤差生成ロジック３１２０は、図２のリゾルバシステム２０４のレート制限された位置コマンド３０３４と位置フィードバック２９２４に基づいて、（位置誤差を示す）誤差信号３０１２を生成するように構成されている。例えば、誤差生成ロジック３１２０は、レート制限された位置コマンド３０３４から位置フィードバック２９２４を差し引くことによって、誤差信号３０１２を生成する。誤差生成ロジック３１２０の動作は誤差信号生成回路によって実行されうる。例えば、図３１に示すように、誤差信号生成回路は結合器を含む。
【０１９９】
コンバインド比例ゲインロジック３１２２は、誤差信号３０１２に比例ゲイン２９２６を適用するように構成されている。コンバインド比例ゲインロジック３１２２は、誤差信号３０１２と比例ゲイン２９２６との積を出力ロジック３１２６に出力するように構成されている。特定の実装では、積を生成するため、比例ゲイン２９２６には誤差信号３０１２の微分係数が乗ぜられる。コンバインド積分ゲインロジック３１２４は、誤差信号３０１２に積分ゲイン２９２８を適用するように構成されている。コンバインド積分ゲインロジック３１２４は、出力ロジック３１２６に誤差信号３０１２と積分ゲイン２９２８の積を出力するように構成されている。
【０２００】
出力ロジック３１２６は、比例ゲイン２９２６と積分ゲイン２９２８に基づいて、電流コマンド２９４０を生成するように構成されている。例えば、出力ロジック３１２６は、調整された誤差信号３０１４を生成するため、２つの積を加算するように構成されている。出力ロジック３１２６は、調整された誤差信号３０１４に基づいて、電流コマンド２９４０を生成するように構成されている。例えば、出力ロジック３１２６は、電流コマンド２９４０を生成するため、調整された誤差信号３０１４を積分するように構成されている。特定の実装では、積分した調整された誤差信号３０１４は、電流コマンド２９４０を生成するため、最大電流値と最小電流値に基づいて制限されうる。出力ロジック３１２６は、出力端子３１３０を介して電流コマンド２９４０を出力する。
【０２０１】
幾つかの実装では、ロジック３１０２は更に減衰ロジック３１２８を含む。減衰ロジック３１２８は、減衰された誤差信号３１３８を生成するため、調整された誤差信号３０１４に適用される減衰値３０１６を生成する。このような実装では、減衰された誤差信号３１３８は、電流コマンド２９４０を生成するため積分される。加えて、ロジック３１０２は、減衰モードを制御する、すなわち、減衰を適用するか否かのスイッチ（図示せず）を含みうる。減衰ロジック３１２の動作は、減衰回路によって実行されうる。例えば、減衰回路は、図３１に示したように、減衰ロジック３１２８の動作を実行するため、一又は複数の結合器、乗算器、遅延素子、スイッチなどを含む。
【０２０２】
図３２を参照すると、ダイレクト速度コマンドモードを含む、速度と位置を結合したフィードバック制御のためのロジック３２０２の実施例の論理図３２００が示されている。ロジック３２０２は、図３１のロジック３１０２と同様のロジックを含み、追加的に初期化ロジック３２０４を含む。初期化ロジック３２０４は、追跡ロジック３２１２及び初期条件（ｉｃ）ロジック３２１４を含む。
【０２０３】
初期化ロジック３２０４は、初期化入力を受信し、生成するように構成されている。例えば、追跡ロジック３２１２は、位置追跡可能な入力３２２２とＲＰＭ追跡可能な入力３２２４を受信するように構成されている。追跡ロジック３２１２は、「真」（又は追跡可能）であることを示す、位置追跡可能な入力３２２２又はＲＰＭ追跡可能な入力３２２４のいずれかに基づいて、追跡入力３２２６を出力として生成する。
【０２０４】
ｉｃロジック３２１４は、位置追跡可能な入力３２２２、ＲＰＭ追跡可能な入力３２２４、初期化フィルタ入力３２２８、サーボオフセット出力１８６６、及びＲＰＭパルス追跡可能な入力３２３０に基づいて、ｉｃ入力３２３２を出力として生成するように構成されている。
【０２０５】
ロジック３２０２は、ロジック３１０２と比較して、追加のスイッチ３２４２〜３２４８を含む。スイッチ３４２２〜３４２８は、一又は複数の初期化入力３２２２〜３２３２に応答する初期化値（例えば、０又はヌル値）を入力するように構成されている。例えば、第１のスイッチ３２４２は、初期化フィルタ入力３２２８を受信し、リゾルバによって決定されたモーターの位置を出力するか、又は初期化フィルタ入力３２２８に基づいて位置コマンド２９２２を出力する。一例を挙げると、初期化モードでは、レートリミッタロジック３１１８にモーターの推定位置３６６が提供され、初期化モードの後に、位置コマンド２９２２がレートリミッタロジック３１１８に提供される。
【０２０６】
加えて、レートリミッタロジック３１１８は更に、図２のリゾルバシステム２０４及びｉｃイネーブル入力によって決定されたモーターの現在の位置（例えば、図３の推定位置３６６）を受信するように構成されています。レートリミッタロジック３１１８は、レート制限された位置コマンド３０３４が「真」を示すｉｃイネーブル入力に応答するように、モーターの現在位置を出力するように構成されている。特定の実装では、ｉｃイネーブル入力は、ｉｃ入力３２３２と遮断入力３２３６に基づいて生成される。例えば、ＯＲ論理ゲートは、ｉｃイネーブル入力３２３２と遮断入力３２３６を生成する。一例を挙げると、ｉｃ入力３２３２又は遮断入力３２３６のいずれかが「真」を示すときには、ｉｃイネーブル入力は「真」を示し、レートリミッタロジック３１１８は、リゾルバによって決定されたモーターの現在の位置（例えば、推定位置３６６）をレート制限された位置コマンド３０３４として出力する。
【０２０７】
第２のスイッチ３２４４は追跡入力３２２６を受信し、追跡入力３２２６に基づいてゼロ値又は調整された誤差信号３０１４（又は、減衰された誤差信号３１３８）を出力する。第３のスイッチ３２４６はフリーズ入力３２３４を受信し、フリーズ入力３２３４に基づいてゼロ値又は調整された誤差信号３０１４（又は、減衰された誤差信号３１３８）を出力する。したがって、追跡入力３２２６又はフリーズ入力３２３４のいずれかが「真」の場合、第３のスイッチ３２４６は調整された誤差信号３０１４（又は、減衰された誤差信号３１３８）の代わりにゼロを出力する。
【０２０８】
第４のスイッチ３２４８は、ｉｃ入力３２３２と遮断入力３２３６に基づいて生成されたブール出力を受信する。ブール出力に基づいて、第４のスイッチ３２４８はゼロ値又は電流コマンドを出力する。図３２に示した実施例では、ブール出力はＯＲ論理ゲートによって出力され、ｉｃ入力３２３２又は遮断入力３２３６が「真」の場合には、スイッチ３２４８はゼロを出力する。一例を挙げると、ロジック３２０２は、初期化モード及び遮断モード中にゼロ電流を示す電流コマンド２９４０を出力する。
【０２０９】
他の実装では、同等のロジックが使用されうる。例えば、第２のスイッチ３２４４と第３のスイッチ３２４６は、第４のスイッチ３２４８と対応するＯＲ論理ゲートと同様に、１つのスイッチと論理ゲートによって置き換えることができる。
【０２１０】
図３３は、調整可能な比較基準によるＰＷＭ動作の例を示すダイアグラム３３００である。ＰＷＭ（図２のＰＷＭ２４２など）は、比較値と少なくとも１つの比較基準を含む設定点信号を受信する。少なくとも１つの比較基準はブール条件を含む。例えば、ブール条件は、「大なり」条件、「小なり」条件、「大なり又は等しい」条件、或いは「小なり又は等しい」条件を含むか、これらに対応する。他の実装では、比較値と少なくとも１つの比較基準が別々の信号で受信される。ＰＷＭ２４２は、制御される構成要素への電力供給を制御するように構成されている。制御される構成要素は、発光ダイオード、デューティサイクルコントローラ、クロック信号生成器、バックコンバータ、サーボ、ステッパモーター、単相モーター、又は多相モーターを含みうる。
【０２１１】
図３３では、カウンタ３３０２（アップダウンカウンタなど）は、ゼロから特定の数までカウントアップしてから、特定の数からゼロまで戻すように構成されている。図３３に示すように、カウンタ３３０２は、８１９２までカウントアップされ、カウンタ３３０２によって生成されたカウンタ信号３３０４は破線で示されている。ＰＷＭ２４２は、カウンタ信号３３０４のカウンタ値と、設定点信号によって示された比較値３３２２（ＣＭＰ）とを比較するコンパレータを含む。幾つかの実装では、カウンタ３３０２は図８のカウンタ８４２と同期している。カウンタ８４２とカウンタ３３０２との同期により、モーターの電流駆動切替と図２のリゾルバシステム２０４の励磁信号と同期させることが可能で、電流駆動切替によって影響を受けるデータをマスクすることができる。
【０２１２】
図３３は、異なる設定点信号３３１２〜３３２０に対するＰＷＭ２４２の動作を示している。第１の設定点信号３３１２は、比較値３３２２と２つの比較基準３３２４、３３２６を含む。ＰＷＭ２４２は、設定点信号３３１２〜３３２０を処理することによって、比較値３３２２と２つの比較基準３３２４、３３２６を決定する。例えば、ＰＷＭ２４２は、比較値３３２２を得るため、第１の設定点信号３３１２を右にシフトする。ＰＷＭ２４２は、２つの比較基準３３２４、３３２６を決定するため、第１の設定点信号３３１２の２つの最下位ビット（ＬＳＢ）を使用する。図１に示したように、第１の設定点信号３３１２は値１６３８４を有する。第１の設定点信号３３１４の値１６３８４を右シフトすることによって、比較値３３２２に対して値４０９６が生成される。二進法では、１６３８４のＬＳＢの２桁は「００」である。ＰＷＭ２４２は、２ビット値「００」が第１の比較基準３３２４「大なり」と第２の比較基準３３２６「大なり」に対応すると判断する。ＰＷＭ２４２は、２ビット値をロジックで処理することにより、又はテーブルルックアップを実行することによって、２ビット値が２つの比較基準３３２４、３３２６に対応するか、これらを示すと判断しうる。
【０２１３】
ＰＷＭ２４２は、カウンタ３３０２の値に対して比較基準３３２４、３３２６を満たす比較値３３２２に応答するトランジスタのゲートに、高い信号を提供する（又は、高い信号が提供されるようにする）。トランジスタに高い信号を提供すると、トランジスタは起動する。図３３に示したように、比較値３３２２が４０９６で、カウンタ３３０２の値より大きい場合（例えば、カウンタ値が比較値３３２２の４０９６より小さい場合）、ＰＷＭ２４２はトランジスタを起動する。図３３では、トランジスタは第１の設定点信号３３１２に対して、カウンタ値が４０９５のとき起動される。トランジスタの起動は、第１の設定点信号３３１２に基づいて、ＰＷＭ信号のパルスのパルスエッジを生成する。
【０２１４】
ＰＷＭ２４２は、カウンタ３３０２の値に対して比較基準３３２４、３３２６を満たさない比較値３３２２に応答するトランジスタのゲートに、低い信号を提供する（又は、低い信号が提供されるようにする）。トランジスタの低い信号を提供すると、トランジスタは停止する。比較値３３２２が４０９６で、カウンタ３３０２の値より小さい場合（例えば、カウンタ値が比較値３３２２の４０９６を上回る場合）、ＰＷＭ２４２はトランジスタを停止する。図３３では、トランジスタは、第１の設定点信号３３１２に対してカウンタ値が４０９６のとき停止される。これはカウンタ値が４０９５のときトランジスタがオンであることを意味する。トランジスタ（及びＰＷＭ信号のパルスのパルス幅）がオンの時間は、図３３に形成されるクロスハッチングされた三角形の領域によって示されており、比較値３３２２が第１の設定点信号３３１２のカウンタ３３０２の値よりも大きい期間に対応している。第１の設定点信号３３１２のトランジスタがオンの時間は８１９０カウントで、すなわち、４０９５から０まで及び０から４０９５に戻るカウンタ値に対応するカウントである。
【０２１５】
ＰＷＭ２４２は第２の設定点信号３３１４を受信する。第２の設定点信号３３１４は、１６３８５の値を有する。第２の設定点信号３３１４の値１６３８５を右シフトすると、比較値３３２２に対して４０９６の値が生成される。二進法では、１６３８５のＬＳＢの２桁は「０１」である。ＰＷＭ２４２は、２ビット値「０１」が第１の比較基準３３２４「大なり又は等しい」と第２の比較基準３３２６「大なり」に対応すると判断する。図３３に示したように、ＰＷＭ２４２は、比較値３３２２が４０９６で、カウンタ３３０２の値に等しいとき、すなわち、カウンタ値が４０９６のときに、トランジスタを起動する。トランジスタの起動は、第２の設定点信号３３１４に基づいて、ＰＷＭ信号の第２のパルスのパルスエッジを生成する。比較値３３２２が４０９６で、カウンタ３３０２の値に等しい（超えない）とき、ＰＷＭ２４２はトランジスタを停止する。図３３では、ＰＷＭ２４２は、カウンタ値が４０９６のときトランジスタを停止する。トランジスタの停止は、第２の設定点信号３３１４に基づいて、ＰＷＭ信号の第２のパルスの第２のパルスエッジを生成する。トランジスタ（及びＰＷＭ信号のパルスのパルス幅）がオンの時間は、図３３でクロスハッチングされた三角形の領域で示される。第１の設定点信号３３１２がオンの時間と比較して、第２の設定点信号３３１４がオンの時間は１カウント（すなわち、８１９２のうちの１）高くなっている。一例を挙げると、第２の設定点信号３３１４は、トランジスタがオンの時間が８１９１カウントであることを示している、すなわち、４０９６から０まで、及び０から４０９５までのカウンタ値に対応しているカウントを示している。
【０２１６】
従来のＰＷＭでは、比較基準は常に同じ（例えば、「大なり」のみ、或いは「大なり又は等しい」のみ）である。したがって、パルスのパルス幅を増やすためには、比較値が変更される（第１の設定点信号３３１２と第５の設定点信号３３２０との間での４０９６から４０９７への比較値変更と同様に）。比較値３３２２を変更することにより、オンの時間又はパルス幅は２カウントだけ増加する。例えば、比較値３３２２が４０９６から４０９７に増えると（比較基準が常に「大なり」であるとして）、オンの時間は、４０９６に対する８１９０カウントから４０９７に対する８１９２カウントまで、２カウントだけ増える。一例を挙げると、値が４０９７である比較値３３２２に関しては、トランジスタがオンの時間は４０９７から０までと０から４０９７に戻るまでの間である。したがって、ＰＷＭ２４２はモーター１２４の粒度を下げ、精度と制御を細かくする。
【０２１７】
ＰＷＭ２４２は第３の設定点信号３３１６を受信する。第３の設定点信号３３１６は、値１６３８６を有する。第２の設定点信号３３１４の値１６３８５を右シフトすると、比較値３３２２に対して値４０９６が生成される。二進法では、１６３８６のＬＳＢの２桁は「１０」である。ＰＷＭ２４２は、２ビット値「１０」が第１の比較基準３３２４「大なり又は等しい」と第２の比較基準３３２６「大なり」に対応すると判断する。第３の設定点信号３３１６は、第３の設定点信号３３１６に基づいて、ＰＷＭ信号の第３のパルスを生成するため、第２の設定点信号３３１４と同じように動作する。図３４を参照して説明したように、マルチレーン実装では、第３の設定点信号３３１６は、第２のレーンの調整可能な比較基準との組み合わせにより、制御される構成要素への電力供給を１カウントだけ増やしうる。
【０２１８】
ＰＷＭ２４２は第４の設定点信号３３１８を受信する。第４の設定点信号３３１８は、値１６３８７を有する。二進法では、１６３８７のＬＳＢの２桁は「１１」である。ＰＷＭ２４２は、２ビット値「１１」が第１の比較基準３３２４「大なり又は等しい」と第２の比較基準３３２６「大なり」に対応すると判断する。図３３に示したように、比較値３３２２が４０９６で、カウンタ３３０２の値に等しいとき、すなわち、カウンタ値が４０９６のときに、ＰＷＭ２４２はトランジスタを起動する。トランジスタの起動は、第４の設定点信号３３１８に基づいて、ＰＷＭ信号の第４のパルスのパルスエッジを生成する。ＰＷＭ２４２は、比較値３３２２が４０９６でカウンタ３３０２の値より小さい（以上ではない）場合に、すなわち、カウンタ値が４０９７の場合にトランジスタを停止する。これはカウンタ値が４０９６であるときにはトランジスタがオンであることを意味する。トランジスタの停止は、第４の設定点信号３３１８に基づいて、ＰＷＭ信号の第４のパルスの第２のパルスエッジを生成する。第２の設定点信号３３１４がオンの時間と比較して、第４の設定点信号３３１８がオンの時間は１カウント（すなわち、８１９２のうちの１）高くなっている。一例を挙げると、第２の設定点信号３３１４は、トランジスタがオンの時間が８１９１カウントであることを示し、第４の設定点信号３３１８はトランジスタがオンの時間が８１９２カウントであること、すなわち、４０９６から０まで、及び０から４０９６までのカウンタ値に対応するカウントであることを示している。
【０２１９】
ＰＷＭ２４２は第５の設定点信号３３２０を受信する。第５の設定点信号３３２０は、値１６３８８を有する。２進数では、１６３８８を２ビット右シフトすると、比較値３３２２の値は４０９７になる。１６３８８のＬＳＢの２桁は「００」である。ＰＷＭ２４２は、２ビット値「００」が第１の比較基準３３２４「大なり」と第２の比較基準３３２６「大なり」に対応すると判断する。第５の設定点信号３３２０は、第４の設定点信号３３１８と比較して、異なる比較値３３２２及び異なる比較基準３３２４、３３２６で動作するが、第４の設定点信号３３１８と同じカウント数のオンの時間を生成する。他の実装では、ＬＳＢの２桁の各ビットは特定の比較規則または条件に対応しうる。例えば、値０を有するビットは「大なり」条件を示し、値１を有するビットは「大なり又は等しい」条件を示しうる。
【０２２０】
図３３に示すように、比較基準を調整する場合には、オンの時間は０．０１２５０マイクロ秒ずつ増加し、これとは対照的に、比較値を調整する場合には０．０２５０マイクロ秒ずつ増加する。したがって、ＰＷＭ２４２は、比較基準３３２４、３３２６を調整することによって、粒度を下げ、精度と制御を高めた。図３３に示した実施例では、ＰＷＭ２４２は４０メガヘルツの周波数を有する。リゾルバシステム２０４の周波数（２４４１．２ヘルツ）は、ＰＷＭ２４２の周波数をＰＷＭ２４２の周期（８１９２）の２倍で除した値に等しい。
【０２２１】
他の実装では、１つの調整可能な比較基準が使用可能で、設定点信号のＬＳＢ１桁で示されうる。このような実装では、ＰＷＭ２４２は依然として１カウンタ値の粒度、すなわち設定点信号の値の調節１回につき０．０１２５０マイクロ秒を有する。一例として、第１の設定点信号３３１２の値が１だけ増えると、ＰＷＭ２４２は第２の設定点信号３３１４と同様に動作する。第１の設定点信号３３１２の値が２だけ増加するのに応答して、ＰＷＭ２４２は（第３の設定点信号３３１６とは対照的に）第５の設定点信号３３２０と同様に動作する。したがって、２つの調整可能な比較基準では、設定点信号を２ビット右にシフトするのに対して、１つの調整可能な比較基準を有する設定点信号は１ビットだけ右シフトされる。したがって、１つの調整可能な比較基準を有する設定点信号は、０〜１６３８４の値の範囲を有し、これとは対照的に、２つの調整可能な比較基準を有する設定点信号では０〜３２７６８の値の範囲を有する。このような実装は、ＬＥＤ、１相モーターなど、マルチレーン制御が使用されない場合に実装されうる。
【０２２２】
図３３に示したように、設定点信号３３１２〜３３２０は、ＰＷＭ２４２の動作を説明するため、各サイクルの変化を示している。制御される構成要素の動作中、ＰＷＭ２４２は各サイクルの設定点信号を受信し、設定点信号は、前のサイクルの前の設定点信号からの制御される構成要素のデューティサイクルの変化を示すこともあれば、示さないこともある。代替的に、ＰＷＭ２４２は、ディーティ値の変化に応答して異なるデューティサイクルを示す設定点信号を受信し、新しい設定点信号が受信されるまで、現在の設定点信号（すなわち、比較値３３２２とその比較基準３３２４、３３２６）を維持しうる。
【０２２３】
図３４は、調整可能な比較基準による２レーンＰＷＭ動作の実施例を示すダイアグラム３４００である。ダイアグラム３４００はＡレーンとＢレーンの動作を示している。特定の実装では、Ａレーンは第１相の上部トランジスタに対応し、Ｂレーンは第２相の下部トランジスタに対応する。例えば、上部トランジスタは図２８の２８２２に対応し、下部トランジスタは図２８の２８３４に対応する。
【０２２４】
Ａレーンは、図３３に関して説明されたＰＷＭの動作と同様に動作する。ＢレーンはＡレーンと同様に動作するが、逆向きである。特定の比較値３４２２（ＣＭＰＢ）が、図３３のカウンタ３３０２の値に関してＢレーンの比較基準３４２４、３４２６（例えば、より小さい、或いはより小さい又は等しい）を満たしている場合、Ｂレーンは低い（例えば、接地に接続されている）。
【０２２５】
Ａレーンが高く、Ｂレーンが低い場合、モーターなどの制御される構成要素間に電圧差が生じ、制御される構成要素に電流が供給される。Ａレーンが高く、Ｂレーンが低い状態は、上部トランジスタ２８２２と下部トランジスタ２８３４を閉じるか、起動することによって実現可能である。トランジスタ２８２２及び２８３４を起動することにより、電流は、バッテリー（又は他の電源）から、上部トランジスタ２８２２を経由してモーター１２４まで、モーター１２４を経由して下部トランジスタ２８３４まで、また、下部トランジスタ２８３４経由して接地まで流れることができる。図３３に関して説明されているＰＷＭ２４２のパルスと比較して、Ａレーン及びＢレーンに対するＰＷＭ２４のパルスは、各レーンの設定点信号の組み合わせによって生成される。前記別の方法で、特定のレーンの各設定点信号は、（図３３の１つのパルスの２つのパルスエッジではなく）２つの異なるパルスのパルスエッジを生成する。図３３では、制御される構成要素（例えば、モーター）に提供されたパルスはクロスハッチングされた三角形に対応している。図３４では、制御される構成要素（例えば、モーター）に提供されたパルスは点線の三角形に対応している。図３４に示した実装では、設定点信号３３１２〜３３２０の各設定点信号は、第１のパルスの第１のパルスエッジと第２のパルスの第２のパルスエッジ、並びに、第１のパルスの第２のパルスエッジと第２のパルスの第１のパルスエッジを生成する設定点信号３４１２〜３４２０の対応する設定点信号を生成する。
【０２２６】
Ｂレーンは第１の設定点信号３４１２を受信する。第１の設定点信号３４１２は、値１６３８４を有する。値が１６３８４である第１の設定点信号３４１２を２ビット右シフトすると（すなわち、４で割ると）、Ｂレーンの比較値３４２２（ＣＭＰＢ）が４０９６であることが示される。１６３８４のＬＳＢの２桁は「００」で、Ｂレーンの場合、ＬＳＢの２桁は第１の比較基準３４２４「小なり」と第２の比較基準３４２６「小なり又は等しい」を示す。図３４の水平ハッチングで示されているように、Ｂレーンは低く、一方、比較値３４２２はカウンタ３３０２の値以下になっている。
【０２２７】
ＰＷＭ２４２は、カウンタ３３０２の値に対して比較基準３４２４、３４２６を満たさない比較値３４２２に応答する下部トランジスタ２８３４のゲートに、低い信号を提供する（又は、低い信号が提供されるようにする）。下部トランジスタの低い信号を提供すると、下部トランジスタ２８３４は停止する。比較値３４２２が４０９６で、カウンタ３３０２の値以下の場合（例えば、カウンタ値が比較値３３２２の値４０９６を下回る場合）、ＰＷＭ２４２は下部トランジスタ２８３４を停止する。図３４では、第１の設定点信号３４１２に対してカウンタ値が４０９５のときに、下部トランジスタ２８３４は停止される。これは、カウンタ値が４０９６のときに下部トランジスタ２８３４がオンであることを意味する。上部トランジスタ２８２２を起動すると、第１の設定点信号３３１２、３４１２に基づいてＰＷＭ信号の第１のパルスの第１のパルスエッジが生成され、下部トランジスタ２８３４を起動すると、第１の設定点信号３３１２、３４１２に基づいてＰＷＭ信号の第１のパルスの第２のパルスエッジが生成される。
【０２２８】
下部トランジスタ２８３４がオンの時間は、図３４に形成されるクロスハッチングされた三角形の領域によって示されており、比較値３４２２が第１の設定点信号３４１２のカウンタ３３０２の値以下である期間に対応している下部トランジスタ２８３４がオンの時間は、第１の設定点信号３４１２と前の設定点信号（図示せず）によって示されている。設定点信号３４１２〜３４２０は下部トランジスタ２８３４がオフの時間に対応し、設定点信号３３１２〜３３２０は上部２８２２がオンの時間に対応している。
【０２２９】
ＰＷＭ２４２は、カウンタ３３０２の値に対して比較基準３４２４、３４２６を満たす比較値３４２２に応答する下部トランジスタ２８３４のゲートに、高い信号を提供する（又は、高い信号が提供されるようにする）。下部トランジスタ２８３４の高い信号を提供すると、下部トランジスタ２８３４は起動する。図３４に示したように、比較値３４２２が４０９６で、カウンタ３３０２の値以下の場合（例えば、カウンタ値が比較値３４２２の値４０９６に達すると）、ＰＷＭ２４２は下部トランジスタ２８３４を起動する。図３４では、下部トランジスタ２８３４は第１の設定点信号３４１２に対して、カウンタ値が４０９６のとき起動される。下部トランジスタ２８３４を起動すると、第１の設定点信号３３１２、３４１２に基づいてＰＷＭ信号の第２のパルスの第１のパルスエッジが生成され、上部トランジスタ２８２２を停止すると、第１の設定点信号３３１２、３４１２に基づいてＰＷＭ信号の第２のパルスの第２のパルスエッジが生成される。
【０２３０】
ＰＷＭ信号の第１のパルスと第２のパルスは、モーターがオンの時間を示し、ＡレーンとＢレーンがオンである時間（クロスハッチングされた三角形）の重なりに対応する。第１のパルスと第２のパルスは、図３４の破線の四角形で示されている。図３４に示したように、第１の設定点信号３３１２、３４１２の第１のパルスに関連付けられた第１のモーターがオンの時間は２５ｎｓで、第１の設定点信号３３１２、３４１２の第２のパルスに関連付けられた第２１のモーターがオンの時間は２５ｎｓである。したがって、ＡレーンとＢレーンの第１の設定点信号３３１２、３４１２に関連付けられたモーターがオンの時間の合計は５０ナノ秒になる。
【０２３１】
Ｂレーンは、値１６３８３を有する第２の設定点信号３４１４を受信する。値が１６３８３である第２の設定点信号３４１４を２ビット右シフトすると（すなわち、４で割ると）、比較値３４２２が４０９５であることが示される。１６３８３のＬＳＢの２桁は「１１」で、Ｂレーンの場合、ＬＳＢの２桁は第１の比較基準３４２４「小なり」と第２の比較基準３４２６「小なり」を示す。比較基準３４２４、３４２６が変化し、比較値３４２２が変化したため、Ｂレーンがオフの時間は変化しなかった。しかしながら、Ａレーンの１つの比較基準（すなわち、第１の比較基準３３２４）が対応する第２の設定点信号３３１４で変化したため、第１の設定点信号３３１２、３４１２で前回のモーターがオンの時間の合計が５０ｎｓであったのに対して、モーターがオンの時間（デューティサイクル）の合計は第２の設定点信号３３１４、３４１４で２５ｎｓ増加した。図３４に示したように、第２の設定点信号３３１４、３４１４の第１のパルスに関連付けられた第１のモーターがオンの時間は５０ｎｓで、第１の設定点信号３３１４、３４１４の第２のパルスに関連付けられた第２のモーターがオンの時間は２５ｎｓで、モーターがオンの時間の合計は７５ｎｓである。
【０２３２】
Ｂレーンは、値１６３８２を有する第３の設定点信号３４１６を受信する。値が１６３８２である第３の設定点信号３４１６を２ビット右シフトすると（すなわち、４で割ると）、比較値３３２２が４０９５であることが示される。１６３８２のＬＳＢの２桁は「１０」で、Ｂレーンの場合、ＬＳＢの２桁は第１の比較基準３４２４「小なり」と第２の比較基準３４２６「小なり又は等しい」を示す。図３３を参照して説明したように、Ａレーンは比較基準３３２４、３３２６、又は第２の設定点信号３３１２の比較値３３２２を変更しなかった。第２の設定点信号３４１６の第２の比較基準３４２６がＢレーンで変化したため、第２の設定点信号３３１４、３４１４で、前回のモーターがオンの時間の合計が７５ｎｓであったのに対して、Ｂレーンがオフであった時間は増加し、モーター１２４がオンの時間（デューティサイクル）は２５ｎｓ増加した。図３４に示したように、第１及び第２のモーターが第３の設定点信号３３１６、３４１６でオンの時間は５０ｎｓで、モーターがオンの時間の合計は１００ｎｓである。
【０２３３】
Ｂレーンは、値１６３８１を有する第４の設定点信号３４１８を受信する。値が１６３８１である第４の設定点信号３４１８を２ビット右シフトすると（すなわち、４で割ると）、比較値が４０９５であることが示される。１６３８１のＬＳＢの２桁は「０１」で、Ｂレーンの場合、ＬＳＢの２桁は第１の比較基準３４２４「小なり」と第２の比較基準３４２６「小なり又は等しい」を示す。比較基準３４２４、３４２６が変化し、比較値３４２２が変化したため、Ｂレーンは低く、変化しなかった。しかしながら、Ａレーンの１つの比較基準（すなわち、第２の比較基準３３２６）が対応する第４の設定点信号３３１８で変化したため、第３の設定点信号３３１６、３４１６で前回のモーターがオンの時間の合計が１００ｎｓであったのに対して、モーター１２４がオンの時間（デューティサイクル）は２５ｎｓ増加した。図３４に示したように、第４の設定点信号３３１８、３４１８の第１のパルスに関連付けられた第１のモーターがオンの時間は７５ｎｓで、第４の設定点信号３３１８、３４１８の第２のパルスに関連付けられた第２のモーターがオンの時間は５０ｎｓで、モーターがオンの時間の合計は１２５ｎｓである。
【０２３４】
Ｂレーンは、値１６３８１を有する第５の設定点信号３４２０を受信する。値が１６３８０である第５の設定点信号３４２０を２ビット右シフトすると（すなわち、４で割ると）、比較値３４２２が４０９５であることが示される。１６３８０のＬＳＢの２桁は「００」で、Ｂレーンの場合、ＬＳＢの２桁は第１の比較基準３４２４「小なり」と第２の比較基準３４２６「小なり又は等しい」を示す。第１の比較基準３４２４がＢレーンで変化したため、第４の設定点信号３３１８、３４１８で、前回のモーターがオンの時間の合計が１２５ｎｓであったのに対して、Ｂレーンがオフであった時間は増加し、モーター１２４がオンであった時間（デューティサイクル）は２５ｎｓ増加した。図３４に示したように、第５の設定点信号３３２０、３４２０の第１のパルスに関連付けられた第１のモーターがオンの時間は７５ｎｓで、第５の設定点信号３３２０、３４２０の第２のパルスに関連付けられた第２のモーターがオンの時間は７５ｎｓで、モーターがオンの時間の合計は１５０ｎｓである。
【０２３５】
図３４に示したように、ＰＷＭ２４２は、各レーンに１つずつ、複数の設定点信号を受信する。例えば、Ａレーンは値１６３８５を示す第２の設定点信号３３１４を受信し、Ｂレーンは値１６３８３を示す第２の設定点信号３４１４を受信する。他の実装では、ＰＷＭ２４２は、デューティサイクル値３７４と少なくとも１つの比較基準を示す１つの設定点信号を受信する。ＰＷＭ２４２は、デューティサイクル値３７４に基づいて、各レーンの比較値３３２２、３４２２を計算する。例えば、ＰＷＭ２４２は、式ＣＭＰＡ＝ＤｕｔｙＣｙｃｌｅ＊ＣＴＲＰＲＤ＊４とＣＭＰＢ＝（１−ＤｕｔｙＣｙｃｌｅ）＊ＣＴＲＰＲＤ＊４を用いて、各レーンに対して比較値３３２２、３４２２を計算する。ここで、ＣＴＲＰＲＤは最大カウンタ値（８１９２）である。
【０２３６】
幾つかの実装では、ＰＷＭ２４２は各レーンの２つのトランジスタを制御するように構成されている。特定の実装では、ＰＷＭ２４２はデッドバンド制御を提供するように構成されている。すなわち、ＰＷＭ２４２は、レーンで２つのトランジスタが同時に起動されるのを防止するため、特定のトランジスタの起動を遅延させる。例えば、ＰＷＭ２４２は、特定のレーンの下部トランジスタが停止できるように、特定のレーンの上部トランジスタの起動を遅延させる。この遅延はデッドタイム又はデッドティックと呼ばれる。ＰＷＭ２４２は、図３５を参照して説明されるように、デッドティック設定又は決められた数のデッドティックに基づいて、トランジスタを更に起動するように構成されている。
【０２３７】
図３５は、調整可能な比較基準及びデッドバンド制御によるＰＷＭのロジック３５０２の実施例を示す論理図３５００である。ＰＷＭロジック３５０２は、図３のトランジスタ３３６（例えば、トランジスタ２８２２〜２８２６及び２８３２〜２８３６）を制御し、図１のモーター１２４に電力を供給するように構成されている。図３５では、ＰＷＭロジック３５０２は、位相又はレーンＡ、Ｂ、及びＣを備える３相モーターを制御する。ＰＷＭロジック３５０２は、図３３と図３４を参照して説明されるように、１つの比較値と少なくとも１つの比較基準に基づいてトランジスタ３３６をいつ起動するかを決定するように構成されている。図３５では、ＰＷＭロジック３５０２は、デッドタイム入力３５１２と駆動イネーブル入力３５１４に更に基づいて、トランジスタ３３６をいつ起動するかを決定するように構成されている。例えば、ＰＷＭロジック３５０２は、特定のレーンの上部トランジスタと下部トランジスタの両方が同時にオンにならないように、デッドバンドを提供するレーンのオンのタイミングを調整しうる。
【０２３８】
ＰＷＭロジック３５０２は、各レーンに対して比較ロジックブロック３５０４を含む。比較ロジックブロック３５０４の各々は、デッドタイム入力３５１２と駆動イネーブル入力３５１４に更に基づいて、２つの出力、高アクティベーション出力３５０６と低アクティベーション出力３５０８を生成する。高アクティベーション出力３５０６と低アクティベーション出力３５０８は、論理値０又は１で示される「真」又は「偽」などのブール出力を含む。高アクティベーション出力３５０６と低アクティベーション出力３５０８は、図３３及び図３４で決定されたオンの時間と比較して、デッドバンドアクティベーション出力又は調整されたアクティベーション出力を含むか、これに対応しうる。デッドバンド制御を提供すると、特定の設定点信号によって示されるオンの時間の合計が減少することがあるが、デッドバンド制御は、オンの時間の制御の粒度や、調整可能な比較基準を示す設定点信号の精度を高めたり、低下させることはない。
【０２３９】
デッドタイム入力３５１２（ＤＴ）は、トランジスタ３３６のオンのタイミングを調整するように構成されている。デッドタイム入力３５１２の値は、現在のコマンド、ユーザー設定、またはその両方に基づいて決定されたデッドティックの数に基づいている。例えば、ユーザーはデッドティックの数に定数値を入力してもよい。別の実施例として、デッドティックの数は、電流コマンド２９４０、電源の電圧、或いはその両方に基づいて決定されてもよい。加えて、デッドティックは正又は負の場合があり、どちらかのトランジスタに関連しており、すなわち、上部のトランジスタ又は下部のトランジスタを、先に或いは後にオンにすることがある。
【０２４０】
駆動イネーブル入力３５１４（ＤＥ）は、ＰＷＭ２４２による動作又は制御のため、特定のレーン又は位相を可能にするように構成されている。駆動イネーブル入力３５１４はブール入力又はブール値である。図３５に示されているように、駆動イネーブル入力３５１４は、レーン駆動イネーブル入力３５１６（例えば、［ＤＥＡ］）とシャットダウン入力３５１８（［ｎｏｔＳＤ］）に基づいて、決定される。これらの各入力３５１６、３５１８はブール」値を含みうる。レーン駆動イネーブル入力３５１６は、モーターの特定のレーン又は位相が起動又は制御が可能になるように、制御するように構成されている。遮断入力３５１８は、モーター１２４を停止するため、すべてのトランジスタ３３６を開放するように構成されている。図３５に示したように、駆動イネーブル入力３５１４は、レーン駆動イネーブル入力３５１６と遮断入力３５１８を受信するＡＮＤ論理ゲートの出力として生成される。一例を挙げると、レーン駆動イネーブル入力３５１６と遮断入力３５１８が論理値の「真」又は「高」を示すとき、駆動イネーブル入力３５１４は「真」又は「高」を示し、特定のレーンはＰＷＭロジック３５０２によって制御可能になる。
【０２４１】
ＰＷＭロジック３５０２は、各レーンの高アクティベーション出力３５０６及び低アクティベーション出力３５０８に基づいて、ゲート高出力３５３２及びゲート低出力３５３４を生成するように構成されたゲートドライバ３５２２、３５２４を含む。ゲートドライバ３５２２、３５２４は、図３のゲートドライバ３３４を含むか、これに対応しうる。ゲート高出力３５３２及びゲート低出力３５３４は、論理値０又は１によって示される「真」又は「偽」などのブール出力を含む。
【０２４２】
動作中、各比較ロジックブロック３５０４は、図３３及び図３４を参照して説明されるように、カウンタ３３０２、比較値３３２２、一又は複数の比較基準（例えば、比較基準３３２４、３３２６）に基づいて、対応するレーンのオンの時間を生成する。比較ロジックブロック３５０４は、デッドタイム入力３５１２に基づいて、特定のレーンに対してオンの時間を調整する。例えば、比較ロジックブロック３５０４は、デッドタイム入力３５１２値の各デッドティックに対して、Ａレーンがオンの時間を短縮して、２ティック又は２カウントだけ高くなるよう（例えば、ＡＨ）にする。一例を挙げると、Ａレーンの上部トランジスタがＡレーンの下部トランジスタ２８３２と同時にオンにならないように、Ａレーンの上部トランジスタ２８２２は、図３３及び図３４で決定されるよりも１カウンタ（１デッドティック）後にオンになり、１カウンタ（１デッドティック）前にオンになる。代替的に、比較ロジックブロック３５０４は、２デッドティック又は２デッドカウントだけ低くなるように、Ａレーンがオンの時間を短縮して、２デッドティック又は２デッドカウントだけ低くなるよう（例えば、ＡＬ）にする。
【０２４３】
ゲートドライバ３５２２、３５２４は、各レーンに対して高アクティベーション出力３５０６と低アクティベーション出力３５０８に基づいて、ゲート高出力３５３２とゲート低出力３５３４を生成する。ゲート高出力３５３２及びゲート低出力３５３４は、上部トランジスタ及び下部トランジスタのどちらがオンであるか（すなわち、起動されているか）を示している。図３５に示したように、ゲートドライバ３５２２、３５２４は、一度に１つの上部トランジスタ（高トランジスタ）と１つの下部トランジスタを起動する。例示的な実施例として、ゲートドライバ３５２２、３５２４は、トランジスタ３３６の起動及び停止に使用される論理的な高／低信号（例えば、高電圧と低電圧）を生成する回路に、ゲート高出力３５３２とゲート低出力３５３４を提供する。
【０２４４】
図３６は、デュアルリゾルバを使用して回転位置を決定する方法３６００を示している。方法３６００は、図１のリゾルバ１２６、図２のリゾルバシステム２０４、復調システム２２２、デュアルリゾルバコンビネーションシステム２２４、図３のデュアルスピードリゾルバ３１２、粗いリゾルバ３４２、微細なリゾルバ３４４、図５の出力回路５３２、角度結合回路５４２、ドリフト修正回路５４４、或いはこれらの組み合わせによって実行されうる。
【０２４５】
方法３６００は３６０２で、粗いリゾルバから粗い位置信号と微細なリゾルバから微細な位置信号を受信することを含む。粗い位置信号はモーターのドライブシャフトの粗い位置を示し、微細な位置信号はモーターのドライブシャフトの微細な位置を示す。粗いリゾルバは、図３の３４２を含むか、これに対応しうる。粗い位置信号は、図３の差動電圧出力３５４、差動電圧信号３５６、ＡＤＣ出力３５８、図１３の正弦値１３１２及び余弦値１３１４、或いはこれらの組み合わせを含むか、これらに対応し、微細な位置信号は、図３の差動電圧出力３５４、差動電圧信号３５６、ＡＤＣ出力３５８、図１２のＡＤＣ出力信号１２１２、或いはこれらの組み合わせを含むか、これらに対応しうる。
【０２４６】
図３６の方法３６００はまた３６０４で、ドライブシャフトの初期位置を示す粗い位置信号に基づいて、初期位置出力を生成することを含む。初期位置出力は、図２０の初期位置出力２０１２を含むか、これに対応し、ドライブシャフトの初期位置は図２０の実際の角度２００４を含むか、これに対応しうる。幾つかの実装では、初期位置出力は、デュアルスピードリゾルバ３１２の初期化モードの出力に対応する。
【０２４７】
図３６の方法３６００は３６０６で更に、ドライブシャフトのその後の位置を示す微細な位置信号に基づいて、その後の位置出力を生成することを含む。その後の位置出力２０１４は、図２０のその後の位置出力を含むか、これに対応し、ドライブシャフトのその後の位置は、図２０の実際の角度２００４を含むか、これに対応しうる。幾つかの実装では、その後の位置出力は、デュアルスピードリゾルバ３１２の通常の動作モード（すなわち、非初期化モード）の出力に対応する。
【０２４８】
幾つかの実装では、粗い位置信号と微細な位置信号は、リゾルバによって受信された励磁信号に基づいて生成される。特定の実装では、励磁信号は、ディザ処理された励磁信号（例えば、図３及び図２３のディザ処理された励磁信号３５２）を含むか、これに対応している。追加的に又は代替的に、励磁信号（又は、ディザ処理された励磁信号３５２）は、モーターの電流直接切替（ｃｕｒｒｅｎｔ  ｄｉｒｅｃｔ  ｓｗｉｔｃｈｉｎｇ）と時間調整される。例えば、励磁信号は、図２及び図３を参照して説明されているように、モーター１２４の電流駆動切替からオフセットされている。一例を挙げると、励磁信号４５２は、励磁信号４５２のピーク振幅が電流駆動切替信号からオフセットされるように、モーター１２４に関連付けられた電流駆動切替信号と同期している。
【０２４９】
幾つかの実装では、図１８及び図１９を参照して説明されているように、その後の位置出力は、初期位置出力と微細な位置信号に基づいて生成されるが、その後の位置出力は、その後の粗い位置信号とは独立に生成される。
【０２５０】
幾つかの実装では、初期位置出力を生成することは、図１８及び図１９を参照して説明されているように、粗い位置信号に基づいてドライブシャフトの開始位置を決定し、初期化モード入力に基づく初期位置出力として開始位置を提供することを含む。例えば、ロジック１８０２は、「真」を示すブール入力１８２４（ｉｎｉｔ＿ｒｓｌｖ）に応答するスイッチ１８２６から提供される推定初期位置１８２２（粗いリゾルバ３４２のリゾルバ出力３５４に基づいて決定された開始位置を示す）に基づいて、結合された推定位置１８３２を生成する。
【０２５１】
幾つかの実装では、その後の位置出力を生成することは、微細な位置信号を微分することと、微分された微細な位置信号を粗い位置信号に関連付けられた第１のドメインに変換することを含む。その後の位置出力を生成することは更に、初期位置出力、微分された微細な位置信号、及びドリフト修正値に基づいて、その後の推定位置を生成することを含み、図１８を参照して説明されているように、その後の推定位置に基づいて、その後の位置を出力することを含む。例えば、ロジック１８０２は、第２のドメイン角度推定値１８１２の現在の位置の値１８１６から前の位置の値１８１４を差し引くことによって、第２のドメイン角度推定値１８１２（微細なリゾルバ３４４の微細な位置信号に基づく第２のドメインの角度推定値３６４）を微分し、位置の値１８１８の変化を生成する。ロジック１８０２は、位置の値１８１８の変化を、変換された位置の値１８２０の変化に変換し、変換された位置の値１８２０の変化を結合器１８３０に提供する。結合器１８３０は、変換された位置の値１８２０の変化、遅延され結合された推定位置１８４４（例えば、初期位置出力又は初期の結合された推定位置１８３２）、及びドリフト修正値１８２８に基づいて、その後の結合された推定位置１８３２を生成する。
【０２５２】
幾つかの実装では、ドリフト修正値を生成することは、初期位置出力を微細な位置信号に関連付けられた第２のドメインに変換すること、並びに、変換された初期位置出力、微細な位置信号、及び１８０度バイアスオフセット値に基づいて誤差値を生成することを含む。ドリフト修正値を生成することは更に、図１９を参照して説明されているように、誤差値、比例ゲイン、及び積分ゲインに基づいて、ドリフト修正値を決定することを含む。例えば、ロジック１９０２は、遅延され結合された推定位置１８４４を１スピードドメインから１６スピードに変換し、第２のドメイン角度推定値１８１２から、変換された指定角度１９１４と１８０度バイアスオフセット１９１８を差し引いて誤差値１９２０を生成する。ロジック１９０２は、誤差値１９２０、比例ゲイン１９２２、及び積分ゲイン１９２４に基づいて、ドリフト修正値１８２８を生成する。特定の実装では、誤差値１９２０は比例ゲイン１９２２に適用するため右シフトされ、積分ゲイン１９２４は誤差値１９２０に基づいて、１又は−１に対応する。
【０２５３】
幾つかの実装では、初期位置出力と複数のその後の位置出力は、その後の位置出力を含み、連続した計算に基づいて生成される。例えば、リゾルバシステム２０４は、入力パラメータが１回に１つ変化する連続関数に基づいて位置出力を生成する。
【０２５４】
幾つかの実装では、複数のその後の位置出力は、その後の位置出力を含み、モード切替又はカウンタのジャンプとは独立に生成される。例えば、リゾルバシステム２０４は、モード切替又はカウンタのリセットなしで、モーターのフル回転（０度から３６０度）の出力に対応する、複数のその後の位置出力を生成する。リゾルバシステム２０４は、モーターの２分の１又は４分の１ごとに個別のモードを有し、モーターが０度から３６０度まで回転するときにモードを切り替える必要はない。
【０２５５】
幾つかの実装では、方法３６００は更に、第２のドメインの微細なリゾルバの微細な位置信号を粗いリゾルバに関連付けられた第１のドメインに変換すること、並びに、変換された微細な位置信号に更に基づいてその後の位置出力を生成することを含む。例えば、第２のドメイン角度推定値１８１２は、位置の値１８１８の変化を生成するために微分される。図１８を参照して説明されているように、位置の値１８１８の変化は、位置の値１８１８の変化を４ビット右にシフトすることによって、第２のドメインから第１のドメインに変換され、変換された位置の値１８２０の変化（変換された微細な位置信号）を生成する。
【０２５６】
幾つかの実装では、方法３６００は更に、初期位置出力を微細なリゾルバに関連付けられた第２のドメインに変換すること、並びに、変換された初期位置出力に更に基づいて、その後の位置出力を生成することを含む。例えば、遅延され結合された推定位置１８４４は、図１９を参照して説明されているように、遅延され結合された推定位置１８４４を４ビット左にシフトすることによって、第１のドメインから第２のドメインへ変換され、変換された推定角度１９１４（変換された初期位置出力）を生成する。
【０２５７】
図３７は、パルス幅変調の方法３７００を示している。方法３７００は、図１のインバータ１１２、図２のＰＷＭ２４２、図３５のＰＷＭロジック３５０２、或いはこれらの組み合わせによって実行されうる。方法３７００は３７０２で、比較値と比較基準を受信することを含む。比較値は、図３３の比較値３３２２又は図３４の比較値３４２２を含むか、これらに対応し、比較基準は、図３３及び図３４の比較基準３３２４、３３２６、３４２４、又は３４２６のうちの１つの比較基準を含むか、これに対応しうる。幾つかの実装では、比較値と比較基準は、図３３及び図３４の設定点信号３３１２〜３３２０及び３４１２〜３４２０などの、設定点信号に含まれる。
【０２５８】
図３７の方法３７００はまた３７０４で、比較基準に基づいて、比較値とカウンタ値を比較することを含む。カウンタ値は、図３３のカウンタ値又はカウンタ信号を含むか、これに対応しうる。カウンタ値は、カウンタ（例えば、図３３のカウンタ３３０２）から受信されうる。
【０２５９】
図３７の方法３７００は３７０６で更に、カウンタ値に対して比較基準を満たす比較値に応答して、制御信号を第１のトランジスタのゲートに送信してパルス幅変調信号のパルスのパルスエッジを生成することを含む。制御信号は、図３５の高アクティベーション出力３５０６と低アクティベーション出力３５０８又はゲート高出力３５２２とゲート低出力３５３４のうちの１つを含むか、これに対応しうる。第１のトランジスタのゲートは、図３のトランジスタ３３６、或いは図２８のトランジスタ２８２２〜２８２６又は２８３２〜２８３６のいずれかのゲートを含むか、これに対応しうる。パルス幅変調信号３７８のパルスエッジは、図３のパルス幅変調信号３７８の第１のエッジ又は第２のエッジを含むか、これに対応しうる。
【０２６０】
幾つかの実装では、図３７の方法３７００は、比較値、比較基準、及び第２の比較基準を示す設定点信号を受信すること、並びに、第２の比較基準に基づいて、比較値と第２のカウンタ値を比較することを含む。方法３７００は更に、図３３及び図３４を参照して説明されているように、第２のカウンタ値に対して第２の比較基準を満たす比較値に応答して、パルス幅変調信号のパルスの第２のパルスエッジを生成するため、第２の制御信号を第１のトランジスタのゲートに送信することを含む。例えば、ＰＷＭ２４２は、第１の設定点信号３３１２を受信し、第２の比較基準３３２６に基づくカウンタ３３０２の値と比較値３３２２との比較に基づいて、第１のパルスの第２のパルスエッジを生成する。
【０２６１】
幾つかの実装では、図３３及び図３４を参照して説明されているように、図３７の方法３７００は、設定点信号の一又は複数の第１のビットに基づいて比較値を決定すること、並びに、設定点信号の一又は複数の第２のビットに基づいて比較基準及び第２の比較基準を決定することを含む。例えば、ＰＷＭ２４２は第１の設定点信号３３１２を受信し、第１の設定点信号３３１２によって示される（例えば、第１の設定点信号の全ビットによって示される）第１の設定点信号３３１２の値を右シフトすることによって比較値３３２２を生成し、第１の設定点信号３３１２のＬＳＢの値を決定し、ＬＳＢの値に基づいて比較基準３３２４、３３２６を読み出すことによって、比較値を生成する。
【０２６２】
幾つかの実装では、図３３及び図３４を参照して説明されているように、比較値を決定することは、一又は複数のビットだけ設定点信号を右シフトすることを含む。幾つかの実装では、設定点信号の一又は複数の第２のビットは、図３３及び図３４を参照して説明されているように、設定点信号の一又は複数の最下位ビットに対応している。幾つかの実装では、図３７の方法３７００は、図３３及び図３４を参照して説明されているように、設定点信号の一又は複数の最下位ビットに基づいて、テーブルから比較基準を選択することを含む。
【０２６３】
幾つかの実装では、図３７の方法３７００は、第２の比較値と第２の比較基準を示す第２の設定点信号を受信すること、並びに、第２の比較基準に基づいて、第２の比較値と第２のカウンタ値を比較することを含む。方法３７００は更に、図３３及び図３４を参照して説明されているように、第２のカウンタ値に対して第２の比較基準を満たす第２の比較値に応答して、第２の制御信号を第２のトランジスタのゲートに送信して、パルス幅変調信号の第２のパルスのパルスエッジを生成することを含む。例えば、ＰＷＭ２４２は第２の設定点信号３３１４を受信し、第２の設定点信号３３１４の第１の比較基準３３２４に基づくカウンタ３３０２の値と比較値３３２２との比較に基づいて、第２のパルスの第１のパルスエッジを生成する。
【０２６４】
幾つかの実装では、図３７の方法３７００は、第２の比較値と第２の比較基準を示す第２の設定点信号を受信すること、並びに、第２の比較基準に基づいて、第２の比較値と第２のカウンタ値を比較することを含む。方法３７００は更に、図３３及び図３４を参照して説明されているように、第２のカウンタ値に対して第２の比較基準を満たす第２の比較値に応答して、パルス幅変調信号のパルスの第２のパルスエッジを生成するため、第２の制御信号を第２のトランジスタのゲートに送信することを含む。例えば、ＰＷＭ２４２は、第１の設定点信号３３１２を受信し、第２の比較基準３４２６に基づくカウンタ３３０２の値と比較値３４２２との比較に基づいて、第１のパルスの第２のパルスエッジを生成する。
【０２６５】
図３８は、フィードバック制御の方法３８００を示す。方法３８００は、制御システム２０５、図２のフィードバック制御システム２３２、図３０のロジック３００２、図３１のロジック３１０２、図３２のロジック３２０２、或いはこれらの組み合わせによって実行されうる。方法３８００は３８０２で、制御される構成要素のための位置コマンドと制御される構成要素のための速度コマンドを受信することを含む。制御される構成要素は、図１のモーター１２４、モーターのドライブシャフト１２４、ジンバル１２２、センサ１２８、或いはこれらの組み合わせを含むか、これらに対応しうる。位置コマンドは、図２９〜図３２の位置コマンド２９２２を含むか、これに対応しうる。速度コマンドは、図２９〜図３２の速度コマンド２９３２を含むか、これに対応しうる。幾つかの実装では、位置コマンドはモーターの角度を示し、速度コマンドはモーターのＲＰＭを示す。
【０２６６】
図３８の方法３８００はまた３８０４で、速度コマンドと位置コマンドに基づいて、レート制限された位置コマンドを生成することを含む。レート制限された位置コマンドは、図３０〜図３２のレート制限された位置コマンド３０３４を含むか、これに対応しうる。幾つかの実装では、図３８の方法３８００は、図３及び図３３〜図３５を参照して説明されているように、電流コマンドをデューティサイクル値に変換すること、並びに、デューティサイクル値に基づいてモーターを制御することを含む。
【０２６７】
図３８の方法３８００は３８０６で、制御される構成要素の位置を示す位置フィードバックを受信することを含む。位置フィードバックは、図２９〜図３２の位置フィードバック２９２４を含むか、これに対応しうる。幾つかの実装では、位置フィードバックはリゾルバ出力に基づいて生成される。例えば、位置フィードバックは、図３６の方法３６００を実行するリゾルバによって、図３９の方法３９００を実行する復調回路によって、或いはこの両方によって生成されうる。
【０２６８】
図３８の方法３８００は３８０８で、制御ゲインを誤差信号に適用して調整された誤差信号を生成することを含む。誤差信号は、位置フィードバックとレート制限された位置コマンドに基づいている。制御ゲインは、図２９〜図３２の比例ゲイン２９２６、積分ゲイン２９２８、或いはこの両方を含むか、これらに対応しうる。誤差信号は誤差信号３０１２を含むか、これに対応し、また、調整された誤差信号は図３０〜図３２の調整された誤差信号３０１４を含むか、これに対応しうる。
【０２６９】
図３８の方法３８００は更に３８１０で、調整された誤差信号に基づいて電流コマンドを出力することを含む。電流コマンドは、図２９〜図３２の電流２９４０を含むか、これに対応しうる。幾つかの実装では、電流コマンドは、図３を参照して説明されているように、モーターを制御するため、また、モーターのトルクを示すために使用されている。例えば、図３を参照して説明されているように、電流コマンド２９４０は電流トラッカ３３０に提供され、電流トラッカ３３０は電流コマンド２９４０に基づいてデューティサイクル値３７４を生成する。ＰＷＭ２４２は、デューティサイクル設定３７６のデューティサイクル値３７４を示す設定点信号を受信し、設定点信号に基づいてＡＣ電力信号３８０をモーター１２０に供給する。
【０２７０】
幾つかの実装では、速度コマンドと位置コマンドに基づいてレート制限された位置コマンドを生成することは、図３０〜図３２を参照して説明されているように、速度コマンドに基づいて閾値（例えば、閾値）を生成すること、並びに、位置コマンドの値を速度コマンドの値まで引き下げて制限された位置コマンドを生成することを含む。
【０２７１】
幾つかの実装では、図３８の方法３８００は、位置フィードバックとレート制限された位置コマンドに基づいて誤差信号を生成することを含む。このような幾つかの実装では、誤差信号を生成することは、図３０〜図３２を参照して説明されているように、レート制限された位置コマンドによって示される位置から、位置フィードバック信号によって示される位置を差し引くことを含む。
【０２７２】
幾つかの実装では、制御ゲインを誤差信号に適用して調整された誤差信号を生成することは、比例ゲインを誤差信号に適用すること、及び積分ゲインを誤差信号に適用することを含む。追加的に又は代替的に、制御ゲインを誤差信号に適用して調整された誤差信号を生成することは、図３０〜図３２を参照して説明されているように、誤差信号に比例ゲインを乗じて第１の積を生成すること、誤差信号の積分に積分ゲインを乗じて第２の積を生成すること、並びに、第１の積と第２の積を加算して調整された誤差信号を生成することを含む。
【０２７３】
幾つかの実装では、図３８の方法３８００は、速度フィードバック（例えば、図２９〜図３２の速度フィードバック２９３６）に基づいて、調整された誤差信号を減衰することを含む。このような幾つかの実装では、図３０〜図３２を参照して説明されているように、電流コマンドは減衰された誤差信号（例えば、図３１の減衰された誤差信号３１３８）に基づいて生成され、減衰された誤差信号を生成することは、第２の制御ゲインを調整された誤差信号に適用することを含む。
【０２７４】
特定の実装では、図３０〜図３２を参照して説明されているように、第２の制御ゲインを調整された誤差信号に適用することは、速度フィードバックを微分して微分された速度フィードバックを生成すること、微分された速度フィードバックに第２の制御ゲインを乗じて減衰値を生成すること、並びに、調整された誤差信号から減衰値を差し引くことを含み、ここで、調整された誤差信号から減衰値を差し引くことにより、減衰された誤差信号が生成され、また、減衰された誤差信号に基づいて電流コマンドが生成される。例えば、減衰値３０１６を生成するためには、速度フィードバック２９３６は微分され、ＲＰＭゲイン２９３８が乗ぜられる。図３０〜図３２を参照して説明されているように、減衰された誤差信号３１３８を生成するため、調整された誤差信号３０１４から減衰値３０１６が差し引かれ、減衰された誤差信号３１３８は最小値と最大値によって制限され、制限された誤差信号３１３８は電流コマンド２９４０を生成するため積分される。
【０２７５】
図３９は、リゾルバ出力を復調する方法３９００を示している。方法３９００は、図５のリゾルバシステム２０４、復調システム２２２、デュアルリゾルバコンビネーションシステム２２４、復調回路５１４、５２４、図７〜図１１、図１４、図１６、図１８、及び図１９のロジックの動作を実行するように構成された一又は複数の回路又はファームウェアによって実行されうる。方法３９００は３９０２で、アナログデジタル変換器（ＡＤＣ）から複数のＡＤＣ出力を受信することを含む。複数のＡＤＣ出力は、リゾルバ出力に基づいて生成される。ＡＤＣは、図３のＡＤＣ３１８、３２０のうちの１つを含むか、これに対応しうる。リゾルバは、図１のリゾルバ１２６、図３のデュアルスピードリゾルバ３１２、粗いリゾルバ３４２、微細なリゾルバ３４４、又はこれらの組み合わせを含むか、これらに対応しうる。ＡＤＣ出力は、図３のＡＤＣ出力３５８又は調整された電圧値３６０を含むか、これに対応しうる。
【０２７６】
図３９の方法３９００は３９０４で、矩形波に基づいて複数のＡＤＣ出力を整流することを含む。幾つかの実装では、矩形波は１及び−１の振幅を有する矩形波を含む。図１０〜図１２を参照して説明されているように、矩形波は、カウンタ値（カウンタ入力８５２に基づいて決定されるフリップ入力１０２２など）に基づいて、振幅を切替えうる。
【０２７７】
図３９の方法３９００は３９０６で、整流された複数のＡＤＣ出力に基づいて、リゾルバ出力に対応する復調振幅値を決定することを含む。復調振幅値は、図３の復調振幅値３６２を含むか、これに対応しうる。幾つかの実装では、図９及び図１６を参照して説明されているように、復調振幅値は、再帰的中央値フィルタ処理によって生成されうる。
【０２７８】
図３９の方法３９００は更に３９０８で、復調振幅値に基づいて位置出力を生成することを含む。位置出力は、図３の角度推定値３６４又は位置推定値３６６を含むか、これらに対応しうる。幾つかの実装では、図３を参照して説明されているように、位置出力はモーターのドライブシャフト１２４の位置（角度）を示す。幾つかの実装では、復調振幅値は符号情報（例えば、符号付き整数）を含み、角度推定値３６４、位置推定値３６６、或いはその両方は関数ａｔａｎ２に基づいて計算される。追加的に又は代替的に、位置出力は共有正弦テーブル回路に基づいて生成されうる。
【０２７９】
幾つかの実装では、図１６を参照して説明されているように、復調振幅値を生成することは、整流された複数のＡＤＣ出力に基づいて累積値を生成すること、最後のｎ個の累積値の中央値を計算すること、並びに、中央値を復調振幅値の特定の復調振幅値として出力することを含む。
【０２８０】
幾つかの実装では、複数のＡＤＣ出力を整流することは、矩形波に基づいて複数のＡＤＣ出力を乗算することを含む。特定の実装では、図１０〜図１２を参照して説明されているように、矩形波は、特定のカウンタ値（例えば、中央カウンタ値）を下回るカウンタ値に対しては、１の振幅を有し、特定のカウンタ値を上回るカウンタ値に対しては、−１の振幅を有する。
【０２８１】
幾つかの実装では、図１１を参照して説明されているように、矩形波に基づいて複数のＡＤＣ出力を乗算することは、複数のＡＤＣ出力のうちの特定のＡＤＣ出力の符号を変えて、反転ＡＤＣ出力を生成すること、フリップ入力に基づいて特定のＡＤＣ出力又は反転ＡＤＣ出力を選択すること、並びに、選択したＡＤＣ出力を特定の整流済みＡＤＣ出力として出力することを含む。
【０２８２】
幾つかの実装では、図３９の方法３９００は、フィルタ処理されたＡＤＣ出力の組を生成するため、リゾルバに関連付けられたモーターの電流駆動切替と協調するＡＤＣ出力のサブセットをマスクすることを含む。方法３９００は更に、図１４及び図１５を参照して説明されているように、データウィンドウ１５１４のフィルタ処理されたＡＤＣ出力の組に基づいて復調振幅値を決定することを含む。
【０２８３】
幾つかの実装では、図１４及び図１５を参照して説明されているように、マスクされたＡＤＣ出力の組は、リゾルバに関連付けられた励磁信号の１次高調波のピーク振幅の近傍で発生するＡＤＣ出力を含む。更には、図１４〜図１６を参照して説明されているように、復調振幅値のうちの各復調振幅値は、励磁信号の１次高調波のサイクルに対応している。
【０２８４】
幾つかの実装では、図８及び図９を参照して説明されているように、図３９の方法３９００は、複数のＡＤＣ出力を再帰的にフィルタ処理して中央ＡＤＣ出力を生成することを含む。このような実装では、複数のＡＤＣ出力を整流することは、中央ＡＤＣ出力を整流することを含む。
【０２８５】
幾つかの実装では、リゾルバは、ゼロミーンディザーを有するディザ処理された励磁信号を受信し、ディザ処理された励磁信号に基づいてリゾルバ出力を生成する。このような実装では、ＡＤＣはリゾルバ出力をオーバーサンプリングしてＡＤＣ出力を生成する。
【０２８６】
図４０は、センサデバイスの励磁信号を生成する方法４０００を示している。方法４０００は、図２の励磁信号生成システム２０２、ディザー生成器２１２、座標系２１４、図２６のロジック２６０２、図２７のリゾルバドライバ回路２７０２、或いはこれらの組み合わせによって実行されうる。方法４０００は４００２で、ベース励磁信号の高次偶数高調波を生成することを含む。高次偶数高調波は、図２６の高次偶数高調波信号２６６６を含むか、これに対応しうる。ベース励磁信号は、図２３のベース励磁信号４５２を含むか、これに対応しうる。
【０２８７】
図４０の方法４０００はまた４００４で、高次偶数高調波とベース励磁信号との結合に基づいて、ディザ処理された励磁信号を生成することを含む。ディザ処理された励磁信号は、図３及び図２３のディザ処理された励磁信号３５２を含むか、これに対応しうる。
【０２８８】
図４０の方法４０００は更に４００６で、ディザ処理された励磁信号をセンサデバイスに出力することを含む。幾つかの実装では、センサデバイスはリゾルバを含む。特定の実装では、リゾルバはデュアルリゾルバ又はデュアルスピードリゾルバ（例えば、図３のデュアルスピードリゾルバ３１２など）を含む。他の実装では、センサデバイスは、シンクロ能動型変圧器（例えば、線形可変差動変圧器）、又は他の能動型センサを含みうる。加えて、センサは図１の慣性計測装置１０２に組み込まれうる。
【０２８９】
幾つかの実装では、ディザ処理された励磁信号はデジタル信号を含むか、これに対応し、デジタルサンプルを含む。このような実装では、ＤＡＣ（ＤＡＣ３１０など）は、ディザ処理された励磁信号をアナログ信号に変換し、ディザ処理された励磁信号をセンサデバイスに提供する。
【０２９０】
幾つかの実装では、ベース励磁信号は正弦波信号に対応し、ディザ処理された励磁信号は正弦波信号のゼロ平均偏差を有する。例えば、１６次高調波信号は、ベース励磁信号の各正弦波に対して１６正弦波を含む。したがって、高次偶数高調波とベース励磁信号との結合された信号はディザ処理された励磁信号３５２を生成し、図２３に示されているように、ベース励磁信号４５２の各正弦波の間に、ディザ処理された励磁信号３５２の平均振幅は、ベース励磁信号４５２の平均振幅から逸脱しない。
【０２９１】
幾つかの実装形態では、方法４０００は、ベース励磁信号を生成することを更に含む。例えば、図２６を参照して説明されているように、図２の励磁信号生成システム２０２はベース励磁信号４５２を生成し、ベース励磁信号４５２を結合器２６２４、２６２６に提供する。特定の実装では、励磁信号は正弦関数と振幅設定に基づいて生成される。例えば、励磁信号生成システム２０２（例えば、その中の第１のロジックチェーン２６１２）は、正弦ルックアップテーブルから値を読み出すことによって、また、その値に振幅設定を乗じることによって、ベース励磁信号４５２を生成する。このような幾つかの実装では、ルックアップテーブルは一又は複数の他の構成要素と共有され、ルックアップテーブルは総当たりスケジューリングに基づいてアクセスされる。
【０２９２】
幾つかの実装では、方法４０００は更に、正弦関数の１６次高調波と第２の振幅設定に基づいて、高次偶数高調波を生成することを含む。例えば、図２６を参照して説明されているように、励磁信号生成システム２０２の第２のロジックチェーン２６１４は、正弦関数の高調波と振幅設定に基づいて高次偶数高調波信号２６６６を生成し、高次偶数高調波信号２６６６を結合器２６２４、２６２６に提供する。
【０２９３】
幾つかの実装では、方法４０００は更に、低次偶数高調波信号を生成すること、並びに、低次偶数高調波、高次偶数高調波、及びベース励磁信号を結合してディザ処理された励磁信号を生成することを含む。他の実装では、結合器は、高次偶数高調波とベース励磁信号を結合してディザ処理された励磁信号を生成する。
【０２９４】
幾つかの実装では、方法４０００は更に、ディザ処理された励磁信号とモーターの電流切替とを時間調整することを含む。特定の実装では、図２７、図２８、及び図３３〜図３５を参照して説明されているように、ディザ処理された励磁信号とモーターの電流切替とを時間調整することは、ベース励磁信号のピークと谷から電流切替をオフセットすることを含む。追加的に又は代替的に、図３３を参照して説明されているように、ディザ処理された励磁信号とモーターの電流切替とを時間調整することは、ベース励磁信号の波の間に偶数回の電流切替を実行することを含む。特定の実装では、１つの波の間に発生する電流切替の数は、電流切替起動と電流切替停止の数に等しくなる。
【０２９５】
幾つかの実装では、方法４０００は更に、ディザ処理された励磁信号とモーターの電流切替とを時間調整することを含む。特定の実装では、図３３を参照して説明されているように、ディザ処理された励磁信号とモーターの電流切替とを時間調整することは、ベース励磁信号のピークと谷から電流切替をオフセットすることを含む。追加的に又は代替的に、ディザ処理された励磁信号は、リゾルバの出力のサンプリングレートと同期される。
【０２９６】
幾つかの実装では、モーターはセンサに連結され、ディザ処理された励磁信号はモーターの電流駆動切替からオフセットされる。このような幾つかの実装では、方法４０００は更に、モーターの電流駆動切替がディザ処理された励磁信号からオフセットされるように、ディザ処理された励磁信号の生成に使用される第１のクロックとＰＷＭの第２のクロックとを時間調整することを含む。例えば、図８のカウンタ８４２と図３３のカウンタ３３０２は同期されうる。
【０２９７】
幾つかの実装では、ＡＤＣはリゾルバに連結される。このような幾つかの実装では、方法４０００は更に、リゾルバからの出力信号をＡＤＣによって受信すること、及びその出力信号をオーバーサンプリングすることを含む。特定の実装では、第１のクロックはＡＤＣの第２のクロックと同期される。他の実装では、ＡＤＣは、図８のカウンタ８４２など、第１のクロックに基づいて出力信号をオーバーサンプリングする。
【０２９８】
図４１を参照すると、航空機４１０２の例示的な実施形態のブロック図４１００が示されている。図４１に示されているように、航空機４１０２（例えば、宇宙船、衛星、又は宇宙ステーション）は、フレーム４１１８、内装４１２２、及び複数のシステム４１２０を含む。システム４１２０は、推進システム４１２４、電気システム４１２６、環境システム４１２８、システム４１３０、及び慣性計測装置１０２のうちの一又は複数を含みうる。他の実装では、航空機４１０２は、図４１に示したシステム４１２０に追加されるシステム、又はこれよりも少ないシステムを含みうる。
【０２９９】
慣性計測装置１０２は、図１のインバータ１１２とジンバル装置１１４を含む。インバータ１１２は、図２のＰＷＭ２４２、図３の電流トラッカ３３０、ゲートドライバ３３４、トランジスタ３３６、図２８のモータードライバ回路２８０２、或いはこれらの組み合わせを含みうる。インバータ１１２は、図３３に記載された動作、図３４に記載された動作、図３５のＰＷＭロジック３５０２の動作、或いはこれらの組み合わせを実行するように構成された回路及びファームウェアを含みうる。
【０３００】
ジンバル装置１１４は、図１のジンバル１２２、モーター１２４、リゾルバ１２６、センサ１２８、図２の励磁信号生成システム２０２、リゾルバシステム２０４、制御システム２０６、復調システム２２２、デュアルリゾルバコンビネーションシステム２２４、フィードバック制御システム２３２、図３のＤＡＣ３１０、デュアルスピードリゾルバ３１２、差動電圧センサ３１４、３１６、ＡＤＣ３１８、３２０、電圧調整回路３２２、３２４、角度推定回路３２６、図５の復調回路５１４、５２４、角度計算回路５１６、５２６、角度結合回路５４２、及びドリフト修正回路５４４、或いはこれらの組み合わせを含みうる。
【０３０１】
追加的に又は代替的に、ジンバル装置１１４は、図６のロジック６０２の動作を実行するように構成された回路とファームウェア、図７のロジック７０２、図８のロジック８０２、図９のＲＭＶＡロジック８１２、図１０の復調ロジック８２６、図１１のアキュムレータロジック１０１４、図１１のロジック１１０２、図１４のマスクロジック１０１８、図１６の出力ロジック１０２６、図１８のロジック１８０２、図１９のロジック１９０２、図２６のロジック２６０２、図３０のロジック３００２、図３１のロジック３１０２、図３２のロジック３２０２、或いはこれらの組み合わせを含みうる。慣性計測装置１０２は、航空機４１０２内に含まれるか、航空機４１０２の外表面に連結されうる。
【０３０２】
慣性計測装置１０２は、図１〜図４０を参照して上述されたように、航空機４１０２の慣性航法を可能にするように構成されている。例えば、慣性計測装置１０２（例えば、その中の一又は複数の構成要素）は、方法３６００〜４０００の一又は複数のうちの一又は複数の動作を実行するように構成されている。別の実施例として、慣性計測装置１０２は、メモリ内に記憶されたコンピュータ実行可能命令（例えば、一又は複数の命令のプログラム）を実行するように構成されている。命令は、実行されると、慣性計測装置１０２に方法３６００〜４０００の一又は複数の動作を実行させる。例えば、プロセッサは、図３６を参照して説明されているように、粗いリゾルバから粗い位置信号を、微細なリゾルバから微細な位置信号を受信し、粗い位置信号に基づいて初期位置出力を生成し、微細な位置信号に基づいてその後の位置出力を生成する。
【０３０３】
本書に記載された実施例の例示は、様々な実装形態の構造の概略的な理解をもたらすことが意図されている。これらの例示は、本書に記載された構造又は方法を利用する装置及びシステムのすべての要素及び特徴を網羅的に説明することは意図されていない。本開示を精査することで、当業者には、他の多くの実装形態が明らかになりうる。本開示の範囲から逸脱せずに構造的かつ論理的な置換及び変更を行うことができるように、他の実装形態を利用し、他の実装形態を本開示から引き出すことができる。例えば、図面に示す順序とは異なる順序で方法動作を実行してもよく、或いは、一又は複数の方法動作を省略してもよい。したがって、本開示及び図面は、限定的というよりは、むしろ例示的なものと見なすべきである。
【０３０４】
更に、本書では具体例を図示し、説明してきたが、同じ又は類似した結果を実現するよう設計された後発の構成であれば、図示されている具体的な実行形態を置換しうることを、認識すべきである。この開示は、様々な実行形態のあらゆる後発の適合例又は変形例を対象とすることを、意図している。上記の実行形態の組み合わせ、及び、本書には具体的に記載していない他の実行形態が、本書を精査することで当業者に明らかになろう。
【０３０５】
本開示の「要約書」は、それが、特許請求の範囲又は意味を解釈するか又は限定するために使用されるわけではないとの理解のもとに、提出されるものである。加えて、上記の「発明を実施するための形態」においては、本開示を分かりやすくする目的で、様々な特徴が、グループ化されること、又は、単一の実行形態において説明されていることがある。上述の実施例は、本発明を説明するが、本発明を限定するものではない。本発明の原理に従って多くの修正例及び変形例が可能であることを理解されたい。むしろ、下記の特許請求の範囲において反映されているように、特許請求される主題は、開示された任意の実施例の全ての特徴よりも少ない特徴を対象としている場合がある。したがって、本開示の範囲は、下記の特許請求の範囲及びその任意の均等物によって規定されるものである。さらに、本開示は、以下の条項による実施形態を含む。
【０３０６】
条項１．  パルス幅変調制御回路（２４２、３５０２）であって、
電源（２５２）に連結された第１の端子（２８６２）と、制御される構成要素（１２４）の第１の入力（２８５２）に連結された第２の端子（２８６６）と、を含む第１のトランジスタ（３３６、２８２２）と、
前記第１のトランジスタのゲート（２８６４）に連結された信号生成器（３３４、２８４２、３５２２、３５２４）であって、
比較値（３３２２、３４２２）と比較基準（３３２４、３３２６、３４２４、３４２６）とを受信（３７０２）し、
前記比較基準に基づいて前記比較値をカウンタ値（３３０４）と比較（３７０４）し、
前記カウンタ値に対して前記比較基準を満たす前記比較値に応答して、パルス幅変調信号（３８０）のパルスのパルスエッジを生成するため、前記第１のトランジスタのゲートに制御信号（３５３２、３５３４）を送信（３７０６）する
ように構成された信号生成器と、
を備えるパルス幅変調制御回路（２４２、３５０２）。
【０３０７】
条項２．  前記電源に連結された第１の端子（２８６２）、前記制御される構成要素の第２の入力（２８５２）に連結された第２の端子（２８６６）、及び前記信号生成器に連結されたゲート（２８６４）を含む第２のトランジスタ（３３６、２８２４）を更に備える、条項１に記載のパルス幅変調制御回路。
【０３０８】
条項３．  前記電源に連結された第１の端子（２８６２）、前記制御される構成要素の第３の入力（２８５２）に連結された第２の端子（２８６６）、及び前記信号生成器に連結されたゲート（２８６４）を含む第３のトランジスタ（３３６、２８２６）を更に備える、条項１に記載のパルス幅変調制御回路。
【０３０９】
条項４．  前記第１のトランジスタを介して前記電源に連結された第１の端子（２８６２）を含み、前記制御される構成要素に連結され、接地に連結された第２の端子（２８６４）と前記信号生成器に連結されたゲート（２８６４）とを含む、第４のトランジスタ（３３６、２８３２）を更に備える、条項１に記載のパルス幅変調制御回路。
【０３１０】
条項５．  前記比較値と前記比較基準とは設定点信号（３３１２〜３３２０、３４１２〜３４２０）に含まれ、前記比較基準は「大なり」条件、「大なり又は等しい」条件、「小なり」条件、或いは「小なり又は等しい」条件を備える、条項１に記載のパルス幅変調制御回路。
【０３１１】
条項６．  前記信号生成器は更に、前記設定点信号のシフト動作に基づいて、前記比較値を決定するように構成される、条項５に記載のパルス幅変調制御回路。
【０３１２】
条項７．  前記信号生成器は更に、前記設定点信号の一又は複数のビットに基づいて、前記比較基準を決定するように構成される、条項５に記載のパルス幅変調制御回路。
【０３１３】
条項８．  前記信号生成器は、前記比較基準に基づいて、前記カウンタ値を前記比較値と比較するように構成されるコンパレータを含む、条項１に記載のパルス幅変調制御回路。
【０３１４】
条項９．  前記制御される構成要素は、発光ダイオード、デューティサイクルコントローラ、クロック信号生成器、バックコンバータ、サーボ、ステッパモーター、単相モーター、又は多相モーターを備える、条項１に記載のパルス幅変調制御回路。
【０３１５】
条項１０．  パルス幅変調の方法（３７００）であって、
比較値と比較基準（３３２４、３３２６、３４２４、３４２６）とを受信すること（３７０２）と、
前記比較基準に基づいて、比較値とカウンタ値（３３０４）を比較すること（３７０４）と、
前記カウンタ値に対して前記比較基準を満たす前記比較値に応答して、パルス幅変調信号（３８０）のパルスのパルスエッジを生成するため、第１のトランジスタ（３３６、２８２２〜２８２６、２８３２〜２８３６）のゲート（２８６４）に制御信号（３７８、３５３２、３５３４）を送信すること（３７０６）と、
を含む、パルス幅変調の方法（３７００）。
【０３１６】
条項１１．  前記比較値、前記比較基準、及び第２の比較基準（３３２６、３４２６）を示す設定点信号（３３１２〜３３２０、３４１２〜３４２０）を受信することと、
前記第２の比較基準に基づいて、前記比較値と第２のカウンタ値（３３０４）とを比較することと、
前記第２のカウンタ値に対して第２の比較基準を満たす前記比較値に応答して、前記パルス幅変調信号の前記パルスの第２のパルスエッジを生成するため、第２の制御信号（３７８）を前記第１のトランジスタの前記ゲートに送信することと、
を更に含む、条項１０に記載の方法。
【０３１７】
条項１２．  前記設定点信号の一又は複数の第１のビットに基づいて前記比較値を決定することと、
前記設定点信号の一又は複数の第２のビットに基づいて前記比較基準及び前記第２の比較基準を決定することと、
を更に含む、条項１１に記載の方法。
【０３１８】
条項１３．  前記比較値を決定することは、前記設定点信号を１ビット以上右にシフトすることを含む、条項１２に記載の方法。
【０３１９】
条項１４．  前記設定点信号の一又は複数の第２のビットは、前記設定点信号の一又は複数の最下位ビットに対応する、条項１２に記載の方法。
【０３２０】
条項１５．  前記設定点信号の前記一又は複数の最下位ビットに基づいて、テーブルから前記比較基準を選択することを更に含む、条項１４に記載の方法。
【０３２１】
条項１６．  第２の比較値（３３２２、３４２２）、及び第２の比較基準（３３２４、３４２４）を示す設定点信号（３３１２〜３３２０、３４１２〜３４２０）を受信することと、
前記第２の比較基準に基づいて、前記第２の比較値と第２のカウンタ値（３３０４）とを比較することと、
前記第２のカウンタ値に対して第２の比較基準を満たす前記第２の比較値に応答して、前記パルス幅変調信号の第２のパルスのパルスエッジを生成するため、第２の制御信号（３７８）を第２のトランジスタ（３３６、２８２２〜２８２６、２８３２〜２８３６）のゲート（２８６４）に送信することと、
を更に含む、条項１０に記載の方法。
【０３２２】
条項１７．  モーター（１２４）と、
前記モーターに連結され、前記モーターにパルス幅変調信号（３８０）を出力するように構成されたパルス幅変調制御回路（２４２、３５０２）とを備えるシステム（１０２）であって、前記パルス幅変調制御回路は、
電源に連結された第１の端子と前記モーターの第１の入力に連結された第２の端子を含む第１のトランジスタと、
前記第１のトランジスタのゲートに連結された第１のノードを含む信号生成器とを含み、前記信号生成器は、
比較値と比較基準を含む設定点信号を受信し、
前記比較基準に基づいて、前記比較値とカウンタ値とを比較し、
前記カウンタ値に対して前記比較基準を満たす前記比較値に応答して、
前記パルス幅変調信号のパルスのパルスエッジを生成するため、制御信号を前記第１のトランジスタのゲートに送信するように構成されている、システム（１０２）。
【０３２３】
条項１８．  前記カウンタ値を生成するように構成されたアップダウンカウンタ（３３０２）を更に備える、条項１７に記載のシステム。
【０３２４】
条項１９．  前記モーターは３相モーター（１２４）を備え、前記第１の入力は前記３相モーターの第１相に対応し、前記パルス幅変調信号の前記パルスエッジは前記３相モーターの第１相の起動を引き起こすように構成される、条項１７に記載のシステム。
【０３２５】
条項２０．  前記モーター及び前記パルス幅変調制御回路はジンバル式慣性計測装置（１０２）に含まれる、条項１７に記載のシステム。
【図１】
2019205155.tif 000003
【図２】
2019205155.tif 000004
【図３】
2019205155.tif 000005
【図４Ａ】
2019205155.tif 000006
【図４Ｂ】
2019205155.tif 000007
【図４Ｃ】
2019205155.tif 000008
【図５】
2019205155.tif 000009
【図６】
2019205155.tif 000010
【図７】
2019205155.tif 000011
【図８】
2019205155.tif 000012
【図９】
2019205155.tif 000013
【図１０】
2019205155.tif 000014
【図１１】
2019205155.tif 000015
【図１２】
2019205155.tif 000016
【図１３】
2019205155.tif 000017
【図１４】
2019205155.tif 000018
【図１５】
2019205155.tif 000019
【図１６】
2019205155.tif 000020
【図１７】
2019205155.tif 000021
【図１８】
2019205155.tif 000022
【図１９】
2019205155.tif 000023
【図２０】
2019205155.tif 000024
【図２１】
2019205155.tif 000025
【図２２Ａ】
2019205155.tif 000026
【図２２Ｂ】
2019205155.tif 000027
【図２３】
2019205155.tif 000028
【図２４】
2019205155.tif 000029
【図２５】
2019205155.tif 000030
【図２６】
2019205155.tif 000031
【図２７】
2019205155.tif 000032
【図２８】
2019205155.tif 000033
【図２９】
2019205155.tif 000034
【図３０】
2019205155.tif 000035
【図３１】
2019205155.tif 000036
【図３２】
2019205155.tif 000037
【図３３】
2019205155.tif 000038
【図３４】
2019205155.tif 000039
【図３５】
2019205155.tif 000040
【図３６】
2019205155.tif 000041
【図３７】
2019205155.tif 000042
【図３８】
2019205155.tif 000043
【図３９】
2019205155.tif 000044
【図４０】
2019205155.tif 000045
【図４１】
2019205155.tif 000046
【外国語明細書】
2019205155000001.pdf
2019205155000002.pdf
2019205155000003.pdf
2019205155000004.pdf