(57)【特許請求の範囲】
【請求項１】
ハードウェアの一部または全部がプログラム可能な論理回路で構成され、論理回路に対するプログラムデータによって、所望の無線通信方式を実現するようにした端末装置において、
受信されたプログラムデータによって、剰余桁毎に構成されると共に、ダイナミックレンジが冗長である剰余数演算手段と、
上記剰余数演算手段の異なる剰余桁の組み合わせを生成し、生成された組み合わせの演算結果を２進数に変換する複数の変換手段と、
複数の上記変換手段の出力が非冗長のダイナミックレンジを超えるか否かを判定する判定手段と、
上記判定手段の判定結果に応答して、上記非冗長のダイナミックレンジを超えない場合の剰余桁の組み合わせを、正しい演算結果として選択的に出力する選択手段とを備え、
上記剰余桁の全ての組み合わせの演算結果を変換した２進数の何れの値も非冗長ダイナミックレンジを超えるならば、最小の法から各法に対応する剰余桁毎にプログラムデータの再送を要求し、
演算結果が非冗長ダイナミックレンジを超えなくなった時点で、正しい結果が出力可能とみなして、プログラムデータの再送要求を中止する端末装置。
【請求項２】
請求項１において、
上記プログラムデータを伝送する伝搬路の状態が悪い場合は、上記剰余数演算手段のダイナミックレンジの冗長度を高め、一方、伝搬路の状態が良い場合は、上記剰余数演算手段のダイナミックレンジの冗長度を低める端末装置。
【請求項３】
請求項２において、
伝搬路の信号電力と雑音電力の比であるＳ／Ｎが低い場合はダイナミックレンジの冗長度を高め、一方、Ｓ／Ｎが高い場合は冗長度を低めるように、適応的に決定する端末装置。
【請求項４】
請求項１において、
信頼性が要求される部分のプログラムデータがローカルのデータベースに格納され、頻繁に機能を変更する部分のプログラムデータが無線伝送される端末装置。
【請求項５】
請求項１において、
論理回路がＦＰＧＡであり、上記プログラムデータがコンフィギュレーションデータである端末装置。
【請求項６】
ハードウェアの一部または全部がプログラム可能な論理回路で構成され、論理回路に対するプログラムデータによって、所望の無線通信方式を実現するようにした基地局装置において、
受信されたプログラムデータによって、剰余桁毎に構成されると共に、ダイナミックレンジが冗長である剰余数演算手段と、
上記剰余数演算手段の異なる剰余桁の組み合わせを生成し、生成された組み合わせの演算結果を２進数に変換する複数の変換手段と、
複数の上記変換手段の出力が非冗長のダイナミックレンジを超えるか否かを判定する判定手段と、
上記判定手段の判定結果に応答して、上記非冗長のダイナミックレンジを超えない場合の剰余桁の組み合わせを、正しい演算結果として選択的に出力する選択手段とを備え、
上記剰余桁の全ての組み合わせの演算結果を変換した２進数の何れの値も非冗長ダイナミックレンジを超えるならば、最小の法から各法に対応する剰余桁毎にプログラムデータの再送を要求し、
演算結果が非冗長ダイナミックレンジを超えなくなった時点で、正しい結果が出力可能とみなして、プログラムデータの再送要求を中止する基地局装置。
【請求項７】
請求項６において、
上記プログラムデータを伝送する伝搬路の状態が悪い場合は、上記剰余数演算手段のダイナミックレンジの冗長度を高め、一方、伝搬路の状態が良い場合は、上記剰余数演算手段のダイナミックレンジの冗長度を低める基地局装置。
【請求項８】
請求項７において、
伝搬路の信号電力と雑音電力の比であるＳ／Ｎが低い場合はダイナミックレンジの冗長度を高め、一方、Ｓ／Ｎが高い場合は冗長度を低めるように、適応的に決定する基地局装置。
【請求項９】
請求項６において、
信頼性が要求される部分のプログラムデータがローカルのデータベースに格納され、頻繁に機能を変更する部分のプログラムデータが無線伝送される基地局装置。
【請求項１０】
請求項６において、
論理回路がＦＰＧＡであり、上記プログラムデータがコンフィギュレーションデータである基地局装置。
【請求項１１】
ハードウェアの一部または全部がプログラム可能な論理回路で構成され、論理回路に対するプログラムデータによって、所望の放送方式を実現するようにした中継装置において、
受信されたプログラムデータによって、剰余桁毎に構成されると共に、ダイナミックレンジが冗長である剰余数演算手段と、
上記剰余数演算手段の異なる剰余桁の組み合わせを生成し、生成された組み合わせの演算結果を２進数に変換する複数の変換手段と、
複数の上記変換手段の出力が非冗長のダイナミックレンジを超えるか否かを判定する判定手段と、
上記判定手段の判定結果に応答して、上記非冗長のダイナミックレンジを超えない場合の剰余桁の組み合わせを、正しい演算結果として選択的に出力する選択手段とを備え、
上記剰余桁の全ての組み合わせの演算結果を変換した２進数の何れの値も非冗長ダイナミックレンジを超えるならば、最小の法から各法に対応する剰余桁毎にプログラムデータの再送を要求し、
演算結果が非冗長ダイナミックレンジを超えなくなった時点で、正しい結果が出力可能とみなして、プログラムデータの再送要求を中止する中継装置。
【請求項１２】
請求項１１において、
上記プログラムデータを伝送する伝搬路の状態が悪い場合は、上記剰余数演算手段のダイナミックレンジの冗長度を高め、一方、伝搬路の状態が良い場合は、上記剰余数演算手段のダイナミックレンジの冗長度を低める中継装置。
【請求項１３】
請求項１２において、
伝搬路の信号電力と雑音電力の比であるＳ／Ｎが低い場合はダイナミックレンジの冗長度を高め、一方、Ｓ／Ｎが高い場合は冗長度を低めるように、適応的に決定する中継装置。
【請求項１４】
請求項１１において、
信頼性が要求される部分のプログラムデータがローカルのデータベースに格納され、頻繁に機能を変更する部分のプログラムデータが無線伝送される中継装置。
【請求項１５】
請求項１１において、
論理回路がＦＰＧＡであり、上記プログラムデータがコンフィギュレーションデータである中継装置。
【請求項１６】
ハードウェアの一部または全部がプログラム可能な論理回路で構成され、論理回路に対するプログラムデータによって、所望の無線通信方式または所望の放送方式を実現するようにした通信方法において、
プログラムデータを受信する受信ステップと、
受信されたプログラムデータによって、剰余桁毎に構成されると共に、ダイナミックレンジが冗長である剰余数演算手段を構成するステップと、
上記剰余数演算手段の異なる剰余桁の組み合わせを生成し、生成された組み合わせの演算結果を２進数に変換する変換ステップと、
変換された演算結果が非冗長のダイナミックレンジを超えるか否かを判定する判定ステップと、
上記非冗長のダイナミックレンジを超えない場合の剰余桁の組み合わせを、正しい演算結果として選択的に出力する選択ステップとを有し、
上記剰余桁の全ての組み合わせの演算結果を変換した２進数の何れの値も非冗長ダイナミックレンジを超えるならば、最小の法から各法に対応する剰余桁毎にプログラムデータの再送を要求し、
演算結果が非冗長ダイナミックレンジを超えなくなった時点で、正しい結果が出力可能とみなして、プログラムデータの再送要求を中止する通信方法。
【請求項１７】
請求項１６において、
上記プログラムデータを伝送する伝搬路の状態が悪い場合は、上記剰余数演算手段のダイナミックレンジの冗長度を高め、一方、伝搬路の状態が良い場合は、上記剰余数演算手段のダイナミックレンジの冗長度を低める通信方法。
【請求項１８】
請求項１７において、
伝搬路の信号電力と雑音電力の比であるＳ／Ｎが低い場合はダイナミックレンジの冗長度を高め、一方、Ｓ／Ｎが高い場合は冗長度を低めるように、適応的に決定する通信方法。
【請求項１９】
請求項１６において、
信頼性が要求される部分のプログラムデータがローカルのデータベースに格納され、頻繁に機能を変更する部分のプログラムデータが無線伝送される通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ソフトウェア無線技術による端末装置、基地局装置、中継装置および通信方法に関する。
【０００２】
【従来の技術】
最近、ソフトウェア無線の開発がされつつある。ソフトウェア無線とは、基本的な無線の機能（帯域幅、フィルタリング、変復調、符号化等）をソフトウェアで変更することが可能なシステムについての概念である。ソフトウェア無線の特徴として、リコンフィギュアラビリティ（構成・スペックの変更が可能なこと）およびダウンローダビリティ（プログラム書き換え可能なこと）を挙げることができる。ソフトウェア無線技術で構成された無線機のことがソフトウェア無線機と称される。
【０００３】
より具体的には、ソフトウェア無線通信技術では、マイクロプロセッサやＤＳＰ(Digital Signal Processor)のチップまたはＦＰＧＡ(Field Programmable Gate Array)を用いてディジタル無線通信用のプログラマブルな変復調装置を構成し、所望の通信方式の変復調方式を構成するためのソフトウェアを有線または無線によって変復調装置にダウンロードして、種々の仕様を同一のハードウェアで柔軟に実現することができる。
【０００４】
例えばソフトウェアをダウンロードすることによって、ＰＨＳ(Personal Handyphone System)や携帯電話、構内ＬＡＮ(Local Area Network)等の異なる無線通信方式を１つの無線通信装置で実現することができれば、ユーザは同一の無線端末装置さえあればその地域の通信方式のプログラムをダウンロードすることによって世界中でサービスを受けられる。端末装置の製造メーカにとっては、ハードウェアを共通化することによって量産が可能となり、製造コストを削減できる。
【０００５】
また、無線通信装置の機能を容易に更新できるため、通信事業者にとっては新サービスの追加、機能のバージョンアップ、システム変更、ソフトウェアのミスの訂正等を容易に行える。さらに、無線経由でソフトウェアをダウンロードすることによって、伝搬環境に応じてビットレート、変復調方式、誤り訂正符号化・復号化方式等を柔軟に設定でき、伝搬環境に最適な伝送品質の提供や加入者数の向上を可能にする。
【０００６】
図１は、従来の技術によるソフトウェア無線装置の一例を示す。アンテナ１ａから受信された中心周波数ｆｃの信号はアンテナスイッチ１ｂを通り、ローノイズアンプ１ｊに入力される。ローノイズアンプから出力された信号は、受信ミキサ１ｋにおいて、第１局部発振器１ｃの発振周波数ｆ１１をミックスされ、中間周波数ｆｉの信号に変換される。
【０００７】
中間周波数ｆｉに変換された信号は、直交検波器１ｌにおいて、第２局部発振器１ｄの中間周波数ｆ１２により直交検波され、アナログベースバンド信号Ｉ、Ｑに変換される。アナログベースバンド信号Ｉ、Ｑは、Ａ／Ｄ変換器１ｍにおいて、ディジタルベースバンド信号Ｉ−Ｄ、Ｑ−Ｄに変換される。ディジタルベースバンド信号Ｉ−Ｄ、Ｑ−Ｄがデマルチプレクサ１ｐに供給される。
【０００８】
デマルチプレクサ１ｐによって、ソフトウェアの伝送パケットまたは情報データの伝送パケットの選択が行われる。ソフトウェアダウンロード時は、Ａ／Ｄ変換器の出力データＩ−ＤとＱ−Ｄがソフトウェア変調信号復調部１ｏで復調される。復調されたプログラムがプログラム可能なベースバンドディジタル変調部１ｉまたはプログラム可能なベースバンドディジタル復調部１ｎにダウンロードされる。ダウンロード後にデマルチプレクサ１ｐは、Ａ／Ｄ変換器の出力データＩ−ＤとＱ−Ｄをプログラム可能なベースバンドディジタル復調部１ｎに供給し、プログラムによって決められた所望の復調処理が行われる。
【０００９】
プログラム可能なベースバンドディジタル変調部１ｉおよびプログラム可能なベースバンドディジタル復調部１ｎは、一例として、ソフトウェア変調信号復調部１ｏからのプログラムによって、ＯＦＤＭ（orthogonal frequency divisionmultiplexing：直交周波数分割多重）方式の変調および復調の機能と、Ｗ−ＣＤＭＡ(Wideband-CDMA：広帯域符号分割多元接続）方式の変調および復調の機能とが切り替えられるものである。この変復調方式は、マルチモード無線機の一例であって、この発明は、ＧＳＭ(Global System for Mobile Communication:欧州のディジタル自動車・携帯電話の方式）等をプログラムによって実現しても良い。さらに、移動通信に限らず、この発明は、無線ＬＡＮにおける異なる方式、ＩＴＳ(Intelligent Transport System:高度道路交通システム）における異なる方式等に対しても適用可能である。
【００１０】
相手先の局にダウンロードすべきソフトウェアを送信するときはソフトウェアメモリ１ｑに格納されたソフトウェアがソフトウェア変調部１ｒによって変調され、マルチプレクサ１ｓを通ったディジタルＩＱ信号Ｉ−Ｄ,Ｑ−ＤがＤ／Ａ変換器１ｈに入力される。Ｄ／Ａ変換器１ｈは、ディジタルＩＱ信号をアナログ信号に変換する。情報ビットを送信するときは、変調データビットをプログラム可能なベ一スバンドディジタル変調部１ｉによって所望の変調方式で変調する。変調部１ｉの出力がマルチプレクサ１ｓを通り、ディジタルベースバンド信号Ｉ−Ｄ，Ｑ−ＤとしてＤ／Ａ変換器１ｈに入力される。なお、ソフトウェアメモリ１ｑおよびソフトウェア変調部１ｒは、基地局に限らず、端末局が有することも可能である。
【００１１】
アナログ信号は、直交変調器１ｇにおいて、第２局部発振器(1d)の発振周波数ｆ12により直交変調され、中間周波数ｆｉ（＝ｆ１２）の信号に変換される。中間周波数ｆｉに変調された信号は、送信ミキサ１ｆにおいて、第１局部発振器１ｃの周波数ｆ１１により、周波数ｆｃ（＝ｆ１２＋ｆ１１）の信号に変換される。
【００１２】
周波数ｆｃに変換されたＯＦＤＭ変調信号は、パワーアンプ１ｅにおいて、所定の送信電力に増幅される。増幅された信号は、アンテナスイッチ１ｂを介して、アンテナ１ａに供給され、送信される。ＭＭＡＣ(Mu1timedia mobi1e access communication system)やＷＣＤＭＡ(Wideband code division mu1tip1e access)のような広帯域のスペクトラムを使用する移動体無線通信においては、Ａ／Ｄ変換器１ｍとＤ／Ａ変換器１ｈのサンプリング周波数が数十ＭＳＰＳ(Mega samples per second)となる。
【００１３】
図２は、ソフトウェア無線通信システム用のソフトウェアを無線ダウンロードするリンクのパケットの構成例、並びに情報データを伝送するリンクのパケットの構成例を示す。このリンクは、基地局から端末局へのダウンリンクである。パケットは、ソフトウェアを伝送するパケット２ａ−１、２ａ−２、・・・、２ａ−ｋと情報データを伝送する情報パケット２ｂ−１、２ｂ−２、・・・、２ｂ−ｎから構成される。
【００１４】
ソフトウェアパケットは、プリアンブル２ｃおよびソフトウェア２ｄから構成される。ソフトウェア２ｄは、エラー検出のために付加されたＣＲＣ(Cyc1ic redundancy check)のためのデータ２ｅとマイクロプロセッサ（あるいはＤＳＰ）に入力するプログラムまたはＦＰＧＡを再構成するためのコンフィギュレーションデータ２ｆから構成される。情報パケットは、プリアンブル２ｇと情報シンボル２ｈ−１、２ｈ−２、・・・、２ｈ−ｍから構成される。
【００１５】
受信したデータに対して、既知信号であるプリアンブルが検出され、検出に基づいてパケットタイミング同期、周波数同期、伝送路等化がなされる。受信したソフトウェアに対してはＣＲＣで誤り検出を行う。誤りが検出された場合はそのパケットは破棄して再送を要求する。誤りが検出されない場合のみ、プログラムを復調して、ＡＣＫ信号（アクノリッジ信号）を送信して次のパケットの送信を促す。全プログラムが復調されたら、復調されたプログラムをベースバンドディジタル信号変調部１ｉおよび復調部１ｎにダウンロードし、所望の変復調方式に設定する。情報パケットを受信し、プリアンブル２ｇに対してパケットタイミング同期、周波数同期、伝送路等化を行った後に、情報パケット情報シンボル２ｈ−１、２ｈ−２、・・・、２ｈ−ｍに対して設定された復調方式で情報データの復調が行われる。
【００１６】
図３は、ソフトウェア無線通信システムにおいて、ソフトウェアがダウンロードされた変調部によって、端末局から基地局に対して伝送するリンク（アップリンク）のパケットの構成例を示す。パケット３ａ−１、３ａ−２、・・・、３ａ−ｎは、既知信号であるプリアンブル３ｂと情報データ３ｃから構成される。情報データ３ｃは、情報シンボル３ｄ−１、３ｄ−２、・・・、３ｄ−ｍから構成される。受信側では、プリアンブルの検出に基づいて、パケットタイミング同期、周波数同期、伝送路等化がなされ、その後に情報シンボルの復調が行われる。
【００１７】
図４は、ソフトウェア無線通信システムのパケット再送処理例を示す。ソフトウェア無線通信システムにおいては、ソフトウェアがダウンロードされた変復調部によって本来伝送すべき情報データの変復調が行われる。無線伝送路によって発生したソフトウェアのエラーに起因して変復調部に故障が生じる可能性がある。したがって、ソフトウェアの無線伝送パケットに対してはＣＲＣによるエラー検出が行われ、エラーが検出されなくなるまで何度も再送処理が行われる。但し、ＣＲＣによってエラーが検出されなくなっても、ビット誤りはゼロではなく、極めて低いビット誤り率であるが、ビット誤りが存在することもある。
【００１８】
例えばソフトウェア送信局からは最初のソフトウェアパケット１（４ａ）を送信する。受信したパケットに対してＣＲＣによるエラー検出が行われ、エラーが検出されたら、送信局に対してエラーが検出されなくなるまで再送要求信号（４ｂ）を送信する。図４は、２回の再送要求を行った後に送信されたソフトウェアパケット１（４ｅ）でエラーが検出されなくなる例であるので、同一のパケット（４ａ、４ｃ、４ｅ）を３回再送している。エラーが検出されなくなった後では、ＡＣＫ信号（４ｆ）をソフトウェアの送信側に対して送信する。
【００１９】
これらの動作を繰り返した後に最終のソフトウェアパケットｋ（４ｋ）を受信し、全てのソフトウェアの復調が完了する。復号したソフトウェアがプログラム可能な変復調部にダウンロードされ、所望の変復調処理が可能となる。最終のソフトウェアパケットｋ（４ｋ）に対するＡＣＫ信号（４ｌ）を送信したのちに、情報パケット（４ｍ、４ｎ、・・・、４ｏ）が伝送される。
【００２０】
次に、図１のプログラム可能なベースバンドディジタル復調部１ｎの処理内容について説明する。一般的に変調部よりも復調部の処理が複雑であるので、復調部のみを説明する。一例として、広帯域のスペクトラムを使用する移動体無線通信システムであるＭＭＡＣとＷＣＤＭＡの復調部の構成について説明する。
【００２１】
図５は、ＭＭＡＣ用のＯＦＤＭ復調部の構成例を示す。入力されたディジタルベースバンド信号Ｉ−ＤとＱ−Ｄは、まず、パケットタイミング同期部５ａでパケットのタイミング同期を得た後に、キャリア周波数同期部５ｂでキャリア周波数を同期させ、メモリ５ｃにてデータを書き込んだ後に、ＦＦＴ（fast Fourier transform）５ｄによって周波数領域に変換を行う。サブキャリア数をＮＦＦＴとすれば、ＦＦＴ５ｄにおいて、ＮＦＦＴ点の高速フーリエ変換を行い、ＮＦＦＴ点のパラレル受信データに復調される。その後に等化器５ｅによって伝送路等化が行われて誤り訂正符号復号化器５ｆによって誤りビットの訂正を行い復調ビットとして出力する。
【００２２】
図６は、ＷＣＤＭＡ用のスペクトラム拡散方式復調部の構成例を示す。入力されたディジタルベースバンド信号Ｉ−ＤとＱ−Ｄは、まず、パケットタイミング同期部６ａでパケットのタイミング同期を得た後に、キャリア周波数同期部６ｂでキャリア周波数を同期させる。メモリ６ｃにてデータを書き込んだ後に、逆拡散・等化部６ｄによって所定の拡散符号を用いて逆拡散と伝送路等化が行われる。逆拡散・等化部６ｄの出力が誤り訂正符号復号化器６ｅに供給され、復号化器６ｅによって誤りビットの訂正がなされ、復調ビットが出力される。
【００２３】
上述の図５および図６に示したような復調部においては、数十ＭＳＰＳのレートで入力されるサンプリングデータに対して実時問でＦＦＴ、逆拡散、等化器等の処理を行う必要がある。ソフトウェア無線通信システムにおいては、これらの処理をプログラム可能なハードウェアで実現する。プログラマブルデバイスとして数百ＭＨｚのクロックで動作する超高速な汎用マイクロプロセッサの使用も考えられる。しかしながら、消費電力がクロック周波数に依存するために、電池で動作するような実用的な携帯情報端末装置の設計は困難である。
【００２４】
プログラマブルデバイスとして、ＦＰＧＡを用いることによって、比較的低消費電力で、かつ高速な復調用の信号処理ハードウェアが実現できる。１００万ゲートを超える大規模なＦＰＧＡも市場に出始めているため、１４０万ゲートを超えるＭＭＡＣ用のＯＦＤＭ  ＬＳＩの機能も数個のＦＰＧＡを用いれば十分に実現可能である。但し、ＦＰＧＡを所望の機能にプログラムするためにはＦＰＧＡ内部の再構成可能な論理回路の機能、および論理回路間の結線等をプログラムするためのコンフィギュレーションデータが必要となる。前述したＭＭＡＣ用のＯＦＤＭ  ＬＳＩをプログラムするためには８Ｍビットものコンフィギュレーションデータが必要となる。
【００２５】
ＦＰＧＡのブロックを使用して設計した加算器、乗算器、および、任意の２入力演算回路を以下に説明する。説明を簡単にするために、以下では、特に言及しない場合は、ＬＵＴ(Look Up Table)の内容と、キャリー生成用専用のプログラム可能な論理回路であるＣＬ(Carry Logic)を設定するためのＣＬ設定データとをコンフィギュレーションデータと呼ぶことにする。なお、ＣＬは、対応するコンフィギュレーションデータによって、予め定義されている幾つかの論理回路の一つを実現できる。
【００２６】
図７は、ＦＰＧＡのＬＵＴとＣＬで設計した９ビット加算器の構成例を示す。桁上げ信号が下位ビットから伝播するリップルキャリ型加算器である。２の補数で表現された入力データバスのビットａ８−ａ０とｂ８−ｂ０はまず初段のＬＵＴ９ａ−１、９ａ−２、９ａ−３、９ａ−４、９ａ−５、９ａ−６、９ａ−７、９ａ−８、９ａ−９、９ａ−１０に入力される。ＬＵＴ９ａ−１はオーバフローが発生したことを表す制御信号を生成する。それ以外のＬＵＴは、重みの等しい２つのビットのデータと下位ビットからの桁上げ信号との和を計算する。
【００２７】
ＣＬ（９ｂ−１、９ｂ−２、９ｂ−３、９ｂ−４、９ｂ−５、９ｂ−６）は、入力データバスの対応する各ビットにおける桁上げ信号の生成と下位ビットから上位ビットヘの桁上げ信号の伝播を行う。最終段のＬＵＴ（９ｃ−１、９ｃ−２、９ｃ−３、９ｃ−４、９ｃ−５、９ｃ−６、９ｃ−７、９ｃ−８）では、和出力に対する２の補数表現に対応した符号処理とオーバフロー時の飽和処理が行われる。この例以外にも種々の加算器のアルゴリズムが提案されている。
【００２８】
図８は、ＦＰＧＡのＬＵＴとＣＬを使用して設計した３・２ビットの乗算器の構成例を示す。２の補数で表現された入力データａ２、ａ１、ａ０とｂ１、ｂ０は、それぞれ対応するＬＵＴ（１０ａ−１、１０ａ−２、１０ａ−３）、ＬＵＴ（１０ａ−５、１０ａ−６）およびＣＬ（１０ｂ−１、１０ｂ−２、１０ｂ−３）によって絶対値に変換される。ＬＵＴ（１０ａ−４）によって積の符号が決定する。絶対値の各ビットａ'２、ａ'１、ａ０'とｂ'１、ｂ'０がＬＵＴ（１０ｃ−１、１０ｃ−２、・・・、１０ｃ−６）に供給され、ＬＵＴ（１０ｃ−１、１０ｃ−２、．．．、１０ｃ−６）によって部分積の計算が行われる。部分積はＬＵＴ（１０ｄ−１、１０ｄ−２、１０ｄ−３）、ＣＬ（１０ｅ−１、１０ｅ−２）、ＬＵＴ（１０ｆ−１、１０ｆ−２、・・・、１０ｆ−５）およびＣＬ（１０ｇ−１、１０ｇ−２、１０ｇ−３、１０ｇ−４）から構成された加算木で加算されてビットＰ4,Ｐ3,Ｐ2,Ｐ1,から成る積が算出される。
【００２９】
任意の２入力演算回路をＬＵＴによって設計する。表１は、データの語長が１２ビットの２入力１出力演算回路の真理値表の例を示す。
【００３０】
【表１】
0004806765.tif 000002
【００３１】
図９は、この真理値表に基づいてＬＵＴによって設計した演算回路の構成例を示す。入力データのビット数の合計が２４ビットであるため、２４入力１出力の論理回路を１２個用意すれば実現可能である。出力ビットｃ１１（ＭＳＢ）,ｃ１０,...,ｃ０（ＬＳＢ）は、論理回路(１１11，１１10，・・・，１１0)によって算出される。各論理回路は、２４ビットのデータを入力する８個のＬＵＴ（１１ａ−１，１１ａ−２，１１ａ−３，１１ａ−４，１１ａ−５，１１ａ−６，１１ａ−７，１１ａ−８）から構成される。
【００３２】
真理値表（表１）を満足するようにコンフィギュレーションデータが各論理回路の各ＬＵＴに書き込まれる。図９に示した構成は、ＬＵＴを直接的に木状に接続して設計したため、ＬＵＴの個数が最大の例である。真理値表の内容によっては、論理式の簡単化を行うことによってＬＵＴの数を削減することが可能である。
【００３３】
図５と図６中に示したタイミング同期部（５ａ，６ａ）， キャリア周波数同期部（５ｂ，６ｂ）、ＦＦＴ（５ｄ）、逆拡散・等化部（６ｄ）においては、主に相関演算がなされ、ＯＦＤＭの伝送路等化（５ｅ）の処理では除算が行われる。すなわち、ＦＰＧＡ上で処理回路を構成するためには、乗算器、加算器、および除算器が必要となる。入力データは数十ＭＨｚのサンプリングレートで入力され、実時間で演算を行う必要がある。ＦＰＧＡのＬＵＴやＣＬで構成した演算回路の演算時間が数十ｎｓｅｃであると仮定すれば、ハードウェアを時分割的に共有することは困難であり、各処理部毎にそれぞれの演算回路が必要となる。したがって、ベースバンドの変復調処理全体を構成するためには、膨大な数のＬＵＴやＣＬが必要である。
【００３４】
例えば、ＭＭＡＣ用のＦＦＴのみをＦＰＧＡ上で実現するには２３００個以上のＬＵＴと同数程度のＣＬが必要である。これらをプログラムするための大量のコンフィギュレーションデータが必要となる。さらに、ＭＭＡＣ用のＯＦＤＭの変復調ＬＳＩは１４０万ゲート以上の規模であるから、これをＦＰＧＡで構成すると仮定すれば、８Ｍビット以上のコンフィギュレーションデータが必要となる。
【００３５】
図４に示したように、従来のソフトウェアの無線ダウンロード手法においては、受信したソフトウェアに対してＣＲＣによる誤り検出を行い、エラーフリー（誤りが無いこと）が確認された後にプログラマブルデバイスにダウンロードが行われる。誤りが検出された場合はエラーフリーになるまで再送要求が行われる。この手法は、劣悪な伝搬環境下においては、エラーフリーに到達するまで膨大な量のコンフィギュレーションデータを何度も再送する必要があり、ダウンロードが完了するまでに膨大な時問が費やされる。
【００３６】
コンフィギュレーションデータのダウンロード時間が増大すれば、図２のパケット構成図に示されるような本来伝送すべき情報データの伝送効率は劣化する。また、時々刻々と変動する伝搬路環境に応じて最適な機能を無線ダウンロードして実現する適応伝送方式においては、機能を実現するためのコンフィギュレーションデータの伝送は速やかに行われる必要がある。再送をともなう伝送方式では、無線ダウンロードが完了するまでに伝搬環境が激変してしまい、ダウンロード完了後の伝搬環境に最適な機能をＦＰＧＡ上で実現できない。したがって、ソフトウェア無線通信システムの特長を活用するにはＦＰＧＡのコンフィギュレーションデータを含めたソフトウェアの高効率な無線伝送・ダウンロード手法の確立が必須である。
【００３７】
先ず、ＦＰＧＡについて、従来例で上述したベースバンド処理部を構成するＦＰＧＡを例にとって考察を行う。図１０Ａは、ＦＰＧＡの一例の内部構成を示す。なお、以下では、「ソフトウェア」または「プログラム」という用語にはＦＰＧＡの機能を定義するコンフィギュレーションデータも含まれる。
【００３８】
図１０Ｂに一例が示されるＦＰＧＡチップ７ａに、外部からコンフィギュレーションデータが供給され、図示されないコンフィギュレーションメモリに書き込まれる。詳細は後述するが、コンフィギュレーションメモリは、ＦＰＧＡ７ａを構成する各ブロックに分散されている。このコンフィギュレーションデータによって、ＦＰＧＡ各部の機能がプログラムされる。
【００３９】
プログラム可能な論理回路ブロックであるＣＬＢ(Configurable Logic Block)７ｂは、対応するコンフィギュレーションデータによって、ユーザが所望する小規模な論理回路に構成できる。説明のため、図１０Ａでは３×３個のＣＬＢから構成されるＦＰＧＡが示されているが、実際には、数１０×数１０ものＣＬＢが集積される比較的大規模な構成のＦＰＧＡもある。ＩＯＢ(Input/Output Blocks)７ｃは、チップ外とチップ内の信号のインターフェイス回路である。ＩＯＢ７ｃは、一種の電流増幅器でもある。ＩＯＢ７ｃは、対応するコンフィギュレーションデータによって所定の論理振幅電圧に設定され、外部論理電圧を内部の論理電圧に変換する機能を有する。
【００４０】
ＲＣ(Routing Channel)７ｄは、各ブロックを接続するデータバスである。プログラム可能なスイッチであるＣＢ(Connection Block)７ｅとＳＢ(Switching Block)７ｆは、マトリクス状に配置される。ＣＢは、ＣＬＢとＣＬＢの間、ＳＢとＳＢの間およびＣＬＢとＩＯＢの間の接続を行う。ＳＢはＣＢとＣＢの間および、ＣＢとＩＯＢの間の接続を行う。なお、図１０では、コンフィギュレーションデータのコンフィギュレーションメモリへの入力と分配を行うハードウェア構成の図示は、省略する。
【００４１】
図１１は、ＣＬＢ７ｂの一例の内部構成を示す。ＣＬＢ７ｂは、４入力１出力のＬＵＴ(Look-Up Table)８ａ、８ｂおよび３入力１出力のＬＵＴ８ｃ、キャリー生成用専用のプログラム可能な論理回路であるＣＬ(Carry Logic)８ｄ、８ｅ、９個のマルチプレクサ８ｆ、８ｇ、８ｈ、８ｉ、８ｊ、８ｋ、８ｌ、８ｍ、８ｎと２個のレジスタ８ｏ、８ｐから構成される。ＣＬＢはＳＲＡＭであり、入力はアドレスに相当する。４入力と３入力のＣＬＢにはそれぞれ１６ビットと８ビットのコンフィギュレーションデータをダウンロードして任意の論理回路を構成することができる。ＣＬＢ７ｂは、さらに、各マルチプレクサの制御信号を貯えるコンフィギュレーションメモリ８ｑを具備する。
【００４２】
表２は、４入力のＬＵＴの真理値表の例を示す。ＣＬは、対応するコンフィギュレーションデータによって、予め定義されている幾つかの論理回路の一つを実現できる。また、各マルチプレクサの制御信号も、コンフィギュレーションデータによって設定される。種々のコンフィギュレーションデータをＣＬＢに与えることによって、レジスタを含む所望の論理回路を実現することができる。
【００４３】
【表２】
0004806765.tif 000003
【００４４】
図１２は、ＣＢ７ｅの一例の構成を示す。図１２Ａにおいて、上下に配置されているバス１２ａは、ＳＢ７ｆに接続されるバスである。交差した左側のバス１２ｂと右側のバス１２ｃは、ＩＯＢ７ｃまたはＣＬＢ７ｂに接続されるバスである。スイッチ１２ｄは、各バスのビット線に接続される。図１２Ａに示されるように、スイッチ１２ｄにおいて、各ビット線間にトランジスタ１２ｅのソースとドレインが接続される。トランジスタ１２ｅのゲート電圧を制御する信号は、コンフィギュレーションメモリのセル１２ｆに書き込まれている。セルの信号によって、トランジスタ１２ｅのオン・オフ制御を行う。なお、図１２において、コンフィギュレーションメモリへ書き込むデータ信号や制御信号の記述は、省略する。
【００４５】
図１３は、ＳＢ７ｆの一例の構成を示す。図１３Ｂに示されるように、バス１３ａ、１３ｂ、１３ｃ、１３ｄは、それぞれ上下左右に配置される。スイッチ１３ｅは各バスのビット線の交差点に対角線上に配置され、入力は４方向のビット線に接続される。スイッチの４方向からの各ビット線間にトランジスタ１３ｆのソースとドレインが接続される。トランジスタのゲートにはコンフィギュレーションメモリのセル１３ｇが接続され、セルに書き込まれた信号によって４方向のビット線のオン・オフ制御を行う。なお、コンフィギュレーションメモリへの入力信号や制御信号の記述は省略する。
【００４６】
図１３Ｂに一例が示されるように、スイッチ１３ｅも上述のスイッチ１２ｄと同様に、４方向のビット線のオン・オフ制御が行われる。さらに、ＩＯＢに対しても、内部のコンフィギュレーションメモリのセルのデータによって、入出力信号の電圧レベル、出力電流の最大値、レジスタの挿入・非挿入などの設定が行われる。
【００４７】
以上のように、各ブロックに分散しているコンフィギュレーションメモリに、所望の回路を実現するデータを書き込むことによって、ＣＢ、ＳＢ、ＣＬＢ、ＩＯＢのプログラムが行われ、所望の仕様の論理回路を、ＦＰＧＡ上に実現できる。
【００４８】
前述したようなＦＰＧＡのブロックで論理回路を実現した場合、ＦＰＧＡの各ブロックがどのように接続されるかについて考察する。図１４は、ある論理回路をＦＰＧＡ上に実現した場合の、一例のＦＰＧＡレイアウトを示す。以下では、ＦＰＧＡのブロックを用いて構成されたある機能を実現する論理回路の単位を、機能モジュールと適宜呼ぶことにする。図１４は、２つの小規模な機能モジュール１００ａ（機能モジュールＡ）、機能モジュール１００ｂ（機能モジュールＢ）およびモジュール間の配線領域１００ｃから構成される。
【００４９】
【発明が解決しようとする課題】
ソフトウェア無線通信システムにおいては、ＦＰＧＡのコンフイギュレーションデータの無線伝送が必須である。無線伝送においては、伝送されるコンフイギュレーションデータに対して誤り訂正処理や再送処理を行なったとしても、非常に小さい確率でビット誤りが発生する。
【００５０】
一般的に、無線通信の信号処理用の演算回路は、主として通常の２の重み数系の２進数演算回路で構成される。この演算回路においては、各ビットに重みが付けられている。重みの大きいビットが入出力されるＬＵＴやＣＢやＳＢに対応するコンフィギュレーションデータにビット誤りが生じた場合、回路に故障が発生し、正常な処理結果が得られない。例えば図７のＭＳＢ側の９ａ−２のしＵＴのコンフィギュレーションデータにビット誤りが発生した場合、演算結果に重大な誤差をもたらす。
【００５１】
もう一つの問題点として、通常の２の重み数系の２進数演算回路をＦＰＧＡのＬＵＴで構成した場合、その演算回路のモジュールの面積は、オペランドと積または和の出力ビット数に依存する。ＷＣＤＭＡやＯＦＤＭの通信方式を採用すれば、伝送品質を向上させるためには演算精度の向上、すなわち、演算器のビット語長を増加させる必要がある。ビット語長が大きくなると、そのモジュールの回路面積は増加する。モジュールの回路面積が増大すれば、多数の乗算器や加算器が必要なディジタルフィルタのような比較的大規模な信号処理回路の場合、モジュール間の配線距離も長距離化し、配線も複雑となり、配線間に挿入されるＣＢやＳＢの個数が増大し、配線の電気抵抗が増大して、抵抗と配線容量との積である時定数が増大して、ディジタル信号の伝送遅延時間が増大してしまい、演算時間が増大し、動作クロック周波数の劣化を来す。
【００５２】
一例として、図１５に積和演算のｚ＝ｃ0 ｘ＋ｃ1 ｙを実行する演算回路をＦＰＧＡ上に実現した場合のレイアウト図を示す。ＣＬＢ，ＣＢ，ＳＢのブロックの図示は省略した。異なる２本の配線の交差する箇所にＣＢとＳＢを挿入し、信号の流れる方向を制御する。１５ａと１５ｂはそれぞれ、ｃ0 とｃ1 を掛ける定係数乗算器のモジュールである。１５ｃは加算器のモジュールであり、前段の定係数乗算器１５ａおよび１５ｂの積を加算する。
【００５３】
情報の無線伝送ビットレートまたは伝送シンボルレートが高速になればなるほど、変調器または復調器において、高速演算回路の要求が高まるが、ＦＰＧＡを使用した場合、演算器モジュール間の配線に起因する性能劣化のために所望のクロックで動作する信号処理回路の実現が困難となる。
【００５４】
次に、ソフトウエア無線通信システムにおける信号処理回路の演算精度の適応的設定についての問題点を述べる。一般的に、無線通信のハードウェアでは、ある要求仕様を満たす演算精度に基づいて設計される。このような場合、伝搬路の状態によって通信品質は制限されてしまう。ソフトウエア無線通信技術を用いれば、伝搬路の状態に見合った最適な演算精度を適応的に設定できる。伝搬路の状態が悪くなった場合、例えば、低Ｓ／Ｎまたはマルチパスが著しい伝搬路の場合は、演算回路の精度を高めれば、通信品質の劣化を阻止できる可能性もある。
【００５５】
演算精度の向上、すなわち、ダイナミックレンジの拡大は、ビット語長を大きくするために演算回路の大規模化が必要である。通常の２進数系の２進数演算回路ではダイナミックレンジを増加させるためにはビット語長を増やすために、キャリの伝搬を考慮して、ビット語長の増加分に対応した回路を付加する必要がある。多数の乗算器や加算器を有し、構成の複雑なＦＩＲフィルタ等の信号処理回路の場合、ＦＰＧＡ上に既に実現されたレイアウトの形状が複雑になり、新たなダイナミックレンジの増加分の回路を配置するためのレイアウト上の空間的な余裕が保証されていない。したがって、既に実現された多数の乗算器や加算器等に増加分の回路を付加することは容易ではない。また、データバスの拡張も容易ではない。
【００５６】
ソフトウェア無線通信システムにおいては、演算精度の増加分に対応した回路のコンフィギュレーションデータのみの無線ダウンロ一ドが理想である。しかしながら、以上の理由により、演算精度を増加させた全処理回路の膨大なコンフィギュレーションデータを再び無線ダウンロードする必要があり、伝送効率が悪くなる。
【００５７】
図１６は、通常の２進数演算回路の例を示す。図１５に示す演算回路のオペランドは８ビットであった。演算精度を向上させるために、この演算回路のオペランドを１ビット増やすことを考える。１６ａ，１６ｂ，１６ｃは、既に実現した演算モジュールである。この演算モジュール１６ａ，１６ｂ，１６ｃにその増加分のハードウェアである１６ｄ，１６ｅ，１６ｆを付加しなければならない。その場合、その増加分のハードウエアを付加するための空間的な余裕がなければならない。また、配線を後から追加するが、その配線も既に実現した配線に接触しないように配置する必要がある。したがって、必ずしも最適とはならずに、図１６で、参照符号１６ｇで示すように、モジュールを迂回するような長距離の配線を実現せざるを得ない場合もある。
【００５８】
したがって、この発明の１つの目的は、無線伝送されたプログラムデータのビット誤りによって生じた信号処理回路の故障によって信号処理の動作が不良とならないように回路の信頼性を高め、演算モジュール間の配線長の増大や配線の複雑化による回路の性能劣化を緩和するものである。
【００６０】
【課題を解決するための手段】
上述した課題を解決するために、請求項１の発明は、ハードウェアの一部または全部がプログラム可能な論理回路で構成され、論理回路に対するプログラムデータによって、所望の無線通信方式を実現するようにした端末装置において、
受信されたプログラムデータによって、剰余桁毎に構成されると共に、ダイナミックレンジが冗長である剰余数演算手段と、
剰余数演算手段の異なる剰余桁の組み合わせを生成し、生成された組み合わせの演算結果を２進数に変換する複数の変換手段と、
複数の変換手段の出力が非冗長のダイナミックレンジを超えるか否かを判定する判定手段と、
判定手段の判定結果に応答して、非冗長のダイナミックレンジを超えない場合の剰余桁の組み合わせを、正しい演算結果として選択的に出力する選択手段とを備え、
剰余桁の全ての組み合わせの演算結果を変換した２進数の何れの値も非冗長ダイナミックレンジを超えるならば、最小の法から各法に対応する剰余桁毎にプログラムデータの再送を要求し、
演算結果が非冗長ダイナミックレンジを超えなくなった時点で、正しい結果が出力可能とみなして、プログラムデータの再送要求を中止する端末装置である。
【００６１】
請求項６の発明は、ハードウェアの一部または全部がプログラム可能な論理回路で構成され、論理回路に対するプログラムデータによって、所望の無線通信方式を実現するようにした基地局装置において、
受信されたプログラムデータによって、剰余桁毎に構成されると共に、ダイナミックレンジが冗長である剰余数演算手段と、
剰余数演算手段の異なる剰余桁の組み合わせを生成し、生成された組み合わせの演算結果を２進数に変換する複数の変換手段と、
複数の変換手段の出力が非冗長のダイナミックレンジを超えるか否かを判定する判定手段と、
判定手段の判定結果に応答して、非冗長のダイナミックレンジを超えない場合の剰余桁の組み合わせを、正しい演算結果として選択的に出力する選択手段とを備え、
剰余桁の全ての組み合わせの演算結果を変換した２進数の何れの値も非冗長ダイナミックレンジを超えるならば、最小の法から各法に対応する剰余桁毎にプログラムデータの再送を要求し、
演算結果が非冗長ダイナミックレンジを超えなくなった時点で、正しい結果が出力可能とみなして、プログラムデータの再送要求を中止する基地局装置である。
【００６２】
請求項１１の発明は、ハードウェアの一部または全部がプログラム可能な論理回路で構成され、論理回路に対するプログラムデータによって、所望の放送方式を実現するようにした中継装置において、
受信されたプログラムデータによって、剰余桁毎に構成されると共に、ダイナミックレンジが冗長である剰余数演算手段と、
剰余数演算手段の異なる剰余桁の組み合わせを生成し、生成された組み合わせの演算結果を２進数に変換する複数の変換手段と、
複数の変換手段の出力が非冗長のダイナミックレンジを超えるか否かを判定する判定手段と、
判定手段の判定結果に応答して、非冗長のダイナミックレンジを超えない場合の剰余桁の組み合わせを、正しい演算結果として選択的に出力する選択手段とを備え、
剰余桁の全ての組み合わせの演算結果を変換した２進数の何れの値も非冗長ダイナミックレンジを超えるならば、最小の法から各法に対応する剰余桁毎にプログラムデータの再送を要求し、
演算結果が非冗長ダイナミックレンジを超えなくなった時点で、正しい結果が出力可能とみなして、プログラムデータの再送要求を中止する中継装置である。
【００６３】
請求項１６の発明は、ハードウェアの一部または全部がプログラム可能な論理回路で構成され、論理回路に対するプログラムデータによって、所望の無線通信方式または所望の放送方式を実現するようにした通信方法において、
プログラムデータを受信する受信ステップと、
受信されたプログラムデータによって、剰余桁毎に構成されると共に、ダイナミックレンジが冗長である剰余数演算手段を構成するステップと、
剰余数演算手段の異なる剰余桁の組み合わせを生成し、生成された組み合わせの演算結果を２進数に変換する変換ステップと、
変換された演算結果が非冗長のダイナミックレンジを超えるか否かを判定する判定ステップと、
非冗長のダイナミックレンジを超えない場合の剰余桁の組み合わせを、正しい演算結果として選択的に出力する選択ステップとを有し、
剰余桁の全ての組み合わせの演算結果を変換した２進数の何れの値も非冗長ダイナミックレンジを超えるならば、最小の法から各法に対応する剰余桁毎にプログラムデータの再送を要求し、
演算結果が非冗長ダイナミックレンジを超えなくなった時点で、正しい結果が出力可能とみなして、プログラムデータの再送要求を中止する通信方法である。
【００６４】
ソフトウェア無線機のプログラムである例えばＦＰＧＡ用のコンフィギュレーションデータを無線経由で伝送する場合、雑音等によって発生したビットエラーに起因する回路故障によって不正確な演算結果を出力する。この発明では、剰余数演算においては、積和演算が剰余桁毎に独立に実行可能であることに着目し、ダイナミックレンジを冗長化し、いくつかの剰余桁の出力の組み合わせから通常の２進数に変換した結果が非冗長ダイナミックレンジ以上かどうかを調べて、非冗長ダイナミックレンジより小さい結果のみ正しい演算結果として出力することができる。
【００６７】
【発明の実施の形態】
この発明の一実施形態について以下説明する。この発明の理解の容易のために、剰余数演算方式について説明する。通常の２の重み数系の２進数演算回路ではその桁間にはキャリ（桁上げ）信号の授受があるために、演算回路を各桁毎に分割することはできない。この発明では通常の２進数演算回路とは異なる剰余数演算回路を用いる。
【００６８】
剰余数演算の原理を説明する。整数ｘを互いに素なＮ個の整数ｍ1，ｍ2 ，・・・，ｍN に対する剰余の組で表現する系が剰余数系と呼ばれる。剰余数演算は、入力オペランドに対して通常の加算または乗算を施した後にある法で除算した剰余を出力する演算方式である。以下、ある整数ｘの法ｍによる剰余を求める演算をx mod ｍと表記する。また、同一の法による剰余数演算の入出力を剰余桁と呼ぶことにする。剰余数系では、加減乗算が各剰余ごとに独立して行うことができる。加算の例を図１７Ａに示す。法の組｛ｍ1，ｍ2 ，ｍ3｝ を例えば｛３，５，７｝とする。数８は、剰余数で表現すると、｛２，３，１｝となり、数９は、｛０，４，２｝となる。加算（８＋９）の結果は、剰余数系では、｛２mod ３，７mod ５，３mod ７｝＝｛２，２，３｝となる。
【００６９】
図１７Ｂは、乗算の例（９×１０）を示す。加算の例と同様に、法の組を｛３，５，７｝とすると、この乗算は、｛０，４，２｝×｛１，０，３｝＝｛０mod３，０mod ５，７mod ６｝＝｛０，０，６｝となる。図１７から剰余数演算においては、各剰余桁間にはキャリのような信号の授受は存在しない。したがって、各剰余桁に対する回路をそれぞれ独立に実現することができる。ただし、各剰余桁の法は互いに素でなければならない。法の組によって表現できる整数の範囲をダイナミックレンジと呼ぶことにする。
【００７０】
図１８は、剰余数加算器と通常の２進数加算器のモジュールの規模を比較する図である。図１８Ａが剰余数加算器の構成を示し、図１８Ｂが通常の２進数加算器の構成を示す。剰余数演算の最大ダイナミックレンジは使用する法の積で表せられる。この例では（３×５×７＝１０５）である。同じダイナミックレンジを有する通常の２進数演算器の語長は７ビットである。参照符号１８ａ，１８ｂ，１８ｃが剰余数加算器の各桁のモジュールを示す。参照符号１８ｄが通常の２進数加算器のモジュールを示す。ただし、図中、ＦＰＧＡの基本構成ブロックであるＣＬＢ．ＳＢ．ＣＢは省略している。
【００７１】
各剰余桁の剰余数演算を行なう演算器１８ａ，１８ｂ，１８ｃの語長は、ダイナミックレンジ全体の語長よりも短い。したがって、各剰余桁の剰余数演算器のＦＰＧＡ上で占有するレイアウト面積は通常の２進数演算器に比べて小さくて済む。多数の演算器から構成されるディジタルフィルタ等を実現する際には演算器間の配線の長さを短くでき、配線の複雑さを緩和できる。ＦＰＧＡでの実現を考慮すれば、配線を構成するＳＢやＣＢの個数を削減でき、配線抵抗や配線容量を減少でき、演算器間の信号の遅延時間を減少でき、動作クロック周波数を高めることができる。
【００７２】
図１９は、ｚ＝ｃ0 ｘ＋ｃ1 ｙを実現し、ダイナミックレンジを１０５で設計した剰余数演算回路のレイアウトを示し、図２０は、通常の２進数演算回路のレイアウトを示す。図１９において、参照符号１９ａおよび１９ｂは、法が３の場合の定係数乗算器を示し、参照符号１９ｄおよび１９ｅは、法が５の場合の定係数乗算器を示し、参照符号１９ｇおよび１９ｈは、法が７の場合の定係数乗算器を示す。参照符号１９ｃ、１９ｆ、１９ｉは、法が３，５，７の場合の加算器をそれぞれ示す。図２０において、参照符号１９ｊおよび１９ｋが２進数演算回路の構成の定係数乗算器を示し、１９ｌが両演算回路１９ｊおよび１９ｋの出力を加算する加算器を示す。
【００７３】
剰余桁間の独立性により、法が異なる演算回路間には、キャリの授受のような信号の授受は存在しない。演算器の個数が多くなるほど、また、演算アルゴリズムが複雑となり演算器間の接続が複雑になればなるほど、剰余数演算回路による信号処理回路が有利となる。図２０の通常の２進数演算回路による信号処理回路と比較すると、演算回路間の配線の複雑さや配線長による性能劣化を緩和できる。
【００７４】
無線通信用の信号処理回路を考慮すると、ディジタルデータとアナログ信号の変換が必要となる。市販の一般的なＡ／Ｄコンバータはアナログ信号を通常の２進数データに変換する。したがって、通常の２進数の数値表現を剰余数系の数値表現に変換する必要がある。これはＦＰＧＡのＣＬＢから構成された組み合わせ論理回路またはＲＯＭから構成された変換回路によって行われる。市販の一般的なＤ／Ａコンバータも、同様に、通常の２進数データをアナログ信号に変換する。したがって、剰余数系の数値表現から通常の２進数の数値表現に変換する必要がある。その際には剰余桁間のデータの授受が発生して、剰余桁の独立性は崩れる。しかし、演算の負荷は、例えば、主となるフィルタにおける演算の負荷と比較すれば非常に小さい。剰余数系から通常の２進数系への変換は混合基数系への変換または中国人剰余定理に基づいて行われる。
【００７５】
アナログ信号を入出力する剰余数演算による信号処理システムの構成例を図２１に示す。アナログ信号は、Ａ／Ｄコンバータ２０ａによって、一旦、通常の２進数の数値に変換される。Ａ／Ｄコンバータ２０ａの出力が各法ｍ1 ，ｍ2 ，・・・，ｍN にそれぞれ対応する変換器２０ｂ−１，２０ｂ−２，．．．，２０ｂ一Ｎによって、通常の２進数の数値から各法の剰余桁毎に対応した剰余数に変換される。次に、各剰余桁の法に対応する信号処理回路２０ｃ−１，２０ｃ−２，．．．，２０ｃ−Ｎによって剰余数演算が行なわれる。各剰余桁の信号処理回路２０ｃ−１，２０ｃ−２，．．．，２０ｃ−Ｎは、ＦＩＲフィルタ等の積和演算を行なう信号処理アルゴリズムを実行する剰余数演算器から構成される。信号処理回路２０ｃ−１，２０ｃ−２，．．．，２０ｃ−Ｎの結果が変換器２０ｄに入力され、変換器２０ｄによって剰余数から通常の２進数データに変換した後、Ｄ／Ａコンバータ２０ｅによってアナログ出力信号に変換される。
【００７６】
通常の２進数系から剰余数系への変換は、テーブルルックアップとモジュロ加算を用いて比較的簡単に実現できる。これに対して、剰余数系から２進数系への逆変換は複雑である。以下、剰余数系の数値から通常の２進数へ変換する２種類のアルゴリズムについて説明する。基数を複数個用いて数値を表現する系は、混合基数系と呼ばれる。通常の１０進数表現は、基数１０のみを用いた数表現であり、２進数表現は、基数２のみを用いた数表現である。
【００７７】
混合基数系に基づく剰余数系から通常の２進数系への変換アルゴリズムを用いて剰余数系の数値ｘ1 ，ｘ2 ，ｘ3 を通常の２進数系の数値ｙへ変換する例を図２２に示す。法ｍ1 ＝３，ｍ2 ＝４，ｍ3 ＝５とし、各法に対応する剰余数をそれぞれ、ｘ1 ＝１，ｘ2 ＝３，ｘ3 ＝３とする。この剰余数を通常の２進数の値ｙに変換する。
【００７８】
先ず、最小の法の剰余数であるｘ1 をａ1 とする。次に、ａ1 を各剰余数から引く。その結果に対してｍ1 ＝３で割る。これはｍ2 ＝４，ｍ3 ＝５の剰余数演算におけるｍ1 ＝３の逆元を掛けることと等価である。この逆元はｍ2 とｍ3 の場合、それぞれ、３と２である。ｍ2 ＝４の剰余桁の結果２をａ2 とする。次に、ｍ3 の剰余桁の値からａ2 を引き、ｍ2 ＝４で割る。すなわち、ｍ3 ＝５における４の逆元である４を掛ける。このようにしてａ1 ＝１，ａ2 ＝２，ａ3 ＝３を求める。混合基数系において数値は異なる基数１，ｍ1 ，ｍ1 ｍ2 で表現され、ｙ＝ａ1 ＋ａ2 ｍ1 ＋ａ3 ｍ1 ｍ2 で定義される。代入すると、（ｙ＝１＋２×３＋３×３×４＝４３）が求められる。
【００７９】
中国人剰余定理による剰余数系から通常の２進数系への変換アルゴリズムの説明を行なう。この定理の定義式を式（１）に示す。
【００８０】
【数１】
0004806765.tif 000004
【００８１】
なお、式（１）において、Ｍおよびｍi ＾は、以下の式（２）および式（３）で定義される。なお、＾は、ｍの文字の上に付加されるものであるが、本明細書中では、表記の便宜上、ｍと＾とを分離して示す。
【００８２】
【数２】
0004806765.tif 000005
【００８３】
【数３】
0004806765.tif 000006
【００８４】
但し、式（４）で示すｍi ＾-1は、法ｍi におけるｍi ＾の逆元を示す。
【００８５】
【数４】
0004806765.tif 000007
【００８６】
例えば、法の個数Ｎ＝３、法をｍ1 ＝３，ｍ2 ＝４，ｍ3 ＝５とし、各法に対応する剰余数をそれぞれ、ｘ1 ＝１，ｘ2 ＝２，ｘ3 ＝３とする。この剰余桁で表現を通常の２進数に変換する。まず、式（２）よりＭ＝６０、式（３）より、ｍ1 ＾＝２０，ｍ2 ＾１５，ｍ3 ＾＝１２である。さらに、式（４）より、ｍ1 ＾-1〔ｍ1〕＝２，ｍ2 ＾-1〔ｍ2〕＝３，ｍ3 ＾-1〔ｍ3〕＝３である。これらの値を式（１）に代入すれば、通常の２進数表現の値ｙ＝５８が得られる。
【００８７】
上述した両変換アルゴリズムとも剰余桁間で信号の授受が存在するために、剰余桁間の独立性が成立しなくなる。例えば、図２２の混合基数系の例では、法ｍ2 とｍ3 の剰余桁からｍ1 の剰余数であるａ1 を引いている。また、中国人剰余定理においても式（１）において各剰余桁の計算結果の総和を計算している。剰余数演算の特長を活用するためには、各剰余桁での信号処理のアルゴリズムの演算量が剰余数系から通常の２進数系への変換のための演算量よりもはるかに大きくなければならない。
【００８８】
ここまでは一般的な剰余数系について説明した。次に、冗長剰余数系について説明する。一般的に信号処理回路は、処理に対して最小限必要なダイナミックレンジ（以下、これを非冗長ダイナミックレンジと適宜呼ぶ）に適合させるために演算器のデータ語長を最小限に設定して設計が行なわれる。剰余数演算器を使用して設計したこのような信号処理回路を非冗長剰余数演算に基づく信号処理回路と呼ぶことにする。一方、冗長剰余数演算は信号処理回路に冗長な剰余桁を付加して信号処理に必要以上のダイナミックレンジ（これを冗長ダイナミックレンジと呼ぶ）が得られるように回路を設計する。
【００８９】
ＦＰＧＡを用いて設計したソフトウェア無線通信システムにおいて、信頼性を高めるためにＦＰＧＡのコンフィギュレーションデータを無線経由で伝送した場合、そのコンフィギュレーションデータに誤り訂正符号による符号化を行なって伝送し、受信側では復号化を行ない、伝送路で発生したビット誤りを訂正する。または、ＣＲＣコードまたはパリティデータを付加して伝送し、受信側でそのＣＲＣコードまたはパリティデータを検査して誤りが発生していれば、再送要求信号を送信側に伝送して、同じ情報を再送してもらう。信頼性を高めるためにこれらの処理を行なったとしてもビット誤り率は極めて低いものの、誤りビットは存在する。その誤りビットに起因する回路故障によって無線通信システムの動作に不具合が発生してしまう。
【００９０】
無線伝送されたコンフィギュレーションデータによって構成された冗長剰余数演算による信号処理回路において、コンフィギュレーションデータ内部の誤りビットによって、ある１つの剰余桁の演算回路が故障したと仮定する。この場合、全ての剰余桁の値から通常の２進数系に変換して求めた演算結果は非冗長ダイナミックレンジを超える確率が高い。そこで、全剰余桁から求めた演算結果が非冗長ダイナミックレンジを超えたかどうかを調べることによって信号処理回路の故障検出を行なう。
【００９１】
さらに、このような故障検出の後に、どの法の剰余数演算回路が故障したかを調べるために、非冗長ダイナミックレンジを超えるダイナミックレンジが得られる複数の法の組み合わせを複数個作成する。その組み合わせの演算結果が非冗長ダイナミックレンジ以内に収まる結果を正常な演算結果として出力する。一方、非冗長ダイナミックレンジを超える結果を出力する組み合わせには故障が発生するが、他の組み合わせの結果と比較することによって、演算回路が故障している剰余桁を探索することができる。このように回路故障が存在しても正常な演算結果を出力できるように工夫された信号処理システムはフォールトトレラントシステムと呼ばれる。
【００９２】
具体例で説明する。剰余数演算においてダイナミックレンジは法の積と等しい。ここでは説明を簡単にするために、信号処理回路が乗算のみを行なうものと仮定する。図２３に示すように法の全体の集合を｛３，５，７，１１｝とする。４つの法に相当する剰余桁の乗算回路は、無線経由でダウンロードされたコンフィギュレーションデータがＦＰＧＡ上のブロックに書き込まれて実現されると仮定する。法として３と５を選択して、非冗長ダイナミックレンジを３ｘ５＝１５とする。これは一般的な演算結果は１５よりも小さいことを意味する。一方、冗長ダイナミックレンジを得るための法の組み合わせの例は｛３，５，７｝，｛３，５，１１｝，｛３，７，１１｝，｛５，７，１１｝である。図２３Ａは、故障が発生していない場合の４×３の乗算の例を示す。図２３Ｂは、法が１１の剰余桁の処理回路に故障が発生し、正常な結果１の代わりに８が計算された場合の例を示す。図２３Ｃでは、参照符号２２ａ、２２ｂ、２２ｃ、２２ｄが法３，５，７，１１に対応した乗算器をそれぞれ示す。
【００９３】
次に、冗長ダイナミックレンジを得た各組の演算結果を通常の２進数系に変換した値を非冗長ダイナミックレンジである１５と比較する。｛３，５，７｝，｛３，５，１１｝，｛３，７，１１｝，｛５，７，１１｝の組み合わせの剰余数を通常の数値に変換すれば、結果はそれぞれ、１２，１６２，９６，３２７である。その結果、｛３，５，７｝の剰余桁による演算回路の結果である１２のみが非冗長ダイナミックレンジ以内に収まっている。したがって、１２を正常な演算結果とみなして出力する。それ以外の組み合わせ｛３，５，１１｝，｛３，７，１１｝，｛５，７，１１｝は非冗長ダイナミックレンジを超えており、いずれも法の１１を含んでいるために、法の１１に対応する剰余数乗算回路に故障が発生していると推定できる。
【００９４】
冗長なダイナミックレンジを拡大するために、法の個数を増やし、すなわち、剰余桁を増やせば増やすほど、法の組み合わせ数が増えて、非冗長ダイナミックレンジ以内に収まる正しい結果を得る確率が高くなり、信頼性が高まる。
【００９５】
図２４は、前述した原理による冗長剰余数演算回路に基づく信号処理回路の構成例を示す。これらのハードウエアはＦＰＧＡ上に実現される。信号処理回路２３ａ−１，２３ａ−２，２３ａ−４は、法の組｛３，５，７，１１｝の各法に対応する剰余数演算回路で構成され、ディジタル無線通信のための変調や復調のアルゴリズムを実現する。変換回路２３ｂ−１，２３ｂ−２，２３ｂ−３，２３ｂ−４には、前段の信号処理回路２３ａ−１，２３ａ−２，２３ａ−３，２３ａ−４からの出力が供給される。変換回路２３ｂ−１，２３ｂ−２，２３ｂ−３，２３ｂ−４には、法の組｛３，５，７｝，｛３，５，１１｝，｛３，７，１１｝，｛５，７，１１｝に対応する剰余桁の演算回路の出力がそれぞれ供給され、演算回路の出力が通常の２進数系に変換される。変換回路２３ｂ−１，２３ｂ−２，２３ｂ−３，２３ｂ−４の出力が比較回路２３ｃ−１，２３ｃ−２，２３ｃ−３，２３ｃ−４のそれぞれにおいて、非冗長ダイナミックレンジの値の１５と比較される。
【００９６】
比較回路２３ｃ−１，２３ｃ−２，２３ｃ−３，２３ｃ−４のそれぞれの比較結果がデコーダ２３ｄに供給され、デコーダ２３ｄにおいて、非冗長ダイナミックレンジよりも小さい結果を出力する法の組み合わせを選択する選択情報が生成される。選択情報がマルチプレクサ２３ｅに入力される。マルチプレクサ２３ｅには、変換回路２３ｂ−１，２３ｂ−２，２３ｂ−３，２３ｂ−４の出力が供給され、通常の２進数に変換された正常な結果が選択的に出力される。若し、全ての法の組が非冗長ダイナミックレンジ以上であれば、デコーダ２３ｄが再送要求信号を基地局に対して出力する。
【００９７】
図２４においてソフトウェア無線通信システムの無線ダウンロード機能を考慮すれば、信号処理回路２３ａ−１，２３ａ−２，２３ａ−３，２３ａ−４のコンフィギュレーションデータが無線経由で伝送される。一方、通常の２進数から剰余数系に変換するための変換回路（２０ｂ−１，２０ｂ−２，・・・，２０ｂ−Ｎ）と、故障検出・結果選択を行なう、変換回路２３ｂ−１，２３ｂ−２，２３ｂ−３，２３ｂ−４、比較回路２３ｃ−１，２３ｃ−２，２３ｃ−３，２３ｃ−４、デコーダ２３ｄ、並びに、マルチプレクサ２３ｃののコンフィギュレーションデータにはビット誤りの存在は許されない。これらのコンフィギュレーションデータは無線経由ではなくて携帯無線通信端末内部のコンフィギュレーションデータベースから供給される。
【００９８】
かかる設計思想に基づくソフトウエア無線通信システムの構成を図２５に示す。参照符号２４ａはコンフィギュレーションデータを伝送する変調波を受信するためのアンテナである。参照符号２４ｂはコンフィギュレーションデータを受信するための無線機である。アンテナ２４ａおよび無線機２４ｂは、主として図２４の信号処理回路のコンフィギュレーションデータを受信し、復調する。また、必要なコンフィギュレーションデータの送信要求をも行なう。
【００９９】
参照符号２４ｃは、コンフィギュレーションデータベースであり、図２３を参照して述べたように、故障検出を行なうための変換回路や比較回路のコンフィギュレーションデータが格納されている。復調されたコンフィギュレーションデータとデータベースの出力のコンフィギュレーションデータは、コンフィギュレーションデータの結合と生成器２４ｄに供給され、全体のコンフイギュレーションデータが生成される。生成されたコンフィギュレーションデータがソフトウエア無線機２４ｅに供給され、所望の通信方式を行なう無線機が再構成される。参照符号２４ｆはソフトウェア無線機用のアンテナである。再構成後にソフトウェア無線機に対してユーザの情報データに対する変復調処理が行われる。
【０１００】
ソフトウェア無線通信機の構成例を図２６に示す。アンテナから受信された中心周波数ｆｃの信号はアンテナスイッチ２５ｂを通り、ローノイズアンプ２５ｊに入力され、受信ミキサ２５ｋでは、第１ローカル発振器２５ｃの発振周波数ｆｌ１がミックスされ中間周波数ｆｉに変換される。直交検波器２５ｌでは、中間周波数をｆｌ２＝ｆｉの第２ローカル発振器２５ｄの周波数で直交検波し、アナログベースバンド信号Ｉ，Ｑに変換する。アナログＩＱ信号は、Ａ／Ｄ変換器２５ｍでディジタルベースバンド信号≡−Ｄ．Ｑ−Ｄに変換される。
【０１０１】
外部で復調されたコンフィギュレーションデータは、プログラム可能なベースバンドディジタル変調部２５ｖまたはプログラム可能なベースバンドディジタル復調部２５ｎにダウンロードされる。コンフィギュレーションデータのダウンロード後に、Ａ／Ｄ変換器２５ｍの出力データ≡−ＤとＱ−Ｄをプログラム可能なベースバンドディジタル復調部２５ｎに供給し、プログラムによって決められた所望の復調処理が行われる。
【０１０２】
情報ビットを送信するときは、変調データビットをプログラム可能なベースバンドディジタル変調部２５ｖによって所望の変調方式で変調する。変調部２５ｖの出力がディジタルベースバンド信号≡−Ｄ．Ｑ−ＤとしてＤ／Ａ変換器２５ｈに入力される。Ｄ／Ａ変換器２５ｈでは、ディジタルＩＱ信号をアナログ信号に変換する。直交変調器２５ｇでは、第２ローカル発振器２５ｄの発振周波数ｆｌ２で直交変調を行い、中間周波数ｆｌ２＝ｆｉに変換される。送信ミキサ２５ｆでは第１ローカル発振器２５ｃの周波数ｆｌ１でｆｃ＝ｆｌ２＋ｆｌ１なる周波数に変換される。パワーアンプ２５ｅは、ディジタル変調信号を所定の送信電力に増幅する。増幅された信号は最終的にアンテナスイッチ２５ｂを経由し、外部のアンテナに送られる。
【０１０３】
冗長ダイナミックレンジの冗長度を（冗長ダイナミックレンジ／非冗長ダイナミックレンジ）と定義する。コンフィギュレーションデータにビットエラーが発生しやすい伝搬環境ならば、冗長度を増加させた方が信頼性を向上できる。また、エラーが発生し難い伝搬環境ならば、コンフィギュレーションデータの伝送効率や回路の使用効率および消費電力の観点から冗長度は低い方が望ましい。したがって、冗長度はコンフィギュレーションデータを無線伝送する伝搬路の品質である信号電力と雑音電力の比（Ｓ／Ｎ）をもとにして適応的に設定しても良い。
【０１０４】
それを実現するための構成図を図２７に示す。図２５との相違点についてのみ説明する。Ｓ／Ｎ測定器２６ｇによりコンフィギュレーションデータの伝搬路のＳ／Ｎが測定された後に、その値から冗長度決定部２６ｈによって冗長度を決定する。冗長度情報がコンフィギュレーションデータダウンロード用無線機２６ｂに入力され、基地局に対して所望の冗長度に対応した演算回路のコンフィギュレーションデータの伝送を要求する。また、冗長度情報はコンフィギュレーションデータベース２６ｃにも入力され、冗長度に適応した故障検出を行なうためのコンフィギュレーションデータを読み出す。
【０１０５】
Ｓ／Ｎ測定部２６ｇの一例について説明する。但し、ＲＦ部およびＩＦ部は省略し、ベースバンド部の信号処理方式についてのみ説明する。図２８は、Ｓ／Ｎ測定部２６ｇの構成例を示すブロック図である。Ｓ／Ｎ測定部は、領域判別部５１、Ｓ／Ｎ測定回路５２、Ｓ／Ｎ測定回路５３、Ｓ／Ｎ測定回路５４、Ｓ／Ｎ測定回路５５および平均計算部５６からなる。ここでは、サブキャリア変調方式が、ＱＰＳＫの場合について説明する。ＱＰＳＫの信号点は４個所あり、有効な領域は複素平面上で４つ存在する。この４つの領域のそれぞれに、Ｓ／Ｎ測定回路５２、Ｓ／Ｎ測定回路５３、Ｓ／Ｎ測定回路５４およびＳ／Ｎ測定回路５５のそれぞれが対応する。
【０１０６】
領域判別部５１は、複素数データの実部虚部それぞれに対してしきい値判別を行い、すなわち上述した４つの領域のどれに属するかを判別し、この判別に対応するデータ有効信号を出力する。
【０１０７】
領域判定部５１からのデータは、データ有効信号がアクティブになったＳ／Ｎ測定回路にのみ入力される。アクティブになったＳ／Ｎ測定回路は、入力されたデータに基づき、各領域に対応するＳ／Ｎ測定値を算出し出力する。平均計算部５６は、供給された各領域のＳ／Ｎ測定値の平均化処理を行い出力する。
【０１０８】
図２９は、領域判定部５１の構成を示すブロック図である。入力信号は、しきい値比較回路６１および６２に供給される。しきい値比較回路６１および６２は、入力されたデータがどの領域に属するかを計算し、計算結果を２ビットにより表現し、この表現に対応する信号を出力する。具体的には、しきい値、すなわち０に対する比較を行い、入力が０以上ならば１を出力し、そうでなければ０を出力する。
【０１０９】
デコーダ６３は、しきい値比較回路６１およびしきい値比較回路６２から供給された信号に基づき、どの領域のデータに相当するかを表すデータ有効信号を出力する。
【０１１０】
図３０は、Ｓ／Ｎ測定回路５２の構成を示すブロック図である。メモリ７１には、入力データが書き込まれる。アキュムレータ７２は、遂次的に入力されるデータを基に、これらのデータの和Ｘ1 を計算し出力する。なお、メモリ７１とアキュムレータ７２とは、データ有効信号がアクティブになった時のみ動作する。すなわち、データ有効信号がアクティブになった時のみ、領域判別部５１の出力データは、メモリ７１とアキュムレータ７２とに入力される。カウンタ７３は、入力されるデータ有効信号に基づき、１フレーム内のデータの個数をカウントする。
【０１１１】
アキュムレータ７２の出力Ｘ1 は、複素数除算器７４に入力される。複素数除算器７４は、アキュムレータ７２の出力Ｘ1 を、カウンタ７３から出力されたデータの個数Ｙ1 で割り、平均値Ｘ2 （＝Ｘ1 ／Ｙ1 ）を計算し絶対値の２乗演算器７５および差の絶対値の２乗演算器７６に出力する。
【０１１２】
絶対値の２乗演算器７５は、複素数除算器７４から出力される平均値Ｘ2 より、平均値Ｘ2 の絶対値の２乗Ｘ3 （＝｜Ｘ2 ｜2 ）、すなわち平均電力（信号パワーの平均値）を計算し出力する。差の絶対値の２乗演算器７６は、複素数除算器７４から出力される平均値Ｘ2 とメモリ７１から読み出されたデータＹ2 との差の絶対値の２乗Ｘ４ （＝｜Ｘ2 −Ｙ2 ｜2 ）を計算し出力する。アキュムレータ７７は、絶対値の２乗演算器７６からの出力されるデータを基に、これらのデータの和Ｘ5 を計算し出力する。
【０１１３】
除算器７８は、アキュムレータ７７からの出力Ｘ5 を１フレーム内のデータの合計個数Ｙ1 により割り、分散値、すなわちフレーム内の平均ノイズ電力Ｙ3 （＝Ｘ5 ／Ｙ1 ）を計算し出力する。除算器７９は、平均電力Ｘ3 を、平均ノイズ電力Ｙ3 で割り、Ｓ／Ｎ測定値( Ｘ3 ／Ｙ3 ）を算出し出力する。
【０１１４】
上述した説明では、Ｓ／Ｎ測定回路５２を例として説明したが、Ｓ／Ｎ測定回路５３、Ｓ／Ｎ測定回路５４およびＳ／Ｎ測定回路５５も同様の構成を有し、上述した処理と同様の処理を行う。
【０１１５】
この発明の一実施形態において、剰余桁のいずれの組み合わせから得られた値も非冗長ダイナミックレンジの範囲内に収まらなければ、正しい処理結果が出力できず、図２４中のデコーダ２３ｄから再送要求信号が出力される。この場合、剰余桁ごとに剰余数演算回路のコンフィギュレーションデータの再送要求を新たに行い、剰余桁毎に回路を既存の剰余数演算回路の領域上に再構成し、再構成した回路の出力を含めてダイナミックレンジの判定を行う。この場合の再送方式は２種類可能である。
【０１１６】
第１の方法は、すべての法に対応する剰余桁の剰余数演算回路のコンフィギュレーションデータの再送を１度に要求する方法である。この方法の流れを図３１のフローチャートに示す。図３１において、ステップＳ１において、デコーダ２３ｄから再送要求信号が発生すると、ステップＳ２において、端末装置から基地局に対して、全ての法＝ｍ1，ｍ2 ，・・・，ｍN に対応する剰余数演算回路のコンフィギュレーションデータの再送が要求される。
【０１１７】
第２の方法は、法が最小のｍ1 の回路のコンフィギュレーションデータの再送要求から始めて、演算結果が非冗長ダイナミックレンジよりも小さくなるまで、法の値を順に大きくして各剰余桁の剰余数演算回路のコンフィギュレーションデータ毎に再送要求を繰り返す。再送されたコンフィギュレーションデータをＦＰＧＡ上に実現して、演算結果と非冗長ダイナミックレンジとを比較する。演算結果が非冗長ダイナミックレンジよりも小さいければ再送処理を終える。若し、非冗長ダイナミックレンジ以上であれば、より大きい法の剰余数演算回路のコンフィギュレーションデータの再送を要求する。
【０１１８】
第２の方法の流れを図３２のフローチャートに示す。ステップＳ１１において、変数ｉ（１〜Ｎ）を初期値である１に設定する。ステップＳ１２において、デコーダ２３ｄから再送要求信号が出力されたか否かが判定される。出力されない場合では、処理が終了する。
【０１１９】
再送要求信号が出力されたと判定されると、ステップＳ１３において、法ｍi （最初は、ｍ1）の剰余数演算回路のコンフィギュレーションデータの再送が要求される。次のステップＳ１４では、受信したコンフィギュレーションデータに対して誤り訂正符号の復号化による誤りビットの訂正を行い、訂正後のコンフィギュレーションデータに対してＣＲＣによって誤りの有無を検査する。
【０１２０】
ステップＳ１５において、ＣＲＣによる検査が合格か否か、すなわち、誤りが無いかどうかが決定される。誤りがあると判定されると、処理がステップＳ１３のコンフィギュレーションデータの再送処理に戻る。誤りが無いと判定されると、ＦＰＧＡ上のｍi に対応する剰余数演算回路を新たな回路に置き換え、動作させる。
【０１２１】
そして、ステップＳ１７において、デコーダ２３ｄから再送要求信号が出力されたか否かが決定される。再送要求信号が出力されなければ、処理が終了する。出力された場合では、ステップＳ１８において、（ｉ＝Ｎ？）が判定される。Ｎにｉが達していない場合では、ステップＳ１９において、ｉがインクリメントされ、ステップＳ１３の処理（再送要求）に戻る。Ｎがｉに達している場合では、ステップＳ２０において、（ｉ＝１）とされ、同様に、ステップＳ１３の処理（再送要求）に戻る。このように、ｍ1 〜ｍN のすべての法に対応する演算回路のコンフィギュレーションデータの再送が終了しても、演算結果が非冗長ダイナミックレンジよりも小さくならなければ、つまり、デコーダ２３ｄから再送要求信号が出力されるようであれば、ｍ1 からやり直す。
【０１２２】
前述した２つの方法は、演算結果が非冗長ダイナミックレンジに収まるかどうかを調べることによって、故障の検出を行うものである。全ての法に対応する冗長剰余数演算に基づく信号処理回路を一旦、ＦＰＧＡ上に実現して故障の検出を行わなくとも、各法の剰余数演算回路のコンフィギュレーションデータ毎にビット誤りの検出のためのＣＲＣを挿入し、ＣＲＣを検査して、明らかにビット誤りが発生しているのが分かれば、ＦＰＧＡ上への実現前にその回路には故障が発生したと推定できる。そのときは、対応する剰余数演算回路のコンフィギュレーションデータの再送を要求する。
【０１２３】
このようなコンフィギュレーションデータのフレームフォーマットを図３３に示す。２７ｂ−１は、ある法ｍ1 の演算回路のコンフィギュレーションデータである。ＣＲＣ２７ａ−１は、そのコンフィギュレーションデータに付加したＣＲＣである。以下、各法の剰余数演算回路のコンフィギュレーションデータ（２７ｂ−２，・・・・，２７ｂ−Ｎ）毎に同様なＣＲＣ（２７ａ−２，・・・・，２７ａ−Ｎ）を付加する。このＣＲＣを含むビット系列は、誤り訂正符号による符号化が行われている。その符号化は全コンフィギュレーションデータに対して一括して行われているか、またはＣＲＣｉと法＝ｍｉの演算回路のコンフィギュレーションデータ毎に誤り訂正符号の符号化が行われている。この誤り訂正符号の復号を行うことによって、その符号の訂正能力によって訂正可能な誤りが訂正され、訂正不可能な誤りは、訂正できず、誤りがあることが誤りフラグ等で示される。
【０１２４】
このような誤り訂正符号の復号化による誤りビットの訂正後に、ＣＲＣ１を用いた検査によって、ｍ1 の剰余数演算回路のコンフィギュレーションデータにビット誤りが発生したとすれば、その回路に故障が発生していることを意味する。誤りビットの訂正後にＣＲＣによって誤りが検出されることは、少ない確率であるが、可能性がある。この場合は、誤り訂正符号により訂正不可能な誤りが決定されたのと同様に、ＦＰＧＡ上に剰余数演算回路を実現する必要がない。誤りがＣＲＣで検出された法に対応する剰余数演算回路のコンフィギュレーションデータの再送のみを要求する。
【０１２５】
この処理のフローチャートを図３４に示す。ステップＳ３１では、変数ｉ（＝１〜Ｎ）が初期値１に設定される。ステップＳ３２では、コンフィギュレーションデータを受信し、誤り訂正符号による誤り訂正がなされる。誤りが訂正できた場合では、ステップＳ３３において、ＣＲＣ１によって検査がなされる。ステップＳ３４において、検査が合格したか否かが判定される。ＣＲＣ１によって誤りが検出できなければ、検査に合格したものとして、ステップＳ３５において、法＝ｍ1 の剰余数演算回路がＦＰＧＡ上に実現される。
【０１２６】
そして、ステップＳ３６において、（ｉ＝Ｎ？）が判定される。Ｎにｉが達していない場合では、ステップＳ３７において、ｉがインクリメントされ、ステップＳ３３の処理（ＣＲＣｉを使用した誤りの検査）に戻る。ｉ＝１の場合では、ｉ＝２とされ、ＣＲＣ２に対して同様な処理を行う。以下ｉ＝Ｎとなるまで繰り返し、Ｎがｉに達している場合では、処理が終了する。
【０１２７】
ステップＳ３４において、若し、ＣＲＣの検査によってコンフィギュレーションデータが不合格であれば、ステップＳ３８において、ｍ1 の剰余数演算回路のコンフィギュレーションデータのみの再送を要求する。そして、ステップＳ３９において、再送された法＝ｍ1 の剰余数演算回路のコンフィギュレーションデータを受信し、誤り訂正符号の復号化によって誤りビットの訂正を行う。そして、処理がステップＳ３３（ＣＲＣｉを使用した検査）に戻る。なお、図３４では、省略されているが、誤り訂正符号によって誤りが訂正できない場合では、そのコンフィギュレーションデータの再送が要求される。
【０１２８】
さらに、剰余数演算における剰余桁の独立性を活用することにより、ソフトウエア無線機の信号処理回路のダイナミックレンジを無線経由で容易に再設定できる。端末局は基地局に対して、ダイナミックレンジの増加分のみに相当する法に対応する剰余数演算回路のコンフィギュレーションデータのみの伝送を要求する。この場合、増加分の信号処理回路のレイアウト配置位置に関する制約は剰余桁の独立性より、通常の２進数演算回路よりも、既に実現されている信号処理回路のレイアウト配置位置に依存しない。通常の２進数による数値表現から剰余数による数値表現に変換する変換回路や演算結果に対する検査や結果の選択回路は、法の値や個数等設定を設定することによって、プログラマブルに行われるか、または、所望の機能を有する回路のコンフィギュレーションデータをローカルのデータベースから読み出して、ＦＰＧＡに供給して実現するものとする。
【０１２９】
図３５は、ＦＰＧＡ上に実現したレイアウト構成図の例を示す。参照符号３１ｄはＦＰＧＡチップである。参照符号３１ａ−１，３１ａ−２，３１ａ−３，３１ａ−４は、既に実現されている通常の２進数を剰余数系に変換する変換回路であり、参照符号３１ｂ−１，３１ｂ−２，３１ｂ−３，３１ｂ−４は、既に実現されている剰余数演算回路による信号処理部である。また、参照符号３１ｃは、４種類の剰余数を通常の２進数に変換し、正しい結果を選択する回路であり、既に実現されているものとする。
【０１３０】
演算精度を向上させるために、ダイナミックレンジを変える、例えば１３倍に増加させる場合は、法が１３の演算回路３１ｂ−５を付加すれば良い。また、それに伴って通常の２進数から法が１３の剰余数へ変換するための変換回路３１ａ−５の追加、並びに新しい法の１３を考慮した剰余数系から通常の２進数系に変換して正しい演算結果を選択するための変換回路３１ｃの変更が必要である。
【０１３１】
変換回路３１ａ−５と、変換回路３１ｃは、端末装置のコンフィギュレーションデータベース２４−ｃ（図２５）または２６−ｃ（図２７）から読み出されて、ＦＰＧＡ上に実現されるか、または、これらがプログラマブルな回路として設計してあれば、法の値や法の個数等の設定信号を変えるだけで、新たに付加した方の演算回路に適用できる。
【０１３２】
この発明は、上述したこの発明の一実施形態等に限定されるものでは無く、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えばプログラム可能な論理回路としては、ＦＰＧＡ以外にマイクロプロセッサ（あるいはＤＳＰ）を使用しても良い。また、誤り検出符号としては、ＣＲＣ以外の単純パリティ等の符号を使用しても良い。また、この発明は、端末装置に限定されず、無線通信システムにおける基地局装置、衛星や飛行物体に取り付けられる放送用の中継装置に対しても、端末装置の場合と同様に、この発明を適用することができる。
【０１３３】
【発明の効果】
以上のように、この発明によれば、ＦＰＧＡコンフィギュレーションデータに無線伝送路の雑音によって発生したビット誤りに起因する回路故障の影響を無くすことができる。また、回路の故障が深刻であり、正しい結果が出力できなくとも、この発明によれば、法毎に剰余数演算回路のコンフィギュレーションデータの再送を行うことによって、効率的に回路の再構成が可能となる。さらに、冗長剰余数演算回路の冗長度が大きいと、ＦＰＧＡのハードウエアが無駄となる可能性があるが、この発明は、伝送路のＳ／Ｎにしたがって、冗長度を適応的に設定することで、最適な冗長度の演算回路を効率的にＦＰＧＡ上に実現できる。さらに、この発明では、信号処理回路の剰余数演算回路を新たに付加することによって容易にダイナミックレンジを増加させることができる。
【図面の簡単な説明】
【図１】従来の技術によるソフトウェア無線装置の一例を示すブロック図である。
【図２】ソフトウェア無線通信システム用のソフトウェアを無線ダウンロードするリンクのパケットの構成例、並びに情報データを伝送するリンクのパケットの構成例を示す略線図である。
【図３】ソフトウェアがダウンロードされた変調部によって端末局から基地局に対して伝送するリンク（アップリンク）のパケットの構成例を示す略線図である。
【図４】ソフトウェア無線通信システムのパケット再送処理例を示す略線図である。
【図５】ＭＭＡＣ用のＯＦＤＭ復調部の構成例を示すブロック図である。
【図６】ＷＣＤＭＡ用のスペクトラム拡散方式復調部の構成例を示すブロック図である。
【図７】ＦＰＧＡのＬＵＴとＣＬで設計した９ビット加算器の構成例を示すブロック図である。
【図８】ＦＰＧＡのＬＵＴとＣＬを使用して設計した３×２ビットの乗算器の構成例を示す略線図である。
【図９】真理値表に基づいてＬＵＴによって設計した演算回路の構成例を示すブロック図である。
【図１０】ＦＰＧＡの一例の内部構成を示す略線図である。
【図１１】ＣＬＢの一例の内部構成を示すブロック図である。
【図１２】ＣＢの一例の構成を示す略線図である。
【図１３】ＳＢの一例の構成を示す略線図である。
【図１４】ある論理回路をＦＰＧＡ上に実現した場合の一例のＦＰＧＡレイアウトを示す略線図である。
【図１５】通常の２進数演算による演算回路のレイアウトの概略を示すブロック図である。
【図１６】通常の２進数演算による演算回路において演算精度の拡張を行う場合のレイアウトの概略を示すブロック図である。
【図１７】剰余数演算の説明に用いる略線図である。
【図１８】同一のダイナミックレンジを実現するための回路のレイアウト規模を比較するためのブロック図である。
【図１９】剰余数演算回路による構成のレイアウトを示すブロック図である。
【図２０】通常の２進数演算回路による構成のレイアウトを示すブロック図である。
【図２１】剰余数演算回路を用いた信号処理システムの構成例を示すブロック図である。
【図２２】剰余数系から通常の２進数系への数値の変換の一例を示す略線図である。
【図２３】冗長剰余数演算の一例および演算回路のレイアウトを示す略線図である。
【図２４】冗長剰余数演算に基づく信号処理回路の一例の構成を示すブロック図である。
【図２５】冗長剰余数演算に基づくソフトウェア無線通信システムの一例の構成を示すブロック図である。
【図２６】ソフトウェア無線機の一例の構成を示すブロック図である。
【図２７】冗長度を適応的に可変するソフトウェア無線機の一例の構成を示すブロック図である。
【図２８】Ｓ／Ｎ測定部の一例の構成を示すブロック図である
【図２９】Ｓ／Ｎ測定部の説明のためのブロック図である
【図３０】Ｓ／Ｎ測定部の説明のためのブロック図である
【図３１】コンフィギュレーションデータの一括再送処理を説明するフローチャートである。
【図３２】コンフィギュレーションデータの分割再送処理を説明するフローチャートである。
【図３３】コンフィギュレーションデータのフレームフォーマットの一例を示す略線図である。
【図３４】剰余桁毎にＣＲＣを付加した場合における再送処理を説明するフローチャートである。
【図３５】ＦＰＧＡチップ上のレイアウト構成例を示す略線図である。
【符号の説明】
２３ａ−１，２３ａ−２，２３ａ−４・・・法の組｛３，５，７，１１｝の各法に対応する剰余数演算回路で構成された信号処理回路、２３ｂ−１，２３ｂ−２，２３ｂ−３，２３ｂ−４・・・剰余桁の演算回路の異なる出力の組み合わせを２進数へ変換する変換回路、２３ｃ−１，２３ｃ−２，２３ｃ−３，２３ｃ−４・・・変換回路の出力を非冗長ダイナミックレンジの値と比較する比較回路、２３ｄ・・・非冗長ダイナミックレンジよりも小さい結果を出力する法の組み合わせを選択する選択情報を生成するデコーダ、２３ｅ・・・選択情報にしたがって変換回路の出力を選択するマルチプレクサ、２４ｂ・・・コンフィギュレーションデータを受信するための無線機、２４ｃ・・・コンフィギュレーションデータベース、２４ｅ・・・ソフトウエア無線機、２６ｇ・・・Ｓ／Ｎ測定器、２６ｈ・・・冗長度決定部
【図１】
0004806765.tif 000008
【図２】
0004806765.tif 000009
【図３】
0004806765.tif 000010
【図４】
0004806765.tif 000011
【図５】
0004806765.tif 000012
【図６】
0004806765.tif 000013
【図７】
0004806765.tif 000014
【図８】
0004806765.tif 000015
【図９】
0004806765.tif 000016
【図１０】
0004806765.tif 000017
【図１１】
0004806765.tif 000018
【図１２】
0004806765.tif 000019
【図１３】
0004806765.tif 000020
【図１４】
0004806765.tif 000021
【図１５】
0004806765.tif 000022
【図１６】
0004806765.tif 000023
【図１７】
0004806765.tif 000024
【図１８】
0004806765.tif 000025
【図１９】
0004806765.tif 000026
【図２０】
0004806765.tif 000027
【図２１】
0004806765.tif 000028
【図２２】
0004806765.tif 000029
【図２３】
0004806765.tif 000030
【図２４】
0004806765.tif 000031
【図２５】
0004806765.tif 000032
【図２６】
0004806765.tif 000033
【図２７】
0004806765.tif 000034
【図２８】
0004806765.tif 000035
【図２９】
0004806765.tif 000036
【図３０】
0004806765.tif 000037
【図３１】
0004806765.tif 000038
【図３２】
0004806765.tif 000039
【図３３】
0004806765.tif 000040
【図３４】
0004806765.tif 000041
【図３５】
0004806765.tif 000042