JPH05241794A - 超越関数近似装置及びその方法 - Google Patents

超越関数近似装置及びその方法

Info

Publication number
JPH05241794A
JPH05241794A JP4207002A JP20700292A JPH05241794A JP H05241794 A JPH05241794 A JP H05241794A JP 4207002 A JP4207002 A JP 4207002A JP 20700292 A JP20700292 A JP 20700292A JP H05241794 A JPH05241794 A JP H05241794A
Authority
JP
Japan
Prior art keywords
bit
function
offset
independent variable
approximation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP4207002A
Other languages
English (en)
Inventor
Matthew R Henry
マシュウ・アール・ヘンリー
Gregory M Martin
グレゴリー・エム・マーティン
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.)
Honeywell Inc
Original Assignee
Honeywell Inc
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 Honeywell Inc filed Critical Honeywell Inc
Publication of JPH05241794A publication Critical patent/JPH05241794A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/035Reduction of table size
    • G06F1/0356Reduction of table size by using two or more smaller tables, e.g. addressed by parts of the argument

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 区域内近似ルックアップテーブルと、オフセ
ットルックアップテーブルと、基準化シフタと、補間加
算器/減算器とを使用する超越関数近似。 【構成】 超越関数の値を所定の正確さまで近似する高
速固定小数点演算を実行することができる。本発明はN
ビット独立変数を受取り、Nビット結果を発生するの
で、2つの数における小数点の位置どりを異なるものと
することができる。入力独立変数の異なる部分を区域内
近似ルックアップテーブルと、オフセットルックアップ
テーブルとへ並行して送り出す。基準化シフタはオフセ
ットルックアップテーブル及び区域内近似ルックアップ
テーブルの出力を補間加算器/減算器プロセッサにより
使用可能な結果に変換する。区域内近似ルックアップテ
ーブルは、Nビット近似を実行させる情報をも補間プロ
セッサに供給する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は超越関数近似の装置及び
方法に関し、特に、セグメント化近似方式を使用して関
数を近似する方法に関する。
【0002】
【従来の技術】従来の関数近似方法は、ルックアップテ
ーブル方式、チェビシェフ数列のような多項式方式及び
CORDIC方式又は変換と呼ばれる方式の3つの一般
カテゴリのいずれかに分類されていた。それぞれの方式
には、それを実現するために要求される計算資源の量又
はその方式の実現を完了するために要求される時間の長
さに関して重大な欠点がある。ルックアップテーブル方
式の場合、その方式に見られる固有のスピードアップと
いう特徴を有効に利用するために、相対的に大量のハー
ドウェアをその実行にのみ投入しなければならない。チ
ェビシェフ方式は固定小数点演算と浮動小数点演算に適
用できるが、高い計算能力を必要とするという難点があ
る。計算能力が高いということは、ハードウェアの量が
相対的に多いこと及び/又はクロック速度が高いことを
示唆している。ハードウェアに課されるこの条件によっ
て、チェビシェフ方式は固定小数点演算に関して、通
常、過度の負担をもたらす。同様に、CORDIC方式
には時間、複雑さ及びスペースについて制約がある。C
ORDIC方式は、ハードウェアに集約される近似の問
題に対して反復解を利用する。ルックアップテーブル方
式は、各近似する各独立変数の記憶場所のアドレス指定
に依存する。従って、ルックアップテーブル方式の分解
能と正確さは専用とされるメモリの量によって大きく左
右される。すなわち、1バイトごとに8つのビットを有
する4Kバイト独立変数アドレス指定の型とは関係なく
四千種類の独立変数を表すことができるであろう。それ
ぞれの結果は多くとも256個の異なる値を含んでいる
と考えられる。
【0003】チェビシェフ多項式評価方式は、実時間ア
プリケーションについて、ベクトル値化初等関数の近似
を実行できる。チェビシェフ近似を使用する基準化因子
評価器は、IEEE Computer Societ
y Proceedingsof the 8th S
ymposium on Computer Arit
hmetic 1987(M.J.Irwin Ed)
の121〜128ページに掲載されたKai Hwan
g,H.C.Wang及びZ.Xuの論文「Evalu
ating Elementary Function
s WithChebyshev Polynomin
als On PipelineNets」に記載され
ているような3つの素子から構成される。Hwang他
の論文に説明されているように、前処理装置は入力デー
タ独立変数について範囲縮小を実行する。チェビシェフ
近似装置は短縮されたチェビシェフ数列を評価し、後処
理装置は元の独立変数に関して関数値を回復する。前処
理タスクと後処理タスクは相補的であり、互いに密接に
関連している。また、それらのタスクは関数に依存して
いる。
【0004】座標回転デジタルコンピュータ(CORD
IC)は、実時間機上計算のための専用デジタルコンピ
ュータである。このコンピュータは、平面座標回転及び
直交座標から極座標への交換に関わる三角関数関係を解
決するために開発された。CORDICコンピュータは
3つのシフトレジスタと、3つの加算器/減算器と、特
殊相互接続部とから構成されていた。CORDIC計算
方式は、三角関数関係の不連続プログラム化解決を含む
実時間デジタル計算環境で使用するために特別に開発さ
れた。
【0005】CORDIC方式はアナログ解法のデジタ
ル等価を実行する。計算は回転モードと、ベクトル化モ
ードとに分割される。回転モードでは、所定の角度だけ
回転させた後、元のベクトルの座標成分を計算する。ベ
クトル化モードでは、ベクトルの座標成分を与え、元の
ベクトルの大きさと角の数を計算する。ベクトル化モー
ドにおいては、回転とフィードバックを利用する。この
角の数が0になるまで当初の座標を回転させる。COR
DIC方式では、基本計算方式は、所定角度の総合的回
転に終わるか又は最終角の数を0にする結果をもたらす
疑似回転のステップごとのシーケンスである。CORD
IC計算方式は、IRE Transactions
on Electronic Computing E
C−8(1959年)の330〜334ページに掲載さ
れたJack E.Volderの論文「The CO
RDIC Trigonometric Comput
ing Technigue」に十分に説明されてい
る。
【0006】
【発明が解決しようとする課題】従って、本発明の動機
は、近似の速度又は正確さを犠牲にせずに、超越関数を
近似するために必要とされるメモリ及び計算用ハードウ
ェアの量を減少させる超越関数近似方式を提供すること
である。本発明の目的は、三角関数と、その逆数、二乗
根、対数及び指数とを計算するための改良された装置及
び方法を提供することである。本発明の別の目的は、1
つの超越関数独立変数から別の結果への直接変換を支援
するための改良された装置及び方法を提供することであ
る。本発明のさらに別の目的は、所定の数体系の中で最
適に近い近似の結果を達成する超越関数近似のための改
良された装置及び方法を提供することである。本発明の
別の目的は、ルックアップテーブルの大きさを最小にす
る超越関数近似のための改良された装置及び方法を提供
することである。本発明のさらに別の目的は、計算の遅
延を最小にする超越関数近似の改良された装置及び方法
を提供することである。
【0007】
【課題を解決するための手段】本発明は固定小数点演算
体系の中で超越関数に対する近似を計算する。本発明は
Nビット独立変数を受取って、Nビット結果を発生する
ので、nビット独立変数とMビット結果における小数点
の位置どりを異なるものとすることができる。Nビット
独立変数のある定義域について関数を評価することがで
きる。それぞれのNビット独立変数はPビットオフセッ
ト独立変数と、Lビット独立変数とに分割される。Lビ
ット独立変数は区域内近似ルックアップテーブルに対す
るアドレスを形成する。Pビットオフセット独立変数は
オフセットルックアップテーブルに対するアドレスを形
成する。区域内近似ルックアップテーブルの内容は、ま
ず、Nビット独立変数で関数を正確に評価し、区域内近
似を形成することにより確定される。区域内近似ルック
アップテーブルには、Qビットプロファイル索引と、R
ビットシフトカウントとを指示する追加情報が記憶され
る。オフセットルックアップテーブルの内容は、定義域
の要素ごとにオフセットのセットを生成することにより
確定される。このセットをプロファイルと呼ぶ。オフセ
ットルックアップテーブルの出力は、2R ビットだけシ
フトすることにより位取りされる。追加の符号絶対値に
基づいて、シフトさせたオフセットの結果を区域内近似
ルックアップテーブルからのNビット区域内近似出力に
対して加算又は減算する。
【0008】本発明は、オフセットルックアップテーブ
ルに記憶されるオフセットの数を減少させる方法を提供
する。徹底探索メカニズムを使用して、Qビットプロフ
ァイル索引とRビットシフトカウントの可能な全ての組
合せを試行する。本発明の一実施例では、余分のオフセ
ットエントリのみを排除する。本発明の別の実施例にお
いては、所定量のエラーを越えて正確さに影響を及ぼさ
ない場合にはオフセットエントリを排除する。Nの初期
値は使用する数体系により確定される。P及びLの初期
値は結果の所望の正確さにより確定される。精密な近似
を可能にするために、Qの初期値をLに設定する。加算
又は減算に備えてシフトなしオフセットを与えるため
に、当初、Rを0に設定しておく。メモリのサイズ及び
近似の正確さの改善は、様々に異なるシステムパラメー
タの値について、本発明の関数近似方法の「試行錯誤」
及び数値解析により確定される。本発明のその他の目
的、特徴及び利点は、以下の好ましい実施例の説明、特
許請求の範囲及び図面によって当業者には明白となるで
あろう。図面中、同じ図中符号は同じ要素を指示する。
【0009】
【実施例】本発明を例示するために、添付の図面を参照
しながら好ましい一実施例を説明する。好ましい実施例
は超越関数近似方法及びその装置に関する。そこで、本
発明の方法及び装置の概略ブロック線図を示す図1を参
照する。本発明の関数近似方法を理解するために、Nビ
ット独立変数210、Pビットオフセット212、Lビ
ットアドレス214、Mビットデータ216、Qビット
プロファイル索引218、Rビットシフトカウント22
4、(P+1)ビットデータ222、符号絶対値23
0、Pビットデータ223、Pビット基準化(スケーリ
ング)データ226、Nビット区域内近似232及びN
ビット結果234の値の性質を説明しておく。
【0010】近似すべき関数276をある定義域内の値
に照らして評価する。Nビット独立変数210は考えう
る2N 個の定義域値を表わし、各ビットは2進ビットで
ある。本発明の関数276近似方法がどのような基底を
表すビットについても機能できるであろうということは
当業者には明らかであろう。本発明の目的は、Nビット
独立変数210で関数276の値を近似することであ
る。Nビット独立変数210における関数276の値を
Nビット結果234と呼ぶ。Nとして選択される値は、
本発明の実現に際して使用する記数法に基づいている。
【0011】Lビット値214はNビット独立変数21
0のL個の最上位ビットである。Lビット値は区域内近
似ルックアップテーブル280に対するアドレスとして
使用される。区域内近似ルックアップテーブル280は
評価すべき関数276のNビット近似232と、Qビッ
トプロファイル索引218と、2N 個のNビット独立変
数のそれぞれについてのRビットシフトカウント224
とを記憶している。Lの初期値は発見的方法により確定
され、数値解析により改善されるが、それらは、共に、
使用している記数法と、近似の所望の正確さと、本発明
の方法のトライアルアンドエラーテストの結果とによっ
て決まる。
【0012】Pビット値212はNビット独立変数21
0のP個の最下位ビットである。Pビット値212はオ
フセットルックアップテーブル282に対するアドレス
として使用される。オフセットルックアップテーブル2
82は2Q 個のオフセットのセットを含んでおり、それ
ぞれのオフセットのセットをプロファイルと呼ぶ。それ
ぞれのオフセットのセット、すなわち、プロファイルは
P 個の値を含む。定義上、L+PはNに等しいので、
Pの初期値はLの値と同じように確定される。Pの値は
プロファイルの特定の1つのメンバーを選択したものと
して解釈される。
【0013】Mビット値は区域内近似ルックアップテー
ブル280のデータ出力である。関数276の定義域の
各要素には、それに関連するMビット値が存在してい
る。区域内近似ルックアップテーブル280の出力は、
Nビット区域内近似232と、Rビットシフトカウント
値224と、Qビットプロファイル索引218とに分解
されたMビット数216である。R及びQの所定値を改
善する方法については、後に図4の数値解析を参照しな
がら説明する。
【0014】Qビット値はオフセットルックアップテー
ブル282に対する索引である。オフセットルックアッ
プテーブル282のフルアドレスは、(P+Q)ビット
アドレス220を形成するQビットプロファイル索引値
218と、Pビットオフセット値212とを連結するこ
とにより形成される。当初、オフセットルックアップテ
ーブル282の中に区域内近似ルックアップテーブル2
80の要素と同じ数のプロファイルが存在しているよう
に、QはLと等しいものと仮定する。Pビットデータオ
フセットと符号絶対値の値は、(P+Q)ビットアドレ
スごとに、オフセットルックアップテーブル282から
出力される。
【0015】符号絶対値ビット230は、本発明の方法
の補間加算器/減算器286に、基準化オフセットを基
準化シフタ284に対して加算すべきか又は減算すべき
かを指示する。Nビット区域内近似232は、区域内近
似ルックアップテーブル280から読取った関数276
のオフセットなし区域内近似である。Nビット結果23
4は、符号絶対値ビットの状態に応じて、Nビット区域
内近似とPビット基準化データ値226の和又は差とし
て計算される。
【0016】本発明の関数近似方法は、定義域の1要素
を表すNビット独立変数210を受入れることによって
始まる。Nビット値210は近似すべき関数276に対
する独立変数であり、Nビット独立変数210は2進法
では2N 個の異なる値を得ることができる。尚、Nの値
は使用している記数法により決まる。近似すべき関数2
76は超越関数であっても良いが、どのような関数又は
関係、もしくは関数か関係の組合せを近似することもで
きるであろう。独立変数210のL個の最上位ビット2
14は、本発明の超越関数近似方法に関わるアドレス指
定方式を規定する。本発明は、N及びLについて所定の
大きさを使用して、方法の正確さ及び分解能を調整する
方法を提供する。Lの大きさを変えると、方法の分解能
と、方法を実現するために必要とされるメモリの量に影
響が及ぶ。Lビットアドレス214の大きさを1ビット
だけ増すと、その後の近似の分解能は倍増するが、区域
内近似ルックアップテーブル280を実現するために必
要とされるメモリの大きさも2倍にしなければならな
い。区域内近似ルックアップテーブル280は、特定の
所定の関数276について区域内近似232を実行させ
る。
【0017】区域内近似ルックアップテーブル280の
内容を確定する方法を図1及び図2Aを参照しながら説
明する。図2Aには、超越関数10の一部を本発明の方
法によって近似するものとしてグラフにより示してあ
る。図2Aでは、余弦関数10の推定範囲を0度から9
0度の間隔にわたり8つの等しいセグメントに分割して
いる。図示するように、余弦関数10の第1象限におい
ては、この関数10により規定される曲線の下方の領域
は線60,61,62,63,64,65,66及び6
7により区分される。グラフのx軸に沿って度単位の変
位角30を示し、グラフのy軸に沿って余弦関数f
(x)10を示す。本発明の方法は、セグメントごとの
区域内近似160,161,162,163,164,
165,166,167及び168を区域内近似ルック
アップテーブル280に記憶させながら余弦関数10を
近似する。区域内近似ルックアップテーブル280のア
ドレス値はx軸91の点である点72,73,74,7
5,76,77及び78に対応する。この例では余弦関
数10の区域内近似はf(x)92の区域内近似の規定
により、各セグメントの中心点で取出される。従って、
Nビットアドレス210は、中心点値71,72,7
3,74,75,76,77,78及び79に対応する
区域内近似ルックアップテーブル280のNビットアド
レスに対応する。そこで、図1のNビット区域内近似2
32はデータ値161,162,163,164,16
5,166,167及び168に対応するNビット区域
内近似に対応する。
【0018】図2Aで挙げた例は、0度から90度まで
の間で余弦関数10を近似するために使用される本発明
の超越関数近似方法の1例を示す。ここで選択した関数
と近似の範囲が単なる1例であって、本発明を限定する
ものではないことは当業者には理解されるであろう。図
2Aに示す例では、0度から90度までの間隔を2L
のセグメントに分割しており、この場合、Lは3であ
る。このデータ値は区域内近似ルックアップテーブル2
80に対するLビットアドレス214を表わす。
【0019】次に、本発明の関数近似方法のオフセット
方式を示す図2Bを図1と共に示す。一般にオフセット
をシフトして、区域内近似に適用する。関数f(x)9
2の区域内近似167をf(x)軸92に示し、中心点
Nビット独立変数表示57をx軸91に示す。オフセッ
トは51,52,53,54,55,56,57及び5
8として定義されている。区域内近似ごとに、たとえ
ば、167で、補正値、すなわちオフセットを与えるこ
とにより関数の近似を改善できる。区域内近似77のア
ドレスの相対値を関数の値のより正確なアドレスと比較
することにより、このオフセットを計算できる。従っ
て、図2Bの例の場合、点51,52,53及び54は
正のオフセットを与え、点55,56,57及び58は
負のオフセットを与える。オフセットが確定したなら
ば、関数の近似は追加「プロファイル」変換を受ける。
【0020】各セグメントのプロファイルはPビットオ
フセットから関数f(x)92のオフセットへのマッピ
ングとして定義される。セグメントごとのプロファイル
はそのセグメントの中のf(x)92の形状に伴って変
化する。その結果、様々に異なる区域内近似167につ
いて異なるプロファイルを選択するためには追加のプロ
ファイル索引が必要である。オフセットルックアップテ
ーブル282に記憶される実際の値は次のような過程を
経て確定される。まず、定義域の個々の要素について2
P 個の要素から成るセットごとの正確な関数値を計算
し、記憶する。次に、各セットの中間値を計算する。そ
れぞれの正確な値と、セットごとの中間値との差を計算
する。中間値が正確な値より大きい場合、オフセットを
減算しなければならず、対応する符号絶対値は減算を指
示するように設定される。中間値が正確な値より小さい
ならば、オフセットを加算しなければならず、対応する
符号絶対値は加算を指示するように設定される。次に、
オフセットルックアップテーブルに記憶するために差の
値をP番目のビットまで丸める。
【0021】特定の超越関数セグメントに関するQ、す
なわち、湾曲プロファイルの値は数値解析から確定され
る。Qビットはオフセットルックアップテーブル282
の2Q 個の可能な湾曲プロファイルの中から1つを選択
する。当業者には理解されるであろうが、何らかの特定
の関数の近似に要求される湾曲プロファイルの数は所望
の正確さ及び所定の間隔にわたる関数の相対形状に伴っ
て変わる。当初、プロファイルの数は定義域の要素の数
又は関数近似装置に対する可能な独立変数の数と等し
い。この初期数のプロファイルは近似ごとに個有のプロ
ファイルを提供する。評価すべき関数の型と性質に応じ
て、プロファイルを再利用して良いという可能性があ
る。さらに、使用前に単に基準化することにより、いく
つかのプロファイルを再利用しても良い。本発明のこれ
ら2つの特徴は、本発明を実現するために必要とされる
メモリの量をかなり減少させる。
【0022】本発明の数値解析方法では、まず、余分の
エントリを求めてオフセットルックアップテーブルを走
査し、その後にそれらのエントリを排除する。本発明の
近似方法の別の実施例においては、オフセットルックア
ップテーブル282に記憶しなければならないプロファ
イルの数を減少させるように、オフセット222を基準
化する。シフトによる基準化は、そのシフトの所定の意
味に応じて、オフセットの大きさを2の累乗だけ増加又
は減少させる。Rビット224はオフセットルックアッ
プテーブル282からPビットオフセット212に関わ
る基準化ビットシフトを選択する。これにより、補間間
隔を経て湾曲プロファイルを拡張又は圧縮することにな
るので、湾曲プロファイルの見かけの数は増す。シフト
による基準化の方法が単なる1例であって限定ではな
く、プロファイルを修正するために特定して異なる型の
基準化を使用しても良いことは当業者には理解されるで
あろう。
【0023】オフセットルックアップテーブル282は
入力独立変数からのPビットオフセット212と、区域
内近似ルックアップテーブル280からのQビットプロ
ファイル索引218とを使用して、Pビット値212
と、1ビット符号絶対値とを発生する。オフセットルッ
クアップテーブル282を、超越関数の様々に異なる間
隔に当てはまる曲線部分から成る「コードブック」であ
るとみなしても良い。規準化シフタ284はオフセット
ルックアップテーブル282からのPビット値222
と、区域内近似ルックアップテーブル280からのRビ
ット値とを受入れて、区域内近似に対して加算又は減算
すべき適切に基準化された湾曲プロファイル値を発生す
る。
【0024】補間加算器/減算器286は、最上位ビッ
トに0を埋込んだ状態の基準化Pビットオフセット21
2をNビット区域内近似232に対して加算又は減算し
て、最終Nビット結果234を発生する。当業者には認
められるであろうが、ルックアップテーブルの大きさと
湾曲プロファイルを慎重に選択することにより、本発明
が実行する超越関数近似を必要に応じて正確にしても良
い。テーブルの大きさを確定したならば、区域内近似ル
ックアップテーブル282の内容の一部を直接に計算し
ても良い。ただし、Qビットプロファイル索引218
と、Rビットシフトカウント224と、オフセットルッ
クアップテーブル282の内容とについては、コンピュ
ータ方式を使用して実験的にそれらを確定しなければな
らない。
【0025】図3は、関数プロファイルの再利用を組込
んだ本発明の近似方法の1例を示す。図3の例の関数は
単なる1例であって、本発明を限定するものではない。
関数はある超越関数の1つの傾きセグメント110であ
る。このプロファイルは、非常になだらかな傾きのセグ
メント120を近似するために必要とされる情報を提供
する。図3は、傾きセグメント110を.5により基準
化して傾きセグメント120を得る例を示す。この例で
は、プロファイルはちょうど45度以下のセグメントに
ついては非常に良く当てはまる。従って、本発明の超越
関数近似方法はプロファイルを「再利用」する方式を形
成する。
【0026】再び図1に戻ると、区域内近似ルックアッ
プテーブル280の大きさを指定(LxM)した後に、
曲線プロファイルルックアップテーブルにおける曲線の
数と曲線の形状を確定するために、数値解析を実行しな
ければならない。この解析は、1つのセグメントの中で
得ることができる値ごとに、Nビット区域内近似232
を実際のNビット結果と比較する。超越関数曲線に沿っ
たセグメントごとに、このプロセスを繰返す。それら2
つの値の差を使用して、曲線プロファイルの中の曲線の
数(2Q) と、オフセットデータの大きさ(Pビット)
とを確定する。このプロセスは超越関数に沿ったセグメ
ントごとに1つの曲線を作成する。それらの曲線は図4
の実験数値解析の初期値として使用される。
【0027】たとえば、区域内近似232をf(x)と
し、1つのセグメントの中の実際の関数値を(f(x)
+c0,f(x)+c1,・・・,f(x)+cn)と
すると、曲線プロファイルはy={c0,c1,・・
・,cn}のPビットオフセット212データを含むと
仮定することができる。オフセットデータは漸増曲線、
漸減曲線、もしくは局所最小点又は局所最大点を有する
曲線を表わすことができる。相似性を求めて、各セグメ
ントの曲線を比較する。Nビット区域内近似232と、
Qビット曲線プロファイル索引と、Pビットオフセット
データ212とを生成したならば、セグメントごとにR
ビット規準化シフトカウント224とQビット索引21
8を確定することができる。1つのセグメントの中で得
ることができる結果ごとに、Nビット区域内近似232
を基準化Pビットオフセット値に加算することにより、
補間Nビット結果234を生成する。この補間結果と、
実際のNビット結果との差を求めることにより、誤差を
計算する。基準化Pビットオフセット値ごとにこのプロ
セスを繰返す。基準化Pビットオフセット値は一度に1
ビットずつ(MSBからLSBへ)シフトすることによ
り生成される。1つのセグメントの全ての誤差のRMS
値を計算する。個々の誤差がビットエラー制約を越える
ことなく最小のRMS誤差を生成するQビット曲線索引
とRビット基準化シフトカウントを使用する。
【0028】この結果によれば、いくつかの曲線プロフ
ァイルが使用されないことがわかるであろう。このよう
な事態は、曲線プロファイルが別の基準化曲線プロファ
イルに類似している場合に起こると思われる。1つの曲
線のオフセットデータを基準化することにより別の曲線
をほぼ獲得できるのであれば、そのようにして得られる
曲線を曲線プロファイルのセットに含める必要はない。
曲線プロファイルに別の曲線を保持して、少ない数のビ
ットをシフトすることと、曲線プロファイルから曲線を
省いて、より多くのビットをシフトすることの利点と欠
点を比較考慮しなければならない。
【0029】誤差が全ての制約に適合すれば、数値解析
はそこで完了し、必要な全てのデータが生成されたこと
になる。適合しない場合には、数多くのアクションを実
行できるであろう。第1に、曲線プロファイルに新たな
曲線を追加できる。第2に、曲線を表わすPビットオフ
セットデータ212を修正しても良い。あるいは、第3
に、区域内近似がより精度の高い分解能を有するよう
に、区域内近似ルックアップテーブル280を再区分し
ても良い(Nを増加させる)。何らかのアクションを実
行した後、そのステップからプロセスを繰返さなければ
ならない。
【0030】当業者には理解されるであろうが、関連す
る計算と近似は、本来、組合せられているので、近似装
置の有効スループットを改善するために、パイプライン
レジスタを使用することができる。コンピュータ数値解
析を使用することにより、必要とされるセグメントの数
と、必要とされるオフセットの数と、必要とされるプロ
ファイルの数と、基準化を使用して可能であると思われ
る所定のプロファイルの再利用とについて妥協点を見出
すことができる。数値解析は、超越関数の形状及び達成
すべき所望の一定の正確さを含む数多くの要因を考慮す
る。必要とされるセグメントの数は区域内近似ルックア
ップテーブルの大きさに強い影響を与える。必要とされ
るオフセットの数は、図2にN−Lとして計算されるP
ビットオフセットの大きさに強い影響を与える。
【0031】図4に、本発明の数値解析方法を実験解析
フローチャートとして示す。この解析で使用する状態変
数は次の通りである: L−区域内近似ルックアップアドレスビットの数 I−Lに関わる索引変数 Q−曲線プロファイル索引を表わすために必要とされる
ビット q−Qに関わる索引変数 R−基準化シフトカウントを表わすためのビットの数 P−オフセットデータを表わすためのビットの数 p−Pに関わる索引変数 E−実際の結果と補間結果とを表わすためのエラー T_E−総エラー−所定の規準化曲線に関する1つのセ
グメントの中の全てのエラーの二乗の和 E_RMS−所定の基準化曲線に関する1つのセグメン
トの中の全てのEのRMS値 近似装置はステップ300から始めて、セグメントのf
(x)を求める(ステップ310)。ステップ310で
はIを0に設定する。ステップ320ではQを0に設定
する。ステップ330ではRを0に設定する。ステップ
340ではT_Eを0に設定し且つPを0に設定する。
次に、近似装置はp及びqを索引として使用してオフセ
ットをルックアップする(ステップ350)。ステップ
360では、戻されたデータ値をRだけシフトする。次
に、ACTUAL値から関数値f(x)と、オフセット
値とを減算した値として、Eを計算する(ステップ37
0)。ステップ370では、Eをセーブし、T_EをT
_E+E2 の旧値として計算する。ステップ380で
は、Pをpに照らして検査し、p>Pであれば、次にプ
ロセスはステップ390へ進み、そうでない場合にはプ
ロセスはステップ440へ進み、そこでpを増分する。
プロセス440でpを増分した後、プロセスはステップ
350に戻る。ステップ390では、総エラーの二乗根
T_E**1/2としてE_RMSを計算し、そのE_R
MS値をセーブする。次に、プロセスはステップ400
へ進み、RをPに照らして検査する。RがPより大きけ
れば、プロセスはステップ410へ進み、そうでない場
合にはステップ450でRを増分する。ステップ450
でRを増分した後、プロセスはステップ340に戻る。
ステップ410ではQをqに照らして検査し、q>Qで
あれば、ステップ420で最小E_RMSをq及びRと
共に記録し、そうでない場合にはqを増分し、qを増分
した後にプロセスはステップ330に戻す。次に、プロ
セスはステップ430へ進み、そこでIをLに照らして
検査する。IがLより大きいならば、ステップ480で
プロセスは完了し、そうでない場合にはプロセスはステ
ップ470へ進み、そこでIを増分する。Iを増分した
後、プロセスはステップ320に戻る。
【0032】特許法に従うため、また、必要に応じて新
規な原理を適用し且つそのような特殊化した素子を使用
するために必要とされる情報を当業者に提供するため
に、本発明をかなり詳細に説明した。ただし、本発明を
本質的に異なる機器や装置について実施できること及び
機器の詳細と動作の手順の双方について、本発明自体の
範囲から逸脱せずに様々な変形を実施しうることがわか
る。
【図面の簡単な説明】
【図1】本発明の方法の概略ブロック線図。
【図2】超越関数を近似するために使用される本発明の
方法の例を示す図。
【図3】基準化を使用して超越関数を近似するために使
用される本発明の方法の1例を示す図。
【図4】本発明の方法の数値解析の概略フローチャー
ト。
【符号の説明】
280 区域内近似ルックアップテーブル 282 オフセットルックアップテーブル 284 基準化シフタ 286 補間加算器/減算器

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数の定義域要素から構成され、それぞ
    れの定義域要素が固有のNビット関数独立変数によりア
    ドレス可能であるような定義域について関数を評価する
    関数近似方法において、 (a)各Nビット関数独立変数を定義域の要素ごとにL
    最上位ビット独立変数と、P最下位ビットオフセット独
    立変数とに分割する過程と; (b)L最上位ビット独立変数ごとに、超越関数のNビ
    ット区域内近似と、Qビットプロファイル索引と、Rビ
    ットオフセットシフトカウントとを、複数の定義域要素
    のそれぞれについてL最上位ビット独立変数によりアド
    レス指定される区域内近似ルックアップテーブルに記憶
    する過程と; (c)複数の定義域要素のそれぞれについて、P最下位
    ビットオフセット独立変数をQビットプロファイル索引
    と連結してP+Qビットオフセットルックアップテーブ
    ルアドレスに到達する過程と; (d)P最下位ビットオフセット独立変数ごとに、複数
    の定義域要素のそれぞれについて2P 個の要素から成る
    要素セットごとにP+Qビットオフセットルックアップ
    テーブルアドレスによりアドレス指定されるオフセット
    ルックアップテーブルに、Pビットオフセット値と、符
    号絶対値とを記憶する過程と; (e)複数の定義域要素のいずれか1つについて関数の
    値を評価する過程とから成る関数近似方法。
  2. 【請求項2】 複数の定義域要素から構成され、それぞ
    れの定義域要素が固有のNビット関数独立変数によりア
    ドレス可能であるような定義域について関数を評価する
    関数近似装置において、 (a)各Nビット関数独立変数を定義域の要素ごとにL
    最上位ビット独立変数と、P最下位ビットオフセット独
    立変数とに分割する手段と; (b)L最上位ビット独立変数ごとに、超越関数のNビ
    ット区域内近似と、Qビットプロファイル索引と、Rビ
    ットオフセットシフトカウントとを、複数の定義域要素
    のそれぞれについてL最上位ビット独立変数によりアド
    レス指定される区域内近似ルックアップテーブルに記憶
    する手段と; (c)複数の定義域要素のそれぞれについて、P最下位
    ビットオフセット独立変数をQビットプロファイル索引
    と連結してP+Qビットオフセットルックアップテーブ
    ルアドレスに到達する手段と; (d)P最下位ビットオフセット独立変数ごとに、複数
    の定義域要素のそれぞれについて2P 個の要素から成る
    要素セットごとにP+Qビットオフセットルックアップ
    テーブルアドレスによりアドレス指定されるオフセット
    ルックアップテーブルに、Pビットオフセット値と、符
    号絶対値とを記憶する手段と; (e)複数の定義域要素のいずれか1つについて関数の
    値を評価する手段とを具備する関数近似装置。
JP4207002A 1991-07-11 1992-07-13 超越関数近似装置及びその方法 Withdrawn JPH05241794A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US728445 1991-07-11
US07/728,445 US5224064A (en) 1991-07-11 1991-07-11 Transcendental function approximation apparatus and method

Publications (1)

Publication Number Publication Date
JPH05241794A true JPH05241794A (ja) 1993-09-21

Family

ID=24926882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4207002A Withdrawn JPH05241794A (ja) 1991-07-11 1992-07-13 超越関数近似装置及びその方法

Country Status (4)

Country Link
US (1) US5224064A (ja)
EP (1) EP0526747A3 (ja)
JP (1) JPH05241794A (ja)
CA (1) CA2072958A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005013105A1 (ja) * 2003-08-04 2005-02-10 Fujitsu Limited ルックアップテーブル及びデータ取得方法
KR101471750B1 (ko) * 2012-03-30 2014-12-10 애플 인크. 급수 전개를 이용하는 초월 및 비선형 컴포넌트들
WO2023008984A1 (ko) * 2021-07-30 2023-02-02 주식회사 사피온코리아 부동 소수점 표현에서 함수 근사를 연산하는 방법 및 장치

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5687298A (en) * 1991-05-28 1997-11-11 Calcomp, Inc. Chordal tolerance control in circles on pen plotters for increased throughput
US5648924A (en) * 1995-04-18 1997-07-15 Motorola, Inc. Method and apparatus for finding arctangents
US5951625A (en) * 1997-06-30 1999-09-14 Truevision, Inc. Interpolated lookup table circuit
US6363405B1 (en) 1997-12-24 2002-03-26 Elbrus International Limited Computer system and method for parallel computations using table approximation methods
JP4294114B2 (ja) * 1998-03-02 2009-07-08 パイオニア株式会社 ディジタルfm検波回路
US6181355B1 (en) * 1998-07-17 2001-01-30 3Dlabs Inc. Ltd. Graphics processing with transcendental function generator
AU2001289045A1 (en) * 2000-09-08 2002-03-22 Avaz Networks Hardware function generator support in a dsp
US7219114B2 (en) * 2002-04-10 2007-05-15 Patent Purchase Manager, Llc Fast approximation to the spherical linear interpolation function
JP3845636B2 (ja) * 2004-01-21 2006-11-15 株式会社東芝 関数近似値の演算器
US7546332B2 (en) * 2004-11-09 2009-06-09 Theta Microelectronics, Inc. Apparatus and methods for implementation of mathematical functions
US20060101244A1 (en) * 2004-11-10 2006-05-11 Nvidia Corporation Multipurpose functional unit with combined integer and floating-point multiply-add pipeline
JP2007183342A (ja) * 2006-01-05 2007-07-19 Nec Electronics Corp データ変換回路とそれを用いた表示装置
US7580964B2 (en) * 2006-01-25 2009-08-25 Teledyne Technologies Incorporated Hardware-efficient phase-to-amplitude mapping design for direct digital frequency synthesizers
CN103348300B (zh) * 2011-01-21 2016-03-23 飞思卡尔半导体公司 计算函数的函数值的装置和方法
WO2013095463A1 (en) * 2011-12-21 2013-06-27 Intel Corporation Math circuit for estimating a transcendental function
US8504954B1 (en) 2012-03-30 2013-08-06 Apple Inc. Methodology for automatically generating series-approximated components
US9295009B2 (en) 2012-05-23 2016-03-22 Telefonaktiebolaget L M Ericsson (Publ) Transcendental function look-up tables for thermal noise power floor estimation
US9411756B2 (en) 2012-06-18 2016-08-09 Blackberry Limited Function approximation circuitry
EP2677660B1 (en) * 2012-06-18 2016-03-30 BlackBerry Limited Function approximation circuitry
US20170169132A1 (en) * 2015-12-15 2017-06-15 Analog Devices, Inc. Accelerated lookup table based function evaluation
US10331162B2 (en) 2017-05-15 2019-06-25 International Business Machines Corporation Power series truncation using constant tables for function interpolation in transcendental functions
CN113378012B (zh) * 2021-06-30 2023-10-24 上海思朗科技有限公司 一种数据处理方法、装置和系统
CN116070556A (zh) * 2021-11-01 2023-05-05 华为技术有限公司 一种多级查找表电路、函数求解方法及相关设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4171537A (en) * 1978-01-09 1979-10-16 National Semiconductor Number oriented processor
US4583188A (en) * 1983-03-11 1986-04-15 Sanders Associates, Inc. Digitally controlled electronic function generator
US4809205A (en) * 1986-11-19 1989-02-28 Rockwell International Corporation Digital sine conversion circuit for use in direct digital synthesizers

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005013105A1 (ja) * 2003-08-04 2005-02-10 Fujitsu Limited ルックアップテーブル及びデータ取得方法
US7620676B2 (en) 2003-08-04 2009-11-17 Fujitsu Limited Lookup table and data acquisition method
KR101471750B1 (ko) * 2012-03-30 2014-12-10 애플 인크. 급수 전개를 이용하는 초월 및 비선형 컴포넌트들
US9015217B2 (en) 2012-03-30 2015-04-21 Apple Inc. Transcendental and non-linear components using series expansion
WO2023008984A1 (ko) * 2021-07-30 2023-02-02 주식회사 사피온코리아 부동 소수점 표현에서 함수 근사를 연산하는 방법 및 장치
KR20230018742A (ko) * 2021-07-30 2023-02-07 주식회사 사피온코리아 부동 소수점 표현에서 함수 근사를 연산하는 방법 및 장치

Also Published As

Publication number Publication date
CA2072958A1 (en) 1993-01-12
EP0526747A3 (en) 1993-06-16
EP0526747A2 (en) 1993-02-10
US5224064A (en) 1993-06-29

Similar Documents

Publication Publication Date Title
JPH05241794A (ja) 超越関数近似装置及びその方法
US5737253A (en) Method and apparatus for direct digital frequency synthesizer
US4823301A (en) Method and circuit for computing reciprocals
US5365465A (en) Floating point to logarithm converter
US6385632B1 (en) Fast CORDIC algorithm with sine governed termination
US7606852B2 (en) CORDIC unit
CN107305484B (zh) 一种非线性函数运算装置及方法
JPH0635680A (ja) 対数を計算するディジタル回路及びコンピュータシステムを動作させる方法
KR19980701802A (ko) 로그/역로그 변환기, 계산 장치 및 로그값 발생 방법
EP0264256A2 (en) Apparatus and method for approximating the magnitude of a complex number
US7406589B2 (en) Processor having efficient function estimate instructions
US6182100B1 (en) Method and system for performing a logarithmic estimation within a data processing system
EP0351829A2 (en) Integer division circuit provided with a overflow detection circuit
US6941334B2 (en) Higher precision divide and square root approximations
JP4757328B2 (ja) 逆正接演算装置及び逆正接演算プログラム
JPH0775019B2 (ja) 複素数の大きさの近似値を決定する装置およびその方法
CN115658008A (zh) 一种资源复用型超越函数运算实现方法
CN1936830A (zh) 小数取幂的数字实现
US20220100818A1 (en) Interpolation Method and Apparatus for Arithmetic Functions
CN111913686B (zh) 一种定点cpu的快速开平方计算的方法
JPH10283165A (ja) 演算装置及び演算方法
JP3390599B2 (ja) 除算装置
JPH08147146A (ja) 除算演算装置
JPH07210373A (ja) デジタル極座標変換回路
KR100228576B1 (ko) 어레이형 고속 좌표 회전 디지틀 컴퓨터 회로

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19991005