(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-26
(45)【発行日】2024-08-05
(54)【発明の名称】無線通信における信頼性の高い直交拡散コード
(51)【国際特許分類】
H04J 13/12 20110101AFI20240729BHJP
【FI】
H04J13/12
【外国語出願】
(21)【出願番号】P 2022149034
(22)【出願日】2022-09-20
(62)【分割の表示】P 2019546787の分割
【原出願日】2017-11-14
【審査請求日】2022-10-14
(32)【優先日】2016-11-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519169742
【氏名又は名称】ランパート コミュニケーションズ,インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ロビンソン,マシュー ブランドン
(72)【発明者】
【氏名】パルミサーノ,アンドリュー キース
(72)【発明者】
【氏名】アームズ,クレッグ エリオット
(72)【発明者】
【氏名】ムーア,オードリー ニコル
【審査官】吉江 一明
(56)【参考文献】
【文献】特開2003-198500(JP,A)
【文献】米国特許第07075968(US,B1)
【文献】米国特許第06526037(US,B1)
【文献】Thomas Strohmer,Grassmannian frames with applications to coding and communication,Applied and Computational Harmonic Analysis,Volume 14, Issue 3,2003年05月03日,Pages 257-275,https://www.sciencedirect.com/science/article/pii/S106352030300023X
【文献】R.W. Heath; T. Strohmer; A.J. Paulraj,On Quasi-Orthogonal Signatures CDMA Systems,IEEE Transactions on Information Theory,Volume: 52, Issue: 3,2006年05月,Page(s): 1217 - 1226,https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=18
(58)【調査した分野】(Int.Cl.,DB名)
H04J 13/12
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを介して、複数の初期ベクトルを生成するステップと、
前記少なくとも1つのプロセッサを介して、複数の拡散コードベクトルの関連付けられた拡散コードベクトルを生成するために前記複数の初期ベクトルの各初期ベクトルにコードマッピングを適用するステップであって、前記コードマッピングは、(1)前記複数の初期ベクトルの第1の初期ベクトルに基づく前記複数の拡散コードベクトルの第1の拡散コードベクトルと(2)前記複数の初期ベクトルの第2の初期ベクトルに基づく前記複数の拡散コードベクトルの第2の拡散コードベクトルとの
非ゼロ値である内積が(i)前記第1の初期ベクトルと前記第2の初期ベクトルとの内積と(ii)正定数との
非ゼロ値である積に等しくなるように定義される、適用するステップと、
前記少なくとも1つのプロセッサを介して、
第1のベースバンド信号および前記第1の拡散コードベクトルに基づく第1の拡散信号、または
第2のベースバンド信号および前記第2の拡散コードベクトルに基づく第2の拡散信号、のうちの少なくとも一方を生成するステップと
を含む、方法。
【請求項2】
前記複数の初期ベクトルは、等角タイトフレームまたは略等角タイトフレームのうちの一方を形成する行を有する行列である、請求項1に記載の方法。
【請求項3】
前記複数の初期ベクトルは、ユニタリ行列である、請求項1に記載の方法。
【請求項4】
前記コードマッピング
を用いて離散フーリエ変換
が実装される、請求項1に記載の方法。
【請求項5】
前記複数の初期ベクトルは、
【数1】
において正規直交基底を形成する行および列を有する行列であり、
【数2】
は複素数体である、請求項1に記載の方法。
【請求項6】
前記第1の拡散信号を生成するステップは、前記第1のベースバンド信号のシンボルのセットの各シンボルに前記第1の拡散コードベクトルを乗算するステップを含む、請求項1に記載の方法。
【請求項7】
前記第1の拡散信号または前記第2の拡散信号のうちの少なくとも一方を、多元接続通信を介して伝送するステップをさらに含む、請求項1に記載の方法。
【請求項8】
少なくとも1つのプロセッサを備えるシステムであって、前記少なくとも1つのプロセッサは、
複数の初期ベクトルを生成し、
関連付けられた拡散コードベクトルを生成するために前記複数の初期ベクトルの各初期ベクトルに
、(1)前記複数の初期ベクトルの第1の初期ベクトルに基づ
く複数の拡散コードベクトルの第1の拡散コードベクトルと(2)前記複数の初期ベクトルの第2の初期ベクトルに基づく前記複数の拡散コードベクトルの第2の拡散コードベクトルとの
非ゼロ値である内積が(i)前記第1の初期ベクトルと前記第2の初期ベクトルとの内積と(ii)正定数との
非ゼロ値である積に等しくなるように定義され
るコードマッピングを適用し、
第1のベースバンド信号および前記第1の拡散コードベクトルに基づく第1の拡散信号、または
第2のベースバンド信号および前記第2の拡散コードベクトルに基づく第2の拡散信号、のうちの少なくとも一方を生成するように構成される、システム。
【請求項9】
前記複数の初期ベクトルは、等角タイトフレームまたは略等角タイトフレームのうちの一方を形成する行を有する行列である、請求項8に記載のシステム。
【請求項10】
前記複数の初期ベクトルは、
【数3】
において正規直交基底を形成する行および列を有する行列であり、
【数4】
は複素数体である、請求項8に記載のシステム。
【請求項11】
前記複数の初期ベクトルは、ユニタリ行列である、請求項8に記載のシステム。
【請求項12】
前記コードマッピング
を用いて離散フーリエ変換
が実装される、請求項8に記載のシステム。
【請求項13】
複数の信号受信機および信号送信機をさらに備え、前記信号送信機および前記複数の信号受信機は、多元接続通信を実行するように構成される、請求項8に記載のシステム。
【請求項14】
前記プロセッサは、前記第1のベースバンド信号のシンボルのセットの各シンボルに前記第1の拡散コードベクトルを乗算することにより前記第1の拡散信号を生成するように構成される、請求項8に記載のシステム。
【請求項15】
コードを含む非一時的な記憶媒体であって、前記コードは、プロセッサによって実行されたときに、前記プロセッサに
複数の初期ベクトルを生成することと、
複数の拡散コードベクトルの関連付けられた拡散コードベクトルを生成するために前記複数の初期ベクトルの各初期ベクトルにコードマッピングを適用することであって、前記コードマッピングは、(1)前記複数の初期ベクトルの第1の初期ベクトルに基づく前記複数の拡散コードベクトルの第1の拡散コードベクトルと(2)前記複数の初期ベクトルの第2の初期ベクトルに基づく前記複数の拡散コードベクトルの第2の拡散コードベクトルとの
非ゼロ値である内積が(i)前記第1の初期ベクトルと前記第2の初期ベクトルとの内積と(ii)正定数との
非ゼロ値である積に等しくなるように定義される、適用することと、
第1のベースバンド信号および前記第1の拡散コードベクトルに基づく第1の拡散信号、または
第2のベースバンド信号および前記第2の拡散コードベクトルに基づく第2の拡散信号、のうちの少なくとも一方を生成することと、を行わせる、非一時的な記憶媒体。
【請求項16】
前記複数の初期ベクトルは、等角タイトフレームまたは略等角タイトフレームのうちの一方を形成する行を有する行列である、請求項15に記載の非一時的な記憶媒体。
【請求項17】
前記複数の初期ベクトルは、
【数5】
において正規直交基底を形成する行および列を有する行列であり、
【数6】
は複素数体である、請求項15に記載の非一時的な記憶媒体。
【請求項18】
前記複数の初期ベクトルは、ユニタリ行列である、請求項15に記載の非一時的な記憶媒体。
【請求項19】
前記コードマッピング
を用いて離散フーリエ変換
が実装される、請求項15に記載の非一時的な記憶媒体。
【請求項20】
前記プロセッサに前記第1の拡散信号を生成することを行わせる前記コードは、前記プロセッサに前記第1のベースバンド信号のシンボルのセットの各シンボルを前記第1の拡散コードベクトルで乗算することを行わせるコードを含む、請求項15に記載の非一時的な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
連邦政府の利益に関する記述
[0001] 米国政府は、全ての米国政府の目的のために、ライセンスを供与する権限と共に、本発明における非独占的、取り消し不能、ロイヤリティフリーのライセンスを保持する。
【0002】
[0002] 本願は、「RELIABLE ORTHOGONAL SPREADING CODES IN WIRELESS COMMUNICATIONS」と題する、2016年11月14日に出願された米国非仮特許出願第15/351,428号の優先権を主張するものであり、その継続出願である。この開示内容を全体として参照によって本願明細書に引用したものとする。
【0003】
[0003] 本開示の説明は、電子通信の無線信号を伝送するためのシステムおよび方法に関し、特に、無線通信に使用される信頼性の高い拡散コードに関する。
【背景技術】
【0004】
[0004] 多元接続通信では、1つの通信チャネル経由で複数のユーザデバイスが受信機に信号を伝送する。これらの信号は、重畳されて、そのチャネルを経由して伝搬する合成信号を形成する。受信機は、その後、合成信号上で分離動作を実行して、合成信号から1つまたは複数の個々の信号を復元する。例えば、各々のユーザデバイスは、異なるユーザが所有する携帯電話であり得、受信機は、中継塔であり得る。異なるユーザデバイスによって伝送された信号を分離することによって、異なるユーザデバイスは、干渉なしに同じ通信チャネルを共有し得る。
【0005】
[0005] 送信機は、搬送波または副搬送波の状態を変えることによって、例えば、搬送波の振幅、位相および/または周波数を変えることによって、異なるシンボルを伝送し得る。各々のシンボルは、1つまたは複数のビットを表し得る。これらのシンボルはそれぞれ、複素平面内の離散値にマッピングされることにより直交振幅変調を発生させ得る、または各々のシンボルを離散周波数に割り当てることにより、周波数偏移キーイングを発生させ得る。シンボルは、その後、シンボル伝送速度の少なくとも2倍のナイキスト速度でサンプリングされる。得られた信号は、デジタル・アナログ変換器によってアナログに変換され、その後、伝送するための搬送波周波数に変換される。異なるユーザデバイスが通信チャネルを経由して同時にシンボルを送信すると、これらのシンボルで表される正弦波が重畳されて、受信機で受信される合成信号が形成される。
【0006】
[0006] 多元接続信号を生成する従来のアプローチは、ダイレクト・シーケンス・スペクトラム拡散方式(DSSS)の使用を伴う。DSSSでは、各々のユーザに、0または1の慣例的表現を有するコードシーケンスが付与される。このコードシーケンスは、その後、1および-1の値で表されるバイポーラシーケンスに変換される。次に、上述した複合シンボルは、このバイポーラシーケンスで乗算され、その後、ナイキスト速度でサンプリングされ、アナログ変換され、伝送のための搬送波周波数に変換される。受信機は、信号を複素ベースバンドに変換して、ナイキスト速度でサンプリングする。さらに、受信機に、コードシーケンスが付与され、バイポーラシーケンスが乗算される。この場合、受信機によって再現され得る確定的に生成された疑似乱数シーケンスからPNコードが生成される。PNコードのビットは、チップとして周知であり、通常はベースバンド信号のシンボル速度の倍数であるチップ速度で供給されることにより、チップ速度の帯域幅に達する周波数で元の信号を拡散することができる。上述の単純なケースでは、ユーザデバイスは、各々のチップにおいて信号に位相シフトを適用する(すなわち、信号に-1を乗算する)または位相シフトを適用しない(すなわち、信号に+1を乗算する)ことにより、PNコードを使用して各々の信号を変調する。受信機によって受信された合成信号は、同時に各々のユーザデバイスによって送信された拡散信号の重畳信号である。
【0007】
[0007] DSSSでは、受信機は、特定のユーザデバイスのPNコードを使用して拡散信号からのシンボルシーケンス間の相互相関を計算することによって、受信する合成信号を逆拡散し、特定のユーザデバイスによって送信された信号を復元し得る。相互相関の結果は、(i)ある時点で特定のユーザデバイスによって送信された元のシンボルを示す大きな正の数または負の数、または(ii)その時点で該ユーザデバイスから送信されたシンボルが無いことを示す小さい正の数または負の数のいずれかである。
【発明の概要】
【発明が解決しようとする課題】
【0008】
[0008] 多くの場合、非ゼロの相互相関を有することは、任意の特定のユーザデバイスからのシンボルの復元を複雑にする。したがって、PNコードが、疑似乱数シーケンスから形成されるのではなく、直交基底セットを形成するのが有利であり得る。PNコードがこのような直交基底セットを形成する場合、ある時点における相互相関の結果は、特定のユーザデバイスがその時点でシンボルを送信しなかった場合は、常に小さくなる。直交コードを使用することによって、受信機はより容易にシンボルを復元し得る。直交基底セットを形成するコードの一例は、Walshコードである。
【0009】
[0009] 無線通信のための上述の従来のアプローチは、原理上、干渉無しに複数の信号を伝送する方法を示しているが、実際には、任意の数のユーザデバイスのための直交コードセットを生成するのは非常に難しい。例えば、Walshコードは単に、ユーザデバイスの数に対して、すなわち2のべき乗だけ生成され得る。結果として、同じ帯域幅における異なる伝送信号間に非ゼロの相関が存在し、これは混雑した環境でのユーザデバイス間に干渉をもたらす。
【0010】
[0010] さらに、コードが直交基底セットを形成する場合でも、従来のアプローチでは異なる信号間に非ゼロの相関が存在し得る。例えば、DSSSでは、PNコードによってシンボルを拡散させる方法はほとんど制御されない。多くの場合、シンボルは、利用可能な帯域幅の非直交部分に拡散され得る。また、障害物に反射した信号からの干渉によって引き起こされるようなチャネル歪みがコードを非直交コードにし得る。この非直交性は、異なるユーザデバイス間の信号干渉をもたらし得る。
【課題を解決するための手段】
【0011】
[0011] 直交コードの取得および制御が難しい上述の無線通信のための従来のアプローチとは対照的に、改良技術は、拡散帯域幅内の周波数を一致させる正弦波高調波の線形組み合わせである任意の数のユーザデバイスのための直交拡散コードの生成を伴う。上記の内容に従って、信号の伝送の前に、処理回路は、小さい相互相関を有する等角タイトフレームを形成する初期コードベクトルのセットを生成し得る。処理回路は、これらの行の各々から、離散フーリエ変換の一般化であるコードマッピングを使用して新しい拡散コードベクトルを生成する。コードマッピングと離散フーリエ変換との違いは、正弦波高調波の周波数が拡散帯域幅内の特定の周波数と一致するように選択され、元の非拡散帯域幅の倍数だけ中心周波数と異なるということである。異なる送信機が、その後、異なる拡散コードベクトルを使用して生成された各々の信号を変調し得る。
【0012】
[0012] 有利には、改良技術は、任意の数のユーザデバイスのための直交拡散コードを提供することにより、同じ通信チャネル内の異なるユーザデバイスからの干渉を防止する。具体的には、改良技術に従って導出された拡散コードは、各々のシンボルを利用可能な帯域幅の直交部分に拡散する。したがって、改良技術に従って拡散された信号は、確実に小さい相互相関を有し、その結果、異なるユーザデバイス間に干渉が発生しない。小さい相互相関はさらに、チャネル歪みの状況であっても維持され得る。
【0013】
[0013] 改良技術の1つの一般的側面では、信号送信機から信号受信機に無線通信を伝送する方法は、各々がN個の要素を有する複数の初期ベクトルを生成するステップを含み得る。該方法はさらに、少なくともM個の要素を有する個々の拡散コードベクトルを生成するために複数の初期ベクトルの各々にコードマッピングを適用するステップを含み、MはNより大きく、個々の拡散コードベクトルは該初期ベクトルに基づいており、コードマッピングは、複数の初期ベクトルの第1の初期ベクトルに基づく第1の拡散コードベクトルと複数の初期ベクトルの第2の初期ベクトルに基づく第2の拡散コードベクトルとの内積が(i)第1の初期ベクトルと第2の初期ベクトルとの内積と(ii)正定数との積に等しくなるように定義される。該方法はさらに、第1の拡散コードベクトルを使用して第1の信号上で拡散動作を実行して第1の拡散信号を生成し、第2の拡散コードベクトルを使用して第2の信号上で拡散動作を実行して第2の拡散信号を生成するステップを含み得、第1の拡散信号および第2の拡散信号の各々は少なくともM個の要素を有する。該方法はさらに、第1の拡散信号および第2の拡散信号を信号受信機において受信される合成拡散信号に合成するステップを含み得、信号受信機は、第1の拡散コードベクトルおよび第2の拡散コードベクトルを使用して合成拡散信号上で逆拡散動作を実行して、信号受信機において第1の信号および第2の信号を生成するように構成される。
【0014】
[0014] 1つまたは複数の実施態様の詳細は、添付図面および以下の説明の中で示されている。他の特徴は、説明と図面から、さらに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0015】
【
図1】[0015]本明細書に記載されている改良技術が実施され得る電子環境内の電子通信システムの一例を示すブロック図である。
【
図2】[0016]本明細書に記載されている改良技術に従う、無線通信を伝送するための方法の一例を示すフローチャートである。
【
図3】[0017]改良技術に従う、信号送信機における拡散信号の生成および伝送のプロセスの一例を示すフローチャートである。
【
図4】[0018]改良技術に従う、信号受信機における信号復元のプロセスの一例を示すフローチャートである。
【
図5】[0019]改良技術に従う、信号送信機および信号受信機におけるチャネル歪み補正のプロセスの一例を示すフローチャートである。
【
図6】[0020]本明細書に記載されている改良技術の別の実施形態に係る電子通信システムの一例を示すブロック図である。
【発明を実施するための形態】
【0016】
[0021] 改良技術は、拡散帯域幅内の周波数を一致させる正弦波高調波の線形組み合わせである任意の数のユーザデバイスのための直交拡散コードの生成を伴う。上記の内容に従って、信号の伝送の前に、処理回路は、小さい相互相関を有する等角タイトフレームを形成する初期コードベクトルのセットを生成し得る。処理回路は、これらの行の各々から、離散フーリエ変換の一般化であるコードマッピングを使用して新しい拡散コードベクトルを生成する。コードマッピングと離散フーリエ変換との違いは、正弦波高調波の周波数が拡散帯域幅内の特定の周波数と一致するように選択され、元の非拡散帯域幅の倍数だけ中心周波数と異なるということである。異なる送信機が、その後、異なる拡散コードベクトルを使用して生成された各々の信号を変調し得る。
【0017】
[0022] 例えば、N個の送信機が信号受信機と通信する環境について考える。信号送信機の処理回路は、長さNのK個の初期コードベクトル、またはK×N行列を生成し得る。K=Nである場合、行列はユニタリ行列となり(すなわち、行列の逆行列が行列の複素共役転置行列に等しい)、ユニタリ行列の行は、
【数1】
において正規直交基底セットを形成し、
【数2】
は複素数体である。一方、K>Nの場合、行列の行は、その内積がWelch限界によって境される略等角タイトフレームを形成する。
【0018】
[0023] 上記の内容に従って、上述のコードマッピングは、以下のような初期コードベクトルの関数:
【数3】
(M>N)(すなわち、長さNのベクトルを長さMのベクトルにマッピングする)であり得る。
【数4】
ここで、
【数5】
はユニタリ行列の行であり、
【数6】
であり、k
nは元の帯域幅の倍数に対応する周波数である。したがって、初期コードベクトルを表すK×N行列の各々の行は、各々が長さMを有するK個の拡散コードベクトルのセットにマッピングされる。コードマッピング
【数7】
は、2つのベクトル
【数8】
および
【数9】
に対して、内積を定数、すなわち、
【数10】
に保つ。したがって、
【数11】
において初期コードベクトルが正規直交基底セットを形成する場合、コードマッピングは、
【数12】
において直交基底を形成する拡散コードセットを生成する。
【0019】
[0024] さらに、k
nは利用可能なスペクトラム拡散の様々な周波数帯域に対応し得ることを理解されたい。したがって、コードマッピングは、利用可能な周波数帯域にわたって元のデジタルベースバンド信号を拡散させることによって「細かく分割する」ものである。拡散シンボルは、
【数13】
において列および行が正規直交基底を形成するユニタリ行列から構成されるので、各々の周波数帯域内の拡散シンボルはその直交性を維持する。したがって、受信機における非ゼロの相関をもたらし得る帯域内の信号干渉が無い。
【0020】
[0025]
図1は、無線通信の伝送の改良技術が実施される例示的なシステム100を示す図である。システム100は、信号送信機120と、信号受信機130とを含む。しかしながら、この環境内に示されていない他の信号送信機が存在し得ることを理解されたい。
【0021】
[0026] 信号送信機120は信号受信機150に伝送するために信号を準備して、信号受信機150に準備信号を伝送するように構成される。信号送信機120は、処理回路ユニット124、メモリ126、および送信回路ユニット128を含む。処理ユニット124のセットは、1つまたは複数の処理チップおよび/またはアセンブリを含む。メモリ126は、揮発性メモリ(例えば、RAM)および不揮発性メモリ(例えば、1つまたは複数のROM、ディスクドライブ、ソリッドステートドライブなど)の両方を含む。処理ユニット124のセットとメモリ126とが一体となって、本明細書に記載されているような様々な方法および機能を実行するように構成され配置された制御回路を形成する。送信回路128は、無線周波数エネルギーの形態の信号を受信機に伝送するように構成される。
【0022】
[0027] いくつかの実施形態では、信号送信機120のコンポーネントのうちの1つまたは複数は、メモリ126に記憶されている命令を処理するように構成されたプロセッサ(例えば、処理ユニット124)であり得る、またはプロセッサを含み得る。
図1に示されているような命令の例は、初期ベクトル生成マネージャ130、コードマッピング適用マネージャ134、拡散動作マネージャ142、および同期信号生成マネージャ146を含む。さらに、
図1に示されているように、メモリ126は、データを使用する個々のマネージャに関して説明されている様々なデータを記憶するように構成される。
【0023】
[0028] 初期ベクトル生成マネージャ130は、拡散コードベクトル138を導出し得る初期ベクトル132のセットを生成するように構成される。一例として、いくつかの実施態様では、初期ベクトル132は、K×N行列の行である。この場合、初期ベクトル生成マネージャ130は、信号を変調し得る利用可能な離散周波数の数を表す整数Nの指定に基づいて、このような行列を生成するように構成される。これらの離散周波数は、予想されるマルチパス遅延プロファイルを表すチャネルのコヒーレント帯域幅によって決定され得る。
【0024】
[0029] 初期ベクトル132は、信号を拡散し得る略直交または直交のコードセットを形成するが、初期ベクトル132はこれらの信号を変調するのに直接使用されないことを理解されたい。その理由は、初期ベクトル132が拡散スペクトラムの各々の周波数帯域内で直交性を維持しないためである。したがって、初期ベクトル132から生成された合成信号は、信号伝送間の時間遅延があっても信号受信機150において直交性を維持しない場合がある。
【0025】
[0030] 上記の内容に従って、コードマッピング適用マネージャ134は、K個の初期ベクトル132からK個の拡散コードベクトル138を生成するように構成される。上述したように、拡散コードベクトル138の各々はM>Nの長さを有し、コードマッピングはマッピング
【数14】
である。この場合もやはり、コードマッピングは、
【数15】
である。ここで、
【数16】
【数17】
である。チャネルインデックス136k
nおよびk
nは、元の帯域幅の倍数に対応する周波数を示しており、すなわち、通信チャネルが帯域幅Bを有する場合、周波数パーティションの中央はk
nBになる。一実施態様では、
【数18】
である。別の実施態様では、
【数19】
である。したがって、初期コードベクトルを表すK×N行列の各々の行は、各々が長さMを有するK個の拡散コードベクトルのセットにマッピングされる。
【0026】
[0031] さらに、k
nは利用可能なスペクトラム拡散の様々な周波数帯域に対応し得ることを理解されたい。したがって、コードマッピング
【数20】
はさらに、特定のチップ内の各々の拡散シンボルを自身の周波数帯域にマッピングする。拡散シンボルは、
【数21】
において列および行が正規直交基底を形成するユニタリ行列から構成されるので、各々の周波数帯域内の拡散シンボルは略直交性または直交性を維持する。したがって、受信機における非ゼロの相関をもたらし得る帯域内の信号干渉が無い。
【0027】
[0032] いくつかの別の実施態様では、Mの値は、チャネルインデックス136から決定され得る。上記の内容に従って、Mの下限は、
【数22】
の式によって求められる。このようにして、基準M>Nが満たされる。
【0028】
[0033] 上記で定義されているようなコードマッピング
【数23】
は、以下の結果を満たす。仮に
【数24】
および
【数25】
とする。そして、・が内積演算を示す場合、
【数26】
数式(2)は、数式(1)のコードマッピングの上記の定義から直接導出され得る。したがって、上述したように、コードマッピング
【数27】
は、内積を定数内に保つ。特に、初期コードベクトル
【数28】
と
【数29】
が直交するとき、得られる拡散コードベクトル
【数30】
と
【数31】
も直交する。本明細書において、内積はユークリッド計量に関する標準的なドット積であると見なされ得ることに留意されたい。しかしながら、一般的には、これはそのようである必要はない。
【0029】
[0034] このようにして、初期コードベクトル132がK×N行列Aの行から求められる場合、拡散コードベクトル138は、
【数32】
で表される。ここで、
【数33】
であり、
【数34】
はAのk番目の行である。いくつかの実施態様では、初期コードベクトル132は、Aの列から求められ得ることに留意されたい。
【0030】
[0035] 拡散動作マネージャ142は、拡散コードベクトル138を使用して、元の符号化されていない通信信号140から拡散信号144を生成するように構成される。信号140は信号受信機150において復元すべき任意の数のシンボルを含み得ることに留意されたい。例えば、拡散信号144は、以下のように、信号140および拡散コードベクトル138から生成され得る。
【数35】
ここで、
【数36】
は拡散信号144であり、s
kは信号140のデジタル複素ベースバンドシンボルである。物理的には、シンボルの各々は、FSKにおいて+1または-1の値(またはQAMにおいて複素コンスタレーション値)を取り得、拡散コードベクトル138によって変調すべき正弦波を表すことに留意されたい。送信回路128によって信号受信機150に送信されるのは、拡散信号144である。
【0031】
[0036] いくつかの実施態様では、拡散信号144は、信号送信機120から信号受信機150への伝送の間にチャネル歪みを受ける。チャネル歪みの一例は、例えば、障害物からの信号反射による拡散スペクトラムのチャネル間の電力不均衡である。 信号受信機150において元の信号が復元され得るようにチャネル歪みを識別するために、同期信号生成マネージャ146は、同期信号148を生成して同期信号148を信号受信機150に送信するように構成される。
【0032】
[0037] 同期信号148は、チャネル歪み係数を推定するのに使用されるシンボルをトレーニングしている。信号受信機150は、拡散スペクトラムチャネルを通る同期信号148が受ける歪みを元の同期信号148と比較することによって、これらの係数を推定し得る。 いずれにせよ、信号受信機150は、ローカルに記憶される同期信号148のコピーを有する。いくつかの構成では、同期信号生成マネージャ146は、信号が逆拡散されるときにチャネル歪みを補償するために、同期信号148を拡散信号144の先頭に追加する。
【0033】
[0038] 信号受信機150は、信号送信機120からの信号を受信し、元の信号140を復元するために受信信号上で動作を実行するように構成される。信号受信機150は、処理回路154、メモリ156、および受信回路158を含む。処理ユニット154のセットは、1つまたは複数の処理チップおよび/またはアセンブリを含む。メモリ156は、揮発性メモリ(例えば、RAM)および不揮発性メモリ(例えば、1つまたは複数のROM、ディスクドライブ、ソリッドステートドライブなど)の両方を含む。処理ユニット154のセットとメモリ156とが一体となって、本明細書に記載されているような様々な方法および機能を実行するように構成され配置された制御回路を形成する。受信回路158は、信号送信機120から無線周波数エネルギーの形態の変調信号を受信するように構成される。
【0034】
[0039] いくつかの実施形態では、信号受信機150のコンポーネントのうちの1つまたは複数は、メモリ156に記憶されている命令を処理するように構成されたプロセッサ(例えば、処理ユニット154)であり得る、またはプロセッサを含み得る。
図1に示されているような命令の例は、逆拡散動作マネージャ164、同期信号識別マネージャ168、および歪みアンラッピングマネージャ172を含む。さらに、
図1に示されているように、メモリ156は、データを使用する個々のマネージャに関して説明されている様々なデータを記憶するように構成される。
【0035】
[0040] 逆拡散動作マネージャ164は、拡散コードベクトル162を使用して、受信合成信号160上で逆拡散動作を実行して、信号166を生成するように構成される。合成信号160は、チャネル歪み無しに、単に信号送信機120からストリームで一緒に送信された拡散信号144であるが、拡散コードベクトル162は拡散コードベクトル138と等価なベクトルであることを理解されたい。この場合、逆拡散動作マネージャ164は、信号140の元のシンボルを復元するために、拡散コードベクトル162を使用して合成信号160の内積を生成する。拡散信号は各々の周波数帯域内で直交性が維持されているので、信号140の元のシンボルは、異なる送信機間の遅延が小さくても確実に復元され得る。
【0036】
[0041] いくつかの実施態様では、マルチパス干渉によって引き起こされたチャネル歪みの効果は解消され得る。これは、離散周波数成分knの間隔がチャネルコヒーレント帯域幅未満になるように間隔を設計することによって達成され得る。チャネルコヒーレント帯域幅は、典型的には、チャネルの二乗平均平方根(RMS)遅延拡散の逆数であり、遅延拡散は、マルチパス遅延の時間分布である。
【0037】
[0042] さらに、信号送信機120は、各々の拡散ベクトル138を先頭に追加する。例えば、信号送信機120がサイクリックプレフィックスとして各々の拡散コードベクトル138のL個の最後の成分を先頭に追加する場合、チャネル歪みは、離散周波数値ごとに1つの歪み係数h
nとしてモデル化され得る。ここで、
【数37】
であり、h
nは歪みベクトル
【数38】
の成分である。このチャネル歪みの効果は、拡散信号144のシンボルの周波数帯域に基づいて異なる形に変更することである。例えば、初期ベクトル132をK×N行列Aの行とする。この場合、チャネル歪み値は周波数帯域の関数であるので、チャネル歪みの効果は、Aの各々の列に個々の歪み係数を乗算することによってモデル化され得る。この数学演算は、例えば、障害物からの反射による各々の送信機からのエネルギーの不均衡をモデル化し得る。
【0038】
[0043] Aのn番目の列が特定の周波数帯域を示す場合、チャネル歪みはAのn番目の列にh
nを乗算することによってモデル化される。この演算は、Aの行(すなわち、
【数39】
)と歪みベクトル
【数40】
とのアダマール積
【数41】
として表される。逆拡散動作マネージャ164は、拡散コードベクトル162を調整せずに、元の信号140を復元することができない。この調整は、信号送信機120によって送信された同期信号148を使用して行われ得る。
【0039】
[0044] 同期信号識別マネージャ168は、合成信号160内の同期信号170を識別するように構成される。この識別は、合成拡散信号160の成分に有限インパルス応答(FIR)フィルタを適用することによって達成され得る。このFIRフィルタは、典型的には、拡散コードベクトル162を使用するスライディングドット積の形態を取り、スライディングドット積は経時的に信号と共に変化する。したがって、FIRフィルタは、合成信号160から同期信号148を識別する相互相関を提供する。
【0040】
[0045] 歪みアンラッピングマネージャ172は、
【数42】
で表される同期信号170に基づいて歪み係数174h
nの値を決定するように構成される。当然、同期信号
【数43】
は、以下の通り、
【数44】
で表される歪みのない同期信号148を用いて表され得る。
【数45】
初期ベクトル132がK×N行列Aである場合、歪み係数は、値
【数46】
を取ることが示され得る。ここで、
【数47】
は、n番目の座標軸に沿った単位ベクトル(例えば、
【数48】
【数49】
など)であり、A
knは行列Aの要素である。
【0041】
[0046] 歪みアンラッピングマネージャ172はさらに、逆拡散動作マネージャ164が合成信号160から元の信号166を復元することができるように、拡散コードベクトル162の値を調整するように構成される。復元は、以下のように実行される。仮に
【数50】
とする。元の信号140
【数51】
のn番目の成分が歪み信号
【数52】
から導出される。
【数53】
【0042】
[0047] 当然ながら、同期識別マネージャ168は、歪みアンラッピングによる単一動作で同期信号を識別し、合成信号160からL個のサイクリックプレフィックスを削除することができる。これは、このような動作が別個のステップとして実行される従来技術とは対照的である。
【0043】
[0048] さらに、当然ながら、信号受信機150は初期ベクトル132およびチャネルインデックス136を記憶し得る。このデータは、数式(5)、数式(6)、および数式(7)の量を計算するのに使用され得る。
【0044】
[0049] いくつかの実施態様では、メモリ126、156は、ランダム・アクセス・メモリ、ディスク・ドライブ・メモリ、フラッシュメモリなどのような任意のタイプのメモリであり得る。いくつかの実施態様では、メモリ126、156は、信号送信機120および信号受信機150のコンポーネントに関連付けられた2つ以上のメモリコンポーネント(例えば、2つ以上のRAMコンポーネントまたはディスク・ドライブ・メモリ)として実装され得る。いくつかの実施態様では、メモリ126は、データベースメモリであり得る。いくつかの実施態様では、メモリ126、156は、非ローカルメモリであり得る、または非ローカルメモリを含み得る。例えば、メモリ126は、複数のデバイス(図示せず)によって共有されるメモリであり得る、または複数のデバイス(図示せず)によって共有されるメモリを含み得る。いくつかの実施態様では、メモリ126、156は、ネットワーク内のサーバデバイス(図示せず)に関連付けられて、信号送信機120および信号受信機150のコンポーネントの役割を果たすように構成され得る。
【0045】
[0050] 信号送信機120および信号受信機150のコンポーネント(例えば、モジュール、処理ユニット124、154)は、ハードウェア、ソフトウェア、ファームウェア、オペレーティングシステム、ランタイムライブラリなどのうちの1つまたは複数のタイプを含み得る1つまたは複数のプラットフォーム(例えば、1つまたは複数の同様のまたは異なるプラットフォーム)に基づいて動作するように構成され得る。いくつかの実施態様では、信号送信機120および信号受信機150のコンポーネントは、デバイス群(例えば、サーバファーム)内で動作するように構成され得る。このような実施態様では、信号送信機120および信号受信機150のコンポーネントの機能および処理は、デバイス群の複数のデバイスに分散され得る。
【0046】
[0051] 信号送信機120および信号受信機150のコンポーネントは、属性を処理するように構成された任意のタイプのハードウェアおよび/またはソフトウェアであり得る、もしくは任意のタイプのハードウェアおよび/またはソフトウェアを含み得る。いくつかの実施態様では、
図1の信号送信機120および信号受信機150のコンポーネントに示されているコンポーネントの1つまたは複数の部分は、ハードウェアベースのモジュール(例えば、デジタル・シグナル・プロセッサ(DSP)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、メモリ)、ファームウェアモジュール、および/またはソフトウェアベースのモジュール(例えば、コンピュータコードのモジュール、コンピュータで実行され得るコンピュータ可読命令のセット)であり得る、またはこれらを含み得る。例えば、いくつかの実施態様では、信号送信機120および信号受信機150のコンポーネントの1つまたは複数の部分は、少なくとも1つのプロセッサ(図示せず)によって実行するように構成されたソフトウェアモジュールであり得る、またはそのようなソフトウェアモジュールを含み得る。いくつかの実施態様では、コンポーネントの機能は、
図1に示されているのとは異なるモジュールおよび/または異なる構成要素 に含まれ得る。
【0047】
[0052] 図示されていないが、いくつかの実施態様では、信号送信機120および信号受信機150のコンポーネント(またはその一部)は、例えば、データセンタ(例えば、クラウドコンピューティング環境)、コンピュータシステム、1つまたは複数のサーバ/ホストデバイスなどの内で動作するように構成され得る。いくつかの実施態様では、信号送信機120および信号受信機150のコンポーネント(またはその一部)は、ネットワーク内で動作するように構成され得る。したがって、信号送信機120および信号受信機150のコンポーネント(またはその一部)は、1つまたは複数のデバイスおよび/または1つまたは複数のサーバデバイスを含み得る様々なタイプのネットワーク環境内で機能するように構成され得る。例えば、ネットワークは、ローカルエリア・ネットワーク(LAN)、広域ネットワーク(WAN)などであり得る、またはこれらを含み得る。ネットワークは、無線ネットワークおよび/または、例えば、ゲートウェイデバイス、ブリッジ、スイッチなどを使用して実装された無線ネットワークであり得る、またはこれらを含み得る。ネットワークは、1つまたは複数のセグメントを含み得る、および/またはインターネットプロトコル(IP)ならびに/もしくは専用プロトコルのような様々なプロトコルに基づく部分を有し得る。ネットワークは、インターネットの少なくとも一部を含み得る。
【0048】
[0053] いくつかの実施形態では、信号送信機120のコンポーネントのうちの1つまたは複数は、メモリに記憶されている命令を処理するように構成されたプロセッサであり得る、またはプロセッサを含み得る。例えば、初期ベクトル生成マネージャ130(および/またはその一部)、コードマッピング適用マネージャ134(および/またはその一部)、拡散動作マネージャ142(および/またはその一部)、同期信号生成マネージャ146(および/またはその一部)、逆拡散動作マネージャ164(および/またはその一部)、同期信号識別マネージャ168(および/またはその一部)、および歪みアンラッピングマネージャ172(および/またはその一部)は、1つまたは複数の機能を実装するためにプロセスに関する命令を実行するように構成されたプロセッサとメモリとの組み合わせであり得る。
【0049】
[0054] また、上記の改良技術を実行する上記の例は信号送信機120に含まれるが、他の実施態様では、これらの技術は、電子環境100内のいずれかの信号送信機の外部のコンピュータ上で実行され得ることを理解されたい。
【0050】
[0055]
図2は、無線通信の伝送の方法200の例を示すフローチャートである。方法200は、
図1に関して説明されているソフトウェア構成によって実行され得、これらは信号送信機120および信号受信機150のメモリ126、156内に常駐し、処理ユニット124、154のセットによって実行される。
【0051】
[0056] ステップ202において、信号送信機120は、複数の初期ベクトルを生成する。複数の初期ベクトルの各々は、N個の要素を有する。
【0052】
[0057] ステップ204において、信号送信機120は、M個の要素を有する個々の拡散コードベクトルを生成するために複数の初期ベクトルの各々にコードマッピングを適用する。MはNより大きい。個々の拡散コードベクトルは、該初期ベクトルに基づく。コードマッピングは、複数の初期ベクトルの第1の初期ベクトルに基づく第1の拡散コードベクトルと複数の初期ベクトルの第2の初期ベクトルに基づく第2の拡散コードベクトルとの内積が(i)第1の初期ベクトルと第2の初期ベクトルとの内積と(ii)正定数との積に等しくなるように定義される。
【0053】
[0058] ステップ206において、信号送信機は、第1の拡散コードベクトルを使用して第1の信号上で拡散動作を実行して第1の拡散信号を生成し、第2の拡散コードベクトルを使用して第2の信号上で拡散動作を実行して第2の拡散信号を生成する。第1の拡散信号および第2の拡散信号の各々は、M個の要素を有し、第1の拡散コードベクトルおよび第2の拡散コードベクトルを使用して合成拡散信号上で逆拡散動作を実行するように構成された信号受信機において合成拡散信号としてまとめて受信されたときに、信号受信機において第1の信号および第2の信号を生成する。
【0054】
[0059]
図3は、信号送信機120における拡散信号の生成および伝送のプロセス300の一例を示す。プロセス300は、
図1に関して説明されているソフトウェア構成によって実行され得、これらは、信号送信機120のメモリ126内に常駐しており、処理ユニット124のセットによって実行される。
【0055】
[0060] ステップ302において、信号送信機120は、K×N行列Aを生成する。上述したように、該行列の行は、略等角タイトフレームを形成し得る。
【0056】
[0061] ステップ304において、信号送信機120は、チャネルインデックスknを生成する。チャネルインデックスknは、信号送信機120においてアクセスされ、乗算される信号の帯域幅の倍数を表す。一例では、チャネルインデックスknは、連続する整数である。
【0057】
[0062] ステップ306において、信号送信機120は、チャネルインデックスの最大値に基づいて拡散係数としてMを計算する。Mの値が大きいほど、拡散信号を操作するのに必要な計算量が多くなるので、理想的にはMの値は下限の値に近くなり得る。
【0058】
[0063] ステップ308において、信号送信機120は、Mの値、チャネルインデックス、およびK×N行列Aに基づいて、数式(1)に従って拡散コードベクトル310を生成する。
【0059】
[0064] ステップ312において、信号送信機120は、拡散コードベクトル310を信号受信機に伝送する。
【0060】
[0065] ステップ320において、信号送信機120は、信号受信機150に伝送すべき信号のストリームにアクセスする。例えば、信号送信機120は、携帯電話に含まれ得、アクセスされる信号はデジタル音声信号である。各々の信号は、二位相偏移変調(BPSK)またはQAMコンスタレーションの場合のように、単に1つのシンボルとして、例えば、ビットもしくはビット列として表され得る。
【0061】
[0066] ステップ330において、信号送信機120は、拡散コードベクトル310を使用して信号ストリームから拡散信号を生成する。この生成は、数式(3)に従って実行され、その結果、長さMの拡散信号が得られる。
【0062】
[0067] ステップ340において、信号送信機120は、拡散信号(または多数の拡散信号)を信号受信機150に伝送する。
【0063】
[0068]
図4は、信号受信機150における信号復元のプロセス400の一例を示す。プロセス400は、
図1に関して説明されているソフトウェア構成によって実行され得、これらは、信号受信機150のメモリ156内に常駐しており、処理ユニット154のセットによって実行される。
【0064】
[0069] ステップ402において、信号受信機150は、合成拡散信号410として信号送信機120からの拡散信号を受信する。
【0065】
[0070] ステップ420において、信号受信機150は、元の信号430を復元するために、拡散コードベクトル410を使用して合成拡散信号410上で逆拡散動作を実行する。逆拡散動作は、特に、拡散コードベクトル410の内積および拡散信号410のシフトを計算することによって、FIRフィルタとして実行され得る。
【0066】
[0071]
図3および
図4は、歪みのない環境における信号の伝送プロセスおよび受信プロセスを示している。しかしながら、上記の信号送信機120および信号受信機150は、チャネル歪みの存在下で信号を伝送し、復元するように設計されている。このような復元を実現するプロセスについて、
図5を参照しながら説明する。
【0067】
[0072]
図5は、信号送信機120および信号受信機150におけるチャネル歪みに対する伝送信号の補正のプロセス500の一例を示す。プロセス500は、
図1に関して説明されているソフトウェア構成によって実行され得、これらは、信号送信機120のメモリ126および信号受信機150のメモリ156内に常駐しており、処理ユニット124、154のセットによって実行される。
【0068】
[0073] ステップ510において、信号送信機120は、拡散コードベクトル310の先頭に長さLのサイクリックプレフィックスを追加する。サイクリックプレフィックスは、チャネルによる受信信号の効率的な巡回畳み込みを可能にするので、等化またはチャネル歪みの補正に有用である。拡散コードベクトルの先頭にサイクリックプレフィックスを追加することは、拡散コードベクトル1つにつき一回のみ行えばよいので、信号を先頭に追加する従来技術よりも、信号送信機120における計算速度において大きな利得を生み出す。この場合、信号送信機120が拡散コードベクトルを信号に追加した場合、得られる拡散信号は自動的にサイクリックプレフィックスを取得する。
【0069】
[0074] ステップ520において、信号送信機120は、拡散信号から分離した長さMの同期信号を生成する。同期信号のシンボルまたは成分は、拡散信号のシンボルまたは成分とは異なる。ステップ522において、信号送信機は、拡散信号の先頭に同期信号を追加して、信号受信機150において受信された合成拡散信号として1つのデータブロックを生成する。合成信号もサイクリックプレフィックスを含むことに留意されたい。
【0070】
[0075] ステップ530において、信号受信機150は、受信した合成拡散信号402からサイクリックプレフィックスを削除する。信号受信機150は、拡散コードベクトル410の先頭にL個のゼロを追加して、得られた追加済みコードをFIRフィルタとして実装することによって、削除を実行し得る。
【0071】
[0076] ステップ540において、信号受信機150は、合成拡散信号402内に組み込まれたものとして同期信号を識別する。いくつかの実施態様では、この識別は、FIRフィルタを使用してサイクリックプレフィックスの削除と同時に実行され得る。
【0072】
[0077] ステップ550において、信号受信機150は、識別された同期信号およびK×N行列Aを使用して、歪み係数hmを決定する。歪み係数hmの決定は、 数式(5)に従って実行される。
【0073】
[0078] ステップ560において、信号受信機150は、決定された歪み係数hmに基づいて拡散コードベクトル410を調整することによって等化を実行する。この等化は、数式(6)および数式(7)に従って実行される。元の信号の復元は、数式(7)に従って実行される。
【0074】
[0079]
図6は、改良技術の別の実施形態に係る通信システム600の一例を示す。通信システム600は、信号送信機620と、信号受信機650とを含む。
【0075】
[0080] 信号送信機620は、通信を表す信号を生成し、信号を電磁波に変調し、電磁波を信号受信機650に伝送するように構成される。例えば、信号送信機620は、音声および/またはデータ通信を中継塔に伝送する携帯電話の形態を取り得る。信号送信機620は、搬送波発振器622、コード発生器624、スペクトラム拡散変調器626、電力増幅器628、および送信トランスデューサ630を含む。
【0076】
[0081] 搬送波発振器622は、特定の帯域幅内の中心周波数で正弦波搬送波信号を生成するように構成される。ここで、スペクトラム拡散変調器626は、拡散コードを使用してデジタル複素ベースバンドシンボルを拡散し、さらに搬送波発振器信号622を使用して、得られた拡散信号を搬送波周波数に変換するタスクを実行する。搬送波発振器622は、専用の論理回路の形態を取り得る。信号は、デジタル複素ベースバンドシンボルとして、例えば、二位相偏移変調(BPSK)シンボルまたは直交振幅変調(QAM)シンボルとして表され得る。
【0077】
[0082] コード発生器624は、上記の数式(1)で示されているようなスペクトラム拡散コードを生成する。コード発生器624は、専用の論理回路の形態を取り得る。
【0078】
[0083] スペクトラム拡散変調器626は、広帯域内で拡散信号のセットを生成するためにスペクトラム拡散コードを使用して搬送波信号を変調するように構成される。拡散信号のセットの各々は、元の搬送波信号の帯域幅の倍数を中心とする周波数帯域またはチャネル内で伝送される。倍数は、上述のチャネルインデックスで指定される。
【0079】
[0084] 電力増幅器628は、変調器626によって生成された拡散信号の電力を増加させるように構成される。送信トランスデューサ630は、スペクトラム拡散信号が生成される様々なチャネルを信号受信機650に伝搬するための電磁エネルギーに変換する。電力増幅器628は、送信トランスデューサ630を駆動して、送信トランスデューサ630の連続波(CW)極限電力まで動作し得る。
【0080】
[0085] 信号受信機650は、信号送信機620から伝搬された電磁エネルギーを受信し、電磁エネルギー内で搬送されたスペクトラム拡散信号を相関させて、信号送信機620によって生成された元の信号を検出するように構成される。例えば、信号受信機650は、携帯電話の信号を受信し、対象の携帯電話に信号を再伝送する中継塔の形態を取り得る。信号受信機650は、受信トランスデューサ652、低雑音増幅器654、スペクトラム拡散相関器656、および信号検出器658を含む。
【0081】
[0086] 受信トランスデューサ652は、送信トランスデューサ630によって生成された電磁エネルギーを受信して、電磁エネルギーから信号を生成するように構成される。低雑音増幅器654は、受信トランスデューサ652によって生成された信号を受信して増幅させるように構成される。
【0082】
[0087] スペクトラム拡散相関器656は、低出力増幅器654によって増幅された信号を逆拡散するように構成される。スペクトラム拡散相関器656は、コード発生器624によって生成されたコードを受信信号に適用して、元の搬送波周波数で信号を生成する。次に、信号検出器658が、元の搬送波周波数でこれらの信号を検出して処理する。
【0083】
[0088] 本明細書に記載されている様々な技術の実施態様は、デジタル電子回路において、またはコンピュータハードウェア、ファームウェア、ソフトウェア、もしくはこれらの組み合わせにおいて実装され得る。実施態様は、コンピュータプログラム製品として、すなわち、情報担体内で、例えば、機械可読記憶装置(コンピュータ可読媒体、非一時的なコンピュータ可読記憶媒体、有形コンピュータ可読記憶媒体、例えば、
図1の媒体112、114)内で、またはデータ処理装置(例えば、プログラム可能なプロセッサ、コンピュータ、もしくは複数のコンピュータ)によって処理するための、もしくはデータ処理装置の動作を制御するための伝搬信号内で、有形的に具現化されたコンピュータプログラムとして実装され得る。上記のコンピュータプログラム(単数または複数)のようなコンピュータプログラムは、コンパイラ型言語またはインタープリタ型言語を含む任意の形式のプログラミング言語で書き込まれ得、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境での使用に適した他のユニットとしてなど、任意の形態で展開され得る。コンピュータプログラムは、1つのコンピュータ上で、または、1つの場所の複数のコンピュータもしくは複数の場所に分散され通信ネットワークによって相互接続された複数のコンピュータ上で処理されるように展開され得る。
【0084】
[0089] 方法ステップは、入力データ上で操作して出力を生成することによって機能を実行するために、コンピュータプログラムを実行する1つまたは複数のプログラム可能なプロセッサによって実行され得る。さらに、方法ステップは、専用の論理回路、例えば、FPGA(フィールド・プログラマブル・ゲート・アレイ)またはASIC(特定用途向け集積回路)によって実行され得、装置は専用の論理回路として実装され得る。
【0085】
[0090] コンピュータプログラムの処理に適したプロセッサは、例として、汎用および専用のマイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、リード・オンリ・メモリまたはランダム・アクセス・メモリまたはその両方から命令およびデータを受信する。コンピュータの要素は、命令を実行するための少なくとも1つのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとを含み得る。一般に、コンピュータはさらに、データを記憶するための1つまたは複数の大容量記憶装置(例えば、磁気ディスク、光磁気ディスク、または光ディスク)を含み得る、または大容量記憶装置からデータを受信するもしくは大容量記憶装置にデータを送信する、またはその両方のために大容量記憶装置に動作可能に結合され得る。コンピュータプログラム命令およびデータを具現化するのに適した情報担体は、全ての形態の不揮発性メモリ、例えば、半導体メモリデバイス(例えば、EPROM、EEPROM、およびフラッシュメモリデバイス)、磁気ディスク(例えば、内蔵ハードディスクもしくは取り外し可能なディスク)、光磁気ディスク、およびCD-ROMディスクならびにDVD-ROMディスクなどを含む。プロセッサおよびメモリは、専用論理回路によって補完され得る、または専用論理回路に組み込まれ得る。
【0086】
[0091] ユーザとの対話を提供するために、実施態様は、情報をユーザに表示するための表示装置(例えば、液晶ディスプレイ(LCDもしくはLED)モニタ、タッチスクリーンディスプレイ)と、ユーザがコンピュータに入力するための手段であるキーボードならびにポインティングデバイス(例えば、マウスもしくはトラックボール)とを有するコンピュータ上に実装され得る。ユーザとの対話を提供するのに他の種類のデバイスも使用され得る。例えば、ユーザへのフィードバックは、任意の形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、触覚フィードバック)で行われ、ユーザからの入力は、音響入力、音声入力、もしくは触覚入力を含む任意の形態で受信され得る。
【0087】
[0092] 実施態様は、バックエンドコンポーネント(例えば、データサーバ)を含む、またはミドルウェアコンポーネント(例えば、アプリケーションサーバ)を含む、またはフロントエンドコンポーネント(例えば、ユーザが実装することによって対話することができるグラフィカル・ユーザ・インターフェースもしくはウェブブラウザを有するクライアントコンピュータ)を含む、または上記のバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステム内で実装され得る。コンポーネントは、デジタルデータ通信の任意の形態もしくは媒体(例えば、通信ネットワーク)によって相互接続され得る。通信ネットワークの例としては、ローカルエリア・ネットワーク(LAN)および広域ネットワーク(WAN)(例えば、インターネット)が挙げられる。
【0088】
[0093] 本明細書に記載されているように、実施態様の特定の特徴について説明したが、当業者は、多くの修正、置換、変更、および均等物を思い付くであろう。したがって、添付の請求項は、実施態様の範囲内にあるこのような修正および変更の全てを網羅することを意図するものであることを理解されたい。当然ながら、それらは単なる例として提示されたものであって、限定するものではなく、形態および詳細の様々な変更が加えられてもよい。本明細書に記載されている装置および/または方法の任意の部分は、相互に排他的な組み合わせの場合を除いて、任意の組み合わせで組み合わされてもよい。本明細書に記載されている実施態様は、記載されている異なる実施態様の機能、コンポーネントおよび/または特徴の様々な組み合わせおよび/または部分的組み合わせを含み得る。