JP2005124009A - Software radio apparatus - Google Patents

Software radio apparatus Download PDF

Info

Publication number
JP2005124009A
JP2005124009A JP2003358692A JP2003358692A JP2005124009A JP 2005124009 A JP2005124009 A JP 2005124009A JP 2003358692 A JP2003358692 A JP 2003358692A JP 2003358692 A JP2003358692 A JP 2003358692A JP 2005124009 A JP2005124009 A JP 2005124009A
Authority
JP
Japan
Prior art keywords
data
software
tty
processing
corba
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.)
Withdrawn
Application number
JP2003358692A
Other languages
Japanese (ja)
Inventor
Michitomo Suzuki
道奉 鈴木
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.)
Hitachi Kokusai Electric Inc
Original Assignee
Hitachi Kokusai Electric Inc
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 Hitachi Kokusai Electric Inc filed Critical Hitachi Kokusai Electric Inc
Priority to JP2003358692A priority Critical patent/JP2005124009A/en
Publication of JP2005124009A publication Critical patent/JP2005124009A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Transceivers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a software radio apparatus mounting a software which utilizes TTY communication functions utilizing the CORBA and realizes e-mail communications. <P>SOLUTION: A modem 1b requests the TTY software 21 of a signal processor 1c to give data at the timing of a fixed period. If data stored in a buffer in the TTY software 21 are below a threshold of data to be sent to the modem 1b, the TTY software 21 requests a data controller 1d to give the same data. The data controller 1d sends data corresponding to the received request to the TTY software 21 which then sends the data as requested to the modem 1b. At this time the TTY software 21 actuates a teletype/data sending module (not shown) to execute DSP 23, 24, thus realizing a TTY communication function. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、CORBA(Common Object Request Broken Architecture)対応のソフトウェア分散処理構造を備えたソフトウェア無線機に関し、特に、テレタイプ/データ通信機能を追加するためのソフトウェアを付加したソフトウェア無線機に関する。   The present invention relates to a software defined radio having a distributed software processing structure compatible with CORBA (Common Object Request Broken Architecture), and more particularly to a software defined radio to which software for adding a teletype / data communication function is added.

従来より、ソフトウェアによって無線機の実行プログラムを切り替えることにより、無線機における同一のハードウェアリソースで複数の無線通信方式に対応できるソフトウェア無線機が広く知られている。このように、ソフトウェアの変更により無線機の構成を変更することができるソフトウェア無線機においては、ネットワークから所望の機能を定義したファイルをダウンロードすることによって、ソフトウェア無線機内のモジュールの構成を変更することにより複数の無線通信方式を実現することが可能となる。   2. Description of the Related Art Conventionally, software radios that can support a plurality of radio communication systems with the same hardware resources in a radio by switching the execution program of the radio by software are widely known. In this way, in a software defined radio that can change the configuration of the radio by changing the software, the configuration of the module in the software defined radio is changed by downloading a file defining a desired function from the network. Thus, a plurality of wireless communication systems can be realized.

ところで、ソフトウェアを異なるOS(Operation System)やマシンで動作させるような移植性に富んだPosix(Portable Operating System Interface)系のOS上で動作するソフトウェア無線機のアプリケーションソフトウェアは、CORBAとアプリケーションの配置や利用を支援する共通のアプリケーションサービスを利用したソフトウェア実行環境を持つ複数の演算処理装置を備えている。そして、ソフトウェア無線機は、これらの複数の演算処理装置を用いてソフトウェアの分散処理を行うことによって、移植性、保守性、及び拡張性の向上を図っている。尚、CORBAとは、分散環境でクライアントがサーバのオブジェクトにアクセスするためのソフトウェアバスを提供する標準技術であり、OMG(0bject Management Group)という標準化団体が策定した仕様であって、ネットワーク上で異なるアプリケーションソフトウェアで作成されたデータ同士でメッセージ交換を行う機能を備えている。つまり、ミドルウェアとしてCORBAを用いることによって、プラットフォームやプログラム言語の壁を越えてオブジェクト同士の通信が可能となる。   By the way, software radio application software that operates on a portable OS (Positive Operating System Interface) system that has a high degree of portability, such as software running on different OS (Operation System) and machines, A plurality of arithmetic processing units having a software execution environment using a common application service that supports use is provided. The software defined radio performs portability, maintainability, and expandability by performing distributed software processing using the plurality of arithmetic processing devices. CORBA is a standard technology that provides a software bus for clients to access server objects in a distributed environment. It is a specification developed by a standardization organization called OMG (0bject Management Group), and differs on the network. It has a function to exchange messages between data created by application software. In other words, by using CORBA as middleware, it becomes possible to communicate between objects across platforms and programming languages.

また、ミドルウェアを使用してソフトウェアの分散処理構造を実現するソフトウェア無線機においては、CORBAのようなミドルウェアとのインタフェースを持たないアプリケーションや、OSの乗らない演算処理装置、ハードウェアデバイスなどは利用できなかったが、これら演算処理装置やハードウェアデバイスとの橋渡し的なアプリケーションやデバイスドライバを作成することによって、演算処理装置やハードウェアデバイスなどの相互利用を可能にした。さらに、現在は、このようなアプリケーションを利用することによって、ソフトウェア無線機において音声通信などのアナログ信号の伝送を可能にしている。このとき、ソフトウェア無線機での音声通信において、アナログ信号の処理や伝送方法は、1つのDSP(Digital Signal Processor)を相手にしてのデータの送受信を行う処理のみで実現が可能である。   In addition, in a software defined radio that uses middleware to realize a distributed software processing structure, applications that do not have an interface with middleware such as CORBA, arithmetic processing devices that do not carry an OS, hardware devices, and the like can be used. However, by creating applications and device drivers that bridge these arithmetic processing devices and hardware devices, the arithmetic processing devices and hardware devices can be used interchangeably. Furthermore, at present, by using such an application, an analog signal such as voice communication can be transmitted in a software defined radio. At this time, in the voice communication with the software defined radio, the analog signal processing and transmission method can be realized only by processing for transmitting and receiving data with one DSP (Digital Signal Processor) as a partner.

また、下記の特許文献1には、分散オブジェクト環境においてクライアントからサーバへの処理依頼を非同期通信で行う技術が開示されている。この技術によれば、クライアント分散オブジェクトからサーバ分散オブジェクトへの処理依頼を非同期で行うことにより、サーバ分散オブジェクトが処理を行っている最中にクライアント分散オブジェクトが他の所望の処理を行ったり、クライアント分散オブジェクトで何ら操作を行わなくてもサーバ分散オブジェクトの例外処理を行うことができる。さらに、下記の特許文献2には、個別に開発されたプログラム間を容易に連携させることができるプログラム間バインド方法の技術が開示されている。この技術によれば、個々のプログラムを開発した後に所望のプログラム同士を連携させて新たなプログラムとして実行させることができる。
特開平11−110216号公報(段落番号0013〜0048、及び図1〜図3参照) 特開2001−5652号公報(2〜5ページ、及び図1〜図10参照)
Patent Document 1 below discloses a technique for performing a processing request from a client to a server by asynchronous communication in a distributed object environment. According to this technology, a processing request from a client distributed object to a server distributed object is performed asynchronously, so that the client distributed object performs other desired processing while the server distributed object is processing, or a client Exception processing of server distributed objects can be performed without performing any operations on the distributed objects. Furthermore, Patent Document 2 below discloses a technique for a program binding method capable of easily linking individually developed programs. According to this technique, after developing individual programs, desired programs can be linked together and executed as a new program.
Japanese Patent Laid-Open No. 11-110216 (see paragraph numbers 0013 to 0048 and FIGS. 1 to 3) Japanese Unexamined Patent Publication No. 2001-5562 (see pages 2 to 5 and FIGS. 1 to 10)

しかしながら、上記従来のソフトウェア無線機においてBB(Base Band)多値変調モデム変復調処理を行うには、DSPのもつバッファ量や演算処理等の制約があるため、1つのDSPのみでのデータの送受を行うだけではなく、複数のDSPを用いたデータの授受アルゴリズムが必要となってくる。ところが、従来のソフトウェア無線機に搭載されたソフトウェアは、1つのDSPを処理するようなアルゴリズムになっているので、CORBAとアプリケーションの配置や利用を支援する共通のアプリケーションサービスを利用したソフトウェア実行環境を持つ複数の演算処理装置を用いて、ソフトウェア分散処理を行う環境上で動作するアプリケーション、演算処理装置、ハードウェアデバイスなどによってテレタイプ(TTY:Tele Type)/データ通信機能(以下、TTY通信機能という)を実現することは不可能である。また、上記の特許文献1や特許文献2に開示されている技術においても、複数のDSPを用いたデータの授受アルゴリズムを持っていないので、そのままの技術を応用してもTTY通信機能を実現することはできない。尚、TTY通信とは、非同期通信を行う際に伝送単位を決めずに1文字ずつ独立して送る伝送方式であり、キーボードなどによって入力した文字情報をそのまま表示したい場合には有効な伝送方式である。   However, in order to perform BB (Base Band) multi-level modulation modem modulation / demodulation processing in the above-mentioned conventional software defined radio, there are restrictions on the buffer amount and arithmetic processing of the DSP, so that data can be transmitted and received by only one DSP. In addition to this, a data transmission / reception algorithm using a plurality of DSPs is required. However, since the software installed in a conventional software defined radio is an algorithm that processes a single DSP, a software execution environment using a common application service that supports the placement and use of CORBA and applications is provided. A teletype (TTY: Tele Type) / data communication function (hereinafter referred to as a TTY communication function) depending on an application, an arithmetic processing device, a hardware device, etc. that operate in an environment where software distributed processing is performed using a plurality of arithmetic processing devices. ) Is impossible to achieve. In addition, the techniques disclosed in Patent Document 1 and Patent Document 2 described above do not have a data transfer algorithm using a plurality of DSPs, so that the TTY communication function can be realized even if the same technology is applied. It is not possible. Note that TTY communication is a transmission method that independently sends one character at a time without determining a transmission unit when performing asynchronous communication, and is an effective transmission method when it is desired to display character information input by a keyboard or the like as it is. is there.

本発明は、以上のような問題点に鑑みてなされたものであり、CORBAを利用してのTTY通信機能を利用可能にし、Eメール通信を実現することができるソフトウェアを搭載したソフトウェア無線機を提供することを目的とする。   The present invention has been made in view of the above problems, and a software defined radio equipped with software capable of using a TTY communication function using CORBA and realizing e-mail communication is provided. The purpose is to provide.

本発明は、上記の目的を達成するために創案されたものであり、ミドルウェアとしてCORBAを使用し、ソフトウェアの分散処理環境で動作するアプリケーションによって無線機能を実現させるソフトウェア無線機であって、分散オブジェクト相互間で通信を行うためのインタフェースと、分散オブジェクトの何れかからデータ要求を受け取って一時的に保管するバッファと、分散オブジェクト相互間で通信されるアナログデータとデジタルデータの無線信号をデジタル信号として処理するデジタル信号処理手段と、分散オブジェクトの何れかからデータ要求を受け付けたとき、バッファに所定の閾値以上のデータが保存されているときは、そのデータ要求を満たすデータ量を引数としてその分散オブジェクトに対応するインタフェースを呼び出し、バッファに所定の閾値以下のデータが保存されているときは、他の分散オブジェクトから所望のデータを取得した後に、データ要求を満たすデータ量を引数として分散オブジェクトに対応するインタフェースを呼び出すソフトウェアとを備え、そのソフトウェアが、インタフェースによる分散オブジェクト相互間の通信とデジタル信号処理手段によるデジタル信号処理とに基づいてテレタイプ/データ通信機能を実現させることを特徴とする。   The present invention has been developed to achieve the above object, and is a software defined radio that uses CORBA as middleware and realizes a wireless function by an application that operates in a distributed software processing environment. An interface for communicating with each other, a buffer for receiving and temporarily storing data requests from any of the distributed objects, and analog and digital radio signals communicated between the distributed objects as digital signals When a data request is received from one of the digital signal processing means to be processed and the distributed object, and if data exceeding a predetermined threshold is stored in the buffer, the data amount satisfying the data request is used as an argument for the distributed object Interface corresponding to When the data below the specified threshold is stored in the buffer, the software that obtains the desired data from other distributed objects and then calls the interface corresponding to the distributed object with the amount of data that satisfies the data request as an argument And the software realizes a teletype / data communication function based on communication between distributed objects by the interface and digital signal processing by the digital signal processing means.

本発明のソフトウェア無線機は、CORBAによるソフトウェア分散処理構造のソフトウェア無線機のアプリケーションソフトにおいて、テレタイプ/データ通信(TTY通信)を利用可能にするソフトウェアを搭載したものである。さらに詳細に述べれば、本発明のソフトウェア無線機は、分散オブジェクト相互間で通信を行うためのIDL(Interface Definition Language)インタフェースと、分散オブジェクトであるモデム部のからデータ要求を受け取って一時的に保管したり分散オブジェクトであるデータ制御部から取得したデータを一時的に保管したりする複数のリングバッファと、データ制御部から取得したデータをデジタル処理してモデム部へ渡すためのデジタル信号処理手段である複数のDSPと、TTY通信機能を実現させるTTYソフトウェアとを備えた構成となっている。そして、TTYソフトウェアは、モデム部からデータ要求を受けたとき、そのデータ要求に対して、所定のリングバッファに予め定めた量に達するデータが記憶されているときは、予め定めた量のデータを引数としてモデム部のインタフェースを呼び出し、所定のリングバッファに予め定めた量に達しないデータが記憶されているときは、データ制御部に対してデータ要求を行うことによって所望のデータ量を満たし、そのデータ量を引数としてモデム部のインタフェースを呼び出す。これによって、TTYソフトウェアは、IDLインタフェースによって分散オブジェクト相互間の通信を実現させ、複数のDSPによるデジタル信号処理によってテレタイプ/データ通信機能を実現させることができる。このような構成のソフトウェア無線機によれば、CORBAとアプリケーションの配置や利用を支援する共通のアプリケーションサービスを利用したソフトウェア実行環境をもつ複数の演算処理装置を用いてソフトウェア分散処理を行うことで、無線機の移植性、保守性、及び拡張性が向上させると共に、TTY通信機能を実行させてEメール通信を行うことができる。   The software defined radio according to the present invention includes software that enables use of teletype / data communication (TTY communication) in application software of a software defined radio having a software distributed processing structure based on CORBA. More specifically, the software defined radio of the present invention receives an IDL (Interface Definition Language) interface for communicating between distributed objects and a data request from a modem unit which is a distributed object, and temporarily stores it. A plurality of ring buffers that temporarily store data acquired from the data control unit, which is a distributed object, and digital signal processing means for digitally processing the data acquired from the data control unit and passing it to the modem unit The configuration includes a plurality of DSPs and TTY software for realizing the TTY communication function. When the TTY software receives a data request from the modem unit, if a data reaching a predetermined amount is stored in a predetermined ring buffer in response to the data request, the TTY software stores a predetermined amount of data. When the interface of the modem unit is called as an argument and data that does not reach the predetermined amount is stored in the predetermined ring buffer, the desired data amount is satisfied by making a data request to the data control unit. Calls the modem interface using the data amount as an argument. Accordingly, the TTY software can realize communication between distributed objects through the IDL interface, and can realize a teletype / data communication function through digital signal processing by a plurality of DSPs. According to the software defined radio having such a configuration, by performing software distributed processing using a plurality of processing units having a software execution environment using a common application service that supports the arrangement and use of CORBA and applications, The portability, maintainability, and expandability of the radio can be improved, and e-mail communication can be performed by executing the TTY communication function.

本発明のソフトウェア無線機によれば、CORBA未対応のハードウェアをCORBAに接続するためのソフトウェア及びハードウェアを備えた構成であって、モデムアプリケーション、データ制御部アプリケーション、及びDSPのそれぞれとデータの送受信を行うための3つのリングバッファを備えると共に、それらのリングバッファに対応する3つのスレッド(プロセス)とDSPとの間でタイミングを吸収するためのDP-RAMとを備える構成とした。そして、CORBAによるソフトウェア分散処理構造のソフトウェア無線機のアプリケーションソフトにおいて、さらに、TTY通信機能を利用可能にするためのTTYソフトウェアを付加した。これによって、本発明のソフトウェア無線機は、CORBAによるソフトウェア分散処理構造を持つソフトウェア無線機のアプリケーションにおいて、Eメール通信(つまり、TTY通信)を行うことができる。さらに、上記の構造によるTTYソフトウェアは既存のソフトウェア無線機への流用が可能であるので、このTTYソフトウェアを既存のソフトウェア無線機に付加することによって、既存機能である音声通信と付加機能であるTTY通信とを共に動作させることができる。   According to the software defined radio of the present invention, the configuration includes software and hardware for connecting hardware that does not support CORBA to CORBA, and each of the modem application, the data control unit application, and the DSP The configuration includes three ring buffers for transmitting and receiving, and three threads (processes) corresponding to the ring buffers and a DP-RAM for absorbing timing between the DSPs. Further, TTY software for enabling the use of the TTY communication function is added to the software radio application software having a software distributed processing structure by CORBA. Accordingly, the software defined radio of the present invention can perform e-mail communication (that is, TTY communication) in the application of the software defined radio having a software distributed processing structure by CORBA. Furthermore, since the TTY software having the above-described structure can be diverted to an existing software defined radio, by adding this TTY software to the existing software defined radio, an existing function voice communication and an additional function TTY are provided. Communication can be operated together.

≪ソフトウェア無線機の概要≫
本発明のソフトウェア無線機は、ミドルウェアCORBA(以下、単にCORBAという)とアプリケーションの配置や利用を支援する共通のアプリケーションサービスを利用したソフトウェア実行環境を持つ複数の演算処理装置を用いて、ソフトウェア分散処理を行う環境上でソフトウェア無線機において使用するEメール送受信端末を使用したTTY通信を可能にするための無線機能を実現するためのソフトウェアを搭載したことを特徴とする。つまり、本発明のソフトウェア無線機は、CORBAによるソフトウェア分散処理構造のソフトウェア無線機のアプリケーションソフトにおいて、TTY通信を利用可能にするソフトウェアを搭載したものであり、以下、このようにTTY通信機能を実現するソフトウェアをTTYソフトウェアと称することにする。本発明のソフトウェア無線機によれば、CORBAとアプリケーションの配置や利用を支援する共通のアプリケーションサービスを利用したソフトウェア実行環境をもつ複数の演算処理装置を用いてソフトウェア分散処理を行うことで、無線機の移植性、保守性、及び拡張性が向上させると共に、TTY通信機能を実行させてEメール通信を可能にしている。
≪Overview of software defined radio≫
The software defined radio according to the present invention uses a plurality of arithmetic processing units having a software execution environment using middleware CORBA (hereinafter simply referred to as CORBA) and a common application service that supports the placement and use of applications. It is characterized in that software for realizing a wireless function for enabling TTY communication using an e-mail transmission / reception terminal used in a software defined radio in an environment for performing the above is mounted. In other words, the software defined radio of the present invention is equipped with software that enables the use of TTY communication in the application software of the software defined radio distributed by CORBA, and the TTY communication function is realized as described below. This software will be referred to as TTY software. According to the software defined radio of the present invention, by performing software distributed processing using a plurality of arithmetic processing units having a software execution environment using a common application service that supports the arrangement and use of CORBA and applications, Portability, maintainability, and expandability are improved, and the TTY communication function is executed to enable e-mail communication.

また、本発明のソフトウェア無線機において配置されるアプリケーションソフトウェア(つまり、TTYソフトウェア)は、それぞれ、モデム部、信号処理部、データ制御部など、その他の演算処理装置上で様々な機能を有して処理の分散化を行っている。さらに、信号処理部での機能拡張として、DSPに対してTTY処理機能とBB多値変調モデム変復調処理機能とを追加している。BB多値変調モデム変復調処理におけるデジタル信号処理種別としては、情報量の多いデータを狭帯域によって高速通信することができる多値伝送変調方式である16QAM(16Quadrature Amplitude Modulation)、エラー耐性は高いがオーバーヘッドの大きい4位相変調方式であるQPSK(Quadrature Phase Shift Keying)、及び位相変調を利用したデジタル変調方式であるBPSK(Binary Phase Shift Keying)の3つの処理方式を使用している。以下に各デジタル信号処理方式についてさらに詳しく説明する。   In addition, application software (that is, TTY software) arranged in the software defined radio of the present invention has various functions on other arithmetic processing units such as a modem unit, a signal processing unit, and a data control unit. Processing is distributed. Further, as a function expansion in the signal processing unit, a TTY processing function and a BB multilevel modulation modem modulation / demodulation processing function are added to the DSP. The digital signal processing type in the BB multi-level modulation modem modulation / demodulation processing is 16QAM (16 Quadrature Amplitude Modulation), which is a multi-level transmission modulation method capable of high-speed communication of data with a large amount of information in a narrow band, and has high error tolerance but overhead. QPSK (Quadrature Phase Shift Keying), which is a large four-phase modulation method, and BPSK (Binary Phase Shift Keying), which is a digital modulation method using phase modulation, are used. Each digital signal processing method will be described in more detail below.

16QAMとはデジタル信号をアナログ信号に変換する変調方式の一つであり、1シンボルで4ビットのデータを送るデジタル変調方式の一種である。位相と振幅をそれぞれ4種類ずつ持ち、それらを組み合わせることで16種類の値を作ってデータ送信に用いている。このような16QAM変調方式は他のデジタル変調方式に比べて1シンボル当りのデータ量が多い。
QPSKとはデジタル信号をアナログ信号に変換する変調方式の一つであり、変換された後の波における4つの異なる位相にそれぞれ1つの値を割り当てることにより、1回の変調で4値(2ビット)のデータを送受信することが可能であり、デジタル衛星放送やケーブルモデムなどに用いられる変調方式である。
16QAM is one of modulation methods for converting a digital signal into an analog signal, and is a kind of digital modulation method for transmitting 4 bits of data with one symbol. There are four types each of phase and amplitude, and by combining them, 16 types of values are created and used for data transmission. Such a 16QAM modulation system has a larger amount of data per symbol than other digital modulation systems.
QPSK is one of the modulation methods for converting a digital signal into an analog signal. By assigning one value to each of four different phases in the converted wave, four values (2 bits) are obtained by one modulation. ) Is a modulation method used for digital satellite broadcasting, cable modems, and the like.

BPSKとは位相変調を利用したデジタル変調方式の1つであり、最も単純な位相変調方式で、キャリアの位相を“0”、キャリアとは逆の位相(180度ずれた位相)を“1”に割り当て、受信側ではこのキャリアからの位相のずれを検出することで送られた信号が“0”なのか“1”なのかを識別する。尚、BPSKは、変調出力の振幅が一定なため、電力効率の高い増幅器を利用することができて消費電力面では有利であること、及び変調方式として単純で効率はあまりよくないが、その分通信エラーに比較的強いという特徴がある。
以上のデジタル信号処理機能を持つDSPを使用することによりTTY通信を実現しEメール機能を可能とする。
BPSK is one of the digital modulation methods using phase modulation, and is the simplest phase modulation method. The carrier phase is “0” and the phase opposite to the carrier (a phase shifted by 180 degrees) is “1”. And the receiving side detects whether the transmitted signal is “0” or “1” by detecting a phase shift from this carrier. BPSK is advantageous in terms of power consumption because it can use an amplifier with high power efficiency because the amplitude of the modulation output is constant, and it is simple and not very efficient as a modulation method. It is characterized by being relatively resistant to communication errors.
By using a DSP having the above digital signal processing function, TTY communication is realized and an e-mail function is enabled.

≪ソフトウェア無線機の構成≫
図1は、本発明のソフトウェア無線機におけるTTYソフトウェアと、ミドルウェアとしてのCORBAと、CORBA未対応ハードウェアデバイスとの関係を示す図であり、(a)はCORBAを用いて分散処理を実現するソフトウェア無線機のハードウェア構成図、(b)は(a)のモデム部、信号処理部、及びデータ制御部の詳細な構成図である。
<< Configuration of software defined radio >>
FIG. 1 is a diagram showing the relationship between TTY software, CORBA as middleware, and hardware devices that do not support CORBA, and (a) is software that implements distributed processing using CORBA. (B) is a detailed block diagram of the modem unit, signal processing unit, and data control unit of (a).

図1(a)において、ソフトウェア無線機1のハードウェア構成は、無線通信を実行するRF部1aと、RF部1aに対して通信制御を行うモデム部1bと、TTY通信機能とBB多値変調モデム変復調処理機能とを追加してデジタル信号処理を行う信号処理部1cと、16QAM、QPSK、及びBPSKの3つの処理方式でデータ制御を行うデータ制御部1dと、無線通信の回線をネットワーク上に接続するネットワーク部1eと、LAN等に接続された無線通信回線のセキュリティを確保するセキュリティ部1fとが、バス規格の一つであるCompactPCI(Peripheral Component Interconnect)1jに接続された構成となっている。   1A, the hardware configuration of the software defined radio 1 includes an RF unit 1a that performs wireless communication, a modem unit 1b that performs communication control on the RF unit 1a, a TTY communication function, and BB multilevel modulation. A signal processing unit 1c that performs digital signal processing by adding a modem modulation / demodulation function, a data control unit 1d that performs data control by three processing methods of 16QAM, QPSK, and BPSK, and a wireless communication line on the network A network unit 1e to be connected and a security unit 1f for ensuring the security of a wireless communication line connected to a LAN or the like are connected to a CompactPCI (Peripheral Component Interconnect) 1j which is one of bus standards. .

また、図1(b)において、モデム部1bは、モデム部1bのCORBAを実行させるモデム部CORBAアプリケーション11と、入出力ポートを持つ読み書き可能なメモリであるDP-RAM(Dual Port−Random Access Memory)12と、書き換え可能な大規模集積回路であるFPGA(Field Programble Gate Arrey)13とを含んだ構成となっている。
信号処理回路1cは、TTY通信機能を実現させるTTYソフトウェア21と、TTYソフトウェア21を制御するデバイスドライバ22と、音声信号を処理してTTY通信機能を実現させるアナログ処理用DSP23と、BB多値変調モデム変復調処理機能を実現させるBB多値変調処理用DSP24と、TTYソフトウェア21とアナログ処理用DSP23との入出力ポートを持つDP-RAM25と、TTYソフトウェア21とBB多値変調処理用DSP24との入出力ポートを持つDP-RAM26とを備えた構成となっている。
データ制御部1dは、データ制御部1dのCORBAを実行させるデータ制御部CORBAアプリケーション31を備えた構成となっている。
In FIG. 1B, a modem unit 1b includes a modem unit CORBA application 11 that executes CORBA of the modem unit 1b, and a DP-RAM (Dual Port-Random Access Memory) that is a readable / writable memory having input / output ports. ) 12 and an FPGA (Field Programmable Gate Arrey) 13 which is a rewritable large-scale integrated circuit.
The signal processing circuit 1c includes a TTY software 21 for realizing the TTY communication function, a device driver 22 for controlling the TTY software 21, an analog processing DSP 23 for processing the audio signal to realize the TTY communication function, and a BB multilevel modulation. Input of BB multilevel modulation processing DSP 24 for realizing modem modulation / demodulation processing function, DP-RAM 25 having input / output ports of TTY software 21 and analog processing DSP 23, TTY software 21 and BB multilevel modulation processing DSP 24 The configuration includes a DP-RAM 26 having an output port.
The data control unit 1d includes a data control unit CORBA application 31 that executes CORBA of the data control unit 1d.

そして、モデム部1bのモデム部CORBAアプリケーション11と信号処理部1cのTTYソフトウェア21とデータ制御部1dのデータ制御部CORBAアプリケーション31は、それぞれのスケルトン1g及びスタブ1hを介して、CompactPCI内のソフトウェアバスであるORB1iに接続された構成となっている。尚、データの流れは、データ制御部1dのデータ制御部CORBAアプリケーション31→信号処理部1cのTTYソフトウェア21→モデム部1bのモデム部CORBAアプリケーション11という流れになっている。   The modem unit CORBA application 11 of the modem unit 1b, the TTY software 21 of the signal processing unit 1c, and the data control unit CORBA application 31 of the data control unit 1d are respectively connected to the software bus in the CompactPCI via the skeleton 1g and the stub 1h. Is connected to the ORB 1i. The data flow is the data control unit CORBA application 31 of the data control unit 1d → TTY software 21 of the signal processing unit 1c → modem unit CORBA application 11 of the modem unit 1b.

≪ソフトウェア無線機の動作≫
図2は、図1に示すソフトウェア無線機の構成においてアナログ(音声)データ伝送時におけるアプリケーション間の関係を示す図であり、図3は、図1に示すソフトウェア無線機の構成においてテレタイプ/データ伝送時におけるアプリケーション間の関係を示す図である。したがって、図2、図3を用いて図1における本発明のソフトウェア無線機の動作を説明する。
≪Operation of software defined radio≫
2 is a diagram showing a relationship between applications at the time of analog (voice) data transmission in the configuration of the software defined radio shown in FIG. 1, and FIG. 3 is a diagram of teletype / data in the configuration of the software defined radio shown in FIG. It is a figure which shows the relationship between the applications at the time of transmission. Therefore, the operation of the software defined radio of the present invention in FIG. 1 will be described with reference to FIGS.

実際のハードウェアヘのアクセスは、信号処理部1cのデバイスドライバ22を使用することによってモデム部1b、信号処理部1c、及びデータ制御部1dの間のデータ授受や、各ハードウェアの起動及び制御などのハードウェアデバイス制御を行うことができる。尚、信号処理部1cのTTYソフトウェア21は、CORBA未対応である演算処理装置(図示せず)やハードウェアデバイスデバイス(図示せず)を、他のCORBA対応アプリケーションから見て、あたかもCORBA上に存在しているかのようにする機能を有するソフトウェアである。また、実際にソフトウェア無線機1に使用する信号処理部1cのTTYソフトウェア21は、デジタル信号処理に特化したシグナルプロセッサであるアナログ処理用DSP23とBB多値変調処理用DSP24を起動したり、制御したり、あるいは、アナログ処理用DSP23とBB多値変調処理用DSP24の相互のデータ授受を実現させたりするものである。   For actual access to hardware, the device driver 22 of the signal processing unit 1c is used to exchange data between the modem unit 1b, the signal processing unit 1c, and the data control unit 1d, and to start and control each hardware. Hardware device control can be performed. Note that the TTY software 21 of the signal processing unit 1c is configured so that an arithmetic processing unit (not shown) and a hardware device device (not shown) that are not compatible with CORBA are viewed on other CORBA-compatible applications. This software has a function to make it exist. The TTY software 21 of the signal processing unit 1c that is actually used for the software defined radio 1 activates or controls an analog processing DSP 23 and a BB multilevel modulation processing DSP 24, which are signal processors specialized in digital signal processing. Alternatively, mutual data exchange between the analog processing DSP 23 and the BB multilevel modulation processing DSP 24 is realized.

信号処理部1cのTTYソフトウェア21において、アナログデータを伝送する場合とテレタイプデータ(TTYデータ)を伝送する場合とではアプリケーションの動作(処理モジュール)が異なるので、アナログ処理用DSP23の系統とBB多値変調処理用DSP24の系統が個別に設けられている。アナログデータ伝送時においては、音声データのリアルタイム性を重視するために図2に示すようなデータの流れになっている。すなわち図2に示すように、データ制御部1dのデータ制御部CORBAアプリケーション(例えば、Voiceサーバ)31からのデータ処理要求をTTYソフトウェア21のアナログ(音声)用モジュールが受信する(ステップS1)。そして、TTYソフトウェア21がアナログ処理用DSP23に対して処理要求を行い、処理済のデータをモデム部1bのモデム部CORBAアプリケーション11へ送信する(ステップS2)。   In the TTY software 21 of the signal processing unit 1c, the application operation (processing module) differs between when analog data is transmitted and when teletype data (TTY data) is transmitted. A system of the value modulation processing DSP 24 is individually provided. At the time of analog data transmission, the data flow is as shown in FIG. 2 in order to emphasize the real-time property of the audio data. That is, as shown in FIG. 2, the analog (voice) module of the TTY software 21 receives a data processing request from the data control unit CORBA application (for example, Voice server) 31 of the data control unit 1d (step S1). Then, the TTY software 21 makes a processing request to the analog processing DSP 23 and transmits the processed data to the modem unit CORBA application 11 of the modem unit 1b (step S2).

一方、テレタイプ/データ伝送においては図3に示すようなデータの流れになる。つまり、テレタイプ/データ伝送においては、リアルタイム性よりもデータ抜けの無い、正確なデータ伝送が必須であるために、モデム部1bにおいてRF部1aヘデータを伝送するタイミングを作る必要がある。   On the other hand, in teletype / data transmission, the data flow is as shown in FIG. In other words, in teletype / data transmission, accurate data transmission without data omission is essential rather than real-time characteristics, and therefore it is necessary to make a timing for transmitting data to the RF unit 1a in the modem unit 1b.

図3に示すように、モデム部1bのモデム部CORBAアプリケーション11は、一定周期(例えば20msec)のタイミングで信号処理部1cのTTYソフトウェア21のテレタイプ/データ伝送用モジュールに対してデータ要求を行う(ステップS11)。すると、TTYソフトウェア21のテレタイプ/データ伝送用モジュールは、TTYソフトウェア21内のバッファに蓄積されたデータがモデム部1bへ送信すべきデータの閾値以下になっている場合は、データ制御部1dに対して同様のデータの要求を行う(ステップS12)。これによって、データ制御部1dのデータ制御部CORBAアプリケーション(例えば、TTYサーバ)31は受信した要求に対応するデータをTTYソフトウェア21へ送信する(ステップS13)。そして、TTYソフトウェア21のテレタイプ/データ伝送用モジュールは、モデム部1bのモデム部CORBAアプリケーション11に対して要求通りのデータを送信する(ステップS14)。   As shown in FIG. 3, the modem unit CORBA application 11 of the modem unit 1b makes a data request to the teletype / data transmission module of the TTY software 21 of the signal processing unit 1c at a certain cycle (for example, 20 msec). (Step S11). Then, when the data stored in the buffer in the TTY software 21 is equal to or less than the threshold value of data to be transmitted to the modem unit 1b, the teletype / data transmission module of the TTY software 21 sends the data control unit 1d. A similar data request is made to the server (step S12). Thereby, the data control unit CORBA application (for example, TTY server) 31 of the data control unit 1d transmits data corresponding to the received request to the TTY software 21 (step S13). Then, the teletype / data transmission module of the TTY software 21 transmits data as requested to the modem unit CORBA application 11 of the modem unit 1b (step S14).

次に、変調方式に応じてBB多値変調処理用DSP24が処理を行うデータ制御部1dからのデータ形式、及びデータフレーム構成について概要を説明する。図4は、図1に示すデータ制御部から送信されるデータフレーム構成図である。図4に示すように、データ制御部1dからTTYソフトウェア21のアプリケーションヘ送信されるデータはフレーム単位とし、1送信フレームのシンボル数は、UW(ユニークワード)の28シンボルとDATA(実データ)の112シンボルの合計140シンボルである。また、各変調方式(16QAM、QPSK、BPSK)毎にパターンの異なるUWを使用している。例えば、16QAMは“1001”,“0110”…“1010”というパターン、QPSKは“1011”,“0101”…“0110”というパターン、BPSKは“1100”,“1010”…“0010”というパターンでUWを送信している。   Next, an outline of the data format and data frame configuration from the data control unit 1d processed by the BB multilevel modulation processing DSP 24 according to the modulation method will be described. FIG. 4 is a configuration diagram of a data frame transmitted from the data control unit shown in FIG. As shown in FIG. 4, data transmitted from the data control unit 1d to the application of the TTY software 21 is a frame unit, and the number of symbols of one transmission frame is 28 symbols of UW (unique word) and DATA (actual data). There are a total of 140 symbols of 112 symbols. Further, UWs having different patterns are used for each modulation scheme (16QAM, QPSK, BPSK). For example, 16QAM has a pattern of “1001”, “0110”... “1010”, QPSK has a pattern of “1011”, “0101”, “0110”, and BPSK has a pattern of “1100”, “1010”, “0010”. UW is being transmitted.

TTYソフトウェア21のアプリケーションは、データ制御部1dより受け取った上記112シンボルのデータをBB多値変調モデムであるBB多値変調処理用DSP24へ渡す。このときのデータサイズは、図5に示すようなデータ制御部1dから送信されるバイトデータ数とデータシンボル数の関係を示す図のようなデータサイズになる。すなわち、変調方式(16QAM、QPSK、BPSK)によってデータ制御部1dからのバイトデータ数とデータシンボル数が異なり、バイトデータ数は、16QAMの場合は56バイト、QPSKの場合は28バイト、BPSKの場合は14バイトとなる。また、データシンボル数は何れの変調方式の場合も112となる。   The application of the TTY software 21 passes the 112-symbol data received from the data control unit 1d to the BB multilevel modulation processing DSP 24 which is a BB multilevel modulation modem. The data size at this time is the data size as shown in the diagram showing the relationship between the number of byte data and the number of data symbols transmitted from the data control unit 1d as shown in FIG. That is, the number of byte data and the number of data symbols from the data control unit 1d differ depending on the modulation scheme (16QAM, QPSK, BPSK). The number of byte data is 56 bytes for 16QAM, 28 bytes for QPSK, and BPSK. Is 14 bytes. The number of data symbols is 112 for any modulation scheme.

次に、図1の信号処理部1cにおけるデータのレート変換処理、及びTTYソフトウェアにおけるデータ処理の動作について説明する。図6は、図1に示す信号処理部1cにおけるBB多値変調処理用DSP24からアナログ処理用DSP23へデータを伝送するときのレート変換とデータサイズの概要を示す図である。図6において、データ制御部1dのデータ制御部CORBAアプリケーション31から、16QAMは56バイト、QPSKは28バイト、及びBPSKは14バイトのデータが信号処理部1cのTTYソフトウェア21へ送信されると(ステップS21)、TTYソフトウェア21は、DP-RAM26を介して(ステップS22)、これらのデータをBB多値変調処理用DSP24へ渡す。すると、BB多値変調処理用DSP24は、これらのデータについて多値変調を行うが、このとき、BB多値変調処理では全ての信号について8倍のオーバーサンプリングを行う。例えば、140シンボル×8倍=1120ワード(2240バイト)となるようなオーバーサンプリングを行う(ステップS23)。   Next, data rate conversion processing in the signal processing unit 1c in FIG. 1 and data processing operations in the TTY software will be described. FIG. 6 is a diagram showing an overview of rate conversion and data size when data is transmitted from the BB multilevel modulation processing DSP 24 to the analog processing DSP 23 in the signal processing unit 1c shown in FIG. In FIG. 6, when data of 16QAM is 56 bytes, QPSK is 28 bytes, and BPSK is 14 bytes, is transmitted from the data control unit CORBA application 31 of the data control unit 1d to the TTY software 21 of the signal processing unit 1c (steps). In step S21, the TTY software 21 passes these data to the BB multi-level modulation processing DSP 24 via the DP-RAM 26 (step S22). Then, the BB multilevel modulation processing DSP 24 performs multilevel modulation on these data. At this time, in the BB multilevel modulation processing, oversampling is performed 8 times for all signals. For example, oversampling is performed such that 140 symbols × 8 times = 1120 words (2240 bytes) (step S23).

さらに、信号処理部1cのDP-RAM26は、オーバーサンプリングされたfs=12kHz,2240バイトのデータをBB多値変調処理用DSP24から受け取ってTTYソフトウェア21に渡す(ステップS24)。すると、TTYソフトウェア21は、これらのデータをfs=12kHz,480バイトずつ小分けしてDP-RAM25へ渡す(ステップS25)。そして、DPRAM25は、小分けされたデータをアナログ処理用DSP23へ渡す(ステップS26)。   Further, the DP-RAM 26 of the signal processing unit 1c receives the oversampled data of fs = 12 kHz, 2240 bytes from the BB multi-level modulation processing DSP 24 and passes it to the TTY software 21 (step S24). Then, the TTY software 21 divides these data into fs = 12 kHz and 480 bytes and passes them to the DP-RAM 25 (step S25). Then, the DPRAM 25 passes the subdivided data to the analog processing DSP 23 (step S26).

アナログ処理用DSP23は、DP-RAM25から受信したデータについて、fs=12kHzからfs=72kHzへのレート変換を行う。このとき、変換レートは72kHz/12kHz=6であるから、アナログ変調の結果を6倍アップサンプリングすることによって480バイトは2880バイトとなる(ステップS27)。これによって、DP-RAM25は、fs=7kHz,2880バイトのデータを受けて(ステップS28)、このデータをTTYソフトウェア21へ渡す(ステップS29)。さらに、レート変換されたデータをTTYソフトウェア21からモデム部1bのモデム部CORBAアプリケーション11へ渡す(ステップS30)。   The analog processing DSP 23 performs rate conversion from fs = 12 kHz to fs = 72 kHz on the data received from the DP-RAM 25. At this time, since the conversion rate is 72 kHz / 12 kHz = 6, by upsampling the result of analog modulation 6 times, 480 bytes becomes 2880 bytes (step S27). As a result, the DP-RAM 25 receives data of fs = 7 kHz, 2880 bytes (step S28), and passes this data to the TTY software 21 (step S29). Further, the rate-converted data is transferred from the TTY software 21 to the modem unit CORBA application 11 of the modem unit 1b (step S30).

≪ソフトウェア無線機におけるTTYソフトウェアの動作≫
次に、実際のソフトウェア無線機に使用する具体的なTTYソフトウェアの動作の流れについて詳細に説明する。図7は、本発明のソフトウェア無線機に使用されるTTYソフトウェアにおけるデータ処理の流れを示す概念図である。したがって、図7を用いて、実際のソフトウェア無線機に使用されるTTYソフトウェアの具体的はデータ処理の流れを説明する。図7において、TTYソフトウェア21に構成されているIDLインタフェース21aは、OSに依存されないインタフェースを定義するIDL(Interface Definition Language)によって記述されているので、分散環境のOSに共通なインタフェースとして用いることができる。したがって、CORBA対応ソフトウェアはどのようなOS上でも適用することができる。
<< Operation of TTY software in software defined radio >>
Next, a specific operation flow of TTY software used in an actual software defined radio will be described in detail. FIG. 7 is a conceptual diagram showing the flow of data processing in the TTY software used in the software defined radio of the present invention. Therefore, a specific data processing flow of TTY software used in an actual software defined radio will be described with reference to FIG. In FIG. 7, the IDL interface 21a configured in the TTY software 21 is described by an IDL (Interface Definition Language) that defines an interface that is not dependent on the OS. Therefore, the IDL interface 21a can be used as a common interface for the OS in the distributed environment. it can. Therefore, the CORBA-compatible software can be applied on any OS.

モデム部1bで動作するモデム部CORBA対応アプリケーション11と、データ制御部1で動作するデータ制御部CORBA対応アプリケーション31と、TTYソフトウェア21とは、バス規格の一つであるC-PCI(Compact-Peripheral Component Interconnect)1jに接続された構成となっている。   The modem unit CORBA compatible application 11 that operates in the modem unit 1b, the data control unit CORBA compatible application 31 that operates in the data control unit 1, and the TTY software 21 are C-PCI (Compact-Peripheral) which is one of bus standards. Component Interconnect) 1j is connected.

まず、ステップS41において、モデム部1b上で動作するモデム部CORBA対応アプリケーション11は、CORBAを通じて、TTYソフトウェア21が実装しているIDLインタフェース21a(つまり、TTYソフトウェア21で実装している関数)の呼び出しを行い、アナログ信号処理とアップサンプリングの済んだデータの要求を行う。ここで、リングバッファ21bにアナログ信号処理とアップサンプリングの済んだデータが所定のデータ量以上ある場合は、TTYソフトウェア21は、モデム部CORBA対応アプリケーション11が実装するIDLインタフェース21aの呼び出しを行う。そして、引数として、リングバッファ21bから取り出したデータをCORBA経由でモデム部CORBA対応アプリケーション11にデータを流すことが出来るCORBAデータ型ヘデータの加工を行う。さらに、TTYソフトウェア21は、モデム部CORBA対応アプリケーション11が実装するIDLインタフェース(つまり、モデム部CORBA対応アプリケーション11が実装している関数)を呼び出し、これを引数としてデータを渡す。このとき、TTYソフトウェア21からモデム部CORBA対応アプリケーション11への送信データ量は通常は2880バイトとなるが、モデム部CORBA対応アプリケーション11からの要求データ量により送信データ量を可変とすることも可能である。尚、リングバッファ21bの処理はFIFO(First in First Out:先入れ先出し処理)によって行われる。   First, in step S41, the modem unit CORBA compatible application 11 operating on the modem unit 1b calls the IDL interface 21a implemented by the TTY software 21 (that is, a function implemented by the TTY software 21) through CORBA. To request data after analog signal processing and upsampling. If the ring buffer 21b has more than a predetermined amount of data after analog signal processing and upsampling, the TTY software 21 calls the IDL interface 21a implemented by the modem unit CORBA-compatible application 11. As an argument, the data extracted from the ring buffer 21b is processed into a CORBA data type that allows the data to flow to the modem unit CORBA compatible application 11 via CORBA. Further, the TTY software 21 calls an IDL interface (that is, a function implemented by the modem unit CORBA-compatible application 11) implemented by the modem unit CORBA-compatible application 11, and passes data using this as an argument. At this time, the transmission data amount from the TTY software 21 to the modem unit CORBA compatible application 11 is normally 2880 bytes, but the transmission data amount can be made variable according to the request data amount from the modem unit CORBA compatible application 11. is there. The processing of the ring buffer 21b is performed by FIFO (First in First Out).

次に、ステップS42において、リングバッファ21bに信号処理済のデータが無い場合、又はリングバッファ21bに保存されているデータ量が所定の閥値以下のデータ量である場合は、データ制御部1d上で動作するデータ制御部CORBA対応アプリケーション31に対して信号処理を行うためのデータを要求する。   Next, in step S42, if there is no signal-processed data in the ring buffer 21b, or if the amount of data stored in the ring buffer 21b is less than a predetermined threshold value, the data control unit 1d The data controller CORBA-compatible application 31 that operates in the above process requests data for signal processing.

すると、ステップS43において、データ要求を受けたデータ制御部CORBA対応アプリケーション31は、信号処理を行うデータをTTYソフトウェア21のCORBAアプリケーションが実装する関数の引数として1フレーム単位でリングバッファ21dへ渡す。このときのリングバッファ21dの処理はFIFOによって行われる。尚、1フレームのデータ量は、16QAMの場合は56バイト、QPSKの場合は28バイト、BPSKの場合は14バイトである。次に、リングバッファ21dは、引数によって受け取ったデータを、例えば、CORBAデータ型からC/C++データ型に加工し、デバイスドライバ22、アナログ処理用DSP23、あるいはBB多値変調処理用DSP24が使用できるデータ型(例えば、C言語のデータ)に変換してからリングバッファ21dへバッファリングを行う。但し、CORBAを介してのデータ送受信を行っているのでCORBAのデータ型との変換が必要となる。   Then, in step S43, the data control unit CORBA compatible application 31 that has received the data request passes the data to be processed to the ring buffer 21d in units of one frame as an argument of a function implemented by the CORBA application of the TTY software 21. At this time, the processing of the ring buffer 21d is performed by a FIFO. The data amount of one frame is 56 bytes for 16QAM, 28 bytes for QPSK, and 14 bytes for BPSK. Next, the ring buffer 21d processes the data received by the argument from, for example, a CORBA data type to a C / C ++ data type, and the device driver 22, the analog processing DSP 23, or the BB multilevel modulation processing DSP 24 performs processing. The data is converted into a usable data type (for example, C language data) and then buffered in the ring buffer 21d. However, since data transmission / reception is performed via CORBA, conversion to the CORBA data type is required.

つまり、このTTYソフトウェア21のアプリケーションが実装するリングバッファは、TTYソフトウェア上で実現されるChar型の配列であるので、CORBAを介して受け取ったデータをリングバッファに格納するには、CORBAデータ型(例えば、CORBA::Char型)からC言語のChar型を取り出す必要があり、直接C言語のChar型配列にCORBA::Char型を代入してもエラーとなる。具体的には、CORBAが持つCORBA::Char型からC言語のChar型を取り出す関数を使って相互変換を実現している。よって、リングバッファのバッファリングの前にDSP(アナログ処理用DSP23、あるいはBB多値変調処理用DSP24)が使用できるデータ型(C言語)に変換する必要がある。もちろん、ここで云うリングバッファとは、図7におけるリングバッファ21b、リングバッファ21c、及びリングバッファ21dの全てについて適用されるものである。
また、引数として受け取るデータには、制御情報として速度情報が付加されている。例えば、0x01→16QAM,0x02→QPSK,0x03→BPSKと云うように速度情報が付加されている。
That is, since the ring buffer implemented by the application of the TTY software 21 is a Char type array realized on the TTY software, in order to store the data received via the CORBA in the ring buffer, the CORBA data type ( For example, it is necessary to extract the Char type of C language from CORBA :: Char type), and even if the CORBA :: Char type is directly assigned to the Char type array of C language, an error occurs. Specifically, mutual conversion is realized by using a function that extracts the Char type of C language from the CORBA :: Char type of CORBA. Therefore, it is necessary to convert to a data type (C language) that can be used by the DSP (analog processing DSP 23 or BB multilevel modulation processing DSP 24) before buffering the ring buffer. Of course, the ring buffer referred to here is applied to all of the ring buffer 21b, the ring buffer 21c, and the ring buffer 21d in FIG.
In addition, speed information is added as control information to data received as an argument. For example, speed information is added such as 0x01 → 16QAM, 0x02 → QPSK, and 0x03 → BPSK.

次に、ステップS44において、TTYソフトウェア21は、リングバッファ21dにバッファリングされたデータを取得した速度情報にしたがって取り出し、さらに、デバイスドライバ22の処理関数を呼び出し、このデータを引数としてデバイスドライバ22ヘ渡す。すると、デバイスドライバ22は、デジタルデータ/アナログデータ変換用のDSPであるBB多値変調処理用DSP24側のDP-RAM26のデータ領域ヘデータを書き込む。その後、TTYソフトウェア21は、デバイスドライバ22を通じてBB多値変調処理用DSP24のDP-RAM26ヘデータ書き込みを行ったことを伝える割込みをかける。   Next, in step S44, the TTY software 21 extracts the data buffered in the ring buffer 21d according to the acquired speed information, further calls a processing function of the device driver 22, and uses this data as an argument to the device driver 22 hand over. Then, the device driver 22 writes data in the data area of the DP-RAM 26 on the BB multi-level modulation processing DSP 24 side which is a DSP for digital data / analog data conversion. After that, the TTY software 21 issues an interrupt notifying that the data has been written to the DP-RAM 26 of the BB multi-level modulation processing DSP 24 through the device driver 22.

ステップS45において、BB多値変調処理用DSP24は割り込みを受け取ることにより、DP-RAM26からデータを読み出してBB多値変調信号処理を行う。さらに、BB多値変調処理用DSP24は信号処理の終了後、信号処理済データをDP-RAM26のデータ領域へ書き込む。これによって、BB多値変調されたデータは、速度情報に関わらず一定値の2240バイトとなる。   In step S45, the DSP for BB multilevel modulation processing 24 receives the interrupt, reads data from the DP-RAM 26, and performs BB multilevel modulation signal processing. Further, the BB multilevel modulation processing DSP 24 writes the signal processed data in the data area of the DP-RAM 26 after the signal processing is completed. As a result, BB multi-level modulated data has a constant value of 2240 bytes regardless of the speed information.

次に、ステップS46において、TTYソフトウェア21はデバイスドライバ22の処理関数を呼び出し、BB多値変調処理用DSP24側のDP-RAM26に書き込まれたデータの読み出しを行い、リングバッファ21cへのバッファリングを行う。このときのリングバッファ21cの処理はFIFOによって行われる。   Next, in step S46, the TTY software 21 calls the processing function of the device driver 22, reads the data written in the DP-RAM 26 on the BB multilevel modulation processing DSP 24 side, and buffers the ring buffer 21c. Do. The processing of the ring buffer 21c at this time is performed by FIFO.

さらに、ステップS47において、TTYソフトウェア21は、リングバッファ21cでバッファリングされたBB多値変調処理済みデータを480バイトづつ取り出し、デバイスドライバ22の処理関数を呼び出し、これを引数としてデバイスドライバ22ヘデータを渡す。デバイスドライバ22は、アナログ処理用DSP23側のDP-RAM25のデータ領域へデータを書き込む。その後、TTYソフトウェアは、デバイスドライバ22を通じてアナログ処理用DSP23ヘデータ書き込みを行ったことを伝える割込みをかける。   Further, in step S47, the TTY software 21 takes out 480 bytes of BB multi-level modulated data buffered by the ring buffer 21c, calls the processing function of the device driver 22, and uses this as an argument to send data to the device driver 22 hand over. The device driver 22 writes data to the data area of the DP-RAM 25 on the analog processing DSP 23 side. After that, the TTY software issues an interrupt notifying that the data has been written to the analog processing DSP 23 through the device driver 22.

次に、ステップS48において、アナログ処理用DSP23は割り込みを受け取ることにより、DP-RAM25からデータを読み出してアナログ信号処理を行う。さらに、アナログ処理用DSP23は信号処理の終了後、信号処理済データをDP-RAM25のデータ領域へ書き込む。このとき、アナログ処理用DSP23は、12kHzから72kHzへのレート変換を行い、BB多値変調処理用DSP24においてデジタルからアナログ処理されたデータを72kHz/16kHz=6倍のアップサンプリングを施すことにより、480バイトから2880バイトのデータ量となる。   Next, in step S48, the analog processing DSP 23 receives the interrupt, reads data from the DP-RAM 25, and performs analog signal processing. Further, the analog processing DSP 23 writes the signal processed data in the data area of the DP-RAM 25 after the signal processing is completed. At this time, the DSP 23 for analog processing performs rate conversion from 12 kHz to 72 kHz, and by performing upsampling of 72 kHz / 16 kHz = 6 times the data analog-processed from digital in the DSP for BB multilevel modulation processing 480 The amount of data is from 2 bytes to 2880 bytes.

さらに、ステップS49において、TTYソフトウェア21は、デバイスドライバ22の処理関数を呼び出し、アナログ処理用DSP23側のDP-RAM25に書き込まれたデータ(つまり、2880バイト)の読み出しを行い、リングバッファ21bへのバッファリングを行う。このときのリングバッファ21cの処理はFIFOによって行われる。これによって、リングバッファ21bに信号処理済のデータが無い場合や、リングバッファ21bに保存されているデータ量が所定の閥値以下のデータ量である場合でも、前述のステップS41と同様に、TTYソフトウェア21は、モデム部CORBA対応アプリケーション11が実装するIDLインターフェース(つまり、モデム部CORBA対応アプリケーション11が実装している関数)を呼び出し、これを引数としてモデム部CORBA対応アプリケーション11へデータを渡すことができる。   Furthermore, in step S49, the TTY software 21 calls the processing function of the device driver 22, reads the data (that is, 2880 bytes) written in the DP-RAM 25 on the analog processing DSP 23 side, and writes it to the ring buffer 21b. Perform buffering. The processing of the ring buffer 21c at this time is performed by FIFO. As a result, even when there is no signal processed data in the ring buffer 21b or when the amount of data stored in the ring buffer 21b is equal to or less than a predetermined threshold value, the TTY is the same as in step S41 described above. The software 21 calls an IDL interface implemented by the modem unit CORBA-compatible application 11 (that is, a function implemented by the modem unit CORBA-compatible application 11), and passes data to the modem unit CORBA-compatible application 11 using this as an argument. it can.

以上のような処理フローを行うことによって、TTYソフトウェア21は、CORBAとCORBA未対応のハードウェアデバイスデバイスであるDSPとの間を仲介することにより、信号処理されたテレタイプデータの伝送を行うことができる。   By performing the processing flow as described above, the TTY software 21 performs transmission of signal-processed teletype data by mediating between a CORBA and a DSP that is a hardware device device not compatible with CORBA. Can do.

図8は、本発明のソフトウェア無線機におけるTTYソフトウェア内に生成される各処理スロット(プロセス)間の関係と、それぞれの処理シーケンスを示すフローチャートである。図8に示すように、TTYソフトウェア21のプロセス構成として3つの処理スレッド(プロセス)に分けることができる。すなわち、上記のステップS41の処理においてはモデム部1bからのデータ要求取得スレッド(P1)が生成される。また、上記ステップS43での処理においてはデータ制御部1dからのデータ取得スレッド(P2)が生成される。さらに、上記のステップS44、S46、S47、S49の処理においては、BB多値変調処理用DSP24及びアナログ処理用DSP23との間のデータRead/Write用スレッド(P3)が生成される。   FIG. 8 is a flowchart showing the relationship between each processing slot (process) generated in the TTY software in the software defined radio of the present invention, and each processing sequence. As shown in FIG. 8, the process configuration of the TTY software 21 can be divided into three processing threads (processes). That is, in the process of step S41, a data request acquisition thread (P1) from the modem unit 1b is generated. In the process in step S43, a data acquisition thread (P2) from the data control unit 1d is generated. Further, in the processing of the above steps S44, S46, S47, and S49, a data read / write thread (P3) between the BB multilevel modulation processing DSP 24 and the analog processing DSP 23 is generated.

このとき、BB多値変調処理用DSP24及びアナログ処理用DSP23との間のデータのRead/Write用スレッド(P3)は、TTYソフトウェア21が処理動作を開始し始めてからTTYソフトウェア21が停止するまで永続的に動作するスレッドである。一方、モデム部1bからのデータ要求取得スレッド(P1)やデータ制御部1dからのデータ取得スレッド(P2)は、TTYソフトウェア21が実装する処理関数が呼ばれる毎に生成されるスレッドである。以下、各スレッド間の関係とそれぞれの処理シーケンスの流れを図8のフローチャートの流れに従って説明する。   At this time, the Read / Write thread (P3) for data between the BB multi-level modulation processing DSP 24 and the analog processing DSP 23 is persistent from when the TTY software 21 starts processing until the TTY software 21 stops. It is a thread that operates automatically. On the other hand, the data request acquisition thread (P1) from the modem unit 1b and the data acquisition thread (P2) from the data control unit 1d are threads generated each time a processing function implemented by the TTY software 21 is called. Hereinafter, the relationship between the threads and the flow of each processing sequence will be described with reference to the flow chart of FIG.

図8において、まず、モデム部1bからのデータ要求取得スレッド(P1)において、モデム部1bからTTYソフトウェア21へ一定周期(例えば、20ms)でデータ要求を行うと(ステップS51)、TTYソフトウェア21はリングバッファ21bに対してデータ量のチェックを行う(ステップS52)。そして、TTYソフトウェア21はリングバッファ21bに閾値以上のデータ量があるか否かを判断し(ステップS53)、閾値以上のデータ量がない場合は(ステップS53でNoの場合)、データ制御部1へデータ要求を行ってデータ制御部1dからのデータ取得スレッド(P2)に移行する。一方、閾値以上のデータ量がある場合は(ステップS53でYesの場合)、2880バイト以上のデータがあるか否かを判断し(ステップS54)、2880バイト以上のデータがある場合は(ステップS54でYesの場合)、リングバッファ21bから2880バイトのデータを取り出し(ステップS55)、このデータをモデム部1bへ送信する(ステップS56)。尚、ステップS54で2880バイト以上のデータがない場合は(ステップS54でNoの場合)、この処理におけるスレッドを抜ける。   In FIG. 8, first, in the data request acquisition thread (P1) from the modem unit 1b, when the data request is made from the modem unit 1b to the TTY software 21 at a constant cycle (for example, 20 ms) (step S51), the TTY software 21 is A data amount check is performed on the ring buffer 21b (step S52). Then, the TTY software 21 determines whether or not the ring buffer 21b has a data amount equal to or larger than the threshold value (step S53). If there is no data amount equal to or larger than the threshold value (No in step S53), the data control unit 1 To the data acquisition thread (P2) from the data control unit 1d. On the other hand, if there is a data amount equal to or greater than the threshold (Yes in step S53), it is determined whether there is data of 2880 bytes or more (step S54), and if there is data of 2880 bytes or more (step S54). In the case of Yes), 2880 bytes of data are extracted from the ring buffer 21b (step S55), and this data is transmitted to the modem unit 1b (step S56). If there is no data of 2880 bytes or more in step S54 (No in step S54), the process exits the thread.

次に、データ制御部1dからのデータ取得スレッド(P2)において、データ制御部1dから、16QAMで56バイト、QPSKで28バイト、及びBPSKで14バイトのデータ送信があると(ステップS57)、TTYソフトウェア21はこのデータをリングバッファ21dへ入力する(ステップS58)。尚、ステップS57におけるスレッドP2は、TTYソフトウェア21がデータ制御部1dからデータを受信するごとに生じる。   Next, in the data acquisition thread (P2) from the data control unit 1d, if there is data transmission of 56 bytes at 16QAM, 28 bytes at QPSK, and 14 bytes at BPSK from the data control unit 1d (step S57), TTY The software 21 inputs this data to the ring buffer 21d (step S58). The thread P2 in step S57 is generated every time the TTY software 21 receives data from the data control unit 1d.

次に、BB多値変調処理用DSP24及びアナログ処理用DSP23(以下、両者を含めてDSPと略す)との間のデータのRead/Write用スレッド(P3)に移行して、TTYソフトウェア21は、リングバッファ21dのデータ量をチェックし(ステップS59)、データ制御部1dからの制御情報にしたがってデータの取り出しを行う(ステップS60)。そして、TTYソフトウェア21は、取り出したデータをBB多値変調処理用のDP-RAM26に書き込む(ステップS61)。さらに、TTYソフトウェア21は、BB多値変調処理用のDP-RAM26から2240バイトのデータを読み出し(ステップS62)、読み出したデータをリングバッファ21cへ入力する(ステップS63)。   Next, the TTY software 21 shifts to a data read / write thread (P3) between the BB multi-level modulation processing DSP 24 and the analog processing DSP 23 (hereinafter abbreviated as DSP). The data amount of the ring buffer 21d is checked (step S59), and data is extracted according to the control information from the data control unit 1d (step S60). Then, the TTY software 21 writes the extracted data to the DP-RAM 26 for BB multilevel modulation processing (step S61). Further, the TTY software 21 reads 2240 bytes of data from the DP-RAM 26 for BB multilevel modulation processing (step S62), and inputs the read data to the ring buffer 21c (step S63).

TTYソフトウェア21は、このようにしてBB多値変調処理用のDP-RAM26から読み出してリングバッファ21cへ入力したデータが480バイト以上になったか否かを判断し(ステップS64)、480バイト以上になっていなければ(ステップS64でNoの場合)、P3のスレッドの最初に戻って(符号Aに戻って)ステップS59からの処理を繰り返し、DP-RAM26からBB多値変調処理済みのデータが480バイトになった時点でデータを取り出す。つまり、DP-RAM26からBB多値変調処理済みのデータを480バイトずつ取り出してリングバッファ21cへ入力するプロセスを繰り返す。   The TTY software 21 determines whether or not the data read from the DP-RAM 26 for BB multilevel modulation processing and input to the ring buffer 21c has become 480 bytes or more (step S64). If not (No in step S64), the process returns to the beginning of the P3 thread (returns to symbol A) and repeats the process from step S59, and the BB multi-level modulated data from the DP-RAM 26 is 480. Retrieve data when it is a byte. That is, the process of extracting 480 bytes of BB multi-value modulated data from the DP-RAM 26 and inputting the data to the ring buffer 21c is repeated.

ステップS64でリングバッファ21cへ入力したデータが480バイト以上になったら(ステップS64でYesの場合)、リングバッファ21cから480バイトのデータを取り出し(ステップS65)、このデータをアナログ処理用のDP-RAM25に書き込む(ステップS66)。さらに、TTYソフトウェア21は、アナログ処理用のDP-RAM25から2880バイトのデータを読み出し(ステップS67)、読み出したデータをリングバッファ21dへ入力する(ステップS68)。これによって、TTYソフトウェア21は、リングバッファ21bから2880バイトのデータを取り出し(ステップS55)、このデータをモデム部1bへ送信する(ステップS56)。   If the data input to the ring buffer 21c in step S64 exceeds 480 bytes (Yes in step S64), 480 bytes of data are extracted from the ring buffer 21c (step S65). Write to the RAM 25 (step S66). Further, the TTY software 21 reads 2880 bytes of data from the DP-RAM 25 for analog processing (step S67), and inputs the read data to the ring buffer 21d (step S68). As a result, the TTY software 21 extracts 2880 bytes of data from the ring buffer 21b (step S55), and transmits this data to the modem unit 1b (step S56).

本発明のソフトウェア無線機におけるTTYソフトウェアと、ミドルウェアとしてのCORBAと、CORBA未対応ハードウェアデバイスとの関係を示す図であり、(a)はCORBAを用いて分散処理を実現するソフトウェア無線機のハードウェア構成図、(b)は(a)のモデム部、信号処理部、及びデータ制御部の詳細な構成図である。It is a figure which shows the relationship between TTY software in the software defined radio of this invention, CORBA as middleware, and a hardware device which does not support CORBA, (a) is the hardware of the software defined radio which implements distributed processing using CORBA (B) is a detailed block diagram of the modem unit, signal processing unit, and data control unit of (a). 図1に示すソフトウェア無線機の構成においてアナログ(音声)データ伝送時におけるアプリケーション間の関係を示す図である。It is a figure which shows the relationship between the applications at the time of analog (voice | voice) data transmission in the structure of the software defined radio shown in FIG. 図1に示すソフトウェア無線機の構成においてテレタイプ/データ伝送時におけるアプリケーション間の関係を示す図である。It is a figure which shows the relationship between the applications at the time of teletype / data transmission in the structure of the software defined radio shown in FIG. 図1に示すデータ制御部から送信されるデータフレーム構成図である。It is a data frame block diagram transmitted from the data control part shown in FIG. 図1に示すデータ制御部から送信されるバイトデータ数とデータシンボル数の関係を示す図である。It is a figure which shows the relationship between the byte data number transmitted from the data control part shown in FIG. 1, and the number of data symbols. 図1に示す信号処理部におけるBB多値変調処理用DSP24からアナログ処理用DSP23へデータを伝送するときのレート変換とデータサイズの概要を示す図である。FIG. 2 is a diagram showing an overview of rate conversion and data size when data is transmitted from the BB multilevel modulation processing DSP 24 to the analog processing DSP 23 in the signal processing unit shown in FIG. 1. 本発明のソフトウェア無線機に使用されるTTYソフトウェアにおけるデータ処理の流れを示す概念図である。It is a conceptual diagram which shows the flow of the data processing in the TTY software used for the software defined radio of this invention. 本発明のソフトウェア無線機におけるTTYソフトウェア内に生成される各処理スロット(プロセス)間の関係と、それぞれの処理シーケンスを示すフローチャートである。It is a flowchart which shows the relationship between each processing slot (process) produced | generated in the TTY software in the software defined radio of this invention, and each processing sequence.

符号の説明Explanation of symbols

1 ソフトウェア無線機、1a RF部、1b モデム部、1c 信号処理部、1d データ制御部、1e ネットワーク部、1f セキュリティ部、1g スケルトン、1h スタブ、1i ORB、1j C−PCI、11 モデム部CORBAアプリケーション、12,25,26 DP-RAM、13 FPGA、21 TTYソフトウェア、21a IDLインタフェース、21b,21c,21d リングバッファ、22 デバイスドライバ、23 アナログ処理用DSP、24 BB多値変調処理用DSP、31 データ制御部CORBAアプリケーション。   1 software radio, 1a RF unit, 1b modem unit, 1c signal processing unit, 1d data control unit, 1e network unit, 1f security unit, 1g skeleton, 1h stub, 1i ORB, 1j C-PCI, 11 modem unit CORBA application 12, 25, 26 DP-RAM, 13 FPGA, 21 TTY software, 21a IDL interface, 21b, 21c, 21d ring buffer, 22 device driver, 23 analog processing DSP, 24 BB multi-level modulation processing DSP, 31 data Control unit CORBA application.

Claims (1)

ミドルウェアとしてCORBAを使用し、ソフトウェアの分散処理環境で動作するアプリケーションによって無線機能を実現させるソフトウェア無線機であって、
分散オブジェクト相互間で通信を行うためのインタフェースと、
前記分散オブジェクトの何れかからのデータ要求を受け取って一時的に保管するバッファと、
前記分散オブジェクト相互間で通信されるアナログデータとデジタルデータの無線信号をデジタル信号として処理するデジタル信号処理手段と、
前記分散オブジェクトの何れかからデータ要求を受け付けたとき、前記バッファに所定の閾値以上のデータが保存されているときは、前記データ要求を満たすデータ量を引数として前記分散オブジェクトに対応する前記インタフェースを呼び出し、前記バッファに所定の閾値以下のデータが保存されているときは、他の分散オブジェクトから所望のデータを取得した後に、前記データ要求を満たすデータ量を引数として前記分散オブジェクトに対応する前記インタフェースを呼び出すソフトウェアとを備え、
前記ソフトウェアが、前記インタフェースによる前記分散オブジェクト相互間の通信と前記デジタル信号処理手段によるデジタル信号処理とに基づいてテレタイプ/データ通信機能を実現させることを特徴とするソフトウェア無線機。
A software defined radio that uses CORBA as middleware and realizes a wireless function by an application that operates in a distributed software processing environment.
An interface for communicating between distributed objects;
A buffer that receives and temporarily stores data requests from any of the distributed objects;
Digital signal processing means for processing a wireless signal of analog data and digital data communicated between the distributed objects as a digital signal;
When a data request is received from any of the distributed objects, and when data exceeding a predetermined threshold is stored in the buffer, the interface corresponding to the distributed object is set with an amount of data satisfying the data request as an argument. The interface corresponding to the distributed object with an amount of data satisfying the data request as an argument after obtaining desired data from another distributed object when the buffer stores data below a predetermined threshold With software to call
A software defined radio characterized in that the software realizes a teletype / data communication function based on communication between the distributed objects by the interface and digital signal processing by the digital signal processing means.
JP2003358692A 2003-10-20 2003-10-20 Software radio apparatus Withdrawn JP2005124009A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003358692A JP2005124009A (en) 2003-10-20 2003-10-20 Software radio apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003358692A JP2005124009A (en) 2003-10-20 2003-10-20 Software radio apparatus

Publications (1)

Publication Number Publication Date
JP2005124009A true JP2005124009A (en) 2005-05-12

Family

ID=34615136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003358692A Withdrawn JP2005124009A (en) 2003-10-20 2003-10-20 Software radio apparatus

Country Status (1)

Country Link
JP (1) JP2005124009A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010044488A (en) * 2008-08-11 2010-02-25 Hitachi Kokusai Electric Inc Distributed processing program
CN110071839A (en) * 2019-04-29 2019-07-30 湖南理工学院 Support the CORBA communication device of digital signal processor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010044488A (en) * 2008-08-11 2010-02-25 Hitachi Kokusai Electric Inc Distributed processing program
CN110071839A (en) * 2019-04-29 2019-07-30 湖南理工学院 Support the CORBA communication device of digital signal processor

Similar Documents

Publication Publication Date Title
US9852116B2 (en) System and method for processing messages using native data serialization/deserialization in a service-oriented pipeline architecture
EP1680900B1 (en) Configurable protocol engine
JP4313815B2 (en) User mode proxy for kernel mode operation in computer operating systems
US8806506B2 (en) System and method for processing messages using a common interface platform supporting multiple pluggable data formats in a service-oriented pipeline architecture
AU686105B2 (en) System for implementation-independent interface specification
US10038762B2 (en) Request and response decoupling via pluggable transports in a service oriented pipeline architecture for a request response message exchange pattern
US8135785B2 (en) System and method for processing messages using pluggable protocol processors in a service-oriented pipeline architecture
JP3582650B2 (en) Phase modulation apparatus, phase modulation method thereof, and phase modulation program
CN101631261B (en) Signaling tracking method, signaling tracking background device and tracking system
US8135851B2 (en) Object request broker for accelerating object-oriented communications and method
Stuntebeck et al. Architecture for an open-source cognitive radio
JP2005124009A (en) Software radio apparatus
RU2298298C2 (en) Method for realization of client program by radio communication block
JP3343573B2 (en) Radio equipment with variable modulation / demodulation characteristics
US7424653B2 (en) System and method for error capture and logging in computer systems
US20040236982A1 (en) System and method for in-order queue draining
US6985493B1 (en) Message aggregator for channelized interface programming
EP1548591B1 (en) Method, apparatuses and instruction set for an accelerator for object-oriented communications
JPH06301655A (en) Distributed processing system
AU743834B2 (en) A control type or service independent building block
JP2004334735A (en) Software radio
WO2018168343A1 (en) Software radio equipment and method of using wireless communication software program
KR100494827B1 (en) Distributed object model based radio server with hardware-independent communication interface and communication control method using the same
KR100641095B1 (en) Resource adapter in sdr system
US20050235262A1 (en) Configuration method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070109