(57)【特許請求の範囲】
【請求項１】
各々が異なるサンプリングレートを要求するモバイルデバイスにおける複数のアプリケーションにセンサ信号を提供する方法であって、
非周期的サンプリングレートで前記センサ信号をサンプリングして非周期的サンプルをもたらすステップと、
前記非周期的サンプルをデインターリーブするステップと
を含み、前記非周期的サンプルをデインターリーブする前記ステップは、
前記非周期的サンプルの第1のサブセットを第1のアプリケーションにルーティングするステップであって、前記第1のサブセットは、第1の周期的サンプリングレートによるサンプルを表す、ステップと
前記非周期的サンプルの第2のサブセットを第2のアプリケーションにルーティングするステップであって、前記第2のサブセットは、第2の周期的サンプリングレートによるサンプルを表し、前記第1の周期的サンプリングレートは、前記第2の周期的サンプリングレートとは異なる、ステップと
を含む、方法。
【請求項２】
前記第1の周期的サンプリングレートは、基準レートのN倍であり、前記第2の周期的サンプリングレートは、前記基準レートのM倍であり、NおよびMは正の整数で、Mに対するNおよびNに対するMの比率はいずれも非整数である、請求項1に記載の方法。
【請求項３】
前記第1のアプリケーションから前記第1の周期的サンプリングレートによるサンプルに対する第1の要求を受信するステップと、
前記第2のアプリケーションから前記第2の周期的サンプリングレートによるサンプルに対する第2の要求を受信するステップと
をさらに含む、請求項1に記載の方法。
【請求項４】
メモリに前記非周期的サンプルを書き込むステップ
をさらに含み、
前記非周期的サンプルをデインターリーブする動作は、前記メモリから前記非周期的サンプルを読み取るステップをさらに含む、
請求項1に記載の方法。
【請求項５】
前記第1および第2のサブセットは、重複するサブセットを含む、請求項1に記載の方法。
【請求項６】
前記第1の周期的サンプリングレートおよび前記第2の周期的サンプリングレートに基づいて、前記非周期的サンプリングレートを決定するステップをさらに含む、請求項1に記載の方法。
【請求項７】
第3のアプリケーションから第3の周期的サンプリングレートによるサンプルに対する第3の要求を受信するステップであって、前記第3の周期的サンプリングレートは、前記第1および第2の周期的サンプリングレートとは異なる、ステップと、
前記第1、第2および第3の周期的サンプリングレートに基づいて、前記非周期的サンプリングレートを決定するステップと
をさらに含み、
前記非周期的サンプルをデインターリーブする動作は、前記非周期的サンプルの第3のサブセットを前記第3のアプリケーションにルーティングするステップをさらに含み、前記第3のサブセットは、前記第3の周期的サンプリングレートによるサンプルを表す、
請求項1に記載の方法。
【請求項８】
第1の持続期間の経過後に終了するようにタイマーをセットするステップと、
前記第1の持続時間の終了に基づいて第2の持続時間の経過後に終了するように前記タイマーをセットするステップと、
前記第2の持続時間の終了に基づいて第3の持続時間の経過後に終了するように前記タイマーをセットするステップと
をさらに含み、
前記第1および第2の持続時間は、2つの異なる持続時間を含み、
前記第1、第2および第3の持続時間は、前記第1の周期的サンプリングレートおよび前記第2の周期的サンプリングレートから生じる、
請求項1に記載の方法。
【請求項９】
各々が異なるサンプリングレートを要求するモバイルデバイスにおける複数のアプリケーションにセンサ信号を提供するためのモバイルデバイスであって、
前記センサ信号に結合する入力ポート、非周期的サンプリングレートに基づく非周期的トリガに結合する制御ポート、および前記非周期的サンプリングレートで非周期的サンプルを提供する出力ポートを含むサンプラと、
前記非周期的サンプルに結合する入力ポート、第1の周期的サンプリングレートで前記非周期的サンプルの第1のサブセットを第1のアプリケーションにルーティングする第1の出力ポート、および第2の周期的サンプリングレートで前記非周期的サンプルの第2のサブセットを第2のアプリケーションにルーティングする第2の出力ポートを含むデインターリーバと
を含み、
前記第1および第2の周期的サンプリングレートは互いに異なる、
モバイルデバイス。
【請求項１０】
前記デインターリーバは、
前記第1の周期的サンプリングレートを表すデインターリービング制御信号に結合する第1の制御ポートと、
前記第2の周期的サンプリングレートを表すデインターリービング制御信号に結合する第2の制御ポートと
をさらに含む、請求項9に記載のモバイルデバイス。
【請求項１１】
前記第1の周期的サンプリングレートは基準レートのN倍であり、前記第2の周期的サンプリングレートは前記基準レートのM倍であり、NおよびMは正の整数で、Mに対するNおよびNに対するMの比率はいずれも非整数である、請求項9に記載のモバイルデバイス。
【請求項１２】
前記第1および第2のサブセットは、重複するサブセットを含む、請求項9に記載のモバイルデバイス。
【請求項１３】
前記サンプラおよび前記デインターリーバに結合され、前記非周期的サンプルを保有するように構成されたメモリをさらに含む、請求項9に記載のモバイルデバイス。
【請求項１４】
前記非周期的サンプリングレートは、前記第1の周期的サンプリングレートおよび前記第2の周期的サンプリングレートに基づく、請求項9に記載のモバイルデバイス。
【請求項１５】
前記デインターリーバは、
第3の周期的サンプリングレートで前記非周期的サンプルの第3のサブセットを第3のアプリケーションにルーティングする第3の出力ポート
をさらに含み、
前記第1、第2および第3の周期的サンプリングレートは互いに異なる、
請求項9に記載のモバイルデバイス。
【請求項１６】
各々が異なるサンプリングレートを要求するモバイルデバイスにおける複数のアプリケーションにセンサ信号を提供するためのモバイルデバイスであって、
非周期的サンプリングレートで前記センサ信号をサンプリングして非周期的サンプルをもたらすための手段と、
前記非周期的サンプルをデインターリーブするための手段と
を含み、前記非周期的サンプルをデインターリーブするための前記手段は、
前記非周期的サンプルの第1のサブセットを第1のアプリケーションにルーティングするための手段であって、前記第1のサブセットは、第1の周期的サンプリングレートによるサンプルを表す、手段と、
前記非周期的サンプルの第2のサブセットを第2のアプリケーションにルーティングするための手段であって、前記第2のサブセットは、第2の周期的サンプリングレートによるサンプルを表し、前記第1の周期的サンプリングレートは、前記第2の周期的サンプリングレートとは異なる、手段と
を含む、モバイルデバイス。
【請求項１７】
各々が異なるサンプリングレートを要求するモバイルデバイスにおける複数のアプリケーションにセンサ信号を提供するためのモバイルデバイスであって、プロセッサおよびメモリを含み、前記メモリは、
非周期的サンプリングレートで前記センサ信号をサンプリングして非周期的サンプルをもたらすようにサンプラに命令する動作と、
前記非周期的サンプルをデインターリーブする動作と
のソフトウェア命令を含み、前記非周期的サンプルをデインターリーブする動作の前記ソフトウェア命令は、
前記非周期的サンプルの第1のサブセットを第1のアプリケーションにルーティングする動作であって、前記第1のサブセットは、第1の周期的サンプリングレートによるサンプルを表す、動作と
前記非周期的サンプルの第2のサブセットを第2のアプリケーションにルーティングする動作であって、前記第2のサブセットは、第2の周期的サンプリングレートによるサンプルを表し、前記第1の周期的サンプリングレートは、前記第2の周期的サンプリングレートとは異なる、動作と
のソフトウェア命令を含む、モバイルデバイス。
【請求項１８】
プログラムコードを記録するコンピュータ可読記録媒体であって、
非周期的サンプリングレートで前記センサ信号をサンプリングして非周期的サンプルをもたらすようにサンプラに命令する動作と、
前記非周期的サンプルをデインターリーブする動作と
のプログラムコードを含み、前記非周期的サンプルをデインターリーブする動作の前記プログラムコードは、
前記非周期的サンプルの第1のサブセットを第1のアプリケーションにルーティングする動作であって、前記第1のサブセットは、第1の周期的サンプリングレートによるサンプルを表す、動作と
前記非周期的サンプルの第2のサブセットを第2のアプリケーションにルーティングする動作であって、前記第2のサブセットは、第2の周期的サンプリングレートによるサンプルを表し、前記第1の周期的サンプリングレートは、前記第2の周期的サンプリングレートとは異なる、動作と
のプログラムコードを記録するコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般に、ワイヤレスデバイスにおいてセンサデータを非周期的にサンプリングするための装置および方法に関する。より詳細には、本開示は、非周期的サンプリング済みソースから様々なサンプリングレートを要求するアプリケーションに周期的サンプルを提供することに関する。
【背景技術】
【０００２】
単一のモバイルデバイスは、複数のアプリケーションが同時に実行されることを許容することができる。センサデータを要求するいくつかのアプリケーションが、ユーザのモバイルデバイス内でしばしば同時に稼働する。これらのアプリケーションのうちの2つ以上が、共通のタイプのセンサまたは同じセンサによるセンサ測定を必要とすることがある。多くの場合、個別のアプリケーションからのセンサデータに対する要求は異なる。すなわち、1つのアプリケーションがセンサに対して、第1の周期的サンプリングレートによるサンプルを要求することがある一方、第2のアプリケーションは同じセンサに対してであるが、第2の周期的サンプリングレートによるデータを要求することがある。
【０００３】
典型的には、アプリケーションは周期的レートによるセンサ測定を要求するが、第1のアプリケーションがセンサ測定をしばしば必要とすることがある一方で、第2のアプリケーションは同じセンサによる測定をさほど頻繁には使用しないことがある。たとえば、第1のアプリケーションは、(50Hzのサンプリングレートに相当する)20ミリ秒(ms)ごとの測定を要求し、第2のアプリケーションは、(40Hzのサンプリングレートに相当する)25msごとの測定を要求することがある。
【０００４】
様々なサンプリングレートに対応するためにいくつかの手法が利用できる。第1の手法では、モバイルデバイスは、各々がそれ自体のサンプラを有する対応する数のセンサを用意することができる。すなわち、センサ測定を要求するN個のアプリケーションが存在する場合、対応するN個またはそれよりも多いセンサが存在する。この手法では、複数の重複するセンサおよびサンプラが必要であり、各々が電力を消費し、回路版の場所(circuit board real estate)を必要とする。
【０００５】
第2の手法では、センサは単一であるが、サンプラは複数である。この単一センサ手法は、電力をある程度節約するという利点の一方で、複数のサンプラを持つことに伴う不利点を有する。
【０００６】
第3の手法は、単一のセンサと単一のサンプラとの組合せである。この手法では、より高いオーバーサンプリングされたサンプリングレートを使用して、様々な要求されるサンプリングレートの各々が、オーバーサンプリングされたサンプリングレートの中で見つけられるようにする。すなわち、周期的サンプリングレートが、様々なサンプリングレートの最小公倍数(LCM)に基づいて選択され、典型的には高いLCMサンプリングレートおよび多数の未使用サンプルがもたらされる。オーバーサンプリングされたサンプリングレートは、要求されるサンプリングレートの各々の倍数の最小値である。たとえば、50Hz(第1のアプリケーションのサンプリングレート)および40Hz(第2のアプリケーションのサンプリングレート)のLCMは、200Hz(サンプラのサンプリングレート)である。この場合、サンプラは、第1のアプリケーションで必要なレートの4倍レートで、かつ第2のアプリケーションで必要なレートの5倍のレートで、サンプルを提供する。
【０００７】
利用可能ないくつかの手法では、各々は、追加のハードウェア要件、電力消費および未使用のサンプルを処理するのに必要な時間の点で様々な欠点を有する。
【発明の概要】
【課題を解決するための手段】
【０００８】
各々異なるサンプリングレートによる複数の出力信号を作成するためのセンサ信号の効率的な同時サンプリングのための装置および方法が提供される。
【０００９】
実施形態は、非周期的なサンプリングレートまたはサンプリングスケジュールを決定して、異なるサンプリングレートによるサンプルを表すサンプルのみが取られるようにする。非周期的サンプルが取られ、次いでデインターリーブされて、特定のアプリケーションまたはユーザにとって必要なサンプルがフィルタ処理される。たとえば、非周期的サンプルの第1のサブセットが、第1の周期的サンプリングレートで第1のアプリケーションにルーティングされ、非周期的サンプルの第2の重複するサブセットが、異なる第2の周期的サンプリングレートで第2のアプリケーションにルーティングされる。その結果、非周期的サンプルは、サブセットのすべての組合せにすぎない。典型的には、そのような非周期的サンプリングにより、取られるサンプルの総数が減り、直接の結果として、処理され格納される必要があるサンプルの数が減り、未使用のサンプルのサンプリング、処理および格納のために本来であれば消費される電力も減る。
【００１０】
いくつかの態様によれば、各々が異なるサンプリングレートを要求するモバイルデバイスにおける複数のアプリケーションにセンサ信号を提供する方法が開示され、本方法は、非周期的サンプリングレートでセンサ信号をサンプリングして非周期的サンプルをもたらすステップと、非周期的サンプルをデインターリーブするステップとを含み、非周期的サンプルをデインターリーブするステップは、非周期的サンプルの第1のサブセットを第1のアプリケーションにルーティングするステップであって、第1のサブセットは、第1の周期的サンプリングレートによるサンプルを表す、ステップと、非周期的サンプルの第2のサブセットを第2のアプリケーションにルーティングするステップであって、第2のサブセットは、第2の周期的サンプリングレートによるサンプルを表し、第1の周期的サンプリングレートは第2の周期的サンプリングレートとは異なる、ステップとを含む。
【００１１】
いくつかの態様によれば、各々が異なるサンプリングレートを要求するモバイルデバイスにおける複数のアプリケーションにセンサ信号を提供するためのモバイルデバイスが開示され、本デバイスは、センサ信号に結合する入力ポート、非周期的サンプリングレートに基づく非周期的トリガに結合する制御ポート、および非周期的サンプリングレートで非周期的サンプルを提供する出力ポートを含むサンプラと、非周期的サンプルに結合する入力ポート、第1の周期的サンプリングレートで非周期的サンプルの第1のサブセットを第1のアプリケーションにルーティングする第1の出力ポート、および第2の周期的サンプリングレートで非周期的サンプルの第2のサブセットを第2のアプリケーションにルーティングする第2の出力ポートを含むデインターリーバとを含み、第1および第2の周期的サンプリングレートは互いに異なる。
【００１２】
いくつかの態様によれば、各々が異なるサンプリングレートを要求するモバイルデバイスにおける複数のアプリケーションにセンサ信号を提供するためのモバイルデバイスが開示され、本デバイスは、非周期的サンプリングレートでセンサ信号をサンプリングして非周期的サンプルをもたらすための手段と、非周期的サンプルをデインターリーブするための手段とを含み、非周期的サンプルをデインターリーブするための手段は、非周期的サンプルの第1のサブセットを第1のアプリケーションにルーティングするための手段であって、第1のサブセットは、第1の周期的サンプリングレートによるサンプルを表す、手段と、非周期的サンプルの第2のサブセットを第2のアプリケーションにルーティングするための手段であって、第2のサブセットは、第2の周期的サンプリングレートによるサンプルを表し、第1の周期的サンプリングレートは、第2の周期的サンプリングレートとは異なる、手段とを含む。
【００１３】
いくつかの態様によれば、各々が異なるサンプリングレートを要求するモバイルデバイスにおける複数のアプリケーションにセンサ信号を提供するためのモバイルデバイスが開示され、本デバイスは、プロセッサおよびメモリを含み、メモリは、非周期的サンプリングレートでセンサ信号をサンプリングして非周期的サンプルをもたらすようにサンプラに命令する動作と、非周期的サンプルをデインターリーブする動作とのソフトウェア命令を含み、非周期的サンプルをデインターリーブする動作のソフトウェア命令は、非周期的サンプルの第1のサブセットを第1のアプリケーションにルーティングする動作であって、第1のサブセットは、第1の周期的サンプリングレートによるサンプルを表す、動作と、非周期的サンプルの第2のサブセットを第2のアプリケーションにルーティングする動作であって、第2のサブセットは、第2の周期的サンプリングレートによるサンプルを表し、第1の周期的サンプリングレートは、第2の周期的サンプリングレートとは異なる、動作とのソフトウェア命令を含む。
【００１４】
いくつかの態様によれば、プログラムコードを記憶したコンピュータ可読媒体が開示され、本コンピュータ可読媒体は、非周期的サンプリングレートでセンサ信号をサンプリングして非周期的サンプルをもたらすようにサンプラに命令する動作と、非周期的サンプルをデインターリーブする動作とのプログラムコードを含み、非周期的サンプルをデインターリーブする動作のプログラムコードは、非周期的サンプルの第1のサブセットを第1のアプリケーションにルーティングする動作であって、第1のサブセットは、第1の周期的サンプリングレートによるサンプルを表す、動作と、非周期的サンプルの第2のサブセットを第2のアプリケーションにルーティングする動作であって、第2のサブセットは、第2の周期的サンプリングレートによるサンプルを表し、第1の周期的サンプリングレートは、第2の周期的サンプリングレートとは異なる、動作とのプログラムコードを含む。
【００１５】
例として様々な態様について示し、記述した以下の詳細な説明から、他の態様が当業者に容易に明らかになることを理解されたい。図面および詳細な説明は、本質的に例示的なものと見なされるべきであって、限定的なものと見なされるべきではない。
【図面の簡単な説明】
【００１６】
【図１】別個のサンプラを介して共通のセンサからサンプルを受信する2つのアプリケーションを示す図である。
【図２】高い周期的レートでセンサ信号をオーバーサンプリングして、2つのより低いサンプリングレートでサンプルを効果的に提供するモバイルデバイスを示す図である。
【図３Ａ】第1の周期的サンプリングレートでセンサ信号をサンプリングするための第1の周期的スケジュールの例を示す図である。
【図３Ｂ】第2の周期的サンプリングレートでセンサ信号をサンプリングするための第2の周期的スケジュールの例を示す図である。
【図４Ａ】周期的オーバーサンプリングレートでセンサ信号をオーバーサンプリングするための周期的サンプリングスケジュールの例を示す図である。
【図４Ｂ】対応するオーバーサンプリングトリガリング信号の例を示す図である。
【図５Ａ】本発明のいくつかの実施形態による、非周期的サンプリングレートでセンサ信号をサンプリングするための非周期的サンプリングスケジュールの例を示す図である。
【図５Ｂ】本発明のいくつかの実施形態による、対応する非周期的トリガリング信号の例を示す図である。
【図６】本発明のいくつかの実施形態による、各々が異なるサンプリングレートを要求する複数のアプリケーションにセンサ信号を提供するためのモバイルデバイスを示す図である。
【図７】本発明のいくつかの実施形態による、各々が異なるサンプリングレートを要求する複数のアプリケーションにセンサ信号を提供するためのモバイルデバイスの流れ図である。
【図８】本発明のいくつかの実施形態による、各々が異なるサンプリングレートを要求する複数のアプリケーションにセンサ信号を提供するためのモバイルデバイスのメッセージング図である。
【図９】本発明のいくつかの実施形態による、各々が異なるサンプリングレートを要求する複数のアプリケーションにセンサ信号を提供するためのモバイルデバイスにおけるプロセッサを示す図である。
【図１０】本発明のいくつかの実施形態による、非周期的デインターリーバを示す図である。
【図１１】本発明のいくつかの実施形態による、サンプル間の最小持続時間を示すタイミング図である。
【発明を実施するための形態】
【００１７】
添付の図面に関する下記の詳細な説明は、本開示の様々な態様の説明として意図されており、本開示が実行され得る唯一の態様を表すように意図されているわけではない。本開示で説明する各態様は、本開示の一例または例示として提供されるにすぎず、必ずしも他の態様よりも好ましいまたは有利であると解釈されるべきではない。詳細な説明は、本開示の完全な理解をもたらす目的で、具体的な詳細を含んでいる。しかし、本開示がこれらの具体的な詳細なしに実行され得ることが、当業者には明らかであろう。場合によっては、本開示のコンセプトを曖昧にするのを回避する目的で、周知の構造およびデバイスがブロック図の形式で示されている。頭字語および他の説明語は、便宜上、明確にするためにのみ使用されることがあり、本開示の範囲を限定するように意図されているわけではない。
【００１８】
上述の手法の各々により、1つまたは複数のサンプラは、各々が周期的サンプリングレートを有する。しかしながら、本発明の実施形態によれば、単一のサンプラが使用され、非周期的サンプリングレートが使用される。
【００１９】
図1は、別個のサンプラを介して共通のセンサからサンプルを受信する2つのアプリケーションを示している。上述の第2の手法によれば、1つのセンサ10が2つのサンプラ40に接続される。センサ10は、共通のセンサ信号20を両方のサンプラ40に提供し、これらのサンプラ40は次に、対応するサンプル71、72をアプリケーション1001、1002に提供する。第1のサンプラ40は、第1のトリガ61を受信する。第1のトリガ61は、第1の周期的サンプリングレート51(たとえば、50Hz)を伝達する。第1のサンプラ40は、第1の周期的サンプリングレート51で生じるサンプル71を第1のアプリケーション1001に提供する。同様に、第2のサンプラ40は、第2のトリガ62を受信する。第2のトリガ62は、第2の周期的サンプリングレート52(たとえば、40Hz)を伝達する。第2のサンプラ40は、第2の周期的サンプリングレート52で生じるサンプル72を第2のアプリケーション1002に提供する。やはり、この手法も複数のサンプラという不利点を有し、各アプリケーションが共通のセンサに対しセンササンプルを要求する。また、複数のサンプラへのサンプリング要求がセンサで衝突することがあり、それによりセンサは、各サンプリングコマンドを受信できないことがある。
【００２０】
図2は、高い周期的レートでセンサ信号をオーバーサンプリングして、2つのより低いサンプリングレートでサンプルを効果的に提供するモバイルデバイスを示している。2つの別個のサンプラの代わりに、単一のサンプラ40がセンサ10からセンサ信号20を受け取る。サンプラは、トリガリング信号(LCM-サンプリングトリガ160)によってトリガされ、周期的サンプリングレート(周期的LCM-サンプリングレート150)で動作し、周期的なオーバーサンプリングされたサンプリングレート(LCM-サンプリングレート180)でLCMサンプル180を提供する。LCM-サンプリングレート150は、対応する2つ以上の異なるアプリケーションによって要求される2つ以上の異なる周期的サンプリングレートの最小公倍数(LCM)に設定される。
【００２１】
LCM-サンプリングレート150は、アプリケーションによって要求されるデータレートよりも高い。典型的なアーキテクチャでは、LCMサンプル180は、サンプラ40から周期的デインターリーバ110にバス80を介して渡される。より高いLCM-サンプリングレート150では、バス移行は、アプリケーションのうちの1つによって要求されるサンプリングレートのうちの1つで必要な電力よりもはるかに大きい電力を必要とする。周期的デインターリーバ110は、マルチプレクサまたはスイッチとして働いて、様々なアプリケーションに各々が必要とするサンプルのみを提供し、残りのサンプルを処分する。図示のケースでは、周期的デインターリーバ110は、周期的LCM-サンプリングレートで到着するLCMサンプル180を受け取り、第1のアプリケーション1001によって要求される第1のサンプリングレートでサンプル71を転送し、第2のアプリケーション1002によって要求される第2のサンプリングレートでサンプル72を転送し、残りの不要なサンプルを処分する。したがって、タイミングによって、LCMサンプル180からの特定の各サンプルは、次のように処理される。(1)単一のアプリケーションのみに転送される、(2)2つ以上のアプリケーションに転送される、または(3)処分され、どのアプリケーションにも提供されない。コントローラ120は、周期的LCM-サンプリングレート150に基づいてLCM-サンプリングトリガ160を生成し、周期的LCM-サンプリングレート150は結果的に、第1および第2の周期的サンプリングレート51、52に基づく。コントローラ120はまた、デインターリービング制御信号170を提供し、デインターリービング制御信号170は周期的デインターリーバ110によって使用されて、入力されるLCMサンプル180がルーティングまたは解析される。周期的デインターリーバ110およびコントローラ120、ならびに第1および第2のアプリケーション1001および1002は、各々プロセッサ100上でルーチンとして実行され得る。あるいは、周期的デインターリーバ110およびコントローラ120は、ハードウェアで、またはハードウェアとソフトウェアとの組合せとして実装され得る。
【００２２】
図3Aおよび図3Bは、第1の周期的サンプリングレートでセンサ信号をサンプリングするための第1の周期的スケジュール、および第2の周期的サンプリングレートでセンサ信号をサンプリングするための第2の周期的スケジュールの例を示している。図3Aは、時間tに始まる第1の周期的サンプリングレート51で(たとえば、20msごとの時間{t、t+20、t+40、t+60、t+80、t+100、...}に、または50Hzのレートで)要求する第1のアプリケーション1001で使用されるサンプル71のタイミングを示している。図3Bは、時間tに始まる第2の周期的サンプリングレート52で(たとえば、25msごとの時間{t、t+25、t+50、t+75、t+100、...}に、または40Hzのレートで)要求する第2のアプリケーション1002で使用されるサンプル72のタイミングを示している。この例では、第1および第2のアプリケーションのサンプル71および72は、時間{t、t+100、t+200、...}において共通のサンプルを有する。
【００２３】
図4Aおよび図4Bは、周期的オーバーサンプリングレートでセンサ信号をオーバーサンプリングするための周期的サンプリングスケジュール、および対応するオーバーサンプリングトリガリング信号の例を示している。図4Aでは、サンプル180は、第1または第2の周期的サンプリングレート51、52よりもはるかに高いレートで取られる。周期的LCM-サンプリングレート150は、第1および第2の周期的サンプリングレート51、52のLCMに等しくなるように選択される。提供される例では、周期的LCM-サンプリングレート150で動作するサンプラ40は、サンプル180を5msごとの時間{t、t+5、t+10、t+15、t+20、...}に、または200Hzのレートで作成する。図4Bは、対応するLCM-サンプリングトリガ信号160を示しており、5msごとの負のエッジ(negative edge)により、周期的トリガリング信号は200Hzとなる。
【００２４】
周期的トリガリング信号160が高レートであることから、バス80でデータビットが頻繁に移行することになり、取られるサンプルの大半は、どのアプリケーションでも使用されることはない。たとえば、上述の例では、(1)20個のサンプルのうち4個は、第1のアプリケーション1001によってのみ使用され、(2)20個のサンプルのうち3個は、第2のアプリケーション1002によってのみ使用され、(3)20個のサンプルのうち1個は、第1および第2のアプリケーション1001、1002によって使用される。その結果、20個のサンプルのうちの残りの12個は処分される。これらの不要なサンプルは、サンプラ40で作成するために電力を消費し、データ移行のためにバス80で電力を消費したことになる。
【００２５】
本発明の実施形態は、取られたサンプルの総数を減らし、その結果、バス移行の総数を減らすことによって、本来であれば消費される電力を減らす。
【００２６】
図5Aおよび図5Bは、本発明のいくつかの実施形態による、非周期的サンプリングレートでセンサ信号をサンプリングするための非周期的サンプリングスケジュール、および対応する非周期的トリガリング信号の例を示している。
【００２７】
図5Aでは、サンプルは、アプリケーションのうちの少なくとも1つによって必要とされる時間で示されている。第1および第2のアプリケーション1001、1002は、第1のサンプリングレート51および第2のサンプリングレート52によるサンプルを要求する。サンプラ40は、2つのアプリケーションのうちの少なくとも1つがサンプルを要求したときのみ、サンプル280を作成する。その結果、サンプル280は、非周期的サンプリングレート250で生じる。不要なサンプルがサンプラ40によって取られることはない。たとえば、第1および第2の周期的サンプリングレート51および52がそれぞれ50Hzおよび40Hzである場合、サンプルは時間{t、t+20、t+25、t+40、t+50、t+60、t+75、t+80、t+100、...}に生じる。非周期的サンプリングレート250は、複数の周期的サンプリングレートから導出される。たとえば、第1の周期的サンプリングレートが基準レートのN倍であり、第2の周期的サンプリングレートが基準レートのM倍であり、NおよびMが異なる正の整数であることがある。さらに、場合によっては、Mに対するNおよびNに対するMの比率はいずれも非整数である。また、場合によっては、NおよびMはいずれも1より大きい。周期的サンプリングレートに基づくと、サンプルの生じた周期的サブセットが重複する(すなわち、いくつかの共通のサンプルを有する)ことがある。
【００２８】
図5Bは、対応する非周期的トリガ信号260を示しており、これは、各サンプルが必要とされるときに対応する時間に生じる。非周期的トリガ信号260をサンプラ40が使用して、各生サンプルをトリガする。
【００２９】
いくつかの実施形態では、タイマーを使用して非周期的トリガリング信号260を生成する。図示の例では、時間tを現在時間と見なし、タイマーが第1の持続時間(D1=|(t+20)-t|)の経過後に終了するようにセットされ得る。第1の持続時間の経過後の時間t+20にタイマーが終了することに基づいて、非周期的トリガリング信号260の移行が行われ、タイマーが第2の持続時間(D2=|(t+25)-(t+20)|)の経過後に終了するようにリセットされる。タイマーは次に、第2の持続時間の経過後の時間t+25に終了する。第2の持続時間の経過後にタイマーが終了することに基づいて、非周期的トリガリング信号260の別の移行が行われ、タイマーが第3の持続時間(D3=|(t+40)-(t+25)|)の経過後に終了するようにリセットされる。非周期的サンプリングレートの場合、第1、第2および第3の持続時間は必ずしも等しいわけではない。この例では、第1の持続時間は20msであり、第2の持続時間は5msであり、第3の持続時間は15msである。周期的サンプルの場合、連続するサンプル間の持続時間は一定時間である。
【００３０】
図6は、本発明のいくつかの実施形態による、各々が異なるサンプリングレートを要求する複数のアプリケーションにセンサ信号を提供するためのモバイルデバイスを示している。いくつかの実施形態は同じサンプリングレートを要求する少なくとも2つのアプリケーションを有し、別のアプリケーションは異なるサンプリングレートを要求することを理解されたい。モバイルデバイス1は、センサ10、サンプラ40、プロセッサ200、およびサンプラをプロセッサ200に結合するバス80を含む。プロセッサ200は、メモリ230、コントローラ220、非周期的デインターリーバ210、ならびに第1および第2のアプリケーション1001、1002を含む。コントローラ220、非周期的デインターリーバ210およびアプリケーションは、各々プロセッサ200上で動作するモジュールであり得る。各モジュールは、モジュールの機能を実施するソフトウェアであり得る。センサ10は、アナログセンサ信号20をサンプラ40に提供する。サンプラ40は、センサ信号20に結合する入力ポート、非周期的サンプリングレート250に基づく非周期的トリガリング信号260に結合する制御ポート、および非周期的サンプリングレート250で非周期的サンプル280を提供する出力ポートを含む。非周期的サンプリングレート250で負の移行(negative transitions)をもたらす非周期的トリガリング信号260によって提示されるタイミングに基づき、サンプラ40は、バス80を介してプロセッサ200にサンプル280を提供する。サンプラ40は、非周期的サンプリングレート250でセンサ信号20をサンプリングして、非周期的サンプル280をもたらすための手段として働く。
【００３１】
上記のように、過剰なバス移行は、高レートの周期的サンプリングに伴い格段に大きい電力を消費する。より低いレートの非周期的サンプリングを使用することで、バス上での電力の消費は大幅に減る。サンプル280は、非周期的トリガリング信号260によってもたらされる移行におけるアナログセンサ信号20のデジタル化バージョンである。非周期的デインターリーバ210は、別個のアプリケーション1001、1002が使用する、入力されるサンプル280をコピーする。非周期的デインターリーバ210は、デインターリーブするための手段として働く。非周期的デインターリーバ210は、非周期的サンプル280に結合する入力ポート、第1の周期的サンプリングレート51で非周期的サンプルの第1のサブセット71を第1のアプリケーション1001にルーティングする第1の出力ポート、および第2の周期的サンプリングレート52で非周期的サンプルの第2のサブセット72を第2のアプリケーション1002にルーティングする第2の出力ポートを含む。周期的サンプルのサブセットのすべてを組み合わせることで、非周期的サンプル280が得られる。上記のように、第1および第2の周期的サンプリングレートは互いに異なる。非周期的デインターリーバ210は、第1の周期的サンプリングレートに結合する第1の制御ポート、第2の周期的サンプリングレートに結合する第2の制御ポートも含む。第1および第2の周期的サンプリングレートは、デインターリービング制御信号270によって表され得る。
【００３２】
非周期的デインターリーバ210はメモリ230を使用して、1つのバッファまたは各アプリケーションに対応するバッファにサンプル280を格納またはバッファリングすることができる。このようにして、非周期的デインターリーバ210に入る各サンプル280は、アプリケーションのうちの1つまたは複数に供給される。たとえば、第1のサンプル280は、第1のアプリケーション1001にはサンプル71として、第2のアプリケーション1002にはサンプル72として、第1のアプリケーション1001と第2のアプリケーション1002の両方に提供される。第2のサンプル280は、サンプル71として第1のアプリケーション1001にのみ提供される。第3のサンプル280は、サンプル72として第2のアプリケーション1002にのみ提供される。よって、第1のアプリケーション1001は第1の周期的サンプリングレート51でサンプル71を受信し、第2のアプリケーション1002は第2の周期的サンプリングレート52でサンプル72を受信する。したがって、タイミングによって、非周期的サンプル280からの特定の各サンプルは、次のうちのいずれかとなる。(1)単一のアプリケーションのみに転送される、(2)2つ以上のアプリケーションに転送される。サンプル280が処分されることはない。したがって、各サンプル280は少なくとも1つのアプリケーションに提供される。
【００３３】
特定のサンプル280を受信する1つまたは複数のアプリケーションを決定するためのコントロールが、コントローラ220によって生成されるデインターリービング制御信号270によって決定される。デインターリービング制御信号270は、各アプリケーション向けの別個の制御信号であってよく、これは、その制御信号によって表される特定のアプリケーションに特定のサンプル280が渡されるかを示す。あるいは、デインターリービング制御信号270はスケジュールであってよく、この場合、非周期的デインターリーバ210はスケジュールを解釈して、入力されるサンプル280のルーティングを決定する。
【００３４】
コントローラ220は、デインターリービング制御信号270および非周期的トリガリング信号260を、要求される周期的サンプリングレートに基づいて設定する。たとえば、第1および第2の周期的サンプリングレート51、52がコントローラ220に提供される。コントローラ220は、これらの要求される周期的レートに基づいてサンプリングスケジュールを決定する。アプリケーションの要求に応じて、一方のレートの倍数は他方のレートに等しいことがある。これらの場合、2つのレートのうちの大きい方に等しい周期的サンプリングレートが使用される。いくつかの場合において、アプリケーションは2つの異なる周期的サンプリングレートを要求し、第1の要求される周期的サンプリングレートのN倍は、第2の要求される周期的サンプリングレートのM倍に等しく(すなわち、N*R1=M*R2であって、R1は第1の周期的サンプリングレートであり、R2は第2の周期的サンプリングレートである)、NおよびMは等しくない、1よりも大きい正の整数であることがある。これらの場合、デインターリーバ210は、サンプルをデインターリーブする過程で、両方のアプリケーションに対し共通のサンプル280を周期的に供給する。いくつかの場合において、第1の周期的サンプリングレートは基準レートのN倍であり、第2の周期的サンプリングレートは基準レートのM倍であり、NおよびMは正の整数で、Mに対するNおよびNに対するMの比率はいずれも非整数である。NおよびMが等しくない、1よりも大きい正の整数である場合、サンプル71およびサンプル72は重複するサブセットである。各場合において、サンプル71およびサンプル72を結合して、サンプル280によって表されるサンプルセットを形成する。
【００３５】
図7は、本発明のいくつかの実施形態による、各々が異なるサンプリングレートを要求する複数のアプリケーションにセンサ信号を提供するためのモバイルデバイスの流れ図を示している。
【００３６】
310において、モバイルデバイス1は、第1のアプリケーション1001から第1の周期的サンプリングレート51によるサンプル71に対する要求を受信する。320において、モバイルデバイス1は、第2のアプリケーション1002から第2の周期的サンプリングレート52によるサンプル72に対する要求を受信し、この場合、第1および第2の周期的サンプリングレートは互いに異なる。第1および第2のアプリケーション1001、1002は、プロセッサ200上で実行されるコードとしてモバイルデバイス1の中に常駐し得る。
【００３７】
330において、モバイルデバイス1は、第1および第2の周期的サンプリングレート51、52に基づいて非周期的サンプリングレート250を決定する。この流れ図を拡大して、第3のアプリケーションが第3の周期的サンプリングレートを要求してもよい。モバイルデバイス1は、第3のアプリケーションから第3の周期的サンプリングレートによるサンプルに対する要求を受信することができる。その場合には330において、モバイルデバイス1は、3つの周期的サンプリングレートに基づいて、非周期的サンプリングレート250を決定する。
【００３８】
340において、モバイルデバイス1は、非周期的サンプリングレート250でセンサ信号20をサンプリングして、非周期的サンプル280をもたらす。350において、モバイルデバイス1は、非周期的サンプルをメモリ230に書き込む。メモリ230は、プロセッサ200上の単一の入力レジスタ、1対のメモリロケーション、アプリケーションごとに1つのメモリロケーション、入力されるサンプル用のバッファ、または各アプリケーション用のバッファであってよい。
【００３９】
360および370において、モバイルデバイス1は、第1および第2のアプリケーション1001、1002のために非周期的サンプルをデインターリーブし、それによって、非周期的サンプルの第1のサブセット71を第1のアプリケーション1001にルーティングし、非周期的サンプルの第2のサブセット72を第2のアプリケーション1002にルーティングする。第1のサブセット71は、第1の周期的サンプリングレート51によるサンプルを表す。同様に、第2のサブセット72は、第2の周期的サンプリングレート52によるサンプルを表す。1つまたは複数の追加的アプリケーションの場合、非周期的サンプル280をデインターリーブする動作は、非周期的サンプルの第3のサブセットを第3のアプリケーションにルーティングする動作をさらに含み、第3のサブセットは、第3の周期的サンプリングレートによるサンプルを表す。
【００４０】
図8は、本発明のいくつかの実施形態による、各々が異なるサンプリングレートを要求する複数のアプリケーションにセンサ信号を提供するためのモバイルデバイスのメッセージング図を示している。モバイルデバイスは、センサ10、サンプラ40、ならびに第1、第2および第3のアプリケーション1001、1002、1003を実行するコントローラ220およびデインターリーバ210を備えたプロセッサ200を含む。センサ10は、アナログセンサ信号20をサンプラ40に提供する。
【００４１】
310において、第1のアプリケーション1001は、第1の周期的サンプリングレート51によるサンプル71に対する要求を送る。320において、第2のアプリケーション1002は、第2の周期的サンプリングレート52によるサンプル72に対する要求を送る。322において、第3のアプリケーション1003は、第3の周期的サンプリングレート53によるサンプル73に対する要求を送る。要求は、プロセッサ200内のコントローラモジュール220によって受信され、順番にまたは順不同でスケジュールされた時間に到着し得る。要求は、アプリケーションによって開始されてコントローラ220に提供される場合や、コントローラ220によってアプリケーションから引き出される場合がある。
【００４２】
330において、これまで受信された要求されたサンプリングレートに基づいて(たとえば、第2および第3のレートが要求されているが、第1のレート要求はまだ受信されていない)、コントローラ220は、非周期的サンプリングレート250を決定し、サンプラ40向けに、決定された非周期的サンプリングレート250に基づいて非周期的トリガリング信号260を生成する。非周期的トリガリング信号260は、(図5Bに示すような)パルス信号であってよく、またはデジタル制御コマンドの形式であってもよい。コントローラ220は、新しいサンプリングレートに対する追加的要求が受信されたときや、古いサンプリングレートに対する要求が失効したときに、この非周期的トリガリング信号260を更新する。
【００４３】
サンプラ40は、非周期的トリガリング信号260、およびセンサ10がアクティブ化モードにある間にセンサ10によって継続的に生成されるアナログセンサ信号20を受信する。270において、非周期的トリガリング信号260に応答して、サンプラ40は非周期的サンプリングレート250でサンプル280を返す。非周期的トリガリング信号260が新しい非周期的サンプリングレートに更新されるか、サンプリングを終了させるまで、このプロセスは続く。
【００４４】
360および370において、非周期的デインターリーバ210は、受信された非周期的サンプル280をインターリーブする。非周期的デインターリーバ210は、非周期的サンプル280のストリームを受信し、サンプルの周期的ストリーム(たとえば、第1のアプリケーション1001向けの第1のサンプリングレート51による周期的サンプル71、第2のアプリケーション1002向けの第2のサンプリングレート52による周期的サンプル72、および第3のアプリケーション1003向けの第3のサンプリングレート53による周期的サンプル73)をルーティングまたは解析する。
【００４５】
図9は、本発明のいくつかの実施形態による、各々が異なるサンプリングレートを要求する複数のアプリケーションにセンサ信号を提供するためのモバイルデバイスにおけるプロセッサを示している。モバイルデバイスは、非周期的デインターリーバ210、コントローラ220、ならびに第1、第2、第3および第4のアプリケーション1001、1002、1003、1004を備えたプロセッサ200を含む。コントローラ220は、それぞれの4つの周期的サンプリングレート51、52、53、54を受信し、4つの周期的サンプリングレート51、52、53、54に基づいて非周期的サンプリングレート250を決定し、非周期的サンプリングレート250に基づいてサンプラ40向けに非周期的トリガリング信号260を生成し、同じく非周期的サンプリングレート250に基づいてデインターリービング制御信号270を生成する。非周期的デインターリーバ210は、デインターリービング制御信号270に基づいて、適切な1つまたは複数のアプリケーション1001、1002、1003、1004向けに、入力されるサンプル280を各々ルーティングまたは解析して、それぞれの周期的サンプルストリーム71、72、73、74を作成する。
【００４６】
図10は、本発明のいくつかの実施形態による、非周期的デインターリーバを示している。非周期的デインターリーバ210は、各出力ストリーム71、72、73、74のための1つのスイッチを含む。スイッチは、それぞれのアプリケーション向けに非周期的サンプルのサブセットをルーティングまたは解析するための手段として働く。各スイッチは、デインターリービング制御信号270から導出された別個のコントロールによって制御される。たとえば、第1のスイッチは、非周期的サンプル280を周期的サンプルストリーム71に結合する。スイッチは、ハードウェアまたはソフトウェアで実装できる。ソフトウェアの場合、非周期的デインターリーバ210は、非周期的サンプル280からの入力サンプルをメモリロケーションにコピーして、第1のアプリケーションが、周期的サンプル71の次のサンプルとしてサンプルを受信できるようにする。
【００４７】
図11は、本発明のいくつかの実施形態による、サンプル間の最小持続時間を示すタイミング図を表している。多くの場合、サンプラは、サンプル間の最小持続時間「D」を要求し、これは通常、ヘルツで最大サンプリング周波数1/Dによって表される。これらの場合、コントローラ220またはサンプラ40はトリガリング時間を遅らせて、最小間隔に合わせることができる。たとえば、前回のサンプルが時間tiに取られており、次のサンプルがtkに取られるようにスケジュールされるが、|ti-tk|<Dである場合、コントローラ220は次の時間を、時間ti+1に生じて|ti-ti+1|=Dとなるようにシフトさせることができる。あるいは、コントローラ220またはサンプラ40は、トリガリング時間を進めて、最小間隔の問題を回避することができる。たとえば、前回のサンプルがtiに取られており、次のサンプルがtkに取られるようにスケジュールされるが、|ti-tk|<Dである場合、コントローラ220またはサンプラ40は時間tk(または時間ti+1)にサンプリングを省略し、時間tiにサンプルを使用して、時間tkにサンプルを表すことができる。あるいは、コントローラ220またはサンプラ40は、トリガリング時間を進めること、または遅らせることができる。たとえば、前回のサンプルがtiに取られており、次のサンプルがtkに取られるようにスケジュールされるが、|ti-tk|<D/2である場合、コントローラ220は時間tk(または時間ti+1)にサンプリングを省略し、時間tiにサンプルを使用して、時間tkにサンプルを表すことができる。D/2<|ti-tk|<Dである場合、コントローラ220またはサンプラ40は次の時間を、時間ti+1に生じて|ti-ti+1|=Dとなるようにシフトさせることができる。
【００４８】
図示のように、上述のモジュールは、個別に、または組合せでソフトウェア命令として実施できる。これらのソフトウェア命令は、プロセッサ200上で後に実行するためにコンピュータ可読媒体上にプログラムコードとして保存され得る。さらに、モバイルデバイス1は、プロセッサ200およびメモリ230を含むことができ、メモリ230は、これらのモジュールのうちの1つまたは複数を実行するためのこれらのソフトウェア命令を含む。
【００４９】
開示される態様の上記の説明は、当業者が本開示を作成または使用できるようにするために提供される。これらの態様への様々な修正が当業者には容易に明らかになることになり、本明細書に定義する一般原理は、本開示の趣旨や範囲を逸脱することなしに他の態様に適用され得る。
【符号の説明】
【００５０】
10  センサ
20  センサ信号
40  サンプラ
51  第1の周期的サンプリングレート
52  第2の周期的サンプリングレート
53  第3の周期的サンプリングレート
61  第1のトリガ
62  第2のトリガ
74  出力ストリーム
80  バス
100  プロセッサ
110  デインターリーバ
120  コントローラ
150  周期的LCM-サンプリングレート
170  デインターリービング制御信号
180  LCMサンプル
200  プロセッサ
210  非周期的デインターリーバ
220  コントローラ、コントローラモジュール
230  メモリ
250  非周期的サンプリングレート
260  非周期的トリガ信号、非周期的トリガリング信号
270  デインターリービング制御信号
280  サンプル、非周期的サンプル
1001  アプリケーション、第1のアプリケーション
1002  アプリケーション、第2のアプリケーション
1003  第3のアプリケーション
【図１】
0005526283.tif 000002
【図２】
0005526283.tif 000003
【図３Ａ】
0005526283.tif 000004
【図３Ｂ】
0005526283.tif 000005
【図４Ａ】
0005526283.tif 000006
【図４Ｂ】
0005526283.tif 000007
【図５Ａ】
0005526283.tif 000008
【図５Ｂ】
0005526283.tif 000009
【図６】
0005526283.tif 000010
【図７】
0005526283.tif 000011
【図８】
0005526283.tif 000012
【図９】
0005526283.tif 000013
【図１０】
0005526283.tif 000014
【図１１】
0005526283.tif 000015