安定化システムで使用するMEMS慣性センサーの周波数応答を解析する

安定化システムの概要

UAV(Unmanned Aerial Vehicle:無人航空機)用の監視装置や、船舶用のマイクロ波対応レシーバー、車載用の赤外線画像センサーなどのシステムの性能を最大限に高めるためには、安定性の高いプラットフォームが必要になります。そうしたシステムは、振動などの望ましくない動きが発生するアプリケーションで使用されることが多いはずです。何らかの理由で発生した振動や車両の走行時の動きなどは、システムの性能や目的とする機能を実行する能力を低下させる要因になります。実際、通信が中断したり、取得した画像が不鮮明になったりするなど、多くの望ましくない現象が発生します。通常、プラットフォームの安定化システムは、クローズドループの制御システムを採用しています。それにより、上記のような動きの影響をアクティブにキャンセルし、システムのミッションクリティカルな目標性能を達成します。図1に示したのは、プラットフォームに組み込まれる安定化システムの一例です。このシステムでは、サーボ・モータを使用して角運動の補正を行います。フィードバック経路に配置されたセンサーは、プラットフォームに対して動的な姿勢の情報を提供します。コントローラは、それらの情報を処理し、サーボ・モータを補正するための制御信号を生成します。

図1. プラットフォームの安定化システム
図1. プラットフォームの安定化システム

多くの場合、安定化システムには2軸以上を対象としたアクティブな補正が必要になります。そのため、慣性計測ユニット(以下、IMU)には、少なくとも3軸のジャイロ・センサー(角速度の測定)と3軸の加速度センサー(加速度と角度方向の測定)が必要になることがほとんどです。それらにより、フィードバック制御用の検出機能が実現されます。フィードバック用のセンサーの重要な役割は、プラットフォームが動いている状態にある場合でも、その姿勢を正確に測定することです。ただ、あらゆる条件の下で角度の正確な測定値を提供できる完璧なセンサー技術は存在しません。そのため、プラットフォームの安定化システムでは、各軸に対して2~3種類のセンサーを適用したIMUが採用されるケースが多くなります。

加速度センサーは、各軸の向きの静的な加速度と動的な加速度の両方に応答します。静的な加速度という言葉に違和感を覚えるかもしれませんが、それにはセンサーの重要な役割である重力に対する応答という意味が含まれています。センサーの誤差がキャリブレーションによって除去されていて、なおかつ動的な加速度が存在しない状態を考えます。その場合、各加速度センサーの出力は、重力に対する軸の方向を表していることになります。安定化システムでは、頻繁に発生する振動や急激な加速が存在する状態で実際の平均的な方向を決定しなければなりません。そのためには、フィルタやフュージョン・ルーチン(複数種のセンサーによる測定値を組み合わせて最適な推定値を得る方法)を未処理の測定値に適用するということがよく行われます。

一方、ジャイロ・センサーは角速度の測定値を取得するためのものです。ジャイロ・センサーでは、一定の期間にわたって角速度を積分することで、角度の測定値を得ます。積分を実行する際にバイアス誤差が存在していると、時間に対して累積される角度ドリフトが生じます。ジャイロ・センサーの性能は、温度の変化、電源の変動、軸外回転、線形加速度(線形g、整流g×g)など、様々な環境要因に対するデバイスのバイアス感度に依存することが少なくありません。キャリブレーションを実施済みの高品質なジャイロ・センサーであれば、線形加速度を高い性能で除去することができます。そうした製品を採用した場合には、広帯域にわたる角度の情報を得ることが可能です。そうした情報により、加速度センサーで取得した低周波領域の情報を補完することができます。

この分野で使われるもう1つのセンサーに、3軸磁気センサーがあります。これは、磁界強度を測定するために使用されます。直交する3つの軸に対応する磁界の値を測定することにより、その場所の地磁気の向きに対する方位角を推定することができます。ただ、モータやモニタなど、磁界に対する動的な外乱源の近くに磁気センサーがある場合、その精度を管理するのが困難になります。一方、適切な状況で使用すれば、磁気センサーで取得した角度のデータにより、加速度センサーやジャイロ・センサーによって測定した値を補完することが可能になります。多くのシステムでは加速度センサーやジャイロ・センサーが使用されますが、磁気センサーによって測定精度の向上を図っているシステムも存在します。

ここで、図2をご覧ください。このシステムは、ジャイロ・センサーと加速度センサーを組み合わせることで実現されています。両者の基本的な長所を活かしつつ、短所の影響を最小限に抑える形でそれぞれの測定値を利用します。ご覧のように、加速度センサーにはローパス・フィルタが付加されており、ジャイロ・センサーにはハイパス・フィルタが付加されています。通常、両フィルタのポールの位置はアプリケーションに応じて設定することになります。それらの値を決定する際には、目標精度、位相遅延、振動、そして通常の動きの予測値など、あらゆることを考慮しなければなりません。また、システムに依存する動作は、重み係数にも影響を及ぼします。このことは、2種類のセンサーによる測定値をどのように組み合わせればよいのかということに影響を与えます。なお、フィルタ関数と重み関数を組み合わせて動的に角度の推定値を計算するアルゴリズムの一例としては、拡張カルマン・フィルタが挙げられます。

図2. 1軸センサーの出力を組み合わせた例
図2. 1軸センサーの出力を組み合わせた例

MEMSベースのIMUの周波数応答を解析する

MEMSセンサーをベースとする新たなIMUを中核に据えて安定化システムを開発するケースを考えます。その場合、システム設計の初期の段階で周波数応答について把握しておくことが重要になります。IMUの周波数応答は、コントローラの設計に直接影響を与えます。特に、次世代の設計で広帯域対応のソリューションを検討する場合には、IMUの周波数応答を把握しておくべきです。そのことが、安定性に関する潜在的な問題を特定することにつながるからです。また、周波数応答の情報は、振動に対するジャイロ・センサーの応答を予測する上でも役に立ちます。

IMUの帯域幅を評価するための戦略は次のようなものになります。まず、候補となる製品の資料に含まれる情報のうちどれを利用できるのかということを判断します。続いて、それらの情報が慣性運動に対するシステムの応答に及ぼす影響について分析します。その結果に基づいて、システムの応答を安定させます。事前テストを行う際には、このような分析と、その結果に基づく補正用の処理が基盤になるでしょう。

多くの場合、IMUやジャイロ・センサーの仕様では、周波数応答は「bandwidth」(帯域幅)として示されています。センサーの性能パラメータとしての帯域幅は、センサーの出力振幅が、実際に加わっている動きの振幅の約70%(-3dB)まで低下する周波数を表します。但し、帯域幅という指標は、出力応答が実際の動きに対して90°(2極システムの場合)遅延する周波数として定義されることもあります。これらの指標は、どちらも制御ループにおいて重要な意味を持つ安定性の基準に直接影響を及ぼす可能性があります。つまり、ユニティ・ゲインの位相余裕に影響が及ぶことがあります。位相余裕は、ループのゲインが1の場合におけるループの応答の位相角と-180°との差として表されます。フィードバック用のセンサーの周波数応答を把握することは、安定性の確保とシステムの応答の間のトレードオフを最適化する上で重要な意味を持ちます。安定性の基準を管理することに加え、周波数応答も、振動の除去に対して大きな影響を及ぼします。また、慣性計測プラットフォームにおいてすべての重要な過渡的情報の測定を可能にするためには、サンプリング戦略を確立する必要があります。周波数応答は、その戦略にも直接的な影響を及ぼします。

システムの周波数応答の解析は、システムをブラック・ボックスとして扱い、高レベルの視点から取り掛かることになります。つまり、対象とする周波数範囲全体にわたり、入力に対するシステムの応答を確認することから始めます。電子回路の場合、入力と出力が、信号レベル(電圧)といった一般的な用語で定義されます。その場合、通常はs領域の表現や、キルヒホッフの電圧/電流則といった回路レベルの関係を使用して伝達関数を構築します。MEMSベースの慣性計測システムでは、IMUに加わる慣性運動が入力になります。一方、出力はデジタル・コードとして得られることが多いでしょう。s領域の解析手法は有用なものですが、この種のシステムの完全な伝達関数を構築するには、何らかの手法/検討を追加しなければならないケースが少なくありません。

解析のプロセスは、センサー用のシグナル・チェーンに関連するコンポーネントのすべてを把握することから始まります。図3に、一般的なシグナル・チェーンで実行される機能についてまとめました。このシグナル・チェーンの左端には、中核となるセンサーが配置されています。それによって、慣性運動に対応する電気信号が生成されます。センサーでは特に帯域幅の制限が行われていない場合、A/Dコンバータ(ADC)の前段に配置されたシグナル・コンディショニング回路のフィルタによって制限を実施するケースが多いでしょう。ADCによって信号がデジタル化された後、プロセッサは、通常、補正(キャリブレーション)用の演算処理とデジタル・フィルタの処理を実行します。2つ目のデジタル・フィルタでは、フィードバック・システムにおいて制御ルーチンでデータを扱えるようにするために、帯域幅とサンプル・レートが下げられます。これらすべての段は、センサーで取得した信号の周波数応答に影響を及ぼす可能性があります。ここで、周波数応答は、振幅(ゲイン)と位相で表現されます。図3は、ミックスド・シグナルの処理を担うシステム内で使用する複数のフィルタを内蔵したIMUの例を表しています。このシステムは、解析手法について説明するための例として利用できます。

図3. 周波数解析の対象となるシグナル・チェーン。IMU製品であるADIS16488をベースとしています。
図3. 周波数解析の対象となるシグナル・チェーン。IMU製品であるADIS16488をベースとしています。

中核となるMEMSベースのセンサー

周波数応答の解析は、定量化できる振る舞いはすべて定量化することによって進めます。一方、簡単に定量化できないものについては、知識に基づいた仮定を用いて扱うことになります。多くの場合、既知の変数の値を十分に把握できていれば、見直しや明確化を行うために、そうした仮定について再検討するのは難しくありません。図3のベースとなっている「ADIS16488」のデータシートを見ると、-3dB帯域幅は330Hzとなっています。ここでは、MEMSベースのセンサー(コア部)が臨界減衰の状態にあり、その共振周波数(16kHz~20kHz)よりも十分に低い帯域では、重要な影響は生じないと仮定します。この仮定は必ず成り立つとは限りません。ただ、これについてはプロセスの後半でノイズ密度やフルモーションのテストを通して検証することができます。したがって、この仮定は適切な出発点になり得ます。

インターフェース回路、アナログ・フィルタ

各ジャイロ・センサーで取得した信号は、ADCに入力される前に2極(ポール)のローパス・フィルタを通過します。ここで、ラプラス変換を使用することにより、s領域の伝達関数の表現を構築するために必要な情報を得ることができます。図3の例では、第1ポールf1が404Hzで、第2ポールf2が757Hzです。

数式 1A

加速度センサーの単一のポールf1の伝達関数は次のようになります。

数式 1B

これらの式は、s = jωという恒等式をベースとして複素数を扱う数値解析用のプログラムの基礎になるものです。例えば、MATLABでは、以下に示すmスクリプトにより、振幅(比率。単位なし)と位相(°)の情報を生成することができます。

Fmax = 9840/2; % one-half of the sample rate

for f = 1:Fmax

 w(f) = 2*pi*f;

end

p1 = 404; % pole location = 404Hz

p2 = 757; % pole location = 757Hz

NUM1 = 2*pi*p1;

DEN1 = [1 2*pi*p1];

NUM2 = 2*pi*p2;

DEN2 = [1 2*pi*p2];

H1 = tf(NUM1,DEN1); % transfer function for first pole

H2 = tf(NUM2,DEN2); % transfer function for second pole

H488a = H1 * H2; % transfer function for 2-pole filter

[maga,phasea] = bode(H488,w);

for f = 1:Fmax

 Mag488a(f) = maga(1,1,f);

 Phase488a(f) = phasea(1,1,f);

end

これらのフィルタに関連する時間遅延について素早く評価したい場合には、1極のフィルタの位相遅延は-3dB周波数において45°、つまりコーナー周波数(周期)の1/8に相当することに注意してください。このケースでは、加速度センサーのフィルタの時間遅延は約0.38ミリ秒です。一方、ジャイロ・センサーにおける遅延は2段の時間遅延の合計に等しく、約0.47ミリ秒になります(以下参照)。

数式 2

平均化/デシメーション用のフィルタ段

図3のシグナル・チェーンでは、平均化/デシメーション用のフィルタ段を2つ使用しています。それぞれ、各段の出力サンプル・レートを下げると共に、フィルタ処理を適用する役割を果たします。FIR(Finite Impulse Response)フィルタ(デジタル・フィルタ)において、位相遅延はタップの総数の1/2を各タップのサンプル・レートで割った値に等しくなります。この例では、1つ目のフィルタ段のサンプル・レートは9.84kHz、タップ数は4です。この種のフィルタでは、タップ数は平均化処理の対象となるサンプル・データの個数に相当します。これらの情報から、位相遅延は約0.2ミリ秒になることがわかります。平均化フィルタの振幅応答は、次式の関係に従います。

数式3

MATLABを使用して解析を行う場合、サンプル・レートfsは、タップ数Nは4とし、アナログ・フィルタの解析に使用したのと同じ周波数配列fを使用します。共通の周波数配列を使用することにより、各段の結果を容易に組み合わせられるようになります。以下のコードを使用すれば、1つ目のフィルタの解析を実施できます。

Fmax = 9840/2; % one-half of the sample rate

f = 1:Fmax;

NUM(f) = sin(4*pi*f/9840);

DEN(f) = 4 * sin(pi*f/9840);

for fq = 1:Fmax

 Hda(fq) = abs(NUM(fq)/DEN(fq));

end

平均化/デシメーションに使用する2つ目のフィルタの解析には、制御システムのサンプル・レートに関する予備知識が必要ですが、ここでは同じ関係を使用することにします。例えば、制御ループが400SPSに近いサンプル・レートを必要とする場合、2つ目のフィルタの平均化/デシメーション・レートは約6になります(サンプル・レートが410SPSで、4サンプルを対象とする場合、9840/[410×4] = 6)。ここでは、先ほどのmスクリプトのコードに次の3つの変更を加えて振幅応答の解析を行います。

  • サンプル・レートを「9480」から「2460」に変更
  • 2ヵ所の「4」を「6」に変更
  • Fmaxを「9840/2」から「2460/2」に変更

位相は、タップの総数の1/2をサンプル・レートで割った値に等しく、約1.22ミリ秒(3/2460)になります。

応答の合成

図4、図5は、ジャイロ・センサーのアナログ・フィルタと2つのデシメーション・フィルタの応答を合成した結果です。図4は、配列内の各周波数に対応する形で、各段の振幅を乗算した結果を表しています。一方、図5は各周波数における各段の位相の寄与分を加算した結果です。「デシメーションなし」という凡例に対応するプロットは、出力データ・レートが2460SPSで、2つ目のデシメーション段が実質的にオフの状態にあると想定した場合のものです。一方、「デシメーションあり」という凡例に対応するプロットは、デシメーション・レートが6、最終的な出力データ・レートが410SPSであると想定した場合の結果を表しています。これら2つの図から、各条件における応答の違いを確認することができます。それにより、制御ループのサンプル・レートとそれに対応する周波数応答の間に生じるシステム・レベルのトレードオフについて把握することが可能になります。

図4. アナログ・フィルタと1つ目のデシメーション・フィルタの振幅応答を合成した結果
図4. アナログ・フィルタと1つ目のデシメーション・フィルタの振幅応答を合成した結果
図5. アナログ・フィルタと1つ目のデシメーション・フィルタの位相応答を合成した結果
図5. アナログ・フィルタと1つ目のデシメーション・フィルタの位相応答を合成した結果

プログラマブルなFIRフィルタの解析

アナログ・フィルタとデシメーション・フィルタがどのように寄与するのかを把握したら、ICが内蔵するデシメーション・フィルタを使用する場合とFIRフィルタをカスタム設計する場合のトレードオフを評価することができます。図3でIMUとして使用しているADIS16488は、FIRフィルタを内蔵しています。しかし、システムによっては、デジタル信号処理のルーチン内にFIRフィルタの処理も含めた方が適切なケースも考えられます。多くの場合、FIRフィルタにおける時間領域のf(n)は差分方程式で表現されます。その場合、周波数解析用のツールとしてはz変換を利用できます(以下参照)。

数式 4

最近の多くのプログラムには、上記のような基本的な関係に基づいた解析用のツールやコマンドが含まれています。それらについて理解しておくと、例えば自動評価ツールによって得られる結果について検証する際に活用を図れます。あるいは、FIRフィルタの設計ツールによって得られた結果について、どういった場合に疑問を感じるべきなのかといった直感的なセンスを養うことも可能になります。MATLABの場合、fdatoolコマンドを使用すると、フィルタの解析/設計用のパッケージが起動します。そのパッケージは、システムで使用するFIRフィルタの設計や解析を行う際に活用できます。

慣性の周波数応答を評価する方法

ジャイロ・センサーの周波数応答を評価するための最も直接的な方法は、慣性センサー・システム用の試験装置であるレート・テーブルを使用することです。それにより、適切な周波数成分を導入することができます。通常、レート・テーブルはプログラムが可能なサーボ・モータと、プログラム済みのモータ・シャフトの回転を確認するための光学式エンコーダを搭載しています。この評価方法の長所は、実際の慣性運動を適用できる点にあります。一方、MEMSセンサーを使い始めたばかりの技術者にとっては使いこなすのが難しいということが短所になります。

レート・テーブルを使用せずに初期の解析や検証を行う場合には、対象とする周波数帯域にわたってスペクトル・ノイズを測定するとよいでしょう。それにより、有益な知見を得ることができます。この簡便な手法には、高度なテスト装置は必要ありません。但し、安定性を備えるプラットフォームに対する機械的な接続を確実に行わなければなりません。また、データ収集用の装置は必要になります。なお、この手法は、機械的なノイズが周波数に対して平坦な振幅特性を示すことを前提にしている点には注意が必要です。

図6に示したのは、同じ2極のローパス・フィルタを使用している2つのIMUの評価結果です。1つ目のIMUは「ADIS16375」です。この製品は、対応可能な周波数範囲にわたって平坦な応答を示すジャイロ・センサーを搭載しています。もう1つのIMUは、ここまで例にとってきたADIS16488です。同製品は、1.2kHzに若干のピークが生じるジャイロ・センサーを搭載しています。そのピーキングにより、-3dB周波数が約380Hzまで拡張されています。この共振の動作について認識していれば、制御ループのモデリング/シミュレーションをより適切に実施できます。また、簡単なテストによってその振る舞いを把握できれば、システムの特性評価をより徹底的に行った結果、予想よりもノイズ・レベルが高かったといった場合に、その原因を解明しやすくなるでしょう。プロジェクトの初期段階でそうした振る舞いについて的確に把握できていれば、通常はフィルタのポールの位置を調整することによって、ノイズ・レベルの問題に対処することが可能です。

ノイズ密度を測定する際には、ナイキスト基準を満たすために、対象とする最高周波数の2倍以上のサンプル・レートを使用します。また、十分な数のサンプル・データを取得して測定結果の不確実性を低減するようにします。図6のグラフは、最高レートが2.46kSPS、サンプル長が256kという条件で取得したタイム・レコードのFFT解析結果です。

図6. ノイズ密度の比較
図6. ノイズ密度の比較

別の手法として、ジャイロ・センサーのセルフテスト機能を利用するというものがあります。同機能を使えば、デバイスに対して外部から慣性運動を与える必要はありません。そうではなく、電気信号を使用してセンサーの機械的な構造に刺激を与えることができます。つまり、実際の動きに対応する応答をシミュレートするための変化を強制的にセンサーに与えることが可能です。それにより、電気的な出力には、それに対応した変化が生じます。セルフテスト機能は、すべての製品でリアルタイムに使用できるとは限りません。ただ、それが可能である場合、またはメーカーがその種の周波数応答のテスト・データを提供している場合には、便利なツールとして活用できます。最も簡単な手法としては、ステップ信号に対する応答をシミュレートするためのセルフテスト機能を使用し、得られた結果を、解析による予測結果と比較します。また、各周波数におけるセンサーの振幅応答を直接的に調べたい場合には、特定の周波数範囲でセルフテスト機能を繰り返し実行すればよいでしょう。ここで、図7に示した2種類の応答をご覧ください。図の上側に示したように、低い周波数の信号を印加した場合、ジャイロ・センサーの出力は、立上がり/立下がりの遷移に対応する過渡応答部分を除けば、方形波のような形で現れます。その過渡応答は、シグナル・チェーンが備えるフィルタ回路のステップ応答として予想されるものと同様の結果になっています。下側に示した例では、セルフテストの信号周波数が高すぎるので、完全なセトリングが実現されていません。そのため、振幅が本来のレベルに達していません。ここでは、最下部の青色の応答と黒い破線の応答の振幅の差に注目してください。当該のタイム・レコードを基にして信号の振幅を推定する方法はいくつも存在します。例えば、DFT(離散フーリエ変換)を使用すると、周波数応答(振幅応答)の誤差の原因となり得る高調波成分と基本周波数の成分(セルフテストの周波数)を分離することが可能です。

図7. セルフテスト機能を利用して取得した応答
図7. セルフテスト機能を利用して取得した応答

まとめ

広帯域に対応するIMUは、フィードバック制御をベースとする安定化システムの設計に対して大きなメリットをもたらします。より広い帯域に対応することで、マルチセンサー・システムにおける時間的な整合と位相余裕の管理をより実現しやすくなります。フィルタで使用するコンデンサは、値のばらつきが大きかったり、温度に対する変動が大きかったりする可能性があります。そうしたズレに、比例してポールの周波数に変動が生じることがあります。位相遅延はポールの位置に依存するので、その値を把握して管理することが非常に重要です。仮に、フィードバック用のセンサーのカットオフ周波数が、コントローラに対するユニティ・ゲインのフィードバック信号の周波数の2倍であったとします。その場合、ループ応答には約22.3°の位相遅延が加わることになります。そして、カットオフ周波数が20%低下すると、位相遅延は約5.6°増加します。ユニティ・ゲイン帯域幅に対するカットオフ周波数の比を高めれば、それらの影響を1/4の係数で低減することが可能です。

IMUの帯域幅がシステムの安定性に対して及ぼす影響についてより深く理解するには、解析、モデリング、テスト・データを繰り返し利用する必要があります。そうした作業を行う際には、まず入手可能な情報を基にした定量化の作業から始めるとよいでしょう。予想と現実のギャップを埋めるためにいくつかの仮定を行い、それらの仮定を改良するための計画を策定して解析を進めてください。

I invite you to comment on inertial MEMS in stabilization systems in the Analog Dialogue Community on EngineerZone.

参考資料

慣性計測ユニット/慣性計測装置(IMU)

The Five Motion Senses: Using MEMS Inertial Sensing to Transform Applications(5種類の動きの検出――MEMS慣性センサーにより アプリケーションを変革する

Improving Industrial Control with Integrated MEMS Inertial Sensors(MEMS慣性センサーICによる産業分野向け制御システムの改善)

著者

Mark Looney

Mark Looney

Mark Looneyはアナログ・デバイセズ(ノースカロライナ州グリーンズボロ)のiSensor® アプリケーション・エンジニア。1998 年にアナログ・デバイセズに入社以来、センサー信号処理、高速 A/D コンバータ、DC/DC 電力変換を担当。ネバダ大学リノ校で電気工学の学士号(1994 年)および修士号(1995 年)を取得、数件の論文を発表。アナログ・デバイセズ入社以前は、車載電子機器およびトラフィック・ソリューションの企業 IMATS の創業を支援し、Interpoint Corporation にて設計に従事しました。