(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0052】
添付の図面とともに以下に示す詳細な説明は、本開示の様々な態様を説明するものであり、本開示が実施され得る唯一の態様を表すものではない。本開示で説明する各態様は、本開示の例または説明として与えるものにすぎず、必ずしも他の態様よりも好適であるまたは有利であると解釈すべきではない。詳細な説明は、本開示の完全な理解を与えるための具体的な詳細を含む。ただし、本開示はこれらの具体的な詳細なしに実施され得ることが当業者には明らかであろう。場合によっては、本開示の概念を不明瞭にしないように、よく知られている構造およびデバイスをブロック図の形式で示す。頭字語および他の記述的専門用語は、単に便宜のためにおよび明瞭にするためにのみ使用され得、本発明の範囲を限定するものではない。
【0053】
図1Aに、飛行中の飛行機に作用する力を示す。dAによって表される加速度の変化は、瞬時総加速度Aと重力定数A
Gとの間の差(すなわちdA=A-A
G)として計算され得る。加速度の変化dAはまた、重力に対して横(transversal)-ラテラル(lateral)-垂直(vertical)(T-L-V)カーディナル方向の各々の成分を用いて、3次元ベクトルによって、dA=(A-A
G)=(A
T+A
L+A
V)-A
Gまたは、同等に、dA=(A
T+A
L)+(A
V-A
G)と表され得、A
Tは瞬時横加速度、A
Lは瞬時ラテラル加速度、A
Vは瞬時垂直加速度である。垂直加速度A
Vは重力A
Gの引力に対して平行であることに留意されたい。加速度の変化dAは、同様に、モバイルデバイスのハウジングに関してXYZカーディナル方向の各々の成分を用いて、3次元ベクトルによって、dA=(A-A
G)=(A
X+A
Y+A
Z)-A
Gとして表され得、A
Xは瞬時X軸加速度、A
Yは瞬時Y軸加速度、A
Zは瞬時Z軸加速度である。この座標系(reference system)では、モバイルデバイスに対する垂直加速度A
Zは、重力A
Gの引力に対して平行である可能性が低い。
【0054】
飛行中に、航空機は、変動する垂直力(F
V)、横力(F
T)およびラテラル力(F
L)の両方を受ける。垂直力の変化は、重力の引力に一致する垂直変位および加速度をもたらすリフトおよび垂直風の変動を含む。特定の高度で巡航するように設定されている間でさえ、飛行機は、数十フィートから数百フィートまで上昇および下降し、地球の重力による加速度以外の加速度をもたらす。水平力(横力とラテラル力と)の変化は、逆風および横風、ならびにエンジンRPMおよびプロペラまたはタービン角度の変化の変動を含む。垂直加速度の変化はdA
Vによって表され、横加速度の変化はdA
Tによって表され、ラテラル加速度の変化はdA
Lによって表される。横加速度(dA
T)とラテラル加速度(dA
L)との和は、(dA
Hによって表される)水平加速度である。
【0055】
一般に、巡航している飛行機は、横加速度の分散が垂直加速度の分散よりも小さい。すなわち、変動するリフトによる加速度の変化は、変動する逆風による加速度の変化よりも大きい。飛行機内のモバイルデバイスは、加速度を測定するために加速度計からのセンサ測定値を使用し得る。モバイルデバイスは、垂直加速度の分散が飛行中判断を保証するのに十分大きいかどうかを判断するために、この加速度を推定垂直ベクトルと推定横ベクトルとに分解し得る。
【0056】
図1Bおよび
図1Cに、飛行運動と非飛行運動による、加速度の予想される変化を示す。
図1Bにおいて、縦長楕円内のエリアは、飛行中の間に予想される(dAによって表される差分加速度と呼ばれる)加速度の変化を表す。楕円は、重力の引力に垂直に整合した、より長い長軸と、飛行機の横運動に一致した、より短い短軸とを有する。この楕円の配向は、巡航している飛行機が、水平加速度の変動(横加速度+ラテラル加速度の変動dA
H=dA
TL=dA
T+dA
L)よりも大きい、垂直加速度の変動(dA
V)を受けることを示す。dA
VおよびdA
Hの別々の大きさを平均化すると、Σ|dA
V|はΣ|dA
H|よりも大きくなる。したがって、Σ|dA
V|>Σ|dA
H|である場合、モバイルデバイスは飛行中である可能性が高い。
【0057】
反対に、
図1Cには、動いているが飛行中ではないときの加速度の変化の予想される範囲の横長楕円が示されている。非飛行運動の場合、垂直加速度の分散は、一般に横加速度の分散よりもはるかに小さい。すなわち、Σ|dA
V|<Σ|dA
H|である場合、モバイルデバイスは飛行中でない可能性が高い。
【0058】
図2に、本発明のいくつかの実施形態によるモバイルデバイスを示す。モバイルデバイス100は、プロセッサ300および加速度計110、ならびに随意のメモリ120および随意のディスプレイ130を含む。加速度計110は、モバイルデバイス100が受ける測定加速度を表すサンプル200を与える。プロセッサ300は、モバイルデバイス100が飛行中であるか飛行中でないかを判断するために、サンプル200を変換し、分析する。プロセッサ300が飛行中ステータスを判断すると、プロセッサ300は、更新されたステータスをメモリ120に記憶し、および/またはステータスをディスプレイ130上でユーザに提示し得る。プロセッサ300は、汎用マイクロプロセッサ、RISCプロセッサ、マイクロコントローラ、プログラマブル論理デバイス、専用論理ゲートなどを用いて実装され得る。
【0059】
図3に、本発明のいくつかの実施形態による、平均化器に入る生サンプルの第1のシーケンスと、平均化器から出る平均化サンプルとを示す。加速度計110は、雑音の多い生加速度計サンプル200{...,a
k-2202,a
k-1204,a
k206,...}を平均化器410に与える。加速度計110は、一般に、2つの連続するサンプル間で1秒未満の時間期間にわたってモバイルデバイス100が受ける加速度を示すために、1秒未満のレート{...,t
k-2,t
k-2,t
k,...}でサンプルを生成する。平均化器410は、各平均化サンプル220{...,A
i-1222,A
i224,...}を生成するために、一般に1秒を超えるレート{...,t
i-1,t
i,...}で固定数の生サンプルを加算し、ただし、(t
i-t
i-1)>>(t
k-t
k-1)である。平均化器410は、平均化器を和またはスケーリングされた和として実装し得る。値のシーケンスを収集することによって、平均化器410は、平均化期間(t
i-t
i-1)にわたって実際の加速度の低雑音近似を生成する。
【0060】
いくつかの実施形態では、生サンプル200は30Hz(すなわち、t
k-t
k-1が約33ミリ秒に等しい)で生成され、平均化サンプル220は0.2Hz(すなわち、t
i-t
i-1が約5秒に等しい)で生成される。この実施形態では、平均化器410は、5秒の平均化期間にわたって加速度測定値(生サンプル200)を加算し、加速度の低雑音近似を生じる。
【0061】
図4、
図5、および
図6に、それぞれ、本発明のいくつかの実施形態による、2つの加速度ベクトルと、様々な基準ベクトルおよび差分ベクトルとを示す。以下で、重力による加速度ベクトルは、簡単のために反転されて示されている。
【0062】
図4では、2つの平均化サンプル(A
i-1およびA
i)が、重力による引力を表すベクトル(A
G)に対するベクトルとして示されている。重力の方向の単位ベクトルは、ベクトルu
G=A
G/|A
G|として示され得る。ベクトルA
i-1とA
Gとの間の差分は、ベクトルdA
i-1として示され、ベクトルAi
iとA
Gとの間の対応する差分は、ベクトルdA
iとして示される。ベクトルdA
i-1は、時間t
i-1において終了する期間中にモバイルデバイス100が受けた加速度を示す。ベクトルdA
iは、時間t
iにおいて終了する次の期間中にモバイルデバイス100が受けた加速度を示す。(ほぼ左向きの)ベクトルdA
i-1は、主に水平面内の加速度(ラテラル加速度と横加速度の合成)を含んでいるものとして示されている。(ほぼ下向きの)ベクトルdA
iは、モバイルデバイス100が水平加速度よりも大きい垂直加速度を受けたことを示す。dA
iの重力の方向の加速度成分は、投影dA
V=Proj
u(dA
i)=(|dA
i|cosφ)u
G、ただし、φはベクトルdA
Vとu
Gとの間の角度を表すとして計算されるか、またはドット積dA
V=|dA
i x A
G|A
G/|A
G|
2として計算され得る。dA
V(図示せず)によって表される、A
iのこの成分は、モバイルデバイス100の重力によらない垂直加速度を識別する。同様に、dA
TLまたはdA
H(図示せず)によって表される、A
iの非垂直成分は、モバイルデバイス100の(横方向とラテラル方向とにおける)水平加速度を識別する。
【0063】
高度の変化と速度の変化とを受けている飛行機の基準フレーム内で、重力ベクトルA
Gの方向が推定される。重力の推定方向は、推定重力ベクトル
【0067】
によって表され得る。この推定重力ベクトル
【0069】
は、いくつかの異なる方法で計算され得る。
【0070】
図5に、ベクトルA
Gと、それの対応する単位ベクトルu
Gとを推定するために使用され得る3つの異なるベクトルの例を示す。第1の例として、推定ベクトル
【0072】
はA
i-1に設定され、推定単位ベクトル
【0074】
を生じる。第2の例として、推定ベクトル
【0078】
を生じる。第3の例として、推定ベクトル
【0080】
はA
i-1とA
iとの平均に設定され、推定単位ベクトル
【0082】
を生じる。第4の例(図示せず)として、推定ベクトル
【0084】
は、少なくとも3つの平均化ベクトル(たとえば、{A
i-3,A
i-2,A
i-1})の平均に設定される。第5の例(図示せず)として、推定ベクトル
【0086】
は、2つ以上の前の平均化ベクトル{A
i,A
i-1,...の重み付き合成に設定され、推定単位ベクトル
【0088】
を生じる。A
Gまたはu
Gの適切な推定値は、A
i-1および/またはA
iの垂直および非垂直成分を計算するために上の投影式(projection formula)中で使用され得る。
【0089】
図6に、ベクトルA
Gを推定するためにA
i-1が使用される事例を示す。得られた推定ベクトル
【0095】
)を判断するために使用される。差分ベクトルdAは、(時間t
iにおいて判断された
【0099】
として示され、A
i-1とA
iとの間のベクトル差(すなわち、
【0102】
図7に、本発明のいくつかの実施形態による、平均化加速度計データからの例示的な差分ベクトルを示す。4つの例示的な推定差分ベクトル(差分加速度)のシーケンス
【0104】
が、概して楕円内に離間して示されている。
図6からの推定差分ベクトルは、ここでは
【0106】
として示されている。一連の推定差分ベクトル
【0108】
が、
図1Bに示すように縦長楕円を形成する場合、加速度の平均化加速度計データのこのシーケンスは、モバイルデバイス100が飛行中である可能性がより高いことを表す。代替的に、推定差分ベクトルは(
図1Cに示すように)横長楕円を形成し得、それは、モバイルデバイス100が、動いているが、飛行中ではないことを表すであろう。
【0109】
図8Aおよび
図8Bに、本発明のいくつかの実施形態による、重力ベクトルに関する仮定に基づいて差分ベクトルを計算する方法を示す。
【0110】
図8Aに、基準ベクトルA
Gが不明であり、ベクトル
【0112】
を最も良く推定するために平均化加速度ベクトルA
i-1が使用され、
【0114】
を定義するために同様にA
i-1が使用される場合を示す。さらに、推定差分ベクトル
【0124】
を発見するために平均化加速度ベクトルA
iが使用される代替実施形態を示す。この場合も、推定差分ベクトル
【0130】
とに分解される。平均化測定値のシーケンス220{A
i,A
i-1,...}が縦長楕円を形成するか横長楕円を形成するかを判断するために、そのシーケンスが観測され得る。代替的に、運動が飛行中運動を表すかどうかを示すために単一の差分ベクトルが使用され得る。
【0131】
図9A、
図9Bおよび
図9Cに、本発明のいくつかの実施形態による、テストと判定とを示すベン図を示す。図の各々は、差分ベクトル
【0133】
および/または差分ベクトルの1つまたは2つの推定成分に対して実行される2つのテストを表す。
【0135】
と標示された垂直軸は推定垂直加速度の大きさの変化を表し、
【0137】
と標示された水平軸は推定水平加速度の大きさの変化を表す。
【0138】
図9Aに、負象限が正象限に反転された、
図1Bおよび
図1Cの楕円の正象限を示す。第1の楕円は、飛行中加速度の変化(dA
InFlight)が予想されるエリアを表す。第2の楕円は、非飛行中加速度の変化(dA
NonFlight)が予想されるエリアを表す。差分ベクトルが、重複する楕円によって定義されたエリア内にある第1のエリアでは、差分ベクトルdAが飛行中運動を表すか、非飛行運動を表すかは不明であり得る。差分ベクトルdAが、横長楕円のみによって定義されたエリア内にある第2のエリアでは、差分ベクトルdAが非飛行運動を表す可能性がより高いことがある。差分ベクトルが、縦長楕円のみによって定義されたエリア内にある第3のエリアでは、差分ベクトルが飛行中運動を表す可能性がより高いことがある。両方の楕円の外側の第4のエリアでは、差分ベクトルdAが飛行中運動を表すか、非飛行運動を表すかは不明であり得る。差分加速度を飛行中エリアまたは非飛行中エリアに押し込むために、プロセッサは、推定差分ベクトル
【0140】
を経時的に累積または平均化し得る。たとえば、最後のN個の推定値にわたる累積値
【0144】
)は、本明細書で説明する比較テストにおいて使用され得る。
【0145】
いくつかのテストは、推定差分ベクトルdA(または推定差分ベクトルのシーケンス)が何を表すかを定義し得る。たとえば、テストは、特定の推定差分が、(1)飛行中運動か非飛行中運動か、(2)飛行中運動か、非飛行運動か、または不定か、(3)非飛行運動でないか非飛行運動であるか、あるいは(4)飛行中運動か、非飛行運動か、または不明かを表し得ると結論し得る。たとえば、第1のテストは、差分ベクトルdAが不明のエリアの外部にあるかどうかを判断し、第2のテストは、差分ベクトルdAが飛行中楕円内にあるかどうかを判断する。
【0146】
図9Bでは、第1のテストは、加速度が第1のしきい値Th
1を上回るかどうかを判断するために、(
【0154】
、ただし、1.0000は、1Gすなわち海面における重力のみによる加速度を表す)場合、テスト結果は正である。この正の結果は、差分加速度が飛行中運動によるものであり得ることを表す。第2のテストは、(
【0156】
として表される)差分ベクトルの水平成分
【0160】
として表される)差分ベクトルの垂直成分
【0162】
の大きさを、第2のしきい値Th
2と比較する。たとえば、成分の比
【0164】
が第2のしきい値Th
2と比較される。代替的に、第2のテストは、第1の成分の大きさと第2の成分のスケーリングされた値との間の比較であり得る。第2のしきい値Th
2=1である場合、第2のテストは成分間のシンプルな比較
【0170】
である場合、テスト結果は正である。第1のテストおよび第2のテストが両方とも正の結果を生じる場合、モバイルデバイス100は、それが飛行中運動下にあることを示す。
【0171】
図9Cでは、第1のテストは、加速度が第1のしきい値Th
1を上回るかどうかを判断するために、(
【0179】
である。
図9Aに関して上記で説明した第2のテストも実行される。同様に、第1のテストおよび第2のテストが両方とも正の結果を生じる場合、モバイルデバイス100は飛行中であると見なされる。
【0180】
図9Dでは、第1のテストは、
図9Bに関して上記で説明したように実行される。第2のテストは、(
【0182】
として表される)推定差分ベクトルの横成分の大きさを、第2のしきい値Th
2(たとえば、
【0184】
)と比較する。この第2のテストは、垂直成分はTh
1よりも大きいが、横成分はTh
2未満であるときに行われるように、飛行中判断を限定する。
【0185】
上記で説明した第1および第2のテストは必ずしも順番に実行されるわけではない。たとえば、説明した第2のテストは、説明した第1のテストの前に、またはそれと同時に実行され得る。代替的に、飛行中判断を行うために2つのテストのうちの単一のテストのみが使用され得る。たとえば、第1のテストが単独で正の結果(たとえば、
【0187】
>Th
1)を生じる場合、モバイルデバイス100は飛行中であると見なされる。代替的に、第2のテストが単独で正の結果(たとえば、
【0189】
)を生じる場合、モバイルデバイス100は飛行中であると見なされる。
【0190】
図10A、
図10Bおよび
図11に、本発明のいくつかの実施形態による、モバイルデバイスにおける飛行中検出のためのモジュールを示す。
【0191】
図10Aにおいて、加速度計110は、飛行中計算論理400のいくつかのモジュールにサンプルを与え、飛行中インジケータ信号を生じる。飛行中計算論理400は、平均化器410と、遅延Tユニット420と、差分ユニット430と、重力方向推定器440と、ベクトル分割器450と、コンパレータ460および470と、論理ゲート480とを含む。2つ以上のテストではなく、ただ1つのテストが実行された場合、コンパレータ460および470ならび論理ゲート480は、単一の(テストAのための)コンパレータ460または(テストBのための)コンパレータ470と置き換えられ得る。
【0192】
加速度計110は、加速度計サンプル200{...,a
k-2,a
k-1,a
k,...}を平均化器410に与える。場合によっては、これらの生加速度計サンプル200は、雑音の多い生加速度計サンプル200である。平均化器410は平均化サンプルA
i220を与える。場合によっては、平均化器410は加速度計110に組み込まれ、加速度計110は一連の平均化サンプル{A
i,A
i-1}220を与える。平均化器410は、2つの加速度インジケータ{A
i,A
i-1}220を形成するために、2つ以上の連続加速度計測定値の第1のシーケンス{a
j,a
j-1,a
j-2,...}200を加算するための、および2つ以上の連続加速度計測定値の第2のシーケンス{a
k,a
k-1,a
k-2,...}200を加算するための手段として働き得る。物理的に、平均化器410は、加速度計110の構成要素であるかまたは加速度計110に一体化され得るか、別々のハードウェア構成要素であり得るか、あるいはプロセッサ300(たとえば、論理演算装置(ALU)、マイクロプロセッサまたはマイクロコントローラ)上で動作するルーチンであり得る。平均化器410は、加算器、除算器をもつ加算器、またはシフトレジスタをもつ加算器であり得る。したがって、加速度計110および/または平均化器410は、2つの加速度インジケータ{A
i,A
i-1}220を与えるための手段である。たとえば、2つの加速度インジケータ{A
i,A
i-1}220を与えるための手段は、加速度インジケータ(A
i)ごとにシーケンス加速度計サンプル200{...,a
k-2,
-1,a
k,...}を加算するためにプロセッサ300上で動作するソフトウェア加算器であり得る。2つの加速度インジケータ{A
i-1,A
i}220を与えるための手段はまた、加速度計110を含み得る。個々の平均化サンプルA
i220間の期間は(t
i-t
i-1)であり、それは一般に(t
k-t
k-1)である個々の生サンプルa
k200間の期間の大きさ以上である。たとえば、平均化サンプルA
i220間の時間は5秒であり得、生サンプルa
k200間の時間は33msであり得る。
【0193】
この実施形態では、平均化器410はまた、加速度計サンプル200を重力方向推定器440に与える。重力方向推定器440は、重力の方向(重力方向推定値
【0195】
)を表すベクトルを判断する。代替的に、重力方向推定器440は、生サンプル200ではなく平均化サンプル220を受け付ける。最も簡単な形態では、重力方向推定器440は、u
G(たとえば、
【0203】
としてスケーリングされる)を表すために、2つの直近の生サンプル(a
kまたはa
k-1)あるいは2つの直近の平均化サンプル(A
iまたはA
i-1)のうちの所定の1つを使用する。
【0204】
代替的に、重力方向推定器440は、直近のサンプルのうちの2つ(以上)を使用する(たとえば、
【0206】
)。代替的に、重力方向推定器440は、
【0208】
を生成するために3タップ以上のFIRフィルタまたは、2タップ以上のIIRフィルタを使用する。重力方向推定器440の出力値は、重力の方向の推定値を表すベクトル(
【0213】
平均化器410からの出力値は、遅延Tユニット420に供給され、遅延T=(t
i-t
i-1)である。遅延Tユニット420は、平均化器410の前の出力値を保持するためのメモリロケーション、レジスタ、ソフトウェア変数などであり得る。いくつかの実施形態では、平均化サンプル間の期間は遅延Tである。平均化サンプル220間のこの遅延および時間は、1〜30秒の間(たとえば、5秒)など、10,000秒未満であり得る。いくつかの実施形態では、遅延Tユニット420は平均化器410内に組み込まれている。
【0214】
上記で説明したように、生センサ測定値200および得られた平均センサ測定値220は、重力による加速度を含む、モバイルデバイスが受けるすべての加速度を含む。モバイルデバイスが飛行中であるかどうかを判断するために、飛行中計算論理400は、重力によるこの加速度の推定値を削除する。本明細書で使用する場合、A
i=(A
G+dA)であり、A
iは、(平均化後の)測定された総加速度であり、A
Gは重力ベクトルであり、dAは、重力を含まない、モバイルデバイスが受ける加速度である。一般に、重力A
Gによる加速度の実際の方向は、不明であり、近似されなければならない。したがって、A
iはまた、和(
【0222】
は重力ベクトルA
Gなしの加速度の近似である。
【0229】
を判断する。差分ユニット430は、ハードウェアおよび/またはソフトウェアで実装され得る。たとえば、差分ユニット430を実装するための手段は、論理演算装置(ALU)、マイクロプロセッサ、マイクロコントローラなど、プロセッサ300において動作するソフトウェアまたはファームウェア減算演算であり得る。ベクトルA
Gは一般に不明であるので、ベクトルは
【0233】
はA
i-1であるかまたは上記で説明したとおりである。図示の事例では、差分ユニット430は非重力加速度を
【0239】
を生じ、ただし、A
iは現在の測定値であり、A
i-1はA
Gを近似するために使用される前の測定値である。
【0242】
は、モバイルデバイスの本体座標系に関してXYZカーディナル方向の各々の成分を用いて、3次元ベクトルによって
【0244】
として表され得る。必要な場合、飛行中計算論理400は、本体座標系と、ローカル座標系との間で変換するために変換行列を使用し得、ローカル座標系は、(重力加速度A
Gに一致する)垂直成分と、(水平飛行に一致する)横成分と、(重力と横成分の両方に直角な)ラテラル成分とを含む。ローカル座標系では、非重力加速
【0254】
はラテラル加速度を表し、2つのベクトルの和は重力推定値に直交する水平加速度または非重力加速度を表し、
【0257】
ベクトル分割器450は、非重力加速度推定値
【0261】
とを受け付ける。ベクトル分割器450は、重力加速度の推定方向に基づいて、差分加速度(dA)を、推定水平加速度
【0265】
とを含む直交成分に分割するための手段として働く。すなわち、ベクトル分割器450は、ベクトル
【0269】
に平行である(推定重力に一致する)第1の成分
【0273】
に直交する(推定重力に直角である)第2の成分
【0275】
とに分割する。ベクトル分割器450は、モバイルデバイス100が飛行中であるか、および/または飛行中でないかを判断するための1つまたは複数のテストを実行するために使用される
【0280】
有意な非重力加速度を構成するために加速度dAがしきい値を十分に上回るかどうかを判断するための第1のテスト(テストA)に、第1のコンパレータ460が使用される。第1のコンパレータ460は、ハードウェアまたはソフトウェアで実装され得る。たとえば、第1のコンパレータ460は、プロセッサ300において動作する比較演算子であり得る。第1のコンパレータ460は、第1の比較結果またはテストAの判定を判断するために、垂直加速度を含む加速度を第1のしきい値(Th
1)と比較するための手段として働く。すなわち、第1のコンパレータ460は、
【0282】
の大きさをしきい値Th
1と比較する。
【0284】
である場合、テストAは正の判定を生じる。
【0285】
有意な垂直加速度を構成するために加速度
【0287】
が十分に垂直であるかどうかを判断するための第2のテスト(テストB)に、第2のコンパレータ470が使用される。第1のコンパレータ460と同様に、第2のコンパレータ470は、ハードウェアまたはソフトウェアで実装され得る。第2のコンパレータ470は、第2の比較結果またはテストBの判定を判断するために直交成分
【0289】
のうちの少なくとも1つを第2のしきい値(Th
2)と比較するための手段として働く。第2のコンパレータ470は、
【0295】
である場合、テストBは正の判定を生じる。他の実施形態では、第2のしきい値Th
2は、
【0301】
である場合、テストBは正の判定を生じる。
【0302】
ゲート480は、両方のテストからの結果を受信し、得られた飛行中インジケータ信号を与える。ゲート480は、第1および第2の比較結果に基づいて飛行中インジケータを設定するための手段として働く。入力値(テストAの判定とテストBの判定とを表す比較結果)の極性と、出力値(飛行中インジケータ)の所望の極性とに応じて、ゲート480は、1つまたは複数のインバータを用いたまたは用いないANDゲート、ORゲート、NANDゲートまたはNORゲートを用いて実装され得る。ゲート480は、ハードウェアまたはソフトウェアで(たとえば、プロセッサ上で動作するファームウェア中の算術式として)実装され得る。
【0303】
図示のように、上記で説明したモジュールは、個々に、または組合せで、ソフトウェア命令として実装され得る。これらのソフトウェア命令は、後でプロセッサ300上で実行するために、プログラムコードとしてコンピュータ可読媒体上に保存され得る。さらに、モバイルデバイス100は、プロセッサ300と、メモリ120を含み得、メモリ120は、これらのモジュールのうちの1つまたは複数を実行するためのこれらのソフトウェア命令を含む。
【0304】
同様に、
図10Bにおいて、加速度計110は、サンプルを飛行中計算論理400に与え、飛行中計算論理400は飛行中インジケータ信号を生成する。平均化器410と、遅延Tユニット420と、差分ユニット430と、ベクトル分割器450と、第1および第2のコンパレータ460および470と、論理ゲート480とに加えて、飛行中計算論理400はまた、低域フィルタ490を含む。平均化器410、遅延Tユニット420、差分ユニット430、第1および第2のコンパレータ460および470、ならびに論理ゲート480は、
図10Aに関して上記で説明した対応するモジュールと同等である。
図10Aの重力方向推定器440は、平均化器410からベクトル分割器450への平均化サンプルA
i220のタップとともに実装される。ベクトル分割器450は、単位ベクトル
【0306】
ではなく、ベクトルA
iが使用されるので、上記で説明したものと同じ演算を、ただし適切なスケーリングを用いて実行する。ゲート480からの出力値は、フィルタ処理されていない飛行中インジケータ信号である。低域フィルタ490は、フィルタ処理された飛行中インジケータを生成するためにこれらの値のシーケンスを受け付ける。いくつか実施形態では、低域フィルタ490は、たとえば、1/(t
i-t
i-1)のレートで、入力値ごとに1つの出力値を与える。他の実施形態では、低域フィルタ490は、飛行中と非飛行中との間の変化が判断されるたびに1つの出力値を与える。他の実施形態では、低域フィルタ490は、飛行中指示の要求が作成されるたびに1つの出力値を与える。
【0307】
図11に、加速度計110と、飛行中計算論理400と、制御論理140と、メモリ120と、ディスプレイ130と、スタンバイ回路150と、タイマー160とを含むモバイルデバイス100の様々なモジュールと機能構成要素とを示す。飛行中計算論理400および制御論理140は、両方とも、プロセッサ300上で動作するソフトウェアルーチンとして(たとえば、汎用または専用ハードウェア上に、あるいは、ソフトウェアとハードウェアとの組合せで)実装され得る。
【0308】
飛行中計算論理400は、加速度計110から平均化サンプルA
iを受け付ける。図示の事例では、加速度計110は生サンプル200ではなく平均化サンプル220を飛行中計算論理400に与える。代替的に、加速度計110は生サンプル200を飛行中計算論理400に与え得、飛行中計算論理400は、上記で説明したように平均化を実行し得る。飛行中計算論理400は飛行中インジケータ信号を制御論理140に与える。
【0309】
レジスタ値、メモリ中のロケーション、またはハードウェアライン上の2値信号レベルであり得る飛行中インジケータ信号は、いくつかの目的のうちの1つに使用され得る。たとえば、制御論理140は、飛行中インジケータ信号をメモリ120にロギングメッセージとして保存し得る。ロギングメッセージは、モバイルデバイス100が飛行中であったときを追跡し、判断するために、後でメモリ120から抽出され得る。代替または追加として、制御論理140は、モバイルデバイスの状態に関する通知をモバイルデバイスのユーザに与えるために、インジケータをLCD、LEDまたは他のユーザディスプレイなどのディスプレイ130に送り得る。制御論理140は、飛行中インジケータ信号の値に基づいて回路150への電力を制御し得る。たとえば、制御論理140は、飛行中インジケータ信号が、モバイルデバイス100が飛行中であることを示すとき、何らかの回路を電源投入し得、および/または飛行中インジケータ信号が、モバイルデバイス100が飛行中でないことを示すとき、何らか回路を電源投入し得る。同様に、制御論理140は、飛行中インジケータ信号が、モバイルデバイス100が飛行中であることを示すとき、何らか回路を電源切断し得るか、またはそれを低電力状態にし得る。たとえば、制御論理140は、飛行中インジケータ信号が、モバイルデバイス100が飛行中であることを示すとき、セルラー無線トランシーバおよび/またはGPS受信機を電源切断するかまたは抑止し得、および/または信号が、モバイルデバイス100が飛行中でないことを示すとき、電源を回復し得る。さらに、制御論理140は、飛行中インジケータ信号の値に基づいてタイマー160中のタイマーを開始、停止、クリアまたはリセットし得るか、あるいは現在飛行中ステータスを飛行中計算論理400に問い合わせ得る。
【0310】
図12に、本発明のいくつかの実施形態による、モバイルデバイスにおける飛行中検出のための流れ図を示す。流れ図中のステップは、プロセッサ300上で動作するソフトウェアモジュールまたは演算であり得る。
【0311】
500において、飛行中計算論理400は、2つの加速度インジケータ{A
i-1,A
i}を与え、各々は対応する加速度計測定値{a
k,a
k-1,a
k-2,...}の別々の和である。
【0312】
510において、飛行中計算論理400は、時間t
i-1から時間t
iまでの加速度の変化を近似するために、2つの加速度インジケータ
【0315】
520において、飛行中計算論理400は、重力加速度の推定方向に基づいて、差分加速度
【0321】
とを含む直交成分に分割し、ただし、重力推定値は
【0325】
は、1つまたは複数の加速度インジケータ{A
i-1,A
i}の関数である。
【0326】
530において、飛行中計算論理400は、有意な非重力加速度を構成するために、加速度
【0328】
がしきい値を十分に上回るかどうかを判断する。いくつかの実施形態では、第1のコンパレータ460は、第1の比較結果(テストA)を判断するために、差分加速度(
【0332】
のいずれか)を第1のしきい値(Th
1)と比較する。
【0333】
540において、飛行中計算論理400は、有意な垂直加速度を構成するために、加速度
【0335】
が十分に垂直であるかどうかを判断する。いくつかの実施形態では、第2のコンパレータ470は、第2の比較結果(テストB)を判断するために、直交成分
【0337】
のうちの少なくとも1つを第2のしきい値(Th
2)と比較する。Th
2=1である場合、比較は直交成分
【0340】
550において、飛行中計算論理400は、第1および第2の比較結果に基づいて飛行中インジケータを設定する。
【0341】
560において、飛行中計算論理は、メモリへの書込み、回路の電力状態の変更、ユーザへのメッセージの表示、タイマーへの作用などの動作を実行するために飛行中インジケータを使用する。
【0342】
モバイルデバイスの実施形態は、プロセッサとメモリとを含み、メモリは、モバイルデバイスが飛行中であるかどうかを検出するためのソフトウェア命令を含む。さらに、このソフトウェアは、コンピュータ可読媒体上にプログラムコードとして記憶され得る。
【0343】
開示された態様の前述の説明は、当業者が本開示を実施または使用できるようにするために提供されるものである。これらの態様への様々な修正は当業者には容易に明らかとなり、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の態様に適用され得る。