JP4131736B2 - 無線通信装置及び無線通信方法 - Google Patents

無線通信装置及び無線通信方法 Download PDF

Info

Publication number
JP4131736B2
JP4131736B2 JP2006014455A JP2006014455A JP4131736B2 JP 4131736 B2 JP4131736 B2 JP 4131736B2 JP 2006014455 A JP2006014455 A JP 2006014455A JP 2006014455 A JP2006014455 A JP 2006014455A JP 4131736 B2 JP4131736 B2 JP 4131736B2
Authority
JP
Japan
Prior art keywords
library
hardware
analog
function
wireless
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.)
Expired - Fee Related
Application number
JP2006014455A
Other languages
English (en)
Other versions
JP2006203911A (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.)
Toshiba Corp
Original Assignee
Toshiba 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
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006014455A priority Critical patent/JP4131736B2/ja
Publication of JP2006203911A publication Critical patent/JP2006203911A/ja
Application granted granted Critical
Publication of JP4131736B2 publication Critical patent/JP4131736B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Transceivers (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は無線通信装置に関し、特に無線機能を記述する専用言語を用いて無線機能をソフトウェア化する無線通信装置及び無線通信方法に関する。
現在携帯電話をはじめ移動通信システムに対する需要が非常に高くまた端末市場は活況を呈している。ところが、現在世の中にはいろいろな種類の通信システムが林立しているのが現状である。
例えば携帯電話では日本ではPDC方式、米国ではAMPS方式やCDMA方式、欧州ではGSM方式と、さまざまな方式が混在している。さらに同じ日本国内においても携帯電話とは別にPHSというシステムが存在する。
IMT−2000という世界統一方式の標準化作業がすすめられているが、日米欧で全く同一のシステムとなる可能性は低い。
このような状況下において、複数のシステムに使用可能な、移動通信端末のマルチモード化に対する需要は非常に高い。しかしながら、端末におけるこのようなマルチモード化は非常に困難であり、物理的に2種類の端末をひとつの筐体の中へ内蔵するという単純な構成によってデュアルモード化するのが限度であった。
無線通信装置の従来例について以下、図面を参照して説明する。
図16は、無線通信装置の従来例の構成を示す。図中701はRF(高周波)の信号を増幅するアンプである。702は周波数変換をおこなうミキサである。703はミキサ702にたいして信号を供給するシンセサイザである。704はアナログ信号をディジタル信号に変換するAD変換器である。705はディジタル信号をアナログ信号に変換するDA変換器である。706は専用IC(ASIC)である。707はディジタル信号処理プロセッサ(DSP)である。708は専用IC(ASIC)である。709は中央演算処理装置(CPU)である。710はI/Oインターフェイスである。711はアンプ701〜I/Oインターフェイス710からなるハードウェア(の集合)である。712はOSである。713はOS712上で動作するアプリケーションプログラムである。714はDSP707上で動作するアプリケーションプログラムである。715はOS712〜アプリケーションプログラム714からなるソフトウェア(の集合)である。
図16に示す従来例では、無線機はアンプ701、ミキサ702、シンセサイザ703、AD変換器704及びDA変換器705等のアナログ回路と、専用IC(ASIC)706,708、DSP707及びCPU709等のディジタル回路と、I/Oインターフェイス710等とからなるハードウェア711と、CPU709上で動くOS712およびそのOS上で動くアプリケーションプログラム713や、DSP用のプログラム714等からなるソフトウェア715から構成されていた。
次に図16を参照し、無線端末の従来例の動作について説明する。受信時は、図示しないアンテナから入力された高周波信号をRF部(図中701、702、703)で周波数の低いベースバンド信号に変換し、AD変換器704で所望信号をディジタル信号に変換し、DSP707やCPU709を用いて送信されてきた信号を復調する動作をおこなう。
送信時は、送信するもとの信号に対してCPU709やDSP707で変調の操作をおこない、その信号をD/A変換器705でアナログ信号に変換し、RF部で高周波信号に変換してアンテナより送信する動作をおこなう。
上述のDSPやCPUが実行するプログラムはソフトウェア712、713、714として無線端末の内部のメモリ等に保存されている。
またアナログ部に対する制御は例えばASIC708を介してアプリケーションプログラム713からおこなわれる。図ではアナログ部の制御はASIC708からなされるが、実際にはCPU709やDSP707などから直接制御される場合もある。
ここで、このような無線端末の従来例には次のような間題があった。すなわち無線端末の従来例ではアプリケーションプログラム713、714がDSP707あるいはCPU709専用のプログラムであり、汎用性がなかった。したがってこれらのプログラムはある特定のハードウェアアーキテクチャ専用のものであり、他の異なるハードウェアアーキテクチャを持つ無線機でそのまま利用することが不可能であった。
またアナログ回路からなるRF部に対する制御はASICやゲートアレイなどの専用のLSIを用いてなされるため、他の異なるハードウェアで利用することが不可能であった。
このように、上述した従来の無線通信装置においては、アプリケーションプログラムは、汎用性がなく、その利用はハードウェアに依存した特定目的に限定されるという間題点があった。
本発明はかかる問題点に鑑みてなされたものであって、汎用性を有し、ハードウェアアーキテクチャに依存しないアプリケーションプログラムを利用可能な無線通信装置及びその無線通信方法を提供することを目的とする。
本発明の請求項1に係る無線通信装置は、無線信号を送受信する送受信手段と、受信した前記無線信号をディジタル信号に変換して出力するAD変換手段と、送信するディジタル信号を前記無線信号に変換して出力するDA変換手段と、前記AD変換手段の出力に対するディジタル信号処理及び前記DA変換手段の入力に対するディジタル信号処理を行うディジタル信号処理手段とを有するハードウェアによって複数の無線機能を実現する移動通信のための無線通信装置であって、所定の無線機能を実現するための関数を含み前記ハードウェアに依存した第1のライブラリを記憶する記憶手段と、アプリケーションプログラムのコンパイル時に前記ハードウェアに依存しない第2のライブラリがリンクされて生成された実行ファイルをダウンロードし、実行に際して前記第1のライブラリが含む前記関数を参照する前記実行ファイルを基本ソフトウェア上で実行させることにより、前記送受信手段と、前記AD変換手段と、前記DA変換手段と、前記ディジタル信号処理手段との少なくとも1つを制御して前記複数の無線機能を実現する制御手段とを具備することを特徴とする。

本発明によれば、汎用性を有し、ハードウェアアーキテクチャに依存しないアプリケーションプログラムを利用可能となるという効果を有する。
以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は本発明の第1の実施の形態を説明するための説明図である。
図中1はRFの信号を増幅するアンプである。2は周波数変換をおこなうミキサである。3はミキサ2にたいして信号を供給するシンセサイザである。4はアナログ信号をディジタル信号に変換するAD変換器である。5はディジタル信号をアナログ信号に変換するDA変換器である。6はプログラマブルロジック(FPGA)である。7はディジタル信号処理プロセッサ(DSP)である。8はI/Oインターフェイスである。9は中央演算処理装置(CPU)である。10はアンプ1〜CPU9からなるハードウェアである。
11はOSである。12はハードウェアの動作をOSから制御するためのデバイスドライバである。13はさまざまな関数群が記述されたライブラリである。14はアプリケーションである。15はOS11〜アプリケーション14からなるソフトウェアである。
次に本実施の形態である無線端末の動作について説明する。
図1のようにCPU9上でOS11が動作し、このOS11が無線機全体の動作を制御する。OS11はCPU9に依存した基本ソフトウェアである。CPU9以外のハードウェア、例えばアンプ1、ミキサ2、シンセサイザ3、ADC4、DAC5、FPGA6、DSP7、I/Oインターフェイス8と、OS11の間にはデバイスドライバ12が介在し、このデバイスドライバ12は、OS11より出力された命令をそれぞれのハードウェアが実行可能な命令に変換しCPU9を経由してデータを送出し、また、各ハードウェアから状態を示す出力があればそれはCPU9を介してデバイスドライバ12に引き渡されてOS11が解釈できる信号に変換する役割を果たす。
したがって、デバイスドライバ12はOS11とハードウェア10に密接に関係があり、ハードウェア10が異なればデバイスドライバ12はそれに合わせて異なるものが必要となり、またOS11が変わればそれに対応したデバイスドライバ12が必要になる。
ライブラリ13はハードウェア10を制御し、あるいは機能そのものを実現するソフトウェアの集合体であり、複数の関数(命令セット)からなる。ライブラリ13はアプリケーション14から出される命令の中で汎用性が高い機能、およびハードウェア構成に依存する関数の集合である。したがってライブラリ13はハードウェア10やOS11に依存したものとなる。
以上述べたOS11、デバイスドライバ12およびライブラリ13は、ハードウェア10に依存するソフトウェアであり、これらをまとめてここでは基本ソフトウェアと呼ぶ。
アプリケーション14は無線機能を記述する専用言語(ここでは以下「radio description language」と呼ぶ)を用いて記述して得たプログラムであり、その記述はハードウェア10に依存しない。すなわち、アプリケーション14はハードウェア10が変わっても同じプログラムが利用できる。
異なるハードウェア10に対する制御の相違は、上述のデバイスドライバ12、OS11、ライブラリ13によって吸収することができ、アプリケーション14の変更は不要である。換言すると、アプリケーション14とOS11あるいはライブラリ13との間のインターフェイスが同じであればアプリケーション14は異なるハードウェア上で動作可能となる。アプリケーション14は上述したように無線記述言語を用いて記述されて得られる。
次に図2を用いて本実施の形態の無線機のソフトウェアの実行方法を説明する。
図2は、本実施の形態のソフトウェアの動作を説明する説明図である。図2において、図1と同等の構成を示すものについては同一の番号を付して説明する。図2中、10は無線機のハードウェアを示しており、図1におけるアンプ1〜CPU9等から構成される。11はハードウェア10上で動作するOSである。20は無線機能が記述されたアプリケーションプログラムであり、図2の例ではソースファイルを示している。12はデバイスドライバであり、アプリケーションなどによってOS11に出された命令をハードウェア10に対する命令へ変換する動作をおこなう。13は関数などが記述されたライブラリである。16はアプリケーションプログラム20を実行ファイル(Executable File) 17に変換するコンパイラである。
なお、図1のアプリケーション14は、図2における実行ファイル17に相当する。しかし、アプリケーションプログラム20がコンパイル不要なインタプリタ言語等で記述されている場合には、アプリケーションプログラム20は図1のアプリケーション14そのものである。
無線記述言語で記述されたアプリケーションプログラム20は、実行する前にコンパイルされる。コンパイルはソースプログラムのOSが解釈できる機械語への変換を意味し、コンパイラ16を用いておこなうことによってなされる。
コンパイラ16によってコンパイルされた実行ファイル17はOS11上で実行される。実行時に実行ファイル17に記述された命令に応じてライブラリ13から必要な関数を引いて来て利用することによって実際の無線機能がソフトウェア的に実現される。
ライブラリ13には無線機能をハードウェア上で実現するための制御情報を生成するプログラムや、FPGAやDSPなどのプログラムそのものが予め関数として用意されており、アプリケーションによって与えられた関数とパラメータに基づいて、必要なプログラムを適切なパラメータとともにOS11へ引き渡す。
このライブラリ13は、あるハードウェア構成の場合はハードウェア的に実現されていた機能が、別のハードウェア構成の場合はソフトウェアで実現するような場合があるなど、ハードウェア構成によって異なるものとなる。
したがってライブラリ13はハードウェアに依存したものとなり、ハードウェア10が変更されるとそれに伴って変更される性質のものである。
また上述の方法を用いた場合、用意しておくライブラリが膨大なものとなる場合がある。しかしながらこのライブラリを全て無線機側で保持しておく必要はなく、頻繁に利用されるライブラリのみを無線機側で持ち、それ以外のライブラリは外部のものを利用し、コンパイル時にリンクしてしまう方法もある。
このようにライブラリを構成することで、無線機で持たなければならないライブラリを必要最小限に留めることが可能となる。
この場合の流れを図3に示す。図3のように、ここではライブラリは、無線機側にもつ第1のライブラリ31と外部にもつ第2のライブラリ32に分けられ、コンパイル時に第2のライブラリ32がリンクされ実行ファイルが作成され、この実行ファイルの実行時に第1のライブラリ31が参照されることによって無線機としての動作を実現する。
頻繁に参照される関数を第1のライブラリに用意し、残りの関数を第2のライブラリに用意することで、無線機側で持たなければならないライブラリの規模を大幅に縮小することができる。
ところで、図2及び図3の例では、アプリケーションプログラム20及びコンパイラ16を設ける位置は、限定されていない。図1のアプリケーション14に相当する実行ファイル17が無線機内のメモリに保持されるのに対し、アプリケーションプログラム20(ソースファイル)及びコンパイラ16は、無線機内に保持してもよく、無線機外部に保持してもよい。
図2の例では、アプリケーションプログラム20に対してコンパイラ16を用いたコンパイル処理によって作成した実行ファイル17をメモリに格納し、このメモリを無線機の製造時に無線機に搭載することが一般的である。
これに対し、図3の例では、第2のライブラリ32を機能拡張用と考えると、その性質上、第2のライブラリ32のリンク処理及びコンパイル処理は、無線機の販売後に実施されることになる。無線機のメモリ容量、CPUの負荷等を考慮すると、アプリケーションプログラム20及びコンパイラ16を第2のライブラリ32と共に、無線機外部に用意した方がよい。例えば、アプリケーションプログラム20及びコンパイラ16を基地局等に用意し、基地局等においてアプリケーションプログラム20をコンパイルすると共に第2のライブラリ32をリンクし、これによって生成した実行ファイル17を無線機にダウンロードさせる。
なお、アプリケーションプログラム20及びコンパイラ16を無線機内のメモリに保持し、基地局等からダウンロードした第2のライブラリを用いて、無線機内で実行ファイル17を生成するようにしてもよいことは明らかである。
次にOS11の動作を説明する。OS11はコンパイルされた実行ファイル17とライブラリ13によって与えられる命令をハードウェアブロックのデバイスドライバ12へ振り分ける作業をおこなう。
実行ファイルから出力された命令が、DSPに対するものであればDSP7のデバイスドライバに動作プログラムを送り、またミキサへの制御命令であればミキサ2のデバイスドライバに制御情報を送出する。
デバイスドライバ12はOS11を介して実行ファイル17(およびライブラリ13)によって与えられた命令をハードウェアレベルでの命令に変換する役割を果たす。この命令は最終的にはCPU9を介して各ハードウェアに対して信号を送り、所望の機能を実現させる。
次に、本実施の形態の具体的処理例を説明する。
始めに、受信周波数の設定を例に、本実施の形態の無線機の動作を説明する。上述の如く、アプリケーション14には受信周波数を設定するための関数が用意されており(ここで関数名を”set-receive-frequency”とする)、次のように記述されている。
#-----Application Source Program
$freq_recv = 1.9e9;
set_receiving_frequency($freq_recv);
#-----
この例は1900MHzの信号を受信するための命令を示しており、実行時には上記関数set_receiving_frequencyは変数$freq_recvを引数としてOS11に引き渡す
実際に受信周波数を設定するためにはシンセサイザの発振周波数の設定を行う必要がある。このような受信周波数→シンセサイザ発振周波数への変換はハードウェアの構成によって異なるものであるため、アプリケーションの実行時にライブラリ13が参照されそこに用意された関数によってなされる。
たとえばライブラリ13には受信周波数の設定を受けてそれをシンセサイザ発振周波数へ変換する関数(仮に”receiving-freq-to-synthesizer”とする)が引かれ、次のようになる。
#-----Library
$freq_synth = receiving_freq_to_synthesizer(1.9e9);
#-----
なお上記の例ではアルファベット文字で記述されているが実際には上記の意味を持つ機械語である。
次に図4を用いて、動作例を説明する。図4は、本実施の形態に係る無線機のハードウェア構成を信号の流れに沿って示す図である。図中1はアンプ、2はミキサ、3はシンセサイザ、4はA/D変換器であり、アンテナから受信された信号はアンプ1によって増幅された後、ミキサ2によってシンセサイザ3から供給される信号と乗算されて低いIF周波数へ周波数変換され、A/D変換器でディジタル信号へ変換される。
ここで例えばIFが380MHzである場合、シンセサイザの発振周波数は受信周波数(1.9GHz)とIF(380MHz)との差であるところの1520MHzとなる。受信周波数からシンセサイザの発振周波数への変換が、コンパイルされたアプリケーションプログラムの実行時にライブラリ13によってなされる。
このような受信周波数→シンセサイザ発振周波数への変換はハードウェアに依存した部分であるために、変換処理が直接アプリケーションプログラムに記述されることはなく、実行時にライブラリの部分で変換処理に相当する処理が行われる。
さらに、コンパイルされたバイナリがライブラリ13を参照して実際にOS11上で動作するとき、上記ライブラリによって決定されたシンセサイザの発振周波数の設定はOS11を介してデバイスドライバ12の処理によって実行される。
そのときにデバイスドライバ12へ渡す命令はやはりライブラリ13によって生成される。例えば次のような命令となる。
#-----Output to device driver through OS
$freq_pdet=2.0e5; #位相比較周波数は200,000Hz(=200kHz)
$freq_ref=1.0e7; #基準周波数は10,000,000Hz(=10MHz)
$1 = $freq_synth; #変数$1は$freq_synthに格納された値
$2 = $freq_pd ; #変数$2は位相比較周波数
$3 = $freq_ref; #変数$3は基準周波数
out_to_syn($1、$2、$3); #シンセサイザに対して変数$1、$2、$3を出力
#-----
ここまでの動作はコンパイルされたアプリケーションが実行時にライブラリ13を参照することによってなされる。
次に、この命令を受けたOS11はデバイスドライバ12のうちシンセサイザ3を駆動するデバイスドライバに対してパラメータ$1、$2、$3を引き渡す。out_to_synという関数がシンセサイザ3のデバイスドライバに対する命令であることを意味している。
OS11はシンセサイザ3のデバイスドライバに出力するためのアドレスを保持しており、この命令を受けたOS11は予め定められたシンセサイザのI/Oポートに対して3つのパラメータ($1、$2、$3)を出力する。
ここでは$1が発振周波数、$2が位相比較周波数(200kHz)、$3が基準周波数(10MHz)の値が入力されている例を示している。ここでは位相比較周波数や基準周波数はハードウェア10の構成に応じて自動的に設定されるためにアプリケーション14によって明示的に与えられることはなく、ライブラリ13によって自動的に与えられる。
次にシンセサイザ3の詳細を示すハードウェア構成の例を図5に示す。図5中18はリファレンスカウンタ、19はプログラマブルカウンタ、23はスワローカウンタ、24はプリスケーラであり、リファレンスカウンタ18は入力された水晶発振器等の基準信号を分周して位相比較器に供給する。
またプログラマブルカウンタ19、スワローカウンタ23、プリスケーラ24はこれらを組み合わせることによって全体として比較的大きな分周をおこなう可変分周器として動作する。
これらの分周器の動作は、一般的な分周器と同様であるので詳細説明は省略する。またリファレンスカウンタ18、プログラマブルカウンタ19、スワローカウンタ23、プリスケーラ24はPLL−IC25に内蔵されている。
ここで、OS11からパラメータを受け取ったデバイスドライバ12は、$1、$2、$3のパラメータの値をシンセサイザ3で利用しているPLL−IC25の設定信号に変換して送出するという動作をおこなう。
例えばこの場合、
・発振周波数と位相比較周波数の比が1900MHz/200kHz=9500
→比較周波数側の総分周数が9500
・基準周波数と位相比較周波数の比10MHz/200kHz=50
→基準周波数側の分周数が50
と算出される。シンセサイザ3の構成が図5に示されるものであった場合、これらの値をもとに、分周器の分周数が計算され、
・プログラマブルカウンタ22のカウント値が148
・スワローカウンタ23のカウント値が28
・リファレンスカウンタ21のカウント値が50
となるような信号がデバイスドライバ12からシンセサイザ3のPLL−IC25に対して送出され、シンセサイザ3の発振周波数が最終的に設定される。
デバイスドライバ12ではこれらの値が2値のディジタル信号に変換され、次のようなビット列が生成される。(カウンタは全て8ビットを仮定)
#-----Synthesizer Data
#-----Programable Counter
10010100 #148を二進数に変換
#-----Swallow Counter
00011100 #28を二進数に変換
#-----Reference Counter
00110010 #50を二進数に変換
#-----
このあと、デバイスドライバ12は生成されたビット列をCPU9に送出する。CPU9は与えられたデータをハードウェアすなわちPLL−IC25に対してシリアルで、例えば図6に示すようなdataとclockとstrobe信号を送出する。
なお本実施の形態ではCPU9から直接シンセサイザ3へ信号を出力する例を挙げているが、I/O用の専用デバイスを設けそこから信号出力をおこなってもよい。
図6はCPU9からシンセサイザ3に対して送出されるデータ列の例を示したものであり、上記の例のプログラマブルカウンタに分周数148を設定する例を示している。
信号は3種類のシリアル信号として送られ、データの内容を示すDATA、データの区切りを示すCLOCK、そしてデータの送出終了を示すSTROBEからなる。
データはCLOCK信号の立ち下がりでラッチされる。順に10010100というデータをこのクロックの立上りに同期させて送出することで所望の分周数がプログラマブルカウンタに送られる。
データ送出終了後にSTROBE信号が立ち上がってデータが終了したことが示されプログラマブルカウンタの分周数として設定される。
このような動作を、スワローカウンタ、リファレンスカウンタに対して同様におこなうことによって、シンセサイザには所望の分周数が設定される。これによって最終的に所望の発振周波数が得られ、所望の周波数の信号の受信が可能となる。
以上のような段階を経て、最初アプリケーションプログラムに記述された、「1900MHzの信号を受信せよ」という命令が、最終的に、ロジックデータとしてシンセサイザのPLL−ICに送出されるという命令に変換され実際に受信が可能となる。
このようにアプリケーションプログラムには物理層制御の命令のみを記述するだけで、ライブラリ/OS/デバイスドライバ/ハードウェアが適切に動作することによって所望の動作を実行することが可能となる。
以上のように無線機を構成することによって、アプリケーションプログラムから無線機側を見たインターフェイス上には、動作対象がハードウェアであるかソフトウェアであるかという区別が無いため、ハード/ソフトを意識しないプログラミングが可能となり、また、ハードウェア側から見れば、アプリケーションプログラムとのインターフェイスを統一的に取り扱うことによってあらゆるアプリケーションプログラムが汎用的に利用可能となる。
また、パーソナルコンピュータ等の計算機では無線の物理層制御をアプリケーションプログラムからハードウェアに依存せずに実行することは不可能であったが、本発明の無線機を用いることによってアプリケーションプログラムからハードウェアに依存しない無線物理層制御が可能となる。
なお、一般的なコンピュータシステムにおいても、アナログ回路の制御は、上述した従来例と同様に、そのアナログ回路を制御するための専用のハードウェアを設けて行うようになっており、本実施の形態のようにライブラリを用いてアナログ回路を制御する技術は考えられていない。
図7及び図8は本発明の他の実施の形態を示すフローチャートである。
図16の実施の形態における無線通信装置のハードウェアは、アナログ部とディジタル部からなるが、無線機能をアナログ部で実現するか、ディジタル部で実現するかは本ハードウェア上で動作するソフトウェアによって選択することが可能である。たとえば、アナログ部にベースバンドのアクティブフィルタが具備されており、ディジタル部にFPGAによるFIRフィルタが具備されているような場合を考えると、アナログベースバンドフィルタをローパスフィルタとして用い、入力受信信号の余分な周波数成分を取り除くことが可能であるが、このアナログフィルタをスルーで用い、ディジタル部のFIRフィルタに適切なタップ係数を付与することによって、全く同一又は類似した周波数特性を持つフィルタを形成可能である。
もちろん同一機能を実現できる範囲(たとえばローパスフィルタの例ではカットオフ周波数や次数等)はハードウェアによって制限されるが、特性的にオーバーラップする部分がある。本発明におけるアプリケーションプログラムはハードウェアの区別なく記述されているので、ある機能を実現する回路部分(以下、機能ブロックという)がアナログ部とディジタル部とのいずれにあっても実現可能である場合には、その割り振りが問題となる。機能ブロック、即ち、ある機能を実現するハードウェアの選択をライブラリ13がおこなうことが本実施の形態の特徴である。
まず第1の方法は、ライブラリはアプリケーションプログラムの命令をできる限りアナログブロックで実現する方向で全体をコンフィギュレーションする方法である。たとえば機能Aがアナログ部でもディジタル部でも実現できる場合に、その機能を優先的にアナログ部に割り当ててゆくという方法である。
図7はこの方法の詳細な手順を示している。まずアプリケーションプログラムのコンパイル時に、アプリケーションプログラム内に記述された無線機能に関する命令を解読する(ステップS1 )。次にその機能がディジタルとアナログ部のいずれかまたは両方で実現可能であるかどうかを調べる(ステップS2 )。このときもしディジタル部あるいはアナログ部の一方でしか実現できない場合には実現できるブロックで実行するようにコンパイルされるが、ディジタル部とアナログ部の両方で実現可能である場合、優先的にその機能をアナログ部で実現するようにコンパイルされる(ステップS4 )。またもしディジタル部でもアナログ部でも実現できない場合は異常終了する。
このようにコンパイルすることによって、たとえばディジタル部で実現するとディジタル回路の消費電力が必要であるのに対して、アナログ部で実現した場合、たとえばその機能がパッシブ回路によって実現可能であるような場合には消費電力を0にすることが可能となり、無線装置の低消費電力化が可能となる。
次に第2の方法は、第1の方法とは逆に、ライブラリはアプリケーションプログラムの命令をできる限りディジタルブロックで実現する方向で全体をコンフィギュレーションする方法である。
図8はこの方法の詳細な手順を示している。まずアプリケーションプログラムのコンパイル時に、アプリケーションプログラム内に記述された無線機能に関する命令を解読する(ステップS1 )。次にその機能がディジタルとアナログ部のいずれかまたは両方で実現可能であるかどうかを調べる(ステップS2 )。このときもしディジタル部あるいはアナログ部の一方でしか実現できない場合には実現できるブロックで実行するようにコンパイルされる。ディジタル部とアナログ部の両方で実現可能である場合、優先的にその機能をディジタル部で実現するようにコンパイルされる(ステップS5 )。またもしディジタル部でもアナログ部でも実現できない場合は異常終了する。
このようにコンパイルすることによって、たとえばアナログ部で実現すると特性があまりよくない場合に、ディジタル部で実現した場合、理想的な特性が実現でき、無線装置の全体の良好な特性が得られる。
上記のディジタル部/アナログ部の実現手段の選択は、すべての無線機能に関して一律に設定されるのではなく、無線機能ブロックごとに区分けし、たとえばフィルタはディジタル部優先、周波数変換器はアナログ部優先などとあらかじめ定めておくことによって、全体として特性の向上を実現することが可能となり、さらにこの選択に関してはアプリケーションプログラムはまったく関与しないため、アプリケーションの開発は独自に可能で、ハードウェアに依存した無線機能実現の手段はコンパイラやライブラリが自動的に割り当てられるため理想的な構成が実現できる。
以上述べた、アナログ部/ディジタル部の機能の選択は、その法則(ディジタルから割り当てるか、アナログから割り当てるか)をあらかじめライブラリに記述することによって、アプリケーションプログラムの内容によって、自動的に振り分けることが可能となる。たとえば上述のようにアナログのローパスフィルタに比べて、ディジタルフィルタの消費電力が大きい場合、可能な限りアナログフィルタで処理した方が、無線機全体の低消費電力化が図れる。このような場合はライブラリによって、優先的にアナログ部に処理されるように、無線機が制御される。
この場合、ライブラリは、アナログ部とディジタル部の両方で実現可能な無線機能についてのテーブルを保持し、テーブルに記述された無線機能の限界性能、および、法則を参照することによって、ある機能をアナログ部又はディジタル部のいずれに割り当てるかを決定する。
上記実施の形態においては、機能ブロック別にアナログ/ディジタル部での実現の振り分け方法を決めたが、信号処理速度によって別けてももちろんよい。
さらに本実施の形態のバリエーションとして次のような実施の形態が挙げられる。すなわちアナログ部、ディジタル部両方で機能が実現できる場合、ある判定条件を元にどちらで機能を実現できるか決定する方法である。図9はこの方法を示すフローチャートである。
まずアプリケーションプログラムのコンパイル時に、アプリケーションブログラム内に記述された無線機能に関する命令を解読する(ステップS1 )。次にその機能がディジタルとアナログ部のいずれかまたは両方で実現可能であるかどうかを調べる(ステップS2 )。このときもしディジタル部あるいはアナログ部の一方でしか実現できない場合には実現できるブロックで実行するようにコンパイルされる。ディジタル部とアナログ部の両方で実現可能である場合、次のステップS3 へ進む。次のステップS3 では、あらかじめ定められた判定基準をもとにディジタル部で実行するかアナログ部で実行するかを判断し、ステップS4 又はステップS5 において、アナログ部又はディジタル部のいずれかで機能を実現する。
上記判断基準としては次のようなものが挙げられる。
(1)消費電力が少ない方を選択する
(2)特性がよい方を選択する
(3)遅延時間が少ないほうを選択する
(4)ディジタル部とアナログ部間の信号の往復が少ない方を選択する
上記(1)はアナログ部、ディジタル部で実現した場合の消費電力を見積もりそれをもとに少ないほうを選択する。(2)はたとえば所望の特性はアナログ部、ディジタル部いずれでも選択可能であるが、ディジタル部の方がより良好な特性を実現可能である場合はディジタル部を選択する。(3)は機能を実現するための信号処理時間を見積もり、より遅延時間の少ないほうを選択する。(4)はたとえば所望の無線信号処理機能をディジタル部で実現した場合に、受信信号がいったんアナログ部を出てディジタル部へ入り所望の処理を行い、再度アナログ部へ入力する必要があるような場合は、信号のディジタル部とアナログ部間の往復を避けるためにアナログ部で処理するように選択する。
以上のように動作することによって、最適な無線部の構成が実現可能となる。
図10は本発明の第3の実施の形態において採用されるアナログの機能ブロック(アナログブロック)を示す説明図である。本実施の形態は、アナログブロックの構成が異なるのみであり、ディジタルの機能ブロック及びソフトウェアの構成は図1と同様であり、図示を省略する。
図10において、アナログブロック131は仕様記述部132を有している。なお、図1における全てのアナログブロックがアナログブロック131と同様に仕様記述部132を備えていてもよく、一部のアナログブロックのみが仕様記述部132を備えていてもよい。なお、上述したように、アナログブロックとしては、例えばアンプ、ミキサ、シンセサイザなどがある。
仕様記述部132は、アナログブロック131の仕様が記述されている。仕様記述部132は仕様を記憶することができれば、不揮発性のメモリ等によって構成してもよく、また、スイッチ等によって構成してもよい。仕様記述部132に記述されているアナログブロック131の仕様は、外部からのアクセスによって読み出すことができるようになっている。例えば、図1では、主としてCPU9が各アナログブロックの特性を読み出すことができるようになっている。
図11はアナログブロックが例えば図1のシンセサイザ3に相当するシンセサイザ141である場合を示す。シンセサイザ141に関する仕様は仕様記述部142に記述されている。例えば、仕様記述部142には、発振可能周波数、位相雑音、周波数切換時間、周波数安定度等が次のような形で書込まれている。
発振可能周波数 1895.15〜1917.95MHz
周波数切換時間 1msec
位相雑音 -27dB
周波数安定度 ±2.5ppm
なお、仕様記述部142の仕様は、予め定義された基準に従って記述される。例えば、周波数安定度については温度範囲等の基準が、また、位相雑音についてはその積分範囲等の基準が予め設定され、これらの基準にのっとって仕様が記述されている。
また、図12にはアナログブロックが図1のアンプ1に相当するアンプ151である場合を示す。アンプ151に関する仕様は仕様記述部152において、例えば使用可能周波数、利得可変範囲、NF等が次のような形で書込まれている。
使用可能周波数 1.5〜2GHz
利得可変範囲 0〜40dB
NF 2.0dB
ライブラリ側は、デバイスドライバやOS等の基本ソフトウェアを介してこれらの情報を読みとることが可能であり、必要な性能が得られるか否か等の判断材料として利用することが可能となる。例えばこれらの情報によって、ある特定のハードウェア上で、無線機全体として必要な特性が得られるかどうかの判断がライブラリ側からソフトウェア的に判断可能となる。
また、アナログ部はハードウェア的にシンセサイザ、アンプ、ミキサ等が分離しておらず、1チップ化されている場合があるが、このような場合にはICの内部に、1チップ化されているいくつかの機能ブロックに関する上記の情報をまとめて記述する仕様記述部を設けるか、あるいは分散させて記述する複数の仕様記述部を設け、これらの仕様記述部をCPU側から読み取れるように構成しておけばよい。
たとえば図13にはシンセサイザとアンプが1チッブ化されたICの例を示している。アナログブロック161は、図1のアンプ1及びシンセサイザ3に相当するものであり、仕様記述部162にはアナログブロック161のアンプ部とシンセサイザ部の各仕様が記述されており、CPU側からこれらの情報をそれぞれ別々に読み出すことが可能である。
次にこれらの情報の記述方法について述べる。例えば、あらかじめアナログブロックにROMなどのメモリを作りこんでおき、そのなかに情報を書き込んでおく方法がある。この場合には、ROMの情報を引き出すための専用のデータ端子とアドレス端子とを設け、CPUからアドレスを指定することによってデータ端子からアナログブロックの特性をディジタルデータの形で出力させることができる。
図14は本発明の第4の実施の形態において採用されるアナログの機能ブロック(アナログブロック)を示す説明図である。本実施の形態は、図10の第3実施の形態に対して仕様記述部の構成が異なる。
すなわち、本実施の形態では仕様記述部に仕様そのものを記述するのではなく、そのアナログブロックの識別番号を記述しておくのである。そしてその識別番号とそのアナログブロックの仕様に関してはライブラリの中に対照表をあらかじめ用意することによって、CPUはアナログブロックの特性に関する情報を得ることができる。
図14において、アナログブロック131に確保された仕様記述部132は、アナログブロック131の識別番号が記述されている。CPU9はアナログブロック131の仕様記述部132から識別番号を読み取り、その識別番号をもとに、ライブラリ13に記述された識別番号と仕様との対照表を参照することによって、必要な情報をライブラリから得ることができる。
このように構成することによって、図10に示した構成に比べて、情報を得るための手順は煩雑になるが、アナログブロックに記述しておく情報量を大幅に削減することができ、より好ましい方法であるといえる。仕様記述部に仕様を直接記述した場合、その情報量はたとえば仕様項目が5、各仕様の内容の記述に20バイト必要であるものとすると、合計100バイトとなるのに対し、識別番号だけであればたとえば4バイト程度と、25分の1のサイズに抑えることが可能となる。識別番号として4バイトを記憶させる場合でも、32ビット分(2の32乗)の種類の識別が可能であるため十分であるといえる。
識別番号の付し方については図15に示すように次のような方法が考えられる。すなわち、最初のブロックに機能181(たとえばシンセサイザ、ミキサ、アンプなど)、次のブロックに製造業社名182、そして最後に識別番号183とする。機能はたとえば4ビットのバイナリで下記のように表現する。
0000 ミキサ
0001 受信用アンプ
0010 シンセサイザ
0011 送信用アンプ
0100 アッテネータ
…… ……
また、次の4ビットは製造者を表す。
0000 製造者A
0001 製造者B
0010 製造者C
0011 製造者D
0100 製造者E
…… ……
なお上記は一例であってたとえば機能を表現するビット数は必ずしも4ビットである必要はなく、また製造者をあらわす部分に関しても同様であり、必要に応じたビット数をあらかじめ勘案して決定すればよい。
また本実施の形態についてはアナログ部の場合をのべたが、専用機能を有し、その特性を外部からの設定によって変更することが可能であるディジタル部、たとえばタップ係数をパラメータとして与えるタイプのディジタルフィルタや、局部発振器の発振周波数をバラメータとして与えるディジタル直交復調器などのICにも同様の仕様記述部を設けておくことは有効であることは言うまでもない。たとえばディジタルフィルタの場合は次のような仕様を記述しておくとよい。
最大タップ数 256
タップ係数の精度 16ビット
最大処理速度 50Mサンプル/秒
ディジタル部は内部がディジタル回路によって構成されているため、ディジタル的にその仕様を外部へ出力する構成をなすことは上述のアナログブロックの場合に比して特に製造しやすいので本実施の形態の方法によりなじんだ方法であるともいえる。
本発明においては、発明の精神及び範囲から逸脱することなく、広い範囲において異なる実施態様を、本発明に基づいて構成することができることは明白である。本発明は、添付のクレームによって限定される以外には、それの特定の実施態様によって制約されない。
本発明の第1の実施の形態を説明するための図である。 本発明のコンパイラの動作を示す図である。 本発明のコンパイラの動作を示す図である。 アナログ部の構成を示す図である。 シンセサイザの構成を示す図である。 シンセサイザ設定データを示す図である。 本発明の他の実施の形態を示すフローチャートである。 本発明の他の実施の形態を示すフローチャートである。 本発明の他の実施の形態を説明するためのフローチャートである。 本発明の第3の実施の形態において採用されるアナログの機能ブロック(アナログブロック)を示す説明図である。 アナログブロックが例えば図1のシンセサイザ3に相当するシンセサイザ141である場合を示す説明図である。 アナログブロックが図1のアンプ1に相当するアンプ151である場合を示す説明図である。 シンセサイザとアンプが1チッブ化されたICの例を示す説明図である。 本発明の第4の実施の形態において採用されるアナログの機能ブロック(アナログブロック)を示す説明図である。 識別番号の付し方を説明するための説明図ある。 従来例を説明するための図である。
符号の説明
1・・・アンプ
2・・・ミキサ
3・・シンセサイザ
4・・・AD変換器
5・・・DA変換器
7・・・DSP
9・・・CPU
10・・ハードウェア
11・・OS
12・・デバイスドライバ
13・・ライブラリ
14・・アプリケーションプログラム
15・・ソフトウェア

Claims (2)

  1. 無線信号を送受信する送受信手段と、受信した前記無線信号をディジタル信号に変換して出力するAD変換手段と、送信するディジタル信号を前記無線信号に変換して出力するDA変換手段と、前記AD変換手段の出力に対するディジタル信号処理及び前記DA変換手段の入力に対するディジタル信号処理を行うディジタル信号処理手段とを有するハードウェアによって複数の無線機能を実現する移動通信のための無線通信装置であって、
    所定の無線機能を実現するための関数を含み前記ハードウェアに依存した第1のライブラリを記憶する記憶手段と、
    アプリケーションプログラムのコンパイル時に前記ハードウェアに依存しない第2のライブラリがリンクされて生成された実行ファイルをダウンロードし、実行に際して前記第1のライブラリが含む前記関数を参照する前記実行ファイルを基本ソフトウェア上で実行させることにより、前記送受信手段と、前記AD変換手段と、前記DA変換手段と、前記ディジタル信号処理手段との少なくとも1つを制御して前記複数の無線機能を実現する制御手段と
    を具備することを特徴とする無線通信装置。
  2. 無線信号を送受信する送受信手段と、受信した前記無線信号をディジタル信号に変換して出力するAD変換手段と、送信するディジタル信号を前記無線信号に変換して出力するDA変換手段と、前記AD変換手段の出力に対するディジタル信号処理及び前記DA変換手段の入力に対するディジタル信号処理を行うディジタル信号処理手段と、記憶手段とを有するハードウェアによって複数の無線機能を実現する移動通信のための無線通信装置を、制御手段がソフトウェアによって制御する無線通信方法であって、
    アプリケーションプログラムのコンパイル時に前記ハードウェアに依存しない第2のライブラリがリンクされて生成された実行ファイルを、前記制御手段がダウンロードし、
    前記記憶手段には所定の無線機能を実現するための関数を含み前記ハードウェアに依存した第1のライブラリが記憶されており、
    前記制御手段が、実行に際して前記第1のライブラリが含む前記関数を参照する前記実行ファイルを基本ソフトウェア上で実行させることにより、前記送受信手段と、前記AD変換手段と、前記DA変換手段と、前記ディジタル信号処理手段との少なくとも1つを制御して前記複数の無線機能を実現する
    ことを特徴とする無線通信方法。
JP2006014455A 1998-12-21 2006-01-23 無線通信装置及び無線通信方法 Expired - Fee Related JP4131736B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006014455A JP4131736B2 (ja) 1998-12-21 2006-01-23 無線通信装置及び無線通信方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP36205998 1998-12-21
JP2006014455A JP4131736B2 (ja) 1998-12-21 2006-01-23 無線通信装置及び無線通信方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP11351926A Division JP2000244358A (ja) 1998-12-21 1999-12-10 無線通信装置、無線通信方法及び記録媒体

Publications (2)

Publication Number Publication Date
JP2006203911A JP2006203911A (ja) 2006-08-03
JP4131736B2 true JP4131736B2 (ja) 2008-08-13

Family

ID=36961431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006014455A Expired - Fee Related JP4131736B2 (ja) 1998-12-21 2006-01-23 無線通信装置及び無線通信方法

Country Status (1)

Country Link
JP (1) JP4131736B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7758317B2 (en) 2003-09-10 2010-07-20 Astellas Pharma Inc. Method of analyzing vaporization pattern of solvent and solvent vacuum vaporization device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7758317B2 (en) 2003-09-10 2010-07-20 Astellas Pharma Inc. Method of analyzing vaporization pattern of solvent and solvent vacuum vaporization device

Also Published As

Publication number Publication date
JP2006203911A (ja) 2006-08-03

Similar Documents

Publication Publication Date Title
JP2000244358A (ja) 無線通信装置、無線通信方法及び記録媒体
US8086225B2 (en) Methods and apparatus for controlling the operation of wireless communications systems
US7151925B2 (en) Software defined radio (SDR) architecture for wireless digital communication systems
US7167727B2 (en) Wireless data communications using FIFO for synchronization memory
US7035595B1 (en) Configurable wireless interface
KR100926908B1 (ko) 단일 씨모스 기판 상에 단일 칩 무선 랜 및 블루투스 무선장치들을 구성하기 위한 방법 및 시스템
US7085536B2 (en) Method and apparatus for dynamically resolving radio frequency interference problems in a system
US7613913B2 (en) Digital architecture using one-time programmable (OTP) memory
US20070104098A1 (en) Radio frequency signal processing device and mobile communication terminal equipped with the device
JP4901828B2 (ja) トランシーバ、rfトランシーバ、通信システムおよび制御パケットの伝送方法
US20020119754A1 (en) Radio communication apparatus and qualification method of the same
WO2006115928A1 (en) Transceiver with digital interface and event manager
CN1726617B (zh) 具有可变增益装置的无线通信装置及其方法
JP2014512577A (ja) ソフトウェア定義ラジオ端末装置及びラジオアプリケーションの配布及び設置方法
US8750940B2 (en) Systems and methods for managing dynamic clock operations during wireless transmissions
JP4131736B2 (ja) 無線通信装置及び無線通信方法
KR101945941B1 (ko) 라디오 어플리케이션을 실행하는 방법 및 단말 장치
JP4131737B2 (ja) 無線通信装置及び無線通信方法
JP3800945B2 (ja) ソフトウエア無線機
US20060202715A1 (en) Re-configurable circuit and configuration switching method
JP4602187B2 (ja) マルチモード通信装置
US20120131562A1 (en) Method and apparatus for upgrading virtual machine in a portable terminal
JP2006287622A (ja) 高周波通信制御装置および高周波通信制御方法
JP2001160765A (ja) ソフトウェアにより無線機能を実現する無線機、受信機および送信機
JP2003337647A (ja) キー入力装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080421

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: 20080520

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080527

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees