首页 / 国际专利分类库 / 电学 / 基本电子电路 / 一般编码、译码或代码转换 / 模拟值转换到差分调制或相反转换 / .{Δ-∑调制} / ソフトウェアで信号に対して1つまたは複数のデジタル・フロントエンド(DFE)機能を実行するための方法およびプロセッサ

ソフトウェアで信号に対して1つまたは複数のデジタル・フロントエンド(DFE)機能を実行するための方法およびプロセッサ

申请号 JP2014539057 申请日 2012-10-26 公开(公告)号 JP6037318B2 公开(公告)日 2016-12-07
申请人 インテル・コーポレーション; 发明人 アザデット,カメラン; リ,チェンジョウ; モリーナ,アルベルト; オスマー,ジョセフ,エッチ.; ピノー,スティーブン,シー.; ユ,メンリン; ウィリアムズ,ジョセフ; ペレス,ラモン,サンチェス; チェン,ジェン−グオ;
摘要
权利要求

ソフトウェアで信号に対して1つまたは複数のデジタル・フロントエンド(DFE)機能を実行するための方法であって、 前記信号に前記1つまたは複数のデジタル・フロントエンド(DFE)機能を実行するために、プロセッサで1つまたは複数の専門化された命令を実行するステップであって、前記プロセッサは、線形および非線形の命令の1つまたは複数で構成された命令セットを持つステップ を含み、 前記1つまたは複数のデジタル・フロントエンド(DFE)機能は、デジタル・プリディストーション機能を含み、前記1つまたは複数の専門化された命令は、1つまたは複数のユーザ定義の非線形の命令を含み、前記1つまたは複数のユーザ定義の非線形の命令は、少なくとも1つのユーザに指定されたパラメータを含み、 少なくとも1つのユーザに指定されたパラメータを持つ少なくとも1つの非線形関数に対するソフトウェア命令の少なくとも1つに応じて、 入値xに前記非線形関数を適用するために前記少なくとも1つのソフトウェア命令を実装する少なくとも1つの機能単位を呼び出すステップと、 前記入力値xの前記非線形関数に対応する出力を生成するステップと が実行され、 前記ユーザに指定されたパラメータは、有限数の入力値に対する前記非線形関数の値を格納するルックアップ・テーブルを含み、望まれる入力値xが前記ルックアップ・テーブルにない場合、結果を得るためにハードウェアで直線補間が実行される、 方法。前記専門化された命令は、ベクトル畳み込み関数、復素指数関数、およびベクトルxのxk関数の1つまたは複数を含む請求項1に記載の方法。複数のデータ・サンプルで構成されたサンプルのブロックを形成するステップを含み、前記1つまたは複数のデジタル・フロントエンド(DFE)機能は、サンプルの前記ブロックに対して実行される請求項1または2に記載の方法。ソフトウェアで信号に対して1つまたは複数のデジタル・フロントエンド(DFE)機能を実行するためのプロセッサであって、 メモリと、 前記1つまたは複数のデジタル・フロントエンド(DFE)機能を前記信号に対して実行するために、1つまたは複数の専門化された命令を実行するように動作し、前記プロセッサは、線形および非線形の命令の1つまたは複数で構成された命令セットを持つ 前記メモリに結合された少なくとも1つのハードウェア・デバイスと を含み、 前記1つまたは複数のデジタル・フロントエンド(DFE)機能は、デジタル・プリディストーション機能を含み、前記1つまたは複数の専門化された命令は、1つまたは複数のユーザ定義の非線形の命令を含み、前記1つまたは複数のユーザ定義の非線形の命令は、少なくとも1つのユーザに指定されたパラメータを含み、 少なくとも1つのユーザに指定されたパラメータを持つ少なくとも1つの非線形関数に対するソフトウェア命令の少なくとも1つに応じて、 入力値xに前記非線形関数を適用するために、前記少なくとも1つのソフトウェア命令を実装する少なくとも1つの機能単位を呼び出すステップと、 前記入力値xの前記非線形関数に対応する出力を生成するステップと が実行され、 前記ユーザに指定されたパラメータは、有限数の入力値に対する前記非線形関数の値を格納するルックアップ・テーブルを含み、望まれる入力値xが前記ルックアップ・テーブルにない場合、結果を得るためにハードウェアで直線補間が実行される、 プロセッサ。前記専門化された命令は、ベクトル畳み込み関数、復素指数関数、およびベクトルxのxk関数の1つまたは複数を含む請求項4に記載のプロセッサ。前記少なくとも1つのハードウェア・デバイスは、複数のデータ・サンプルで構成されたサンプルのブロックを形成するようにさらに構成され、前記1つまたは複数のデジタル・フロントエンド(DFE)機能は、サンプルの前記ブロックに対して実行される請求項4または5に記載のプロセッサ。

说明书全文

本出願は、参照により本明細書に組み込まれている、2011年10月27日に出願した米国特許仮出願第61/552,242号「Software Digital Front End(SoftDFE)Signal Processing and Digital Radio」の優先権を主張するものである。

本発明は、デジタル信号処理技法に関し、より詳細には、通信デバイスにおけるデジタル・フロントエンド処理のための技法に関する。

通信システムにおいて、「フロントエンド」という用語は、元々、アンテナの近くにある受信機または送信機のアナログ部分を表していた。フロントエンドは、デジタル処理のために中間周波数(IF)でアナログ信号をバックエンドに送っていた。より最近には、「フロントエンド」という用語は、以前はアナログ領域で実行された信号調節の一部をより最近の端末または基地局システムではデジタル処理コンポーネントに含めるように拡大された。

デジタル・フロントエンド(DFE)は今、BBプロセッサとアナログ・ベースバンド/RF回路との間の回路に対する一般的な用語である。受信機では、DFEは、中間周波数を含む、または含まない場合がある(受信機がゼロIFか非ゼロIFかに依存する)、RF復調されたデジタル化された信号を処理するコンポーネントを含む。受信機側では、DFEは、デジタルIF信号から、様々なIF周波数で異なるチャネル(GSM、WCDMA、LTE、またはこれらの技術の組み合わせ)をデジタル方式で抽出する(前世代システムではアナログ領域で実行された動作)。

送信機では、DFEは、デジタル領域の様々なチャネルに対してベースバンド信号を処理し、アップコンバートされたデジタル信号を提供するコンポーネントを含む。このアップコンバートされた信号は、波高因子低減およびRFパワー増幅器の非線形の応答のデジタル・プリディストーションなど、追加の信号調節をさらに受けることができ、最終的にデジタル/アナログ変換器(DAC)に適用される。

デジタル・フロントエンドは、典型的には、上記のマルチキャリア・マルチスタンダード無線信号の高いサンプリング・レートのために、ハードワイヤード・ロジックを使用して実装される。そのようなハードウェアベースのDFE技法は、通信信号を効果的に処理するが、それらは多くの制限を受け、それを克服すれば、DFEシステムの効率および柔軟性をさらに改善することができる。たとえば、既存のハードウェアベースのDFE技法は柔軟性を欠き、高価であり、時間がかかり、かつDFE ASIC(特定用途向け集積回路)の設計は高価であり時間がかかる(多くの場合、2年のサイクル)ため、新しいRF設計のためにDFE設計を変更するのが難しい。

DFEシステムの一部をソフトウェアに実装するために、多くの技法が提案または提言されてきた。たとえば、DFEの一部は、フィールドプログラマブル・ゲートアレイ(FPGA)に実装され、DFEの他の部分はハードワイヤードであり、他の部分はASICに実装される。FPGAは、「論理ブロック」と呼ばれるプログラマブル・ロジック・コンポーネントを含む。しかし、FPGAベースの技法は、コストおよび電消費に関して法外に高い。

様々なDFE機能のソフトウェアへの実装は可能である。しかし、数百メガヘルツという既存のサンプリング・レートについて、たとえば、リアルタイムのDFEソフトウェアの実装は、標準的なデジタル信号プロセッサまたはベクタ・プロセッサでも達成可能ではない。したがって、効率的なソフトウェアベースのDFE技法に対する必要性が存在する。

国際特許出願PCT/_「Digital Processor Having Instruction Set With Complex Exponential Non−Linear Function」

国際特許出願PCT_「Vector Processor Having Instruction Set With Vector Convolution Function For FIR Filtering」

米国特許出願第12/362,874号

米国特許出願第12/324,934号

米国特許出願第12/324,926号

米国特許出願第12/324,927号

米国特許出願第12/849142号

Lei Dingら、「Compensation of Frequency−Dependent Gain/Phase Imbalance in Predistortion Linearization Systems」、IEEE Transactions on Circuits and Systems、Vol.55,No.1、390〜97(2008年2月)

一般的に、ソフトウェアによるデジタル・フロントエンド(SoftDFE)信号処理技法が提供される。本発明の一態様によると、1つまたは複数のデジタル・フロントエンド(DFE)機能は、信号に対して1つまたは複数のデジタル・フロントエンド(DFE)機能を実行するために、プロセッサで1つまたは複数に専門化された命令を実行することによって、ソフトウェアにおいて信号に対して実行され、プロセッサは、線形および非線形の命令の1つまたは複数で構成された命令セットを持つ。プロセッサは、たとえば、デジタル信号プロセッサまたはベクタ・プロセッサでもよい。

専門化された命令は、N1+N2−1サンプルの入力ベクトルを受信し、入力ベクトルN1のN1サンプルの時間シフト版および係数を処理するベクトル畳み込み関数を含むことができ、時間シフト版ごとにFIR出力値を生成する。さらに、専門化された命令は、復素指数関数および/またはベクトルxのxk関数を含むことができる。

信号は、サンプルごと、またはデータ・サンプルのブロックとして処理することができる。本発明の他の態様によると、サンプルのブロックは、複数のデータ・サンプルで構成されて形成され、デジタル・フロントエンド(DFE)機能は、サンプルのブロックに対して実行される。

代表的なチャネル・フィルタリングDFE機能について、専門化された命令は、ベクトル畳み込み関数を含む。代表的なデジタル・アップ・コンバージョンDFE機能について、専門化された命令は、復素指数関数命令を含む。

代表的な波高因子低減DFE機能について、専門化された命令は、(i)ピーク検出について、ベクトル比較命令およびベクトルmax()命令の1つまたは複数を含み;(ii)ピーク・キャンセレーションについて、ベクトル積和演算命令、ベクトル乗算命令、およびベクトル加算命令の1つまたは複数を含み;(iii)ポーラー・クリッピング(polar clipping)演算について、ベクトルx−0.5命令、ベクトルsqrt()命令、およびベクトル1/x命令の1つまたは複数を含む。

代表的なデジタル・プリディストーションDFE機能について、専門化された命令は、1つまたは複数のユーザ定義の非線形の命令を含む。ユーザ定義の非線形の命令は、少なくとも1つのユーザに指定されたパラメータを含む。少なくとも1つのユーザに指定されたパラメータを持つ少なくとも1つの非線形関数のソフトウェア命令の少なくとも1つに応じて、以下のステップが実行される:(i)入力値xに非線形関数を適用するために、少なくとも1つのソフトウェア命令を実装する少なくとも1つの機能単位を呼び出す;および(ii)入力値xの非線形関数に対応する出力を生成する。ユーザに指定されたパラメータは、メモリから少なくとも1つのレジスタにロードすることができる。ユーザに指定されたパラメータは、たとえば、有限数の入力値に対する非線形関数の値を格納するルックアップ・テーブルを含む。

本発明のより完全な理解、ならびに他の本発明の特徴および利点は、以下の詳細な説明および図を参照することによって得られるだろう。

本発明の態様を用いることができる代表的な通信システムの一部を示す図である。

個々のデータ・サンプルをデータのブロックに変換するブロック生成プロセスを示す図である。

図1のブロックを実装するために使用できる、代表的なチャネル・フィルタおよびデジタル・アップ・コンバージョン段階を示す略ブロック図である。

図3のデジタル・アップコンバータ・フィルタを示す略ブロック図である。

図3の補間フィルタを示す略ブロック図である。

チャネル・フィルタおよびデジタル・アップ・コンバージョン段階の代表的な擬似コードを示す図である。

図1の波高因子低減段階によって用いることができる適切な波高因子低減アルゴリズムの代表的な擬似コードを示す図である。

本発明の一実施形態により波高因子低減を処理するブロックを示す図である。

本発明の一実施形態により波高因子低減を処理するブロックを示す図である。

図6の波高因子低減アルゴリズムの代表的なハード・クリッピング段階を示す図である。

本発明の一実施形態により1つまたは複数の数を同時に処理する代表的なベクトルベースのデジタル信号プロセッサを示す略ブロック図である。

本発明の態様を用いることができる代替の代表的な送信機の一部を示す図である。

ユーザ定義の非線形の命令f

m,lを使用してベクタ・プロセッサでソフトウェアにDPD機能を実装するための代表的な擬似コードを示す図である。

前述のユーザ定義の非線形の命令f

m,lの代表的な機能ブロック図を示す図である。

前述のユーザ定義の非線形の命令f

m,lの代表的な代替の機能ブロック図を示す図である。

x(n)に応じて個々のユーザ定義の非線形関数f

m,lを示す図である。

図13Aの個々のユーザ定義の非線形関数f

m,lの代表的な概算を示す図である。

テイラー・サム(Taylor Sum)計算ブロックを示す図である。

本発明の一実施形態により1つまたは複数の複素数のユーザ定義の非線形関数を同時に評価する代表的なベクトルベースのデジタル・プロセッサを示す略ブロック図である。

適応可能なプリディストーションのための第1のシステムを示す概略図である。

適応可能なプリディストーションのための直接的な形式のシステムを示す概略図である。

本明細書に記述されたフィルタリング操作の多くによって用いることができるベクトル畳み込み関数を示す図である。

図1のIQ/等化ブロックを実装するために使用できる代表的な等化/IQインバランス補正(IQIC)段階を示す略ブロック図である。

図1は、本発明の態様を用いることができる代表的な通信システム100の一部を示している。図1に示すように、代表的な通信システム100は、チャネル・フィルタおよびデジタル・アップ・コンバージョン(DUC)段階110、波高因子低減(CFR)段階120、デジタル・プリディストーション(DPD)段階130、および等化/IQインバランス補正140を持つ送信部を含む。一般的に、図3〜図5に関して以下にさらに記述するように、チャネル・フィルタおよびデジタル・アップ・コンバージョン段階110は、たとえば、有限のインパルス応答(FIR)フィルタを使用するチャネル・フィルタリングおよびデジタル化されたベースバンド信号を無線周波数(RF)に変換するためのデジタル・アップ・コンバージョンを実行する。図6〜図10に関して以下にさらに記述するように、波高因子低減段階120は、送信された信号のPARを制限する。図11〜図15に関して以下にさらに記述するように、デジタル・プリディストーション段階130は、効率を向上するために電力増幅器を線形化する。図19に関連してさらに下に記述するように、等化/IQインバランス補正140は、チャネル障害を緩和するために、IQ補正を実行し、RFチャネル等化を用いる。

図1に示すように、図16および図17に関してさらに下に記述するように、アナログ/デジタル変換器(ADC)からのデジタル信号は、DPDパラメータ推定160のためにオンチップ・メモリ170に格納される。次に、DPDタップは、たとえば、中央制御装置(CPU)、汎用プロセッサ(GPP)、デジタル信号プロセッサ(DSP)、またはベクタ・プロセッサを使用して、段階150で構成される。

図1に示すように、代表的な通信システム100は、また、アナログ/デジタル変換器(ADC)から信号を受信するチャネル・フィルタ/チャネル・デジタル・ダウン・コンバージョン(DDC)ブロック180を持つ受信部を含み、RXインターフェースにベースバンド信号を提供する。

本発明の一態様によると、図1の通信システム100のデジタル・フロントエンド(DFE)のブロックの1つまたは複数は、ソフトウェアに実装される。以下に記述するように、これらのSoftDFEブロックは、アップサンプリングおよびアップコンバートされたサンプルならびに出力サンプルを生成するために個々のサンプルまたはサンプルのブロックのいずれかを取る(典型的にはサンプルのブロック)。SoftDFE機能の1つまたは複数は、ベクタ・プロセッサの専門化された特徴を使用してソフトウェアに実装される。異なるアンテナ・データの処理は、異なるベクタ・プロセッサで実行できることに注意されたい。さらに、異なるSoftDFE機能は、異なるベクタ・プロセッサまたは同じベクタ・プロセッサで処理することができる。

図2は、個々のデータ・サンプル210をデータのブロック250に変換するブロック生成プロセス200を示している。図2に示すように、個々のデータ・サンプル210は、入力周期タイマー・イベント220を使用して読み込まれる。230に示すように、処理時間は、ベクトル・エンジン(VE)などプロセッサで変化することがある。上記のように、本発明の態様によるブロック処理は、プロセス負荷と無関係に、遅延を維持することを可能にする。したがって、データのブロック250は、出力周期タイマー・イベント240を使用して読み出される。

データ・ブロック250は、オプションとしてバッファに格納される。代表的な一実装では、2つのデータ・ブロック250は、一度にバッファに格納することができる。したがって、バッファは、少なくとも2ブロック長のサイズを持つ。

チャネル・フィルタおよびデジタル・アップ・コンバージョン段階110 上記のように、チャネル・フィルタおよびデジタル・アップ・コンバージョン段階110は、たとえば、有限のインパルス応答(FIR)フィルタを使用するチャネル・フィルタリングおよびデジタル化されたベースバンド信号を無線周波数(RF)に変換するためのデジタル・アップ・コンバージョンを実行する。以下に記述するように、チャネル・フィルタおよびデジタル・アップ・コンバージョン段階110の1つまたは複数の機能は、ベクトル乗算、ベクトル加算および縮小(reduction)、あるいは、ベクトル畳み込み演算命令を使用して加速された1つまたは複数のベクタ・プロセッサでソフトウェアに実装される。デジタル・アップ・コンバージョンは、たとえば、入力信号に復素指数関数をかけることを必要とし(ベクトル乗算、つまり2つのベクトル、信号およびロテーターのベクトルのコンポーネント・ワイズ(component wise)の積)、本発明の態様は、加速された復素指数関数を用いる。デジタル変調は、(ベクトルとして計算された)復素指数関数に基づいて数値的に制御された発振器(NCO)を使用してオプションとして実行される。

図3は、図1のブロック110を実装するために使用できる代表的なチャネル・フィルタおよびデジタル・アップ・コンバージョン段階300の略ブロック図である。図3に示すように、代表的なチャネル・フィルタおよびデジタル・アップ・コンバージョン段階300は、たとえば、3.84メガサンプル/秒(MSPS)の代表的なサンプリング・レートを持つ代表的なWCDMA信号310を含む(またはマルチスタンダード無線(MSR)の他の代表的な技術の信号。次に、WCDMA信号310は、図4Aに関して下にさらに記述するように、30.72MSPSの代表的なサンプリング・レートに信号をアップコンバートするために、デジタル・アップコンバータ・フィルタ320に適用される。次に、アップコンバートされた信号は、図4Bに関連してさらに下に記述するように、307.2MSPSの代表的なサンプリング・レートに信号をさらにアップコンバートする補間フィルタ330に適用される。

補間フィルタ330の出力は乗算器340に適用され、復素指数関数exp(jω0n)がかけられる。復素指数関数exp(jω0n)の詳細については、ここに同時に出願され参照によって本明細書に組み込まれている、国際特許出願PCT/_「Digital Processor Having Instruction Set With Complex Exponential Non−Linear Function」を参照すること。

次に、様々なチャネルは集合され、図1のCFR120に適用される。

図4Aは、図3のデジタル・アップコンバータ・フィルタ320の略ブロック図である。図4Aに図示するように、デジタル・アップコンバータ・フィルタ320は、2倍アップサンプリングを実行するルート・レイズド・コサイン(RRC)フィルタ410、それぞれ2倍アップサンプリングを実行する2つのハーフバンド・フィルタ420、430を含む。

以下の表は、図4Aのフィルタ410、420、430の代表的な実装を記述している。

図18に関連してさらに下に記述するように、本発明は、フィルタ410、420、430のフィルタリング操作を含む、本明細書に記述したフィルタリング操作は、ベクトル畳み込み関数を使用して加速できることを認識している。ここに同時に出願され参照によって本明細書に組み込まれている、国際特許出願PCT_「Vector Processor Having Instruction Set With Vector Convolution Function For FIR Filtering」も参照すること。

図4Bは、図3の補間フィルタ330の略ブロック図である。図4Bに示すように、補間フィルタ330は、2つのフィルタ450、560を含む。合計10のアップサンプリング比のために、フィルタ450は、2倍アップサンプリングを実行し、フィルタ460は、5倍アップサンプリングを実行する、

以下の表は、図4Bのフィルタ450、460の代表的な実装を記述している。

図5は、チャネル・フィルタおよびデジタル・アップ・コンバージョン段階110の代表的な擬似コード500を示している。代表的な擬似コード500は、入力複素数データのブロックを処理し、出力複素数データのブロックを作成する。アップサンプリングおよび補間フィルタリングを実行するために、各フィルタ段階に対してループが処理される。さらに、サンプルのブロックについてデジタル・アップ・コンバージョン(中間周波数f_IFによる変調)が実行される。

波高因子低減段階120 上記のように、波高因子低減段階120は、送信された信号のPARを制限する。以下に記述するように、波高因子低減は、ピーク検出およびピーク・キャンセレーションを必要とする。ピーク検出は、ベクトル比較命令または専門化されたmax()命令を活用することができる。同様に、ピーク・キャンセレーションは、ベクトルの乗算および加算を含み、ハード・クリッピングは、しきい値およびベクタ・プロセッサを使用して加速できる調整(ベクトル・コンポーネント・ワイズに対して1/x)に比較するエンベロープ計算(ベクトルsqrt()およびベクトル(x*conj(x)))を含む。sqrt()および1/xの演算は、加えて、ベクトルx−0.5の演算/命令を使用して、組み合わせて実行することができる。

図6は、図1の波高因子低減段階120によって用いることができる適切な波高因子低減アルゴリズムの代表的な擬似コード600を示している。任意の代替の波高因子低減アルゴリズムも用いることができることに注意されたい。図6に示すように、代表的な波高因子低減アルゴリズム600は、ピーク検索段階610、パルス・キャンセレーション段階640、およびハード・クリッピング段階680という3つの部分を含む。

代表的な波高因子低減アルゴリズム600は、ピーク再成長(peak regrowth)に対処するためにオプションとして反復的に実行することができる。たとえば、反復の数N_iterは、1から4の間の一般的な値を持つことができる。一般的に、パルスの両側のリンギングのために、他のピークをキャンセルするときに新しいピークが導入される場合、ピーク再成長が結果として生じる(パルスは、従来、複数のタップを持つ線形位相の対称的なFIRフィルタとして設計されている)。中央タップの両側にタップがある。したがって、現在または過去のサンプル値にピークを導入することができる。過去のサンプルに導入されたピークに対処するために、既存のCFRアルゴリズムは、ピークをすべてキャンセルするために複数の反復を必要とする。

ピーク検索段階610の間に、ピークの数、それらの場所、およびしきい値レベルを上回る規模を決定するために、信号を通じて検索が実行される。代表的な波高因子低減アルゴリズム600は、最初にアンテナ・サンプル規模を計算する。次に、しきい値を上回るサンプル値が識別される。たとえば、しきい値は、PARターゲットに基づいて確立することができる。その後、ピーク位置は、たとえば、ベクトルmax()命令を使用して識別することができる。ピーク検出は、オプションとして、ベクトル比較命令または専門化されたベクトルmax()命令を活用することができる。

パルス・キャンセレーション段階640の間に、キャンセレーション・パルスはピークのそれぞれで配列され、次にパルスのすべてがピークから引かれる。代表的な波高因子低減アルゴリズム600は、パルス・キャンセレーション利得を計算する(たとえば、検出されたピークの規模で割られたしきい値)。その後、代表的な波高因子低減アルゴリズム600は、各ピークを別々に処理するためにループに入る。各ピークについて、たとえば、ベクトル乗算命令を使用してパルスが生成され、たとえば、ベクトル加算命令を使用して、アンテナからパルスがキャンセルされる。ピーク・キャンセレーションは、ベクタ・プロセッサで加速することができる、ベクトルの乗算および加算を含む。

ハード・クリッピング段階680の間に、代表的な波高因子低減アルゴリズム600は、たとえば、規模反転(magnitude inverse)のために非線形の演算を使用して、出力波形をハード・クリッピングする。クリッピングしきい値レベルRは、PARターゲットに基づいて設定される。ハード・クリッピングは、たとえば、ポーラー・クリッピング技法を使用して実行することができる。一般的に、ポーラー・クリッピングは、|x|の計算、しきい値Rに対する|x|の比較、R/|x|による調整を含む。|x|がRより大きい場合、xはRに置き換えられる。ここでも、1/|x|は、ベクトルx−0.5の演算/命令を使用して、ベクタ・プロセッサで効率的に計算することができる。

他の変形形態では、波高因子低減は、周波数領域で実行することができる。

上記のように、本発明の一態様は、効率を向上するためにデータのブロックに対してCFR処理を実行できることを認識する。たとえば、データのブロックに対してCFRを実行するために、ベクトル・エンジン(VE)を用いることができる。たとえば、ソフトウェア実装では、ブロック処理により、プロセッサ負荷と無関係に、遅延を一定に維持することが可能になる。さらに、ソフトウェア実装では、個々のデータ・サンプル310だけでなく、データのブロック全体を通じてオーバヘッドを償却することによって、ブロック処理により効率を向上する。

図7は、本発明の一実施形態によるブロック処理波高因子低減を示している。図7に示すように、データのブロック700は、図6の波高因子低減アルゴリズム600に適用することができる。しかし、ピーク705、715などのピークがブロック700の端部の近くで検出された場合、対応するキャンセレーション・パルス710、720のタップがデータのブロック400の外部に延在する場合、縁効果(edge effect)があるだろう。

したがって、本発明の他の態様によると、データのブロック間における処理の継続性は、1つまたは複数のプリカーソルおよび/またはポストカーソルのブロック・サンプルを使用して保証される。図8は、本発明の一実施形態による波高因子低減のブロック処理800を示している。図8の代表的な実施形態に図示するように、図6の代表的な波高因子低減アルゴリズム600に適用される前に、2つのプリカーソル810−1、810−2が、処理されている現在のブロック850の前に配置され、単一のポストカーソル・ブロック860が、現在のブロック850の終わりに添付される。このようにして、ブロック850の始まりおよび終わりは、他の場合には、ブロック処理によって引き起こされるエッジ効果を生じることなく処理することができる。

代表的な一実施形態では、キャンセレーション・パルス710、720の半分のサイズとほぼ等しいように、各カーソル・ブロック810、860のサイズが選択される。さらに、適切な量のオーバヘッドを維持するために、各データ・ブロック850のサイズは、各カーソル・ブロック810、860のサイズよりかなり大きい必要がある。一般的に、各データ・ブロック850のサイズが大きいほど、必要なメモリは大きくなり、遅延は大きくなる。

プリカーソル・ブロック810には、前のデータ・ブロックの終わりから入力データが入れられ、ポストカーソル・ブロック860は、次のデータ・ブロックの始めから入力データが入れられる。

代表的な一実施形態では、ピークは、ポストカーソル・ブロック860ではなく、ブロック850および第1のプリカーソル・ブロック810−1で検出されキャンセルされる。その理由は、ポストカーソル・データは、次のブロックの処理の間に処理されるからである。ポストカーソル・ブロック860に関連するポストカーソル入力サンプルは、ブロック850内のピークをキャンセルする必要があるだけである。

さらに、ブロック850の左端でピークをキャンセルする場合、第1のプリカーソル・ブロック810−1でピーク再成長が発生する。したがって、第1のプリカーソル・ブロック510−1において、これらの新しいピークをキャンセルするために、第2のプリカーソル・ブロック810−2が必要である(しかし、第2のプリカーソル・ブロック810−2ではキャンセレーションは実行されない。

図9は、図6の波高因子低減アルゴリズム600の代表的なハード・クリッピング段階680を示している。上記のように、ハード・クリッピング段階680の間に、代表的な波高因子低減アルゴリズム600は、たとえば、規模反転のために非線形の演算を使用して、出力波形をハード・クリッピングする。クリッピングしきい値レベルRは、ピーク対平均値比(PAR)ターゲットに基づいて設定される。ハード・クリッピングは、たとえば、図9に示すように、ポーラー・クリッピング加速技法を使用して実行することができる。一般的に、ポーラー・クリッピングは、|x|を計算すること、|x|をしきい値R(半径によって設定)と比較すること、およびR/|x|により調整することを含む。|x|がRより大きい場合、xはRと置き換えられる。

ハード・クリッピングは、しきい値およびベクタ・プロセッサを使用して加速できる調整(ベクトル・コンポーネント・ワイズに対して1/x)に比較するエンベロープ計算(ベクトルsqrt()およびベクトル(x*conj(x))を含む。これらの虚数乗法は、ベクトル平方根演算だけでなくベクトル乗算器も使用して加速することができる。

さらに、本発明の態様は、(x*conj(x))−05を使用して1/|x|を直接的に計算できることを認識しており、これは専門化されたベクトルxk(vec_x_pow_k)命令を使用して加速することができる。

図10は、本発明の一実施形態により1つまたは複数の数を同時に処理する、代表的なベクトルベースのデジタル信号プロセッサ1000の略ブロック図である。一般的に、図10のベクトルベースの実装は、多数のプロセスを同時に実行する。したがって、ベクトルベースのデジタル信号プロセッサ1000は、xk関数1010−1から1010−Nの複数の機能単位を含む。

ベクトルベースのデジタル信号プロセッサ1000への入力は、並列に処理される複数のスカラー数xnで構成されたベクトルxである。たとえば、ベクトルベースのデジタル信号プロセッサ1000が、ベクトルxのxk関数をサポートすると想定し、ここでXは、スカラー数x1からx4で構成される。代表的なxk関数は、以下のように表現することができる。 Pow_vec4(x1,x2,x3,x4,K)

参照によって本明細書に組み込まれている、2009年1月30に出願された米国特許出願第12/362,874号「Digital Signal Processor Having Instruction Set with an xk Function Using Reduced Look−Up Table」も参照すること。

代表的なベクトルベースのデジタル・プロセッサ1000は、以下のように実装されたpow(x,K)命令を使用して、32xkの演算を計算するために、16−wayのベクタ・プロセッサとして実装することができる。 vec_pow(x1,x2・・・x32,K)、ここでK値は、たとえば、0.5、−0.5、−1である。

このようにして、ベクトルベースのデジタル・プロセッサ1000は、16のそのような演算を実行し、単一サイクルにそれらを組み合わせることができる。

デジタル・プリディストーション段階130 上記のように、デジタル・プリディストーション段階130は、効率を向上するために電力増幅器を線形化する。以下に記述するように、デジタル・プリディストーションは、ベクトルの非線形関数を計算することを含む。非線形関数は、多項式または他の基底関数でもよい。これは、ルックアップ・テーブルおよびテイラー級数を組み合わせる非線形の命令を使用して加速することができる。

図1のデジタル・プリディストーション段階130は、以下のように実装することができる。

図11は、本発明の態様を用いることができる代替の代表的な送信機1100の一部を示している。図11に示すように、代表的な送信機部分1100は、2つのパルス整形およびローパス・フィルタ(LPF)段階1110−1、1110−2、ならびに複素信号I、Qを処理する2つのデジタル・アップコンバータ1120−1、1120−2を含む。図11の代表的な送信機部1100は、図1の波高因子低減段階120を含んでいないが、オプションとしてCFR段階を含むことができる。次に、複素入力(I、Q)は、図11のデジタル前置補償器1130に適用される。図11のデジタル前置補償器1130は、たとえば、図12および図13に関して以下にさらに記述する。

デジタル前置補償器1130の出力は、2つのデジタル/アナログ変換器(DAC)1140−1、1140−2に並列に適用され、次に、アナログ信号は、信号をRF信号にさらにアップコンバートする直変調段階1150によって処理される。

直角変調段階1150の出力1155は、ドハーティ増幅器またはドレイン変調器など電力増幅器1160に適用される。上記のように、デジタル前置補償器1130は、電力増幅器1160の効率を向上させるために電力増幅器1160を線形化する。

フィードバック経路1165において、電力増幅器1160の出力は、信号をベースバンドにダウンコンバートする復調段階1180に適用される前に減衰器1170に適用される。ダウンコンバートされた信号は、信号をデジタル化するためにアナログ/デジタル変換器(ADC)1190に適用される。次に、デジタル化されたサンプルは、デジタル前置補償器1130に対してパラメータwを生成する、複素適応アルゴリズム1195によって処理される。複素適応アルゴリズム1195は、本出願の範囲の外にある。最小二乗(LS)または再帰的な最小二乗(RLS)など既知の技法は、デジタル前置補償器1130に対してパラメータを生成するために用いることができる。

デジタル前置補償器の非線形フィルタ実装 デジタル前置補償器1130は、非線形系のボルテラ級数モデルを使用して、非線形のフィルタとして実装することができる。ボルテラ級数は、テイラー級数と同様に非線形の振る舞いのモデルである。ボルテラ級数は「メモリ」効果をキャプチャするその能力では、テイラー級数と異なる。テイラー級数は、このシステムの出力がその特定の時間の入力に厳密に依存している場合、所与の入力に対して非線形系の応答を近似するために使用することができる(静的な非線形性)。ボルテラ級数では、非線形系の出力は、他のときのシステムへの入力に依存している。したがって、ボルテラ級数では、デバイスの「メモリ」の影響をキャプチャすることが可能になる。

一般的に、メモリを用いる因果線形系(causal linear system)は、以下のように表現することができる。

さらに、メモリを用いない静的かつ弱い非線形系は、多項式を使用してモデル化することができる。

ボルテラ級数は、以下の2つの組み合わせとして考えることができる。

個別の領域では、ボルテラ級数は、以下のように表現することができる。

ボルテラ級数の複雑性は、指数関数的に増大する場合があるため、DPDなど多くの一般的な用途において使用が非実用的になる。したがって、非線形系の多数の単純化されたモデルが提案されてきた。たとえば、メモリ多項式(memory polynomial)は一般的に使用されるモデルである。

一般化されたメモリ多項式モデル(Generalized Memory Polynomial Model)と呼ばれる他の単純化されたモデルは、以下のように表すことができる(ここで、Mは、メモリの深さを示し、Kは多項式次数を示す)。

クロス乗積を用いる一般化されたメモリ多項式の等価の式は、以下のように表すことができる。

ここで

ここで、f(x)は、下に記述した、ユーザ定義の非線形の命令vec_nlを使用する、本発明の態様により加速されることが想定される1つまたは複数のユーザに指定されたパラメータを持つ非線形関数である。非線形の分解のためにxk以外の他の基底関数が可能であることに注意されたい。

以下に記述するように、ユーザ定義の非線形の命令fm,lは、たとえば、ベクタ・プロセッサによって処理することができる。fm,lは、非線形関数のm×l配列である。各非線形関数は、ルックアップ・テーブルまたは係数などユーザに指定されたパラメータを持つことができる。ルックアップ・テーブルは、ユーザ定義の非線形命令fm,lの多項式近似でもよい。図15に関して下にさらに記述するように、m×l配列の各ユーザ定義の非線形の命令fm,lのルックアップ・テーブルは、メモリに格納し、命令がプロセッサによって処理されたときに、機能単位に関連するレジスタにロードすることができる。次に、入力サンプルは、m×l配列の個々の非線形の命令fm,lで評価することができる。

図12は、等式(1)のユーザ定義の非線形の命令を使用して16成分ベクトルのベクタ・プロセッサでソフトウェアにDPD機能を実装するための代表的な擬似コード1200を示している。代表的な擬似コード1200は、入力xの規模を計算するために第1の部分1204を含む。1206行目で、m×l配列の個々の非線形の命令fm,lのルックアップ・テーブルをレジスタにロードすることができる。その後、代表的な擬似コード1200は、等式(1)を実装するために部分1208を含む(たとえば、サンプルを入力する、サンプルに対して二乗演算を実行する、非線形関数を計算する、結果を積和演算する)。

図12Aは、等式(1)を実装する代表的な機能ブロック図1210を示す図である。明細書に記述した代表的な実施形態では、|x|kの代わりに|x|2kを使用する。図12Aに示すように、代表的な回路1210は、二乗演算1212の出力を遅らせることによって、等式(1)のx(n−m)項を生成するために遅延要素1215−1から1215−5、および等式(2)の|x(n−l)|2項を生成するために遅延要素1215−6から1215−9など、複数の遅延要素を含む。さらに、代表的な機能ブロック図1210は、適切な|x(n−l)|2項を受信し等式(2)を実装する機能単位1220−1,1から1220−4,4の配列を含む。代表的な機能ブロック図1210は、また、適切なx(n−m)項を受信し、対応するm,l機能単位1220の出力をそれにかける複数の乗算器(x)を含む。各行の乗算の出力は、加算器(+)1230によって加えられ、所与の行の各加算器1230の出力は、出力y(n)を生成するために対応する加算器1240によって合計される。

図12Bは、数を減らされた乗算演算を用いる等式(1)を実装する代替の代表的な機能ブロック図1250を示す図1250である。図12Bに示すように、代表的な回路1250は、二乗演算1260の出力を遅らせることによって、等式(1)のx(n−m)項を生成するために遅延要素1255−1から1255−5、および等式(2)の|x(n−l)|2項を生成するために遅延要素1255−7から1255−9など、複数の遅延要素を含む。さらに、代表的な機能ブロック図1250は、適切な|x(n−1)|2項を受信する機能単位1270−1,1から1270−4,4の配列を含み、等式(2)を実装する。加算器1280は、非線形の利得(入力の規模の非線形関数の合計)を計算する。

代表的な機能ブロック図1250は、また、適切なx(n−m)項を受信し、対応するm,l機能単位1270の列の合計された出力の出力をそれにかける複数の乗算器(x)1275を含む。このようにして、加算器1280からの非線形の利得は、入力データに適用される(複素積和演算(CMAC)動作)。加算器(+)1285によって加えられた乗算が出力され、出力y(n)が生成される。

図13Aは、x(n)に応じて個々のユーザ定義の非線形関数fm,l1300を示している。図13Bは、図13Aの個々のユーザ定義の非線形関数fm,lの代表的な概算1350を示している。図13Bの代表的な概算1350は、分割されたテイラー級数のルックアップ・テーブルを使用する。非線形関数fm,l1300は、j個のセグメントへと分解される。各セグメントに関連するサンプル1360−1から1360−jは、ルックアップ・テーブルに格納される。サンプルが所与のxに対してルックアップ・テーブルに格納されている場合、サンプルは、ルックアップ・テーブルから取得し、非線形関数の評価に直接的に用いることができる。望まれるxがルックアップ・テーブルの2つの値の間にある場合、図15に関連して下にさらに記述したように、直線補間またはより一般的にはテイラー級数がベースの補間は、結果を得るために機能単位内でハードウェアで実行される。このようにして、非線形のデジタル・プリディストーション動作は、入力信号1350の異なるセグメントにテイラー級数係数によって記述することができる。32セグメントを持つ代表的な一実装では、ルックアップ・テーブルにおいて4つの立方多項式の概算係数を使用して表される係数について、128の複素エントリがある(16ビット複素数および16ビット実数)。128セグメント、およびセグメントごとに1つの係数を持つ他の変形形態において、直線補間に対して128の複素係数がある(16ビット複素数および16ビット実数)。

上記のように、望まれるx値がルックアップ・テーブルにないが、ルックアップ・テーブルの2つの値の間にある場合、直線補間は、結果を得るために機能単位内でハードウェアで実行される。テイラー級数計算は、以下のように、小さな立方多項式を評価するために立方体の補間として実行することができる。 f(ε)=α01・ε+α2・ε23・ε3 ここで、係数αはルックアップ・テーブルから取得される。しかし、この式の複雑性は重要である(乗算および二乗演算を実行する多数の乗算器を用いる)。

複雑性は、以下のようにf(ε)を計算できるように、ホメロス・アルゴリズム(因数分解)を使用して減らすことができる。参照によって本明細書に組み込まれている、2008年11月28日に出願された米国特許出願第12/324,934号「Digital Signal Processor With One Or More Non−Linear Functions Using Factorized Polynomial Interpolation」も参照すること。 f(ε)=((b3・ε+b2)・ε+b1)・ε+b0(3) 等式(3)の複雑性は、たった3つの乗算および3つの加算の演算に減らされた。f(ε)は、ルックアップ・テーブルに格納された値からのオフセットである。

図14は、等式(3)を実装するテイラー合計(Taylor Sum)計算ブロック1400を示している。係数b0、b1、b2、b3は、ルックアップ・テーブル1450から取得される。3つの乗算(1410)演算および3つの加算(1420)演算のみを用いてテイラー合計計算ブロック1400は、等式(3)を実装する。

図15は、本発明の実施形態により1つまたは複数複素数のユーザ定義の非線形関数を同時に評価する、代表的なベクトルベースのデジタル・プロセッサ1500の略ブロック図である。一般的に、図15のベクトルベースの実装は、異なる演算を同時に実行する。したがって、ベクトルベースのデジタル・プロセッサ1500は、ユーザ定義の非線形関数を評価するために複数の機能単位1510−1から1510−Nを含む。

一般的に、ベクトルベースのデジタル・プロセッサ1500は、入力xのベクトルを処理し、出力y(n)のベクトルを生成する。以下のように実装される16−wayのベクタ・プロセッサのnl命令について、代表的なベクトルベースのデジタル・プロセッサ1500が示されている。 vec_nl(x1,x2・・・x16)、x[k]の範囲は0から1

このようにして、ベクトルベースのデジタル・プロセッサ1500は、16のそのような非線形演算を実行し、単一サイクルにそれらを直線的に組み合わせることができる。たとえば、ユーザ定義の非線形関数は、以下のように表すことができる。

より一般的な場合において、異なる関数f0()、f1()・・・f15()は、ベクタ・プロセッサのベクトル・データの各コンポーネントに適用できることに注意されたい。

図15に示すように、機能単位1510は、レジスタに格納するためにメモリから、ルックアップ・テーブルまたは係数などユーザ仕様を受信する。

DPDパラメータ推定160 上記のように、アナログ/デジタル変換器(ADC)からのデジタル信号は、DPDパラメータ推定160のためにオンチップ・メモリ170に格納される。以下に説明するように、DPDパラメータ推定は、x.|y|kなど非線形の項を含む行列を計算することを含む。エンベロープ演算は、ベクタ・プロセッサを使用して加速できるタイプx*conj(x)およびベクトルsqrt()のベクトル演算を含む。行列の乗算は、ベクトルの乗算、加算、および縮小を使用することができる。畳み込み演算は、ベクトル畳み込み演算命令を使用して加速することができる。

図16は、適応可能なプリディストーションに対する第1のシステム1600の概略図である。一般的に、適応可能なプリディストーション1610は、電力増幅器1620の逆モデルを使用して達成される。プリディストーション段階1610は、図1のDPD130について上に記述した方法で実装することができる。第1に、逆増幅器モデルは、その入力を推定するために増幅器1620の出力を使用して、推定アルゴリズム1650によって識別される。適応可能なフィルタ1640は、遅延1625に続きプリディストーション段階1610の出力に等価であるべき信号

を生成する。したがって、推定アルゴリズム1650は、加算器1630によって計算された誤差を最小限にすることを目的とする。

その後、推定アルゴリズム1650によって生成される逆モデルの係数wは、増幅器1620への入力を事前に歪めるために前置補償器1610にコピーされる。

図17は、適応可能なプリディストーションのための標準形システム1700の概略図である。一般的に、適応可能なプリディストーション1710は、電力増幅器1720の逆モデルを使用して達成される。プリディストーション段階1710は、図1のDPD130について上に記述した方法で実装することができる。第1に、逆増幅器モデルは、その入力を推定するために増幅器1720の出力を使用して、適応推定アルゴリズム1750によって識別される。遅延1725に続きプリディストーション段階1710の遅延した入力に信号y(n)は等価である。したがって、適応推定アルゴリズム1750は、加算器1735によって計算された誤差を最小限にすることを目的とする。

その後、推定アルゴリズム1750によって生成された逆モデルの係数wは、増幅器1720への入力を事前に歪めるために前置補償器1710に提供される。

DFE出力は、z(n)として表すことができ、観察信号PAフィードバック受信機入力は、y(n)として表すことができる。電力増幅器1620、1720の逆モデルが望まれる。r、p、およびqのすべてに相関が必要である。 C(r,p,q)=E(|y(n−p)|ry*(n−q)・−z(n))

ここで、 hk,m,lは、電力増幅器1620、1720の逆モデルに対して望まれる係数である。

したがって、以下も計算する必要がある。 B(k,r,l,m,p,q)=E(|y(n−p)|r.|y(n−l)|ky*(n−q).y(n−m))

以下が得られる。

インデックスを再順序付け/名称変更することによって、

hは、マトリックス・インバージョンを使用して計算することができる(CPUで実行)。 h=B−1C hは、DPD係数に使用される。

数学的期待値の推定:

ベクトル畳み込み演算 図18は、本明細書に記述されたフィルタリング操作の多くで用いることができるベクトル畳み込み関数1800を示している。一般的に、ベクトル畳み込み関数1800は、Nビット複素数データ(N/2ビット実数およびN/2ビット虚数)および複素対蹠的データ(たとえば係数)の畳み込み演算を計算する。ベクトル畳み込み関数1800は、典型的にはN1+N2−1サンプルの入力ベクトルを受信し、(軸1830に沿った)入力ベクトル1810 N1および係数のN1サンプルの時間シフト版1820を処理し、時間シフト版ごとに(ゼロシフト版を含む各タイムラグ)FIR出力値1825を生成する。出力ベクトル1860は、N2出力値で構成される。

図18の代表的な実施形態では、入力ベクトル1810は、実数または複素数データのN1+N2−1サンプル(たとえば32ビット実数および32ビット虚数)、および、そこで係数で畳み込まれるN1サンプル(16ビット実数および16ビット虚数)を持つN2時間シフト版1820(ゼロシフト版を含む)を含む。係数はそれぞれ2進値でもよい(たとえば、または2ビット、4ビットなど)。

開示されたベクトル畳み込み関数(vec_conv())は、ベクトル畳み込み関数1800内のFIRフィルタを加速し、ここで係数は、たとえば2進値(2ビット、4ビットなど)である。さらに、演算は、18ビットなど、十分な数のビットを係数に使用して単一サイクルでさらに加速および実行することができる。一般的に、各時間シフトされた演算は、シフトされた入力値1820および係数のFIRフィルタリングを含む。

2ビット値を用いる代表的な畳み込み演算について、FIRフィルタ/畳み込み演算の操作は、以下のように書くことができる。

ここで hj,k∈{0,1}およびh”j,k∈{0,1}

ここで、h(k)は係数を示し、x(n−k)は時間シフトされた入力値を示す。多重段階フィルタの場合には、係数hkは、フィルタの各段階について変更することができる。

インパルス応答hを持つフィルタによる入力信号xの畳み込み演算は、以下のように書くことができる。

入力信号xの入力信号yとの相関または相互相関は、以下のように書くことができる(ここで、信号xおよび/または信号yは、パイロット信号またはCDMA2進数/バイポーダル(bipodal)コードなど既知の参照信号でもよい)。

係数の12ビット表現を用いる代表的な畳み込み演算について、FIRフィルタ出力を計算するために6回の反復がある(6×2ビット値)。

ベクタ・プロセッサの畳み込み演算命令の詳細な記述については、たとえば、ここに同時に出願され参照によって本明細書に組み込まれている、国際特許出願PCT/_「Vector Processor Having Instruction Set With Vector Convolution Function for FIR Filtering」を参照すること。

等化/IQインバランス補正140 上記のように、等化/IQインバランス補正140は、チャネル障害を緩和するために、IQ補正を実行し、RFチャネル等化を用いる。以下に記述するように、RFチャネル等化および/またはI/Qインバランス補正は、ベクトル乗算、加算、および縮小、または、畳み込み演算命令を使用して実装することができる。同様に、ベクトル乗算/加算/縮小、または相関命令を使用して実装することができる。代表的な実施例では、RFチャネル等化およびI/Qインバランス補正は、等化/IQインバランス補正140で組み合わせられる。

図19は、図1のIQ/Eqブロック140を実装するために使用できる代表的な等化/IQインバランス補正(IQIC)段階1900の略ブロック図である。図19に示すように、組み合わせたRFイコライザおよびIQインバランス補正(IQIC)段階300は、2つの並列FIRフィルタ1900−1、1900−2として以下のように実装することができる。

たとえば、各FIRフィルタ1900は、307.2MSPSのサンプリング・レートで32のタップを持つFIRフィルタとして実装することができる。2つの並列FIRフィルタ1900−1、1900−2は、複素入力および複素係数を持つことができる。図19の代表的な実施形態では、入力信号xは第1のFIRフィルタ1900−1に適用され、入力信号xの共役x*は、第2のFIRフィルタ1900−2に適用される。したがって、IQインバランス補正は、加算器1910によって組み合わせられた出力を用いて2つの複素フィルタ1900として表すことができる。

したがって、周波数依存のI/Qインバランス補正は、入力xおよびxの共役を用いる2つのFIRフィルタを使用して実行され、ここでxは、I/Qインバランス補正処理への入力である。

図18に関連して上にさらに記述するように、組み合わせたRFイコライザおよびIQインバランス補正(IQIC)段階1900は、ベクタ・プロセッサの畳み込み演算命令を使用して、ハードウェア、またはソフトウェアに実装することができる、

チャネル・フィルタ/チャネル・デジタル・ダウン・コンバージョン(DDC)ブロック180 たとえば、有限のインパルス応答(FIR)フィルタおよび無線周波数(RF)をデジタル化されたベースバンド信号に変換するデジタル・ダウン・コンバージョンを使用して、受信経路のチャネル・フィルタリングを実行するために、チャネル・フィルタ/チャネル・デジタル・ダウン・コンバージョン(DDC)ブロック180は、図1のチャネル・フィルタおよびデジタル・アップ・コンバージョン段階110と同様に実装することができる。

組み込まれたアプリケーション 本明細書に記述した多数の非線形関数および他の関数の詳細な記述については、たとえば、それぞれ参照により本明細書に組み込まれている、2008年11月28日に出願された米国特許出願第12/324,926号「Digital Signal Processor Having Instruction Set with One or More Non−Linear Complex Functions」、2008年11月28日に出願された米国特許出願第12/324,927号「Digital Signal Processor Having Instruction Set With One Or More Non−Linear Functions Using Reduced Look−Up Table」、2008年11月28日に出願された米国特許出願第12/324,934号「Digital Signal Processor With One Or More Non−Linear Functions Using Factorized Polynomial Interpolation」、2009年1月30日に出願された米国特許出願第12/362,874号「Digital Signal Processor Having Instruction Set With An Xk Function Using Reduced Look−Up Table」、2010年8月3日に出願された米国特許出願第12/849142号「System and Method for Providing Memory Bandwidth Efficient Correlation Acceleration」、および/またはLei Dingら、「Compensation of Frequency−Dependent Gain/Phase Imbalance in Predistortion Linearization Systems」、IEEE Transactions on Circuits and Systems、Vol.55,No.1、390〜97(2008年2月)を参照すること。

結論 本発明の代表的な実施形態について、デジタル論理ブロックおよびデジタル・プロセッサ内のメモリ・テーブルに関して記述してきたが、当業者には明白であろうように、ソフトウェア・プログラムの処理ステップとして、回路素子または状態機械によるハードウェアにおいて、またはソフトウェアとハードウェアの両方の組み合わせにおいて、デジタル領域に様々な機能を実装することができる。そのようなソフトウェアは、たとえば、デジタル信号プロセッサ、特定用途向け集積回路、またはマイクロコントローラに用いることができる。そのようなハードウェアおよびソフトウェアは、集積回路内に実装された回路内に統合することができる。

したがって、本発明の機能は、それらの方法を実施する方法および装置の形で統合することができる。本発明の1つまたは複数の態様は、たとえば、記憶媒体に格納された、機械にロードし、かつ/または機械によって実行されるプログラム・コードの形で統合することができ、プログラム・コードがプロセッサなど機械にロードされ機械によって実行されると、機械は、本発明を実施するための装置になる。汎用プロセッサに実装された場合、特定の論理回路と同様に動作する装置を提供するために、プログラムコード・セグメントはプロセッサと組み合わせられる。本発明は、また、集積回路、デジタル・プロセッサ、マイクロプロセッサ、およびマイクロコントローラの1つまたは複数に実装することができる。

本明細書に図示し記述した実施形態および変形形態は、単に本発明の原理を説明するためのものであり、当業者は、本発明の範囲および精神から逸脱することなく、様々な変更を実装することができることを理解されるだろう。

QQ群二维码
意见反馈