(57)【要約】  ソフトウェア無線機は、ハードウェア・モジュールを有し、前記ハードウェア・モジュールを制御する無線通信ソフトウェアを外部よりダウンロードして無線機機能を実現し、分散オブジェクトにより前記無線通信ソフトウェアを切り替える。ソフトウェア無線機は、前記ハードウェア・モジュールから前記無線通信ソフトウェアが使用するハードウェアを選択する場合、当該選択したハードウェアの第一所定情報を伝達する第一手段と、当該選択が再選択の場合に選択前の前記無線通信ソフトウェアの実行を中断すると共に再選択後のハードウェアの第二所定情報を伝達する第二手段と、現在選択中のハードウェアの所定情報を伝達する第三手段と、を備え、既に選択中のハードウェアを誤って選択した場合に異常として検出する。
2020174599.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア・モジュールを有し、前記ハードウェア・モジュールを制御する無線通信ソフトウェアを外部よりダウンロードして無線機機能を実現し、分散オブジェクトにより前記無線通信ソフトウェアを切り替えるソフトウェア無線機であって、
前記ハードウェア・モジュールから前記無線通信ソフトウェアが使用するハードウェアを選択する場合、当該選択したハードウェアの第一所定情報を伝達する第一手段と、
当該選択が再選択の場合に選択前の前記無線通信ソフトウェアの実行を中断すると共に再選択後のハードウェアの第二所定情報を伝達する第二手段と、
現在選択中のハードウェアの所定情報を伝達する第三手段と、
を備え、
既に選択中のハードウェアを誤って選択した場合に異常として検出するソフトウェア無線機。
【請求項２】
請求項１のソフトウェア無線機において、さらに、
前記ハードウェア・モジュールを駆動するハードウェアデバイスドライバと、
通信路に仮想配置され、通信路の選択を行う仮想デバイスドライバと、
を備えるソフトウェア無線機。
【請求項３】
請求項２のソフトウェア無線機において、
前記ソフトウェア無線機の起動時に起動される環境ソフトウェアは、ユーザインタフェースソフトウェア、ドメイン管理ソフトウェア、ハードウェア管理ソフトウェアおよびハードウェア制御ソフトウェアを有し、
前記仮想デバイスドライバは前記ハードウェア制御ソフトウェアと前記ハードウェアデバイスドライバとの仲立ちに配置され、前記ハードウェアデバイスドライバの通信路の管理を行うソフトウェア無線機。
【請求項４】
請求項３のソフトウェア無線機において、
電源投入時の起動シーケンスは前記第一手段を含み、
前記第一手段は、
前記ユーザインタフェースソフトウェアが前記ハードウェア制御ソフトウェアに前記第一所定情報を指示する処理と、
前記ハードウェア制御ソフトウェアが前記第一所定情報に基づいて前記仮想デバイスドライバに通信路を指示する処理と、
前記仮想デバイスドライバが前記通信路に基づいて前記ハードウェアデバイスドライバに使用を予約し、前記ハードウェアの起動を行う処理と、
を有するソフトウェア無線機。
【請求項５】
請求項４のソフトウェア無線機において、
通信系統変更シーケンスは前記第二手段を含み、
前記第二手段は、
前記ユーザインタフェースソフトウェアが前記無線通信ソフトウェアを一時停止させる処理と、
前記ハードウェア制御ソフトウェアに前記第二所定情報を指示する処理と、
前記ハードウェア制御ソフトウェアが前記第二所定情報に基づいて前記仮想デバイスドライバに通信路の変更を指示する処理と、
前記仮想デバイスドライバが変更前の通信路のハードウェアデバイスドライバの解放および前記ハードウェアの停止を行い、変更後の通信路のハードウェアデバイスドライバに使用を予約し別のハードウェアの起動を行う処理と、
を有するソフトウェア無線機。
【請求項６】
請求項４のソフトウェア無線機において、
前記電源投入時の起動シーケンスは、さらに、
前記ユーザインタフェースソフトウェアが前記ハードウェア制御ソフトウェアに前記無線通信ソフトウェアの起動を指示する処理と、
前記ハードウェア制御ソフトウェアが前記仮想デバイスドライバの初期化および通信設定を行う処理と、
前記仮想デバイスドライバが前記ハードウェアデバイスドライバの全系統分の接続情報を設定する処理と、
前記ハードウェア制御ソフトウェアが前記無線通信ソフトウェアの起動を指示する処理と、
前記ドメイン管理ソフトウェアが前記無線通信ソフトウェアの初期化および設定処理を行い、前記無線通信ソフトウェアのソフトウェアプログラム同士のＣＯＲＢＡの通信接続を行う処理と、
前記ユーザインタフェースソフトウェアが前記無線通信ソフトウェアに運用開始を指示する処理と、
前記ユーザインタフェースソフトウェアが前記無線通信ソフトウェアにシステムパラメータを設定する処理と、
前記ハードウェア制御ソフトウェアが予約された前記ハードウェアデバイスドライバにシステムパラメータを設定する処理と、
を有するソフトウェア無線機。
【請求項７】
請求項５のソフトウェア無線機において、
前記通信系統変更シーケンスは、さらに、
前記ユーザインタフェースソフトウェアが前記無線通信ソフトウェアに再開始を指示する処理と、
前記無線通信ソフトウェアが前記ハードウェア制御ソフトウェアを初期化する処理と、
を有するソフトウェア無線機。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はソフトウェア無線機に関する。
【背景技術】
【０００２】
近年の情報システムの拡大および複雑化に伴って、システムの開発コストを最小化し、かつ運用後の保守を容易にするために、システムの機能分割と分散配置、コンポーネント化と再利用、標準技術の採用と相互運用性等の実現が望まれている。【０００３】
このために分散オブジェクト技術が採用されており、例えば、ＣＯＲＢＡ（Common Object Request Broker Architecture）は、分散オブジェクト技術の標準技術として広く利用されている。ＣＯＲＢＡは、分散環境でクライアントがサーバのオブジェクトにアクセスするためのソフトウェアバスを提供する標準技術であって、ＯＭＧ（Object Management Group）という標準化団体が標準化した仕様である。ＣＯＲＢＡでは、ＯＳ（Operating System）に依存しないインタフェースを定義する言語であるＩＤＬ（Interface Definition Language）を用いてインタフェースを定義し、このインタフェースで表されたメソッドをコールすることで、他モジュールのソフトウェアの機能を実行できるようになっている。物理的な接続は、ＩＰ（Internet Protocol）／ＩＩＯＰ（Internet Inter-ORB Protocol）通信が対応した接続媒体を通じて行う。【０００４】
一方、ソフトウェア無線機は、ソフトウェアプログラムによって無線機の実行プログラムを切り替えることにより、無線機における同一のハードウェアリソースで複数の無線方式に対応できる無線機である。ソフトウェア無線機においては、ネットワークから所望の機能を定義したファイルをダウンロードすることによって、ソフトウェア無線機内のモジュールの構成を変更し、複数の無線通信方式を実現するようになっている。ソフトウェア無線機においても分散オブジェクト技術を利用して複数のソフトウェアプログラムを部品（コンポーネント）として組み合わせて無線機機能を実現するものが開発されている。【０００５】
無線機機能は、変復調方式、周波数等及びその用途に適合した機能を実現するソフトウェアプログラムをダウンロードすることによって実現する。ＣＯＲＢＡのような分散オブジェクト技術を利用すれば、変復調を行うモデム部や、セキュリティ部、通信方式部（プロトコル部）、制御部等のソフトウェアプログラム（無線通信ソフトウェア）がシステム上に分散されて配置されていても、相互接続を行うことができ、全体としてソフトウェア無線機システムを実現することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２０１８／１６８３４３号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本開示の課題は、無線通信ソフトウェアのハードウェア選択およびハードウェア再選択を容易にするソフトウェア無線機を提供することにある。
【課題を解決するための手段】
【０００８】
本開示のうち、代表的なものの概要を簡単に説明すれば、下記のとおりである。
すなわち、ソフトウェア無線機は、ハードウェア・モジュールを有し、前記ハードウェア・モジュールを制御する無線通信ソフトウェアを外部よりダウンロードして無線機機能を実現し、分散オブジェクトにより前記無線通信ソフトウェアを切り替える。ソフトウェア無線機は、前記ハードウェア・モジュールから前記無線通信ソフトウェアが使用するハードウェアを選択する場合、当該選択したハードウェアの第一所定情報を伝達する第一手段と、当該選択が再選択の場合に選択前の前記無線通信ソフトウェアの実行を中断すると共に再選択後のハードウェアの第二所定情報を伝達する第二手段と、現在選択中のハードウェアの所定情報を伝達する第三手段と、を備え、既に選択中のハードウェアを誤って選択した場合に異常として検出する。
【発明の効果】
【０００９】
上記ソフトウェア無線機によれば、無線通信ソフトウェアのハードウェア選択およびハードウェア再選択を容易にすることができる。
【図面の簡単な説明】
【００１０】
【図１】ソフトウェア無線機を説明する図である。
【図２】第一実施形態のソフトウェア無線機のソフトウェア構造を示す図である。
【図３】図２の無線通信ソフトウェアの起動シーケンスを示す図である。
【図４】図２の無線通信ソフトウェアの起動シーケンスを示す図である。
【図５】図２の無線通信ソフトウェアの起動シーケンスを示す図である。
【図６】図２の無線通信ソフトウェアの終了シーケンスを示す図である。
【図７】図２の無線通信ソフトウェアの通信系統変更シーケンスを示す図である。
【図８】第二実施形態のソフトウェア無線機のソフトウェア構造を示す図である。
【図９】図８の無線通信ソフトウェアの起動シーケンスを示す図である。
【図１０】図８の無線通信ソフトウェアの起動シーケンスを示す図である。
【図１１】図８の無線通信ソフトウェアの起動シーケンスを示す図である。
【図１２】図８の無線通信ソフトウェアの通信系統変更シーケンスを示す図である。
【図１３】図８の無線通信ソフトウェアの通信系統変更シーケンスを示す図である。
【発明を実施するための形態】
【００１１】
以下、実施形態について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。
【００１２】
（ソフトウェア無線機）
ソフトウェア無線技術とは、ハードウェアそのものには変更を加えることなく、制御ソフトウェアを変更することによって無線通信方式を切り替えることが可能な無線通信技術である。図１にソフトウェア無線機１００の概要を示す。  
ソフトウェア無線機１００のハードウェア・モジュールとしては、アンテナ１０１、高周波部１０２、Ａ／Ｄ・Ｄ／Ａ部１０３、デジタル信号処理部１０４、制御部１０５を含む。アンテナ１０１は無線周波数信号の送受信を行う。高周波部１０２は、アンテナ１０１で受信した無線周波数帯の受信信号を低周波数帯の受信信号に変換する、または低周波数帯の送信信号を無線周波数帯の送信信号に変換する。Ａ／Ｄ・Ｄ／Ａ部１０３は、受信したアナログ信号をデジタル信号に変換するＡ／Ｄ変換器（ＡＤＣ）および送信するデジタル信号をアナログ信号に変換するＤ／Ａ変換器（ＤＡＣ）をそれぞれ複数チャネル（通信系統）備える。デジタル信号処理部１０４は、送信信号の符号化、受信信号の復号化等の処理を行い、送信信号および受信信号を入出力するシリアル・ペリフェラル・インタフェース（ＳＰＩ）を複数チャネル（通信系統）備える。制御部１０５は、例えばソフトウェアプログラムを格納するメモリとそのメモリに格納されたソフトウェアプログラムを実行するＣＰＵとを備え、ネットワーク１０６を介して制御端末１０７からの制御を受けるとともに、ソフトウェア無線機のハードウェア・モジュールの制御を行う。
【００１３】
＜第一実施形態＞
（ソフトウェア構造）
図２に第一実施形態のソフトウェア無線機１００のソフトウェア構造を示す。  
ハードウェア・モジュール＃１（２２１）、ハードウェア・モジュール＃２（２２２）、ハードウェア・モジュール＃３（２２３）はそれぞれ図１のＡ／Ｄ・Ｄ／Ａ部１０３、デジタル信号処理部１０４、高周波部１０２に相当する。ハードウェア＃１デバイスドライバ２１１、ハードウェア＃２デバイスドライバ２１２、ハードウェア＃３デバイスドライバ２１３はそれぞれ、これらのハードウェア・モジュール＃１（２２１）、ハードウェア・モジュール＃２（２２２）、ハードウェア・モジュール＃３（２２３）を駆動する。これらは所定のＯＳ（Operating System）２０９上で動作するが、ＣＯＲＢＡミドルウェア２０８により、アプリケーションとＯＳ・ハードウェアとが分離可能とされている。
【００１４】
ソフトウェア無線機１００に電源投入されると、まずＯＳ２０９、ハードウェア＃１デバイスドライバ２１１、ハードウェア＃２デバイスドライバ２１２、ハードウェア＃３デバイスドライバ２１３、ＣＯＲＢＡミドルウェア２０８が起動される。続いて、環境ソフトウェア２１５が起動される。環境ソフトウェア２１５はソフトウェア無線機１００が動作するために、常時起動されている必要のあるソフトウェアプログラムであり、ユーザインタフェースソフトウェア２０１、ドメイン管理ソフトウェア２０２、ハードウェア管理ソフトウェア２０４、ハードウェア＃１制御ソフトウェア２０５、ハードウェア＃２制御ソフトウェア２０６が含まれている。ハードウェア＃１制御ソフトウェア２０５、ハードウェア＃２制御ソフトウェア２０６もそれぞれハードウェア＃１デバイスドライバ２１１、ハードウェア＃２デバイスドライバ２１２に対応し、図示しないハードウェア＃３制御ソフトウェアはハードウェア＃３デバイスドライバ２１３に対応して設けられ、これらを制御する上位のソフトウェアプログラムである。
【００１５】
ハードウェア＃１制御ソフトウェア２０５は、第一チャネルのＡＤＣ（ＡＤＣ＃１）の制御ソフトウェアであるハードウェア＃１制御ソフトウェア２０５ａと、第二チャネルのＡＤＣ（ＡＤＣ＃２）の制御ソフトウェアであるハードウェア＃２制御ソフトウェア２０５ｂと、を有する。ハードウェア＃２制御ソフトウェア２０６は、第一チャネルのＳＰＩ（ＳＰＩ＃１）の制御ソフトウェアであるハードウェア＃１制御ソフトウェア２０６ａと、第二チャネルのＳＰＩ（ＳＰＩ＃２）の制御ソフトウェアであるハードウェア＃２制御ソフトウェア２０６ｂと、を有する。
【００１６】
以下、ハードウェア＃１制御ソフトウェア２０５およびハードウェア＃１デバイスドライバ２１１について説明するが、ハードウェア＃２制御ソフトウェア２０６およびハードウェア＃２デバイスドライバ２１２、並びにハードウェア制御＃３ソフトウェア（不図示）およびハードウェア＃３デバイスドライバ２１３も同様である。
【００１７】
ソフトウェア無線機１００の特徴として、フィルタ、変復調、等化、同期機能などの無線機能をプログラブル化し、ソフトウェアプログラムの書き換えにより無線パラメータである変調方式、送受信周波数、帯域幅、伝送速度などのシステム固有の無線機能を変更可能としている。これら書き換えられるソフトウェアプログラムが、無線通信ソフトウェア２０３である。このため、無線通信ソフトウェア２０３は電源投入時でも起動可能だが、その多くはユーザインタフェースソフトウェア２０１からの指示に基づいて起動する。
【００１８】
ユーザインタフェースソフトウェア２０１は、ドメイン管理ソフトウェア２０２および無線通信ソフトウェア２０３と接続・通信する。ドメイン管理ソフトウェア２０２はユーザインタフェースソフトウェア２０１の他、ハードウェア管理ソフトウェア２０４と接続し、ハードウェア管理ソフトウェア２０４はハードウェア＃１制御ソフトウェア２０５と接続する。ハードウェア＃１制御ソフトウェア２０５は、無線通信ソフトウェア２０３およびハードウェア＃１デバイスドライバ２１１と接続し、無線通信ソフトウェア２０３はユーザインタフェースソフトウェア２０１およびハードウェア＃１制御ソフトウェア２０５と接続する。なお、図示していないが、ハードウェア管理ソフトウェア２０４は無線通信ソフトウェア２０３およびハードウェア＃１デバイスドライバ２１１と接続する。
【００１９】
（起動シーケンス）
図３〜５に図２のソフトウェア構造を有するソフトウェア無線機１００および無線通信ソフトウェア２０３の起動シーケンスを示す。図３の下端のステップは図４の上端のステップに繋がり、図４の下端のステップは図５の上端のステップに繋がる。  
以下、ハードウェア制御＃１ソフトウェア２０５およびハードウェア＃１デバイスドライバ２１１について説明するが、ハードウェア制御＃２ソフトウェア２０６およびハードウェア＃２デバイスドライバ２１２、並びにハードウェア制御＃３ソフトウェア（不図示）およびハードウェア＃３デバイスドライバ２１３も同様である。
【００２０】
ソフトウェア無線機１００が電源投入（電源ＯＮ）される（ステップＳ３１）と、まずＯＳ２０９、ハードウェア＃１デバイスドライバ２１１、ＣＯＲＢＡミドルウェア２０８が起動される。続いて、図３に示すように、ＯＳ２０９はユーザインタフェースソフトウェア２０１、ドメイン管理ソフトウェア２０２およびハードウェア管理ソフトウェア２０４を起動する（ステップＳ３１ａ〜Ｓ３１ｃ）。この際、ユーザインタフェースソフトウェア２０１、ドメイン管理ソフトウェア２０２およびハードウェア管理ソフトウェア２０４はそれぞれ起動した旨の確認応答をＯＳ２０９に行う（ステップＳ３１ｅ〜Ｓ３１ｇ）。ハードウェア管理ソフトウェア２０４はハードウェア＃１制御ソフトウェア２０５を起動し（ステップＳ３１ｄ）、ハードウェア＃１制御ソフトウェア２０５は起動した旨の確認応答をハードウェア管理ソフトウェア２０４に行う（ステップＳ３１ｈ）。また、ハードウェア管理ソフトウェア２０４はＯＳ２０９にハードウェア＃１制御ソフトウェア２０５が起動した旨の確認応答を行う（ステップＳ３１ｉ）。これらにより、ユーザインタフェースソフトウェア２０１、ドメイン管理ソフトウェア２０２、ハードウェア管理ソフトウェア２０４およびハードウェア＃１制御ソフトウェア２０５は環境ソフトウェア２１５として起動される。
【００２１】
次に、図３に示すように、ユーザが第一チャネルのＡＤＣ（ＡＤＣ＃１）を使用する無線通信ソフトウェアの起動指示をユーザインタフェースソフトウェア２０１に与える（ステップＳ３２）と、ユーザインタフェースソフトウェア２０１はドメイン管理ソフトウェア２０２に規定のインタフェースで、起動する無線通信ソフトウェア２０３を指示する（ステップＳ３２ａ）。ドメイン管理ソフトウェア２０２は、ハードウェア管理ソフトウェア２０４を介して、ＡＤＣ＃１の制御ソフトウェアであるハードウェア＃１制御ソフトウェア２０５ａに無線通信ソフトウェア２０３の起動を指示する（ステップＳ３２ｂ，Ｓ３２ｃ）。ハードウェア＃１制御ソフトウェア２０５ａはハードウェア＃１デバイスドライバ２１１を初期化および通信設定を行う（ステップＳ３２ｈ）。ハードウェア＃１デバイスドライバ２１１は確認応答をハードウェア＃１制御ソフトウェア２０５ａに行う（ステップＳ３２ｉ）。
【００２２】
次に、図４に示すように、ハードウェア＃１制御ソフトウェア２０５ａは無線通信ソフトウェア２０３を起動する（ステップＳ３２ｄ）。無線通信ソフトウェア２０３は起動した旨の確認応答をハードウェア＃１制御ソフトウェア２０５ａおよびハードウェア管理ソフトウェア２０４を介して、ドメイン管理ソフトウェア２０２に行う（ステップＳ３２ｅ〜Ｓ３２ｇ）。無線通信ソフトウェア２０３はドメイン管理ソフトウェア２０２に無線通信ソフトウェア情報を伝える（ステップＳ３３）。無線通信ソフトウェア２０３の起動時に無線通信ソフトウェア２０３はＣＯＲＢＡサーバントとして動作する。以降は、ドメイン管理ソフトウェア２０２が無線通信ソフトウェア２０３とＣＯＲＢＡ通信を利用して、初期化や設定処理を実行する（ステップＳ３４ａ）。無線通信ソフトウェア２０３は初期化や設定処理が行われた旨の確認応答を行う（ステップＳ３４ｂ）。その後、無線通信ソフトウェア２０３のソフトウェアプログラム同士のＣＯＲＢＡの通信接続処理を行い（ステップＳ３５ａ）、無線通信ソフトウェア２０３がハードウェア＃１制御ソフトウェア２０５ａとのＣＯＲＢＡの通信接続処理を行い（ステップＳ３５ｂ）、ハードウェア＃１制御ソフトウェア２０５ａがその確認応答を行い（ステップＳ３５ｃ）、無線通信ソフトウェア２０３がその確認応答を行う（ステップＳ３５ｄ）。
【００２３】
その後、無線通信ソフトウェア２０３とユーザインタフェースソフトウェア２０１間の接続を行って、ドメイン管理ソフトウェア２０２は無線通信ソフトウェア２０３に運用開始指示し（ステップＳ３６ａ）、無線通信ソフトウェア２０３はハードウェア＃１制御ソフトウェア２０５ａに運用開始を指示し（ステップＳ３６ｂ）、ハードウェア＃１制御ソフトウェア２０５ａは無線通信ソフトウェア２０３に確認応答を行い（ステップＳ３６ｃ）、無線通信ソフトウェア２０３はドメイン管理ソフトウェア２０２に確認応答を行い（ステップＳ３６ｄ）、システム運用可能とする。ドメイン管理ソフトウェア２０２は、無線通信ソフトウェア情報をユーザインタフェースソフトウェア２０１に伝えて（ステップＳ３７）、ユーザインタフェースソフトウェア２０１は運用可能表示等を行う（ステップＳ３８）。運用可能表示等には現在選択中の通信系統情報のハードウェア情報が含まれ、ユーザに伝達される。
【００２４】
次に、図５に示すように、ユーザがシステムパラメータ設定等の指示をユーザインタフェースソフトウェア２０１に与える（ステップＳ３９）と、ユーザインタフェースソフトウェア２０１は無線通信ソフトウェア２０３にシステムパラメータ設定等を行う（ステップＳ３９ａ）。無線通信ソフトウェア２０３はハードウェア管理ソフトウェア２０４にシステムパラメータ設定等を行い（ステップＳ３９ｂ）、ハードウェア管理ソフトウェア２０４はハードウェア＃１デバイスドライバ２１１にシステムパラメータ設定等を行い（ステップＳ３９ｃ）、ハードウェア＃１デバイスドライバ２１１はハードウェア管理ソフトウェア２０４にシステムパラメータ設定等がされた旨の確認応答を行い（ステップＳ３９ｄ）、ハードウェア管理ソフトウェア２０４は無線通信ソフトウェア２０３にシステムパラメータ設定等がされた旨の確認応答を行い（ステップＳ３９ｅ）、無線通信ソフトウェア２０３はユーザインタフェースソフトウェア２０１にシステムパラメータ設定等がされた旨の確認応答を行う（ステップＳ３９ｆ）。ここで、ユーザインタフェースソフトウェア２０１はシステムパラメータを保持し、システムパラメータ設定の確認応答等を行う（ステップＳ３９ｇ）。
【００２５】
（終了シーケンス）
図６に図２のソフトウェア構造を有するソフトウェア無線機１００の無線通信ソフトウェア２０３の終了シーケンスを示す。  
終了シーケンスでは、ユーザが無線通信ソフトウェア終了指示をユーザインタフェースソフトウェア２０１に与える（ステップＳ４１）と、ユーザインタフェースソフトウェア２０１はドメイン管理ソフトウェア２０２に対して、無線通信ソフトウェア２０３の終了を指示する（ステップＳ４１ａ）。
【００２６】
ドメイン管理ソフトウェア２０２は、無線通信ソフトウェア２０３に対して、運用停止を指示し（ステップＳ４２ａ）、無線通信ソフトウェア２０３はハードウェア＃１制御ソフトウェア２０５に運用停止を指示し（ステップＳ４２ｂ）、ハードウェア＃１制御ソフトウェア２０５は無線通信ソフトウェア２０３に確認応答し（ステップＳ４２ｃ）、無線通信ソフトウェア２０３はドメイン管理ソフトウェア２０２に確認応答する（ステップＳ４２ｄ）。
【００２７】
ドメイン管理ソフトウェア２０２は無線通信ソフトウェア２０３とのソフトウェア間のＣＯＲＢＡ通信接続を切断し（ステップＳ４３ａ）、無線通信ソフトウェア２０３はハードウェア＃１制御ソフトウェア２０５とのソフトウェア間のＣＯＲＢＡ通信接続を切断し（ステップＳ４３ｂ）、ハードウェア＃１制御ソフトウェア２０５は無線通信ソフトウェア２０３に確認応答し（ステップＳ４３ｃ）、無線通信ソフトウェア２０３はドメイン管理ソフトウェア２０２に確認応答する（ステップＳ４３ｄ）。
【００２８】
ドメイン管理ソフトウェア２０２は無線通信ソフトウェア２０３にソフトウェアオブジェクト（リソース）の解放を行い（ステップＳ４４ａ）、無線通信ソフトウェア２０３はドメイン管理ソフトウェア２０２に確認応答する（ステップＳ４４ｂ）。
【００２９】
ドメイン管理ソフトウェア２０２は無線通信ソフトウェア２０３を終了させ（ステップＳ４５ａ）、無線通信ソフトウェア２０３はドメイン管理ソフトウェア２０２に確認応答する（ステップＳ４５ｂ）。この場合、ハードウェア＃１制御ソフトウェア２０５を初めとした環境ソフトウェア２１５は終了せず、そのまま起動状態を維持する。
【００３０】
ドメイン管理ソフトウェア２０２はハードウェア＃１制御ソフトウェア２０５にハードウェア＃１デバイスドライバ２１１の閉塞を指示し（ステップＳ４６ａ）、ハードウェア＃１制御ソフトウェア２０５はハードウェア＃１デバイスドライバ２１１を閉塞し（ステップＳ４６ｂ）、ハードウェア＃１デバイスドライバ２１１はハードウェア＃１制御ソフトウェア２０５に確認応答し（ステップＳ４６ｃ）、ハードウェア＃１制御ソフトウェア２０５はドメイン管理ソフトウェア２０２に確認応答する（ステップＳ４６ｄ）。
【００３１】
ドメイン管理ソフトウェア２０２はハードウェア＃１制御ソフトウェア２０５から終了応答を受け取ると、ユーザインタフェースソフトウェア２０１に無線通信ソフトウェア終了を伝え（ステップＳ４７）、ユーザインタフェースソフトウェア２０１は運用不可表示等を行う（ステップＳ４８）。
【００３２】
（通信系統変更）
次に、無線通信ソフトウェアの通信系統の変更について説明する。図７に図２のソフトウェア構造を有するソフトウェア無線機１００の無線通信ソフトウェアの通信系統変更シーケンスを示す。
【００３３】
図３〜５の起動シーケンスを実施し、ＡＤＣ＃１を使用する無線通信ソフトウェア２０３が起動している（ステップＳ５０）。図２のソフトウェア構造を有するソフトウェア無線機１００では、ハードウェア選択においては、ハードウェア＃１制御ソフトウェア（ＡＤＣ＃１）２０５ａおよびハードウェア＃１制御ソフトウェア（ＡＤＣ＃２）２０５ｂ等ハードウェアに応じたハードウェア制御ソフトウェアが存在する。このため、ユーザからＡＤＣ＃２を使用する無線通信ソフトウェアへの変更指示（ステップＳ５１）があると、ユーザインタフェースソフトウェア２０１はＡＤＣ＃１を使用する無線通信ソフトウェア２０３を終了シーケンス（図６の終了シーケンスのステップＳ４１ａ以降）を実施して終了させる（ステップＳ５２）。その後、ユーザインタフェースソフトウェア２０１はＡＤＣ＃２を使用する無線通信ソフトウェア２０３を起動シーケンス（図３〜５の起動シーケンスのステップＳ３２ａ〜Ｓ３９ｇ）を実施して起動させる（ステップＳ５３）。
【００３４】
第一実施形態によれば、無線通信ソフトウェアのインストールおよびハードウェアの選択を行うことができる。
【００３５】
しかし、第一実施形態では、無線通信ソフトウェアのインストール時において、使用するハードウェアを選択する際に、通信系統（例えばＡＤＣ、ＤＡＣのチャネル）に合わせたハードウェア制御ソフトウェアの接続が必要になる。これにより、通信系統毎にハードウェア制御ソフトウェアや設定ファイルが必要になり、ストレージの使用が冗長になる。
【００３６】
また、無線通信ソフトウェアで使用するハードウェアを再選択する際に、使用していたハードウェア制御ソフトウェアとの接続を解除し、別通信系統のハードウェア制御ソフトウェアとの再接続が必要になり、終了と起動を実施する。これにより、接続解除時、再接続時の通信手続きを再実行することになり、ＣＰＵの演算量及びシステム不稼働時間のいずれか、またはその両方が増加する。
【００３７】
＜第二実施形態＞
上述した第一実施形態の課題を解決する第二実施形態のソフトウェア構造について図８を用いて説明する。図８にソフトウェア無線機１００の第二実施形態のソフトウェア構造を示す。
【００３８】
（ソフトウェア構造）
図８に示すように、第二実施形態のソフトウェア構造では、第一実施形態のソフトウェア構造に加えて、ＡＤＣ＃１の仮想デバイスドライバ２３１ａ、ＡＤＣ＃２の仮想デバイスドライバ２３１ｂ、ＳＰＩ＃１の仮想デバイスドライバ２３２ａおよびＳＰＩ＃２の仮想デバイスドライバ２３２ｂを通信経路上に仮想配置している。ＡＤＣ＃１の仮想デバイスドライバ２３１ａおよびＡＤＣ＃２の仮想デバイスドライバ２３１ｂはハードウェア＃１制御ソフトウェア２０５とハードウェア＃１デバイスドライバ２１１との仲立ちに配置し、ハードウェア＃１デバイスドライバ２１１の通信経路（ノード）の管理を行う。同様に、ＳＰＩ＃１の仮想デバイスドライバ２３２ａおよびＳＰＩ＃２の仮想デバイスドライバ２３２ｂはハードウェア＃２制御ソフトウェア２０６とハードウェア＃２デバイスドライバ２１２との仲立ちに配置し、ハードウェア＃２デバイスドライバ２１２の通信経路（ノード）の管理を行う。
【００３９】
なお、ＡＤＣ＃１の仮想デバイスドライバ２３１ａ、ＡＤＣ＃２の仮想デバイスドライバ２３１ｂ、ＳＰＩ＃１の仮想デバイスドライバ２３２ａおよびＳＰＩ＃２の仮想デバイスドライバ２３２ｂはハードウェア＃１デバイスドライバ２１１やハードウェア＃２デバイスドライバ２１２と同様にＯＳ２０９に直接管理されるよう配置される。
【００４０】
なお、図示していないが、ハードウェア＃１制御ソフトウェア２０５はハードウェア＃１デバイスドライバ２１１と接続する。
【００４１】
第一実施形態では一つのハードウェアデバイスドライバに対して複数のハードウェア制御ソフトウェアを配置していたのに対して、第二実施形態では仮想デバイスドライバを配置することで一つのハードウェアデバイスドライバに対しては、ハードウェア制御ソフトウェアを一つのみで構成することが可能になる。
【００４２】
（起動シーケンス）
図９〜１１に図８のソフトウェア構造を有するソフトウェア無線機１００および無線通信ソフトウェア２０３の起動シーケンスを示す。図９の下端のステップは図１０の上端のステップに繋がり、図１０の下端のステップは図１１の上端のステップに繋がる。
【００４３】
以下、ハードウェア制御＃１ソフトウェア２０５、仮想デバイスドライバ２３１ａ，２３１ｂおよびハードウェア＃１デバイスドライバ２１１について説明するが、ハードウェア制御＃２ソフトウェア２０６、仮想デバイスドライバ２３１ａ，２３１ｂおよびハードウェア＃２デバイスドライバ２１２、並びにハードウェア制御＃３ソフトウェア（不図示）およびハードウェア＃３デバイスドライバ２１３も同様である。
【００４４】
図９に示すように、ステップＳ３１〜Ｓ３２ｃまでは第一実施形態の起動シーケンスと同様の流れであるが、ハードウェア＃１制御ソフトウェア２０５がハードウェア＃１デバイスドライバ２１１に対して直接制御せず、仮想デバイスドライバ２３１ａ，２３１ｂに対して制御する点において異なる。この時の制御の結果として、仮想デバイスドライバ２３１ａ，２３１ｂは自身が扱うことできる通信系統情報が与えられる。
【００４５】
具体的には、ハードウェア＃１制御ソフトウェア２０５はＡＤＣ＃１の仮想デバイスドライバ２３１ａおよびＡＤＣ＃２の仮想デバイスドライバ２３１ｂに初期化および通信設定を行い（ステップＳ３２ｊ）、仮想デバイスドライバ２３１ａ，２３１ｂはハードウェア＃１デバイスドライバ２１１を初期化および通信設定を行い、ハードウェア＃１デバイスドライバ２１１は全通信系統分のデバイスドライライバの接続情報を取得する（ステップＳ３２ｋ）。ハードウェア＃１デバイスドライバ２１１は仮想デバイスドライバ２３１ａに確認応答を行い（ステップＳ３２ｍ）、仮想デバイスドライバ２３１ａはハードウェア＃１制御ソフトウェア２０５に確認応答を行う（ステップＳ３２ｎ）。
【００４６】
図１０に示すように、ステップＳ３２ｄ〜Ｓ３５ｄまでは第一実施形態の起動シーケンスと同様の流れであるが、運用開始の前にユーザインタフェースソフトウェア２０１がハードウェア＃１制御ソフトウェア２０５に例えば第一チャネルのハードウェア通信系統を指示し（ステップＳ７１ａ）、ハードウェア＃１制御ソフトウェア２０５がＡＤＣ＃１の仮想デバイスドライバ２３１ａに通信系統情報に基づいて通信路接続を指示し（ステップＳ７１ｂ）、仮想デバイスドライバ２３１ａが通信路接続を指示されたハードウェア＃１デバイスドライバ２１１の第一チャネルの使用を予約し、第一チャネルのハードウェア（ＡＤＣ＃１）を起動（オープン）する（ステップＳ７１ｃ）。ハードウェア＃１デバイスドライバ２１１はＡＤＣ＃１の仮想デバイスドライバ２３１ａに確認応答し（ステップＳ７１ｄ）、ＡＤＣ＃１の仮想デバイスドライバ２３１ａはハードウェア＃１制御ソフトウェア２０５に確認応答し（ステップＳ７１ｅ）、ハードウェア＃１制御ソフトウェア２０５はユーザインタフェースソフトウェア２０１に確認応答する（ステップＳ７１ｆ）。
【００４７】
これにより、ハードウェア＃１制御ソフトウェア２０５は、使用する通信系統を把握しながら、ＡＤＣ＃１の仮想デバイスドライバ２３１ａに対して通信経路の指示を行い、これに応じてＡＤＣ＃１の仮想デバイスドライバ２３１ａがハードウェア＃１デバイスドライバ２１１に対して第一チャネルの使用を予約し第一チャネルのハードウェア（ＡＤＣ＃１）の起動を行う。この前後で、ハードウェア＃１制御ソフトウェア２０５は、ハードウェアの予約の成否をＡＤＣ＃１の仮想デバイスドライバ２３１ａを介してハードウェア＃１デバイスドライバから応答として受領することができ、前述の通信系統情報に対してその結果が合致する場合は正常として、合致しない場合は異常として、ユーザインタフェースソフトウェア２０１に応答する。すなわち、他のハードウェア制御ソフトウェア（例えばハードウェア＃３制御ソフトウェア）によって既にハードウェア＃１デバイスドライバ２１１に対してハードウェア予約（ハードウェア選択）がされており、ハードウェア＃１制御ソフトウェア２０５が誤ってハードウェア＃１デバイスドライバ２１１に対してハードウェア予約を行った場合、ハードウェア＃１制御ソフトウェア２０５はハードウェア＃１デバイスドライバ２１１から予約できない旨の応答を受領する。そして、ハードウェア＃１制御ソフトウェア２０５はユーザインタフェースソフトウェア２０１に異常を応答する。
【００４８】
その後、無線通信ソフトウェア２０３とユーザインタフェースソフトウェア２０１間の接続を行って、図１１に示すように、ユーザインタフェースソフトウェア２０１がドメイン管理ソフトウェア２０２に運用開始を指示し（ステップＳ３６）、ドメイン管理ソフトウェア２０２は無線通信ソフトウェア２０３に運用開始指示し（ステップＳ３６ａ）、無線通信ソフトウェア２０３はハードウェア＃１制御ソフトウェア２０５に運用開始を指示し（ステップＳ３６ｂ）、ハードウェア＃１制御ソフトウェア２０５はハードウェア＃１デバイスドライバ２１１に運用開始を指示する（ステップＳ３６ｅ）。ハードウェア＃１デバイスドライバ２１１はハードウェア＃１制御ソフトウェア２０５に確認応答し（ステップＳ３６ｆ）、ハードウェア＃１制御ソフトウェア２０５は無線通信ソフトウェア２０３に確認応答を行い（ステップＳ３６ｃ）、無線通信ソフトウェア２０３はドメイン管理ソフトウェア２０２に確認応答を行い（ステップＳ３６ｄ）、システム運用可能とする。ドメイン管理ソフトウェア２０２は、無線通信ソフトウェア情報をユーザインタフェースソフトウェア２０１に伝えて（ステップＳ３７）、ユーザインタフェースソフトウェア２０１は運用可能表示等を行う（ステップＳ３８）。運用可能表示等には現在選択中の通信系統情報のハードウェア情報が含まれ、ユーザに伝達される。
【００４９】
次に、ユーザがシステムパラメータ設定等の指示をユーザインタフェースソフトウェア２０１に与える（ステップＳ３９）と、ユーザインタフェースソフトウェア２０１は無線通信ソフトウェア２０３にシステムパラメータ設定等を行う（ステップＳ３９ａ）。無線通信ソフトウェア２０３はハードウェア＃１制御ソフトウェア２０５にシステムパラメータ設定等を行い（ステップＳ３９ｈ）、ハードウェア＃１制御ソフトウェア２０５はステップＳ７１ｃの予約した情報に基づいてハードウェア＃１デバイスドライバ２１１に仮想デバイスドライバを介さないで（直接）システムパラメータ設定等を行う（ステップＳ３９ｉ）。ハードウェア＃１デバイスドライバ２１１はハードウェア＃１制御ソフトウェア２０５にシステムパラメータ設定等がされた旨の確認応答を行い（ステップＳ３９ｊ）、ハードウェア＃１制御ソフトウェア２０５は無線通信ソフトウェア２０３にシステムパラメータ設定等がされた旨の確認応答を行い（ステップＳ３９ｋ）、無線通信ソフトウェア２０３はユーザインタフェースソフトウェア２０１にシステムパラメータ設定等がされた旨の確認応答を行う（ステップＳ３９ｆ）。ここで、ユーザインタフェースソフトウェア２０１はシステムパラメータを保持し、システムパラメータ設定の確認応答等を行う（ステップＳ３９ｇ）。
【００５０】
（通信系統変更）
次に、無線通信ソフトウェアの通信系統の変更について説明する。図１２、１３に図８のソフトウェア構造を有するソフトウェア無線機１００の無線通信ソフトウェアの通信系統変更シーケンスを示す。
【００５１】
図１２に示すように、第二実施形態では第一実施形態と大きく異なり、無線通信ソフトウェア２０３に対する一時停止（一時中断）のみを行いながら、ハードウェア＃１制御ソフトウェア２０５に対して、ハードウェア通信系統の指示を変更する形から始まる。指示を受領したハードウェア＃１制御ソフトウェア２０５は、仮想デバイスドライバ２３１ａ，２３１ｂに対してハードウェア系統変更を指示し、ハードウェア（ＡＤＣ＃１）の停止とハードウェア＃１デバイスドライバ２１１の使用を解放する。その後、別通信系統の第二チャネルのハードウェア＃１デバイスドライバに対して、第一チャネルの起動と同様に使用を予約し、ハードウェア（ＡＤＣ＃２）の起動を行う。
【００５２】
具体的には、図９〜１１の起動シーケンスを実施し、第一チャネルの無線通信ソフトウェア２０３が起動している（ステップＳ８０）。ユーザはユーザインタフェースソフトウェア２０１に無線通信ソフトウェア２０３の第二チャネルへの変更を指示し（ステップＳ８１ａ）、ユーザインタフェースソフトウェア２０１は無線通信ソフトウェア２０３に通信系統変更による一時停止を指示し（ステップＳ８１ｂ）、運用不可表示等を行う（ステップＳ８１ｃ）。ユーザインタフェースソフトウェア２０１はハードウェア＃１制御ソフトウェア２０５にハードウェア通信系統を第一チャネルから第二チャネルへの変更を指示し（ステップＳ８２ａ）、ハードウェア＃１制御ソフトウェア２０５は仮想デバイスドライバ２３１ａ，２３１ｂに通信系統情報に基づき通信路変更を指示する（ステップＳ８２ｂ）。ＡＤＣ＃１の仮想デバイスドライバ２３１ａはハードウェア＃１デバイスドライバ２１１の第一チャネルの使用を解放し、第一チャネルのハードウェア（ＡＤＣ＃１）を停止（クローズ）し（ステップＳ８２ｃ）、ハードウェア＃１デバイスドライバ２１１は仮想デバイスドライバ２３１ａ，２３１ｂに確認応答を行う（ステップＳ８２ｄ）。ＡＤＣ＃２の仮想デバイスドライバ２３１ｂはハードウェア＃１デバイスドライバ２１１の第二チャネルの使用を予約し、第二チャネルのハードウェア（ＡＤＣ＃２）を起動（オープン）し（ステップＳ８２ｅ）、ハードウェア＃１デバイスドライバ２１１は仮想デバイスドライバ２３１ａ，２３１ｂに確認応答を行い（ステップＳ８２ｆ）、仮想デバイスドライバ２３１ａ，２３１ｂはハードウェア＃１制御ソフトウェア２０５に確認応答を行う（ステップＳ８２ｇ）。
【００５３】
その後、図１３に示すように、ユーザインタフェースソフトウェア２０１は無線通信ソフトウェア２０３の通信系変更後の再開始を指示し、無線通信ソフトウェア２０３側では、通信系統毎の初期化を実施する。この動作は、第一実施形態の終了・再起動を行う動作に比べて、相当に高速であり、システムの不稼働時間を短縮することが可能になる。
【００５４】
具体的には、ユーザインタフェースソフトウェア２０１は無線通信ソフトウェア２０３に通信系変更後の再開を指示し通信系統情報に基づいて通信路変更を指示し（ステップＳ８３ａ）、無線通信ソフトウェア２０３は通信系統変更に際しハードウェア＃１制御ソフトウェア２０５の初期化等を実施し（ステップＳ８３ｂ）、ハードウェア＃１制御ソフトウェア２０５はハードウェア＃１デバイスドライバ２１１の初期化を実施する（ステップＳ８３ｃ）。ハードウェア＃１デバイスドライバ２１１はハードウェア＃１制御ソフトウェア２０５に確認応答を行い（ステップＳ８３ｄ）、ハードウェア＃１制御ソフトウェア２０５は無線通信ソフトウェア２０３に確認応答を行い（ステップＳ８３ｆ）、無線通信ソフトウェア２０３はドメイン管理ソフトウェア２０２を介してユーザインタフェースソフトウェア２０１に確認応答を行う（ステップＳ８３ｆ，Ｓ８３ｇ）。
【００５５】
その後、第一実施形態のステップＳ３７〜Ｓ３９ｇと同様の処理を行う。
【００５６】
なお、終了シーケンスは第一実施形態のステップＳ４１〜Ｓ４６ａ、Ｓ４６ｄ〜Ｓ４８と同様であり、ステップ４６ｂ，Ｓ４６ｃの代わりに、ハードウェア＃１制御ソフトウェア２０５は仮想デバイスドライバ２３１ａを介してハードウェア＃１デバイスドライバ２１１を閉塞し、ハードウェア＃１デバイスドライバ２１１は仮想デバイスドライバ２３１ａを介してハードウェア＃１制御ソフトウェア２０５に確認応答する。
【００５７】
上述したように、第二実施形態のソフトウェア無線機は以下の機能を備える。
（Ａ）ハードウェアの情報（通信系統）毎にインタフェースを分割する機能、
（Ｂ）ハードウェア制御ソフトウェアに対し、選択したハードウェアの情報（通信系統）を伝達する機能、
（Ｃ）ユーザにより、ハードウェア再選択を指示された際に、無線通信ソフトウェアに対して実行の一時中断を指示し、ハードウェア制御ソフトウェアに対して再選択後のハードウェアの情報（通信系統）を伝達する機能、
（Ｄ）現在選択中のハードウェアの情報をユーザに伝達する機能、
（Ｅ）別ハードウェア制御ソフトウェアで選択中のハードウェアを誤って選択した場合に、異常を検出する機能。
【００５８】
上記（Ｂ）の機能によりハードウェアの情報を伝達することにより、ハードウェアに合わせたハードウェア制御ソフトウェアおよび設定情報を複数生成することなく、最適なリソースでのハードウェア選択が可能になる。また、上記（Ｃ）の機能により無線通信ソフトウェアを一時中断（一時停止）のみとすることで、ハードウェア再選択における処理や停止時間を第一実施形態に比べて低減することができる。
【００５９】
すなわち、第二実施形態によれば、複数の無線通信ソフトウェアを起動する場合においても、無線通信ソフトウェアがハードウェアとの通信に必要なハードウェア制御ソフトウェアの接続変更等を行うことなく、通信系統の変更を行うことができ、接続情報に関するリソースの抑制やシステム不稼働時間の短縮を行うことができる。
【００６０】
以上、本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明は、上記実施形態に限定されるものではなく、種々変更可能であることはいうまでもない。
【符号の説明】
【００６１】
１００：ソフトウェア無線機、１０１：アンテナ、１０２：高周波部、１０３：Ａ／Ｄ・Ｄ／Ａ部、１０４：デジタル信号処理部、１０５：制御部、１０６：ネットワーク、１０７：制御端末、２０１：ユーザインタフェースソフトウェア、２０２：ドメイン管理ソフトウェア、２０３：無線通信ソフトウェア、２０４：ハードウェア管理ソフトウェア、２０５：ハードウェア＃１制御ソフトウェア、２０６：ハードウェア＃２制御ソフトウェア、２０８：ＣＯＲＢＡ、２０９：ＯＳ、２１５：環境ソフトウェア、２３１ａ：ＡＤＣ＃１仮想デバイスドライバ、２３１ｂ：ＡＤＣ＃２仮想デバイスドライバ、２３２ａ：ＳＰＩ＃１仮想デバイスドライバ、２３２ｂ：ＳＰＩ＃２仮想デバイスドライバ。
【図１】
2020174599.tif 000003
【図２】
2020174599.tif 000004
【図３】
2020174599.tif 000005
【図４】
2020174599.tif 000006
【図５】
2020174599.tif 000007
【図６】
2020174599.tif 000008
【図７】
2020174599.tif 000009
【図８】
2020174599.tif 000010
【図９】
2020174599.tif 000011
【図１０】
2020174599.tif 000012
【図１１】
2020174599.tif 000013
【図１２】
2020174599.tif 000014
【図１３】
2020174599.tif 000015
【国際調査報告】
2020174599.tif 000016
2020174599.tif 000017