JPH06105421B2 - 逆三角関数演算装置 - Google Patents

逆三角関数演算装置

Info

Publication number
JPH06105421B2
JPH06105421B2 JP30820488A JP30820488A JPH06105421B2 JP H06105421 B2 JPH06105421 B2 JP H06105421B2 JP 30820488 A JP30820488 A JP 30820488A JP 30820488 A JP30820488 A JP 30820488A JP H06105421 B2 JPH06105421 B2 JP H06105421B2
Authority
JP
Japan
Prior art keywords
arctan
value
register
multiplier
signal
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.)
Expired - Lifetime
Application number
JP30820488A
Other languages
English (en)
Other versions
JPH02153412A (ja
Inventor
貴司 中山
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP30820488A priority Critical patent/JPH06105421B2/ja
Publication of JPH02153412A publication Critical patent/JPH02153412A/ja
Publication of JPH06105421B2 publication Critical patent/JPH06105421B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は計算機を用いた逆三角関数の演算装置に関す
る。
〔従来の技術〕
逆三角関数arctan(χ)は、数値計算を扱う計算機にで
は是非とも備えなければならない機能の一つである。
従来、逆三角関数は、次式による多項式近似により求め
られていた。
arctan(χ)=a0χ+a1×χ+…+am ×χ2m+1 ……(1) (ここで、a0,a1,…,amは定数) この式において、引数|χ|が「1」に近いときは、多
項式の次数mが高くなるため、二倍角の公式や加法定理
を用いてχの範囲を狭める工夫が必要である。また多項
式近似では、乗算と加算を繰返し実行するため、演算時
間が長くなる欠点があった。
一方、マイクロプログラム制御の計算機では、逆三角関
数をCORDIC(COordininate Rotaion DIgital Compute
r)法によって求める場合もある。CORDIC法によると、
逆三角関数は以下のように得られる。
x0=1,y0=χ,v0=0とする。
k=0,1,2,…,Nについて次のを実行する。
yk≧0ならばak=1 yk<0ならばak=−1 yk+1=xk+ak2-kyk yk+1=xk−ak2-kxk Vk+1=vk+arctan(2-k) ……(2) arctan(χ)=vNが得られる。
このCORDIC法では、N桁の逆三角関数を得るために、加
減算やシフトなどの演算をN回繰り返す必要がある。そ
のため、CORDIC法には演算時間が長くなるという欠点が
あり、あまり用いられていない。
〔発明が解決しようとする課題〕
上述した従来例の、逆三角関数演算装置には、以下の問
題点がある。
(1)、演算時間が長い。
多項式近似の方式では、(1)式を演算するのに、(m
+2)回の乗算とm回の加算が必要である。|χ|≦の
範囲で16ビットの精度の解を得るためにはm≧4である
必要がある。つまり、乗算6回分と加算4回分の演算時
間がかかる。
また、CORDIC法では16ビットの精度の解を得るにはk=
0,1,…,15として(2)式を演算する必要がある。つま
り、32回のシフト演算と46回の加減算を行なう必要があ
る。もし、バレルシフタを2組,加減算器を3組用意す
れば(2)式の演算が1ステップで可能だが、シフトと
加減算が16回分の演算時間がかかる。
(2)、ハードウェアが複雑である。
CORDIC法では、ハードウェアとして、バレルシフタ,加
減算器に加えて、シーケンサが必要である。
また、多項式近似の方式でも、乗算と加算を繰返し実行
するため、乗算器と加算器以外にシーケンサが必要であ
る。
(3)、乗算器が大規模である。
多項式近似の方式では、2nビットの精度を得るために
は、2nビットの精度で乗算および加算を行なう必要があ
る。従って、2nビット×2nビットの乗算器が必要であ
る。
これは、LSI化する上で面積の増大をまねく。
本発明の目的は、このような問題を解決し、arctan
(χ)と のテーブルを持ち、テーブル検索を2回,乗算を1回,
加算を1回実行することにより、高速に逆三角関数arct
an(χ)を求めることのできる逆三角関数演算装置を提
供することにある。
〔課題を解決するための手段〕
本発明による逆三角関数演算装置の構成は、初期値χを
上位桁Hと下位桁L(χ=H+L)に分割して保持する
レジスタと、このレジスタから前記上位桁Hを入力し予
め計算され記憶されarctan(H)の値と の値とを出力するメモリと、このメモリの出力値と前記
レジスタの下位桁Lとの乗算を行なう乗算器と、この乗
算器の出力値と前記メモリの出力値とを加算する加算器
とから構成され、前記乗算器に前記メモリの と前記下位桁Lを入力し、前記加算器によって前記乗算
器出力値を前記メモリのarctan(H)値に加算すること
により、逆三角関数arctan(χ)を演算することを特徴
とする。
〔作用〕
以下、数式を用いて、本発明の逆三角関数演算原理を説
明する。
arctan(χ)を演算する場合、次式が成立する。
arctan(−χ)=−arctan(χ) ……(3) ここでは、0≦χ<1について考えればよい。
ここで、2n桁の2進数で表現されたχから、2nのarctan
(χ)を求めることを考える。先ず、χをn桁ずつ上位
桁Hと下位桁Lに分割する。
ただし、χk={1,0} 0≦χ<1 ……(6) ここで、加法定理および(5)式から、 この式の第2項をLについてテイラー展開すると、 が、H<1,L<2-nであるためL3の項以降は無視できる。
よって(10)式は次式ように近似できる。
この式において、Hを入力としarctan(H)の値と の値を出力とするテーブルROMを用意すると、乗算1回
と加算1回でarctan(χ)が得られる。
H<1,L<2-nなので,(11)式の第2項の演算精度はn
桁でよい。arctan(χ)に2n桁の精度を得るためには、
2n桁×2n語のarctan(H)テーブルと、n桁×2n語の テーブルと、 テーブル出力n桁とLのn桁を乗算する乗算器と、arct
an(H)テーブル出力2n桁に乗算結果の上位n桁を加算
する加算器が必要である。
〔実施例〕
次に図面により本発明を詳細に説明する。
第1図は本発明に従って逆三角関数arctan(χ)を演算
する装置の実施例のブロック図である。図において、レ
ジスタ11は変数χを入力信号18として入力する2nビット
のレジスタ、信号31はレジスタ11の上位nビットである
Hを出力する信号、信号32はレジスタ11の下位nビット
であるLを出力する信号、ROM12はarctan(H)および の値を記憶する2nビット×2n+1語のROM、信号30はROM12
の出力がarctan(H)か かを指定する1ビットの制御信号。レジスタ13はROM12
の出力値を保持する2nビットのレジスタ、信号33はレジ
スタ13の上位n桁を出力する信号、乗算器14は信号32と
信号33との積を演算するn×nビットの乗算器、レジス
タ15は乗算器14の出力2nビットのうち上位nビットを保
持するレジスタ、信号34はレジスタ15の値を下位nビッ
トとして出力し上位nビットをゼロを出力する2nビット
の信号、加算器16はレジスタ13の値に信号34の値を加算
する2nビットの加算器、レジスタ17は加算器16の出力を
保持し出力信号19として出力する2nビットのレジスタで
ある。
レジスタ11,13,17では、小数点をMSBの上に置いた固定
小数点数を扱い、レジスタ11上のχは、0<χ<1を満
たすものとする。
第2図は、第1図の演算装置によって逆三角関数arctan
(χ)を演算する手順を示すフローチャートである。
図において、第1段階として、ステップ1でレジスタ11
に入力信号χを設定する。次のステップ2では指定信号
30によりROM12を 側に指定し、ステップ3でレジスタ11に指定されたχの
値の上位桁H(信号31)をアドレスとしてROM12から の値を取り出し、レジスタ13に保持する。第2段階では
ステップ6で乗算器14によって の上位桁(信号33)とχの下位桁L(信号32)を乗算
し、ステップ7でこの乗算結果 の上位桁をレジスタ15に保持する。同時に、ステップ4
で指定信号30によりROM12をarctanH側に指定し、ステッ
プ5でレジスタ11に設定されたχの値の上位桁H(信号
31)をアドレスとしてROM12からarctan(H)の値を取
り出し、レジスタ13に保持する。次の第3段階では、ス
テップ8で、レジスタ13からのarctan(H)の値とレジ
スタ15の値を下位ビットとし上位ビットを0とした信号
34の値とを加算し、ステップ9でその加算値をレジスタ
17に保持する。
以上のように、レジスタ11上のχからレジスタ17上のar
ctan(χ)が、3段階で得られる。
例えば、16ビットの精度でarctan(χ)を求める場合、
ROM12は16ビット×512語、乗算器14は8ビット×8ビッ
トの乗算器、加算器16は16ビットであり、充分LSI化で
きる大きさである。
第3図は、本発明の第2の実施例のブロック図であり、
arctan(H)と のテーブルROM21,22を独立に有する場合の演算装置を示
している。
図において、ROM21はarctan(H)の値を記憶する2nビ
ット×2n語のメモリ、ROM22は の値を記憶するnビット×2n語のメモリ、乗算器14は信
号22とROM22の積を演算するn×nビットの乗算器、信
号34は乗算器14の出力2nビットのうち上位nビットとし
た信号、加算器16はROM21の値から信号34の値を加算す
る2nビットの加算器である。
次に、この逆三角関数演算装置の動作について説明す
る。
レジスタ11,ROM21,22および加算器16,レジスタ17では、
小数点がMSBの上に置いた固定小数点数を扱うものとす
る。
先ず、レジスタ11上に、0<χ<1を満たすχの値を与
える。すると、信号31,32にはχの値を上位下位に分割
したH,Lが出力される。このH信号31をアドレスとし
て、ROM21からはarctan(H),ROM22からは の値が出力される。次いで、乗算器14では の演算が行なわれる。加算器16では、次式が演算され、 arctan(χ)の値としてレジスタ17に出力される。
以上述べたように、第2の実施例ではarctan(χ)を1
ステップで演算することができる。演算時間は、テーブ
ル検索1回,乗算1回および加算1回に要する時間の和
になる。
例えば、16ビットの精度でarctan(χ)を求める場合、
ROM21は16ビット×256語、ROM21は8ビット×256語、乗
算器14は8ビット×8ビットの乗算器、加算器14は16ビ
ットであり、充分LSI化できる大きさである。
さらに、別の実施方法を次に説明する。
ROM21,22は同一のアドレス信号31でアクセスされるの
で、3nビット×2n語のROMとしても実現できる。また、
乗算器14を桁上げ保存加算器と桁上げ伝播加算器で構成
する場合は、桁上げ伝播加算器を加算器14で代用する
と、演算時間が短くなり、ハードウェア量も減少する。
また、ROM21,22、信号32の出力にレジスタを挿入するこ
とにより、パイプライン方式の演算装置が実現できる。
この方式では、テーブル乗算および加算を行なっている
期間に、次のarctan(χ)の演算のためのテーブルROM
検索を行なえる。そのため大量の配列データ{χ}に
対して{arctan(χ)}を求める場合に、演算時間を
第2の実施例の約半分にできる。
〔発明の効果〕
以上説明したように、本発明による逆三角関数演算装置
は、次の効果を有する。
(1) 演算速度が早く、演算時間が短い。
第1の実施例の逆三角関数演算装置では、3ステップで
演算を行なう。1ステップの処理時間は、テーブルROM
の読出し時間,乗算時間,加算時間のうち、最も長い時
間となるが、乗算とテーブルの読出しを並行して行なう
ことにより、演算時間を短縮している。
第2の実施例の逆三角関数演算装置では、1ステップで
演算を行なっている。1ステップの処理時間は、テーブ
ルROMの呼出し時間,乗算時間,加算時間の和になる
が、2つのテーブルの読出しを同時に行うことにより、
演算時間を短縮している。
(2) 演算ハードウェア構成が簡単である。
演算ハードウェアは、テーブルはROM,乗算器,加減算器
だけである。従来のCORDIC法による逆三角関数演算装置
では、バレルシフタや加減算器に加えて、シーケンサが
必要であり、多項式近似による演算装置では、乗算器が
加算器に加えて、シーケンサが必要であった。一方、本
発明の演算装置では、第1の実施例ではシーケンサが簡
単なものでよく、第2の実施例ではシーケンサが不要で
ある。
(3) 乗算器が小規模でよい。
従来例の多項式近似による演算装置では、2nビット×2n
ビットの乗算器が必要であったが、本発明の演算装置で
はnビット×nビットの乗算器でよい。これにより、乗
算器の面積は従来例の約1/4になる。
【図面の簡単な説明】
第1図は本発明の第1の実施例のブロック図、第2図は
第1図でarctan(χ)を演算する処理のフロー図、第3
図は本発明の第2の実施例のブロック図である。 1〜9……処理ステップ、11,13,15,17……レジスタ、1
2,21,22……ROM、14……乗算器、16……加算器、18……
入力信号、19……出力信号、30……制御信号、31,32…
…上位、下位nビット信号、33……上位出力信号。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】初期値χを上位桁Hと下位桁L(χ=H+
    L)に分割して保持するレジスタと、このレジスタから
    前記上位桁Hを入力し予め計算され記憶されたarctan
    (H)の値と の値とを出力するメモリと、このメモリの出力値と前記
    レジスタの下位桁Lとの乗算を行なう乗算器と、この乗
    算器の出力値と前記メモリの出力値とを加算する加算器
    とから構成され、 前記乗算器に前記メモリの 値と前記下位桁Lを入力し、前記加算器によって前記乗
    算器出力値を前記メモリのarctan(H)値に加算するこ
    とにより、逆三角関数arctan(χ)を演算することを特
    徴とする逆三角関数演算装置。
JP30820488A 1988-12-05 1988-12-05 逆三角関数演算装置 Expired - Lifetime JPH06105421B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30820488A JPH06105421B2 (ja) 1988-12-05 1988-12-05 逆三角関数演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30820488A JPH06105421B2 (ja) 1988-12-05 1988-12-05 逆三角関数演算装置

Publications (2)

Publication Number Publication Date
JPH02153412A JPH02153412A (ja) 1990-06-13
JPH06105421B2 true JPH06105421B2 (ja) 1994-12-21

Family

ID=17978170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30820488A Expired - Lifetime JPH06105421B2 (ja) 1988-12-05 1988-12-05 逆三角関数演算装置

Country Status (1)

Country Link
JP (1) JPH06105421B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2546916B2 (ja) * 1990-09-03 1996-10-23 日本電気アイシーマイコンシステム株式会社 三角関数演算装置
US6018552A (en) * 1996-03-06 2000-01-25 Matsushita Electric Industrial Co., Ltd. Differential detection receiver
CN114237134B (zh) * 2022-02-25 2022-05-06 中国航空工业集团公司沈阳飞机设计研究所 一种飞机飞行控制方法及系统

Also Published As

Publication number Publication date
JPH02153412A (ja) 1990-06-13

Similar Documents

Publication Publication Date Title
US5515308A (en) Floating point arithmetic unit using modified Newton-Raphson technique for division and square root
JPH02196328A (ja) 浮動小数点演算装置
JPH0612229A (ja) 乗累算回路
JPH03204720A (ja) 初等関数演算装置
JP4199100B2 (ja) 関数演算方法及び関数演算回路
US4956799A (en) Trigonometric function arithmetic processor using pseudo-division
JP2504102B2 (ja) 逆三角関数演算装置
JP2822399B2 (ja) 対数関数演算装置
JPH05250146A (ja) 整数累乗処理を行なうための回路及び方法
JP2508784B2 (ja) 指数関数演算装置
JPH06105421B2 (ja) 逆三角関数演算装置
Sravya et al. Hardware posit numeration system primarily based on arithmetic operations
JPH0540605A (ja) 浮動小数点乗算装置
JP2508286B2 (ja) 平方根演算装置
JPS62197868A (ja) パイプライン構成の直線近似変換回路
JP2972326B2 (ja) 平方根計算装置
JPH04172526A (ja) 浮動小数点除算器
JP2645422B2 (ja) 浮動小数点演算処理装置
Takagi Arithmetic unit based on a high-speed multiplier with a redundant-binary addition tree
JPH0322025A (ja) 指数関数演算装置
JP3195609B2 (ja) 逆数計算装置及び逆数計算装置を備えたコンピュータ
JPH04314126A (ja) 逆数発生装置
Lloris Ruiz et al. Special Functions
JPH0644227B2 (ja) 三角関数演算装置
JPH07120273B2 (ja) 除算装置