JP2011509555A - ソフトウェアコグニティブ無線機 - Google Patents

ソフトウェアコグニティブ無線機 Download PDF

Info

Publication number
JP2011509555A
JP2011509555A JP2010538027A JP2010538027A JP2011509555A JP 2011509555 A JP2011509555 A JP 2011509555A JP 2010538027 A JP2010538027 A JP 2010538027A JP 2010538027 A JP2010538027 A JP 2010538027A JP 2011509555 A JP2011509555 A JP 2011509555A
Authority
JP
Japan
Prior art keywords
module
software
components
status information
radio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010538027A
Other languages
English (en)
Other versions
JP5297466B2 (ja
JP2011509555A5 (ja
Inventor
ハッサン,アメア・エイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=40753206&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2011509555(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2011509555A publication Critical patent/JP2011509555A/ja
Publication of JP2011509555A5 publication Critical patent/JP2011509555A5/ja
Application granted granted Critical
Publication of JP5297466B2 publication Critical patent/JP5297466B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0019Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy in which mode-switching is based on a statistical approach
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding

Abstract

ソフトウェア無線機を有するコンピューティングデバイス。ソフトウェア無線機は、制御機能およびデータ処理機能を提供するために別々のコンポーネントを有するアーキテクチャーを有する。制御コンポーネントは、データ処理コンポーネントを構成し、その結果、ソフトウェア無線機が、所望の動作特性を提供するようにする。データプレーン内のコンポーネントは、動作状態を示す情報を導出することができ、この動作状態は、制御コンポーネントのうちの1つまたは複数に供給され得る。それに応答して、制御コンポーネントは、動作状態を調整するために、データプレーン内のコンポーネントを変更することができる。
【選択図】図2

Description

多数のコンピューティングデバイスは、そのコンピューティングデバイスがネットワークまたは他のコンピューティングデバイスに無線で接続することを可能にするハードウェアを備えている。そのような無線ハードウェアは、しばしば、それぞれが送信機、受信機、およびデータ処理コンポーネントを有する1つまたは複数の無線機を含む。
いくつかのデバイスでは、無線ハードウェアは、事前定義の構成を有し、各無線機が、Wi−Fi、WiMAX、Bluetooth、またはHSDPAなどの特定の無線テクノロジーに従う接続をサポートするようになっている。たとえば、そのような無線機は、1つまたは複数の事前定義の周波数を使用して通信し、制御メッセージの事前定義のシーケンスを使用して別のデバイスに接続するか、情報を交換することができる。異なる無線テクノロジーを使用して通信する異なるデバイスとの通信をサポートするために、無線ハードウェアは、それぞれが特定の無線テクノロジーを使用する通信のために構成された複数の無線機を含む場合がある。
一部の無線機は、802.11標準規格の変形など、いくつかの密接に関連する無線テクノロジーをサポートすることができる。同様に、一部の無線機は、動作条件に適合するためにセットすることができるパラメーターを有する。たとえば、高い誤り率に出会う場合に送信データレートまたは送信パワーレベルを適合させる無線機である。それでも、事前定義の構成を有する無線機は、一般に、サポートできる無線テクノロジーにおいて制限されている。
他のデバイスでは、無線ハードウェアは、通信に使用される無線テクノロジーをソフトウェア制御の下で変更できるように構成可能であり、時々「ソフトウェア無線機(software defined radio)」と呼ばれるものを実施する場合がある。無線ハードウェアは、通信に使用される周波数または受信信号に対して実行されるデータ処理など、無線機の動作パラメーターを変更できる制御入力を受け取るように適合される。ハードウェアの動作パラメーターを再構成することによって、ハードウェアコンポーネントの1グループが、異なる無線テクノロジー用の無線機として働くことが可能になる場合がある。
ソフトウェア無線機は、新しい機能を容易にすることと既知の機能を用いる動作を単純化することとの両方によってコンピューターデバイスのユーザーの経験を改善するために実施される。一態様では、ソフトウェア無線機は、別々の制御プレーンおよびデータプレーンを有するアーキテクチャーを有する。データプレーンは、無線通信に関連するデータ処理動作を実行する。制御プレーンは、無線機がそれに関して動作する無線テクノロジーを変更するか、無線テクノロジーを変更せずに動作パラメーターを調整するために、データプレーンの構成を変更することができる。
このアーキテクチャーを介して提供される柔軟性を用いて、ソフトウェア無線機を、1つまたは複数の無線テクノロジーを介する効率的な通信をサポートするために構成し、または再構成することができる。ソフトウェア無線機を介して提供される柔軟性の一例として、フィードバック経路を、データプレーン内のコンポーネントと制御プレーン内のコンポーネントとの間データやすく作成することができる。データプレーン内のコンポーネントは、誤り率または雑音レベルなど、使用中の通信チャネルに関するステータス情報を生成することができる。この情報を、制御プレーン内のコグニティブ(cognitive)モジュールに供給することができ、このコグニティブモジュールは、進行中の動作条件に適合できる、データプレーン内のコンポーネントに対する調整を識別することができる。
前述は、本発明の非限定的な要約であり、本発明は、添付の特許請求の範囲によって定義される。
添付図面は、原寸通りに描かれることを意図されたものではない。図面では、さまざまな図に示された各同一のまたはほぼ同一のコンポーネントが、類似する符号によって表される。明瞭にするために、すべての図のすべてのコンポーネントに符号を付けてはいない場合がある。
本発明の実施形態によるソフトウェア無線機を有するコンピューティングデバイスを含むコンピューティング環境を示すスケッチである。 本発明の実施形態によるソフトウェア無線機を含むコンピューティングデバイス内のコンポーネントを示すブロック図である。 本発明の実施形態による無線テクノロジー仕様のライブラリーのデータ構造を示すスケッチである。 本発明の実施形態によるソフトウェア無線機のソフトウェアモジュールを示すスケッチである。 本発明の実施形態による第1構成のソフトウェア無線機を組み込んだコンピューティングデバイスを示すスケッチである。 代替構成の図5Aのコンピューティングデバイスを示すスケッチである。 本発明の実施形態による構成可能な無線機を示すスケッチである。 本発明の実施形態に従って変調器内で生成できるステータス情報を示す図である。 本発明の実施形態に従って変調器内で生成できるステータス情報を示す図である。 本発明の実施形態に従って変調器内で生成できるステータス情報を示す図である。 図8Aは、本発明の実施形態に従って変調器内で行うことができる適合を示す図である。 図8Bは、本発明の実施形態に従って変調器内で行うことができる適合を示す図である。 図9Aは、本発明の実施形態に従って符号器内で行うことができる適合を示す図である。 図9Bは、本発明の実施形態に従って符号器内で行うことができる適合を示す図である。 本発明の実施形態による通信の処理を示す流れ図である。
本発明の実施形態によれば、コンピューティングデバイス用のソフトウェア無線機は、複数のシナリオで簡単な構成および再構成を可能にするアーキテクチャーを用いて実施される。そのようなソフトウェア無線機を使用できる環境の例を、図1に示す。
図1に、複数のコンピューティングデバイスがその中で相互作用するネットワーク化されたコンピューティング環境を示す。1つまたは複数のコンピューティングデバイスが、本発明の実施形態によるソフトウェア無線機を含むことができる。図示の例では、図示のように無線で通信する3つのコンピューティングデバイスすなわち、ラップトップ機110、プリンター112、およびスマートホン114。3つのコンピューティングデバイスが図示されているが、任意の個数またはタイプのコンピューティングデバイスが、本発明の実施形態によるソフトウェア無線機を使用することができ、3つのデバイスは、話を簡単にするために図示されたものである。
この例では、ラップトップコンピューター110は、アクセスポイント116と無線で通信する。アクセスポイント116を介して、ラップトップコンピューター110は、ネットワーク120およびネットワーク120に接続された1つまたは複数のデバイスへのアクセスを得ることができる。ラップトップコンピューター110がネットワーク120を介してアクセスできるデバイスのタイプの例として、図1に、サーバー150を示す。この例では、サーバー150は、グループポリシーサーバーとすることができる。当技術分野で既知のとおり、グループポリシーサーバーを、ドメイン参加されるクライアントに管理情報を提供するように構成することができる。グループポリシーサーバーは、ネットワーク管理者がドメイン参加したクライアントにポリシー情報を提供する機構を提供する。そのようなサーバーは、エンタープライズネットワーク内で、ネットワーク管理者がネットワーククライアントを構成するか他の形で管理することを可能にするのに使用される。ラップトップコンピューター110などのネットワーククライアントを、ネットワーク120への接続時にグループポリシー情報を入手するか更新するためにグループポリシーサーバー150にアクセスするエージェントを用いて構成することができる。
グループポリシーサーバー150は、任意の適切な形でグループポリシー情報を維持することができる。図1の例では、グループポリシー情報を、データベース130内で維持することができる。データベース130は、グループポリシーサーバー150によってアクセス可能な任意の適切なコンピューター記憶媒体を表すことができる。図1の例では、データベース130は、当技術分野で既知のとおり、グループポリシー情報を含むことができる。その代わりにまたはそれに加えて、データベース130は、ラップトップコンピューター110内のソフトウェア無線機を構成するのに有用な情報を含むことができる。たとえば、データベース130は、ラップトップコンピューター110にダウンロードされ、ラップトップコンピューター110内のソフトウェア無線機に適用された時に、そのソフトウェア無線機を特定の無線テクノロジーによる通信のために構成する、1つまたは複数の無線テクノロジー仕様を含むことができる。
たとえば、図1は、データベース130からサーバー150を介してラップトップコンピューター110にダウンロードされる無線テクノロジー仕様132を示す。ダウンロードされた無線テクノロジー仕様132は、任意の適切な無線テクノロジーに従って通信するようにラップトップコンピューター110内のソフトウェア無線機を構成することができる。ラップトップコンピューター110にダウンロードされた無線テクノロジー仕様を、異なる時に異なる無線テクノロジーをサポートしまたは複数の無線テクノロジーを同時にサポートするようにラップトップコンピューター110内のソフトウェア無線機の機能を変更するために、ソフトウェア無線機に順次または並列に適用することができる。
たとえば、図1では、ラップトップコンピューター110は、無線でアクセスポイント116と通信している。インフラストラクチャーネットワークに関するアクセスポイントとのそのような通信は、しばしば、802.11プロトコルに従う無線テクノロジーを使用して実行される。しかし、ラップトップコンピューター110のユーザーは、プリンター112などのインフラストラクチャーネットワーク120に接続されていないデバイスにアクセスを望む場合がある。プリンター112は、アクセスポイント116と同一の無線テクノロジーに従う通信をサポートしない場合がある。しばしば、プリンター112などのデバイスは、アドホックネットワークを使用する通信のために構成され、Bluetoothなどの無線テクノロジーを使用する場合がある。したがって、無線テクノロジー仕様132を、ラップトップコンピューター110内のソフトウェア無線機に適用して、アクセスポイント116を介する通信に使用されるものとは異なる無線テクノロジーを使用して、さらにプリンター112と通信するように無線機を構成することができる。
プリンター112は、ラップトップコンピューター110と通信するように同様に構成できるソフトウェア無線機をも含むことができる。しかし、ソフトウェア無線機を有するデバイスが、ソフトウェア無線機を有する他のデバイスのみと通信する必要はなく、プリンター112内の無線機は、任意の適切な形で実施され得る。
他の通信デバイスは、ラップトップ機110に似て、無線テクノロジー仕様の適用を介して構成できるソフトウェア無線機を含むことができる。たとえば、スマートホン114は、アクセスポイント116と無線で通信して図示されている。上で説明したように、アクセスポイント116との通信は、802.11プロトコルなどの無線テクノロジーに従うものとすることができる。スマートホン114は、その代わりに、異なる無線テクノロジーを使用して、general packet radio service(GPRS)ネットワーク118と通信することができる。図1に示されているように2つの無線テクノロジーを使用する通信をサポートするために、スマートホン114は、同時に複数の無線テクノロジー仕様を用いてプログラムされる1つのソフトウェア無線機を備えることができる。
無線テクノロジー仕様を用いてプログラムされる各コンピューティングデバイスは、これらの無線テクノロジー仕様を任意の適切な形で入手することができる。図1に、グループポリシーサーバー150を介してコンピューティングデバイスによって無線テクノロジー仕様を入手できる例を示す。より一般的に、無線テクノロジー仕様は、移動可能なコンピューター記憶媒体(CDなど)から入手し、任意の適切なサーバーから入手し、または任意の他の適切なソースから入手することができる。
この機能によって提供される柔軟性の一例として、無線デバイスは、インターネットまたは他の公に使用可能なネットワークを介して無線テクノロジー仕様をダウンロードすることができる。インターネットを介して到達可能なサーバーのオペレーターは、有料でまたは他の商業的考慮と引き換えに無線テクノロジー仕様を提供することができる。たとえば、GPRSネットワーク118のオペレーターは、コンピューティングデバイスがGPRSネットワーク118にアクセスすることを可能にする無線テクノロジー仕様を提供することができる。GPRSネットワーク118へのアクセスが、料金を支払ってネットワークサービスに加入するユーザーだけに提供される場合には、GPRSネットワーク118のユーザーは、より多くのユーザーがGPRSネットワーク118にアクセスすることを可能にし、したがって、GPRSネットワーク118を介して提供されるサービスに加入することを可能にすることによって、商業的利益を受け取る。
もう1つの例として、会社または他の実体は、ソフトウェア無線機を有するコンピューティングデバイスのユーザーがそれを介して特定の無線テクノロジーによる通信を可能にする無線テクノロジー仕様をある期間にわたって購入し、またはライセンス交付を受けることができるウェブサイトを運営することができる。この機能は、たとえば、ユーザーのコンピューターがそれのために構成されていない無線テクノロジーが広く使用されている外国への旅行を準備しているコンピューターユーザーに有用である可能性がある。その外国への旅行の前に、そのコンピューターユーザーは、その外国内のネットワークまたは他のデバイスと無線通信できるようになるために、無線テクノロジー仕様をダウンロードすることを望む可能性がある。このシナリオでは、無線テクノロジー仕様を、ある会社によって有料で供給することができる。その代わりにまたはそれに加えて、無線テクノロジー仕様を、外国での無線ネットワークへの加入(料金の支払いを伴うものとすることができる)に関連して提供することができる。この形で、ソフトウェア無線機を備えたコンピューティングデバイスのユーザーは、彼らのコンピューティングデバイスが無線で通信できる拡大された地理的地域から大きい利益を得ることができる。同一の利益を、ダウンロードされた無線テクノロジー仕様を使用してアクセスされるネットワークが外国内にない場合であっても達成することができる。したがって、本発明の実施形態では、無線テクノロジー仕様を、任意の適切な位置の任意の適切な無線デバイスとの通信で使用するために、任意の適切なサーバーからダウンロードし、または任意の他のデータソースから入手することができる。
図2に、無線テクノロジー仕様132(図1)などの無線テクノロジー仕様を使用してたやすく構成できるソフトウェア無線機を有するコンピューティングデバイス200のアーキテクチャーを示す。そのようなコンピューティングデバイスは、任意の適切なハードウェアを使用して実施することができる。しかし、図2の例では、コンピューティングデバイス200は、コンピューターバス260に結合されたプロセッサ210を含む。コンピューターバス260は、たとえば、PCIバスとすることができる。しかし、任意の適切なバスを、コンピューティングデバイス200内で使用することができる。コンピューターバス260を介して、プロセッサ210は、1つまたは複数の他のハードウェアコンポーネントと通信することができる。図2の例では、無線カード270が図示されている。
プロセッサ210は、1つまたは複数の任意の適切なプロセッサとすることができ、各プロセッサは、1つまたは複数のコアを有することができる。しかし、話を簡単にするために、単一のプロセッサ210が図示されている。同様に、ソフトウェア無線機の実施に使用されるハードウェアコンポーネントを、任意の適切な形でパッケージ化することができる。たとえば、ソフトウェア無線機を実施するハードウェアコンポーネントを、別々の無線ネットワークインターフェースカード上で実施することができ、あるいは、コンピューティングデバイス200内に他の機能を実行するハードウェアコンポーネントと共に組み込むことができる。可能な変形のさらなる例として、ソフトウェア無線機を実施するハードウェアコンポーネントを、コンピューターバス260に接続される複数のカードにまたがって分配することができる。したがって、図2は、単一の無線機カード270がソフトウェア無線機のハードウェアコンポーネントのすべてを組み込む例の実施形態を示すが、ハードウェアコンポーネントの任意の適切なパッケージングを使用することができる。
図2には、コンピューティングデバイス200内で実行できるソフトウェアコンポーネントも示されている。図示の実施形態では、ソフトウェアコンポーネントを、コンピューター実行可能命令および構成パラメーターとしてプロセッサ210に関連するコンピューター記憶媒体に格納することができる。ソフトウェアコンポーネントを、任意の適切な形で構成することができる。図示の実施形態では、ソフトウェアコンポーネントは、オペレーティングシステム212を含む。オペレーティングシステム212は、当技術分野で既知のコンピューターオペレーティングシステムとすることができるが、任意の適切なオペレーティングシステムを使用することができる。オペレーティングシステム212は、コンピューティングデバイス200上で実行中のアプリケーション214によってアクセスされる複数の機能を提供することができる。アプリケーションコンポーネント214の個数およびタイプは、コンピューティングデバイス200のタイプおよび機能に依存するものとすることができる。しかし、アプリケーション214の例は、ウェブブラウザ、電子メールアプリケーション、またはソフトウェア無線機を使用して無線で送信されるか受信されるデータを生成するか消費する他のアプリケーションを含むことができる。
オペレーティングシステム212は、アプリケーション214とソフトウェア無線機との間のインターフェースを提供することができる。オペレーティングシステム212は、無線機によって提供されるものより高いレベルのネットワーク機能をも提供することができる。たとえば、無線機は、OSI階層ネットワークモデルのレベル1から3でのネットワーク機能を提供することができる。オペレーティングシステム212は、より高いネットワーク層の機能のサポートを提供することができる。このシナリオでは、オペレーティングシステムは、アプリケーション214と他のコンピューティングデバイス内のアプリケーションとの間の接続をサポートすることができる。たとえば、アプリケーションは、頻繁に、TCPプロトコルまたは他のコネクションベースのプロトコルを使用して通信する。オペレーティングシステム212は、他のデバイスへの接続のためのデータを物理的に伝えるのにソフトウェア無線機に頼りはするが、他のデバイス内のアプリケーションとの接続を確立し、維持するコンポーネントを含むことができる。
オペレーティングシステムと無線機との間の機能のそのような区分は、ソフトウェア無線機が使用されようとされまいと、当技術分野で既知である。したがって、オペレーティングシステム212とコンピューティングデバイス200内のソフトウェア無線機との間の通信機能の特定の区分は、本発明にとってクリティカルではない。
図2の例では、ソフトウェア無線機は、データプレーン220および制御プレーン240に隔離されたソフトウェアコンポーネントを用いて実施される。無線での送信のためにアプリケーション214またはオペレーティングシステム212によって生成される、特定の無線テクノロジーに関係するデータメッセージまたは制御メッセージは、送信のために無線機カード270に適用される前に、データプレーン220を通過する。データプレーン220内のコンポーネントによって実行される特定の処理は、制御プレーン240内のコンポーネントによって定義され、構成される。無線機カード270で無線で受信される、特定の無線テクノロジーに関係するデータメッセージまたは制御メッセージは、オペレーティングシステム212またはアプリケーション214への途中でデータプレーン220のコンポーネントを通過することができる。受信されたデータに対して実行されるデータプレーン220内の処理は、同様に、制御プレーン240内のコンポーネントによって定義し、構成することができる。
図示の実施形態では、無線機カード270上のハードウェアコンポーネントを、同様に制御プレーンおよびデータプレーンに隔離することができる。図示の実施形態では、データプレーン290は、複数のコンポーネントを含むものとして図示されている。無線機カード270内のハードウェア制御プレーンは、単一のモジュール280内で実施される。しかし、制御プレーンおよびデータプレーンのそれぞれの中のモジュールの個数およびタイプは、本発明にとってクリティカルではない。
図示の実施形態では、ソフトウェアデータプレーン220は、パケット処理およびセキュリティモジュール222、媒体アクセス制御モジュール(MAC)224、ならびにベースバンドプロセスモジュール226を含む。これらのモジュールのそれぞれの中で実行される特定の機能は、ソフトウェア無線機の構成に依存するものとすることができる。しかし、パケット処理およびセキュリティモジュール222は、送信されるデータを処理する時に、オペレーティングシステム212からそのデータを受け取り、ソフトウェア無線機が実施するように構成された無線テクノロジーによって使用される任意のプロトコルに従ってそのデータをパケットにフォーマットすることができる。パケット形成の一部として、パケット処理モジュール222は、パケットレベル暗号化を実行し、認証のためにパケットに署名を適用し、あるいは無線で送信されるデータに関する他のセキュリティ機能を実行することができる。
MACプロセスモジュール224内のコンポーネントは、ソフトウェア無線機がそれに関して構成される無線テクノロジーに適当な1つまたは複数のMAC機能を実行することができる。たとえば、MACプロセスモジュール224内のコンポーネントは、コンピューティングデバイス200がそれを介して別の無線デバイスと無線で通信できるチャネルを確立し、そのチャネルまたはそのチャネルを介する通信に使用される特定の周波数を介してデータを送信できる時を判定することができる。
他の機能に加えて、送信されるデータを処理する時に、MACプロセスモジュール224内のコンポーネントは、パケット処理およびセキュリティモジュール222内で定義されたパケットを受け取り、各パケットを送信のためにソースビットのストリームに変換することができる。
これらのソースビットを、さらなる処理のために、および最終的に無線送信のために無線機カード270上のハードウェアコンポーネントへの適用のために、ベースバンドプロセスモジュール226内のコンポーネントに供給することができる。たとえば、ベースバンドプロセスモジュール226内のコンポーネントは、順方向誤り訂正アルゴリズムを使用してソースビットを符号化することができる。もう1つのコンポーネントが、送信のためにビットのグループを記号にマッピングすることによるなど、符号化されたビットストリームをディジタル変調することができる。使用できる変調方式の例は、位相および振幅キーイングを使用する直交振幅変調(QAM)である。しかし、使用される特定の変調機能は、ソフトウェア無線機によって実施される無線テクノロジーに依存するものとすることができる。さらに、プロセスモジュール224内のコンポーネントは、1つまたは複数のディジタルフィルタリングアルゴリズムを使用して、変調されたビットストリームをフィルタリングすることもできる。ベースバンドプロセスモジュール226内の他のコンポーネントと同様に、フィルタリングコンポーネントによって実行される特定の機能は、実施される無線テクノロジーに依存するものとすることができる。
データの送信のために、データ処理を、無線機カード270上のハードウェアコンポーネントによって実行することもできる。したがって、ハードウェアカード270は、データプレーン290内に1つまたは複数のハードウェアコンポーネントを含むことができる。図2の例では、ハードウェアデータプレーン290は、オフロードハードウェアモジュール292、混合エレクトロニクスモジュール294、ならびにアンテナおよびRFエレクトロニクス296を含む。ハードウェアモジュールのそれぞれを、既知のディジタル電子回路コンポーネントおよび/またはアナログ電子回路コンポーネントを使用して実施することができる。ハードウェアモジュールのそれぞれの特定の実施態様は、無線機カード270によってサポートされる無線テクノロジーの範囲に依存するものとすることができる。しかし、一例として、アンテナおよびRFエレクトロニクスモジュール296は、データの送信をサポートするために、電力増幅器および周波数アップコンバージョンを実行する周波数コンバータを含むことができる。アップコンバータが動作する周波数範囲は、無線機カード270が動作できる周波数範囲に依存するものとすることができる。
さらに、アンテナおよびRFエレクトロニクスモジュール296は、電力増幅器に結合された1つまたは複数のアンテナを含むことができる。いくつかの実施形態では、アンテナを、異なる周波数での動作のために構成可能とすることができ、特定の構成は、ソフトウェア無線機によってサポートされる1つまたは複数の無線テクノロジーに基づいて選択される。他の実施形態では、アンテナおよびRFエレクトロニクスモジュール296は、モジュール296内のRFエレクトロニクスコンポーネントに切り替え可能に接続できる複数のアンテナを含むことができる。この実施形態では、RFエレクトロニクスに切り替えられるアンテナを選択して、送信される信号の周波数に整合させることができる。そのようなアンテナは、当技術分野で既知のパッチアンテナとしてまたは任意の他の適切な形で実施することができる。いくつかの実施形態では、アンテナおよびRFエレクトロニクスモジュール296内の1つまたは複数のアンテナを、無線機カード270上で実施することができる。しかし、いくつかの実施形態では、アンテナを、コンピューティングデバイス200内の任意の適切な位置に配置することができる。
混合エレクトロニクスモジュール294は、送信されるデータを処理するために、ソフトウェア処理によって生成されたデータをアンテナおよびRFエレクトロニクスモジュール296による送信のためにアナログ信号に変換するコンポーネントを含むことができる。たとえば、混合エレクトロニクスモジュール294は、当技術分野で既知のディジタル−アナログ変換器を含むことができる。しかし、任意の適切なコンポーネントを使用することができる。
オフロードハードウェアモジュール292は、ソフトウェアデータプレーン220内で実行できる機能の一部またはすべてを実行できるハードウェアコンポーネントを含むことができる。無線機カード270へのオフロードハードウェアモジュール292の組込みは、一部の機能をソフトウェアまたはハードウェアのいずれかで実行するようにソフトウェア無線機を構成するオプションをもたらす。図示の実施形態では、オフロードハードウェアモジュール292は、無線機カード270上のオプションのコンポーネントである。したがって、ソフトウェア無線機を構成する時に、オフロードハードウェアモジュール292が、存在し、所望の無線テクノロジーを実施するのに使用される機能を実行するコンポーネントを含む場合に、オフロードハードウェアモジュール292内のコンポーネントを、その機能を実行するように構成することができる。その代わりに、オフロードハードウェアモジュール292が存在しないか、所望の無線テクノロジーの一部である機能を実施するコンポーネントを含まない場合に、その機能を、ソフトウェアデータプレーン220で実施することができる。
ソフトウェアデータプレーン220およびハードウェアデータプレーン290内のモジュールのそれぞれの中の特定のコンポーネントにかかわりなく、コンポーネントの集合は、特定の無線テクノロジーに従ってデータを送信するのに使用される機能を実施する。ソフトウェアデータプレーン220およびハードウェアデータプレーン290内のコンポーネントは、集合的に、指定された無線テクノロジーに従ってデータを受信する機能をも実施する。したがって、アンテナおよびRFエレクトロニクスモジュール296は、データを伝える無線信号を受信するための1つまたは複数のアンテナを含むことができる。いくつかの場合に、同一のコンポーネントを、データの送信および受信に使用することができる。たとえば、アンテナおよびRFエレクトロニクスモジュール296内のアンテナを、データの送信と受信との両方に使用することができる。他の場合には、別々のコンポーネントを、送信されるデータおよび受信されるデータを処理するために含めることができる。アンテナおよびRFエレクトロニクスモジュール296は、データを送信するための電力増幅器およびアップコンバータに加えて、受信されたデータを処理するための低雑音増幅器およびダウンコンバータを含むことができる。混合エレクトロニクスモジュール294は、受信されたアナログ信号をさらなる処理のためにディジタル信号に変換するアナログ−ディジタル変換器を含むことができる。同様に、オフロードハードウェアモジュール292は、送信されるデータに対して機能を実行するコンポーネントの代わりにまたはそれに加えて、受信されたデータに対して機能を実行するコンポーネントを含むことができる。
ソフトウェアデータプレーン220内のモジュールは、同様に、受信されたデータを処理するコンポーネントを含むことができる。たとえば、ベースバンドプロセスモジュール226は、受信されたデータに作用するフィルタを含むことができ、このフィルタは、送信されたデータに作用するのに使用されるフィルタと同一のフィルタまたは異なるフィルタとすることができる。ベースバンドプロセスモジュール226内の他のコンポーネントは、受信された信号を復調するか、復調された信号を復号することができる。いくつかの実施形態では、受信された信号の復調動作および復号動作は、送信されるデータに関して実行される誤り訂正機能および変調機能の逆である。しかし、各モジュール内で実行される特定の機能を、実施される特定の無線テクノロジーに従って構成することができる。
図示の実施形態では、受信された信号を、ベースバンドプロセスモジュール226内での処理の後に、さらなる処理のためにMACプロセスモジュール224内のコンポーネントに供給することができる。これらのコンポーネントは、ベースバンドプロセスモジュール226によって出力されたビットのストリームをパケットに形成するか、受信されたデータを他の形で処理することができる。さらに、MACプロセスモジュール224内のコンポーネントは、受信された時にパケットを肯定応答するか、他の形で機能を実行して、ソフトウェア無線機によって実施される無線テクノロジーに適用可能なプロトコルに従う通信を維持することができる。
パケット処理およびセキュリティモジュール222内のコンポーネントも、受信されたデータに対して機能を実行することができる。これらのコンポーネントは、送信されたデータに適用された機能の逆とすることができる暗号化解除機能または認証機能を提供することができる。さらに、パケット処理およびセキュリティモジュール222内のコンポーネントは、パケットが受信されたことをオペレーティングシステム212に通知する前に、パケットをグループ化するか他の形で処理することができる。オペレーティングシステム212にパケットを通知するための処理は、当技術分野で既知のとおりとすることができるが、任意の適切な機構を使用することができ、ソフトウェア無線機の他の機能と同様に、いくつかの実施形態では構成可能とすることができる。
所望の1つまたは複数の無線テクノロジー用のソフトウェア無線機を実施するために、ソフトウェアデータプレーン220内およびハードウェアデータプレーン290内のハードウェアモジュールおよびソフトウェアモジュールのうちの1つまたは複数を構成することができる。図示の実施形態では、ソフトウェアデータプレーン220内のコンポーネントは、制御プレーン240内のコンポーネントによって構成される。図示の実施形態では、ソフトウェア制御プレーン240は、ソフトウェアデータプレーン220内の構成可能コンポーネントのそれぞれへのインターフェースを提供する無線機構成および制御モジュール244を含む。
無線機構成および制御モジュール244がソフトウェアデータプレーン220内の構成可能コンポーネントとそれによって相互作用する特定の機構は、本発明にとってクリティカルではなく、任意の適切な機構を使用することができる。しかし、図示の実施形態では、モジュール222、224、および226のそれぞれは、それぞれ、定義されたプログラミングインターフェース228、228、および228を含む。インターフェース228、228、および228のそれぞれは、出版されるか、ソフトウェア無線機での使用のためにソフトウェアコンポーネントを開発することを望む当事者に知らされる形であるものとすることができる。この形で、どのコンポーネントがデータプレーン220内に含まれるかにかかわりなく、無線機構成および制御モジュール244は、これらのコンポーネントとインターフェースすることができる。
インターフェースの特定のフォーマットは、本発明にとってクリティカルではないが、図示の実施形態では、インターフェース228、228、および228は、情報の両方向交換を可能にし、ステータス情報および制御情報がこのインターフェースを通過することを可能にする。ソフトウェアデータプレーン220内のコンポーネントのそれぞれは、228、228、および228などのインターフェースを介して、その動作ステータスならびにその動作機能を定義するステータス情報を提供する。たとえば、パケット処理およびセキュリティモジュール222内のコンポーネントは、それらがサポートできる特定のセキュリティ機能を、インターフェース228を介して無線機構成および制御モジュール244に通信することができる。インターフェース228は、無線機構成および制御モジュール244が、送信されるパケットまたは受信されたパケットに対してこれらの機能のうちのどれを実行すべきかを制御することも可能にすることもできる。同様に、インターフェース228は、MACプロセスモジュール224内のコンポーネントが、それらが実行できる機能を識別し、所望の無線テクノロジーの実施に使用される機能を実行するためにこれらのコンポーネントを無線機構成および制御モジュール244が構成することを可能にすることを可能にすることができる。情報の類似する両方向交換を、インターフェース228を介して行うことができ、無線機構成および制御モジュール244が、ベースバンドプロセスモジュール226内のコンポーネントによってサポートされる機能を判定し、これらのコンポーネントの構成を指定することが可能になる。
図2に示された実施形態では、無線機構成および制御モジュール244は、無線機カード270上のハードウェアコンポーネントにもインターフェースする。図示の実施形態では、ハードウェア構成および制御モジュール280は、無線機構成および制御モジュール244とハードウェアデータプレーン290内のハードウェアコンポーネントとの間のインターフェースとして働く。無線機構成および制御モジュール244と制御モジュール280のハードウェア構成との間のインターフェースの特定の形は、本発明にとってクリティカルではない。しかし、図示の例では、インターフェースの形は、無線機カード270を実施する当事者に知らされ、標準コンピューターバス上で実施される。この形で、コンピューティングデバイス200を、バス260のフォーマットを使用する無線機構成および制御モジュール244へのインターフェースを実施することを選ぶ任意の適切なソースからの無線機カード270を使用して構成することができる。
ハードウェア構成および制御モジュール280を、任意の適切なハードウェアコンポーネントを使用して実施することができる。たとえば、ハードウェア構成および制御モジュール280を、無線機カード270に取り付けられたゲートアレイチップとして実施することができる。しかし、無線機カード270を、1つまたは複数の特定用途向け集積回路(ASIC)を使用して実施し、ハードウェア構成および制御モジュール280を、そのようなASICの1つまたは複数のセグメントとして実施することができる。
ハードウェア構成および制御モジュール280の特定の実施態様にかかわらず、図示の実施形態では、モジュール280は、コンポーネントを構成するか、これらのコンポーネントに関する機能情報または他のステータス情報を入手するかのいずれかに使用できるハードウェアデータプレーン290内のハードウェアコンポーネントへのインターフェースを提供する。たとえば、ハードウェア構成および制御モジュール280は、ハードウェアモジュール292、294、または296に関連する制御レジスタに値を書き込むことができる。逆に、ハードウェア構成および制御モジュール280は、これらのモジュールからステータスレジスタを読み取ることができる。ハードウェア構成および制御モジュール280とハードウェアデータプレーン290内のハードウェアコンポーネントとの間の特定のインターフェース機構にかかわらず、ハードウェア構成および制御モジュール280は、無線機構成および制御モジュール244に、およびハードウェアコンポーネントから入手されたステータスデータを提供することができ、無線機構成および制御モジュール244によって指定される構成をハードウェアコンポーネントに適用することができる。
無線機構成および制御モジュール244とハードウェアデータプレーン290内のハードウェアコンポーネントとの間で制御情報およびステータス情報を渡す際に、ハードウェア構成および制御モジュール280は、情報を変換するか、他の形で処理することができる。一例として、混合エレクトロニクスモジュール294は、構成入力として、送信されたデータを担持する信号に対して実行される周波数アップコンバージョンの量を指定する特定のディジタルコードを受け取ることができる。無線機構成および制御モジュール244は、混合エレクトロニクスモジュール294によって受け取られるものとは異なるフォーマットで周波数アップコンバージョンを指定することができる。そのシナリオでは、ハードウェア構成および制御モジュール280を、混合エレクトロニクスモジュール294の所望の動作パラメーターを無線機構成および制御モジュール244によって生成されたフォーマットで受け取り、これを所望の量の周波数アップコンバージョンを達成するために混合エレクトロニクスモジュール294によって適用できるフォーマットに変換するように構成することができる。
ハードウェアデータプレーン290およびソフトウェアデータプレーン220内のコンポーネントのそれぞれが実行するように構成される特定の機能は、ソフトウェア無線機の全体的な構成に依存するものとすることができる。図示の実施形態では、構成は、無線機によって実施される無線テクノロジーと、無線テクノロジーが動作のさまざまなパラメーターを有する場合に、任意の所与の時に実施のために選択される動作の特定のパラメーターとの両方によって駆動された。たとえば、Wi−Fiをサポートする無線機を、Wi−MAXなどの異なるテクノロジーをサポートする無線機と異なって構成することができる。さらに、Wi−Fiなどのいくつかの無線テクノロジーは、異なるデータレートをサポートし、あるいは使用中に変更できる他のパラメーターを有する。ソフトウェア無線機を実施するコンポーネントのうちの1つまたは複数を、Wi−Fi通信のためにサポートされるべきデータレートまたは他のパラメーターの値に依存して、異なって構成することができる。
制御プレーン240は、所望の無線テクノロジーおよび任意の時のその無線テクノロジーのパラメーターに基づいて、ソフトウェア無線機の特定の構成を判定する1つまたは複数のコンポーネントを含むことができる。図2に示された実施形態では、構成論理モジュール242が、その機能を実行する。構成論理モジュール242の特定の実施態様は、本発明にとってクリティカルではない。一例として、構成論理モジュール242を、コンピューティングデバイス200内のユーザーまたは他のコンポーネントから受け取られる1つまたは複数の入力および動作状態に関する情報に基づいて、ソフトウェアデータプレーン220およびハードウェアデータプレーン290のコンポーネントのそれぞれの任意の所与の時の特定の構成を判定するためにルールのセットを適用する、ルールエンジンとして実施することができる。しかし、構成論理モジュール242の特定の実施態様は、本発明にとってクリティカルではなく、任意の適切な実施態様を使用することができる。
構成論理モジュール242の特定の実施態様にかかわりなく、モジュール242は、任意の所与の時のソフトウェア無線機のハードウェアコンポーネントおよびソフトウェアコンポーネントの所望の構成を判定するのに使用される1つまたは複数のタイプの入力を受け取ることができる。図2の実施形態では、入力は、コグニティブモジュール252、オフロードエンジン246、およびプロファイルマネージャ248から構成論理モジュール242に供給される。
図示の実施形態では、プロファイルマネージャモジュール248は、ソフトウェア無線機によって実施される無線テクノロジーの仕様を構成論理モジュール242に供給する。この仕様は、ソフトウェアデータプレーン220およびハードウェアデータプレーン290内のコンポーネントによって集合的に実施される機能を定義することができる。これらの機能は、任意の適切な形で指定することができる。たとえば、機能を、ソフトウェアデータプレーン220およびハードウェアデータプレーン290内の1つまたは複数のコンポーネントの動作パラメーターを示すことによって指定することができる。その代わりにまたはそれに加えて、仕様は、ソフトウェアデータプレーン220内のモジュールのうちの1つまたは複数にコンポーネントとして追加できる実行可能コードを含むことができる。プロファイルマネージャモジュール248は、任意の適切な形で無線テクノロジーの仕様を入手することができる。図示の実施形態では、制御プレーン240は、1つまたは複数の無線テクノロジー仕様を含むプロファイルストア250を含む。プロファイルストア250は、コンピューティングデバイス200に関連するコンピューター記憶媒体内で実施することができる。図1に関連して説明したように、仕様132(図1)などの無線テクノロジーの仕様を、ネットワークを介してサーバーまたは他の適切なソースからダウンロードすることができる。しかし、プロファイルストア250内の無線テクノロジー仕様のソースおよびプロファイルストア250の特定の実施態様は、本発明にとってクリティカルではなく、任意の適切な機構を使用して、無線テクノロジー仕様を入手し、任意の所与の時の使用のために1つまたは複数の仕様を選択することができる。
無線テクノロジー仕様を構成論理モジュール242に供給することに加えて、プロファイルマネージャモジュール248は、任意の時にソフトウェア無線機によって実施すべき無線テクノロジーがどれであるかを示す入力を構成論理モジュール242に供給することができる。プロファイルマネージャモジュール248は、1つまたは複数のソースから受け取られた入力に基づいて、実施すべき無線テクノロジーの表示を提供することができる。たとえば、プロファイルマネージャモジュール248は、ユーザーがソフトウェア無線機による実施に関して無線テクノロジーを選択することを可能にするユーザーインターフェースを含むことができる。類似する入力を、その代わりにまたはそれに加えて、オペレーティングシステム212、アプリケーション214、グループポリシーサーバーからダウンロードされたコンピューター200上のグループポリシーストア、または任意の他の適切なソースから受け取ることができる。
構成論理モジュール242は、ソフトウェアデータプレーン220およびハードウェアデータプレーン290内のコンポーネントの所望の構成に関する入力をオフロードエンジンモジュール246から受け取ることもできる。図2に示されているように、無線機カード270は、オフロードハードウェアモジュール292を含むことができる。存在する時に、オフロードハードウェアモジュール292は、ソフトウェアデータプレーン220内のソフトウェアコンポーネントによっても実行できる機能を実行することができる。オフロードエンジンモジュール246は、オフロードハードウェアモジュール292によって出力される機能情報を受け取り、分析する。この機能情報を使用することによって、オフロードエンジンモジュール246は、無線テクノロジー仕様を分析して、無線テクノロジー仕様を実施するのに必要な機能のいずれかをオフロードハードウェアモジュール292内で実行できるかどうかを判定することができる。オフロードハードウェアモジュール292が、必要な機能のうちのいずれかをサポートする場合には、オフロードエンジンモジュール246は、ある種の機能をオフロードハードウェアモジュール292に割り当てることができることの表示を構成論理モジュール242に供給することができる。それに応答して、構成論理モジュール242は、適当な構成コマンドを生成し、これらの機能をオフロードハードウェアモジュール292内のコンポーネントによって実施させることができる。
いくつかの実施形態では、オフロードエンジンモジュール246は、ハードウェアコンポーネントがある種のデータ処理機能を実行するのに使用可能であることを構成論理モジュール242に示す前に、追加処理を実行することができる。たとえば、コンピューティングシステム200内のハードウェアが、1つまたは複数の形で制限されている場合があり、コンピューティングシステム200の全体的な動作が、いくつかの場合に、オフロードハードウェアモジュール292が同一の機能を実行できるコンポーネントを含む場合であってもそのデータ処理機能を実行するようにソフトウェアコンポーネントを構成することによって最適化される場合がある。
オフロードエンジンモジュール246は、任意の適切な形で実施することができる。たとえば、オフロードエンジンモジュール246を、ルールベースのテクノロジーを使用して実施することができる。
さらに、構成論理モジュール242は、構成論理モジュール242がソフトウェア無線機のハードウェアコンポーネントおよび/またはソフトウェアコンポーネント内で使用できるコグニティブモジュール252から入力を受け取ることができる。図示の実施形態では、コグニティブモジュール252は、ソフトウェア無線機を実施するハードウェアコンポーネントおよび/またはソフトウェアコンポーネントの動作に関するステータス情報を受け取る。このステータス情報に基づいて、コグニティブモジュール252は、適合がソフトウェア無線機の構成において必要であることを認識するための処理を実行することができる。いくつかの実施形態では、適合は、無線テクノロジー内の動作パラメーターを変更することを含むことができる。
たとえば、多くの無線テクノロジーは、複数の周波数での動作をサポートする。コンポーネントのうちの1つまたは複数によって出力されるステータス情報は、異なるチャネルを使用すべきであることをコグニティブモジュール252が識別することを可能にすることができる。たとえば、アンテナおよびRFエレクトロニクスモジュール296内のコンポーネントによって出力される受信された信号は、ある周波数が、ソフトウェア無線機によって現在使用されている周波数より少なく利用され、あるいはより少ない干渉を有することを示すことができる。このシナリオでは、コグニティブモジュール252は、異なる周波数がより信頼できる通信をもたらすはずであることを構成論理モジュール242に報告することができ、構成論理モジュール242は、周波数を変更するために、ソフトウェア無線機内のハードウェアコンポーネントまたはソフトウェアコンポーネントのうちの1つまたは複数に対する構成コマンドを生成することができる。
その代わりにまたはそれに加えて、コグニティブモジュール252は、無線テクノロジー内の他の適合を必要とする状態を識別することができる。たとえば、コグニティブモジュール252は、より低いまたはより高いのいずれかの送信パワーレベルが望ましいことを識別することができる。それに応答して、構成論理モジュール242は、異なるパワーレベルで送信するためにアンテナおよびRFエレクトロニクスモジュール296内の電力増幅器を構成するコマンドを生成することができる。
より一般的に、コグニティブモジュール252は、ソフトウェアデータプレーン220またはハードウェアデータプレーン290内の任意のコンポーネントからステータス情報を収集し、そのステータス情報に対して処理を実行して、適合を正当化する進行中の通信に関する状態を識別することができる。多くの場合に、ステータス情報は、測定された誤りまたは送信すべきデータの量など、通信に関係する。しかし、コグニティブモジュール252によって使用されるステータス情報が、そのように限定される必要はない。ステータス情報は、バッテリー寿命もしくはコンピューティングデバイス200に関する他の情報、または無線テクノロジーのパラメーターの選択もしくはセッティングに有用な他の入手可能な情報を含むことができる。
適合は、構成論理モジュール242が、ソフトウェア無線機によって実施される無線テクノロジーを変更せずに適合を引き起こすために、ソフトウェアデータプレーン220またはハードウェアデータプレーン290のいずれかの中のコンポーネントのうちの1つまたは複数を再構成するコマンドを発行することによって実施することができる。
コグニティブモジュール252は、同一の無線テクノロジー内の適合を識別することに限定されない。いくつかの実施形態では、コグニティブモジュール252を、異なる無線テクノロジーを使用して通信することによって効率的な通信を達成できることを認識するように構成することができる。そのような実施形態では、構成論理モジュール242は、異なる無線テクノロジーの仕様をプロファイルマネージャモジュール248から入手することができる。構成論理モジュール242は、異なる無線テクノロジーを使用して通信するためにソフトウェア無線機を再構成する構成コマンドを生成することができる。この形で、コンピューティングデバイス200を柔軟に制御して、無線テクノロジー内でまたは無線テクノロジーにまたがって適合することによって効率的な通信を実施することができる。
異なる無線テクノロジーへの適合が望まれる場合に、プロファイルマネージャ248は、プロファイルストア250から無線テクノロジー仕様を入手し、その仕様を構成論理242に提供することができる。仕様は、任意の適切な形でプロファイルストア250に格納することができる。図3に、一例として、プロファイルストア250の可能な実施態様を示す。
図3に示されているように、プロファイルストア250は、任意の適切なコンピューター記憶媒体内で実施することができる。たとえば、1つまたは複数の仕様を定義するデータを、コンピューター記憶媒体300上に記録することができる。図示の例では、それぞれが無線テクノロジーの仕様を定義する情報を格納する、レコード310、310、…310が示されている。
無線テクノロジーを定義する情報がレコード310、…310のそれぞれの中に格納される特定のフォーマットは、本発明にとってクリティカルではない。しかし、レコード310の例示的構造を示す。図3の例では、レコード310は、複数のフィールドを含み、各フィールドは、ソフトウェア無線機を構成する際に使用される情報を定義する。この例では、各レコードは、2つのタイプのフィールドを含む。フィールド320によって表される、一方のタイプのフィールドは、実行可能コードを識別する情報を含む。フィールド320内で識別される実行可能コードは、ソフトウェアデータプレーン220(図2)内のモジュールのいずれかの1つまたは複数のコンポーネントとすることができる。実行可能コードは、フィールド320内で任意の適切な形で識別することができる。たとえば、コンピューター実行可能命令を、レコード310の一部として格納することができる。もう1つの例として、フィールド320が、コンピューティングデバイス200(図2)内の他所に格納された実行可能コンポーネントのリストを含むことができる。可能な実施態様のさらなる例として、フィールド320は、そこから実行可能コンポーネントを入手できる、コンピューティングデバイス200の外部のストレージ位置への1つまたは複数のリンクを格納することができる。
さらに、レコード310は、ハードウェアデータプレーン290またはソフトウェアデータプレーン220(図2)内のハードウェアコンポーネントまたはソフトウェアコンポーネントを構成するためのパラメーターを格納する、フィールド322…322によって表される複数のフィールドを含んで図示されている。フィールド322…322内の情報は、フィールド322…322内の値が適用される特定のハードウェアコンポーネントまたはソフトウェアコンポーネントに依存するものとすることができる任意の適切な形で格納することができる。
図3に示された形の無線テクノロジー仕様を用いて、制御プレーン240内のコンポーネントは、実行可能コンポーネントを提供し、かつ/またはこれらのコンポーネントの動作パラメーターの値を指定することによって、ソフトウェア無線機を構成することができる。図4に、図3に示された形の1つまたは複数の仕様を適用することによって構成されたソフトウェア無線機内の例のモジュールを示す。
図4に、ソフトウェアデータプレーン220内のモジュールの例としてMACプロセスモジュール224を示す。しかし、いくつかの実施形態では、ソフトウェアデータプレーン220内のモジュールのそれぞれが、全体的に図4に示されたアーキテクチャーを有することができる。
図4は、MACプロセスモジュール224が、インターフェース228を含み、このインターフェース228を介して、無線機構成および制御モジュール244または任意の他の適切なコンポーネントが、そのモジュールを構成することができることを示す。インターフェース228を介して、実行可能コンポーネントをモジュール224に追加することができる。図4に示された動作状態では、実行可能コンポーネント452、452、452、および454が追加されている。
コンポーネント452…452のそれぞれは、任意の他の適切な形でプログラミングオブジェクトまたはコンポーネントを表すことができる。コンポーネント452…452のそれぞれは、モジュール224内で実行される機能のうちの1つまたは複数を実行することができる。モジュール224がMACプロセスを実行する例では、コンポーネントグループ450内のコンポーネントのそれぞれは、制御パケットへの応答またはフラグメント化された受信パケットのグループ化など、MACプロセスに関連する機能を実行することができる。しかし、コンポーネントグループ450内のコンポーネントの特定の個数および機能は、モジュール224の機能およびソフトウェア無線機がそれに関して構成された1つまたは複数の無線テクノロジーに依存するものとすることができる。
コンポーネント452…452が実施される特定のフォーマットは、本発明にとってクリティカルではないが、例の実施形態は、コンポーネントのそれぞれが同一の全般的フォーマットを有することができることを示す。図示の実施形態では、コンポーネントグループ450内のコンポーネントのそれぞれが、「プラグイン」として実施される。プラグインとして実施される時に、コンポーネント452…452のそれぞれは、コンピューティングデバイス200の他のコンポーネントがそのコンポーネントと相互作用することを可能にする、定義されたフォーマットの1つまたは複数のインターフェースを含む。この形で、ソフトウェア無線機によって実施すべき新しい機能が識別される時に、コンポーネントをコンポーネントグループ450にたやすく追加することができる。
一例として、無線テクノロジープロトコルは、頻繁に複数の改訂を受ける。改訂ごとに、改訂されたプロトコルを実施するのに必要な機能を実行する1つまたは複数のコンポーネントを生成することが望ましい場合がある。図4のアーキテクチャーによって提供される柔軟性を用いると、コンピューティングデバイス200を、そのプロトコルのために特に設計されていない場合であっても、変更されたプロトコルに従って動作するようにたやすく構成することができる。
プラグインとしての動作をサポートするために、コンポーネントグループ450内のコンポーネントのそれぞれは、1つまたは複数の定義済みインターフェースを実施することができる。図示の実施形態では、コンポーネントグループ450内のコンポーネントのそれぞれは、2つのインターフェースを実施する。コンポーネント451を例としてとると、インターフェース460およびインターフェース462が図示されている。インターフェース460は、データインターフェースとすることができ、インターフェース462は、制御インターフェースとすることができる。インターフェース460を介して、コンピューティングデバイス200内の他のコンポーネントは、処理のためにコンポーネント452にデータを供給することができる。その代わりにまたはそれに加えて、コンピューティングデバイス200内の他のコンポーネントは、コンポーネント452によって処理されたデータをインターフェース460を介して入手することができる。コンポーネント452のタイプおよび性質に応じて、オペレーティングシステム212、モジュール224内の他のコンポーネント、または他のモジュール内の他のコンポーネントは、インターフェース460を介してコンポーネント452とデータを交換することができる。
コンポーネント452は、制御インターフェース462をも含んで図示されている。図2の実施形態では、無線機構成および制御モジュール244は、インターフェース462を介して、コンポーネント452からステータス情報を受け取り、制御情報をコンポーネント252に供給することができる。たとえば、インターフェース462を介して、コンポーネント452は、コンポーネント452の動作の1つまたは複数の態様を指定するパラメーターの値を受け取ることができる。その代わりにまたはそれに加えて、コンポーネント452は、インターフェース462を使用して、ステータス情報を供給することができる。
いくつかの実施形態では、モジュール224内の機能性のすべてを、コンポーネントグループ450内のコンポーネントによって実施することができる。しかし、いくつかの実施形態では、モジュール224が、1つまたは複数の固定コンポーネント410を含むことができる。固定コンポーネント410は、任意の所与の時の無線機の特定の構成にかかわりなくモジュール224内に存在することができる。たとえば、固定コンポーネント410は、コンポーネントグループ450内のコンポーネントの動作を調整し、コンポーネントグループ450内のコンポーネントとコンピューティングデバイス200(図2)の他のコンポーネントとの間の相互作用を容易にし、あるいは、構成にかかわりなくモジュール224によって実行される機能を実行することができる。
図4に、図4のコンポーネント化されたアーキテクチャーを使用して実施できるさらなる特徴を示す。コンポーネントの一部またはすべては、これらのコンポーネントの有用性のいくつかの態様を制御するためにディジタル権利管理を組み込むことができる。図4の例では、コンポーネント452は、権利管理要素454によって象徴的に示されるように、ディジタル権利管理を含んで図示されている。権利管理要素454は、許可される条件の下を除いてコンポーネント452の実行を阻む、コンポーネント452に適用される暗号化機構を表すことができる。コンポーネント452の実行が許可される条件は、ディジタル権利管理の技術で既知のように、または任意の他の適切な形で定義することができる。一例として、条件を、時間に基づいて定義することができる。権利管理要素454は、事前定義の時間の後に、コンポーネント452の実行を阻むことができる。この機能を用いると、ソフトウェア無線機の機能を提供するコンポーネントを「リースする」ことができる。
その代わりに、権利管理要素454を使用して、コンポーネント452が実行を許可される他の条件を制御することができる。たとえば、コンポーネント452が、コンピューティングデバイス200のユーザーがネットワークまたは他のサービスへの加入を維持する間に限ってのみ実行を許可される場合がある。
図5Aに移ると、本発明の実施形態によるアーキテクチャーを使用するソフトウェア無線機を用いて実施できる機能のさらなる例を提供する。図5Aは、ソフトウェア無線機を、複数の無線テクノロジーを同時に使用する通信をサポートするように構成できることを示す。複数の無線テクノロジーは、実施される複数の無線テクノロジーのすべてによって集合的に実行されるすべての機能を実施するようにソフトウェア無線機のモジュールを構成することによって、同時にサポートすることができる。
図5Aの例では、1つまたは複数のアプリケーション514、514、および514が、無線通信用のデータを生成し、かつ/または消費する。アプリケーション514…514は、当技術分野で既知のスタック機構を使用して、オペレーティングシステムスタック512を介してソフトウェア無線機とインターフェースすることができる。しかし、図5Aの例では、アプリケーション514は、アプリケーション514とは異なる無線テクノロジーを使用して通信することができる。
オペレーティングシステムスタック512は、任意の適切なインターフェースを使用してソフトウェア無線機とインターフェースすることができる。しかし、従来のスタックインターフェースを使用することができる。したがって、パケット処理およびセキュリティモジュール222は、スタックインターフェース520を有して図示され、スタックインターフェース520は、当技術分野で既知のように実施することができる。しかし、パケット処理およびセキュリティモジュール222が異なる無線テクノロジーを使用する接続のために異なるタイプの接続情報を格納する範囲で、2つのコンポーネントを、アプリケーション514および514によって使用される無線テクノロジーの接続情報を格納するために、パケット処理およびセキュリティモジュール222内に含めることができる。したがって、図5Aは、2つの無線テクノロジーの接続情報を格納するコンポーネント522Aおよび552Bを示す。
さらに、MACプロセスモジュール224も、2つの無線テクノロジーを実施するためにコンポーネントを含むことができる。この例では、コンポーネント530Aが、アプリケーション514によって使用される無線テクノロジーを実施して図示され、コンポーネント530Bが、アプリケーション514によって使用される無線テクノロジーを実施して図示されている。
同様に、ベースバンドプロセスモジュール226Aは、それぞれアプリケーション514および514によって使用される無線テクノロジーの機能を実施するコンポーネント540Aおよび540Bを含んで図示されている。
図示の実施形態では、ハードウェア550は、コンポーネント540Aおよび540Bの両方とインターフェースして図示されている。ハードウェア550は、2つの無線テクノロジーのデータの処理を同時にサポートするのに十分なコンポーネントを含むことができる。多重化コンポーネント552を、ハードウェア550へのインターフェースを提供するために組み込むことができる。多重化コンポーネント552は、いくつかのインターバルにアプリケーション514の無線テクノロジーに従ってデータを渡し、他のインターバルにアプリケーション514によって使用される無線テクノロジーのデータを渡す、時分割多重化方式に従って動作することができる。時間多重化される時に、ハードウェア550の動作は、無線機が両方の無線テクノロジーを同時にサポートすると考えることができるのに十分に高いレートで、異なる無線テクノロジーのデータ処理の間で切り替えることができる。
図5Bに、2つの無線テクノロジーが順次サポートされる代替の動作シーケンスを示す。図5Aの例と同様に、図5Bは、オペレーティングシステムスタック512を介して無線で通信するアプリケーション514…514を示す。オペレーティングシステムスタック512は、パケット処理セキュリティモジュール222B内のスタックインターフェースモジュールコンポーネント520とインターフェースする。アプリケーション514…514が他のデバイス内の他のコンポーネントと共に無線テクノロジーを使用して形成した接続に関して情報が維持される範囲で、その情報を、接続情報コンポーネント522内で維持することができる。
第1の時に、図5Bに示されたソフトウェア無線機を、第1無線テクノロジーを使用して通信するように構成することができる。第1無線テクノロジーを用いる通信をサポートするために、MACプロセスモジュール224Bを、第1の時にコンポーネント530Aを用いて構成することができる。同様に、ベースバンドプロセスモジュール226Bを、第1無線テクノロジーを使用する無線通信をサポートするために、コンポーネント542Aを用いて構成することができる。
後の時に、無線機を、第2無線テクノロジーに従う動作のために再構成することができる。再構成は、任意の適切な理由のために行うことができる。たとえば、コグニティブモジュール252(図2)が、第1無線テクノロジーによる通信を途絶させる干渉の源を検出する場合がある。それに応答して、構成論理モジュール242(図2)が、第2無線テクノロジーを使用する通信のためにソフトウェア無線機を再構成することができる。この再構成は、たとえば、コンポーネント530Bを用いてMACプロセスモジュール224Bを構成し、コンポーネント542Bを用いてベースバンドプロセスモジュール226Bを再構成することによって達成することができる。したがって、第2の瞬間に、通信を、第2無線テクノロジーを使用して達成することができる。
図5Bは、第1無線テクノロジーから第2無線テクノロジーへのすべての切替を示し、データプレーン220(図2)内のモジュールのいくつかの動作が変化する。しかし、パケット処理およびセキュリティモジュール222Bは、再構成されなかった。したがって、接続情報コンポーネント522内で維持される接続情報は、再構成の結果として変更されなかった。したがって、ソフトウェア無線機は、異なる無線テクノロジーを使用して通信するが、アプリケーション514…514によって確立されたすべての通信を、維持することができる。
上で説明したプロファイルの間の切替を、任意の適切な形で発生するように制御することができる。しかし、上で説明したソフトウェア無線機によって提供される柔軟性は、無線機の「コグニティブ」制御を可能にする。コグニティブ制御は、無線機の動作を、通信が発生する時に収集されるステータス情報に基づいて制御することを可能にする。ステータス情報は、進行中の通信に関係するものとすることができ、あるいは、ステータス情報が以前にそれに関して格納された完了した通信に関係するものとすることができる。ステータス情報は、任意の適切な形で使用することができる。たとえば、ステータス情報を使用して、通信の誤りに寄与する現在の動作状態を識別することができる。その代わりに、ステータス情報を使用して、無線機内の制御コンポーネントが、通信の誤りに寄与している特定の条件を矯正する適当な適合を識別し、実施することを可能にすることができる。
コグニティブ制御は、データ処理コンポーネントと制御コンポーネントとの間のフィードバック経路によって容易にすることができる。図6に、そのようなフィードバック経路を含む無線機のコンポーネントを示す。図6に示されたコンポーネントは、図2に関連して上で説明したソフトウェア無線機を形成するハードウェアコンポーネントおよびソフトウェアコンポーネントの組み合わせとすることができる。しかし、任意の適切なコンポーネントを使用して、本発明の実施形態による無線機を形成することができる。
図6は、コンポーネントがデータプレーン620および制御プレーン640に編成されることを示す。任意の適切なコンポーネントを、データプレーン620または制御プレーン640に含めることができる。図示の実施形態では、制御プレーン640は、構成論理242およびコグニティブモジュール252を含む。制御プレーンのこれらのコンポーネントは、図2の実施形態に関連して上で説明したものとすることができる。しかし、これらのコンポーネントを、任意の適切な形で実施することができる。
図6の例示的実施形態では、データプレーン620は、誤り訂正符号器622、変調器624、RF送信コンポーネント626、アンテナ628、RF受信コンポーネント630、復調器632、および誤り訂正復号器634を含む。データプレーン620のコンポーネントを、図2に関連して上で説明した実施形態のように実施することもできる。したがって、誤り訂正符号器622、変調器624、および誤り訂正復号器634を、ソフトウェアコンポーネントとすることができる。送信RFコンポーネント622、RF受信コンポーネント630、およびアンテナ628は、ハードウェアコンポーネントとすることができる。
コンポーネントのそれぞれがどのように実施されるかにかかわりなく、コンポーネントの一部またはすべてが、制御プレーン640内のコンポーネントとインターフェースすることができる。そのようなインターフェースは、任意の適切な形で提供することができる。たとえば、インターフェース228、228、または228(図2)の形のインターフェースを使用することができる。図示の実施形態では、インターフェースは、データプレーン620内のコンポーネントのそれぞれが、構成論理242から制御情報を受け取り、コグニティブモジュール252にステータス情報を供給することを可能にする。
データプレーン620内のコンポーネントのすべてが制御情報を受け取ることまたはそのすべてがステータス情報を生成することは、必要ではない。それでも、データプレーン620と制御プレーン640との間にあるいくつかの制御接続およびステータス接続を組み込むことによって、ある形のフィードバックループを実施することができる。データプレーン620内のコンポーネントによって生成されたステータス情報を、制御プレーン640内のコンポーネントのうちの1つまたは複数に供給することができる。制御プレーン内のコンポーネントは、ステータス情報を処理して、無線機がより効果的な通信のために適合すべき状態を識別することができる。次いで、制御プレーン640のコンポーネントは、無線機内の処理をこれらの条件に適合させるために、データプレーン620内のコンポーネントに対する適当な調整を判定することができる。データプレーン620内のコンポーネントから使用可能とすることのできるステータス情報の範囲のゆえに、この適合を、コグニティブに行うことができる。
データプレーン620内のコンポーネントによって実行される特定の機能は、本発明にとって非常に重要ではない。図示の実施形態では、コンポーネントのそれぞれが、当技術分野で既知の機能を実行することができる。たとえば、誤り訂正符号器622は、送信のためにビットのグループを受け取ることができる。符号器622は、ビットの各グループを、1つまたは複数の誤り訂正ビットを含むビットの新しいグループにマッピングすることができる。
変調器624は、誤り訂正符号器622によって形成されたビットのグループを受け取り、そのグループを記号のストリームにマッピングすることができる。各記号は、変調器624内で指定される変調パラメーターの組合せに基づいて複数のビットを通信することができる。特定の例として、変調器624は、各記号を位相値および周波数値の組合せにマッピングすることができる。しかし、各記号を表すために変調器624によって変更される特定のパラメーターは、本発明にとってクリティカルではない。位相、周波数、または振幅を含む任意の1つまたは複数の送信パラメーターを変更することができる。さらに、変調器624は、任意の個数の記号を表すことができる変調方式を作成するために、これらのパラメーターのそれぞれについて任意の個数の値を指定することができる。
記号ごとに変調器624によって指定される送信パラメーターの個数およびタイプにかかわりなく、指定される送信パラメーターを、RF送信コンポーネント626に供給することができる。RF送信コンポーネント626は、変調器624によって指定されたパラメーターに従ってRF信号を送信できる、当技術分野で既知の送信コンポーネントとすることができる。RF送信コンポーネント622によって生成されたRF信号を、アンテナ628に結合することができ、アンテナ628は、別のデバイス(図示せず)との通信の一部として、チャネルを介してRF信号を放射することができる。
アンテナ628は、当技術分野で既知のアンテナとすることができる。アンテナ628は、RF信号の送信と受信との両方を行うことができる。いくつかの実施形態では、アンテナ628を、アンテナのセットとして実施することができるが、別々のアンテナを、送信信号および受信信号に使用することができる。
RF信号の受信に使用される特定のアンテナにかかわりなく、受信された信号を、RF受信コンポーネント630に結合することができる。RF受信コンポーネント630は、当技術分野で既知のRFコンポーネントとすることができる。そのようなコンポーネントは、受信されたRF信号の検出された特性を出力することができる。出力特性は、変調器624によって指定されるものと同一とすることができる。たとえば、RF受信コンポーネント630は、受信されたRF信号の位相、周波数、もしくは振幅、またはパラメーターの任意の組合せを検出することができる。
RF受信コンポーネント630の出力を、復調器632に供給することができる。いくつかの実施形態では、復調器632は、変調器624の逆の動作を実行する、当技術分野で既知のコンポーネントとすることができる。したがって、復調器632は、RF受信コンポーネント630からの受信されたパラメーターを、変調方式に従って記号に変換することができる。
復調器632は、記号情報を誤り訂正復号器634に転送することができる。誤り訂正復号器634は、符号器622によって実行される符号化動作の逆を実行する、当技術分野で既知のコンポーネントとすることができる。誤り訂正ビットを追加するのではなく、誤り訂正復号器634は、誤り訂正ビットを含む、復調器632によって出力されたビットのグループを処理して、受信された信号の伝搬中に誤りが発生したかどうかを判定する。そうである場合には、誤り訂正復号器634は、誤り訂正ビットを使用して、その誤りを訂正することができる。その後、誤り訂正復号器634は、図6の無線機によって受信されたデータを表すビットのストリームを出力することができる。図6は、送信用のデータを生成するか、受信されたデータを使用するコンポーネントを明白には示さないが、データを、任意の適切なコンポーネントから入手し、または任意の適切なコンポーネントに供給することができる。図2の例では、データは、オペレーティングシステム212(図2)またはアプリケーション214(図2)のいずれかによって生成され、これに供給される。しかし、データのソースまたは宛先は、本発明にとってクリティカルではなく、図6の例示的無線機を、任意の適切なコンポーネントに関連して使用することができる。
データプレーン620内のコンポーネントのそれぞれは、データを無線で送信しまたは受信する際に当技術分野で既知の機能を実行することができるが、コンポーネントのそれぞれを、ステータス情報を提供しまたは制御情報を受信し、本発明の実施形態に従ってフィードバックループ内でコンポーネントを構成することを可能にするように構成することができる。たとえば、誤り訂正復号器634を、誤り訂正コーディングを使用して、訂正される誤りの数を、受信された伝送ごとに識別するコグニティブモジュール252にステータス情報を供給するように構成することができる。同様に、復調器コンポーネント632を、ひずみベクトルなどのステータス情報を提供するように構成することができる。ひずみベクトルは、受信された記号ごとに、検出されたRFパラメーターの特定の組合せと有効な記号の公称値を表すパラメーターの組合せとの間の差の度合を示す。RF受信コンポーネント630も、ステータス情報を提供することができる。たとえば、RF受信コンポーネント630は、受信信号強度インジケータまたは、無線でデータを送信するか受信するのに使用される通信チャネルに現在存在する状態を識別するかこれに適合するためにコグニティブモジュール252内で使用できる他のステータス情報を提供することができる。
データプレーン620内のコンポーネントのうちの1つまたは複数は、コグニティブモジュール252によって識別されたチャネル状態に適合するためにコンポーネントを制御するのに使用できる制御入力をも受け取ることができる。たとえば、誤り訂正符号器コンポーネント622は、データビットに対する誤り訂正ビットの比率を変更する制御入力を受け取ることができる。当技術分野で既知のとおり、データビットに対する誤り訂正ビットの比率は、伝送で訂正できるビット誤りの個数に影響し得る。この比率を高めることによって、無線機は、より高い誤り率を引き起こすチャネル状態に適合することができる。同様に、変調器コンポーネント624は、制御入力を有することができる。この制御入力の値に応答して、変調器624は、それが使用する変調方式のタイプまたはそれが使用する一意の記号の個数を変更することができる。変調器624によって使用される一意の記号の個数を減らすと、データ伝送レートが下がる可能性があるが、伝送で発生する誤りの個数の対応する減少がある可能性があり、正味の結果は、伝送の有効性の向上になる。同様に、RF送信コンポーネント626は、制御入力を含むことができる。その制御入力の値に応答して、RF送信コンポーネント626は、送信パワーレベルまたはRF送信の他のパラメーターを変更することができる。
図6は、コグニティブ無線機内に存在し得るコンポーネントのサブセットのみを示すが、この図は、コグニティブモジュール252にステータス情報を供給することと、データプレーン620内のコンポーネントのうちの1つまたは複数に制御情報を供給することとによって、1つまたは複数のフィードバック経路を作成できることを示す。
図7A、7B、および7Cに、ステータス情報を生成するためにデータプレーン620内のコンポーネントのうちの1つまたは複数によって測定できるパラメーターを示す。図7Aは、送信される情報を表すためにRF信号の2つのパラメーターを変更できる変調方式による伝送を示す。この例では、2つのパラメーターは、2次元座標系でグラフ的に示されている。各軸は、パラメーターのうちの1つを表すことができる。各パラメーターは、たとえば、位相、周波数、振幅、または任意の他の使用可能なパラメーターとすることができる。図7Aの例では、それぞれが1つの記号に対応する、このパラメータープロットの8つの領域が示されている。これらの領域は、S…Sと識別される。たとえば、点Rは、ある受信信号のパラメーター1およびパラメーター2の値を表すことができる。図7Aに示されているように、点Rは、領域Sに含まれる。したがって、復調器コンポーネント632は、パラメーター値Rを有する受信信号を記号Sにマッピングすることができる。類似するマッピングを、他の領域S…Sのいずれに関連しても行うことができる。
いくつかの場合に、伝送におけるひずみまたは他の誤りのゆえに、受信信号が、記号の公称パラメーター値を表す領域S…Sのうちの1つの中に正確に含まれる変調されたパラメーターの値を有しない。公称領域と実際の受信された値との間の差を、ひずみベクトルとみなすことができる。図7Bに、領域Sに関連する範囲に近くであるがその外に含まれる受信信号のパラメーター値Rを示す。したがって、図7Bは、受信された値と、許容される記号を表す値の公称セットに対応する領域との間の差を表すひずみベクトルXを示す。図7Aおよび7Bの比較は、ステータス情報を生成するためにデータプレーン620(図6)内で行うことができる測定を示す。
図7Aおよび7Bのそれぞれに、8つの異なる記号の変調パラメーターの公称値に対応する8つの領域が示されている。したがって、各記号を、3ビットまでの情報にマッピングすることができる。図7Aと7Bとの両方で、受信された値は、領域Sに最も近いので、受信された値を、領域Sに関連するビットパターンにマッピングすることができる。この例では、ビット値001が、領域Sにマッピングされる。しかし、領域とビット値との間の特定のマッピングは、本発明にとってクリティカルではなく、任意の適切なマッピングを使用することができる。
図7Aおよび7Bは、受信信号が同一の記号値にマッピングされる2つのステータスを示すが、追加のステータス情報が使用可能である。図7Aに示された動作状態の下で、受信された値は、領域Sに含まれる。したがって、復調器コンポーネント632(図6)または他の適切なコンポーネントは、受信された情報が有効な記号に対応することを認識することができ、有効ビットVには、1の値がセットされる。対照的に、図7Bは、受信されたRF信号のパラメーター1および2の値が、有効な記号に関連する定義された公称領域のすべての外に含まれることを示す。領域Sへの受信された値Rの近さに基づいて、復調器は、受信された記号を001として識別することができる。受信された値は、すべての公称領域の外にあるので、復調器は、有効ビットVに0をセットすることによって、受信されたパラメーターが公称領域の外にあることの表示をも生成することができる。したがって、有効ビットVは、復調器コンポーネント632(図6)によってコグニティブモジュール252に供給されるステータス情報の1つとすることができる。
図7Aおよび7Bは、復調器コンポーネントまたはコグニティブ無線機内の他の適切なコンポーネントによって生成できる第2のタイプのステータス情報をも示す。図7Bでは、Rによって表される受信信号のパラメーター1およびパラメーター2の値が、最も近い領域Sから距離Xだけ離れている。この距離は、ひずみベクトルを表すことができる。したがって、図7Bは、Xの値を有するひずみベクトルDを示す。対照的に、図7Aは、受信信号が、領域S内に含まれるパラメーター1およびパラメーター2の値と、0の値を有するひずみベクトルDとを有することを示す。その一方で、図7Cは、図7Bより大きいひずみベクトルを有する、Rによって識別されるパラメーター1およびパラメーター2の値を有する受信信号を示す。図7Cの例では、Rは、公称記号値Sの最も近い領域から距離Yだけ離れており、Yの値を有するひずみベクトルDが作成される。
図7A、7B、および7Cの例のそれぞれでは、受信された値がビットのセットB=001にマッピングされるが、追加の情報が、受信信号を処理するコンポーネントにとって使用可能である。上で説明したように、有効ビットVを使用して、誤り状態を示すことができる。同様に、ひずみベクトルDを使用して、存在する誤り状態の存在と大きさとの両方を示すことができる。
これおよび他のステータス情報を使用して、誤りを誘導する可能性があるチャネル状態にかかわらず、より効率的な通信を提供するための適合を識別することができる。コグニティブモジュール252は、ステータス情報を処理して、適合できる誤り状態を示すステータス値のパターンを識別することができる。このパターンは、ステータス変数の単一の値、単一のステータス変数の値の傾向、複数のステータスパラメーターの値の間の相関、またはステータス値の任意の他の適切な組合せに基づくものとすることができる。このパターンは、過去のまたは現在の情報に関係するものとすることができる。特定の例として、誤り訂正復号器634は、ビット誤りが受信信号内で訂正されるレートを示すステータス値を出力することができる。高いレートの誤り訂正は、適合が望ましいか必要であるチャネル状態を示すことができる。その代わりに、ビット誤りが訂正されるレートの経時的な増加を示す傾向は、劣化しつつあるチャネル状態を示すことができる。コグニティブモジュール252は、この情報を使用して、その時までに適合が必要になる時を予測し、適当な時に適合の表示を生成することができる。コグニティブモジュール252は、誤りレベルが増加するレートに基づいて、または任意の他の適切な使用可能な情報に基づいて、適当な時を識別することができる。
もう1つの例として、コグニティブモジュール252は、ステータス値の組合せに基づいて、適合の必要を識別することができる。たとえば、RF受信コンポーネント630からのステータス情報は、高い受信信号強度を示すことができ、復調器コンポーネント632、誤り訂正復号器634、またはコグニティブ無線機内の他のより高いレベルのコンポーネントのいずれかからの情報は、伝送に関する高い誤り率を示すことができる。高い受信信号強度は、一般に、低い誤り率に関連するので、コグニティブモジュール252は、高い誤り率に相関する高い受信信号強度がある時に、例外的な動作状態を識別することができる。そのような例外的な動作状態は、たとえば、無線通信に使用されているチャネルとオーバーラップする周波数スペクトル内の干渉の源に関連する場合がある。それに応答して、コグニティブモジュール252は、異なる周波数スペクトルを使用する無線テクノロジーを用いる伝送のためにコグニティブ無線機を再構成することを伴う適合をシグナリングすることができる。
無線機を再構成することが必要または望ましいかどうかを識別するためにコグニティブモジュール252によって使用される特定のステータス情報にかかわりなく、任意の適切な再構成を使用して、通信を途絶させる状態に適合することができる。図8Aに、可能な再構成の例を示す。図8Aは、図7Aと同様に、受信信号の2つのパラメーターの公称値に関連する領域を示す。しかし、図8Aは、4つの公称領域S…Sだけが示されているという点で、図7Aとは異なる。図8Aにはより少数の領域が示されているので、領域のそれぞれをより大きくすることができる。その結果、Rによって示されるパラメーター値の組合せを有する受信信号は、図8Aの例では公称領域Sに含まれるが、値の同一の組合せが、図7Aでは公称領域S…Sのすべての外になる。さらに、公称領域S…Sの間の分離は、図7Aに示された公称領域S…Sの間の分離より大きい。したがって、信号がひずんでいる場合であっても、ひずみが、実際の受信信号に不正な記号を表す公称領域に関連させる可能性は、より低い。図8Aに示されているように、変調器コンポーネント624への制御入力の値を変更することによって、より少数の公称信号値を使用することができる。対応する変更を、復調器コンポーネント632に対して行うことができる。図8Aに示されているようにいくつかの公称領域を減らすことの結果は、記号あたりのビット数が減ることである。たとえば、図8Aでは、受信信号が領域Sに含まれる場合に、ビット値B=01を割り当てることができる。
4つの可能な値だけを、4つの領域によって識別することができるので、2ビットの情報だけが伝えられる。対照的に、図7Aに示された8つの可能な公称領域は、1つの記号で3ビットの情報を表すことを可能にする。記号あたりのビット数を減らす適合は、相殺する効果を有する可能性があるので、コグニティブモジュール252は、すべての使用可能な情報を使用して、そのような適合が望ましいかどうかを判定することができる。そのような情報は、そのような適合が以前に試みられた状態と、その適合が通信の全体的な有効性を改善したか否かに関する格納された情報を含むことができる。したがって、ヒストリカル情報および任意の他の適切な使用可能な情報をコグニティブモジュール252によって使用して、適合を行うべきかどうかと、行うべき適合の特定のタイプとの両方を識別することができる。
図8Bは、行うことのできるもう1つの可能な適合を示す。図8Aと同様に、公称領域の個数は、図7Aと比較して減らされている。図8Bは、5つの公称領域を示す。この例では、公称領域のそれぞれが、図7Aに示されたタイプの2つの公称領域の共通部分をとることによって形成される。したがって、公称領域のそれぞれは、図7A…7Cおよび8Aに示されているように全体的に円形であるのではなく、より全体的に8の字として形成される。したがって、図8Bは、ある範囲の適合が、パラメーター値と記号との間のマッピングの変更において可能であることを示す。
図8Bでは、5つの公称領域が、2.25ビットの情報を表す。したがって、図8Bは、指定された変調方式が、2の倍数である記号あたりのいくつかのビットを有する必要がないことをも示す。
図9Aおよび9Bに、行うことができる適合のもう1つの形を示す。図9Aおよび9Bは、受信された記号または記号のグループと出力データ値との間の異なるマッピングを示す。そのようなマッピングは、誤り訂正復号器634またはコグニティブ無線機内の任意の他の適切なコンポーネントによって実行することができる。マッピングは、コンピューター可読媒体810に格納されるか任意の他の適切な形でコンピューティングデバイスに組み込まれるデータ構造内の値によって表すことができる。図9Aの例では、8つの記号値820…820は、それぞれ、822…822によって表される出力データビットにマッピングされる。図9Aからわかるように、記号値と出力データビットとの間に1対1対応はない。そうではなく、図示の例では、2つの記号値が、出力データビットの各グループにマッピングされる。たとえば、記号値820および820は、出力ビット822にマッピングされる。記号値820および820は、出力ビット822にマッピングされる。記号値820および820は、出力ビット822にマッピングされ、記号値820および820は、出力ビット822にマッピングされる。可能な記号値の全範囲が、出力ビットの4つの組合せのみにマッピングされるので、出力データは、図9Aに示されているように2つの出力ビットのみによって表される。
各記号によって表される出力データビット数のこの減少は、誤り訂正を可能にする。たとえば、記号値のうちの一部だけを送信することができる。この例では、記号値820、820、820、および820だけが、許容可能な送信される記号値を表すことができる。他の記号値820、820、820、または820のいずれかが受信される場合には、誤り訂正復号器は、誤りが発生したことを識別でき、それを訂正することもできる。たとえば、記号820が受信される場合に、誤り訂正復号器は、誤りが発生したことを識別でき、受信された記号を出力データ値822にマッピングすることによってそれを訂正することができ、この出力データ値822は、そのデータ値が送信された記号に最も近いものを表すので、正しいデータ値である可能性が最も高い。記号820、820、または820が受信される場合に、誤りを、同様に検出し、訂正することができる。
図9Bは、受信された記号と出力データビットとの間のマッピングを変更することによって、適合を行うことができることを示す。図9Aおよび9Bは、単純な誤り訂正符号を表すが、これらは、誤り検出および訂正に振り向けられるビット数を増やすことが、情報が正しく受信される尤度を改善できることを示す。図9Bの例では、16個の記号値、860…86016が示されている。16個の記号値は、図7A、7B、または7Cに示された、パラメーター空間内の16個の異なる公称変調領域に対応することができる。その代わりに、図9Bに示された16個の記号値が、記号あたり2ビットが符号化される図8Aに示された変調方式を使用して受信された2つの連続する記号の値を表すことができる。
記号860…86016を表す値がどのように生成されるかにかかわりなく、図9Bは、4つの別々の記号値が、出力ビットの各組合せに突き合わされることを示す。たとえば、記号860…860は、出力ビット862にマッピングされる。記号860…860は、出力ビット862にマッピングされる。残りの記号860…8606は、類似する形で出力ビット862および862にマッピングされる。各ケースで、4つの記号が出力データビットの1セットにマッピングされる。図9Bの例では、記号データの4つのビットが、出力データの2つのビットにマッピングされる。そのような状態は、2ビットの誤り訂正を伴う単純な誤り訂正符号を示す。対照的に、図9Aの例では、3ビット記号が、出力データの2つのビットにマッピングされる。したがって、図9Aは、1ビット誤り訂正符号の単純な例を示す。図9Bに示されているように誤り訂正により多くのビットを使用すると、いくつかの動作状態の下で、より少数の受信信号を誤りのゆえに無視する必要があるので、通信の有効性が高まる。本発明の実施形態によれば、コグニティブモジュール252は、データプレーン620内の1つまたは複数のコンポーネントによって供給されるステータス情報に基づいて、使用される誤り訂正ビットの個数の変更が通信の有効性を高めることができる状態を検出することができる。そのような判定に応答して、コグニティブモジュール252は、使用中の誤り訂正ビットの個数を変更するために、誤り訂正符号器620および/または誤り訂正復号器634へのコマンドを生成するように構成論理242をトリガーすることができる。
図8A、8Bならびに9Aおよび9Bは、ステータス情報に基づいて行うことができる可能な適合を示す。使用可能なステータス情報の特定のタイプおよびそのステータス情報内で検出されたパターンに応答して行われる特定の適合にかかわりなく、本発明の実施形態によるコグニティブ無線機を、図10に示された通信の処理に使用することができる。
図10の処理は、ブロック1010で開始される。ブロック1010では、コグニティブ無線機を通信のために構成することができる。図2に示された形の無線機について、無線機を、プロファイルストア250からの第1プロファイルを適用することによって構成することができる。しかし、それによって初期構成が選択され、ブロック1010で適用される特定の機構は、本発明にとってクリティカルではない。
プロファイルのそれぞれに格納することができる、上で説明した情報のほかに、コグニティブ無線機のプロファイルは、その下で適合を行うことができる誤り状態を識別する情報を含むことができる。誤り状態は、しきい値、パターン、または任意の他の適切な形で表すことができる。
無線機を構成した後に、処理はブロック1012に進む。ブロック1012では、無線機を、定義されたプロファイルに従って通信に使用する。ブロック1012での通信の一部として、ステータス情報を生成し、分析することができる。たとえば、進行中の通信の一部として収集できる情報の1タイプが、図7A、7B、および7Cに関連して示した有効ビットVである。受信される記号ごとに、処理は、分岐ブロック1014で、記号に関連する有効ビットの値に基づいて分岐することができる。受信された記号に関連する有効ビットが、その記号が信頼できることを示す場合には、処理は、ブロック1016に分岐することができる。
記号が信頼できると思われる場合には、ブロック1016での処理は、信頼できる記号のカウントを更新することができる。信頼できる記号のカウントの更新は、コンピューター可読媒体に格納されたデータ構造内の値を変更することを含むことができ、あるいは、任意の他の形で実行することができる。信頼できる記号のカウントの格納は、ヒストリカルステータス情報を記録するのに使用できる機構の例である。
その後、この処理は、判断ブロック1020に進むことができる。判断ブロック1020では、この処理は、適合が無線機に以前に適用され、その適合が適用された時以降の無線機の性能に基づいてその適合を有効と考えることができるかどうかに依存して、分岐することができる。適合が有効であったことを識別する処理は、任意の適切な形で実行することができる。この処理は、以前の適合の性質または以前の適合をトリガーした状態の性質に依存するものとすることができる。たとえば、以前の適合が、高い誤り率によってトリガーされた場合には、ブロック1020での処理は、適合の後に誤り率が許容できるレベルまで下がったかどうかのチェックを含むことができる。
有効な適合がブロック1020でどのように識別されるかにかかわりなく、以前の適合が有効と考えられる場合には、この処理はブロック1022に分岐する。ブロック1022では、有効な適合に関する情報を記録する。ブロック1022での処理は、不揮発性コンピューター可読媒体に情報を書き込むこと、または任意の他の適切な形で記録を行うことを含むことができる。ブロック1022で記録される情報のタイプは、実行される適合の性質、適合をトリガーした状態、適合が有効であったかどうかを査定する処理、または任意の他の適切なタイプの情報に依存するものとすることができる。しきい値を超える誤り率に応答して実行される適合の例では、ブロック1022で記録される情報は、適合の後の誤り率の減少の量を示すことができる。
ブロック1022で以前の適合に関する情報を記録した後に、この処理は、ブロック2012にループバックすることができ、ここで、通信が継続される。以前の適合が有効ではなかったか、以前に適合が実行されなかった場合には、処理は、やはり判断ブロック1020からブロック1012にループバックすることができる。判断ブロック1020からブロック1012にループバックする際に、図10の例の実施形態は、有効でない適合の情報が格納されることを示さない。しかし、有効な適合と有効でない適合との両方に関する情報が格納される、本発明の実施形態を構成することができる。したがって、本発明は、図10に示された特定の実施形態に限定されない。
図10の流れ図は、他の動作状態データどられ得る他の経路を示す。これらの経路は、異なる動作状態に応答して異なる処理を実行できることを示す。たとえば、受信された記号が信頼できると考えられない場合には、この処理は、判断ブロック1014からブロック1030に分岐することができる。ブロック1030では、信頼できない記号のカウントを更新することができる。ブロック1016および1030で格納されるカウントを一緒に使用して、ステータスインジケータの値を判定することができる。この例では、受信された信頼できる記号と信頼できない記号との間で比を形成して、適合を必要とするチャネル状態を示すことができるステータス値を作ることができる。
信頼できない記号に従う処理は、ブロック1032でひずみベクトルを測定することをも含むことができる。ひずみベクトルは、任意の適切な形で測定することができる。いくつかの実施形態では、図7Bおよび7Cで示したように、復調器によってひずみベクトルを測定することができる。
ひずみベクトルがどのように測定されるかにかかわりなく、この処理は、ブロック1034に進むことができ、ここで、以前に格納されたひずみ統計を更新する。ブロック1034での処理は、任意の適切な形で実行することができる。例として、適切なタイムインターバルにわたって判定されたひずみベクトルの大きさのローリングアベレージ(rolling average)を、各新しいひずみベクトルが供給される時に計算することができる。更新されたローリングアベレージを、ブロック1034で格納することができる。平均値に加えて、測定されたひずみの分散または他のより高水準の統計を計算し、格納することができる。これらの値を、後の処理で使用して、適合の必要または適当な形の適合のいずれかを識別することができる。
他のステータス情報を格納することもできる。図10の例では、処理は、ブロック1036に進み、ここで、誤り訂正統計を格納する。当技術分野で既知のとおり、誤り訂正符号は、複数ビット誤りの訂正を可能にすることができる。復号器634(図6)などの誤り訂正復号器は、誤り訂正符号を適用する過程で、発生したいくつかのビット誤りを判定することができる。これらの誤りが発生しているレートを、ブロック1036で、メモリ構造または他の適切なコンピューター可読媒体に記録することができる。訂正された誤りの個数に関する情報を、任意の適切な形で格納することができる。たとえば、誤りに関する統計情報を、ある瞬間のレートとして格納することができる。その代わりに、誤り率のローリングアベレージを、各記号が処理される時にコンピューター可読媒体に格納することができる。その代わりにまたはそれに加えて、誤り率から計算された分散または他のより高水準の統計を、ブロック1036で格納することができる。
図9Aおよび9Bは、ビット誤りを検出するのに使用される誤り訂正コーディングを示すが、他の形の誤り検出および誤り訂正を、コグニティブ無線機内で使用することができる。たとえば、フレーム誤り率を追跡することができ、フレーム誤り率の統計を、同様にブロック1036で格納することができる。したがって、本発明は、上で説明した特定のタイプの誤り情報またはステータス情報に基づく適合に限定されない。
格納されるステータス情報の性質にかかわりなく、この処理は、判断ブロック1038に進むことができ、ここで、収集されたステータス情報に基づいて、適合が必要であるかどうかの判断を行う。上で説明したように、ブロック1038での処理は、現在のステータス情報を、格納されたステータス情報内のパターンを検出するためのしきい値と比較することを含むことができる。ブロック1038での処理は、単一のタイプのステータス情報または複数のタイプのステータス情報の組合せもしくは相関に対する動作を含むことができる。ブロック1038での特定の処理にかかわりなく、適合を行わない場合には、処理はブロック1012にループバックし、ここで、通信が継続される。
判断ブロック1038での処理は、現在生成されたものであれ以前に格納されたものであれ、ステータス情報を、ブロック1010で取り出された第1プロファイルに関連する誤り状態と比較することを含むことができる。しかし、処理を、判断ブロック1038で、任意の適切な形で実行することができる。
ブロック1038での適合を実行すべきかどうかの判定がどのように行われるかにかかわりなく、適合が実行される場合には、この処理はブロック1040に分岐する。ブロック1040では、適合を識別する。適合は、任意の適切な形で識別することができる。たとえば、ブロック1022で以前に記録された情報は、現在のステータス情報によって示される状態に応答して、有効な適合を示すことができる。図10の例では、ブロック1040での適合の識別は、第2プロファイルに従う通信がより効率的になることの期待に基づいて、第2プロファイルを選択することを含むことができる。しかし、適合を、任意の適切な形で識別することができる。
その後、この処理は、ブロック1042に進むことができる。ブロック1042では、識別された適合を適用する。図10の処理が図2に示されたものなどのコンピューティングデバイス内で実行される、示された例では、プロファイルストア250から第2プロファイルを入手し、これをソフトウェア無線機に適用して、無線機のハードウェアコンポーネントおよびソフトウェアコンポーネントを再構成することによって、適合を適用することができる。さらに、図10に示されているように、プロファイルは、ブロック1010で選択された誤り状態の異なるセットを含むことができる。したがって、処理がブロック1012にループバックし、もう一度判断ブロック1038に戻る時に通信が継続される際に、状態の異なるセットを適用して、さらなる適合を行うべきかどうかを判定することができる。
この処理は、この形で、通信を継続し、無線機をチャネル上の通信に現在影響している状態に継続的に適合させて、反復的に進むことができる。
本発明の少なくとも1つの実施形態の複数の態様を説明したので、さまざまな変更、修正、および改善を当業者がたやすく思い浮かべることを了解されたい。
そのような変更、修正、および改善は、本開示の一部であることが意図され、本発明の趣旨および範囲内であることが意図されている。したがって、前述の説明および図面は、例のみのためのものである。
本発明の上で説明した実施形態を、多数の形のいずれかで実施することができる。たとえば、実施形態を、ハードウェア、ソフトウェア、またはその組合せを使用して実施することができる。ソフトウェアで実施される時に、ソフトウェアコードを、単一のコンピューター内に設けられるものであれ複数のコンピューターにまたがって分散されるものであれ、任意の適切なプロセッサまたはプロセッサの集合で実行することができる。
さらに、コンピューターを、ラックマウント式コンピューター、デスクトップコンピューター、ラップトップコンピューター、またはタブレットコンピューターなど、いくつかの形のいずれかで実施できることを了解されたい。さらに、コンピューターを、携帯情報端末(PDA)、スマートホン、または任意の他の適切なポータブルのもしくは固定式のエレクトロニクスデバイスを含む、一般にコンピューターとはみなされないが適切な処理機能を有するデバイス内で実施することができる。
また、コンピューターは、1つまたは複数の入力デバイスおよび出力デバイスを有することができる。これらのデバイスは、とりわけ、ユーザーインターフェースを提示するのに使用することができる。ユーザーインターフェースを提供するのに使用できる出力デバイスの例は、出力の視覚的プレゼンテーションのためのプリンターまたはディスプレイスクリーンと、出力の可聴プレゼンテーションのためのスピーカまたは他のサウンド生成デバイスとを含む。ユーザーインターフェースに使用できる入力デバイスの例は、キーボードと、マウス、タッチパッド、およびディジタイジングタブレットなどのポインティングデバイスとを含む。もう1つの例として、コンピューターは、音声認識を介してまたは他の可聴フォーマットで入力情報を受け取ることができる。
そのようなコンピューターを、企業ネットワークまたはインターネットなど、ローカルエリアネットワークまたは広域ネットワークとしてを含む、任意の適切な形の1つまたは複数のネットワークによって相互接続することができる。そのようなネットワークは、任意の適切なテクノロジーに基づくものとすることができ、任意の適切なプロトコルに従って動作することができ、無線ネットワーク、有線ネットワーク、または光ファイバーネットワークを含むことができる。
また、本明細書で概要を示したさまざまな方法または処理を、さまざまなオペレーティングシステムまたはプラットフォームのうちの任意の1つを使用する1つまたは複数のプロセッサ上で実行可能なソフトウェアとしてコーディングすることができる。さらに、そのようなソフトウェアを、いくつかの適切なプログラミング言語および/または従来のプログラミングツールもしくはスクリプティングツールのいずれかを使用して記述することができ、また、実行可能機械語コードまたはフレームワークもしくは仮想マシン上で実行される中間コードとしてコンパイルすることができる。
これに関して、本発明を、1つまたは複数のコンピューターまたは他のプロセッサ上で実行される時に、上で述べた本発明のさまざまな実施形態を実施する方法を実行する1つまたは複数のプログラムで符号化されたコンピューター可読媒体(または複数のコンピューター可読媒体)(たとえば、コンピューターメモリ、1つまたは複数のフロッピー(登録商標)ディスク、コンパクトディスク、光ディスク、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイもしくは他の半導体デバイス内の回路構成、または他のコンピューター記憶媒体)として実施することができる。1つまたは複数のコンピューター可読媒体は、その上に格納された1つまたは複数のプログラムを1つまたは複数の異なるコンピューターまたは他のプロセッサにロードして、上で述べた本発明のさまざまな態様を実施できるように、移動可能とすることができる。
用語「プログラム」または「ソフトウェア」は、本明細書では、上で述べた本発明のさまざまな態様を実施するためにコンピューターまたは他のプロセッサをプログラムするのに使用できるすべてのタイプのコンピューターコードまたはコンピューター実行可能命令のセットを指すのに、包括的な意味で使用される。さらに、この実施形態の一態様によれば、実行された時に本発明の方法を実行する1つまたは複数のコンピュータープログラムは、単一のコンピューターまたはプロセッサに常駐する必要があるのではなく、本発明のさまざまな態様を実施するためにいくつかの異なるコンピューターまたはプロセッサの中でモジュラーの形で分散させることができることを了解されたい。
コンピューター実行可能命令は、1つまたは複数のコンピューターまたは他のデバイスによって実行される、プログラムモジュールなどの多数の形であるものとすることができる。一般に、プログラムモジュールは、特定のタスクを実行するか特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。通常、プログラムモジュールの機能性を、さまざまな実施形態で望み通りに組み合わせ、または分散させることができる。
また、データ構造を、任意の適切な形でコンピューター可読媒体に格納することができる。話を簡単にするために、データ構造を、そのデータ構造内の位置を介して関係付けられるフィールドを有するものとして図示することができる。そのような関係は、フィールドの間の関係を伝えるコンピューター可読媒体内の位置にフィールド用のストレージを割り当てることによって達成することができる。しかし、ポインタ、タグ、またはデータ要素の間の関係を確立する他の機構の使用を介することを含む、任意の適切な機構を使用して、データ構造のフィールド内の情報の間の関係を確立することができる。
本発明のさまざまな態様は、単独で、組合せで、または前述で説明した実施形態で具体的には述べられていないさまざまな配置で使用することができ、したがって、その適用において、前述の説明に記載のまたは図面に示されたコンポーネントの詳細および配置に限定されない。たとえば、一実施形態で説明された態様を、任意の形で、他の実施形態で説明された態様と組み合わせることができる。
また、本発明を、方法として実施することができ、その例を提供した。この方法の一部として実行される動作は、任意の適切な形で順序付けることができる。したがって、動作が示されたものとは異なる順序で実行され、例示的実施形態で順次動作として示された場合であってもいくつかの動作を同時に実行することを含むことができる実施形態を、構成することができる。
請求項要素を修飾するための特許請求の範囲での「第1」、「第2」、「第3」その他などの順序を示す用語の使用は、それ自体である請求項要素の別の請求項要素に対する優先、先行、または順序、あるいは方法の動作が実行される時間的順序を意味するのではなく、単に、請求項要素を区別するために、ある名前を有するある請求項要素を同一の名前を有する(順序を表す単語の使用を除いて)別の請求項要素から区別するためのラベルとして使用される。
また、本明細書で使用される語法および用語法は、説明のためのものであって、限定的とみなしてはならない。本明細書での「含む("including", "comprising")」、「有する("having")」、または「伴う("containing", "involving")」およびその語尾変化の使用は、その後にリストされた項目およびその同等物ならびに追加の項目を含むことが意図されている。

Claims (20)

  1. 少なくとも1つのアンテナと、
    前記少なくとも1つのアンテナに結合され、前記少なくとも1つのアンテナを介して送信するために信号を生成し、または前記少なくとも1つのアンテナを介して受信された信号を処理するように適合された複数のハードウェアコンポーネントと、
    コンピューター実行可能モジュールを含むコンピューター可読媒体とを含み、前記コンピューター実行可能モジュールは、
    送信する前記信号に含めるためのデータを生成し、または前記少なくとも1つのアンテナを介して受信された前記信号から抽出されたデータを操作する、データ生成モジュールまたはデータ消費モジュールと、
    ソフトウェア無線機モジュールであって、
    複数のデータ処理モジュールであって、前記ハードウェアコンポーネントと前記データ生成モジュールまたはデータ消費モジュールとの間で交換されるデータを処理するように集合的に構成され、前記データ処理モジュールの少なくとも一部は、制御入力に応答して構成可能であり、前記データ処理モジュールの少なくとも一部は、ステータス出力を有し、前記ステータス出力は、前記少なくとも1つのアンテナを介する信号の前記送信または処理に関連する状態を示す値を出力するように適合される、複数のデータ処理モジュールと、
    少なくとも1つの制御モジュールであって、前記ステータス出力を受け取り、前記状態に基づいて、前記データ処理モジュールの前記一部の前記制御入力への制御信号を生成する、少なくとも1つの制御モジュールと
    を含む、ソフトウェア無線機モジュールと
    を含むコンピューティングデバイス。
  2. 前記データ処理モジュールの前記一部は、復調器を含む、請求項1に記載のコンピューティングデバイス。
  3. 前記復調器は、前記復調器の前記ステータス出力でひずみベクトルの値(X、Y)を表す値を出力するように適合される、請求項2に記載のコンピューティングデバイス。
  4. 前記データ処理モジュールの前記一部は、変調器を含み、
    前記少なくとも1つの制御モジュールは、前記ひずみベクトルの前記値に基づいて前記変調器への制御入力を指定するように適合され、構成されたコグニティブモジュールを含む
    請求項3に記載のコンピューティングデバイス。
  5. 前記コグニティブモジュールは、前記ひずみベクトルの傾向に応答して前記制御入力を指定するように適合され、構成される、請求項4に記載のコンピューティングデバイス。
  6. 前記データ処理モジュールの前記一部は、復号器を含む、請求項1に記載のコンピューティングデバイス。
  7. 前記復号器は、前記復号器の前記ステータス出力で、受信された信号に関連するいくつかのビット誤りを表す値を出力するように適合される、請求項6に記載のコンピューティングデバイス。
  8. ソフトウェア無線機を実施するソフトウェアコンポーネントを有するコンピューティングデバイスを動作させる方法であって、
    複数の無線通信を表す信号を受信するステップと、
    前記ソフトウェア無線機を用いて前記信号を処理するステップであって、受信された信号と前記受信された信号の事前定義の状態との間の差に関するステータス情報を生成するステップを含む、処理するステップと、
    タイムインターバルにわたってステータス情報を収集するステップと、
    前記タイムインターバルにわたる前記ステータス情報の統計に基づいて前記ソフトウェア無線機を再構成するステップと
    を含む方法。
  9. 前記ステータス情報は、ひずみベクトル(X、Y)を含む、請求項8に記載の方法。
  10. 前記ソフトウェア無線機は、ソフトウェア復調器を含み、前記生成するステップは、前記ソフトウェア復調器内で前記ステータス情報を生成するステップを含む、請求項9に記載の方法。
  11. 前記ステータス情報は、受信された信号と事前定義のビットパターンとの間のいくつかのビット差を含む、請求項8に記載の方法。
  12. 前記ソフトウェア無線機は、ソフトウェア復号器を含み、前記生成するステップは、前記ソフトウェア復号器内で前記ステータス情報の少なくとも一部を生成するステップを含む、請求項11に記載の方法。
  13. 前記ソフトウェア無線機は、ソフトウェア復調器を含み、前記生成するステップは、前記ソフトウェア復調器内で前記ステータス情報の少なくとも一部を生成するステップを含む、請求項11に記載の方法。
  14. 前記再構成するステップは、前記ソフトウェア復調器および前記ソフトウェア復号器内で生成された前記ステータス情報に基づいて前記ソフトウェア無線機を再構成するステップを含む、請求項13に記載の方法。
  15. ソフトウェア無線機を実施するソフトウェアコンポーネントを有するコンピューティングデバイスを動作させる方法であって、
    第1プロファイルに従って前記ソフトウェア無線機を構成するステップであって、前記第1プロファイルは、動作状態と関連付けられる、構成するステップと、
    複数の無線通信を表す信号を受信するステップと、
    前記ソフトウェア無線機を用いて前記信号を処理するステップであって、受信された信号と事前定義の状態のセットの状態との間の差に関するステータス情報を生成するステップを含む、処理するステップと、
    前記ステータス情報を収集するステップと、
    前記ソフトウェア無線機が前記第1プロファイルに関連する動作状態に従って動作していることを前記状態が表す時に、第2プロファイルに従って前記ソフトウェア無線機を構成するステップであって、その選択は前記ステータス情報に基づく、構成するステップと
    を含む方法。
  16. 前記ソフトウェア無線機の以前の再構成に続いて格納されたステータス情報に少なくとも部分的に基づいて前記第2プロファイルを選択するステップ
    をさらに含む、請求項15に記載の方法。
  17. ステータス情報を生成するステップは、複数の時にひずみベクトル(X、Y)を計算するステップを含む、請求項16に記載の方法。
  18. ステータス情報を生成するステップは、誤り訂正符号の使用を介して検出されたいくつかのビット誤りを追跡するステップを含む、請求項16に記載の方法。
  19. ステータス情報を生成するステップは、公称値からの逸脱のしきいレベル以内である受信された記号のレートを追跡するステップを含む、請求項16に記載の方法。
  20. 前記ソフトウェア無線機は、複数のコンポーネントを含み、前記第1プロファイルに関連する前記動作状態は、前記複数のコンポーネントのうちの少なくとも2つによって生成されるステータス情報を含む、請求項16に記載の方法。
JP2010538027A 2007-12-14 2008-11-18 ソフトウェアコグニティブ無線機 Active JP5297466B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/956,487 2007-12-14
US11/956,487 US8036240B2 (en) 2007-12-14 2007-12-14 Software defined cognitive radio
PCT/US2008/083875 WO2009079143A2 (en) 2007-12-14 2008-11-18 Software defined cognitive radio

Publications (3)

Publication Number Publication Date
JP2011509555A true JP2011509555A (ja) 2011-03-24
JP2011509555A5 JP2011509555A5 (ja) 2011-12-01
JP5297466B2 JP5297466B2 (ja) 2013-09-25

Family

ID=40753206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010538027A Active JP5297466B2 (ja) 2007-12-14 2008-11-18 ソフトウェアコグニティブ無線機

Country Status (8)

Country Link
US (1) US8036240B2 (ja)
EP (1) EP2220569B1 (ja)
JP (1) JP5297466B2 (ja)
KR (1) KR101521672B1 (ja)
CN (1) CN101896899B (ja)
BR (1) BRPI0819827A2 (ja)
RU (1) RU2478229C2 (ja)
WO (1) WO2009079143A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016519886A (ja) * 2013-03-28 2016-07-07 クゥアルコム・インコーポレイテッドQualcomm Incorporated 通信インターフェースの自動構成を可能にするためのデバイスおよび方法
WO2018008124A1 (ja) * 2016-07-07 2018-01-11 株式会社日立製作所 計算機、計算機システム及びセキュリティの制御方法

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8054779B2 (en) 2007-05-08 2011-11-08 Microsoft Corporation Simultaneous wireless support in software defined radio
US8340714B2 (en) * 2007-12-14 2012-12-25 Microsoft Corporation Computing device with configurable antenna
US8358978B2 (en) * 2008-11-04 2013-01-22 Broadcom Corporation Multiservice communication device with cognitive radio transceiver
WO2010127082A1 (en) * 2009-05-01 2010-11-04 Raytheon Company Configuring radios
FR2952252B1 (fr) * 2009-11-05 2011-12-09 Canon Kk Procede et dispositif de decodage, produit programme d'ordinateur, moyen de stockage correspondants et noeud destination correspondants
CN101793941B (zh) * 2009-12-24 2015-04-01 上海华岭集成电路技术股份有限公司 Fpga配置文件的生成方法
US8886253B2 (en) * 2010-02-02 2014-11-11 Nokia Corporation Method to control a multiradio RF platform
EP2362550B1 (en) * 2010-02-18 2012-08-29 Imec Digital front-end circuit and method for using the same
US8571566B2 (en) * 2010-04-08 2013-10-29 Qualcomm Incorporated Methods and apparatus for determining and assigning spectrum for wireless communications
CN102541662B (zh) * 2010-12-29 2014-10-08 华为终端有限公司 软件处理控制方法和移动终端
US10091798B2 (en) 2012-11-07 2018-10-02 Massachusetts Institute Of Technology Cognitive radio method and apparatus for achieving ad hoc interference multiple access wireless communication
US9148804B2 (en) 2012-11-07 2015-09-29 Massachusetts Institute Of Technology Method and apparatus for making optimal use of an asymmetric interference channel in wireless communication systems
WO2013180816A2 (en) 2012-11-07 2013-12-05 Massachusetts Institute Of Technology Method and apparatus for rate determination in a radio frequency system
WO2014052992A1 (en) * 2012-11-07 2014-04-03 Massachusetts Institute Of Technology Cognitive radio method and apparatus for achieving ad hoc interference multiple access wireless communication
US9065699B2 (en) * 2012-11-30 2015-06-23 Cognosos, Inc. Methods and systems for a distributed radio communications network
WO2014138527A1 (en) * 2013-03-07 2014-09-12 Astrapi Corporation Software defined radio
WO2013185150A1 (en) 2013-03-14 2013-12-12 Massachusetts Institute Of Technology Method and apparatus for smart adaptive dynamic range multiuser detection radio receiver
US10223139B2 (en) 2013-03-15 2019-03-05 The Trustees Of The University Of Pennsylvania Dynamically deployable wireless infrastructure in cloud environment
US9699665B2 (en) 2014-06-16 2017-07-04 Massachusetts Institute Of Technology Cognitive radio method and apparatus for achieving ad hoc interference multiple access wireless communication
US10299281B2 (en) 2014-06-16 2019-05-21 Massachusetts Institute Of Technology Cognitive radio method and apparatus for achieving ad hoc interference multiple access wireless communication
WO2016014086A1 (en) * 2014-07-25 2016-01-28 Hewlett-Packard Development Company, L.P. Software-defined sensing
US10159004B2 (en) 2014-11-03 2018-12-18 Massachusetts Institute Of Technology Message fractionation and physical layer channel assignment for multiuser detection-enabled wireless communication among adaptive interference
US10855597B2 (en) * 2015-06-29 2020-12-01 T-Mobile Usa, Inc. Channel coding for real time wireless traffic
CN106130961B (zh) * 2016-06-14 2019-05-14 哈尔滨工业大学 用于软件无线电系统的安全检测方法和软件无线电设备
CN107666472B (zh) * 2016-07-29 2020-08-11 微软技术许可有限责任公司 混合的数字-模拟编解码的方法和设备
CN108279910B (zh) * 2018-01-17 2021-04-13 珠海市杰理科技股份有限公司 程序代码烧写方法、装置、计算机设备和存储介质
US11690090B2 (en) 2019-05-21 2023-06-27 Massachusetts Institute Of Technology Mitigation of communication signal interference using adaptive transmit power
US11005507B2 (en) 2019-06-14 2021-05-11 Massachusetts Institute Of Technology Targeted ratio of signal power to interference plus noise power for enhancement of a multi-user detection receiver

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003032745A (ja) * 2001-07-13 2003-01-31 Matsushita Electric Ind Co Ltd 基地局装置、移動局装置、無線通信システム及び無線通信方法
JP2003051764A (ja) * 2001-06-01 2003-02-21 Sony Corp 逆拡散装置、伝播路推定装置、受信装置ならびに干渉抑圧装置、逆拡散、伝播路推定、受信および干渉抑圧方法、該プログラムおよび該プログラムを記録した記録媒体
JP2004153800A (ja) * 2002-10-07 2004-05-27 Matsushita Electric Ind Co Ltd 通信装置及び通信装置再構築方法
JP2005057633A (ja) * 2003-08-07 2005-03-03 Ntt Electornics Corp データレート選択回路、電子装置およびデータレート選択方法
JP2006109397A (ja) * 2004-09-07 2006-04-20 Hitachi Ltd ソフトウェア無線装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06343085A (ja) * 1993-04-07 1994-12-13 Hitachi Ltd 信号復調復号装置および信号復調復号方法
US5452473A (en) * 1994-02-28 1995-09-19 Qualcomm Incorporated Reverse link, transmit power correction and limitation in a radiotelephone system
US5706428A (en) * 1996-03-14 1998-01-06 Lucent Technologies Inc. Multirate wireless data communication system
US6163766A (en) * 1998-08-14 2000-12-19 Motorola, Inc. Adaptive rate system and method for wireless communications
US6052600A (en) * 1998-11-23 2000-04-18 Motorola, Inc. Software programmable radio and method for configuring
US6268767B1 (en) * 1999-09-08 2001-07-31 Atmel Corporation Dual bit error rate estimation in a QAM demodulator
EP1283995B1 (en) * 2000-05-26 2003-11-19 Roke Manor Research Limited Management module for software defined radio
KR100649300B1 (ko) * 2000-11-07 2006-11-24 주식회사 케이티 통신 시스템에서의 적응적인 데이터 전송 방법 및 그 장치
JP3893881B2 (ja) * 2001-02-16 2007-03-14 株式会社日立製作所 ソフトウェア無線機および無線システム、ソフトウェア無線機の認定方式
US7151925B2 (en) * 2001-09-10 2006-12-19 Industrial Technology Research Institute Software defined radio (SDR) architecture for wireless digital communication systems
US7099398B1 (en) * 2001-12-18 2006-08-29 Vixs, Inc. Method and apparatus for establishing non-standard data rates in a wireless communication system
US6959171B2 (en) * 2002-02-28 2005-10-25 Intel Corporation Data transmission rate control
EP1540499A4 (en) * 2002-05-21 2010-06-02 Jesse Russell ADVANCED MULTI-HOME CLIENT DEVICE FOR BROADBAND MULTIMEDIA ACCESS TO PUBLIC AND PRIVATE WIRELESS NETWORKS
US6680649B2 (en) * 2002-06-07 2004-01-20 Telefonaktiebolaget Lm Ericsson (Publ) Coordinate rotation of pre-distortion vector in feedforward linearization amplification system
EP1401224A1 (en) * 2002-09-17 2004-03-24 Motorola, Inc. Software download to software definable radio by intermediate communication unit
US7499486B2 (en) * 2002-11-27 2009-03-03 Agere Systems Inc. Data transmission rate adaptation in a wireless communication system
JP3769752B2 (ja) * 2002-12-24 2006-04-26 ソニー株式会社 情報処理装置および情報処理方法、データ通信システム、並びに、プログラム
CN1275480C (zh) * 2003-07-31 2006-09-13 上海贝尔阿尔卡特股份有限公司 一种多标准软件无线电(sdr)基带处理方法
WO2006012211A2 (en) * 2004-06-24 2006-02-02 Meshnetworks, Inc. A system and method for adaptive rate selection for wireless networks
US7574146B2 (en) * 2004-07-09 2009-08-11 Infinera Corporation Pattern-dependent error counts for use in correcting operational parameters in an optical receiver
WO2006006117A1 (en) 2004-07-09 2006-01-19 Philips Intellectual Property & Standards Gmbh Data transmission in a communication network
JP2008511267A (ja) * 2004-08-25 2008-04-10 パッドコム ホールディングズ,インコーポレイテッド ソフトウェア無線を介したマルチネットワークのシームレスローミング
WO2006055784A2 (en) * 2004-11-19 2006-05-26 The Trustees Of The Stevens Institute Of Technology Multi-access terminal wiht capability for simultaneous connectivity to multiple communication channels
SG124302A1 (en) * 2005-01-13 2006-08-30 Oki Techno Ct Singapore Pte Architecture and protocol for software defined radio system
US7769912B2 (en) * 2005-02-17 2010-08-03 Samsung Electronics Co., Ltd. Multistandard SDR architecture using context-based operation reconfigurable instruction set processors
US7463583B2 (en) * 2005-03-03 2008-12-09 Stmicroelectronics Ltd. Wireless LAN data rate adaptation
US8463319B2 (en) * 2005-06-17 2013-06-11 Honeywell International Inc. Wireless application installation, configuration and management tool
US7681239B2 (en) * 2005-09-30 2010-03-16 Microsoft Corporation Modularly constructing a software defined radio
US7784029B2 (en) * 2005-09-30 2010-08-24 Microsoft Corporation Network service for modularly constructing a software defined radio

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003051764A (ja) * 2001-06-01 2003-02-21 Sony Corp 逆拡散装置、伝播路推定装置、受信装置ならびに干渉抑圧装置、逆拡散、伝播路推定、受信および干渉抑圧方法、該プログラムおよび該プログラムを記録した記録媒体
JP2003032745A (ja) * 2001-07-13 2003-01-31 Matsushita Electric Ind Co Ltd 基地局装置、移動局装置、無線通信システム及び無線通信方法
JP2004153800A (ja) * 2002-10-07 2004-05-27 Matsushita Electric Ind Co Ltd 通信装置及び通信装置再構築方法
JP2005057633A (ja) * 2003-08-07 2005-03-03 Ntt Electornics Corp データレート選択回路、電子装置およびデータレート選択方法
JP2006109397A (ja) * 2004-09-07 2006-04-20 Hitachi Ltd ソフトウェア無線装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016519886A (ja) * 2013-03-28 2016-07-07 クゥアルコム・インコーポレイテッドQualcomm Incorporated 通信インターフェースの自動構成を可能にするためのデバイスおよび方法
WO2018008124A1 (ja) * 2016-07-07 2018-01-11 株式会社日立製作所 計算機、計算機システム及びセキュリティの制御方法

Also Published As

Publication number Publication date
JP5297466B2 (ja) 2013-09-25
WO2009079143A2 (en) 2009-06-25
BRPI0819827A2 (pt) 2015-05-26
KR20100103505A (ko) 2010-09-27
US8036240B2 (en) 2011-10-11
CN101896899A (zh) 2010-11-24
EP2220569A4 (en) 2014-11-12
EP2220569A2 (en) 2010-08-25
RU2010123903A (ru) 2011-12-27
WO2009079143A3 (en) 2009-08-13
CN101896899B (zh) 2013-11-06
RU2478229C2 (ru) 2013-03-27
EP2220569B1 (en) 2016-01-06
KR101521672B1 (ko) 2015-05-19
US20090154534A1 (en) 2009-06-18

Similar Documents

Publication Publication Date Title
JP5297466B2 (ja) ソフトウェアコグニティブ無線機
EP2220838B1 (en) Software defined radio architecture
US9461673B2 (en) Computing device with configurable antenna
US8891499B2 (en) Computer radio with pre-defined configuration set
CN102217350B (zh) 带有认知低干扰信号的信道再用
US20120226955A1 (en) Method and apparatus for forward error correction (fec) in a resource-constrained network
CN107078843A (zh) 无线信号质量指示符

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111013

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130415

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130614

R150 Certificate of patent or registration of utility model

Ref document number: 5297466

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250