JP2006172475A - 電子回路中で乗算演算または除算演算を行う方法およびその装置 - Google Patents

電子回路中で乗算演算または除算演算を行う方法およびその装置 Download PDF

Info

Publication number
JP2006172475A
JP2006172475A JP2005361062A JP2005361062A JP2006172475A JP 2006172475 A JP2006172475 A JP 2006172475A JP 2005361062 A JP2005361062 A JP 2005361062A JP 2005361062 A JP2005361062 A JP 2005361062A JP 2006172475 A JP2006172475 A JP 2006172475A
Authority
JP
Japan
Prior art keywords
value
hardware
circuit area
electronic circuit
block
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.)
Granted
Application number
JP2005361062A
Other languages
English (en)
Other versions
JP4219926B2 (ja
Inventor
Christian Drewes
クリスチャン,ドレヴェス
Ernst Bodenstorfer
エルンスト,ボーデンシュトルファー
Juergen Niederholz
ユルゲン,ニーダーホルツ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of JP2006172475A publication Critical patent/JP2006172475A/ja
Application granted granted Critical
Publication of JP4219926B2 publication Critical patent/JP4219926B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】電子回路中で乗算演算または除算演算を行う方法において、演算を簡単に行えるようにする。
【解決手段】電子回路中で、X・Kの乗算演算またはX・1/Kの除算演算を行う方法であって、回路のソフトウェア回路領域(50)中で、psvがKの近似値になるように、シフト桁svを計算する。乗算時には、ハードウェア回路領域(80)中で、Xをsv桁左にシフトし、除算時には、Xをsv桁右にシフトする。ソフトウェア回路領域(50)中で、適切な補正因子Kfを計算する。Xの値に補正因子Kfを乗算する。
【選択図】図2

Description

本発明は、電子回路中で乗算演算または除算演算を行う方法およびその装置に関する。特に、本発明は、移動通信受信機中でSINR(Signal-to-Noise and Interference Ratio :信号対干渉雑音電力比)の推定を行う回路に関する。
最新のチップベースシステム(いわゆる、システムオンチップ、SoC)では、多数の乗算演算または除算演算が行われている。これゆえに、このようなシステムにおいて、可能な限り手間なくこれらの演算機能を実装することは、非常に重要である。該チップベースシステムにおけるこのような信号処理は、しばしば、様々な信号処理フェーズを有し、そして、様々な回路領域において行われることを考慮せねばならない。通常、アナログ信号処理フェーズの後に、デジタル信号処理フェーズがあり、デジタル信号処理は、さらに、ハードウェアベースの機能実装部分と、ソフトウェアベースの機能実装部分とに分けられる。
アナログ信号処理は、特有のアナログ回路にて行われる。例えば、送信された信号は、無線通信システムの端末機器において、アンテナを介して受信され、いわゆる「高周波フロントエンド」においてアナログ回路を用いてベースバンド部に転送され、次いでアナログデジタル変換が行われる。次にデジタル信号処理として、まずデータ復調と復号とが行われるが、これは効率面を考慮して、しばしば、大半がハードウェアベースで行われる。次の信号処理フェーズは、大概、デジタル信号プロセッサ(DSP)またはマイクロコントローラにおいて、すなわち、ファームウェアまたはソフトウェア中でプログラミングされるが、これは、このように実装した方が、ハードウェア的に実装するよりも効率的および/または柔軟性があるからである。
以下では、チップベースシステムのデジタル信号処理領域のみについて考慮する。基本的な設計上の課題は、電力消費およびチップ面積要件に関する重要な要求をできる限り満たすように機能を実現することである。このために、所定の機能を、ハードウェア、または、ソフトウェアもしくはファームウェアで実施するか、またはこれらの中で分担して行うか否かが非常に重要な点となる。
ハードウェアベースで、実数で乗算または除算をすると、例えば、正規化において、ハードウェア実装された加数の累積演算とは数が異なる。実数(乗数または除数)は、累積される加数の数に依存し、既知の時間間隔で変化する。例えば、UMTS(Universal Mobile Telecommunications System)の場合、UMTSの仕様で可変のデータレートが要求されていることにより、受信機のいくつかの部分において、累積演算で加数の数が大きく変化するという困難性に直面する。この問題により、積算演算結果を可変の正規化因子を用いて正規化する必要性が生じる。
図1は、可変正規化因子1/Kを用いた正規化を実施するための、従来の方法を示す。ここで、Kは整数である。この回路は、ハードウェア(「ハードウェア領域」)およびファームウェア(「ファームウェア領域」)に実装される。先行のハードウェアブロック1は、データストリームからデータ値aを供給する。kは離散時間である。このデータストリームaは、平均値を算出するためにハードウェア回路2に送られる。ハードウェア回路2は、平均値
Figure 2006172475
を算出する。このために、アキュームレータ3を用いて、所望の数Kのデータ値aを累積(合計)する。総和
Figure 2006172475
は、ワード長Bを有する。この総和は、必要なワード長Bを有する乗算器4に送られる。他方の乗数(正規化因子1/K)は、部分的にファームウェアで、部分的にハードウェアで計算される。ファームウェアでの逆数器5により、数Kから乗数1/Kを算出する。この乗数1/Kは、最大ワード長Bを有する。この乗数1/Kは、ワード長Bを有するバスを介して、ハードウェア領域に渡され、そこでレジスタ7に保存される。乗算器4は、レジスタ7にアクセスし、値bを算出する。
ワードbの最大ワード長はBである。数字は固定小数点で表記されているので、通常、続いてスケーラ8によりBからBへ(B>B)ワード長が短くされる。スケーリングされた平均値bは、続いて、後続のハードウェアブロック9に渡される。
図1に示された回路は、以下のような欠点を有する。
乗数(ここでは、1/K)を保存するためのレジスタ7と乗算器4とは、それぞれ最大ワード長Bに適するように設計されねばならない。
バス6を介したファームウェアとハードウェアとの間での乗数(ここでは、1/K)の伝送は、乗数の最大ワード長およびその最大の変化周波数に適するように設計せねばならない。Kの値が小さい場合には、変化周波数は、データストリームaのデータレートの大きさの桁となり、すなわち、非常に大きい値をとる。
本発明の目的は、電子回路中で乗算演算または除算演算を行う方法において、演算を簡単に行えるようにすることである。それは特に、電力消費を少なくし、ハードウェアを節約できるようにすることを狙ったものである。さらに、本発明の目的は、電子回路、とりわけ、SINR推定を行う回路の中で、乗算演算および除算演算を行う装置を、上述の利点を有する装置として提供することである。
本発明のこの目的は、独立請求項の特徴により達成される。より良い本発明の実施形態およびさらなる構成は、従属請求項中に示される。
本発明の方法は、ソフトウェア回路領域とハードウェア回路領域とを有する電子回路中で、X・Kの乗算演算またはX・1/Kの除算演算を行う方法である。XおよびKは、pを底とする数値表記で実数である。pは特に2の値を取り得る。本発明の方法では、まずpsvがKの近似値になるように、ソフトウェア回路領域中で、値Kからシフト桁svを計算する。続いて、乗算時には、ハードウェア回路領域中で値Xをsv桁左にシフトし、除算時には、ハードウェア回路領域中で値Xをsv桁右にシフトする。ソフトウェア回路領域中で、適切な補正因子Kfを計算する。シフトしたXの値に補正因子Kfを乗算する。
値Xに値Kないし1/Kを乗算する代わりに、値Xの桁シフトを行うことにより、ハードウェア回路領域で、複雑な乗算演算を省くことできる。代わりに行われる値Xのシフトは、ハードウェア回路領域において、実質的により効率的(面積は少なくてすみ、必要電力も少なくてすむ)に行われる。従来技術と比べるとシフトしたXの値にさらに、適切な補正因子Kfを乗算する工程が付け加わるが、この追加の手間は、従来技術に対して得られた節約に比べると、小さい。
svとして可能な値の数は、Kとして可能な値の数よりもずっと少ない。これは、svの値は、通常Kの値よりもダイナミックレンジ(変化周波数)が小さいことを意味する。この結果、桁シフト演算の更新レートは、通常の、従来技術における乗算演算の更新レートよりも小さくなる。したがって、従来技術(図1参照)と比較して、値svをソフトウェア回路領域からハードウェア回路領域に転送する際のバス負荷が小さくなる(消費電力が減る)。
シフト桁svは、Kに対して対数的に(底p)スケーリングされ、整数のみを取るので、シフト桁svを表すために(すなわち、桁シフト演算を制御するために)必要なワード長は、従来技術(図1参照)における乗算を構成するための値Kまたは1/Kのワード長よりも、明らかに短い。これにより、ソフトウェア回路領域からハードウェア回路領域に値svを転送するためのバス負荷も小さくなるが、これは、従来技術(図1参照)に比べて、バスのワード長が明らかに短くなるからである。
本発明の特に好適な実施形態では、桁svは、sv=round(logK)である。ここで、round(.)は丸め演算(引き数をもっとも近似する整数に丸める)である。この式により、シフト桁svを算出する上で、特に利点が生じうる。桁シフトにより決まる乗算用の近似値K’は、この場合、
Figure 2006172475
になる。
補正因子Kfの選択においては、続くハードウェアブロックにおいて、本発明の乗算演算または除算演算に対して調整を行わないでもよいように選択される。本発明の好適な実施形態の特徴は、続くハードウェアブロックにおいて線形性が保たれる限り、補正因子Kfは、除算時は(psv)/Kの値を有し、乗算時はK/psvの値を有することである。続くハードウェアブロックにおいて、非線形性がある場合、補正因子Kfをこれに応じて変更する。
本発明のさらに好適な構成の特徴は、シフトしたXの値が所定の数値に達した場合、シフトしたXの値を飽和させる工程をさらに含むことである。これにより、信号のオーバーフローを防ぎ、量子化の精度の観点からは不要となる最下位ビット(LSBs)が切り捨てられる。
本発明の電子回路は、X・Kの乗算演算またはX・1/Kの除算演算を行うための電子回路である。この電子回路は、psvがKの近似値となるように、シフト桁svを計算するための第1計算手段をソフトウェア回路領域に有する。さらに、この電子回路は、この電子回路のハードウェア回路領域に制御可能な桁シフト器(バレルシフタ)を有し、乗算時には値Xをsv桁左にシフトし、除算時には、値Xをsv桁右にシフトする。このソフトウェア回路領域は、さらに第2計算手段を有し、これが、適切な補正因子Kfを計算し、シフトしたXの値に補正因子Kfを乗算する。
このように実現された本発明の電子回路は、すでに請求項1に関して述べた利点を有する。
本発明により、電子回路中で乗算演算または除算演算を行う方法において、演算を簡単に行えるようにすることができるという効果を奏する。また本発明により、電子回路、とりわけ、SINR推定を行う回路の中で、乗算演算および除算演算を行う装置を、上述の利点を有する装置として提供することができるという効果を奏する。
以下に、図面を参照し、本発明を実施形態を用いてより詳しく説明する。
図1は、除算演算を行うための従来の回路を示す図である。
図2は、除算演算を行うための本発明の回路の実施形態を示す図である。
図3は、本発明の回路を複数回用いた、信号対干渉雑音電力比を推定するための回路の実施形態を示す図である。
図2は、Kによる除算(ないし、因子1/Kによる乗算)を行うための本発明の回路の実施形態を示す図である。図1で示した回路部材と同じまたは類似の回路部材は、同じ参照符号で示す。先行のハードウェアブロック1の後に接続されるハードウェア回路20は、近似平均値を算出するための回路である。このハードウェア回路20は、アキュームレータ3と、バレルシフタとして実現される制御可能なスケーラ80と、レジスタ70とを有する。アキュームレータ3の出力のワード長はBであり、アキュームレータ3の出力は、スケーラ80のデータ入力と接続されている。スケーラ80の制御入力は、レジスタ70の出力と接続されている。スケーラ80の出力はハードウェア回路20の終点となり、この出力は後続のハードウェアブロック9に送られる。後続のハードウェアブロック9は、図1に図示したハードウェアブロック9と同じである。
ファームウェア領域(ソフトウェア回路領域)は、シフト桁svを算出するためのファームウェア計算ブロック50を有する。シフト桁svは、バス60を介して、ハードウェア領域(ハードウェア回路領域)に渡され、レジスタ70中で保存される。ファームウェア計算ブロック50は、さらに、
Figure 2006172475
の形式での補正因子2sv/Kを計算する。この因子は、ファームウェアの補正ブロック100に送られ、この補正ブロック100は、ハードウェアブロック9の出力データを処理する。このようにして補正されたデータストリームは、ファームウェアブロック110でさらに処理される。
本発明の回路の作用は、以下の通りである。
入力データストリームaは、公知で、可変となり得るデータレートを有する。K個のデータ値が累積され、正規化因子1/Kによる正規化が行われる。すなわち、
Figure 2006172475
の値が計算される。値Kは可変で、広い範囲で変わり得る。
ファームウェア領域内で既知の値Kは、(不図示の方法で)アキュームレータ3に伝えられ、ファームウェアブロック50で利用可能になる。アキュームレータ3は、総和
Figure 2006172475
を計算する。ファームウェア計算ブロック50は、値Kから、svを例えば
sv=round(logK)
で算出する。値svのワード長(ビット長)はBであり、これが、バス60を介して、ハードウェア領域中のレジスタ70に書き込まれる。
総和
Figure 2006172475
のワード長はBである。シフト桁svは、パラメータ設定可能なスケーラ80により、総和
Figure 2006172475
に適用されるシフト演算に対するビットを選択するために使用される。シフト演算により生成される近似値
Figure 2006172475
のワード長は、
Figure 2006172475
である。
Figure 2006172475
は常に成立するので、ワード長
Figure 2006172475
は、補正値bのワード長Bと同じであり、すなわち、
Figure 2006172475
である。
換言すると、総和
Figure 2006172475
は、ハードウェア回路20中で、補正因子1/K自体と乗算されるのではなく、近似値
Figure 2006172475
と乗算される。
これにより生じた誤差は、ファームウェア計算ブロック50中で算出される補正因子Kfにより補正される。
ハードウェアブロック9が、線形応答を行う限り、補正因子Kfは
Figure 2006172475
である。sv=round(logK)なので、
Figure 2006172475
となる。ファームウェア補正ブロック100中の補正乗算により、続くデータ処理(ファームウェアブロック110)が、正しい値bでさらなる処理を行うことができる。
補正因子
Figure 2006172475
での補正乗算は、後続のハードウェアブロック9が、線形応答を行うことを前提としている。後続のハードウェアブロック9の応答が線形でない場合には、これに応じた適切な補正乗算を行わねばならない。いずれにせよ、ファームウェア補正ブロック100以降のデータ処理ブロック(ファームウェアブロック110および/または不図示のハードウェアブロック)は、この変更による影響を受けない。上述したように、後続のハードウェアブロック9は、従来技術で用いられている後続のハードウェアブロック9と同じである。
本発明の方法は、以下の利点を有する。
シフト演算を表すのに必要なワード長Bは、通常、この因子自体のワード長よりもずっと小さい。すなわち、B<<Bである。
Kの丸め値
Figure 2006172475
のダイナミックレンジはKのダイナミックレンジよりも小さいので、シフト演算の更新レートを、従来の乗数(正規化因子1/K)の場合の更新レートよりも小さくすることができる。この点および上述の点により、バス60におけるバス負荷を(バス6のバス負荷に比較して)低減することができる。
従来技術で必要な乗算器4を省くことができる。スケーラ80は、従来技術のスケーラ8よりも少し複雑になるが、結果として、複雑なハードウェアを減らすことができる。
本発明により生じる小さな欠点は、ファームウェアでの、値Kの、シフト演算(シフト桁sv)および補正因子Kfへのマッピングを行う必要がある点である。しかし、この際の複雑さは、図1で行われるKから1/Kへのマッピング(逆数を取ること)と対等である。
さらに、ハードウェア領域で同じ因子(Kおよび1/K)を用いて複数のこのような乗算または除算が行われるときに、本発明の概念を特に効率的に用いることができる。この場合に、同じファームウェアの補正乗算により、全ての演算を、ファームウェア補正ブロック100で補正することができる。これは、次の実施形態からも明らかになる。
図3は、例えば(インフィネオンテクノロジーズ株式会社製の)MGOLD2TMチップのSINR(信号対干渉雑音電力比)推定回路ブロック200およびCS(チャネル状態)推定回路ブロック250中で、本発明を用いた場合の例を示す図である。発明の本質的な点をよりよく理解するために、SINR推定回路ブロック200およびCS推定回路ブロック250は、簡略化して(「通常モード、データベース」の動作モードのみ)示す。
SINR推定回路ブロック200は、4つのサブブロック、すなわち、DPCH電力算出サブブロック210と、CPICH電力算出サブブロック220と、CPICH雑音電力算出サブブロック230と、振幅比算出サブブロック240とからなる。チャネル状態の推定を行うCS推定回路ブロック250は、SINR推定回路ブロック200の後段に配されている。
UMTSにおいて、SINR推定は、物理的なチャネルDPCH(専用物理チャネル)とCPICH(共通パイロットチャネル)とが受信した複素シンボルに基づいている。UMTSのチャネル構造は公知であり、例えば、仕様3GPP TS 25.211 V4.6.0(2002−09)(リリース4)に示されている。
DPCH電力算出サブブロック210の出力は、ファームウェア領域と振幅比算出サブブロック240とに送られる。CPICH電力算出サブブロック220の出力は、振幅比算出サブブロック240に供給される。振幅比算出サブブロック240の出力は、ファームウェア領域とCS推定回路ブロック250の入力とへ供給される。CPICH雑音電力算出サブブロック230の出力は、CS推定ブロック250のもう一つの入力とファームウェア領域とに供給される。ファームウェア領域は、例えば、DSPにより実現される。
以下に、各サブブロック210・220・230・240およびブロック250の構造と作用とについて、より詳しく説明する。
サブブロック210・220・230の入力信号は、逆拡散され遅延補正がなされたDPCHシンボルxdata、CPICHシンボルy、およびCPICHチャネルの重みhより形成される。CPICHチャネルの重みhは、ローパスフィルタに通されて逆拡散され、かつ遅延補正されたCPICHシンボルyであると見なすことができる。入力信号は全て複素値であり、UMTS受信機中で並列に処理される全ての伝搬パス(Rakeフィンガ:Rake finger)に供給される。ここで、上流の遅延補正により、パス固有の伝搬経路を通した時間のずれはすでに補正されている。これゆえに、様々な伝搬パスを介して受信した入力信号成分は、時間的に同期したものと見なせる。
DPCH電力算出サブブロック210は、複素二乗器CSQRと、マルチチャネルアキュームレータcell−accuとを有する。マルチチャネルアキュームレータcell−accuの出力には、制御可能なスケーラ(バレルシフタ)sc12が設けられている。制御可能なスケーラsc12の後段には、FIRフィルタFIRが接続されている。
DPCH電力算出サブブロック210中では、以下の式により、信号電力Wが計算される。
Figure 2006172475
式中、mはフィンガ番号、kは時間インデックスである。Cはセル番号、M(C)はセルCにおけるRakeフィンガ数、xdata(k)は、Rakeフィンガmのタイムスロットにおける、k番目のデータシンボル(k=1,…,K)である。Kは、あるタイムスロットのシンボル数である。
これにより、DPCH電力算出サブブロック210は、複素二乗器CSQRにより、複素DPCHデータシンボルxdata(k)の絶対値の二乗を計算する。タイムスロット(k=1,…,K)の全てのシンボル、および、セル(m=1,…M(c))の全てのRakeフィンガについて、絶対値の二乗がマルチチャネルアキュームレータcell−accuで累積される。各セルには、UMTSのタイムスロット毎に結果値が出る。このセル固有の結果値は、制御可能なスケーラsc12により、タイムスロット1/K毎のシンボル数の逆数を用いたスケーリングが施されることにより正規化される。Kは、タイムスロットの境界において、逆拡散係数が変わるときに変更することもできる。各セル用に得られた正規化された結果は、FIRフィルタ中のローパスフィルタに通される。W(C)は、セル番号CのセルのDPCH電力を示す。
CPICH電力算出サブブロック220は、DPCH電力算出サブブロック210と類似の構成である。CPICH電力算出サブブロック220中のスケーラを参照符号sc33で示す。データシンボルxdata(K)の代わりに、チャネル重みh(k)が処理される。式中、h(k)は、Rakeフィンガmのk番目のチャネル重み(k=1,...,10)を示す。タイムスロット毎に、常に10のチャネル重みが存在する。それゆえに、スケーリングは、常に、係数1/10を用いて行われる。CPICH電力算出用の式は、以下の通りである。
Figure 2006172475
式中、W(C)は、セル番号Cのセル中のCPICH信号電力を示す。
CPICH雑音電力算出サブブロック230は、DPCH電力算出サブブロック210およびCPICH電力算出サブブロック220と類似の構成であるが、このサブブロックは、さらに、入力側に減算器subを有する。y(k)は、Rakeフィンガmのk番目のCPICHシンボル(k=1,...,10)を示す。減算器subでは、差y(k)−h(k)を得る。この差は、CPICHからの推定雑音信号と考えることができるが、この理由は、この差が、元のCPICH信号から、ローパスフィルタに通して得られたCPICH信号を引くことにより形成されたものであることである。現時点での推定された複素雑音振幅y(k)−h(k)の絶対値は、複素二重器CSQR中で二乗され、アキュームレータcell−accu中で合計され、スケーラsc22でスケーリングされ、FIRフィルタFIRによりフィルタリングされる。セル番号Cのセルに対して得られる雑音電力N(C)は、以下のとおりである。
Figure 2006172475
上式から以下のことが明らかになる。すなわち、上述のアルゴリズム(式(1)および式(2))とは異なり、式(3)では、タイムスロット毎にCPICHシンボルの数、すなわち、10により除算が行われるのみならず、さらにセルのフィンガの数M(C)によっても除算が行われる。数M(C)は、各セル毎に異なり、タイムスロット毎に変わり得る。
全てのFIRフィルタFIR・FIR・FIRは、周波数0Hzにおいて利得1の低域通過応答特性を有している。これゆえに、これらのフィルタは、スケーリング係数を考える際に、考慮しなくても良い。FIRフィルタFIR・FIR・FIRの係数は、異なる添え字1・2・3により示唆されるように、互いに異なっている。
振幅比算出サブブロック240は、推定されたCPICH電力Wc(C)でDPCH信号電力W(C)を除算し、かつ、この比の平方根の計算を行う。このようにして得られた大きさA(C)を振幅比とする。各タイムスロットに対して、かつ、各セル(セル番号C)に対して値が算出される。
Figure 2006172475
CS推定回路ブロック250は、除算器DIVとスケーラsce−scaleとを有する。除算器DIVは、振幅比A(C)を雑音電力N(C)で除算する。除算の結果は、図3では不図示の、Rake受信機の合成器を構成するMRCハードウェアユニット(MRC:最大比合成器)に必要な正規化因子F(C)である。正規化因子F(C)は、各タイムスロットおよび各セルに対して、
Figure 2006172475
で算出される。
SINR推定回路ブロック200およびCS推定回路ブロック250から出力される結果は、MRC以外にDSP(ファームウェア領域)においても、さらに処理をするために必要とされる。ファームウェア領域では、例えば、ハードウェアで算出される信号電力を雑音電力で割り、その常用対数を取って、そこから、セル固有の信号対干渉雑音電力比SINRの推定値を、デシベル(dB)で表すことができる。
なお、式(1)〜式(5)で示した信号処理アルゴリズムは、例示的なものである。なぜならば、これらの式は、特定の動作モード(通常モード、データベース)時のみの値であり、他の動作モードでは異なり得るからである。
上述の内容から、以下のことが明らかになる。図3で示したハードウェアブロックのタスクは、比較的単純な数学演算を用いた入力信号の前処理であるが、これによってかなりのデータの縮小が可能になる。これにより得られる効果は、上記結果のデータをDSPにおいてさらに処理するに当たり、より複雑な数学演算を僅かに必要とするのみとなる、ということである。この複雑な数学演算は、ファームウェアで容易にプログラミングすることができる。
本発明では、式(1)〜(5)による「理想的な」アルゴリズムを直接ハードウェアに実装するのは非効率であるとしているが、この理由は、スケーリング演算のためには、2の累乗ではない数による除算が必要であるからである。10による除算、または、式(1)〜(5)で出てきたようなシンボルまたはRakeフィンガの変数による除算は、ハードウェア中よりも、ファームウェア中での方が、実質的により容易に実施可能である。したがって、ハードウェア中では、2の累乗による除算のみ、すなわちシフトレジスタ演算のみを行う。任意の正の整数Zによる除算は、「近似的な」2の累乗である
Figure 2006172475
による除算に置き換えられる。10で除算する代わりに、右方向に3ビットのシフトが行われるが、これは8での除算に相当する。WD(C)、A(C)、N(C)の結果は、誤差を有したまま、DSP(ファームウェア領域)に送られる。近似値誤差は、ファームウェア中で(DSPにより)補正される。この際、ファームウェア中では、ハードウェア中よりもずっと容易に、所望の数での除算を行うことができる。ハードウェアの結果にファームウェア中で乗算されるべき補正因子は、
Figure 2006172475
であり、すなわち、近似値と実際値の分母との商と同じである。
これに関して、スケーラsc12・sc22・sc33は実質的にバレルシフタであり、すなわち、プログラム可能なビット数だけの右方向(または左方向)へのシフトを行うことができ、これにより式(1)〜(3)中のスケーリング係数を近似することができるハードウェアユニットである。シフトするビットの数は、図2に示した大きさsv(シフト桁)に相当する。
スケーラsc12・sc22・sc33には、シフト演算以外にも、信号が所定の閾値に到達したときに信号を飽和させることにより、信号のオーバーフローを防ぐとともに、量子化の精度の観点からは不要となるLSBを切り捨てる機能がある。
スケーラsc12・sc22・sc33とは異なり、CS推定回路ブロック250におけるスケーラsce−scaleは、従来と同様のもの、すなわち、図1のハードウェア乗算器として実施する。この理由は、正規化因子F(C)が直接ハードウェア中で必要であり、ファームウェアにおいて除算を行った場合には時間が長くかかりすぎるからである(ハードウェア−ファームウェア−ハードウェアループ)。したがって、ファームウェアは、スケーラsc12・sc22・sc33中のスケーリング係数の全ての近似誤差の積から得られる補正因子を算出する。この値は、一般に、2の累乗ではない。このために、スケーラcse−scaleは、除算器DIVから出力されたデータ信号を、DSPで計算され(不図示の)レジスタでプログラムされたスケーリング係数と乗算するハードウェア乗算器を必要とする。
図2の回路においても、図3の回路においても、補正因子Kfは、ファームウェアにおいて計算される。2つの回路の差異は、図2では、補正ブロック100がファームウェアで実装されているのに対し、図3では、計算された変数のうちの1つの値F(C)に対する補正ブロックが、スケーラcse−scaleで表されている、すなわち、ハードウェア中で実現されていることである。
本発明をよりよく理解するために、これを簡単な数字の例で説明する。DPCHタイムスロット形式(スロット形式)を15とする。冒頭で示したUMTS標準3GPP TS 25.211(2002−09)によれば、この場合、K=304のデータシンボルが、タイムスロット中にある。復調伝播パスへのRakeフィンガを7つ有する(すなわち、M(C)=7である)セルを、基本とする。スケーラsc12をプログラミングするために、2のほぼ何乗が304になるかを計算、すなわち
Figure 2006172475
を計算する。それゆえに、スケーラsc12中では係数1/256を用いて乗算を行う。スケーラsc12を動作させるために、ビットシフト数(すなわち、数8)のみを、スケーリングパラメータレジスタ(図2中のレジスタ70に対応)中にプログラミングする。数256に比べて、数字の表記のために必要となるビット長は、明らかに短くなる。すなわち、図2におけるB<<Bである。
DPCH電力算出サブブロック210での近似誤差は因数304/256で表される、すなわち、結果はこの因数分だけ大きくなる。
CPICH電力算出サブブロック220での近似誤差は因数10/8で表されるが、これは、スケーラsc33中で、10の代わりに、8のみで除算を行ったからである。
CPICH雑音電力算出サブブロック230中の、スケーラsc22での近似誤差は因数70/64(10・M(C)=10・7=70の代わりに64で割るので)で表される。ここから、以下の補正因子が算出される。
信号電力(サブブロック210)の補正因子:
Kf=256/304=0.84210…
雑音電力(サブブロック230)の補正因子:
Kf=64/70=0.91428…
振幅比(サブブロック230)の補正因子:
Kf=sqrt(256/304)/(8/10)=1.02597…
したがって、ブロック250中の正規化因子を計算するための補正因子として、
Kf=sqrt((256/304)/(8/10))/(64/70)=1.12216…
を用いる。
最初の3つの補正因子Kf・Kf・Kfと、出力の大きさW(C)・N(C)・A(C)との乗算は、純粋に、(図2の補正ブロック100に対応するDSPを用いて)ファームウェア中でのみ行われる。最後の補正因子Kfによる乗算は、上述のように、スケーラcse−scaleにより、ハードウェア中で行われる。しかしその補正因子Kfはファームウェアで計算され、(不図示の)レジスタを用いて、ハードウェアブロック250中で、パラメータとしてプログラミングされる。
除算演算を行うための従来の回路を示す図である。 除算演算を行うための本発明の回路の実施形態を示す図である。 本発明の回路を複数回用いた、信号対干渉雑音電力比を推定するための回路の実施形態を示す図である。
符号の説明
80 スケーラ(バレルシフタ、桁シフト器)

Claims (17)

  1. ソフトウェア回路領域とハードウェア回路領域とを有する電子回路中で、X・Kの乗算演算またはX・1/Kの除算演算を行う方法であって、XおよびKは、2の値を取り得るPを底とする数値表記で、実数であるような方法において、
    svがKの近似値になるように、前記ソフトウェア回路領域(50)中でシフト桁svを計算する工程と、
    乗算時には前記ハードウェア回路領域(80)中でXをsv桁左にシフトし、除算時には前記ハードウェア回路領域(80)中でXをsv桁右にシフトする工程と、
    前記電子回路の前記ソフトウェア回路領域(50)中で、適切な補正因子Kfを計算する工程と、
    シフトしたXの値に前記補正因子Kfを乗算(100)する工程と
    を含むことを特徴とする方法。
  2. 前記シフト桁は、sv=round(logK)であることを特徴とする請求項1に記載の方法。
  3. 前記補正因子Kfは、除算時は(psv)/Kの値を有し、乗算時はK/psvの値を有することを特徴とする請求項1または2に記載の方法。
  4. 値Xは、値Kよりも時間的に速く変化することを特徴とする請求項1ないし3のいずれか1項に記載の方法。
  5. 前記シフトしたXの値に補正因子Kfを乗算する工程は、前記ソフトウェア回路領域(100)で行われることを特徴とする請求項1ないし4のいずれか1項に記載の方法。
  6. 前記シフトしたXの値が所定の数値に達した場合に、シフトしたXの値を飽和させる工程をさらに含むことを特徴とする請求項1ないし5のいずれか1項に記載の方法。
  7. 前記Xの値をシフトする工程は、バレルシフタ(80)により行われることを特徴とする請求項1ないし6のいずれか1項に記載の方法。
  8. UMTSの移動通信網中で、DPCHチャネルを介して伝送される信号電力および/またはCPICHチャネルを介して伝送される信号電力を計算するために実行されることを特徴とする請求項1ないし7のいずれか1項に記載の方法。
  9. ソフトウェア回路領域とハードウェア回路領域とを有し、X・Kの乗算演算またはX・1/Kの除算演算を行う電子回路であって、XおよびKは、2の値を取り得るPを底とする数値表記で、実数であるような電子回路において、
    svがKの近似値になるように、前記ソフトウェア回路領域でシフト桁svを計算するための、前記ソフトウェア回路領域に設けられた第1計算手段(50)と、
    乗算時には値Xを左にsv桁シフトし、除算時には値Xを右にsv桁シフトする、前記ハードウェア回路領域に設けられた制御可能な桁シフト器(80)と、
    適切な補正因子Kfを計算するために、前記ソフトウェア回路領域に設けられた第2計算手段(50)と、
    シフトしたXの値に補正因子Kfを乗算する手段(100)と
    を有する電子回路。
  10. 前記値svは、sv=round(logK)であることを特徴とする請求項9に記載の電子回路。
  11. 補正因子Kfは、除算時は(psv)/Kの値を有し、乗算時はK/psvの値を有することを特徴とする請求項9または10に記載の電子回路。
  12. 値Xは、値Kよりも時間的に速く変化することを特徴とする請求項9ないし11のいずれか1項に記載の電子回路。
  13. 前記シフトしたXの値に補正因子Kfを乗算する手段(100)は、ソフトウェア回路領域中に設けられていることを特徴とする請求項9ないし12のいずれか1項に記載の電子回路。
  14. 前記シフトしたXの値を飽和させる飽和段が設けられていることを特徴とする請求項9ないし13のいずれか1項に記載の電子回路。
  15. 前記制御可能な桁シフト器は、バレルシフタ(80)であることを特徴とする請求項9ないし14のいずれか1項に記載の電子回路。
  16. UMTSの移動通信網中で、DPCHチャネルを介して伝送される信号電力および/またはCPICHチャネルを介して伝送される信号電力を計算するように設計されていることを特徴とする請求項9ないし15のいずれか1項に記載の電子回路。
  17. UMTS通信システム中でSINR推定を行うための電子回路であって、
    DPCH電力計算を行うための第1ハードウェアブロック(210)と、
    CPICH電力計算を行うための第2ハードウェアブロック(220)と、
    雑音電力計算を行うための第3ハードウェアブロック(230)と、
    前記第1ハードウェアブロック(210)、前記第2ハードウェアブロック(220)、および前記第3ハードウェアブロック(230)で計算された変数に基づいて、データをさらに処理するためのプロセッサ(DSP)と、
    を有し、前記第1ハードウェアブロック(210)、前記第2ハードウェアブロック(220)、および前記第3ハードウェアブロック(230)は、請求項9ないし16のいずれか1項に記載のハードウェア回路領域を構成しており、前記プロセッサは、請求項9ないし16のいずれか1項に記載のソフトウェア回路領域を構成していることを特徴とする電子回路。
JP2005361062A 2004-12-14 2005-12-14 電子回路中で乗算演算または除算演算を行う方法およびその装置 Expired - Fee Related JP4219926B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102004060185A DE102004060185B3 (de) 2004-12-14 2004-12-14 Verfahren und Vorrichtung zur Durchführung einer Multiplikations- oder Divisionsoperation in einer elektronischen Schaltung

Publications (2)

Publication Number Publication Date
JP2006172475A true JP2006172475A (ja) 2006-06-29
JP4219926B2 JP4219926B2 (ja) 2009-02-04

Family

ID=35464189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005361062A Expired - Fee Related JP4219926B2 (ja) 2004-12-14 2005-12-14 電子回路中で乗算演算または除算演算を行う方法およびその装置

Country Status (5)

Country Link
US (1) US7895255B2 (ja)
EP (1) EP1672480B1 (ja)
JP (1) JP4219926B2 (ja)
CN (1) CN100480987C (ja)
DE (2) DE102004060185B3 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010067251A (ja) * 2008-09-12 2010-03-25 Altek Corp 許容誤差内の整数除算回路

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101685384B (zh) * 2008-09-23 2011-10-26 华晶科技股份有限公司 容许误差的整数除法运算电路
US9607029B1 (en) * 2014-12-17 2017-03-28 Amazon Technologies, Inc. Optimized mapping of documents to candidate duplicate documents in a document corpus
JP7320047B2 (ja) 2021-07-20 2023-08-02 日本特殊陶業株式会社 オゾン発生器

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4507676A (en) * 1982-10-28 1985-03-26 Rca Corporation Digital matrixing system
ATE63175T1 (de) * 1986-08-11 1991-05-15 Siemens Ag Verfahren zur schnellen division langer operanden in datenverarbeitungsanlagen und schaltungsanordnung zur durchfuehrung des verfahrens.
US5020017A (en) * 1989-04-10 1991-05-28 Motorola, Inc. Method and apparatus for obtaining the quotient of two numbers within one clock cycle
EP0795818A1 (de) * 1996-03-16 1997-09-17 Deutsche ITT Industries GmbH Multiplizierer mit unterschiedlicher Auflösung für einen Signalprozessor
US6446102B1 (en) * 1999-05-21 2002-09-03 Schneider Automation, Inc. Method and device for high speed scale conversion
DE10009451C1 (de) * 2000-01-31 2001-05-03 Micronas Gmbh Recheneinheit für eingeschränkte Signalverarbeitung
ITTO20010817A1 (it) * 2001-08-17 2003-02-17 Telecom Italia Lab Spa Circuito moltiplicatore.
DE10163350A1 (de) 2001-12-21 2003-07-17 Rohde & Schwarz Verfahren und Vorrichtung zum Erzeugen eines Ausgangssignals als mathematische Funktion eines Eingangssignals
US7127483B2 (en) * 2001-12-26 2006-10-24 Hewlett-Packard Development Company, L.P. Method and system of a microprocessor subtraction-division floating point divider
US6993551B2 (en) * 2002-04-12 2006-01-31 Visteon Global Technologies, Inc. Sparse-coefficient functions for reducing computational requirements
JP2003316567A (ja) 2002-04-24 2003-11-07 Seiko Epson Corp 除算器、露出制御装置および撮像装置
US7519649B2 (en) * 2005-02-10 2009-04-14 International Business Machines Corporation System and method for performing decimal division

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010067251A (ja) * 2008-09-12 2010-03-25 Altek Corp 許容誤差内の整数除算回路

Also Published As

Publication number Publication date
JP4219926B2 (ja) 2009-02-04
EP1672480B1 (de) 2010-07-21
EP1672480A1 (de) 2006-06-21
CN1818850A (zh) 2006-08-16
DE502005009942D1 (de) 2010-09-02
CN100480987C (zh) 2009-04-22
DE102004060185B3 (de) 2006-05-18
US7895255B2 (en) 2011-02-22
US20060143261A1 (en) 2006-06-29

Similar Documents

Publication Publication Date Title
US7953958B2 (en) Architecture for joint detection hardware accelerator
JP2002531889A (ja) ディジタル値プロセッサ
EP0935203A2 (en) Exponential calculation device
JP4219926B2 (ja) 電子回路中で乗算演算または除算演算を行う方法およびその装置
JP2003510876A (ja) プログラマブルシフタを使用するfirフィルタ
US20030161278A1 (en) Symbol data converting circuit
JP5032506B2 (ja) 積和演算を実行する方法及び装置
US20120284318A1 (en) Digital Filter Implementation for Exploiting Statistical Properties of Signal and Coefficients
JPH09325955A (ja) 二乗和の平方根演算回路
US7949925B2 (en) Fixed-point implementation of a joint detector
US6317063B1 (en) Inverse quantization using table with reduced size
KR20070100637A (ko) 라운딩 연산 방법 및 이 연산 장치
JP4665099B2 (ja) デジタル・フィルタのフィルタ係数を決定する方法およびデジタル・フィルタ
JP3081938B2 (ja) ワードスライスされた信号処理方法およびデジタル信号プロセッサ
JPH09138792A (ja) ログの近似値の計算方法およびその回路
CN107294625B (zh) 信号功率估计方法及装置、接收机
US20060002286A1 (en) Modulator
KR20070018981A (ko) 복소수 로그 alu
JP3890289B2 (ja) ラグランジェ補間サンプリングレート変換装置
JP2001189644A (ja) ゲイン可変型ディジタルフィルタ
CN1175581C (zh) 相加-比较选择电路
CN113515259B (zh) 一种适用于浮点格式的复数的近似取模实现电路及方法
US8600317B2 (en) Linearization signal processing with context switching
US6993551B2 (en) Sparse-coefficient functions for reducing computational requirements
CN117270813A (zh) 运算器、处理器和电子设备

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080922

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081014

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081112

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131121

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131121

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees