JPH0285908A - 正弦関数発生方法 - Google Patents
正弦関数発生方法Info
- Publication number
- JPH0285908A JPH0285908A JP63170402A JP17040288A JPH0285908A JP H0285908 A JPH0285908 A JP H0285908A JP 63170402 A JP63170402 A JP 63170402A JP 17040288 A JP17040288 A JP 17040288A JP H0285908 A JPH0285908 A JP H0285908A
- Authority
- JP
- Japan
- Prior art keywords
- sine
- value
- sin
- input data
- values
- 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
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 |
|---|---|---|---|
| JP63170402A JPH0285908A (ja) | 1988-07-07 | 1988-07-07 | 正弦関数発生方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63170402A 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 |
|---|---|---|---|
| JP63170402A Pending JPH0285908A (ja) | 1988-07-07 | 1988-07-07 | 正弦関数発生方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0285908A (ja) |
Cited By (3)
| 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波および周波数発生器、ならびに関連システムおよび方法 |
| JP2024112134A (ja) * | 2023-02-07 | 2024-08-20 | 株式会社Tmeic | 電力変換装置 |
-
1988
- 1988-07-07 JP JP63170402A patent/JPH0285908A/ja active Pending
Cited By (3)
| 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波および周波数発生器、ならびに関連システムおよび方法 |
| JP2024112134A (ja) * | 2023-02-07 | 2024-08-20 | 株式会社Tmeic | 電力変換装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Fröhlich | Central extensions, Galois groups, and ideal class groups of number fields | |
| US3633018A (en) | Digital division by reciprocal conversion technique | |
| Liu et al. | Vibration analysis of beams using the generalized differential quadrature rule and domain decomposition | |
| Dajani et al. | 'The mother of all continued fractions' | |
| US4064400A (en) | Device for multiplying numbers represented in a system of residual classes | |
| US4860238A (en) | Digital sine generator | |
| KR960042420A (ko) | 파라메트릭 곡선 발생 장치 | |
| Nochetto | Removing the saturation assumption in a posteriori error analysis | |
| JPS5851307B2 (ja) | ハケイハツセイソウチ | |
| JPH0285908A (ja) | 正弦関数発生方法 | |
| US5146418A (en) | Trigonometeric function generation for use in digital signal processing | |
| US6292817B1 (en) | Discrete cosine transformation circuit | |
| JP4696920B2 (ja) | Dds信号発生装置 | |
| KR100392370B1 (ko) | 유한체내에서 다단 구조의 역수 계산 장치 | |
| JPS6331477A (ja) | 正弦波pwm信号発生装置 | |
| JP2815342B2 (ja) | 直交関数発生回路 | |
| KR100328840B1 (ko) | 사인/코사인 연산장치 | |
| Auscher et al. | Preliminaries on Function Spaces | |
| JPS6315300A (ja) | 補間方法 | |
| JPH03184403A (ja) | 信号発生回路 | |
| JPH0514935B2 (ja) | ||
| KR20010060033A (ko) | 디지털신호처리기를 이용한 직교 주파수 분할 다중화처리시 나눗셈 구현방법 | |
| JPS62118473A (ja) | アキユムレ−タ装置 | |
| Parlett | Herman H. Goldstine, A history of numerical analysis from the 16 th through the 19 th century | |
| Dachraoui et al. | A combinatorial study of the growing altitude elementary paths of the plane lattice Z 2 |