JP2003520551A - デジタル無線基地局 - Google Patents

デジタル無線基地局

Info

Publication number
JP2003520551A
JP2003520551A JP2001553680A JP2001553680A JP2003520551A JP 2003520551 A JP2003520551 A JP 2003520551A JP 2001553680 A JP2001553680 A JP 2001553680A JP 2001553680 A JP2001553680 A JP 2001553680A JP 2003520551 A JP2003520551 A JP 2003520551A
Authority
JP
Japan
Prior art keywords
base station
processing
hardware
cvm
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2001553680A
Other languages
English (en)
Inventor
フェリス・ギャビン・ロバート
Original Assignee
レイディオスケープ リミテッド
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
Priority claimed from GBGB0001577.6A external-priority patent/GB0001577D0/en
Application filed by レイディオスケープ リミテッド filed Critical レイディオスケープ リミテッド
Publication of JP2003520551A publication Critical patent/JP2003520551A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/0003Software-defined radio [SDR] systems, i.e. systems wherein components typically implemented in hardware, e.g. filters or modulators/demodulators, are implented using software, e.g. by involving an AD or DA conversion stage such that at least part of the signal processing is performed in the digital domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • H04B1/403Circuits using the same oscillator for generating both the transmitter frequency and the receiver local oscillator frequency
    • H04B1/406Circuits using the same oscillator for generating both the transmitter frequency and the receiver local oscillator frequency with more than one transmission mode, e.g. analog and digital modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices
    • H04W88/10Access point devices adapted for operation in multiple networks, e.g. multi-mode access points

Abstract

(57)【要約】 【課題】 1以上のベースバンド処理用アルゴリズムを高水準ソフトウェアを用いて表すことを可能にするのに適したハードウェア抽象化層を用いてプログラムされるデジタル無線基地局が開示される。 【解決手段】 一般用プロトコルとハードウェアとによって、基地局(従来、非常に高価な、ベンダによりロックされたアプリケーション専用製品)が、単にソフトウェアの変更にすぎない多くの様々な変調規格を実行する能力を持つ汎用性のある、調整可能なベースバンド・プラットフォームに変えられる。IPは、このデバイスをバックネットと接続するために使用される。またIPは、公開されたデータと制御書式とを用いて、サード・パーティのRFモジュールからデジタル化されたIFを送出したり、サード・パーティのRFモジュールへ送出したりするためにも利用される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明はデジタル無線基地局に関する。基地局とはUMTS(ユニバーサル移
動電話システム)のような無線通信システムにおける送受信装置用ノードである
。従来の方式では、1つの基地局は複数のユーザ用装置(UE)の端末と交信す
るようになっている。‘通信する’及び‘通信’という用語は1方向通信(無線
放送など)、2方向通信(UMTSなど)及び1対1と1対多の通信をカバーす
るものである。
【0002】
【従来の技術】
デジタル無線通信基地局におけるデジタル信号処理は、低いラテンシと、高い
数値命令ローディングと、大容量DMAチャネルとを有する広い(すなわち高度
に並列の)アルゴリズムによって特徴づけられる。基地局を取り囲む環境は厳し
い環境であり、従来は、ASIC(特定用途向け集積回路)がしばしば利用され
るアプリケーション専用ハードウェアによって満されてきた。これらの種類のハ
ードウェア・ベースのデジタル無線通信基地局は製造に1年以上を要する場合が
あり、さらに、これらの基地局に関連する多大の開発費用を要する場合がある。
また、デジタル無線通信基地局においてソフトウェア・アーキテクチャも利用さ
れてきたが、これらのアーキテクチャは、C言語などの非オブジェクト指向言語
と、制限されたバーチャル・マシン(RTOS層)と、VHDLなどの非直感的
ハードウェア記述システムとをベースとしているため、切り離せないように一体
化されて、扱い難い傾向があった。
【0003】 この結果、実際には、基地局ベンダが、ネットワーク・プロバイダに、ハード
ウェア、ソフトウェア、RFコンポーネント(これらすべては最適ではない構成
である場合が非常に多い)の一括購入を強いることが可能であった。基地局の中
へ閉じ込められた(または実質的に閉鎖された)インターフェースのために、や
はりそのベンダの基地局コントローラを使用せざるを得ず、それがさらに、品質
についての選択肢を狭め、品質の低下へつながることになった。また、基底を成
す通信規格の重要な変更により、‘大幅な(forklift)グレードアップ’が非常
に頻繁に求められ、オンサイトでのハードウェアの改変を余儀なくされてきた。
【0004】 しかし(UMTSのような)デジタル無線規格は非常に複雑なものであるため
、また、非常に急速に変更されるため、これらの従来方式のハードウェアベース
の設計による解決方法の適用がますます困難になりつつある。PCの非アナログ
領域(arena)へ目を移せば、現在のデジタル無線通信基地局の設計上の柔軟性
の無さを最も硬直した対照的な形で見ることができる。PCによって、ハードウ
ェア抽象化層(ウィンドウズTMのバーチャル・マシン)の中にまとめて包みこ
まれた(wrapped up)適切なセットのハードウェア資源(スクリーン、メモリ、
プロセッサ、キーボードなど)が提供され、これらのハードウェア資源は広範囲
のアプリケーションの要求を満たすのに十分であり、その場合、これらのアプリ
ケーションは高レベルのソフトウェアを十全に用いる開発も可能となる。ソフト
ウェア内のアプリケーション・ニーズの解決にとって多くの利点がある。すなわ
ち製造スピードが早まり、相対的に製造コストが低くなり(これにより多数のプ
レイヤのマーケットへの参入が可能となり、競争が生じる)、最終製品の配送コ
ストと在庫コストはほとんどゼロとなる。
【0005】 また、PCは汎用性のある拡張可能なハードウェアによる設計が行われ、複数
のハードウェア・ベンダが競争して改良されたハードウェアや周辺機器の組立て
を行うことが可能となり、利用可能性と品質のアップと、エンドユーザのコスト
ダウンが促進される。
【0006】 非アナログのデジタル信号処理(DSP)の世界(特に基地局の設計)への同
一パラダイムの適用は現在まで着想されたことはなかった。その理由として、D
SP/基地局の世界が、ビジネス用/家庭用アプリケーションの空間とは全く異
なるセットのアルゴリズム要件を持っていたということが挙げられる。
【0007】
【発明が解決しようとする課題】
本発明の第1の態様では、ベースバンド信号処理に適したバーチャル・マシン
層を備えてデジタル無線通信基地局がプログラムされる。このバーチャル・マシ
ン層は、基底を成す‘エンジン’に対して高MIPS機能の呼出しを行う高水準
ソフトウェアを用いて1以上のベースバンド処理用データ・フローを表すことを
可能にするのに適している。
【0008】 本発明の1つの実施構成では、一般用(commodity)プロトコルとハードウェ
アとが利用され、(通常、非常に高価な、ベンダによりロックされたアプリケー
ション専用製品である)基地局は、単にソフトウェアの変更にすぎない多くの様
々な変調規格の実行能力を持つ汎用性のある、調整可能なベースバンド・プラッ
トフォームに変えられる。IPは、このデバイスをバックネットと接続するため
に使用される。またIPは、公開されたデータフォーマットと制御フォーマット
とを用いて、サード・パーティのRFモジュールからデジタル化されたIFを送
出したり、サード・パーティのRFモジュールへIFを送出したりするためにも
利用される。一般用ハードウェアと、分解(decomposition)と、公開された規
格とを用いて、基地局をソフトウェア領域(arena)の中へ移すことに焦点を合
わせる本アプローチは大きな利点の提供を約束するものであり、同時に、新しい
通信プロトコルの採用に伴う固有技術に関わるリスクを大幅に減少させるもので
もある。これらの一般原則は以下のように拡張を行うことが可能である:すなわ
ち、実施構成において、ハードウェア抽象化層はPCIバス・バックプレーンを
含むハードウェア上で稼動する。業界規格32ビット×33MHzPCI−バッ
クプレーンを使用することにより、以下の(i)〜(ii)が利用可能となる:
(i)PC領域に予め限定した、広範囲の優れたかつ低価格のデバイス(バス・
マスターリングDMAブリッジ・チップなど);(ii)(その広範囲の開発用
ツールと周辺機器に対するサポートとを備えた)開発用プラットフォームとして
のPC。また、遠隔モニタ用プラットフォームとしてPCの利用が可能にもなる
。バーチャル・マシン内のハードウェア・エレメントは、適切な、アーキテクチ
ャから見てニュートラルなメッセージ通信システムを利用する通信を行うことも
可能である。例えば、I20対応メッセージ通信の利用が可能である:業界で広
く使用されているメッセージ通信の使用は閉鎖型専有システムから、多くの様々
なサプライヤが開発を目指すことができるオープン・システムに向けての本発明
の一般的アプローチを例示するものである。
【0009】 このアプローチのさらなる例として、開放型インターフェースであるインター
フェースを介して基地局と接続するRFエレメント向けのアプローチがある。従
来、閉鎖型専有インターフェースが標準的なインターフェースであった。これら
のインターフェースのために、非常に専門的なアナログ設計の熟練技術を持つR
Fサプライヤでも製品開発を行うことは困難とされてきた。それは、複雑で急速
に変化するデジタル基地局の設計についての知識が要求されることに起因してい
た。しかし、インターフェースをオープンなものにすることにより、代わりに、
単純なインターフェース仕様を満すRFエレメントを設計することで、基地局の
基底を成す、複雑な要件についての詳細な知識がなくても製品開発が可能となる
ため、RFサプライヤでも実際上競争に参入することが可能となる。開放型イン
ターフェースを以下のコンポーネントの中の1以上のものと定義することもでき
る: (i)給電 (ii)データ (iii)制御 (iv)タイミング/同期 (v)状態
【0010】 また、実施構成では標準的IPベースのプロトコルが使用される:基地局はI
PベースのデジタルIFフィードを無線塔へ送る。IPフィードは、複数のRF
ユニットまで出力される。また、無線塔で受信した信号から得られるIPフィー
ドを下の複数のプロセッサ・ボードへ受け渡すことができる。標準的IPベース
のプロトコルを使用して、広範囲のIPベースのコンポーネントと専門的技術と
の利用が可能となり、コストが低下し、サード・パーティの設計による貢献が促
進される。1つの望ましい実施構成では、ベアラを介してRTP/UDP/IP
プロトコルをサポートするRFの‘ヘッド’から及びRFの‘ヘッド’へ送信さ
れるデータ・コンポーネント用の基底を成すベアラとしてバスLVDH(低電圧
差分信号)が使用される。別の実施構成では、(ファイバ・チャネルなどの)光
ファイバ・ベアラがベアラとして使用される。光ファイバ・ベアラの使用は、プ
ロパーの基地局とRFヘッドとの間の距離が大きくなるにつれて、また、(より
高いIF名目搬送波周波数中心周波数の結果として、若しくは、ADC/DAC
Sの中で使用されるビット数の増加としてのいずれか、あるいは、これらファク
タ双方の組合せの結果として)IF帯域が広くなるにつれて魅力的なものになる
【0011】 基地局には通常、複数の並列処理ノードを利用して調整可能な処理を実行でき
るようにプログラムされたスケジュラが具備されている。このスケジュラはI2
0ベースの資源自己発見機能を利用し、この関数によって、スケジュラはランタ
イム時にそのスケジューリング活動の動的な修正が可能となる。上記スケジュラ
は、序列的分画用ファイルを読み出して、どのデータ・パスがどの処理ユニット
で実行をすべきかに関するスケジュラの決定に役立てることも可能である。
【0012】 基地局は、ソフトなデータ・パスまたはハードなデータ・パス(あるいはこれ
ら2つのパスの組合せ)のいずれかで実現される基底を成す‘エンジン’への変
更を単に行うことにより、1つの組のベースバンド処理用アルゴリズムから別の
組のアルゴリズムへのオペレーションの変更を行うことができる。但し、ハード
なデータ・パスとはASICまたはFPGAで実現されるフローであり、ソフト
なデータ・パスとは、従来のプログラム可能なDSPプログラマブルを介して実
現されるフローである。さらに、単一の基地局での複数の規格の同時実行を行う
ことも可能である。
【0013】 本発明の基礎を成す1つの特性として、デジタル無線基地局に適用されるバー
チャル・マシンすなわちハードウェア抽象化層というコンセプトがある。付属説
明1には、ハードウェア抽象化層の意味、目的及び細目、並びに、UMTSノー
ド−bなどのデジタル無線基地局で見られるような2方向放送スタックへのそれ
の一般的利用がさらに詳細に記載されている。本要約の目的として、ハードウェ
ア抽象化層サポートによって、高度の複雑さを持ちながら低MIPSの、標準規
格専用コード(この専用コードは、アーキテクチャ上ニュートラルな方法で書き
込むことができる)を基底を成す高MIPSエンジンから切り離すことが可能と
なる。上記エンジンの実施構成は、特定のアーキテクチャと結びついてはいるが
、複数の様々な通信システムに対して応用できるものである。
【0014】 さらに広義には、ハードウェア抽象化層とは、様々なコア処理及び/又はコア
構造及び/又はコア機能及び/又はフロー制御及び/又は状態管理機能を持つよ
うにプログラムされたソフトウェアである。コア処理の中の1つには、ソース符
号化、チャネル符号化、変調の各ステップ、あるいはそれらの逆のステップ、す
なわちソース復号化、チャネル復号化及び復調の各ステップを実行するアルゴリ
ズムが含まれる。
【0015】 バーチャル・マシン・ハードウェア層の実施構成はCVM(通信用バーチャル
・マシン)と呼ばれる。CVMとは、デジタル信号処理製品開発用プラットフォ
ームと、当該製品を稼動するためのランタイム(runtime)との双方を指すもの
である。CVMは、基本的に、バーチャル・マシン層と関連する複雑さの管理手
法をリアルタイム・デジタル信号処理に導入するものであるが、この信号処理は
、(i)(アーキテクチャ独自の方法で実現可能な)高MIPSデジタル信号処
理計算をバーチャル・マシン層の一方の側の‘エンジン’の中へ配置すること、
(ii)アーキテクチャから見て中立な低MIPSコード(様々な低MIPS処
理を定義する層1コードなど)をもう一方の側に配置することにより実行される
。さらに具体的には、CVMは、低MIPS制御プレーンとデータ‘処理とパラ
メータ’フローを除くすべての高度の複雑さを、(ビタビ復号化、FFT、相関
などの)多量の資源を必要とする処理を実行する高MIPS‘エンジン’から切
り離すものである。この切り離しによって、‘アーキテクチャから見て中立な’
高い移植性を持つ方法で、複雑な通信用ベースバンド・スタックの構築が可能に
なる。なぜならば、基底を成すハードウェア上ではなく、CVM上で実行される
ベースバンド・スタックの設計が可能となるからである。CVMは、これらのス
タックの高度の複雑さを有する低MIPS制御コードに対して均一なセットのA
PIを示し、多くの様々な種類のスタック用として高MIPSエンジンの再利用
を可能にする(例えば、GSMとUMTSスタック双方のためのビタビ復号用エ
ンジンの利用が可能となるなど)。
【0016】 バーチャル・マシン層は、いくつかの様々なベースバンド処理用アルゴリズム
に共通の基底を成す高MIPSアルゴリズムをサポートし、これらのアルゴリズ
ムを、高水準の、アーキテクチャから見て中立なスケジュラ・インターフェース
の中を通る、潜在的に高度の複雑さを有する低MIPS制御フローへのアクセス
を可能にし、このアクセスによって、ランタイム、メモリ、相互接続帯域のうち
の1以上に応じて、1組の資源制約包絡と共に、制御フローによるアルゴリズム
の実行指定を可能にする。この1以上の相互接続帯域の内側で発信者は処理の実
行が行われることを望む。
【0017】 デジタル信号処理製品の開発段階中、(最少の数のプロセッサで実行するな
どの)最適のアクセス・コストを示す構成を特定することを目的として、デジタ
ル信号処理製品の様々な設計上のMIPS要件の、CVMによるシミュレーショ
ンやモデル化の実施が可能である。決定論的関数とは対照的な、少なくとも1つ
の確率論的統計分布関数(及び/又は統計的測定関数)を利用するモデル化を行
うための資源割当て処理が利用される。様々なDSPチップとFPGAとから成
る実現構成のシミュレーションが可能である。高MIPSの速度と並列処理能力
とに起因して、FPGAの中に高MIPS演算処理を配置することが非常に望ま
しい。
【0018】 実際の演算処理中、最適の演算処理を維持するために、CVM内のスケジュラ
がリアルタイムで知的にタスクの割り当てを行うことが可能となる。本明細書で
はこのアプローチを‘2段階スケジュリング’と呼ぶ。様々なエンジンの資源要
件が、(i)設計時に明示的にモデル化が可能であること、(ii)ランタイム
中、知的に利用が可能であること、という理由により、いくつかの様々なベンダ
からのエンジンを単一製品の中に混ぜることが可能となる。上述したように、こ
れらのエンジンは、層1と直接の接続を行うのではなく、代わりにCVMバーチ
ャル・マシン層の中継を介して制御コードを層1と接続する。さらに、DSPと
FPGAとの組合せを利用するPCT非リアルタイム・プロトタイプからランタ
イムプロトタイプへの移行、次いで、カスタムASIC上への効率のよい移動が
CVMを用いることにより可能となる。
【0019】 CVMでは以下の3つの主な特長が実現される: * 同時スケジュリングのためのサポートを備えた、ダイナミック、マルチ・
メモリ空間用マルチプロセッサ分散型スケジュラ * アーキテクチャ固有の実現構成を備えた、デジタル放送及び通信用として
共用される高MIPS演算処理用API * (固有のRTOSを介して供給される)資源管理及び正常化層(normaliz
ation layer)
【0020】 本発明の第2の態様では、第1の態様で定義されたような基地局のベースバン
ド・スタックを形成するベースバンド・スタックが存在する。
【0021】 本発明の第3の態様では、第2の態様のベースバンド・スタックのシミュレー
ションを行うための設計用ツールが存在する。この態様では、上記設計用ツール
は、複数の標準的接続タイプ、及び、パイプラインにより処理されるデータによ
るパイプラインの管理の決定を可能にする同期方法を用いて、ソフトウェアとハ
ードウェア・コンポーネントとを一緒にリンクすることができる。上記設計用ツ
ールは、複数の並列データ・パスに対するロード(バーチャル・マシンの基底を
成す‘エンジン’の分布)の確率的シミュレーションをサポートすることができ
る。但し非対称メモリ・トポロジの範囲内の様々な位置に対するこれらのデータ
・パスの分布の影響(コンポーネントはローカルなものもあれば、争奪が行われ
る(contested)バスの両端にわたってアクセス可能なものなどもある)を、所
定の予め計算された使用シナリオの予想されるローディング・パターンに関して
調査を行うこともできる。このような設計用ツールの出力として、設計用‘エン
ジン’(高MIPSコンポーネント)の、様々に分布した‘ハードな’及び‘ソ
フトな’データ・パスへの最初の分割が行われる(但し、ハードのデータ・パス
とはASICまたはFPGAの中で実現されるフローであり、ソフトなデータ・
パスとは、従来のプログラム可能なDSPプログラマブルを介して実現されるフ
ローである)。この分割は、動的スケジューリング・エンジン(このエンジンに
よって、アーキテクチャから見てニュートラルな高レベルのソフトウェアが、基
底を成すエンジンへ処理要求の実行指令を出す)にとって可視の分割であり、上
記エンジンは上記分割を利用して、ランタイムのスケジューリング決定を最適ま
たは最適に近いものにする処理を行う際の補助を行う。
【0022】 第4の態様には、基地局デバイスの一部またはすべての設計方法がある。この
方法では、ベースバンド信号処理にとって適切なバーチャル・マシン層上にプロ
グラムされたソフトウェアを使用するステップが行われる。
【0023】 第5の態様では、デジタル無線基地局に適したコンピュータ・ソフトウェアが
あり、該ソフトウェアはハードウェア抽象化層として機能し、このソフトウェア
によって1以上のベースバンド処理用アルゴリズムを高水準ソフトウェアを用い
て表すことが可能になる。好適には、上記基地局は、第1の態様で定義されるよ
うな基地局であることが望ましい。
【0024】 本発明の第6の態様には、第5の態様のコンピュータ・ソフトウェアを用いて
プログラムされたコンピュータ・ハードウェアがある。
【0025】 第7の態様では、デジタル無線基地局との接続に適した1以上のRFエレメン
トがある。この態様では、基地局は第1の態様で定義されたような基地局である
【0026】 本発明のさらなる詳細とその様々な態様は請求項の中に含まれる。
【0027】
【発明の実施の形態】
以下、添付図面を参照しながら本発明について説明する。汎用ベースバンド・
プロセッサ(“GBPTM”)を介して実行されるソフトウェア定義無線(“S
DR”)基地局から成る、RadioScape有限責任会社(英国、ロンドン
)から得られる実施構成との関連で本発明について説明する。この基地局はUM
TSノード−bである。上述したように、RadioScape社のアプローチ
の本質は、一般用プロトコルとハードウェアとを利用して、(従来、非常に高価
な、ベンダによりロックされたアプリケーション専用製品である)基地局を単に
ソフトウェアの変更にすぎない多くの様々な変調規格の実行能力を持つ汎用性の
ある、調整可能なベースバンド・プラットフォームに変えることである。Rad
ioScape社のシステムでは、IPは、このデバイスをバックネットと接続
するために使用される。またIPは、公開されたデータ・フォーマットと制御フ
ォーマットとを用いて、サード・パーティのRFモジュールからデジタル化され
たIFを送出したり、サード・パーティのRFモジュールへ送出したりするため
にも利用される。
【0028】 SDRベースのUMTSノード−b基地局とは、GBPを介して実行される(
C++、DSPアセンブラ及びHandel−C/VHDLで書かれた)ソフト
ウェア記述である。GBPは、MIPSと、無線通信用デジタル信号処理タスク
に要求されるスループットとを供給するように設計された強力なハードウェア・
プラットフォームである。GBPは、IPを利用するネットワーク基盤と接続し
、UDPを介するRTP(リアルタイム・プロトコル)を用いて、デジタル化さ
れたIF信号を搬送するIPバスを介して単数または複数のRFモジュールと交
信を行う。オンボード処理用資源が複数のFPGA(フィールド・プログラマブ
ル・ゲート・アレイ)と、高スペックDSP(デジタル信号プロセッサ)とによ
り供給される。最適化例では、コスト効率を図るために、FPGA上のハードの
データ・パスの若干あるいはすべてのASICへの変換が考慮される場合もある
。RadioScape社のランタイム、CVM(すなわち通信用バーチャル・
マシン)は、システムRTOS(サード・パーティである)の上位に在るハード
ウェア抽象化層を提供するものである。このCVMによって、プラットフォーム
から見てニュートラルな方法でスタックの高MIPS機能を呼び出すことが可能
となる。ノード−b制御フロー・コード自体はGBP上のCVMを介して処理を
実行する。
【0029】 データ及びソフトウェア・プロバイダがUMTSネットワーク‘を引っかける
(hook into)’ことができる手段としての1組の制御用APIの利用が可能で
ある。この企ての問題点として、データ(ますますフラットになるバックホール
・コアの両端にわたってIPパケット・データ用のより高いバースティな帯域)
のニーズにより3G開発全体が駆動されていると評価されるにも拘らず、実際に
は、ソフトウェアまたはデータ・ベンダが、基底を成すネットワークにより提供
されるファシリティを利用することが困難であるという点が挙げられる。この目
的のために、RadioScape社のAPIによって、開放型COM(コンポ
ーネント・オブジェクト・モデル)、XML(拡張可能マークアップ言語)及び
SNMP(シンプル・ネットワーク管理プロトコル)ベースのシステムが提供さ
れる。このシステムによって、外部のプログラマは無線ネットの特性と接続し、
この特性を利用することが可能となる。‘ドライバ’の利用を通じて、(例えば
CDMA2000、ブルートゥースなどの)任意の高帯域ネットワークを介して
このフレームワークの実現が可能であり、さらに、UMTS3Gネットワークの
任意のベンダの実施構成用として上記フレームの実現が可能である。上述したよ
うに、RFインターフェース(制御、タイミング同期及びデジタル化されたIF
)が、RadioScape社により、完全にオープンになり、公開されている
。したがって、‘最善のRFプロバイダを求めて‘いくつかの店を見て回る(sh
opping around)’ことが、GBPパラダイムを利用するネットワーク・プロバ
イダにとって現実のものとなる。
【0030】 GBPパラダイム PCの成功については誰もが熟知している。この成功の理由として、適切なセ
ットのハードウェア資源(スクリーン、メモリ、プロセッサ、キーボードなど)
がPCにより提供されることが挙げられる。これらの資源は、ハードウェア抽象
化層(ウィンドウズのバーチャル・マシン)の中にまとめて包みこまれ(wrappe
d up)、広範囲のアプリケーションの要求を満たすのに十分な資源であり、高レ
ベルのソフトウェアを用いてこれらのアプリケーションの完全な開発を行うこと
も可能となる。さらに、ソフトウェア内でのアプリケーションのニーズの解決に
とって多くの利点がある。すなわち製造がスピードアップされ、相対的に製造コ
ストが安くなり(これにより多数のプレイヤのマーケットへの参入が可能となり
、競争が生じる)、最終製品の配送コストと在庫コストはほとんどゼロとなる。
【0031】 また、PCは汎用性のある拡張可能なハードウェア設計されたものであり、複
数のハードウェア・ベンダが競争して改良品や周辺機器の組立てを行うことが可
能となり、利用可能性と品質のアップ、及び、エンドユーザのコストダウンが促
進される。本発明の洞察として、デジタル信号処理(DSP)の業界に類似のパ
ラダイムの適用が可能であれば魅力的であろうという点が挙げられる。しかし、
遺憾ながら最近までこの業界の友好関係は、PCプラットフォームから切り離さ
れて、石器時代の技術で機能していた。その理由として、この友好関係がビジネ
ス用/家庭用アプリケーションの空間とは全く異なるセットのアルゴリズム要件
を持っているという点が挙げられる。前述したように、高い数値命令ローディン
グと大容量DMAチャネルを備えた、広い(すなわち高度に並列の)アルゴリズ
ムに対する要望は、しばしばASICを使用するアプリケーション専用ハードウ
ェアの開発へと導かれる傾向がある。これらのデバイスは製造に1年以上を要す
る場合があり、さらに、これらのデバイスに関連する多大の開発費用を必要とす
る場合もある。さらに、存在するこのようなソフトウェア・アーキテクチャはC
などの非オブジェクト指向言語と、制限されたバーチャル・マシン(RTOS層
)と、VHDLなどの非直感的ハードウェア記述システムとに基づいているため
、切り離せないように一体化されていて、扱い難い傾向があった。
【0032】 上記すべての結果として、無線通信基地局のような複雑なシステムの場合、基
地局ベンダが、ネットワーク・プロバイダに、ハードウェア、ソフトウェア、R
Fコンポーネント(これらすべては最適ではない構成である場合が非常に多い)
の一括購入を強いることが可能であった。基地局の中へ閉じ込められた(または
実質的に閉鎖された)インターフェースのために、やはりそのベンダの基地局コ
ントローラを使用せざるを得ず、それがさらに、品質についての選択肢を狭め、
品質の低下へつながることになった。また、基底を成す通信規格の重要な変更に
より、‘大幅な(forklift)グレードアップ’が非常に頻繁に求められ、オンサ
イトでのハードウェアの改変を余儀なくされてきた。
【0033】 1.1 CVMとGBPの統合 以上見てきたように、重要なコンセプトとして、適切なバーチャル・マシンの
中にまとめて包み込まれた、はっきり定義されたハードウェア・アーキテクチャ
によって、スピーディな開発、敏速な修正時間、カプセル化などを行うためのす
べての利点を備え、高レベルのソフトウェアを用いて表されるUMTS用のアル
ゴリズムを含むほとんどまたはすべての複雑なベースバンド処理用アルゴリズム
の許容が可能となるという点が挙げられる。
【0034】 ハードウェアという用語は汎用ベースバンド・プロセッサ(すなわちGBP)
を示す。ハードウェア抽象化層という用語は通信用バーチャル・マシン(すなわ
ちCVM)を示す。上記2つを統合して、純粋なソフトウェア・コンポーネント
としてプラットフォーム・サポート用変調スタックが形成される。次に、このア
ーキテクチャの実現方法をさらに少し詳細に見ることにしよう。
【0035】 GBPは従来型のPCIバス用バックプレーンを利用するものである。このバ
ックプレーンははっきり定義された、比較的高帯域規格のものであり、このバッ
クプレーン用として、PLX-9080のような優れたバス・マスターリングD
MAブリッジ・チップが低価格で容易に入手可能である。最初のGBPでは‘従
来型の’32ビット×33MHzPCIバスを使用することになるが、後続バー
ジョンでは、必要に応じて、より高速で、より広いバスを利用することも可能で
ある。
【0036】 業界規格I20メッセージング層が、追加の抽象化層としてPCIバスを介し
てサポートされ、利用対象の様々な基底を成す通信用トポロジ(例えばPCI、
RaceWayなど)の利用が可能となる。
【0037】 PCIアーキテクチャの別の利点として、このアーキテクチャがPCによって
サポートされるという点が挙げられる。PCは、ベースバンド処理用の直接のサ
ブストレートとして使用するのに決して好適なものであるとはいえない(PCは
、あまりに待ち時間が長く、コストがかかりすぎ、かつ非並列的で、さらに、不
適当なバーチャル・マシンであるウィンドウズを実行する)が、それにもかかわ
らず、PCによって、プラットフォームの遠隔モニタ用として優れたプラットフ
ォームが提供され、他に並ぶもののない周辺機器サポートを備え、さらに業界を
先導する開発用ツールを備えている。したがって、GBPの第1のコンポーネン
トは、Advantech社により供給されるようなプラグ・イン型PCカード
であり、別の非常に重要なアプリケーション(E−147デジタル放送用マルチ
プレクサなど)でRadioScape社製品により成功裡に利用されているコ
ンポーネントである。上記カードはNTを実行するが、GBPのメインストリー
ム処理に深く関与することはなく、逆に、このカードの機能は、到来用及び送出
用Iubメッセージのためのバックネット上へのバス・マスターリング高速イー
サネット(登録商標)用IPインターフェースの配備に加えて、ブート制御、プ
ロセッサ・カード構成、及び、遠隔モニタ用サポートに関与するものである。
【0038】 GBPのメインストリーム機能は、1以上の一般処理用モジュールにより実行
されるが、このモジュールは、RadioScape社により最初に作成された
標準設計のPCIカードとして供給される。各カードには、高速C64×TI
DSPと、Xilinx社製数百万ゲートのFPGA、32MBのSDRAM、
PCIバス・マスターリング・ブリッジ・チップ(オプションとして、以下解説
するように、このXilinx社製パーツから成るPCIインターフェースを使
用してもよい)が含まれる。FPGAは、ブート時に(またはブート後に)PC
モジュールによりプログラムされる。これが可能となるのは、PCモジュールの
制御ポートが、ブリッジ・チップによってPCIバス上のアドレス可能なメモリ
空間の中へ対応づけられるためである。TI社製DSPも同じようにブート時に
プログラムされる。通常動作のパラダイムでは、データは、(PCカード上の高
速イーサネット・プロトコルを介してサポートされる)IPポートから入り、指
定デフォルトの処理用モジュールのメモリの中へDMA(ダイレクト・メモリ・
アクセス)されてる。上記モジュールでは、(Iubメッセージの定義されたA
SN.1マップを使用する)高レベルのIPメッセージ構文解析/フォーマット
用コードとスケジュラを実行するタスクが行われる。
【0039】 上記スケジュラは、指定された入力データと、処理要件と、(優先順位などの
)制約と共に、或る特定の処理ボード上の或る特定のデバイス(DSPまたはF
PGA)上の或る所定のアルゴリズムの実行要求を当該アルゴリズムの或る特定
のインスタンスへの実行要求に対応づける。このプロセスが図1のダイアグラム
に示されている。ここで留意すべき点として、スケジュラが設計処理中行われた
最初の予め与えられた分割決定を認知しているという点と、但し上記スケジュラ
は単に、当該設計処理中完全なタイミング・モデルに従う必要はなく、データ・
フローに対する重要な‘ランタイム’態様が存在するという点とが挙げられる。
【0040】 いったん、実行の決定が行われると、スケジュラにより、(PCIバスの両端
にわたって対応づけられたメモリを用いて、I20メッセージ通信用インターフ
ェースを最終的に用いて)ターゲットのプロセッサ・カード上のキューの中へ当
該メモリ・ブロックのID記録が書き込まれる。上述したように、カード上の各
アルゴリズムの各インスタンスはそれ自身のキューを保持し、従来のデータ・パ
ス分割設計フローの一部として生成される物理構成ファイルによりスケジュラは
GBPの論理構成(そのインストールされているカード及びアルゴリズム)につ
いての通知を受ける。カード上のキューへの更新は完了時にPCIバスに対する
割込みによって信号で知らせることができる。キューメモリへのアクセスはPC
Iブリッジ・デバイスにより制御されるミューテックス(mutex)により保護さ
れる。
【0041】 所定のカード上の各アルゴリズムのインスタンスは、1以上のメモリ・ブロッ
クのID記録(MBIR)が‘キュー’の中に発見されるまでブロックを行う。
このような記録の発見時に、上記インスタンスは(MBIR内で指定される)そ
の現在位置からデータのDMA(ダイレクト・メモリ・アクセス)を行う。上記
現在位置は、別のカードのバス上でアクセス可能なメモリ・マップ内に位置し、
そのローカルな作業用記憶装置の中へ入れることができる。同一カード上でのア
ルゴリズム間での転送は最適化されて出力され、スケジュラによって、上記最適
化が生じる確率を最大化するための呼出しを行うための次に予想されるアルゴリ
ズムに関するヒントに対する考慮をシステムの現時点での物理構成に応じて行う
ことができる。
【0042】 図2のダイアグラムには、GBPの高レベルのハードウェア・アーキテクチャ
が示されている(特殊なIF処理用カードを除く)。いったんデータがローカル
・メモリへ転送されると、(カード間DMAが必要であると仮定して)元のメモ
リブロックが再利用のために解放され、データ処理が開始される。言うまでもな
く、FPGA上での様々なアルゴリズムの処理は並列して正確に行われ、オンカ
ード・メモリへアクセスするために競合を受ける場合もある。DSP上でのアル
ゴリズムの処理は、TI社のDSPのようなマルチタスク用RTOS(リアルタ
イム・オペレーティング・システム)の監視の下で行われる。
【0043】 ここで留意すべきことは、アルゴリズム用のデータ・ブロックにも、このデー
タ・ブロックの初期化用として使用されるパラメータ・ブロックが含まれるとい
う点である。スケジュラによって保持されるセッション状態というコンセプトも
存在する。より高いレベルのコードがAPIにアクセスして、新しいセッション
を開き、セッション用IDを取得し、セッションを閉じることが可能である。次
いで、可能な場合に、同一セッション内で論理演算を実行するという制約を伴う
論理演算スケジュールの作成が可能となる(上記制約は、あちこちとDMA(ダ
イレクト・メモリ・アクセス)を行う必要があるセッション状態が妨げられるた
め、実質的に、同一物理カード上での論理演算の実行を制約することになる)。
これらのアルゴリズム自体は、実行セッション・アルゴリズムとの付随状態を構
成することも可能であり、同一物理ボード上に後続する呼出しスケジュールの作
成ができない場合、次のボードのメモリ空間へ上記状態のDMA(ダイレクト・
メモリ・アクセス)が行われる。
【0044】 RadioScape社のCVM(通信用バーチャル・マシン)は、各プロセ
ッサ上のボードを介する処理を実行するものであり、その範囲内で処理を実行す
るための低レベルの処理を行うための共通環境を設けて、スケジュラ・データ、
セッション状態、共通DMAチャネルなどへのアクセスを可能にするものである
。多量のリソースを必要とするアルゴリズム自体は、そのほとんどの部分が、C
VM APIによりアクセスできる一般信号処理用アルゴリズムの実施構成とし
て組み込まれている。図3に図示のように、CVMは高水準ソフトウェアからハ
ードウェアを遮蔽するものである。
【0045】 複数のデータ・パスが、利用可能な冗長性サポートと、複数の変調規格に対し
てハードウェア・サブストレートとして機能する能力と、IPネットワークとを
介して遠隔地でコードのローディングを任意に変更する能力(例えば、新しいあ
るいは更新された変調規格を含む新しいコードの更新を遠隔地の基地局で行うこ
とができる)というコンセプトはGBPアーキテクチャに固有のものである。
【0046】 (例えば)プロセッサにわたるアルゴリズムの転送を変更するために、当該デ
バイス用のいずれのエントリも含まない新しい物理マッピング・ファイルをアッ
プロードすることによりターゲット・プロセッサがまず閉じられる。次いで、タ
ーゲット・ボード上のDSPまたはFPGAのいずれかに割り当てられているす
べての保留中のアルゴリズムがクリアになったとき、PCカードは、(DSP用
の新しいマシーン・コード、あるいは、FPGA用のヒューズ・マップのいずれ
に拘らず)データのDMA(ダイレクト・メモリ・アクセス)を行って、デバイ
スの中へ入力し、次いで、処理用カードの再起動を行う。最終段階で、新しいア
ルゴリズムの可用性を反映する物理マッピングの修正が再度行われる。この修正
によってボードに対する呼出しスケジュールの作成が再び行われる。冗長性を利
用する場合、再プログラミング時間中のGBPに対する唯一の影響として容量全
体への影響が生じることになる(その場合でも、単純なn+1のハードウェアの
冗長性を用いて、単にバックアップ・カードを代りに再構成し、次いで、‘古い
’ロードを持つカードに対して代わりに論理バックアップを施すことにより上記
問題の未然の防止が可能となる。
【0047】 システムの2つのバージョンが予想される。一方のバージョンはPCIカード
自体の‘ホット・スワップ(hot swap)’能力(この能力はPCIバックプレー
ン上の各カードのブリッジに関係する)を持つバージョンであり、もう一方のバ
ージョンは、より長いブリッジされたセクションを持つバージョンであり、前者
よりも低価格の代替バージョンである(但し、ハードウェアの故障が生じた場合
、GBPの交換を行う前にGBP全体の電源を落す必要があるため、このバージ
ョンでは柔軟性が犠牲となる)。
【0048】 使用中、PCコードにより、すべてのカードに対して‘鼓動(heartbeat)’
テストが行われ、SNMPを用いていずれの故障も報告される。PCカード自体
は、ウォッチ・ドッグ・タイマにより機能中断(hanging)に対する保護が施さ
れる。
【0049】 処理用カード及び(潜在的に)バックプレーンとPCカードは、汎用デバイス
であるため、予備部品の保有についてはずっと単純化されている。CVMは、特
定タスクを利用するためのGBPの寸法設計を行う際、大きな助けとなる予め与
えられた資源予測能力を開発者に対して提供するものである。CVMの別の利点
として、CVMがデバイス・プラットフォームを大きく抽象化し、プリミティブ
を相互に接続し、それによって、(例えば)FPGAボードが利用可能になった
とき、さらに広いゲートを持つこれらのFPGAボードへの切替えが可能になる
という点が挙げられる。
【0050】 1.2 RFモジュールとのインターフェース GBPの最終ポイントとして、柔軟性のあるソフトウェアにより定義される方
法で、高帯域層−1エア・インターフェース・アルゴリズムの実行がある。した
がって、GBP設計の非常に重要な部分として、GBP設計方法が高周波(RF
)エレメントと相互接続を行う方法が挙げられる(この設計方法という言葉によ
ってアップコンバージョンとダウンコンバージョン用エレメント及び電力増幅の
すべてが意味されている)。
【0051】 理想的な世界では、RFデータは単にアンテナから直接デジタル化され、目標
中心周波数で直接合成が行われるにすぎない。残念ながら、現在のADC/DA
Cと信号処理用サブストレートではこれを実現するには不十分である。したがっ
て、出力用データを目標中心周波数までアップコンバートし、次いで、送信用と
して該データを増幅するタスクを行う何らかのハードウェアが求められている。
また同様に、該入力データのデジタル化を行うことが可能な適切なIF(中間周
波数)まで入力データをダウンコンバートするタスクを行う何らかのハードウェ
アが求められている。
【0052】 送信時(複数の出力ポイントに固定される同じアナログ・ストリーム・タイム
)の単純なアンテナ・ダイバーシティと、(出力値のグリッドが計算され、複数
のDACへ送信される)‘スマート’アンテナ・アレイと、(複数のアンテナか
らの入力信号が受信され、チャネル・フェージングの影響を和らげるためにその
後合成が行われる)入力ダイバーシティとを利用したいという要望のためにさら
なる複雑さが付加される。
【0053】 RFインターフェース・アーキテクチャ全体が図4aに図示されている。GB
Pに関するコアの設計思想として、アナログ技術に必要な設計の熟練技術を持つ
適切な部品会社によりRFモジュール(及び後続の増幅段階とアンテナ段階)が
供給されるということが挙げられる。但し、これらの部品会社は複雑なアルゴリ
ズムの実現に要求されるデジタル・ベースバンド・ソフトウェア設計のレベルの
見通しに対して非常に怖じ気づいている。これを解決するために、GBPとRF
モジュールとの間で開放型インターフェースの指定が行われる。
【0054】 したがって、RFモジュールとGBPとの間のインターフェースは、5つの要
素、すなわち、(簡易)給電と、データ(双方向の高帯域デジタル化IFデータ
の通過)と、2種類の制御(出力用中心周波数の設定、増幅レベルの変更などの
ような目的のためのGBPからRFへのメッセージと、RFからGBPへ逆方向
に渡される状態及び警報メッセージ)と、(特定のタイム・コードを基準とする
相対的処理の実行を可能にするための)GBPからRFモジュールへのタイミン
グ/同期信号とを有する。GBP内では、このタイム・コードは、GPSユニッ
トから外部の1PPS信号の使用を通じてIFカードの中へ出力されるか、もし
くは、長期評価値を上記カードの中へ出力するためのネットワーク・タイム・プ
ロトコルを使用して出力されるかのいずれかの出力が可能である。カード自体に
も、分周され、次いで、GPSまたはNTP信号のいずれかに固定される高い精
度のTCXOが含まれる。図4Bはベースバンド処理用カードの概略図である。
【0055】 制御と、状態と、警報メッセージのメッセージ符号化を行うためにSNMPは
使用しなければならない。このSNMPは、下記の範囲から選択できる高速IP
チャネルを介して実現しなければならない: * 高速イーサネット * ギガビット・イーサネット * バスLVDHファイバ・チャネル * ファイア・ワイアなど
【0056】 WCDMAなどのような広帯域システムにおける無線への出力/無線からの入
力用データ処理の最終段階で要求される処理時の大きなステップアップ、及び、
このようなシステムで求められるデータDMAの高帯域幅に起因して、デフォル
トのIFトランスポート・チャネルとしてPCIバスが使用されることはない。
代わりに、一般処理用カードの特別のIFバージョンが提供され、このIFバー
ジョンが与えられ、このバージョンには高帯域デジタルIFベースバンドと、ベ
ースバンドIFモジュール(FPGA上で実現されるかさ上げルート余弦フィル
タリングなど)と、上述の計時システムと、高帯域IF IPコントローラとが
含まれる。バスLVDH(低電圧差分信号)はUMTSノード−bの実施構成の
初期の選択システムになる。このシステムでは基地局処理ユニットとアンテナ間
との距離は比較的短距離(≦10m)が予想される。
【0057】 上記アーキテクチャにより、PCIバスに対するロードが最少化され、IP‘
デジタルフィーダ’の転送が無線塔のRFハードウェアまで行われ、従来型のア
ナログ・フィーダで経験される熱膨張/収縮及び損失に起因する問題が取り除か
れる。上記接続でのIP放送の利用により、複数のRFユニットが送信ダイバー
シティを目的として、所望の場合、同じ入力を共有することが可能になる。した
がって、その1つのRFユニットからの従来型の複数のアナログ・フィードを用
いるか、同じデジタル・フィーダに取り付けられた複数のRFユニットを用いる
かのいずれかによって送信ダイバーシティの管理が可能となる。
【0058】 別々のcoax(同軸ケーブル)のフィードに沿ってRFカードから転送され
る1PPS信号を持つパケット用UDP/IPを介してRTPを用いて出力の同
期が行われる。RFインターフェースにおいて、上記同期の実行により、UDP
/IPパケットからDACの中へのデータのローディングが制御される。制御情
報がタイム・スタンプされたSMTPメッセージで送信され、この制御情報はR
Fモジュール/増幅器により適時に同様に利用される。
【0059】 デジタルIFトランスポートの承認された規格を用いる開放型インターフェー
スに起因して、ベースバンド処理用コードに左右されずに特定の周波数/パワー
要件のためのRFモジュールの調達が可能となる。このことは、品質の向上とよ
り良い価格設定を行うことができる潜在的可能性をネットワーク・コミッショナ
に与えるものである。
【0060】 1.3 エア・インターフェース規格 RadioScape社のノード−bはWCDMA−2000対応であり、、
さらに、該ノードによって上記エア・インターフェース用のハードウェアとソフ
トウェアとが供給される。しかし、もし適切なアプリケーション専用コードのロ
ードが利用可能で、かつ、必要なRFアダプタ・モジュールが供給されれば、R
adioScape社のハードウェアは、2G/GSM、BRAN、TETRA
、DAB、DTT技術用として再構成が可能である。これはGBPコンセプトの
利点の中の1つであり、共有送電線鉄塔の目標とうまく合致するものである。複
数の無線インターフェース規格用として同じハードウェアを保持することにより
、単純化された予備部品の保有と冗長性管理とがネットワーク・プロバイダにと
って可能となる。
【0061】 RFユニット実施構成の問題点 1.4 システムの接続 上記に説明したように、GBP IFカードからRFユニットへの転送は5つ
の要素を持つことになる。 * (簡易)給電 * 高速の低IFサンプル・データ(DACへ進むか、ADCから送信される
かのいずれか)。この情報はUDP/IPを用いて送信される。パケットは、‘
リアルタイム・プロトコル’(RTP)に準拠するタイムスタンプを担持する。
バスLVDHは基底を成す最初のトランスポートとして使用される。 * RFモジュールのパフォーマンスを構成するために利用され、RFモジュ
ールに関する状態を提供するために返送されるSNMP管理メッセージ(したが
って、これは2つの要素としてカウントする)。RadioScape社はこの
インターフェース用としてMIBを公開している。MIBはデータとして同一バ
スLVDHリンクを介して送信され、配線の複雑さの節減が図られる。SNMP
メッセージには、サンプル・データ・ストリームと同じ時間ベース制御を利用す
るためのRTPタイムスタンプ・フィールドが含まれる。 * クロック同期に使用される1PPScoax転送。この1PPScoax
転送は、GPSユニット(推奨)からの外部1PPSのパススルーとしてか、主
要な転送用ネットワーク(但しこのネットワークは細粒度ロケーション・サービ
ス用としては十分正確なものではない)からのNTPメッセージに一致するロー
カル・オンボード・クロックの出力としてのいずれでマスタIFカードからGB
P上で生成される。
【0062】 RFモジュールにおいて、小型の低コストプロセッサ(ARMなど)により制
御メッセージが復号化され、次いで、コア・パラメータ(中心周波数、出力用R
Fパワーなど)への定時更新の管理が行われる。各更新は最終的に1PPSフィ
ードに設定されたRTPクロックに固定される。
【0063】 この場合IPの使用に起因してある程度の複雑さが追加されることを理解すべ
きである。しかし、このIPの使用には、多数のトランスポート(このなかには
非常に汎用的で、費用対効果の良いものもある)を接続用として利用できるとい
う利点がある。RadioScape社は、当初、このIP接続用として少なく
ともギガビット・イーサネットのサポートを意図している。
【0064】 RadioScape社は、図面、ARMコード及びすべての必要なIPドラ
イバ、MIBとタイミング図、を含むRFカード設計パックを、GBPと相互接
続するRFモジュールの組立てを望む、関心を持ついずれのパーティに対しても
NDA(機密保持契約)により提供する予定である。
【0065】 留意すべき点として、本明細書での解説ではRFヘッドが送受信装置であるこ
とが想定されてはいるものの、この送受信処理が適切である或る特定の規格(D
ABやDVB−Tのような放送システムなど)用として、送信専用サブストレー
ト、あるいは、受信専用サブストレートとしてGBPの利用も完全に可能である
という点が挙げられる。十分な処理資源とメモリ資源、及び、十分なインターフ
ェース帯域とが与えられていれば、単一のGBP上で複数の規格を同時に実行で
きるという点にも留意されたい。
【0066】 1.5. RFモジュール 本アーキテクチャは、アンテナに非常に近接したRFモジュールの配置を可能
とし、これにより長々しいアナログ・フィーダの配置という要件を未然に防止す
ることが意図される。IPを介するデジタルIFフィーダの実現に伴う若干の追
加コストと複雑さとが生じるが、一般用(commodity)技術が用いられるためこ
れらのコストは低く抑えられる。
【0067】 ある程度までのRFモジュールの電力増幅要件によって、或る特定のRFアー
キテクチャのターゲットに対して、送信塔の最上部に完全なヘッド・エンドの配
置が可能か否かの決定が行われることは明らかである。但し、(UMTSを含む
)ほとんどのシステムについては、このヘッド・エンドの配置は可能である。も
しIF転送用として使用されるIPネットワークが、構成アンテナ・セグメント
の各々についての変調ペイロードを担持するのに十分な帯域を持っていれば、ス
マート・アンテナの利用も本アーキテクチャにより容易になる。 ―附属説明1―:CVM CVMすなわち通信用バーチャル・マシンは本発明の基礎を成すものである。
この事実は本添付書類はCVMについて、及び、基地局などにおいて見られるよ
うな2方向放送用ベースバンド・スタックへのCVMの適用についてさらに詳細
に記述するものである。 技術背景:デジタル信号処理(DSP)及びベースバンド・スタック デジタル信号処理とは、アナログ及び/又はデジタル量のデジタル表現を操作
する処理であり、チャネルを介して伝播される有用な情報の伝送または回復を目
的とするものである。高速で、高精度の数値計算の利用により、デジタル信号プ
ロセッサによるデジタル信号処理が実行されるが、一般に、これらのデジタル信
号プロセッサは高速の、リアルタイムのデータ操作用として最適化された集積回
路として形成される。デジタル信号プロセッサは、音声、通信、ビデオなどの多
くのデータ収集、処理及び制御環境で使用される。デジタル信号プロセッサは、
集積回路に加えて別の方法で実現が可能である。例えば、デジタル信号プロセッ
サは、マイクロプロセッサ、及び、プログラムされたコンピュータにより実現が
可能である。本明細書で用いる用語'DSP'は、任意のデバイスあるいはシステ
ムもカバーするものであり、デジタル信号処理の実行が可能なソフトウェアまた
はハードウェアあるいはこの2つの組合せのいずれでもよい。したがって用語'
DSP'は、1以上のデジタル信号プロセッサ・チップをカバーし、さらに以下
のものをカバーするものである。すなわち:FPGA(フィールド・プログラマ
ブル・ゲート・アレイ)やデジタル信号処理を実行するようにプログラムされた
ASIC、並びに、以上のいずれかの任意のチューリング均等物などのような1
以上の外部コプロセッサを用いて機能する1以上のデジタル信号プロセッサ・チ
ップ 通信セクタでは、DSPでベースバンド・スタックを実行するとき、DSPは
ベースバンド・スタック用の非常に重要なエレメントとなる。DSPと共にスタ
ックによりデジタル信号処理が実行される。本明細書で使用する用語'ベースバ
ンド・スタック'とは、1組の処理ステップ(またはこれらのステップを実行す
る構造)を意味し、これらの処理ステップには以下のステップ、すなわち:ソー
ス符号化、チャネル符号化、変調の各ステップ、あるいはそれらの逆、すなわち
ソース復号化、チャネル復号化及び復調の各ステップが含まれる。さらに、用語
'ベースバンド・スタック'は、いかなる形のダウンコンバージョンも持たない、
デジタル信号処理能力を持つ構造と解釈することが望ましい。ソフトウェアによ
る無線装置にはこのようなベースバンド・スタックが含まれることになろう。当
業者であれば理解できるように、ソース符号化は、ビットレートを下げるための
信号(原信号)圧縮に利用される。チャネル符号化によって、復号器能力の改善
を図るための構造化された冗長性が付加され、破損の可能性がある受信信号から
情報が取り出される。変調により、伝播対象情報に応じてアナログ波形の変更が
行われる。 ベースバンド・スタックは、移動電話(GSMスタックやUMTSスタックな
ど)あるいはデジタル無線受信機(DABスタックなど)の中でのみならずその
他の1方向及び2方向デジタル通信用デバイスの中でも使用される。本明細書で
使用する用語'通信'とは、1方向乃至2方向、あるいは、1対1の通信と放送及
び1対多の通信と放送のすべての形をカバーするものである。用語'設計'と'モ
デル化'には、一般に、1以上のエミュレーション処理、資源計算、診断的分析
、ハードウェア・サイジング、デバッギング、パフォーマンス評価が含まれる。 通信システムの増大する複雑さに起因して、ベースバンド・スタックの開発に
対して激しい圧力がかけられている。通信システムの複雑さはほぼ毎日のように
増大しつつある。この複雑さに対応するいくつかのドライバが存在する:インタ
ーネット上のトラフィックは毎年1000%で増加している。(主としてバース
ティな)このデータの多くは、無線キャリアへ移動するが、このようなサービス
を提供する利用可能なスペクトルがだんだん少なくなっている。これらの事実は
、できるだけ多くのデータを圧搾して最小の可能帯域の中へ入れることを目的と
するさらに複雑な信号処理アルゴリズムの利用へとつながる。実際、これらのア
ルゴリズムの複雑さは、ムーアの法則(計算機の能力は18ヶ月ごとに2倍にな
る)よりも速く増加し続けている。その結果、従来のDSPの能力では不十分に
なりつつある。したがって、複雑な端末用として、非常に大きな並列処理ロード
の処理が可能なASICを形成する必要がある。しかし、実際には問題はここか
ら始まる。なぜなら、使用されるアルゴリズムが信号処理フロントで複雑である
ばかりでなく、主として音声トラフィックから主としてインターネット関連トラ
フィックへの、バースティな、可変QoSのしばしば短命なトランスポート・チ
ャネルの利用は、(ハードウェアによるリアルタイム・コードが要求される)層
1において、さらに優れた制御プレーン・ソフトウェアを必要とするからである
。従来のDSPツールセットでは、この問題を処理する適切なメカニズムが提供
されていない。その結果、現在の多くの設計は'現実の世界'のデータ・アプリケ
ーションの処理をするための調整を行うことができない。 しかし、最新の通信システムの高度のMIPS要件は、この話のほんの一部を
表すものであるにすぎない。単一のSoC(チップ・オン・システム)内で多数
の規格(GSM、IS-136、UMTS、IS-95など)を利用する必要があ
る場合に別の問題が生じる。複数の規格をサポートするSoCデバイスは、様々
な国々の様々なマーケットを効率的に利用しようと努めているデバイスのベンダ
にとってますます魅力的なものになるであろう。また、次世代UMTS電話は、
GSM(すなわち現在の世代)の能力を持つだけでなく、DAB(デジタル無線
放送)受信機のような付加された特性も持つようになることが予想される。その
ため、UMTS、GSM及びDAB用のベースバンド・スタックが必要となる。
通信用プロトコルの複雑さのために、現在では、上記問題のすべてに対するソリ
ューションの提供を希望できる企業は1つとして存在しないような状態になって
いる。しかし、(上記リストした3つの異なるベースバンド・スタックのIPな
どの)IPを統合化して、だんだん短くなる時間スケールで単一の統合化された
パッケージの中へ一緒に入れるSoCの構築という深刻な問題が複数のベンダの
IPから生じる。複数のベンダのIPの相互接続を可能にする商用システムは現
在マーケットには存在しない。層2と層3のソフトウェア(一般的には、ソフト
によるリアルタイム・コード)の方が単純である。なぜなら、DSPまたは別の
汎用プロセッサの多くのソフトウェアの中の1つの処理としてこのソフトウェア
を単純に実行することができるからである。しかし、(ハードによるリアルタイ
ムの、しばしば並列処理が行われる)層1のIPアルゴリズムはさらに困難な問
題を提示する。というのは、必要なハードウェアによる加速処理が、一般的でな
い、ぜい弱な、ソリューション独自のIPが設けられた層全体のアーキテクチャ
に対して優位を占めることが多いからである。 ベースバンド・スタック開発の現在のモデルにおける欠陥の概観 過去において、ベースバンド・スタックは比較的単純で、求められる高MIP
S機能の量は比較的小さく、マルチ規格の、マルチベンダの統合化が行われてき
た。しかし、上述したように、現在では上記の事実はいずれも当てはまらない:
すなわち:(a)ハードウェアの使用を必要とする、さらに複雑なアルゴリズム
(ターボ復号化、MUD、RAKEなど)が採用される帯域圧力手段、(b)さ
らに多くのデータ作成/破壊イベント(birth/death event)と再構成をハード
ウェアによるアルタイムで処理する必要があるので、パケット・データ・トラフ
ィックの増加が層1制御プレーンの複雑さを増大させる。(c)研究開発から製
品化までの期間や、規格の多様化さらに差別化圧力のために、ベンダは、ますま
す複雑な機能(3G、ブルートゥース、802.11など)を単一デバイスの中
へレコード時間内に統合化する傾向があるが、これは特定のアプリケーション用
SoC(システム・オン・チップ)を形成する層1のIPの使用許諾を必要とす
る。 現在、この問題の適切な解決方法は存在しない。VHDLツールセット・プロ
バイダ(CadenceやSynopsisなど)は'ボトムアップ'からこの問題にアプローチ
している。プロバイダのツールは機能の個々の高MIPSユニット(ビタビ・ア
クセラレータなど)の製造については有効であるが、層1フレームワークや制御
コードのためのツールや統合化を与えるものではない。DSPのベンダ(TI社
、アナログ・デバイシズ(Analog Devices)社など)は、ソフトウェア開発用ツ
ールを確かに供給しているが、これらの会社のリアルタイム・モデルはスタティ
ックで(そのためパケット・データのバースト性にうまく対処していない)、こ
れらの会社のDSPは、DSPの有用性にブレーキとして働くムーアの法則によ
って制限を受ける。さらに、通信用スタック・ソフトウェアは状態マシンとして
最適にモデル化されるが、この状態マシンにとってCまたはC++(DSPベン
ダにより通常サポートされている言語である)は適していない代用言語である。 ベースバンド・スタック開発の現在のモデルにおける欠陥の詳細な分析 従来、デジタル通信のためのベースバンド・スタック開発は細分化され、高度
に専門化されている。例えば、ベースバンド・スタックの中心である信号処理ア
ルゴリズムの初期開発は数学モデリング環境(Matlabなど)で一般に行わ
れるが、特定メモリとMIPS(毎秒100万命令)に対する最終ターゲットの
DSPの予算査定は、従来方式のスプレッドシートを用いる正確な評価により行
われる。いったん、このモデル化処理が良好に実行されると、コード・モジュー
ルと、スタック用のインフラ・ストラクチャ・ソフトウェアとが書き込まれ、可
能な場合には既存ライブラリが適合化される(またおそらくRTOS(リアルタ
イム・オペレーティング・システム)が書き込まれる)。次いで、任意の必要な
ハードウェアによる加速処理が、可能な場合にはPLD(プログラマブル論理素
子)上にプロトタイプ化される'リアルタイム'のプロトタイプ・ハードウェア・
システム('RACK'と呼ばれる場合もある)が構築される。これは、ネットワ
ークとの接続なしでテストされ、コードに対する必要な変更が行われる。いった
ん満足のゆくものになると、このスタックは固定化され、(オンチップ周辺機器
としてハードウェアの加速用モジュールが組み込まれる)最終的ASIC(特定
用途向け集積回路)が形成される。この結果つくられたベースバンドDSPまた
はDSPコンポーネントが検査され、次いで、出荷される。 この'従来の'アプローチに関していくつかの問題が存在する。これらの問題の
中でより重要なものとして以下のことが挙げられる: * 結果として生じるこれらのスタックにはその構造の中に多くのアーキテク
チャの独自性が含まれる傾向があり、そのため別のハードウェアのプラットフォ
ーム(別のメーカー製のDSPなど)への'移植'処理は時間のかかるものになる
。 * また上記スタックは、修正が困難で、ぜい弱なものとなる傾向もあるため
、インハウス(in-house)での変更の実施(バグの修正や、規格の中へ導入され
た新しい特性の調整など)と、スタックのわずかな変更を望む他の人々へスタッ
クの使用許諾を効果的に与えることとの双方を困難なものにしている。 * MMI(マン・マシーン・インターフェース)との統合化が貧弱なものに
なる傾向があり、このことは、一般に、このMMIの機能用の別個のマイクロ・
コントローラをターゲットのデバイス内で使用することを意味する。このためチ
ップ・カウントとチップ・コストとが増加することになる。 * 処理がきわめて低速であり、DAB(デジタル・オーディオ放送)などの
著しく複雑なシステム用ベースバンド・プロセッサの形成に最低約1年の経過時
間を伴う。 * この処理は、バッファの割り振り、ダウンコンバージョンの管理、デジタ
ル・フィルタの挿入、好適なチャネル・モデルの作成等々を行うための全体的最
善の方法を決定する技術当局者(いわゆる'グル(guru)')に大きなストレスを
かけるものとなっている。以上の点は一般に不利な点である。というのは、これ
によって、非常に重要なパスとメイン・スタッフへの依存がスタック製造プロジ
ェクトに付加され、製造のタイム・ラインを長引かせることになるからである。
この結果得られる製品は、適切な現在の技術のすべてを必ずしも含むとは限らな
いことが大いに予想される。その理由として、支配的な最善の実施技術のすべて
にわたって完全に熟練している個人がいないこと、また、グルあるいはグルのチ
ームが可能な技術革新のすべてを(たとえ彼らがその技術革新について知ってい
たとしても)スタック製造プロジェクトの中に組み込むだけの時間的余裕が必ず
しもあるわけではないということが挙げられる。 * MIPSの手動計算及びメモリ要件への依存、並びに、スタック用のDS
Pモジュール及びインフラ・ストラクチャ・コードのカスタムメイド的性質は、
製品の中に欠陥が生じる大きな確率があることを意味する。 * 1つの関連する問題点として、一般に、'RACK'が組み立てられるまで
は、スタックのリアルタイムのプロトタイピングは可能ではないことが挙げられ
る。その時点でも利用可能な高視度デバッガの不足は、最終スタックと資源の'
固定化'が不必要な遅れと、ハードウェア製造のタイム・スケールの超過を意味
する。高視度デバッガは、利用可能であれば、非常に有用なものとなるであろう
。というのは、C++のような高水準言語で開発されている場合、デバッガは、
コードの中にブレイク・ポイントを入れ、そのポイントにおける処理を停止し、
メモリ内容をチェックし、単一ステップ命令の効果を調べるために単一ステップ
を実行する開発用ツールの能力を与えるからである。またその場合、特定の条件
が生じたとき、実行を停止させ、デバッガを起動させるトリガーをコードの中に
入れることもできる。これらはアプリケーション・ソフトウェアを開発するとき
非常に強力なツールとなる。'ロック・オフ'とは、プロジェクトの1つの段階が
完了したとき、開発が次の段階へ進むことができるという事実を意味する。ハー
ドウェアの開発では、各反復は費用や時間のかかる製造を必要とするので、ソフ
トウェアの場合のように容易に反復を行うことはできない。 * 製造中のスタック用の低レベル・モジュールあるいはハードウェアによる
加速処理用'コントローラ'を開発しなければならないため、開発者はターゲット
・プロセッサのアセンブリ言語に熟知している必要があり、また、彼らは当該プ
ロセッサ用として与えられる開発用ツールに依存することになる。 * インフラ・ストラクチャ・コードが再使用されないという事実に伴うモジ
ュール性の不足は、次のデジタル放送スタック用としてほとんど同じ作業を再び
行う必要があることを意味する。 スタック開発へのこのタイプのアプローチから生じる、関連するセットとなる
'戦略的'問題が上記の困難な問題と結びつき、このタイプのアプローチでは、ス
タックは必然的に特定のハードウェア環境と強く結びつくものとなる。 * スタック・メーカの視点から見ると、選択されたDSPのハードウェア・
プラットフォームと接近しすぎる近い関係が存在する。錯誤に起因して、コスト
のかかる(また時間のかかる)移植処理が必要となるため、このDSPハードウ
ェア・プラットフォームの注意深い選択を行う必要があるだけでなく、開発用ツ
ール、低水準アセンブリ言語、テスト用'ラック'のハードウェアの開発及び最終
的プラットフォームASICの製造がすべてそのアーキテクチャ独自のものとな
る。別のハードウェア・プラットフォームでスタックを使用する機会が生じた場
合、まずそのスタックを移植しなければならないが、これにはきわめて長い時間
がかかり、多重コード・ベースが導入される(また、これによりプラットフォー
ム独自のバグという大きなリスクが伴うことになる)。コード・ベースとはプロ
ジェクトの基礎を成すソースコードのことである。理想的には、ソフトウェアの
開発の際、ソースコードと機能との間の1対1の対応付けが行われることになる
。そのため、ある特定の機能を必要とする場合、いくつかのプロジェクトはすべ
て同じ実施構成を共有することになる。したがって、この実施構成が改善されれ
ば、すべてのプロジェクトがその利益を享受することになる。しかし、起こりが
ちなこととして、個々のプロジェクトがコードの個々のコピーを持ち、実施構成
が(自然界における遺伝子にいくぶん類似して)時間中分岐するということが挙
げられる。プロジェクトが、従来方式の開発パラダイムの下で異なるハードウェ
アを使用する場合、同じコードの使用が不可能となる場合が時として生じること
がある。さらに、たとえ同じハードウェア・プラットフォームがグレードアップ
された仕様により利用可能になったとしても、コードは依然'ミニ移植'を受け、
それらの付加特性(例えば、より多くのオンボード・メモリや別のMAC(積和
演算)ユニットなど)を利用できるようにする必要がある。 * ハードウェア・メーカの視点から見ると、ソフトウェア・スタックとの接
近しすぎる近い関係が存在する。ハードウェア・メーカは、(概して)スタック
製造ビジネスの専業になることを望まない。それにもかかわらず、(そのデバイ
スを有用な製品に変える)このようなスタックがなければハードウェア・メーカ
はユニットの販売を行うことはできない。マーケット用として、利用可能な'ソ
フトウェア・ベース'という表現は、ハードウェア・メーカの製品がもっと適切
に競合の対象とすべきその他の特性(利用可能なMIPS、電力消費量、利用可
能なハードウェアのIPなど)を不明瞭にする可能性がある。 * (シンビアン社のような)オペレーティング・システムのプロバイダは、
そのOSをベースバンド通信スタックとインターフェースすることを非常に重要
であると考えている。実際問題として、従来方式のスタックのモノリシックな、
多量の電力を必要とする、リアルタイム要件に起因して、このベースバンド通信
スタックとのインターフェースは達成が非常に困難となる可能性がある。 テキサス・インスツルメント社から出ている「eXpressDSP(eXpres
sDSP)リアルタイム・ソフトウェア技術」を参考として考えることができる。こ
の製品セットによって、DSP用ソフトウェアの開発時間と統合化時間の削減が
可能になる。しかし、この製品セットは従来方式の設計アプローチの欠点を例示
するものである。なぜならこのセットは、バーチャル・マシン層ではないからで
ある。 CVMのキー・コンセプト CVMとは、デジタル信号処理の設計、モデル化、あるいは実行のためのソフ
トウェアであり、該ソフトウェアは、通信用DSP用として最適化されたバーチ
ャル・マシン層を含むものである。 'バーチャル・マシン'とは、一般に、本発明に関連するタイプのアプリケーシ
ョンを実現するための理想的マシンの機能とインターフェースとを定義するもの
である。このマシンは、一般に、進行中のタスク用として最適化された理想的マ
シンを使用アプリケーションに対して提示し、実際のハードウェアの不規則性と
欠陥とを隠すようにするものである。また、通信処理をモデル化したり、通信処
理を表示したりする1以上の状態マシンの管理及び/又は維持を行うことも可能
である。その場合'バーチャル・マシン層'は、現実のマシンをこの理想的マシン
のように見えるようにするソフトウェアである。この層は、一般に、すべての現
実のマシン・タイプについて異なるものとなる。'バーチャル・マシン層'とは、
一般に、ソフトウェアから成る層を意味し、この層は、何らかのタスクまたは1
組のタスク(デジタル信号処理など)を実行する1組の1以上のAPI(アプリ
ケーション・プログラム・インターフェース)を供給し、使用プログラム間で割
り当てられ、共有する必要のある非常に重要な(メモリやCPUのような資源な
ど)資源を所有している。 好適には、資源を割り当て、共有し、切り替えられるように、バーチャル・マ
シン層を最適化して、デジタル信号処理を行うために最善となるようにすること
が望ましい。これと対照的に、典型的オペレーティング・システムは、ワード・
プロセッサのような一般的ユーザ・インターフェースプログラム用として最適化
されている。したがって、例えば、上記ケースの資源切替えアルゴリズムは、一
般に、エンドユーザのオペレーティング・システムの時間増分値よりもはるかに
小さな時間増分値で機能し、並列処理の制御を行うことを可能とするものでもあ
る。 通信用DSP用として最適化されたバーチャル・マシン層では、処理を実行し
なければならないハードウェアからのソフトウェア・ベースバンド・スタックの
切り離しが図られる。このため、ベースバンド・スタックを非常に移植し易いも
のにすることが可能となる。それは、基底を成すハードウェアの変化からのこれ
らのベースバンド・スタックの切り離しがバーチャル・マシン層により可能とな
ることに起因する。また、上記バーチャル・マシン層では(各々が様々な機能を
実行する)様々な接続モジュール間でのフロー制御の管理を行うことも可能であ
り、この管理を同時ベースで行うことも可能である。さらに上記バーチャル・マ
シン層では、信号処理用の共通データ構造の定義を行うことも可能である。これ
について以下さらに詳述する。 CVMは、(ベースバンド・スタック、または、特に、様々なベンダからのい
くつかのベースバンド・スタックや、移動電話のような最終製品を含むSoC全
体などの)通信用デバイスをモデル化し、開発し、実際にベースバンド処理の実
行を可能にする開発環境において利用が可能である。 'バーチャル・マシン層'というコンセプトを通信用DSPの領域に対して適用
する利点は、非アナログ分野からの一例を通じてもっとも良く理解することが可
能となる。PCソフトウェアの分野では、(システムBIOSの上位に在る)マ
イクロソフトのウィンドウズTMオペレーティング・システムは、使用中の実際
のマシンから、及び、そのマシンと接続されたデバイスの細部からソフトウェア
開発者を切り離している。換言すれば、マイクロソフトのウィンドウTMオペレ
ーティング・システムは、コードが実行可能な'バーチャル・マシン層'を提供し
ている。このバーチャル・マシン層に起因して、ワード・プロセッサを使っても
のを書いている人が、例えば、彼らのコードを実行するのがデルのマシンかコン
パックのマシンかどうかとかということや、ユーザが、(いずれかのプリンタが
)接続している場合そのプリンタがどのような種類のものであるかなどというこ
とは知る必要はない。さらに、このオペレーティング・システムによって、1組
の共有のコンポーネント(ファイル・ダイアログ・ボックス、メモリ割付けメカ
ニズム及びスレッド管理APIのような)機能とサービスとが提供される。'共
通コード'が1回しか書き込まれないため、各アプリケーションが'共通コード'
を何度も再実行しなければならなかった場合に比べて、このような'共通コード'
の厳密性、範囲及び信頼性が大幅に上昇する。さらに、PCハードウェアのメー
カーはソフトウェア開発の複雑さから保護され、適切なウィンドウズのAPIか
ら得られるBIOSとドライバを提供するだけで、当該プラットフォーム用の膨
大な範囲の既存ソフトウェアの利用が可能となる。各アプリケーションがそれ自
身のカスタムGUIコードを内包していることが多かったプレ・ウィンドウズ状
況と、現在の状況とを対比することができる。 PCウィンドウズの'バーチャル・マシン層'アプローチのための主要なイネイ
ブラ(enabler)として、多数のアプリケーションにより、同じ基底を成す'バー
チャル・マシン'の機能が広く求められることが挙げられる。もし、ただ1つの
アプリケーションが、プリンタを使用する必要があったり、ただ1つのアプリケ
ーションがマルチスレッドを必要としたりするのであれば、上記サービスがウィ
ンドウズの'バーチャル・マシン層'の一部であることは効率的であるとは言えな
いであろう。しかし事実はそうではない。なぜなら、(ウィンドウ、アイコン、
マウス、ポインタ、プリンタ、ディスク記憶装置などの)類似のI/O要件と、
類似の'共通コード'要件とを持つ多数のアプリケーションが存在して、それがP
C'バーチャル・マシン層'を'魅力的なソリューションとしているからである。 しかし、CVMに先行して、'バーチャル・マシン'というコンセプトを通信用
DSPまたは基地局の分野に適用することを考えた者はいままで誰一人としてい
なかった。このコンセプトを適用することによりCVMによって、専用DSPに
ではなく、バーチャル・マシンにソフトウェアの書込みを行うことが可能となり
、製造上のいずれか1つのソースから生じるDSPのアーキテクチャに起因する
制約から技術者を切り離すことが可能になる。このDSPからの独立という形は
、マイクロソフト社のウィンドウズ・オペレーティング・システムにより提供さ
れる、PCの世界におけるハードウェアの独立性と同様に潜在的に有用なもので
ある。 したがって、本発明の様々な実現構成にとっていくつかの主要な利点が存在す
る。 * DSPのアーキテクチャの両端にわたって、かつ、様々なメディア・アク
セス・ハードウェアへベースバンド・スタックを移植すること(例えば900M
Hzで作動するGSM電話用スタックを1800MHzで機能するGSM電話へ
移植するなど)はずっと高速になる。なぜなら、CVMによって、アーキテクチ
ャ独自の、あるいは、スペクトル独自のものではないスタック設計が可能になる
からである。研究開発から製品化までの期間のような非常に重要な利点がさらに
一段と重要になる。したがって、スタックは、バーチャル・マシン層が移植され
る相手先の任意のDSPのアーキテクチャで機能することになる。同様に、バー
チャル・マシン層が移植される相手先DSPは、バーチャル・マシン層用として
書き込まれたすべてのスタックを実行することになる。 * 高MIPS複素コード(ビタビ復号器など)の多くは、各DSPのアーキ
テクチャの場合、何回も書き変えられるのとは対照的に、バーチャル・マシン層
の場合には1回しか書き込まれない。このため、この複素コードの品質と信頼性
の経済的な改善が可能となる。これは、ベースバンド・スタック自身が以前より
少ないコードしか必要としないこと、及び、どのようなスタック・コードであれ
存在するコードが複雑さの少ないものを必要とすることを意味し、これによって
スタック・コードの信頼性が上がる。 * このバーチャル・マシン層によって、完全にソフトウェアの中で、あるい
は、ソフトウェアと、通常使用されているDSPコンポーネントとの混成物を用
いるかのいずれかによってプロトタイプの形成能力が与えられ、それによって、
開発サイクルにおけるアルゴリズムの欠陥と資源要件との早めの特定が可能とな
る。 バーチャル・マシン層が、様々なコア処理及び/又はコア構造及び/又はコア
機能及び/又はフロー制御及び/又は状態管理を用いてプログラムされるか、も
しくは、様々なコア処理及び/又はコア構造及び/又はコア機能及び/又はフロ
ー制御及び/又は状態管理へのアクセスを可能にすることが望ましい。バーチャ
ル・マシン層がプログラムされる(あるいはバーチャル・マシン層がアクセスを
行うことを可能にする対象としての)コア処理には'1以上の共通エンジン'が含
まれる。これらの'共通エンジン'は、1以上のベースバンド・スタック機能、す
なわち、ソース符号化、チャネル符号化、変調及びそれらの逆(ソース復号化、
チャネル復号化及び復調)を実行する。これらの'共通エンジン'には、高速フー
リエ変換(FFT)、(様々な拘束長、ガロア多項式及びパンクチャリング・ベ
クトルを持つ)ビタビ復号器、リード・ソロモン(Reed Solomon)エンジン、M
PEG復号器用離散余弦変換(DCT)、エラー・デコヒーレンス(error deco
herence)のための時間及び周波数ビット毎の再オーダリング、複素ベクトル乗
算及びオイラー合成が含まれる。さらに広範囲のリストが添付書類2の中に含ま
れている。これらのパラメータ化された変換の中の1以上が、通信用ベースバン
ド・スタックにより共通に求められる。上記従属特性は、ほとんどすべての主要
なデジタル放送システムの範囲内に見いだされるという本発明による洞察に基づ
くものである。一例として、GSMとDABとの類似性が挙げられる。例えばG
SMとDABの双方においてインターリービングとビタビ復号化が利用される。
したがって共通性とは共通の数学的基礎に基づくものである。 さらに、'コア構造'は各ケースの中に存在してもよい。この'コア構造'は、(
当該シンボルの範囲内に保持されているすべての情報が利用可能か否かにかかわ
らず、フル・シンボルの処理に関係する)シンボル処理部と、関連情報を保持す
る当該ビットのみの処理が行われるデータ指示型処理部とを復号化チェーンに分
割する処理部に関与する。各ケースで、これらの処理用モジュールが、中間の、
整合メモリ・バッファの割り当て、共有、配置を行い、処理用モジュール間でイ
ベントを渡し、モジュラ型開発を可能にする枠組みの範囲内に存在できるように
することが非常に望ましい。 上記コア機能は、以下の処理のうちの1以上を含む資源割当てとスケジュリン
グ(メモリ割付け、リアルタイムの資源割当て及び同時性管理)に関するもので
あってもよい。好適には、このソフトウェアは、パフォーマンスと能力の点でD
SP設計用ツールよりもずっと優れた、PCのデバグ用ツールにアクセスが可能
であることが望ましい。このソフトウェアは、適合性スクリプト(conformance
scripting)に従うものであってもよい。このスクリプトについては以下に定義
する。さらに、このソフトウェアは、コンポーネントを用いて機能するものであ
ってもよい。このコンポーネントの中で上記ソフトウェアの機能及び/又は別様
にコンポーネントのパフォーマンスのモデル化を可能にするために必要な当該情
報だけが上記コンポーネントの知的財産の所有者により供給される。このことに
よって、(内部の詳細事項、設計、操作のような貴重な企業秘密情報である可能
性がある)知的財産の所有者がその情報を隠し、サポートされている機能、AP
Iに必要なパラメータ、タイミングと資源のインタラクション、特性評価のため
の予想パフォーマンスなどのようなずっと重要性の小さい情報だけを公開するこ
とが可能になる。 本明細書では、本発明に従うソフトウェアの実施例を通信用マシン層(CVM
)と呼ぶ。CVMは、上記に導入した着想を一緒に引き出すので、以下のセクシ
ョンにおいて要約する。 CVMの実現構成についての要約 CVMとは、デジタル信号処理製品開発用プラットフォームと、当該製品を実
行するためのランタイム(runtime)との双方を指すものである。CVMは、基
本的に、バーチャル・マシン層と関連する複雑さの管理手法をリアルタイム・デ
ジタル信号処理へもたらすものであるが、この信号処理は、(i)(アーキテク
チャ独自の方法で実現可能な)高MIPSデジタル信号処理計算をバーチャル・
マシン層の一方の側の'エンジン'の中へ配置すること、(ii)アーキテクチャか
ら見て中立な低MIPSコード(様々な低MIPSプロセスを定義する層1コー
ドなど)をもう一方の側に配置することにより実行される。さらに具体的には、
CVMは、低MIPS制御プレーンとデータ'操作及びパラメータ'フローを除く
すべての高度の複雑さを、(ビタビ復号化、FFT、相関などの)多量の資源を
必要とする処理を実行する高MIPS'エンジン'から切り離すものである。この
切り離しによって、'アーキテクチャから見て中立な'高い移植性を持つ方法で、
複雑な通信用ベースバンド・スタックの構築が可能になる。なぜなら、基底を成
すハードウェア上ではなく、CVM上で実行するベースバンド・スタックの設計
が可能となるからである。CVMは、これらのスタックの高度の複雑さ、低MI
PS制御コードに対して均一なセットのAPIを示し、多くの様々な種類のスタ
ック用として高MIPSエンジンの再使用を可能にするものである(例えば、G
SMとUMTSスタック双方のためのビタビ復号用エンジンの利用が可能となる
など)。 デジタル信号処理製品の開発段階中、(最少の数のプロセッサで実行するなど
の)最適のアクセス・コストを示す構成を特定することを目的として、デジタル
信号処理製品の様々な設計上のMIPS要件の、CVMによるシミュレーション
やモデル化の実施が可能である。確定論的関数とは対照的な、少なくとも1つの
確率的統計分布関数を利用する資源割当て処理が利用される。様々なDSPチッ
プとFPGAとから成る実現構成のシミュレーションが可能である。高MIPS
の速度と並列処理能力とに起因して、FPGAの中に高MIPS演算処理を配置
することが非常に望ましい。 実際の処理中、最適の処理を維持するために、CVM内のスケジュラがリアル
タイムで知的にタスクの割り当てを行うことが可能である。本明細書ではこのア
プローチを'2段階スケジュリング'と呼ぶ。様々なエンジンの資源要件が、(i
)設計時に明示的にモデル化が可能であること、(ii)ランタイム中、知的に
利用が可能であること、という理由により、いくつかの様々なベンダからのエン
ジンを単一製品の中に混ぜることが可能となる。上述したように、これらのエン
ジンは、層1と直接の接続を行うのではなく、代わりにCVMバーチャル・マシ
ン層の中継を介して制御コードを層1と接続する。さらに、DSPとFPGAと
の組合せを利用する非リアルタイム・プロトタイプから実行時プロトタイプへの
移行、次いで、カスタムASIC上への効率のよい移行がCVMを用いることに
より可能となる。 CVMでは以下の3つの主な特長が実現される: * 同時スケジュリングのためのサポートを備えた、ダイナミック、マルチ・
メモリ空間用マルチプロセッサ分散型スケジュラ * アーキテクチャ固有の実現構成を備えた、デジタル放送及び通信用として
共用される高MIPS演算処理用API * 資源管理及び正常化層(normalization layer)(固有のRTOSを介し
て供給される) CVMは'パイプライン'という形で存在することが可能である。'パイプライ
ン'とは、ある構造または1組の相互作動するハードウェア・デバイスまたはソ
フトウェア・デバイス、及び、1つのデバイスまたは処理から別のデバイスまた
は処理へ情報を渡すルーチンである。DSP環境では、このような複数の情報は
'シンボル'と呼ばれることが多い。パイプラインは、データ・フローアーキテク
チャとして、並びに、従来の手続き用コードとして実現が可能であり、このよう
な変形例のすべては本発明の範囲内に属するものである。また、CVMは、状態
マシンとして、または、手続き用コードとして概念化し、実現することも可能で
あり、再言するが、このような変形例のすべては本発明の範囲内に属するもので
ある。 CVMの1つの例には、解釈されたパイプライン・マネージャが含まれ、この
パイプライン・マネージャにはCVMコアの実行時バージョンが組み込まれる。
'解釈された'という用語が意味するものとして、そのパイプラインの仕様が基底
を成すマシンコードにまだ翻訳されていず、ベーシック言語のような解釈された
言語の場合と全く同じように、プログラムの実行につれて繰り返し再翻訳が行わ
れることが挙げられる。 別の例として、CVMコアの実行時バージョンが組み込まれた、計装化された
解釈パイプライン・マネージャ(Instrumented Interpreted Pipeline Manager
)がある。この計装された解釈パイプライン・マネージャは、解釈されたパイプ
ライン・マネージャと同じように機能するが、開発者に役立つメトリックと計測
値も生成する。解釈された非計装化(non-instrumented)バージョンもまた開発
とデバッギング用として有用であり、コンパイルされ、計装化された(instrume
nted)バージョンもまた有用である。後者のバージョンは開発とデバッギング用
の最適ツールとなる場合もある。 CVMの別のバージョンはパイプライン・ビルダ(Pipeline Builder)である
。実行の代わりに、パイプライン・ビルダは、Cのようなコンピュータ・ソース
コードを出力し、このソースコードをコンパイルして、パイプラインの実現構成
を形成することができる。この理由のため、パイプライン・ビルダはCVMライ
ブラリを利用できなければならない。パイプライン・ビルダは、コンパイルされ
た非計装の変形例と考えることもできる。 CVM装置は、通信用コンポーネントの特性(非インターフェースの振舞いを
含む)の標準化された記述を含むか、この記述に関するものであるようにして、
シミュレータがコンポーネントを利用する上でのシステムの資源要件の正確な推
定ができるようにする。CVM装置で時間及び同時性制限のモデル化を行って、
リアルタイムOS上への対応付けを可能にし、並列処理を実行できる可能性を持
たせるようにすることも可能である。 本発明の別の特性と態様は本明細書の請求項において定義される。添付図面を
参照しながら本発明について以下説明する。 CVMついての詳細な説明 CVMの概観 CVMとは、デジタル信号処理製品開発用プラットフォームと、当該製品を実
行するためのランタイム(runtime)との双方を指すものである。CVMは、基
本的に、バーチャル・マシン層と関連する複雑さの管理手法をリアルタイム・デ
ジタル信号処理へもたらすものであるが、この信号処理は、(i)(アーキテク
チャ独自の方法で実現可能な)高MIPSデジタル信号処理計算をバーチャル・
マシン層の一方の側の'エンジン'の中へ配置すること、(ii)アーキテクチャか
ら見て中立な低MIPSコード(様々な低MIPSプロセスを定義する層1コー
ドなど)をもう一方の側に配置することにより実行される。さらに具体的には、
CVMは、低MIPS制御プレーンとデータ'操作及びパラメータ'フローを除く
すべての高度の複雑さを、(ビタビ復号化、FFT、相関などの)多量の資源を
必要とする処理を実行する高MIPS'エンジン'から切り離すものである。この
切り離しによって、'アーキテクチャから見て中立な'高い移植性を持つ方法で、
複雑な通信用ベースバンド・スタックの構築が可能になる。なぜなら、基底を成
すハードウェア上ではなく、CVM上で実行するベースバンド・スタックの設計
が可能となるからである。CVMは、これらのスタックの高度の複雑さ、低MI
PS制御コードに対して均一なセットのAPIを示し、多くの様々な種類のスタ
ック用として高MIPSエンジンの再使用を可能にするものである(例えば、G
SMとUMTSスタック双方のためのビタビ復号用エンジンの利用が可能となる
など)。 バーチャル・マシン層は、いくつかの様々なベースバンド処理用アルゴリズム
に共通の基底を成す高MIPSアルゴリズムをサポートし、これらのアルゴリズ
ムを、高水準の、アーキテクチャから見て中立な、スケジュラ・インターフェー
スの中を通る、潜在的に高度の複雑さをもつ低MIPS制御フローにアクセス可
能にし、このアクセスによって、ランタイム、メモリ、相互接続帯域のうちの1
以上に応じて、1組の資源制約包絡と共に、制御フローによるアルゴリズムの実
行指定が可能になる。上記資源制約包絡の内側で発信者は処理の実行が行われる
ことを望む。 デジタル信号処理製品の開発段階中、(最少の数のプロセッサで実行するなど
の)最適のアクセス・コストを示す構成を特定することを目的として、デジタル
信号処理製品の様々な設計上のMIPS要件の、CVMによるシミュレーション
やモデル化の実施が可能である。確定論的関数とは対照的な、少なくとも1つの
確率的統計分布関数(及び/又は統計的測定関数)を利用するモデル化を行うた
めの資源割当て処理が利用される。様々なDSPチップとFPGAとから成る実
現構成のシミュレーションが可能である。高MIPSの速度と並列処理能力とに
起因して、FPGAの中に高MIPS演算処理を配置することが非常に望ましい
。 実際の演算処理中、最適の演算処理を維持するために、CVM内のスケジュラ
がリアルタイムで知的にタスクの割り当てを行うことが可能となる。本明細書で
はこのアプローチを'2段階スケジュリング'と呼ぶ。様々なエンジンの資源要件
が、(i)設計時に明示的にモデル化が可能であること、(ii)ランタイム中
、知的に利用が可能であること、という理由により、いくつかの様々なベンダか
らのエンジンを単一製品の中に混ぜることが可能となる。上述したように、これ
らのエンジンは、層1と直接の接続を行うのではなく、代わりにCVMバーチャ
ル・マシン層の中継を介して制御コードを層1と接続する。さらに、DSPとF
PGAとの組合せを利用するPCT非リアルタイム・プロトタイプから実行時プ
ロトタイプへの移行、次いで、カスタムASIC上への効率のよい移動がCVM
を用いることにより可能となる。 CVMでは以下の3つの主な特長が実現される: * 同時スケジュリングのためのサポートを備えた、ダイナミック、マルチ・
メモリ空間用マルチプロセッサ分散型スケジュラ * アーキテクチャ固有の実現構成を備えた、デジタル放送及び通信用として
共用される高MIPS演算処理用API * 資源管理及び正常化層(normalization layer)(固有のRTOSを介し
て供給される) CVMとは設計フロー・ソリューション並びにランタイムである。 CVMは、ランタイムを補う完全な設計フローを提供するものである。このC
VMによって、完全に統合化された数学モデルと、(バースティなデータに関す
る演算処理に必須の)統計的シミュレーション・ツールと、(データ・パスがハ
ードウェアの中へ入るべきか、DSPコア上のソフトウェアの中で実行すべきか
を決定するための)演繹的分割シミュレーション・ツールが技術者に与えられる
。数学モデリング用ツール(Matlab/Simulinkなど)のカスタム
・ライブラリの利用によって、CVMは、様々なデータ・パスがどれだけの数の
ビット幅を持つ必要があるかなどを前もって決定するために、詳細に、かつ、ビ
ットレベルの(bit-exact)精度で、高MIPSエンジンの機能のモデル化を行
うことができる。しかし、また、このシステムでは、データ作成/破壊イベント
(birth/death event)とをモデルのコンテキストの内で処理することを可能に
する統計的シミュレーションが行われる制御プレーンからXMLコマンドを受け
入れることもできる。さらに、スケジュラの間接インターフェースを介してシミ
ュレーション・エンジンにまでもアクセスが行われるので、実際のハードウェア
などの実現構成に対してプラグ・インコールを行って、シミュレーションの実行
速度を上げることが可能となる。 また、重要なことは、様々なシステム分割の決定により資源ローディングのシ
ミュレーションの実行が可能なことである。様々な統計的ロードの下で十分なカ
バーを行うためには、特定のアルゴリズム'エンジン'(ビタビ復号器、レイク受
信デバイス・エレメント、ブロックFFTの演算処理など)のインスタンスがい
くつ必要なのか?データ・パスがバスのような遅延を生じる及び/又は同時争奪
を生じる資源にわたって移動する場合、何が起こるのか?データ・パスがソフト
ウェアではなくハードウェアの中で実現される場合何が起こるのか?これらの問
題の解決のすべては非常に重要であるが、既存のツールセットではこれらの解決
はまだ行われていない。さらに、複数のサード・パーティのIPエンジンまたは
エンジン(下記を参照)に関して、分割問題の解決を行うとき、これは2重の意
味で真である。CVM設計フローによって、これらの種類の設計上の問題解決に
対する回答を与えることが可能となることは明らかである。さらに、初期の分割
情報は、設計用ツールセットから'順方向に'転送されてランタイムスケジュラの
中へ入り、これによって、システムが実際の動的ロードを行っているとき、この
ランタイムスケジュラが、実現のための好適なエンジン・インスタンスへ要求の
配分を行うことが可能となる。 'ボトムアップ'から見ると、このソフトウェアを実質的に2次的重要性をもつ
ものとして扱うことは、もはや販売のための製品開発を行う方法ではない。この
ようなやり方では単に長い時間がかかりすぎるだけで、あまりにもアーキテクチ
ャ独自の結果が生じ、基底を成す領域の並列状態マシンの性質にとって不都合な
'マッチング'が生じることになる。'トップ・ダウン'から見ると、CVMが利用
するパラダイムにより、はるかにずっと強力で拡張可能なソリューションが得ら
れる。 CVMに関する最終ポイントとして、基底を成すエンジンから制御フロー・コ
ードを切り離すことにより、実際の組み込まれたターゲットと矛盾することなく
、従来の(PCなどの)プラットフォーム上で多くの開発作業の実行が可能にな
ることが挙げられる。これによって、特定のベンダの最終ターゲットの開発用プ
ラットフォームを利用する場合に比べて設計上ずっと早い方向転換が可能になる
。 例:CVMとは、3Gシステム用SoCのような、ハードウェアによるリアル
タイムの、マルチベンダの、マルチプロトコル環境に対する設計上のソリューシ
ョンである。 CVMのコア・エレメントの中の1つとして、ハードウェアによるリアルタイ
ムの、マルチベンダの、マルチプロトコル環境における(潜在的に衝突する)サ
ード・パーティのソフトウェア/ハードウェアの資源要件を処理する能力がある
。この能力はCVMの主要な利点であり、システム・オン・チップ(SoC)の
設計の際、特別な重要性を持つものである。これを理解するために、3G携帯電
話マーケット向けのベースバンド・チップの将来のプロバイダが直面する問題点
について考えることにする。第1に、層1の必要となる処理の複雑さに起因して
、在庫のDSP用として単純にコードを書き込むことはオプションではない。A
SICでは、複雑な拡張やターボ復号化などの処理を行うことが求められる。第
2に、UMTSは少数の地下鉄の場所に当初導入されるにすぎないため、チップ
にはGSMのサポートも可能である必要がある。ベースバンド・チップメーカが
これら双方の分野で広範囲の技術を持っていることはありそうもなく、したがっ
て、IPの使用許諾を受ける必要が生じる。この点は、絶えず長引くことになる
、研究開発から製品化までの期間という圧力を考慮すると技術会社にとって特に
関係の深い事柄である。しかし、一部はハードウェア、一部はソフトウェアから
成るIPエンジンの使用許諾を層1の複数のベンダから得ることは1つの現実的
な問題を現出することになる。第1に、上記方法での'互換性対非互換性'(mix
and match)IPについての共通の単純な基準は現在存在していない。必要とさ
れること、及び、CVM設計フローが提示することとして、静的及び動的双方の
サード・パーティのIPブロックの資源要件を特徴づける1つの方法がある。こ
の方法によって、潜在的に、全く異なるサプライヤからの別のIPエンジンを用
いてリアルタイムで当該サード・パーティのIPブロックを同時スケジュール化
し、次いで、より高いレベルの層1制御コードとの透過的な接続が可能となる。
さらに、CVMの性質として、(ANSICへコンパイルされたSDLなどの)
アーキテクチャから見て中立な言語でこれら高レベルの呼構造及び制御プレーン
全体の形成が可能であるということが挙げられる。その場合、低いレベルで、高
MIPS部分だけがアーキテクチャ独自の形式で直接実現されることになる。 上述したように、エンジン内に内包される高MIPS機能は、完全な処理ルー
チンを表すものである。これらのエンジンは、ハードウェアまたはソフトウェア
、あるいは両者の何らかの組合せで実現可能であるが、このことは高水準の'呼
出し'コードという観点から見ると重要な問題ではない。高レベルのIPは、C
VMスケジュラ呼出しを介して基底を成すエンジンと交信を行い、この呼出しに
より、ハードによるリアルタイムの動的資源制約の指定が可能になる。次いで、
スケジュラは、適切なデータ・パスへこの要求の実行指令を出す。この実行指令
にはDSPの関数呼出しや、FPGAまたはASICへのデータの受渡しが含ま
れる場合もある。重要なことは、このスケジュラが複数のハードウェアのデータ
・パスを処理することができるという点である。これらのデータ・パスは様々な
アクセス用プロファイルと実行用プロファイル(例えばオンバス・ビタビ復号器
、オンチップ・ソフトウェアベースの復号器、及び、外部DMAを介してアクセ
スされるオフチップ専用ASICなど)を持つことが可能であり、さらに、呼出
し用の高レベルのコードから完全に独立した適切なユニットへ特定の要求を渡す
ことが可能である。 また、このことは、2つの異なる通信スタックがいくつかの共通の高MIPS
エンジンを必要とする場合、適切な(プラットフォーム独自の)エンジンの実現
構成(この実現構成がハードウェア、ソフトウェアまたはその双方の何らかの組
合せのいずれで設計されているかにかかわらず)のベンダが、上記2つの異なる
通信スタックのマーケットへ販売を行うことができることを意味し、さらに、単
一SoC上に2つの規格が実装されている場合、双方のスタックが同じアクセラ
レータを潜在的に共有できることを意味する。加えて、1組の100以上のコア
・オペレーションが指定され、これらのコア・オペレーションを考慮に入れると
、デジタル放送用プロトコル及び通信用プロトコルの膨大な部分の中で得られる
高MIPS機能の80%近くがこのCVMにより提供されることになる。また、
CVMランタイムは基底を成すRTOSの周りにラッパを与え、(スレッド、メ
モリ、外部アクセスを含む)資源管理のための規格に準拠したインターフェース
を高レベルのコードに示すものである。 CVMを用いることにより、通信SoC製品用の統合化された開発用プラット
フォームの構築が可能となる。その場合、いくつかのサード・パーティのベンダ
は、高レベルのアーキテクチャから見て中立なSDLあるいはC++コンポーネ
ントもしくはアーキテクチャ独自の、資源プロファイル化されたエンジン(ハー
ドウェア、ソフトウェア、またはその双方の組合せであってもよい)のいずれか
として、彼らのIPを公開することができる。統合化された設計フローによって
、SoCの設計者は、(特定のベンダから選択された)適切なエンジンを含むシ
ステム全体を形成し、CVMの両側またはいずれかの側に自分のIPを付加し、
次いで、(アクセラレータと共にいくつかのVHDLで定義されたコアとして)
利用可能なハードウェア仕様とソフトウェア・コンポーネントの双方を作成する
ことが可能になる。数学モデリングと、分割、プロトコル検証及び最終的システ
ム形成のための統計的、演繹的、確率的シミュレーションとによって完全なフロ
ーを提供するツールセットの組立てと、好適なメカニズムの提供と、設計の範囲
内の'パッケージ化された'IPライブラリの特徴づけ、公開、列挙及び利用が可
能となる。 このシステムは、SoCの設計者用の主要ワークベンチになる潜在的可能性を
有する。SoCの設計者は、高MIPSエンジンの開発を行うために、層1制御
構造(fabric)の中のいずれにも入らず、VHDLツールの中へ入るだけでよく
なるからである。 CVMにより設計層1内でのSDLの利用が可能となる。 上述したように、ANSI C++または好適にはSDL(このSDLはその
後ANSI Cへコンパイルしてもよい)のいずれかを用いて、アーキテクチャ
から見て中立な方法で低MIPSコードを書き込むことがCVMにより可能とな
る。SDLとは、層2及び層3スタックを表現するために電気通信業界内で広く
使用されている言語であり、状態マシン・フォーマットで最も経済的に表現され
るシステムにとって特に好適な言語である。従来の方式で使用するには、SDL
は層2('ソフトによるリアルタイム'領域の端)より下位で使用するのに適切な
ものではない。SDLコードは様々なアーキテクチャ間での完全な移植が可能で
あり、TTCNなどのようなツールを用いて通常の方法でテストを行うことも可
能である。開発時のコードとサブストレートの相互接続とから成る様々な部分に
(動的資源の天井などのような)システム上の制約を設けることが可能であり、
次いで現実の負荷モデルを用いてシミュレーションを行って、ハードウェアとソ
フトウェアへのデータ・パスの予行分割を行うことが可能となる。重要なことは
、CVMスケジュールが、開発プロセスの1回の設計時間部分中に行われたデー
タ・パス分割決定を認識しているということである。ツールフローは、Matl
ab及びSimulinkと完全に統合化され、高MIPS機能のビットレベル
でのテストが可能となる。層1の範囲内での高レベルの論理フロー用推奨言語と
してSDLの使用は偶発的なものではない。SDLは、GSMのような通信スタ
ック層2と3内で広く使用されてきたが、この2つの層の深い溝(chasm)の間
をかけ渡してハードウェアによるリアルタイム領域の中へ入ってきたことは従来
なかったことである。これと対照的に、CVMでは、SDL制御フローからの並
列の、ハードウェアによるリアルタイムの実行指令の呼出しが可能となり、それ
によってSDLの非常に強力で、かつ、自然な、状態マシンの表現性を利用して
、高水準の層1アルゴリズムの作成が可能になる。これらのアルゴリズムは、低
MIPSを有しているにもかかわらず、ほんの2、3名前を挙げるだけでも、バ
ースティなレート・マッチング、ユーザ・トランスポート・チャネルのデータ作
成/破壊イベント(birth/death event)、複数の規格間のハンドオーバ、負荷
によるQoSと結びついたグレースフル・デグラデーションのような問題を処理
しなければならないので、ますます極度に複雑になっている。リアルタイムの処
理用としては設計されていない他の言語(C++やJavaなど)もSDLの代
替言語として設計層1での使用が可能である。 CVMに対する理論的背景 現在のデジタル通信システムは、チャネルに起因するきわめて厳しい影響に直
面する中で信頼性の高い、情報の無線による最善の伝送方法についての、最近の
15年かそこらで出現した実質的に共通の同意に基づいて構築されている。2方
向システムは、(例えば、輻輳状態のスペクトル帯域に直面してグレースフル・
デグラデーションを生じるCDMAを利用し、いくつかの'ハードウェアによる'
リアルタイム要件を含むような)放送型システムとは多少異なるチャネル要件と
変調要件とを持っているが、全体として多くの共通性が存在する。 例えば、(1方向の)放送システムの特定のケースでは、復号器と符号器は単
に並列の'プロトコル・スタック'と考えることができよう。ほとんどの放送送信
システムは、(ビットレートを落とすために入力信号を圧縮するMPEGのよう
な)ソース符号化から始まり、その後(信号破損にもかかわらず情報を取り出す
受信機の能力の向上のための構造化された冗長性を付加する畳み込み符号化とリ
ード・ソロモン(Reed-Solomon)符号化のような)チャネル符号化が後続し、そ
の後、(この時点で、複数の副搬送波が(周波数または位相の)角度や振幅の何
らかの組合せで修正され、情報が保持される)変調が後続する。次いで、図5の
線図を(1つのレベルで)生み出す逆の処理が受信機で実行される。したがって
、ほとんどすべての主要なデジタル放送システムの中で1組の共通の処理用エン
ジンが見いだされ、各ケースで共通の処理構造の適用が可能となる。 CVMの実施例は、上記の事実を以下のように利用するものである。すなわち
、共通エンジン(または関数やライブラリ)には、1以上のステップ(ソース符
号化、チャネル符号化、変調の各ステップ)、あるいはそれらの逆のステップ(
ソース復号化、チャネル復号化及び復調の各ステップ)を実行するアルゴリズム
が含まれる。これらのアルゴリズムには、例えば、高速フーリエ変換(FFT)
、(様々な拘束長、ガロア多項式及びパンクチャリング・ベクトルを備えた)ビ
タビ復号器、リード・ソロモン(Reed Solomon)エンジン、MPEG復号器用離
散余弦変換(DCT)、エラー・デコヒーレンス(error decoherence)のため
の時間及び周波数ビット毎の再オーダリング、複素ベクトル乗算及びオイラー合
成などが含まれる。さらに広範囲のリストが添付書類2の中に含まれている。上
記アルゴリズムは高MIPSルーチンであり、したがって、理想的にはアーキテ
クチャ独自の方法で(アセンブリ・コードまたはハードウェアによる加速処理の
いずれかを介して)CVMの中で実現される。上記の事実にかかわらず、共通の
高水準APIを通じてCVM内のこれらのアルゴリズムのアクセスすることがで
きる。これらのパラメータ化された変換の各々は、この各変換について設けられ
る並列的数学モデリング・ブロックが含まれる。 この共通構造は、(当該シンボルの範囲内に保持されているすべての情報が利
用できるか否かにかかわらず、フル・シンボルの処理に関係する)シンボル処理
部と、関連情報を保持する当該ビットのみを処理するデータ指示型処理との復号
化チェーンへの分割に関与するものである。各ケースで、これらの処理用モジュ
ールが、中間の整合メモリ・バッファの割り当て、共有、配置を行い、処理用モ
ジュール間でイベントを渡し、モジュラ型開発を可能にする枠組みの範囲内に存
在できるようにすることが非常に重要である。この共通構造は、数学モデリング
環境の適切な場所に並列化され、グラフ記述言語(GDL)を介して記述される
。図6は、CVMで利用されるこの共通ブロック及び共通構造によるアプローチ
を概略的に描くものである。 追加のCCS(同時システムの微積分法)要件と資源割当て問題が存在すると
いう点と、処理用エンジンの必要な'臨界容量'がわずかに異なるという点とを除
いて、2方向システムについても同様の分析を行うこともできる。 現在の世代のサード・パーティ・アプリケーションの開発用ツールと、ハード
ウェア配置用プラットフォーム(DSP及びDSPコア)とが、上述の構造的現
実を反映していないこと、及び、(概して)通信ベースバンド・アプリケーショ
ンに合わせて仕立てられたハードウェアによる加速処理を行わないこと、また、
2段階スケジューリング・アプローチ(下記を参照のこと)も行わないことは興
味深いことである。また、現在の組み込まれたオペレーティング・システムでも
系統的なあるいは統合化された方法での上記処理やアプローチのサポートは行わ
れていない。 しかし、デジタル通信システムの数は急速に増加しつつあり、ベースバンド・
スタックの研究開発から製品化までの短い期間内の市場への投入に対する要望が
生まれている。以上説明したように、本発明の中核を成す革新的アプローチは、
ソフトウェアにより提供された'バーチャル・マシン層'(CVMの実施例により
例示される)を提供し、これらの能力とソフトウェア構造とを具体化することに
より、基底を成す共通性とこのようなシステム要件とを利用することである。1
つの主要な市販アプリケーションは、(上述したような)SoCなどのハードに
よるリアルタイムの、マルチベンダの、マルチプロトコル環境に対する設計上の
ソリューションのようなものである。 CVM開発方法論 CVMで用いられる開発方法論は、層化された開発と層化された配置を用いる
方法論から出発し、この方法論を利用するものである。これらのコンセプトにつ
いて最初に解説する:層化された開発とは、(必要に応じて)数学モデルから、
C++またはSDLコードを通じて、ターゲット・アセンブラの実現構成へ進む
プロセスを意味する。このプロセスを通じてずっと、当該モジュールの各々は、
必要なレベル(例えば、並列的数学モデル、C++実現構成、SIMDモデル及
び様々なターゲット言語によるアセンブラの実現構成として畳み込み復号器が存
在する)の各々に維持される。 層化された配置とは、受信機のスタックが実際に実現されたとき、基底を成す
ハードウェア及びホストのオペレーティング・システムから可能な限りコードを
切り離すためにライブラリを利用することを意味する。したがって、可能な限り
多くのコード(高度の複雑さと共に低MIPS要件)が、一般的SDLまたはA
NSI対応C++(これはその後、ターゲット・プラットフォーム用として単純
に再コンパイルされる)として保持される。例えば、単純なI/O、メモリ・バ
ッファの割当てなどのようなプラットフォームに依存する機能を提供するために
ライブラリが利用される。(FFT、ビタビ復号器などのような)反復して使用
される回数の多いルーチンをアーキテクチャ独自の方法で提供するために別のラ
イブラリが利用される。このアーキテクチャ独自の方法には、好適に設計された
アセンブラル・ルーチンの利用や、専門用ハードウェアによる加速処理用エンジ
ンに対するコールスルー(callthrough)の利用までも含むこともできる。 上記2つのライブラリは、基底を成すハードウェア及びオペレーティング・シ
ステムのサブストレートの如何に関らず、移植中修正を行う必要がない'コア'コ
ードとの共通のAPIとして明白なものである。修正すべき唯一のコード、すな
わちライブラリの実現構成の内容は、意味のあるカプセル化と数学モデルから生
成される多種多様のテスト・ベクトルから利益を得る。その理由として、スタッ
クの移植を高速に行うことが可能なアーキテクチャ内の接続ポイント(point of
articulation)が、上述のアプローチを用いて適切に配置されているというこ
とが挙げられる。 さらに、開発用プラットフォームとして、上記アプローチには、数学モデルを
実行するのではなく、逆に完全なリアルタイム送受信装置を実行する1つのアー
キテクチャ(インテルのプラットフォームなど)上で開発を行い、次いで、単純
にライブラリのスワップを行い、ターゲットのアーキテクチャで再コンパイルを
行うことが可能であるという大きな利点がある。これは、等化器モジュールの同
調などを試みる際非常に有用なものとなる。 CVMによるアプローチは上記のような作業方法を利用するものである。しか
し、これに加えて、すべてのデジタル通信用ベースバンド処理作業にとって有用
な主要サービス及び機能と共に、可能な限り多くの共通の機能が分離されて'バ
ーチャル・マシン'のハードウェアの分離層の中へ入れられる。 以下の図7は、上記のことがアーキテクチャのレベルで機能する方法を示すも
のである。プラットフォームAとプラットフォームB用の異なるライブラリの実
現構成を備えて与えられるスタックを出荷する代わりに、CVMの中に、プラッ
トフォームAとプラットフォームBの各々のための共通の'ベースバンド・オペ
レーティング・システム'層が存在し、共通のAPIが与えられる。この共通の
APIの上で(再コンパイルを除いて)変らない状態のままさらに高いレベルの
コードの実行が可能となる。 さらに、シンボル指示型処理のためのシンボル・サブスクライバ(symbol sub
scriber)アーキテクチャやデータ指示型処理のためのパイプライン・アーキテ
クチャのような、別様の場合、C++コアの範囲内に存在するような機能の多く
をこの層の中へ組み込むことが可能である。 具体的なCVM開発方法論:2段階スケジュリング段階I ベースバンド通信システムを構築する際の1つの重要な側面として、アプリケ
ーションが実行される、ハードウェアとソフトウェアのプラットフォームとの要
件の定量化がある。アプリケーションが要求するMIPS(100万命令毎秒)
の回数のベースライン計算は比較的簡単であり、単に、1つの処理を実行するた
めの、各コンポーネントの要求条件を計算し、処理回数を乗算し、それらすべて
を一緒に加算するだけのものにすぎない。しかし、上記の中には並列要因のよう
な側面は考慮されていない。2×500MIPSのプロセッサは理論的には10
00MIPSの処理パワーを転送するとはいえ、別のチップでの処理の完了を待
機している場合、アルゴリズムがこのパワーを利用できない場合もある。また、
スケジュラの特別の処理要件、及び、考慮すべきデータ転送オーバーヘッドも存
在する。2つのプロセッサが同じボード上に存在する場合、データ転送ペナルテ
ィはおそらく小さなものであるが、2つのプロセッサが1つの外部バスの中へプ
ラグ・インされた別個の独立のボード上に存在する場合には、データ転送ペナル
ティはさらに大きなものとなる。バスの競合(2以上のプロセッサが同時にデー
タの転送を望むこと)によっても能率全体が低下する可能性がある。CVMによ
って、この種の分散型環境におけるシステムの実現を容易にするいくつかの方法
が提供される。 最初に、添付書類2に記載されている信号処理用の関数などの個々の計算用コ
ンポーネント要件、及び、添付書類2に記載されている信号処理機能に基づいて
組み立てられるさらにアプリケーション独自のエンジン要件の定量化が可能であ
る。3G移動通信のような環境では、1つのブロックの内を通過するデータ量は
時間中変動するため、1回のデータ転送速度で1つのブロックの要件を計算する
だけでは十分ではない。その代わりに、プロファイルは潜在的入力ベクトル・サ
イズの範囲にわたって組み立てられる。 CVMによって、一方の端でデータを注入し、もう一方の端で消費するデータ
・フロー(パイプライン)のコレクションとしてシステムを定義することが可能
となる。これらのパイプラインのエンジンは、入力ベクトル・サイズの関数とし
てエンジンがどれだけ多くの処理を必要とするかという点から特徴づけられる。
MIPSの使用計算の第1のパスとして、このパイプラインに沿う、変動するサ
イズのエンジンの通過シミュレーションと、入力ブロック・サイズの関数として
の上記使用合計の計算とが行われる。これにより、単一のプロセッサにおいて完
了まで連続して実行したと仮定した場合のエンジンのMIPS要件の合計が計算
される。 さらに優れたモデルによってプロセッサを切り離すためにエンジンが割り当て
られ、真のパイプライン接続が可能になる。このアーキテクチャに基づくソリュ
ーションは、単一のスレッドされたソリューションよりもさらに多くのMIPS
を必要とすることになるが、いったんパイプラインがロードされると、より短い
経過時間でデータ・エンジンを処理できる可能性が生じることになる。Nをプロ
セッサの数、E(N)をプロセッサの利用効率(1=100%、0=ゼロ)、M
pを単一プロセッサのMIPSの定格、Mを当該MIPS要件の合計とすると、
1秒のデータ処理時間Tは、下式で表される: T=M/(E(N)×N×Mp) 上式の目的はNの最小値を見つけることである。但しTは"ゆとりのある(com
fortable)"マージンの1未満の数とする。E(N)は、単一のボードの場合1
に接近し、(スケジュリングとデータ転送により導入されるオーバーヘッドに起
因して)ボード数の増加に伴い低下する。E(N)は、処理用エンジンがボード
間でどのように分散されるかによっても変動する(この変動は、変動するデータ
転送要件と、不規則な負荷バランスがプロセッサをしばらくの間アイドル状態に
放置する可能性とに起因する)。 スケジュリング処理と、バスの特性と、エンジンの特性とに関する情報を持っ
ているCVMシミュレータは、様々な数のボードとエンジン構成についてE(N
)したがってTの計算を行うことができる。また若干のエンジンの"ダブルアッ
プ(doubling up)"(2以上のボード上で同じ機能を持つこと)の影響を調査す
ることも可能となる。 あるタスクのために必要な一続きのエンジンをいったん認知すると、CVMが
セットされ、エンジンとボードの構成を介して最適解を探す探索が可能となる。
ボードの個々のMp値を出し(N×Mpをこの個々のMpの和で置き換える)、
特定のエンジンを特定のボードに結びつけることも可能となる。例えば、ビタビ
復号器はDSPよりも高いMIPS定格を持つFPGA上で常に実行する。多数
のエンジンについての網羅的探索は実行不可能となるため技術者からの何らかの
助けが必要となる。 段階II いったんエンジンとボードの受け入れ可能な構成が得られると、"本気で実行
する"スケジュリング処理の段階IIへ進むことができる。段階Iは、正しいボ
ード上へのエンジンのロードに使用することはできないシステム構成を生成した
ことになる。メインボードのスケジュラもこの情報を利用することが可能となる
。いったんシステムが実行すると、データ・エンジンはスケジュラから、データ
に対して機能するエンジンへ流れる。ほとんどの時間、このスケジュラは単に、
処理を必要とする順にデータを先へ送るにすぎないが、より多くの知能的処理の
適用が可能となる場合が生じてくる。同等の優先順位を持つ複数のエンジンが存
在する場合、スケジュラは、作業ロードが最少となるようにスケジュリングを行
うことにより、すべてのボード上でキュー・サイズのバランスをとることを試み
る。2以上のボード上に同じ機能が存在する場合、スケジュラはスケジュリング
を行うための最適ボードを再び探索する。同じボード上の2つのエンジン間でエ
ンジンのルート選定を行う際にメインのスケジュラの関与が不要となるように、
すべてのボードにはローカルなスケジュラが設けられる。スケジュラは、作業を
送るボード選択権がある場合、可能であれば自分のボードを常に選択する。また
スケジュラは、ログ・メッセージのルート選定やモニタ用コンソールへの情報の
モニタ・バックなどのような緊急性の少ない活動のスケジュリングが可能な場合
には、処理時の潜在的小休止状態(lull)を探索することにより、最も緊急を要
するエンジンの絶対的緊急性をモニタする必要がある。 さらなるCVM開発方法論:UMTSでの実現構成で使用されるようなMIP
Sカウンタ 上述したように、CVMは、CVMスケジュラによって接続され、制御される
複数の分散型エンジンから構成される。これらのエンジンは同じハードウェア上
に位置するものであってもよいが、異なるハードウェア(CPU、DSPまたは
FPGA)上に位置することも可能である。CVMのUMTSでの実現構成の場
合、障害を特定し、エンジン/ブロックの連続化を助けるシステムが開発されて
いる。まずデータ・ブロック用の処理ルートが与えられているものと仮定する。
例えば、UMTS規格25.212と25.222にはTrCH段階でのブロック
の多重化方法が提案されている。その場合、BERのような何らかの客観的判断
基準に応じてルート間で処理の若干を切り替えてもよい。しかし、必要なエンジ
ンについては認知されている。次いで、データ・サイズとユーザの数という点か
らエンジンのサイズを決定しなければならない。例えば、ベクトルが長さnで、
かつ、エンジンが以下、 for (int i=0, i < n, i++) { for (int j=O, j < n, j++) { // Do something... } } から構成されている場合、この処理はn2またはO(n2)の次数であるという
ことができる。次に、基本命令((//Do something')内の'+','−',...)の
数をカウントすることができる。例えば、FFTによってnLog(n)回の演
算処理が行われることになる。次いで、この演算回数に1基本命令当たりのデバ
イスの実行命令の回数を乗算し、次いで、これをMIPSの回数で除して、タス
クの実行にデバイスが要する時間を得ることができる。或いは、単に相対時間を
設定してもよい。 ユーザの数(K)について同じ処理を繰り返すことができる。例えばMUは2
Kのような数になる場合もある。最終的に、各ブロックはビットレートの変更を
行ってもよいし、行わなくてもよい。ターボ符号化によってビットレートは3倍
だけ増え、CRCの使用により12ビットが加算される。(バスの待ち時間、ス
ケジュラ、並列化/連続化はすべてエンジンと考えることができることに留意さ
れたい) 重要な点は当該データ転送速度がわかっているという点である。上記処理によ
り解答が得られる問題として、エンジン(エンジンのMIPS予算など)をどの
ように配分してその調整を行うようにすることができるかということが挙げられ
る。 トップ・ダウン方式による設計 状態制御とデータ制御とを必要とする場合、処理用チェーンの走査はきわめて
複雑となる。この処理手順を用いて、標準的アダプタを介してRSの中にC++
ブロックが結びつけられ、Simulinkとの統合化が行われる。基本的に、
上記処理の意図は階層の中を移動することである。層を上位へ移動するほど抽象
のレベルがだんだん高くなる。その意図は、3つのサービスについて'ユーザ'が
作成するデータのラウンド・トリップを行うことである。UEによって、ある一
定のプロパティを持つ物理チャネルを介してBSへのデータの送信が行われる。
BSは上記データを受信し、復号化する。この場合、BSは簡単なバックホール
を持ち、物理チャネルを介してデータを再転送して元のUEへ戻し、このUEで
上記データは入力データと比較される。このシステムによってエンジンの入替え
が可能になり、種々のチャネルにおけるBERと時間という点からパフォーマン
スの改善が図られる。 CVMの特性 CVMは、ベースバンド処理スタックが必要とする種類の機能を提供する最低
限のOSと考えることもできる(また、上述したように、これらのスタックはG
SMやブルートゥースのような2方向スタックであってもよい)。したがって、
CVMは、マイクロソフト社のウィンドウズCEやシンビアン社のEPOCのよ
うな、本格的な内蔵型オペレーティング・システムと相補うものである。 CVMでは、(特に)下記の機能が提供される: * FFTフィルタ、FIRフィルタ、IIRフィルタ及びウェーブ・ディジ
タル・フィルタ、及び、デシメーション、相関、複素乗算などのようなオペレー
ションをカバーする広範囲のセットのベクトル処理用プリミティブ(さらに多く
のプリミティブが添付書類2に完全にリストされている)上記オペレーションは
、基底を成すハードウェアで加速処理が利用可能なハードウェアによる加速処理
を利用することが望ましく、さらにこれらのオペレーションは、ライブラリの拡
張バージョンを並列化する1組のライブラリ呼出しを介してアクセスされること
になる。ある意味では、CVMのこの側面は、デジタル通信を行うための理想化
されたデジタル信号処理用エンジンのソフトウェアまたはAPIの抽象的な形を
表すものである。 * 整列バッファの割当てと、メモリ'ハンドシェーキング'(ピンポン・バッ
ファ)とのサポート * 単純な種類のプリエンプティブ・マルチスレッドのオプションを備えた高
度スケジュリング管理ハードウェアによるリアルタイム・パフォーマンス(すな
わち、ある特定の時点に1つのコードが処理を実行する)がアーキテクチャの主
要なコンポーネントとしてサポートされる。プロセス間通信構造(少なくとも共
有メモリ)とスレッド同期ファシリティとが提供される。主要な特長として、確
率的並列スケジュラがあり、このスケジュラは計算用異種サブストレートの両端
にわたるCVMエンジンに対する設計時間の分割の決定を認識するものである。 * シンボル指示型及びデータ指示型処理についての概念の明示的サポートこ
れは、シンボル・サブスクライバ(symbol subscriber)とパイプライン段階と
を構造の中へ付加してモジュラ型の開発を可能にする能力を直接サポートするも
のである。 * シリアルポート、パラレルポート及び表示制御装置を含む主要なI/O周
辺機器のサポート * 特に、モジュラ型I/OサポートのO/Sの範囲の拡大を可能にする拡張
性 * 数学モデルとリアルタイム・プロトタイプとが、ターゲット・サブストレ
ートと相互接続とのパフォーマンスのシミュレーションを高度の正確さで行うこ
とを可能にする特定の実現構成についての特性ライブラリ * リアルタイム・プロトタイプの製造を可能にするPCバージョン * ホスト(アプリケーション)のOSとの通信のサポート:この通信はコー
ルバック等々を可能にする双方向通信となる。2進'グルー'を行うためにコンポ
ーネント相互通信技術(COMなど)を利用してもよい。好適なアプリケーショ
ン用OSとしては、例えばEPOC32やウィンドウズCEであってもよい。な
ぜなら、これらのOSは、より一般的なユーザ・レベルのI/Oと、構造化され
た記憶管理とを実行するように設計されたOSであるからである。 * 最小の(したがって最終的にはチップ面積の)ROMの利用を保証するた
めに組立てタイム(build time)においてCVMのROM画像を'削減する(par
e down)'能力 これはCVMの最低限の実現構成を利用するものである。 * 状態マシンの機能管理(SDLとの潜在的統合化を含む) * データ構造のサポート * (固定小数点や浮動小数点などのような)異なる表現間の変換 CVMの目標は、開発段階での多数のアプリケーションを用いて、特定アプリ
ケーションの高速な利用を特定のターゲット上で可能にすることである。従来の
OSは、OSがロードされたとき実質的に未知の種々のアプリケーションの実行
時サポート用として設計されているが、一般にCVMについては事実はそうでは
ない。さらに、CVMは、'ホスト'のOSが提供するポータルを介するプレゼン
テーション・ストリームのサポートによる処理を除いて、ユーザとのインタラク
ション処理を必要としない。 CVMは、インフラ・ストラクチャ・レベル(シンボル指示型及びデータ指示
型処理の開発のための適切なモジュラ型構造など)の中へDABスタックの高レ
ベルのC++コードの中に現在存在するいくつかの特性を組み込んでおり、単な
る'ライブラリ・ラッパ'ではない。 CVMというコンセプトは、共通機能の分離と、(重要なことであるが)最新
のデジタル放送及び通信規格によって求められる処理構造の分離とが可能であり
、系統的に層化された開発環境と結合された適切なソフトウェア分離層を介して
、これらの分離のエレガントな達成が可能であるという着想(様々な規格のレビ
ューによってしか達成できないドメイン情報と、実際のスタックの構築処理とに
大きく依存する)に基づくものである。 CVMの利点 CVMでは、スタックの開発者たちは使用中の特定のハードウェアから切り離
される。CVMとは、(シンボル指示型及びデータ指示型パイプライン及び状態
マシンなどの)構造と、(メモリ割付け、リアルタイム資源、同時性管理など)
機能と、デジタル通信用ベースバンド・スタックにより求められる(FFT、ビ
タビ、畳み込みなどの)ライブラリとをサポートし、それによって、高水準言語
(SDL、ANSIC/C++またはJava)によるコードの1回の書込みと
、単なる再コンパイル(必要な場合には、Javaを用いてコードの再コンパイ
ルを行わずに、COMまたはコンポーネントの相互通信技術の何らかの別の形に
より'2進レベルの'グルーを行ってモジュールを一緒にリンクすることも可能で
ある)とが可能になるようにして、特定のプラットフォーム上で実行し、それに
よってCVM層により供給されるハードウェア分離層を介して呼出しを行うよう
にするものである。 CVMを用いるプロトタイピングは非常に高速なものとなり、DSPモジュー
ルの各々は数学モデルにより並列に設けられる。メモリ割付けと分割は、推測作
業に依拠するのではなく、(所望のターゲット・ハードウェアによりパラメータ
化された)自動化されたツールセットによりサポートされる。いったん処理用チ
ェーンがモデルに対して設定され(この設定は、符号化の代わりにこのグラフィ
ック構成とパラメータ化とによりオプションとして実行される)、作業が首尾よ
く行われていると、リアルタイムのPCベースのバージョンの実行が可能になる
(RadioScape社の汎用ベースバンド・プロセッサ・モジュールを備えたCVMの
Intel MMX/SIMDバージョンが用いられる)。(カスタム等化器な
どの)標準的コードに対する任意の変更をモジュラ型増分方法で統合化すること
が可能であり、さらに(PCベースの)符号化/テスト/編集サイクルはすべて
の最新のPC開発用ツールを利用することもでき、非常に高速なものとすること
も可能となる。ターゲット・プラットフォームでのハードウェア加速処理の利用
がCVMによりカバーされている(これは、デジタル通信のベースバンド処理の
ための、多くのサイクルを要する所要の特性がCVM APIでのライブラリ呼
出しとして提供されるためである)。好適に適合された基底を成すハードウェア
・ユニットによって、所望の機能のほとんどのためのターゲットとする加速が与
えられることは明らかである。多くのアプリケーションの場合、軽量のプリエン
プティブ・マルチスレッドと、CVM自体でのその他の低レベルの機能とをサポ
ートすることにより、何らかの別のRTOSの利用は不要となるが、(ウィンド
ウズCEやシンビアンのEPOCなどのような)ユーザのOSとのインタラクシ
ョンは上述のAPIを介してサポートされ、単純になる。 このアプローチでは、いったん書き込まれたCVM互換スタックは、特別の作
業を伴うことなく、CVM自身が移植されたハードウェアのプラットフォームの
いずれへも瞬時に移植可能となる(言うまでもなく、リアルタイムで所望のスタ
ックを実行するための十分な資源(MIPS、メモリ、帯域)がターゲット・マ
シンに常に存在するものと仮定する)。こののことは、(多くのタイプのハード
ウェアで使用できる適正なCVMのプラットフォームが市場に浸透すると仮定す
ると)スタック・ベンダにとって実質的な販売の機会が生じることを表すもので
ある。というのは、これはハードウェアの特殊性からスタック・ベンダの開発を
実質的に切り離すものであるからである。また、マルチベンダSoC製品を設計
するための特にめざましいビジネス・チャンスも生じる。 ハードウェア・ベンダの視点から見ると、CVMの利点として、CVMがいっ
たん所定のプロセッサ用として移植されると、当該プロセッサが、(資源が許せ
ば)CVM APIに対して書き込まれたすべてのスタックを自動的にサポート
するということが挙げられる。言うまでもなく、このことによって、ハードウェ
ア・プロバイダはアプリケーション・ビジネスの中へ入ってゆくことが不要にな
る。彼らはCVMを移植するだけで十分となる。またこのことは、(少なくとも
デジタル通信マーケット向けの)スタック・ベンダが、その場合、ANSI C
/C++またはJavaで純粋にコードを開発することができるので、完全仕様
の開発環境とツールセットを形成しサポートする必要性が少なくなることも意味
する。CVMというコンセプトは、例えば、自動車用ブレーキ・システムで使用
されるPIDコントローラを作るというような、すべてのデジタル信号処理タス
クに適用されるというわけではないことに留意されたい。CVMのコンセプトが
デジタル通信用ベースバンドの処理用として機能する理由として、上記に説明し
たように、利用が可能なこのようなシステムの中に共通性を示す広いプールが存
在することが挙げられる。しかし、CVMは、別のデジタル信号処理タスクに必
要とされるようなすべてのツール、構造あるいは機能を必ずしも提供するもので
はない。言うまでもなく、共通の機能を示す別のそのような'島(island)'を特
定し、それらの'島'のニーズをカバーするCVMのイディオム(idiom)の拡張
を行うことは潜在的には可能であろう。しかし、本願出願者は本明細書において
ベースバンドの側面に焦点を絞っている。なぜなら、ベースバンドの側面が現在
非常に求められており、さらに必要な共通性が強く示されているからである。C
VMによるアプローチは、ハードウェア・ベンダが、既存のアプリケーション・
セットではなく、代わりに、それらのハードウェアの長所(MIPS、ターゲッ
トの加速、メモリ、電力消費量など)に関して自由に競争ができるようにするも
のである。 CVM開発サイクル 実際にCVMを利用してベースバンド・スタックを開発するプロセスについて
以下説明する。本明細書の目的として、デバイスが、デジタル無線装置などのよ
うな開発中の目標であることが挙げられる。ソフトウェア、ハードウェアあるい
はその双方のいずれかであるコンポーネントは上記デバイスの特定可能な或る特
定の一部である。'解釈される'という表現は、実行時に構成を読み込む(おそら
くコンパイルされた)コードを意味する。 開発サイクルは'コンポーネント定義言語'から始まる。この言語によって、コ
ンポーネントの完全な外部からの可視属性の特定並びにその振舞いが可能になる
。その意図として、メーカーがこの可視属性を書き込むことが可能であること、
あるいは(後程見るように)計装化CVMの試運転によりこの可視属性の生成が
可能であることが挙げられる。 プラグ・インを介して、業界でポピュラーなMatlabやMthemati
caのような数学モデリング用ツールに1組のコンポーネント定義言語を読み込
むことができる。モデリング用ツールを用いて、デバイスで使用するすべてのコ
ンポーネントの理論上の振舞いが利用され、理解される。 上記調査の結果は、開発される別のプラグ・インを介して、'デバイス定義言
語'の中へ転記または出力のいずれかが行われる。ちょうどコンポーネント定義
言語がコンポーネントを定義するように、この'デバイス定義言語'は、構築され
ているターゲット・デバイスを定義し、さらに、どのコンポーネントが使用され
ているかというような要素を含むことになる。 言い替えれば、デバイス定義言語は、開発中の通信用'パイプライン'を定義す
るものである。ほとんどの通信用デバイスは、パイプラインを介して情報を動か
し、その途中で変換を実行するプロセスであると考えることができるので、この
パイプラインというコンセプトは重要である。このパイプラインは実際には電子
的なアセンブリ・ラインであるが、自動車の部品で機能するようなものではなく
、一般に'シンボル'と呼ばれるデータ項目に対して機能するものである。このよ
うにして、無線信号が最終的にオーディオ信号へ変換されることになる。言うま
でもなく、'現実の'デバイスは単純なパイプラインよりも複雑であることが多く
、2以上のパイプライン、ブランチまたはループを備えている場合もある。完全
なハードウェア・バージョンを組み立てる前に、このCVM開発プロセスにより
パイプライン設計のテストを行うことが可能となる。これは開発期間の短縮につ
ながるものとなる。 ターゲット・デバイスまたはパイプラインを完全に定義するためにはさらに多
くの情報が必要となる。また、本発明のターゲットで利用可能な(CPUの速度
などのような)資源についての説明も必要であり、これは'適合性記述用言語'と
相互接続とで定義される。また各コンポーネント(物理的及びソフトウェアの双
方のAPI)がどのように使用されるかを知っている必要がある。これはコンポ
ーネントAPI仕様を用いて達成される。 これらの3つの資源:デバイス定義言語、適合性記述用言語及びコンポーネン
トAPI仕様はいくつかの可能なCVMの中の1つの範囲内で使用される。第1
のCVMは'計装化され解釈された'ものパイプライン・マネージャ(あるいは、
好適には、計装化され解釈されたバージョンよりもさらに高速に作動する計装化
されコンパイルされたCVMのほうが望ましい)である。このパイプライン・マ
ネージャは、ソフトウェアICEとの或る類似性を有するものである。このマネ
ージャは上記3つの資源を読み出し、パイプラインのエミュレーション(エミュ
レーションはリアルタイムであってもよい)を行う。したがって、このマネージ
ャはターゲットが無線装置である場合、無線装置として実行する。適合性記述用
言語に起因して、このマネージャはターゲット・デバイス上に存在するいずれの
障害または資源の限界のシミュレーションをも行うことができ、また、開発とデ
バッギングとを行うために有用なものである。実行に加えて、計装化され解釈さ
れた/または計装化されコンパイルされたパイプライン・マネージャは、各デバ
イス内コンポーネント定義言語のための診断情報も出力する。この診断情報は重
要である。というのは、この情報を今度は開発サイクルの中へフィードバックし
、元のコンポーネント定義言語による記述とマージして、その記述の微調整を行
うことができるからである。したがって、何らかのハードウェアの組立てを行う
前に設計者が実際のパフォーマンスに関する情報を利用することが可能となり、
これによって(実質的に)開発の節減が行われる。これによって開発サイクルの
内部ループが閉じられる。計装化され解釈された、あるいは、計装化されコンパ
イルされたパイプライン・マネージャにより、CVMコアの実行時バージョンが
組み込まれる。計装化され解釈された、あるいは、計装化されコンパイルされた
パイプライン・マネージャのソフトウェア・エレメントをハードウェアのバージ
ョンと交換する(バグが生じたときバグの検出が可能となるように理想的には1
回一度)ことが可能である。この交換されたエレメントは別の開発プロセスのた
めの改善でとなる。この改善は、計算用サブストレートの両端にわたるエンジン
の設計時間段階のスケジュリング処理(上記を参照されたい)に対応するもので
ある。 第2のCVMは'解釈されたパイプライン・マネージャ'である。この第2のC
VMは計装化されたものではないが、別の点では第1のCVMと同一のものであ
る。この第2のCVMは開発とデバッギング時に利用することができ、また、メ
ーカーが完成製品を製造するために利用することができる。このCVMには、通
信用デバイスの書込み時の作業の多くを予め行うという第3の利点がある。この
CVMにもやはりCVMコアの実行時バージョンが組み込まれている。 第3のCVMは'パイプライン・ビルダ'である。この第3のCVMはコンパイ
ルされた非計装化変形例と考えることができる。他の2つのCVMのように、こ
の第3のCVMも3つの資源を読み出すが、実行する代わりに、Cのようなコン
ピュータ・ソースコードを出力し、このコードをコンパイルしてパイプラインの
実現構成の形成が可能となる。この理由のため、パイプライン・ビルダは、CV
Mライブラリを利用できなければならない。利用できるか否かをチェックするこ
とにより開発サイクルの外側のループが閉じられる。CVM開発サイクルのアプ
ローチ全体が図8と9に概略的に示されている。 ―附属説明2― コア処理の例 信号変換と周波数領域分析 * 信号フローグラフ(SFG)離散周波数DFT * ウィンドウ操作(ハミング、ハニングなど) デジタル・フィルタリング * デジタルFIRフィルタ * インパルス応答 * 周波数応答 * FIR低域デジタル・フィルタ * 無限インパルス応答デジタル・フィルタ 適応信号処理 * 適応型デジタル・フィルタを含む適応信号処理用コンポーネント * チャネル識別 * エコー・キャンセレーション * 音響エコー・キャンセレーション * 暗騒音抑制 * チャネル等化 * 適応型ライン拡張機能(ALE) * 以下を含む適応型アルゴリズム: * 平均2乗誤差の最少化 * FIRフィルタ用適応型アルゴリズム * 平均2乗誤差 * 最小平均2乗誤差の解 * ウィーナ/ホップ(Wiener-Hopf)解 * 傾度法1 * 傾度法2 * LMSアルゴリズム * 再帰的最小2乗法 * 適応型IIRフィルタリング * 勾配IIRフィルタリング技術 * FeintuchのIIR LMS * 等式誤差LMSアルゴリズム * 直接モード(DDM) * サブバンド適応型フィルタ(SAF)構造 マルチレート信号処理 * アップサンプリング&ダウンサンプリング * 内挿ローパス・フィルタ * オーバーサンプリングと再構成 * シグマ/デルタ処理アーキテクチャ * サブバンド処理 * 反復によるMチャネル・フィルタ・バンク * 変調フィルタ・バンク * 多相フィルタ・バンク * QMFフィルタ・バンク オーディオ信号ソース符号化 * 無損失ハフマン(Huffman)符号化/復号化 * 線形PCM * 圧伸 * 適応型量子化ツール * 線形予測符号化 * 長期予測 * デルタ変調(DM) * 差分パルス符号変調 * 適応型DPCM(ADPCM)LPCボコーダ * 符号励振線形予測(CELP) * 代数的CELP(ACELP) * サブバンド符号化 * 精神聴覚学用ツール * スペクトル・マスキング * 時間マスキング * 精度適応型サブバンド符号化及びビット割当て及びビット・ストリーム・
フォーマッティング・ツール デジタル変調 * XOR長短コード拡散/逆拡散 * 振幅変調 * 直角振幅変調(QAM) * 直角位相復調 * 複雑な直角位相変調 * 複雑な直角位相復調 * QPSK * n−PSK * M−ary振幅偏移キーイング * π/nQPSK * ユニポーラRZ及びNRZシグナリング * 極座標及びバイポーラRZ及びNRZシグナリング * 以下を含む帯域通過偏移キーイング * 振幅(ON−OFF)偏移キーイング * 2進位相偏移キーイング(BPSK) * 以下を含む周波数偏移キーイング * BPSK用帯域フィルタリング * 以下を含むパルス成形 * ナイキスト・パルス成形 * 2乗余弦パルス成形 * 平方根2乗余弦パルス成形 拡散スペクトル・ツール * 擬似乱数コード生成 * 黄金シーケンス * カサミ・シーケンス * 直交拡散符号 * 可変長OC生成 * 直交ウォルシュ・コード * コード検出 * レイク受信装置実装 * 以下を含むNBI拒絶技術 * 予測フィルタ * 変換領域におけるNBI拒絶 * 決定フィードバックNBI拒絶 多元接続&検出管理用ツール * 以下を含むTDMA * TDMAフレーム * FDMAと合成されたTDMA * 以下を含むCDMA * 直接シーケンス(DS)CDMA * 電力制御 * ビーム成形用ツール * 周波数ホッピングCDMA * マルチユーザ検出(MUD) * 多元接続干渉抑制 * 非相関性 * 干渉キャンセラ * 適応型MMSE * MMSE受信機トレーニング * 適応型MMSE受信機DDM 移動チャネル * レイリー・フェージング抑制メカニズム(ガウス、Riceian) * 以下を含むモデリング及び抑制用ツール: * タイム・スプレディング * タイム・スプレディング:コヒーレンス帯域 * タイム・スプレディング:平坦フェージング * タイム・スプレディング:Freq選択フェージング * チャネルのタイム変形振舞い * ドップラ効果 チャネル符号化 * 巡回符号器 * リード・ソロモン(Reed Solomon)符号器 * 畳み込み符号器 * CEパンクチャリング * インターリービング * 畳み込み復号器 * ビタビ復号器(ハード及びソフト決定) * ターボ・コード * ターボ符号化 * ターボ復号化 等化 * 適応型チャネル等化 * FIR等化器 * 決定フィードバック等化器 * 直接変換ツールキット * QAMアナログRF/IFアーキテクチャ * QAM IFダウンコンバージョン・サポート * 帯域通過シグマ・デルタサポート * ベースバンド・サポートへの帯域通過シグマ・デルタ * 帯域通過及びfs/4システム 信号処理ライブラリ関数 このセクションはCVMで利用可能な信号処理関数の若干について説明する。 ベクトル操作関数 AutoCorrelate 入力ベクトルの通常の、バイアスをかけたあるいはバイアスをか
けていない自己相関を推定し、その結果を第2のベクトルに格納する Conjugate (vector) ベクトルの複素共役を計算し、その結果を対応する当該レ
ジスタ又は別のベクトルに返すことが可能である。 Conjugate (value) 複素数値の共役を返す。 Extended Conjugate 対応する当該レジスタ又は新しいベクトルでベクトルの共
役/対称拡張を計算する。 Exp 各エレメントが、入力ベクトル内の対応するエレメントのパワーに対してe
であるベクトルを計算する。この結果は対応する当該レジスタ又は別のベクトル
に返すことができる。 InverseThreshold 閾値を用いてベクトルの逆エレメントを計算する。この結果
は対応する当該レジスタ又は別のベクトルに返すことができる。 Threshold ベクトルで閾値演算処理を実行する。この結果は対応する当該レジス
タ又は別のベクトルに返すことができる。 CrossCorrelate 2つのベクトルの相互相関を推定し、第3のベクトルにその結
果を格納すする。 DotProduct 2つのベクトルに対してExtendedConjucate演算を適用後、2つのベ
クトルの点乗積を計算する ExtendedDotProd 2つの共役シンメトリック拡張ベクトルの点乗積を計算する DownSample 或る信号をダウンサンプルし、概念的に或る整数係数分だけそのサ
ンプリング速度を落とす。第2のベクトルにその結果を返す。 Max ベクトルで最大値を返す。 Mean ベクトルでエレメントの平均値を計算する。 Min ベクトルで最小値を返す。 UpSample 或る信号をアップサンプルし、概念的に或る整数係数分だけそのサン
プリング速度を上げる。第2のベクトルにその結果を返す。 PowerSpectrum (1) 第2のベクトルで複素ベクトルのパワー・スペクトルを返す
PowerSpectrum (2) 実数成分と虚数成分が2つのベクトルで表される複素ベクト
ルのパワー・スペクトルを計算する。第3のベクトルにその結果を格納する。 Add 2つのベクトルを加算し、第3のベクトルにその結果を格納する。 Subtract 1つのベクトルを別のベクトルから減じ、第3のベクトルにその結果
を格納する。 Multiply 2つのベクトルを乗算し、第3のベクトルにその結果を格納する。 Divide 1つのベクトルを別のベクトルで除し、第3のベクトルにその結果を格
納する。 複素ベクトル演算 ImaginaryPart 第2のベクトルで複素ベクトルの虚数部分を返す。 RealPart 第2のベクトルで複素ベクトルの実数部分を返す。 Magnitude (1) 複素ベクトルの要素の振幅を計算し、第2のベクトルにその結果
を格納する。 Magnitude (2) この第2のバージョンは、個々の実ベクトルで指定された実数成
分と虚数成分を持つ複素ベクトルの要素の振幅を計算し、第3のベクトルにその
結果を格納する。 Phase (1) 第2のベクトルで複素ベクトルの要素の位相角を返す Phase (2) それぞれ実ベクトルと、虚ベクトルで指定される実数成分と虚数成分
とを持つ複素入力ベクトルの要素の位相角を計算する。この関数は、第3のベク
トルに結果として生じる位相角を格納する。 ComplexToPolar 個々の入力ベクトルの実数/虚数(デカルト座標X/Y)の対
を極座標形式に変換する。1つのバージョンは、1つのベクトルに各要素の成分
の振幅(半径)を格納し、別のベクトルに各要素の位相(角)成分を格納する。 ComplexToPolar 第2のバージョンは、単一ベクトルで(振幅、位相の)対とし
て極座標を返す。 PolarToComplex ベクトルに格納される極形式(振幅、位相)の対を複素ベクト
ルに変換する。この結果を第2のベクトルで返す。 PolarToComplex 個々のベクトルに格納された極形式の振幅/位相の対を複素ベ
クトルに変換する。この関数は第3のベクトルにその結果の実数成分を格納し、
第4のベクトルに虚数成分を格納する。 PolarToComplex 2つの個々のベクトルに格納された極形式の振幅/位相の対を
複素ベクトルに変換する。この関数は、第3のベクトルにその結果の実数成分を
格納し、第4のベクトルに虚数成分を格納する。 サンプル量子化 これらの方法は線形と非線形量子化方式との間での変換を行う。使用ビット数と
、使用非線形パラメータとは変更してもよい。 ALawToLinear A−law符号化サンプルのベクトルを線形サンプルへ変換する
。この結果は対応する当該レジスタ又は別のベクトルに返すことができる。 LinearToALaw 線形サンプルベクトルを符号化する。この結果は、A−lawフ
ォーマットを用いて、対応する当該レジスタ又は別のベクトルに返すことができ
る。 LinearToMuLaw μ−lawを用いてベクトルで線形サンプルを符号化する。この
結果は対応する当該レジスタ又は別のベクトルに返すことができる。 MulawToLinear 8ビットμ−lawの符号化されたサンプルのベクトルを線形フ
ォーマットに変換する。この結果は対応する当該レジスタ又は別のベクトルに返
すことができる。 サンプル生成関数 RandomGaussian ガウス分布を用いて疑似ランダム・サンプルのベクトルを計算
する。 InitialiseTone 所定の周波数、位相及び振幅を用いて正弦波発生装置を初期化
する。 NextTone InitialiseToneを用いて指定された周波数、位相、振幅の正弦波の次
のサンプルを生成する。 InitialiseTriangle 所定の周波数、位相及び振幅を用いて三角波発生装置を初
期化する。 NextTriangle InitialiseTriangleのパラメータを用いて生成された三角形波の
次のサンプルを生成する。 ウィンドウ関数 BartlettWindow ベクトルにBardentウィンドウ関数を乗算する。その結果は第2
のベクトルで返される。 BlackmanWindow ユーザ指定パラメータを用いてベクトルにBlackmanウィンドウ
関数を乗算する。その結果は第2のベクトルで返される。 HammingWindow ベクトルにHammingウィンドウ関数を乗算する。その結果は第2
のベクトルで返される。 HannWindow ベクトルにHannウィンドウ関数を乗算する。その結果は第2のベク
トルで返される。 KaiserWindow ベクトルにKaiserウィンドウ関数を乗算する。その結果は第2の
ベクトルで返される。 畳み込み関数 Convolve 2つのシーケンスの有限、線形畳み込みを実行する。 Convolve2D 2つの2次元信号の有限、線形畳み込みを実行する。 Filter2D Convolveと類似の2次元信号をフィルタする。但し、同じサイズの入
出力配列を用いる。 フーリエ変換関数 これらの方法のバージョンは、複数の異なるデータ格納(固定型、浮動型、整数
型)フォーマット用のものが存在する。 DiscreteFT 対応する当該レジスタ又は別のベクトルで離散フーリエ変換を計算
する。 InitialiseGoertz Goertzel関数により使用されるデータを初期化する。 ResetGoertz Goertzel関数により使用される内部遅延ラインをリセットする。 GoertzFT(1) 単一信号カウント用の所定の周波数についてDFTを計算する。 GoertzFT(2) 連続する信号カウント・ブロック用の所定の周波数についてDFT
を計算する。 FFT (1) 対応する当該レジスタ又は別のベクトルのいずれかでベクトルの複素高
速フーリエ変換を計算する。 FFT (2) 対応する当該レジスタ又は別のベクトルのいずれかで2つの共役左右対
称信号の順方向高速フーリエ変換を計算する。 FFT (3) 対応する当該レジスタ又は別のベクトルのいずれかで1つの共役左右対
称信号の順方向高速フーリエ変換を計算する。 FFT (4) 複素ベクトルの高速フーリエ変換を計算し、その結果を2つの別々の(
実数と虚数)ベクトルで返す。 FFT (5) 2つの別々の(実数と虚数)ベクトルとして与えられた複素ベクトルの
高速フーリエ変換を計算し、その結果を2つの別々の(実数と虚数)ベクトルで
返す。 IFFT (1) 対応する当該レジスタ又は別のベクトルのいずれかでベクトルの逆高
速フーリエ変換を計算する。 IFFT (2) 対応する当該レジスタ又は別のベクトルのいずれかで2つの共役左右
対称信号の逆高速フーリエ変換を計算する。 IFFT (3) 対応する当該レジスタ又は別のベクトルのいずれかで共役左右対称信
号の逆高速フーリエ変換を計算する。 有限のインパルス応答フィルタ関数 InitialiseFIR 1セットの;1組の遅延ライン値とタップとを用いて低レベル、
単一レート有限インパルス応答フィルタを初期化する。 FIR InitialiseFIRを用いて前に構成された低レベル、有限インパルス応答フィ
ルタを介して単一サンプルをフィルタする。 BlockFIR 低レベル有限インパルス応答フィルタを介してサンプルのブロックを
フィルタする。 GetFIRDelays 低レベル有限インパルス応答フィルタのための遅延ライン値をゲ
ットする。 GetFIRTaps 低レベル有限インパルス応答フィルタのためのタップ係数をゲット
する。 SetFIRDelays 低レベル有限インパルス応答フィルタのための遅延ライン値を変
更する。 SetFIRTaps 低レベル有限インパルス応答フィルタのためのタップ係数を変更す
る。 InitialiseMultiFIR 低レベル・マルチレート有限インパルス応答フィルタを初
期化する。 MultiFIR InitisliseMultiFirを用いて前に構成された低レベル・マルチレート
有限インパルス応答フィルタを介して単一サンプルをフィルタする。 BlockMultiFIR InitisliseMultiFIRを用いて前に構成された低レベル・マルチレ
ート有限インパルス応答フィルタを介してサンプル・ブロックをフィルタする。 最小乗平均適合化フィルタ関数 InitialiseSALF 最小2乗平均(LMS)アルゴリズムを用いる低レベル単一レ
ート適応型FIRフィルタを初期化する。 InitialiseMALF 最小2乗平均(LMS)アルゴリズムを用いる低レベル・マル
チレート適応型FIRフィルタを初期化する。 InitALFDelay 最小2乗平均(LMS)アルゴリズムを用いる低レベル適応型F
IRフィルタ用遅延ラインを初期化する。 SALF 最小2乗平均(LMS)アルゴリズムを用いる低レベル単一レート適応型
FIRフィルタを介してサンプルをフィルタする。 MALF 最小2乗平均(LMS)アルゴリズムを用いる低レベル・マルチレート適
応型FIRフィルタを介してサンプルをフィルタする。 SLF 最小2乗平均(LMS)アルゴリズムを用いる低レベル単一レート適応型F
IRフィルタを介してサンプルをフィルタするが、2次信号用としてフィルタの
適合は行わない。 MLF 最小2乗平均(LMS)アルゴリズムを用いる低レベル・マルチレート適応
型FIRフィルタを介してサンプルをフィルタするが、2次信号用としてフィル
タの適合は行わない。 EnginesALF 最小2乗平均(LMS)アルゴリズムを用いる低レベル単一レート
適応型FIRフィルタを介してサンプルのブロックをフィルタする。 BlockMALF 最小2乗平均(LMS)アルゴリズムを用いる低レベル・マルチレー
ト適応型FIRフィルタを介してサンプルのブロックをフィルタする。 EnginesLF 最小2乗平均(LMS)アルゴリズムを用いる低レベル単一レート適
応型FIRフィルタを介してサンプルのブロックをフィルタするが、2次信号用
としてフィルタの適合は行わない。 BlockMLF 最小2乗平均(LMS)アルゴリズムを用いる低レベル・マルチレー
ト適応型FIRフィルタを介してサンプルのブロックをフィルタするが、2次信
号用としてフィルタの適合は行わない。 SetALFDelays 低レベル適応型最小2乗平均(LMS)アルゴリズムを用いるF
IRフィルタ用として遅延ライン値をセットする。 SetALFLeaks 最小2乗平均(LMS)アルゴリズムを用いる低レベル適応型FI
Rフィルタ用として漏れ値をセットする。 SetALFSteps 最小2乗平均(LMS)アルゴリズムを用いる低レベル適応型FI
Rフィルタ用ステップ値をセットする。 SetALFTaps 最小2乗平均(LMS)アルゴリズムを用いる低レベル適応型FI
Rフィルタ用としてタップ係数をセットする。 GetALFDelays 最小2乗平均(LMS)アルゴリズムを用いる低レベル適応型F
IRフィルタ用として遅延ライン値をゲットする。 GetALFLeaks 最小2乗平均(LMS)アルゴリズムを用いる低レベル適応型FI
Rフィルタ用として漏れ値をゲットする。 GetALFSteps 最小2乗平均(LMS)アルゴリズムを用いる低レベル適応型FI
Rフィルタ用としてステップ値をゲットする。 GetALFTaps 最小2乗平均(LMS)アルゴリズムを用いる低レベル適応型FI
Rフィルタ用としてタップ係数をゲットする。 無限インパルス応答フィルタ関数 InitialiseIIR 指定されたオーダーの低レベル無限インパルス応答フィルタを初
期化する。 InitialiseBiquadIIR 低レベル無限インパルス応答(IIR)フィルタをbiquad
s(二次オーダーIIRセクション)のカスケード基準信号に初期化する。 InitialiseIIRDelay 低レベル無限インパルス応答(IIR)フィルタ用として
遅延ラインを初期化する。 IIR 低レベル無限インパルス応答フィルタを介して単一サンプルをフィルタする
。 BlockIIR 低レベル無限のインパルス応答フィルタを介してサンプルのブロック
をフィルタする。 ウェーブレット関数 DecomposeWavelet 信号をウェーブレット連続に分解する。 ReconstructWavelet ウェーブレット分解から信号を再構成する。 離散余弦変換関数 DCT 離散余弦変換(DCT)を実行する。 ベクトル・データ変換関数 このセクションで記述したすべての関数は、(様々な整数長、異なる浮動小数点
フォーマット及び浮動小数点数の固定小数点表示のような)複数の様々なデータ
・フォーマットでの機能が可能である。この信号処理ライブラリには、サポート
されているフォーマットのすべての対の間で単一値とベクトルとを変換する方法
が含まれる。
【図面の簡単な説明】
【図1】 GBPでアルゴリズムによるスケジューリングを示す概略図である。
【図2】 本発明のGBPアーキテクチャ(“汎用ベースバンド・プロセッサ”)の実施
構成を示す概略図である。
【図3】 CVMTM(“通信用バーチャル・マシン”)が、高水準ソフトウェアからハ
ードウェアを遮蔽する方法を示す概略図である。
【図4A】 GBP RFインターフェースと、デジタル化されたIFフィーダと、サード
・パーティのRFモジュールとを示す概略図である。
【図4B】 ベースバンド処理用カードを示す概略図である。
【図5】 ベースバンド通信用スタック内の構造を示す概略図である。
【図6】 CVMの共通ブロック及び構造を示す概略図である。
【図7】 CVMと、ハードウェアと、スタックとの間の関係を示す概略図である。
【図8】&
【図9】 CVMを用いる開発サイクルでのステップを示す概略図である。
【用語の説明】
Software-Level Logical Architecture ソフトウェア・レベル論理的アーキテク
チャ C++ algorithms, some SDL, ASN.1 (mapped to C) also C++アルゴリズム、
(C対応)何らかのASN.1 Logical Requests + Constraints 論理要求+制約 CVM Ops Library CVM Opライブラリ Algorithm Requests + Constraints アルゴリズム要求+制約 Physical System Map 物理システム・マップ CVM Scheduler CVMスケジュラ The scheduler is a process that executes on a 'blessed' card (along wit
h the high level IP/ Iub parsing algorithms) スケジュラは(高レベルIP
/Iub構文解析アルゴリズムを持つ)‘blessed’カード上での実行プロセス
である。 MBIR -> Queue Dispatch MBIR -> キュー実行指令 DSP A1I1 Q DSP A1I1 Q Deterministic physical queues maintained on a per-algorithm instance bas
is アルゴリズム毎のインスタンス・ベース上に保持される決定論的物理キュー
FPGA A2I1 Q FPGA A2I1 Q Access to Resources, DMA, etc. 資源、DMAなどへのアクセス CVM Resource Library CVM資源ライブラリ Execution of Resource Management 資源管理の実行指令 3rd Party RTOS サード・パーティRTOS
【図1】 1:ソフトウェア・レベル論理的アーキテクチャ 2:C++アルゴリズム、(C対応)何らかのASN.1 3:論理要求+制約 4:CVM Opライブラリ 5:アルゴリズム要求+制約 6:物理システム・マップ 7:CVMスケジュラ 8:スケジュラは(高レベルIP/Iub構文解析アルゴリズムを持つ)‘bless
ed’カード上での実行プロセスである。 9: MBIR -> キュー実行指令 10:DSP A1I1 Q 11:アルゴリズム毎のインスタンス・ベース上に保持される決定論的物理キュー
12:FPGA A2I1 Q 13:資源、DMAなどへのアクセス 14:CVM資源ライブラリ 15:資源管理の実行指令 16:サード・パーティRTOS
【図2】 1:単一カードNT PC(ブート、モニタ) 2:RAM 3:Iub/IP(+オプションNTP) 4:周辺機器サポート 5:P−III 6:SDRAM 7:TI C64x 8:PLX9080 9:Xilinx社製FPGA 10:(n個の)汎用処理用カード 11:受動PCIバックプレーン、PSU 12:NB−IFカード(図示せず)
【図3】 1:DAB 2:UMTS 3:UWB 4:CVM 5:MPG 6:FIR,IIR 7:FFT 8:Mem Mgt 9:フロー制御 10:DMA(ダイレクト・メモリ・アクセス) 11:x86 12:TI 13:ARC
【図4A】 1:塔へのフィード 2:開放型インターフェース によってサード・パーティによるRF/ampモジ
ュールの供給が可能になる 3:DAC ADC 4:高速IPインターフェース 5:サード・パーティRFモジュール 6:RTP/UDP/IPv6デジタル化IF 7:サード・パーティ・アンテナ 8:SNMP/IP Mgt報告 9:SDRAM 10:TI C64x(IFカードは汎用処理用カード設計の改良品である) 11:TCXO 12:PLX9080 13:Xilinx社製FPGA 14:パワー 15:オプションのGPS1pps 16:Iub/IP(+オプションのNTP)(高速イーサネット) 17:RTPタイムスタンプ用クロック基準をセットするための分散型1pps
【図4B】 1:最低限のブートPROMしかカード上にない;その場合PCはDSPコード
画像とFPGAヒューズマップをアップロードする 2:オプションのGPSのイン 3:0×0000 4:RAM 5:FPGA I/O 6:DSP I/O 7:1ppsまたはNTP調整TCXO用オプション・パッドアウト 8:ブートPROM 9:TI C64x 10:SDRAM(32 mb) 11:オプションの パッドout 高速IFIPv6インターフェース用オプション
・パッドアウト 12:PLX9080 13:Xilinx社製FPGA 14:インテリジェント・ブリッジ・チップによってIOのマッピングと、グルー
バルなPCIメモリ・マップ上への割込みとローカル・メモリ空間とが可能にな
る。 15:直接シリアル・リンクのサポート
【図5】 1:コンテンツ生成 2:ソース符号化 3:チャネル符号化 4:変調 5:復調 6:チャネル復号化 7:ソース復号化 8:コンテンツ・プレゼンテーション用アプリケーション
【図6】 1:I/O 2:AEC 3:FFT 4:Chan Proc 5:Demod 6:MMIコード 7:パイプライン段階 8:シンボル指示型処理 9:データ指示型処理
【図7】 1:スタック境界 2:C++コア・コード 3:CVM A 4:ハードウェア+O/S A 5:スタック境界 6:C++コア・コード 7:CVM B 8:ハードウェア+O/S B
【図8】 1:初期アーキテクチャ仕様書 2:数学モデリング用ツール(Marlab) 3:グラフ記述言語(GDL) 4:PC開発環境(MS Dev.Studio,Tau) 5:アーキテクチャから見て中立な通信スタック(C++/SDL) 6:RadioScapeプラグ・イン拡張 7: RadioScapeライブラリ 8:RadioScapeターゲット内蔵CVM環境 9:RadioScape Intel MMX/SIMD CVM環境 10:プラグ・イン内蔵コンパイラ 11:アーキテクチャ・レポート(MIPS、メモリ、CCS) 12:RadioScapeアーキテクチャ解析ツール 13:RadioScapePC内RFプロトタイピング用PCIボード 14:FPGA/DSP処理用ボード
【図9】 1:CVM開発サイクル 2:モデリング用ツール(Matlab数学など) 3:パイプライン 4:プラグイン(RS) 5:TBA 6:手で 7:定義する 8:コンポーネント定義言語 9:コンポーネントAPI 10:コンポーネントの振舞い 11:デバイス定義言語 12:適合性記述用言語 13:コンポーネント“API”仕様 14:計装化 15:解釈された 16:パイプライン・マネージャ 17:実行&ログ 18:実行 19:コンポーネント定義言語 20:ソースコード 21:パイプライン・ビルダ 22:VMライブラリ 23:コンポーネント・ライブラリ 24:コンパイル 25:パイプライン 26:アーキテクチャ分析用ツール 整理番号 886
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),JP,U S

Claims (38)

    【特許請求の範囲】
  1. 【請求項1】 ベースバンド信号処理に好適なバーチャル・マシン層を備え
    て、プログラムされたデジタル無線通信基地局。
  2. 【請求項2】 請求項1に記載の基地局において、上記バーチャル・マシン
    層が、高水準ソフトウェアを用いて1以上のベースバンド処理用アルゴリズムを
    表すことを可能にするのに適していることを特徴とする基地局。
  3. 【請求項3】 請求項1に記載の基地局において、上記バーチャル・マシン
    層がPCI−バス・バックプレーンを具備するハードウェア上で実行されること
    を特徴とする基地局。
  4. 【請求項4】 請求項1に記載の基地局において、上記バーチャル・マシン
    内の上記ハードウェア・エレメントがオープンな、アーキテクチャから見てニュ
    ートラルなメッセージ通信システムを用いてと交信することを特徴とする基地局
  5. 【請求項5】 請求項4に記載の基地局において、I20対応メッセージ通
    信が使用されることを特徴とする基地局。
  6. 【請求項6】 請求項1に記載の基地局において、単にソフトウェアの変更
    のみによって、1つの組のベースバンド処理用アルゴリズムから別の組のアルゴ
    リズムへのオペレーションの変更が可能であることを特徴とする基地局。
  7. 【請求項7】 請求項6に記載の基地局において、ソフトなデータ・パスま
    たはハードなデータ・パス、あるいはこれら2つのパスの組合せのいずれかで実
    現され、基底を成す‘エンジン’への変更を単に行うことにより、1つの組のベ
    ースバンド処理用アルゴリズムから別の組のアルゴリズムへのオペレーションの
    変更が可能であることを特徴とする基地局。
  8. 【請求項8】 請求項1に記載の基地局において、開放型インターフェース
    であるインターフェースを介してRFエレメントの接続を行うことを特徴とする
    基地局。
  9. 【請求項9】 請求項6に記載の基地局において、上記開放型インターフェ
    ースが、以下のコンポーネント、 (i)給電 (ii)データ (iii)制御 (iv)タイミング/同期 (v)状態、のうちの1以上を定義することを特徴とする基地局。
  10. 【請求項10】 請求項1に記載の基地局において、IPベースのデジタル
    IFフィードを無線塔へ送ることを特徴とする基地局。
  11. 【請求項11】 請求項10に記載の基地局において、上記IPフィードが
    複数のRFユニットまで送出されることを特徴とする基地局。
  12. 【請求項12】 請求項1に記載の基地局において、上記無線塔で受信した
    信号から得られるIPフィードが複数のプロセッサ・ボードへ受け渡されること
    を特徴とする基地局。
  13. 【請求項13】 請求項1に記載の基地局において、複数の並列処理ノード
    を利用して調整可能な処理を可能にするようにプログラムされたスケジュラを具
    備することを特徴とする基地局。
  14. 【請求項14】 請求項13に記載の基地局において、上記スケジュラがI
    20ベースの資源自己発見機能を利用して、或る最適な方法で上記スケジュラが
    当該資源を利用できるようにすることを特徴とする基地局。
  15. 【請求項15】 請求項13に記載の基地局において、上記スケジュラが、
    序列的分画用ファイルを読み出して、どのデータ・パスがどの処理ユニットを実
    行すべきかに関するスケジュラの決定に役立てることを特徴とする基地局。
  16. 【請求項16】 請求項1に記載の基地局において、複数の規格を同時に実
    行するように作動可能であることを特徴とする基地局。
  17. 【請求項17】 請求項1に記載の基地局において、上記バーチャル・マシ
    ン層が、いくつかの異るベースバンド処理用アルゴリズムに共通の基底を成す高
    MIPSアルゴリズムをサポートし、さらに、スケジュラ・インターフェースを
    介して、高水準の、アーキテクチャから見て中立な潜在的に高度の複雑さを持ち
    ながら、しかも低MIPSの制御フローに上記アルゴリズムがアクセスすること
    を可能にするソフトウェアにおいて、上記スケジュラ・インターフェースは、(
    i)ランタイム、(ii)メモリ、(iii)起呼者が実行命令の実行を望む帯
    域のいずれかあるいはすべての内側に在る相互接続帯域、のうちの1以上に関連
    する1組の資源制約包絡線と共に、上記制御フローが実行すべきアルゴリズムを
    指定することを特徴とする基地局。
  18. 【請求項18】 請求項1に記載の基地局において、上記バーチャル・マシ
    ン層が、1以上のDSPアーキテクチャ、1以上のFPGAアーキテクチャ及び
    /又は1以上のASICアーキテクチャへ移植可能となるように設計されたソフ
    トウェアであることを特徴とする基地局。
  19. 【請求項19】 請求項1に記載の基地局において、上記バーチャル・マシ
    ン層が様々なコア処理及び/又はコア構造及び/又はコア機能及び/又はフロー
    制御及び/又は状態管理を用いてプログラムされたソフトウェアであることを特
    徴とする基地局。
  20. 【請求項20】 請求項19に記載の基地局において、上記コア処理が、1
    以上の以下のステップ、すなわちソース符号化ステップと、チャネル符号化ステ
    ップと、変調ステップ、または、それらの逆のステップ、すなわちソース復号化
    ステップと、チャネル復号化ステップと、復調ステップとを実行するアルゴリズ
    ムを含むことを特徴とする基地局。
  21. 【請求項21】 請求項19または20に記載の基地局において、上記コア
    構造が(当該シンボルの範囲内に保持されているすべての情報が利用できるか否
    かにかかわらず、フル・シンボル処理と関係する)シンボル処理部と、関連情報
    を保持する当該ビットのみを処理するデータ指向型処理部とを有することを特徴
    とする基地局。
  22. 【請求項22】 請求項21に記載の基地局において、シンボル・レート処
    理がCDMAシステム内でのチップ・レート処理を含むことを特徴とする基地局
  23. 【請求項23】 請求項21に記載の基地局において、上記コア構造が、中
    間の整合メモリ・バッファの割当て、共有、配置を行うように作動可能な処理用
    モジュールから構成され、さらに、該モジュール間でイベントを渡すようにする
    ことを特徴とする基地局。
  24. 【請求項24】 請求項19に記載の基地局において、上記コア機能が、1
    以上の以下のステップ、すなわち、メモリ割当てと、リアルタイム資源割当てと
    、同時性管理とを含む資源割当てステップと、スケジューリング・ステップとを
    含むことを特徴とする基地局。
  25. 【請求項25】 請求項19に先行するいずれの請求項にも記載の基地局に
    おいて、PC用デバッグ・ツールにアクセスするように作動可能であることを特
    徴とする基地局。
  26. 【請求項26】 請求項19に先行するいずれの請求項にも記載の基地局に
    おいて、上記コンポーネントのパフォーマンスを用いるソフトウェアの動作及び
    /又は上記コンポーネントのパフォーマンスの別様のモデル化を可能にするため
    に必要な当該情報だけが、上記コンポーネント内の知的財産の所有者により供給
    されるように成されるコンポーネントを用いて機能できることを特徴とする基地
    局。
  27. 【請求項27】 請求項19に先行するいずれの請求項にも記載の基地局に
    おいて、非対称アクセス・アーキテクチャでこのようなコンポーネントが分配さ
    れるする場合であっても、また、上記基底を成すデータ・ストリームの固有の‘
    群発性’、あるいは、それ自身のQoS及び発生-消滅(birth-death)タイミン
    グを持つ複数のストリームの各々の利用のようなファクタに起因して、上記コン
    ポーネントの利用パターンを決定論的ではなく単に統計的にモデル化することし
    かできない場合であっても、シミュレータ、エミュレータあるいはモデリング用
    ツールが、通信用コンポーネントを用いてシステムの上記資源要件の正確な評価
    を可能にする当該通用コンポーネントの(インターフェースの振舞い及び非イン
    ターフェースの振舞いを含む)特性に関する標準化された記述を用いて作動可能
    であることを特徴とする基地局。
  28. 【請求項28】 請求項19に記載の基地局において、時間、CPU、メモ
    リ、スケジューリング及び同時性制限をモデル化するように作動可能で、リアル
    タイムOS、非リアルタイムOS、バーチャル・マシンあるいはハードウェア上
    へのマッピング可能にすることを特徴とする基地局。
  29. 【請求項29】 請求項1乃至28のいずれかに確定されるような基地局の
    ベースバンド・スタックをことを特徴とするベースバンド・スタック。
  30. 【請求項30】 請求項29に記載のベースバンド・スタックにおいて、複
    数の標準的接続タイプと、データ自身が上記パイプラインの管理の決定を可能に
    するような同期方法とを用いて、実際のまたは模擬のコンポーネントがパイプラ
    インの中一体的に一緒にリンクされることを特徴とするベースバンド・スタック
  31. 【請求項31】 請求項29または30のベースバンド・スタックをシミュ
    レートするための設計用ツールにおいて、複数の標準的接続タイプと、上記デー
    タ・フローにより処理されたデータによって上記パイプラインの管理の決定を可
    能にする同期方法とを用いて、ソフトウェア・コンポーネントとハードウェア・
    コンポーネントとを一体的にリンクすることが可能であることを特徴とする設計
    用ツール。
  32. 【請求項32】 請求項31に記載の設計用ツールにおいて、高レベル・フ
    ローの中の少なくとも若干がCや、C++などのような手続型言語で指定される
    ことを特徴とする設計用ツール。
  33. 【請求項33】 請求項31に記載の設計用ツールにおいて、高レベル・フ
    ローの中の少なくとも若干がSDLなどのような状態マシーン言語で指定される
    ことを特徴とする設計用ツール。
  34. 【請求項34】 デジタル無線基地局デバイスの一部またはすべてを設計す
    る方法において、ベースバンド信号処理にとって適切なバーチャル・マシン層を
    用いてプログラムされたソフトウェアを使用するステップを有することを特徴と
    する方法。
  35. 【請求項35】 デジタル無線基地局に適したコンピュータ・ソフトウェア
    において、ハードウェア抽象化層として機能し、さらに、1以上のベースバンド
    処理用アルゴリズムを高水準ソフトウェアを用いて表すことを可能にすることを
    特徴とするソフトウェア。
  36. 【請求項36】 請求項35に記載のコンピュータ・ソフトウェアにおいて
    、上記基地局が、請求項1乃至28に記載のような基地局であることを特徴とす
    るコンピュータ・ソフトウェア。
  37. 【請求項37】 請求項35乃至36のコンピュータ・ソフトウェアを用い
    てプログラムされることを特徴とするコンピュータ・ハードウェア。
  38. 【請求項38】 デジタル無線基地局との接続に適したRFエレメントにお
    いて、上記基地局が請求項1乃至28のいずれかに記載のような基地局であるこ
    とを特徴とするRFエレメント。
JP2001553680A 2000-01-24 2001-01-24 デジタル無線基地局 Withdrawn JP2003520551A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GBGB0001577.6A GB0001577D0 (en) 2000-01-24 2000-01-24 Software for designing modelling or performing digital signal processing
GB0001577.6 2000-01-24
GBGB0030698.5A GB0030698D0 (en) 2000-01-24 2000-12-15 Digital wireless basestation
GB0030698.5 2000-12-15
PCT/GB2001/000280 WO2001054300A2 (en) 2000-01-24 2001-01-24 Digital wireless basestation

Publications (1)

Publication Number Publication Date
JP2003520551A true JP2003520551A (ja) 2003-07-02

Family

ID=26243464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001553680A Withdrawn JP2003520551A (ja) 2000-01-24 2001-01-24 デジタル無線基地局

Country Status (5)

Country Link
US (2) US20030008684A1 (ja)
EP (1) EP1260028A2 (ja)
JP (1) JP2003520551A (ja)
GB (1) GB2382498B (ja)
WO (1) WO2001054300A2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007068128A (ja) * 2005-09-02 2007-03-15 Mitsubishi Electric Corp 無線基地局装置および無線通信方式の切替え方法
JP2007243645A (ja) * 2006-03-09 2007-09-20 Hitachi Kokusai Electric Inc 無線基地局装置
JP2008510983A (ja) * 2004-08-23 2008-04-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Gps信号処理プログラムによりプログラムされたコンピュータ
JP2011508474A (ja) * 2007-12-05 2011-03-10 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 周波数帯域を共有する運用者に対するリソース割り当て
KR101365773B1 (ko) 2004-06-10 2014-02-20 인터디지탈 테크날러지 코포레이션 스마트 안테나를 이용하여 백홀 네트워크를 설정하는 방법 및 시스템
JP2015523750A (ja) * 2012-04-12 2015-08-13 漢陽大学校産学協力団Industry−University Cooperation FoundationHANYANG University ソフトウェア定義無線アプリケーションの動作方法
JP2015231079A (ja) * 2014-06-04 2015-12-21 日本電信電話株式会社 スケジューリング装置および方法

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792247B2 (en) * 2000-05-08 2004-09-14 Microtune (San Diego), Inc. Co-located frequency-agile system and method
ITTO20010568A1 (it) * 2001-06-14 2002-12-14 Telecom Italia Lab Spa Sistema e metodo per simulare il comportamento di una rete per apparecchiature radiomobili.
US6754882B1 (en) * 2002-02-22 2004-06-22 Xilinx, Inc. Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC)
WO2003101021A2 (en) * 2002-05-27 2003-12-04 Radioscape Limited A method of designing a system for real time digital signal processing, in which the system uses a virtual machine layer
US7318014B1 (en) * 2002-05-31 2008-01-08 Altera Corporation Bit accurate hardware simulation in system level simulators
US20030229685A1 (en) * 2002-06-07 2003-12-11 Jamie Twidale Hardware abstraction interfacing system and method
AU2003285138A1 (en) 2002-11-04 2004-06-07 Vivato Inc Directed wireless communication
US7107577B2 (en) * 2002-11-20 2006-09-12 Telefonaktiebolaget Lm Ericsson (Publ) Software architecture for controlling an apparatus with one or more hardware units
KR101021569B1 (ko) * 2003-03-03 2011-03-16 인터디지탈 테크날러지 코포레이션 복잡도가 감소된 슬라이딩 윈도우 기반의 등화기
US7042967B2 (en) * 2003-03-03 2006-05-09 Interdigital Technology Corporation Reduced complexity sliding window based equalizer
CN101820296B (zh) * 2003-04-01 2015-07-22 日本电气株式会社 数据处理终端系统以及使用其的发射和接收方法
US7509246B1 (en) 2003-06-09 2009-03-24 Altera Corporation System level simulation models for hardware modules
CN1275480C (zh) * 2003-07-31 2006-09-13 上海贝尔阿尔卡特股份有限公司 一种多标准软件无线电(sdr)基带处理方法
US7246056B1 (en) * 2003-09-26 2007-07-17 The Mathworks, Inc. Runtime parameter mapping for system simulation
US8645927B2 (en) * 2003-11-24 2014-02-04 The Boeing Company Methods and apparatus for simulation speedup
US7474638B2 (en) * 2003-12-15 2009-01-06 Agilent Technologies, Inc. Method and system for distributed baseband measurements
DE60312747T2 (de) * 2003-12-24 2007-12-06 Telefonaktiebolaget Lm Ericsson (Publ) Vielfacharray in einer funkbasisstation und verfahren zur nutzung der funkbasisstation
US20070208835A1 (en) * 2003-12-24 2007-09-06 Arjan Te Marvelde Radio Base Station Controlled by a Monitor Coordinating Xml-Defined Tasks, Method of Operating Such a Radio Base Station, and Corresponding Computer Program Product
AU2003295276A1 (en) * 2003-12-24 2005-07-14 Telefonaktiebolaget Lm Ericsson (Publ) System with centralized resource manager
US7644135B2 (en) * 2004-10-25 2010-01-05 Texas Instruments Incorporated Method of improving communications data throughput on embedded systems and reducing the load on the operating system and central processing unit
US7561544B2 (en) * 2004-10-27 2009-07-14 Honeywell International Inc. Machine architecture for event management in a wireless sensor network
US7769912B2 (en) * 2005-02-17 2010-08-03 Samsung Electronics Co., Ltd. Multistandard SDR architecture using context-based operation reconfigurable instruction set processors
JP2007220086A (ja) * 2006-01-17 2007-08-30 Ntt Docomo Inc 入出力制御装置、入出力制御システム及び入出力制御方法
US7499724B2 (en) 2006-01-30 2009-03-03 Harris Corporation Event sequencer used for controlling the sequence and timing of events in software defined radio
US20080020808A1 (en) * 2006-07-24 2008-01-24 Motorola, Inc. Method and system to support fast connection set-up in communication networks
US8515494B2 (en) * 2007-01-13 2013-08-20 Panasonic Automotive Systems Company Of America, Division Of Panasonic Corporation Of North America Highly configurable radio frequency (RF) module
US7886303B2 (en) * 2007-05-18 2011-02-08 Mediatek Inc. Method for dynamically adjusting audio decoding process
GB0709813D0 (en) * 2007-05-22 2007-07-04 Nokia Corp A radio frequency apparatus
JP5373620B2 (ja) * 2007-11-09 2013-12-18 パナソニック株式会社 データ転送制御装置、データ転送装置、データ転送制御方法及び再構成回路を用いた半導体集積回路
US20090170472A1 (en) * 2007-12-28 2009-07-02 Chapin John M Shared network infrastructure
EP2255444B1 (en) 2008-02-19 2012-01-25 Nxp B.V. Software defined radio
GB2457987A (en) * 2008-03-06 2009-09-09 Nokia Corp Configuring a modular radio frequency communications device
US20110059702A1 (en) * 2008-04-08 2011-03-10 Nokia Corporation Method, apparatus and computer program product for providing a firewall for a software defined multiradio
GB2460417B (en) * 2008-05-28 2011-04-06 Mirics Semiconductor Ltd Broadcast receiver system
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
US8099472B2 (en) 2008-10-21 2012-01-17 Lookout, Inc. System and method for a mobile cross-platform software system
US9367680B2 (en) * 2008-10-21 2016-06-14 Lookout, Inc. System and method for mobile communication device application advisement
US9043919B2 (en) 2008-10-21 2015-05-26 Lookout, Inc. Crawling multiple markets and correlating
US8087067B2 (en) 2008-10-21 2011-12-27 Lookout, Inc. Secure mobile platform system
US8051480B2 (en) 2008-10-21 2011-11-01 Lookout, Inc. System and method for monitoring and analyzing multiple interfaces and multiple protocols
US8108933B2 (en) 2008-10-21 2012-01-31 Lookout, Inc. System and method for attack and malware prevention
US8347386B2 (en) 2008-10-21 2013-01-01 Lookout, Inc. System and method for server-coupled malware prevention
US9781148B2 (en) 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
US8984628B2 (en) 2008-10-21 2015-03-17 Lookout, Inc. System and method for adverse mobile application identification
US9235704B2 (en) 2008-10-21 2016-01-12 Lookout, Inc. System and method for a scanning API
US8060936B2 (en) 2008-10-21 2011-11-15 Lookout, Inc. Security status and information display system
US8533844B2 (en) * 2008-10-21 2013-09-10 Lookout, Inc. System and method for security data collection and analysis
US8855601B2 (en) 2009-02-17 2014-10-07 Lookout, Inc. System and method for remotely-initiated audio communication
US8538815B2 (en) 2009-02-17 2013-09-17 Lookout, Inc. System and method for mobile device replacement
US9955352B2 (en) 2009-02-17 2018-04-24 Lookout, Inc. Methods and systems for addressing mobile communications devices that are lost or stolen but not yet reported as such
US8467768B2 (en) 2009-02-17 2013-06-18 Lookout, Inc. System and method for remotely securing or recovering a mobile device
US9042876B2 (en) 2009-02-17 2015-05-26 Lookout, Inc. System and method for uploading location information based on device movement
US8312346B2 (en) 2009-05-01 2012-11-13 Mirics Semiconductor Limited Systems and methods for communications
US9547511B2 (en) * 2009-06-05 2017-01-17 Microsoft Technology Licensing, Llc Language-based model for asynchronous operations
US8397301B2 (en) 2009-11-18 2013-03-12 Lookout, Inc. System and method for identifying and assessing vulnerabilities on a mobile communication device
US20110289469A1 (en) * 2010-05-21 2011-11-24 Huang Thomas B Virtual interconnection method and apparatus
ES2746900T3 (es) * 2010-10-06 2020-03-09 Univ Hanyang Ind Univ Coop Found Dispositivo terminal de radio de definición por software de antena inteligente y procedimiento para distribuir e instalar una aplicación de terminal de radio de definición por software
US9312887B2 (en) * 2011-05-09 2016-04-12 Bae Systems Information And Electronic Systems Integration Inc. Hardware abstraction layer (HAL) configuration for software defined radio (SDR) platforms
US8738765B2 (en) 2011-06-14 2014-05-27 Lookout, Inc. Mobile device DNS optimization
US8788881B2 (en) 2011-08-17 2014-07-22 Lookout, Inc. System and method for mobile device push communications
US9589129B2 (en) 2012-06-05 2017-03-07 Lookout, Inc. Determining source of side-loaded software
US9407443B2 (en) 2012-06-05 2016-08-02 Lookout, Inc. Component analysis of software applications on computing devices
US8655307B1 (en) 2012-10-26 2014-02-18 Lookout, Inc. System and method for developing, updating, and using user device behavioral context models to modify user, device, and application state, settings and behavior for enhanced user security
US9208215B2 (en) 2012-12-27 2015-12-08 Lookout, Inc. User classification based on data gathered from a computing device
US9374369B2 (en) 2012-12-28 2016-06-21 Lookout, Inc. Multi-factor authentication and comprehensive login system for client-server networks
US8855599B2 (en) 2012-12-31 2014-10-07 Lookout, Inc. Method and apparatus for auxiliary communications with mobile communications device
US9424409B2 (en) 2013-01-10 2016-08-23 Lookout, Inc. Method and system for protecting privacy and enhancing security on an electronic device
US9642008B2 (en) 2013-10-25 2017-05-02 Lookout, Inc. System and method for creating and assigning a policy for a mobile communications device based on personal data
US20150118959A1 (en) * 2013-10-28 2015-04-30 Nicolas Jean Petit Platform framework for wireless media device simulation and design
US10122747B2 (en) 2013-12-06 2018-11-06 Lookout, Inc. Response generation after distributed monitoring and evaluation of multiple devices
US9753796B2 (en) 2013-12-06 2017-09-05 Lookout, Inc. Distributed monitoring, evaluation, and response for multiple devices
EP3289510B1 (en) 2015-05-01 2020-06-17 Lookout Inc. Determining source of side-loaded software
EP3437279B1 (en) * 2016-04-01 2021-03-03 Cohere Technologies, Inc. Iterative two dimensional equalization of orthogonal time frequency space modulated signals
US10218697B2 (en) 2017-06-09 2019-02-26 Lookout, Inc. Use of device risk evaluation to manage access to services
US10783316B2 (en) 2018-02-26 2020-09-22 Servicenow, Inc. Bundled scripts for web content delivery
US20200090052A1 (en) * 2018-09-17 2020-03-19 Servicenow, Inc. Decision tables and enterprise rules for object linking within an application platform as a service environment

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110344A1 (en) * 1996-09-18 2003-06-12 Andre Szczepanek Communications systems, apparatus and methods
US5790817A (en) * 1996-09-25 1998-08-04 Advanced Micro Devices, Inc. Configurable digital wireless and wired communications system architecture for implementing baseband functionality
US6088588A (en) * 1997-03-25 2000-07-11 Nortel Networks Corporation Method and wireless terminal for monitoring communications and providing network with terminal operation information
US6298370B1 (en) * 1997-04-04 2001-10-02 Texas Instruments Incorporated Computer operating process allocating tasks between first and second processors at run time based upon current processor load
US6208627B1 (en) * 1997-12-10 2001-03-27 Xircom, Inc. Signaling and protocol for communication system with wireless trunk
US6580906B2 (en) * 1997-12-10 2003-06-17 Intel Corporation Authentication and security in wireless communication system
CA2317473A1 (en) * 1998-01-13 1999-07-22 David L. Tennenhouse Systems and methods for wireless communications
US5999990A (en) * 1998-05-18 1999-12-07 Motorola, Inc. Communicator having reconfigurable resources
US6584146B2 (en) * 1999-01-13 2003-06-24 Vanu, Inc. Systems and methods for wireless communications

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101365773B1 (ko) 2004-06-10 2014-02-20 인터디지탈 테크날러지 코포레이션 스마트 안테나를 이용하여 백홀 네트워크를 설정하는 방법 및 시스템
JP2008510983A (ja) * 2004-08-23 2008-04-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Gps信号処理プログラムによりプログラムされたコンピュータ
JP2007068128A (ja) * 2005-09-02 2007-03-15 Mitsubishi Electric Corp 無線基地局装置および無線通信方式の切替え方法
JP4615402B2 (ja) * 2005-09-02 2011-01-19 三菱電機株式会社 無線基地局装置
JP2007243645A (ja) * 2006-03-09 2007-09-20 Hitachi Kokusai Electric Inc 無線基地局装置
JP4648856B2 (ja) * 2006-03-09 2011-03-09 株式会社日立国際電気 無線基地局装置
JP2011508474A (ja) * 2007-12-05 2011-03-10 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 周波数帯域を共有する運用者に対するリソース割り当て
JP2014003652A (ja) * 2007-12-05 2014-01-09 Telefon Ab L M Ericsson 周波数帯域を共有する運用者に対するリソース割り当て
JP2015523750A (ja) * 2012-04-12 2015-08-13 漢陽大学校産学協力団Industry−University Cooperation FoundationHANYANG University ソフトウェア定義無線アプリケーションの動作方法
JP2015231079A (ja) * 2014-06-04 2015-12-21 日本電信電話株式会社 スケジューリング装置および方法

Also Published As

Publication number Publication date
US20030008684A1 (en) 2003-01-09
WO2001054300A3 (en) 2002-09-19
WO2001054300A2 (en) 2001-07-26
GB0101889D0 (en) 2001-03-07
GB2382498A (en) 2003-05-28
EP1260028A2 (en) 2002-11-27
US20070005327A1 (en) 2007-01-04
GB2382498B (en) 2003-11-05

Similar Documents

Publication Publication Date Title
JP2003520551A (ja) デジタル無線基地局
US20090119088A1 (en) Method of Designing, Modelling or Fabricating a Communications Baseband Stack
JP2004500650A (ja) デジタル信号処理の設計、モデル化あるいは実行を行うためのソフトウェア
JP7053691B2 (ja) 多重プロセッサシステムのためのリアルタイム分析及び制御
Mitola Software radio architecture: a mathematical perspective
Wehrle et al. Modeling and tools for network simulation
Oshana DSP for Embedded and Real-time Systems
Panesar et al. Deterministic parallel processing
US20050223191A1 (en) Device comprising a communications stack with a scheduler
Rupp et al. Rapid prototyping for wireless designs: the five-ones approach
Castrillon et al. Component-based waveform development: The nucleus tool flow for efficient and portable software defined radio
Civerchia et al. Is opencl driven reconfigurable hardware suitable for virtualising 5g infrastructure?
CN109710265A (zh) 一种软件安装包的获取方法、装置及电子设备
US20110066416A1 (en) Method and system for simulation and verification of communication devices
Lavaud et al. AbstractSDRs: Bring down the two-language barrier with Julia Language for efficient SDR prototyping
Fayez Designing a software defined radio to run on a heterogeneous processor
GB2382702A (en) Software for designing,modelling or performing digitalsignal processing
Moonen Predictable embedded multiprocessor architecture for streaming applications
Latif Continuous Integration for Fast SoC Algorithm Development
Evans Real-Time Digital Signal Processing Laboratory
Vasconcellos Parallel signal-processing for everyone
Chandraiah et al. System-On Chip Modeling and Design
Sharma PGAS Communication for Heterogeneous Clusters with FPGAs
Bahga et al. And Vijay Madisetti
Kärnhall Decoding Ogg Vorbis Audio with The C6416 DSP, using a custom made MDCT core on FPGA

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080401