対数と指数との変換を使用するディジタル電圧増幅器
【課題】単純で、かつ低コストのディジタル電圧利得増幅器を実現する。
【解決手段】ディジタル電圧利得増幅器には、ベースバンド信号を線形領域から対数領域へ変換する対数変換装置と、変換されたベースバンド信号と利得信号とを加算して、基準化されたベースバンド信号を生成する加算器とが構成される。さらに加えて、ディジタル電圧利得増幅器には、基準化されたベースバンド信号を対数領域から線形領域へ変換する指数変換装置も構成される。
【解決手段】ディジタル電圧利得増幅器には、ベースバンド信号を線形領域から対数領域へ変換する対数変換装置と、変換されたベースバンド信号と利得信号とを加算して、基準化されたベースバンド信号を生成する加算器とが構成される。さらに加えて、ディジタル電圧利得増幅器には、基準化されたベースバンド信号を対数領域から線形領域へ変換する指数変換装置も構成される。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2001年7月16日に出願された米国仮出願第60/305,968号(“DIGITAL VOLTAGE GAIN AMPLIFIER IMPLEMENTATION IN LOGARITHMIC DOMAIN IN THE ZERO IF ARCHITECTURE”)から優先権を主張している。本出願は、本出願と同じ日に出願され、現在審査中で、同じ出願人に譲渡された米国出願第09/954,760号(Attorney Docket No.010420)(“LOGARITHMIC LOOKUP TABLES”)とも関係している。
【0002】
本発明は、一般に、無線通信システム、特に、無線通信システム内の電圧利得増幅器に関する。
【背景技術】
【0003】
無線通信において使用されている1つの一般的な技術には符号分割多重アクセス(code division multiple access, CDMA)の信号変調があり、CDMAの信号変調では多数の通信が無線周波数(radio-frequency, RF)スペクトラム上で同時に実行される。CDMA技術を取入れたいくつかの例示的な無線通信装置にはセルラ式無線電話、コンピュータ内に組込まれたPCMCIAカード、無線通信能力を備えたパーソナルディジタルアシスタント(personal digital assistant, PDA)等が含まれる。
【0004】
CDMA受信機の従来のアーキテクチャは無線周波数(radio-frequency, RF)部および中間周波数(intermediate frequency, IF)部を含んでいる。特に、通常は、受信したRF信号をRF部においてフィルターにかけ、RF信号からIF信号へ変換し、IF部内の電圧利得増幅器(voltage gain amplifier, VGA)によって、さらにフィルターにかけて基準化し、最後に、ベースバンド信号へ変換する。通常は、ベースバンド信号をアナログ対ディジタル(analog-to-digital, A/D)コンバータへ通してディジタルサンプルを生成し、ディジタルサンプルをディジタル信号プロセッサへ送って、追跡および復調を行なう。
【0005】
ゼロ中間周波数(Zero intermediate frequency, Zero IF)アーキテクチャは、CDMA無線通信装置において使用されている、より新しいアーキテクチャである。ゼロIFアーキテクチャは、他の従来のアーキテクチャとは異なり、到来するRF信号をIF信号へ最初に変換することなく、RF信号をベースバンド信号へ直接に変換する。特に、ゼロIFアーキテクチャでは、ディジタルVGAを使用し、ディジタルVGAは、A/Dコンバータによって生成されたディジタル信号を基準化(scale)する。この要領で、ゼロIFアーキテクチャでは、IFミキサー、IF VGA、およびIFフィルターを含む種々のIFの構成要素を不要にしている。
【0006】
IF部を含むヘテロダインアーキテクチャでは、自動利得制御ユニット(automatic gain control unit, AGC)によって制御されるIF−VGAは、信号を拡張または圧縮して、この信号を、A/Dコンバータの比較的に狭いダイナミックレンジに適合させる役割を果たす。A/Dコンバータは小さいビット幅(一般に、4ビット)の数値を生成し、したがって、信号処理を行なうハードウエアの残りを簡単にすることができる。しかしながら、ゼロIFアーキテクチャでは、IF−VGAがないために、A/Dコンバータは、一般に、相当により大きいダイナミックレンジを有し、このために、出力において大きいビット幅の数値が生成されるように設計されている。
【0007】
ゼロIFアーキテクチャには、IFの構成要素は必要ないが、より複雑なベースバンドの構成要素が必要である。その主な理由は、A/Dコンバータが比較的に大きいディジタル信号(通常は、18ビット)を生成するからである。したがって、ディジタルVGAはベースバンドに構成され、A/Dコンバータからの大きいビット幅の信号を基準化する。ゼロIFアーキテクチャには、比較的に広い乗算器(通常は、18ビット×18ビットの乗算器)が構成され、大きいディジタル信号を基準化する。さらに加えて、ディジタルVGAは、一般に、(しばしば、1キロバイトを越える)比較的に大きいルックアップテーブル(lookup table, LUT)を含み、AGC装置から受信した値を、デシベル(decibel, dB)の対数の単位から、線形の値へ変換して、ディジタルVGAの利得を制御する。動作において、例えば、ディジタルVGAは、A/Dコンバータから受信した線形のディジタル信号を、LUTから得た線形の利得値によって乗算する。これらの理由のために、ゼロIFアーキテクチャを取入れた無線通信装置は、IFの構成要素が省かれていても、相当なコストがかかる。
【発明の概要】
【0008】
本発明は、一般に、対数領域内で動作するディジタル電圧利得増幅器(digital voltage gain amplifier, ディジタルVGA)に関する。とくに、ディジタルVGAは、ディジタル入力値を対数の利得値にしたがって基準化する。とりわけ、対数領域の特性を利用して、従来のVGAの複雑な乗算器を、単純で、かつ比較的にコスト安の加算器に代えている。追加の技術を開示して、ディジタルVGA内に構成される1つ以上のLUTのサイズを相当に低減する。この要領で、本発明は、ディジタルVGAの相当により単純で、かつより低コストの設計を実現することができる。
【0009】
ディジタルVGAは、ゼロIFアーキテクチャを取入れたCDMA無線通信装置内で特に有益であるが、これに制限される訳ではない。本発明では、比較的に大きいディジタル信号を処理するやり方を相当に単純にして、無線通信装置の複雑さ、メモリ空間、およびコストを低減することができる。他のCDMA以外のゼロIFアーキテクチャに対しても、本発明は効果的である。
【0010】
1つの実施形態では、本発明は、ディジタル電圧利得増幅器を含む。増幅器には、ベースバンド信号を線形領域から対数領域へ変換する対数変換装置と、変換されたベースバンド信号と利得信号とを加算して、基準化されたベースバンド信号を生成する加算器とが構成される。さらに加えて、増幅器には、基準化されたベースバンド信号を対数領域から線形領域へ変換する指数変換装置も構成される。
【0011】
別の実施形態では、本発明は、無線通信装置を含む。例えば、無線通信装置には、RF信号を受信するアンテナと、RF信号からベースバンド信号を生成するRFミキサーとが構成されている。さらに加えて、無線通信装置には、ベースバンド信号を基準化するための上述の電圧利得増幅器が構成されている。無線通信装置には、ディジタル信号プロセッサも構成され、線形領域内の基準化されたベースバンド信号の少なくとも一部分を処理する。
【0012】
さらに別の実施形態では、本発明は、1つ以上の方法を含む。例えば、方法には、ベースバンド信号を線形領域から対数領域へ変換し、変換されたベースバンド信号を利得へ加えて、基準化されたベースバンド信号を生成することが含まれる。方法には、基準化されたベースバンド信号を対数領域から線形領域へ変換することも含まれる。変換では、ルックアップテーブルを使用する。ルックアップテーブルのサイズを低減して、メモリ要件を緩和するための追加の技術を使用することができる。
【0013】
さらに別の実施形態では、本発明は、ディジタルVGA内で乗算器の使用を避けることができる。例えば、最初に、乗算されることになる2つの入力を対数領域へ変換することによって、乗算機能の後で、オプションの打ち切り(truncation)を行なうことができる。入力信号を、対数領域において加算または減算して、その後で、ちょうど十分なビットを使用して、線形領域へ再び変換し、元の打ち切り処理をまねることができる。
【0014】
本発明は、多数の特長を有する。例えば、本発明は、ゼロIFアーキテクチャにおいて使用するためのディジタルVGAの、より単純で、かつより低コストの設計を提供することができる。特に、本発明は、複雑でかつ比較的にコスト高の乗算器を、相当により単純で、かつコスト安の加算器に代えることができ、このような乗算器の必要をなくすことができる。さらに加えて、本発明の乗算器は、対数領域において動作するので、利得値を線形領域へ変換する必要を単純にするか、または全体的に避けることができる。1つの実施形態では、例えば、ディジタルVGAは、デシベルの単位の対数利得値を使用して、対数領域内のディジタル入力値を基準化する。この場合には、利得値を、条件付けまたは変換せずに、加算器へ供給することができる。
【0015】
本発明は、ディジタルVGA内に構成されている1つ以上のLUTのサイズを低減するための技術を使用することによって、ディジタルVGAにおけるメモリ要件を相当に緩和することもできる。とくに、指数変換装置は、対数領域においてベースバンド信号を飽和させ、その後でベースバンド信号を線形領域へ再び変換する。ルックアップの前に飽和させることにより、LUTにおける個々のエントリのサイズ(すなわち、幅)を低減して、LUTに必要なメモリ量を低減することができる。さらに加えて、対数変換装置は、別途詳しく記載するように、浮動小数点数の指数および仮数に対して、異なるLUTを使用して、メモリの要件を相当に緩和することができる。とくに、仮数値の一部分のみを仮数LUTに記憶して、必要なときに、追加の値を生成して、見積もる。
【0016】
これらの、および他の実施形態の追加の詳細は、添付の図面および以下の記述に示されている。他の特徴、目的、および長所は、以下の記述および図面と、特許請求項とから、より明らかになるであろう。
【図面の簡単な説明】
【0017】
【図1】本発明にしたがう無線通信装置を示すブロック図。
【図2】本発明の実施形態にしたがうフローチャート。
【図3】本発明のディジタルVGAの実施形態を示すブロック図。
【図4】ディジタルVGAの1つの実施形態をより詳しく示すブロック図。
【図5a】本発明にしたがう指数変換装置の例示的な実施形態を示す図。
【図5b】本発明にしたがう指数変換装置の例示的な実施形態を示す図。
【図5c】本発明にしたがう指数変換装置の例示的な実施形態を示す図。
【図6】対数変換装置の1つの構成をより詳しく示すブロック図。
【図7】図6に示されている対数変換装置の実施形態の背景の概念をさらに示す一連の2つのグラフを示す図(aおよびb)。
【図8】本発明にしたがうフローチャート。
【図9】本発明にしたがうフローチャート。
【発明の詳細な説明】
【0018】
図1は、本発明にしたがう例示的な無線通信装置(wireless communication device, WCD)100のブロック図である。本発明の種々の実施形態は、図1に示されているゼロIFアーキテクチャを構成している無線通信装置の受信機に関して記載されているが、これに制限されない。この場合に、WCD100は、到来するRF信号をベースバンド信号へ直接に変換し、特に、RF信号をIF信号へ最初に変換しない。
【0019】
WCD100には、アンテナ104が構成されていて、アンテナ104は、到来するRF信号を受信する。例えば、到来するRF信号には、符号分割多重アクセス(code division multiple access, CDMA)基地局から送られたCDMA変調信号が含まれる。アンテナ104によって受信されたRF信号は、低雑音増幅器(low noise amplifier, LNA)108を通り、その後で、RFミキサー112によってベースバンドへ下げられる。例えば、RFミキサー112は、周波数合成器116によって生成された搬送波の波形を受信する。周波数合成器116は、WCD100のローカルクロックを時間基準として使用する。ローカルクロックには、例えば、電圧制御温度補償水晶発振器(voltage controlled temperature compensated crystal oscillator, VCTCXO)のような、電圧制御発振器120が含まれる。WCD100には、希望であれば、追加の構成要素(図示されていない)が構成されていてもよい。
【0020】
RFミキサー112はベースバンド信号113を生成し、ベースバンド信号113は、例えばフィルター124によってフィルターにかけられ、アナログ対ディジタル(analogue to digital, A/D)コンバータ128によってサンプリングされ、対応するディジタル値の信号、例えば、ディジタルベースバンド信号129が生成される。ディジタルVGA132は、自動利得制御装置(automatic gain control unit, AGC)134から受信した対数の利得値135にしたがって、ディジタル値を増幅または減衰することによって、ディジタルベースバンド信号129を基準化する。
【0021】
ディジタルVGA132による基準化後に、基準化されたディジタルベースバンド信号はレーキ受信機136へ供給され、レーキ受信機136では、異なる源、例えば、異なる基地局から受信した信号を分離および追跡する。例えば、レーキ受信機136には、多数の“フィンガー”が構成されていて、フィンガーは、逆拡散、ウオルシュデカバリングおよび累算、並びにパイロットの時間および周波数の追跡を行なう。各フィンガーは、対応する経路のパイロットおよびデータシンボルを、ディジタル信号プロセッサ(digital signal processor, DSP)140へ出力する。その後で、DSP140は、シンボル復調、または他の信号処理、あるいはこの両者を行なう。
【0022】
既に記載したように、ゼロIFアーキテクチャには、IF構成要素は必要ないが、一般に、より複雑なベースバンド構成要素を組込むための従来の装置が必要である。しかしながら、比較的に広い乗算器が構成されている従来のディジタルVGAとは異なり、ディジタルVGA132は対数領域で動作する。特に、ディジタルVGA132は、AGC134から受信した対数の利得値135にしたがって、対数領域内でディジタルベースバンド信号129を基準化する。この要領で、ディジタルVGA132には、複雑で、かつコスト高の乗算器は組込まれず、より単純で、かつ比較的に低コストの加算器が使用される。さらに加えて、ディジタルVGA132は対数領域で動作するので、AGC134から受信した利得値135を線形値へ変換することなく使用し、したがってこの目的のために使用される従来のルックアップテーブル(lookup table, LUT)は必要ない。
【0023】
さらに詳しく別途記載するように、ディジタルVGA132は、対数変換装置(図1には示されていない)を使用して、ディジタルベースバンド信号129を線形領域から対数領域へ変換し、指数変換装置(図示されていない)を使用して、基準化されたベースバンド信号を対数領域から線形領域へ再び変換する。指数変換装置および対数変換装置は、ルックアップテーブルを使用する。しかしながら、ルックアップテーブルのサイズを低減して、メモリの要件を緩和するために、別途記載される追加の技術を使用してもよい。別の実施形態では、指数変換装置および対数変換装置は、アルゴリズムを、恐らくはより小さいサイズのルックアップテーブルと組合せて使用して、適切な変換値を動的に生成する。
【0024】
図2は、ディジタルVGA132(図1参照)が対数領域においてベースバンド信号を基準化する高レベルの処理を説明するフローチャートである。示されているように、ディジタルVGA132では、線形のベースバンド信号を線形領域から対数領域へ変換する(202)。別途詳しく記載されるように、ディジタルVGA132には、対数変換装置が組込まれ、対数変換装置は、ルックアップテーブルを使用して、変換を行なう。対数領域では、望ましい分解能へ基準化されたデシベルの単位を使用し、したがって利得値の変換を避けることができる。例えば、2/15デシベルの分解能(利得の規定分解能に対応する)をWCDにおいて使用してもよい。
【0025】
ディジタルVGA132は、対数領域のベースバンド信号と、AGC134から受信した利得値とを加算して、対数領域の基準化されたベースバンド信号を生成する(204)。基準化されたベースバンド信号は、例えば、利得値に依存して増幅または減衰される。ディジタルVGA132は、基準化されたベースバンド信号を、対数領域から線形領域へ再び変換する(206)。ディジタルVGA132は、指数変換装置が組込まれ、指数変換装置は、ルックアップテーブルを使用して、変換を行なう。その後で、基準化された線形のベースバンド信号は、例えば、レーキ受信機136およびディジタル信号プロセッサ140によって処理される(208)。
【0026】
図3は、対数領域内で動作するディジタルVGA132の例示的な実施形態を示すブロック図である。示されているように、ディジタルVGA132には、対数変換装置302が構成されていて、対数変換装置302は、例えば、線形のディジタル値を、望ましい分解能のデシベル単位の対数値305へ変換することによって、到来する線形のベースバンド信号129を対数領域へ変換する。1つの実施形態では、対数変換装置302には対数LUTが構成されていて、対数LUTは、線形ベースバンド信号の許容値を対数値へマップする。しかしながら、このようなLUTには、相当なメモリ空間が必要である。このために、対数LUTのサイズを低減し、それによってメモリ空間の要件を緩和するための種々の追加の技術が記載される。
【0027】
ディジタルVGA132には、従来の乗算器ではなく、加算器306が構成されている。特に、ディジタルVGA132では、対数領域を使用して、乗算関数を加算に代えている。言い換えると、ディジタルVGA132は、Log(X*Y)=Log(X)+Log(Y)である事実を使用して、乗算器を加算器306へ効果的に代えている。しかしながら、WCD100では、線形領域の増幅されたベースバンド信号をさらに処理する。したがって、ディジタルVGA132には、指数変換装置310も構成され、指数変換装置310は、ベースバンド信号を基準化してから、線形領域へ再び変換する。
【0028】
ディジタルVGA132の利得は、AGC134からのフィードバックによって制御することができる。とくに、AGC134は、対数領域の利得値135を、例えば、望ましい分解能を有するデシベルの単位で出力する。この要領で、ディジタルVGA132は、利得値135を、加算器306による供給前に、変換する必要はない。むしろ、ディジタルVGA132では、このために、対数領域で利得値135を線形のベースバンド信号129へ単に加算することによって、線形のベースバンド信号129を増幅または低減する。
【0029】
指数変換装置310では、基準化されたベースバンド信号を対数領域から線形領域へ変換する。例えば、線形変換装置310は、より詳しく別途記載されるように、1つ以上のLUTを使用する。さらに加えて、1つ以上の指数LUTのサイズを相当に低減して、メモリ要件を緩和するための、別途記載される技術を使用してもよい。
【0030】
1つの特定の場合において、ディジタルVGA132は、望ましい分解能に基準化されるデシベルの単位の対数領域において動作する。既に記載したように、この場合には、AGC134によって生成された利得値を変換せずに使用できるので、デシベルの単位を有する対数領域で動作することは、特に有益である。しかしながら、別の実施形態では、本発明は、他の対数領域または非線形領域で動作する。さらに別の実施形態では、対数変換装置302および指数変換装置310は、種々のLUTに加えて、またはそれらの代わりに、アルゴリズムを実行する。
【0031】
図4は、より詳しく示したディジタルVGA132についての1つの実施形態のブロック図である。特に、対数変換装置302には、対数ルックアップテーブル(logarithmic lookup table, LOG LUT)402が構成されていることが示されている。さらに加えて、対数変換装置302には、到来する符号付きベースバンド信号を、(ABS 406で示されているABSである)無符号の絶対値と(SIGN BIT 410で示されている)符号ビットとへ分けるハードウエアが構成されている。言い換えると、対数変換装置302内でベースバンド信号から符号ビットを取り出して、伝搬し、指数変換装置310に再び挿入することができる。負の数の対数は、不定である。したがって、ベースバンド信号から符号ビットを取り出すことにより、ディジタルVGA内のハードウエアが、対数領域内の負の数を処理することを試みるといったシナリオを避ける。むしろ、符号ビットが取り出されると、ディジタル132内の特定のハードウエアは、対数領域内の正の数のみを処理する。
【0032】
1つの特定の例では、A/Dコンバータ128(図1参照)は、ディジタルベースバンド信号129を18ビットの二値数として生成し、この18ビットの二値数には、1個の符号ビット、7個の整数ビット、および10個の十進数ビットが含まれている。符号ビットは、ベースバンド信号から分けられ、7個の整数ビットおよび10個の十進数ビットから成る残りの17ビットの二値数は、LOG LUT402へ供給される。ルックアップの結果として、17ビットの二値は、9ビットの符号付きの数値へ変換され、9ビットの符号付きの数値は、加算器306へ供給される。加算器306は、AGC134から9ビットの符号付きの数値を受取る。9ビットの符号付きの数値は、デシベルの単位の利得値を、望ましい分解能で表現している。特に、利得値は、既に対数領域であり、加算器306へ入力する前に調節する必要はない。加算器306は、各入力を加算して、10ビットの結果を生成し、10ビットの結果は、指数変換装置310へ供給される。1つの例では、比較的に単純で、かつ低コストの9ビットの加算器が使用される。
【0033】
指数変換装置310は、飽和装置(saturation unit, SAT UNIT)424と、少なくとも1つの指数LUT428とを含んでいる。飽和装置を使用して、対数領域のベースバンド信号を飽和させることができる。例えば、上述の例に続いて、10ビットの符号付きの結果を指数変換装置310へ供給して、飽和装置424によって7ビットへ飽和させ、128個の可能な値によって表現されるダイナミックレンジをまたぐことができる。飽和装置424の出力は、(参照符号410で示されているような)符号ビットと共に、指数LUT(exponential unit, EXP UNIT)428へ供給され、4ビットの符号付きの結果を生成する。4ビットの符号付きの結果は、線形領域の基準化されたベースバンド信号を表現している。指数LUT428においてルックアップの前に飽和させ、指数LUT428における個々のエントリの要求のサイズを低減することによって、メモリ空間を節約することができる。さらに加えて、打ち切り処理を、指数LUT428へ取入れることができる。言い換えると、従来の打ち切り処理は、従来の乗算器形のVGAの後に必要であったが、単に指数LUT428の出力の適切なビット幅を定めることによって、本発明にしたがう指数LUT428内へ取入れることができる。
【0034】
図5aないし5cは、本発明にしたがう指数変換装置の3つの異なる例示的な実施形態を示している。図4に示されている飽和装置424は、図5aないし5cには示されていないが、ルックアップの前に飽和させ、指数変換装置内の1つ以上のLUTのサイズを低減するために、これを構成してもよい。さらに加えて、指数変換装置内の1つ以上のLUT内のエントリは、ディジタル入力信号を効果的に打ち切る出力ビット幅を有する。
【0035】
図5aに示されている指数変換装置502には、正の値および負の値のための別々のLUTが構成されている。特に、指数変換装置502には、128個の可能な正の3ビットの値を記憶するEXP LUT(pos)506と、128個の可能な負の4ビットの値を記憶するEXP LUT (neg)510とが構成されている。(参照符号410で示されている)符号ビットを使用して、入力信号514を供給し、乗算器518は入力信号514を使用して、適切なLUTからの出力を選択する。したがって、符号ビットが負の数を識別するときは、乗算器518は、EXP LUT (neg)510からの出力を選択する。信号ビットが正の数を識別するときは、乗算器518は、EXP LUT (pos)506からの出力を選択する。
【0036】
図5bは、指数変換装置のさらに別の構成を示している。とくに、指数変換装置540は、図5bに示されているように、単一のEXP LUT (pos)544を使用し、EXP LUT (neg)を加算器548に代え、加算器548を使用して、EXP LUT (pos)544から読み出される正の値から、補数の負の値を生成する。例えば、正の値XがEXP LUT (pos)に記憶されているとき、補数の負の値は、適切な補数式(一例として(−X−1))によって生成される。しかしながら、別の場合において、負の値および正の値が、Y軸について完全に対称であるときは、−X+1、等の2の補数式を使用して、正の値から負の値を生成してもよい。
【0037】
図5bに示されているように、指数変換装置540は、メモリ要件をさらに緩和することによって、特長をもつことができる。特に、指数変換装置540は、単一の128ビット×3ビットのLUT、および加算器548を使用する。他方で、図5aに示されている指数変換装置502には、より大きいメモリ空間が必要であるが、追加の加算器は不要である。図5aおよび5bの実施形態の各々は、長所および欠点を有するが、それらについては、所与の実行のための最良の構成を判断するときに検討する。
【0038】
図5cは、指数変換装置のさらに別の構成を示している。図5bの実施形態と同様に、図5cに示されている指数変換装置560は、単一のEXP LUT(pos)544を使用している。しかしながら、指数変換装置560は、EXP LUT(pos)544から選択したビットを反転して、符号ビットを加えることによって、負の値を生成する。1の補数装置568を使用して、反転を行ない、乗算器518が望ましい出力を選択した後で、追加装置574を使用して、符号ビットを加えることができる。図5cの実施形態では、図5aに示されているようなEXP LUT (neg)は不要であり、図5bに示されているような加算器も不要である。
【0039】
図6は、対数変換装置302の1つの構成を、より詳しく示したブロック図である。既に記載したように、対数変換装置302を使用して、信号、例えば、到来する線形ベースバンド信号129のディジタル値を対数領域へ変換する。対数変換装置302は、線形のベースバンド信号の許容値を対数領域へマップする単一のLUTを構成することによって実現できるが、図6に示されている代わりの構成では、メモリ要件を相当に緩和することができる。
【0040】
特に、図6に示されているように、対数変換装置302には、浮動小数点数を操作するための種々のハードウエアが含まれている。例えば、Nビットの正の二値数X(p)は、X(p)=m*2Eとして表わすことができる。なお、Eは、指数と呼ばれ、1へ設定されるX(p)の最上位のビットの位置を表わし、mは、仮数と呼ばれ、残りのE−1の最下位ビットを表現している。
【0041】
デシベルの単位を有する対数領域において、上述の浮動小数点の式は、次のように表わすことができる。
【0042】
20.log(X(p)/210).RdB=20.log(2E/210).RdB+20.log(m).RdB
なお、RdBは、望ましいデシベル分解能の逆数である。デシベル単位の対数領域の浮動小数点の式は、次のように表わすことができる。
【0043】
X=XE+Xm
なお、XEは、指数のデシベル値であり、Xmは、仮数のデシベル値である。
【0044】
この特定の領域では、XEは、N=17エントリ(各エントリを9ビットの幅とする)のテーブルとして記憶することができる。さらに加えて、Xmを、Nセグメントとして考える。しかしながら、セグメントの1つのみをテーブルとして記憶する必要があり、全てのセグメントの値は、記憶されたセグメントのエントリから求めることができる。例えば、m番目のセグメントには、2m−1の要素が含まれており、要素の各々は、(m+n)番目のセグメントの入力アドレスをnビット分、左シフトすることによって、(m+n)番目のセグメントの要素から求めることができる。さらに加えて、最近傍の補間を行なって、m番目のセグメントの要素から、(m+n)番目のセグメントの要素を求めることができる。特に、m番目のセグメントの要素から(m+n)番目のセグメントの要素を補間するために、m番目のセグメントの入力アドレスを、nビット分丸めて、(m+n)番目のセグメントの入力アドレスとして使用することができる。
【0045】
再び図6を参照すると、対数変換装置302には、指数抽出装置602と仮数抽出装置606とが含まれている。指数LUT612を使用して、指数の対数値を生成することができる。さらに加えて、仮数LUT616を使用して、仮数の対数値を生成することができる。その後で、加算器620によってこれらの値を組合せて、恐らくは、打ち切り装置624によって打ち切ることができる。
【0046】
1つの実施形態では、仮数LUT616では、種々の仮数セグメントの全ての可能な値をマップする。しかしながら、仮数LUT616のサイズを低減して、それによってメモリ要件を緩和するために、アドレス操作論理624を構成して、仮数の1つのセグメントの値を、仮数の異なるセグメントから生成できるようにする。この要領で、仮数の1つのみのセグメントを仮数LUT616に記憶する。
【0047】
アドレス操作論理624は、次のように動作する。仮数LUT616には、2Uのエントリが含まれると仮定すると、
E>Uであるときは、入力アドレレスM’=(M/2(E−U))の丸めにし、
E≦Uであるときは、M’=<<(U−E)にする。
【0048】
言い換えると、E>Uであるときは、M’は補間され、記憶された仮数LUT616内の最近傍の入力アドレスとして定められ、E≦Uであるときは、M’は、入力アドレスを(U−E)ビット分、左シフトすることによって求められる。その後で、M’は、記憶されたセグメントへ供給され、対数領域の適切な変換値を求めることができる。
【0049】
図7aおよび7bは、一連の2つのグラフであり、図6に示されている対数変換装置302の実施形態の背後の概念を示している。ここでも、デシベル単位の対数領域の浮動小数点の式を、X=XE+Xmとして表わすことができる。なお、XEは、指数のデシベル値であり、Xmは仮数のデシベル値である。図7aでは、線形入力の関数としてのXのデシベル値のグラフを、同じ入力におけるXEのデシベル値のグラフと比較している。図7aに示されているように、XEの値は、種々の異なる入力においてXの値から僅かにずれている。
【0050】
図7bは、Xmのデシベル値のグラフである。Xmは、種々の異なる入力におけるXとXEとの較差として考えることができる。したがって、図6に示されているように、Xは指数LUT612と仮数LUT616とから生成することができる。特に、指数LUT612を使用して、指数の対数値を生成し、仮数LUT616を使用して、仮数の対数値を生成する。しかしながら、メモリ空間を節約するために、仮数LUT616は、図7aに示されているスパイク(すなわち、セグメント)の1つのエントリのみを記憶することが必要である。その後で、既に記載したように、アドレス操作倫理624を使用して、他のスパイクの値を生成することができる。
【0051】
仮数LUT616内に記憶されているセグメント(または、図7bに示されているスパイク)を、要求される精度のレベルに依存して選択することができる。例えば、最後のセグメント(この場合は、17番目のセグメント)を記憶することによって、全対数仮数テーブルを、完全な形で求めることができる。しかしながら、これは、217−1=65,536のエントリを含むLUTになる。とりわけ、対数関数は、大きい入力において平坦化する傾向があるので、無線通信装置の性能をあまり損うことなく、相当により小さいセグメントを選択することができる。とくに、7番目のセグメントを記憶する実験により、全ての入力に対する許容可能な見積もりを求めることが示されている。これには、27−1=64のエントリを含む仮数LUTが必要である。
【0052】
仮数テーブル内に含めるための比較的に小さい数のセグメントを選択することにより、対数関数におけるサンプリングは効果的に非一様になる。より小さい入力、例えば、より小さいセグメントにおいて、対数関数が比較的に迅速に変化する場合に、より小さい数のセグメントの全ての値を、より大きい数のセグメントから生成することができる。しかしながら、より大きい入力において、対数関数が相当により緩慢に変化する場合に、値は記憶されているセグメントから補間される。これは、対数関数の非一様なサンプリングの一種と考えられ、より小さい入力では、より多くのデータ点が保持されるが、より大きい入力では、より少ないデータ点が保持される。実験により、このような非一様のサンプリングは、WCDにおいて性能をあまり劣化しないことが示されている。
【0053】
量子化雑音のような不測の変数を明らかにするために、指数LUT612と仮数LUT616との両者の分解能を、Kビット分増加して、データが正しく、破損していないことを保証するのを助ける。浮動小数点の対数関数が、有限のビット幅のディジタル表示の数値によって表現されるときは、必ず、量子化雑音を取入れる。実験により、指数LUT612および仮数LUT616の分解能を、K=3ビット分増加すると、WCDにおける量子化雑音を補償するのに十分であることが示されている。
【0054】
図8は、1つ以上のLUTが構成されているとき、メモリ要件を緩和するのに使用できるプロセスを示すフローチャートである。図8に示されているプロセスは、WCDにおいて使用されるとき、特に効果的であるが、WCDに制限されない。例えば、図8のプロセスを、ルックアップテーブルを構成しているコンピュータ装置において使用してもよい。
【0055】
示されているように、数値を第1の領域において指数成分と仮数成分とへ分ける(802)。例えば、第1の領域は、線形領域であり、数値は、信号のディジタル値を表現する二値の浮動小数点数である。この場合に、指数成分は、単に、1に設定された最上位ビットを識別して、記憶することによって、その数値から抽出することができる。同様に、仮数成分は、単に、残りの最下位ビットを記憶することによって、数値から抽出することができる。
【0056】
指数成分は、第1の領域から、非線形領域のような第2の領域へ変換することができる(804)。これとは別に、仮数成分を第1の領域から第2の領域へ変換することができる(806)。1つの特定の場合に、第2の領域は、望ましい分解能のデシベル単位の対数領域である。第2の領域へ変換されると(804および806)、指数成分と仮数成分とを組合せることができる(808)。例えば、加算器は、単に指数成分と仮数成分とを加算することによって組合せを容易にするように実行することができる。要望に応じて、組合せたものを打ち切るか、または丸めることができる。
【0057】
第1のLUT、例えば、指数LUTを使用して、指数成分を変換することができる。同様に、第2のLUT、例えば、仮数LUTを使用して、仮数成分を変換することができる。その代りに、アルゴリズムを使用して、またはアルゴリズムとLUTとを組合せて使用して、変換の一方または両方を実現してもよい。
【0058】
指数LUTは、比較的に小さく、指数の可能なビット位置に対応するエントリを有する。例えば、数値が、17ビットの数値であるときは、指数LUTは17エントリのみを有する。他方で、仮数LUTは、相当により大きい数値のエントリを含む。例えば、数値が17ビットの数値であるときは、仮数LUTは、非常に数多くのエントリを含む。このために、仮数LUTのサイズをさらに低減して、メモリ空間を節約するための追加の技術を使用することができる。
【0059】
図9は、仮数LUTのサイズを相当に低減するのに使用できるプロセスを示すフローチャートである。示されているように、仮数値の合計数のサブセットのみを仮数テーブルに記憶する(902)。その後で、サブセット内に含まれていない値を、サブセットから求めることができる(904)。この要領で、仮数LUTを構成するためのメモリ要件を緩和することができる。
【0060】
再び図7bを参照すると、仮数値のサブセットは、図7bに示されているスパイクの1つに対応する。入力をシフトして、かつシフトされた入力に基づいて、サブセット内のエントリを選択することによってか、または入力を補間して、かつ補間された入力に基づいて、サブセット内のエントリを選択することによって、他の全スパイクの値を生成することができる。より小さい数値の仮数セグメント(すなわち、図7bにおいて記憶されたセグメントの左側に位置するセグメント)の値が必要であるときは、シフティング処理を使用することができる。より大きい数値の仮数セグメント(すなわち、図7bにおいて、記憶されているセグメントの右側に位置するセグメント)の値が必要であるときは、補間処理を使用することができる。この要領で、必要に応じて、テーブル内に記憶されている仮数エントリの相当により小さいサブセットから、可能な仮数値の合計数を生成して、メモリ空間を節約することができる。
【0061】
特に、より大きい数値の仮数セグメントの値が必要であるときは、その値の入力アドレスを補間して、記憶されている仮数セグメントにおける最近傍入力アドレスとして規定する。より小さい数値の仮数セグメントの値が必要であるときは、記憶されているセグメント数と望ましい値のセグメント数との差に対応するビット数分、その値の入力アドレスを左シフトする。その後で、補間されたアドレスか、またはシフトされたアドレスを、記憶されているセグメントへ供給して、適切な変換値を求めることができる。
【0062】
既に記載したように、仮数LUT内に記憶されている特定のサブセットを、要求される精度レベルに依存して選択することができる。とりわけ、対数関数は大きい入力において平坦化される傾向があるので、無線通信装置の性能をあまり損うことなく、小さいセグメントを使用することができる。とくに、実験により、7番目のセグメントを記憶することによって、全ての入力に対する許容可能な見積もりが求められることが示された。したがって、27−1=64のエントリのみを有する仮数LUTが必要である。
【0063】
さらに別の実施形態では、若干より大きい仮数LUTであって、対数または対数様関数の非一様のサンプリングを含むエントリが構成されている仮数LUTを使用することができる。例えば、上述の技術を使用して、エントリを予め計算してもよい。言い換えると、仮数のセグメントを選択し、より小さいセグメント内の値の全てを予め計算して、LUT内に含めてもよい。しかしながら、より大きいセグメントでは、上述の補間技術にしたがって、エントリを予め計算してもよい。この要領で、LUT内に記憶されている各セグメントは、選択されたセグメント以下のエントリを含み、したがって必要メモリ空間量が制限される。仮数LUTは、1つのみのセグメントを記憶しているLUTよりも大きいが、アドレス操作論理は必要ない。特定の構成を設計するとき、必要な追加のメモリ空間を、アドレス操作論理を含めることに対して重み付けをして、最良の、すなわち最も効率的な構成を判断することができる。
【0064】
上述の種々のLUTをメモリ内に記憶して、必要に応じてアクセスしてもよい。いくつかの場合において、上述の方法を、プログラムコードのようなソフトウエアにおいて実行してもよい。例えば、プログラムコードをメモリへロードし、その後でプロセッサにおいて実行することができる。プログラムコードは、最初に、ハードドライブまたは磁気、光、磁気−光、位相変化、あるいは他のディスクまたはテープ媒体のような、コンピュータ読み出し可能媒体上に保持することができる。その代りに、プログラムコードを、EEPROMのような電子コンピュータ読み出し媒体からメモリへロードするか、またはネットワーク接続上でダウンロードしてもよい。プログラムコードは、ダウンロードされると、最初に、搬送波内に埋め込まれるか、または、さもなければ、電磁信号上で伝送される。プログラムコードは、広範囲の機能を供給するアプリケーションプログラムにおける特徴として実現される。
【0065】
本発明をプログラムコードにおいて実行するとき、プログラムコードを実行するプロセッサは、マイクロプロセッサの形態をとり、かつPC、マッキントッシュ(登録商標)、コンピュータワークステーション、ハンドヘルドデータ端末、パームコンピュータ、WCD、無線基地局、ネットワークルータ、等の一部と一体構成にされるか、それらを形成することができる。メモリには、ランダムアクセスメモリ(random access memory, RAM)が含まれ、RAMはプログラムコードを記憶しており、プロセッサは、プログラムコードにアクセスして、それを実行して、上述の種々の方法を行なう。
【0066】
本発明の種々の実施形態を記載した。例えば、WCDにおいて使用するために、ディジタルVGAを記載した。特に、ディジタルVGAは、対数領域内で動作し、従来の乗算器および従来の指数ルックアップテーブル(そのサイズは、100バイトより大きい)を、加算器、呼び寸法(nominal size)(すなわち、全空間のほぼ200バイト)の対数LUT、および呼び寸法(すなわち、ほぼ128バイト)のより小さい指数テーブルに代える。それにも拘わらず、本発明の意図および技術的範囲から逸脱しないならば、種々の変更を行なってもよい。例えば、ルックアップテーブルを構成するのではなく、対数領域から線形領域へ、またはその逆に、あるいはこの両者で動的に変換するアルゴリズムを使用して、本発明を実現することができる。さらに加えて、他の対数領域において、本発明を実行してもよい。また、本発明にしたがうディジタルVGAを、他の装置(例えば、無線通信ネットワーク内の基地局を含む)において使用してもよい。例えば、乗算器の後に、何らかの打ち切りを実行する装置において、本発明は効果的である。
【0067】
さらに加えて、本発明の態様を、ディジタルVGA以外のアプリケーションにおいて使用してもよい。例えば、乗算処理の後に、打ち切り処理を行なう装置において、本発明の態様を使用して、従来の乗算器を加算器に代えてもよい。1つの場合に、本発明は、乗算器ではなく、加算器を使用して、2つのベースバンド信号を乗算するように実行することができる。概して、本発明では、線形のディジタル値を対数領域へ変換して、対数領域のディジタル値を加算して、その後で、加算された値を線形領域へ再び変換することによって、乗算および打ち切りを行なうことができる。さらに加えて、打ち切り処理をルックアップテーブルへ取入れて、それを使用して、単に、出力されたビット幅を選択して、かつ信号を効果的に打ち切ることによって、線形領域へ再び変換することができる。
【0068】
LUTのサイズを低減して、メモリ要件を緩和するための種々の技術も記載されている。特に、これらの技術の多くは、WCDに関連付けて記載されている。しかしながら、本発明は、この点に制限されない。例えば、1つ以上のLUTのサイズを低減するのに使用される技術を、他のコンピュータ装置において使用して、メモリ空間を節約してもよい。したがって、これらの、および他の実施形態は、特許請求項の技術的範囲に含まれる。
【技術分野】
【0001】
本出願は、2001年7月16日に出願された米国仮出願第60/305,968号(“DIGITAL VOLTAGE GAIN AMPLIFIER IMPLEMENTATION IN LOGARITHMIC DOMAIN IN THE ZERO IF ARCHITECTURE”)から優先権を主張している。本出願は、本出願と同じ日に出願され、現在審査中で、同じ出願人に譲渡された米国出願第09/954,760号(Attorney Docket No.010420)(“LOGARITHMIC LOOKUP TABLES”)とも関係している。
【0002】
本発明は、一般に、無線通信システム、特に、無線通信システム内の電圧利得増幅器に関する。
【背景技術】
【0003】
無線通信において使用されている1つの一般的な技術には符号分割多重アクセス(code division multiple access, CDMA)の信号変調があり、CDMAの信号変調では多数の通信が無線周波数(radio-frequency, RF)スペクトラム上で同時に実行される。CDMA技術を取入れたいくつかの例示的な無線通信装置にはセルラ式無線電話、コンピュータ内に組込まれたPCMCIAカード、無線通信能力を備えたパーソナルディジタルアシスタント(personal digital assistant, PDA)等が含まれる。
【0004】
CDMA受信機の従来のアーキテクチャは無線周波数(radio-frequency, RF)部および中間周波数(intermediate frequency, IF)部を含んでいる。特に、通常は、受信したRF信号をRF部においてフィルターにかけ、RF信号からIF信号へ変換し、IF部内の電圧利得増幅器(voltage gain amplifier, VGA)によって、さらにフィルターにかけて基準化し、最後に、ベースバンド信号へ変換する。通常は、ベースバンド信号をアナログ対ディジタル(analog-to-digital, A/D)コンバータへ通してディジタルサンプルを生成し、ディジタルサンプルをディジタル信号プロセッサへ送って、追跡および復調を行なう。
【0005】
ゼロ中間周波数(Zero intermediate frequency, Zero IF)アーキテクチャは、CDMA無線通信装置において使用されている、より新しいアーキテクチャである。ゼロIFアーキテクチャは、他の従来のアーキテクチャとは異なり、到来するRF信号をIF信号へ最初に変換することなく、RF信号をベースバンド信号へ直接に変換する。特に、ゼロIFアーキテクチャでは、ディジタルVGAを使用し、ディジタルVGAは、A/Dコンバータによって生成されたディジタル信号を基準化(scale)する。この要領で、ゼロIFアーキテクチャでは、IFミキサー、IF VGA、およびIFフィルターを含む種々のIFの構成要素を不要にしている。
【0006】
IF部を含むヘテロダインアーキテクチャでは、自動利得制御ユニット(automatic gain control unit, AGC)によって制御されるIF−VGAは、信号を拡張または圧縮して、この信号を、A/Dコンバータの比較的に狭いダイナミックレンジに適合させる役割を果たす。A/Dコンバータは小さいビット幅(一般に、4ビット)の数値を生成し、したがって、信号処理を行なうハードウエアの残りを簡単にすることができる。しかしながら、ゼロIFアーキテクチャでは、IF−VGAがないために、A/Dコンバータは、一般に、相当により大きいダイナミックレンジを有し、このために、出力において大きいビット幅の数値が生成されるように設計されている。
【0007】
ゼロIFアーキテクチャには、IFの構成要素は必要ないが、より複雑なベースバンドの構成要素が必要である。その主な理由は、A/Dコンバータが比較的に大きいディジタル信号(通常は、18ビット)を生成するからである。したがって、ディジタルVGAはベースバンドに構成され、A/Dコンバータからの大きいビット幅の信号を基準化する。ゼロIFアーキテクチャには、比較的に広い乗算器(通常は、18ビット×18ビットの乗算器)が構成され、大きいディジタル信号を基準化する。さらに加えて、ディジタルVGAは、一般に、(しばしば、1キロバイトを越える)比較的に大きいルックアップテーブル(lookup table, LUT)を含み、AGC装置から受信した値を、デシベル(decibel, dB)の対数の単位から、線形の値へ変換して、ディジタルVGAの利得を制御する。動作において、例えば、ディジタルVGAは、A/Dコンバータから受信した線形のディジタル信号を、LUTから得た線形の利得値によって乗算する。これらの理由のために、ゼロIFアーキテクチャを取入れた無線通信装置は、IFの構成要素が省かれていても、相当なコストがかかる。
【発明の概要】
【0008】
本発明は、一般に、対数領域内で動作するディジタル電圧利得増幅器(digital voltage gain amplifier, ディジタルVGA)に関する。とくに、ディジタルVGAは、ディジタル入力値を対数の利得値にしたがって基準化する。とりわけ、対数領域の特性を利用して、従来のVGAの複雑な乗算器を、単純で、かつ比較的にコスト安の加算器に代えている。追加の技術を開示して、ディジタルVGA内に構成される1つ以上のLUTのサイズを相当に低減する。この要領で、本発明は、ディジタルVGAの相当により単純で、かつより低コストの設計を実現することができる。
【0009】
ディジタルVGAは、ゼロIFアーキテクチャを取入れたCDMA無線通信装置内で特に有益であるが、これに制限される訳ではない。本発明では、比較的に大きいディジタル信号を処理するやり方を相当に単純にして、無線通信装置の複雑さ、メモリ空間、およびコストを低減することができる。他のCDMA以外のゼロIFアーキテクチャに対しても、本発明は効果的である。
【0010】
1つの実施形態では、本発明は、ディジタル電圧利得増幅器を含む。増幅器には、ベースバンド信号を線形領域から対数領域へ変換する対数変換装置と、変換されたベースバンド信号と利得信号とを加算して、基準化されたベースバンド信号を生成する加算器とが構成される。さらに加えて、増幅器には、基準化されたベースバンド信号を対数領域から線形領域へ変換する指数変換装置も構成される。
【0011】
別の実施形態では、本発明は、無線通信装置を含む。例えば、無線通信装置には、RF信号を受信するアンテナと、RF信号からベースバンド信号を生成するRFミキサーとが構成されている。さらに加えて、無線通信装置には、ベースバンド信号を基準化するための上述の電圧利得増幅器が構成されている。無線通信装置には、ディジタル信号プロセッサも構成され、線形領域内の基準化されたベースバンド信号の少なくとも一部分を処理する。
【0012】
さらに別の実施形態では、本発明は、1つ以上の方法を含む。例えば、方法には、ベースバンド信号を線形領域から対数領域へ変換し、変換されたベースバンド信号を利得へ加えて、基準化されたベースバンド信号を生成することが含まれる。方法には、基準化されたベースバンド信号を対数領域から線形領域へ変換することも含まれる。変換では、ルックアップテーブルを使用する。ルックアップテーブルのサイズを低減して、メモリ要件を緩和するための追加の技術を使用することができる。
【0013】
さらに別の実施形態では、本発明は、ディジタルVGA内で乗算器の使用を避けることができる。例えば、最初に、乗算されることになる2つの入力を対数領域へ変換することによって、乗算機能の後で、オプションの打ち切り(truncation)を行なうことができる。入力信号を、対数領域において加算または減算して、その後で、ちょうど十分なビットを使用して、線形領域へ再び変換し、元の打ち切り処理をまねることができる。
【0014】
本発明は、多数の特長を有する。例えば、本発明は、ゼロIFアーキテクチャにおいて使用するためのディジタルVGAの、より単純で、かつより低コストの設計を提供することができる。特に、本発明は、複雑でかつ比較的にコスト高の乗算器を、相当により単純で、かつコスト安の加算器に代えることができ、このような乗算器の必要をなくすことができる。さらに加えて、本発明の乗算器は、対数領域において動作するので、利得値を線形領域へ変換する必要を単純にするか、または全体的に避けることができる。1つの実施形態では、例えば、ディジタルVGAは、デシベルの単位の対数利得値を使用して、対数領域内のディジタル入力値を基準化する。この場合には、利得値を、条件付けまたは変換せずに、加算器へ供給することができる。
【0015】
本発明は、ディジタルVGA内に構成されている1つ以上のLUTのサイズを低減するための技術を使用することによって、ディジタルVGAにおけるメモリ要件を相当に緩和することもできる。とくに、指数変換装置は、対数領域においてベースバンド信号を飽和させ、その後でベースバンド信号を線形領域へ再び変換する。ルックアップの前に飽和させることにより、LUTにおける個々のエントリのサイズ(すなわち、幅)を低減して、LUTに必要なメモリ量を低減することができる。さらに加えて、対数変換装置は、別途詳しく記載するように、浮動小数点数の指数および仮数に対して、異なるLUTを使用して、メモリの要件を相当に緩和することができる。とくに、仮数値の一部分のみを仮数LUTに記憶して、必要なときに、追加の値を生成して、見積もる。
【0016】
これらの、および他の実施形態の追加の詳細は、添付の図面および以下の記述に示されている。他の特徴、目的、および長所は、以下の記述および図面と、特許請求項とから、より明らかになるであろう。
【図面の簡単な説明】
【0017】
【図1】本発明にしたがう無線通信装置を示すブロック図。
【図2】本発明の実施形態にしたがうフローチャート。
【図3】本発明のディジタルVGAの実施形態を示すブロック図。
【図4】ディジタルVGAの1つの実施形態をより詳しく示すブロック図。
【図5a】本発明にしたがう指数変換装置の例示的な実施形態を示す図。
【図5b】本発明にしたがう指数変換装置の例示的な実施形態を示す図。
【図5c】本発明にしたがう指数変換装置の例示的な実施形態を示す図。
【図6】対数変換装置の1つの構成をより詳しく示すブロック図。
【図7】図6に示されている対数変換装置の実施形態の背景の概念をさらに示す一連の2つのグラフを示す図(aおよびb)。
【図8】本発明にしたがうフローチャート。
【図9】本発明にしたがうフローチャート。
【発明の詳細な説明】
【0018】
図1は、本発明にしたがう例示的な無線通信装置(wireless communication device, WCD)100のブロック図である。本発明の種々の実施形態は、図1に示されているゼロIFアーキテクチャを構成している無線通信装置の受信機に関して記載されているが、これに制限されない。この場合に、WCD100は、到来するRF信号をベースバンド信号へ直接に変換し、特に、RF信号をIF信号へ最初に変換しない。
【0019】
WCD100には、アンテナ104が構成されていて、アンテナ104は、到来するRF信号を受信する。例えば、到来するRF信号には、符号分割多重アクセス(code division multiple access, CDMA)基地局から送られたCDMA変調信号が含まれる。アンテナ104によって受信されたRF信号は、低雑音増幅器(low noise amplifier, LNA)108を通り、その後で、RFミキサー112によってベースバンドへ下げられる。例えば、RFミキサー112は、周波数合成器116によって生成された搬送波の波形を受信する。周波数合成器116は、WCD100のローカルクロックを時間基準として使用する。ローカルクロックには、例えば、電圧制御温度補償水晶発振器(voltage controlled temperature compensated crystal oscillator, VCTCXO)のような、電圧制御発振器120が含まれる。WCD100には、希望であれば、追加の構成要素(図示されていない)が構成されていてもよい。
【0020】
RFミキサー112はベースバンド信号113を生成し、ベースバンド信号113は、例えばフィルター124によってフィルターにかけられ、アナログ対ディジタル(analogue to digital, A/D)コンバータ128によってサンプリングされ、対応するディジタル値の信号、例えば、ディジタルベースバンド信号129が生成される。ディジタルVGA132は、自動利得制御装置(automatic gain control unit, AGC)134から受信した対数の利得値135にしたがって、ディジタル値を増幅または減衰することによって、ディジタルベースバンド信号129を基準化する。
【0021】
ディジタルVGA132による基準化後に、基準化されたディジタルベースバンド信号はレーキ受信機136へ供給され、レーキ受信機136では、異なる源、例えば、異なる基地局から受信した信号を分離および追跡する。例えば、レーキ受信機136には、多数の“フィンガー”が構成されていて、フィンガーは、逆拡散、ウオルシュデカバリングおよび累算、並びにパイロットの時間および周波数の追跡を行なう。各フィンガーは、対応する経路のパイロットおよびデータシンボルを、ディジタル信号プロセッサ(digital signal processor, DSP)140へ出力する。その後で、DSP140は、シンボル復調、または他の信号処理、あるいはこの両者を行なう。
【0022】
既に記載したように、ゼロIFアーキテクチャには、IF構成要素は必要ないが、一般に、より複雑なベースバンド構成要素を組込むための従来の装置が必要である。しかしながら、比較的に広い乗算器が構成されている従来のディジタルVGAとは異なり、ディジタルVGA132は対数領域で動作する。特に、ディジタルVGA132は、AGC134から受信した対数の利得値135にしたがって、対数領域内でディジタルベースバンド信号129を基準化する。この要領で、ディジタルVGA132には、複雑で、かつコスト高の乗算器は組込まれず、より単純で、かつ比較的に低コストの加算器が使用される。さらに加えて、ディジタルVGA132は対数領域で動作するので、AGC134から受信した利得値135を線形値へ変換することなく使用し、したがってこの目的のために使用される従来のルックアップテーブル(lookup table, LUT)は必要ない。
【0023】
さらに詳しく別途記載するように、ディジタルVGA132は、対数変換装置(図1には示されていない)を使用して、ディジタルベースバンド信号129を線形領域から対数領域へ変換し、指数変換装置(図示されていない)を使用して、基準化されたベースバンド信号を対数領域から線形領域へ再び変換する。指数変換装置および対数変換装置は、ルックアップテーブルを使用する。しかしながら、ルックアップテーブルのサイズを低減して、メモリの要件を緩和するために、別途記載される追加の技術を使用してもよい。別の実施形態では、指数変換装置および対数変換装置は、アルゴリズムを、恐らくはより小さいサイズのルックアップテーブルと組合せて使用して、適切な変換値を動的に生成する。
【0024】
図2は、ディジタルVGA132(図1参照)が対数領域においてベースバンド信号を基準化する高レベルの処理を説明するフローチャートである。示されているように、ディジタルVGA132では、線形のベースバンド信号を線形領域から対数領域へ変換する(202)。別途詳しく記載されるように、ディジタルVGA132には、対数変換装置が組込まれ、対数変換装置は、ルックアップテーブルを使用して、変換を行なう。対数領域では、望ましい分解能へ基準化されたデシベルの単位を使用し、したがって利得値の変換を避けることができる。例えば、2/15デシベルの分解能(利得の規定分解能に対応する)をWCDにおいて使用してもよい。
【0025】
ディジタルVGA132は、対数領域のベースバンド信号と、AGC134から受信した利得値とを加算して、対数領域の基準化されたベースバンド信号を生成する(204)。基準化されたベースバンド信号は、例えば、利得値に依存して増幅または減衰される。ディジタルVGA132は、基準化されたベースバンド信号を、対数領域から線形領域へ再び変換する(206)。ディジタルVGA132は、指数変換装置が組込まれ、指数変換装置は、ルックアップテーブルを使用して、変換を行なう。その後で、基準化された線形のベースバンド信号は、例えば、レーキ受信機136およびディジタル信号プロセッサ140によって処理される(208)。
【0026】
図3は、対数領域内で動作するディジタルVGA132の例示的な実施形態を示すブロック図である。示されているように、ディジタルVGA132には、対数変換装置302が構成されていて、対数変換装置302は、例えば、線形のディジタル値を、望ましい分解能のデシベル単位の対数値305へ変換することによって、到来する線形のベースバンド信号129を対数領域へ変換する。1つの実施形態では、対数変換装置302には対数LUTが構成されていて、対数LUTは、線形ベースバンド信号の許容値を対数値へマップする。しかしながら、このようなLUTには、相当なメモリ空間が必要である。このために、対数LUTのサイズを低減し、それによってメモリ空間の要件を緩和するための種々の追加の技術が記載される。
【0027】
ディジタルVGA132には、従来の乗算器ではなく、加算器306が構成されている。特に、ディジタルVGA132では、対数領域を使用して、乗算関数を加算に代えている。言い換えると、ディジタルVGA132は、Log(X*Y)=Log(X)+Log(Y)である事実を使用して、乗算器を加算器306へ効果的に代えている。しかしながら、WCD100では、線形領域の増幅されたベースバンド信号をさらに処理する。したがって、ディジタルVGA132には、指数変換装置310も構成され、指数変換装置310は、ベースバンド信号を基準化してから、線形領域へ再び変換する。
【0028】
ディジタルVGA132の利得は、AGC134からのフィードバックによって制御することができる。とくに、AGC134は、対数領域の利得値135を、例えば、望ましい分解能を有するデシベルの単位で出力する。この要領で、ディジタルVGA132は、利得値135を、加算器306による供給前に、変換する必要はない。むしろ、ディジタルVGA132では、このために、対数領域で利得値135を線形のベースバンド信号129へ単に加算することによって、線形のベースバンド信号129を増幅または低減する。
【0029】
指数変換装置310では、基準化されたベースバンド信号を対数領域から線形領域へ変換する。例えば、線形変換装置310は、より詳しく別途記載されるように、1つ以上のLUTを使用する。さらに加えて、1つ以上の指数LUTのサイズを相当に低減して、メモリ要件を緩和するための、別途記載される技術を使用してもよい。
【0030】
1つの特定の場合において、ディジタルVGA132は、望ましい分解能に基準化されるデシベルの単位の対数領域において動作する。既に記載したように、この場合には、AGC134によって生成された利得値を変換せずに使用できるので、デシベルの単位を有する対数領域で動作することは、特に有益である。しかしながら、別の実施形態では、本発明は、他の対数領域または非線形領域で動作する。さらに別の実施形態では、対数変換装置302および指数変換装置310は、種々のLUTに加えて、またはそれらの代わりに、アルゴリズムを実行する。
【0031】
図4は、より詳しく示したディジタルVGA132についての1つの実施形態のブロック図である。特に、対数変換装置302には、対数ルックアップテーブル(logarithmic lookup table, LOG LUT)402が構成されていることが示されている。さらに加えて、対数変換装置302には、到来する符号付きベースバンド信号を、(ABS 406で示されているABSである)無符号の絶対値と(SIGN BIT 410で示されている)符号ビットとへ分けるハードウエアが構成されている。言い換えると、対数変換装置302内でベースバンド信号から符号ビットを取り出して、伝搬し、指数変換装置310に再び挿入することができる。負の数の対数は、不定である。したがって、ベースバンド信号から符号ビットを取り出すことにより、ディジタルVGA内のハードウエアが、対数領域内の負の数を処理することを試みるといったシナリオを避ける。むしろ、符号ビットが取り出されると、ディジタル132内の特定のハードウエアは、対数領域内の正の数のみを処理する。
【0032】
1つの特定の例では、A/Dコンバータ128(図1参照)は、ディジタルベースバンド信号129を18ビットの二値数として生成し、この18ビットの二値数には、1個の符号ビット、7個の整数ビット、および10個の十進数ビットが含まれている。符号ビットは、ベースバンド信号から分けられ、7個の整数ビットおよび10個の十進数ビットから成る残りの17ビットの二値数は、LOG LUT402へ供給される。ルックアップの結果として、17ビットの二値は、9ビットの符号付きの数値へ変換され、9ビットの符号付きの数値は、加算器306へ供給される。加算器306は、AGC134から9ビットの符号付きの数値を受取る。9ビットの符号付きの数値は、デシベルの単位の利得値を、望ましい分解能で表現している。特に、利得値は、既に対数領域であり、加算器306へ入力する前に調節する必要はない。加算器306は、各入力を加算して、10ビットの結果を生成し、10ビットの結果は、指数変換装置310へ供給される。1つの例では、比較的に単純で、かつ低コストの9ビットの加算器が使用される。
【0033】
指数変換装置310は、飽和装置(saturation unit, SAT UNIT)424と、少なくとも1つの指数LUT428とを含んでいる。飽和装置を使用して、対数領域のベースバンド信号を飽和させることができる。例えば、上述の例に続いて、10ビットの符号付きの結果を指数変換装置310へ供給して、飽和装置424によって7ビットへ飽和させ、128個の可能な値によって表現されるダイナミックレンジをまたぐことができる。飽和装置424の出力は、(参照符号410で示されているような)符号ビットと共に、指数LUT(exponential unit, EXP UNIT)428へ供給され、4ビットの符号付きの結果を生成する。4ビットの符号付きの結果は、線形領域の基準化されたベースバンド信号を表現している。指数LUT428においてルックアップの前に飽和させ、指数LUT428における個々のエントリの要求のサイズを低減することによって、メモリ空間を節約することができる。さらに加えて、打ち切り処理を、指数LUT428へ取入れることができる。言い換えると、従来の打ち切り処理は、従来の乗算器形のVGAの後に必要であったが、単に指数LUT428の出力の適切なビット幅を定めることによって、本発明にしたがう指数LUT428内へ取入れることができる。
【0034】
図5aないし5cは、本発明にしたがう指数変換装置の3つの異なる例示的な実施形態を示している。図4に示されている飽和装置424は、図5aないし5cには示されていないが、ルックアップの前に飽和させ、指数変換装置内の1つ以上のLUTのサイズを低減するために、これを構成してもよい。さらに加えて、指数変換装置内の1つ以上のLUT内のエントリは、ディジタル入力信号を効果的に打ち切る出力ビット幅を有する。
【0035】
図5aに示されている指数変換装置502には、正の値および負の値のための別々のLUTが構成されている。特に、指数変換装置502には、128個の可能な正の3ビットの値を記憶するEXP LUT(pos)506と、128個の可能な負の4ビットの値を記憶するEXP LUT (neg)510とが構成されている。(参照符号410で示されている)符号ビットを使用して、入力信号514を供給し、乗算器518は入力信号514を使用して、適切なLUTからの出力を選択する。したがって、符号ビットが負の数を識別するときは、乗算器518は、EXP LUT (neg)510からの出力を選択する。信号ビットが正の数を識別するときは、乗算器518は、EXP LUT (pos)506からの出力を選択する。
【0036】
図5bは、指数変換装置のさらに別の構成を示している。とくに、指数変換装置540は、図5bに示されているように、単一のEXP LUT (pos)544を使用し、EXP LUT (neg)を加算器548に代え、加算器548を使用して、EXP LUT (pos)544から読み出される正の値から、補数の負の値を生成する。例えば、正の値XがEXP LUT (pos)に記憶されているとき、補数の負の値は、適切な補数式(一例として(−X−1))によって生成される。しかしながら、別の場合において、負の値および正の値が、Y軸について完全に対称であるときは、−X+1、等の2の補数式を使用して、正の値から負の値を生成してもよい。
【0037】
図5bに示されているように、指数変換装置540は、メモリ要件をさらに緩和することによって、特長をもつことができる。特に、指数変換装置540は、単一の128ビット×3ビットのLUT、および加算器548を使用する。他方で、図5aに示されている指数変換装置502には、より大きいメモリ空間が必要であるが、追加の加算器は不要である。図5aおよび5bの実施形態の各々は、長所および欠点を有するが、それらについては、所与の実行のための最良の構成を判断するときに検討する。
【0038】
図5cは、指数変換装置のさらに別の構成を示している。図5bの実施形態と同様に、図5cに示されている指数変換装置560は、単一のEXP LUT(pos)544を使用している。しかしながら、指数変換装置560は、EXP LUT(pos)544から選択したビットを反転して、符号ビットを加えることによって、負の値を生成する。1の補数装置568を使用して、反転を行ない、乗算器518が望ましい出力を選択した後で、追加装置574を使用して、符号ビットを加えることができる。図5cの実施形態では、図5aに示されているようなEXP LUT (neg)は不要であり、図5bに示されているような加算器も不要である。
【0039】
図6は、対数変換装置302の1つの構成を、より詳しく示したブロック図である。既に記載したように、対数変換装置302を使用して、信号、例えば、到来する線形ベースバンド信号129のディジタル値を対数領域へ変換する。対数変換装置302は、線形のベースバンド信号の許容値を対数領域へマップする単一のLUTを構成することによって実現できるが、図6に示されている代わりの構成では、メモリ要件を相当に緩和することができる。
【0040】
特に、図6に示されているように、対数変換装置302には、浮動小数点数を操作するための種々のハードウエアが含まれている。例えば、Nビットの正の二値数X(p)は、X(p)=m*2Eとして表わすことができる。なお、Eは、指数と呼ばれ、1へ設定されるX(p)の最上位のビットの位置を表わし、mは、仮数と呼ばれ、残りのE−1の最下位ビットを表現している。
【0041】
デシベルの単位を有する対数領域において、上述の浮動小数点の式は、次のように表わすことができる。
【0042】
20.log(X(p)/210).RdB=20.log(2E/210).RdB+20.log(m).RdB
なお、RdBは、望ましいデシベル分解能の逆数である。デシベル単位の対数領域の浮動小数点の式は、次のように表わすことができる。
【0043】
X=XE+Xm
なお、XEは、指数のデシベル値であり、Xmは、仮数のデシベル値である。
【0044】
この特定の領域では、XEは、N=17エントリ(各エントリを9ビットの幅とする)のテーブルとして記憶することができる。さらに加えて、Xmを、Nセグメントとして考える。しかしながら、セグメントの1つのみをテーブルとして記憶する必要があり、全てのセグメントの値は、記憶されたセグメントのエントリから求めることができる。例えば、m番目のセグメントには、2m−1の要素が含まれており、要素の各々は、(m+n)番目のセグメントの入力アドレスをnビット分、左シフトすることによって、(m+n)番目のセグメントの要素から求めることができる。さらに加えて、最近傍の補間を行なって、m番目のセグメントの要素から、(m+n)番目のセグメントの要素を求めることができる。特に、m番目のセグメントの要素から(m+n)番目のセグメントの要素を補間するために、m番目のセグメントの入力アドレスを、nビット分丸めて、(m+n)番目のセグメントの入力アドレスとして使用することができる。
【0045】
再び図6を参照すると、対数変換装置302には、指数抽出装置602と仮数抽出装置606とが含まれている。指数LUT612を使用して、指数の対数値を生成することができる。さらに加えて、仮数LUT616を使用して、仮数の対数値を生成することができる。その後で、加算器620によってこれらの値を組合せて、恐らくは、打ち切り装置624によって打ち切ることができる。
【0046】
1つの実施形態では、仮数LUT616では、種々の仮数セグメントの全ての可能な値をマップする。しかしながら、仮数LUT616のサイズを低減して、それによってメモリ要件を緩和するために、アドレス操作論理624を構成して、仮数の1つのセグメントの値を、仮数の異なるセグメントから生成できるようにする。この要領で、仮数の1つのみのセグメントを仮数LUT616に記憶する。
【0047】
アドレス操作論理624は、次のように動作する。仮数LUT616には、2Uのエントリが含まれると仮定すると、
E>Uであるときは、入力アドレレスM’=(M/2(E−U))の丸めにし、
E≦Uであるときは、M’=<<(U−E)にする。
【0048】
言い換えると、E>Uであるときは、M’は補間され、記憶された仮数LUT616内の最近傍の入力アドレスとして定められ、E≦Uであるときは、M’は、入力アドレスを(U−E)ビット分、左シフトすることによって求められる。その後で、M’は、記憶されたセグメントへ供給され、対数領域の適切な変換値を求めることができる。
【0049】
図7aおよび7bは、一連の2つのグラフであり、図6に示されている対数変換装置302の実施形態の背後の概念を示している。ここでも、デシベル単位の対数領域の浮動小数点の式を、X=XE+Xmとして表わすことができる。なお、XEは、指数のデシベル値であり、Xmは仮数のデシベル値である。図7aでは、線形入力の関数としてのXのデシベル値のグラフを、同じ入力におけるXEのデシベル値のグラフと比較している。図7aに示されているように、XEの値は、種々の異なる入力においてXの値から僅かにずれている。
【0050】
図7bは、Xmのデシベル値のグラフである。Xmは、種々の異なる入力におけるXとXEとの較差として考えることができる。したがって、図6に示されているように、Xは指数LUT612と仮数LUT616とから生成することができる。特に、指数LUT612を使用して、指数の対数値を生成し、仮数LUT616を使用して、仮数の対数値を生成する。しかしながら、メモリ空間を節約するために、仮数LUT616は、図7aに示されているスパイク(すなわち、セグメント)の1つのエントリのみを記憶することが必要である。その後で、既に記載したように、アドレス操作倫理624を使用して、他のスパイクの値を生成することができる。
【0051】
仮数LUT616内に記憶されているセグメント(または、図7bに示されているスパイク)を、要求される精度のレベルに依存して選択することができる。例えば、最後のセグメント(この場合は、17番目のセグメント)を記憶することによって、全対数仮数テーブルを、完全な形で求めることができる。しかしながら、これは、217−1=65,536のエントリを含むLUTになる。とりわけ、対数関数は、大きい入力において平坦化する傾向があるので、無線通信装置の性能をあまり損うことなく、相当により小さいセグメントを選択することができる。とくに、7番目のセグメントを記憶する実験により、全ての入力に対する許容可能な見積もりを求めることが示されている。これには、27−1=64のエントリを含む仮数LUTが必要である。
【0052】
仮数テーブル内に含めるための比較的に小さい数のセグメントを選択することにより、対数関数におけるサンプリングは効果的に非一様になる。より小さい入力、例えば、より小さいセグメントにおいて、対数関数が比較的に迅速に変化する場合に、より小さい数のセグメントの全ての値を、より大きい数のセグメントから生成することができる。しかしながら、より大きい入力において、対数関数が相当により緩慢に変化する場合に、値は記憶されているセグメントから補間される。これは、対数関数の非一様なサンプリングの一種と考えられ、より小さい入力では、より多くのデータ点が保持されるが、より大きい入力では、より少ないデータ点が保持される。実験により、このような非一様のサンプリングは、WCDにおいて性能をあまり劣化しないことが示されている。
【0053】
量子化雑音のような不測の変数を明らかにするために、指数LUT612と仮数LUT616との両者の分解能を、Kビット分増加して、データが正しく、破損していないことを保証するのを助ける。浮動小数点の対数関数が、有限のビット幅のディジタル表示の数値によって表現されるときは、必ず、量子化雑音を取入れる。実験により、指数LUT612および仮数LUT616の分解能を、K=3ビット分増加すると、WCDにおける量子化雑音を補償するのに十分であることが示されている。
【0054】
図8は、1つ以上のLUTが構成されているとき、メモリ要件を緩和するのに使用できるプロセスを示すフローチャートである。図8に示されているプロセスは、WCDにおいて使用されるとき、特に効果的であるが、WCDに制限されない。例えば、図8のプロセスを、ルックアップテーブルを構成しているコンピュータ装置において使用してもよい。
【0055】
示されているように、数値を第1の領域において指数成分と仮数成分とへ分ける(802)。例えば、第1の領域は、線形領域であり、数値は、信号のディジタル値を表現する二値の浮動小数点数である。この場合に、指数成分は、単に、1に設定された最上位ビットを識別して、記憶することによって、その数値から抽出することができる。同様に、仮数成分は、単に、残りの最下位ビットを記憶することによって、数値から抽出することができる。
【0056】
指数成分は、第1の領域から、非線形領域のような第2の領域へ変換することができる(804)。これとは別に、仮数成分を第1の領域から第2の領域へ変換することができる(806)。1つの特定の場合に、第2の領域は、望ましい分解能のデシベル単位の対数領域である。第2の領域へ変換されると(804および806)、指数成分と仮数成分とを組合せることができる(808)。例えば、加算器は、単に指数成分と仮数成分とを加算することによって組合せを容易にするように実行することができる。要望に応じて、組合せたものを打ち切るか、または丸めることができる。
【0057】
第1のLUT、例えば、指数LUTを使用して、指数成分を変換することができる。同様に、第2のLUT、例えば、仮数LUTを使用して、仮数成分を変換することができる。その代りに、アルゴリズムを使用して、またはアルゴリズムとLUTとを組合せて使用して、変換の一方または両方を実現してもよい。
【0058】
指数LUTは、比較的に小さく、指数の可能なビット位置に対応するエントリを有する。例えば、数値が、17ビットの数値であるときは、指数LUTは17エントリのみを有する。他方で、仮数LUTは、相当により大きい数値のエントリを含む。例えば、数値が17ビットの数値であるときは、仮数LUTは、非常に数多くのエントリを含む。このために、仮数LUTのサイズをさらに低減して、メモリ空間を節約するための追加の技術を使用することができる。
【0059】
図9は、仮数LUTのサイズを相当に低減するのに使用できるプロセスを示すフローチャートである。示されているように、仮数値の合計数のサブセットのみを仮数テーブルに記憶する(902)。その後で、サブセット内に含まれていない値を、サブセットから求めることができる(904)。この要領で、仮数LUTを構成するためのメモリ要件を緩和することができる。
【0060】
再び図7bを参照すると、仮数値のサブセットは、図7bに示されているスパイクの1つに対応する。入力をシフトして、かつシフトされた入力に基づいて、サブセット内のエントリを選択することによってか、または入力を補間して、かつ補間された入力に基づいて、サブセット内のエントリを選択することによって、他の全スパイクの値を生成することができる。より小さい数値の仮数セグメント(すなわち、図7bにおいて記憶されたセグメントの左側に位置するセグメント)の値が必要であるときは、シフティング処理を使用することができる。より大きい数値の仮数セグメント(すなわち、図7bにおいて、記憶されているセグメントの右側に位置するセグメント)の値が必要であるときは、補間処理を使用することができる。この要領で、必要に応じて、テーブル内に記憶されている仮数エントリの相当により小さいサブセットから、可能な仮数値の合計数を生成して、メモリ空間を節約することができる。
【0061】
特に、より大きい数値の仮数セグメントの値が必要であるときは、その値の入力アドレスを補間して、記憶されている仮数セグメントにおける最近傍入力アドレスとして規定する。より小さい数値の仮数セグメントの値が必要であるときは、記憶されているセグメント数と望ましい値のセグメント数との差に対応するビット数分、その値の入力アドレスを左シフトする。その後で、補間されたアドレスか、またはシフトされたアドレスを、記憶されているセグメントへ供給して、適切な変換値を求めることができる。
【0062】
既に記載したように、仮数LUT内に記憶されている特定のサブセットを、要求される精度レベルに依存して選択することができる。とりわけ、対数関数は大きい入力において平坦化される傾向があるので、無線通信装置の性能をあまり損うことなく、小さいセグメントを使用することができる。とくに、実験により、7番目のセグメントを記憶することによって、全ての入力に対する許容可能な見積もりが求められることが示された。したがって、27−1=64のエントリのみを有する仮数LUTが必要である。
【0063】
さらに別の実施形態では、若干より大きい仮数LUTであって、対数または対数様関数の非一様のサンプリングを含むエントリが構成されている仮数LUTを使用することができる。例えば、上述の技術を使用して、エントリを予め計算してもよい。言い換えると、仮数のセグメントを選択し、より小さいセグメント内の値の全てを予め計算して、LUT内に含めてもよい。しかしながら、より大きいセグメントでは、上述の補間技術にしたがって、エントリを予め計算してもよい。この要領で、LUT内に記憶されている各セグメントは、選択されたセグメント以下のエントリを含み、したがって必要メモリ空間量が制限される。仮数LUTは、1つのみのセグメントを記憶しているLUTよりも大きいが、アドレス操作論理は必要ない。特定の構成を設計するとき、必要な追加のメモリ空間を、アドレス操作論理を含めることに対して重み付けをして、最良の、すなわち最も効率的な構成を判断することができる。
【0064】
上述の種々のLUTをメモリ内に記憶して、必要に応じてアクセスしてもよい。いくつかの場合において、上述の方法を、プログラムコードのようなソフトウエアにおいて実行してもよい。例えば、プログラムコードをメモリへロードし、その後でプロセッサにおいて実行することができる。プログラムコードは、最初に、ハードドライブまたは磁気、光、磁気−光、位相変化、あるいは他のディスクまたはテープ媒体のような、コンピュータ読み出し可能媒体上に保持することができる。その代りに、プログラムコードを、EEPROMのような電子コンピュータ読み出し媒体からメモリへロードするか、またはネットワーク接続上でダウンロードしてもよい。プログラムコードは、ダウンロードされると、最初に、搬送波内に埋め込まれるか、または、さもなければ、電磁信号上で伝送される。プログラムコードは、広範囲の機能を供給するアプリケーションプログラムにおける特徴として実現される。
【0065】
本発明をプログラムコードにおいて実行するとき、プログラムコードを実行するプロセッサは、マイクロプロセッサの形態をとり、かつPC、マッキントッシュ(登録商標)、コンピュータワークステーション、ハンドヘルドデータ端末、パームコンピュータ、WCD、無線基地局、ネットワークルータ、等の一部と一体構成にされるか、それらを形成することができる。メモリには、ランダムアクセスメモリ(random access memory, RAM)が含まれ、RAMはプログラムコードを記憶しており、プロセッサは、プログラムコードにアクセスして、それを実行して、上述の種々の方法を行なう。
【0066】
本発明の種々の実施形態を記載した。例えば、WCDにおいて使用するために、ディジタルVGAを記載した。特に、ディジタルVGAは、対数領域内で動作し、従来の乗算器および従来の指数ルックアップテーブル(そのサイズは、100バイトより大きい)を、加算器、呼び寸法(nominal size)(すなわち、全空間のほぼ200バイト)の対数LUT、および呼び寸法(すなわち、ほぼ128バイト)のより小さい指数テーブルに代える。それにも拘わらず、本発明の意図および技術的範囲から逸脱しないならば、種々の変更を行なってもよい。例えば、ルックアップテーブルを構成するのではなく、対数領域から線形領域へ、またはその逆に、あるいはこの両者で動的に変換するアルゴリズムを使用して、本発明を実現することができる。さらに加えて、他の対数領域において、本発明を実行してもよい。また、本発明にしたがうディジタルVGAを、他の装置(例えば、無線通信ネットワーク内の基地局を含む)において使用してもよい。例えば、乗算器の後に、何らかの打ち切りを実行する装置において、本発明は効果的である。
【0067】
さらに加えて、本発明の態様を、ディジタルVGA以外のアプリケーションにおいて使用してもよい。例えば、乗算処理の後に、打ち切り処理を行なう装置において、本発明の態様を使用して、従来の乗算器を加算器に代えてもよい。1つの場合に、本発明は、乗算器ではなく、加算器を使用して、2つのベースバンド信号を乗算するように実行することができる。概して、本発明では、線形のディジタル値を対数領域へ変換して、対数領域のディジタル値を加算して、その後で、加算された値を線形領域へ再び変換することによって、乗算および打ち切りを行なうことができる。さらに加えて、打ち切り処理をルックアップテーブルへ取入れて、それを使用して、単に、出力されたビット幅を選択して、かつ信号を効果的に打ち切ることによって、線形領域へ再び変換することができる。
【0068】
LUTのサイズを低減して、メモリ要件を緩和するための種々の技術も記載されている。特に、これらの技術の多くは、WCDに関連付けて記載されている。しかしながら、本発明は、この点に制限されない。例えば、1つ以上のLUTのサイズを低減するのに使用される技術を、他のコンピュータ装置において使用して、メモリ空間を節約してもよい。したがって、これらの、および他の実施形態は、特許請求項の技術的範囲に含まれる。
【特許請求の範囲】
【請求項1】
第1のディジタル信号を線形領域から対数領域へ変換する対数変換装置と、
前記変換された第1のディジタル信号と第2のディジタル信号とを加算して、基準化されたディジタル信号を生成する加算器と、
前記基準化されたディジタル信号を前記対数領域から前記線形領域へ変換する指数変換装置と、
を備えた装置。
【請求項2】
前記装置はディジタル電圧利得増幅器であり、前記第2のディジタル信号は利得信号である、請求項1記載の装置。
【請求項3】
前記第1のディジタル信号はベースバンド信号である、請求項2記載の装置。
【請求項4】
前記第1のディジタル信号は第1のベースバンド信号であり、前記第2のディジタル信号は第2のベースバンド信号である、請求項1記載の装置。
【請求項5】
前記指数変換装置は指数ルックアップテーブルを含んでいる、請求項1記載の装置。
【請求項6】
前記指数ルックアップテーブル内のエントリは、前記基準化されたディジタル信号を効果的に打ち切る出力ビット幅を有する、請求項5記載の装置。
【請求項7】
前記加算器は第1の加算器であり、前記指数変換装置は第2の加算器と乗算器とをさらに含み、前記指数ルックアップテーブルは第1の入力を前記第2の加算器および前記乗算器へ供給し、前記第2の加算器は第2の入力を前記乗算器へ供給し、前記乗算器は信号に基づいて前記第1または前記第2の入力を選択し、選択された入力が前記線形領域の前記基準化された信号である、請求項5記載の装置。
【請求項8】
前記第1の入力は正の入力であり、前記第2の入力は負の入力である、請求項7記載の装置。
【請求項9】
前記指数変換装置は、乗算器に接続された第1および第2の指数ルックアップテーブルを含んでいる、請求項1記載の装置。
【請求項10】
前記第1の指数ルックアップテーブルは正の数を変換し、前記第2のルックアップテーブルは負の数を変換する、請求項9記載の装置。
【請求項11】
前記指数変換装置は、前記指数ルックアップテーブルに接続された1の補数装置と、前記1の補数装置および前記指数ルックアップテーブルに接続された乗算器とを含んでおり、前記乗算器は、符号に基づいて入力を選択する、請求項5記載の装置。
【請求項12】
前記対数変換装置は対数ルックアップテーブルを含んでいる、請求項1記載の装置。
【請求項13】
前記対数ルックアップテーブルは、対数関数の非一様なサンプリングを構成するエントリを含んでいる、請求項7記載の装置。
【請求項14】
前記対数変換装置は、前記対数領域の前記第1のディジタル信号を打ち切る打ち切り装置を含んでいる、請求項1記載の装置。
【請求項15】
前記対数変換装置は、前記指数ルックアップテーブルから第1の数値を選択して、補間することによって第2の数値を生成して、前記補間に基づいて、仮数ルックアップテーブルからエントリを選択して、前記第1の数値を前記第2の数値へ加算することによって、前記第1のディジタル信号を前記線形領域から前記対数領域へ変換する、請求項1記載の装置。
【請求項16】
前記基準化されたディジタル信号は、前記第1のディジタル信号よりも小さい値を有する減衰信号である、請求項2記載の装置。
【請求項17】
前記基準化されたディジタル信号は、前記第1のディジタル信号よりも大きい値を有する増幅信号である、請求項2記載の装置。
【請求項18】
前記対数領域は、前記利得と同じ分解能のデシベル単位を有する、請求項2記載の装置。
【請求項19】
ベースバンド信号を線形領域から対数領域へ変換する対数変換装置であって、対数ルックアップテーブルを含んでいる対数変換装置と、
変換されたベースバンド信号と利得信号とを加算して、基準化されたベースバンド信号を生成する加算器と、
基準化されたベースバンド信号を対数領域から線形領域へ変換する指数変換装置であって、指数ルックアップテーブルを含んでいる指数変換装置と、
を備えたディジタル電圧利得増幅器。
【請求項20】
前記対数ルックアップテーブルは、対数関数の非一様なサンプリングを備えたエントリを含んでいる、請求項19記載の増幅器。
【請求項21】
前記対数変換装置は、指数ルックアップテーブルと、仮数ルックアップテーブルとを含んでいる、請求項19記載の増幅器。
【請求項22】
第1のディジタル信号を線形領域から対数領域へ変換することと、
前記変換されたディジタル信号と第2のディジタル信号とを加算して、基準化されたディジタル信号を生成することと、
前記基準化されたディジタル信号を前記対数領域から前記線形領域へ変換することと、
を備えた方法。
【請求項23】
前記第1のディジタル信号はベースバンド信号であり、前記第2のディジタル信号は利得値である、請求項22記載の方法。
【請求項24】
前記第1のディジタル信号は第1のベースバンド信号であり、前記第2のディジタル信号は第2のベースバンド信号であって、前記変換されたディジタル信号と前記第2のディジタル信号とを加算する前に、前記第2のディジタル信号を線形領域から対数領域へ変換することをさらに含んでいる、請求項22記載の方法。
【請求項25】
前記線形領域において前記基準化されたディジタル信号を処理することをさらに含んでいる、請求項22記載の方法。
【請求項26】
ルックアップテーブルにアクセスすることによって、前記第1のディジタル信号を前記線形領域から前記対数領域へ変換することをさらに含んでいる、請求項22記載の方法。
【請求項27】
ルックアップテーブルにアクセスすることによって、前記基準化されたディジタル信号を前記対数領域から前記線形領域へ変換することをさらに含んでいる、請求項22記載の方法。
【請求項28】
前記基準化されたディジタル信号を前記対数領域から前記線形領域へ変換する前に、前記基準化されたディジタル信号を飽和させることをさらに含んでいる、請求項22記載の方法。
【請求項29】
前記基準化されたディジタル信号を前記対数領域から前記線形領域へ変換する前に、前記基準化されたディジタル信号を打ち切ることをさらに含んでいる、請求項22記載の方法。
【請求項30】
前記基準化されたディジタル信号は前記ベースバンド信号よりも小さい値を有する減衰信号である、請求項23記載の方法。
【請求項31】
前記基準化されたディジタル信号は前記ベースバンド信号よりも大きい値を有する増幅信号である、請求項23記載の方法。
【請求項32】
ベースバンド信号を線形領域から対数領域へ変換することと、
前記変換されたベースバンド信号と利得とを加算して、基準化されたベースバンド信号を生成することと、
前記基準化されたベースバンド信号を飽和させることと、
前記飽和したベースバンド信号を対数領域から線形領域へ変換することと、
前記線形領域内で飽和したベースバンド信号を処理することと、
を備えた方法。
【請求項1】
第1のディジタル信号を線形領域から対数領域へ変換する対数変換装置と、
前記変換された第1のディジタル信号と第2のディジタル信号とを加算して、基準化されたディジタル信号を生成する加算器と、
前記基準化されたディジタル信号を前記対数領域から前記線形領域へ変換する指数変換装置と、
を備えた装置。
【請求項2】
前記装置はディジタル電圧利得増幅器であり、前記第2のディジタル信号は利得信号である、請求項1記載の装置。
【請求項3】
前記第1のディジタル信号はベースバンド信号である、請求項2記載の装置。
【請求項4】
前記第1のディジタル信号は第1のベースバンド信号であり、前記第2のディジタル信号は第2のベースバンド信号である、請求項1記載の装置。
【請求項5】
前記指数変換装置は指数ルックアップテーブルを含んでいる、請求項1記載の装置。
【請求項6】
前記指数ルックアップテーブル内のエントリは、前記基準化されたディジタル信号を効果的に打ち切る出力ビット幅を有する、請求項5記載の装置。
【請求項7】
前記加算器は第1の加算器であり、前記指数変換装置は第2の加算器と乗算器とをさらに含み、前記指数ルックアップテーブルは第1の入力を前記第2の加算器および前記乗算器へ供給し、前記第2の加算器は第2の入力を前記乗算器へ供給し、前記乗算器は信号に基づいて前記第1または前記第2の入力を選択し、選択された入力が前記線形領域の前記基準化された信号である、請求項5記載の装置。
【請求項8】
前記第1の入力は正の入力であり、前記第2の入力は負の入力である、請求項7記載の装置。
【請求項9】
前記指数変換装置は、乗算器に接続された第1および第2の指数ルックアップテーブルを含んでいる、請求項1記載の装置。
【請求項10】
前記第1の指数ルックアップテーブルは正の数を変換し、前記第2のルックアップテーブルは負の数を変換する、請求項9記載の装置。
【請求項11】
前記指数変換装置は、前記指数ルックアップテーブルに接続された1の補数装置と、前記1の補数装置および前記指数ルックアップテーブルに接続された乗算器とを含んでおり、前記乗算器は、符号に基づいて入力を選択する、請求項5記載の装置。
【請求項12】
前記対数変換装置は対数ルックアップテーブルを含んでいる、請求項1記載の装置。
【請求項13】
前記対数ルックアップテーブルは、対数関数の非一様なサンプリングを構成するエントリを含んでいる、請求項7記載の装置。
【請求項14】
前記対数変換装置は、前記対数領域の前記第1のディジタル信号を打ち切る打ち切り装置を含んでいる、請求項1記載の装置。
【請求項15】
前記対数変換装置は、前記指数ルックアップテーブルから第1の数値を選択して、補間することによって第2の数値を生成して、前記補間に基づいて、仮数ルックアップテーブルからエントリを選択して、前記第1の数値を前記第2の数値へ加算することによって、前記第1のディジタル信号を前記線形領域から前記対数領域へ変換する、請求項1記載の装置。
【請求項16】
前記基準化されたディジタル信号は、前記第1のディジタル信号よりも小さい値を有する減衰信号である、請求項2記載の装置。
【請求項17】
前記基準化されたディジタル信号は、前記第1のディジタル信号よりも大きい値を有する増幅信号である、請求項2記載の装置。
【請求項18】
前記対数領域は、前記利得と同じ分解能のデシベル単位を有する、請求項2記載の装置。
【請求項19】
ベースバンド信号を線形領域から対数領域へ変換する対数変換装置であって、対数ルックアップテーブルを含んでいる対数変換装置と、
変換されたベースバンド信号と利得信号とを加算して、基準化されたベースバンド信号を生成する加算器と、
基準化されたベースバンド信号を対数領域から線形領域へ変換する指数変換装置であって、指数ルックアップテーブルを含んでいる指数変換装置と、
を備えたディジタル電圧利得増幅器。
【請求項20】
前記対数ルックアップテーブルは、対数関数の非一様なサンプリングを備えたエントリを含んでいる、請求項19記載の増幅器。
【請求項21】
前記対数変換装置は、指数ルックアップテーブルと、仮数ルックアップテーブルとを含んでいる、請求項19記載の増幅器。
【請求項22】
第1のディジタル信号を線形領域から対数領域へ変換することと、
前記変換されたディジタル信号と第2のディジタル信号とを加算して、基準化されたディジタル信号を生成することと、
前記基準化されたディジタル信号を前記対数領域から前記線形領域へ変換することと、
を備えた方法。
【請求項23】
前記第1のディジタル信号はベースバンド信号であり、前記第2のディジタル信号は利得値である、請求項22記載の方法。
【請求項24】
前記第1のディジタル信号は第1のベースバンド信号であり、前記第2のディジタル信号は第2のベースバンド信号であって、前記変換されたディジタル信号と前記第2のディジタル信号とを加算する前に、前記第2のディジタル信号を線形領域から対数領域へ変換することをさらに含んでいる、請求項22記載の方法。
【請求項25】
前記線形領域において前記基準化されたディジタル信号を処理することをさらに含んでいる、請求項22記載の方法。
【請求項26】
ルックアップテーブルにアクセスすることによって、前記第1のディジタル信号を前記線形領域から前記対数領域へ変換することをさらに含んでいる、請求項22記載の方法。
【請求項27】
ルックアップテーブルにアクセスすることによって、前記基準化されたディジタル信号を前記対数領域から前記線形領域へ変換することをさらに含んでいる、請求項22記載の方法。
【請求項28】
前記基準化されたディジタル信号を前記対数領域から前記線形領域へ変換する前に、前記基準化されたディジタル信号を飽和させることをさらに含んでいる、請求項22記載の方法。
【請求項29】
前記基準化されたディジタル信号を前記対数領域から前記線形領域へ変換する前に、前記基準化されたディジタル信号を打ち切ることをさらに含んでいる、請求項22記載の方法。
【請求項30】
前記基準化されたディジタル信号は前記ベースバンド信号よりも小さい値を有する減衰信号である、請求項23記載の方法。
【請求項31】
前記基準化されたディジタル信号は前記ベースバンド信号よりも大きい値を有する増幅信号である、請求項23記載の方法。
【請求項32】
ベースバンド信号を線形領域から対数領域へ変換することと、
前記変換されたベースバンド信号と利得とを加算して、基準化されたベースバンド信号を生成することと、
前記基準化されたベースバンド信号を飽和させることと、
前記飽和したベースバンド信号を対数領域から線形領域へ変換することと、
前記線形領域内で飽和したベースバンド信号を処理することと、
を備えた方法。
【図1】
【図2】
【図3】
【図4】
【図5a】
【図5b】
【図5c】
【図6】
【図7】
【図8】
【図9】
【図2】
【図3】
【図4】
【図5a】
【図5b】
【図5c】
【図6】
【図7】
【図8】
【図9】
【公開番号】特開2013−81184(P2013−81184A)
【公開日】平成25年5月2日(2013.5.2)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−243898(P2012−243898)
【出願日】平成24年11月5日(2012.11.5)
【分割の表示】特願2009−157265(P2009−157265)の分割
【原出願日】平成14年7月16日(2002.7.16)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】
【公開日】平成25年5月2日(2013.5.2)
【国際特許分類】
【出願番号】特願2012−243898(P2012−243898)
【出願日】平成24年11月5日(2012.11.5)
【分割の表示】特願2009−157265(P2009−157265)の分割
【原出願日】平成14年7月16日(2002.7.16)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】
[ Back to top ]