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

逆三角関数演算装置

Info

Publication number
JPH02153412A
JPH02153412A JP30820488A JP30820488A JPH02153412A JP H02153412 A JPH02153412 A JP H02153412A JP 30820488 A JP30820488 A JP 30820488A JP 30820488 A JP30820488 A JP 30820488A JP H02153412 A JPH02153412 A JP H02153412A
Authority
JP
Japan
Prior art keywords
arctan
value
multiplier
register
digits
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
JP30820488A
Other languages
English (en)
Other versions
JPH06105421B2 (ja
Inventor
Takashi Nakayama
貴司 中山
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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は計算機を用いた逆三角関数の演算装置に関する
〔従来の技術〕
逆三角関数arctan(χ)は、数値計算を扱う計算
機にでは是非とも備えなければならない機能の一つであ
る。
従来、逆三角関数は、次式による多項式近似により求め
られていた。
arctan(χ)=a6χ+al X Z”十・・・
+amX Z * m+ l      ・・・・・・
 (1)(ここで、a Q + a 1 e・・・、a
□は定数)この式において、引数1χ1が「1」に近い
ときは、多項式の次数mが高くなるため、二倍角の公式
や加法定理を用いて2の範囲を狭める工夫が必要である
。また多項式近似では、乗算と加算を繰返し実行するた
め、演算時間が長くなる欠点があった。
一方、マイクロプログラム制御の計算機では、逆三角関
数をC0RDIC(COordininate Rot
aionDIgital Computer)法によっ
て求める場合もある。C0RDIC法によると、逆三角
関数は以下のように得られる。
■ XO”1+yO”χ+”10”0  とする。
■ k”” # ” I ” l ・・・ 、Nについ
て次の■■を実行する。
■ yk≧0ならばak=1 ykく0ならばal(= −1 ■ xk+s = Xk + ak 2−kykyk+
 1 ” )lc −al(2−kxkVk−H=Yk
+arctan(2−J  −・・・・(2)■ ar
ctan(Z) = vtiが得られる。
このC0RDIC法では、N桁の逆三角関数を得るため
に、加減算やシフトなどの演算をN回繰り返す必要があ
る。そのため、C0RDIC法には演算時間が長くなる
という欠点があり、あまり用いられていない。
〔発明が解決しようとする課題〕 上述した従来例の、逆三角関数演算装置lこは、以下の
問題点がある。
+1)、演算時間が長い。
多項式近似の方式では、(1)式を演算するのに、(m
+2)回の乗算とm回の加算が必要である。
1χ1≦の範囲で16ビツトの精度の解を得るためlこ
はm≧4である必要がある。つまり、乗算6回分と加算
4回分の演算時間がかかる。
また、C0RDIC法では16ピツトの精度の解を得る
にはに=o 、 1 、・・・、15として(2)式を
演算する必要がある。つまり、32回のシフト演算と4
6回の加減算を行なう必要がある。もし、バレルシフタ
を2組、加減算器を3組用意すれば(2)式の演算が1
ステツプで可能だが、シフトと加減算が16回分の演算
時間がかかる。
(2)、ハードウェアが複雑である。
C0RDIC法では、ハードウェアとして、バレルシフ
タ、加減算器に加えて、シーケンサが必要である。
また、多項式近似の方式でも、乗算と加算を繰返し実行
するため、乗算器と加算器以外lこシーケンサが必要で
ある。
(3)、乗算器が大規模である。
多項式近似の方式では、2nビツトの精度を得るためI
こは、20ビツトの精度で乗算および加算を行なう必要
がある。従って、20ビツトX2nビツトの乗算器が必
要である。
これは、LSI化する上で面積の増大をまねく。
本発明の目的は、このような問題を解決し、プル検索を
2回0乗算を1回、加算を1口実行するこ、”−fこよ
り、高速に逆三角関数arctan(χ)を求めること
のできる逆三角関数演算装置を提供することにある。
〔課題を解決するための手段〕
本発明による逆三角関数演算装置の栴成は、初期値χを
上位桁■(と下位桁L(χ=HfL)に分割して保持す
るレジスタと、このレジスタから前記上位桁Hを入力し
予め計算され記憶されarctanこのメモリの出力値
と前記レジスタの下位桁りとの乗算を行なう乗算器と、
この乗算器の出力値と前記メモリの出力値とを加算する
加算器とから構前記下位桁L7i:入力し、前記加算器
によって前記乗算器出力値を前記メモリのarctan
(H)値に加算することlこより)、逆三角関数3rc
tan(χ)を演算することを%像とする。
〔作用〕
以下、数式を用いて、本発明の逆三角関数演算原理を説
明する。
BrctBn(X)を演算する場合、次式が成立する。
arctan(−χ)= −arctan(Z)  −
・・・(31arctan(χ) =−y −arct
an (7) ”” (4)ここでは、0≦χく1につ
いて考えればよい。
ここで、2n桁の2進数で表現された2から、2nのa
rctan(χ)を求めることを考える。先ず、2をn
桁ずつ上位桁Hと下位桁りに分割する。
ただし、Zk=(−1,0) 0≦χ〈1 ・・・・・・ (6) H=Σ0 (χに× 2−k) k=1 ・・・・・・ ()) ここで、加法定理および(5)式から、・・・・・・(
9) この式において、Hを入力としarctan(H)の意
すると、乗算1回と加算1回でarctan(Z)が得
−恥。
H<1 、L<2−Hナノ−t’、(11)式の第2項
の演算8度は1桁でよい。arctan(χ)に2n桁
の精度を得るためには、2n桁X2n語のarctan
・・・・・・(10) この式の第2項をLについてティラー展開すると、 が、H<1.L<2−”  であるためL3の項以降は
無視できる。よって(10)式は次式ように近似できる
・・・・・・(11) する乗算器と、arctan(H)  テーブル出力2
n桁に乗算結果の上位1桁を加算する加算器が必要であ
る。
〔実施例〕
次に図面により本発明の詳細な説明する。
第1図は本発明に従って逆三角関数arctan(Z)
を演算する装置の実施例のブロック図である。図におい
て、レジスタ11は変数2を入力信号18として入力す
る2nビツトのレジスタ、信号31はレジスタ11の上
位nビットであるHを出力する信号、色号32はレジス
タ11の下位nビットであるLを出力する信号、ROM
12はarctanX2n”語のROM、1号30はR
OM12の出トの制御信号、レジスタ13はROM12
の出力値を保持する21ビツトのレジスタ、信号33は
レジスタ13の上位1桁を出力する信号、乗算器14は
信号32と信号33との積を演算するn×nビットの乗
算器、レジスタ15は乗算器14の出力20ビツトのう
ち上位nビットを保持するレジスタ、信号34はレジス
タ15の値を下位nビットとして出力し上位nビットは
ゼロを出力する2nビツトの信号、加算器16はレジス
タ13の値に信号34の値を加算する2nビツトの加算
器、レジスタ17は加算器16の出力を保持し出力信号
19として出力する2nビツトのレジスタである。
レジスタ11.13.17では、小数点をMSBの上、
に置いた固定小数点数を扱い、レジスタ11上の2は、
0<z<1を満たすものとする。
第2図は、第1図の演算装置によって逆三角関数arc
tan(z)を演算する手順を示すフローチャートであ
る。
図において、第1段階として、ステップ1でレジスタ1
1に入力信号2を設定する。次のステラ側に指定し、ス
テップ3でレジスタ11に設定された2の値の上位桁H
(信号31)をアドレスとジスタ13に保持する。第2
段階ではステップ633)と2の下位桁L(信号32)
を乗算し、ス30によりROM12をarctan)I
側に指定し、ステップ5でレジスタ11に設定されたχ
の値の上位桁H1号31)をアドレスとしてROM12
からarctan (H)の値を取り出し、レジスタ1
3に保持する。次の第3段階では、ステップ8で、レジ
スタ13からのarctan (H)の値とレジスタl
5の値を下位ビットとし上位ビットを0とした信号34
の値とを加算し、ステップ9でその加算値をレジスタ1
7に保持する。
以上のように、レジスタ11上のχからレジスタ17上
のarctan (x )が、3段階で得られる。
例えば116ビツトの精度でarctan(χ)を求め
る場合、ROM12は16ビツト×512語、乗算器1
4は8ビツト×8ビツトの乗算器、加算器16は16ビ
ツトであり、充分LSI化できる大きさである。
第3図は、本発明の第2の実施例のブロック図とした信
号、加算器16はROM21の値から信号34の値を加
算する2nビツトの加算器である。
次に、この逆三角関数演算装置の動作について説明する
レジスタ11.ROM21.22および加算器16、レ
ジスタ17では、小数点がMSBの上に置いた固定小数
点数を扱うものとする。
先ず、レジスタ11上に、0<Z<1を満たす2の値を
与える。すると、信号31.32にはχθ値を上位下位
に分割したH、Lが出力される。
このH信号31をアドレスとして、ROM21かM21
.22を独立に有する場合の演算装置を示している。
図において、ROM21はarctan(H)の値を記
憶する2nビツト×2n 語のメモリ、ROMのメモリ
、乗算器14は信号22とROM22の積を演算するn
Xrlビットの乗算器、信号34は乗算器14の出力2
nビツトのうち上位nビットが出力される。次いで、乗
算器14ではL×式が演算され、 arctan (、Z )  の値としてレジスタ17
に出力される。
以上述べたように、第2の実施例ではarctan<2
>を1ステツプで演算することができる。演算時間は、
テーブル検索1回9乗算1回および加算1回に要する時
間の和をこなる。
例えば、16ビツトの精度でarctan(χ)を求め
る場合、ROM21は16ビツト×256語、ROM2
1は8ビット×256語、乗算器14は8ビツト×8ビ
ツトの乗算器、加算器14は16ビツトであり、充分L
SI化できる大きさである。
さらに、別の実施方法を次に説明する。
ROM21.22は同一のアドレス信号31でアクセス
されるので、3nピツ) X Zn 語のROMとして
も実現できる。また、乗算器14を桁上げ保存加算器と
桁上げ伝播加X器で構成する場合は、桁上は伝播加算器
を加算器14で代用すると、演算時間が短くなり、ノ1
−ドウエア量も減少する。
また、ROM21.22、信号32の出力にレジスタを
押入することにより、バイグライン方式の演算装置が実
現できる。この方式では、テーブル乗算および加算を行
なっている期間に、次のarctan(X )の演算の
ためのテープ# ROM検索を行なえる。そのため大量
の配列データ(χ1)に対して(arctan(Zl 
) )を求める場合、に、演算時間を第2の実施例の約
半分にできる。
〔発明の効果〕
以上説明したように、本発明による逆三角関数演算装置
は、次の効果を有する。
(1)演算速度が早く、演算時間が短い。
第1の実施例の逆三角関数演算装置では、3ステツプで
演算を行なう。1ステツプの処理時間は、テーブルRO
Mの読出し時間1乗算時間、加算時間のうち、最も長い
時間となるが、乗算とテーブルの読出しを並行して行な
うことにより、演算時間を短縮している。
第2の実施例の逆三角関数演算装置では、1ステツプで
演算を行なっている。lステップの処理時間は、テーブ
ルROMの読出し時間1乗算時間。
加算時間の和になるが、2つのテーブルの読出しを同時
に行うことにより、演算時間を短縮している。
(2)演算ハードウェア構成が簡単である。
演算ハードウェアは、テーブルはROM、乗算器、加減
算器だけである。従来のC0RDIC法による逆三角関
数演算装置では、バレルシフタや加減算器に加えて、シ
ーケンサが必要であり、多項式近011こよる演算装置
では、乗算器が加算器に加えて、シーケンサが必要であ
った。一方、本発明の演算装置では、第1の実施例では
シーケンサが簡単なものでよく、第2の実施例ではシー
ケンサが不要である。
(3)乗算器が小規模でよい。
従来例の多項式近似による演算装置では、2nビツトX
2nビツトの乗算器が必要であったが、本発明の演算装
置ではnピッ)Xnビットの乗算器でよい。これにより
、乗算器の面積は従来例の約174になる。
1〜,4′・・・・・・処理ステップ、11.13,1
5゜17・・・・・・レジスタ、12,21.22・・
・・・・ROM。
14・・・・・・乗算器、16・・・・・・加算器、1
8・・・・・・入力信号、19・・・・・・出力信号、
30・・・・・・制御信号、31.32・・・・・・上
位、下位nビット信号、33・・・・・・上位出力信号
代理人 弁理士   内  原   晋
【図面の簡単な説明】
第1図は本発明の第1の実施例のブロック図、第2図は
第4図でarctan(Z )を演算する処理の70−
図、第3図は本発明の第2の実施例のブロック図である
。 第1図 第2図

Claims (1)

  1. 【特許請求の範囲】 初期値χを上位桁Hと下位桁L(χ=HfL)に分割し
    て保持するレジスタと、このレジスタから前記上位桁H
    を入力し予め計算され記憶されたarctan(H)の
    値と(1)/(H^2+1)の値とを出力するメモリと
    、このメモリの出力値と前記レジスタの下位桁Lとの乗
    算を行なう乗算器と、この乗算器の出力値と前記メモリ
    の出力値とを加算する加算器とから構成され、 前記乗算器に前記メモリの(1)/(H^2+1)値と
    前記下位桁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 true JPH02153412A (ja) 1990-06-13
JPH06105421B2 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04112320A (ja) * 1990-09-03 1992-04-14 Nec Ic Microcomput Syst Ltd 三角関数演算装置
US6018552A (en) * 1996-03-06 2000-01-25 Matsushita Electric Industrial Co., Ltd. Differential detection receiver
CN114237134A (zh) * 2022-02-25 2022-03-25 中国航空工业集团公司沈阳飞机设计研究所 一种飞机飞行控制方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04112320A (ja) * 1990-09-03 1992-04-14 Nec Ic Microcomput Syst Ltd 三角関数演算装置
US6018552A (en) * 1996-03-06 2000-01-25 Matsushita Electric Industrial Co., Ltd. Differential detection receiver
CN114237134A (zh) * 2022-02-25 2022-03-25 中国航空工业集团公司沈阳飞机设计研究所 一种飞机飞行控制方法及系统
CN114237134B (zh) * 2022-02-25 2022-05-06 中国航空工业集团公司沈阳飞机设计研究所 一种飞机飞行控制方法及系统

Also Published As

Publication number Publication date
JPH06105421B2 (ja) 1994-12-21

Similar Documents

Publication Publication Date Title
JPS6347874A (ja) 算術演算装置
JPH03204720A (ja) 初等関数演算装置
JPH02196328A (ja) 浮動小数点演算装置
JPH0612229A (ja) 乗累算回路
JPH01125626A (ja) 逆数計算方法
JPH07168697A (ja) 倍精度除算回路および方法
JPH09212337A (ja) 浮動小数点演算処理装置
JP2504102B2 (ja) 逆三角関数演算装置
de Lassus Saint-Geniès et al. Exact lookup tables for the evaluation of trigonometric and hyperbolic functions
JP2822399B2 (ja) 対数関数演算装置
JPH02153412A (ja) 逆三角関数演算装置
US5377134A (en) Leading constant eliminator for extended precision in pipelined division
JP2508286B2 (ja) 平方根演算装置
JP2972326B2 (ja) 平方根計算装置
JPH04314126A (ja) 逆数発生装置
JPH01130225A (ja) 三角関数演算装置
JPH0225924A (ja) 浮動小数点演算処理装置
JP2777265B2 (ja) 高基数開平演算装置
JPH0322025A (ja) 指数関数演算装置
JPS63118936A (ja) 倍精度演算装置
JPS63254525A (ja) 除算装置
JPH07120273B2 (ja) 除算装置
JPS62159224A (ja) 浮動小数点演算回路
JPS61201328A (ja) 除算方式
JPS62147526A (ja) 乗算器