JP2021009555A - 三角関数演算装置 - Google Patents

三角関数演算装置 Download PDF

Info

Publication number
JP2021009555A
JP2021009555A JP2019123014A JP2019123014A JP2021009555A JP 2021009555 A JP2021009555 A JP 2021009555A JP 2019123014 A JP2019123014 A JP 2019123014A JP 2019123014 A JP2019123014 A JP 2019123014A JP 2021009555 A JP2021009555 A JP 2021009555A
Authority
JP
Japan
Prior art keywords
sine
trigonometric function
cosine
address signal
arithmetic
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
JP2019123014A
Other languages
English (en)
Other versions
JP7262028B2 (ja
Inventor
真人 山崎
Masato Yamazaki
真人 山崎
裕史 丸山
Yasushi Maruyama
裕史 丸山
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.)
Lapis Semiconductor Co Ltd
Tamagawa Seiki Co Ltd
Original Assignee
Lapis Semiconductor Co Ltd
Tamagawa Seiki Co Ltd
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 Lapis Semiconductor Co Ltd, Tamagawa Seiki Co Ltd filed Critical Lapis Semiconductor Co Ltd
Priority to JP2019123014A priority Critical patent/JP7262028B2/ja
Priority to US16/915,994 priority patent/US11226792B2/en
Priority to CN202010609183.2A priority patent/CN112181359A/zh
Publication of JP2021009555A publication Critical patent/JP2021009555A/ja
Application granted granted Critical
Publication of JP7262028B2 publication Critical patent/JP7262028B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/548Trigonometric functions; Co-ordinate transformations
    • 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/0321Waveform generators, i.e. devices for generating periodical functions of time, e.g. direct digital synthesizers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2101/00Indexing scheme relating to the type of digital function generated
    • G06F2101/04Trigonometric functions

Abstract

【課題】演算回路の回路規模の増大を伴うことなく、三角関数演算の精度を確保することができる三角関数演算装置を提供する。【解決手段】本件課題を解決するために、三角関数演算装置10は、位相に対応した複数のビット列からなるアドレス信号を発生するアドレス発生器11と、アドレス信号の上位ビットによって示される位相の各々に対応する第1の正弦及び第1の余弦、アドレス信号の下位ビットによって示される位相の各々に対応する第2の正弦及び第2の余弦を記憶した三角関数テーブル20と、三角関数テーブル20を参照することにより抽出された、アドレス信号に対応した第1の正弦、第1の余弦、第2の正弦及び第2の余弦を用いた演算処理によりアドレス信号に対応した正弦を演算値として出力する演算回路30と、アドレス信号に応じた補正値に基づいて、演算値を補正する補正部40と、を備える。【選択図】図5

Description

本発明は、三角関数演算装置に関する。
正弦波を生成する技術として、以下の技術が知られている。例えば、非特許文献1には、テーブル参照による三角関数の計算により正弦波を生成する場合において、下記の式(1)によって示される三角関数の加法定理を用いることで、テーブルのデータ量を抑制できることが記載されている。具体的には、円周を16ビットで表現する場合に、円周を256分割するテーブルと、円周を65536分割するテーブルとを用意し、円周を表す16ビットのインデックスを上位、下位のそれぞれ8ビットに分割し、分割したインデックスで各々のテーブルを引き、式(1)を用いて値を合成することで、16ビット精度で円周を分割した三角関数を作り出すことができる旨が記載されている。
堀江誠一著「オーディオ信号処理で学ぶDSP(第7回)Sin波を作る――テーブル参照のテクニック」Interface、CQ出版、2007年10月、p.166−174
しかしながら、上記のように加法定理を用いて正弦波を生成する場合でも、正弦波の精度を高めるためには、テーブルに記録するデータのデータ長を長くする必要がある。例えば、小数第8位の精度で正弦波を誤差なく生成する場合、小数第10位の精度で表わされたsinα、cosα、sinβ、cosβの値をテーブルに記録しておく必要がある。このように、テーブルに記録するデータのデータ長が長くなると、テーブルに記録された値を用いて演算処理を行う乗算回路及び加算回路等の演算回路の回路規模が大きくなる。
本発明は、以上の事情を鑑みてなされたものであり、演算回路の回路規模の増大を伴うことなく、三角関数演算の精度を確保することができる三角関数演算装置を提供することを目的とする。
上記目的を達成するために、本発明の三角関数演算装置は、位相に対応した複数のビット列からなるアドレス信号を発生するアドレス発生器と、前記アドレス信号の上位ビットによって示される位相の各々に対応する第1の正弦及び第1の余弦、前記アドレス信号の下位ビットによって示される位相の各々に対応する第2の正弦及び第2の余弦を記憶した三角関数テーブルと、前記三角関数テーブルを参照することにより抽出された、前記アドレス信号に対応した前記第1の正弦、前記第1の余弦、前記第2の正弦及び前記第2の余弦を用いた演算処理により前記アドレス信号に対応した正弦を演算値として出力する演算回路と、前記アドレス信号に応じた補正値に基づいて、前記演算値を補正する補正部と、を備える。
本発明によれば、演算回路の回路規模の増大を伴うことなく、三角関数演算の精度を確保することができる。
本発明の実施形態に係る記憶部の一例を示す図である。 本発明の実施形態に係る第1の三角関数テーブルの一例を示す図である。 本発明の実施形態に係る第2の三角関数テーブルの一例を示す図である。 本発明の実施形態に係る補正値テーブルの一例を示すブロック図である。 本発明の実施形態に係る三角関数演算装置の機能的な構成の一例を示すブロック図である。 比較例に係る三角関数演算装置の機能的な構成の一例を示すブロック図である。
以下、図面を参照して、本発明を実施するための形態例を詳細に説明する。
まず、図1を参照して、本実施形態に係る記憶部12を説明する。記憶部12は、ROM(Read Only Memory)、RAM(Random Access Memory)、レジスタ、HDD(Hard Disk Drive)、SSD(Solid State Drive)及びフラッシュメモリ等の揮発性又は不揮発性の記憶媒体によって実現される。記憶媒体としての記憶部12には、第1の三角関数テーブル21、第2の三角関数テーブル22及び補正値テーブル41が記憶される。
図2に、第1の三角関数テーブル21の一例を示す。第1の三角関数テーブル21は、後述するアドレス信号の上位ビットによって示される位相の各々に対応する第1の正弦及び第1の余弦を記憶したテーブルである。図2に示すように、一例として、第1の三角関数テーブル21には、アドレス信号の上位ビットによって示される位相α(0°≦α≦90°)に対応する第1の正弦sinα及び第1の余弦cosαが、10°刻みに記憶される。本実施形態において、第1の三角関数テーブル21には、第1の正弦sinα及び第1の余弦cosαが小数第8位の精度で記憶されている。
図3に、第2の三角関数テーブル22の一例を示す。第2の三角関数テーブル22は、後述するアドレス信号の下位ビットによって示される位相の各々に対応する第2の正弦及び第2の余弦を記憶したテーブルである。図3に示すように、一例として、第2の三角関数テーブル22には、アドレス信号の下位ビットによって示される位相β(0°≦β≦9°)に対応する第2の正弦sinβ及び第2の余弦cosβが、1°刻みに記憶される。本実施形態において、第2の三角関数テーブル22には、第2の正弦sinβ及び第2の余弦cosβが小数第8位の精度で記憶されている。
図4に、補正値テーブル41の一例を示す。補正値テーブル41は、アドレス信号によって示される位相の各々に対応する補正値を記憶したテーブルである。図4に示すように、一例として、補正値テーブル41には、アドレス信号によって示される位相(α+β)(0°≦(α+β)≦90°)に対応する補正値εが、角度1°刻みに記憶される。
補正値εは、それぞれ小数第8位の精度を有するsinα、sinβ、cosα及びcosβを用いた式(1)に示す三角関数の加法定理を用いた後述する本実施形態に係る三角関数演算装置10が備える演算回路30による演算値と、sin(α+β)の実数値との差(すなわち、誤差)に相当する。すなわち、アドレス信号によって示される位相(α+β)に対応する演算回路30による演算値Pと、実数値Qとの差(Q−P)がε1である場合、補正値テーブル41には、当該アドレス信号によって示される位相(α+β)に対応する補正値εとしてε1が記憶される。sinα、sinβ、cosα及びcosβがそれぞれ小数第8位の精度を有する場合、図4に示すように、誤差は-0.00000001〜0.00000001に収まる。
次に、図5を参照して、本実施形態に係る三角関数演算装置10の構成について説明する。図5に示すように、三角関数演算装置10は、アドレス発生器11、三角関数テーブル20、演算回路30及び補正部40を含む。
アドレス発生器11は、位相(α+β)に対応した複数のビット列からなるアドレス信号を発生する。三角関数テーブル20は、アドレス信号の上位ビットによって示される位相αの各々に対応する第1の正弦sinα及び第1の余弦cosα、アドレス信号の下位ビットによって示される位相βの各々に対応する第2の正弦sinβ及び第2の余弦cosβを記憶したテーブルである。すなわち、三角関数テーブル20は、第1の三角関数テーブル21と第2の三角関数テーブル22とを含む。
演算回路30は、三角関数テーブル20を参照することにより抽出された、アドレス信号に対応した第1の正弦sinα、第1の余弦cosβ、第2の正弦sinβ及び第2の余弦cosβを用いた演算処理によりアドレス信号に対応した正弦を演算値として出力する。具体的には、演算回路30は、第1の正弦sinαと第2の余弦cosβとの積sinα*cosβを出力する第1の乗算回路31と、第2の正弦sinβと第1の余弦cosαとの積sinβ*cosαを出力する第2の乗算回路32と、第1の乗算回路31の出力値と第2の乗算回路32の出力値とを加算してsinα*cosβ+sinβ*cosαを演算回路30の演算値として出力する加算回路33と、を含む。
補正部40は、アドレス信号に応じた補正値εに基づいて、演算回路30から出力される演算値sinα*cosβ+sinβ*cosαを補正する。具体的には、補正部40は、補正値テーブル41と、加算回路42を含む。加算回路42は、補正値テーブル41を参照することによって抽出された、アドレス信号に対応した補正値εと、演算回路30から出力された演算値sinα*cosβ+sinβ*cosαとを加算する。
次に、本実施形態に係る三角関数演算装置10の作用を説明する。
まず、アドレス発生器11は、位相(α+β)に対応した複数のビット列からなるアドレス信号を発生し、三角関数テーブル20及び補正部40に出力する。そして、第1の三角関数テーブル21は、アドレス信号のうち上位ビットによって示される位相αに対応する第1の正弦sinα、第1の余弦cosαを抽出し、第1の正弦sinαを第1の乗算回路31に、第1の余弦cosαを第2の乗算回路32にそれぞれ出力する。また、第2の三角関数テーブル22は、アドレス信号のうち下位ビットによって示される位相βに対応する第2の正弦sinβ、第2の余弦cosβを抽出し、第2の正弦sinβを第2の乗算回路32に、第2の余弦cosβを第1の乗算回路31にそれぞれ出力する。
次に、第1の乗算回路31は、第1の正弦sinαと第2の余弦cosβとの積を演算し、演算結果sinα*cosβを加算回路33に出力する。また、第2の乗算回路32は、第2の正弦と第1の余弦cosαとの積を演算し、演算結果sinβ*cosαを加算回路33に出力する。そして、加算回路33は、第1の乗算回路31の出力値sinα*cosβと第2の乗算回路32の出力値cosα*sinβとを加算し、演算結果sinα*cosβ+sinβ*cosαを演算回路30の演算値として補正部40に出力する。
補正部40は、アドレス信号を取得した後、補正値テーブル41を参照して、アドレス信号によって示される位相(α+β)に対応する補正値εを抽出する。そして、補正部40は、加算回路42により、演算回路30の演算値sinα*cosβ+cosα*sinβと補正値εとを加算し、アドレス信号に対応する正弦sin(α+β)に相当する値として、sinα*cosβ+cosα*sinβ+εを出力する。
具体的な一例として、アドレス発生器11が位相12°に相当するアドレス信号を発生する場合を説明する。第1の三角関数テーブル21は、アドレス信号の上位ビットによって示される位相10°に対応する第1の正弦0.17364818、第1の余弦0.98480775を抽出し、第1の正弦0.17364818を第1の乗算回路31に、第1の余弦0.98480775を第2の乗算回路32にそれぞれ出力する。また、第2の三角関数テーブル22は、アドレス信号の下位ビットによって示される位相2°に対応する第2の正弦0.03489950、第2の余弦0.99939083を抽出し、第2の正弦0.03489950を第2の乗算回路32に、第2の余弦0.99939083を第1の乗算回路31にそれぞれ出力する。
次に、第1の乗算回路31は、第1の正弦0.17364818と第2の余弦0.99939083との積を演算し、演算結果0.173542398738189を加算回路33に出力する。第2の乗算回路32は、第1の余弦0.98480775と第2の正弦0.03489950との積を演算し、演算結果0.034369298071125を加算回路33に出力する。加算回路33は、第1の乗算回路31の出力値0.173542398738189と第2の乗算回路32の出力値0.034369298071125とを加算した0.207911696809314のうち、小数第9位で四捨五入して、小数点以下の桁数が8桁の0.20791170を演算回路30の演算値として補正部40に出力する。
補正部40は、位相12°に相当するアドレス信号を取得した後、補正値テーブル41を参照して、アドレス信号によって示される位相12°に対応する補正値として、-0.00000001を抽出する。そして、補正部40は、加算回路42により、演算回路30の演算値0.20791170と補正値テーブル41から抽出した補正値-0.00000001とを加算し、位相12°に対応する正弦sin(12°)に相当する値として、0.20791169を出力する。
以上のようにして、三角関数演算装置10はアドレス信号によって示される位相に対応する正弦を出力する。また、アドレス発生器11が、位相が連続的に増減するようにアドレス信号を順次出力する場合、三角関数演算装置10からは正弦波が出力される。すなわち、三角関数演算装置10を正弦波発生装置として機能させることも可能である。
[比較例]
以下、図面及び表を参照して、比較例に係る三角関数演算装置50について説明し、本実施形態に係る三角関数演算装置10との比較について説明する。図6に、比較例に係る三角関数演算装置50を示す。比較例に係る三角関数演算装置50は、本実施形態に係る三角関数演算装置10における補正部40を有さない点で異なり、演算回路30による演算値をアドレス信号に対応する正弦sin(α+β)に相当する値とする。なお、比較例に係る三角関数演算装置50におけるアドレス発生器11、三角関数テーブル20及び演算回路30は、本実施形態に係る三角関数演算装置10と同様の機能であるため、説明を省略し、それぞれ同一の構成要素について同一の参照符号を付与している。
まず、一例として、アドレス発生器11が位相33°に相当するアドレス信号を発生する場合に、三角関数演算装置50が出力する値について説明する。表1には、小数点以下の桁数が8桁である正弦sin(33°)を求める場合の演算値と実数値との誤差について、第1の正弦、第1の余弦、第2の正弦及び第2の余弦の小数点以下の桁数を変えて示す。
表1に示すように、小数第8位の精度で正弦sin(33°)を求めるために必要な第1の正弦、第1の余弦、第2の正弦及び第2の余弦の小数点以下の桁数は、10桁である。第1の正弦、第1の余弦、第2の正弦及び第2の余弦の小数点以下の桁数が9桁以下の場合には、演算値と実数値との間で誤差が生じる。
表2及び表3を参照して、アドレス発生器11が発生するアドレス信号が位相0〜90°に相当する範囲で位相1°に相当する刻み幅で変化する場合の、三角関数演算装置50が出力する正弦sin(α+β)に相当する演算値の精度について説明する。表2及び表3には、小数第8位の精度で正弦sin(α+β)を求める場合の演算値と実数値との誤差について、第1の正弦sinα、第1の余弦cosα、第2の正弦sinβ及び第2の余弦cosβの小数点以下の桁数を変えて示す。第1の正弦sinα、第1の余弦cosα、第2の正弦sinβ及び第2の余弦cosβの小数点以下の桁数は、表2では10桁であり、表3では8桁である。
表2及び表3に示すように、小数第8位の精度で正弦sin(α+β)に相当する演算値を誤差なく求めるためには、第1の正弦sinα、第1の余弦cosα、第2の正弦sinβ及び第2の余弦cosβの小数点以下の桁数は、それぞれ10桁必要である。
このように、比較例に係る三角関数演算装置50によれば、所定の精度を有する正弦sin(α+β)の演算値を求めるためには、三角関数の加法定理による演算の誤差を考慮して、三角関数テーブル20に記憶する第1の正弦sinα、第1の余弦cosα、第2の正弦sinβ及び第2の余弦cosβのデータ長を長くする必要がある。第1の正弦sinα、第1の余弦cosα、第2の正弦sinβ及び第2の余弦cosβのデータ長が長くなると、これらのデータを用いて演算処理を行う第1の乗算回路31、第2の乗算回路32及び加算回路33等の演算回路の回路規模が大きくなる。
具体的には、比較例に係る三角関数演算装置50によれば、例えば、小数第8位の精度で正弦sin(α+β)を誤差なく求める場合には、第1の三角関数テーブル21及び第2の三角関数テーブル22にそれぞれ小数第10位の精度でデータを記憶する必要がある。すなわち、各データの表現には34ビットが必要である。
一方、上述したように、本実施形態に係る三角関数演算装置10によれば、例えば、小数第8位の精度で正弦sin(α+β)を誤差なく求める場合には、第1の三角関数テーブル21及び第2の三角関数テーブル22に記憶するデータは、それぞれ小数第8位の精度で足りる。すなわち、各データの表現は27ビットあれば可能である。したがって、本実施形態に係る三角関数演算装置10によれば、比較例に係る三角関数演算装置50と比較して、第1の三角関数テーブル21及び第2の三角関数テーブル22に記憶されるデータのビット数を減らすことができるので、演算回路の回路規模の増大を伴うことなく、三角関数演算の精度を確保することができる。
以上説明したように、本実施形態に係る三角関数演算装置10によれば、第1の三角関数テーブル21及び第2の三角関数テーブル22に記憶される第1の正弦、第1の余弦、第2の正弦及び第2の余弦のデータ長がそれぞれ小数第8位までの値を示すものであっても、演算回路30の演算値を補正部40により補正を行うことで、導出される正弦の値は小数第8位の精度を有することができる。すなわち、演算回路の回路規模の増大を伴うことなく、三角関数演算の精度を確保することができる。
また、本実施形態に係る三角関数演算装置10によれば、第1の三角関数テーブル21及び第2の三角関数テーブル22に記憶されるデータのデータ長を短くすることができるので、演算回路の処理速度を向上させることができる。
また、本実施形態に係る三角関数演算装置10によれば、第1の三角関数テーブル21及び第2の三角関数テーブル22に記憶されるデータのデータ長を短くすることができるので、各テーブルを記憶する記憶部12の容量を削減することができる。
なお、上記実施形態では、演算値の算出に用いる第1の正弦、第1の余弦、第2の正弦及び第2の余弦を、第1の三角関数テーブル21と第2の三角関数テーブル22とに分けて記憶する態様としたが、これに限らない。1つのテーブルに第1の正弦、第1の余弦、第2の正弦及び第2の余弦をまとめて記憶する態様としてもよい。
なお、上記実施形態では、三角関数の加法定理として数式(1)を用いて、アドレス信号に対応した正弦を演算値として出力する態様としたが、本発明は、この態様に限らない。三角関数の加法定理として数式(2)を用いて、アドレス信号に対応した余弦を演算値として出力する態様としてもよい。この場合、第1の乗算回路31は、三角関数テーブル20から抽出された第1の余弦cosαと第2の余弦cosβとの積cosα*cosβを出力する。第2の乗算回路32は、三角関数テーブル20から抽出された第1の正弦sinαと第2の正弦sinβとの積sinα*sinβを出力する。加算回路33に代えて設けられる減算回路(図示せず)は、第1の乗算回路31の出力値cosα*cosβから第2の乗算回路32の出力値sinα*sinβを減算し、演算結果cosα*cosβ−sinα*sinβを演算回路30の演算値として出力する。
また、上記実施形態において、例えば、アドレス発生器11、三角関数テーブル20、演算回路30及び補正部40といった各種の処理を実行する処理部(processing unit)のハードウェア的な構造としては、次に示す各種のプロセッサ(processor)を用いることができる。上記各種のプロセッサには、ソフトウェア(プログラム)を実行して各種の処理部として機能する汎用的なプロセッサであるCPUに加えて、FPGA等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
1つの処理部は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせや、CPUとFPGAとの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアント及びサーバ等のコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System On Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。
更に、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)を用いることができる。
10、50 三角関数演算装置
11 アドレス発生器
12 記憶部
20 三角関数テーブル
21 第1の三角関数テーブル
22 第2の三角関数テーブル
30 演算回路
31 第1の乗算回路
32 第2の乗算回路
33、42 加算回路
40 補正部
41 補正値テーブル

Claims (5)

  1. 位相に対応した複数のビット列からなるアドレス信号を発生するアドレス発生器と、
    前記アドレス信号の上位ビットによって示される位相の各々に対応する第1の正弦及び第1の余弦、前記アドレス信号の下位ビットによって示される位相の各々に対応する第2の正弦及び第2の余弦を記憶した三角関数テーブルと、
    前記三角関数テーブルを参照することにより抽出された、前記アドレス信号に対応した前記第1の正弦、前記第1の余弦、前記第2の正弦及び前記第2の余弦を用いた演算処理により前記アドレス信号に対応した正弦を演算値として出力する演算回路と、
    前記アドレス信号に応じた補正値に基づいて、前記演算値を補正する補正部と、
    を備える三角関数演算装置。
  2. 前記補正部は、前記アドレス信号によって示される位相の各々に対応する補正値を記憶した補正値テーブルを含み、前記補正値テーブルを参照することによって抽出された、前記アドレス信号に対応した補正値に基づいて、前記演算値を補正する
    請求項1に記載の三角関数演算装置。
  3. 前記三角関数テーブルは、
    前記アドレス信号の上位ビットによって示される位相の各々に対応する前記第1の正弦及び前記第1の余弦を記憶した第1の三角関数テーブルと、
    前記アドレス信号の下位ビットによって示される位相の各々に対応する前記第2の正弦及び前記第2の余弦を記憶した第2の三角関数テーブルと、
    を含む請求項1または請求項2に記載の三角関数演算装置。
  4. 前記演算回路は、
    前記第1の正弦と前記第2の余弦との積を出力する第1の乗算回路と、
    前記第2の正弦と前記第1の余弦との積を出力する第2の乗算回路と、
    前記第1の乗算回路の出力値と前記第2の乗算回路の出力値とを加算する加算回路と、
    を含む請求項1から請求項3のいずれか1項に記載の三角関数演算装置。
  5. 位相に対応した複数のビット列からなるアドレス信号を発生するアドレス発生器と、
    前記アドレス信号の上位ビットによって示される位相の各々に対応する第1の正弦及び第1の余弦、前記アドレス信号の下位ビットによって示される位相の各々に対応する第2の正弦及び第2の余弦を記憶した三角関数テーブルと、
    前記三角関数テーブルを参照することにより抽出された、前記アドレス信号に対応した前記第1の正弦、前記第1の余弦、前記第2の正弦及び前記第2の余弦を用いた演算処理により前記アドレス信号に対応した余弦を演算値として出力する演算回路と、
    前記アドレス信号に応じた補正値に基づいて、前記演算値を補正する補正部と、
    を備える三角関数演算装置。
JP2019123014A 2019-07-01 2019-07-01 三角関数演算装置 Active JP7262028B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019123014A JP7262028B2 (ja) 2019-07-01 2019-07-01 三角関数演算装置
US16/915,994 US11226792B2 (en) 2019-07-01 2020-06-29 Trigonometric function calculating device
CN202010609183.2A CN112181359A (zh) 2019-07-01 2020-06-29 三角函数运算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019123014A JP7262028B2 (ja) 2019-07-01 2019-07-01 三角関数演算装置

Publications (2)

Publication Number Publication Date
JP2021009555A true JP2021009555A (ja) 2021-01-28
JP7262028B2 JP7262028B2 (ja) 2023-04-21

Family

ID=73919552

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019123014A Active JP7262028B2 (ja) 2019-07-01 2019-07-01 三角関数演算装置

Country Status (3)

Country Link
US (1) US11226792B2 (ja)
JP (1) JP7262028B2 (ja)
CN (1) CN112181359A (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62140168A (ja) * 1985-12-16 1987-06-23 Fujitsu Ltd 三角関数演算装置
JPH01241673A (ja) * 1988-03-23 1989-09-26 Daikin Ind Ltd 三角関数値算出装置およびその方法
JPH0561641A (ja) * 1991-09-03 1993-03-12 Fujitsu Ltd 数値計算処理装置
JP2001209525A (ja) * 2000-01-28 2001-08-03 Matsushita Electric Ind Co Ltd 三角関数生成装置
US6640237B1 (en) * 1999-07-27 2003-10-28 Raytheon Company Method and system for generating a trigonometric function

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4486846A (en) * 1982-06-28 1984-12-04 Motorola Inc. Numerically controlled oscillator using quadrant replication and function decomposition
US4809205A (en) * 1986-11-19 1989-02-28 Rockwell International Corporation Digital sine conversion circuit for use in direct digital synthesizers
US5276633A (en) * 1992-08-14 1994-01-04 Harris Corporation Sine/cosine generator and method
US20030229658A1 (en) * 2002-06-06 2003-12-11 Guidry David W. Method of pattern lossless compression
US8200728B2 (en) * 2008-05-29 2012-06-12 Harris Corporation Sine/cosine generator
US8659331B2 (en) * 2012-01-18 2014-02-25 Qualcomm Incorporated High accuracy sin-cos wave and frequency generators, and related systems and methods

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62140168A (ja) * 1985-12-16 1987-06-23 Fujitsu Ltd 三角関数演算装置
JPH01241673A (ja) * 1988-03-23 1989-09-26 Daikin Ind Ltd 三角関数値算出装置およびその方法
JPH0561641A (ja) * 1991-09-03 1993-03-12 Fujitsu Ltd 数値計算処理装置
US6640237B1 (en) * 1999-07-27 2003-10-28 Raytheon Company Method and system for generating a trigonometric function
JP2001209525A (ja) * 2000-01-28 2001-08-03 Matsushita Electric Ind Co Ltd 三角関数生成装置

Also Published As

Publication number Publication date
US11226792B2 (en) 2022-01-18
JP7262028B2 (ja) 2023-04-21
CN112181359A (zh) 2021-01-05
US20210004207A1 (en) 2021-01-07

Similar Documents

Publication Publication Date Title
Piñeiro et al. Faithful powering computation using table look-up and a fused accumulation tree
US9753695B2 (en) Datapath circuit for digital signal processors
De Dinechin et al. Hardware implementations of fixed-point Atan2
Muscedere et al. Efficient techniques for binary-to-multidigit multidimensional logarithmic number system conversion using range-addressable look-up tables
US20120121165A1 (en) Method and apparatus for time of flight sensor 2-dimensional and 3-dimensional map generation
JPH0522271B2 (ja)
de Lassus Saint-Geniès et al. Exact lookup tables for the evaluation of trigonometric and hyperbolic functions
TWI291129B (en) Methods and apparatus for performing mathematical operations using scaled integers and machine accessible medium recorded with related instructions
US8868633B2 (en) Method and circuitry for square root determination
CN107102841A (zh) 一种坐标变换并行计算方法和装置
JP7262028B2 (ja) 三角関数演算装置
TW201818266A (zh) 用查找表執行遞歸運算的方法、設備及其測試方法
Nersessian et al. On a rational linear approximation of Fourier series for smooth functions
CN110633447B (zh) 基于fpga的球面距离定点计算方法及其计算装置
Hsiao et al. Two-level hardware function evaluation based on correction of normalized piecewise difference functions
Arnold et al. Towards a quaternion complex logarithmic number system
JP4696920B2 (ja) Dds信号発生装置
JP2019101896A (ja) 演算処理装置および演算処理装置の制御方法
Zanoni Toom-Cook 8-way for long integers multiplication
JPH08504046A (ja) 浮動小数点2進数を2進形式における対数に変換しまたはその逆変換をするための装置
Boggiano et al. FPGA implementation of a new scheme for the circuit realization of PWL functions
Chaudhary Implementation and applications of logarithmic signal processing on an FPGA
Sanchez et al. Architecture implementation of an improved decimal CORDIC method
Gener et al. Semi-and fully-random access LUTs for smooth functions
Lakshmi et al. FPGA implementation of a high speed VLSI architecture for CORDIC

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220602

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230330

R150 Certificate of patent or registration of utility model

Ref document number: 7262028

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150