畳み込み処理による任意波形合成装置とその方法およびコンピュータプログラム製品
【課題】
【解決手段】畳み込みプロセッサによって所望の任意波形から合成波形を生成する方法であって、持続延長されたインパルス信号を含むデータストリーム入力信号を畳み込みプロセッサに供給するステップと、畳み込みプロセッサの一つ以上のフィルタ係数を計算するステップと、フィルタ係数を使用して所望の任意波形に実質的に同等な合成波形を生成するステップとを含む方法。畳み込みプロセッサは有限インパルス応答(FIR)フィルタを含んでもよい。畳み込みプロセッサは持続延長されたインパルス信号で畳み込みを行い、そこで持続延長されたインパルス信号は一つ以上のタップを介し連続して遅延され、タップのそれぞれの出力はその遅延に対応するフィルタ係数で乗算され、タップ出力とフィルタ係数との積の総和は所望の任意波形を構成するようにしてもよい。
【解決手段】畳み込みプロセッサによって所望の任意波形から合成波形を生成する方法であって、持続延長されたインパルス信号を含むデータストリーム入力信号を畳み込みプロセッサに供給するステップと、畳み込みプロセッサの一つ以上のフィルタ係数を計算するステップと、フィルタ係数を使用して所望の任意波形に実質的に同等な合成波形を生成するステップとを含む方法。畳み込みプロセッサは有限インパルス応答(FIR)フィルタを含んでもよい。畳み込みプロセッサは持続延長されたインパルス信号で畳み込みを行い、そこで持続延長されたインパルス信号は一つ以上のタップを介し連続して遅延され、タップのそれぞれの出力はその遅延に対応するフィルタ係数で乗算され、タップ出力とフィルタ係数との積の総和は所望の任意波形を構成するようにしてもよい。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して通信に関し、より詳細には、波形合成に関する。
【背景技術】
【0002】
現代のレーダやソナー技術では、一般に、送信パルスを変調する信号処理技術であるパルス圧縮技術が、距離分解能と信号対雑音比を補強するために使用されている。一般的なパルス圧縮技術にはチャープ圧縮がある。チャープ圧縮においては、時間に対し周波数が増加したり(アップチャープと呼ぶ)減少したり(ダウンチャープと呼ぶ)するチャープ信号が提供される。
【0003】
パルス圧縮レーダに使用されるフィルタ技術の例としては、弾性表面波(SAW)フィルタ技術がある。弾性表面波は、弾性を有する基板の表面に沿って進行する音波で、その振幅は基板の深度に対し指数関数的に減衰する。弾性表面波フィルタは一般には電気機械装置で、電気信号が圧電性結晶において機械的な波形に変換される。信号波は付加電極で電気信号に再変換されるまでに結晶内での進行に伴って遅延され、遅延された出力は再結合されて正に有限インパルス応答フィルタのアナログ実装を形成する。最も交換し難いユニット(Least Replaceable Unit:LRU)の弾性表面波エキサイタ/レシーバは、送信用の伸長パルス波形を生成し、目標物から戻ってくる波形を圧縮して、距離分解能に影響を及ぼすことなく信号対雑音比の拡大を可能にしている。
【0004】
しかし、多数の離散した目標物から戻ってくる波形は時間的に重複しているため、その試験やシミュレーションを行うのは非常に困難である。レーダ環境シミュレータ(Radar Environment Simulator:RES)の例として、デジタルレーダ陸塊シミュレータ(Digital Radar Land Mass Simulator:DRLMS)がある。問題は、時間的に重複する信号で表わされるこのように近接する目標物の半無限連続体を弾性表面波の伸張/圧縮波形のシミュレート技術でシミュレートすることである。弾性表面波フィルタはインパルス刺激に応じて周波数が継続的に変化する周波数変調された出力を生成しなければならないが、その周波数は上方または下方に、線形的または非線形的な、もしくは特定の帯域にゲインを持った変化をするので、弾性表面波フィルタからの複雑なチャープ波形を再現することは、極めて困難な課題である。
【0005】
本願と譲渡人が共通である米国特許第6,150,976号(発明の名称「Synthesis of Overlapping Chirp Waveforms」)において、James R. Cooley氏はこの問題の解決に飛躍的な進歩を見せた。その中で同氏は、重複するチャープ波形を合成する廉価な有限インパルス応答(Finite Impulse Response:FIR)フィルタ処理の半導体素子のアーキテクチャを活用する発想を展開した。
【0006】
FIRフィルタは畳み込みプロセッサである。通常動作では、フィルタは、生のデジタルデータストリームをフィルタのインパルス応答を表す一連の係数で畳み込むという動作をしている。特定のインパルス応答によるデジタルデータストリーム入力の畳み込みにより、出力としてフィルタ処理されたデータストリームが取り出される。RESをはじめとして、FIRフィルタにはさまざまな用途がある。
【0007】
Cooley氏の方法は、FIRフィルタに対する一個のインパルス入力については都合よく動作する。しかし、RESでの用途には、インパルスがより長い持続期間を有することを必要とする、即ち、多数のサンプルの長さの刺激を必要とする他のシステム的考察がある。特に、ドップラー変調を正確にシミュレートするには、持続期間が複数のサンプルの持続期間に延長された「インパルス」が必要とされる。そこで、FIRフィルタのような畳み込みプロセッサを単一サンプルの持続期間より長い「インパルス」で刺激することで所望の任意波形を複製する方法とそれに対応するシステムが必要となる。
【発明の概要】
【0008】
本発明では、自動化された通信の支援を提供する装置、システム、方法およびコンピュータプログラム製品のさまざまな典型的な実施例を規定する。
【0009】
典型的な実施例においては、畳み込みプロセッサによって所望の任意波形から合成波形を生成する方法ならびに対応するシステムおよびコンピュータプログラム製品を提供している。その方法には、持続延長されたインパルス信号を含むデータストリーム入力信号を畳み込みプロセッサに供給するステップと、畳み込みプロセッサの一つ以上のフィルタ係数を計算するステップと、フィルタ係数を使用して所望の任意波形に実質的に同等な合成波形を生成するステップと、が含まれる。典型的な実施例においては、畳み込みプロセッサには有限インパルス応答(FIR)フィルタが含まれる。
【0010】
典型的な実施例においては、持続延長されたインパルスはi個のインパルス信号を含み、iは整数である。畳み込みプロセッサは持続延長されたインパルス信号で畳み込みを行い、そこで持続延長されたインパルス信号は一つ以上のタップを介し連続して遅延され、タップのそれぞれの出力はその遅延に対応するフィルタ係数で乗算され、タップ出力とフィルタ係数との積の総和は所望の任意波形を構成するようにしてもよい。
【0011】
典型的な実施例においては、畳み込みプロセッサはj個のタップとj個のフィルタ係数を含み、jは整数である。所望の任意波形はj回サンプルされてもよい。所望の任意波形のj個のサンプルは0値と等しいi−1個のサンプルで補完されてn×1の波形データ行列(WFDM)を生成してもよく、ここでn=j+i−1である。
【0012】
典型的な実施例においては、畳み込みプロセッサの状態は持続延長されたインパルス信号が連続する時間の増加ごとに畳み込みプロセッサに送られるのに従って決められる。そのような典型的な実施例においては、畳み込みプロセッサの状態はn列とj行を有する畳み込み状態行列(CSM)に格納され、各列は時間の増加ごとの畳み込みプロセッサの状態を表し、各行はタップによる遅延を表している。
【0013】
さらに別の典型的な実施例においては、フィルタ係数は波形データ行列と畳み込み状態行列とから導出される。そのような典型的な実施例の一つにおいては、フィルタ係数はフィルタ係数行列(FCM)に格納され、その値は、WFDM・CSMT・(CSM・CSMT)−1の式に等しい。
【0014】
上述の実施例、ならびにその方法およびコンピュータプログラム製品の実施例について以下に詳述する。
【図面の簡単な説明】
【0015】
本発明のさまざまな特徴や効果は、添付図面で例示の如く、特に本発明の典型的な実施例の記述により以下に明らかとなる。以下の図面においては、同一の参照符号は一般に、同一、機能的に同等、または構造的に同等の要素を示し、参照符号の左側の桁は最初に表示された図面の番号を示す。
【図1】図1は所望の任意波形の例を示す。
【図2】図2はFIRフィルタへの単位インパルス入力を多数のサンプル期間の長さの一定信号で置き換えたときのFIRフィルタからの合成された波形の例を示す。
【図3】図3Aは既知の実施例に係る所望の波形の例を示し、図3Bは既知の実施例に係る合成された波形の例を示す。
【図4】図4はFIRフィルタに多数サンプル「インパルス」を入力し既知の方法を使用して作られた合成エラー信号の例を示す。
【図5】図5は本発明の特定の実施例に係る合成されたパルス波形の例を示す。
【図6】図6Aは本発明の実施例に係る所望の波形の例を示し、図6Bは本発明の実施例に係る合成された波形の例を示す。
【図7】図7Aは図6Bに示す合成波形を作る実施例における合成エラー信号を示し、図7Bはその合成エラー信号をより精度を上げて示す。
【図8】図8は本発明の特定の実施例に係る畳み込みプロセッサの構造の例を示す。
【図9】図9は畳み込みプロセッサを任意波形生成器としての使用を含む本発明の別の特定の実施例に係る畳み込みプロセッサの構造の例を示す。
【図10】図10は任意波形生成器への刺激として機能する持続延長された「インパルス」の例を示す。
【図11】図11は本発明の実施例に係る外挿される所望の任意波形の例を示す。
【図12】図12は図11に示す所望の任意波形から導出される波形データ行列の例を示す。
【図13】図13は本発明の実施例に係るフィルタ係数行列の構成の例を示す。
【図14】図14は本発明の実施例に係る畳み込み状態行列の構成の例を示す。
【図15】図15はFIRフィルタに関連し、関係し、または置き換えて使用される本発明の実施例に係るコンピュータシステムの典型的な実施例を示す。
【発明を実施するための形態】
【0016】
〔典型的な実施例の概観〕
本発明の好ましい典型的な実施例を以下に詳述する。特定の典型的な実施例について詳述するが、これは例示の目的のみであると理解すべきである。当業者においては、本発明の範囲を逸脱することなく、その他の要素および構成を使用し得ることが分かる。
【0017】
〔典型的な実施例〕
図1は、所望の任意波形100の例を、時間102を横座標とし、振幅104を縦座標または時間の関数として示している。例示の実施例においては、所望の任意波形100は線形周波数変調(FM)チャープで、グラフ上で見やすいように故意に短く縮小されている。実際のレーダ波形はかなり長い場合が多く、拡大せずにその詳細を見るのは困難である。
【0018】
米国特許第6,150,976号に記載のCooley氏の方法を使用することで、1周期の長さの単位インパルスをFIRフィルタへの入力として、図1に示す波形100を正確に複製することができる。FIR波形生成フィルタは波形のデジタル化された値である係数が取り込まれており、単位インパルスによって刺激されると、波形を概ね正確に複製する。図1に示す波形100が時間的に重複した多数の波形は、FIR波形生成フィルタをそれぞれが時間的に離散した多数の単位インパルスで刺激することにより、概ね正確に合成される。
【0019】
しかし、その他の考慮すべき事項により単位インパルスが使えないときは、Cooley氏の方法の精度が崩れてしまう。図2は、前述のFIRフィルタと同じまたは同等のFIRフィルタで、FIRフィルタへの前述の単位インパルス入力を多数のサンプル期間持続する一定信号に置き換えたときの合成された波形200の例を示す。同じように、時間102を横座標とし、振幅104を縦座標として示している。説明を簡単にするために、このような信号を多周期期間の「インパルス」信号と呼ぶ。図2に示す実施例において、合成波形200は、10サンプル周期期間である入力「インパルス」信号による結果である。図示の如く、持続期間の延長された「インパルス」に起因する明確な振幅の歪みが存在する。
【0020】
振幅歪みに対するCooley氏の解決方法は、合成波形200の例に見られる振幅の減衰を回復するために、フィルタインパルス応答を構成する係数に重み付けをするというものである。しかし、特定の実施例においては、これは部分的な解決としかならない。歪みには、位相、さらにはパルス長の歪みがあり、これらのパラメータは振幅に重み付けをしても補正することができないからである。フィルタは畳み込みを行っているので、インパルスを拡張すると、インパルスの長さでパルスの幅が伸長されてしまう。この影響は、図3Aに示す所望の波形300の例と図3Bに示す合成波形310の例とを比較することで分かる。図3Bに示す典型的な実施例では、合成処理に使用されたFIRフィルタへの入力は10サンプル「インパルス」からなる。図3Aの所望の波形300の例を参照すると、所望の波形の幅は500サンプル周期である。しかし、図3Bの合成波形310においては、畳み込み処理が合成波形の幅をインパルスの幅(例示では10サンプルを有する)の分だけ伸長するので、合成波形は510サンプルに伸長されている。
【0021】
一部の用途では、数サンプル周期のパルスの伸長が重大なエラーとはならず、フィルタ係数の重み付けによる振幅歪みの補正で許容できる結果が得られる可能性がある。しかしながら、その他の用途においては、特に付随する位相エラーがもたらされるので、パルス幅エラーは重大であると考えられる。図1および図2における波形100と波形200間、ならびに図3Aおよび図3Bにおける波形300と波形310間の位相を精査すると、それぞれの所望の波形と合成されたパルス波形との間には大幅な位相のずれが見られる。さらに悪いことには、位相ずれはパルスの長さに亘って一定ではない。例えば、位相のずれは、図示の如く、パルスの開始時点ではほとんど0であるのに対し、パルスの最後では約90度に増大している。
【0022】
図4は、FIRフィルタに上述の10サンプル「インパルス」を入力し、Cooley氏の方法を使用して作られた合成エラー信号400の例を示す。合成エラー400は、図示の実施例においては、合成波形200からの所望の波形100のポイントごとの減算によって計算されている。図示のように、エラーはチャープ周波数が増加するのに従い急激に増加しており、これは所望の波形と合成パルス波形との間の位相の非相関によるものである。
【0023】
以下の実施例および対応する図面により、既知の方法およびその対応システムに対する長所を説明する。はじめに、図5は、合成パルス波形500の例を示す。図示のとおり、合成パルス波形500の例は、図1に示す所望の波形100の正確でないとしても実質的に正確な複製である。図5の波形500は、本発明の特定の実施例によれば、図2に示す歪んだ波形200を生成したFIRフィルタへの10サンプル「インパルス」入力と同じものを使用して生成されている。一つ以上の実施例においては、合成波形500と合成波形200との差は、少なくとも一部はFIRフィルタの波形生成フィルタ係数の差によるものである。
【0024】
米国特許第6,150,976号の特定の実施において、Cooley氏は、特定の持続延長された刺激に対する所望の波形の正確な複製を作り出すためのフィルタ係数を算出する手段を提供していない。従って、教示では、単一サンプルのインパルス刺激(即ち、所望の波形のサンプル)によるフィルタ係数を使用して近似させ、その後、図2に見られる波形200で明らかな振幅の減少を低減するために、フィルタ係数に振幅の重み付けをしている。本発明の実施例によれば、特定の持続延長された刺激から所望の波形を作り出すのに必要なフィルタ係数は、計算によって得られる。特定の実施例においては、これらの係数は前述のCooley氏の方法に使用された所望の波形のサンプルのものと同じではない。
【0025】
図6Aに例示する典型的な実施例においては、一つ以上の実施例に係る所望の波形600を示している。図6Bに例示する典型的な実施例においては、同じ実施例に係る合成波形610を示している。図3Bの実施例と同様に、合成処理に使用されたFIRフィルタへの入力は、10サンプル「インパルス」からなる。しかし、これらの実施例においては、図3Bの実施例と異なり、位相エラー、振幅エラー、およびパルスの伸長が、ほとんど、または全く無いか、もしくは無視できる程度である。特定の実施例においては、図6Bの合成パルス610は、図6Aに示す所望のパルス600と実質的に正確に一致する。
【0026】
図7Aおよび図7Bに例示する典型的な実施例は、10サンプル「インパルス」がFIRフィルタへの入力として供給される図6Bの合成波形610を形成する実施例で作られた合成エラーを示している。エラーは、合成波形610からの所望の波形600のポイントごとの減算によって計算されている。しかるに、図4のエラー波形400と対比して、エラーは無視できるレベルに低減されている。この例示の特定の例では、実行値(RMS)エラーは、所望の波形600に対し、0.0043、または−44dBとなっている。図7Aおよび図7Bは同一の結果を示すが、合成エラー波形710の縦座標104は合成エラー波形700の縦座標104に比較して精度を上げている。
【0027】
図8は、本発明の実施例に係る畳み込みプロセッサ810の構造の例を示す。典型的な実施例においては、畳み込みプロセッサ810は、有限インパルス応答(FIR)フィルタである。それぞれの実施例においては、その実装例を挙げれば、例えば、その構造810には、FIRフィルタ集積回路、またはフィールドプログラマブルゲートアレイ(Application Specific Integrated Circuit:ASIC)装置の内部ロジックブロックがある。畳み込みプロセッサ810は、入力データストリーム812を一連のフィルタ係数804での畳み込みの動作をして、出力データストリーム814を形成している。畳み込み処理は、一つ以上のシフトレジスタであるタップ802のような連続する遅延素子によって入力を遅延させ、次に、それぞれのタップ802に適用される係数804を乗算器(またはミキサ)806で乗算し、前述の係数乗算のすべての結果を加算器808で加算して実行することができる。
【0028】
図9は、畳み込みプロセッサを任意波形生成器として使用するような一つ以上の本発明の実施例で使用される畳み込みプロセッサ910の構造の例を示す。これらの実施例においては、入力データストリームは、持続期間の延長された「インパルス」波形信号912からなり、これをフィルタ係数904に対して畳み込みを行うと、合成波形914が作り出される。特定の実施例においては、合成波形914は、所望の任意波形に対し位相エラーが、ほとんど、または全く無いか、もしくは無視できる程度である。一つ以上の実施例においては、合成波形914は、所望の任意の波形に正確に、またはほぼ正確に一致する波形からなる。
【0029】
一つ以上の実施例においては、係数904は畳み込みプロセッサ910のインパルス応答である。しかしながら、畳み込みプロセッサ910を、持続延長された「インパルス」912を刺激とする任意波形914の生成器として使用するには、必要な係数904は、図8の実施例で想定されたような、所望の波形と同一でなくてもよい。これらの実施例では、代わりに、係数904は特定の多サンプルの刺激912において所望の応答914を作り出すように計算によって得られる。以下の実施例において、必要な係数を計算する方法を開示する。
【0030】
図10は任意波形914の生成器910への刺激として機能する持続延長された「インパルス」912の例を示す。例示の実施例では、「インパルス」は任意の内容と長さでi個のサンプルを含む数値の1次元配列であって、ここでiは整数である。実施例においては、持続延長された「インパルス」912が未変調の場合は、整数1の多数のサンプルからなっている。しかし、別の実施例においては、「インパルス」は変調された搬送波の数列で、例えば、(1、0、-1、0、1、0、-1、0)や(0.707、1、0.707、0、-0.707、-1、-0.707、0)、または設計配慮で決定される任意の数の数列であってもよい。
【0031】
図11は本発明の実施例に係る外挿される所望の任意波形1100の例を示す。図12は図11に示す所望の任意波形1100から導出される波形データ行列(Wave Form Data Matrix:WFDM)1200の例を示す。実施例においては、WFDM1200は、波形1100の離散サンプルである。
【0032】
図11と図12の実施例は合わせて、本発明の実施例に係るWFDM1200の導出と構成を示す。典型的な実施例においては、WFDM1200は、持続延長された「インパルス」912を畳み込みプロセッサ910のフィルタ係数904での畳み込みによって作られる結果の1次元配列である。
【0033】
例示の実施例においては、WFDM1200には、実施例における波形サンプリングに基づく二つの成分が含まれる。図11に示す外挿される所望の任意波形1100を参照すると、多数の、または一つの実施例においてはほとんどのデータはj個のサンプルからなり、持続延長された「インパルス」912に応じて畳み込みプロセッサ910により作り出される所望の任意波形914を定義している。
【0034】
二番目に、図11に例示の実施例においては、所望の任意波形914の最後に、複数の0値のサンプル1102、即ちi−1個の0値サンプルで例示されるサンプルが付け足されている。ここで、iは持続延長された「インパルス」912の長さである。一つの実施例においては、0値サンプル1102は重要である。それは、これらは計算上の制約として機能し、生成された任意波形914を強制的に0値に戻して、例えば、図3Bの実施例に示すような他の実装でのパルス伸長の歪みを排除するためである。この例示の実施例においては、WFDM1200中のサンプルの合計数nは、波形914のj個のサンプルと0値サンプル1102のi−1個の和、即ちn=j+i−1となる。
【0035】
図13は本発明の実施例に係るフィルタ係数行列(Filter Coefficient Matrix:FCM)1300の構成の例を示す。この典型的な実施例においては、FCM1300は係数の1×jの線形配列であり、畳み込みプロセッサ910がi個サンプルの持続延長された「インパルス」912で刺激されると、j個サンプルの所望の任意波形914を作り出す。この典型的な実施例においては、図11の実施例に例示されるように、係数の数jは少なくとも所望の任意波形914の非0値サンプル部のサンプル長と同じであり、ハードウェア効率を犠牲にするとそれ以上でもよい。図9における実施例においては、C1、C2、・・・、Cnのn個の係数があるが、図9の実施例を説明中の実施例に合わせるために、添え字nを添え字jに置き換えてもよいことに留意されたい。
【0036】
典型的な実施例においては、最初はFCM1300の係数は未知の変数である。係数は、その後、以下に記載の方法、および対応するシステムによって計算される。
【0037】
図14は本発明の実施例における畳み込み状態行列(Convolution State Matrix:CSM)1400の構成の例を示す。この典型的な実施例においては、CSM1400はj×nの行列であり、持続延長された「インパルス」912が畳み込みプロセッサ910中を伝播するのに従い、それぞれの時間における畳み込みプロセッサ910の状態を表す。
【0038】
この典型的な実施例においては、CSM1400はj行あり、それぞれの行はフィルタタップ802を表している。また、この典型的な実施例においては、CSMにはn列があり、それぞれの列は所与の時間の増加における畳み込みプロセッサ910の状態を表している。
【0039】
例えば、最初の時間増加での指定時刻1(1列目の表示)では、持続延長された「インパルス」912の最初の値は1列目の1行目となり、1列目の他の行はすべて0となる。
【0040】
次に、2番目の時間増加での指定時刻2(2列目の表示)では、持続延長された「インパルス」912の最初の値は2列目の2行目となり、2列目の1行目には持続延長された「インパルス」912の2番目の値が入り、その他のすべての行は0となる。
【0041】
続いて、3番目の時間増加での指定時刻3(3列目の表示)では、持続延長された「インパルス」912の最初の値は3列目の3行目となる。3列目の2行目にはインパルスの2番目の値が入り、1行目には3番目の値が入り、その他のすべての行は0となる。
【0042】
例示の実施例においては、CSM1400は前述のやり方で値が入れられ、それぞれの列は、所与の時間における畳み込みプロセッサ910内の持続延長された「インパルス」912の位置を表している。時間の経過に従い、即ち列の状態が次第に右に移動するのに従って、持続延長された「インパルス」912が、列の下方、即ちより大きな行番号に移動し、持続延長された「インパルス」912がフィルタタップ802を伝播するのとまったく同じように、列の下方に進行していく。従って、この実施例においては、CSM1400には、持続延長された「インパルス」912からの刺激によるフィルタの状態のすべてが含まれている。
【0043】
CSM1400を図14の実施例に示すように定義すると、要素802、806、906で示される畳み込みプロセッサ910の遅延―乗算―加算の動作は、線形代数の公理により、次の行列のドット積の方程式で表わされる。
【0044】
WFDM=FCM・CSM ・・・(数式1)
【0045】
この実施例においては、WFDM1200は既知であり、図11および図12の実施例に対してそれぞれ述べたように、所望の任意波形914と0値サンプル1102とで構成されている。この実施例においては、CSM1400は既知であり、図14の実施例に示すように、持続延長された「インパルス」912で構成されている。従って、この実施例においては、FCM1300が未知の係数C1、C2、・・・、Cnを含んでおり、これらは前述の数式1を解いて求めることができる。数式1の解は、以下に記載の実施例に従って導き出すことができる。
【0046】
FCM=WFDM・CSMT・(CSM・CSMT)−1 ・・・(数式2)
【0047】
従って、この実施例においては、畳み込みプロセッサ910で、持続延長された「インパルス」912を使用して所望の任意波形914を作り出すのに必要な係数C1、C2、・・・、Cnは、FCM1300の中身であり、例えば、前述の数式2に従って計算される。
【0048】
〔フィルタ係数行列の線形代数的導出の典型的な実施例〕
図14の実施例に係るj×1行列FCM1300として記述される図9の実施例における畳み込みプロセッサ910の係数C1、C2、・・・、Cnの導出の例を、限定ではなく明確化のために、以下に説明する。ここで、添え字jとnとは前述の比較の目的においては同じである。
【0049】
ステップ0:
WFDM=FCM・CSM(これは基本行列式である。)
【0050】
ステップ1:
WFDM・CSMT=FCM・CSM・CSMT
【0051】
CSMは正方行列ではないので直接反転することができないが、FCMについて解くには反転させなければならない。このジレンマに対する解としては、疑似逆行列(pseudo-inverse)といわれる行列代数の手法がある。式の右辺のCSMにそれ自身の転置「CSMT」を乗算(右から掛ける(post-multiply))すると、結果として正方行列となる。同じ動作を式の左辺に行い、式を均衡させる。
【0052】
ステップ2:
WFDM・CSMT・(CSM・CSMT)−1=FCM・CSM・CSMT・(CSM・CSMT)−1
【0053】
ここで、式の右辺の「CSM・CSMT」で表わされる正方行列に、それ自身の逆行列「(CSM・CSMT)−1」を乗算(右から掛ける(post-multiply))して単位元とする。同じ動作を式の左辺に行い、式を均衡させる。式の右辺の「CSM・CSMT・(CSM・CSMT)−1」は、単位元と等しく(単位元に等しい行列)、よってそれが消え、FCMだけが分離されて残ることになる。
【0054】
ステップ3:
FCM=WFDM・CSMT・(CSM・CSMT)−1
【0055】
FCMを分離後は、式の並び順を変えるだけでFCMの係数の値の明確な解が得られる。
【0056】
〔典型的な実施例の発明の効果〕
典型的な実施例において、上述の方法、および対応するシステムには、さまざまな長所がある。まず、正確さについては、「インパルス」刺激が単一のサンプルより長い期間の場合に、振幅、時間、および位相において、所望の任意波形の正確な、またはほとんど正確な複製を得ることができる。これは従来技術の実施では不可能であった。
【0057】
さらに、所望の波形は波形生成フィルタとして構成された畳み込みプロセッサにより生成することができる。フィルタは、持続延長された「インパルス」によって刺激され、それに応じて所望の波形の正確な複製を作りだす。多数の時間の重複する所望の波形の複製は、波形生成フィルタを、時間的に近接した多数の持続延長された「インパルス」で刺激することにより生成することができる。
【0058】
また、持続延長された刺激に適応する能力も備えている。多数のサンプルの期間である「インパルス」刺激により、所望の波形の正確な複製を得ることができる。これにより、波形の正確さにおける妥協を、単一サンプルの期間より長い刺激を必要とするシステム的考察の結果として、排除することができる。
【0059】
〔コンピュータシステムの実施例〕
図15は、前述のFIRフィルタ、関連するプロセッサおよびコンピュータシステムに限定はされないが、それらに関連し、関係し、または置き換えて使用される本発明の典型的な実施例に係るコンピュータシステム1500の典型的な実施例を示す。
【0060】
本発明の実施例(もしくはその一部、またはその機能)は、ハードウェア、ソフトウェア、ファームウェア、またはその組み合わせで実施でき、一つ以上のコンピュータシステム、またはその他のプロセスシステムで実施することができる。実際、典型的な実施例の一つにおいて、本発明は本書に記載の機能を行うことが可能な一つ以上のコンピュータシステムに使われている。コンピュータシステム1500の例が図15に示され、本発明を実施するのに利用できるコンピュータシステムのブロック図の典型的な実施例を表している。詳細には、図15にはコンピュータ1500が例示され、その典型的な例としては、オペレーティングシステムが搭載された、例えば(限定はされないが)、パーソナルコンピュータ(PC)システムがあり、そのオペレーティングシステムには、例えば(限定はされないが)、米国ワシントン州レッドモンド市のMICROSOFT(R)社のポケットPC用WINDOWS MOBILE(TM)、またはMICROSOFT(R) WINDOWS(R) NT/98/2000/XP/CEなど、米国カリフォルニア州サンタクララ市のSUN(R) Microsystems社のSOLARIS(R)、米国ニューヨーク州アーモンク市のIBM(R) Corporation社のOS/2、米国カリフォルニア州クパチーノ市のAPPLE(R) Corporation社のMac/OSなどや、例えばLINUX(R)、HPUX(R)、IBM AIX(R)、SCO/UNIX(R)などを含むさまざまなバージョンのUNIX(R)(米国カリフォルニア州サンフランシスコ市のOpen Groupの商標)がある。しかし、本発明は、これらのプラットフォームに限定されるものではなく、あらゆる適切なオペレーティングシステムが搭載されたあらゆる適切なコンピュータシステムにおいて実施することができる。典型的な実施例の一つにおいては、本発明は、本書に記述のコンピュータシステムにおいて実施されている。コンピュータの例として、コンピュータ1500を図15に示す。本発明は、その他の部品、例えば(限定はされないが)、コンピューティングデバイス、通信デバイス、電話、携帯情報端末(PDA)、パーソナルコンピュータ(PC)、ノートパソコン(handheld PC)、クライアントワークステーション、シンクライアント、シッククライアント、プロキシサーバ、ネットワーク通信サーバ、リモートアクセスデバイス、クライアントコンピュータ、サーバコンピュータ、ルータ、ウェブサーバ、およびデータ、メディア、オーディオ、ビデオ、テレフォニ(telephony)またはストリーミング技術のサーバなどにも、図15に示すようなコンピュータを使用して実施することができる。
【0061】
コンピュータシステム1500には、限定はされないが、例えば、プロセッサ1504のような、一つ以上のプロセッサが含まれる。プロセッサ1504は、通信インフラストラクチャ1506(限定はされないが、例えば、コミュニケーションバス、クロスオーバーバー(cross-over bar)、またはネットワークなど)と接続される。このコンピュータシステムの例についてのさまざまなソフトウェアの実施例が述べられている。この記述を読めば、当業者には、その他のコンピュータシステムまたはコンピュータアーキテクチャを使用して本発明を実施する方法が明らかになる。
【0062】
コンピュータシステム1500には、通信インフラストラクチャ1506(または不図示のフレームバッファなど)からの、限定はされないが、例えば、グラフィック、テキスト、その他のデータを送って表示ユニット1530上に表示するための表示インタフェース1502が含まれる。
【0063】
コンピュータシステム1500には、限定はされないが、例えば、メインメモリ1508、ランダムアクセスメモリ(RAM)、2次メモリ1510などが含まれる。2次メモリ1510には、例えば(限定はされないが)、ハードディスクドライブ1512や、フロッピーデスクドライブ、磁気テープドライブ、光ディスクドライブ、CD−ROMドライブなどのリムーバブル記憶ドライブ1514が含まれる。リムーバブル記憶ドライブ1514は、限定はされないが、例えば、リムーバブル記憶ユニット1518の読み出しや書き込みを周知の方法で行う。プログラム記憶装置やコンピュータプログラム製品とも呼ばれるリムーバブル記憶ユニット1518は、限定はされないが、例えば、フロッピーディスク、磁気テープ、光ディスク、CDなどを表わし、リムーバブル記憶ドライブ1514によって読み出しや書き込みが行われる。リムーバブル記憶ユニット1518には、コンピュータソフトウェアやデータが記憶されたコンピュータで使用可能な記憶媒体が含まれることは理解できよう。
【0064】
典型的な実施例の代替え的な例においては、2次メモリ1510に、コンピュータプログラムまたはその他の命令をコンピュータシステム1500にロードすることが可能なその他の同様のデバイスが含まれる。そのようなデバイスには、例えば、リムーバブル記憶ユニット1522とインタフェース1520が含まれる。それらの例としては、プログラムカートリッジとカートリッジインタフェース(限定はされないが、例えば、テレビゲーム機に見られるような)、リムーバブルメモリIC(限定はされないが、例えば、消去可能プログラマブルROM(EPROM)やプログラマブルROM(PROM))とその関連ソケット、その他のリムーバブル記憶ユニット1522とインタフェース1520があり、プログラムやデータをリムーバブル記憶ユニット1522からコンピュータシステム1500に転送することができる。
【0065】
コンピュータ1500には、例えば(限定はされないが)、マウスまたはデジタイザのようなその他のポインティングデバイス、キーボード、もしくはその他のデータ入力デバイス(いずれも不表示)などの入力デバイスが含まれる。
【0066】
コンピュータ1500には、例えば(限定はされないが)、表示ユニット1530と表示インタフェース1502のような出力デバイスが含まれる。また、コンピュータ1500には、例えば(限定はされないが)、通信インタフェース1524、ケーブル1528や通信路1526などの入出力(I/O)デバイスが含まれる。これらのデバイスには、限定はされないが、例えば、ネットワークインタフェースカードやモデム(いずれも不表示)が含まれる。通信インタフェース1524は、コンピュータシステム1500と外部機器間でのソフトウェアやデータのやり取りを可能にする。通信インタフェース1524の例としては、限定はされないが、例えば、モデム、ネットワークインタフェース(例えば、イーサネットカード)、通信ポート、PCMCIA(PCメモリカード国際協会)スロットとそのカードなどが含まれる。通信インタフェース1524を介してやり取りされるソフトウェアやデータは、電気的、電磁的、光学的、または通信インタフェース1524が受信可能なその他の形態の信号1528である。この信号1528は、限定はされないが、例えば、通信路1526(限定はされないが、例えば、チャンネル)を介して通信インタフェース1524に供給される。このチャンネル1526は、限定はされないが、例えば、伝播信号を含む信号1528を伝え、限定はされないが、例えば、ワイヤまたはケーブル、光ファイバ、電話回線、携帯電話リンク、無線周波(RF)リンク、およびその他の通信チャンネルなど使用して実施される。
【0067】
本書においては、「コンピュータプログラム媒体」および「コンピュータ可読媒体」の用語は一般に、限定はされないが、例えば、リムーバブル記憶ドライブ1514、ハードディスクドライブ1512に取り付けられたハードディスク、信号1528などの媒体の意味に使用される。これらのコンピュータプログラム製品は、コンピュータシステム1500にソフトウェアを提供している。本発明はこのようなコンピュータプログラム製品に使われている。
【0068】
「一つの実施例」、「実施例」、「典型的な実施例」、「さまざまな実施例」などは、それぞれ記載された特徴、構造または性質を含む本発明の実施例を示すが、すべての実施例がその特徴、構造または性質を必ずしも含むものではない。さらに、「一つの実施例において」または「典型的な実施例において」などの語句の使用の繰り返しは、同一の実施例を意味する場合もあるが、必ずしも同一の実施例を意味している訳ではない。
【0069】
本書の記載および請求項において、「連結する」および「接続する」の語句およびその派生語が使用される。これらの語句はお互いの同義語として意図していないことを理解すべきである。特定の実施例においては、「接続する」は、二つ以上の要素が物理的または電気的にお互いに直接接していることを示すために使用される。「連結する」は、二つ以上の要素が物理的または電気的に直接接していることを意味することもあるが、「連結する」は、二つ以上の要素はお互いに直接接してはいないが、お互いに協同する、またはやりとりすることも意味する。
【0070】
アルゴリズムとはここでは、および一般的に、所望の結果に導く自己矛盾のない一連の行動または動作と考える。これには物理量の物理的な操作が含まれる。必ずしもそうではないが、普通、これらの物理量は、保存、転送、結合、比較、またはその他の操作がなされることが可能な電気または電磁信号の形態をとる。主に共通使用の理由から、これらの信号をビット、値、要素、符号、文字、用語、数字などとして示すことは、時に扱いやすいとされている。しかし、これらのすべて、および類似の用語は適切な物理量と関連付けられ、これら物理量に適用された単なる都合のよいラベルであることを理解すべきである。
【0071】
特に言及しない限り、本書の記述で明らかなように、「処理する」、「演算する」、「計算する」および「判断する」などの語句を使用した記述では、本書においては、コンピュータシステム内のレジスタやメモリにおける、例えば電子的な物理量を表すデータを、コンピュータシステム内のメモリ、レジスタもしくはその他の情報の保存、送信または表示機器において同様に物理量を表す他のデータに操作または変換するというコンピュータ、コンピュータシステムまたは類似の電子コンピュータデバイスの動作および処理を示すことはいうまでもない。
【0072】
同じように、「プロセッサ」の用語は、レジスタまたはメモリからの電子データを、レジスタやメモリに保存される他の電子データに変換する処理を行うあらゆる機器または機器の一部を意味する。「コンピュータプラットフォーム」は、一つ以上のプロセッサを備えている。
【0073】
本発明の実施例には、その動作を行う装置が含まれる。装置は、所望の目的に特別に構成されてもよいし、汎用の機器を備え機器に格納されたプログラムによって選択的に動作または再構成するようにしてもよい。
【0074】
本発明の実施例は、ハードウェア、ファームウェア、ソフトウェアの一つ、またはその組み合わせで実施できる。また、本発明の実施例は、機械可読媒体に格納された命令としても実施することができ、その媒体はコンピュータプラットフォームによって読み出されて実行され、本書に記述の動作を行う。機械可読媒体には、機械(例えば、コンピュータ)によって読み出し可能な形態で情報の格納および変換を行うためのあらゆる機構が含まれる。例えば、機械可読媒体には、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、電気的、光学的、音響的またはその他の形態の伝播信号(例、搬送波、赤外線、デジタル信号など)、その他が含まれる。
【0075】
コンピュータプログラム(コンピュータ制御ロジックとも呼ばれる)は、オブジェクト指向のコンピュータプログラムを含み、メインメモリ1508、2次メモリ1510、またはコンピュータプログラム製品とも呼ばれるリムーバブル記憶ユニット1518に記憶される。このようなコンピュータプログラムは、実行されると、本書に記述した本発明の特徴をコンピュータシステム1500が実行できるようにする。特に、コンピュータプログラムは、実行されると、プロセッサ1504が本発明の実施例に係るデータ同期期間でのコンフリクト解決の方法を提供する。従って、そのようなコンピュータプログラムは、コンピュータシステム1500の制御装置をも意味する。
【0076】
別の典型的な実施例においては、本発明は、制御ロジック(コンピュータソフトウェア)を格納したコンピュータ可読媒体からなるコンピュータプログラム製品に使われている。制御ロジックは、プロセッサ1504で実行されると、プロセッサ1504が本書に記述の本発明の機能を実行させる。別の典型的な実施例においては、本発明はソフトウェアを使用して実施でき、ソフトウェアはコンピュータプログラム製品に格納され、限定はされないが、例えば、リムーバブル記憶ドライブ1514、ハードディスクドライブ1512、または通信インタフェース1524などを使用してコンピュータシステム1500にロードされる。制御ロジック(ソフトウェア)は、プロセッサ1504で実行されると、プロセッサ1504に本書に記述の本発明の機能を実行させる。コンピュータソフトウェアは、オペレーティングシステム上で動作するスタンドアローン型のソフトウェアアプリケーションとして動作してもよく、オペレーティングシステムに統合されてもよい。
【0077】
さらに別の実施例においては、本発明は、限定はされないが、例えば、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)または一つ以上のステートマシンなどのようなハードウェア部品を使用して、主としてハードウェアで実施できる。ハードウェアのステートマシンで本書に記述の機能を行うことを実施させることは、当業者においては明らかである。
【0078】
別の典型的な実施例においては、本発明は、主としてファームウェアで実施できる。
【0079】
さらに別の典型的な実施例においては、本発明は、限定はされないが、例えば、ハードウェア、ファームウェア、およびソフトウェアなどのいかなる組み合わせを使用しても実施できる。
【0080】
本発明の典型的な実施例は、機械可読媒体に格納された命令群としても実施することができ、その媒体はコンピュータプラットフォームによって読み出されて実行され、本書に記述の動作を行う。機械可読媒体には、機械(例えば、コンピュータ)によって読み出し可能な形態で情報の格納および変換を行うためのあらゆる機構が含まれる。例えば、機械可読媒体には、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、電気的、光学的、音響的またはその他の形態の伝播信号(例、搬送波、赤外線、デジタル信号など)、その他が含まれる。
【0081】
本発明の典型的な実施例においては、有線ネットワークまたは無線ネットワークについて言及している。有線ネットワークには、ボイスおよびデータ通信デバイスを連結するさまざまな種類の周知の手段が含まれる。本発明の実施に使用できる種々の無線ネットワーク技術について簡単に述べる。例には限りがない。無線ネットワークの例には、限定はされないが、例えば、符号分割多重アクセス(CDMA)、スペクトル拡散(spread spectrum wireless)、直交周波数分割多重(OFDM)、1G、2G、3Gワイヤレス、ブルートゥース(Bluetooth)、赤外線通信規格(IrDA)、SWAP(shared wireless access protocol)、ワイヤレスフィディリティ(Wi−Fi)、ワイマックス(WIMAX)、ならびにその他のIEEE 802.11規格準拠のワイヤレスLAN(ローカルエリアネットワーク)、802.16規格準拠のWAN(広域ネットワーク)、およびウルトラワイドバンド(UWB)などが含まれる。
【0082】
Bluetoothは、新生のワイヤレス技術であり、低出力無線周波ネットワークで使用されるいくつかの無線技術の統一が期待されている。
【0083】
IrDAは、赤外光パルスを使用して機器と通信する標準方式であり、赤外線通信協会(Infrared Data Association:IrDA)から公表され、その名前が規格に付けられている。IrDA機器は赤外線を使用するので、機器同士はお互いが見通し線上にあることに依存する。
【0084】
本発明の典型的な実施例においては、WLAN(ワイヤレスLAN)について言及している。WLANの例には、HomeRF(Home radio frequency)が開発したSWAP(shared wireless access protocol)、およびWECA(Wireless Ethernet Compatibility Alliance)が提唱するIEEE 802.11規格から派生したWi−Fiが含まれる。IEEE 802.11ワイヤレスLAN規格は、一つ以上のさまざまなワイヤレスLAN規格を順守したさまざまな技術に属している。IEEE 802.11準拠のワイヤレスLANは、限定はされないが、例えば、IEEE規格802.11a、b、dおよびgを含む一つ以上のさまざまなIEEE 802.11規格に適合し、それには、限定はされないが、例えば、IEEE規格802.11a、b、dおよびg(限定はされないが、例えば、IEEE 802.11g-2003などを含む)などが含まれる。
【0085】
〔結論〕
本発明を例示の環境において記述したが、これらの記述は例示の目的にのみ提供されているということに留意することが重要である。本発明はこの例示の環境、および上述の実体と機器間での厳格な相互運用に限定されることを意図したものではない。実際、この記述を読めば、当業者においては、代替え環境において本発明を実施する方法が明らかとなる。
【技術分野】
【0001】
本発明は、概して通信に関し、より詳細には、波形合成に関する。
【背景技術】
【0002】
現代のレーダやソナー技術では、一般に、送信パルスを変調する信号処理技術であるパルス圧縮技術が、距離分解能と信号対雑音比を補強するために使用されている。一般的なパルス圧縮技術にはチャープ圧縮がある。チャープ圧縮においては、時間に対し周波数が増加したり(アップチャープと呼ぶ)減少したり(ダウンチャープと呼ぶ)するチャープ信号が提供される。
【0003】
パルス圧縮レーダに使用されるフィルタ技術の例としては、弾性表面波(SAW)フィルタ技術がある。弾性表面波は、弾性を有する基板の表面に沿って進行する音波で、その振幅は基板の深度に対し指数関数的に減衰する。弾性表面波フィルタは一般には電気機械装置で、電気信号が圧電性結晶において機械的な波形に変換される。信号波は付加電極で電気信号に再変換されるまでに結晶内での進行に伴って遅延され、遅延された出力は再結合されて正に有限インパルス応答フィルタのアナログ実装を形成する。最も交換し難いユニット(Least Replaceable Unit:LRU)の弾性表面波エキサイタ/レシーバは、送信用の伸長パルス波形を生成し、目標物から戻ってくる波形を圧縮して、距離分解能に影響を及ぼすことなく信号対雑音比の拡大を可能にしている。
【0004】
しかし、多数の離散した目標物から戻ってくる波形は時間的に重複しているため、その試験やシミュレーションを行うのは非常に困難である。レーダ環境シミュレータ(Radar Environment Simulator:RES)の例として、デジタルレーダ陸塊シミュレータ(Digital Radar Land Mass Simulator:DRLMS)がある。問題は、時間的に重複する信号で表わされるこのように近接する目標物の半無限連続体を弾性表面波の伸張/圧縮波形のシミュレート技術でシミュレートすることである。弾性表面波フィルタはインパルス刺激に応じて周波数が継続的に変化する周波数変調された出力を生成しなければならないが、その周波数は上方または下方に、線形的または非線形的な、もしくは特定の帯域にゲインを持った変化をするので、弾性表面波フィルタからの複雑なチャープ波形を再現することは、極めて困難な課題である。
【0005】
本願と譲渡人が共通である米国特許第6,150,976号(発明の名称「Synthesis of Overlapping Chirp Waveforms」)において、James R. Cooley氏はこの問題の解決に飛躍的な進歩を見せた。その中で同氏は、重複するチャープ波形を合成する廉価な有限インパルス応答(Finite Impulse Response:FIR)フィルタ処理の半導体素子のアーキテクチャを活用する発想を展開した。
【0006】
FIRフィルタは畳み込みプロセッサである。通常動作では、フィルタは、生のデジタルデータストリームをフィルタのインパルス応答を表す一連の係数で畳み込むという動作をしている。特定のインパルス応答によるデジタルデータストリーム入力の畳み込みにより、出力としてフィルタ処理されたデータストリームが取り出される。RESをはじめとして、FIRフィルタにはさまざまな用途がある。
【0007】
Cooley氏の方法は、FIRフィルタに対する一個のインパルス入力については都合よく動作する。しかし、RESでの用途には、インパルスがより長い持続期間を有することを必要とする、即ち、多数のサンプルの長さの刺激を必要とする他のシステム的考察がある。特に、ドップラー変調を正確にシミュレートするには、持続期間が複数のサンプルの持続期間に延長された「インパルス」が必要とされる。そこで、FIRフィルタのような畳み込みプロセッサを単一サンプルの持続期間より長い「インパルス」で刺激することで所望の任意波形を複製する方法とそれに対応するシステムが必要となる。
【発明の概要】
【0008】
本発明では、自動化された通信の支援を提供する装置、システム、方法およびコンピュータプログラム製品のさまざまな典型的な実施例を規定する。
【0009】
典型的な実施例においては、畳み込みプロセッサによって所望の任意波形から合成波形を生成する方法ならびに対応するシステムおよびコンピュータプログラム製品を提供している。その方法には、持続延長されたインパルス信号を含むデータストリーム入力信号を畳み込みプロセッサに供給するステップと、畳み込みプロセッサの一つ以上のフィルタ係数を計算するステップと、フィルタ係数を使用して所望の任意波形に実質的に同等な合成波形を生成するステップと、が含まれる。典型的な実施例においては、畳み込みプロセッサには有限インパルス応答(FIR)フィルタが含まれる。
【0010】
典型的な実施例においては、持続延長されたインパルスはi個のインパルス信号を含み、iは整数である。畳み込みプロセッサは持続延長されたインパルス信号で畳み込みを行い、そこで持続延長されたインパルス信号は一つ以上のタップを介し連続して遅延され、タップのそれぞれの出力はその遅延に対応するフィルタ係数で乗算され、タップ出力とフィルタ係数との積の総和は所望の任意波形を構成するようにしてもよい。
【0011】
典型的な実施例においては、畳み込みプロセッサはj個のタップとj個のフィルタ係数を含み、jは整数である。所望の任意波形はj回サンプルされてもよい。所望の任意波形のj個のサンプルは0値と等しいi−1個のサンプルで補完されてn×1の波形データ行列(WFDM)を生成してもよく、ここでn=j+i−1である。
【0012】
典型的な実施例においては、畳み込みプロセッサの状態は持続延長されたインパルス信号が連続する時間の増加ごとに畳み込みプロセッサに送られるのに従って決められる。そのような典型的な実施例においては、畳み込みプロセッサの状態はn列とj行を有する畳み込み状態行列(CSM)に格納され、各列は時間の増加ごとの畳み込みプロセッサの状態を表し、各行はタップによる遅延を表している。
【0013】
さらに別の典型的な実施例においては、フィルタ係数は波形データ行列と畳み込み状態行列とから導出される。そのような典型的な実施例の一つにおいては、フィルタ係数はフィルタ係数行列(FCM)に格納され、その値は、WFDM・CSMT・(CSM・CSMT)−1の式に等しい。
【0014】
上述の実施例、ならびにその方法およびコンピュータプログラム製品の実施例について以下に詳述する。
【図面の簡単な説明】
【0015】
本発明のさまざまな特徴や効果は、添付図面で例示の如く、特に本発明の典型的な実施例の記述により以下に明らかとなる。以下の図面においては、同一の参照符号は一般に、同一、機能的に同等、または構造的に同等の要素を示し、参照符号の左側の桁は最初に表示された図面の番号を示す。
【図1】図1は所望の任意波形の例を示す。
【図2】図2はFIRフィルタへの単位インパルス入力を多数のサンプル期間の長さの一定信号で置き換えたときのFIRフィルタからの合成された波形の例を示す。
【図3】図3Aは既知の実施例に係る所望の波形の例を示し、図3Bは既知の実施例に係る合成された波形の例を示す。
【図4】図4はFIRフィルタに多数サンプル「インパルス」を入力し既知の方法を使用して作られた合成エラー信号の例を示す。
【図5】図5は本発明の特定の実施例に係る合成されたパルス波形の例を示す。
【図6】図6Aは本発明の実施例に係る所望の波形の例を示し、図6Bは本発明の実施例に係る合成された波形の例を示す。
【図7】図7Aは図6Bに示す合成波形を作る実施例における合成エラー信号を示し、図7Bはその合成エラー信号をより精度を上げて示す。
【図8】図8は本発明の特定の実施例に係る畳み込みプロセッサの構造の例を示す。
【図9】図9は畳み込みプロセッサを任意波形生成器としての使用を含む本発明の別の特定の実施例に係る畳み込みプロセッサの構造の例を示す。
【図10】図10は任意波形生成器への刺激として機能する持続延長された「インパルス」の例を示す。
【図11】図11は本発明の実施例に係る外挿される所望の任意波形の例を示す。
【図12】図12は図11に示す所望の任意波形から導出される波形データ行列の例を示す。
【図13】図13は本発明の実施例に係るフィルタ係数行列の構成の例を示す。
【図14】図14は本発明の実施例に係る畳み込み状態行列の構成の例を示す。
【図15】図15はFIRフィルタに関連し、関係し、または置き換えて使用される本発明の実施例に係るコンピュータシステムの典型的な実施例を示す。
【発明を実施するための形態】
【0016】
〔典型的な実施例の概観〕
本発明の好ましい典型的な実施例を以下に詳述する。特定の典型的な実施例について詳述するが、これは例示の目的のみであると理解すべきである。当業者においては、本発明の範囲を逸脱することなく、その他の要素および構成を使用し得ることが分かる。
【0017】
〔典型的な実施例〕
図1は、所望の任意波形100の例を、時間102を横座標とし、振幅104を縦座標または時間の関数として示している。例示の実施例においては、所望の任意波形100は線形周波数変調(FM)チャープで、グラフ上で見やすいように故意に短く縮小されている。実際のレーダ波形はかなり長い場合が多く、拡大せずにその詳細を見るのは困難である。
【0018】
米国特許第6,150,976号に記載のCooley氏の方法を使用することで、1周期の長さの単位インパルスをFIRフィルタへの入力として、図1に示す波形100を正確に複製することができる。FIR波形生成フィルタは波形のデジタル化された値である係数が取り込まれており、単位インパルスによって刺激されると、波形を概ね正確に複製する。図1に示す波形100が時間的に重複した多数の波形は、FIR波形生成フィルタをそれぞれが時間的に離散した多数の単位インパルスで刺激することにより、概ね正確に合成される。
【0019】
しかし、その他の考慮すべき事項により単位インパルスが使えないときは、Cooley氏の方法の精度が崩れてしまう。図2は、前述のFIRフィルタと同じまたは同等のFIRフィルタで、FIRフィルタへの前述の単位インパルス入力を多数のサンプル期間持続する一定信号に置き換えたときの合成された波形200の例を示す。同じように、時間102を横座標とし、振幅104を縦座標として示している。説明を簡単にするために、このような信号を多周期期間の「インパルス」信号と呼ぶ。図2に示す実施例において、合成波形200は、10サンプル周期期間である入力「インパルス」信号による結果である。図示の如く、持続期間の延長された「インパルス」に起因する明確な振幅の歪みが存在する。
【0020】
振幅歪みに対するCooley氏の解決方法は、合成波形200の例に見られる振幅の減衰を回復するために、フィルタインパルス応答を構成する係数に重み付けをするというものである。しかし、特定の実施例においては、これは部分的な解決としかならない。歪みには、位相、さらにはパルス長の歪みがあり、これらのパラメータは振幅に重み付けをしても補正することができないからである。フィルタは畳み込みを行っているので、インパルスを拡張すると、インパルスの長さでパルスの幅が伸長されてしまう。この影響は、図3Aに示す所望の波形300の例と図3Bに示す合成波形310の例とを比較することで分かる。図3Bに示す典型的な実施例では、合成処理に使用されたFIRフィルタへの入力は10サンプル「インパルス」からなる。図3Aの所望の波形300の例を参照すると、所望の波形の幅は500サンプル周期である。しかし、図3Bの合成波形310においては、畳み込み処理が合成波形の幅をインパルスの幅(例示では10サンプルを有する)の分だけ伸長するので、合成波形は510サンプルに伸長されている。
【0021】
一部の用途では、数サンプル周期のパルスの伸長が重大なエラーとはならず、フィルタ係数の重み付けによる振幅歪みの補正で許容できる結果が得られる可能性がある。しかしながら、その他の用途においては、特に付随する位相エラーがもたらされるので、パルス幅エラーは重大であると考えられる。図1および図2における波形100と波形200間、ならびに図3Aおよび図3Bにおける波形300と波形310間の位相を精査すると、それぞれの所望の波形と合成されたパルス波形との間には大幅な位相のずれが見られる。さらに悪いことには、位相ずれはパルスの長さに亘って一定ではない。例えば、位相のずれは、図示の如く、パルスの開始時点ではほとんど0であるのに対し、パルスの最後では約90度に増大している。
【0022】
図4は、FIRフィルタに上述の10サンプル「インパルス」を入力し、Cooley氏の方法を使用して作られた合成エラー信号400の例を示す。合成エラー400は、図示の実施例においては、合成波形200からの所望の波形100のポイントごとの減算によって計算されている。図示のように、エラーはチャープ周波数が増加するのに従い急激に増加しており、これは所望の波形と合成パルス波形との間の位相の非相関によるものである。
【0023】
以下の実施例および対応する図面により、既知の方法およびその対応システムに対する長所を説明する。はじめに、図5は、合成パルス波形500の例を示す。図示のとおり、合成パルス波形500の例は、図1に示す所望の波形100の正確でないとしても実質的に正確な複製である。図5の波形500は、本発明の特定の実施例によれば、図2に示す歪んだ波形200を生成したFIRフィルタへの10サンプル「インパルス」入力と同じものを使用して生成されている。一つ以上の実施例においては、合成波形500と合成波形200との差は、少なくとも一部はFIRフィルタの波形生成フィルタ係数の差によるものである。
【0024】
米国特許第6,150,976号の特定の実施において、Cooley氏は、特定の持続延長された刺激に対する所望の波形の正確な複製を作り出すためのフィルタ係数を算出する手段を提供していない。従って、教示では、単一サンプルのインパルス刺激(即ち、所望の波形のサンプル)によるフィルタ係数を使用して近似させ、その後、図2に見られる波形200で明らかな振幅の減少を低減するために、フィルタ係数に振幅の重み付けをしている。本発明の実施例によれば、特定の持続延長された刺激から所望の波形を作り出すのに必要なフィルタ係数は、計算によって得られる。特定の実施例においては、これらの係数は前述のCooley氏の方法に使用された所望の波形のサンプルのものと同じではない。
【0025】
図6Aに例示する典型的な実施例においては、一つ以上の実施例に係る所望の波形600を示している。図6Bに例示する典型的な実施例においては、同じ実施例に係る合成波形610を示している。図3Bの実施例と同様に、合成処理に使用されたFIRフィルタへの入力は、10サンプル「インパルス」からなる。しかし、これらの実施例においては、図3Bの実施例と異なり、位相エラー、振幅エラー、およびパルスの伸長が、ほとんど、または全く無いか、もしくは無視できる程度である。特定の実施例においては、図6Bの合成パルス610は、図6Aに示す所望のパルス600と実質的に正確に一致する。
【0026】
図7Aおよび図7Bに例示する典型的な実施例は、10サンプル「インパルス」がFIRフィルタへの入力として供給される図6Bの合成波形610を形成する実施例で作られた合成エラーを示している。エラーは、合成波形610からの所望の波形600のポイントごとの減算によって計算されている。しかるに、図4のエラー波形400と対比して、エラーは無視できるレベルに低減されている。この例示の特定の例では、実行値(RMS)エラーは、所望の波形600に対し、0.0043、または−44dBとなっている。図7Aおよび図7Bは同一の結果を示すが、合成エラー波形710の縦座標104は合成エラー波形700の縦座標104に比較して精度を上げている。
【0027】
図8は、本発明の実施例に係る畳み込みプロセッサ810の構造の例を示す。典型的な実施例においては、畳み込みプロセッサ810は、有限インパルス応答(FIR)フィルタである。それぞれの実施例においては、その実装例を挙げれば、例えば、その構造810には、FIRフィルタ集積回路、またはフィールドプログラマブルゲートアレイ(Application Specific Integrated Circuit:ASIC)装置の内部ロジックブロックがある。畳み込みプロセッサ810は、入力データストリーム812を一連のフィルタ係数804での畳み込みの動作をして、出力データストリーム814を形成している。畳み込み処理は、一つ以上のシフトレジスタであるタップ802のような連続する遅延素子によって入力を遅延させ、次に、それぞれのタップ802に適用される係数804を乗算器(またはミキサ)806で乗算し、前述の係数乗算のすべての結果を加算器808で加算して実行することができる。
【0028】
図9は、畳み込みプロセッサを任意波形生成器として使用するような一つ以上の本発明の実施例で使用される畳み込みプロセッサ910の構造の例を示す。これらの実施例においては、入力データストリームは、持続期間の延長された「インパルス」波形信号912からなり、これをフィルタ係数904に対して畳み込みを行うと、合成波形914が作り出される。特定の実施例においては、合成波形914は、所望の任意波形に対し位相エラーが、ほとんど、または全く無いか、もしくは無視できる程度である。一つ以上の実施例においては、合成波形914は、所望の任意の波形に正確に、またはほぼ正確に一致する波形からなる。
【0029】
一つ以上の実施例においては、係数904は畳み込みプロセッサ910のインパルス応答である。しかしながら、畳み込みプロセッサ910を、持続延長された「インパルス」912を刺激とする任意波形914の生成器として使用するには、必要な係数904は、図8の実施例で想定されたような、所望の波形と同一でなくてもよい。これらの実施例では、代わりに、係数904は特定の多サンプルの刺激912において所望の応答914を作り出すように計算によって得られる。以下の実施例において、必要な係数を計算する方法を開示する。
【0030】
図10は任意波形914の生成器910への刺激として機能する持続延長された「インパルス」912の例を示す。例示の実施例では、「インパルス」は任意の内容と長さでi個のサンプルを含む数値の1次元配列であって、ここでiは整数である。実施例においては、持続延長された「インパルス」912が未変調の場合は、整数1の多数のサンプルからなっている。しかし、別の実施例においては、「インパルス」は変調された搬送波の数列で、例えば、(1、0、-1、0、1、0、-1、0)や(0.707、1、0.707、0、-0.707、-1、-0.707、0)、または設計配慮で決定される任意の数の数列であってもよい。
【0031】
図11は本発明の実施例に係る外挿される所望の任意波形1100の例を示す。図12は図11に示す所望の任意波形1100から導出される波形データ行列(Wave Form Data Matrix:WFDM)1200の例を示す。実施例においては、WFDM1200は、波形1100の離散サンプルである。
【0032】
図11と図12の実施例は合わせて、本発明の実施例に係るWFDM1200の導出と構成を示す。典型的な実施例においては、WFDM1200は、持続延長された「インパルス」912を畳み込みプロセッサ910のフィルタ係数904での畳み込みによって作られる結果の1次元配列である。
【0033】
例示の実施例においては、WFDM1200には、実施例における波形サンプリングに基づく二つの成分が含まれる。図11に示す外挿される所望の任意波形1100を参照すると、多数の、または一つの実施例においてはほとんどのデータはj個のサンプルからなり、持続延長された「インパルス」912に応じて畳み込みプロセッサ910により作り出される所望の任意波形914を定義している。
【0034】
二番目に、図11に例示の実施例においては、所望の任意波形914の最後に、複数の0値のサンプル1102、即ちi−1個の0値サンプルで例示されるサンプルが付け足されている。ここで、iは持続延長された「インパルス」912の長さである。一つの実施例においては、0値サンプル1102は重要である。それは、これらは計算上の制約として機能し、生成された任意波形914を強制的に0値に戻して、例えば、図3Bの実施例に示すような他の実装でのパルス伸長の歪みを排除するためである。この例示の実施例においては、WFDM1200中のサンプルの合計数nは、波形914のj個のサンプルと0値サンプル1102のi−1個の和、即ちn=j+i−1となる。
【0035】
図13は本発明の実施例に係るフィルタ係数行列(Filter Coefficient Matrix:FCM)1300の構成の例を示す。この典型的な実施例においては、FCM1300は係数の1×jの線形配列であり、畳み込みプロセッサ910がi個サンプルの持続延長された「インパルス」912で刺激されると、j個サンプルの所望の任意波形914を作り出す。この典型的な実施例においては、図11の実施例に例示されるように、係数の数jは少なくとも所望の任意波形914の非0値サンプル部のサンプル長と同じであり、ハードウェア効率を犠牲にするとそれ以上でもよい。図9における実施例においては、C1、C2、・・・、Cnのn個の係数があるが、図9の実施例を説明中の実施例に合わせるために、添え字nを添え字jに置き換えてもよいことに留意されたい。
【0036】
典型的な実施例においては、最初はFCM1300の係数は未知の変数である。係数は、その後、以下に記載の方法、および対応するシステムによって計算される。
【0037】
図14は本発明の実施例における畳み込み状態行列(Convolution State Matrix:CSM)1400の構成の例を示す。この典型的な実施例においては、CSM1400はj×nの行列であり、持続延長された「インパルス」912が畳み込みプロセッサ910中を伝播するのに従い、それぞれの時間における畳み込みプロセッサ910の状態を表す。
【0038】
この典型的な実施例においては、CSM1400はj行あり、それぞれの行はフィルタタップ802を表している。また、この典型的な実施例においては、CSMにはn列があり、それぞれの列は所与の時間の増加における畳み込みプロセッサ910の状態を表している。
【0039】
例えば、最初の時間増加での指定時刻1(1列目の表示)では、持続延長された「インパルス」912の最初の値は1列目の1行目となり、1列目の他の行はすべて0となる。
【0040】
次に、2番目の時間増加での指定時刻2(2列目の表示)では、持続延長された「インパルス」912の最初の値は2列目の2行目となり、2列目の1行目には持続延長された「インパルス」912の2番目の値が入り、その他のすべての行は0となる。
【0041】
続いて、3番目の時間増加での指定時刻3(3列目の表示)では、持続延長された「インパルス」912の最初の値は3列目の3行目となる。3列目の2行目にはインパルスの2番目の値が入り、1行目には3番目の値が入り、その他のすべての行は0となる。
【0042】
例示の実施例においては、CSM1400は前述のやり方で値が入れられ、それぞれの列は、所与の時間における畳み込みプロセッサ910内の持続延長された「インパルス」912の位置を表している。時間の経過に従い、即ち列の状態が次第に右に移動するのに従って、持続延長された「インパルス」912が、列の下方、即ちより大きな行番号に移動し、持続延長された「インパルス」912がフィルタタップ802を伝播するのとまったく同じように、列の下方に進行していく。従って、この実施例においては、CSM1400には、持続延長された「インパルス」912からの刺激によるフィルタの状態のすべてが含まれている。
【0043】
CSM1400を図14の実施例に示すように定義すると、要素802、806、906で示される畳み込みプロセッサ910の遅延―乗算―加算の動作は、線形代数の公理により、次の行列のドット積の方程式で表わされる。
【0044】
WFDM=FCM・CSM ・・・(数式1)
【0045】
この実施例においては、WFDM1200は既知であり、図11および図12の実施例に対してそれぞれ述べたように、所望の任意波形914と0値サンプル1102とで構成されている。この実施例においては、CSM1400は既知であり、図14の実施例に示すように、持続延長された「インパルス」912で構成されている。従って、この実施例においては、FCM1300が未知の係数C1、C2、・・・、Cnを含んでおり、これらは前述の数式1を解いて求めることができる。数式1の解は、以下に記載の実施例に従って導き出すことができる。
【0046】
FCM=WFDM・CSMT・(CSM・CSMT)−1 ・・・(数式2)
【0047】
従って、この実施例においては、畳み込みプロセッサ910で、持続延長された「インパルス」912を使用して所望の任意波形914を作り出すのに必要な係数C1、C2、・・・、Cnは、FCM1300の中身であり、例えば、前述の数式2に従って計算される。
【0048】
〔フィルタ係数行列の線形代数的導出の典型的な実施例〕
図14の実施例に係るj×1行列FCM1300として記述される図9の実施例における畳み込みプロセッサ910の係数C1、C2、・・・、Cnの導出の例を、限定ではなく明確化のために、以下に説明する。ここで、添え字jとnとは前述の比較の目的においては同じである。
【0049】
ステップ0:
WFDM=FCM・CSM(これは基本行列式である。)
【0050】
ステップ1:
WFDM・CSMT=FCM・CSM・CSMT
【0051】
CSMは正方行列ではないので直接反転することができないが、FCMについて解くには反転させなければならない。このジレンマに対する解としては、疑似逆行列(pseudo-inverse)といわれる行列代数の手法がある。式の右辺のCSMにそれ自身の転置「CSMT」を乗算(右から掛ける(post-multiply))すると、結果として正方行列となる。同じ動作を式の左辺に行い、式を均衡させる。
【0052】
ステップ2:
WFDM・CSMT・(CSM・CSMT)−1=FCM・CSM・CSMT・(CSM・CSMT)−1
【0053】
ここで、式の右辺の「CSM・CSMT」で表わされる正方行列に、それ自身の逆行列「(CSM・CSMT)−1」を乗算(右から掛ける(post-multiply))して単位元とする。同じ動作を式の左辺に行い、式を均衡させる。式の右辺の「CSM・CSMT・(CSM・CSMT)−1」は、単位元と等しく(単位元に等しい行列)、よってそれが消え、FCMだけが分離されて残ることになる。
【0054】
ステップ3:
FCM=WFDM・CSMT・(CSM・CSMT)−1
【0055】
FCMを分離後は、式の並び順を変えるだけでFCMの係数の値の明確な解が得られる。
【0056】
〔典型的な実施例の発明の効果〕
典型的な実施例において、上述の方法、および対応するシステムには、さまざまな長所がある。まず、正確さについては、「インパルス」刺激が単一のサンプルより長い期間の場合に、振幅、時間、および位相において、所望の任意波形の正確な、またはほとんど正確な複製を得ることができる。これは従来技術の実施では不可能であった。
【0057】
さらに、所望の波形は波形生成フィルタとして構成された畳み込みプロセッサにより生成することができる。フィルタは、持続延長された「インパルス」によって刺激され、それに応じて所望の波形の正確な複製を作りだす。多数の時間の重複する所望の波形の複製は、波形生成フィルタを、時間的に近接した多数の持続延長された「インパルス」で刺激することにより生成することができる。
【0058】
また、持続延長された刺激に適応する能力も備えている。多数のサンプルの期間である「インパルス」刺激により、所望の波形の正確な複製を得ることができる。これにより、波形の正確さにおける妥協を、単一サンプルの期間より長い刺激を必要とするシステム的考察の結果として、排除することができる。
【0059】
〔コンピュータシステムの実施例〕
図15は、前述のFIRフィルタ、関連するプロセッサおよびコンピュータシステムに限定はされないが、それらに関連し、関係し、または置き換えて使用される本発明の典型的な実施例に係るコンピュータシステム1500の典型的な実施例を示す。
【0060】
本発明の実施例(もしくはその一部、またはその機能)は、ハードウェア、ソフトウェア、ファームウェア、またはその組み合わせで実施でき、一つ以上のコンピュータシステム、またはその他のプロセスシステムで実施することができる。実際、典型的な実施例の一つにおいて、本発明は本書に記載の機能を行うことが可能な一つ以上のコンピュータシステムに使われている。コンピュータシステム1500の例が図15に示され、本発明を実施するのに利用できるコンピュータシステムのブロック図の典型的な実施例を表している。詳細には、図15にはコンピュータ1500が例示され、その典型的な例としては、オペレーティングシステムが搭載された、例えば(限定はされないが)、パーソナルコンピュータ(PC)システムがあり、そのオペレーティングシステムには、例えば(限定はされないが)、米国ワシントン州レッドモンド市のMICROSOFT(R)社のポケットPC用WINDOWS MOBILE(TM)、またはMICROSOFT(R) WINDOWS(R) NT/98/2000/XP/CEなど、米国カリフォルニア州サンタクララ市のSUN(R) Microsystems社のSOLARIS(R)、米国ニューヨーク州アーモンク市のIBM(R) Corporation社のOS/2、米国カリフォルニア州クパチーノ市のAPPLE(R) Corporation社のMac/OSなどや、例えばLINUX(R)、HPUX(R)、IBM AIX(R)、SCO/UNIX(R)などを含むさまざまなバージョンのUNIX(R)(米国カリフォルニア州サンフランシスコ市のOpen Groupの商標)がある。しかし、本発明は、これらのプラットフォームに限定されるものではなく、あらゆる適切なオペレーティングシステムが搭載されたあらゆる適切なコンピュータシステムにおいて実施することができる。典型的な実施例の一つにおいては、本発明は、本書に記述のコンピュータシステムにおいて実施されている。コンピュータの例として、コンピュータ1500を図15に示す。本発明は、その他の部品、例えば(限定はされないが)、コンピューティングデバイス、通信デバイス、電話、携帯情報端末(PDA)、パーソナルコンピュータ(PC)、ノートパソコン(handheld PC)、クライアントワークステーション、シンクライアント、シッククライアント、プロキシサーバ、ネットワーク通信サーバ、リモートアクセスデバイス、クライアントコンピュータ、サーバコンピュータ、ルータ、ウェブサーバ、およびデータ、メディア、オーディオ、ビデオ、テレフォニ(telephony)またはストリーミング技術のサーバなどにも、図15に示すようなコンピュータを使用して実施することができる。
【0061】
コンピュータシステム1500には、限定はされないが、例えば、プロセッサ1504のような、一つ以上のプロセッサが含まれる。プロセッサ1504は、通信インフラストラクチャ1506(限定はされないが、例えば、コミュニケーションバス、クロスオーバーバー(cross-over bar)、またはネットワークなど)と接続される。このコンピュータシステムの例についてのさまざまなソフトウェアの実施例が述べられている。この記述を読めば、当業者には、その他のコンピュータシステムまたはコンピュータアーキテクチャを使用して本発明を実施する方法が明らかになる。
【0062】
コンピュータシステム1500には、通信インフラストラクチャ1506(または不図示のフレームバッファなど)からの、限定はされないが、例えば、グラフィック、テキスト、その他のデータを送って表示ユニット1530上に表示するための表示インタフェース1502が含まれる。
【0063】
コンピュータシステム1500には、限定はされないが、例えば、メインメモリ1508、ランダムアクセスメモリ(RAM)、2次メモリ1510などが含まれる。2次メモリ1510には、例えば(限定はされないが)、ハードディスクドライブ1512や、フロッピーデスクドライブ、磁気テープドライブ、光ディスクドライブ、CD−ROMドライブなどのリムーバブル記憶ドライブ1514が含まれる。リムーバブル記憶ドライブ1514は、限定はされないが、例えば、リムーバブル記憶ユニット1518の読み出しや書き込みを周知の方法で行う。プログラム記憶装置やコンピュータプログラム製品とも呼ばれるリムーバブル記憶ユニット1518は、限定はされないが、例えば、フロッピーディスク、磁気テープ、光ディスク、CDなどを表わし、リムーバブル記憶ドライブ1514によって読み出しや書き込みが行われる。リムーバブル記憶ユニット1518には、コンピュータソフトウェアやデータが記憶されたコンピュータで使用可能な記憶媒体が含まれることは理解できよう。
【0064】
典型的な実施例の代替え的な例においては、2次メモリ1510に、コンピュータプログラムまたはその他の命令をコンピュータシステム1500にロードすることが可能なその他の同様のデバイスが含まれる。そのようなデバイスには、例えば、リムーバブル記憶ユニット1522とインタフェース1520が含まれる。それらの例としては、プログラムカートリッジとカートリッジインタフェース(限定はされないが、例えば、テレビゲーム機に見られるような)、リムーバブルメモリIC(限定はされないが、例えば、消去可能プログラマブルROM(EPROM)やプログラマブルROM(PROM))とその関連ソケット、その他のリムーバブル記憶ユニット1522とインタフェース1520があり、プログラムやデータをリムーバブル記憶ユニット1522からコンピュータシステム1500に転送することができる。
【0065】
コンピュータ1500には、例えば(限定はされないが)、マウスまたはデジタイザのようなその他のポインティングデバイス、キーボード、もしくはその他のデータ入力デバイス(いずれも不表示)などの入力デバイスが含まれる。
【0066】
コンピュータ1500には、例えば(限定はされないが)、表示ユニット1530と表示インタフェース1502のような出力デバイスが含まれる。また、コンピュータ1500には、例えば(限定はされないが)、通信インタフェース1524、ケーブル1528や通信路1526などの入出力(I/O)デバイスが含まれる。これらのデバイスには、限定はされないが、例えば、ネットワークインタフェースカードやモデム(いずれも不表示)が含まれる。通信インタフェース1524は、コンピュータシステム1500と外部機器間でのソフトウェアやデータのやり取りを可能にする。通信インタフェース1524の例としては、限定はされないが、例えば、モデム、ネットワークインタフェース(例えば、イーサネットカード)、通信ポート、PCMCIA(PCメモリカード国際協会)スロットとそのカードなどが含まれる。通信インタフェース1524を介してやり取りされるソフトウェアやデータは、電気的、電磁的、光学的、または通信インタフェース1524が受信可能なその他の形態の信号1528である。この信号1528は、限定はされないが、例えば、通信路1526(限定はされないが、例えば、チャンネル)を介して通信インタフェース1524に供給される。このチャンネル1526は、限定はされないが、例えば、伝播信号を含む信号1528を伝え、限定はされないが、例えば、ワイヤまたはケーブル、光ファイバ、電話回線、携帯電話リンク、無線周波(RF)リンク、およびその他の通信チャンネルなど使用して実施される。
【0067】
本書においては、「コンピュータプログラム媒体」および「コンピュータ可読媒体」の用語は一般に、限定はされないが、例えば、リムーバブル記憶ドライブ1514、ハードディスクドライブ1512に取り付けられたハードディスク、信号1528などの媒体の意味に使用される。これらのコンピュータプログラム製品は、コンピュータシステム1500にソフトウェアを提供している。本発明はこのようなコンピュータプログラム製品に使われている。
【0068】
「一つの実施例」、「実施例」、「典型的な実施例」、「さまざまな実施例」などは、それぞれ記載された特徴、構造または性質を含む本発明の実施例を示すが、すべての実施例がその特徴、構造または性質を必ずしも含むものではない。さらに、「一つの実施例において」または「典型的な実施例において」などの語句の使用の繰り返しは、同一の実施例を意味する場合もあるが、必ずしも同一の実施例を意味している訳ではない。
【0069】
本書の記載および請求項において、「連結する」および「接続する」の語句およびその派生語が使用される。これらの語句はお互いの同義語として意図していないことを理解すべきである。特定の実施例においては、「接続する」は、二つ以上の要素が物理的または電気的にお互いに直接接していることを示すために使用される。「連結する」は、二つ以上の要素が物理的または電気的に直接接していることを意味することもあるが、「連結する」は、二つ以上の要素はお互いに直接接してはいないが、お互いに協同する、またはやりとりすることも意味する。
【0070】
アルゴリズムとはここでは、および一般的に、所望の結果に導く自己矛盾のない一連の行動または動作と考える。これには物理量の物理的な操作が含まれる。必ずしもそうではないが、普通、これらの物理量は、保存、転送、結合、比較、またはその他の操作がなされることが可能な電気または電磁信号の形態をとる。主に共通使用の理由から、これらの信号をビット、値、要素、符号、文字、用語、数字などとして示すことは、時に扱いやすいとされている。しかし、これらのすべて、および類似の用語は適切な物理量と関連付けられ、これら物理量に適用された単なる都合のよいラベルであることを理解すべきである。
【0071】
特に言及しない限り、本書の記述で明らかなように、「処理する」、「演算する」、「計算する」および「判断する」などの語句を使用した記述では、本書においては、コンピュータシステム内のレジスタやメモリにおける、例えば電子的な物理量を表すデータを、コンピュータシステム内のメモリ、レジスタもしくはその他の情報の保存、送信または表示機器において同様に物理量を表す他のデータに操作または変換するというコンピュータ、コンピュータシステムまたは類似の電子コンピュータデバイスの動作および処理を示すことはいうまでもない。
【0072】
同じように、「プロセッサ」の用語は、レジスタまたはメモリからの電子データを、レジスタやメモリに保存される他の電子データに変換する処理を行うあらゆる機器または機器の一部を意味する。「コンピュータプラットフォーム」は、一つ以上のプロセッサを備えている。
【0073】
本発明の実施例には、その動作を行う装置が含まれる。装置は、所望の目的に特別に構成されてもよいし、汎用の機器を備え機器に格納されたプログラムによって選択的に動作または再構成するようにしてもよい。
【0074】
本発明の実施例は、ハードウェア、ファームウェア、ソフトウェアの一つ、またはその組み合わせで実施できる。また、本発明の実施例は、機械可読媒体に格納された命令としても実施することができ、その媒体はコンピュータプラットフォームによって読み出されて実行され、本書に記述の動作を行う。機械可読媒体には、機械(例えば、コンピュータ)によって読み出し可能な形態で情報の格納および変換を行うためのあらゆる機構が含まれる。例えば、機械可読媒体には、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、電気的、光学的、音響的またはその他の形態の伝播信号(例、搬送波、赤外線、デジタル信号など)、その他が含まれる。
【0075】
コンピュータプログラム(コンピュータ制御ロジックとも呼ばれる)は、オブジェクト指向のコンピュータプログラムを含み、メインメモリ1508、2次メモリ1510、またはコンピュータプログラム製品とも呼ばれるリムーバブル記憶ユニット1518に記憶される。このようなコンピュータプログラムは、実行されると、本書に記述した本発明の特徴をコンピュータシステム1500が実行できるようにする。特に、コンピュータプログラムは、実行されると、プロセッサ1504が本発明の実施例に係るデータ同期期間でのコンフリクト解決の方法を提供する。従って、そのようなコンピュータプログラムは、コンピュータシステム1500の制御装置をも意味する。
【0076】
別の典型的な実施例においては、本発明は、制御ロジック(コンピュータソフトウェア)を格納したコンピュータ可読媒体からなるコンピュータプログラム製品に使われている。制御ロジックは、プロセッサ1504で実行されると、プロセッサ1504が本書に記述の本発明の機能を実行させる。別の典型的な実施例においては、本発明はソフトウェアを使用して実施でき、ソフトウェアはコンピュータプログラム製品に格納され、限定はされないが、例えば、リムーバブル記憶ドライブ1514、ハードディスクドライブ1512、または通信インタフェース1524などを使用してコンピュータシステム1500にロードされる。制御ロジック(ソフトウェア)は、プロセッサ1504で実行されると、プロセッサ1504に本書に記述の本発明の機能を実行させる。コンピュータソフトウェアは、オペレーティングシステム上で動作するスタンドアローン型のソフトウェアアプリケーションとして動作してもよく、オペレーティングシステムに統合されてもよい。
【0077】
さらに別の実施例においては、本発明は、限定はされないが、例えば、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)または一つ以上のステートマシンなどのようなハードウェア部品を使用して、主としてハードウェアで実施できる。ハードウェアのステートマシンで本書に記述の機能を行うことを実施させることは、当業者においては明らかである。
【0078】
別の典型的な実施例においては、本発明は、主としてファームウェアで実施できる。
【0079】
さらに別の典型的な実施例においては、本発明は、限定はされないが、例えば、ハードウェア、ファームウェア、およびソフトウェアなどのいかなる組み合わせを使用しても実施できる。
【0080】
本発明の典型的な実施例は、機械可読媒体に格納された命令群としても実施することができ、その媒体はコンピュータプラットフォームによって読み出されて実行され、本書に記述の動作を行う。機械可読媒体には、機械(例えば、コンピュータ)によって読み出し可能な形態で情報の格納および変換を行うためのあらゆる機構が含まれる。例えば、機械可読媒体には、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、電気的、光学的、音響的またはその他の形態の伝播信号(例、搬送波、赤外線、デジタル信号など)、その他が含まれる。
【0081】
本発明の典型的な実施例においては、有線ネットワークまたは無線ネットワークについて言及している。有線ネットワークには、ボイスおよびデータ通信デバイスを連結するさまざまな種類の周知の手段が含まれる。本発明の実施に使用できる種々の無線ネットワーク技術について簡単に述べる。例には限りがない。無線ネットワークの例には、限定はされないが、例えば、符号分割多重アクセス(CDMA)、スペクトル拡散(spread spectrum wireless)、直交周波数分割多重(OFDM)、1G、2G、3Gワイヤレス、ブルートゥース(Bluetooth)、赤外線通信規格(IrDA)、SWAP(shared wireless access protocol)、ワイヤレスフィディリティ(Wi−Fi)、ワイマックス(WIMAX)、ならびにその他のIEEE 802.11規格準拠のワイヤレスLAN(ローカルエリアネットワーク)、802.16規格準拠のWAN(広域ネットワーク)、およびウルトラワイドバンド(UWB)などが含まれる。
【0082】
Bluetoothは、新生のワイヤレス技術であり、低出力無線周波ネットワークで使用されるいくつかの無線技術の統一が期待されている。
【0083】
IrDAは、赤外光パルスを使用して機器と通信する標準方式であり、赤外線通信協会(Infrared Data Association:IrDA)から公表され、その名前が規格に付けられている。IrDA機器は赤外線を使用するので、機器同士はお互いが見通し線上にあることに依存する。
【0084】
本発明の典型的な実施例においては、WLAN(ワイヤレスLAN)について言及している。WLANの例には、HomeRF(Home radio frequency)が開発したSWAP(shared wireless access protocol)、およびWECA(Wireless Ethernet Compatibility Alliance)が提唱するIEEE 802.11規格から派生したWi−Fiが含まれる。IEEE 802.11ワイヤレスLAN規格は、一つ以上のさまざまなワイヤレスLAN規格を順守したさまざまな技術に属している。IEEE 802.11準拠のワイヤレスLANは、限定はされないが、例えば、IEEE規格802.11a、b、dおよびgを含む一つ以上のさまざまなIEEE 802.11規格に適合し、それには、限定はされないが、例えば、IEEE規格802.11a、b、dおよびg(限定はされないが、例えば、IEEE 802.11g-2003などを含む)などが含まれる。
【0085】
〔結論〕
本発明を例示の環境において記述したが、これらの記述は例示の目的にのみ提供されているということに留意することが重要である。本発明はこの例示の環境、および上述の実体と機器間での厳格な相互運用に限定されることを意図したものではない。実際、この記述を読めば、当業者においては、代替え環境において本発明を実施する方法が明らかとなる。
【特許請求の範囲】
【請求項1】
畳み込みプロセッサによって所望の任意波形から合成波形を生成する方法であって、
持続延長されたインパルス信号を含むデータストリーム入力信号を前記畳み込みプロセッサに供給するステップと、
前記畳み込みプロセッサの一つ以上のフィルタ係数を計算するステップと、
前記フィルタ係数を使用して前記所望の任意波形に実質的に同等な合成波形を生成するステップと、を含む方法。
【請求項2】
前記畳み込みプロセッサは有限インパルス応答(FIR)フィルタを含む請求項1に記載の方法。
【請求項3】
前記持続延長されたインパルスはi個のインパルス信号を含み、iは整数である請求項1に記載の方法。
【請求項4】
前記畳み込みプロセッサは前記持続延長されたインパルス信号で畳み込みを行い、
(a)前記持続延長されたインパルス信号は一つ以上のタップを介し連続して遅延され、該タップのそれぞれの出力はその遅延に対応するフィルタ係数で乗算され、
(b)タップ出力とフィルタ係数との積の総和は前記所望の任意波形を構成する請求項3に記載の方法。
【請求項5】
前記畳み込みプロセッサはj個のタップとj個のフィルタ係数を含み、jは整数である請求項4に記載の方法。
【請求項6】
前記所望の任意波形はj回サンプルされる請求項5に記載の方法。
【請求項7】
前記所望の任意波形のj個のサンプルは0値と等しいi−1個のサンプルで補完されてn×1の波形データ行列(WFDM)を生成し、n=j+i−1である請求項6に記載の方法。
【請求項8】
前記畳み込みプロセッサの状態は前記持続延長されたインパルス信号が連続する時間の増加ごとに前記畳み込みプロセッサに送られるのに従って決められる請求項7に記載の方法。
【請求項9】
前記畳み込みプロセッサの状態はn列とj行を有する畳み込み状態行列(CSM)に格納され、各列は前記時間の増加ごとの前記畳み込みプロセッサの状態を表し、各行は前記タップによる遅延を表す請求項8に記載の方法。
【請求項10】
前記フィルタ係数は波形データ行列と畳み込み状態行列とから導出される請求項9に記載の方法。
【請求項11】
前記フィルタ係数はフィルタ係数行列(FCM)に格納され、その値は、WFDM・CSMT・(CSM・CSMT)−1の式に等しい請求項10に記載の方法。
【請求項12】
畳み込みプロセッサによって所望の任意波形から合成波形を生成するシステムであって、
持続延長されたインパルス信号を含むデータストリーム入力信号を前記畳み込みプロセッサに供給するように動作する装置と、
前記畳み込みプロセッサの一つ以上のフィルタ係数を計算するように動作する装置と、
前記フィルタ係数を使用して前記所望の任意波形に実質的に同等な合成波形を生成するように動作する装置と、を含むシステム。
【請求項13】
前記畳み込みプロセッサは有限インパルス応答(FIR)フィルタを含む請求項12に記載のシステム。
【請求項14】
前記持続延長されたインパルスはi個のインパルス信号を含み、iは整数である請求項12に記載のシステム。
【請求項15】
前記畳み込みプロセッサは前記持続延長されたインパルス信号で畳み込みを行い、
(a)前記持続延長されたインパルス信号は一つ以上のタップを介し連続して遅延され、該タップのそれぞれの出力はその遅延に対応するフィルタ係数で乗算され、
(b)タップ出力とフィルタ係数との積の総和は前記所望の任意波形を構成する請求項14に記載のシステム。
【請求項16】
前記畳み込みプロセッサはj個のタップとj個のフィルタ係数を含み、jは整数である請求項15に記載のシステム。
【請求項17】
前記所望の任意波形はj回サンプルされる請求項16に記載のシステム。
【請求項18】
前記所望の任意波形のj個のサンプルは0値と等しいi−1個のサンプルで補完されてn×1の波形データ行列(WFDM)を生成し、n=j+i−1である請求項17に記載のシステム。
【請求項19】
前記畳み込みプロセッサの状態は前記持続延長されたインパルス信号が連続する時間の増加ごとに前記畳み込みプロセッサに送られるのに従って決められる請求項18に記載のシステム。
【請求項20】
前記畳み込みプロセッサの状態はn列とj行を有する畳み込み状態行列(CSM)に格納され、各列は前記時間の増加ごとの前記畳み込みプロセッサの状態を表し、各行は前記タップによる遅延を表す請求項19に記載のシステム。
【請求項21】
前記フィルタ係数は波形データ行列と畳み込み状態行列とから導出される請求項20に記載のシステム。
【請求項22】
前記フィルタ係数はフィルタ係数行列(FCM)に格納され、その値は、WFDM・CSMT・(CSM・CSMT)−1の式に等しい請求項21に記載のシステム。
【請求項23】
命令群を提供する機械可読媒体であって、該命令群がコンピュータプラットフォームによって実行されると、該コンピュータプラットフォームが畳み込みプロセッサによって所望の任意波形から合成波形を生成する方法を含む動作を行ない、その方法には、
持続延長されたインパルス信号を含むデータストリーム入力信号を前記畳み込みプロセッサに供給するステップと、
前記畳み込みプロセッサの一つ以上のフィルタ係数を計算するステップと、
前記フィルタ係数を使用して前記所望の任意波形に実質的に同等な合成波形を生成するステップと、を含む媒体。
【請求項1】
畳み込みプロセッサによって所望の任意波形から合成波形を生成する方法であって、
持続延長されたインパルス信号を含むデータストリーム入力信号を前記畳み込みプロセッサに供給するステップと、
前記畳み込みプロセッサの一つ以上のフィルタ係数を計算するステップと、
前記フィルタ係数を使用して前記所望の任意波形に実質的に同等な合成波形を生成するステップと、を含む方法。
【請求項2】
前記畳み込みプロセッサは有限インパルス応答(FIR)フィルタを含む請求項1に記載の方法。
【請求項3】
前記持続延長されたインパルスはi個のインパルス信号を含み、iは整数である請求項1に記載の方法。
【請求項4】
前記畳み込みプロセッサは前記持続延長されたインパルス信号で畳み込みを行い、
(a)前記持続延長されたインパルス信号は一つ以上のタップを介し連続して遅延され、該タップのそれぞれの出力はその遅延に対応するフィルタ係数で乗算され、
(b)タップ出力とフィルタ係数との積の総和は前記所望の任意波形を構成する請求項3に記載の方法。
【請求項5】
前記畳み込みプロセッサはj個のタップとj個のフィルタ係数を含み、jは整数である請求項4に記載の方法。
【請求項6】
前記所望の任意波形はj回サンプルされる請求項5に記載の方法。
【請求項7】
前記所望の任意波形のj個のサンプルは0値と等しいi−1個のサンプルで補完されてn×1の波形データ行列(WFDM)を生成し、n=j+i−1である請求項6に記載の方法。
【請求項8】
前記畳み込みプロセッサの状態は前記持続延長されたインパルス信号が連続する時間の増加ごとに前記畳み込みプロセッサに送られるのに従って決められる請求項7に記載の方法。
【請求項9】
前記畳み込みプロセッサの状態はn列とj行を有する畳み込み状態行列(CSM)に格納され、各列は前記時間の増加ごとの前記畳み込みプロセッサの状態を表し、各行は前記タップによる遅延を表す請求項8に記載の方法。
【請求項10】
前記フィルタ係数は波形データ行列と畳み込み状態行列とから導出される請求項9に記載の方法。
【請求項11】
前記フィルタ係数はフィルタ係数行列(FCM)に格納され、その値は、WFDM・CSMT・(CSM・CSMT)−1の式に等しい請求項10に記載の方法。
【請求項12】
畳み込みプロセッサによって所望の任意波形から合成波形を生成するシステムであって、
持続延長されたインパルス信号を含むデータストリーム入力信号を前記畳み込みプロセッサに供給するように動作する装置と、
前記畳み込みプロセッサの一つ以上のフィルタ係数を計算するように動作する装置と、
前記フィルタ係数を使用して前記所望の任意波形に実質的に同等な合成波形を生成するように動作する装置と、を含むシステム。
【請求項13】
前記畳み込みプロセッサは有限インパルス応答(FIR)フィルタを含む請求項12に記載のシステム。
【請求項14】
前記持続延長されたインパルスはi個のインパルス信号を含み、iは整数である請求項12に記載のシステム。
【請求項15】
前記畳み込みプロセッサは前記持続延長されたインパルス信号で畳み込みを行い、
(a)前記持続延長されたインパルス信号は一つ以上のタップを介し連続して遅延され、該タップのそれぞれの出力はその遅延に対応するフィルタ係数で乗算され、
(b)タップ出力とフィルタ係数との積の総和は前記所望の任意波形を構成する請求項14に記載のシステム。
【請求項16】
前記畳み込みプロセッサはj個のタップとj個のフィルタ係数を含み、jは整数である請求項15に記載のシステム。
【請求項17】
前記所望の任意波形はj回サンプルされる請求項16に記載のシステム。
【請求項18】
前記所望の任意波形のj個のサンプルは0値と等しいi−1個のサンプルで補完されてn×1の波形データ行列(WFDM)を生成し、n=j+i−1である請求項17に記載のシステム。
【請求項19】
前記畳み込みプロセッサの状態は前記持続延長されたインパルス信号が連続する時間の増加ごとに前記畳み込みプロセッサに送られるのに従って決められる請求項18に記載のシステム。
【請求項20】
前記畳み込みプロセッサの状態はn列とj行を有する畳み込み状態行列(CSM)に格納され、各列は前記時間の増加ごとの前記畳み込みプロセッサの状態を表し、各行は前記タップによる遅延を表す請求項19に記載のシステム。
【請求項21】
前記フィルタ係数は波形データ行列と畳み込み状態行列とから導出される請求項20に記載のシステム。
【請求項22】
前記フィルタ係数はフィルタ係数行列(FCM)に格納され、その値は、WFDM・CSMT・(CSM・CSMT)−1の式に等しい請求項21に記載のシステム。
【請求項23】
命令群を提供する機械可読媒体であって、該命令群がコンピュータプラットフォームによって実行されると、該コンピュータプラットフォームが畳み込みプロセッサによって所望の任意波形から合成波形を生成する方法を含む動作を行ない、その方法には、
持続延長されたインパルス信号を含むデータストリーム入力信号を前記畳み込みプロセッサに供給するステップと、
前記畳み込みプロセッサの一つ以上のフィルタ係数を計算するステップと、
前記フィルタ係数を使用して前記所望の任意波形に実質的に同等な合成波形を生成するステップと、を含む媒体。
【図1】
【図2】
【図3A】
【図3B】
【図4】
【図5】
【図6A】
【図6B】
【図7A】
【図7B】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3A】
【図3B】
【図4】
【図5】
【図6A】
【図6B】
【図7A】
【図7B】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公表番号】特表2010−504699(P2010−504699A)
【公表日】平成22年2月12日(2010.2.12)
【国際特許分類】
【出願番号】特願2009−529267(P2009−529267)
【出願日】平成19年9月25日(2007.9.25)
【国際出願番号】PCT/US2007/020613
【国際公開番号】WO2008/039422
【国際公開日】平成20年4月3日(2008.4.3)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
2.イーサネット
3.Bluetooth
4.ETHERNET
【出願人】(509082617)エーエーアイ コーポレーション (1)
【Fターム(参考)】
【公表日】平成22年2月12日(2010.2.12)
【国際特許分類】
【出願日】平成19年9月25日(2007.9.25)
【国際出願番号】PCT/US2007/020613
【国際公開番号】WO2008/039422
【国際公開日】平成20年4月3日(2008.4.3)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
2.イーサネット
3.Bluetooth
4.ETHERNET
【出願人】(509082617)エーエーアイ コーポレーション (1)
【Fターム(参考)】
[ Back to top ]