JP4806765B2 - Terminal device, base station device, relay device, and communication method - Google Patents

Terminal device, base station device, relay device, and communication method Download PDF

Info

Publication number
JP4806765B2
JP4806765B2 JP2001256533A JP2001256533A JP4806765B2 JP 4806765 B2 JP4806765 B2 JP 4806765B2 JP 2001256533 A JP2001256533 A JP 2001256533A JP 2001256533 A JP2001256533 A JP 2001256533A JP 4806765 B2 JP4806765 B2 JP 4806765B2
Authority
JP
Japan
Prior art keywords
remainder
dynamic range
program data
redundant
redundancy
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 - Lifetime
Application number
JP2001256533A
Other languages
Japanese (ja)
Other versions
JP2003069656A (en
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.)
National Institute of Information and Communications Technology
Original Assignee
National Institute of Information and Communications Technology
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 National Institute of Information and Communications Technology filed Critical National Institute of Information and Communications Technology
Priority to JP2001256533A priority Critical patent/JP4806765B2/en
Publication of JP2003069656A publication Critical patent/JP2003069656A/en
Application granted granted Critical
Publication of JP4806765B2 publication Critical patent/JP4806765B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、ソフトウェア無線技術による端末装置、基地局装置、中継装置および通信方法に関する。
【0002】
【従来の技術】
最近、ソフトウェア無線の開発がされつつある。ソフトウェア無線とは、基本的な無線の機能(帯域幅、フィルタリング、変復調、符号化等)をソフトウェアで変更することが可能なシステムについての概念である。ソフトウェア無線の特徴として、リコンフィギュアラビリティ(構成・スペックの変更が可能なこと)およびダウンローダビリティ(プログラム書き換え可能なこと)を挙げることができる。ソフトウェア無線技術で構成された無線機のことがソフトウェア無線機と称される。
【0003】
より具体的には、ソフトウェア無線通信技術では、マイクロプロセッサやDSP(Digital Signal Processor)のチップまたはFPGA(Field Programmable Gate Array)を用いてディジタル無線通信用のプログラマブルな変復調装置を構成し、所望の通信方式の変復調方式を構成するためのソフトウェアを有線または無線によって変復調装置にダウンロードして、種々の仕様を同一のハードウェアで柔軟に実現することができる。
【0004】
例えばソフトウェアをダウンロードすることによって、PHS(Personal Handyphone System)や携帯電話、構内LAN(Local Area Network)等の異なる無線通信方式を1つの無線通信装置で実現することができれば、ユーザは同一の無線端末装置さえあればその地域の通信方式のプログラムをダウンロードすることによって世界中でサービスを受けられる。端末装置の製造メーカにとっては、ハードウェアを共通化することによって量産が可能となり、製造コストを削減できる。
【0005】
また、無線通信装置の機能を容易に更新できるため、通信事業者にとっては新サービスの追加、機能のバージョンアップ、システム変更、ソフトウェアのミスの訂正等を容易に行える。さらに、無線経由でソフトウェアをダウンロードすることによって、伝搬環境に応じてビットレート、変復調方式、誤り訂正符号化・復号化方式等を柔軟に設定でき、伝搬環境に最適な伝送品質の提供や加入者数の向上を可能にする。
【0006】
図1は、従来の技術によるソフトウェア無線装置の一例を示す。アンテナ1aから受信された中心周波数fcの信号はアンテナスイッチ1bを通り、ローノイズアンプ1jに入力される。ローノイズアンプから出力された信号は、受信ミキサ1kにおいて、第1局部発振器1cの発振周波数f11をミックスされ、中間周波数fiの信号に変換される。
【0007】
中間周波数fiに変換された信号は、直交検波器1lにおいて、第2局部発振器1dの中間周波数f12により直交検波され、アナログベースバンド信号I、Qに変換される。アナログベースバンド信号I、Qは、A/D変換器1mにおいて、ディジタルベースバンド信号I−D、Q−Dに変換される。ディジタルベースバンド信号I−D、Q−Dがデマルチプレクサ1pに供給される。
【0008】
デマルチプレクサ1pによって、ソフトウェアの伝送パケットまたは情報データの伝送パケットの選択が行われる。ソフトウェアダウンロード時は、A/D変換器の出力データI−DとQ−Dがソフトウェア変調信号復調部1oで復調される。復調されたプログラムがプログラム可能なベースバンドディジタル変調部1iまたはプログラム可能なベースバンドディジタル復調部1nにダウンロードされる。ダウンロード後にデマルチプレクサ1pは、A/D変換器の出力データI−DとQ−Dをプログラム可能なベースバンドディジタル復調部1nに供給し、プログラムによって決められた所望の復調処理が行われる。
【0009】
プログラム可能なベースバンドディジタル変調部1iおよびプログラム可能なベースバンドディジタル復調部1nは、一例として、ソフトウェア変調信号復調部1oからのプログラムによって、OFDM(orthogonal frequency divisionmultiplexing:直交周波数分割多重)方式の変調および復調の機能と、W−CDMA(Wideband-CDMA:広帯域符号分割多元接続)方式の変調および復調の機能とが切り替えられるものである。この変復調方式は、マルチモード無線機の一例であって、この発明は、GSM(Global System for Mobile Communication:欧州のディジタル自動車・携帯電話の方式)等をプログラムによって実現しても良い。さらに、移動通信に限らず、この発明は、無線LANにおける異なる方式、ITS(Intelligent Transport System:高度道路交通システム)における異なる方式等に対しても適用可能である。
【0010】
相手先の局にダウンロードすべきソフトウェアを送信するときはソフトウェアメモリ1qに格納されたソフトウェアがソフトウェア変調部1rによって変調され、マルチプレクサ1sを通ったディジタルIQ信号I−D,Q−DがD/A変換器1hに入力される。D/A変換器1hは、ディジタルIQ信号をアナログ信号に変換する。情報ビットを送信するときは、変調データビットをプログラム可能なベ一スバンドディジタル変調部1iによって所望の変調方式で変調する。変調部1iの出力がマルチプレクサ1sを通り、ディジタルベースバンド信号I−D,Q−DとしてD/A変換器1hに入力される。なお、ソフトウェアメモリ1qおよびソフトウェア変調部1rは、基地局に限らず、端末局が有することも可能である。
【0011】
アナログ信号は、直交変調器1gにおいて、第2局部発振器(1d)の発振周波数f12により直交変調され、中間周波数fi(=f12)の信号に変換される。中間周波数fiに変調された信号は、送信ミキサ1fにおいて、第1局部発振器1cの周波数f11により、周波数fc(=f12+f11)の信号に変換される。
【0012】
周波数fcに変換されたOFDM変調信号は、パワーアンプ1eにおいて、所定の送信電力に増幅される。増幅された信号は、アンテナスイッチ1bを介して、アンテナ1aに供給され、送信される。MMAC(Mu1timedia mobi1e access communication system)やWCDMA(Wideband code division mu1tip1e access)のような広帯域のスペクトラムを使用する移動体無線通信においては、A/D変換器1mとD/A変換器1hのサンプリング周波数が数十MSPS(Mega samples per second)となる。
【0013】
図2は、ソフトウェア無線通信システム用のソフトウェアを無線ダウンロードするリンクのパケットの構成例、並びに情報データを伝送するリンクのパケットの構成例を示す。このリンクは、基地局から端末局へのダウンリンクである。パケットは、ソフトウェアを伝送するパケット2a−1、2a−2、・・・、2a−kと情報データを伝送する情報パケット2b−1、2b−2、・・・、2b−nから構成される。
【0014】
ソフトウェアパケットは、プリアンブル2cおよびソフトウェア2dから構成される。ソフトウェア2dは、エラー検出のために付加されたCRC(Cyc1ic redundancy check)のためのデータ2eとマイクロプロセッサ(あるいはDSP)に入力するプログラムまたはFPGAを再構成するためのコンフィギュレーションデータ2fから構成される。情報パケットは、プリアンブル2gと情報シンボル2h−1、2h−2、・・・、2h−mから構成される。
【0015】
受信したデータに対して、既知信号であるプリアンブルが検出され、検出に基づいてパケットタイミング同期、周波数同期、伝送路等化がなされる。受信したソフトウェアに対してはCRCで誤り検出を行う。誤りが検出された場合はそのパケットは破棄して再送を要求する。誤りが検出されない場合のみ、プログラムを復調して、ACK信号(アクノリッジ信号)を送信して次のパケットの送信を促す。全プログラムが復調されたら、復調されたプログラムをベースバンドディジタル信号変調部1iおよび復調部1nにダウンロードし、所望の変復調方式に設定する。情報パケットを受信し、プリアンブル2gに対してパケットタイミング同期、周波数同期、伝送路等化を行った後に、情報パケット情報シンボル2h−1、2h−2、・・・、2h−mに対して設定された復調方式で情報データの復調が行われる。
【0016】
図3は、ソフトウェア無線通信システムにおいて、ソフトウェアがダウンロードされた変調部によって、端末局から基地局に対して伝送するリンク(アップリンク)のパケットの構成例を示す。パケット3a−1、3a−2、・・・、3a−nは、既知信号であるプリアンブル3bと情報データ3cから構成される。情報データ3cは、情報シンボル3d−1、3d−2、・・・、3d−mから構成される。受信側では、プリアンブルの検出に基づいて、パケットタイミング同期、周波数同期、伝送路等化がなされ、その後に情報シンボルの復調が行われる。
【0017】
図4は、ソフトウェア無線通信システムのパケット再送処理例を示す。ソフトウェア無線通信システムにおいては、ソフトウェアがダウンロードされた変復調部によって本来伝送すべき情報データの変復調が行われる。無線伝送路によって発生したソフトウェアのエラーに起因して変復調部に故障が生じる可能性がある。したがって、ソフトウェアの無線伝送パケットに対してはCRCによるエラー検出が行われ、エラーが検出されなくなるまで何度も再送処理が行われる。但し、CRCによってエラーが検出されなくなっても、ビット誤りはゼロではなく、極めて低いビット誤り率であるが、ビット誤りが存在することもある。
【0018】
例えばソフトウェア送信局からは最初のソフトウェアパケット1(4a)を送信する。受信したパケットに対してCRCによるエラー検出が行われ、エラーが検出されたら、送信局に対してエラーが検出されなくなるまで再送要求信号(4b)を送信する。図4は、2回の再送要求を行った後に送信されたソフトウェアパケット1(4e)でエラーが検出されなくなる例であるので、同一のパケット(4a、4c、4e)を3回再送している。エラーが検出されなくなった後では、ACK信号(4f)をソフトウェアの送信側に対して送信する。
【0019】
これらの動作を繰り返した後に最終のソフトウェアパケットk(4k)を受信し、全てのソフトウェアの復調が完了する。復号したソフトウェアがプログラム可能な変復調部にダウンロードされ、所望の変復調処理が可能となる。最終のソフトウェアパケットk(4k)に対するACK信号(4l)を送信したのちに、情報パケット(4m、4n、・・・、4o)が伝送される。
【0020】
次に、図1のプログラム可能なベースバンドディジタル復調部1nの処理内容について説明する。一般的に変調部よりも復調部の処理が複雑であるので、復調部のみを説明する。一例として、広帯域のスペクトラムを使用する移動体無線通信システムであるMMACとWCDMAの復調部の構成について説明する。
【0021】
図5は、MMAC用のOFDM復調部の構成例を示す。入力されたディジタルベースバンド信号I−DとQ−Dは、まず、パケットタイミング同期部5aでパケットのタイミング同期を得た後に、キャリア周波数同期部5bでキャリア周波数を同期させ、メモリ5cにてデータを書き込んだ後に、FFT(fast Fourier transform)5dによって周波数領域に変換を行う。サブキャリア数をNFFTとすれば、FFT5dにおいて、NFFT点の高速フーリエ変換を行い、NFFT点のパラレル受信データに復調される。その後に等化器5eによって伝送路等化が行われて誤り訂正符号復号化器5fによって誤りビットの訂正を行い復調ビットとして出力する。
【0022】
図6は、WCDMA用のスペクトラム拡散方式復調部の構成例を示す。入力されたディジタルベースバンド信号I−DとQ−Dは、まず、パケットタイミング同期部6aでパケットのタイミング同期を得た後に、キャリア周波数同期部6bでキャリア周波数を同期させる。メモリ6cにてデータを書き込んだ後に、逆拡散・等化部6dによって所定の拡散符号を用いて逆拡散と伝送路等化が行われる。逆拡散・等化部6dの出力が誤り訂正符号復号化器6eに供給され、復号化器6eによって誤りビットの訂正がなされ、復調ビットが出力される。
【0023】
上述の図5および図6に示したような復調部においては、数十MSPSのレートで入力されるサンプリングデータに対して実時問でFFT、逆拡散、等化器等の処理を行う必要がある。ソフトウェア無線通信システムにおいては、これらの処理をプログラム可能なハードウェアで実現する。プログラマブルデバイスとして数百MHzのクロックで動作する超高速な汎用マイクロプロセッサの使用も考えられる。しかしながら、消費電力がクロック周波数に依存するために、電池で動作するような実用的な携帯情報端末装置の設計は困難である。
【0024】
プログラマブルデバイスとして、FPGAを用いることによって、比較的低消費電力で、かつ高速な復調用の信号処理ハードウェアが実現できる。100万ゲートを超える大規模なFPGAも市場に出始めているため、140万ゲートを超えるMMAC用のOFDM LSIの機能も数個のFPGAを用いれば十分に実現可能である。但し、FPGAを所望の機能にプログラムするためにはFPGA内部の再構成可能な論理回路の機能、および論理回路間の結線等をプログラムするためのコンフィギュレーションデータが必要となる。前述したMMAC用のOFDM LSIをプログラムするためには8Mビットものコンフィギュレーションデータが必要となる。
【0025】
FPGAのブロックを使用して設計した加算器、乗算器、および、任意の2入力演算回路を以下に説明する。説明を簡単にするために、以下では、特に言及しない場合は、LUT(Look Up Table)の内容と、キャリー生成用専用のプログラム可能な論理回路であるCL(Carry Logic)を設定するためのCL設定データとをコンフィギュレーションデータと呼ぶことにする。なお、CLは、対応するコンフィギュレーションデータによって、予め定義されている幾つかの論理回路の一つを実現できる。
【0026】
図7は、FPGAのLUTとCLで設計した9ビット加算器の構成例を示す。桁上げ信号が下位ビットから伝播するリップルキャリ型加算器である。2の補数で表現された入力データバスのビットa8−a0とb8−b0はまず初段のLUT9a−1、9a−2、9a−3、9a−4、9a−5、9a−6、9a−7、9a−8、9a−9、9a−10に入力される。LUT9a−1はオーバフローが発生したことを表す制御信号を生成する。それ以外のLUTは、重みの等しい2つのビットのデータと下位ビットからの桁上げ信号との和を計算する。
【0027】
CL(9b−1、9b−2、9b−3、9b−4、9b−5、9b−6)は、入力データバスの対応する各ビットにおける桁上げ信号の生成と下位ビットから上位ビットヘの桁上げ信号の伝播を行う。最終段のLUT(9c−1、9c−2、9c−3、9c−4、9c−5、9c−6、9c−7、9c−8)では、和出力に対する2の補数表現に対応した符号処理とオーバフロー時の飽和処理が行われる。この例以外にも種々の加算器のアルゴリズムが提案されている。
【0028】
図8は、FPGAのLUTとCLを使用して設計した3・2ビットの乗算器の構成例を示す。2の補数で表現された入力データa2、a1、a0とb1、b0は、それぞれ対応するLUT(10a−1、10a−2、10a−3)、LUT(10a−5、10a−6)およびCL(10b−1、10b−2、10b−3)によって絶対値に変換される。LUT(10a−4)によって積の符号が決定する。絶対値の各ビットa'2、a'1、a0'とb'1、b'0がLUT(10c−1、10c−2、・・・、10c−6)に供給され、LUT(10c−1、10c−2、...、10c−6)によって部分積の計算が行われる。部分積はLUT(10d−1、10d−2、10d−3)、CL(10e−1、10e−2)、LUT(10f−1、10f−2、・・・、10f−5)およびCL(10g−1、10g−2、10g−3、10g−4)から構成された加算木で加算されてビットP4,P3,P2,P1,から成る積が算出される。
【0029】
任意の2入力演算回路をLUTによって設計する。表1は、データの語長が12ビットの2入力1出力演算回路の真理値表の例を示す。
【0030】
【表1】

Figure 0004806765
【0031】
図9は、この真理値表に基づいてLUTによって設計した演算回路の構成例を示す。入力データのビット数の合計が24ビットであるため、24入力1出力の論理回路を12個用意すれば実現可能である。出力ビットc11(MSB),c10,...,c0(LSB)は、論理回路(1111,1110,・・・,110)によって算出される。各論理回路は、24ビットのデータを入力する8個のLUT(11a−1,11a−2,11a−3,11a−4,11a−5,11a−6,11a−7,11a−8)から構成される。
【0032】
真理値表(表1)を満足するようにコンフィギュレーションデータが各論理回路の各LUTに書き込まれる。図9に示した構成は、LUTを直接的に木状に接続して設計したため、LUTの個数が最大の例である。真理値表の内容によっては、論理式の簡単化を行うことによってLUTの数を削減することが可能である。
【0033】
図5と図6中に示したタイミング同期部(5a,6a), キャリア周波数同期部(5b,6b)、FFT(5d)、逆拡散・等化部(6d)においては、主に相関演算がなされ、OFDMの伝送路等化(5e)の処理では除算が行われる。すなわち、FPGA上で処理回路を構成するためには、乗算器、加算器、および除算器が必要となる。入力データは数十MHzのサンプリングレートで入力され、実時間で演算を行う必要がある。FPGAのLUTやCLで構成した演算回路の演算時間が数十nsecであると仮定すれば、ハードウェアを時分割的に共有することは困難であり、各処理部毎にそれぞれの演算回路が必要となる。したがって、ベースバンドの変復調処理全体を構成するためには、膨大な数のLUTやCLが必要である。
【0034】
例えば、MMAC用のFFTのみをFPGA上で実現するには2300個以上のLUTと同数程度のCLが必要である。これらをプログラムするための大量のコンフィギュレーションデータが必要となる。さらに、MMAC用のOFDMの変復調LSIは140万ゲート以上の規模であるから、これをFPGAで構成すると仮定すれば、8Mビット以上のコンフィギュレーションデータが必要となる。
【0035】
図4に示したように、従来のソフトウェアの無線ダウンロード手法においては、受信したソフトウェアに対してCRCによる誤り検出を行い、エラーフリー(誤りが無いこと)が確認された後にプログラマブルデバイスにダウンロードが行われる。誤りが検出された場合はエラーフリーになるまで再送要求が行われる。この手法は、劣悪な伝搬環境下においては、エラーフリーに到達するまで膨大な量のコンフィギュレーションデータを何度も再送する必要があり、ダウンロードが完了するまでに膨大な時問が費やされる。
【0036】
コンフィギュレーションデータのダウンロード時間が増大すれば、図2のパケット構成図に示されるような本来伝送すべき情報データの伝送効率は劣化する。また、時々刻々と変動する伝搬路環境に応じて最適な機能を無線ダウンロードして実現する適応伝送方式においては、機能を実現するためのコンフィギュレーションデータの伝送は速やかに行われる必要がある。再送をともなう伝送方式では、無線ダウンロードが完了するまでに伝搬環境が激変してしまい、ダウンロード完了後の伝搬環境に最適な機能をFPGA上で実現できない。したがって、ソフトウェア無線通信システムの特長を活用するにはFPGAのコンフィギュレーションデータを含めたソフトウェアの高効率な無線伝送・ダウンロード手法の確立が必須である。
【0037】
先ず、FPGAについて、従来例で上述したベースバンド処理部を構成するFPGAを例にとって考察を行う。図10Aは、FPGAの一例の内部構成を示す。なお、以下では、「ソフトウェア」または「プログラム」という用語にはFPGAの機能を定義するコンフィギュレーションデータも含まれる。
【0038】
図10Bに一例が示されるFPGAチップ7aに、外部からコンフィギュレーションデータが供給され、図示されないコンフィギュレーションメモリに書き込まれる。詳細は後述するが、コンフィギュレーションメモリは、FPGA7aを構成する各ブロックに分散されている。このコンフィギュレーションデータによって、FPGA各部の機能がプログラムされる。
【0039】
プログラム可能な論理回路ブロックであるCLB(Configurable Logic Block)7bは、対応するコンフィギュレーションデータによって、ユーザが所望する小規模な論理回路に構成できる。説明のため、図10Aでは3×3個のCLBから構成されるFPGAが示されているが、実際には、数10×数10ものCLBが集積される比較的大規模な構成のFPGAもある。IOB(Input/Output Blocks)7cは、チップ外とチップ内の信号のインターフェイス回路である。IOB7cは、一種の電流増幅器でもある。IOB7cは、対応するコンフィギュレーションデータによって所定の論理振幅電圧に設定され、外部論理電圧を内部の論理電圧に変換する機能を有する。
【0040】
RC(Routing Channel)7dは、各ブロックを接続するデータバスである。プログラム可能なスイッチであるCB(Connection Block)7eとSB(Switching Block)7fは、マトリクス状に配置される。CBは、CLBとCLBの間、SBとSBの間およびCLBとIOBの間の接続を行う。SBはCBとCBの間および、CBとIOBの間の接続を行う。なお、図10では、コンフィギュレーションデータのコンフィギュレーションメモリへの入力と分配を行うハードウェア構成の図示は、省略する。
【0041】
図11は、CLB7bの一例の内部構成を示す。CLB7bは、4入力1出力のLUT(Look-Up Table)8a、8bおよび3入力1出力のLUT8c、キャリー生成用専用のプログラム可能な論理回路であるCL(Carry Logic)8d、8e、9個のマルチプレクサ8f、8g、8h、8i、8j、8k、8l、8m、8nと2個のレジスタ8o、8pから構成される。CLBはSRAMであり、入力はアドレスに相当する。4入力と3入力のCLBにはそれぞれ16ビットと8ビットのコンフィギュレーションデータをダウンロードして任意の論理回路を構成することができる。CLB7bは、さらに、各マルチプレクサの制御信号を貯えるコンフィギュレーションメモリ8qを具備する。
【0042】
表2は、4入力のLUTの真理値表の例を示す。CLは、対応するコンフィギュレーションデータによって、予め定義されている幾つかの論理回路の一つを実現できる。また、各マルチプレクサの制御信号も、コンフィギュレーションデータによって設定される。種々のコンフィギュレーションデータをCLBに与えることによって、レジスタを含む所望の論理回路を実現することができる。
【0043】
【表2】
Figure 0004806765
【0044】
図12は、CB7eの一例の構成を示す。図12Aにおいて、上下に配置されているバス12aは、SB7fに接続されるバスである。交差した左側のバス12bと右側のバス12cは、IOB7cまたはCLB7bに接続されるバスである。スイッチ12dは、各バスのビット線に接続される。図12Aに示されるように、スイッチ12dにおいて、各ビット線間にトランジスタ12eのソースとドレインが接続される。トランジスタ12eのゲート電圧を制御する信号は、コンフィギュレーションメモリのセル12fに書き込まれている。セルの信号によって、トランジスタ12eのオン・オフ制御を行う。なお、図12において、コンフィギュレーションメモリへ書き込むデータ信号や制御信号の記述は、省略する。
【0045】
図13は、SB7fの一例の構成を示す。図13Bに示されるように、バス13a、13b、13c、13dは、それぞれ上下左右に配置される。スイッチ13eは各バスのビット線の交差点に対角線上に配置され、入力は4方向のビット線に接続される。スイッチの4方向からの各ビット線間にトランジスタ13fのソースとドレインが接続される。トランジスタのゲートにはコンフィギュレーションメモリのセル13gが接続され、セルに書き込まれた信号によって4方向のビット線のオン・オフ制御を行う。なお、コンフィギュレーションメモリへの入力信号や制御信号の記述は省略する。
【0046】
図13Bに一例が示されるように、スイッチ13eも上述のスイッチ12dと同様に、4方向のビット線のオン・オフ制御が行われる。さらに、IOBに対しても、内部のコンフィギュレーションメモリのセルのデータによって、入出力信号の電圧レベル、出力電流の最大値、レジスタの挿入・非挿入などの設定が行われる。
【0047】
以上のように、各ブロックに分散しているコンフィギュレーションメモリに、所望の回路を実現するデータを書き込むことによって、CB、SB、CLB、IOBのプログラムが行われ、所望の仕様の論理回路を、FPGA上に実現できる。
【0048】
前述したようなFPGAのブロックで論理回路を実現した場合、FPGAの各ブロックがどのように接続されるかについて考察する。図14は、ある論理回路をFPGA上に実現した場合の、一例のFPGAレイアウトを示す。以下では、FPGAのブロックを用いて構成されたある機能を実現する論理回路の単位を、機能モジュールと適宜呼ぶことにする。図14は、2つの小規模な機能モジュール100a(機能モジュールA)、機能モジュール100b(機能モジュールB)およびモジュール間の配線領域100cから構成される。
【0049】
【発明が解決しようとする課題】
ソフトウェア無線通信システムにおいては、FPGAのコンフイギュレーションデータの無線伝送が必須である。無線伝送においては、伝送されるコンフイギュレーションデータに対して誤り訂正処理や再送処理を行なったとしても、非常に小さい確率でビット誤りが発生する。
【0050】
一般的に、無線通信の信号処理用の演算回路は、主として通常の2の重み数系の2進数演算回路で構成される。この演算回路においては、各ビットに重みが付けられている。重みの大きいビットが入出力されるLUTやCBやSBに対応するコンフィギュレーションデータにビット誤りが生じた場合、回路に故障が発生し、正常な処理結果が得られない。例えば図7のMSB側の9a−2のしUTのコンフィギュレーションデータにビット誤りが発生した場合、演算結果に重大な誤差をもたらす。
【0051】
もう一つの問題点として、通常の2の重み数系の2進数演算回路をFPGAのLUTで構成した場合、その演算回路のモジュールの面積は、オペランドと積または和の出力ビット数に依存する。WCDMAやOFDMの通信方式を採用すれば、伝送品質を向上させるためには演算精度の向上、すなわち、演算器のビット語長を増加させる必要がある。ビット語長が大きくなると、そのモジュールの回路面積は増加する。モジュールの回路面積が増大すれば、多数の乗算器や加算器が必要なディジタルフィルタのような比較的大規模な信号処理回路の場合、モジュール間の配線距離も長距離化し、配線も複雑となり、配線間に挿入されるCBやSBの個数が増大し、配線の電気抵抗が増大して、抵抗と配線容量との積である時定数が増大して、ディジタル信号の伝送遅延時間が増大してしまい、演算時間が増大し、動作クロック周波数の劣化を来す。
【0052】
一例として、図15に積和演算のz=c0 x+c1 yを実行する演算回路をFPGA上に実現した場合のレイアウト図を示す。CLB,CB,SBのブロックの図示は省略した。異なる2本の配線の交差する箇所にCBとSBを挿入し、信号の流れる方向を制御する。15aと15bはそれぞれ、c0 とc1 を掛ける定係数乗算器のモジュールである。15cは加算器のモジュールであり、前段の定係数乗算器15aおよび15bの積を加算する。
【0053】
情報の無線伝送ビットレートまたは伝送シンボルレートが高速になればなるほど、変調器または復調器において、高速演算回路の要求が高まるが、FPGAを使用した場合、演算器モジュール間の配線に起因する性能劣化のために所望のクロックで動作する信号処理回路の実現が困難となる。
【0054】
次に、ソフトウエア無線通信システムにおける信号処理回路の演算精度の適応的設定についての問題点を述べる。一般的に、無線通信のハードウェアでは、ある要求仕様を満たす演算精度に基づいて設計される。このような場合、伝搬路の状態によって通信品質は制限されてしまう。ソフトウエア無線通信技術を用いれば、伝搬路の状態に見合った最適な演算精度を適応的に設定できる。伝搬路の状態が悪くなった場合、例えば、低S/Nまたはマルチパスが著しい伝搬路の場合は、演算回路の精度を高めれば、通信品質の劣化を阻止できる可能性もある。
【0055】
演算精度の向上、すなわち、ダイナミックレンジの拡大は、ビット語長を大きくするために演算回路の大規模化が必要である。通常の2進数系の2進数演算回路ではダイナミックレンジを増加させるためにはビット語長を増やすために、キャリの伝搬を考慮して、ビット語長の増加分に対応した回路を付加する必要がある。多数の乗算器や加算器を有し、構成の複雑なFIRフィルタ等の信号処理回路の場合、FPGA上に既に実現されたレイアウトの形状が複雑になり、新たなダイナミックレンジの増加分の回路を配置するためのレイアウト上の空間的な余裕が保証されていない。したがって、既に実現された多数の乗算器や加算器等に増加分の回路を付加することは容易ではない。また、データバスの拡張も容易ではない。
【0056】
ソフトウェア無線通信システムにおいては、演算精度の増加分に対応した回路のコンフィギュレーションデータのみの無線ダウンロ一ドが理想である。しかしながら、以上の理由により、演算精度を増加させた全処理回路の膨大なコンフィギュレーションデータを再び無線ダウンロードする必要があり、伝送効率が悪くなる。
【0057】
図16は、通常の2進数演算回路の例を示す。図15に示す演算回路のオペランドは8ビットであった。演算精度を向上させるために、この演算回路のオペランドを1ビット増やすことを考える。16a,16b,16cは、既に実現した演算モジュールである。この演算モジュール16a,16b,16cにその増加分のハードウェアである16d,16e,16fを付加しなければならない。その場合、その増加分のハードウエアを付加するための空間的な余裕がなければならない。また、配線を後から追加するが、その配線も既に実現した配線に接触しないように配置する必要がある。したがって、必ずしも最適とはならずに、図16で、参照符号16gで示すように、モジュールを迂回するような長距離の配線を実現せざるを得ない場合もある。
【0058】
したがって、この発明の1つの目的は、無線伝送されたプログラムデータのビット誤りによって生じた信号処理回路の故障によって信号処理の動作が不良とならないように回路の信頼性を高め、演算モジュール間の配線長の増大や配線の複雑化による回路の性能劣化を緩和するものである。
【0060】
【課題を解決するための手段】
上述した課題を解決するために、請求項1の発明は、ハードウェアの一部または全部がプログラム可能な論理回路で構成され、論理回路に対するプログラムデータによって、所望の無線通信方式を実現するようにした端末装置において、
受信されたプログラムデータによって、剰余桁毎に構成されると共に、ダイナミックレンジが冗長である剰余数演算手段と、
剰余数演算手段の異なる剰余桁の組み合わせを生成し、生成された組み合わせの演算結果を2進数に変換する複数の変換手段と、
複数の変換手段の出力が非冗長のダイナミックレンジを超えるか否かを判定する判定手段と、
判定手段の判定結果に応答して、非冗長のダイナミックレンジを超えない場合の剰余桁の組み合わせを、正しい演算結果として選択的に出力する選択手段とを備え、
剰余桁の全ての組み合わせの演算結果を変換した2進数の何れの値も非冗長ダイナミックレンジを超えるならば、最小の法から各法に対応する剰余桁毎にプログラムデータの再送を要求し、
演算結果が非冗長ダイナミックレンジを超えなくなった時点で、正しい結果が出力可能とみなして、プログラムデータの再送要求を中止する端末装置である。
【0061】
請求項の発明は、ハードウェアの一部または全部がプログラム可能な論理回路で構成され、論理回路に対するプログラムデータによって、所望の無線通信方式を実現するようにした基地局装置において、
受信されたプログラムデータによって、剰余桁毎に構成されると共に、ダイナミックレンジが冗長である剰余数演算手段と、
剰余数演算手段の異なる剰余桁の組み合わせを生成し、生成された組み合わせの演算結果を2進数に変換する複数の変換手段と、
複数の変換手段の出力が非冗長のダイナミックレンジを超えるか否かを判定する判定手段と、
判定手段の判定結果に応答して、非冗長のダイナミックレンジを超えない場合の剰余桁の組み合わせを、正しい演算結果として選択的に出力する選択手段とを備え、
剰余桁の全ての組み合わせの演算結果を変換した2進数の何れの値も非冗長ダイナミックレンジを超えるならば、最小の法から各法に対応する剰余桁毎にプログラムデータの再送を要求し、
演算結果が非冗長ダイナミックレンジを超えなくなった時点で、正しい結果が出力可能とみなして、プログラムデータの再送要求を中止する基地局装置である。
【0062】
請求項11の発明は、ハードウェアの一部または全部がプログラム可能な論理回路で構成され、論理回路に対するプログラムデータによって、所望の放送方式を実現するようにした中継装置において、
受信されたプログラムデータによって、剰余桁毎に構成されると共に、ダイナミックレンジが冗長である剰余数演算手段と、
剰余数演算手段の異なる剰余桁の組み合わせを生成し、生成された組み合わせの演算結果を2進数に変換する複数の変換手段と、
複数の変換手段の出力が非冗長のダイナミックレンジを超えるか否かを判定する判定手段と、
判定手段の判定結果に応答して、非冗長のダイナミックレンジを超えない場合の剰余桁の組み合わせを、正しい演算結果として選択的に出力する選択手段とを備え、
剰余桁の全ての組み合わせの演算結果を変換した2進数の何れの値も非冗長ダイナミックレンジを超えるならば、最小の法から各法に対応する剰余桁毎にプログラムデータの再送を要求し、
演算結果が非冗長ダイナミックレンジを超えなくなった時点で、正しい結果が出力可能とみなして、プログラムデータの再送要求を中止する中継装置である。
【0063】
請求項16の発明は、ハードウェアの一部または全部がプログラム可能な論理回路で構成され、論理回路に対するプログラムデータによって、所望の無線通信方式または所望の放送方式を実現するようにした通信方法において、
プログラムデータを受信する受信ステップと、
受信されたプログラムデータによって、剰余桁毎に構成されると共に、ダイナミックレンジが冗長である剰余数演算手段を構成するステップと、
剰余数演算手段の異なる剰余桁の組み合わせを生成し、生成された組み合わせの演算結果を2進数に変換する変換ステップと、
変換された演算結果が非冗長のダイナミックレンジを超えるか否かを判定する判定ステップと、
非冗長のダイナミックレンジを超えない場合の剰余桁の組み合わせを、正しい演算結果として選択的に出力する選択ステップとを有し、
剰余桁の全ての組み合わせの演算結果を変換した2進数の何れの値も非冗長ダイナミックレンジを超えるならば、最小の法から各法に対応する剰余桁毎にプログラムデータの再送を要求し、
演算結果が非冗長ダイナミックレンジを超えなくなった時点で、正しい結果が出力可能とみなして、プログラムデータの再送要求を中止する通信方法である。
【0064】
ソフトウェア無線機のプログラムである例えばFPGA用のコンフィギュレーションデータを無線経由で伝送する場合、雑音等によって発生したビットエラーに起因する回路故障によって不正確な演算結果を出力する。この発明では、剰余数演算においては、積和演算が剰余桁毎に独立に実行可能であることに着目し、ダイナミックレンジを冗長化し、いくつかの剰余桁の出力の組み合わせから通常の2進数に変換した結果が非冗長ダイナミックレンジ以上かどうかを調べて、非冗長ダイナミックレンジより小さい結果のみ正しい演算結果として出力することができる。
【0067】
【発明の実施の形態】
この発明の一実施形態について以下説明する。この発明の理解の容易のために、剰余数演算方式について説明する。通常の2の重み数系の2進数演算回路ではその桁間にはキャリ(桁上げ)信号の授受があるために、演算回路を各桁毎に分割することはできない。この発明では通常の2進数演算回路とは異なる剰余数演算回路を用いる。
【0068】
剰余数演算の原理を説明する。整数xを互いに素なN個の整数m1,m2 ,・・・,mN に対する剰余の組で表現する系が剰余数系と呼ばれる。剰余数演算は、入力オペランドに対して通常の加算または乗算を施した後にある法で除算した剰余を出力する演算方式である。以下、ある整数xの法mによる剰余を求める演算をx mod mと表記する。また、同一の法による剰余数演算の入出力を剰余桁と呼ぶことにする。剰余数系では、加減乗算が各剰余ごとに独立して行うことができる。加算の例を図17Aに示す。法の組{m1,m2 ,m3} を例えば{3,5,7}とする。数8は、剰余数で表現すると、{2,3,1}となり、数9は、{0,4,2}となる。加算(8+9)の結果は、剰余数系では、{2mod 3,7mod 5,3mod 7}={2,2,3}となる。
【0069】
図17Bは、乗算の例(9×10)を示す。加算の例と同様に、法の組を{3,5,7}とすると、この乗算は、{0,4,2}×{1,0,3}={0mod3,0mod 5,7mod 6}={0,0,6}となる。図17から剰余数演算においては、各剰余桁間にはキャリのような信号の授受は存在しない。したがって、各剰余桁に対する回路をそれぞれ独立に実現することができる。ただし、各剰余桁の法は互いに素でなければならない。法の組によって表現できる整数の範囲をダイナミックレンジと呼ぶことにする。
【0070】
図18は、剰余数加算器と通常の2進数加算器のモジュールの規模を比較する図である。図18Aが剰余数加算器の構成を示し、図18Bが通常の2進数加算器の構成を示す。剰余数演算の最大ダイナミックレンジは使用する法の積で表せられる。この例では(3×5×7=105)である。同じダイナミックレンジを有する通常の2進数演算器の語長は7ビットである。参照符号18a,18b,18cが剰余数加算器の各桁のモジュールを示す。参照符号18dが通常の2進数加算器のモジュールを示す。ただし、図中、FPGAの基本構成ブロックであるCLB.SB.CBは省略している。
【0071】
各剰余桁の剰余数演算を行なう演算器18a,18b,18cの語長は、ダイナミックレンジ全体の語長よりも短い。したがって、各剰余桁の剰余数演算器のFPGA上で占有するレイアウト面積は通常の2進数演算器に比べて小さくて済む。多数の演算器から構成されるディジタルフィルタ等を実現する際には演算器間の配線の長さを短くでき、配線の複雑さを緩和できる。FPGAでの実現を考慮すれば、配線を構成するSBやCBの個数を削減でき、配線抵抗や配線容量を減少でき、演算器間の信号の遅延時間を減少でき、動作クロック周波数を高めることができる。
【0072】
図19は、z=c0 x+c1 yを実現し、ダイナミックレンジを105で設計した剰余数演算回路のレイアウトを示し、図20は、通常の2進数演算回路のレイアウトを示す。図19において、参照符号19aおよび19bは、法が3の場合の定係数乗算器を示し、参照符号19dおよび19eは、法が5の場合の定係数乗算器を示し、参照符号19gおよび19hは、法が7の場合の定係数乗算器を示す。参照符号19c、19f、19iは、法が3,5,7の場合の加算器をそれぞれ示す。図20において、参照符号19jおよび19kが2進数演算回路の構成の定係数乗算器を示し、19lが両演算回路19jおよび19kの出力を加算する加算器を示す。
【0073】
剰余桁間の独立性により、法が異なる演算回路間には、キャリの授受のような信号の授受は存在しない。演算器の個数が多くなるほど、また、演算アルゴリズムが複雑となり演算器間の接続が複雑になればなるほど、剰余数演算回路による信号処理回路が有利となる。図20の通常の2進数演算回路による信号処理回路と比較すると、演算回路間の配線の複雑さや配線長による性能劣化を緩和できる。
【0074】
無線通信用の信号処理回路を考慮すると、ディジタルデータとアナログ信号の変換が必要となる。市販の一般的なA/Dコンバータはアナログ信号を通常の2進数データに変換する。したがって、通常の2進数の数値表現を剰余数系の数値表現に変換する必要がある。これはFPGAのCLBから構成された組み合わせ論理回路またはROMから構成された変換回路によって行われる。市販の一般的なD/Aコンバータも、同様に、通常の2進数データをアナログ信号に変換する。したがって、剰余数系の数値表現から通常の2進数の数値表現に変換する必要がある。その際には剰余桁間のデータの授受が発生して、剰余桁の独立性は崩れる。しかし、演算の負荷は、例えば、主となるフィルタにおける演算の負荷と比較すれば非常に小さい。剰余数系から通常の2進数系への変換は混合基数系への変換または中国人剰余定理に基づいて行われる。
【0075】
アナログ信号を入出力する剰余数演算による信号処理システムの構成例を図21に示す。アナログ信号は、A/Dコンバータ20aによって、一旦、通常の2進数の数値に変換される。A/Dコンバータ20aの出力が各法m1 ,m2 ,・・・,mN にそれぞれ対応する変換器20b−1,20b−2,...,20b一Nによって、通常の2進数の数値から各法の剰余桁毎に対応した剰余数に変換される。次に、各剰余桁の法に対応する信号処理回路20c−1,20c−2,...,20c−Nによって剰余数演算が行なわれる。各剰余桁の信号処理回路20c−1,20c−2,...,20c−Nは、FIRフィルタ等の積和演算を行なう信号処理アルゴリズムを実行する剰余数演算器から構成される。信号処理回路20c−1,20c−2,...,20c−Nの結果が変換器20dに入力され、変換器20dによって剰余数から通常の2進数データに変換した後、D/Aコンバータ20eによってアナログ出力信号に変換される。
【0076】
通常の2進数系から剰余数系への変換は、テーブルルックアップとモジュロ加算を用いて比較的簡単に実現できる。これに対して、剰余数系から2進数系への逆変換は複雑である。以下、剰余数系の数値から通常の2進数へ変換する2種類のアルゴリズムについて説明する。基数を複数個用いて数値を表現する系は、混合基数系と呼ばれる。通常の10進数表現は、基数10のみを用いた数表現であり、2進数表現は、基数2のみを用いた数表現である。
【0077】
混合基数系に基づく剰余数系から通常の2進数系への変換アルゴリズムを用いて剰余数系の数値x1 ,x2 ,x3 を通常の2進数系の数値yへ変換する例を図22に示す。法m1 =3,m2 =4,m3 =5とし、各法に対応する剰余数をそれぞれ、x1 =1,x2 =3,x3 =3とする。この剰余数を通常の2進数の値yに変換する。
【0078】
先ず、最小の法の剰余数であるx1 をa1 とする。次に、a1 を各剰余数から引く。その結果に対してm1 =3で割る。これはm2 =4,m3 =5の剰余数演算におけるm1 =3の逆元を掛けることと等価である。この逆元はm2 とm3 の場合、それぞれ、3と2である。m2 =4の剰余桁の結果2をa2 とする。次に、m3 の剰余桁の値からa2 を引き、m2 =4で割る。すなわち、m3 =5における4の逆元である4を掛ける。このようにしてa1 =1,a2 =2,a3 =3を求める。混合基数系において数値は異なる基数1,m1 ,m12 で表現され、y=a1 +a2 1 +a3 12 で定義される。代入すると、(y=1+2×3+3×3×4=43)が求められる。
【0079】
中国人剰余定理による剰余数系から通常の2進数系への変換アルゴリズムの説明を行なう。この定理の定義式を式(1)に示す。
【0080】
【数1】
Figure 0004806765
【0081】
なお、式(1)において、Mおよびmi ^は、以下の式(2)および式(3)で定義される。なお、^は、mの文字の上に付加されるものであるが、本明細書中では、表記の便宜上、mと^とを分離して示す。
【0082】
【数2】
Figure 0004806765
【0083】
【数3】
Figure 0004806765
【0084】
但し、式(4)で示すmi -1は、法mi におけるmi ^の逆元を示す。
【0085】
【数4】
Figure 0004806765
【0086】
例えば、法の個数N=3、法をm1 =3,m2 =4,m3 =5とし、各法に対応する剰余数をそれぞれ、x1 =1,x2 =2,x3 =3とする。この剰余桁で表現を通常の2進数に変換する。まず、式(2)よりM=60、式(3)より、m1 ^=20,m2 ^15,m3 ^=12である。さらに、式(4)より、m1 -1〔m1〕=2,m2 -1〔m2〕=3,m3 -1〔m3〕=3である。これらの値を式(1)に代入すれば、通常の2進数表現の値y=58が得られる。
【0087】
上述した両変換アルゴリズムとも剰余桁間で信号の授受が存在するために、剰余桁間の独立性が成立しなくなる。例えば、図22の混合基数系の例では、法m2 とm3 の剰余桁からm1 の剰余数であるa1 を引いている。また、中国人剰余定理においても式(1)において各剰余桁の計算結果の総和を計算している。剰余数演算の特長を活用するためには、各剰余桁での信号処理のアルゴリズムの演算量が剰余数系から通常の2進数系への変換のための演算量よりもはるかに大きくなければならない。
【0088】
ここまでは一般的な剰余数系について説明した。次に、冗長剰余数系について説明する。一般的に信号処理回路は、処理に対して最小限必要なダイナミックレンジ(以下、これを非冗長ダイナミックレンジと適宜呼ぶ)に適合させるために演算器のデータ語長を最小限に設定して設計が行なわれる。剰余数演算器を使用して設計したこのような信号処理回路を非冗長剰余数演算に基づく信号処理回路と呼ぶことにする。一方、冗長剰余数演算は信号処理回路に冗長な剰余桁を付加して信号処理に必要以上のダイナミックレンジ(これを冗長ダイナミックレンジと呼ぶ)が得られるように回路を設計する。
【0089】
FPGAを用いて設計したソフトウェア無線通信システムにおいて、信頼性を高めるためにFPGAのコンフィギュレーションデータを無線経由で伝送した場合、そのコンフィギュレーションデータに誤り訂正符号による符号化を行なって伝送し、受信側では復号化を行ない、伝送路で発生したビット誤りを訂正する。または、CRCコードまたはパリティデータを付加して伝送し、受信側でそのCRCコードまたはパリティデータを検査して誤りが発生していれば、再送要求信号を送信側に伝送して、同じ情報を再送してもらう。信頼性を高めるためにこれらの処理を行なったとしてもビット誤り率は極めて低いものの、誤りビットは存在する。その誤りビットに起因する回路故障によって無線通信システムの動作に不具合が発生してしまう。
【0090】
無線伝送されたコンフィギュレーションデータによって構成された冗長剰余数演算による信号処理回路において、コンフィギュレーションデータ内部の誤りビットによって、ある1つの剰余桁の演算回路が故障したと仮定する。この場合、全ての剰余桁の値から通常の2進数系に変換して求めた演算結果は非冗長ダイナミックレンジを超える確率が高い。そこで、全剰余桁から求めた演算結果が非冗長ダイナミックレンジを超えたかどうかを調べることによって信号処理回路の故障検出を行なう。
【0091】
さらに、このような故障検出の後に、どの法の剰余数演算回路が故障したかを調べるために、非冗長ダイナミックレンジを超えるダイナミックレンジが得られる複数の法の組み合わせを複数個作成する。その組み合わせの演算結果が非冗長ダイナミックレンジ以内に収まる結果を正常な演算結果として出力する。一方、非冗長ダイナミックレンジを超える結果を出力する組み合わせには故障が発生するが、他の組み合わせの結果と比較することによって、演算回路が故障している剰余桁を探索することができる。このように回路故障が存在しても正常な演算結果を出力できるように工夫された信号処理システムはフォールトトレラントシステムと呼ばれる。
【0092】
具体例で説明する。剰余数演算においてダイナミックレンジは法の積と等しい。ここでは説明を簡単にするために、信号処理回路が乗算のみを行なうものと仮定する。図23に示すように法の全体の集合を{3,5,7,11}とする。4つの法に相当する剰余桁の乗算回路は、無線経由でダウンロードされたコンフィギュレーションデータがFPGA上のブロックに書き込まれて実現されると仮定する。法として3と5を選択して、非冗長ダイナミックレンジを3x5=15とする。これは一般的な演算結果は15よりも小さいことを意味する。一方、冗長ダイナミックレンジを得るための法の組み合わせの例は{3,5,7},{3,5,11},{3,7,11},{5,7,11}である。図23Aは、故障が発生していない場合の4×3の乗算の例を示す。図23Bは、法が11の剰余桁の処理回路に故障が発生し、正常な結果1の代わりに8が計算された場合の例を示す。図23Cでは、参照符号22a、22b、22c、22dが法3,5,7,11に対応した乗算器をそれぞれ示す。
【0093】
次に、冗長ダイナミックレンジを得た各組の演算結果を通常の2進数系に変換した値を非冗長ダイナミックレンジである15と比較する。{3,5,7},{3,5,11},{3,7,11},{5,7,11}の組み合わせの剰余数を通常の数値に変換すれば、結果はそれぞれ、12,162,96,327である。その結果、{3,5,7}の剰余桁による演算回路の結果である12のみが非冗長ダイナミックレンジ以内に収まっている。したがって、12を正常な演算結果とみなして出力する。それ以外の組み合わせ{3,5,11},{3,7,11},{5,7,11}は非冗長ダイナミックレンジを超えており、いずれも法の11を含んでいるために、法の11に対応する剰余数乗算回路に故障が発生していると推定できる。
【0094】
冗長なダイナミックレンジを拡大するために、法の個数を増やし、すなわち、剰余桁を増やせば増やすほど、法の組み合わせ数が増えて、非冗長ダイナミックレンジ以内に収まる正しい結果を得る確率が高くなり、信頼性が高まる。
【0095】
図24は、前述した原理による冗長剰余数演算回路に基づく信号処理回路の構成例を示す。これらのハードウエアはFPGA上に実現される。信号処理回路23a−1,23a−2,23a−4は、法の組{3,5,7,11}の各法に対応する剰余数演算回路で構成され、ディジタル無線通信のための変調や復調のアルゴリズムを実現する。変換回路23b−1,23b−2,23b−3,23b−4には、前段の信号処理回路23a−1,23a−2,23a−3,23a−4からの出力が供給される。変換回路23b−1,23b−2,23b−3,23b−4には、法の組{3,5,7},{3,5,11},{3,7,11},{5,7,11}に対応する剰余桁の演算回路の出力がそれぞれ供給され、演算回路の出力が通常の2進数系に変換される。変換回路23b−1,23b−2,23b−3,23b−4の出力が比較回路23c−1,23c−2,23c−3,23c−4のそれぞれにおいて、非冗長ダイナミックレンジの値の15と比較される。
【0096】
比較回路23c−1,23c−2,23c−3,23c−4のそれぞれの比較結果がデコーダ23dに供給され、デコーダ23dにおいて、非冗長ダイナミックレンジよりも小さい結果を出力する法の組み合わせを選択する選択情報が生成される。選択情報がマルチプレクサ23eに入力される。マルチプレクサ23eには、変換回路23b−1,23b−2,23b−3,23b−4の出力が供給され、通常の2進数に変換された正常な結果が選択的に出力される。若し、全ての法の組が非冗長ダイナミックレンジ以上であれば、デコーダ23dが再送要求信号を基地局に対して出力する。
【0097】
図24においてソフトウェア無線通信システムの無線ダウンロード機能を考慮すれば、信号処理回路23a−1,23a−2,23a−3,23a−4のコンフィギュレーションデータが無線経由で伝送される。一方、通常の2進数から剰余数系に変換するための変換回路(20b−1,20b−2,・・・,20b−N)と、故障検出・結果選択を行なう、変換回路23b−1,23b−2,23b−3,23b−4、比較回路23c−1,23c−2,23c−3,23c−4、デコーダ23d、並びに、マルチプレクサ23cののコンフィギュレーションデータにはビット誤りの存在は許されない。これらのコンフィギュレーションデータは無線経由ではなくて携帯無線通信端末内部のコンフィギュレーションデータベースから供給される。
【0098】
かかる設計思想に基づくソフトウエア無線通信システムの構成を図25に示す。参照符号24aはコンフィギュレーションデータを伝送する変調波を受信するためのアンテナである。参照符号24bはコンフィギュレーションデータを受信するための無線機である。アンテナ24aおよび無線機24bは、主として図24の信号処理回路のコンフィギュレーションデータを受信し、復調する。また、必要なコンフィギュレーションデータの送信要求をも行なう。
【0099】
参照符号24cは、コンフィギュレーションデータベースであり、図23を参照して述べたように、故障検出を行なうための変換回路や比較回路のコンフィギュレーションデータが格納されている。復調されたコンフィギュレーションデータとデータベースの出力のコンフィギュレーションデータは、コンフィギュレーションデータの結合と生成器24dに供給され、全体のコンフイギュレーションデータが生成される。生成されたコンフィギュレーションデータがソフトウエア無線機24eに供給され、所望の通信方式を行なう無線機が再構成される。参照符号24fはソフトウェア無線機用のアンテナである。再構成後にソフトウェア無線機に対してユーザの情報データに対する変復調処理が行われる。
【0100】
ソフトウェア無線通信機の構成例を図26に示す。アンテナから受信された中心周波数fcの信号はアンテナスイッチ25bを通り、ローノイズアンプ25jに入力され、受信ミキサ25kでは、第1ローカル発振器25cの発振周波数fl1がミックスされ中間周波数fiに変換される。直交検波器25lでは、中間周波数をfl2=fiの第2ローカル発振器25dの周波数で直交検波し、アナログベースバンド信号I,Qに変換する。アナログIQ信号は、A/D変換器25mでディジタルベースバンド信号≡−D.Q−Dに変換される。
【0101】
外部で復調されたコンフィギュレーションデータは、プログラム可能なベースバンドディジタル変調部25vまたはプログラム可能なベースバンドディジタル復調部25nにダウンロードされる。コンフィギュレーションデータのダウンロード後に、A/D変換器25mの出力データ≡−DとQ−Dをプログラム可能なベースバンドディジタル復調部25nに供給し、プログラムによって決められた所望の復調処理が行われる。
【0102】
情報ビットを送信するときは、変調データビットをプログラム可能なベースバンドディジタル変調部25vによって所望の変調方式で変調する。変調部25vの出力がディジタルベースバンド信号≡−D.Q−DとしてD/A変換器25hに入力される。D/A変換器25hでは、ディジタルIQ信号をアナログ信号に変換する。直交変調器25gでは、第2ローカル発振器25dの発振周波数fl2で直交変調を行い、中間周波数fl2=fiに変換される。送信ミキサ25fでは第1ローカル発振器25cの周波数fl1でfc=fl2+fl1なる周波数に変換される。パワーアンプ25eは、ディジタル変調信号を所定の送信電力に増幅する。増幅された信号は最終的にアンテナスイッチ25bを経由し、外部のアンテナに送られる。
【0103】
冗長ダイナミックレンジの冗長度を(冗長ダイナミックレンジ/非冗長ダイナミックレンジ)と定義する。コンフィギュレーションデータにビットエラーが発生しやすい伝搬環境ならば、冗長度を増加させた方が信頼性を向上できる。また、エラーが発生し難い伝搬環境ならば、コンフィギュレーションデータの伝送効率や回路の使用効率および消費電力の観点から冗長度は低い方が望ましい。したがって、冗長度はコンフィギュレーションデータを無線伝送する伝搬路の品質である信号電力と雑音電力の比(S/N)をもとにして適応的に設定しても良い。
【0104】
それを実現するための構成図を図27に示す。図25との相違点についてのみ説明する。S/N測定器26gによりコンフィギュレーションデータの伝搬路のS/Nが測定された後に、その値から冗長度決定部26hによって冗長度を決定する。冗長度情報がコンフィギュレーションデータダウンロード用無線機26bに入力され、基地局に対して所望の冗長度に対応した演算回路のコンフィギュレーションデータの伝送を要求する。また、冗長度情報はコンフィギュレーションデータベース26cにも入力され、冗長度に適応した故障検出を行なうためのコンフィギュレーションデータを読み出す。
【0105】
S/N測定部26gの一例について説明する。但し、RF部およびIF部は省略し、ベースバンド部の信号処理方式についてのみ説明する。図28は、S/N測定部26gの構成例を示すブロック図である。S/N測定部は、領域判別部51、S/N測定回路52、S/N測定回路53、S/N測定回路54、S/N測定回路55および平均計算部56からなる。ここでは、サブキャリア変調方式が、QPSKの場合について説明する。QPSKの信号点は4個所あり、有効な領域は複素平面上で4つ存在する。この4つの領域のそれぞれに、S/N測定回路52、S/N測定回路53、S/N測定回路54およびS/N測定回路55のそれぞれが対応する。
【0106】
領域判別部51は、複素数データの実部虚部それぞれに対してしきい値判別を行い、すなわち上述した4つの領域のどれに属するかを判別し、この判別に対応するデータ有効信号を出力する。
【0107】
領域判定部51からのデータは、データ有効信号がアクティブになったS/N測定回路にのみ入力される。アクティブになったS/N測定回路は、入力されたデータに基づき、各領域に対応するS/N測定値を算出し出力する。平均計算部56は、供給された各領域のS/N測定値の平均化処理を行い出力する。
【0108】
図29は、領域判定部51の構成を示すブロック図である。入力信号は、しきい値比較回路61および62に供給される。しきい値比較回路61および62は、入力されたデータがどの領域に属するかを計算し、計算結果を2ビットにより表現し、この表現に対応する信号を出力する。具体的には、しきい値、すなわち0に対する比較を行い、入力が0以上ならば1を出力し、そうでなければ0を出力する。
【0109】
デコーダ63は、しきい値比較回路61およびしきい値比較回路62から供給された信号に基づき、どの領域のデータに相当するかを表すデータ有効信号を出力する。
【0110】
図30は、S/N測定回路52の構成を示すブロック図である。メモリ71には、入力データが書き込まれる。アキュムレータ72は、遂次的に入力されるデータを基に、これらのデータの和X1 を計算し出力する。なお、メモリ71とアキュムレータ72とは、データ有効信号がアクティブになった時のみ動作する。すなわち、データ有効信号がアクティブになった時のみ、領域判別部51の出力データは、メモリ71とアキュムレータ72とに入力される。カウンタ73は、入力されるデータ有効信号に基づき、1フレーム内のデータの個数をカウントする。
【0111】
アキュムレータ72の出力X1 は、複素数除算器74に入力される。複素数除算器74は、アキュムレータ72の出力X1 を、カウンタ73から出力されたデータの個数Y1 で割り、平均値X2 (=X1 /Y1 )を計算し絶対値の2乗演算器75および差の絶対値の2乗演算器76に出力する。
【0112】
絶対値の2乗演算器75は、複素数除算器74から出力される平均値X2 より、平均値X2 の絶対値の2乗X3 (=|X2 |2 )、すなわち平均電力(信号パワーの平均値)を計算し出力する。差の絶対値の2乗演算器76は、複素数除算器74から出力される平均値X2 とメモリ71から読み出されたデータY2 との差の絶対値の2乗X4 (=|X2 −Y2 |2 )を計算し出力する。アキュムレータ77は、絶対値の2乗演算器76からの出力されるデータを基に、これらのデータの和X5 を計算し出力する。
【0113】
除算器78は、アキュムレータ77からの出力X5 を1フレーム内のデータの合計個数Y1 により割り、分散値、すなわちフレーム内の平均ノイズ電力Y3 (=X5 /Y1 )を計算し出力する。除算器79は、平均電力X3 を、平均ノイズ電力Y3 で割り、S/N測定値( X3 /Y3 )を算出し出力する。
【0114】
上述した説明では、S/N測定回路52を例として説明したが、S/N測定回路53、S/N測定回路54およびS/N測定回路55も同様の構成を有し、上述した処理と同様の処理を行う。
【0115】
この発明の一実施形態において、剰余桁のいずれの組み合わせから得られた値も非冗長ダイナミックレンジの範囲内に収まらなければ、正しい処理結果が出力できず、図24中のデコーダ23dから再送要求信号が出力される。この場合、剰余桁ごとに剰余数演算回路のコンフィギュレーションデータの再送要求を新たに行い、剰余桁毎に回路を既存の剰余数演算回路の領域上に再構成し、再構成した回路の出力を含めてダイナミックレンジの判定を行う。この場合の再送方式は2種類可能である。
【0116】
第1の方法は、すべての法に対応する剰余桁の剰余数演算回路のコンフィギュレーションデータの再送を1度に要求する方法である。この方法の流れを図31のフローチャートに示す。図31において、ステップS1において、デコーダ23dから再送要求信号が発生すると、ステップS2において、端末装置から基地局に対して、全ての法=m1,m2 ,・・・,mN に対応する剰余数演算回路のコンフィギュレーションデータの再送が要求される。
【0117】
第2の方法は、法が最小のm1 の回路のコンフィギュレーションデータの再送要求から始めて、演算結果が非冗長ダイナミックレンジよりも小さくなるまで、法の値を順に大きくして各剰余桁の剰余数演算回路のコンフィギュレーションデータ毎に再送要求を繰り返す。再送されたコンフィギュレーションデータをFPGA上に実現して、演算結果と非冗長ダイナミックレンジとを比較する。演算結果が非冗長ダイナミックレンジよりも小さいければ再送処理を終える。若し、非冗長ダイナミックレンジ以上であれば、より大きい法の剰余数演算回路のコンフィギュレーションデータの再送を要求する。
【0118】
第2の方法の流れを図32のフローチャートに示す。ステップS11において、変数i(1〜N)を初期値である1に設定する。ステップS12において、デコーダ23dから再送要求信号が出力されたか否かが判定される。出力されない場合では、処理が終了する。
【0119】
再送要求信号が出力されたと判定されると、ステップS13において、法mi (最初は、m1)の剰余数演算回路のコンフィギュレーションデータの再送が要求される。次のステップS14では、受信したコンフィギュレーションデータに対して誤り訂正符号の復号化による誤りビットの訂正を行い、訂正後のコンフィギュレーションデータに対してCRCによって誤りの有無を検査する。
【0120】
ステップS15において、CRCによる検査が合格か否か、すなわち、誤りが無いかどうかが決定される。誤りがあると判定されると、処理がステップS13のコンフィギュレーションデータの再送処理に戻る。誤りが無いと判定されると、FPGA上のmi に対応する剰余数演算回路を新たな回路に置き換え、動作させる。
【0121】
そして、ステップS17において、デコーダ23dから再送要求信号が出力されたか否かが決定される。再送要求信号が出力されなければ、処理が終了する。出力された場合では、ステップS18において、(i=N?)が判定される。Nにiが達していない場合では、ステップS19において、iがインクリメントされ、ステップS13の処理(再送要求)に戻る。Nがiに達している場合では、ステップS20において、(i=1)とされ、同様に、ステップS13の処理(再送要求)に戻る。このように、m1 〜mN のすべての法に対応する演算回路のコンフィギュレーションデータの再送が終了しても、演算結果が非冗長ダイナミックレンジよりも小さくならなければ、つまり、デコーダ23dから再送要求信号が出力されるようであれば、m1 からやり直す。
【0122】
前述した2つの方法は、演算結果が非冗長ダイナミックレンジに収まるかどうかを調べることによって、故障の検出を行うものである。全ての法に対応する冗長剰余数演算に基づく信号処理回路を一旦、FPGA上に実現して故障の検出を行わなくとも、各法の剰余数演算回路のコンフィギュレーションデータ毎にビット誤りの検出のためのCRCを挿入し、CRCを検査して、明らかにビット誤りが発生しているのが分かれば、FPGA上への実現前にその回路には故障が発生したと推定できる。そのときは、対応する剰余数演算回路のコンフィギュレーションデータの再送を要求する。
【0123】
このようなコンフィギュレーションデータのフレームフォーマットを図33に示す。27b−1は、ある法m1 の演算回路のコンフィギュレーションデータである。CRC27a−1は、そのコンフィギュレーションデータに付加したCRCである。以下、各法の剰余数演算回路のコンフィギュレーションデータ(27b−2,・・・・,27b−N)毎に同様なCRC(27a−2,・・・・,27a−N)を付加する。このCRCを含むビット系列は、誤り訂正符号による符号化が行われている。その符号化は全コンフィギュレーションデータに対して一括して行われているか、またはCRCiと法=miの演算回路のコンフィギュレーションデータ毎に誤り訂正符号の符号化が行われている。この誤り訂正符号の復号を行うことによって、その符号の訂正能力によって訂正可能な誤りが訂正され、訂正不可能な誤りは、訂正できず、誤りがあることが誤りフラグ等で示される。
【0124】
このような誤り訂正符号の復号化による誤りビットの訂正後に、CRC1を用いた検査によって、m1 の剰余数演算回路のコンフィギュレーションデータにビット誤りが発生したとすれば、その回路に故障が発生していることを意味する。誤りビットの訂正後にCRCによって誤りが検出されることは、少ない確率であるが、可能性がある。この場合は、誤り訂正符号により訂正不可能な誤りが決定されたのと同様に、FPGA上に剰余数演算回路を実現する必要がない。誤りがCRCで検出された法に対応する剰余数演算回路のコンフィギュレーションデータの再送のみを要求する。
【0125】
この処理のフローチャートを図34に示す。ステップS31では、変数i(=1〜N)が初期値1に設定される。ステップS32では、コンフィギュレーションデータを受信し、誤り訂正符号による誤り訂正がなされる。誤りが訂正できた場合では、ステップS33において、CRC1によって検査がなされる。ステップS34において、検査が合格したか否かが判定される。CRC1によって誤りが検出できなければ、検査に合格したものとして、ステップS35において、法=m1 の剰余数演算回路がFPGA上に実現される。
【0126】
そして、ステップS36において、(i=N?)が判定される。Nにiが達していない場合では、ステップS37において、iがインクリメントされ、ステップS33の処理(CRCiを使用した誤りの検査)に戻る。i=1の場合では、i=2とされ、CRC2に対して同様な処理を行う。以下i=Nとなるまで繰り返し、Nがiに達している場合では、処理が終了する。
【0127】
ステップS34において、若し、CRCの検査によってコンフィギュレーションデータが不合格であれば、ステップS38において、m1 の剰余数演算回路のコンフィギュレーションデータのみの再送を要求する。そして、ステップS39において、再送された法=m1 の剰余数演算回路のコンフィギュレーションデータを受信し、誤り訂正符号の復号化によって誤りビットの訂正を行う。そして、処理がステップS33(CRCiを使用した検査)に戻る。なお、図34では、省略されているが、誤り訂正符号によって誤りが訂正できない場合では、そのコンフィギュレーションデータの再送が要求される。
【0128】
さらに、剰余数演算における剰余桁の独立性を活用することにより、ソフトウエア無線機の信号処理回路のダイナミックレンジを無線経由で容易に再設定できる。端末局は基地局に対して、ダイナミックレンジの増加分のみに相当する法に対応する剰余数演算回路のコンフィギュレーションデータのみの伝送を要求する。この場合、増加分の信号処理回路のレイアウト配置位置に関する制約は剰余桁の独立性より、通常の2進数演算回路よりも、既に実現されている信号処理回路のレイアウト配置位置に依存しない。通常の2進数による数値表現から剰余数による数値表現に変換する変換回路や演算結果に対する検査や結果の選択回路は、法の値や個数等設定を設定することによって、プログラマブルに行われるか、または、所望の機能を有する回路のコンフィギュレーションデータをローカルのデータベースから読み出して、FPGAに供給して実現するものとする。
【0129】
図35は、FPGA上に実現したレイアウト構成図の例を示す。参照符号31dはFPGAチップである。参照符号31a−1,31a−2,31a−3,31a−4は、既に実現されている通常の2進数を剰余数系に変換する変換回路であり、参照符号31b−1,31b−2,31b−3,31b−4は、既に実現されている剰余数演算回路による信号処理部である。また、参照符号31cは、4種類の剰余数を通常の2進数に変換し、正しい結果を選択する回路であり、既に実現されているものとする。
【0130】
演算精度を向上させるために、ダイナミックレンジを変える、例えば13倍に増加させる場合は、法が13の演算回路31b−5を付加すれば良い。また、それに伴って通常の2進数から法が13の剰余数へ変換するための変換回路31a−5の追加、並びに新しい法の13を考慮した剰余数系から通常の2進数系に変換して正しい演算結果を選択するための変換回路31cの変更が必要である。
【0131】
変換回路31a−5と、変換回路31cは、端末装置のコンフィギュレーションデータベース24−c(図25)または26−c(図27)から読み出されて、FPGA上に実現されるか、または、これらがプログラマブルな回路として設計してあれば、法の値や法の個数等の設定信号を変えるだけで、新たに付加した方の演算回路に適用できる。
【0132】
この発明は、上述したこの発明の一実施形態等に限定されるものでは無く、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えばプログラム可能な論理回路としては、FPGA以外にマイクロプロセッサ(あるいはDSP)を使用しても良い。また、誤り検出符号としては、CRC以外の単純パリティ等の符号を使用しても良い。また、この発明は、端末装置に限定されず、無線通信システムにおける基地局装置、衛星や飛行物体に取り付けられる放送用の中継装置に対しても、端末装置の場合と同様に、この発明を適用することができる。
【0133】
【発明の効果】
以上のように、この発明によれば、FPGAコンフィギュレーションデータに無線伝送路の雑音によって発生したビット誤りに起因する回路故障の影響を無くすことができる。また、回路の故障が深刻であり、正しい結果が出力できなくとも、この発明によれば、法毎に剰余数演算回路のコンフィギュレーションデータの再送を行うことによって、効率的に回路の再構成が可能となる。さらに、冗長剰余数演算回路の冗長度が大きいと、FPGAのハードウエアが無駄となる可能性があるが、この発明は、伝送路のS/Nにしたがって、冗長度を適応的に設定することで、最適な冗長度の演算回路を効率的にFPGA上に実現できる。さらに、この発明では、信号処理回路の剰余数演算回路を新たに付加することによって容易にダイナミックレンジを増加させることができる。
【図面の簡単な説明】
【図1】従来の技術によるソフトウェア無線装置の一例を示すブロック図である。
【図2】ソフトウェア無線通信システム用のソフトウェアを無線ダウンロードするリンクのパケットの構成例、並びに情報データを伝送するリンクのパケットの構成例を示す略線図である。
【図3】ソフトウェアがダウンロードされた変調部によって端末局から基地局に対して伝送するリンク(アップリンク)のパケットの構成例を示す略線図である。
【図4】ソフトウェア無線通信システムのパケット再送処理例を示す略線図である。
【図5】MMAC用のOFDM復調部の構成例を示すブロック図である。
【図6】WCDMA用のスペクトラム拡散方式復調部の構成例を示すブロック図である。
【図7】FPGAのLUTとCLで設計した9ビット加算器の構成例を示すブロック図である。
【図8】FPGAのLUTとCLを使用して設計した3×2ビットの乗算器の構成例を示す略線図である。
【図9】真理値表に基づいてLUTによって設計した演算回路の構成例を示すブロック図である。
【図10】FPGAの一例の内部構成を示す略線図である。
【図11】CLBの一例の内部構成を示すブロック図である。
【図12】CBの一例の構成を示す略線図である。
【図13】SBの一例の構成を示す略線図である。
【図14】ある論理回路をFPGA上に実現した場合の一例のFPGAレイアウトを示す略線図である。
【図15】通常の2進数演算による演算回路のレイアウトの概略を示すブロック図である。
【図16】通常の2進数演算による演算回路において演算精度の拡張を行う場合のレイアウトの概略を示すブロック図である。
【図17】剰余数演算の説明に用いる略線図である。
【図18】同一のダイナミックレンジを実現するための回路のレイアウト規模を比較するためのブロック図である。
【図19】剰余数演算回路による構成のレイアウトを示すブロック図である。
【図20】通常の2進数演算回路による構成のレイアウトを示すブロック図である。
【図21】剰余数演算回路を用いた信号処理システムの構成例を示すブロック図である。
【図22】剰余数系から通常の2進数系への数値の変換の一例を示す略線図である。
【図23】冗長剰余数演算の一例および演算回路のレイアウトを示す略線図である。
【図24】冗長剰余数演算に基づく信号処理回路の一例の構成を示すブロック図である。
【図25】冗長剰余数演算に基づくソフトウェア無線通信システムの一例の構成を示すブロック図である。
【図26】ソフトウェア無線機の一例の構成を示すブロック図である。
【図27】冗長度を適応的に可変するソフトウェア無線機の一例の構成を示すブロック図である。
【図28】S/N測定部の一例の構成を示すブロック図である
【図29】S/N測定部の説明のためのブロック図である
【図30】S/N測定部の説明のためのブロック図である
【図31】コンフィギュレーションデータの一括再送処理を説明するフローチャートである。
【図32】コンフィギュレーションデータの分割再送処理を説明するフローチャートである。
【図33】コンフィギュレーションデータのフレームフォーマットの一例を示す略線図である。
【図34】剰余桁毎にCRCを付加した場合における再送処理を説明するフローチャートである。
【図35】FPGAチップ上のレイアウト構成例を示す略線図である。
【符号の説明】
23a−1,23a−2,23a−4・・・法の組{3,5,7,11}の各法に対応する剰余数演算回路で構成された信号処理回路、23b−1,23b−2,23b−3,23b−4・・・剰余桁の演算回路の異なる出力の組み合わせを2進数へ変換する変換回路、23c−1,23c−2,23c−3,23c−4・・・変換回路の出力を非冗長ダイナミックレンジの値と比較する比較回路、23d・・・非冗長ダイナミックレンジよりも小さい結果を出力する法の組み合わせを選択する選択情報を生成するデコーダ、23e・・・選択情報にしたがって変換回路の出力を選択するマルチプレクサ、24b・・・コンフィギュレーションデータを受信するための無線機、24c・・・コンフィギュレーションデータベース、24e・・・ソフトウエア無線機、26g・・・S/N測定器、26h・・・冗長度決定部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a terminal device, a base station device, a relay device, and a communication method using software radio technology.
[0002]
[Prior art]
Recently, software defined radio is being developed. Software defined radio is a concept for a system in which basic radio functions (bandwidth, filtering, modulation / demodulation, encoding, etc.) can be changed by software. Features of software defined radio include reconfigurability (change in configuration and specifications) and downloadability (program rewritability). A radio configured with software defined radio technology is called a software defined radio.
[0003]
More specifically, in the software radio communication technology, a programmable modulation / demodulation device for digital radio communication is configured by using a microprocessor, a DSP (Digital Signal Processor) chip or an FPGA (Field Programmable Gate Array), and desired communication is performed. Software for configuring the modulation / demodulation method can be downloaded to the modulation / demodulation device by wire or wirelessly, and various specifications can be flexibly realized by the same hardware.
[0004]
For example, if different wireless communication systems such as PHS (Personal Handyphone System), mobile phone, and local area network (LAN) can be realized by one wireless communication device by downloading software, the user can use the same wireless terminal. As long as you have the equipment, you can get service all over the world by downloading the local communication system program. For the manufacturer of the terminal device, mass production is possible by sharing the hardware, and the manufacturing cost can be reduced.
[0005]
Further, since the function of the wireless communication apparatus can be easily updated, it is easy for the communication carrier to add a new service, upgrade the function, change the system, correct a software error, and the like. In addition, by downloading software via radio, the bit rate, modulation / demodulation method, error correction coding / decoding method, etc. can be flexibly set according to the propagation environment, providing optimal transmission quality for the propagation environment and subscribers. Allows an increase in number.
[0006]
FIG. 1 shows an example of a software defined radio device according to the prior art. The signal having the center frequency fc received from the antenna 1a passes through the antenna switch 1b and is input to the low noise amplifier 1j. The signal output from the low noise amplifier is mixed with the oscillation frequency f11 of the first local oscillator 1c in the reception mixer 1k and converted to a signal of the intermediate frequency fi.
[0007]
The signal converted to the intermediate frequency fi is orthogonally detected by the intermediate frequency f12 of the second local oscillator 1d in the orthogonal detector 11 and converted into analog baseband signals I and Q. The analog baseband signals I and Q are converted into digital baseband signals ID and QD in the A / D converter 1m. Digital baseband signals ID and Q-D are supplied to the demultiplexer 1p.
[0008]
The demultiplexer 1p selects a software transmission packet or an information data transmission packet. At the time of software download, the output data ID and Q-D of the A / D converter are demodulated by the software modulation signal demodulator 1o. The demodulated program is downloaded to the programmable baseband digital modulation unit 1i or the programmable baseband digital demodulation unit 1n. After downloading, the demultiplexer 1p supplies the output data ID and Q-D of the A / D converter to the programmable baseband digital demodulator 1n, and a desired demodulation process determined by the program is performed.
[0009]
As an example, the programmable baseband digital modulation unit 1i and the programmable baseband digital demodulation unit 1n are configured to perform OFDM (orthogonal frequency division multiplexing) modulation and transmission by a program from the software modulation signal demodulation unit 1o. The demodulation function and the modulation and demodulation functions of the W-CDMA (Wideband-CDMA: Wideband Code Division Multiple Access) system can be switched. This modulation / demodulation method is an example of a multi-mode wireless device, and the present invention may implement a GSM (Global System for Mobile Communication) in a program. Furthermore, the present invention is not limited to mobile communication, but can be applied to different systems in wireless LAN, different systems in ITS (Intelligent Transport System), and the like.
[0010]
When transmitting the software to be downloaded to the partner station, the software stored in the software memory 1q is modulated by the software modulation section 1r, and the digital IQ signals ID and Q-D passing through the multiplexer 1s are converted into D / A. It is input to the converter 1h. The D / A converter 1h converts the digital IQ signal into an analog signal. When transmitting information bits, the modulated data bits are modulated by a programmable baseband digital modulator 1i in a desired modulation scheme. The output of the modulation unit 1i passes through the multiplexer 1s and is input to the D / A converter 1h as digital baseband signals ID and QD. Note that the software memory 1q and the software modulation unit 1r are not limited to the base station but can be included in the terminal station.
[0011]
The analog signal is quadrature modulated in the quadrature modulator 1g by the oscillation frequency f12 of the second local oscillator (1d) and converted into a signal having an intermediate frequency fi (= f12). The signal modulated to the intermediate frequency fi is converted into a signal of frequency fc (= f12 + f11) by the frequency f11 of the first local oscillator 1c in the transmission mixer 1f.
[0012]
The OFDM modulated signal converted to the frequency fc is amplified to a predetermined transmission power in the power amplifier 1e. The amplified signal is supplied to the antenna 1a via the antenna switch 1b and transmitted. In mobile radio communication using a broadband spectrum such as MMAC (Mu1timedia mobi1e access communication system) and WCDMA (Wideband code division mu1tip1e access), the sampling frequency of the A / D converter 1m and the D / A converter 1h is Dozens of MSPS (Mega samples per second).
[0013]
FIG. 2 shows a configuration example of a link packet for wirelessly downloading software for a software defined radio communication system and a configuration example of a link packet for transmitting information data. This link is a downlink from the base station to the terminal station. The packet is composed of packets 2a-1, 2a-2,..., 2a-k for transmitting software and information packets 2b-1, 2b-2,. .
[0014]
The software packet includes a preamble 2c and software 2d. The software 2d includes data 2e for CRC (Cyc1ic redundancy check) added for error detection and configuration data 2f for reconfiguring a program or FPGA input to the microprocessor (or DSP). . The information packet is composed of a preamble 2g and information symbols 2h-1, 2h-2, ..., 2h-m.
[0015]
A preamble that is a known signal is detected for the received data, and packet timing synchronization, frequency synchronization, and transmission path equalization are performed based on the detection. For received software, error detection is performed by CRC. If an error is detected, the packet is discarded and retransmission is requested. Only when no error is detected, the program is demodulated and an ACK signal (acknowledge signal) is transmitted to prompt transmission of the next packet. When all the programs are demodulated, the demodulated programs are downloaded to the baseband digital signal modulator 1i and demodulator 1n, and set to a desired modulation / demodulation method. After receiving the information packet and performing packet timing synchronization, frequency synchronization and transmission path equalization on the preamble 2g, setting is made on the information packet information symbols 2h-1, 2h-2, ..., 2h-m Information data is demodulated by the demodulated method.
[0016]
FIG. 3 shows a configuration example of a link (uplink) packet transmitted from a terminal station to a base station by a modulation unit in which software is downloaded in a software defined radio communication system. The packets 3a-1, 3a-2,..., 3a-n are composed of a preamble 3b and information data 3c which are known signals. The information data 3c is composed of information symbols 3d-1, 3d-2, ..., 3dm. On the receiving side, packet timing synchronization, frequency synchronization, and transmission path equalization are performed based on the detection of the preamble, and then information symbols are demodulated.
[0017]
FIG. 4 shows an example of packet retransmission processing in the software defined radio communication system. In a software radio communication system, modulation / demodulation of information data to be originally transmitted is performed by a modulation / demodulation unit downloaded with software. There is a possibility that a failure occurs in the modem unit due to a software error generated by the wireless transmission path. Therefore, error detection by CRC is performed on the software wireless transmission packet, and retransmission processing is performed many times until no error is detected. However, even if no error is detected by CRC, the bit error is not zero and has a very low bit error rate, but there may be a bit error.
[0018]
For example, the first software packet 1 (4a) is transmitted from the software transmitting station. Error detection by CRC is performed on the received packet, and if an error is detected, a retransmission request signal (4b) is transmitted to the transmitting station until no error is detected. FIG. 4 is an example in which no error is detected in software packet 1 (4e) transmitted after two retransmission requests are made, so the same packet (4a, 4c, 4e) is retransmitted three times. . After no error is detected, an ACK signal (4f) is transmitted to the software transmission side.
[0019]
After repeating these operations, the final software packet k (4k) is received, and the demodulation of all the software is completed. The decoded software is downloaded to a programmable modem unit, and a desired modulation / demodulation process can be performed. After transmitting the ACK signal (4l) for the final software packet k (4k), the information packets (4m, 4n,..., 4o) are transmitted.
[0020]
Next, processing contents of the programmable baseband digital demodulator 1n in FIG. 1 will be described. Since the processing of the demodulation unit is generally more complicated than the modulation unit, only the demodulation unit will be described. As an example, a configuration of a demodulating unit of MMAC and WCDMA, which are mobile radio communication systems using a broadband spectrum, will be described.
[0021]
FIG. 5 shows a configuration example of an OFDM demodulator for MMAC. The input digital baseband signals ID and Q-D are obtained by first obtaining the packet timing synchronization by the packet timing synchronization unit 5a, then synchronizing the carrier frequency by the carrier frequency synchronization unit 5b, and storing the data in the memory 5c. Is written into the frequency domain by FFT (fast Fourier transform) 5d. If the number of subcarriers is NFFT, the FFT 5d performs fast Fourier transform of the NFFT point and demodulates the parallel received data at the NFFT point. Thereafter, equalization of the transmission path is performed by the equalizer 5e, the error bit is corrected by the error correction code decoder 5f, and a demodulated bit is output.
[0022]
FIG. 6 shows a configuration example of a spread spectrum demodulation unit for WCDMA. The input digital baseband signals ID and Q-D first obtain the packet timing synchronization by the packet timing synchronization unit 6a and then synchronize the carrier frequency by the carrier frequency synchronization unit 6b. After the data is written in the memory 6c, the despreading / equalizing unit 6d performs despreading and transmission path equalization using a predetermined spreading code. The output of the despreading / equalizing unit 6d is supplied to the error correction code decoder 6e, where the error bit is corrected by the decoder 6e and the demodulated bit is output.
[0023]
In the demodulator as shown in FIG. 5 and FIG. 6 described above, it is necessary to perform processing such as FFT, despreading, and equalizer on the sampling data input at a rate of several tens of MSPS in real time. is there. In a software defined radio communication system, these processes are realized by programmable hardware. The use of an ultra-high-speed general-purpose microprocessor that operates with a clock of several hundred MHz as a programmable device is also conceivable. However, since the power consumption depends on the clock frequency, it is difficult to design a practical portable information terminal device that operates on a battery.
[0024]
By using an FPGA as a programmable device, signal processing hardware for high-speed demodulation with relatively low power consumption can be realized. Since a large-scale FPGA exceeding 1 million gates has started to appear on the market, the function of an OFDM LSI for MMAC exceeding 1.4 million gates can be sufficiently realized by using several FPGAs. However, in order to program the FPGA to a desired function, configuration data for programming the function of the reconfigurable logic circuit inside the FPGA and the connection between the logic circuits is required. In order to program the above-described MMAC OFDM LSI, 8 Mbits of configuration data are required.
[0025]
An adder, a multiplier, and an arbitrary two-input arithmetic circuit designed using the FPGA block will be described below. In order to simplify the explanation, unless otherwise specified, the contents of LUT (Look Up Table) and CL for setting CL (Carry Logic), which is a programmable logic circuit dedicated to carry generation, are described below. The setting data is called configuration data. Note that the CL can realize one of several logic circuits defined in advance by corresponding configuration data.
[0026]
FIG. 7 shows a configuration example of a 9-bit adder designed by FPGA LUT and CL. This is a ripple carry type adder in which a carry signal propagates from a lower bit. The bits a8-a0 and b8-b0 of the input data bus expressed in two's complement are first LUTs 9a-1, 9a-2, 9a-3, 9a-4, 9a-5, 9a-6, 9a-7. , 9a-8, 9a-9, 9a-10. The LUT 9a-1 generates a control signal indicating that an overflow has occurred. Other LUTs calculate the sum of two bits of equal weight and the carry signal from the lower bits.
[0027]
CL (9b-1, 9b-2, 9b-3, 9b-4, 9b-5, 9b-6) generates a carry signal in each bit corresponding to the input data bus and digit from the lower bit to the upper bit. Propagate signal. In the final stage LUT (9c-1, 9c-2, 9c-3, 9c-4, 9c-5, 9c-6, 9c-7, 9c-8), the code corresponding to the two's complement expression for the sum output Processing and saturation processing at overflow are performed. In addition to this example, various adder algorithms have been proposed.
[0028]
FIG. 8 shows an example of the configuration of a 3 / 2-bit multiplier designed using an FPGA LUT and CL. The input data a2, a1, a0 and b1, b0 expressed in two's complement are respectively the corresponding LUT (10a-1, 10a-2, 10a-3), LUT (10a-5, 10a-6) and CL. It is converted into an absolute value by (10b-1, 10b-2, 10b-3). The sign of the product is determined by the LUT (10a-4). Each bit a′2, a′1, a0 ′ and b′1, b′0 of the absolute value is supplied to the LUT (10c-1, 10c-2,..., 10c-6), and the LUT (10c− 1, 10c-2, ..., 10c-6), the partial product is calculated. The partial products are LUT (10d-1, 10d-2, 10d-3), CL (10e-1, 10e-2), LUT (10f-1, 10f-2,..., 10f-5) and CL ( Bit P is added by the addition tree composed of 10g-1, 10g-2, 10g-3, 10g-4)Four, PThree, P2, P1, Is calculated.
[0029]
An arbitrary 2-input arithmetic circuit is designed by the LUT. Table 1 shows an example of a truth table of a 2-input 1-output arithmetic circuit whose data word length is 12 bits.
[0030]
[Table 1]
Figure 0004806765
[0031]
FIG. 9 shows a configuration example of an arithmetic circuit designed by LUT based on this truth table. Since the total number of bits of input data is 24 bits, this can be realized by preparing 12 logic circuits with 24 inputs and 1 output. The output bits c11 (MSB), c10,..., C0 (LSB) are connected to the logic circuit (1111, 11Ten, ..., 110). Each logic circuit is composed of eight LUTs (11a-1, 11a-2, 11a-3, 11a-4, 11a-5, 11a-6, 11a-7, 11a-8) for inputting 24-bit data. Composed.
[0032]
Configuration data is written in each LUT of each logic circuit so as to satisfy the truth table (Table 1). The configuration shown in FIG. 9 is an example in which the number of LUTs is the maximum because the LUTs are designed by connecting them directly in a tree shape. Depending on the contents of the truth table, it is possible to reduce the number of LUTs by simplifying the logical expression.
[0033]
In the timing synchronization unit (5a, 6a), carrier frequency synchronization unit (5b, 6b), FFT (5d), and despreading / equalization unit (6d) shown in FIG. 5 and FIG. In the process of OFDM transmission line equalization (5e), division is performed. That is, a multiplier, an adder, and a divider are required to configure the processing circuit on the FPGA. Input data is input at a sampling rate of several tens of MHz and needs to be calculated in real time. Assuming that the operation time of the operation circuit composed of the FPGA LUT and CL is several tens of nsec, it is difficult to share the hardware in a time-sharing manner, and each operation unit requires its own operation circuit. It becomes. Therefore, a large number of LUTs and CLs are required to configure the entire baseband modulation / demodulation process.
[0034]
For example, in order to realize only MMAC FFT on an FPGA, as many CLs as 2300 LUTs are required. A large amount of configuration data is required to program them. Further, since the OFDM modulation / demodulation LSI for MMAC has a scale of 1.4 million gates or more, if it is assumed to be configured with an FPGA, configuration data of 8 Mbits or more is required.
[0035]
As shown in FIG. 4, in the conventional software wireless download method, error detection by CRC is performed on received software, and after error-free (no error) is confirmed, downloading to the programmable device is performed. Is called. If an error is detected, a retransmission request is made until error free. In this method, under a poor propagation environment, it is necessary to retransmit an enormous amount of configuration data many times until reaching error-free, and enormous time is spent until the download is completed.
[0036]
If the download time of configuration data increases, the transmission efficiency of information data to be originally transmitted as shown in the packet configuration diagram of FIG. 2 deteriorates. In addition, in an adaptive transmission system that realizes an optimal function by wireless download according to a propagation path environment that changes from moment to moment, transmission of configuration data for realizing the function needs to be performed promptly. In the transmission method with re-transmission, the propagation environment changes drastically until the wireless download is completed, and a function optimal for the propagation environment after the download is completed cannot be realized on the FPGA. Therefore, in order to utilize the features of the software defined radio communication system, it is essential to establish a highly efficient radio transmission / download method for software including FPGA configuration data.
[0037]
First, the FPGA will be considered taking the FPGA constituting the baseband processing unit described above in the conventional example as an example. FIG. 10A shows an internal configuration of an example of the FPGA. In the following, the term “software” or “program” includes configuration data that defines the functions of the FPGA.
[0038]
Configuration data is supplied from the outside to the FPGA chip 7a, an example of which is shown in FIG. 10B, and written in a configuration memory (not shown). Although details will be described later, the configuration memory is distributed in each block constituting the FPGA 7a. The function of each part of the FPGA is programmed by this configuration data.
[0039]
A CLB (Configurable Logic Block) 7b, which is a programmable logic circuit block, can be configured into a small-scale logic circuit desired by the user by corresponding configuration data. For the sake of explanation, FIG. 10A shows an FPGA composed of 3 × 3 CLBs, but there are actually FPGAs with a relatively large configuration in which several tens of several tens of CLBs are integrated. . An IOB (Input / Output Blocks) 7c is an interface circuit for signals outside and inside the chip. The IOB 7c is also a kind of current amplifier. The IOB 7c is set to a predetermined logic amplitude voltage by corresponding configuration data, and has a function of converting an external logic voltage into an internal logic voltage.
[0040]
An RC (Routing Channel) 7d is a data bus connecting the blocks. CB (Connection Block) 7e and SB (Switching Block) 7f, which are programmable switches, are arranged in a matrix. The CB makes connections between CLB and CLB, between SB and SB, and between CLB and IOB. The SB performs connections between CB and CB and between CB and IOB. In FIG. 10, the illustration of the hardware configuration for inputting and distributing the configuration data to the configuration memory is omitted.
[0041]
FIG. 11 shows an internal configuration of an example of the CLB 7b. The CLB 7b is a 4-input 1-output LUT (Look-Up Table) 8a, 8b, a 3-input 1-output LUT 8c, and a CL (Carry Logic) 8d, 8e, 9 logic circuits dedicated to carry generation. Multiplexers 8f, 8g, 8h, 8i, 8j, 8k, 8l, 8m, 8n and two registers 8o, 8p are included. CLB is SRAM, and input corresponds to an address. Arbitrary logic circuits can be configured by downloading 16-bit and 8-bit configuration data to the 4-input and 3-input CLB, respectively. The CLB 7b further includes a configuration memory 8q that stores a control signal for each multiplexer.
[0042]
Table 2 shows an example of a truth table for a 4-input LUT. The CL can realize one of several logic circuits defined in advance by corresponding configuration data. The control signal for each multiplexer is also set by the configuration data. By applying various configuration data to the CLB, a desired logic circuit including a register can be realized.
[0043]
[Table 2]
Figure 0004806765
[0044]
FIG. 12 shows an example of the configuration of the CB 7e. In FIG. 12A, the buses 12a arranged above and below are buses connected to the SB 7f. The intersecting left bus 12b and right bus 12c are buses connected to the IOB 7c or CLB 7b. The switch 12d is connected to the bit line of each bus. As shown in FIG. 12A, in the switch 12d, the source and drain of the transistor 12e are connected between the bit lines. A signal for controlling the gate voltage of the transistor 12e is written in the cell 12f of the configuration memory. The on / off control of the transistor 12e is performed according to the cell signal. In FIG. 12, description of data signals and control signals written to the configuration memory is omitted.
[0045]
FIG. 13 shows an exemplary configuration of the SB 7f. As shown in FIG. 13B, the buses 13a, 13b, 13c, and 13d are arranged vertically and horizontally, respectively. The switch 13e is diagonally arranged at the intersection of the bit lines of each bus, and the input is connected to the bit lines in four directions. The source and drain of the transistor 13f are connected between the bit lines from the four directions of the switch. A cell 13g of the configuration memory is connected to the gate of the transistor, and on / off control of the bit line in four directions is performed by a signal written in the cell. Note that description of input signals and control signals to the configuration memory is omitted.
[0046]
As an example is shown in FIG. 13B, on / off control of the bit lines in the four directions is performed in the switch 13e as well as the above-described switch 12d. Further, for the IOB, settings such as the voltage level of the input / output signal, the maximum value of the output current, and the insertion / non-insertion of the register are performed according to the data of the cells of the internal configuration memory.
[0047]
As described above, CB, SB, CLB, and IOB programs are performed by writing data for realizing a desired circuit in the configuration memory distributed in each block. It can be realized on an FPGA.
[0048]
Consider how the FPGA blocks are connected when the logic circuit is realized by the FPGA blocks as described above. FIG. 14 shows an example FPGA layout when a certain logic circuit is realized on the FPGA. Hereinafter, a unit of a logic circuit that realizes a certain function using an FPGA block will be appropriately referred to as a function module. FIG. 14 includes two small function modules 100a (function module A), a function module 100b (function module B), and a wiring area 100c between the modules.
[0049]
[Problems to be solved by the invention]
In a software defined radio communication system, wireless transmission of FPGA configuration data is essential. In wireless transmission, even if error correction processing and retransmission processing are performed on transmitted configuration data, bit errors occur with a very small probability.
[0050]
In general, an arithmetic circuit for signal processing in wireless communication is mainly composed of an ordinary binary arithmetic circuit of a weight number system of 2. In this arithmetic circuit, each bit is weighted. If a bit error occurs in the configuration data corresponding to the LUT, CB, or SB that inputs / outputs a bit having a large weight, a failure occurs in the circuit, and a normal processing result cannot be obtained. For example, when a bit error occurs in the configuration data of the 9a-2 UT on the MSB side in FIG. 7, a serious error is caused in the operation result.
[0051]
As another problem, when a binary arithmetic circuit of a normal weight 2 system is configured with an FPGA LUT, the area of the module of the arithmetic circuit depends on the number of output bits of the operand and the product or sum. If a communication method such as WCDMA or OFDM is adopted, it is necessary to improve the calculation accuracy, that is, increase the bit word length of the calculator in order to improve the transmission quality. As the bit word length increases, the circuit area of the module increases. If the circuit area of a module increases, in the case of a relatively large-scale signal processing circuit such as a digital filter that requires a large number of multipliers and adders, the wiring distance between modules becomes longer and the wiring becomes complicated. The number of CBs and SBs inserted between the wirings increases, the electrical resistance of the wirings increases, the time constant that is the product of the resistance and the wiring capacitance increases, and the digital signal transmission delay time increases. As a result, the calculation time increases and the operating clock frequency deteriorates.
[0052]
As an example, FIG. 15 shows a product-sum operation z = c.0 x + c1 FIG. 6 shows a layout diagram when an arithmetic circuit for executing y is realized on an FPGA. The illustration of the CLB, CB, and SB blocks is omitted. CB and SB are inserted at the intersection of two different wirings to control the direction of signal flow. 15a and 15b are respectively c0And c1Is a module of a constant coefficient multiplier for multiplying by. An adder module 15c adds the products of the constant coefficient multipliers 15a and 15b in the previous stage.
[0053]
The higher the wireless transmission bit rate or transmission symbol rate of information, the higher the demand for high-speed arithmetic circuits in the modulator or demodulator. However, when FPGA is used, performance degradation caused by wiring between arithmetic unit modules. Therefore, it becomes difficult to realize a signal processing circuit that operates with a desired clock.
[0054]
Next, problems regarding the adaptive setting of the calculation accuracy of the signal processing circuit in the software defined radio communication system will be described. Generally, hardware for wireless communication is designed based on calculation accuracy that satisfies a certain required specification. In such a case, the communication quality is limited by the state of the propagation path. By using software radio communication technology, it is possible to adaptively set the optimum calculation accuracy corresponding to the state of the propagation path. When the state of the propagation path deteriorates, for example, in the case of a propagation path with a low S / N or multipath, the communication quality may be prevented from being deteriorated by increasing the accuracy of the arithmetic circuit.
[0055]
In order to improve the calculation accuracy, that is, to expand the dynamic range, it is necessary to enlarge the arithmetic circuit in order to increase the bit word length. In order to increase the dynamic range in a normal binary number system binary arithmetic circuit, in order to increase the bit word length, it is necessary to add a circuit corresponding to the increase in the bit word length in consideration of carry propagation. is there. In the case of a signal processing circuit such as an FIR filter having a large number of multipliers and adders, the layout shape already realized on the FPGA becomes complicated, and a circuit for increasing a new dynamic range is added. Spatial space on the layout for placement is not guaranteed. Therefore, it is not easy to add an increase circuit to a large number of multipliers and adders already realized. Also, it is not easy to expand the data bus.
[0056]
In a software defined radio communication system, a radio download of only circuit configuration data corresponding to an increase in calculation accuracy is ideal. However, for the reasons described above, it is necessary to wirelessly download a huge amount of configuration data of all the processing circuits with increased calculation accuracy, resulting in poor transmission efficiency.
[0057]
FIG. 16 shows an example of a normal binary arithmetic circuit. The operand of the arithmetic circuit shown in FIG. 15 has 8 bits. In order to improve the calculation accuracy, consider increasing the operand of this calculation circuit by one bit. Reference numerals 16a, 16b, and 16c are arithmetic modules that have already been realized. The arithmetic modules 16a, 16b, and 16c must be added with hardware 16d, 16e, and 16f corresponding to the increment. In that case, there must be enough space to add the increased amount of hardware. Moreover, although wiring is added later, it is necessary to arrange the wiring so as not to contact the wiring already realized. Therefore, it is not always optimal, and there is a case where it is necessary to realize a long-distance wiring that bypasses the module as shown by reference numeral 16g in FIG.
[0058]
Accordingly, an object of the present invention is to improve the reliability of the circuit so that the signal processing operation does not become defective due to a failure of the signal processing circuit caused by a bit error in the program data transmitted wirelessly, and the wiring between the arithmetic modules. This is to alleviate circuit performance degradation due to increased length and complicated wiring.
[0060]
[Means for Solving the Problems]
  In order to solve the above-described problems, the invention of claim 1In a terminal device in which a part or all of hardware is configured by a programmable logic circuit, and a desired wireless communication system is realized by program data for the logic circuit.
  A remainder number calculating means that is configured for each remainder digit by the received program data and has a redundant dynamic range;
  A plurality of conversion means for generating different remainder digit combinations of the remainder number calculating means and converting the operation result of the generated combination into a binary number;
  Determining means for determining whether the output of the plurality of converting means exceeds a non-redundant dynamic range;
  In response to the determination result of the determination means, comprising a selection means for selectively outputting a combination of remainder digits when not exceeding the non-redundant dynamic range as a correct operation result,
  If any binary value obtained by converting the operation results of all combinations of the remainder digits exceeds the non-redundant dynamic range, the retransmission of the program data is requested for each remainder digit corresponding to each method from the minimum method,
  When the calculation result does not exceed the non-redundant dynamic range, the terminal device regards that the correct result can be output and cancels the program data retransmission request.
[0061]
  Claim6The invention ofIn a base station apparatus in which a part or all of hardware is configured by a programmable logic circuit, and a desired wireless communication system is realized by program data for the logic circuit.
  A remainder number calculating means that is configured for each remainder digit by the received program data and has a redundant dynamic range;
  A plurality of conversion means for generating different remainder digit combinations of the remainder number calculating means and converting the operation result of the generated combination into a binary number;
  Determining means for determining whether the output of the plurality of converting means exceeds a non-redundant dynamic range;
  In response to the determination result of the determination means, comprising a selection means for selectively outputting a combination of remainder digits when not exceeding the non-redundant dynamic range as a correct operation result,
  If any binary value obtained by converting the operation results of all combinations of the remainder digits exceeds the non-redundant dynamic range, the retransmission of the program data is requested for each remainder digit corresponding to each method from the minimum method,
  When the calculation result does not exceed the non-redundant dynamic range, the base station apparatus considers that a correct result can be output and cancels the program data retransmission request.
[0062]
  Claim11The invention ofIn a relay device in which a part or all of hardware is configured by a programmable logic circuit, and a desired broadcasting system is realized by program data for the logic circuit.
  A remainder number calculating means that is configured for each remainder digit by the received program data and has a redundant dynamic range;
  A plurality of conversion means for generating different remainder digit combinations of the remainder number calculating means and converting the operation result of the generated combination into a binary number;
  Determining means for determining whether the output of the plurality of converting means exceeds a non-redundant dynamic range;
  In response to the determination result of the determination means, comprising a selection means for selectively outputting a combination of remainder digits when not exceeding the non-redundant dynamic range as a correct operation result,
  If any binary value obtained by converting the operation results of all combinations of the remainder digits exceeds the non-redundant dynamic range, the retransmission of the program data is requested for each remainder digit corresponding to each method from the minimum method,
  When the calculation result does not exceed the non-redundant dynamic range, the relay device regards that a correct result can be output and cancels the program data retransmission request.
[0063]
  Claim16The invention ofIn a communication method in which a part or all of hardware is configured by a programmable logic circuit, and a desired wireless communication system or a desired broadcast system is realized by program data for the logic circuit.
  A receiving step for receiving program data;
  A step of configuring a remainder number calculating means that is configured for each remainder digit by the received program data and has a dynamic range that is redundant;
  A conversion step of generating a combination of different remainder digits of the remainder number calculating means, and converting the operation result of the generated combination into a binary number;
  A determination step for determining whether or not the converted operation result exceeds a non-redundant dynamic range;
  A selection step of selectively outputting a combination of remainder digits when not exceeding the non-redundant dynamic range as a correct operation result;
  If any binary value obtained by converting the operation results of all combinations of the remainder digits exceeds the non-redundant dynamic range, the retransmission of the program data is requested for each remainder digit corresponding to each method from the minimum method,
  This is a communication method in which when a calculation result does not exceed the non-redundant dynamic range, it is assumed that a correct result can be output, and a retransmission request for program data is canceled.
[0064]
  When configuration data for, for example, FPGA, which is a software defined radio program, is transmitted via radio, an incorrect calculation result is output due to a circuit failure caused by a bit error caused by noise or the like. In this invention, attention is paid to the fact that the product-sum operation can be executed independently for each remainder digit in the remainder number calculation, the dynamic range is made redundant, and the combination of the output of several remainder digits is changed to a normal binary number. It is checked whether the converted result is equal to or greater than the non-redundant dynamic range, and only a result smaller than the non-redundant dynamic range can be output as a correct operation result.
[0067]
DETAILED DESCRIPTION OF THE INVENTION
An embodiment of the present invention will be described below. In order to facilitate understanding of the present invention, a remainder number calculation method will be described. In a normal binary number arithmetic circuit of a weight number system of 2, since a carry (carry) signal is exchanged between the digits, the arithmetic circuit cannot be divided for each digit. In the present invention, a remainder number arithmetic circuit different from a normal binary number arithmetic circuit is used.
[0068]
The principle of the remainder number calculation will be described. N integers m that are disjoint from integer x1, M2 , ..., mN A system expressed by a set of remainders for is called a residue number system. The remainder number calculation is an operation method for outputting a remainder obtained by dividing a certain operand after performing normal addition or multiplication on an input operand. Hereinafter, an operation for obtaining a remainder by a modulus m of an integer x is expressed as x mod m. Also, the input / output of the remainder number calculation by the same method is called a remainder digit. In the residue number system, addition / subtraction multiplication can be performed independently for each residue. An example of addition is shown in FIG. 17A. Set of laws {m1, M2 , MThree} Is, for example, {3, 5, 7}. When Expression 8 is expressed by a remainder number, it becomes {2, 3, 1}, and Expression 9 becomes {0, 4, 2}. The result of the addition (8 + 9) is {2 mod 3, 7 mod 5, 3 mod 7} = {2, 2, 3} in the residue number system.
[0069]
FIG. 17B shows an example of multiplication (9 × 10). Similar to the addition example, if the set of moduli is {3, 5, 7}, this multiplication is {0, 4, 2} × {1, 0, 3} = {0 mod 3, 0 mod 5, 7 mod 6}. = {0, 0, 6}. From FIG. 17, in the remainder number calculation, there is no transmission / reception of a signal like a carry between each remainder digit. Therefore, a circuit for each remainder digit can be realized independently. However, the modulo of each remainder digit must be disjoint. The range of integers that can be expressed by a set of laws is called the dynamic range.
[0070]
FIG. 18 is a diagram comparing the module sizes of the remainder adder and the normal binary adder. FIG. 18A shows the configuration of the remainder number adder, and FIG. 18B shows the configuration of a normal binary number adder. The maximum dynamic range of the remainder operation is expressed as the product of the modulus used. In this example, (3 × 5 × 7 = 105). The word length of a normal binary arithmetic unit having the same dynamic range is 7 bits. Reference numerals 18a, 18b, and 18c indicate modules of each digit of the remainder adder. Reference numeral 18d indicates a module of a normal binary adder. However, in the figure, CLB. SB. CB is omitted.
[0071]
The word lengths of the arithmetic units 18a, 18b, and 18c that perform the remainder number calculation of each remainder digit are shorter than the word length of the entire dynamic range. Therefore, the layout area occupied on the FPGA of the remainder number calculator of each remainder digit can be smaller than that of a normal binary number calculator. When realizing a digital filter or the like composed of a large number of arithmetic units, the length of wiring between arithmetic units can be shortened, and the complexity of wiring can be reduced. Considering implementation in FPGA, the number of SBs and CBs constituting the wiring can be reduced, wiring resistance and wiring capacity can be reduced, signal delay time between arithmetic units can be reduced, and the operating clock frequency can be increased. it can.
[0072]
FIG. 19 shows z = c0 x + c1 FIG. 20 shows a layout of a normal binary number arithmetic circuit in which y is realized and the dynamic range is designed at 105, and FIG. 20 shows a layout of a normal binary number arithmetic circuit. In FIG. 19, reference numerals 19a and 19b indicate constant coefficient multipliers when the modulus is 3, reference numerals 19d and 19e indicate constant coefficient multipliers when the modulus is 5, and reference numerals 19g and 19h indicate The constant coefficient multiplier when the modulus is 7 is shown. Reference numerals 19c, 19f, and 19i denote adders when the moduli are 3, 5, and 7, respectively. In FIG. 20, reference numerals 19j and 19k denote constant coefficient multipliers having a binary arithmetic circuit configuration, and 19l denotes an adder for adding the outputs of both arithmetic circuits 19j and 19k.
[0073]
Due to the independence between the remainder digits, there is no signal exchange such as carry exchange between arithmetic circuits with different moduli. The greater the number of arithmetic units, and the more complicated the arithmetic algorithm and the more complicated the connection between the arithmetic units, the more advantageous the signal processing circuit using the remainder number arithmetic circuit. Compared with the signal processing circuit using the normal binary arithmetic circuit shown in FIG. 20, performance degradation due to the complexity of wiring between arithmetic circuits and the wiring length can be reduced.
[0074]
Considering a signal processing circuit for wireless communication, it is necessary to convert digital data and analog signals. A commercially available general A / D converter converts an analog signal into normal binary data. Therefore, it is necessary to convert a normal binary numerical expression into a numerical value expression of the residue number system. This is performed by a combinational logic circuit composed of FPGA CLB or a conversion circuit composed of ROM. Similarly, a commercially available general D / A converter converts normal binary data into an analog signal. Therefore, it is necessary to convert from the numerical representation of the residue number system to the ordinary binary numerical representation. At that time, data exchange between the remainder digits occurs, and the independence of the remainder digits is lost. However, the calculation load is very small as compared with the calculation load in the main filter, for example. Conversion from the residue number system to the normal binary number system is performed based on the conversion to the mixed radix system or the Chinese remainder theorem.
[0075]
FIG. 21 shows a configuration example of a signal processing system based on a remainder number calculation for inputting and outputting an analog signal. The analog signal is once converted into a normal binary numerical value by the A / D converter 20a. The output of the A / D converter 20a is m1 , M2 , ..., mN , Converters 20b-1, 20b-2,. . . , 20b and 1N, a normal binary number is converted into a remainder number corresponding to each remainder digit of each modulus. Next, signal processing circuits 20c-1, 20c-2,. . . , 20c-N, the remainder is calculated. The signal processing circuits 20c-1, 20c-2,. . . , 20c-N is composed of a remainder number calculator for executing a signal processing algorithm for performing a product-sum operation such as an FIR filter. The signal processing circuits 20c-1, 20c-2,. . . , 20c-N are input to the converter 20d, and the converter 20d converts the remainder number into normal binary data, and then converts it into an analog output signal by the D / A converter 20e.
[0076]
The conversion from the normal binary number system to the remainder number system can be realized relatively easily using table lookup and modulo addition. On the other hand, the inverse transformation from the residue number system to the binary number system is complicated. Hereinafter, two types of algorithms for converting a numerical value in the residue number system to a normal binary number will be described. A system that expresses a numerical value using a plurality of radixes is called a mixed radix system. A normal decimal number expression is a number expression using only the radix 10, and a binary number expression is a number expression using only the radix 2.
[0077]
Numerical value x of the residue number system using a conversion algorithm from the residue number system based on the mixed radix system to the ordinary binary number system1 , X2, XThree FIG. 22 shows an example in which is converted to a numerical value y in a normal binary system. Modulo m1 = 3, m2= 4, mThree= 5, and the remainder corresponding to each modulus is x1 = 1, x2= 3, xThree= 3. This remainder number is converted into a normal binary value y.
[0078]
First, x is the smallest modulus residue number1 A1 And Next, a1 Is subtracted from each remainder. M for the result1 = Divide by 3. This is m2= 4, mThree= M in the remainder calculation of 51 This is equivalent to multiplying the inverse of = 3. This inverse element is m2And mThreeAre 3 and 2, respectively. m2= Result 2 of the remainder digit of 4 is a2And Next, mThreeFrom the value of the remainder digit of a2Pull m2= Divide by 4. That is, mThreeMultiply by 4 which is the inverse of 4 in = 5. In this way a1 = 1, a2= 2, aThree= 3 is obtained. In mixed radix systems, the numbers are different radix 1, m1 , M1 m2And y = a1 + A2m1 + AThreem1 m2Defined by When substituted, (y = 1 + 2 × 3 + 3 × 3 × 4 = 43) is obtained.
[0079]
The conversion algorithm from the residue number system to the normal binary number system by the Chinese remainder theorem is explained. The definition of this theorem is shown in equation (1).
[0080]
[Expression 1]
Figure 0004806765
[0081]
In the formula (1), M and mi^ Is defined by the following equations (2) and (3). Note that ^ is added on the letter m, but in the present specification, m and ^ are shown separately for convenience of description.
[0082]
[Expression 2]
Figure 0004806765
[0083]
[Equation 3]
Figure 0004806765
[0084]
However, m shown by Formula (4)i^-1Is the modulo miM iniIndicates the inverse element of ^.
[0085]
[Expression 4]
Figure 0004806765
[0086]
For example, the number of moduli N = 3 and modulo m1 = 3, m2= 4, mThree= 5, and the remainder corresponding to each modulus is x1 = 1, x2= 2, xThree= 3. The representation is converted into a normal binary number by this remainder digit. First, from equation (2), M = 60, and from equation (3), m1^ = 20, m2 ^ 15, mThree ^ = 12. Furthermore, from equation (4), m1^-1[M1] = 2, m2^-1[M2] = 3, mThree^-1[MThree] = 3. By substituting these values into equation (1), a normal binary representation value y = 58 is obtained.
[0087]
In both the conversion algorithms described above, since there is signal exchange between the remainder digits, independence between the remainder digits is not established. For example, in the mixed radix system example of FIG.2 And mThree M from the remainder digit1 A is the remainder of1 Is pulling. Also in the Chinese remainder theorem, the sum of the calculation results of each remainder digit is calculated in equation (1). In order to take advantage of the features of the remainder number computation, the computation amount of the signal processing algorithm for each remainder digit must be much larger than the computation amount for conversion from the residue number system to the normal binary number system. .
[0088]
So far, the general remainder number system has been described. Next, the redundant remainder number system will be described. In general, signal processing circuits are designed with the data word length of the arithmetic unit set to a minimum in order to adapt to the minimum dynamic range required for processing (hereinafter referred to as the non-redundant dynamic range as appropriate). Is done. Such a signal processing circuit designed using a remainder number calculator will be referred to as a signal processing circuit based on non-redundant residue number calculation. On the other hand, in the redundant remainder number calculation, a circuit is designed so that a redundant remainder digit is added to the signal processing circuit to obtain a dynamic range more than necessary for signal processing (this is called a redundant dynamic range).
[0089]
In a software defined radio communication system designed using an FPGA, when FPGA configuration data is transmitted via radio in order to increase reliability, the configuration data is encoded with an error correction code and transmitted to the receiving side. Then, decoding is performed to correct bit errors generated in the transmission path. Alternatively, CRC code or parity data is added and transmitted, and if an error has occurred by checking the CRC code or parity data on the receiving side, a retransmission request signal is transmitted to the transmitting side and the same information is retransmitted. do that for me. Even if these processes are performed to improve the reliability, the bit error rate is extremely low, but there are error bits. A malfunction in the operation of the wireless communication system occurs due to a circuit failure caused by the error bit.
[0090]
Assume that in a signal processing circuit based on redundant residue number calculation configured by wirelessly transmitted configuration data, a single residue digit calculation circuit has failed due to an error bit in the configuration data. In this case, the calculation result obtained by converting all the residue digit values to the normal binary number system has a high probability of exceeding the non-redundant dynamic range. Therefore, the failure detection of the signal processing circuit is performed by checking whether the calculation result obtained from all the remainder digits exceeds the non-redundant dynamic range.
[0091]
Furthermore, after such a failure detection, in order to check which method of the remainder number arithmetic circuit has failed, a plurality of combinations of a plurality of methods that can obtain a dynamic range exceeding the non-redundant dynamic range are created. A result in which the calculation result of the combination falls within the non-redundant dynamic range is output as a normal calculation result. On the other hand, although a failure occurs in a combination that outputs a result exceeding the non-redundant dynamic range, a remainder digit in which the arithmetic circuit has failed can be searched by comparing with a result of another combination. A signal processing system devised so that a normal operation result can be output even if a circuit failure exists is called a fault tolerant system.
[0092]
A specific example will be described. In the remainder calculation, the dynamic range is equal to the modulus product. Here, to simplify the explanation, it is assumed that the signal processing circuit performs only multiplication. As shown in FIG. 23, let the total set of moduli be {3, 5, 7, 11}. It is assumed that the remainder digit multiplication circuit corresponding to the four moduli is realized by writing configuration data downloaded over the air into a block on the FPGA. Select 3 and 5 as the modulo and set the non-redundant dynamic range to 3 × 5 = 15. This means that a general calculation result is smaller than 15. On the other hand, examples of combinations of methods for obtaining a redundant dynamic range are {3, 5, 7}, {3, 5, 11}, {3, 7, 11}, {5, 7, 11}. FIG. 23A shows an example of 4 × 3 multiplication when no failure has occurred. FIG. 23B shows an example in which a failure occurs in the modulus 11 processing circuit and 8 is calculated instead of the normal result 1. In FIG. 23C, reference numerals 22a, 22b, 22c, and 22d indicate multipliers corresponding to the moduli 3, 5, 7, and 11, respectively.
[0093]
Next, a value obtained by converting each set of operation results obtained for the redundant dynamic range into a normal binary system is compared with 15 which is a non-redundant dynamic range. If the remainder of the combination of {3, 5, 7}, {3, 5, 11}, {3, 7, 11}, {5, 7, 11} is converted into a normal numerical value, the result is 12 respectively. 162, 96, 327. As a result, only 12 which is the result of the arithmetic circuit with the remainder digits of {3, 5, 7} is within the non-redundant dynamic range. Therefore, 12 is regarded as a normal calculation result and output. Since the other combinations {3, 5, 11}, {3, 7, 11}, {5, 7, 11} exceed the non-redundant dynamic range and all include the modulus 11, Thus, it can be estimated that a failure has occurred in the remainder number multiplication circuit corresponding to 11 of the above.
[0094]
To expand the redundant dynamic range, increase the number of moduli, that is, increase the remainder digits, the more the number of modulo combinations, the higher the probability of obtaining correct results that fall within the non-redundant dynamic range, Increased reliability.
[0095]
FIG. 24 shows a configuration example of a signal processing circuit based on the redundant remainder number arithmetic circuit based on the above-described principle. These hardware are implemented on an FPGA. The signal processing circuits 23 a-1, 23 a-2, and 23 a-4 are configured by a remainder number arithmetic circuit corresponding to each method of the method set {3, 5, 7, 11}, and are used for modulation for digital wireless communication. Realize the demodulation algorithm. The conversion circuits 23b-1, 23b-2, 23b-3, and 23b-4 are supplied with outputs from the preceding signal processing circuits 23a-1, 23a-2, 23a-3, and 23a-4. The conversion circuits 23b-1, 23b-2, 23b-3, and 23b-4 include a set of moduli {3, 5, 7}, {3, 5, 11}, {3, 7, 11}, {5, 7 and 11} are respectively supplied with the output of the arithmetic circuit of the remainder digit, and the output of the arithmetic circuit is converted into a normal binary number system. The outputs of the conversion circuits 23b-1, 23b-2, 23b-3, and 23b-4 are 15 in the comparison circuits 23c-1, 23c-2, 23c-3, and 23c-4. To be compared.
[0096]
The comparison results of the comparison circuits 23c-1, 23c-2, 23c-3, and 23c-4 are supplied to the decoder 23d, and the decoder 23d selects a combination of methods that outputs a result smaller than the non-redundant dynamic range. Selection information is generated. The selection information is input to the multiplexer 23e. The multiplexer 23e is supplied with the outputs of the conversion circuits 23b-1, 23b-2, 23b-3, and 23b-4, and selectively outputs normal results converted into normal binary numbers. If all the legal combinations are equal to or greater than the non-redundant dynamic range, the decoder 23d outputs a retransmission request signal to the base station.
[0097]
In FIG. 24, if the wireless download function of the software defined radio communication system is taken into account, the configuration data of the signal processing circuits 23a-1, 23a-2, 23a-3, 23a-4 is transmitted via wireless. On the other hand, a conversion circuit (20b-1, 20b-2,..., 20b-N) for converting a normal binary number to a residue number system, and a conversion circuit 23b-1, which performs failure detection and result selection 23b-2, 23b-3, 23b-4, comparison circuits 23c-1, 23c-2, 23c-3, 23c-4, decoder 23d, and multiplexer 23c are allowed to contain bit errors. Not. These configuration data are supplied from a configuration database inside the portable radio communication terminal, not via radio.
[0098]
FIG. 25 shows the configuration of a software defined radio communication system based on this design concept. Reference numeral 24a is an antenna for receiving a modulated wave that transmits configuration data. Reference numeral 24b is a wireless device for receiving configuration data. The antenna 24a and the radio 24b mainly receive and demodulate the configuration data of the signal processing circuit in FIG. It also makes a transmission request for necessary configuration data.
[0099]
Reference numeral 24c is a configuration database, which stores configuration data of a conversion circuit and a comparison circuit for detecting a failure as described with reference to FIG. The demodulated configuration data and the configuration data output from the database are supplied to the combination of the configuration data and the generator 24d to generate the entire configuration data. The generated configuration data is supplied to the software defined radio 24e, and a radio that performs a desired communication method is reconfigured. Reference numeral 24f is an antenna for a software defined radio. After the reconfiguration, modulation / demodulation processing is performed on the user's information data for the software defined radio.
[0100]
A configuration example of the software defined radio communication device is shown in FIG. The signal having the center frequency fc received from the antenna passes through the antenna switch 25b and is input to the low noise amplifier 25j. In the reception mixer 25k, the oscillation frequency fl1 of the first local oscillator 25c is mixed and converted to the intermediate frequency fi. In the quadrature detector 25l, the intermediate frequency is quadrature detected at the frequency of the second local oscillator 25d of fl2 = fi and converted into analog baseband signals I and Q. The analog IQ signal is converted into a digital baseband signal ≡−D. Converted to Q-D.
[0101]
The configuration data demodulated externally is downloaded to the programmable baseband digital modulation unit 25v or the programmable baseband digital demodulation unit 25n. After the configuration data is downloaded, the output data ≡-D and Q-D of the A / D converter 25m are supplied to the programmable baseband digital demodulator 25n, and a desired demodulation process determined by the program is performed.
[0102]
When transmitting information bits, the modulated data bits are modulated with a desired modulation scheme by the programmable baseband digital modulator 25v. The output of the modulation unit 25v is a digital baseband signal ≡−D. Q-D is input to the D / A converter 25h. The D / A converter 25h converts the digital IQ signal into an analog signal. In the quadrature modulator 25g, quadrature modulation is performed at the oscillation frequency fl2 of the second local oscillator 25d, and converted to an intermediate frequency fl2 = fi. In the transmission mixer 25f, the frequency is converted to a frequency of fc = fl2 + fl1 at the frequency fl1 of the first local oscillator 25c. The power amplifier 25e amplifies the digital modulation signal to a predetermined transmission power. The amplified signal is finally sent to an external antenna via the antenna switch 25b.
[0103]
The redundancy of the redundant dynamic range is defined as (redundant dynamic range / non-redundant dynamic range). In a propagation environment in which bit errors are likely to occur in configuration data, reliability can be improved by increasing redundancy. Also, in a propagation environment in which errors are unlikely to occur, it is desirable that the redundancy is low from the viewpoint of configuration data transmission efficiency, circuit usage efficiency, and power consumption. Therefore, redundancy may be set adaptively based on the ratio (S / N) of signal power and noise power, which is the quality of a propagation path for wirelessly transmitting configuration data.
[0104]
A configuration diagram for realizing this is shown in FIG. Only differences from FIG. 25 will be described. After the S / N of the propagation path of the configuration data is measured by the S / N measuring device 26g, the redundancy is determined by the redundancy determining unit 26h from the value. The redundancy information is input to the configuration data download radio 26b, and the base station is requested to transmit the configuration data of the arithmetic circuit corresponding to the desired redundancy. The redundancy information is also input to the configuration database 26c, and configuration data for performing failure detection adapted to the redundancy is read out.
[0105]
An example of the S / N measurement unit 26g will be described. However, the RF unit and IF unit are omitted, and only the signal processing method of the baseband unit will be described. FIG. 28 is a block diagram illustrating a configuration example of the S / N measurement unit 26g. The S / N measurement unit includes an area determination unit 51, an S / N measurement circuit 52, an S / N measurement circuit 53, an S / N measurement circuit 54, an S / N measurement circuit 55, and an average calculation unit 56. Here, a case where the subcarrier modulation scheme is QPSK will be described. There are four QPSK signal points, and there are four effective areas on the complex plane. The S / N measurement circuit 52, the S / N measurement circuit 53, the S / N measurement circuit 54, and the S / N measurement circuit 55 correspond to the four areas, respectively.
[0106]
The region discriminating unit 51 discriminates a threshold value for each real part imaginary part of the complex number data, that is, discriminates which of the four regions mentioned above belongs, and outputs a data valid signal corresponding to this discrimination. .
[0107]
Data from the region determination unit 51 is input only to the S / N measurement circuit in which the data valid signal is activated. The activated S / N measurement circuit calculates and outputs an S / N measurement value corresponding to each region based on the input data. The average calculation unit 56 performs an averaging process on the S / N measurement values of the supplied regions and outputs the result.
[0108]
FIG. 29 is a block diagram illustrating a configuration of the area determination unit 51. The input signal is supplied to threshold value comparison circuits 61 and 62. The threshold comparison circuits 61 and 62 calculate to which region the input data belongs, express the calculation result by 2 bits, and output a signal corresponding to this expression. Specifically, a comparison is made with respect to a threshold value, that is, 0, and if the input is 0 or more, 1 is output, otherwise 0 is output.
[0109]
The decoder 63 outputs a data valid signal indicating which region data corresponds to based on the signals supplied from the threshold comparison circuit 61 and the threshold comparison circuit 62.
[0110]
FIG. 30 is a block diagram showing a configuration of the S / N measurement circuit 52. Input data is written in the memory 71. The accumulator 72 calculates and outputs the sum X1 of these data based on the data that is successively input. Note that the memory 71 and the accumulator 72 operate only when the data valid signal becomes active. That is, only when the data valid signal becomes active, the output data of the region discriminating unit 51 is input to the memory 71 and the accumulator 72. The counter 73 counts the number of data in one frame based on the input data valid signal.
[0111]
The output X1 of the accumulator 72 is input to the complex number divider 74. The complex divider 74 divides the output X1 of the accumulator 72 by the number of data Y1 output from the counter 73, calculates the average value X2 (= X1 / Y1), and calculates the absolute value of the square calculator 75 and the absolute difference. The value is output to the square calculator 76.
[0112]
The absolute value square computing unit 75 calculates the absolute value square X3 (= | X2 |) of the average value X2 from the average value X2 output from the complex number divider 74.2 ), That is, average power (average value of signal power) is calculated and output. The square calculator 76 of the absolute value of the difference is the square X4 of the absolute value of the difference between the average value X 2 output from the complex divider 74 and the data Y 2 read from the memory 71 (= | X 2 −Y 2 |2 ) Is calculated and output. The accumulator 77 calculates and outputs the sum X5 of these data based on the data output from the square calculator 76 of the absolute value.
[0113]
The divider 78 divides the output X5 from the accumulator 77 by the total number Y1 of data in one frame, and calculates and outputs a dispersion value, that is, an average noise power Y3 (= X5 / Y1) in the frame. The divider 79 divides the average power X3 by the average noise power Y3, and calculates and outputs an S / N measurement value (X3 / Y3).
[0114]
In the above description, the S / N measurement circuit 52 has been described as an example. However, the S / N measurement circuit 53, the S / N measurement circuit 54, and the S / N measurement circuit 55 have the same configuration, and the above-described processing. Similar processing is performed.
[0115]
In one embodiment of the present invention, if a value obtained from any combination of remainder digits does not fall within the non-redundant dynamic range, a correct processing result cannot be output, and a retransmission request signal is output from the decoder 23d in FIG. Is output. In this case, a new request is made to resend the configuration data of the remainder number arithmetic circuit for each remainder digit, the circuit is reconfigured on the area of the existing remainder number arithmetic circuit for each remainder digit, and the output of the reconfigured circuit is output. Including the dynamic range. There are two types of retransmission schemes in this case.
[0116]
The first method is a method for requesting at one time retransmission of configuration data of a remainder number arithmetic circuit for remainder digits corresponding to all the moduli. The flow of this method is shown in the flowchart of FIG. In FIG. 31, when a retransmission request signal is generated from the decoder 23d in step S1, all modulo = m are transmitted from the terminal device to the base station in step S2.1, M2 , ..., mN Is requested to retransmit the configuration data of the remainder number arithmetic circuit corresponding to.
[0117]
The second method is m with the smallest modulus.1 Starting from the request for resending the configuration data of the circuit, increase the value of the modulo in order until the operation result is smaller than the non-redundant dynamic range, and send a resend request for each configuration data of the remainder number arithmetic circuit of each residue digit repeat. The retransmitted configuration data is realized on the FPGA, and the operation result is compared with the non-redundant dynamic range. If the calculation result is smaller than the non-redundant dynamic range, the retransmission process is terminated. If it is greater than or equal to the non-redundant dynamic range, a request is made to retransmit the configuration data of the remainder number arithmetic circuit in a larger modulus.
[0118]
The flow of the second method is shown in the flowchart of FIG. In step S11, the variable i (1 to N) is set to 1 which is an initial value. In step S12, it is determined whether or not a retransmission request signal is output from the decoder 23d. If it is not output, the process ends.
[0119]
If it is determined that the retransmission request signal has been output, in step S13, the modulus mi(First, m1) Is required to retransmit the configuration data of the remainder number arithmetic circuit. In the next step S14, error bits are corrected by decoding the error correction code for the received configuration data, and the presence or absence of an error is checked by CRC for the corrected configuration data.
[0120]
In step S15, it is determined whether the inspection by the CRC is acceptable, that is, whether there is no error. If it is determined that there is an error, the process returns to the configuration data retransmission process in step S13. If it is determined that there is no error, m on the FPGAiThe remainder number arithmetic circuit corresponding to is replaced with a new circuit and operated.
[0121]
In step S17, it is determined whether or not a retransmission request signal is output from the decoder 23d. If no retransmission request signal is output, the process ends. If it is output, (i = N?) Is determined in step S18. If i has not reached N, i is incremented in step S19, and the process returns to step S13 (retransmission request). When N has reached i, (i = 1) is set in step S20, and the process returns to step S13 (retransmission request). Thus, m1 ~ MN Even if retransmission of the configuration data of the arithmetic circuit corresponding to all of the above methods is completed, the operation result does not become smaller than the non-redundant dynamic range, that is, the retransmission request signal may be output from the decoder 23d. M1 Start over.
[0122]
In the two methods described above, a failure is detected by checking whether or not the calculation result falls within the non-redundant dynamic range. Even if a signal processing circuit based on redundant remainder calculation corresponding to all the moduli is not realized once on the FPGA and a failure is not detected, bit error detection can be performed for each configuration data of the remainder computing circuit of each modulo. If the CRC is inserted and the CRC is inspected and it is clear that a bit error has occurred, it can be estimated that a failure has occurred in the circuit before implementation on the FPGA. At that time, the retransmission of the configuration data of the corresponding remainder number arithmetic circuit is requested.
[0123]
A frame format of such configuration data is shown in FIG. 27b-1 is a modulo m1 This is configuration data of the arithmetic circuit. The CRC 27a-1 is a CRC added to the configuration data. Hereinafter, the same CRC (27a-2,..., 27a-N) is added to each configuration data (27b-2,..., 27b-N) of the remainder number arithmetic circuit of each method. The bit sequence including the CRC is encoded with an error correction code. The encoding is performed for all the configuration data at once, or the error correction code is encoded for each configuration data of the arithmetic circuit of CRCi and modulus = mi. By decoding the error correction code, an error that can be corrected is corrected by the correction capability of the code. An uncorrectable error cannot be corrected, and an error flag or the like indicates that there is an error.
[0124]
After correction of error bits by decoding of such an error correction code, a check using CRC1 results in m1 If a bit error occurs in the configuration data of the remainder number arithmetic circuit, it means that a failure has occurred in the circuit. It is possible, but with a low probability, that an error is detected by CRC after correcting the error bit. In this case, it is not necessary to implement a remainder number arithmetic circuit on the FPGA, just as an uncorrectable error is determined by the error correction code. Only the retransmission of the configuration data of the remainder number arithmetic circuit corresponding to the method in which the error is detected by the CRC is requested.
[0125]
A flowchart of this process is shown in FIG. In step S31, the variable i (= 1 to N) is set to the initial value 1. In step S32, configuration data is received and error correction is performed using an error correction code. If the error can be corrected, the CRC1 checks in step S33. In step S34, it is determined whether the inspection has passed. If no error can be detected by CRC1, it is assumed that the inspection has passed. In step S35, modulo = m1Are implemented on the FPGA.
[0126]
In step S36, (i = N?) Is determined. If i has not reached N, i is incremented in step S37, and the process returns to the process of step S33 (inspection of errors using CRCi). In the case of i = 1, i = 2 is set, and the same processing is performed on CRC2. Thereafter, the process is repeated until i = N, and when N reaches i, the process ends.
[0127]
If the configuration data fails in the CRC check in step S34, m in step S38.1 Only the configuration data of the remainder number arithmetic circuit is requested to be retransmitted. In step S39, the retransmitted modulus = m1 The configuration data of the remainder number arithmetic circuit is received, and error bits are corrected by decoding the error correction code. Then, the process returns to step S33 (inspection using CRCi). Although omitted in FIG. 34, when the error cannot be corrected by the error correction code, retransmission of the configuration data is requested.
[0128]
Furthermore, the dynamic range of the signal processing circuit of the software defined radio can be easily reset via radio by utilizing the independence of the remainder digits in the remainder number calculation. The terminal station requests the base station to transmit only the configuration data of the remainder number arithmetic circuit corresponding to the modulus corresponding only to the increase in the dynamic range. In this case, the restriction on the layout arrangement position of the increased signal processing circuit does not depend on the layout arrangement position of the signal processing circuit that has already been realized, rather than the normal binary arithmetic circuit, because of the independence of the remainder digits. The conversion circuit for converting from the numerical representation by binary number to the numerical representation by remainder, the inspection for the operation result, and the selection circuit for the result are performed by setting the value of the modulus, the number, etc. It is assumed that configuration data of a circuit having a desired function is read from a local database and supplied to the FPGA.
[0129]
FIG. 35 shows an example of a layout configuration diagram realized on the FPGA. Reference numeral 31d is an FPGA chip. Reference numerals 31 a-1, 31 a-2, 31 a-3, and 31 a-4 are conversion circuits that convert normal binary numbers that have already been realized into a residue number system, and reference numerals 31 b-1, 31 b-2, Reference numerals 31b-3 and 31b-4 denote signal processing units using a remainder number arithmetic circuit that has already been realized. Reference numeral 31c is a circuit that converts four types of remainder numbers into normal binary numbers and selects a correct result, and is assumed to have already been realized.
[0130]
In order to improve the calculation accuracy, when the dynamic range is changed, for example, it is increased by a factor of 13, the arithmetic circuit 31b-5 having a modulus of 13 may be added. In addition, a conversion circuit 31a-5 for converting a normal binary number to a remainder number of 13 is converted from a normal binary number, and the remainder number system considering the new number 13 is converted to a normal binary number system. It is necessary to change the conversion circuit 31c in order to select a correct calculation result.
[0131]
The conversion circuit 31a-5 and the conversion circuit 31c are read from the configuration database 24-c (FIG. 25) or 26-c (FIG. 27) of the terminal device and realized on the FPGA, or these If it is designed as a programmable circuit, it can be applied to a newly added arithmetic circuit only by changing setting signals such as the value of the modulus and the number of methods.
[0132]
The present invention is not limited to the above-described embodiment of the present invention, and various modifications and applications can be made without departing from the gist of the present invention. For example, as a programmable logic circuit, a microprocessor (or DSP) may be used in addition to the FPGA. As the error detection code, a code such as simple parity other than CRC may be used. In addition, the present invention is not limited to a terminal device, and the present invention is also applied to a base station device in a wireless communication system, a broadcast relay device attached to a satellite or a flying object, as in the case of a terminal device. can do.
[0133]
【The invention's effect】
As described above, according to the present invention, it is possible to eliminate the influence of a circuit failure caused by a bit error generated in the FPGA configuration data due to noise in the wireless transmission path. Further, even if a circuit failure is serious and a correct result cannot be output, according to the present invention, circuit configuration can be efficiently reconfigured by resending the configuration data of the remainder number arithmetic circuit for each modulus. It becomes possible. Furthermore, if the redundancy of the redundant remainder arithmetic circuit is large, the FPGA hardware may be wasted. However, the present invention adaptively sets the redundancy according to the S / N of the transmission path. Thus, an arithmetic circuit having an optimal redundancy can be efficiently realized on the FPGA. Furthermore, according to the present invention, the dynamic range can be easily increased by newly adding a remainder arithmetic circuit of the signal processing circuit.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an example of a software defined radio apparatus according to the prior art.
FIG. 2 is a schematic diagram illustrating a configuration example of a packet of a link that wirelessly downloads software for a software radio communication system and a configuration example of a packet of a link that transmits information data;
FIG. 3 is a schematic diagram illustrating a configuration example of a link (uplink) packet transmitted from a terminal station to a base station by a modulation unit in which software is downloaded;
FIG. 4 is a schematic diagram illustrating an example of packet retransmission processing in a software defined radio communication system.
FIG. 5 is a block diagram illustrating a configuration example of an OFDM demodulator for MMAC.
FIG. 6 is a block diagram illustrating a configuration example of a spread spectrum demodulation unit for WCDMA.
FIG. 7 is a block diagram illustrating a configuration example of a 9-bit adder designed with an FPGA LUT and CL.
FIG. 8 is a schematic diagram illustrating a configuration example of a 3 × 2 bit multiplier designed by using an FPGA LUT and CL.
FIG. 9 is a block diagram showing a configuration example of an arithmetic circuit designed by an LUT based on a truth table.
FIG. 10 is a schematic diagram illustrating an internal configuration of an example of an FPGA.
FIG. 11 is a block diagram illustrating an internal configuration of an example of a CLB.
FIG. 12 is a schematic diagram illustrating a configuration of an example of CB.
FIG. 13 is a schematic diagram illustrating a configuration of an example of SB.
FIG. 14 is a schematic diagram showing an example FPGA layout when a certain logic circuit is realized on an FPGA;
FIG. 15 is a block diagram showing an outline of a layout of an arithmetic circuit using normal binary arithmetic;
FIG. 16 is a block diagram showing an outline of a layout when the calculation accuracy is extended in an arithmetic circuit using normal binary number arithmetic.
FIG. 17 is a schematic diagram used for explanation of a remainder number calculation.
FIG. 18 is a block diagram for comparing layout scales of circuits for realizing the same dynamic range.
FIG. 19 is a block diagram showing a layout of a configuration using a remainder number arithmetic circuit.
FIG. 20 is a block diagram showing a layout of a configuration using a normal binary arithmetic circuit.
FIG. 21 is a block diagram illustrating a configuration example of a signal processing system using a remainder number arithmetic circuit.
FIG. 22 is a schematic diagram illustrating an example of numerical conversion from a residue number system to a normal binary number system.
FIG. 23 is a schematic diagram illustrating an example of a redundant remainder number calculation and a layout of an arithmetic circuit.
FIG. 24 is a block diagram showing a configuration of an example of a signal processing circuit based on a redundant remainder number calculation.
FIG. 25 is a block diagram showing a configuration of an example of a software defined radio communication system based on a redundant remainder number calculation.
FIG. 26 is a block diagram illustrating an exemplary configuration of a software defined radio.
FIG. 27 is a block diagram illustrating a configuration example of a software defined radio that adaptively varies redundancy.
FIG. 28 is a block diagram illustrating a configuration of an example of an S / N measurement unit.
FIG. 29 is a block diagram for explaining an S / N measurement unit;
FIG. 30 is a block diagram for explaining an S / N measurement unit;
FIG. 31 is a flowchart illustrating configuration data batch retransmission processing;
FIG. 32 is a flowchart for describing configuration data division retransmission processing;
FIG. 33 is a schematic diagram illustrating an example of a frame format of configuration data.
FIG. 34 is a flowchart for explaining retransmission processing when a CRC is added for each remainder digit.
FIG. 35 is a schematic diagram illustrating a layout configuration example on an FPGA chip;
[Explanation of symbols]
23a-1, 23a-2, 23a-4... Signal processing circuit composed of remainder number arithmetic circuits corresponding to each method of the method set {3, 5, 7, 11}, 23b-1, 23b- 2, 23b-3, 23b-4... Conversion circuit that converts combinations of different outputs of the remainder digit arithmetic circuit into binary numbers, 23c-1, 23c-2, 23c-3, 23c-4... Conversion Comparison circuit for comparing the output of the circuit with the value of the non-redundant dynamic range, 23d... Decoder for generating selection information for selecting a combination of methods for outputting a result smaller than the non-redundant dynamic range, 23e. , A multiplexer for selecting the output of the conversion circuit according to FIG. 24b, a radio for receiving configuration data, 24c, a configuration database, 24e,. Software radio, 26g ··· S / N measuring instrument, 26h · · · redundancy determining section

Claims (19)

ハードウェアの一部または全部がプログラム可能な論理回路で構成され、論理回路に対するプログラムデータによって、所望の無線通信方式を実現するようにした端末装置において、
受信されたプログラムデータによって、剰余桁毎に構成されると共に、ダイナミックレンジが冗長である剰余数演算手段と、
上記剰余数演算手段の異なる剰余桁の組み合わせを生成し、生成された組み合わせの演算結果を2進数に変換する複数の変換手段と、
複数の上記変換手段の出力が非冗長のダイナミックレンジを超えるか否かを判定する判定手段と、
上記判定手段の判定結果に応答して、上記非冗長のダイナミックレンジを超えない場合の剰余桁の組み合わせを、正しい演算結果として選択的に出力する選択手段とを備え、
上記剰余桁の全ての組み合わせの演算結果を変換した2進数の何れの値も非冗長ダイナミックレンジを超えるならば、最小の法から各法に対応する剰余桁毎にプログラムデータの再送を要求し、
演算結果が非冗長ダイナミックレンジを超えなくなった時点で、正しい結果が出力可能とみなして、プログラムデータの再送要求を中止する端末装置。
In a terminal device in which a part or all of hardware is configured by a programmable logic circuit, and a desired wireless communication system is realized by program data for the logic circuit.
A remainder number calculating means that is configured for each remainder digit by the received program data and has a redundant dynamic range;
A plurality of conversion means for generating different remainder digit combinations of the remainder number calculating means and converting the operation result of the generated combination into a binary number;
Determining means for determining whether the outputs of the plurality of converting means exceed a non-redundant dynamic range;
In response to the determination result of the determination means, comprising a selection means for selectively outputting a combination of remainder digits when not exceeding the non-redundant dynamic range as a correct calculation result,
If any binary value obtained by converting the calculation result of all combinations of the remainder digits exceeds the non-redundant dynamic range, the program data is requested to be retransmitted for each remainder digit corresponding to each method from the minimum method.
A terminal device that considers that a correct result can be output when an operation result does not exceed the non-redundant dynamic range, and cancels a program data retransmission request.
請求項1において、
上記プログラムデータを伝送する伝搬路の状態が悪い場合は、上記剰余数演算手段のダイナミックレンジの冗長度を高め、一方、伝搬路の状態が良い場合は、上記剰余数演算手段のダイナミックレンジの冗長度を低める端末装置。
Oite to claim 1,
When the state of the propagation path for transmitting the program data is poor, the redundancy of the dynamic range of the remainder number calculating means is increased. On the other hand, when the state of the propagation path is good, the redundancy of the dynamic range of the remainder number calculating means is increased. Terminal equipment that lowers the degree.
請求項において、
伝搬路の信号電力と雑音電力の比であるS/Nが低い場合はダイナミックレンジの冗長度を高め、一方、S/Nが高い場合は冗長度を低めるように、適応的に決定する端末装置。
In claim 2 ,
A terminal apparatus that adaptively determines to increase the redundancy of the dynamic range when the S / N, which is the ratio of the signal power to the noise power of the propagation path, is low, and to decrease the redundancy when the S / N is high. .
請求項1において、
信頼性が要求される部分のプログラムデータがローカルのデータベースに格納され、頻繁に機能を変更する部分のプログラムデータが無線伝送される端末装置。
Oite to claim 1,
A terminal device in which program data of a portion requiring reliability is stored in a local database, and program data of a portion whose function is frequently changed is wirelessly transmitted.
請求項1において、
論理回路がFPGAであり、上記プログラムデータがコンフィギュレーションデータである端末装置。
Oite to claim 1,
A terminal device in which a logic circuit is an FPGA and the program data is configuration data.
ハードウェアの一部または全部がプログラム可能な論理回路で構成され、論理回路に対するプログラムデータによって、所望の無線通信方式を実現するようにした基地局装置において、
受信されたプログラムデータによって、剰余桁毎に構成されると共に、ダイナミックレンジが冗長である剰余数演算手段と、
上記剰余数演算手段の異なる剰余桁の組み合わせを生成し、生成された組み合わせの演算結果を2進数に変換する複数の変換手段と、
複数の上記変換手段の出力が非冗長のダイナミックレンジを超えるか否かを判定する判定手段と、
上記判定手段の判定結果に応答して、上記非冗長のダイナミックレンジを超えない場合の剰余桁の組み合わせを、正しい演算結果として選択的に出力する選択手段とを備え、
上記剰余桁の全ての組み合わせの演算結果を変換した2進数の何れの値も非冗長ダイナミックレンジを超えるならば、最小の法から各法に対応する剰余桁毎にプログラムデータの再送を要求し、
演算結果が非冗長ダイナミックレンジを超えなくなった時点で、正しい結果が出力可能とみなして、プログラムデータの再送要求を中止する基地局装置。
In a base station apparatus in which a part or all of hardware is configured by a programmable logic circuit, and a desired wireless communication system is realized by program data for the logic circuit.
A remainder number calculating means that is configured for each remainder digit by the received program data and has a redundant dynamic range;
A plurality of conversion means for generating different remainder digit combinations of the remainder number calculating means and converting the operation result of the generated combination into a binary number;
Determining means for determining whether the outputs of the plurality of converting means exceed a non-redundant dynamic range;
In response to the determination result of the determination means, comprising a selection means for selectively outputting a combination of remainder digits when not exceeding the non-redundant dynamic range as a correct calculation result,
If any binary value obtained by converting the calculation result of all combinations of the remainder digits exceeds the non-redundant dynamic range, the program data is requested to be retransmitted for each remainder digit corresponding to each method from the minimum method.
A base station apparatus that considers that a correct result can be output when an operation result does not exceed the non-redundant dynamic range, and cancels a retransmission request for program data.
請求項6において、
上記プログラムデータを伝送する伝搬路の状態が悪い場合は、上記剰余数演算手段のダイナミックレンジの冗長度を高め、一方、伝搬路の状態が良い場合は、上記剰余数演算手段のダイナミックレンジの冗長度を低める基地局装置。
Oite to claim 6,
When the state of the propagation path for transmitting the program data is poor, the redundancy of the dynamic range of the remainder number calculating means is increased. On the other hand, when the state of the propagation path is good, the redundancy of the dynamic range of the remainder number calculating means is increased. Base station equipment that lowers the degree.
請求項において、
伝搬路の信号電力と雑音電力の比であるS/Nが低い場合はダイナミックレンジの冗長度を高め、一方、S/Nが高い場合は冗長度を低めるように、適応的に決定する基地局装置。
In claim 7 ,
A base station that adaptively determines to increase the redundancy of the dynamic range when the S / N, which is the ratio of the signal power to the noise power of the propagation path, is low, while decreasing the redundancy when the S / N is high. apparatus.
請求項において、
信頼性が要求される部分のプログラムデータがローカルのデータベースに格納され、頻繁に機能を変更する部分のプログラムデータが無線伝送される基地局装置。
In claim 6 ,
A base station apparatus in which program data of a portion requiring reliability is stored in a local database, and program data of a portion whose function is frequently changed is wirelessly transmitted.
請求項において、
論理回路がFPGAであり、上記プログラムデータがコンフィギュレーションデータである基地局装置。
In claim 6 ,
A base station apparatus in which a logic circuit is an FPGA and the program data is configuration data.
ハードウェアの一部または全部がプログラム可能な論理回路で構成され、論理回路に対するプログラムデータによって、所望の放送方式を実現するようにした中継装置において、
受信されたプログラムデータによって、剰余桁毎に構成されると共に、ダイナミックレンジが冗長である剰余数演算手段と、
上記剰余数演算手段の異なる剰余桁の組み合わせを生成し、生成された組み合わせの演算結果を2進数に変換する複数の変換手段と、
複数の上記変換手段の出力が非冗長のダイナミックレンジを超えるか否かを判定する判定手段と、
上記判定手段の判定結果に応答して、上記非冗長のダイナミックレンジを超えない場合の剰余桁の組み合わせを、正しい演算結果として選択的に出力する選択手段とを備え、
上記剰余桁の全ての組み合わせの演算結果を変換した2進数の何れの値も非冗長ダイナミックレンジを超えるならば、最小の法から各法に対応する剰余桁毎にプログラムデータの再送を要求し、
演算結果が非冗長ダイナミックレンジを超えなくなった時点で、正しい結果が出力可能とみなして、プログラムデータの再送要求を中止する中継装置。
In a relay device in which a part or all of hardware is configured by a programmable logic circuit, and a desired broadcasting system is realized by program data for the logic circuit.
A remainder number calculating means that is configured for each remainder digit by the received program data and has a redundant dynamic range;
A plurality of conversion means for generating different remainder digit combinations of the remainder number calculating means and converting the operation result of the generated combination into a binary number;
Determining means for determining whether the outputs of the plurality of converting means exceed a non-redundant dynamic range;
In response to the determination result of the determination means, comprising a selection means for selectively outputting a combination of remainder digits when not exceeding the non-redundant dynamic range as a correct calculation result,
If any binary value obtained by converting the calculation result of all combinations of the remainder digits exceeds the non-redundant dynamic range, the program data is requested to be retransmitted for each remainder digit corresponding to each method from the minimum method.
A relay device that cancels a retransmission request for program data, assuming that the correct result can be output when the calculation result does not exceed the non-redundant dynamic range.
請求項11において、
上記プログラムデータを伝送する伝搬路の状態が悪い場合は、上記剰余数演算手段のダイナミックレンジの冗長度を高め、一方、伝搬路の状態が良い場合は、上記剰余数演算手段のダイナミックレンジの冗長度を低める中継装置。
In claim 11 ,
When the state of the propagation path for transmitting the program data is poor, the redundancy of the dynamic range of the remainder number calculating means is increased. On the other hand, when the state of the propagation path is good, the redundancy of the dynamic range of the remainder number calculating means is increased. A relay device that lowers the degree.
請求項12において、
伝搬路の信号電力と雑音電力の比であるS/Nが低い場合はダイナミックレンジの冗長度を高め、一方、S/Nが高い場合は冗長度を低めるように、適応的に決定する中継装置。
In claim 12 ,
A relay apparatus that adaptively determines the redundancy of the dynamic range when the S / N, which is the ratio of the signal power to the noise power of the propagation path, is low, while decreasing the redundancy when the S / N is high. .
請求項11において、
信頼性が要求される部分のプログラムデータがローカルのデータベースに格納され、頻繁に機能を変更する部分のプログラムデータが無線伝送される中継装置。
In claim 11 ,
A relay device in which program data of a portion requiring reliability is stored in a local database, and program data of a portion whose function is frequently changed is wirelessly transmitted.
請求項11において、
論理回路がFPGAであり、上記プログラムデータがコンフィギュレーションデータである中継装置。
In claim 11 ,
A relay device in which a logic circuit is an FPGA and the program data is configuration data.
ハードウェアの一部または全部がプログラム可能な論理回路で構成され、論理回路に対するプログラムデータによって、所望の無線通信方式または所望の放送方式を実現するようにした通信方法において、
プログラムデータを受信する受信ステップと、
受信されたプログラムデータによって、剰余桁毎に構成されると共に、ダイナミックレンジが冗長である剰余数演算手段を構成するステップと、
上記剰余数演算手段の異なる剰余桁の組み合わせを生成し、生成された組み合わせの演算結果を2進数に変換する変換ステップと、
変換された演算結果が非冗長のダイナミックレンジを超えるか否かを判定する判定ステップと、
上記非冗長のダイナミックレンジを超えない場合の剰余桁の組み合わせを、正しい演算結果として選択的に出力する選択ステップとを有し、
上記剰余桁の全ての組み合わせの演算結果を変換した2進数の何れの値も非冗長ダイナミックレンジを超えるならば、最小の法から各法に対応する剰余桁毎にプログラムデータの再送を要求し、
演算結果が非冗長ダイナミックレンジを超えなくなった時点で、正しい結果が出力可能とみなして、プログラムデータの再送要求を中止する通信方法。
In a communication method in which a part or all of hardware is configured by a programmable logic circuit, and a desired wireless communication system or a desired broadcast system is realized by program data for the logic circuit.
A receiving step for receiving program data;
A step of configuring a remainder number calculating means that is configured for each remainder digit by the received program data and has a dynamic range that is redundant;
A conversion step of generating a combination of different remainder digits of the remainder number calculating means, and converting a calculation result of the generated combination into a binary number;
A determination step for determining whether or not the converted operation result exceeds a non-redundant dynamic range;
A selection step of selectively outputting a combination of remainder digits when not exceeding the non-redundant dynamic range as a correct calculation result;
If any binary value obtained by converting the calculation result of all combinations of the remainder digits exceeds the non-redundant dynamic range, the program data is requested to be retransmitted for each remainder digit corresponding to each method from the minimum method.
A communication method in which when a calculation result does not exceed the non-redundant dynamic range, it is assumed that a correct result can be output, and a retransmission request for program data is canceled.
請求項16において、
上記プログラムデータを伝送する伝搬路の状態が悪い場合は、上記剰余数演算手段のダイナミックレンジの冗長度を高め、一方、伝搬路の状態が良い場合は、上記剰余数演算手段のダイナミックレンジの冗長度を低める通信方法。
In claim 16 ,
When the state of the propagation path for transmitting the program data is poor, the redundancy of the dynamic range of the remainder number calculating means is increased. On the other hand, when the state of the propagation path is good, the redundancy of the dynamic range of the remainder number calculating means is increased. Communication method to reduce the degree.
請求項17において、
伝搬路の信号電力と雑音電力の比であるS/Nが低い場合はダイナミックレンジの冗長度を高め、一方、S/Nが高い場合は冗長度を低めるように、適応的に決定する通信方法。
In claim 17 ,
A communication method that adaptively determines to increase the redundancy of the dynamic range when the S / N, which is the ratio of the signal power to the noise power of the propagation path, is low, and to decrease the redundancy when the S / N is high. .
請求項16において、
信頼性が要求される部分のプログラムデータがローカルのデータベースに格納され、頻繁に機能を変更する部分のプログラムデータが無線伝送される通信方法。
In claim 16 ,
A communication method in which program data of a portion requiring reliability is stored in a local database, and program data of a portion whose function is frequently changed is wirelessly transmitted.
JP2001256533A 2001-08-27 2001-08-27 Terminal device, base station device, relay device, and communication method Expired - Lifetime JP4806765B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001256533A JP4806765B2 (en) 2001-08-27 2001-08-27 Terminal device, base station device, relay device, and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001256533A JP4806765B2 (en) 2001-08-27 2001-08-27 Terminal device, base station device, relay device, and communication method

Publications (2)

Publication Number Publication Date
JP2003069656A JP2003069656A (en) 2003-03-07
JP4806765B2 true JP4806765B2 (en) 2011-11-02

Family

ID=19084335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001256533A Expired - Lifetime JP4806765B2 (en) 2001-08-27 2001-08-27 Terminal device, base station device, relay device, and communication method

Country Status (1)

Country Link
JP (1) JP4806765B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3828892B2 (en) * 2003-03-19 2006-10-04 日本電波工業株式会社 High frequency radio
US8577299B2 (en) * 2004-06-04 2013-11-05 Qualcomm Incorporated Wireless communication system with configurable cyclic prefix length
JP4559192B2 (en) * 2004-11-08 2010-10-06 株式会社日立国際電気 Software defined radio
US8811204B2 (en) 2008-07-31 2014-08-19 Sanyo Electric Co,. Ltd. Notifying method, and access control device
JP5460825B2 (en) * 2012-11-09 2014-04-02 パナソニック株式会社 Transmission method and access control apparatus
JP5842114B2 (en) * 2013-09-05 2016-01-13 パナソニックIpマネジメント株式会社 Terminal device and communication method
EP4009542A1 (en) * 2020-12-02 2022-06-08 Rohde & Schwarz GmbH & Co. KG Modulation system and modulation method for modulating a satellite uplink signal

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001217858A (en) * 2000-02-02 2001-08-10 Matsushita Electric Ind Co Ltd Multimode radio communication system
JP3878385B2 (en) * 2000-02-18 2007-02-07 三菱電機株式会社 Wireless communication apparatus, wireless communication method, receiver, and transmitter

Also Published As

Publication number Publication date
JP2003069656A (en) 2003-03-07

Similar Documents

Publication Publication Date Title
JP7122614B2 (en) Transmission method and transmission device
JP7072542B2 (en) Transmission method, reception method, transmitter, receiver
US7178080B2 (en) Hardware-efficient low density parity check code for digital communications
US7506238B2 (en) Simplified LDPC encoding for digital communications
TWI270261B (en) Communication system, transmitter and receiver
US7162684B2 (en) Efficient encoder for low-density-parity-check codes
EP3264651A1 (en) Polar code hybrid automatic retransmission request method and device
JP4806765B2 (en) Terminal device, base station device, relay device, and communication method
CN108886418B (en) Receiving apparatus and receiving method
JP4654426B2 (en) Wireless communication apparatus, program transmission apparatus and method, and wireless communication system
KR102170785B1 (en) Multi-bit partial sum network device for parallel SC decoder
JP2002261723A (en) Terminal station apparatus for use in radio communication, base station apparatus for radio communication and radio communication system
Joseph et al. FPGA based realization of OFDM transceiver system for Software Defined Radio
JP2019510402A (en) Information transmission method, apparatus and communication system applied to non-orthogonal multiple access
Karpe et al. Reconfiguration challenges & design techniques in software defined radio
Deep et al. FPGA implementation of multi-standard wireless transceiver via dynamic partial reconfiguration
CN115499275A (en) Communication method and device
Honda et al. Design of fault-tolerant digital filters based on redundant residue number arithmetic for over-the-air reconfiguration in software radio communication systems
DANIEL et al. VHDL Implementation of All Digital OFDM Modulator and Demodulator for FPGA Based Applications
Leinonen et al. IST-4-027756 WINNER II D6. 12.2 v1. 0 Report on validation and implementation of WINNER physical layer

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050516

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110509

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

R155 Notification before disposition of declining of application

Free format text: JAPANESE INTERMEDIATE CODE: R155

R150 Certificate of patent or registration of utility model

Ref document number: 4806765

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term