JPH0285908A - 正弦関数発生方法 - Google Patents
正弦関数発生方法Info
- Publication number
- JPH0285908A JPH0285908A JP17040288A JP17040288A JPH0285908A JP H0285908 A JPH0285908 A JP H0285908A JP 17040288 A JP17040288 A JP 17040288A JP 17040288 A JP17040288 A JP 17040288A JP H0285908 A JPH0285908 A JP H0285908A
- Authority
- JP
- Japan
- Prior art keywords
- sine
- values
- sine value
- input data
- tables
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 12
- 230000006870 function Effects 0.000 abstract description 12
- 238000007430 reference method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- LKJPSUCKSLORMF-UHFFFAOYSA-N Monolinuron Chemical compound CON(C)C(=O)NC1=CC=C(Cl)C=C1 LKJPSUCKSLORMF-UHFFFAOYSA-N 0.000 description 1
- 244000097202 Rathbunia alamosensis Species 0.000 description 1
- 235000009776 Rathbunia alamosensis Nutrition 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Landscapes
- Complex Calculations (AREA)
- Image Generation (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は図形の回転・円の発生などを行う図形処理シス
テムにおいて使用される正弦関数発生方法に関するもの
である。
テムにおいて使用される正弦関数発生方法に関するもの
である。
従来の技術
与えられた入力角度θのsinθを求める手法として、
−殻内には級数展開法とテーブル参照法がある。級数展
開法は正弦関数をべき級数に展開し、本来無限項の和で
表わされる級数を有限項で打ち切ることによって近似値
を計算する。一方、テーブル参照法は、下記第1表に示
すようにO≦θ≦90゛の範囲で一定間隔値の離散角度
値θ、に対するsinθ1をメモリ上に持つ。
−殻内には級数展開法とテーブル参照法がある。級数展
開法は正弦関数をべき級数に展開し、本来無限項の和で
表わされる級数を有限項で打ち切ることによって近似値
を計算する。一方、テーブル参照法は、下記第1表に示
すようにO≦θ≦90゛の範囲で一定間隔値の離散角度
値θ、に対するsinθ1をメモリ上に持つ。
く第1表〉
このstnθ、の集合をsinテーブルと呼び、θが与
えられたときに、このθに最も近いθ、に対応するsi
nθ、の値をsinθとして採用する。任意角の三角関
数はO0≦θ≦90°の範囲のsinθで表されるので
0°−904の範囲だけで十分である。
えられたときに、このθに最も近いθ、に対応するsi
nθ、の値をsinθとして採用する。任意角の三角関
数はO0≦θ≦90°の範囲のsinθで表されるので
0°−904の範囲だけで十分である。
発明が解決しようとする課題
級数展開法において十分な精度を得るには、それだけ多
くの項までの和を計算しなければならず、中央処理装置
の負荷が大きい、これに対してテーブル参照法において
は、高速処理が可能であるが、精度を向上させるには角
度間隔Δθを小さくする必要があって大きなメモリ容量
を必要とする。
くの項までの和を計算しなければならず、中央処理装置
の負荷が大きい、これに対してテーブル参照法において
は、高速処理が可能であるが、精度を向上させるには角
度間隔Δθを小さくする必要があって大きなメモリ容量
を必要とする。
本発明は高速処理することができ、精度が高く、しかも
大きなメモリ容量、を必要としない正弦関数発生方法を
提供することを目的とする。
大きなメモリ容量、を必要としない正弦関数発生方法を
提供することを目的とする。
課Uを解決するための手段
本発明の正弦関数発生方法は、任意角度値を入力データ
とし、その正弦値を出力データとして求めるに際し、2
のべき乗の間隔の角度に対する正弦値を書き込んだ複数
のテーブルのうち入力データの正弦値に近い正弦値が書
き込まれた2つのテーブルのテーブル値の間を、ビット
シフトを利用して線形補間し、この線形補間によって入
力データの正弦値を出力することを特徴とする。
とし、その正弦値を出力データとして求めるに際し、2
のべき乗の間隔の角度に対する正弦値を書き込んだ複数
のテーブルのうち入力データの正弦値に近い正弦値が書
き込まれた2つのテーブルのテーブル値の間を、ビット
シフトを利用して線形補間し、この線形補間によって入
力データの正弦値を出力することを特徴とする。
作用
この構成によると、2つのテーブル値の間を線形補間し
て必要な正弦値を求めるため、少ないメモリ容量でも高
精度の正弦値が得られる。しかも除算をせずにビットシ
フト演算に置き換えて計算するため、低機能の中央処理
装置であっても高速処理できる。
て必要な正弦値を求めるため、少ないメモリ容量でも高
精度の正弦値が得られる。しかも除算をせずにビットシ
フト演算に置き換えて計算するため、低機能の中央処理
装置であっても高速処理できる。
実施例
以下、図と数式を用い本発明の正弦関数発生方法を説明
する。
する。
第1表において角度間隔Δθは、90゛をn等分した場
合、次式で与えられる。
合、次式で与えられる。
Δθ = θ、+1−θ。
= (θ。−θo )/n
=90/n ・・・・・・・・・ (1)第
1図に示すようにsinθは0≦θ≦90″において単
調増加関数である。
1図に示すようにsinθは0≦θ≦90″において単
調増加関数である。
ここで14を21 (α≧0)で表現すれば、θ0は
x = 21 θ ・・・・・・・
・・ (2)で表わされる。同様にΔθ、θ5.θ、
。、はそれぞれ Δx = 2# Δθ ・・・・・・・・・
(3)x、 = 2’ θ1 ・
・・・・・・・・ (4)xi、、 = 2’
θ、、、 ・−−−−−・−・ (5)0
≦X≦21ネ90において f (x) = s i n x −(6)
も単調増加関数である。
・・ (2)で表わされる。同様にΔθ、θ5.θ、
。、はそれぞれ Δx = 2# Δθ ・・・・・・・・・
(3)x、 = 2’ θ1 ・
・・・・・・・・ (4)xi、、 = 2’
θ、、、 ・−−−−−・−・ (5)0
≦X≦21ネ90において f (x) = s i n x −(6)
も単調増加関数である。
θ、≦θ≦θ、+1 ・・・・・・・・・ (7
)を満たす“i”は xI≦θ≦Xi+飄 ・・・・・・・・・ (
8)も満たし、XをΔXで割った商で与えられる。
)を満たす“i”は xI≦θ≦Xi+飄 ・・・・・・・・・ (
8)も満たし、XをΔXで割った商で与えられる。
i = x div ΔX ・・・・・・・
・・ (9)第1図から、(X+ + Xt++ )の
区間を線形補間することにより、XをΔXで割った余り
r(×)、r(X) = x 1lod ΔX=
X−Δx*l ・・・・・・・・・ (10)を用い
て f(×)へf(X+)÷」し腎ヨユニル* r (X)
=f(xt)+Δt (x)−1旧・・(11)と近似
できる。Δf (x)は補正項である。式(9)により
iが求まれば、f(x、)、 f(χ、や、)はSin
テーブルから容易に求められる。
・・ (9)第1図から、(X+ + Xt++ )の
区間を線形補間することにより、XをΔXで割った余り
r(×)、r(X) = x 1lod ΔX=
X−Δx*l ・・・・・・・・・ (10)を用い
て f(×)へf(X+)÷」し腎ヨユニル* r (X)
=f(xt)+Δt (x)−1旧・・(11)と近似
できる。Δf (x)は補正項である。式(9)により
iが求まれば、f(x、)、 f(χ、や、)はSin
テーブルから容易に求められる。
さらに、
Δに= 2′ (β≧0) ・・・・・・ (12)
であれば、Xを右にβビットシフトすることにより、す
なわち i = (x)右βビットシフト・・・ (13)
で与えられる。
であれば、Xを右にβビットシフトすることにより、す
なわち i = (x)右βビットシフト・・・ (13)
で与えられる。
このとき、式(3)、式(12)より2’ =2’Δθ
よって、 Δθ= 21“=2r (γ=β−α)・・・・・・・
・ (14) したがって、Sinテーブルは(2’)”の間隔の角度
の正弦値を持てばよい。
よって、 Δθ= 21“=2r (γ=β−α)・・・・・・・
・ (14) したがって、Sinテーブルは(2’)”の間隔の角度
の正弦値を持てばよい。
また、ΔXが2のべき乗であることを利用して式(10
)のr (x)がXの最下位ビットがらβビットだけ取
り出すことにより求められる。換言すればXと2J−1
の論理積を計算すればよいことになる。つまり r(X) = Xand (2’−1> =(1
5)以上のことから0≦θ≦90°のθが与えられたと
きsinθを求める問題において、本発明は、Δθ=2
′−“の角度間隔に対する正弦値からなるsinテーブ
ルを利用し、第2図のフローチャートに示すアルゴリズ
ムで示される。
)のr (x)がXの最下位ビットがらβビットだけ取
り出すことにより求められる。換言すればXと2J−1
の論理積を計算すればよいことになる。つまり r(X) = Xand (2’−1> =(1
5)以上のことから0≦θ≦90°のθが与えられたと
きsinθを求める問題において、本発明は、Δθ=2
′−“の角度間隔に対する正弦値からなるsinテーブ
ルを利用し、第2図のフローチャートに示すアルゴリズ
ムで示される。
本発明のアルゴリズムを具体的に適用した例を記す。使
用中央処理装置は16ビツト長を基準とし、データは全
てワード長(16ビツト)とする。
用中央処理装置は16ビツト長を基準とし、データは全
てワード長(16ビツト)とする。
α=6.β士5.γ;β−α;−1
Δθ= 2 ’ = 2’ =0.5゜の例で、sin
θ、あるいはで(×)を16ビツト長で表現し、最上位
ビットを符号ビットとする。この表現によれば、0.5
は4000H(Hは16進数を表わす)−1は8QOO
Hとなる。このときのsinテーブルの内容を下記第2
表に示す。
θ、あるいはで(×)を16ビツト長で表現し、最上位
ビットを符号ビットとする。この表現によれば、0.5
は4000H(Hは16進数を表わす)−1は8QOO
Hとなる。このときのsinテーブルの内容を下記第2
表に示す。
く第2表〉
θ= 36.28125°のsinθを求める例を説明
する。
する。
x=2’ *36.28125=2322=912
Hlは第3図に示すようにXを5ビツト右シフトして1
=72と求められる。r(x)は、Xの最下位ビットか
ら5ビツトだけ収り出し、r(X)=18sinテーブ
ルから、 f(x、)=483DH,f(x7i)=4023Hと
求められるから 5inf36.28125 @) =483DH+(4
C23H−483DH)$18/32=4B3Dll
+E6H$18/32=4830H+ (102C)右
5ビツトシフト=483DH+818 =48BEH これは約0.59174を表わしている。
Hlは第3図に示すようにXを5ビツト右シフトして1
=72と求められる。r(x)は、Xの最下位ビットか
ら5ビツトだけ収り出し、r(X)=18sinテーブ
ルから、 f(x、)=483DH,f(x7i)=4023Hと
求められるから 5inf36.28125 @) =483DH+(4
C23H−483DH)$18/32=4B3Dll
+E6H$18/32=4830H+ (102C)右
5ビツトシフト=483DH+818 =48BEH これは約0.59174を表わしている。
発明の効果
以上のように本発明によると、2のべき乗の間隔の角度
に対する正弦値を書き込んだ複数のテーブルのうち入力
データの正弦値に近い正弦値が書き込まれた2つのテー
ブルのテーブル値の間を、線形補間して入力データの正
弦値を出力するため、メモリ容量が小さくても高精度の
正弦値を得ることができる。さらに、前記の線形補間を
、除算を行わずにビットシフト81能によって行ってい
るため、除算機能のない低機能の中央処理装置において
も、高速で処理できるものである。
に対する正弦値を書き込んだ複数のテーブルのうち入力
データの正弦値に近い正弦値が書き込まれた2つのテー
ブルのテーブル値の間を、線形補間して入力データの正
弦値を出力するため、メモリ容量が小さくても高精度の
正弦値を得ることができる。さらに、前記の線形補間を
、除算を行わずにビットシフト81能によって行ってい
るため、除算機能のない低機能の中央処理装置において
も、高速で処理できるものである。
第1図は、0≦θ≦90”におけるy=s i nθお
よびO≦X≦2・*90(x=2’θ)におけるf(X
)=sinxの曲線と線形補間の説明図、第2図は本発
明の正弦関数発生方法のフローチャート図、第3図は実
施例のデータのビット操作の説明図である。 代理人 森 本 義 弘 第 図 ノ’Sinθ。 f(Z) −Sinχ 奉 θシθ θシナ1 第2図
よびO≦X≦2・*90(x=2’θ)におけるf(X
)=sinxの曲線と線形補間の説明図、第2図は本発
明の正弦関数発生方法のフローチャート図、第3図は実
施例のデータのビット操作の説明図である。 代理人 森 本 義 弘 第 図 ノ’Sinθ。 f(Z) −Sinχ 奉 θシθ θシナ1 第2図
Claims (1)
- 1、任意角度値を入力データとし、その正弦値を出力デ
ータとして求めるに際し、2のべき乗の間隔の角度に対
する正弦値を書き込んだ複数のテーブルのうち入力デー
タの正弦値に近い正弦値が書き込まれた2つのテーブル
のテーブル値の間を、ビットシフトを利用して線形補間
し、この線形補間によって入力データの正弦値を出力す
る正弦関数発生方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17040288A JPH0285908A (ja) | 1988-07-07 | 1988-07-07 | 正弦関数発生方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17040288A JPH0285908A (ja) | 1988-07-07 | 1988-07-07 | 正弦関数発生方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0285908A true JPH0285908A (ja) | 1990-03-27 |
Family
ID=15904263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17040288A Pending JPH0285908A (ja) | 1988-07-07 | 1988-07-07 | 正弦関数発生方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0285908A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04246790A (ja) * | 1990-09-14 | 1992-09-02 | Hughes Aircraft Co | ベクトル/円錐曲線/エリアフィルプリミティブジェネレータ |
JP2015506638A (ja) * | 2012-01-18 | 2015-03-02 | クアルコム,インコーポレイテッド | 高精度sin−cos波および周波数発生器、ならびに関連システムおよび方法 |
-
1988
- 1988-07-07 JP JP17040288A patent/JPH0285908A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04246790A (ja) * | 1990-09-14 | 1992-09-02 | Hughes Aircraft Co | ベクトル/円錐曲線/エリアフィルプリミティブジェネレータ |
JP2015506638A (ja) * | 2012-01-18 | 2015-03-02 | クアルコム,インコーポレイテッド | 高精度sin−cos波および周波数発生器、ならびに関連システムおよび方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5737253A (en) | Method and apparatus for direct digital frequency synthesizer | |
Balachandran et al. | Controllability of nonlinear systems in Banach spaces: a survey | |
US3633018A (en) | Digital division by reciprocal conversion technique | |
US3789203A (en) | Function generation by approximation employing interative interpolation | |
Liu et al. | Vibration analysis of beams using the generalized differential quadrature rule and domain decomposition | |
US5214754A (en) | Method and apparatus for approximating polygonal line to curve | |
GB2152715A (en) | Interpolated value computing device for a waveform generated in an electronic device | |
KR900006851A (ko) | 데이타 처리에 있어서 무한 주 필드의 입력인수 역수곱 계산방법 및 장치 | |
US4064400A (en) | Device for multiplying numbers represented in a system of residual classes | |
US4860238A (en) | Digital sine generator | |
KR960042420A (ko) | 파라메트릭 곡선 발생 장치 | |
JPH0285908A (ja) | 正弦関数発生方法 | |
Chavarriga et al. | Isochronicity into a family of time-reversible cubic vector fields | |
US5146418A (en) | Trigonometeric function generation for use in digital signal processing | |
JPS5932040A (ja) | 指数関数発生器 | |
Schoen | The cardinality of restricted sumsets | |
US7539715B2 (en) | Method and system for saturating a left shift result using a standard shifter | |
Eziokwu et al. | On Review of the Convergence Analyses of the Runge Kutta Fixed Point Iterative Methods | |
KR100392370B1 (ko) | 유한체내에서 다단 구조의 역수 계산 장치 | |
JPS6331477A (ja) | 正弦波pwm信号発生装置 | |
Salzer | Converting interpolation series into Chebyshev series by recurrence formulas | |
JPS62245434A (ja) | 電子楽器の波形発生装置 | |
JPH10508406A (ja) | 低複雑性信号処理装置及びその信号処理装置を具えた受信機 | |
Dubrovin | The Euler summation of numerical series | |
Kane et al. | Existence and Uniqueness of Solution for Semi-linear Conservation Laws with Velocity Field in L∞ |