(57)【特許請求の範囲】
【請求項１】
ラジオアプリケーションによって適応的に構成されるソフトウェア定義ラジオ端末装置であって、
保存部、マイクロプロセッサ及び少なくとも一つのベースバンド加速器を含み、
前記マイクロプロセッサは、
前記ベースバンド加速器を制御するための制御命令及び送信する情報を上位階層からベースバンド加速器に伝達し、前記ベースバンド加速器から受信した情報を上位階層に伝達するラジオコントローラ階層と、
前記ラジオコントローラ階層とベースバンド加速器との間のインターフェースを可能にするベースバンドドライバ階層と、を含むコードを前記保存部から読み出して実行し、
前記マイクロプロセッサは、前記ラジオアプリケーションの実現に必要な少なくとも一つの機能ブロックを前記保存部から前記ベースバンド加速器にローディングするように構成され、
前記ベースバンド加速器にローディングされる機能ブロックは、前記少なくとも一つのベースバンド加速器をリアルタイムで制御するベースバンド制御機能ブロックを含み、
前記マイクロプロセッサは、あらかじめ定義されたパイプライン構成メタデータに基づいて、前記機能ブロックを前記保存部からローディングして再配置するローダーを保存部からローディングして実行し、
前記ローダーは、前記パイプライン構成メタデータに基づいて前記ローディングされた機能ブロックの動作手順を定義するパイプラインを設定してパイプライン設定情報を前記ベースバンド制御機能ブロックに伝達し、
前記ベースバンド制御機能ブロックは、前記パイプラインによって前記ベースバンド加速器を制御することを特徴とするソフトウェア定義ラジオ端末装置。
【請求項２】
前記各機能ブロックの類型は、標準ベースバンドインターフェースに基づいて作成された標準的な命令語が明示された標準機能ブロックまたは前記ラジオアプリケーションの供給者から供給されたユーザ定義機能ブロックの中でいずれか一つの類型に該当することを特徴とする、請求項１に記載のソフトウェア定義ラジオ端末装置。
【請求項３】
前記ラジオコントローラ階層のコード、前記ユーザ定義機能ブロック及び前記パイプライン構成メタデータは、アプリケーションサーバーからダウンロードして前記ソフトウェア定義ラジオ端末装置に設置されることを特徴とする、請求項２に記載のソフトウェア定義ラジオ端末装置。
【請求項４】
前記アプリケーションサーバーからダウンロードした中間表現形態のユーザ定義機能ブロックを前記ソフトウェア定義ラジオ端末装置で実行可能な形態にコンパイルするコンパイラをさらに含むことを特徴とする、請求項３に記載のソフトウェア定義ラジオ端末装置。
【請求項５】
前記標準機能ブロックは、標準ベースバンドＡＰＩヘッダーに定義されることを特徴とする、請求項２に記載のソフトウェア定義ラジオ端末装置。
【請求項６】
前記ユーザ定義機能ブロックは、標準ベースバンドＡＰＩヘッダーに定義された標準機能ブロックに実現されなかったベースバンドデジタル信号処理を含むことを特徴とする、請求項５に記載のソフトウェア定義ラジオ端末装置。
【請求項７】
前記パイプライン構成メタデータは、前記標準ベースバンドＡＰＩヘッダーに定義された標準機能ブロックと前記ユーザ定義機能ブロック間の連結に対する定義及び前記各機能ブロックが有する属性の初期値に対する定義を含むことを特徴とする、請求項６に記載のソフトウェア定義ラジオ端末装置。
【請求項８】
特定ラジオアプリケーションを実現するための機能ブロックを定義するユーザ定義コードと、
前記特定ラジオアプリケーションを実現するための機能ブロックを制御するための制御命令及び送信する情報を上位階層から機能ブロックに伝達して端末のオペレーションシステムとインターフェースするためのラジオコントローラコードと、
前記ユーザ定義コードによって定義された前記特定ラジオアプリケーションを実現するための少なくとも一つの機能ブロックに対する記述、及び前記特定ラジオアプリケーションを実現するための機能ブロック同士間の連結に対する記述を含むパイプライン構成メタデータと、を含むアプリケーションパッケージを生成するステップと、
前記生成されたアプリケーションパッケージをアプリケーション配布サーバーにアップロードするステップと、を含み、
前記アプリケーションパッケージは、マイクロプロセッサと少なくとも一つの再構成可能なベースバンド加速器を含むソフトウェア定義ラジオ端末装置にダウンロードされ、
前記ラジオコントローラコードは、前記マイクロプロセッサにより実行され、前記機能ブロックは、少なくとも一つのベースバンド加速器を再構成するために前記パイプライン構成メタデータに基づいて前記少なくとも一つのベースバンド加速器にロードされることを特徴とするラジオアプリケーションの配布方法。
【請求項９】
前記ユーザ定義コードは、実行のためのコンパイルを必要とする中間表現の形態で構成されることを特徴とする、請求項８に記載のラジオアプリケーションの配布方法。
【請求項１０】
前記ユーザ定義コードで定義する機能ブロックは、標準ベースバンドＡＰＩヘッダーに定義された標準機能ブロックに実現されなかったベースバンドデジタル信号処理の実現と関連されることを特徴とする、請求項８に記載のラジオアプリケーションの配布方法。
【請求項１１】
前記パイプライン構成メタデータは、標準ベースバンドＡＰＩヘッダーに定義された標準機能ブロックと前記ユーザ定義コードで定義する機能ブロック間の連結及び前記各機能ブロックが有する属性の初期値に対する記述を含むことを特徴とする、請求項８に記載のラジオアプリケーションの配布方法。
【請求項１２】
マイクロプロセッサと少なくとも一つの再構成可能なベースバンド加速器を含むソフトウェア定義ラジオ端末装置で実行されるラジオアプリケーションの設置方法であって、
前記ラジオアプリケーションを実現するための機能ブロックを定義するユーザ定義コードと、
前記ラジオアプリケーションを実現するための機能ブロックを制御するための制御命令及び送信する情報を上位階層から機能ブロックに伝達して、端末のオペレーションシステムとインターフェースするためのラジオコントローラコードと、
前記ユーザ定義コードによって定義された前記ラジオアプリケーションを実現するための少なくとも一つの機能ブロックに対する記述、及び前記ラジオアプリケーションを実現するための機能ブロック同士間の連結に対する記述を含むパイプライン構成メタデータと、を含むアプリケーションパッケージを配布サーバーからダウンロードするステップ及び、
前記パイプライン構成メタデータを参照して、前記ラジオコントローラコードと前記ユーザ定義コードを前記端末の保存部に保存する設置ステップを含み、
前記ラジオコントローラコードは、前記マイクロプロセッサにより実行され、前記機能ブロックは前記少なくとも一つのベースバンド加速器を再構成するために前記パイプライン構成メタデータに基づいて前記少なくとも一つのベースバンド加速器にロードされることを特徴とするラジオアプリケーションの設置方法。
【請求項１３】
前記ユーザ定義コードが前記ソフトウェア定義ラジオ端末装置のベースバンド加速器で直接実行可能なコードではない場合、前記設置ステップで、前記ベースバンド加速器で実行可能なコードの形態でコンパイルして前記コンパイルされたコードを前記保存部に保存することを特徴とする、請求項１２に記載のラジオアプリケーションの設置方法。
【請求項１４】
前記ユーザ定義コードで定義する機能ブロックは、標準ベースバンドＡＰＩヘッダーに定義された標準機能ブロックに実現されなかったベースバンドデジタル信号処理の実現と関連されることを特徴とする、請求項１２に記載のラジオアプリケーションの設置方法。
【請求項１５】
前記パイプライン構成メタデータは、前記標準ベースバンドＡＰＩヘッダーに定義された標準機能ブロックと前記ユーザ定義コードで定義する機能ブロック間の連結及び前記各機能ブロックが有する属性の初期値に対する記述を含むことを特徴とする、請求項１４に記載のラジオアプリケーションの設置方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア定義ラジオ端末装置及びラジオアプリケーションの配布及び設置方法に関し、より詳細には、モデムチップに独立的にラジオアプリケーションが動作するソフトウェア定義ラジオ(ＳＤＲ：Software-Defined Radio)端末装置及びラジオアプリケーションの配布及び設置方法に関する。
【背景技術】
【０００２】
通信技術の発達に従ってユーザの嗜好や目的によって多くの新しい種類のラジオアプリケーションが使われている。ＬＴＥ（登録商標）、ＷＣＤＭＡ（登録商標）、ＷＩＭＡＸ（登録商標）、ＧＳＭ（登録商標）などのようなラジオアプリケーションの大部分はモデムと相互作用しながら端末機上で実行される。
【０００３】
このようなラジオアプリケーションがモデムを制御するためには、モデム製造社またはモデルによってモデムが有する固有の命令語を理解して、それに合わせたモジュールを開発し適用しなければならない。これは結果的に、あるラジオアプリケーションが特定製造社や特定モデムでのみ実行される結果をもたらす。これを解決するためには、多種のモデムに合わせたそれぞれ異なる制御命令を全てアプリケーションに含ませるか各モデム別に異なる実行ファイルを製作して配布しなければならない。
【０００４】
しかし、このような方法では現在市場に発売されている多様なモデムのハードウェアに合わせて一つ一つ最適化しなければならないので、すべての端末機で作動可能なラジオアプリケーションを製作することは事実上不可能であるだけではなく、一つのラジオアプリケーションを製作するために莫大な人力の投入が必要という問題がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
したがって、本発明は上述のような従来技術の問題点を解決するためになされたもので、その目的は、モデムチップに非依存的にラジオアプリケーションを支援できるようにするソフトウェア定義ラジオ端末装置を提供することにある。
【０００６】
本発明の他の目的は、モデムチップに非依存的なラジオアプリケーションの配布方法を提供することにある。
【０００７】
本発明のまた他の目的は、モデムチップに非依存的なラジオアプリケーションの設置方法を提供することにある。
【課題を解決するための手段】
【０００８】
前記目的を達成するために本発明は、ラジオアプリケーションによって適応的に構成されるソフトウェア定義ラジオ端末装置であって、保存部、マイクロプロセッサ及び少なくとも一つのベースバンド加速器を含み、前記マイクロプロセッサは、前記ベースバンド加速器を制御するための制御命令を伝達し、ベースバンド加速器から受信した情報を上位階層に伝達するラジオコントローラ階層と、前記ラジオコントローラ階層から制御命令を受信し、前記受信した制御命令をベースバンド加速器に伝達するベースバンドドライバ階層と、を含むコードを前記保存部から読み出して実行し、前記マイクロプロセッサは、前記ラジオアプリケーションの実現に必要な少なくとも一つの機能ブロックを前記保存部から前記ベースバンド加速器にローディングするように構成され、前記ベースバンド加速器にローディングされる機能ブロックは、前記少なくとも一つのベースバンド加速器をリアルタイムで制御するベースバンド制御機能ブロックを含むことを特徴とするソフトウェア定義ラジオ端末装置を提供する。
【０００９】
前記他の目的を達成するために本発明は、特定のラジオアプリケーションを実現するための機能ブロックを定義するユーザ定義コードと、前記ラジオアプリケーションを実現するための機能ブロックを制御して端末のオペレーションシステムとインターフェースするためのラジオコントローラコードと、前記ラジオアプリケーションを実現するための機能ブロックと、前記機能ブロックの間の連結を記述するパイプライン構成メタデータと、を含むアプリケーションパッケージを生成するステップと、前記生成されたアプリケーションパッケージをアプリケーション配布サーバーにアップロードするステップと、を含むことを特徴とするラジオアプリケーションの配布方法を提供する。
【００１０】
前記また他の目的を達成するために本発明は、ユーザ定義ラジオ端末で実行されるラジオアプリケーションの設置方法において、前記ラジオアプリケーションを実現するための機能ブロックを定義するユーザ定義コードと、前記ラジオアプリケーションを実現するための機能ブロックを制御して端末のオペレーションシステムとインターフェースするためのラジオコントローラコードと、前記ラジオアプリケーションを実現するための機能ブロックと、前記機能ブロックの間の連結を記述するパイプライン構成メタデータと、を含むアプリケーションパッケージを配布サーバーからダウンローディングするステップと、前記パイプライン構成メタデータを参照して、前記ラジオコントローラコードと前記ユーザ定義コードを前記端末の保存部に保存する設置ステップと、を含むラジオアプリケーションの設置方法を提供する。
【発明の効果】
【００１１】
上述のような本発明によるソフトウェア定義ラジオ端末装置を利用すれば、標準ベースバンドＡＰＩを利用して、相違する構造のモデムチップを有した端末機において同様のラジオアプリケーションを行うことができる。また、最適のデジタル信号処理の実行のために無線デジタル通信に必要な多くのデジタル信号処理アルゴリズムを標準ベースバンドＡＰＩで提供することで、モデムハードウェア製作社は、標準ベースバンドＡＰＩに含まれた各ブロックの複雑度または電力消費によってハードウェアまたはソフトウェア的実現を選択することができ、ラジオアプリケーション製作社は、標準ベースバンドＡＰＩを利用してモデムチップに独立したラジオアプリケーションを製作することができる。また、標準ベースバンドＡＰＩに含まれない機能を実現するためにユーザ定義形態のブロックを提供することで、標準ベースバンドＡＰＩの多様な拡張が可能になる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の一実施形態によるラジオアプリケーションが配布されて実行される全般的な過程を示すブロック図である。
【図２】図２は、本発明の一実施形態による標準ベースバンドインターフェースの例を示す概念図である。
【図３】図３は、本発明の一実施形態によるソフトウェア定義ラジオ端末装置の構成を示すブロック図である。
【図４】図４は、本発明の一実施形態によるラジオアプリケーションの配布過程を説明するためのフローチャートである。
【図５】図５は、本発明の一実施形態によるラジオアプリケーションが生成される過程を示す構成図である。
【図６】図６は、本発明の一実施形態によるラジオアプリケーションの設置過程を説明するためのフローチャートである。
【図７】図７は、本発明の一実施形態による端末にラジオアプリケーションが実現されて動作する例を示すブロック図である。
【図８】図８は、本発明の他の実施形態による端末にラジオアプリケーションが実現されて動作する例を示すブロック図である。
【図９】図９は、本発明の一実施形態による中間形態で表現されたユーザ定義コードを含むアプリケーションが配布される過程を説明するブロック図である。
【図１０】図１０は、本発明によるラジオアプリケーションがオンラインマーケットで取り引きされる例を示す概念図である。
【発明を実施するための形態】
【００１３】
本発明は、多様に変更可能であり、さまざまな実施形態を有することができる。ここでは、特定の実施形態を図面に例示して詳細に説明する。しかし、これは本発明の好ましい実施態様に過ぎず、本発明の実施の範囲を限定するものではなく、本発明の明細書及び図面の内容に基づいてなされた均等な変更および付加は、いずれも本発明の特許請求の範囲内に含まれるものとする。
【００１４】
第１、第２及びＡ、Ｂなどの用語は、多様な構成要素を説明するために使うことができ、前記構成要素は前記用語により限定されるものではない。前記用語は、その構成要素を他の構成要素と区別するためのものである。例えば、本発明の権利範囲を脱しない範囲内で、第１の構成要素は、第２の構成要素と命名することができ、同様に第２の構成要素も第１の構成要素と命名することができる。「及び/または」という用語は、複数の関連された記載項目の組み合わせまたは複数の関連された記載項目の中でいずれの項目を含むことを指す。
【００１５】
ある構成要素が他の構成要素に「連結」または「接続」されると記載した場合、その構成要素はその他の構成要素に直接的に連結されるか、または接続されることができ、各構成要素の間にまた他の構成要素が「連結」または「接続」されることもできると理解しなければならない。一方、ある構成要素にほかの構成要素が「直接連結」または「直接接続」されると記載した場合には、各構成要素の間にまた他の構成要素が存在しないことと理解する。
【００１６】
本明細書で使用した用語は、特定の実施形態のみを説明するために使用されたもので、本発明はこれに限定されるものではない。単数の表現は、文脈上明示しない限り複数の表現を含む。本出願において、「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定するもので、一つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品またはこれらを組み合わせたものなどの存在または付加可能性をあらかじめ排除しないことと理解されるべきである。
【００１７】
特定しない限り、技術的や科学的用語を含んでここで使用されるすべての用語は、本発明が属する技術分野で通常の知識を有した者が一般的に理解できるものと同等の意味を有している。一般的に使用される辞典に定義されている用語は、関連技術の文脈上の意味と一致する意味を有するものと解釈し、本出願において明白に定義しない限り、理想的または過度に形式的な意味として解釈されない。
【００１８】
以下、添付の図面を参照して本発明の好ましい実施形態について詳細に説明する。本発明の説明において、図面上の同一の構成要素に対しては同一の参照符号を付与し、その重複説明は省略する。
【００１９】
図１は、本発明の一実施形態によるラジオアプリケーションが配布されて実行される全般的な過程を示すブロック図である。
【００２０】
図１を参照すると、本発明の一実施形態によるラジオアプリケーションが配布されて実行される過程は、デザインステップ(ステップＳ１０)、設置ステップ(ステップＳ２０)及び実行ステップ(ステップＳ３０)を含む三つのステップで構成される。
【００２１】
デザインステップ(ステップＳ１０)は、ラジオアプリケーションを製作するステップとして、ラジオアプリケーションの供給者は、標準ベースバンドインターフェースを定義した標準ベースバンドＡＰＩヘッダー２００を利用してラジオアプリケーションを実現するためのラジオコントローラコード５２０とユーザ定義コード５１０を作成し、コンパイラ１３、１４を経てラジオアプリケーションパッケージ５００を生成する。このように生成されたラジオアプリケーションパッケージ５００は、配布サーバー１３０にアップロードされて当該ラジオアプリケーションを実現する端末にダウンロードすることができる。
【００２２】
設置ステップ(ステップＳ２０)では、配布サーバー１３０に保存されたアプリケーションパッケージ５００をダウンロードして端末に設置する。この時、アプリケーションパッケージ５００に含まれたユーザ定義コード５１０、ラジオコントローラコード５２０及びパイプライン構成メタデータ５３０がアプリケーションプロセッサ１１０に設置され、ユーザ定義コード５１０が中間形態であれば、バックエンドコンパイラ２７を経て端末で実行可能なユーザ定義ブロック２８が生成される。
【００２３】
実行ステップ(ステップＳ３０)は、設置されたアプリケーションの実際実現ステップとして、ラジオアプリケーションの内部に含まれた情報によりアプリケーションプロセッサ１１０とベースバンドプロセッサ１２０を通じてラジオ信号の処理のために設置されたアプリケーションに対応する実行ファイルがロードされて実在的な無線通信が行われるようになる。
【００２４】
例えば、端末機に設置されたラジオアプリケーションの実行命令を受信する場合、ローダー１１４は、パイプライン構成メタデータ５３０を参照してアプリケーションの実行に必要なブロックが何なのかを判断することができる。また、ラジオコントローラコード５２０とユーザ定義機能ブロック２８は、端末機の保存部１１１にローディングされる。また、ローダー１１４は、ラジオコントローラコード５２０をアプリケーションプロセッサ１１０にロードし、パイプライン構成メタデータ５３０を参照してユーザ定義機能ブロック１２１と標準機能ブロック１２２をベースバンド加速器１２３にローディングする。
【００２５】
図２は、本発明の一実施形態による標準ベースバンドインターフェースの例を示す概念図である。
【００２６】
図２を参照すると、標準ベースバンドインターフェースは、モデム内部のベースバンド領域で必要とするデジタル信号処理アルゴリズムを標準化したＡＰＩとして、標準インターフェース２１０〜２５０と標準機能ブロック２１１〜２１４が例示されている。
【００２７】
標準インターフェースの類型には、変換２１０、チャンネルコーディング２２０、ネットワークマッパー２３０、インターリビング２４０、ソースコーディング２５０が含まれる。また、変換２１０に対する標準機能ブロックでは、スプレディング２１１、デスプレディング２１２、スクランブリング２１３、デスクランブリング２１４、高速フーリエ変換(ＦＦＴ：Fast Fourier Transform)２１５、逆高速フーリエ変換(ＩＦＦＴ：Inverse Fast Fourier Transform)２１６を定義することができる。
【００２８】
標準機能ブロックである高速フーリエ変換２１５を通じて入出力されるデータと属性、メンバー関数などを定義することができる。また、同一類型の機能ブロックには、共通の属性を付与してラジオアプリケーションの客体志向的設計が可能である。
【００２９】
一方、本発明の実施形態は、上述の標準ベースバンドインターフェースを高級言語で作成した標準インターフェースＡＰＩヘッダーを利用する。したがって、ラジオアプリケーション製作者は標準インターフェースＡＰＩヘッダーを参照してラジオアプリケーションを製作することができる。
【００３０】
（ソフトウェア定義ラジオ端末装置の構成に対する実施例）
図３は、本発明の一実施形態によるソフトウェア定義ラジオ端末装置の構成を示すブロック図である。
【００３１】
図３を参照すると、本発明の一実施形態によるソフトウェア定義ラジオ端末装置は、ユーザ定義機能ブロック３１３及びパイプライン構成メタデータ３１５、ラジオコントローラコード３１７、ベースバンドドライバコード３１８及びローダー(ｌｏａｄｅｒ)３１９が保存されている保存部３１０と、上述の保存部からコンパイラ３１６、ラジオコントローラコード３１７とベースバンドドライバコード３１８、ローダー３１９を読み出して実行させるマイクロプロセッサ３２０と、複数個のベースバンド加速器３３０−１〜３３０−５と、を含んで構成することができる。
【００３２】
以下、図３を参照して本発明の一実施形態によるソフトウェア定義ラジオ端末装置の構成及び各構成要素間の連結関係についてより詳細に説明する。
【００３３】
保存部３１０には、標準機能ブロック３１１と、ユーザ定義機能ブロック３１３と、パイプライン構成メタデータ３１５と、コンパイラ３１６と、ラジオコントローラコード３１７と、ベースバンドドライバコード３１８と、ローダー３１９と、が保存される。したがって、マイクロプロセッサ３２０は、前記保存部からコードを読み出して実行するように構成される。
【００３４】
この時、保存部に保存されるユーザ定義機能ブロック３１３及びパイプライン構成メタデータ３１５、ラジオコントローラコード３１７は、アプリケーションサーバーからダウンロードして前記保存部に設置される。
【００３５】
この場合、ダウンロードされたユーザ定義機能ブロックは、ソースコード、中間表現形態のコードまたは実行ファイルである。もし、ダウンロードしたユーザ定義機能ブロックがソースコードであれば、マイクロプロセッサ３２０に存在するコンパイラ３１６’はユーザ定義機能ブロックを端末で実行可能な形態でコンパイルして保存部３１０に保存する。
【００３６】
また、ダウンロードしたユーザ定義機能ブロックが装置独立的な中間形態であれば、ユーザ定義機能ブロックは、別途の変換過程なしで保存部３１０に設置される。但し、ベースバンド加速器にローディングされる場合、コンパイラ３１６’によりベースバンド加速器で実行可能に変換されてベースバンド加速器にローディングされることができる。この場合、コンパイラ３１６’はバックエンドコンパイラである。
【００３７】
一方、ベースバンド加速器が装置独立的な中間表現を支援したら、中間形態のユーザ定義機能ブロックの別途の変換なしで直接ベースバンド加速器にて実行される。この場合、標準機能ブロックも中間形態で作成することができる。
【００３８】
コンパイラ３１６は、バックエンドコンパイラであり、マイクロプロセッサ３２０は、保存部からコンパイラ３１６をロードし、ロードされたコンパイラ３１６’はユーザ定義機能ブロックを端末で実行可能な形態でコンパイルすることができる。
【００３９】
ここで、保存部３１０は、フラッシュメモリーなどの非揮発性(ＮＶ：Non-volatile)メモリーとＤ−ＲＡＭまたはＳ−ＲＡＭなどの揮発性メモリーを包括する構成要素として、前記ユーザ定義機能ブロック３１３及びパイプライン構成メタデータ３１５、コンパイラ３１６、ラジオコントローラコード３１７、ベースバンドドライバコード３１８及びローダー３１９を保存する構成要素である。したがって、マイクロプロセッサ３２０は、前記保存部から実行されるコードを読み出して実行するように構成される。
【００４０】
例えば、前記保存部３１０を構成する揮発性メモリーは、前記マイクロプロセッサ３２０のメモリースペース(memory space：アドレス領域)にマッピングされて実行される構成要素(ラジオコントローラ階層及びベースバンドドライバ階層など)を前記非揮発性メモリーから読み出して積載し、前記マイクロプロセッサ３２０により実行されるようにする構成要素である。
【００４１】
また、非揮発性メモリーも前記マイクロプロセッサ３２０のメモリースペースに直接的にマッピングされて存在することができ、この場合は、非揮発性メモリーに存在するコードがマイクロプロセッサ３２０により直接実行される。
【００４２】
標準機能ブロック３１１は、あらかじめ定義された標準ベースバンドインターフェースに基づいて作成された標準的な信号処理機能(例えば、ＤＦＴ、ＩＤＦＴ、ＦＦＴ、ＩＦＦＴ、チャンネルコーディング、インターリビングなど)を支援するための機能ブロックである。したがって、標準機能ブロック３１１は、本発明による端末装置において初期に設置されるかファームウエアまたはソフトウェアのアップグレードなどを通じてユーザに供給される部分である。
【００４３】
ユーザ定義機能ブロック３１３は、上述のようにラジオアプリケーション供給者が供給したもので、アプリケーションサーバーからダウンロードしてユーザが直接保存部３１０に設置した機能ブロックである。
【００４４】
パイプライン構成メタデータ３１５は、実行するアプリケーションを実現するために必要な機能ブロック間の連結及び機能ブロックが有する属性の初期値を記述する所定様式のデータファイルである。
【００４５】
一方、ユーザ定義機能ブロック３１３は、標準機能ブロックに実現できなかったベースバンドデジタル信号処理を含むことができる。すなわち、標準機能ブロックは、標準ベースバンドＡＰＩヘッダー２００に定義され、ラジオアプリケーション供給者は、標準ベースバンドＡＰＩヘッダー２００を参照してユーザ定義機能ブロックとパイプライン構成メタデータ３１５を定義するようになる。
【００４６】
ラジオコントローラ３１７’は、保存部に設置されたラジオコントローラコードがマイクロプロセッサにより読み出されて実行されるもので、非リアルタイムで動作して各ラジオアプリケーションによるラジオ信号に合わせる制御命令を受信すれば、これを標準ベースバンドインターフェースを利用してベースバンド加速器に伝達する役目をする。
【００４７】
また、ユーザ階層とベースバンド階層間のインターフェースを担当する。すなわち、ラジオコントローラは、受信データをベースバンド加速器から伝達を受けてネットワークスタック(図示せず)に伝達し、送信データをネットワークスタックからベースバンド加速器に伝達する。一方、上位階層にコンテクスト情報を伝達する必要がある場合、該当機能ブロックから上位階層までラジオコントローラを経てコンテクスト情報を伝達することができ、この時、上位階層はユーザアプリケーションになる。
【００４８】
この時、コンテクスト情報は、コンテクスト情報インターフェースを利用するようになる。コンテクスト情報インターフェースは、コンテクスト情報を伝達する必要のある機能ブロックから発生したコンテクスト情報をラジオコントローラが上位階層に伝達するために必要な、あらかじめ決まったインターフェースである。
【００４９】
マイクロプロセッサ３２０は、実行されるアプリケーションによってベースバンド加速器３３０−１〜３３０−５を制御するための制御命令を伝達するラジオコントローラコード３１７を保存部３１０から読み出して実行するように構成することができる。また、ベースバンドドライバ階層を含むコード３１８を保存部３１０から読み出して実行することができる。この時、ベースバンドドライバ３１８は、ラジオコントローラ３１７’とベースバンド加速器３３０がお互いにインターフェース可能にする役目を実行するように構成することができる。
【００５０】
また、マイクロプロセッサ３２０は、多様なアプリケーションの実行が本発明の端末で実行されるように、ユーザ定義機能ブロック３１３をベースバンド加速器にダウンロードしてベースバンド加速器を再構成する役目を果たす。
【００５１】
そのために、図３に示すように、少なくとも一つの機能ブロック３１１、３１３を保存部３１０からベースバンド加速器３３０−１〜３３０−５にローディングするように構成することができ、この時、パイプライン構成メタデータ３１５を参照してローダー３１９’を通じてアルゴリズム実行に必要な機能ブロックをベースバンド加速器３３０−１〜３３０−５に配置することができる。ローダー３１９’は、マイクロプロセッサにより保存部からローディングされて実行されるプログラムであり、実現例によっては、ベースバンドドライバ３１８’に含まれていてもよい。すなわち、ローダー３１９’は、パイプライン構成メタデータ３１５に記述されたすべての標準機能ブロック３１１とユーザ定義機能ブロック３１３をベースバンド加速器３３０−１〜３３０−５にローディングして実行されるようにする。
【００５２】
一方、ベースバンド加速器にローディングされる機能ブロックは、ベースバンド加速器をリアルタイムで制御するベースバンド制御機能ブロックを含むことができ、この場合、ローダー３１９’は、パイプライン構成メタデータに基づいて前記ローディングされた機能ブロックの動作手順を定義するパイプラインを設定し、前記パイプライン設定情報を前記ベースバンド制御機能ブロックに伝達して、ベースバンド制御機能ブロックが伝達されたパイプラインによってベースバンド加速器を制御するようにする。
【００５３】
（ラジオアプリケーションの構成及び配布方法に対する実施例）
以下、本発明の一実施形態によるソフトウェア定義ラジオ端末装置のためのラジオアプリケーションの構成とその配布過程について説明する。
【００５４】
図４は、本発明の一実施形態によるラジオアプリケーションの配布過程を説明するためのフローチャートである。
【００５５】
図５は、本発明の一実施形態によるラジオアプリケーションが生成される過程を示す構成図である。
【００５６】
図４を参照すれば、本発明の一実施形態によるラジオアプリケーションの配布過程は、アプリケーションパッケージ生成ステップ(ステップＳ４１０)と、アプリケーションパッケージ配布ステップ(ステップＳ４２０)と、を含んで構成される。
【００５７】
また、図４を参照すれば、アプリケーションパッケージ生成ステップ(ステップＳ４１０)は、ユーザ定義コード生成及びコンパイルステップと、ラジオコントローラコード生成及びコンパイルステップと、パイプライン構成メタデータ生成ステップと、パッケージ生成ステップと、を含んで構成される。
【００５８】
一方、図５を参照すれば、本発明の一実施形態によるラジオアプリケーションは、ユーザ定義コード５１０と、ラジオコントローラコード５２０と、パイプライン構成メタデータ５３０と、で構成されたアプリケーションパッケージ５００の形態で生成される。
【００５９】
以下、図４と図５を参照して本発明の一実施形態によるラジオアプリケーションの配布過程の各ステップについてより詳しく説明する。
【００６０】
アプリケーションパッケージ生成ステップ(ステップＳ４１０)は、ソフトウェア定義ラジオ端末で実行されるラジオアプリケーションを生成するステップである。アプリケーションパッケージは、図５に示すように、ユーザ定義コード５１０と、ラジオコントローラコード５２０と、パイプライン構成メタデータ５３０と、で構成される。
【００６１】
ここで、ユーザ定義コード５１０は、実行しようとするラジオアプリケーションを実現するために必要な機能ブロックを定義するコードであり、ラジオコントローラコード５２０は、該当ラジオアプリケーションを実現するために必要な機能ブロックを制御するように作成されたコードである。また、ユーザ定義コードで定義する機能ブロックは、標準ベースバンドＡＰＩヘッダー２００に定義された標準機能ブロックに実現されなかったベースバンドデジタル信号処理の実現と関連づけられる。
【００６２】
一方、ユーザ定義コード５１０は、アプリケーションパッケージ５００が設置された端末装置のベースバンド加速器３３０で直接実行可能なコード、実行のためのコンパイルを要するソースコード(source code)または中間表現(ＩＲ:Intermediate Representation)の中でいずれの一つの形態で構成できる。
【００６３】
したがって、ユーザ定義コード５１０が中間表現の形態であれば、フロントエンドコンパイラによりコンパイルされたものであり、直接実行可能なコード形態であれば、バックエンドコンパイラによりコンパイルされたものである。
【００６４】
ラジオコントローラコード５２０には、要求されるラジオアプリケーションを実現するために必要な機能ブロックを制御して装置のオペレーションシステムとインターフェースするためのコードが実現される。ラジオコントローラコード５２０は、コンパイラにより実行可能な形態でコンパイルされたコードである。
【００６５】
一方、パイプライン構成メタデータ５３０は、該当ラジオアプリケーションを実現するために必要な機能ブロック及び機能ブロック間の連結を定義することができ、標準ベースバンドＡＰＩヘッダー２００に含まれた標準機能ブロックとユーザ定義コード５１０で定義する機能ブロック間の連結及び各機能ブロックが有する属性の初期値に対する記述を含むことができる。
【００６６】
このように生成されたユーザ定義コード５１０、ラジオコントローラコード５２０及びパイプライン構成メタデータ５３０は、サーバーにアップロードされた後該当ラジオアプリケーションを必要とする端末にダウンロードされ設置されるようにアプリケーションパッケージ５００の形態で生成される。
【００６７】
アプリケーションパッケージ配布ステップ(ステップＳ４２０)では、上述のように生成されたアプリケーションパッケージ５００をラジオアプリケーション配布サーバーにアップロードして該当ラジオアプリケーションを要するソフトウェア定義ラジオ端末にダウンロードできるようにする。
【００６８】
（ソフトウェア定義ラジオ端末アプリケーションの設置方法に対する実施例）
以下、本発明の一実施形態によるラジオアプリケーションの設置過程について説明する。
【００６９】
図６は、本発明の一実施形態によるラジオアプリケーションの設置過程を説明するためのフローチャートである。
【００７０】
図６を参照すると、本発明の一実施形態によるラジオアプリケーションの設置過程は、アプリケーションパッケージのダウンロードステップ(ステップＳ６１０)及びアプリケーションパッケージ設置ステップ(ステップＳ６２０)を含んで構成される。
【００７１】
以下、図６を参照して本発明の一実施形態によるラジオアプリケーションの設置過程の各ステップについてより詳しく説明する。
【００７２】
アプリケーションパッケージのダウンロードステップ(ステップＳ６１０)は、ソフトウェア定義ラジオ端末で実行されるラジオアプリケーションを配布サーバーからダウンロードするステップで、図５に示したように、ユーザ定義コード５１０、ラジオコントローラコード５２０、パイプライン構成メタデータ５３０で構成されたアプリケーションパッケージ５００を配布サーバーからソフトウェア定義ラジオ端末にダウンロードする。
【００７３】
アプリケーションパッケージ設置ステップ(ステップＳ６２０)は、配布サーバーからダウンロードしたアプリケーションパッケージを端末で実行できる形態で設置する段階として、ユーザ定義コードをコンパイルするステップ(ステップＳ６２１)と、保存部に設置するステップ(ステップＳ６２５)と、ユーザ定義機能ブロックをローディングするステップ(ステップＳ６２７)と、を含んで構成される。
【００７４】
ユーザ定義コードをコンパイルするステップ(ステップＳ６２１)は、ダウンロードしたアプリケーションパッケージ５００に含まれたユーザ定義コード５１０が端末のベースバンド加速器３３０で直接実行可能なコードではなく、ソースコードや中間形態で表現された場合、端末のベースバンド加速器で直接実行可能なコードの形態でコンパイルしてユーザ定義機能ブロックを生成するステップである。
【００７５】
また、保存部に設置するステップ(ステップＳ６２５)は、ダウンロードしたアプリケーションパッケージ５００に含まれたパイプライン構成メタデータ５３０、ユーザ定義コード５１０に含まれたユーザ定義機能ブロック、ラジオコントローラコード５２０及びあらかじめ定義された標準ベースバンドインターフェースに基づいて作成された標準的なコマンドが明示された標準機能ブロック３１１をパイプライン構成メタデータ５３０を参照して端末の保存部に設置するステップである。
【００７６】
ユーザ定義機構ブロックをローディングするステップ(ステップＳ６２７)は、ダウンロードしたアプリケーションパッケージ５００のユーザ定義コード５１０に含まれたユーザ定義機能ブロックをベースバンド加速器３３０に直接ローディングするステップである。この時、ユーザ定義コード５１０がベースバンド加速器３３０で直接実行可能なコードの形態で作成されていたら、ユーザ定義コードをコンパイルするステップ(ステップＳ６２１)を経由しないでユーザ定義コード５１０に含まれたユーザ定義機能ブロックをベースバンド加速器３３０に直接ローディングできる。
【００７７】
図７は、本発明の一実施形態による端末にラジオアプリケーションが実現されて動作する例を示すブロック図である。
【００７８】
図７を参照すれば、ＯＦＤＭ(Orthogonal Frequency Division Multiplexing)方式のラジオアプリケーションを音声チャンネルが別途存在しない端末で実現したとき、機能ブロックがローディングされて処理される動作過程を示すパイプラインの構成が示されている。
【００７９】
ターボエンコーダー７５２とターボデコーダー７６２がユーザ定義機能ブロックの形態で実現されて、伝送パイプラインの他のブロック７５１、７５３〜７５６と受信パイプラインの他のブロック７６１、７６３〜７６６は標準機能ブロックの形態で実現される。
【００８０】
一方、伝送パイプライン(Transmit Pipeline)は、ＭＡＣ７４０が送信するデータを処理し、受信パイプライン(Receive Pipeline)は、受信されたデータを処理してＭＡＣ７４０に伝送する。ここで、ラジオコントローラ７３０は、ＭＡＣ７４０とネットワークスタック７２０との間のデータ交換を担当する。また、ラジオコントローラ７３０は、オペレーションシステムに内蔵されたネットワーク管理者７１０の制御命令に対応するインターフェースを提供することで、ネットワーク管理者７１０の制御命令を受信することができる。ネットワーク管理者７１０は、送受信信号の品質、信号強度のような無線信号の状態情報(Context Information)を視覚化してユーザに伝達するか、ユーザによる接続チャンネルの選択、無線信号の暗号化アルゴリズムの選択のような制御情報をラジオコントローラ７３０に伝達して、ユーザが意図する無線信号の制御が実行できるようにする。
【００８１】
図８は、本発明の他の実施形態による端末にラジオアプリケーションが実現されて動作する例を示すブロック図である。
【００８２】
図８を参照すれば、音声チャンネルが別途存在する端末機に本発明によるラジオアプリケーションを実現する場合の例を示す。
【００８３】
以下、図８を参照してラジオコントローラがアプリケーションプロセッサで動作するモバイルオペレーションシステム内部の機能と実行する相互作用について説明する。
【００８４】
一般的に、モバイルオペレーションシステムでは、フォンアプリケーションが端末で音声及びＳＭＳを送受信する電話機の機能を実行する。また、フォンアプリケーション８１１の内部には、一般的に音声通話機能の以外にも通話内訳を追跡してユーザに知らせる通話追跡機能８１２とＳＭＳを受信及び発信するＳＭＳディスパッチ機能８１３、データ送受信使用量の内訳を知らせるデータ追跡機能８１５などが存在する。このようなフォンアプリケーション８１１の機能は、モバイルオペレーションシステムで提供されるフォンライブラリ８２１を通じて実現され、このフォンライブラリ８２１はラジオインターフェース階層(ＲＩＬ：Radio Interface Layer)８２２にベースバンドプロセッサ８４１の制御と関連された命令を伝達する。
【００８５】
ラジオコントローラ８３１は、モバイルオペレーションシステムの無線ネットワーク制御信号及び音声制御信号によってベースバンドプロセッサ８４１を制御するための信号を伝達することができる。また、ラジオコントローラ８３１は、ベースバンドプロセッサ８４１で送受信された信号が音声の場合、これをフォンアプリケーション８１１と送受信し、ベースバンドプロセッサ８４１で送受信された信号がデータの場合、これをネットワークスタック８２３と送受信する。これによって、端末機のユーザに音声通話機能と無線ネットワーキング機能とを同時に提供することができる。
【００８６】
また、ラジオアプリケーションで支援する無線信号によって一部ＭＡＣの上位階層機能を含む。図８を参照すると、ラジオコントローラ８３１をＲＩＬ８２２と連結することで、ＲＩＬ８２２の制御命令に従ってベースバンドプロセッサ８４１がラジオコントローラ８３１を通じて制御されるようにアプリケーションフレームワーク８２０及びラジオアプリケーションフレームワーク８３０を構成することができる。
【００８７】
これによって、各ラジオアプリケーションに合わせて用意したラジオコントローラをＲＩＬ８２２に連結させることで、ラジオアプリケーションに独立的なフォンアプリケーション８１１がラジオコントローラ８３１を通じてラジオアプリケーションに依存的なベースバンドプロセッサ８４１を制御できるようになる。
【００８８】
したがって、ラジオアプリケーションが変更されてもフォンアプリケーション８１１の変更なしで上述のフォンアプリケーションの機能を持続的に実行することができる。
【００８９】
図９は、本発明の一実施形態による中間形態で表現されたユーザ定義コードを含むアプリケーションが配布される過程を説明するブロック図である。
【００９０】
図９を参照すると、ラジオアプリケーションの製作時に作成されるユーザ定義コード９１１は、高級言語、例えば、Ｃ/Ｃ＋＋で作成できる。ユーザ定義コード９１１は、フロントエンドコンパイラ９１２を経て中間表現(Intermediate Representation)ファイル９１３に変更される。
【００９１】
中間表現ファイル９１３は高級言語よりは機械語に近接するレベルの形態でモデムハードウェアに独立的である。このように作成された中間表現ファイル９１３は、ラジオアプリケーションに含まれて各端末に配布される。この時、端末での設置過程でバックエンドコンパイラ９３１〜９３５により端末に内蔵されたモデムハードウェアで作動可能なマシンコード(Machine Code)９４１〜９４５に変換される。バックエンドコンパイラ９３１〜９３５は、各端末に設置されたモデムハードウェアに最適化されたマシンコードを生成しなければならないので、モデムハードウェアに依存的な部分である。モデムハードウェア製造社では、自分のモデムに最適化されたバックエンドコンパイラを製作して自分のモデムチップを使用した端末機会社に提供することができる。
【００９２】
図１０は、本発明のラジオアプリケーションがオンラインストアで取り引きされる例を示す概念図である。
【００９３】
図１０を参照すれば、本発明の一実施形態によるソフトウェア定義ラジオ端末装置１０００は、装着されたモデムチップに依存しないでオンラインストア１１００からＬＴＥ(Longterm Evolution：登録商標)、ＷＣＤＭＡ(Wideband Code Division Multiple Access：登録商標)、ＷｉＭＡＸ(Worldwide Interoperability for Microwave Access：登録商標)、ＧＳＭ(Global System for MobileCommunications：登録商標)、ＲＦＩＤ(Radio-FrequencyIdentification)を含む汎用ラジオアプリケーションの中の一つを選択してダウンロードして設置して該当アプリケーションの通信方式で動作することができ、無電機、無線マイク及び無線電話機の機能でも活用が可能である。
【００９４】
以上において説明した本発明は、本発明が属する技術の分野における通常の知識を有する者であれば、本発明の技術的思想を逸脱しない範囲内で、様々な置換、変形及び変更が可能であり、上述の実施例及び添付の図面に限定されるものではない。
【図１】
0006043726.tif 000002
【図２】
0006043726.tif 000003
【図３】
0006043726.tif 000004
【図４】
0006043726.tif 000005
【図５】
0006043726.tif 000006
【図６】
0006043726.tif 000007
【図７】
0006043726.tif 000008
【図８】
0006043726.tif 000009
【図９】
0006043726.tif 000010
【図１０】
0006043726.tif 000011