添付の図面との関連で、以下の詳細な説明を参照することにより、本発明の実施例の様々な特徴について、更に容易に理解することができよう。添付図面においては、類似の参照符号により、類似の構造的要素を示している。
本発明の実施例は、信号又はプロセスを時間の関数としてサンプリングする段階(以下、これを「時間サンプリング」と呼ぶ)と、サンプリング段階によって生成されたタイムスタンプが付与されたデータからスペクトルを推定する段階と、を円滑に実行する。具体的には、本発明の一実施例は、信号又はプロセスから取得されたサンプル間の時間間隔又は時間ステップを判定及び実装する段階を円滑に実行する。更には、本発明の一実施例は、信号又はプロセスのタイムスタンプが付与された十分な数のサンプルが取得された時点を判定し、これからスペクトルを推定又は演算する段階をサポートする段階をも提供している。時間サンプリングする対象の信号又はプロセスは、基本的に、ネットワーク接続されたセンサによって遠隔監視される信号又はプロセスを含む(但し、これらに限定されない)任意の信号又は任意のプロセスであってよい。
例えば、信号は、被検装置(DUT)からの信号であってよく、この場合に、試験又は計測システムは、スペクトル推定のために、この信号をサンプリングしている。別の実施例においては、センサは、物理的なプロセス(例えば、温度や放射など)を時間の関数としてサンプリングし、サンプリングしたデータをスペクトル推定のためにプロセッサに中継することが可能である。本発明の様々なその他の実施例は、基本的に、サンプリングされたデータに基づいてスペクトル推定を実行する任意の状況に適用可能である。例えば、いくつかの実施例においては、時間サンプリングは、IEEE STD 1451系のスマートトランスデューサインターフェイス規格に記述されているものなどのネットワーク接続されたスマートセンサ(例えば、スマートトランスデューサインターフェイスモジュール(Smart Transducer Interface Module:STIM))と関連するネットワーク対応アプリケーションプロセッサ(Network Capable Application Processor:NCAP)によって実行される。従って、以下においては、「信号」という用語は、信号又はプロセスのいずれかを意味するべく使用されており、これは、説明をわかりやすくするためのものであって、決して限定を意図したものではない。
本発明のいくつかの実施例によれば、時間の関数として取得され、利用されるサンプル(以下、これを「時間サンプル」と呼ぶ)は、不規則又はランダムな時間ステップ又は時間インターバルにおいてサンプリングされ、この結果、ランダムな間隔を有する時間サンプリングされたデータが得られる。具体的には、「ランダムな間隔を有する時間サンプリングされた」データ又は単に「ランダムサンプリングされた」データは、隣接するデータポイントのペア間におけるサンプル時間インターバル又は時間間隔がサンプルごとに時間の関数として異なる又は変化するデータポイントの組から構成されている。例えば、平均サンプルインターバルを中心としてランダムに変化するサンプルクロックによってアナログ信号をサンプリングする計測装置(例えば、センサ)によって生成されるサンプリングデータが、ランダムサンプリングされたデータである。いくつかの実施例においては、ランダムサンプリングされたデータは、時間の制限されたランダム関数であるサンプル時間インターバルを使用して生成される。例えば、サンプル時間インターバルは、最小インターバルと最大インターバルのいずれか又は両方によって制限することが可能である。別の例においては、サンプル時間インターバルは、平均サンプルインターバルを中心として制限されたインターバル内においてランダムに変化することができる。
本明細書において使用されている「制限された(bounded)」サンプルタイミングインターバルは、上限及び下限のいずれか又は両方を具備するサンプル時間インターバルを意味している。例えば、いくつかの実施例においては、制限されたサンプルタイミングインターバルは、下限を具備することができるが、上限は具備していない(例えば、上限は、事実上、無限大である)。いくつかの実施例においては、上限及び下限のいずれか又は両方は、デターミニスティックな限界である。デターミニスティックな限界は、特定の所定の固定値を具備した限界又は限度である。例えば、サンプルタイミングインターバルのデターミニスティックな下限は、インターバルの最小許容値を示している(例えば、5ミリ秒)。サンプルタイミングインターバルは、このような模範的なデターミニスティックな下限によって決定される最小値を下回ることはできない。要すれば、デターミニスティックな限界は、超えてはならない限度を確立している。
いくつかの実施例においては、上限及び下限のいずれか又は両方は、確率的な限界である。本明細書に使用されている確率的な限界とは、超過又は越境の所定の確率を具備した限界又は限度である。例えば、確率的な上限を具備するサンプルタイミングインターバルは、上限を下回る99%の確率と、上限を上回る1%の確率を具備することができる。従って、確率的な限界によれば、サンプルインターバルがその確率的な限界を超過又は越境することになる有限な確率が存在する。いくつかの実施例においては、確率的な限界は、基本的に、厳格な限界又は限度ではなく、むしろ、ガイドラインとして機能する「概略的(approximate:近似的)」な限界又は限度に相当する。
「ランダムサンプリングされた」又は「ランダムな間隔を有して時間サンプリングされた」データの定義には、本来規則的な間隔を有して時間サンプリングされたデータであるが、データポイント又はサンプルのいくつかが、消失、破壊、又はその他の方法で使用不能になっているタイムスタンプが付与されたサンプリングデータも含まれている。例えば、伝送の際にサンプルが間歇的に失われる、損失の多いネットワークを介して伝送されたデータであって、規則的な間隔に時間サンプリングされたデータは、本明細書に使用されているランダムサンプリングされたデータを生成する。
いくつかの実施例においては、ランダムサンプリングされたデータから生成された推定スペクトルは、ベクトルの形態で提供される。具体的には、このような実施例においては、推定スペクトルは、振幅及び位相値のベクトルとして提供される。その他の実施例においては、推定スペクトルは、実数及び虚数値を有するベクトルとして提供されている。更には、いくつかの実施例は、任意の所定の周波数においてスペクトルを推定している。
本発明の実施例に従ってスペクトルを推定又は演算するべく使用されるスペクトル推定は、利用可能なサンプリングデータに「最小二乗」スペクトルをフィッティングする最小二乗法を利用している。いくつかの実施例においては、スペクトル推定によって生成される推定スペクトルは、略最小数のサンプルを使用している。具体的には、これらの実施例によれば、この略最小数のサンプルは、スペクトルを推定するべく最小二乗フィットを解決するのに必要なものをわずかに上回るのみのいくつかの数の浮動小数点演算を使用して識別されている。いくつかの実施例においては、スペクトル推定の操作を制御することにより、スペクトルの演算時間とスペクトルの精度間におけるトレードオフを実行することが可能である。略最小数のサンプルの黙示的な認識は、信号のタイムスタンプが付与された十分な数のサンプルが取得された時点を判定する際に利用される。
一般に、時間サンプリングされたデータのそれぞれのデータポイントは、そのデータポイントのサンプル時間を通知するタイムスタンプと関連付けられている。タイムスタンプは、サンプラによって生成され、データポイントと共にプロセッサに伝送される実際の又は明示的なタイムスタンプであってよい。例えば、サンプラは、値のペア(tn,yn)を記録することができ、この場合に、「tn」は、実際のサンプル時間を表しており、「yn」は、実際のサンプル値を表している。或いは、この代わりに、タイムスタンプは、仮想的なタイムスタンプであってもよく、この場合には、サンプル値のみがサンプラによって記録され、サンプル時間は、黙示的に提供される。例えば、サンプラは、先験的に(a priori)既知のサンプル時間のシーケンスを具備するサンプルクロック又はサンプルタイマを利用することができる。先験的に既知の(即ち、仮想的又は黙示的な)サンプル時間は、互いの間に規則的又は不規則な(例えば、ランダムな)間隔を有するものであってよい。従って、仮想的なタイムスタンプは、しばしば、データと関連付けられており、この場合に、サンプル時間は、そのサンプルがサンプラによって生成される方法から推定される。
更には、タイムスタンプは、相対的なタイムスタンプ(例えば、最後のサンプル以降の経過時間を示すもの)又は絶対タイムスタンプ(即ち、固定された基準又は開始時間に基づいたもの)のいずれかであってよい。従って、実際のタイムスタンプも、相対的なタイムスタンプ又は絶対的なタイムスタンプであってよい。同様に、仮想的なタイムスタンプも、相対的又は絶対的なものであってよい。例えば、絶対的な実際のタイムスタンプ、相対的な実際のタイムスタンプ、絶対的な仮想的タイムスタンプ、及び相対的な仮想的タイムスタンプの中の1つ又は複数のものが利用可能である。以下においては、説明をわかりやすくするべく(並びに、制限を意図することなしに)、絶対的な実際の(明示的な)タイムスタンプを利用している。当業者であれば、その他の前述のタイムスタンプのいずれをも容易に利用可能であり、それらも、本発明の実施例の範囲内に属することになる。
タイムスタンプが付与されたデータは、データのナイキストサンプルレートよりも低速の平均サンプルレートにおいて取得又はサンプリング可能である。具体的には、平均サンプル周波数は、推定するスペクトル内の対象のいずれの周波数よりも低いものであってよい。更には、データ内に、相対的に長いギャップが許容されている。従って、計測対象の信号の時間スケールよりも長い回復時間を具備する計測装置を利用することにより、サンプルを取得することができる。長い回復時間又は相対的に低いサンプル周波数、或いは、この両方を許容すれば、データの供給にではなく、タイムスタンプの生成に計測装置のリアルタイム特性を合焦させることにより、計測装置の設計が円滑に実行される。
いくつかの実施例においては、タイムスタンプが付与されたデータは、データストリームによって表現される。本明細書に使用されている「データストリーム」とは、データポイントの固定されたサイズの組(例えば、タイムスタンプが付与されたデータポイントの固定された長さのリスト)又は一定の期間にわたって処理地点に到来するタイムスタンプが付与されたデータポイントのシーケンスのいずれかを意味している。具体的には、タイムスタンプが付与されたデータポイントのシーケンスを利用する場合には、本発明のいくつかの実施例は、データストリームの処理を継続する前に、単に休止し、次の又は更なる新しいタイムスタンプが付与されたデータポイントの到来を待つことができる。従って、本発明のいくつかの実施例を利用することにより、タイムスタンプが付与されたデータの「完全」な組のスペクトル推定が生成可能であり、この場合に、この完全な組は、利用可能な(又は、利用可能となる)データのすべてを表している。本発明のその他の実施例は、データストリーム内の新しいデータが到着し処理される際に後から更新される予備的な推定値を生成可能とすることができる。
一般に、データストリームDは、値のペア(tn,yn)の組として表現可能であり、それぞれのペアは、タイムスタンプ値tnと、これに対応するデータポイント値ynを有しており、ここで、nは、それぞれのペアのインデックスであり、この場合に、この「インデックス」という用語は、データストリーム内のペアの位置を意味している。具体的には、いくつかの実施例においては、データストリームDは、値のペア(tn,yn)の組であり、この組は、濃度又はサイズ|T|を具備している(即ち、n=1,2,...,|T|である)。従って、データストリームDは、式(1)によって定義可能である。
D={(t1,y1),(t2,y2),...,(t|T|,y|T|) (1)
サイズ|T|は、変数であるため、このようなデータストリームDの定義は、明らかに、固定されたサイズの組と連続的に到来する組の両方を含んでいる。
本発明のいくつかの実施例は、スペクトルを推定している(又は、mによってインデックス付けされた対象の任意の既定周波数fmにおいて推定スペクトルを生成している)。いくつかの実施例においては、サイズ|F|(即ち、m=1,2,...|F|)の対象の周波数の順序付けされた組Fは、式(2)によって定義可能である。
F={f1,f2,...,f|F|} (2)
ここで、0<f1<f2<...<f|F|である。いくつかの実施例においては、データストリームDのスペクトルは、f0=0Hzにおいて推定されている。
本発明のいくつかの実施例によって生成される推定スペクトルは、対象の周波数の順序付けされた組F内の周波数のそれぞれにおける実数及び虚数スペクトル振幅(Cm,Sm)、又は対応する振幅及び位相(Am,φm)などのスペクトル係数のペアを有するベクトルSである。いくつかの実施例においては、推定スペクトルSは、式(3)によって付与されている。
S={(c0,s0),(c1,s1),...,(c|F|,s|F|)}
S={(A0,φ0),(A1,φ1),...,(A|F|,φ|F|)} (3)
スペクトル推定は、利用可能なデータのスペクトルSに対する最小二乗フィットを判定している。一般に、判定された最小二乗フィットは、基本的に、連立方程式によって示される重複判定された問題に対する概略的な解を表しており、この場合には、通常、解において未知のもの(即ち、重複判定される最小二乗(L−S)フィッティング問題)を上回る数の式が存在している。推定スペクトルSの場合には、最小二乗フィッティングは、真のスペクトルを最良に近似するスペクトル係数(例えば、(cm,Sm)、又はこの等価物である(Am,φm))を検出している。行列表現においては、重複判定されたL−Sフィッティング問題は、Ax=bと表現され、この場合に、x及びbは、ベクトルであり、Aは、行列である。一般に、重複判定された問題を解決する目的は、Axをbに妥当に「近接」させる解xを検出することにある。最小二乗フィットの観点においては、目的は、「最小二乗」の意味どおりに、差Ax−bを極小化する解ベクトルxを検出することにある(即ち、‖Ax−b‖2の極小化であり、この場合に、‖・‖2は、行列の2−ノルムである)。
一般に、QR因数分解及びSVD(Singular Value Decomposition)を含む(但し、これらに限定されない)様々な分解や因数分解を利用し、最小二乗(L−S)フィットを実行する。QR因数分解は、因子行列のペアQ及びRを判定するものであり、この積は、行列Aに等しい。一般に、行列Aは、実数のm×n行列であり(即ち、
である)、ここで、m及びnは、整数であり、m≧nである。因子行列Rは、主対角の下のすべての非対角要素が等しくゼロの行列として定義されるm×nの上三角行列であり(即ち、
である)、因子行列Qは、直交m×m行列である(即ち、
である)。従って、行列AのQR因数分解は、式(4)によって付与される。
A=QR (4)
ここで、Rは、
であり、因子行列Qとその転置の積は、単位行列に等しく(即ち、Q
TQ=Iである)、r
1,1〜r
n,nというラベルが付与された要素を有する主対角の下の因子行列Rのすべての要素はゼロに等しい。
通常、行列AのQR因数分解は、Householder変換、Givens変換、Block Householder変換、及びFast Givens変換を含む(但し、これらに限定されない)いくつかの異なる方法によって実現可能である。前述の変換、並びに、その他のQR因数分解のそれぞれの詳細については、Golub及びVan Loanによる「Matrix Computations, 2nd Ed.」(The Johns Hopkins University Press, Baltimore, MD、1989年)(この内容は、本引用により、そのすべてが本明細書に包含される)を含む(但し、これに限定されない)当業者には既知の線形代数及び行列演算に関するいくつかのテキストブックにおいて見出すことができる。実際には、QR因数分解は、一般に、マサチューセッツ州Natackに所在するMathworks, Inc.から公開されているMatlab(登録商標)及びhttp://www.netlib.orgによって配布及び維持されているLAPACKを含む(但し、これらに限定されない)コンピュータプログラム及び関係する数値演算環境と関連した関数又はサブルーチンとして入手可能である。当業者であれば、本発明の様々な実施例の範囲を逸脱することなしに、L−S式を解くためのその他の分解及び方法により、QR因数分解が置換可能であることを理解することができよう。
図1は、本発明の実施例によるランダムサンプリング法100のフローチャートを示している。このランダムサンプリング法100は、スペクトル推定の対象の任意の所定の周波数の組Fに基づいたサンプル間における制限されたインターバル(即ち、サンプリングタイミングインターバル)を利用している。更には、ランダムサンプリング法100は、十分な数のサンプルを生成することにより、それから生成される推定スペクトルが所定のターゲット信号対雑音比(SNR)を満足又は実現できるようにしている。
ランダムサンプリング法100は、対象の所定の周波数の組Fから、制限されたサンプルタイミングインターバルを求める段階110を有している。図2Aは、本発明の実施例に従って、制限されたサンプルタイミングインターバルを求める段階110のフローチャートを示している。図2Aに示されているように、求める段階110は、隣接するサンプリング時間の間の最小時間ステップ又は間隔を設定する段階に相当するタイミングインターバルの下限を確立する段階112を有している。下限は、サイズ|F|又は対象の所定の周波数の組F内の個々の周波数の数と、ゼロヘルツではない組内の最低周波数(即ち、fI>0Hz)と、の両方の関数である。いくつかの実施例においては、段階112において確立される下限又は最小時間ステップΔtminは、式(5)によって付与される。
Δtmin≧2/f1/(2|F|+1) (5)
下限又は最小時間ステップΔtminはサンプル間の最小間隔であるため、現在又は以前のサンプルのサンプル時間t0が付与された場合に、次のサンプルは、少なくとも「以前のサンプル時間t0」+「最小時間ステップΔtmin」であるサンプル時間を具備することになる。最小時間ステップΔtminは、少なくとも「対象の所定の周波数の組F内の周波数の数の2倍」+「1」(即ち、2|F|+1)に等しい数のサンプルが取得されることを保証しており、この場合に、この数のサンプルは、ゼロではない対象の最低周波数f1の少なくとも2つの周期から取得される。
判定段階110は、タイミングインターバルの上限を確立する段階114を更に有している。一般に、上限又は最大時間ステップΔtmaxは、その限界が最小時間ステップΔtminを上回っている限り、任意の選択肢によって確立可能114である。例えば、最大時間ステップは、ランダムサンプリング法100のアプリケーションに関連する様々な技術的考慮事項によって確立可能114である。いくつかの実施例においては、最大時間ステップΔtmaxは、最小時間ステップΔtminの少なくとも1.5倍である。具体的には、このような実施例においては、段階114において確立される最大時間ステップΔtmaxは、式(6)によって付与される。
Δtmax≧1.5Δtmin (6)
図1を再度参照すれば、ランダムサンプリング法100は、推定スペクトルのターゲット信号対雑音比(SNR)が実現されるまでサンプルを取得する段階120を更に有している。具体的には、信号をサンプリングして連続したタイムスタンプが付与されたサンプル又はサンプリングされた信号の組を生成し、以前に取得されているタイムスタンプが付与されたサンプルと組み合わせている。組み合わせられたタイムスタンプが付与されたサンプルを使用して評価した信号対雑音比の尺度を使用することにより、ターゲット信号対雑音比が実現された(又は、実現される)時点を判定する。いくつかの実施例においては、サンプリングされた信号の実際の推定スペクトルは、ターゲット信号対雑音比が実現された後にのみ生成される。具体的には、いくつかの実施例においては、演算負荷又は作業を低減するべく、実際の推定スペクトルを演算することなしに尺度を評価している。
図2Bは、本発明の一実施例による推定スペクトルのターゲット信号対雑音比(SNR)が実現されるまでサンプルを取得する段階120のフローチャートを示している。図2Bに示されているように、サンプルを取得する段階120は、制限されたサンプルタイミングインターバルを使用して信号をサンプリングし、タイムスタンプが付与されたサンプルを生成する段階122を有している。サンプリング段階122は、新しく取得されたサンプルを生成する。いくつかの実施例においては、制限されたランダム時間ステップΔtrが、サンプリング段階122において生成される。この制限されたランダム時間ステップΔtrは、段階110において求められた最小時間ステップΔtmin以上であるが、段階110において求められた最大時間ステップΔtmax以下である。
例えば、ランダム数生成器を利用し、ゼロと1の間のランダム値zrを生成することができる(即ち、0≦zr≦1である)。次いで、ゼロの値が最小時間ステップΔtminにマッピングされ、1の値が最大時間ステップΔtmaxにマッピングされるように、生成されたランダム値zrをスケーリングする。ランダム値zrの模範的なスケーリングが、式(7)に記述されている。
Δtr=(Δtmax−Δtmin)zr+Δtmin (7)
制限されたランダム時間ステップΔtrを以前のサンプルのサンプル時間t0に加算することにより、次のサンプル時間tnextを生成する(即ち、tnext=t0+Δtrである)。サンプリング段階122は、次のサンプル時間tnextにおいて信号のサンプルを生成又は取得し、新しいサンプルを生成する。次いで、サンプリング段階122においては、この新しいサンプルに対して適切なタイムスタンプを付与している。
サンプルを取得する段階120は、サンプリング段階122によって生成された新しいサンプルを以前のサンプルと組み合わせるべくサンプルを組み合わせる段階124を更に有している。以前のサンプルは、例えば、以前のサンプル時間tp(即ち、tp<tnextである)において、サンプリング段階122によって生成されたタイムスタンプが付与されたサンプルの組であってよい。サンプルを組み合わせる段階124は、以前のタイムスタンプが付与されたサンプルと新しいタイムスタンプが付与されたサンプルの両方を含むタイムスタンプが付与された組み合わせられたサンプルの組を生成する。いくつかの実施例においては、新しいサンプルは、新しいサンプルの組から構成可能である。段階124におけるタイムスタンプが付与された組み合わせられたサンプルの組は、データストリームDとして表現可能である。
サンプルを取得する段階120は、段階124におけるタイムスタンプが付与された組み合わせられたサンプルの組に対して推定スペクトルの信号対雑音比(SNR)の尺度を評価する段階126を更に有している。いくつかの実施例においては、SNRの尺度は、推定スペクトルに対する組み合わせられたサンプルの組の最小二乗フィットの最小二乗(L−S)行列Aの条件数に比例している。尺度を評価する段階126は、尺度が所定の限度λを下回っているかどうかを判定する。尺度が所定の限度λを下回っている場合には、ターゲットSNRが実現されており、従って、取得段階120を打ち切ることができる。
いくつかの実施例においては、尺度を評価する段階126は、データストリームDによって表現された組み合わせられたサンプルの組を推定スペクトルSにフィッティングする最小二乗(L−S)問題の最小二乗(L−S)行列Aを構築する段階を有している。具体的には、L−S行列Aは、サンプリング段階122及び組み合わせ段階124によって生成されたサンプルデータのフーリエ変換の基準の組を有している。L−Sフィッティング問題の解ベクトルxは、フーリエ変換の係数を有しており、この場合に、これらの係数は、基本的に、推定スペクトルSを表している。尚、ここでは、説明のために行列の観点において表現しているが、当業者であれば、過度の実験を伴うことなく、且つ、本発明の実施例の範囲内において、以下の内容をその他の等価な表現に容易に拡張することが可能であろう。
いくつかの実施例においては、L−S行列Aは、倍率、即ち、〔1/√2〕を第1列に有している。L−S行列Aは、第1列に続いて、第1部分行列と第2部分行列を更に有している。第1部分行列は、データストリームD内の任意の所定の周波数Fと個々のタイムスタンプtnのサイン関数である要素を有している。第2サブ行列は、データストリームDの任意の所定の周波数Fと個々のタイムスタンプtnのコサイン関数である要素を有している。このような実施例のいくつかにおいては、L−S行列Aは、式(8)によって付与される。
ここで、行には、タイムスタンプtnによってインデックス付けされており、インデックスnは、1〜|T|の範囲を有している(即ち、n=1,2,...|T|である)。更には、関数sin(2πtnf)及びcos(2πtnf)は、それぞれ、周波数の順序付けされた組Fの周波数fmによってインデックス付けされた行ベクトルであり、式(9)及び式(10)によって付与される。
sin(2πtnf)=[sin(2πtnf1),sin(2πtnf2),…,sin(2πtnf|F|)] (9)
cos(2πtnf)=[cos(2πtnf1),cos(2πtnf2),…,cos(2πtnf|F|)] (10)
ここで、式(8)、式(9)、及び式(10)の「f」は、1〜|F|の範囲のm(即ち、m=1,2,...,|F|である)によってインデックス付けされた周波数の組Fの周波数を含むベクトルを表している。具体的には、式(9)及び式(10)内のインデックス「n=1」は、第1サンプルを表しており、インデックス「n=2」は、第2サンプルを表しており(以下、同様)、最後のサンプルは、インデックス「n=|T|」によって表記されている。いくつかの実施例においては、第1サンプルは、データストリームD内の第1サンプルである必要はなく、第2サンプルも、データストリームDの第2サンプルである必要はない(以下、同様)。いくつかの実施例においては、最後のサンプルは、データストリームDの最後のサンプルn=|T|(即ち、(t|T|,y|T|))以下のタイムスタンプを有するサンプルである。
当業者であれば、推定スペクトルSを求める行列Aのその他の形態も存在可能であり、従って、本発明の範囲を逸脱することなしに、前述のものをそれらによって置換可能であることを容易に認識するであろう。例えば、フーリエ変換の別の既知の形態は、等価なサイン/コサインに基づいた組の代わりに、指数に基づいた組を利用している。このようなフーリエ変換は、ej2πtfという形態の項を有する行列Aをもたらすことになろう。このような行列Aの代替形態も、明らかに本発明の範囲に属している。
一般に、尺度を評価する段階126は、SNRの尺度が、ターゲットSNRが実現されているか否かを判定する段階を有している。いくつかの実施例においては、SNRの尺度は、推定スペクトルSの直接的な演算により判定可能である。具体的には、データストリームD内の組み合わせられたサンプルの組を使用するL−S行列Aの構築が完了した後に、L−Sフィッティング問題を解決することにより、それからスペクトルSを推定する。次いで、この推定スペクトルSのSNRを評価し、SNRがターゲットSNRを下回っている場合には、前述のように、サンプリング段階122及び組み合わせ段階124により、更なるサンプルを取得する120。そして、前述のように、別のL−S行列Aを構築し、推定スペクトルSを求めることにより、尺度を再度評価126する。ターゲットSNRが実現するまで、推定スペクトルの更なるSNRをターゲットSRNに関連して評価する。但し、ターゲットSNRが実現されているかどうかを判定するのに使用可能な尺度を確立するために推定スペクトルSを実際に演算する必要はない。
いくつかの実施例においては、L−S行列Aが正則であり、且つ、L−Sフィッティング問題の条件数が十分に大きい場合には、推定スペクトルSは、ターゲットSNRを満足又は超過するSNRを具備することになる。即ち、L−S行列Aの条件数に比例した尺度を利用することができる。例えば、L−S行列AのQR因数分解を利用することにより、L−S因子行列Q及びRのペアを演算又は生成することが可能である。次いで、因子行列Rに基づいた尺度を利用することにより、ターゲットSNRの実現という目的と関連してデータストリームD内に十分なサンプルを確立することが可能である。具体的には、因子行列Rが、行列Rの主対角要素の絶対値の最小値要素が厳格にゼロを上回っているという条件を満足している場合には、L−S行列A及び因子行列Rは、いずれも正則である。更には、行列Rの主対角要素の絶対値の最小値要素に対する行列Rの主対角要素の絶対値の最大値要素の比が、任意の所定の限度λを下回っている場合には、因子行列Rは、正則であり、この場合には、推定スペクトルSは、十分に大きな信号対雑音比(SNR)を具備することになる。換言すれば、推定スペクトルのSNRがターゲットSNRを実現しているということになる。Matlab(登録商標)スタイルの行列関数max(・)、min(・)、abs(・)、及びdiag(・)の観点においては、因子行列Rが式(11)によって付与される条件を満足している場合に、ターゲットSNRも満足されることになる。
min(abs(diag(R)))>0∧max(abs(diag(R)))/min(abs(diag(R)))<λ (11)
ここで、min(・)は、ベクトル引数の最小要素を返す要素に関する最小関数であり、max(・)は、ベクトル引数の最大要素を返す要素に関する最大関数であり、abs(・)は、ベクトル引数の要素ごとの絶対値(即ち、大きさ)のベクトルを返す要素に関する絶対値関数であり、diag(・)は、行列引数の主対角の要素を含むベクトルを返す対角関数であり、シンボル∧は、左手側の引数を右手側の引数の前に評価する順序付けされた「and」関数を表している。
所定の限度λは、過度な実験を伴うことなしに、所与の状況及びターゲットSNRについて選択又は判定することができる。いくつかの実施例においては、所定の限度λは、略「1.1」に等しくなるように選択されている(即ち、λ=1.1である)。これらの実施例においては、因子行列Rは、式(11)によって付与されている条件が満足された際に、略1である条件数を具備することになる(即ち、λ≒1.1において、式(11)が満足された場合に、cond(R)≒1である)。更には、略1に等しい行列Rの条件数は、推定スペクトルSのSNRが、略、サンプリングされた信号の実際のSNRであることを通知している。換言すれば、行列Rの条件数が1に略等しい場合には、推定SNRは、基本的に、サンプリングされた信号の実際のSNRに収束する。
その他の実施例においては(特に、相対的に高速の推定が求められている場合、即ち、相対的に高速の推定速度が望ましい場合においては)、更に大きな値の所定の限度λを利用することができる。一般に、略1から、最大で、略1000のレベルの範囲の所定の限度λの値(即ち、1≦λ≦1x103)を利用することにより、推定スペクトルSのSNRと推定速度の間のトレードオフを提供することができる。いくつかの実施例においては、λの所定の限度は、略1(例えば、1.1)から、最大で、略100の範囲を有している。
その他の実施例においては、式(11)によって付与されるものとほとんど同一の結果を実現する因子行列Rの多少簡単な代替条件が式(12)によって付与されている。
min(abs(diag(R)))>0∧1/min(abs(diag(R)))<λ (12)
具体的には、因子行列Rが厳格に正則であり、且つ、行列Rの主対角要素の絶対値の最小値要素の逆数が所定の限度λを下回っている場合には(例えば、1.1未満)、ターゲットSNRが実現される。QR因数分解は、例えば、コンピュータプログラムに基づいた行列演算環境Matlab(登録商標)の「qr(A)」関数又は行列関数ライブラリLAPACKの関数「DGEQRF」などの(但し、これらに限定されない)関数を使用することにより、実現可能である。
いくつかの実施例においては、サンプリング段階122において、個々のサンプルの代わりに、サンプルの組又はグループを取得している。具体的には、連続した又は隣接するサンプルのグループを使用し、平均化により、個々のサンプルを選択する段階によって提供されるであろうものを上回る又は超えるレベルに、推定スペクトルSのSNRを改善することが可能である。本明細書のサンプリング段階122における使用に容易に適合可能なサンプルグループの使用法の模範的な説明、並びに、組み合わせ段階124及び評価段階126の更なる説明については、本出願人により、同時係属中の米国特許出願第11/229,479号明細書に記述されており、その内容は、本引用により、そのすべてが本明細書に包含される。
評価段階126の判定により、ターゲットSNRが実現されていると尺度が示している場合には、サンプルを取得する段階120を終了することが可能である。しかしながら、ターゲットSNRが実現されていない場合には、サンプリング段階122、組み合わせ段階124、及び評価段階126が反復される。反復の際には、組み合わせ段階124及び評価段階126は、L−S行列A並びに因子行列Q及びRのいずれか又は両方を更新する段階と見なすことができる。具体的には、いくつかの実施例においては、1つ又は複数の新しいサンプルを以前のサンプルと組み合わせた124後に、評価段階126を実行している。その他の実施例においては、式(9)及び式(10)との関連で前述したように、評価段階126において、L−S行列Aの新しい要素を単純に演算することにより、1つ又は複数の新しいサンプルを組み合わせている124。次いで、式(8)に示されているように、新しい要素を以前のL−S行列A内に挿入することにより、更新済みのL−S行列Aを生成する。1つ又は複数の新しいサンプルによって生成される新しい要素は、以前のサンプルと関連する以前の要素とは無関係であるため、L−S行列Aのすべての要素を再演算する必要はない。次いで、更新済みのL−S行列AのQR因数分解により、更新済みの因子行列Q及びRを演算する。
その他の実施例においては、組み合わせ段階124及び評価段階126は、L−S行列Aをまず明示的に更新することなしに、1つ又は複数の新しいサンプルを以前の因子行列Q及びR内に直接内蔵することにより、更新済みの因子行列Q及びRを生成している。因子行列Q及びRを直接的に更新する方法は、Golub他による「Matrix Computations」(596〜597頁)に記述されており、その内容は、本引用により、本明細書に包含される。又、因子行列Q及びRを更新する段階によれば、以前のL−S行列AのQR因数分解を実行した後に、コンピュータメモリ内にL−S行列Aを明示的に保存する必要性が基本的に除去される。
図1を再度参照すれば、ランダムサンプリング法100は、フーリエ変換の係数を表す解ベクトルxについてL−Sフィッティング問題を解決する段階130を更に有している。L−Sフィッティング問題を解決する段階130は、ベクトルbをサンプル値ynに等しく設定する段階を有しており、この場合に、nは、個々の因子行列Q及びR又はL−S行列Aの更新の際に追加されるものを含む使用されたサンプルによってインデックス付けされている(例えば、b=[yn]であり、n=1,...,sampleusedである)。解決段階130は、式(13)に従って、ベクトルb及び因子行列Q及びRを使用して解ベクトルxを解く段階を更に有している。
Rx=QTb (13)
ここで、「QT」は、因子行列Qの転置である。当業者であれば、式(13)によって示されている行列式を解く方法には習熟しているであろう。
ランダムサンプリング法100は、解ベクトルxからフーリエ係数を抽出する段階140を更に有している。このフーリエ係数を抽出する段階140が推定スペクトルSを生成している。いくつかの実施例においては、抽出段階140は、(a)第1実数係数c0を解ベクトルxの第1要素x1に等しく設定する段階と、(b)第1虚数係数s0を「0」に等しく設定する段階を有している(即ち、c0=x1、s0=0である)。f1から始まる対象の周波数の組Fのそれぞれの周波数ごとに、設定段階(a)は、それぞれの連続的な実数係数ciを、「iによってインデックス付けされた解ベクトルxの個々の要素」+「対象の周波数の組Fのサイズ」+「1」に等しく設定する段階を有している。更には、設定段階(b)も、f1から始まる対象の周波数の組Fのそれぞれの周波数ごとに、それぞれの連続した虚数係数siを、「iによってインデックス付けされた解ベクトルxの個々の要素」+「1」に等しく設定する段階を有している。換言すれば、i∈{1,...,|F|}において、ci=xi+|F|+1、si=xi+1と設定し、ここで、x=[x1,x2,...,x2|F|+1]である。
いくつかの実施例においては、抽出段階140は、実数及び虚数係数(cm,sm)から推定スペクトルSの振幅及び位相(Am,φm)を演算する段階を更に有している。i番目の振幅Aiは、ゼロから対象の周波数の組Fのサイズまでのiにおけるi番目の実数係数ciとi番目の虚数係数siの二乗の合計の平方根として算出される。i番目の位相φiは、ゼロから対象の周波数の組Fのサイズまでのiにおけるi番目の虚数係数siとi番目の実数係数ciの比率の逆タンジェントとして演算される。換言すれば、i∈{1,...,|F|}において、振幅及び位相を演算する段階は、i番目の振幅Aiとi番目の位相φiを、それぞれ、次の式に従って設定する段階を有している。
いくつかの実施例においては、因子行列Qは、因子行列Qの更新のそれぞれの反復の後にメモリ内に保存されている。その他の実施例においては、因子行列Qは、明示的には保存されていない。この代わりに、先程引用したLAPACKのDGEQRFルーチンの説明において記述したように、当初、因子行列Qを保存している。当業者には、周知のように、Anderson他による「LAPACK Users GUIDE,3rd ed.」(Society for Industrial Applied Mathematics Press、2000年)の「QR Factorization」という名称の節(この内容は、本引用により、本明細書に包含される)を参照すれば、DGEQRFルーチンとこれによる因子行列Qの個々の保存に関する完全な説明が得られる。次いで、因子行列Qを更新する段階において、その因子行列Qの更新を記述する1つ又は複数のGivens回転を保存している。この結果、明示的に保存及び更新される因子行列Qの代わりに、当初保存されている因子行列Q表現とGivens回転の組により、更新済みの因子行列Qを表しているのである。換言すれば、更新済みの因子行列Qを明示的に保存するのではなく、行列の説明を、因子行列Q又はこの因子行列の転置QTのいずれかをベクトルと乗算するのに必要なステップの組として保存している。究極的には、これは、因子行列Qと、因子行列Q自体ではなくランダムサンプリング法100によって使用されるベクトル(即ち、bベクトル)との積であるため、このように因子行列Qを保存する段階により、メモリと演算時間の両方が節約可能である。
図3は、本発明の一実施例による試験システム200のブロックダイアグラムを示している。試験システム200は、被検装置(DUT)202によって生成された出力信号をサンプリングし、出力信号の推定スペクトルSを生成する。試験システム200は、ランダムなインターバルにおいて出力信号を計測又はサンプリングする。サンプルは、タイムスタンプが付与されたサンプル振幅(例えば、(tn,yn))の観点において表現可能である。いくつかの実施例においては、推定スペクトルSは、対象の所定の周波数FにおけるスペクトルSの振幅及び位相を有するベクトルによって表現される。その他の実施例においては、推定スペクトルSは、対象の所定の周波数FにおけるスペクトルSの実数及び虚数係数を有するベクトルによって表現されている。具体的には、推定スペクトルSは、前述の式(3)として記述可能である。
いくつかの実施例においては、試験システム200は、図3に示されているように、励起源210を有することができる。被検装置(DUT)202は、試験のために、励起源210の出力とサンプラ220の入力の間に接続されている。励起源210は、DUT202に印加される励起信号を生成する。いくつかの実施例においては、励起源210は、基本的に周期的な励起信号を生成する周期的な励起源である。その他の実施例においては、励起源210は、非周期的な励起信号と基本的に周期的な励起信号のいずれか又は両方を生成する汎用の励起源である(例えば、任意波形生成器である)。更にその他の実施例においては、励起源は、ナル信号を生成している。例えば、ナル信号は、内部信号生成器(例えば、クロック生成器や関数生成器など)を内蔵するDUT202を試験する際に利用可能である。このようなDUT202は、試験のために励起信号を使用していない。従って、このような実施例においては、試験システム200から励起源210を省略可能であり、これも、依然として本発明の範囲に属している。
試験システム200は、サンプラ220を更に有している。図4は、本発明の一実施例によるサンプラ220のブロックダイアグラムを示している。図示の実施例においては、サンプラ220は、アナログ/デジタルコンバータ(ADC)222を有している。サンプラ220は、プロセッサ224が、ADC222及びメモリ226を制御し、且つ、データバス228を介してADC222からデータを受信するように、サンプラ220のデータバス228を介してADC222に接続されたプロッサ224及びメモリ226を更に有することができる。例えば、プロセッサ224は、メモリ226内に保存されているコンピュータプログラムにアクセスし、これを実行することが可能である。コンピュータプログラムは、プロセッサによって実行された際に、ADC222による信号のサンプリングの起動を円滑に実行する命令を有している。サンプリングが開始された際に、プロセッサ224によって受信されるADC222からのデータは、信号のサンプルから構成可能である。データは、プロセッサ224による更なる処理の前に、メモリ226内に保存可能である。
一般に、プロセッサ224は、汎用コンピュータプロセッサであるか、又は信号プロセッサなどの(但し、これに限定されない)専用のプロセッサであってよい。メモリ226は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、或いは、ハードディスク、CD(Compact Disk)、フロッピーディスク、及びDVD(Digital Video Disk)を含む(但し、これらに限定されない)ディスクメモリの1つ又は複数のものであってよい。コンピュータプログラムは、例えば、C/C++、FORTRAN、又はMatlab(登録商標)を含む(但し、これらに限定されない)ハイレベルなコンピュータプログラミング言語又はプログラミング環境を使用して実現可能である。或いは、この代わりに、コンピュータプログラムによって表現される機能は、基本的に、コンピュータロジック又はハードウェアとして実現することも可能である。例えば、コンピュータプログラムは、基本的に、個別のロジック又はASIC(Application Specific Integrated Circuit)としてハードウェアに組み込み可能である。このような実施例においては、コンピュータロジックの実装は、コンピュータプロセッサ224及びメモリ226、並びに、コンピュータプログラムの中の1つ又は複数のものを表現することができる。
その他の実施例においては、基本的に、物理的な量を計測し、計測された量を演算手段に供給する能力を有する任意の機器、センサ、又はその他の手段がサンプラ220として利用可能である。この例には、所定のトリガ時間を有するクロック(例えば、アラーム)によってトリガされるオシロスコープ、ネットワーク内において動作可能又はネットワーク接続可能なスマートセンサ(例えば、IEEE1451シリーズの規格を参照されたい)が含まれる(但し、これらに限定されない)。
サンプラ220は、DUT202によって生成された出力信号をサンプリングし、出力信号のサンプルをタイムスタンプが付与されたサンプル振幅(例えば、(tn,yn))に変換する。いくつかの実施例においては、出力信号は、DUT202の代わりに、物理的なプロセス(例えば、温度)を計測するセンサ202によって生成可能である。タイムスタンプが付与されたサンプル振幅は、基本的に、センサ202によって計測されるプロセスのタイムスタンプが付与された計測値に相当している。
いくつかの実施例においては、サンプラ220は、タイムスタンプが付与されたサンプル振幅又はサンプルデータポイントのシーケンスを有するデータストリームDを生成している。例えば、サンプラ220によって生成されるデータストリームDは、ランダムサンプリング法100に関連して前述した式(1)によって表現可能である。又、本明細書においては、明示的なタイムスタンプとして記述しているが、データストリームDのサンプル振幅に関連するタイムスタンプは、ランダムサンプリング法100に関して前述したように、明示的又は黙示的なタイムスタンプのいずれか又は両方であってよい。一般に、サンプラ220は、ランダムなサンプル時間又はランダムな時間インターバルにおいてサンプリングする。しかしながら、サンプラ220は、不規則な、ランダムな、又は規則的なインターバルの中の1つ又は複数のインターバルにおいてサンプリング可能である。規則的なインターバルにおいてサンプリングする場合にも、例えば、サンプラ220からの伝送の際に組の内部の1つ又は複数のサンプルが消失することにより、結果的に、不規則な又はランダムなサンプルの組が得られる。
試験システム200は、サンプルタイミングモジュール230を更に有している。サンプルタイミングモジュール230は、スペクトル推定を実行するサイズ|F|の対象の所定の周波数の順序付けされた組Fに関する情報を入力として受信及び利用する。具体的には、対象の周波数の組Fは、前述の式(2)によって定義されていると共に最低周波数f1を含んでおり、この場合に、最低周波数f1はゼロではない。サンプルタイミングモジュール230によって受信及び利用される情報は、対象の周波数の組Fの周波数のサイズ又は数|F|及び最低の非ゼロの周波数f1を有している。サンプルタイミングモジュール230は、この入力情報を利用し、次のサンプル用の次のサンプル時間tnextを生成する。サンプルタイミングモジュール230によって生成された次のサンプル時間tnextは、直接的又は間接的のいずれか又は両方により、サンプラ220に伝達される。サンプラ220は、サンプルタイミングモジュール230から受信した次のサンプル時間tnext又はこれに等価な情報のいずれかを利用し、次のサンプルを取得する時点を判定する。
いくつかの実施例においては、サンプルタイミングモジュール230は、サンプラ220内に存在している。例えば、サンプルタイミングモジュール230は、図4に示されているサンプラ220のコンピュータプログラム230から構成可能である。このような実施例においては、コンピュータプログラム230は、ファームウェア又はソフトウェアのいずれか又は両方としてサンプラ220のメモリ226内に保存される。その他の実施例においては、サンプラ220内に存在するサンプルタイミングモジュール230は、ASIC(Application Specific Integrated Circuit)の一部、個別のロジック、又は類似した回路に基づいた実装などの(但し、これらに限定されない)ハードウェアとして全体的又は部分的に効果的に実装可能である。従って、サンプルタイミングモジュール230は、基本的に、明示的なソフトウェア/ファームウェア命令として又はハードウェア動作(即ち、黙示的な命令)として実現された「命令」から構成されている。
特定の実現形態とは無関係に、サンプルタイミングモジュール230の命令(例えば、明示的又は黙示的なもの)は、実行された際に、対象の所定の周波数の組Fから、制限されたサンプルタイミングインターバルを求める段階を実装する。制限されたサンプルタイミングインターバルを求める段階は、サンプルタイミングインターバルの下限と上限を確立する段階を有している。いくつかの実施例においては、式(5)に従って、下限又は最小時間ステップΔtminを求め、式(6)に従って、上限又は最大時間ステップΔtmaxを求めている。いくつかの実施例においては、サンプルタイミングモジュール230は、基本的に、ランダムサンプリング法100との関係で前述した求める段階110を実装している。
いくつかの実施例においては、サンプルタイミングモジュール230は、ランダム数生成器(図示されてはいない)を更に有している。いくつかの実施例においては、ランダム数生成器は、コンピュータプログラム230の明示的な命令として実装されている。その他の実施例においては、ランダム数生成器は、ASIC(Application Specific Integrated Circuit)の一部、個別のロジック、又は類似した回路に基づいた実装などの(但し、これらに限定されない)ハードウェアとして全体的又は部分的に実装されている。
サンプルタイミングモジュール230は、サンプル時間が、求められた制限されたサンプルタイミングインターバル以内に位置するように、ランダム数生成器を利用して次のサンプル用のランダムサンプリング時間を定める。例えば、ランダム数生成器を利用し、ゼロと1の間のランダム値zrを生成することができる(即ち、0≦zr≦1である)。模範的な生成されたランダム値zrは、ゼロの値が最小時間ステップΔtminにマッピングされ、1の値が最大時間ステップΔtmaxにマッピングされるように、スケーリング可能である。
いくつかの実施例においては、サンプルタイミングモジュール230の更なる命令により、制限されたランダム時間ステップΔtrを生成する段階を実装している。例えば、式(7)を実装する命令を利用することにより、制限されたランダム時間ステップΔtrを生成することができる。生成が完了した後に、サンプルタイミングモジュール230の追加命令により、以前のサンプルのサンプル時間t0を、制限されたランダム時間ステップΔtrに加算し、次のサンプル時間tnext(例えば、tnext=t0+Δtrである)を生成する段階を実装する。この次のサンプル時間tnextをサンプラ220が利用し、次のサンプルを取得する。次のサンプルの取得が完了した後に、これにタイムスタンプを付与し、データストリームDに追加する。
いくつかの実施例においては、試験システム200は、図3に示されているように、サンプラ220と通信するスペクトル推定器240を更に有している。スペクトル推定器240は、データストリームDを受信し、推定スペクトルSを生成する。推定スペクトルSは、対象の所定の周波数の組Fについて生成される。対象の周波数の組Fは、例えば、ランダムサンプリング法100と関連して前述した式(2)によって定義されている順序付けされた組であってよい。いくつかの実施例においては、スペクトル推定器240は、ネットワーク(図示されてはいない)を介してサンプラ220と通信している。
具体的には、スペクトル推定器240は、いくつかの実施例においては、1つ又は複数のサンプルをサンプラ220に対してリクエストする。サンプラ220は、サンプルを受信し、データストリームDとしてスペクトル推定器240に伝送する。スペクトル推定器240は、受信したサンプルに基づいて、推定スペクトルSのターゲット信号対雑音比が実現さているかどうかを判定する。ターゲット信号対雑音比が実現されていない場合には、スペクトル推定器240は、更なるサンプルをリクエストする。
その他の実施例においては、サンプラ220は、サンプルの送信を停止するようにスペクトル推定器240から命令されるまで、サンプルを受信し、スペクトル推定器240に伝送する。スペクトル推定器240は、伝送されたサンプルをデータストリームDとして受信し、ターゲット信号対雑音比が実現されているかどうかを判定する。ターゲット信号対雑音比が実現されている場合には、スペクトル推定器240は、サンプルの取得を停止するように、サンプラ220に対して命令する。
いくつかの実施例においては、サンプルタイミングモジュール230は、スペクトル推定器240内に存在している。このような実施例においては、最小時間ステップΔtmin、最大時間ステップΔtmax、及び次のサンプル時間tnextの中の1つ又は複数のものが、サンプラ220とスペクトル推定器240の間の接続を通じてサンプラ220に間接的に通信される。例えば、最小時間ステップΔtmin、最大時間ステップΔtmax、及び次のサンプル時間tnextの中の1つ又は複数のものは、サンプルの要求及びサンプルの送信を停止するための命令のいずれか又は両方と共に、サンプラ220に伝達可能である。いくつかの実施例においては、スペクトル推定器240及びサンプラ220は、協働し、ランダムサンプリング法100に関連して前述したサンプルを取得する段階120を実装している。
図5は、本発明の一実施例によるスペクトル推定器240のブロックダイアグラムを示している。スペクトル推定器240は、利用可能なデータの推定スペクトルSに対する最小二乗フィットを判定する。いくつかの実施例においては、スペクトル推定器240は、コンピュータプロセッサ242、メモリ244、及びメモリ244内に保存され、且つ、コンピュータプロセッサ242によって実行されるコンピュータプログラム246を有している。例えば、コンピュータプログラム246は、スペクトル推定器240のソフトウェア又はファームウェアであってよい。コンピュータプロセッサ242は、汎用のコンピュータプロセッサであるか、又は信号プロセッサなどの(但し、これに限定されない)専用のプロセッサであってよい。メモリ244は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、或いは、ハードディスク、CD(Compact Disk)、フロッピーディスク、DVD(Digital Video Disk)を含む(但し、これらに限定されない)ディスクメモリの1つ又は複数のものであってよい。コンピュータプログラム246は、いくつかの実施例においては、スペクトル推定器240のソフトウェア又はファームウェアとして実現又は分類可能である。例えば、コンピュータプログラム246は、C/C++、FORTRAN、又はMatlab(登録商標)を含む(但し、これらに限定されない)ハイレベルなコンピュータプログラミング言語又はプログラミング環境を使用して実現可能である。その他の実施例において、コンピュータプログラム246は、基本的に、コンピュータロジック又はハードウェアとして実現可能である。例えば、コンピュータプログラム240は、基本的に、個別のロジック又はASIC(Application Specific Integrated Circuit)としてハードウェアに組み込み可能である。このような実施例においては、コンピュータロジックの実装は、コンピュータプロセッサ242及びメモリ244、並びに、コンピュータプログラム246の1つ又は複数のものを表現することができる。
特定の実現方式とは無関係に、コンピュータプログラム246は、プロセッサ242によって実行された際に、サンプラ220によって提供されるデータストリームDからのデータを、最小二乗法により、推定スペクトルSにフィッティングするスペクトル推定器を実装する命令を有している。いくつかの実施例においては、コンピュータプログラム246の命令によって実装されるスペクトル推定は、最小二乗(L−S)行列Aを構築する段階を実装する命令と、構築されたL−S行列Aを使用してL−S問題を解決し、推定スペクトルSを検出する段階を実装する命令と、を有している。この実装されたスペクトル推定は、L−Sフィットによって生成された推定スペクトルSの信号対雑音比(SNR)の尺度を評価する段階を実装するコンピュータプログラム246の命令と、ターゲット又は所定のSNRが実現されるまで、サンプラ220に対して追加サンプルをリクエストし、構築されたL−S行列Aに加算する段階を実装する命令と、を更に有している。
具体的には、いくつかの実施例においては、L−S問題の解決段階において、L−S行列AのQR因数分解を利用している。L−S行列AのQR因数分解のR因子行列に基づいた尺度を利用することにより、ターゲットSNRが実現されているかどうかを評価する。このような実施例のいくつかにおいては、尺度は、前述の式(11)によって付与される。その他の実施例においては、前述の式(12)によって付与される尺度を利用している。更にその他の実施例においては、因子行列R及びL−S行列Aのいずれか又は両方の条件数を利用している。いくつかの実施例においては、コンピュータプログラム246の命令は、基本的に、前述のランダムサンプリング法100の組み合わせ段階124及び評価段階126を実装している。
いくつかの実施例においては、コンピュータプログラム246は、フーリエ変換の係数についてL−Sフィッティング問題を解決する段階を実装する命令を更に有している。具体的には、前述の式(13)の形態の式を利用することにより、フーリエ変換係数について解決可能である。具体的には、いくつかの実施例においては、L−Sフィッティング問題を解決する段階の実装された命令は、基本的に、ランダムサンプリング法100に関連して前述した解決段階130に類似したものであってよい。
いくつかの実施例においては、コンピュータプログラム246は、フーリエ係数を抽出して推定スペクトルSを生成する段階を実装する命令を更に有している。フーリエ係数を抽出する実装された命令は、基本的に、ランダムサンプリング法100に関連して前述した抽出段階140と類似したものであってよい。具体的には、抽出段階は、対象の周波数Fによってインデックス付けされた実数及び虚数係数(cm,sm)又は振幅及び位相係数(Am,φm)の形態の推定スペクトルSを生成することができる。
再度図3を参照すれば、試験システム200は、いくつかの実施例においては、試験結果評価器250を更に有している。試験結果評価器250は、スペクトル推定器240から推定スペクトルSを受信する。受信した推定スペクトルSをDUT202用の所定のスペクトル基準又は仕様と比較する。DUT202の推定スペクトルSが基準を満足している場合には、試験結果評価器250は、合格結果をDUT202に割り当てる。推定スペクトルSが基準の1つ又は複数のものを満足していない場合には、試験結果評価器250は、不合格結果をDUT202に割り当てる。いくつかの実施例(図示されてはいない)においては、試験結果評価器250は、スペクトル推定器240のコンピュータプログラム246の一部として実現されている。
図6Aは、本発明の一実施例によるネットワーク接続されたセンサシステム300のブロックダイアグラムを示している。センサシステム300は、信号をサンプリングし、その推定スペクトルSを生成する。センサシステム300は、最小時間ステップΔtmin及び最大時間ステップΔtmaxによって制限されたランダムインターバルにおいて信号を計測及びサンプリングする。サンプルは、タイムスタンプが付与されたサンプル振幅(例えば、(tn,yn))の観点において表現される。いくつかの実施例においては、推定スペクトルSは、対象の所定の周波数FにおけるスペクトルSの振幅及び位相を有するベクトルによって表現されている。その他の実施例においては、推定スペクトルSは、対象の所定の周波数FにおけるスペクトルSの実数及び虚数係数を有するベクトルによって表現されている。具体的には、推定スペクトルSは、前述の式(3)のように記述可能である。ネットワーク接続されたセンサシステム300の様々な要素は、ネットワーク302上において互いに通信している。ネットワーク302は、基本的に、LAN(Local Area Network)、WAN(Wide Area Network)、及び無線ネットワーク(例えば、IEEE802.11a/b/gに記述されているもの)を含む(但し、これらに限定されない)任意のデータネットワークであってよい。
センサシステム300は、ネットワーク装置310、演算ノード320、及びサンプルタイミングモジュール330を有している。ネットワーク装置310は、信号のタイムスタンプが付与されたサンプルを生成し、サンプルをネットワーク302上において演算ノード320に伝送する。演算ノード320は、タイムスタンプが付与されたサンプルを使用して信号のスペクトルを推定する。演算ノード320は、推定スペクトルの信号対雑音比(SNR)の尺度を更に評価し、この尺度から、ターゲットSNRが実現されているかどうかを判定する。サンプルタイミングモジュール330は、対象の所定の周波数Fを使用し、最小時間ステップΔtmin及び最大時間ステップΔtmaxを求める。この最小時間ステップΔtmin及び最大時間ステップΔtmaxを使用することにより、信号のサンプリング段階及びこれからのタイムスタンプが付与されたサンプルの生成段階においてネットワーク装置310が使用するサンプル時間を確立する。
図7は、本発明の一実施例によるネットワーク装置310のブロックダイアグラムを示している。図7に示されているように、ネットワーク装置310は、センサ又はサンプラ312を有している。いくつかの実施例においては、ネットワーク装置310は、STIM(Smart Transducer Interface Module)314、及びNCAP(Network Capable Processor)316を更に有している。このような実施例においては、センサ312及びSTIM314は、協働してサンプルを生成し、これが、次いで、NCAP316に伝達される。NCAP316は、サンプルを更に処理し、次いで、ネットワーク302を使用することにより、サンプルを遠隔地に伝送する。例えば、センサ312、STIM314、及びNCAP316は、ネットワーク接続されたセンサ用のIEEE1451規格に記述されているスマートセンサネットワークの要素であってよい。
図6Aに示されているように、サンプルタイミングモジュール330は、いくつかの実施例においては、ネットワーク装置310内に存在している。例えば、サンプルタイミングモジュール330は、コンピュータプログラムから構成可能であり、この命令は、NCAP316のプロセッサによって実行される。サンプルタイミングモジュール330は、計測値又はサンプルを取得する時点を求める。いくつかの実施例においては、サンプルを取得する時点は、最小時間ステップΔtminと最大時間ステップΔtmaxによって制限されたランダム時間ステップとして求められる。いくつかの実施例においては、サンプルタイミングモジュール330は、基本的に、ランダムサンプリング法100に関連して前述した制限されたサンプルタイミングインターバルを求める段階110を実装している。
いくつかの実施例においては、ネットワーク装置310は、ネットワーク202を介して演算ノード320からサンプルの要求を受信する。例えば、この要求は、サンプルの取得を開始するべくネットワーク装置310に命令可能であり、且つ、これは、対象の所定の周波数Fの最低周波数f1と周波数の数|F|に関する情報を有することができる。いくつかの実施例においては、要求は、判定された最大時間ステップΔtmaxとしてネットワーク装置310が利用可能なサンプル間における最大時間を更に有することができる。この要求を受信すると、サンプルタイミングモジュール330は、例えば、式(5)を使用して最小時間ステップΔtminを演算する。いくつかの実施例においては、サンプル間の最大時間が要求に含まれていない場合には、例えば、最大時間ステップΔtmaxも、式(6)を使用してサンプルタイミングモジュール330が演算する。
いくつかの実施例においては、ネットワーク装置310は、サンプル間に、少なくとも最小時間ステップΔtminが存在しているが、最大時間ステップΔtmaxを上回ることがないように、ランダム数生成器を使用して次のサンプル時間tnext用のランダム時間を生成する。次のサンプルは、次のサンプル時間tnextにおいて取得され、このサンプルにはタイムスタンプが付与される。タイムスタンプが付与されたサンプルは、次いで、演算ノード320に伝送される。ネットワーク装置310は、サンプリングを停止するように演算ノード320から指示されるまで、サンプルの取得及び伝送を継続する。
演算ノード320は、伝送されたタイムスタンプが付与されたサンプルをネットワーク302を介してネットワーク装置310から受信し、受信したサンプルを以前に受信したサンプルと組み合わせ、その結果からスペクトルを推定する。演算ノード320は、信号対雑音比(SNR)の尺度を更に評価し、ターゲットSNRが実現されているかどうかを判定する。いくつかの実施例においては、ターゲットSNRが実現されている場合には、演算ノード320は、サンプリングを停止するようにネットワーク装置310に対して命令する。
いくつかの実施例においては、演算ノード320は、コンピュータプロセッサ、メモリ、及びコンピュータプログラムを有している。コンピュータプログラムの命令は、プロセッサによって実行された際に、受信したサンプルを以前に受信されたサンプルと組み合わせる段階と、組み合わせられたサンプルのSNRの尺度を評価する段階と、いくつかの実施例においては、組み合わせられたサンプルのSNRを推定する段階と、を実装している。いくつかの実施例においては、演算ノード320は、基本的に、試験システム200と関連して前述したスペクトル推定器240である。いくつかの実施例においては、コンピュータプログラムの命令は、サンプルの要求をネットワーク装置310に伝送する段階と、ターゲットSNRが実現されている場合にサンプリングを停止するための命令を送信する段階と、を更に実装している。
図6Bは、本発明の別の実施例によるネットワーク接続されたセンサシステム300のブロックダイアグラムを示している。図6Bに示されているように、サンプルタイミングモジュール330は、演算ノード320内に存在している。例えば、サンプルタイミングモジュール330は、前述の演算モジュール320のコンピュータプログラムの一部から構成可能である。
このような実施例においては、それぞれのサンプルのタイミングは、演算ノード320において判定され、ネットワーク302を通じてネットワーク装置310に伝送される。次いで、ネットワーク装置310は、演算ノード320から受信したサンプル時間においてサンプルを取得し、サンプルを演算ノード320に伝送する。タイムスタンプの付与は、ネットワーク装置310又は演算ノード320において実行可能である。
例えば、ネットワーク302の時間遅延又はレイテンシーが判明している場合には、ネットワーク装置310は、単純なトリガ可能なセンサを有することができる。演算ノード320は、前述のように、既知のレイテンシーをサンプルタイミングモジュール330によって生成される次のサンプル時間と組み合わせることによって判定される時間においてトリガを生成する。このトリガがトリガ可能なセンサによって受信されると、センサが、信号をサンプリングし、サンプルをネットワーク302を介して演算ノード320に伝送する。演算ノード320は、ネットワーク装置310によって受信される新しいトリガの生成を継続し、ネットワーク装置310は、これに相応し、前述の評価される尺度に示さているターゲットSNRが実現されるまで、演算ノード320に対するサンプルの送信を継続する。ターゲットSNRが実現すると、演算ノード320は、トリガの生成を打ち切り、この結果、ネットワーク装置310がサンプリングを停止する。
図6A及び図6Bに関連して説明したものの中間的な組み合わせであるネットワーク接続されたセンサシステム300の構成も本発明の範囲に属している。例えば、最小時間ステップΔtminと最大時間ステップΔtmaxを求める段階を演算ノード320内に実装可能であり、次のサンプル時間tnextを確立する段階をネットワーク装置310によって実行可能である。
別の例においては、図6Bにおいて、ネットワーク装置310に伝送されるサンプルの要求に次のサンプル時間tnextが含まれるように、システム300を表現することができる。但し、例えば、未知のネットワーク遅延に起因し、ネットワーク装置310は、次のサンプル時間tnextにおいて正確にサンプルを取得することができない。この代わりに、ネットワーク装置310は、可能な限り早期にサンプルを取得し、ネットワーク装置310のローカルクロックに従ってサンプルにタイムスタンプを付与する。この例においては、タイムスタンプが付与されたサンプルの実際のサンプル時間は、伝送された次のサンプル時間tnextとは等しくない。しかしながら、実際のサンプル時間が最小時間ステップΔtminと最大時間ステップΔtmaxによって適切に制限されるように未知のレイテンシーがなっている場合には、演算ノード320は、通常の方式により、サンプルを組み合わせて評価することができる。以上のことから、当業者であれば、システム300のその他の変形を容易に考案可能であり、それらのいずれもが本発明の範囲に属している。
以上、ランダムサンプリング法の実施例と、ランダムサンプリングの実施例を利用した試験システム及びネットワークセンサシステムについて説明したが、前述の実施例は、本発明の原理を表す多数の特定の実施例の中のいくつかを例示したものに過ぎないことを理解されたい。当業者であれば、添付の請求項に定義されている本発明の範囲を逸脱することなしに、多数のその他の構成を容易に考案可能であることは明らかである。