(57)【要約】【課題】値ｘのｂを底とする対数の近似値を決定するためのディジタル信号システム（３０）。【解決手段】本システムはｘをディジタル表現で記憶するための回路（３２）、およびディジタル表現の最上位桁（ＭＳＤ）を同定するための回路、ｂを底とする予め定められた対数の組を記憶するための表（３６）、表をアドレス指定し、それに応じて１組の数のうちの第１数（Ｉａ）に対応した予め定められた１つの対数を出力するための回路、予め定められた対数の１つに対応し、更に第１および第２の端点における対数間の推定関数に応答して、値ｘの対数の近似値を出力するための回路（３８）を含む。推定関数は端点からの距離を表すビット群に基づいて、対応する対数を推定する。【選択図】　　　図２
2004005662.tif 000002
【特許請求の範囲】
【請求項１】
値ｘのｂを底とする対数の近似値を決定するためのディジタル信号システムであって：
ｘをディジタル表現で記憶するための回路；
前記ディジタル表現の最上位桁を同定するための回路であって、前記最上位桁に隣接して、それぞれより低位のビット位置に１組のビットが位置している回路；
ｂを底とする予め定められた１組の対数を記憶するための表であって、前記予め定められた対数の各々が１組の数のうちの１つに対応している表；
それぞれより低位のビット位置にある前記１組のビットのうちの第１のビット群に対応して上記表をアドレス指定するための回路であって、それに応じて前記表が前記１組の数のうちの第１の数に対応する前記予め定められた対数の１つを出力するようになった回路；および
前記予め定められた対数の前記１つに対応し、更に第１および第２端点における対数間の推定関数に応答して、値ｘの近似対数を出力するための回路であって、前記第１端点が前記１組の数のうちの前記第１の数に対してｂの累乗を乗じたものに対応し、また前記第２の端点が前記１組の数のうちの第２の数に対してｂの累乗を乗じたものに対応しており、ここで前記推定関数が前記第１および第２端点のうちの１つから、前記１組のビットの第２のビット群に対応した距離だけ離れた位置にある数に対する対数を推定する回路；
を含むディジタル信号システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本実施の形態は信号処理に関するものであって、更に詳細には対数、逆対数、および逆数に関する近似値を求めるディジタル信号処理回路、システム、および方法に関する。
【０００２】
【従来の技術】
ディジタル信号処理は、各種のデバイス、信号、および評価、または演算を含む非常に多くの種類の最新技術の中で使用されている。例えば、信号処理を含むデバイスには汎用のディジタル信号プロセッサ（“ＤＳＰ”）、特定用途プロセッサ（“ＡＳＰ”）、特定用途集積回路（“ＡＳＩＣ”）、マイクロプロセッサ、あるいは更にその他のものが含まれよう。処理信号の種類には各種の信号が含まれるが、ここでは以下に述べる理由によりオーディオ信号をその一例として取り上げる。それらの信号に対する演算には、数多くの数値論理操作および算術的な演算が含まれるが、そのような演算は、信号処理を実行するデバイス内部に含まれる汎用の算術論理ユニット、または専用のハードウエア／ソフトウエアで行なわれよう。本実施の形態は以下で展開するように、それらに関連する。
【０００３】
【発明の解決しようとする課題】
各種信号と信号処理に含まれる演算とが与えられた場合、本実施の形態に関連して、特定の信号処理に含まれる精度は、特定の場面で要求される最も厳しいレベルとその他の場面で許容されるより緩やかなレベルとの中間に位置することが理解されよう。例えば、ハンドヘルド計算機または中央演算ユニットによって実行される算術計算で期待される精度は比較的高度な基準を定義すると考えられ、他方、その他のある種の信号処理で要求される精度はこの高度な基準よりも低いものであろう。信号処理でより低い精度が現れる一つの例は、オーディオ信号プロセッサまたは処理システムである。そのようなシステムは各種の信号処理を実行し、またそれに応答してスピーカ等によって演奏すべきオーディオ信号を出力する。人間の耳は多様な信号変動を許容するため、それと同様に、そこに含まれる信号処理も上述のようなハンドヘルド計算機や中央演算ユニットの例で要求されるものより低い精度基準を持つであろう。しかし、いくつかのオーディオ応用は、サウンド信号処理におけるわずかな改善、あるいはわずかというよりも大きな改善を要求するか、あるいは少なくともそれによって利益を得る。従って、本実施の形態は、高低の精度の極限の間で中程度の信号評価精度のレベルを要求する信号処理の例またはその他の例に対して特別な用途を提供することができる。
【０００４】
これ以外の背景として、いくつかの最新ディジタル処理システムは信号処理のために比較的コストの掛かる方法を組み込んでいることに注目されたい。例えば、本実施の形態は対数、逆対数、および逆数の関数に対する近似値を提供する。従って、本実施の形態が用いられない場面で、代替システムはそれらの機能を実行するために複雑な算術論理ユニットあるいは同等物を必要としよう。そのようなやり方では、デバイス寸法、複雑さ、およびそれに伴うデバイス・コストの増大といった数多くの問題が発生しよう。更に、いくつかの実施例では、単純にそれらの増大が許容できず、その場合には全体的な設計を破棄するか、あるいは最低でも大幅に変更して与えられた全体的なシステム仕様に合わせる必要がある。
【０００５】
更なる背景として、本発明人は、参照によってここに引用する、“対数および逆対数に関する近似値を求めるディジタル信号処理回路、システム、および方法（Ｄｉｇｉｔａｌ　ｓｉｇｎａｌ　ｐｒｏｃｅｓｓｉｎｇ　ｃｉｒｃｕｉｔｓ，ｓｙｓｔｅｍ，　ａｎｄ　ｍｅｔｈｏｄ　ｉｍｐｌｅｍｅｎｔｉｎｇ　ａｐｐｒｏｘｉｍａｔｉｏｎｓ　ｆｏｒ　ｌｏｇａｒｉｔｈｍ　ａｎｄ　ｉｎｖｅｒｓｅ　ｌｏｇａｒｉｔｈｍ）”と題する、２００１年９月１１日出願の米国特許第６，２８９，３６７号（以下、’３６７特許と呼ぶ）に述べられた内容を既に発明している。その表題が示唆するように、’３６７特許の新規な教えは対数および逆対数に関する近似値を求めることを目指している。’３６７特許では“最上位桁”という概念が述べられており、それについては以下で詳細に述べるが、本好適な実施の形態にも応用される。’３６７特許はまた、対数が整数と小数部とに分けられることを教えており、ここで整数部はこの特許の中でＭＳＤを同定し、次に付加的な演算を行なって小数部を決定するかあるいはそれの近似値を決定することによって同定される。これに対して、好適な実施の形態でもＭＳＤを特定はするが、その後は異なる工程が用いられて’３６７特許におけるものとは逆に対数近似においてより大きな精度が求められる。
【０００６】
以上のことから、対数関数を決定し、必要な場合には’３６７特許によって提供される精度を改善するために複雑な組み込みを必要とする従来技術の欠点を克服する必要が生ずる。好適な実施の形態はそれらの問題に関連する。
【０００７】
【課題を解決するための手段】
一つの好適な実施の形態では、ｂを底とする値ｘの近似対数を決定するためのディジタル信号システムが得られる。本システムはｘをディジタル的に表現するための回路、およびそのディジタル表現の最上位桁を同定するための回路を含む。最上位桁に隣接して、それぞれより低位のビット位置に１組のビットが位置する。本システムは更に、ｂを底とする予め定められた対数の組を記憶する表を含み、ここで予め定められた対数の各々が１組の数の中の１つの数に対応している。本システムは更に、それぞれ対応するより低位のビット位置の中の１組のビットのうちの第１ビット群に対応して前記表をアドレス指定するための回路を含み、またそれに応答して前記表は前記１組の数のうちの第１の数に対応する、予め定められた対数のうちの１つを出力するようになっている。最後に、本システムは前記予め定められた対数のうちの１つに応答し、更に第１および第２の端点における対数間の推定関数に応答して、値ｘの近似対数を出力するための回路を含む。第１端点は前記１組の数のうちの第１の数にｂの累乗を乗じたものに対応し、第２端点は前記１組の数のうちの第２の数にｂの累乗を乗じたものに対応する。更に、推定関数は前記第１および第２端点の１つから、前記１組のビットのうちの第２ビット群に対応する距離だけ離れて位置する数についての対数を推定する。
【０００８】
その他の回路、システム、および方法についても開示および特許請求する。
【０００９】
【実施例】
図１は動的レンジ圧縮器１０のブロック図を示しているが、これは好適な実施の形態が適用可能な信号処理デバイスの一例として示されており、これはまた上で引用した米国特許第６，２８９，３６７号にも示されている。動的レンジ圧縮器１０は信号入力１２においてオーディオ信号を受信し、以下で説明するように、その入力信号に応じた出力信号を出力１４に供給する。入力および出力信号間の関係を詳しく説明する前に、まず入力１２と出力１４との間の信号経路について考えてみると、それは次のようになっている。入力１２は遅延回路１６の入力へつながれ、また二乗平均推定器（“ＲＭＳ”）１８の入力へもつながれている。ＲＭＳ推定器１８の出力は利得回路２０の入力へつながれている。利得回路２０の出力はフィルタ２２の入力へつながれている。フィルタ２２の出力は結合器２４の入力へつながれ、結合器はまた遅延回路１６の出力を受信する入力も有している。まとめると、動的レンジ圧縮器１０の各ブロックが示され、このデバイスの全体としての動作を表示しており、当業者の知識とともにこの議論から、この動作を実現するための各種の回路を構築することができよう。更に、ブロックは別々に示されているが、ブロックの機能のいくつかは組み合わせたり、あるいは重畳したりすることがあり、圧縮器１０を実現するデバイスのタイプに関しては特にそうである。
【００１０】
動的レンジ圧縮器１０の動作について、ここでは一般的に、また後ではより詳しく説明しよう。一般に、圧縮器１０は、入力信号に予想されるものよりもより制限された振幅スイングを有する出力信号を供給するように動作する。言い換えれば、動的レンジ圧縮器１０のようなデバイスは、入力１２における入力信号の予想される振幅スイングを扱いきれないように限定された部品が含まれるシステムに含まれるのが普通である。すなわち、動的レンジ圧縮器１０はそのスイングを減衰あるいは“圧縮”させるように動作し、それによってそれらの限界に達しないようにする。例えば、オーディオ環境では、アナログ・ディジタル（“Ａ／Ｄ”）コンバータおよび適当な増幅を介した出力信号でスピーカを駆動する。従って、それらのデバイスのいずれもが限定された入力レンジを有するが、動的レンジ圧縮器１０を使用することによってそれらの限界を回避できるため、デバイスを損傷することがなく、あるいは好ましくない動作を引き起こすことがない。
【００１１】
圧縮器１０の動作を更に詳しく調べてみると、入力信号は遅延回路１６によって遅延を持たされ、また同時にそれはＲＭＳ推定器１８、利得回路２０、およびフィルタ２２を含む直列回路によって処理される。その後、これらの直列回路の結果を用いて結合器２４で遅延信号が修正され、最終的な結果が出力１４で出力信号となる。直列回路の動作の詳細に戻ると、ＲＭＳ推定器１８は入力信号のエネルギー尺度を決定する。これに関して、そして好適な実施の形態に関して重要なことであるが、この尺度解析はＲＭＳ評価の観点から行なわれることに注目されたい。更に詳細には、入力信号はＲＭＳ推定器によって測定され、またそれの属性の１つ（例えば振幅）が１つの測定によって求められ、それは以下の議論のために、値ｘと表記される。次に、ＲＭＳ評価が行なわれ、当業界では既知のように、そのような評価はｄＢ単位で表現される。ｄＢは次の式１に示すように対数として決定される。
【００１２】
【数１】
2004005662.tif 000003
【００１３】
次に、推定器１８および式１に関して決定された対数を用いて、利得回路２０へ適用すべき利得が決められる。一般に、利得回路２０は特定の入力信号レンジに対して利得が単に１である、すなわち出力信号の振幅が入力信号のそれと一致する（すなわち、入力に１ｄＢがあれば、出力にも１ｄＢがある）ように動作する。しかし、或る閾値を越えるエネルギーを有する入力信号に対しては、出力は減衰し、Ｎが１より大きいとした場合に、入力にＮｄＢがあれば１ｄＢの出力がある。更になお、いくつかの圧縮器では付加的な閾値が設定されて、そのような閾値の各々に対して利得回路２０によって実現される別の縮尺度があり、このために、より大きな入力信号に対しては付加的な減衰レベルが設けられている。任意の状況で、これも好適な実施の形態の観点から重要であるが、利得回路２０による調節は部分的に逆対数を使用することを通して達成されるのが普通である。従って、この意味において、ｆ（ｘ）の値から逆対数が取られる。これは入力信号に対応する測定ｘに基づいていたことを思い出して欲しい。次に利得回路２０からの調節された信号はフィルタ２２に通される。フィルタ２２は、利得回路２０によって生ずるであろう遷移を滑らかにするように働く。従って、オーディオ動作に関して、フィルタ２２は、人間の耳に聞こえる信号出力中のすべての強い変化を防止することが好ましい。具体的には、フィルタ２２は利得が増大するか減衰するかのいずれかに依存して異なる時定数を使用する。それらの時定数は当業界でアタックおよび減衰と呼ばれるものに関連する。最後に、フィルタ２２からの信号出力は結合器２４によって遅延回路１６からの遅延入力信号と組み合わされ、それによってＡ／Ｄコンバータおよび適当な増幅（図示されていない）を介してスピーカを駆動するための出力信号を出力１４に供給する。圧縮器１０に適用できそうな動的レンジ圧縮器に関する知識について読者の興味を満たすように付け加えるとすれば、読者はここに参照によって引用される、本出願と同じ単独の発明人を有する、“低組み込みコストのスケーリング可能な構成の動的レンジ圧縮器（Ｌｏｗ　Ｉｍｐｌｅｍｅｎｔ　Ｃｏｓｔ　Ｓｃａｌａｂｌｅ　Ａｒｃｈｉｔｅｃｔｕｒｅ　Ｄｙｎａｍｉｃ　Ｒａｎｇｅ　Ｃｏｍｐｒｅｓｓｏｒ）”と題する１９９９年９月２８日出願の米国特許出願０９／４０７，５５２号（事件番号ＴＩ−２６９１２）を参照されたい。
【００１４】
動的レンジ圧縮器１０およびそれの動作について一般的に説明してきたが、本実施の形態は、それぞれＲＭＳ推定器１８および利得回路２０に使用される、対数および逆対数を近似するための具体化例を実証する。これらに関して、式１は動的レンジ圧縮器のようないくつかの状況では１０を底として記述されているが、同じタイプの一般的な入力および出力信号間の関係はその他の数を底とするシステムでも評価されよう。言い換えれば、ＲＭＳ推定器１８のエネルギー評価が底１０で行われようとあるいは別の底で行われようと、入力／出力関係の振る舞いは同じであるか、あるいは類似している。更にまた、以下に述べる好適な実施の形態はディジタル回路を用いて実現され、必然的に底２の演算につながる二進数演算で演算を行なう。従って、以下に底１０よりも底２で信号処理対数決定を実行する各種の実施の形態が提供される。しかし、それらの新規な考えは、１０を含め、その他の底でも実施することができる。更にまた、異なる底の対数は次の式２に示す数学的関係を持つことに注意されたい。
【００１５】
【数２】
2004005662.tif 000004
【００１６】
式２から、当業者は、第１の底（例えば、底ｂ）での対数の決定が与えられれば、その決定は第２の底（例えば、底ａ）での対数を決定するように定数（すなわち、１／ｌｏｇｂ（ａ））によってスケーリングできる。従って、以下の議論は底２の決定について行われるが、結果を定数によってスケーリングして、底１０あるいはその他の底の決定を得ることもできることに注意すべきである。
【００１７】
ここで２を底とする対数の値を近似するための好適な方法論に注意を向けよう。すなわち、導入として本好適な実施の形態の１つの目的は次の式３のｆ（ｘ）に対する近似値を得ることである。
【００１８】
【数３】
2004005662.tif 000005
【００１９】
式３に対するディジタル回路解を実現するために、また本明細書の後のほうで明らかになる理由によって、本発明人は、先に引用した米国特許第６，２８９，３６７号において、次の式４に定義されるように解を整数と小数部とに分割することによって式３を解くことが助けになることを見出した。
【００２０】
【数４】
2004005662.tif 000006
【００２１】
ここで、
ｉは式４の解の整数部、および
ｆは式４の解の小数（分数）部である。
【００２２】
式４の例について、ｘ＝４の簡単な場合を考えれば、ｌｏｇ２（４）についてｉ＝２およびｆ＝０となる。最終的に式３に対する近似解を得るために、引用された米国特許６，２８９，３６７号は式４に示すようにｉおよびｆを別々に決定し、次にそれらの別々に決定された値を加えることによって式３を解くことを提案する。しかし、好適な実施の形態は以下で説明するように、各種の異なるやり方で演算を行なうことができる。しかしいずれの場合でも、米国特許第６，２８９，３６７号に述べられた“最上位桁”という概念は便利なので、それをここで式４についても適用し、その後で好適な実施の形態に適用することにしよう。
【００２３】
米国特許６，２８９，３６７号から式４のｉを決定するための方法論を振り返ると、また本明細書の後のほうで明らかになる理由から、本発明人は、式３のディジタル回路表現において、ｆ（ｘ）中のｘを次の式５のように更に分離することが有用であることを見出した。
【００２４】
【数５】
2004005662.tif 000007
【００２５】
ここで、
ｌはｌ≦｜ｘ｜となるような最大の２の累乗であり、
ｒはｌに含まれないｘの残りである。
【００２６】
式５の例で、ｘ＝４３の場合を考えよう。すなわち、ｌは４３に等しいかそれよりも小さい２の最大累乗であり、従ってｌは３２に等しい（すなわち、２５＝３２≦４３）。更に、残りｒは十進数の１１に等しい（すなわち、４３−３２＝１１）。
【００２７】
式５をディジタル回路として具体化することの意味について理解するために、ここで更に次の式６によって定義されるように式５のｌを変形する。
【００２８】
【数６】
2004005662.tif 000008
【００２９】
式６で、ｐはｌを与えるための２の累乗である。式６のｐの値を考える例として、再びｘ＝４３の場合を考えよう。ｌは４３に等しいかそれよりも小さい２の累乗の最大値である（すなわち、ｌ＝３２）ことを思い出すと、ｐはｌを与える２の累乗であることから、ｐ＝５となる（すなわち、２ｐ＝２５＝３２）。
【００３０】
次に、式６からのｌの値を式５に代入して、次の式７を得る。
【００３１】
【数７】
2004005662.tif 000009
【００３２】
式６および７から、ｌの値を決定する別の方法はｐの値を決定することであり、従ってｌは２のｐ乗を計算することによって決定されよう。この考察は本発明の実施例では重要である。それは好適な実施の形態を実施するために、二進数で表された数値をどのようにディジタル回路で処理するかを考えることに以下で関連するからである。具体的には、好適な実施の形態は二進数で表現された数値について、二進数表現におけるゼロでない最上位ビットの位置が式６および７のｐの値に等しいという事実から得られるメリットを活用している。この概念を例で示すために、再びｘ＝４３の場合を考えよう。この例では、ｘの値を８ビットの二進数表現で次の表１に示してある。この表は表現中の各ビットの位置も示している。
【００３３】
【表１】
2004005662.tif 000010
【００３４】
表１で、最上位ビットは左側、最下位ビットは右側であり、本明細書では以降もこのやり方を踏襲する。しかし、この変換はほんの例示的なものであり、当業者には理解されるように、本発明の教えはビットを逆順に並べた場合についても同様に適用できる。この変換と、表１の表示とを与えれば、二進数表現のゼロでない最上位ビットが位置５に現れていることが分かるであろう。すなわち、上で言及した前提と整合して、式６および７中のｐの値はそのビット位置に等しく、従ってｘ＝４３に対してはｐ＝５（すなわち、２ｐ＝２５）となる。本明細書の残りの部分での目的のために、この桁、すなわち、ゼロでない最上位ビットの位置にある１を最上位桁（“ＭＳＤ”）と呼ぶことにしよう。
【００３５】
以上のことから、いまや当業者は、ｐは、ｘの値の二進数表現から、ｐの値がｘ中のＭＳＤを位置決めすることによって決定できることを確認することができよう。言い換えれば、ＭＳＤ＝ｐである。この点に関して、ＭＳＤを決定するための好適な方法について以下に議論する。しかし、この時点では、先行の変数定義の結果、ｐの値が式４のｉの値に等しくなることを立証しておくことも有益であろう。従って、後に参照するために、この関係を次に式８として示す。
【００３６】
【数８】
2004005662.tif 000011
【００３７】
式８に示されたこの関係は、ｘ＝４３の場合について、また更にすぐ後で挙げるその他の例について検討することによって容易に理解されよう。
【００３８】
ｘ＝４３について、ｐとも定義されるＭＳＤは５に等しいことが示された。また計算機を使って式４をｉについて解くと次の式９が得られる。
【００３９】
【数９】
2004005662.tif 000012
【００４０】
言い換えれば、２を底とする対数の整数部ｉはここでＭＳＤと等しいことが示された。別の例としてｘ＝７０と仮定しよう。そうすると、７０の二進数表現は次の表２のようになる。
【００４１】
【表２】
2004005662.tif 000013
【００４２】
従って表２から、ｘ＝７０に対するＭＳＤは６となる。以上の仮定のもとで、この６というＭＳＤはｉにも等しい。このことは計算機などで確認されよう。すなわち、ｌｏｇ２（７０）＝６．１２９となるはずである。言い換えれば、式４および８中の項のうち、ｉは６に等しい。最後の一例としてｘ＝３１であると仮定しよう。そうすると、３１の二進数表現は次の表３にようになる。
【００４３】
【表３】
2004005662.tif 000014
【００４４】
表３から、ｘ＝３１に対するＭＳＤは４となる。従って、以上の式８の仮定のもとで、４であるＭＳＤはｉにも等しい。このことは計算機などで確認できよう。それはｌｏｇ２（３１）＝４．９５４となるはずであるからである。言い換えれば、式４および８の項のうちで、ｉは４に等しい。従って、以上のことから、また当業者が検討するその他の例についても、二進数表現が与えられれば、ＭＳＤを決定することによって式４のｉを決定する方法論が与えられたことになる。このように、一旦ｐが決まれば、それに対応してｉに対する解が決まる。
【００４５】
以下に更に詳細に説明するように、好適な実施の形態は、二進数形式で表現されたｘに対して取る式３のｘの近似対数を一般に３つの工程で決定する。それらの３つの工程について、ここで図２のブロック図を参照しながら機能的に説明する。この図は２を底とする対数推定器３０を一般的に示している。推定器３０はブロック機能図で示されているが、当業者は各種の設計上の考察に基づいて、これらのブロックを別々に、あるいは組み合わせた形で具体化することができよう。いずれにしろ、後に詳細に説明するように、推定器３０はその入力３０ｉｎにｘの値を受信し、それの２を底とする対数ｌｏｇ２（ｘ）の推定値をそれの出力３０ｏｕｔに生成する。推定器３０はｘの二進数表現、すなわちそれに対して２を底とする対数が推定される値を記憶する記憶要素３２を含む。一例として、図２では記憶要素３２は１０ビットとして示されているが、予想される応用に対して十分な任意の長さを採用することができる。
【００４６】
記憶要素３２に付随してＭＳＤ検出器３４があり、それはＭＳＤの位置を検出し、また上で引用した米国特許第６，２８９，３６７号のそれらのような各種の実施例に従ってそれを行なう。例えば、ＭＳＤ検出器３４は記憶要素３２からｘの値のコピーをその中に作製し、次にそのコピーされた値を逐次右方向へシフトさせ、その間に各シフトの後でシフトされた値が１に等しいことをチェックするシフトレジスタを含むことができる。別の例として、シフトレジスタはｘの値を左方向へシフトし、その間に、各シフトが行われた後でシフトされた値がレジスタに記憶される２を底とする最大累乗に等しいか、それを超えないことを確認するようにしてもよい。ＭＳＤ検出器３４を実施する別のやり方として、記憶要素３２に記憶されているｗビットのワードに基づく真理値表を具体化する論理回路を含め、それがｗビット・ワード中のＭＳＤを同定する出力ワードを供給するようにしてもよい。更に別のやり方として、二進数検索技術を用いて、例えば、記憶要素３２に記憶されたワードの部分を検索し、各種部分を消去することによって最終的にＭＳＤの位置に収束するようにしてもよい。
【００４７】
一旦、ＭＳＤ検出器３４によってＭＳＤが同定されれば、ＭＳＤに隣接し、それに続くより低位の次のｔビットが１つのアドレスとして表３６に与えられる。ここでｔは予め定められた数であり、当業者の考察に基づいて決められる。図２の例では、ｔ＝３であり、従って表３６にはアドレスとして３ビットが示されている。後により明らかになる理由によって、表３６は任意のタイプの適当な電子式記憶メディアであり、それは２ｔ個の数値を記憶する。ここで、各値は整数Ｉ１ないしＩ２ｔの予め定められた２を底とする高精度な対数であり、整数は２ｔないし２ｔ＋１−１であるのが望ましい。このように、本例では、表３６は、２３ないし２３＋１−１すなわち８ないし１５の範囲の各整数に対する２を底とする高精度の対数を記憶する。更にこれに関して、図３は表３６のこの例を一般に３６’で示している。図３はまた、表３６’に記憶された値の好適な論理の向きを示している。すなわち、各々の逓減数には対応する逓減アドレスが与えられる。このように、表３６’中の２を底とする最も小さい対数、すなわちｌｏｇ２（８）は二進数アドレス０００に記憶され、他方、表３６’中の２を底とする最も大きい対数であるｌｏｇ２（１５）は二進数アドレス１１１に記憶される。いずれにしろ、図２に戻って、記憶要素３２からのｔビットが表３６中に記憶された対応する１つの値をアドレス指定し、表３６はそれに応じてそのアドレス指定された値（すなわち、高精度の対数）を出力する。最後に、そして後に説明するように、記憶要素３２中のＭＳＤに続くビット数がｔよりも少ない場合は、適当な個数のゼロを加えることによってｔビットが生成される。例えば、もしｘ＝５でｔ＝３であれば、二進数でｘ＝１０１である。一旦、ＭＳＤが検出されれば、当業者は分かるようにｔ＝３でありながらＭＳＤの後には２ビットしか続かない。その場合、この例では、ＭＳＤに続く０１の値の最後にゼロを１個追加して３ビットのアドレス０１０を生成し、表３６をアドレス指定するｔビットとする。
【００４８】
表３６（あるいは図３の例では表３６’）からアドレス指定された値は結合器３８として示されたものへ供給される。また記憶要素３２に関連して、もしあれば記憶要素３２中にあってｔビットよりも重要性の低い複数のビットが、Δとして示された二進数値を構成する。この値Δは、後に詳しく説明する理由によって結合器３８の全体的な関数の一部として示されている区分線形（“ＰＬ”）の内挿器４０へ出力される。具体的には、ＰＬ内挿器４０は、部分的にＰＬ内挿器４０を含むように示された結合器３８が、ｘの２を底とする対数の推定値を、それに対応して表３６に記憶されている高精度の対数を有する整数（あるいは以下に詳細に説明するように、それらの整数の１つに２ｎを乗じたもの）からｘがどれだけ離れているかに基づいて決定することを表している。ここで、その距離はΔの値に反映される。またこれに関して、ｎの値はＭＳＤ−ｔに等しく、またそれはＭＳＤ検出器３４から結合器３８（これはｔ＝３の値へのアクセスできると仮定されている）へ供給されるように示されている。以下に詳細に説明するように、結合器３８はそれの各種入力を結合してｘの２を底とする対数の近似値を提供する。
【００４９】
更に導入を続けると、推定器３０の演算は次のようになる。第１に、ＭＳＤ検出器３４がｘのＭＳＤの位置を同定する。第２に、表３６をＭＳＤに続くｔビットでアドレス指定して、表３６から、表３６にそれの２を底とする対数を記憶されている整数の高精度な２を底とする対数が供給される。ここで、表３６中のすべての整数のうちで、その整数に２ｎを乗じたものがｘに最も近いがそれを超えることはないように選ばれる。第３に、この対数の区分線形内挿が、ｘと、表３６によって高精度な対数値が提供される整数と２ｎとの積との間の差に基づいて計算される。このとき、結合器３８はｘの２を底とする対数の最終的な近似値に向けてのそれらの演算の累積を表している。これらの工程の各々は以下で更に詳しく説明するが、それに先立って好適な実施の形態の理解を容易にする各種の数学的およびその他の関係について説明する。
【００５０】
ＭＳＤに続くビット数ｔに応じて表３６を利用することをもっと詳しく理解するために、図４は１≦ｘ≦１６の値に対する式３の関数をプロットしている。更に、参考として、８≦ｘ≦１６の値中の各整数に対する高精度なｌｏｇ２（ｘ）の値が次の表４に示されている。
【００５１】
【表４】
2004005662.tif 000015
【００５２】
図４のプロットおよび表４の値から、当業界で既知のように対数関数の一般的な勾配が見て取れる。しかし、付加的な事実にも注目する価値がある。具体的には、図４に示すように、表４のｘの値は第１レンジｒ１として指定されており、ここでｒ１はｘ＝２３＝８およびｘ＝２４＝１６の端点値で囲まれている。すなわち、レンジｒ１は２の累乗１つ分に広がっている。以下の議論およびこのプロットは、ｆ（ｘ）の高精度な対数値が２の累乗レンジｒ１で与えられれば、任意の他の２の累乗レンジにある値ｘｄに対する対応する高精度な対数値は、ｘｄについてそれのレンジの端点からの相対距離がｘについてのレンジｒ１中の対応する端点からの距離と同じである限り、決定できることを示している。この結果はまず表４を次の表５の形に拡張することによって実際に示される。図５はまた、これも図４にプロットされているｘ＝２２＝４とｘ＝２３＝８の端点によって囲まれた２の累乗レンジｒ２中のｘの値を含んでいる。
【００５３】
【表５】
2004005662.tif 000016
【００５４】
表５の例を用いて、レンジｒ１中のｘ＝１０に対する２を底とする対数とレンジｒ２中のｘ＝５との比較を行い、好適な実施の形態において利用される２つの態様を示そう。
【００５５】
好適な実施の形態で利用される第１の態様として、ｘ＝１０とｘ＝５とに対する２を底とする対数の比較において、それらの値の各々に対する相対距離はそれぞれの２の累乗レンジの端点から２５パーセントであることに注目されたい。言い換えれば、ｘ＝１０は８≦ｘ≦１６を占めるレンジｒ１中にあり、そしてｘ＝１０はレンジｒ１中の下方端点ｘ＝８から２５パーセント（すなわち、（１０−８）／（１６−８）＝０．２５＝２５％）離れている。同様に、ｘ＝５は４≦ｘ≦８を占めるレンジｒ２中にあって、また、ｘ＝５はレンジｒ２中の下方端点Ｘ＝４から２５パーセント（すなわち、（５−４）／（８−４）＝０．２５＝２５％）離れている。レンジの端点（例えば、それぞれのレンジの下方端点）からの距離がこのように同じであれば、各値に対する対数の小数部も同じであり、これはこの場合、表５に示されるように０．３２１９２８に等しい。
【００５６】
好適な実施の形態で利用される第２の態様として、一例として比較されるｘ＝１０およびｘ＝５の２つの値の２を底とする対数（すなわち、３．３２１９２８および２．３２１９２８）間の差は、これら２つのｘの値のそれぞれ２の累乗レンジ間の整数レンジ距離に等しいことに注意されたい。言い換えれば、各レンジは任意のその他のレンジから整数レンジ距離ｎだけ離れている。ここで各レンジは２の累乗１つ分を占めているため、第１の２の累乗レンジ中の第１の数ｘの対数は、第２の、異なる２の累乗レンジ中の第２の数の対数から同じ整数ｎだけ離れており、また第１レンジ中のそのような第１数の各々に対してそれは第２レンジ中の第２数ｘの２ｎ倍になっている（ここで、ｎは正でも負でも構わない）。例えば、表５の例では、レンジｒ２はレンジｒ１からレンジ１個分離れている。すなわち、レンジｒ２中の各数はレンジｒ１中にそれらの数から２ｎ＝２ｌだけ離れたカウンターパートを有している。更に、レンジｒ２はレンジｒ１に対して負の方向にあるため、レンジｒ２はレンジｒ１から負の方向に１レンジ離れていると言うことができる。別の例として、もし図３および表５が１６≦ｘ≦３２に広がる第３レンジｒ３を示すようになっていたとすれば、それはレンジｒ１から１レンジ離れており、またレンジｒ２からは２レンジ離れているということになる。ここで、ｘ＝１０およびｘ＝５の例に戻って、これらの対数間の差は１に等しいこと（すなわち、３．３２１９２８−２．３２１９２８＝１）に注意されたい。また既に述べたように、この同じ差が（ｘ＝１０に関する）レンジｒ１と（ｘ＝５に関する）レンジｒ２との間のレンジ距離であることに注目されたい。
【００５７】
上で議論した２つの態様は、それらの対応するレンジの下方端点から同じ相対距離にある表５中の対応する値のすべてに適用できる。従って、別の例として、ｘ＝１２とｘ＝６に対する対数を比較しよう。具体的には、表５から分かるように、ｌｏｇ２（ｘ＝１２）＝３．５８４９６３で、レンジｒ１中のｘ＝１２はそれのレンジｒ１の下方端点、すなわちｘ＝８から５０％離れている。次にｘ＝６に注目すると、それはレンジｒ２にあって、これもそれのレンジｒ２の下方端点、すなわちｘ＝４から５０％離れている。従って、これらの同じような位置にあるｘの値に関する２を底とする対数は同じ小数部、すなわち０．５８４９６３を持つ。更に、レンジｒ２はレンジｒ１から−１のレンジ距離にあるので、先に述べたことから、ｌｏｇ２（ｘ＝６）＝ｌｏｇ２（ｘ＝１２）−１となるはずである。表５の２つのｆ（ｘ）値、３．５８４９６３と２．５８４９６３とを比較することによって、当業者はこの関係を確認することができる。以上のことから、当業者は理解されるように、第１の２の累乗レンジ中にある既知の２を底とする対数が与えられると、第２の２の累乗レンジ中で同じような位置にある２を底とする対数は、第１と第２の２の累乗レンジ間の整数距離を第１レンジ中にある既知の対数に加えることによって非常に容易に決定できる。好適な実施の形態はこの態様を、表３５（または表３６’）中の１つの２の累乗レンジにおいて、整数についての２を底とする対数を記憶することによって実現する。従って、図３に少し戻って、当業者は表３６’がレンジｒ１中の整数の２を底とする対数について高精度な値を記憶することを理解されよう。（例外はｘ＝１６に対する２を底とする対数であるが、これはｘ＝８に対する２を底とする対数に１を加えることによって容易に得られる）従って、また後で詳しく説明するように、好適な実施の形態は部分的にレンジｒ１の外にある値ｘｄの２を底とする対数を、レンジｒ１と、ｘｄが位置する２の累乗レンジとの間の距離に基づいて決定する。
【００５８】
一例として、また隣接する２の累乗レンジに対して上述の２つの態様を説明してきたが、この原理はまた数学的にも確認することができ、そうすることによって好適な実施の形態の後述の各種態様を容易に実現できる。この数学を実証するために、再びｘ＝１０とｘ＝５に対する２を底とする対数を比較する上述の第１例を参照する。これらが上で示したように−１だけ異なることを思い出して欲しい。第１に、ｘ＝１０に対する２を底とする対数は次の式１０に示される。
【００５９】
【数１０】
2004005662.tif 000017
【００６０】
しかし、ｘ＝１０の値は因子２によって次の式１１に示すように分解される。
【００６１】
【数１１】
2004005662.tif 000018
【００６２】
対数の規則によれば式１１は更に次の式１２に示すように２つの加数の和に分解される。
【００６３】
【数１２】
2004005662.tif 000019
【００６４】
最後に、式１２の加数されるｌｏｇ２（２）は容易に得られるかあるいは既知であり、従って式１２は次の式１３の形に書き換えられる。
【００６５】
【数１３】
2004005662.tif 000020
【００６６】
従って、式１３は、上で図４および表４を通してグラフおよび表の形で示したことを確認する。すなわち、ｌｏｇ２（１０）はｌｏｇ２（５）よりも整数１だけ大きい。
【００６７】
上記のことはまた１レンジ以上はなれた２の累乗レンジに対して一般化されよう。具体的にはもしｎ＝１であれば、式１２は次の式１４の形で書くことができる。
【００６８】
【数１４】
2004005662.tif 000021
【００６９】
更に、ｌｏｇ２（２ｎ）＝ｎであるため、式１４は次の式１５に示すように書き直されよう。
【００７０】
【数１５】
2004005662.tif 000022
【００７１】
式１５は従ってまた２の累乗の５倍に等しい任意の値に対する２を底とする対数を決定するための一般的な表現を与える。すなわち、次の式１６の形に一般化されよう。
【００７２】
【数１６】
2004005662.tif 000023
【００７３】
以上のことが与えられると、式１６は数学的に上で示唆されたことを確認し、更にｔビットを表３６に供給する図２の働きについて詳しく説明する。すなわち、数ｘ（例えば、ｘ＝５）に対する第１の正確な対数が与えられれば、同じように正確な値を、第１の正確な対数にｎを加えることによって、２ｎ×ｘに対しても見出すことができる。以上のことは更に、上述の例を逆に考察することによっても示すことができる。すなわち、十進数で１０の既知の高精度の２を底とする対数を与えると、その既知の値にｎを加えることによって、同じように正確な十進数１０の２ｎ倍の任意の倍数の２を底とする対数が容易に決定される。（例えば、１０×２−１＝５であることからｌｏｇ２（１０）からｌｏｇ２（５）を得る）このように、図２に戻って、表３６が２ｔ個の引き続く整数についての高精度な対数値を記憶していることを思い出すと、ＭＳＤに続くｔビットが、２ｎを乗じたときに表３６に２を底とする対数を有する任意のその他の数に対して２ｎを乗じたものと比べてｘを超えずそれにより接近する数についての単一の高精度な対数値を選択することに注意されたい。ｘ＝５の例（すなわち、二進数で１０１）では、ＭＳＤに続くｔビットの二進数はうしろにゼロを加えて０１０となる。この値は、表３６’でｌｏｇ２（１０）の高精度な値を検索することについての先の例を示している。この値が一旦知れれば、ｘ＝５は十進数の１０の２ｎ倍の正確な倍数であるため、ｘ＝５の２を底とする対数はそれにｎの値を加えることによって決定できる。上で導入され、更に以下で展開するように、ｎ＝ＭＳＤ−ｔであり、これは本例では２−３＝−１である。従って、推定器３０はｎのｌｏｇ２（１０）の値を表３６の適当な値に加えることによって、ｘの２を底とする対数の近似値を決定することができる。
【００７４】
付加的な例もまた、ｘのより大きい値に関して説明しており、先行例と整合している。すなわち、ここでは図２に実際に示されている例に注目して欲しい。この場合、記憶要素３２は二進数ｘ＝００１０１０１１０１を記憶している。当業者は容易に確認できようが、この二進数値は十進数で１７３に等しい。再び、ｔ＝３の例を用いると、先のことから、図３の表３６’に示すように、２３ないし２３＋１−１、すなわち十進数で８ないし１５の整数に対する２ｔ個の２を底とする高精度な対数を記憶していることが分かっている。更に上で説明したように、ｌｏｇ２（ｘ）を決定するための作業の一部として、ｎをこれらの２を底とする対数に加えることができる。これに関して、また表３６’から適当な値を選択するために、記憶要素３２中のＭＳＤに続くｔ＝３ビットは０１０に等しく、それらを用いて表３６’をアドレス指定できる。従って、図３に示すように、０１０のアドレスは整数１０に対応し、またｌｏｇ２（１０）のそれに対応する表の値に対応する。従って、この値が結合器３８へ出力される。この選択が好ましいのは、表３６’に対数値を記憶されたすべての整数に対して、整数１０と２ｎの積は、表３６’に対数が記憶された任意のその他の整数の２ｎ倍と比べて、どれよりもｘ＝１７３に近くそれを超えないためである。言い換えれば、次の表６を見てもらえば、図３の表３６’に含まれる値を有する各整数を示しており、更に各々のそのような整数の２ｎ倍を、ｎ＝｛１，．．．，４｝について示している。
【００７５】
【表６】
2004005662.tif 000024
【００７６】
表６を調べて、任意の連続する２つの値の間でｘ＝１７３に関する例を位置付けることによって、ｘ＝１７３が表６の最後の列に示された１６０と１７６の端点間の領域に含まれることが分かる。別の言い方をすると、ｘは２４×１０＝１６０≦ｘ≦２４×１１＝１７６を占める領域に存在する、すなわち、ｘ＝１７３は高精度な値を表に記載された対数値すなわちｌｏｇ２（１０）およびｌｏｇ２（１１）を有する整数２個の２ｎ倍のものの間にあると言える。言い換えれば、表６（そしてそれに対応して表３６’）に示されたすべての整数に対して、整数１０はｎ＝４として２ｎの因子を乗じたときにｘ＝１７３を超えずにそれに最も接近している。従って、また以下で分かるであろうが、好適な実施の形態はそのｌｏｇ２（１７３）の推定を部分的にｌｏｇ２（１０）のこの下方端点の２を底とする対数に基づいて行なう。
【００７７】
ｘ＝１７３についての例を続けながら、ここで図２に戻ると、ＭＳＤ−ｔ＝ｎであること、すなわち本例ではｎ＝４であることを思い出して欲しい。従って、ｌｏｇ２（１７３）の一次推定として、ｌｏｇ２（１０×２４）＝ｌｏｇ２（１０）＋４＝ｌｏｇ２（１６０）の値を決めることができる。もちろん、この場合そのような推定は高精度なものではない。その理由はそれがｘ＝１６０の値を表しており、欲しいのはｘ＝１７３だからである。言い換えれば、ｘ＝１７３の例に対して、また高精度な既知の対数はｌｏｇ２（１０×２ｎ）に対応するので、この工程のみを用いて近似できる最近接の対数はｌｏｇ２（１６０）ということになる。しかし、この例で、ｘ＝１７３＝１０×２４＋１３である、すなわちｘはｌｏｇ２（１６０）の高精度な表に示された値から整数１３だけ離れている。この結果、そして以下で詳細に説明するように、好適な実施の形態は、更に、ｘ＝１７３が、表に示されて利用できる高精度な対数値から或る距離だけ離れているという付加的な事実に従って近似の調整を続ける。
【００７８】
ｘ＝１７３の例を続けると、多くの場合にそのようになるのであるが、ｘの値（すなわち、それに対する２を底とする対数を探している対象）は、表３６に２を底とする定数を記憶されている整数の２ｎ倍に正確に一致しないであろう。そのような場合、推定器３０は、更に、図２のＰＬ内挿器４０によって示されるように、またここで詳しく説明するように、区分線形を用いてｌｏｇ２（ｘ）の近似を展開する。これに関して、図５は端点ｘ＝４およびｘ＝８によって囲まれたレンジｒ２部分の拡大図を示している。更に、図５にはｌｏｇ２（ｘ）の実際のプロットが点線で示されており、ここで、ｌｏｇ２（ｘ）ＰＬと名づけた区分線形プロットもまたｘ＝５、ｘ＝６、およびｘ＝７の各々に対するｌｏｇ２（ｘ）の値の間の実線として示されている。これらの２つのプロットが与えられれば、好適な実施の形態は更に、１つの２の累乗レンジの中で、実際のプロットと区分線形プロットとが互いに極めて接近しているという事実を活用する。この結果、好適な実施の形態は、求めている２を底とする対数が表３６中に正確なカウンターパートの２ｎ倍を持たない数ｘの対数である場合、そして図５の実際のプロットと区分線形プロットとが接近していてこのやり方で提供できる誤差が許容できる場合に、区分線形を利用する。
【００７９】
表３６によって提供される近似を推進するためにＰＬ内挿器４０による区分線形の利用をどの程度まで進めるかは、ｎによって調整されるが、Δの値に反映される。具体的には、図２においてΔが記憶要素３２中のｔビットに続くビットの値として定義されていることを思い出して欲しい。ここで実証するように、このΔは、ｘと、表３６に高精度な２を底とする対数が記憶されている整数の２ｎ倍との差分を示している。ここで、その整数はｔビットによってアドレス指定される。例えば、図２に示す例を思い出してもらうと、ｘ＝１７３であった。上で示したように、ｘ＝１７３に対して、これに対応する高精度に記憶され、アドレス指定できる２を底とする対数はｌｏｇ２（１０）に対するものであり、整数ｎ＝４をそれに加えることによって、ｌｏｇ２（１０×２４＝１６０）についての対応する高精度な値が得られる。この決定で、この値から望みのｘ＝１７３までの距離は１３（すなわち、１７３−１６０＝１３）であることを思い出そう。ここで図２の記憶要素３２を見ると、Δの二進数値が１１０１であることが分かる。当業者はこれが十進数の１３に等しいことを確認することができよう。以上のことは図６にグラフとしても実証されている。この図６はｘ＝１７３が含まれる領域１６０≦ｘ≦１７６中の整数について実際の２を底とする対数を示している。具体的には、この例において、端点ｘ＝１６０およびｘ＝１７６を持つ図６領域が関与する。その理由はそれが、ｌｏｇ２（１０）およびｌｏｇ２（１１）の対応する高精度な表に示された対数値に対してｎを加えることによって得られる高精度な２を底とする対数を有する端点の領域を表しているからである。図６を見れば分かるように、２の累乗１個分よりも狭い領域（例えば、１６０≦ｘ≦１７６）のなかの２を底とする対数は、図５に関連して先に説明したようなその他の領域と同じように、ｌｏｇ２（１６０）とｌｏｇ２（１７６）との間に引かれた実線の区分線形ラインｌｏｇ２（ｘ）ＰＬを、その領域の各整数に対して示した実際の対数データポイントと比較することによって分かるように、ほぼ直線的である。もちろん、いくらかのエラーは発生する。実際に、例えばｘ＝１７３を見ると、それの実際の２を底とする対数は区分線形ラインｌｏｇ２（ｘ）ＰＬによる近似よりもわずかに大きいことが分かる。それにも拘わらず、この誤差は小さく、それとｌｏｇ２（１６０）との間のΔ１３に関する限り、ｌｏｇ２（１７３）推定全体に対してわずかに影響するだけである。このことから、この最終的な近似は多くの対数応用に利用できる。従って、また以下に詳しく説明するように、好適な実施の形態はそのような領域の端点からのｘ値への区分線形近似を用いて、その領域の下方端点（例えば、１６０）に対する既知の高精度な２を底とする対数を更に改善する。
【００８０】
Δに関する以上の原理は記憶要素３２中の任意の個数のビットについて正しく、任意の選ばれたｔの値に対して正しい。例えば、図２と同じようにｘ＝１７３と仮定する。また、ここではｔ＝４と仮定する。この場合、表３６は図７に表３６’として示したように２ｔ個の値を記憶する。具体的には、図７で表３６’は２ｔ＝２４＝１６個の整数に対する２を底とする対数を記憶する。ここでこれらの整数は２ｔないし２ｔ＋１−１＝１６ないし３１までのレンジに含まれる。まず、ｔ＝４ビットは０１０１（すなわち、十進数で５）のアドレスを示す。それによって表３６’中の論理的に５番目の値、すなわちｌｏｇ２（２１）をアドレス指定する。しかし、ここでｔを３から４に増やして、ｎを４から３へ減らしたので、ｎの値は前の例のように４ではなくて３である。結果として、ｎ＝３が、同定されたｌｏｇ２（２１）に加えられて、もう一度ｌｏｇ２（２１×２３）＝ｌｏｇ２（１６８）の対応する高精度な２を底とする対数が生成される。次に、ｎ＝３のｔビットに続く残りのより低位のビットは二進数１０１に等しい。これはΔに対する十進数が５に等しいことを意味する。言い換えれば、この例で、ｘは整数２１の表に示された対数値に対応し、その整数に２３を乗じたものは１６８の下方端点によって囲まれる領域を形成する。従ってｘ＝１７３は下方端点から５の距離だけ離れている（すなわち、１７３−１６８＝５）。
【００８１】
好適な実施の形態で、区分線形は上で述べたその他の態様と組み合わされる。これが、ＰＬ内挿器４０がどうして図２の結合器３８の一部として示されているかの理由である。これらの組み合わされた態様をここで数学的に実証する。これは既に述べた各種の詳細が与えられれば、もっとよく理解できよう。最初に、一般的な区分線形では、与えられたプロットに関して端点（ｘ１、ｙ１）および（ｘ２、ｙ２）が既知であると仮定する。そしてこれらの２つの端点間に線形な関係を想定して、そのプロットに沿ったｘ３におけるｙ３の推定値を決定することを目標とする。まず、これら２つの端点間の直線の勾配が次の式１７に従って求められる。ここで勾配を一般的にｍとする。
【００８２】
【数１７】
2004005662.tif 000025
【００８３】
次に、ここでＢとして示すｙ切片を次のように求めることができる。まず、既知のｘ１およびｙ１に対して切片を次の式１８に示すように定義できる。
【００８４】
【数１８】
2004005662.tif 000026
【００８５】
次の式１９に示すように、式１８をＢについて並べ替える。
【００８６】
【数１９】
2004005662.tif 000027
【００８７】
以上のことから、そしてここでｘ３の値に関するｙ３を計算するために、ｙ３を、式１７からのｍと、式１９からのＢを使って、次の式２０のように表現する。
【００８８】
【数２０】
2004005662.tif 000028
【００８９】
式２０を簡約して共通項（ｙ２−ｙ１）／（ｘ２−ｘ１）を取り出すと次の式２１が得られる。
【００９０】
【数２１】
2004005662.tif 000029
【００９１】
式２１は２つの端点を通る直線に沿った任意のｘ値についての値を与える関数として次の式２２に示すように書くことができる。ここでこの関数の推定値を
2004005662.tif 000030
と書く。
【００９２】
【数２２】
2004005662.tif 000031
【００９３】
以上の式１７ないし式２２が一般的な区分線形を実行する手順であるが、これらの原理をここで好適な実施の形態の数学的関数ｆ（ｘ）＝ｌｏｇ２（ｘ）に適用しよう。具体的には、ｘ＝ａの値に対するｌｏｇ２（ｘ＝ａ）が既知であると仮定し、またｘ＝ｂの値に対してｌｏｇ２（ｘ＝ｂ）が既知であると仮定する。そうすると、これら既知の２つの端点間、すなわち、ａ≦ｘ≦ｂにある任意のｘ値に対して、これらの端点における既知の関数値を式２２に代入することによって区分線形推定関数を次の式２３のように展開することができる。
【００９４】
【数２３】
2004005662.tif 000032
【００９５】
ここで、先に出てきた好適な実施の形態の原理のいくつかに戻って、ｘを２ｔ個の既知の整数Ｉ１ないしＩ２ｔのうちの１つであるとしたときに、表３６がｆ（ｘ）＝ｌｏｇ２（ｘ）の高精度な値を提供することを思い出して欲しい。更に、これらの整数のうちの任意の連続した２つ、ＩａおよびＩａ＋１に対しては、これらの整数に対してそれらの高精度な対数をｎに加えることによって整数２ｎ×Ｉａないし２ｎ×Ｉａ＋１の領域の端点において比較的高精度な値を提供できることを思い出して欲しい。例えば、図３の表３６’はｔ＝８の整数８ないし１５に対する高精度な２を底とする対数を示している。他方、図６はｌｏｇ２（１６０）およびｌｏｇ２（１７６）に対して比較的高精度な対数が、それらの数が２４×１０および２４×１１を表すことから既知であることを示している。言い換えれば、図６は２ｎ×Ｉａ＝１６０ないし２ｎ×Ｉａ＋１＝１７６の端点における高精度な対数の例を示している。従って、そのような領域に関する端点２ｎ×Ｉａおよび２ｎ×Ｉａ＋１を式２３のそれらの既知の端点ａおよびｂとして代入することによって、それらの既知の端点間の区分線形のために次のように次の式２４に提供できる。
【００９６】
【数２４】
2004005662.tif 000033
【００９７】
式２４はまた次の式２５に従って示すように簡略化できる。
【００９８】
【数２５】
2004005662.tif 000034
【００９９】
式２５を更に解くために、図６に示すような領域中に与えられた任意の値ｘが下方端点からΔだけ離れているように示されている、すなわち、そのようなｘの値が（２ｎ×Ｉａ）＋Δに等しいことに注意されたい。従って、後者を式２５のｘに代入することによって次の式２６を得る。
【０１００】
【数２６】
2004005662.tif 000035
【０１０１】
以上のことが与えられれば、式２６は、ＩａおよびＩａ＋１の各々に２ｎを乗じた値で囲まれた領域の２つの端点間に位置する値ｘの２を底とする対数の推定値を提供する。従って、式２６は図２の記憶要素３２に記憶されたｘの値に対する２を底とする対数を提供する好適な実施の形態の方法を提供する。すぐに分かるように、式２５を解くことは１回の除算（分母による）のほかに、２を底とする対数３個（２つは被除数、１つは全体的な和）を計算する必要があるように見える。しかし、式２５の各対数は、上で示したように、表３６から容易に得られる。すなわち、表３６は既にＩ１ないしＩｔ２の２の累乗レンジ中の任意の整数に対する２を底とする対数を含んでおり、上で示したように、ＩａおよびＩａ＋１は整数のこのレンジに含まれる。従って、好適な実施の形態のもとでは、結合器３８はそれに対して利用可能な入力を用いて式２６を解く。言い換えれば、ＭＳＤが検出されていれば、３個の２を底とする対数は表３６から容易に得られ、ｎとΔは記憶要素３２から直接導かれる。最後に、２ｎによる除算は単に結果を右方向へｎ回シフトさせることで得られる。従って、好適な実施の形態のもとでは、式２６は２回のロード（ｌｏｇ２（Ｉａ＋１）とｌｏｇ２（Ｉａ））、１回の減算、１回のｎビット・シフト、および２回の加算で解くことができる。
【０１０２】
式２６を用いて２を底とする対数の推定を行なうための図２の推定器３０の能力を実証してきたが、この演算をここでその図面に示したｘ＝１７３の例に関して実証しようと思う。もう一度、ｔ＝３の例を考える。従って、表３６は０１０の値でアドレス指定される。それによってこの例ではｌｏｇ２（１０）であるｌｏｇ２（Ｉａ）の値が結合器３８へ出力され、またそれは表４で前に示したように３．３２１９２８である。更に、表３６はｌｏｇ２（Ｉａ＋１）を出力するようにもなっていることに注意されたい。というのはこの値も式２６で必要とされるからである。更に、この態様は表３６を別々にアドレス指定すること（例えば、ｔビットのアドレスとそのアドレスを１だけ増やしたアドレスを含むアドレス・バースト）、あるいは表３６の構成を、それがアドレス指定されたときにそれがその値のほかにアドレス指定された値を出力し、そのあとで次に高位のアドレスを出力するようにすることによって実行できることに注意されたい。更に、ＭＳＤ−ｔ＝ｎという事実から、この例ではｎ＝４で、Δ＝１１０１（すなわち、十進数で１３）である。式２６はこれらの値を代入すると、次の式２７に示すようになる。
【０１０３】
【数２７】
2004005662.tif 000036
【０１０４】
以上のことが与えられれば、図２の推定器３０の全体的な動作は次のように要約することができる。ｔに対する値を確立し、表３６中に２ｔないし２ｔ＋１−１に等しい整数ＩｔないしＩ２ｔに対する高精度な２を底とする対数の組を用意する（２ｔ＋１の２を底とする対数も必要であるが、それはｔ＋１に等しく、従ってそのようにすることによって実施を簡略化するのでない限り必要ではない）。ＭＳＤ検出器３４でＭＳＤの位置を決定する。ＭＳＤに続くｔビットを用いて表３６をアドレス指定する。ｎ＝ＭＳＤ−ｔを定義し、ｔビットに続く記憶要素３２中のより低位のビット位置（単数または複数）に、もしあれば、Δをそれらビットの値とする。上述のように、２回のロード、１回の減算、１回のｎビット・シフト、１回の乗算、および２回の加算によって式２６を解く。
【０１０５】
好適な実施の形態を対数の近似に適用することについて説明してきたが、本発明の教えには逆演算、すなわち、逆対数（あるいはここでアンチログとも呼ばれる）も含まれている。これに関して、図１の議論から入力信号の振幅がｘの値として測定され、ｆ（ｘ）を求めるために対数を取る場合にそのような演算が行なわれることを思い出して欲しい。次に、利得調節を行なうために、値ｘをもう一度決定することが望ましい。それは入力信号の処理に関連しているためである。更に、これに関して、逆対数の評価が行なわれる前に、ｆ（ｘ）の値に対して何らかの中間的な工程が施され、それによって逆対数の実際の結果が、入力信号に相対的に測定されたｘの元の値とは異なるｘの値を返すことに注意されたい。しかしいずれにしろ、逆対数は何らかのやり方で入力信号に関連する値を生成し、図１の例では、それは利得調節操作に関して使用される。
【０１０６】
逆対数の実施の形態に関する更なる導入として、以上のことに照らして以下の議論は、ｘの２を底とする対数の二進数表現が与えられた場合に（すなわち、式４からｉ＋ｆの値が与えられた場合に）、ｘを与える実施の形態を提供する方法を提示することに注意されたい。ここでの実施の形態は先に述べた対数の実施の形態の逆を実行するものであるから、ここでもまた、ｉ＋ｆをｘの値へ変換して戻す好適な方法もまた、ｉ＋ｆの整数部および小数部に関する別々の解析を通して達成されることに注意されたい。最後に、以下の逆対数実施の形態は、好ましくは２の底に関連しているが、対数に関して前に述べたように、以下の逆対数の教えが例えば１０の底などのその他の底を用いる系にも適用されることに注意されたい。
【０１０７】
逆対数の実施の形態をより良く説明するために、先に示した式のうち２つを、単純に見て議論で引用し易いように、容易にアクセスできるという理由でここに再び提示する。それによって逆対数の実施の形態を確認することができる。具体的にはすぐ後で示す式４および８であるが、これらについては前の議論で詳細に説明した。
【０１０８】
【数２８】
2004005662.tif 000037
【０１０９】
【数２９】
2004005662.tif 000038
【０１１０】
式４および８は逆演算の最初の部分を表している。すなわち、値ｌｏｇ２（ｘ）から直接的にｉを求める。例えば、ｘ＝１７３という前の例に戻ると、ｌｏｇ２（ｘ）の推定値は７．４３３６５０である。従って、好適な実施の形態の逆対数の演算を考えると、入力はｌｏｇ２（ｘ）＝７．４３３６５０であり、目標はｘ＝１７３という値を返すことである。式８はＭＳＤがｌｏｇ２（ｘ）に対する値の整数部（式４に示すように）と同じであることを示している。従って、本例では、その整数部は７に等しく、このことから、この場合にはｉ＝７となる。言い換えれば、この時点で、ｘは次の表７に示された二進数の形で示されることが分かる。
【０１１１】
【表７】
2004005662.tif 000039
【０１１２】
従って次には、逆対数演算に関する好適な実施の形態はｘ中のより低位の残りのビットに対する二進数値を決定する必要があり、本例ではそれらのビットはビット位置６ないし０に対応する。
【０１１３】
図２の形の対数推定器３０が逆向きに与えられれば、ＭＳＤに隣接してより低位にある第１のビット組を、もしそのようなビット群に関してｔが予め定義されていれば復元できる。ここで、ｔは表３６に相対的に予め定められた数であることを思い出して欲しい。例えば、更にｘ＝１７３およびｔ＝３の例を思い出して欲しい。この場合、逆対数のための、ＭＳＤに続く付加的なｔビット（例えば３ビット）は、表３６中に記憶された高精度な対数にアクセスすることによって決定されよう。具体的には、先にｎ＝ＭＳＤ−ｔであると示されたことを思い出して欲しい。この時点で、ｔは予め決まっており、ＭＳＤは問題となっているｌｏｇ２（ｘ）中の整数ｉによって同定されているので、ｎも分かることになる。例えば本例では、ｎ＝ＭＳＤ−ｔ＝７−３＝４である。更に、ｘは端点２ｎ×Ｉａと２ｎ×Ｉａ＋１とで囲まれた領域に位置すること、およびそれらの端点における対数は表３６に記憶されているＩａの対数に対して整数ｎを加算することによって求めることができることを思い出して欲しい。従って、ｌｏｇ２（ｘ）の逆対数を見出すことに向けて、すなわち、逆方向に、まずｌｏｇ２（ｘ）の与えられた値からｎを引いた値を超えないでそれに最も近い値で、表３６に記憶されている対数を同定することによってＩａを検出することができる。ｌｏｇ２（１７３）＝７．４３３６５０からｘ＝１７３を同定しようとする例に関して続けると、次の式２８に示されるように、その値からまずｎを差し引く。
【０１１４】
【数３０】
2004005662.tif 000040
【０１１５】
次に、表３６にアクセスして、式２８からの結果３．４３３６５０を超えず、これに最も近い２を底とする対数を有するＩａを決定する。この決定を行なうために、表３６にアクセスするためにはいろんなやり方があることに注意されたい。例えば、或る種の収束アドレッシング方式を取り入れて、表３６に繰り返しアクセスし、それの出力が式２８の結果を超えず、それに最も近づくまで行なう方法がある。別の例として、表３６を内容アドレス可能メモリとして構成することにより、表に内容を入力し、入力に一致する内容を記憶するアドレスを返すようにする。いずれにしろ、本例に対して、また表４および図３の表３６’がそのような例に対する２を底とする対数を示していることを思い出すと、当業者は確認できるであろうが、これらの条件を満たすアドレス位置は二進数で０１０であり、これが十進数１０の２を底とする対数に対応し、すなわち、Ｉａが十進数の１０に等しいことが分かる。
【０１１６】
二進数０１０に等しいＩａのアドレスが決まったら、そのアドレスは表７のＭＳＤに続くｔビットを構成する。言い換えれば、ｘ＝１７３およびｌｏｇ２（ｘ）＝７．４３３６５０の例では、逆対数決定のこの時点で、ｘは次の表８に示された二進数の形で示されるようになることが分かる。
【０１１７】
【表８】
2004005662.tif 000041
【０１１８】
以上のことは、更に、この時点で表８が好適な実施の形態が実質的にそのアドレスの最上位ビットに対して、ＭＳＤである二進数１を前に加えることを示していることを表していることを観察することで容易に理解できる。従って、そのような操作は、アドレスをＩａの値の二進数表現に変換する。従って本例では、０１０のアドレスの最上位ビットに対して１を前に加えることによって１０１０が生成される。当業者はこれが十進数の１０に等しいことを確認できよう。更に、この結果が得られるのは、定義によって二進数の１に等しいＭＳＤに続くようにｔビットが定義され、また表３６が２ｔの値から始まって２ｔ個の整数を記憶するためであることに注意されたい。従って、それらのアドレスの任意のものの最上位ビットの前にＭＳＤを加えることによって、それに対応する２を底とする対数がその整数の場所に記憶されている問題の整数を構成することができる。
【０１１９】
表８に関して更に注目すると、その中にある合計の値には、ｔビットに続く、ｘ中の最後の複数ビットが欠けていることに注意されたい。従って、先に定義したように、これらの最終ビットはΔの値になり、従って、逆対数推定の好適な実施の形態は今や、Δの値を決定する問題に変わる。これに関して、式２６は次の式２９に示すように、Δについて解くことができる。
【０１２０】
【数３１】
2004005662.tif 000042
【０１２１】
式２９は表面上は分母による除算を示しているが、いくつかの応用では除算を必要とすることは複雑さのため望ましくない。従って、好適な実施の形態の元では、分母によって与えられる因子１／｛ｌｏｇ２（Ｉａ＋１）−ｌｏｇ２（Ｉａ）｝はＩａの関数として非常に線形に近いことに注意されたい。この理由は、ｘについてのｌｏｇ２（ｘ）の微分は１／ｘであるためである。更に、１／｛ｌｏｇ２（Ｉａ＋１）−ｌｏｇ２（Ｉａ）｝はｌｏｇ２の微分の逆数の近似であり、従ってＩａの線形関数である、ｌｎ（２）（Ｉａ＋０．５）に非常に近い。この推定の不正確さは、１／｛ｌｏｇ２（Ｉａ＋１）−ｌｏｇ２（Ｉａ）｝が逆微分の完全な近似でないという事実から発生する。従って、この線形関数を式２９に代入して、Δに対する近似が式３０に示すように得られる。
【０１２２】
【数３２】
2004005662.tif 000043
【０１２３】
更に、ｌｎ（２）の固定した値は表に記述するか、あるいは記憶させることができ、そのため、式３０の実施をより複雑さの少ない演算とすることができる。
【０１２４】
式３０に従って一旦Δが見出されると、それの複数個の最上位ビットが、その値のそれまでにその逆対数のために生成されていた、ＭＳＤビットに続くｔビットを含む最下位ビットに加えられる。このように加えられたビットの数は、結果が正の数であればＭＳＤ−ｔに等しい（もしも負であれば、Δは必要でなく、ｘは既に決まっている）。一例として、また式３０に適用されるｘ＝１７３およびｌｏｇ２（ｘ）＝７．４３３６５０に関する例を完成するために、それは次の式３１に示す結果を与える。
【０１２５】
【数３３】
2004005662.tif 000044
【０１２６】
【数３４】
2004005662.tif 000045
【０１２７】
式３１の結果は正確な整数ではないことに注意されたい。既に述べたことから、ｘ＝１７３に対してΔ＝１３であることが分かっている。すなわち、付加的な値０．００９は上で与えられた近似によるものであり、従って、式２９は完全な近似ではない。しかし、好適な実施の形態の元では、このわずかな誤差は、この対数を推定するための好適な実施の形態と比べて付加的な近似エラーを何も蒙らない。その理由は、逆対数アプローチはＭＳＤおよびｔビットを同定することができ、従って、残る必要な精度は、もしあるとして、ＭＳＤおよびｔビットに続く最下位ビットに制限する。言い換えれば、ＭＳＤ−ｔに等しい（結果が正の数である場合）この有限個のビット数によって、式３０で与えられるΔの推定は、ｘ中に残る未知のビットのみを含むように、従って、残る部分が全体としての精度に影響しないように丸めることができる。実際に、経験的な結果によれば、求めるｘの対数が好適な実施の形態の推定器３０によって生成される場合に、上述の近似はｘを正確に返すことがわかっている。更に、この対数が完全に正確なときは、逆対数推定器も推定器３０の精度と釣り合った精度を示す。以上のことが与えられた場合、ｘ＝１７３でΔ＝１３の例を終了するために、表８中のｔに続く最後の４ビットを完成させて、その値を４ビットに丸めることによって１１０１の値（すなわち、十進数で１３）を得てΔ＝１３．００９であることを見出すことによって、式３１が次の表９に示すようにｘの２を底とする対数から出発したｘの値を完成させることができることを示すことができる。
【０１２８】
【表９】
2004005662.tif 000046
【０１２９】
従って、表９からｌｏｇ２（ｘ）＝７．４３３６５０の逆対数はｘ＝１７３であることが見出される。
【０１３０】
ここで今までのことを振り返りながら、特に逆対数の態様についてもっと詳しく説明すると、図８は逆対数推定器５０のブロック図を示している。のちに詳しく説明するように、推定器５０はそれの入力５０ｉｎにｌｏｇ２（ｘ）の値を受信し、それの２を底とする逆対数ｘをそれの出力５０ｏｕｔに生成する。このように、推定器５０は、一例として図１の利得回路２０中に組み込まれて、先に述べた理由のためにこの回路の逆対数機能を提供することができる。あるいは、本発明のスコープには、逆対数の推定を必要とするその他の装置へ推定器５０を応用することが含まれる。更にこれに関連して、推定器５０はブロック機能図で示されているが、当業者はそれらのブロックを分離した形で、あるいは各種設計上の配慮によって組み合わせた形で実現することができよう。
【０１３１】
次に逆対数推定器５０に移ると、それはｌｏｇ２（ｘ）の二進数表現を記憶するための記憶装置５２（例えば、レジスタあるいはメモリ・スペース）を含んでおり、そこにおいてその表現には式４に関して先にｉ＋ｆとして議論したような整数部と分数部（あるいは小数部）の両方が含まれる。更に、装置５２は上で述べたように整数部ｉを出力するが、この整数ｉの値はＭＳＤのビット位置を示しており、従って、ｉの出力によってＭＳＤはスイッチ５３として機能的に示したように結果記憶装置５６（例えば、レジスタあるいはメモリ・スペース）中の適当なビット位置へ書き込まれ、それは最終的にｘの推定値を提供する。記憶装置５２に戻ると、整数ｉの出力はまたｎ決定ブロック５８へもつながれており、それは上で定義したように、ＭＳＤが受信され、ｔの予め定められた値が与えられれば、ｎの値を決定する。ブロック５８のｎ出力は減算ブロック５４へ供給され、それはそれに応じてｉ＋ｆからｎを差し引いて、結果の（ｉ＋ｆ）−ｎを表３６の内容入力（あるいはその表のコピーあるいはその表の適当なコンテント・アドレス可能な形）に追加する。ブロック５８のｎ出力はまた、Δ決定ブロック６０へも供給される。表３６（あるいはそれの適当な代替）はそれの入力へ供給された内容のアドレスを出力するか、あるいは上で述べたように、それはそれが記憶する、それの入力に供給された内容を超えず、それに最も近い値のアドレスを提供する。いずれの場合でも、そのアドレスは、ｔビットとしてのアドレスを結果記憶装置５６へ書き込むためのスイッチとして機能的に示されたように、提供される。そして表３６もまたそのアドレスをＩａ決定ブロック６２へ供給する。上で述べたように、Ｉａの値は二進数の１であり、ＭＳＤを示しており、表３６によって提供されるアドレスの先頭に追加される。ブロック６２からの出力Ｉａは表３６へのアドレスとして与えられ、それはそれに応答してｌｏｇ２（Ｉａ）をΔ決定ブロック６０へ提供する。更に、ブロック６２からの出力Ｉａは直接にΔ決定ブロック６０へ与えられる。Δ決定ブロック６０はΔの値を、スイッチ６３として機能的に示されたように、結果記憶装置５６の最下位ビットへ供給する。
【０１３２】
逆対数推定器５０の動作は、先に議論から当業者には容易に理解されるであろうから、ここでは簡単に要約するに留める。記憶装置５２にｌｏｇ２（ｘ）が受信されると、その整数部は直ちにＭＳＤ位置を同定し、従ってそれに対応するビットがスイッチ５３によって結果記憶装置５６中にセットされる。次に、減算器５４が（ｉ＋ｆ）−ｎの結果を提供し、表３６中のその内容のアドレス（あるいは（ｉ＋ｆ）−ｎを超えず、それに最も近いその内容のアドレス）を決める。そしてそのアドレスはまた、スイッチ６１によって、ＭＳＤに続くｔビットとして結果記憶装置５６に提供される。最後に、Δがブロック６０によって決定され、結果記憶装置５６中でｔビットに続く空ビットの分だけ、Δはそれらの残りのビットと同じ数まで丸められ、スイッチ６３によって結果記憶装置５６に記憶される。従ってこの時点で、結果記憶装置５６はｘの推定値、すなわちｌｏｇ２（ｘ）の逆対数を記憶する。
【０１３３】
２を底とする対数および２を底とする逆対数を推定することについて好適な実施の形態を説明してきたが、本発明の教えには更に別の実施の形態が可能である。それは、これまで述べた実施の形態を組み合わせて逆数を推定するためのシステムを構成するというものである。ここでそのようなシステムについて、前述の教えのほかに特定の付加的な教えを参照しながら説明することにする。最初に、値ｘの逆数を次の式３２によって数学的に示す。
【０１３４】
【数３５】
2004005662.tif 000047
【０１３５】
このように、式３２は２を底とするｘの対数を取る能力を有すること、およびその結果の負を取って、それを２の指数とすることによってｘの逆数を提供する能力を有することを示している。従って、図９に関連して次に実証するように、先行の実施の形態を組み合わせてこれらの演算を実現することができる。
【０１３６】
図９は逆数推定器７０のブロック図を示す。後で示すように、逆数推定器７０はｘの値をそれの入力７０ｉｎに受信し、それの逆数１／ｘの推定値をそれの出力７０ｏｕｔに生成するように機能する。入力７０ｉｎは２を底とする対数推定器３０へつながれ、それは先に述べたように、値ｌｏｇ２（ｘ）の推定値をそれの出力３０ｏｕｔへ提供する。出力３０ｏｕｔからのｌｏｇ２（ｘ）の値は乗算器７２への被乗数入力としてつながれる。乗算器７２は第２の被乗数入力として値−１を受信する。従って、乗算器７２は−ｌｏｇ２（ｘ）に等しい積出力を生成し、この出力は逆対数推定器５０の入力５０ｉｎへつながれる。逆対数推定器５０の出力は逆数推定器の出力７０ｏｕｔを提供し、それは上で述べたように、１／ｘの値を推定する。
【０１３７】
図２の２を底とする対数推定器３０および図８の逆対数推定器５０の議論から、当業者は逆数推定器７０の動作を多くの点で容易に理解できるであろう。これらの２つの推定器はまた、図９の逆数推定器７０にも実施される。第１に、対数推定器３０は入力値ｘを受信し、それに従って、ｌｏｇ２（ｘ）の推定値を出力する。この値は次に、−１が乗ぜられて、それによって逆対数推定器５０に−ｌｏｇ２（ｘ）の値が提供される。しかし、第２に、逆対数を提供する関数は、逆対数推定器５０によって実現されるように、入力として提供される値を２の累乗とするものと同じであることに注意されたい。言い換えれば、もし逆対数推定器５０の入力として値ｙが与えられれば、それの出力は２ｙとなる。従って、この解釈を図９に適用すれば、−ｌｏｇ２（ｘ）を逆対数推定器５０の入力に与えることによって、それの出力は
2004005662.tif 000048
となる。従って、最後に、式３２から当業者は理解されるように、ｘの入力と、結果の
2004005662.tif 000049
とが与えられれば、逆数１／ｘが形成されることになる。もちろん、推定器３０および５０は非常に正確な結果というよりはむしろ推定値を提供するものであるから、逆数推定器７０からの１／ｘの値もまた同様に、幾分はエラーを含む。しかし、推定器３０および５０は（表３６に）表にした高精度な値を利用することで便宜を得るので、この利益はまた、その結果がその他の逆数推定手法に比べて優れた精度を提供するということで逆数推定器７０によっても利用される。
【０１３８】
以上のことから、上述の実施の形態は２を底とする対数、２を底とする逆対数、および逆数に関する近似値を求めるための数多くの特徴および代替を提供する。しかし、本発明について詳細に説明してきたが、当業者は、本発明のスコープから外れることなく、上で示した説明に関して各種の置換、修正、あるいは代替が可能であることを理解すべきである。例えば、図１は動的レンジ圧縮器を示しているが、本実施の形態はオーディオ信号処理に関連するその他の回路にも適用されよう。実際に、本実施の形態はその他のタイプの信号を処理することに関しても動作可能であると考えられる。一例として、図２、８、および９は与えられた各種代替方法を特定のハードウエアで実現したものを示しているが、当業者は理解できるように、これ以外のハードウエアによる実施やハードウエアとソフトウエアとを組み合わせた実施も考えられる。更に別の例として、上述の実施の形態は主として、二進数の環境において頻繁に現れ、また先に述べた理由によってＭＳＤを利用できることからこの状況で便宜を得る２を底とする場合の決定に関連していることに注目されたい。しかし、本発明の教えるところの多くは、１０を底とする場合やその他の数を底とする系にも同様に適用できるし、あるいは２を底とする実施の形態で得られる結果は式２に従ってスケーリングでき、別の数を底とする結果に変換することができることに注意されたい。更に別の例として、表３６の高精度な対数は整数に対応しているのが好ましいのであるが、それが小数部を含む数に対応していても構わない。最後の例として、表３６からの対数を高精度化するために区分線形の手法を用いたが、指定された端点間でその他の推定手法を使用することもできる。従って、それらの例は、当業者によって選ばれるこれ以外の例とともに、更に本発明のスコープを、次に示す本発明の特許請求の範囲に定義されるように説明する。
【０１３９】
以上の説明に関して更に以下の項を開示する。
（１）値ｘのｂを底とする対数の近似値を決定するためのディジタル信号システムであって：
ｘをディジタル表現で記憶するための回路；
前記ディジタル表現の最上位桁を同定するための回路であって、前記最上位桁に隣接して、それぞれより低位のビット位置に１組のビットが位置している回路；
ｂを底とする予め定められた１組の対数を記憶するための表であって、前記予め定められた対数の各々が１組の数のうちの１つに対応している表；
それぞれより低位のビット位置にある前記１組のビットのうちの第１のビット群に対応して上記表をアドレス指定するための回路であって、それに応じて前記表が前記１組の数のうちの第１の数に対応する前記予め定められた対数の１つを出力するようになった回路；および
前記予め定められた対数の前記１つに対応し、更に第１および第２端点における対数間の推定関数に応答して、値ｘの近似対数を出力するための回路であって、前記第１端点が前記１組の数のうちの前記第１の数に対してｂの累乗を乗じたものに対応し、また前記第２の端点が前記１組の数のうちの第２の数に対してｂの累乗を乗じたものに対応しており、ここで前記推定関数が前記第１および第２端点のうちの１つから、前記１組のビットの第２のビット群に対応した距離だけ離れた位置にある数に対する対数を推定する回路；
を含むディジタル信号システム。
【０１４０】
（２）第１項記載のディジタル・システムであって：
前記最上位桁がビット位置番号ＭＳＤに対応しており；
前記第１ビット群がｔ個のビットから成り；更に
前記ｂの累乗が２の（ＭＳＤ−ｔ）乗、２（ＭＳＤ−ｔ）に等しい；
ディジタル・システム。
【０１４１】
（３）第１項記載のディジタル・システムであって、前記推定関数が区分線形推定を含んでいるディジタル・システム。
【０１４２】
（４）第１項記載のディジタル・システムであって、前記１組の数のうちの各々の数が１つの整数から成るディジタル・システム。
【０１４３】
（５）第１項記載のディジタル・システムであって：
前記最上位桁がビット位置番号ＭＳＤに対応しており；
前記第１ビット群がビットの個数ｔから成り；更に
前記１組の数が２ｔ個の整数から成る表に記憶された予め定められた対数を有している；
ディジタル・システム。
【０１４４】
（６）値ｘのｂを底とする対数の近似値を決定するためのディジタル信号システム（３０）。本システムはｘをディジタル表現で記憶するための回路（３２）およびディジタル表現の最上位桁（ＭＳＤ）を同定するための回路を含む。最上位桁に隣接して、それぞれより低位のビット位置に１組にビットが位置する。本システムは更に、ｂを底とする予め定められた対数の組を記憶するための表（３６）を含み、予め定められた対数の各々が１組の数のうちの１つの数に対応している。本システムは更に、それぞれより低位のビット位置にある１組のビットのうちの第１ビット群（ｔ）に対応して表をアドレス指定し、それに応じて１組の数のうちの第１数（Ｉａ）に対応した予め定められた１つの対数を出力するための回路を含む。最後に、本システムは予め定められた対数の１つに対応し、更に第１および第２の端点における対数間の推定関数に応答して、値ｘの対数の近似値を出力するための回路（３８）を含む。第１端点は１組の数のうちの第１の数に対してｂの累乗を乗じたものに対応し、また第２端点は１組の数のうちの第２の数に対してｂの累乗を乗じたものに対応する。更に、推定関数は第１および第２の端点のうちの１つから、１組のビットのうちの第２ビット群に対応する距離だけ離れて位置する数に対応する対数を推定する。
【関連出願へのクロスリファレンス】
本出願は、本発明と同じ発明人による、本発明と同じ日付の出願である、“逆対数の近似値を求めるための回路、システム、および方法（Ｃｉｒｃｕｉｔｓ，Ｓｙｓｔｅｍｓ，　Ａｎｄ　Ｍｅｔｈｏｄｓ　Ｉｍｐｌｅｍｅｎｔｉｎｇ　Ａｐｐｒｏｘｉｍａｔｉｏｎｓ　Ｆｏｒ　Ｉｎｖｅｒｓｅ　Ｌｏｇａｒｉｔｈｍ）”と題する米国特許出願第１０／１５０，７２３号（事件番号ＴＩ−３４４９２）に関連する。
【図面の簡単な説明】
【図１】好適な実施の形態を適用し得る動的レンジ圧縮器１０のブロック図。
【図２】２を底とする対数推定器の一般的な図。
【図３】図２から得られる表３６の例。
【図４】１≦ｘ≦１６に対して関数ｆ（ｘ）＝ｌｏｇ２（ｘ）をプロットしたグラフ。
【図５】図４のレンジｒ２部分の拡大図。
【図６】領域１６０≦ｘ≦１７６に対する２を底とする実際の対数。
【図７】図２から得られる表３６の別の例。
【図８】逆対数近似システムのブロック図。
【図９】逆数近似システムのブロック図。
【符号の説明】
１０　動的レンジ圧縮器
１２　入力
１４　出力
１６　遅延回路
１８　ＲＭＳ推定器
２０　利得回路
２２　フィルタ
２４　結合器
３０　推定器
３２　記憶要素
３４　ＭＳＤ検出器
３６　表
３８　結合器
４０　ＰＬ内挿器
５０　推定器
５２　記憶要素
５３　スイッチ
５４　減算器
５６　結果記憶装置
５８　ｎ決定ブロック
６０　Δ決定ブロック
６１　スイッチ
６２　Ｉａ決定ブロック
６３　スイッチ
７０　逆数推定器
７２　乗算器
【図１】
2004005662.tif 000050
【図２】
2004005662.tif 000051
【図３】
2004005662.tif 000052
【図４】
2004005662.tif 000053
【図５】
2004005662.tif 000054
【図６】
2004005662.tif 000055
【図７】
2004005662.tif 000056
【図８】
2004005662.tif 000057
【図９】
2004005662.tif 000058