[go: up one dir, main page]

JP2009276990A - Computing device, its calculation method, signal processing device, computing device control program, and recording medium in which program is recorded - Google Patents

Computing device, its calculation method, signal processing device, computing device control program, and recording medium in which program is recorded Download PDF

Info

Publication number
JP2009276990A
JP2009276990A JP2008127304A JP2008127304A JP2009276990A JP 2009276990 A JP2009276990 A JP 2009276990A JP 2008127304 A JP2008127304 A JP 2008127304A JP 2008127304 A JP2008127304 A JP 2008127304A JP 2009276990 A JP2009276990 A JP 2009276990A
Authority
JP
Japan
Prior art keywords
calculation
value
range
arithmetic
unit
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
Application number
JP2008127304A
Other languages
Japanese (ja)
Inventor
Akira Saito
晶 齊藤
Seiji Hamamoto
誠司 浜元
Masayuki Natsumi
昌之 夏見
Atsushi Sakai
敦司 酒井
Mamoru Okazaki
守 岡崎
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2008127304A priority Critical patent/JP2009276990A/en
Publication of JP2009276990A publication Critical patent/JP2009276990A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

【課題】演算装置の演算精度を改善する。
【解決手段】入力値Xに対し対数演算を行って出力値logXを出力する対数演算装置の演算方法では、入力値Xに基づいて演算用パラメータαの値が設定される(S12)。設定された演算用パラメータαの値を含む演算用変換関数Z=αXで、入力値Xが演算対象値Zに変換される(S13)。変換された演算対象値Zに対し対数演算が施され、演算結果値logZが取得される(S14)。演算用パラメータαの値に基づいて設定された出力用パラメータlogαの値を含む出力用変換関数logX=logZ−logαを用いて、演算結果値logZが出力値logXに変換される(S15)。演算用パラメータαの値の設定は、演算結果値logZの誤差が許容範囲内となるような演算対象値Zの範囲の一部または全部が演算用変換関数Z=αXの値域となるように行われる。
【選択図】図1
The calculation accuracy of a calculation device is improved.
In a calculation method of a logarithmic operation device that performs logarithmic operation on an input value X and outputs an output value logX, the value of an operation parameter α is set based on the input value X (S12). The input value X is converted to the calculation target value Z by the calculation conversion function Z = αX including the set value of the calculation parameter α (S13). A logarithmic operation is performed on the converted operation target value Z, and an operation result value logZ is obtained (S14). The calculation result value logZ is converted into the output value logX using the output conversion function logX = logZ−logα including the value of the output parameter logα set based on the value of the calculation parameter α (S15). The value of the calculation parameter α is set so that a part or all of the range of the calculation target value Z within which the error of the calculation result value logZ is within the allowable range falls within the value range of the calculation conversion function Z = αX. Is called.
[Selection] Figure 1

Description

本発明は、入力された入力値に対し演算を行って出力値を出力する演算装置およびその制御方法、信号処理装置、演算装置制御プログラム、並びに該プログラムを記録した記録媒体に関するものである。具体的には、本発明は、例えばデシベルの算出に利用されるような、対数計算を行う演算装置などに関するものである。   The present invention relates to an arithmetic device that performs an operation on an input value and outputs an output value, a control method therefor, a signal processing device, an arithmetic device control program, and a recording medium on which the program is recorded. Specifically, the present invention relates to an arithmetic unit that performs logarithmic calculation, such as used for calculating decibels.

デシベルは、波動の振幅の2乗に比例する量の比、或る面を通って単位時間に伝えられるエネルギーの大きさの比、その他の比を対数目盛で表す指標の一種である。デシベルの値は、上記比の常用対数の10倍を取ったものであり、デシベルの単位はdBである。なお、波動の振幅の2乗に比例する量の例としては、音波の圧力の振幅の2乗に比例する音の強さが挙げられる。また、或る面を通って単位時間に伝えられるエネルギーの大きさの例としては、導体を伝わる交流電力が挙げられる。   The decibel is a kind of index that represents the ratio of the amount proportional to the square of the amplitude of the wave, the ratio of the magnitude of energy transmitted to a unit time through a certain surface, and the other ratio in a logarithmic scale. The decibel value is 10 times the common logarithm of the above ratio, and the decibel unit is dB. An example of the amount proportional to the square of the amplitude of the wave is the intensity of the sound proportional to the square of the amplitude of the sound pressure. An example of the magnitude of energy transmitted per unit time through a certain surface is AC power transmitted through a conductor.

デシベルは、音波、電磁波などの波動の強度の指標として頻繁に用いられている。これは以下の理由による。すなわち、非特許文献1によると、刺激の強さをRとし、該刺激による感覚の大きさをEとすると、EはRの対数に比例する。これは、ウェーバー‐フェヒナー(Weber-Fechner)の法則として知られている。この法則に基づき、或る基準値に対する波動の信号強度の比を対数目盛で表現するデシベルが広く採用されている。このことから、音波信号、電磁波信号などの波動信号を扱う回路またはソフトウェアにおいて、デシベルの算出のために対数が精度良く計算できることは重要である。   The decibel is frequently used as an indicator of the intensity of waves such as sound waves and electromagnetic waves. This is due to the following reason. That is, according to Non-Patent Document 1, if the intensity of the stimulus is R and the magnitude of the sense of the stimulus is E, E is proportional to the logarithm of R. This is known as the Weber-Fechner law. Based on this law, a decibel that widely expresses the ratio of the signal intensity of a wave to a certain reference value on a logarithmic scale is widely used. From this, it is important that the logarithm can be calculated with high accuracy for calculating decibels in a circuit or software that handles wave signals such as sound wave signals and electromagnetic wave signals.

特許文献1と非特許文献2によると、対数を計算する方法としては、テーブルを逐次参照しながら関数の計算を行うSTL(Sequential Table Look-up)法が挙げられる。図9は、上記STL法を用いて、1≦X<2を満たす実数Xの対数logXを求めるアルゴリズム(ステップS100(以下「S100」と略称することがある。他のステップについても同様である。))を示している。なお、本願では、対数logは10を底とする常用対数とする。   According to Patent Document 1 and Non-Patent Document 2, as a method of calculating a logarithm, there is an STL (Sequential Table Look-up) method in which a function is calculated while sequentially referring to a table. FIG. 9 shows an algorithm for obtaining a logarithm logX of a real number X satisfying 1 ≦ X <2 by using the STL method (step S100 (hereinafter sometimes abbreviated as “S100”. The same applies to other steps). )). In the present application, the logarithm log is a common logarithm with a base of 10.

図9に示すように、まず、変数j・S・Pの初期化を次式のように行う(ステップS111)。
j=0,P=0,S=X−1 (1)。
As shown in FIG. 9, first, variables j, S j, and P j are initialized as shown in the following equation (step S111).
j = 0, P 0 = 0, S 0 = X−1 (1).

次に、変数Sから判定条件Cj+1を次式に基づいて求める(S112)。
j+1=2S−(1+2−j) (2)。
Next, a determination condition C j + 1 is obtained from the variable S j based on the following equation (S112).
C j + 1 = 2S j − (1 + 2− j S j ) (2).

次に、判定条件Cj+1が0以上であるか否かに応じて、変数aj+1・Aj+1を次式に基づいて求める(S113〜S115)。
j+1≧0の場合,aj+1=1,Aj+1=1−2−j−1
j+1<0の場合,aj+1=0,Aj+1=1 (3)。
Next, depending on whether or not the determination condition C j + 1 is 0 or more, a variable a j + 1 · A j + 1 is obtained based on the following equation (S113 to S115).
When C j + 1 ≧ 0, a j + 1 = 1, A j + 1 = 1−2 −j−1 ,
When C j + 1 <0, a j + 1 = 0, A j + 1 = 1 (3).

次に、変数aj+1・Aj+1から変数Sj+1・Pj+1を次式に基づいて求めると共に、変数jをj+1に変更する(S116)。
j+1=P−logAj+1,Sj+1=2Sj+1−aj+1 (4)。
Next, the variable S j + 1 · P j + 1 is obtained from the variable a j + 1 · A j + 1 based on the following equation, and the variable j is changed to j + 1 (S116).
P j + 1 = P j -logA j + 1, S j + 1 = 2S j A j + 1 -a j + 1 (4).

次に、上記ステップS112〜S116をj=Nとなるまで繰り返す(S117)。そして、変数PからlogXが次式により求まる(S118)。
logX=P (5)。
Next, the above steps S112 to S116 are repeated until j = N (S117). Then, logX from the variable P N is obtained by the following equation (S118).
logX = P N (5).

図10は、図9に示すアルゴリズム(S100)を実装した従来の対数演算装置の一例を示している。対数演算装置110は、入力された1以上の実数Yに対し対数計算logYを行い、その結果を出力するものであり、図示のように、STL演算回路120、演算レンジ用変換部130、および出力レンジ用変換部131を備えている。   FIG. 10 shows an example of a conventional logarithmic arithmetic device that implements the algorithm (S100) shown in FIG. The logarithmic arithmetic unit 110 performs logarithmic calculation logY on one or more input real numbers Y and outputs the result. As shown in the figure, the STL arithmetic circuit 120, the arithmetic range conversion unit 130, and the output A range conversion unit 131 is provided.

STL演算回路120は、図9に示すように、1≦X<2を満たす実数Xから対数logXを、STL法を用いて演算するものである。すなわち、実数Xは、STL演算回路120における演算の対象となる演算対象値であり、対数logXは、STL演算回路120が演算した結果である演算結果値である。なお、STL演算回路120の詳細は後述する。   As shown in FIG. 9, the STL calculation circuit 120 calculates a logarithm logX from a real number X satisfying 1 ≦ X <2 by using the STL method. That is, the real number X is a calculation target value that is a calculation target in the STL calculation circuit 120, and the logarithm logX is a calculation result value that is a result calculated by the STL calculation circuit 120. Details of the STL arithmetic circuit 120 will be described later.

なお、以下では、STL演算回路120に入力可能な演算対象値の範囲を「演算レンジ」と称し、該演算レンジ内の演算対象値に対しSTL演算回路120が演算した演算結果値の範囲を「演算結果レンジ」と称する。例えば、図9の場合では、演算レンジは1以上2未満の実数となり、演算結果レンジは0以上log2未満の実数となる。   In the following, the range of calculation target values that can be input to the STL calculation circuit 120 is referred to as “calculation range”, and the range of calculation result values calculated by the STL calculation circuit 120 for the calculation target values in the calculation range is “ This is referred to as “calculation result range”. For example, in the case of FIG. 9, the calculation range is a real number of 1 or more and less than 2, and the calculation result range is a real number of 0 or more and less than log2.

演算レンジ用変換部130は、対数演算装置110に入力された入力値Yを、STL演算回路120における演算レンジに適した数値に変換して、演算対象値XとしてSTL演算回路120に送出するものである。   The arithmetic range conversion unit 130 converts the input value Y input to the logarithmic arithmetic unit 110 into a numerical value suitable for the arithmetic range in the STL arithmetic circuit 120 and sends it to the STL arithmetic circuit 120 as the arithmetic target value X. It is.

具体的には、演算レンジ用変換部130には、入力値Yの範囲(正の実数)を定義域とし、演算対象値Xの範囲(1以上2未満の実数)を値域として、入力値Yを演算対象値Xに変換するための演算レンジ用変換関数が予め設定されている。次に、演算レンジ用変換部130は、上記演算レンジ用変換関数に含まれる演算レンジ用パラメータの値を、入力値Yに基づいて設定する。そして、演算レンジ用変換部130は、設定した演算レンジ用パラメータの値を含む上記演算レンジ用変換関数を利用して、入力値Yから演算対象値Xを計算し、計算した演算対象値XをSTL演算回路120に送出する。   Specifically, the calculation range conversion unit 130 uses the range of the input value Y (positive real number) as the domain and the range of the calculation target value X (real number between 1 and 2) as the range, and the input value Y Is converted in advance into a calculation target value X. Next, the calculation range conversion unit 130 sets the value of the calculation range parameter included in the calculation range conversion function based on the input value Y. Then, the calculation range conversion unit 130 calculates the calculation target value X from the input value Y by using the calculation range conversion function including the set calculation range parameter value, and calculates the calculated calculation target value X. The data is sent to the STL arithmetic circuit 120.

出力レンジ用変換部131は、STL演算回路120が演算した演算結果値logXを、対数演算装置110から出力される出力レンジに適した数値に変換して、出力値logYとして出力するものである。   The output range conversion unit 131 converts the calculation result value logX calculated by the STL calculation circuit 120 into a numerical value suitable for the output range output from the logarithmic calculation device 110, and outputs it as an output value logY.

具体的には、出力レンジ用変換部131には、演算結果値logXの範囲(0以上log2未満の実数)を定義域とし、出力値logYの範囲(実数)を値域として、演算結果値logXを出力値logY変換するための出力レンジ用変換関数が予め設定されている。次に、出力レンジ用変換部131は、上記出力レンジ用変換関数に含まれる出力レンジ用パラメータの値を、演算レンジ用変換部130が設定した演算レンジ用パラメータの値に基づいて設定する。そして、出力レンジ用変換部131は、設定した出力レンジ用パラメータの値を含む上記出力レンジ用変換関数を利用して、演算結果値logXから出力値logYを計算し、計算した出力値logYを出力する。   Specifically, the output range conversion unit 131 uses the range of the operation result value logX (a real number greater than or equal to 0 and less than log2) as the domain, the range of the output value logY (the real number) as the range, and the operation result value logX as the range. An output range conversion function for converting the output value logY is set in advance. Next, the output range conversion unit 131 sets the value of the output range parameter included in the output range conversion function based on the value of the calculation range parameter set by the calculation range conversion unit 130. Then, the output range conversion unit 131 calculates the output value logY from the operation result value logX by using the output range conversion function including the set output range parameter value, and outputs the calculated output value logY. To do.

次に、STL演算回路120について説明する。図10に示すように、STL演算回路120は、処理を繰り返し行う繰返し処理部121と、繰返し処理部121における現在の繰返し数jを計数するカウンタ129とを備える構成である。また、繰返し処理部121は、2つの変数S・Pの値をそれぞれ記憶する2つのレジスタ122・123と、上記式(2)により判定条件Cj+1を計算して条件判定を行う条件判定部128と、log(1−2−j−1)の値を予め記憶するLUT(Look Up Table)124と、レジスタ122の変数Sの値をシフトさせるバレルシフタ125と、上記式(4)を演算する演算部126・127とを備える構成である。
米国特許第3631230号明細書(1971年12月28日発行) 大賀寿郎著 、「マルチメディアシステム工学」、株式会社コロナ社、2004年 高木直史著、「算術演算のVLSIアルゴリズム」、株式会社コロナ社、2005年
Next, the STL arithmetic circuit 120 will be described. As illustrated in FIG. 10, the STL arithmetic circuit 120 includes a repetition processing unit 121 that repeatedly performs processing, and a counter 129 that counts the current number j of repetitions in the repetition processing unit 121. In addition, the iterative processing unit 121 performs condition determination by calculating the determination condition C j + 1 according to the above equation (2) and the two registers 122 and 123 that store the values of the two variables S j and P j , respectively. Unit 128, LUT (Look Up Table) 124 that stores the value of log (1-2 −j−1 ) in advance, barrel shifter 125 that shifts the value of variable S j of register 122, and the above equation (4) It is the structure provided with the calculating parts 126 * 127 which calculates.
US Pat. No. 3,631,230 (issued December 28, 1971) Toshiro Oga, "Multimedia System Engineering", Corona Inc., 2004 Naoki Takagi, “VLSI Algorithm for Arithmetic Operations”, Corona Inc., 2005

図11は、1≦X<2を満たす実数Xと、図9に示すSTL法を利用して数値計算されたlog10Xとの関係を示すグラフである。図11の(a)〜(f)は、それぞれ、繰返し数Nを5〜10としてlog10Xを算出した場合のグラフである。同図のグラフにおいて、横軸が実数Xであり、縦軸がlog10Xである。また、太線が上記数値計算されたものである。そして、比較のために、浮動小数点処理で算出したlog10Xが期待値として細線で示されている。 FIG. 11 is a graph showing the relationship between a real number X satisfying 1 ≦ X <2 and log 10 X numerically calculated using the STL method shown in FIG. (A) ~ (f) of FIG. 11 are graphs in the case where the calculated log 10 X repetition number N as 5-10. In the graph of the figure, the horizontal axis is a real number X, and the vertical axis is log 10 X. Also, the thick line is the above-mentioned numerical calculation. For comparison, log 10 X calculated by floating-point processing is shown as a thin line as an expected value.

図11を参照すると、繰返し数Nを増加することにより、誤差(細線に対する太線のずれ)が低減して、精度が向上することが理解できる。しかしながら、X=1.3付近の領域と、1.7≦X<2の領域とにおいては、誤差が大きく、かつ、繰返し数Nを増加しても上記誤差がさほど改善されないことが理解できる。   Referring to FIG. 11, it can be understood that increasing the number of repetitions N reduces errors (shifts of thick lines with respect to thin lines) and improves accuracy. However, it can be understood that there is a large error in the region near X = 1.3 and the region where 1.7 ≦ X <2, and that the error is not improved much by increasing the number of repetitions N.

図11の場合、上記誤差の最大値は0.1前後である。一般に、電力のデシベルは、対数値に10を乗算したものとなる一方、電圧のデシベルは、電力が電圧の2乗に比例するので、対数値に20を乗算したものとなる。従って、STL法で求めた対数値の誤差が0.1である場合、デシベルでは1〜2dBの誤差が生じることになる。   In the case of FIG. 11, the maximum value of the error is around 0.1. In general, the power decibel is obtained by multiplying the logarithmic value by 10, while the voltage decibel is obtained by multiplying the logarithmic value by 20 because the power is proportional to the square of the voltage. Accordingly, when the error of the logarithmic value obtained by the STL method is 0.1, an error of 1 to 2 dB occurs in the decibel.

本発明は、上記の問題点に鑑みてなされたものであり、その目的は、演算精度の改善された演算装置などを提供することにある。   The present invention has been made in view of the above problems, and an object of the present invention is to provide an arithmetic device with improved arithmetic accuracy.

本発明に係る演算装置は、入力された入力値に対し演算を行って出力値を出力する演算装置であって、上記課題を解決するために、前記入力値に基づいて演算用パラメータの値を設定する演算用設定手段と、該演算用設定手段が設定した演算用パラメータの値を含む演算用変換関数で、前記演算の対象となる値である演算対象値に前記入力値を変換する演算用変換手段と、該演算用変換手段が変換した演算対象値に対し前記演算を行って、該演算の結果である演算結果値を取得する演算手段と、前記演算用パラメータの値に基づいて設定された出力用パラメータの値を含む出力用変換関数で、前記演算手段が取得した演算結果値を前記出力値に変換する出力用変換手段とを備えており、前記演算手段は、前記演算結果値の誤差が、前記演算対象値に依存しており、前記演算用設定手段は、前記演算結果値の誤差が許容範囲内となるような前記演算対象値の範囲の一部または全部が前記演算用変換関数の値域となるように、前記演算用パラメータの値を設定することを特徴としている。   An arithmetic device according to the present invention is an arithmetic device that performs an operation on an input value that is input and outputs an output value. In order to solve the above problem, the value of a parameter for calculation is calculated based on the input value. An arithmetic conversion function including a calculation setting means to be set and a calculation parameter value set by the calculation setting means for converting the input value to a calculation target value that is a target value of the calculation A conversion unit, a calculation unit that performs the calculation on the calculation target value converted by the calculation conversion unit and obtains a calculation result value that is a result of the calculation, and is set based on the value of the calculation parameter. An output conversion function including an output parameter value, and an output conversion means for converting the calculation result value obtained by the calculation means into the output value. The error is Depending on the value, the setting means for calculation is such that a part or all of the range of the calculation target value within which the error of the calculation result value falls within an allowable range falls within the range of the conversion function for calculation. Further, the value of the calculation parameter is set.

また、本発明に係る演算装置の演算方法は、入力された入力値に対し演算を行って出力値を出力する演算装置の演算方法であって、上記課題を解決するために、前記入力値に基づいて演算用パラメータの値を前記演算装置が設定する演算用設定ステップと、該演算用設定ステップにて設定された演算用パラメータの値を含む演算用変換関数で、前記演算の対象となる値である演算対象値に前記入力値を前記演算装置が変換する演算用変換ステップと、該演算用変換ステップにて変換された演算対象値に対し、前記演算装置が前記演算を行って、該演算の結果である演算結果値を取得する演算ステップと、前記演算用パラメータの値に基づいて設定された出力用パラメータの値を含む出力用変換関数で、前記演算ステップにて取得された演算結果値を前記出力値に前記演算装置が変換する出力用変換ステップとを含んでおり、前記演算ステップでは、前記演算結果値の誤差が、前記演算対象値に依存しており、前記演算用設定ステップでは、前記演算結果値の誤差が許容範囲内となるような前記演算対象値の範囲の一部または全部が前記演算用変換関数の値域となるように、前記演算用パラメータの値が設定されることを特徴としている。   An arithmetic method for an arithmetic device according to the present invention is an arithmetic method for an arithmetic device that performs an operation on an input value that is input and outputs an output value. A calculation setting step in which the calculation device sets the calculation parameter value, and a calculation conversion function including the calculation parameter value set in the calculation setting step. An arithmetic conversion step in which the arithmetic device converts the input value into an arithmetic target value, and the arithmetic device performs the arithmetic operation on the arithmetic target value converted in the arithmetic conversion step, so that the arithmetic operation is performed. And an output conversion function including an output parameter value set based on the value of the operation parameter, and an operation result acquired in the operation step. An output conversion step in which the arithmetic device converts a value into the output value. In the calculation step, an error in the calculation result value depends on the calculation target value, and the calculation setting step Then, the value of the calculation parameter is set so that a part or all of the range of the calculation target value within which the error of the calculation result value falls within an allowable range falls within the range of the calculation conversion function. It is characterized by that.

上記の構成および方法によると、まず、演算装置に入力された入力値に基づいて、演算用変換関数の演算用パラメータの値が設定される。このとき、上記演算用パラメータの値は、演算結果値の誤差が許容範囲内となるような演算対象値の範囲の一部または全部が上記演算用変換関数の値域となるように設定される。   According to the above configuration and method, first, the value of the operation parameter of the operation conversion function is set based on the input value input to the operation device. At this time, the value of the calculation parameter is set so that a part or all of the range of the calculation target value within which the error of the calculation result value is within the allowable range falls within the range of the calculation conversion function.

次に、上記演算用パラメータの値を含む演算用変換関数で、上記入力値が演算対象値に変換される。このとき、変換された演算対象値は、演算結果値の誤差が許容範囲内となるような演算対象値の範囲に含まれることになる。   Next, the input value is converted into a calculation target value by a calculation conversion function including the value of the calculation parameter. At this time, the converted calculation target value is included in the range of the calculation target value such that the error of the calculation result value is within the allowable range.

次に、変換された演算対象値に対し演算が行われ、演算結果値が取得される。このとき、取得される演算結果値は、誤差が許容範囲内になるので、演算精度を改善することができる。そして、上記演算用パラメータに基づいて設定された出力用パラメータの値を含む出力用変換関数で、上記演算結果値が出力値に変換されて、演算装置から出力される。   Next, a calculation is performed on the converted calculation target value, and a calculation result value is acquired. At this time, the obtained calculation result value has an error within an allowable range, so that the calculation accuracy can be improved. The calculation result value is converted into an output value by an output conversion function including the value of the output parameter set based on the calculation parameter, and is output from the calculation device.

従って、本発明に係る演算装置およびその演算方法により、演算精度の改善された出力値を出力することができる。なお、演算結果値の誤差の許容範囲は、例えば期待値の約5%が挙げられるが、演算装置に要求される演算精度に依存する。   Therefore, an output value with improved calculation accuracy can be output by the calculation device and the calculation method according to the present invention. In addition, although the allowable range of the error of the calculation result value is, for example, about 5% of the expected value, it depends on the calculation accuracy required for the calculation device.

本発明に係る演算装置では、前記入力値の範囲と前記演算用パラメータの値とを対応付けた対応情報を記憶する記憶部をさらに備えており、前記演算用設定手段は、前記入力値が含まれる前記範囲に対応する前記演算用パラメータの値を、前記記憶部の前記対応情報から検索して設定することが好ましい。この場合、上記演算結果値の誤差が許容範囲内となるような上記演算対象値の範囲の一部または全部が上記演算用変換関数の値域となるような上記演算用パラメータの値を、上記入力値から容易に取得することができる。   The arithmetic device according to the present invention further includes a storage unit that stores correspondence information in which the range of the input value is associated with the value of the arithmetic parameter, and the arithmetic setting unit includes the input value. It is preferable that the value of the calculation parameter corresponding to the range to be searched is set by searching from the correspondence information in the storage unit. In this case, the value of the calculation parameter such that a part or all of the range of the calculation target value within which the error of the calculation result value falls within an allowable range falls within the range of the calculation conversion function is input. Can be easily obtained from the value.

なお、上記演算手段が行う演算の例としては、STL法に基づく演算が挙げられる。このSTL法に基づく演算は、指数関数、対数関数、三角関数、商、平方根などの関数の計算に適用可能である。   An example of the calculation performed by the calculation means is calculation based on the STL method. This calculation based on the STL method can be applied to the calculation of functions such as exponential functions, logarithmic functions, trigonometric functions, quotients, and square roots.

ところで、STL法に基づく演算は、例えば図9および図10に示すように、テーブル参照と、桁送りの計算と、計算条件の判定と、判定された計算条件に基づく演算とが繰り返し行われる。このため、繰返し回数が多くなればなるほど、演算時間が長くなることになる。   By the way, in the calculation based on the STL method, for example, as shown in FIGS. 9 and 10, table reference, shift calculation, calculation condition determination, and calculation based on the determined calculation condition are repeatedly performed. For this reason, as the number of repetitions increases, the calculation time becomes longer.

そこで、本発明に係る演算装置では、前記演算手段は、複数の演算ユニットを直列接続した構成であり、前記演算ユニットのそれぞれは、第1変数および第2変数の値をそれぞれ記憶する第1レジスタおよび第2レジスタと、計算条件を判定する条件判定部と、該条件判定部が判定した計算条件に基づいて、第1レジスタにおける第1変数の値を桁送りするシフタと、第1レジスタにおける第1変数の値と、前記シフタによって桁送りされた第1変数の値と、前記条件判定部が判定した計算条件とに基づいて、第1演算を行う第1演算部と、第2レジスタにおける第2変数の値と、前記条件判定部が判定した計算条件とに基づいて、第2演算を行う第2演算部とを備え、第1演算部および第2演算部は、それぞれ、第1演算および第2演算の結果の値を、次段の演算ユニットにおける第1レジスタおよび第2レジスタに送出しており、初段の演算ユニットに関して、第1変数の値は、前記演算対象値に基づく値であり、第2変数の値は、前記演算対象値に基づく値または初期値であり、終段の演算ユニットに関して、第2演算部が行う第2演算の結果が、前記演算結果値となってもよい。   Therefore, in the arithmetic device according to the present invention, the arithmetic means has a configuration in which a plurality of arithmetic units are connected in series, and each of the arithmetic units stores a first register and a value of a second variable, respectively. And a second register, a condition determination unit that determines a calculation condition, a shifter that shifts the value of the first variable in the first register based on the calculation condition determined by the condition determination unit, and a first register in the first register Based on the value of one variable, the value of the first variable shifted by the shifter, and the calculation condition determined by the condition determination unit, a first calculation unit that performs a first calculation, and a second register in the second register A second calculation unit that performs a second calculation based on the value of the two variables and the calculation condition determined by the condition determination unit, wherein the first calculation unit and the second calculation unit are the first calculation and the second calculation unit, respectively. Of the second operation The result value is sent to the first register and the second register in the arithmetic unit at the next stage, and with respect to the arithmetic unit at the first stage, the value of the first variable is a value based on the arithmetic target value, and the second variable Is a value based on the calculation target value or an initial value, and the result of the second calculation performed by the second calculation unit with respect to the final calculation unit may be the calculation result value.

この場合、桁送りを行うシフタと、計算条件を判定する条件判定部と、判定された計算条件に基づいて演算を行う第1および第2演算部を備える複数の演算ユニットが直列接続されるので、上記繰返し回数を減らすことができ、演算時間の増加を抑制することができる。   In this case, a shifter that performs shift, a condition determination unit that determines a calculation condition, and a plurality of calculation units including first and second calculation units that perform calculation based on the determined calculation condition are connected in series. The number of repetitions can be reduced, and an increase in calculation time can be suppressed.

なお、音波および電磁波の少なくとも一方の信号を処理する信号処理装置であって、前記信号の強度を算出するために、上記構成の演算装置を利用する信号処理装置であれば、上述の効果と同様の効果を奏することができる。   In addition, if it is a signal processing device that processes at least one of a sound wave and an electromagnetic wave signal, and is a signal processing device that uses the arithmetic device having the above-described configuration to calculate the intensity of the signal, the same effect as described above The effect of can be produced.

また、上記演算装置の各手段を、演算プログラムによりコンピュータ上で実行させることができる。さらに、上記演算プログラムを、コンピュータ読取り可能な記録媒体に記憶させることにより、任意のコンピュータ上で当該演算プログラムを実行させることができる。   Moreover, each means of the said arithmetic unit can be performed on a computer by a calculation program. Furthermore, the arithmetic program can be executed on an arbitrary computer by storing the arithmetic program in a computer-readable recording medium.

以上のように、本発明に係る演算装置は、演算装置に入力された入力値に基づいて、演算用変換関数の演算用パラメータの値が、演算結果値の誤差が許容範囲内となるような演算対象値の範囲の一部または全部が上記演算用変換関数の値域となるように設定されるので、上記演算用パラメータの値を含む演算用変換関数で、上記入力値が演算対象値に変換され、変換された演算対象値に対し演算が行われて、取得された演算結果値は、誤差が許容範囲内になるので、演算精度を改善できるという効果を奏する。   As described above, the arithmetic device according to the present invention is such that the value of the arithmetic parameter of the arithmetic conversion function is within an allowable range based on the input value input to the arithmetic device. Since part or all of the range of the calculation target value is set to be within the range of the calculation conversion function, the input value is converted into the calculation target value by the calculation conversion function including the value of the calculation parameter. Then, the calculation is performed on the converted calculation target value, and the obtained calculation result value has an error within an allowable range, so that the calculation accuracy can be improved.

本発明の一実施形態について、図1〜図7を参照して説明する。図2は、本実施形態の対数演算装置の概要を示している。本実施形態の対数演算装置(演算装置)1は、音波および/または電磁波の信号を処理する信号処理装置において、上記信号の強度を算出する演算装置に好適である。   An embodiment of the present invention will be described with reference to FIGS. FIG. 2 shows an outline of the logarithmic arithmetic apparatus of this embodiment. The logarithmic arithmetic device (arithmetic device) 1 of the present embodiment is suitable for an arithmetic device that calculates the intensity of the signal in a signal processing device that processes a sound wave and / or electromagnetic wave signal.

図2に示す対数演算装置1は、図10に示す従来の対数演算装置110に比べて、演算レンジ用変換部130およびSTL演算回路(演算手段)120の間に高精度演算レンジ用変換部10が設けられる点と、出力レンジ用変換部131およびSTL演算回路120の間に演算結果レンジ用変換部11が設けられる点とが異なり、その他の構成は同様である。なお、上記背景技術で説明した構成と同様の機能を有する構成には同一の符号を付して、その説明を省略する。   The logarithmic arithmetic unit 1 shown in FIG. 2 is more accurate than the conventional logarithmic arithmetic unit 110 shown in FIG. 10 between the arithmetic range converter 130 and the STL arithmetic circuit (arithmetic unit) 120. Is different from the point that the calculation result range conversion unit 11 is provided between the output range conversion unit 131 and the STL calculation circuit 120, and the other configurations are the same. In addition, the same code | symbol is attached | subjected to the structure which has the function similar to the structure demonstrated by the said background art, and the description is abbreviate | omitted.

高精度演算レンジ用変換部10は、演算レンジ用変換部130からの演算レンジ用数値Xを、高精度演算レンジに適した数値に変換するものである。ここで、高精度演算レンジとは、STL演算回路120における演算結果値の誤差が許容範囲内となるような演算対象値の範囲の一部または全部をいう。   The high-precision calculation range conversion unit 10 converts the calculation range numerical value X from the calculation range conversion unit 130 into a numerical value suitable for the high-precision calculation range. Here, the high-precision calculation range refers to a part or all of the range of the calculation target value in which the error of the calculation result value in the STL calculation circuit 120 is within the allowable range.

例えば、STL演算回路120の演算が、図11の(f)に示すグラフのようになる場合、高精度演算レンジは、1.71以上を除外した1≦Z<1.71となり、或いは、さらに1.3付近を除外した1≦Z<1.25、および1.35≦Z<1.71となる。演算対象値Z=1.3付近を除外すべきか否かは、演算結果値の誤差が許容範囲内か否かに依存する。なお、上記誤差の許容範囲は、対数演算装置1に要求される演算精度に依存する。   For example, when the calculation of the STL calculation circuit 120 is as shown in the graph of FIG. 11F, the high-precision calculation range is 1 ≦ Z <1.71 excluding 1.71 or more, or 1 ≦ Z <1.25 and 1.35 ≦ Z <1.71 excluding the vicinity of 1.3. Whether or not the calculation target value Z = 1.3 should be excluded depends on whether or not the error of the calculation result value is within the allowable range. Note that the allowable range of the error depends on the calculation accuracy required for the logarithmic calculation device 1.

高精度演算レンジ用変換部10は、変換した高精度演算レンジ内の数値Zを演算対象値としてSTL演算回路120に送出する。これにより、STL演算回路120が演算した演算結果値logZは、誤差が許容範囲内となる。すなわち、STL演算回路120における演算は、高精度な演算となる。   The high-precision calculation range conversion unit 10 sends the converted numerical value Z in the high-precision calculation range to the STL calculation circuit 120 as a calculation target value. As a result, the calculation result value logZ calculated by the STL calculation circuit 120 has an error within an allowable range. That is, the calculation in the STL calculation circuit 120 is a highly accurate calculation.

演算結果レンジ用変換部11は、STL演算回路120が演算した演算結果値logZを、上述の演算結果レンジに適した数値logXに変換するものである。演算結果レンジ用変換部11は、変換した数値logXを出力レンジ用変換部131に送出する。   The calculation result range conversion unit 11 converts the calculation result value logZ calculated by the STL calculation circuit 120 into a numerical value logX suitable for the calculation result range described above. The calculation result range conversion unit 11 sends the converted numerical value logX to the output range conversion unit 131.

次に、高精度演算レンジ用変換部10、演算結果レンジ用変換部11、演算レンジ用変換部130、および出力レンジ用変換部131の詳細について、図3〜図5を参照して説明する。まず、演算レンジ用変換部130および出力レンジ用変換部131の詳細について説明する。   Next, details of the high-accuracy calculation range conversion unit 10, the calculation result range conversion unit 11, the calculation range conversion unit 130, and the output range conversion unit 131 will be described with reference to FIGS. First, details of the calculation range conversion unit 130 and the output range conversion unit 131 will be described.

上述のように、演算レンジ用変換部130は、任意の正の実数である入力値Yを、1≦X<2を満たす実数である数値Xに変換するものである。また、出力レンジ用変換部131は、数値Xの対数である数値logXを、上記入力値Yの対数である出力値logYに変換するものである。   As described above, the arithmetic range conversion unit 130 converts the input value Y, which is an arbitrary positive real number, into the numerical value X, which is a real number that satisfies 1 ≦ X <2. The output range conversion unit 131 converts a numerical value logX that is a logarithm of the numerical value X into an output value logY that is a logarithm of the input value Y.

ところで、任意の正の実数Yは、次式を満たす実数X(但し1≦X<2)、整数k(但し0≦k≦3)、および整数lによって表現可能である。
Y=X×2×10 (6)。
By the way, an arbitrary positive real number Y can be expressed by a real number X (where 1 ≦ X <2), an integer k (where 0 ≦ k ≦ 3), and an integer l satisfying the following equation.
Y = X × 2 k × 10 l (6).

これは下記の理由による。すなわち、実数Xは1≦X<2を満たすので、X×2は、k=0の場合、1≦X×2<2となり、k=1の場合、2≦X×2<4となり、k=2の場合、4≦X×2<8となり、k=3の場合、8≦X×2<16となる。従って、0≦k≦3(kは整数)、1≦X<2(Xは実数)の場合、X×2は、1≦X×2<16となり、1以上10未満の任意の実数を表現可能である。更に、10(lは整数)で桁を変えることにより、X×2×10は任意の正の実数Yを表現可能である。 This is due to the following reason. That is, since the real number X satisfies 1 ≦ X <2, X × 2 k is 1 ≦ X × 2 k <2 when k = 0, and 2 ≦ X × 2 k <4 when k = 1. When k = 2, 4 ≦ X × 2 k <8, and when k = 3, 8 ≦ X × 2 k <16. Therefore, when 0 ≦ k ≦ 3 (k is an integer) and 1 ≦ X <2 (X is a real number), X × 2 k is 1 ≦ X × 2 k <16, and any real number greater than or equal to 1 and less than 10 Can be expressed. Further, by changing the digit by 10 l (l is an integer), X × 2 k × 10 l can express any positive real number Y.

また、上記式(6)の対数をとると、次式のようになる。
logY=logX+k×log2+l×log10≒logX+0.301k+l (7)。
従って、1≦X<2を満たす任意の実数Xの対数logXが計算可能であれば、計算された対数logXと、整数kおよび整数lとを用いて、任意の正の実数Yの対数logYも計算可能となる。
Further, taking the logarithm of the above equation (6), the following equation is obtained.
logY = logX + k * log2 + l * log10≈logX + 0.301k + 1 (7).
Therefore, if the logarithm log X of any real number X satisfying 1 ≦ X <2 can be calculated, the logarithm log Y of any positive real number Y is also calculated by using the calculated log logX, the integer k, and the integer l. It can be calculated.

以上より、本実施形態では、演算レンジ用変換部130は、まず、上記式(6)を上述の演算レンジ用変換関数とし、上記式(6)に含まれるパラメータk,lを演算レンジ用パラメータ(演算用パラメータ)として予め設定される。次に、演算レンジ用変換部130は、入力値Yと上記式(6)とに基づいて、演算レンジ用パラメータk,lの値を設定する。そして、演算レンジ用変換部130は、設定した演算レンジ用パラメータk,lの値と上記式(6)とに基づいて、入力値Yから演算レンジ用数値Xを計算し、計算した演算レンジ用数値Xを高精度演算レンジ用変換部10に送出する。   As described above, in the present embodiment, the calculation range conversion unit 130 first sets the equation (6) as the above-described calculation range conversion function, and uses the parameters k and l included in the equation (6) as the calculation range parameters. It is preset as (calculation parameter). Next, the calculation range conversion unit 130 sets the values of the calculation range parameters k and l based on the input value Y and the above equation (6). Then, the calculation range conversion unit 130 calculates the calculation range numerical value X from the input value Y based on the set values of the calculation range parameters k and l and the above equation (6), and calculates the calculation range The numerical value X is sent to the high-accuracy calculation range conversion unit 10.

一方、出力レンジ用変換部131は、まず、上記式(7)が出力レンジ用変換関数として予め設定される。そして、出力レンジ用変換部131は、演算レンジ用変換部130が設定した演算レンジ用パラメータk,lの値と上記式(7)とに基づいて、演算結果レンジ用数値logXから出力値logYを計算し、計算した出力値logYを出力する。   On the other hand, in the output range conversion unit 131, the above equation (7) is preset as an output range conversion function. Then, the output range conversion unit 131 obtains the output value logY from the calculation result range numerical value logX based on the values of the calculation range parameters k and l set by the calculation range conversion unit 130 and the above equation (7). The calculated output value logY is output.

図3は、演算レンジ用変換部130、出力レンジ用変換部131、高精度演算レンジ用変換部10、および演算結果レンジ用変換部11の概略構成を示している。図示のように、演算レンジ用変換部130は、入力値取得部132、演算レンジ用設定部(演算用設定手段)133、演算レンジ用対応テーブル(対応情報)134、および演算レンジ用算出部(演算用変換手段)135を備える構成である。   FIG. 3 shows a schematic configuration of the calculation range conversion unit 130, the output range conversion unit 131, the high-precision calculation range conversion unit 10, and the calculation result range conversion unit 11. As shown in the figure, the calculation range conversion unit 130 includes an input value acquisition unit 132, a calculation range setting unit (calculation setting means) 133, a calculation range correspondence table (corresponding information) 134, and a calculation range calculation unit ( (Conversion means for calculation) 135 is provided.

入力値取得部132は、対数演算装置1に入力された入力値Yを取得するものである。入力値取得部132は、取得した入力値Yを演算レンジ用設定部133および演算レンジ用算出部135に送出する。   The input value acquisition unit 132 acquires the input value Y input to the logarithmic arithmetic unit 1. The input value acquisition unit 132 sends the acquired input value Y to the calculation range setting unit 133 and the calculation range calculation unit 135.

演算レンジ用対応テーブル134は、入力値Y、および演算レンジ用パラメータk,lの対応関係をテーブル形式で含むものである。演算レンジ用対応テーブル134は、上記式(6)に基づいて予め設定される。図4は、演算レンジ用対応テーブル134の一例を示している。同図の(a)には、入力値Yの範囲と演算レンジ用パラメータlとが対応付けられ、同図の(b)には、計算値Y/10の範囲と演算レンジ用パラメータkとが対応付けられている。 The calculation range correspondence table 134 includes a correspondence relationship between the input value Y and the calculation range parameters k and l in a table format. The calculation range correspondence table 134 is set in advance based on the equation (6). FIG. 4 shows an example of the calculation range correspondence table 134. The range of the input value Y and the calculation range parameter l are associated with (a) in the figure, and the range of the calculated value Y / 10 l and the calculation range parameter k are shown in (b) of the figure. Are associated.

演算レンジ用設定部133は、演算レンジ用対応テーブル134を参照して、入力値取得部132からの入力値Yに対応する演算レンジ用パラメータk,lの値を設定するものである。演算レンジ用設定部133は、設定した演算レンジ用パラメータk,lの値を演算レンジ用算出部135および出力レンジ用変換部131に送出する。   The calculation range setting unit 133 refers to the calculation range correspondence table 134 and sets the values of the calculation range parameters k and l corresponding to the input value Y from the input value acquisition unit 132. The calculation range setting unit 133 sends the set values of the calculation range parameters k and l to the calculation range calculation unit 135 and the output range conversion unit 131.

具体的には、演算レンジ用設定部133は、例えば図4の(a)に示すようなテーブルを参照して、入力値Yに対応する演算レンジ用パラメータlの値を取得する。次に、演算レンジ用設定部133は、Y/10を計算し、計算結果である計算値Y/10に対応する演算レンジ用パラメータkの値を、例えば図4の(b)に示すようなテーブルを参照して取得する。 Specifically, the calculation range setting unit 133 acquires the value of the calculation range parameter l corresponding to the input value Y with reference to a table as shown in FIG. Next, the operation range for setting section 133 calculates the Y / 10 l, indicating the value of the operation range for the parameter k corresponding to a calculation result calculated value Y / 10 l, for example in (b) of FIG. 4 Get by referring to a table like this.

演算レンジ用算出部135は、入力値取得部132からの入力値Yと、演算レンジ用設定部133からの演算レンジ用パラメータk,lの値とを、上記式(6)に代入して計算することにより、演算レンジ用数値Xを算出するものである。演算レンジ用算出部135は、算出した演算レンジ用数値Xを高精度演算レンジ用変換部10に送出する。   The calculation range calculation unit 135 substitutes the input value Y from the input value acquisition unit 132 and the values of the calculation range parameters k and l from the calculation range setting unit 133 into the above equation (6) for calculation. By doing so, the numerical value X for the calculation range is calculated. The calculation range calculation unit 135 sends the calculated calculation range value X to the high-precision calculation range conversion unit 10.

一方、出力レンジ用変換部131は、図3に示すように、演算結果レンジ用取得部136および出力値算出部(出力用変換手段)137を備える構成である。   On the other hand, as shown in FIG. 3, the output range conversion unit 131 includes a calculation result range acquisition unit 136 and an output value calculation unit (output conversion means) 137.

演算結果レンジ用取得部136は、演算結果レンジ用変換部11から演算結果レンジ用数値logXを取得するものである。演算結果レンジ用取得部136は、取得した演算結果レンジ用数値logXを出力値算出部137に送出する。   The calculation result range acquisition unit 136 acquires the calculation result range numerical value logX from the calculation result range conversion unit 11. The calculation result range acquisition unit 136 sends the acquired calculation result range numerical value logX to the output value calculation unit 137.

出力値算出部137は、演算結果レンジ用取得部136からの演算結果レンジ用数値logXと、演算レンジ用変換部130からの演算レンジ用パラメータk,lの値とを、上記式(7)に代入して計算することにより、出力値logYを算出するものである。出力値算出部137は、算出した出力値logYを対数演算装置1から出力する。   The output value calculation unit 137 calculates the calculation result range numerical value logX from the calculation result range acquisition unit 136 and the values of the calculation range parameters k and l from the calculation range conversion unit 130 in the above equation (7). By substituting and calculating, the output value logY is calculated. The output value calculation unit 137 outputs the calculated output value logY from the logarithmic operation device 1.

次に、本実施形態において追加された高精度演算レンジ用変換部10および演算結果レンジ用変換部11の詳細について説明する。上述のように、高精度演算レンジ用変換部10は、演算レンジ用変換部130からの演算レンジ用数値Xを、上記高精度演算レンジに適した数値に変換するものである。また、演算結果レンジ用変換部11は、STL演算回路120が演算した演算結果値logZを、上記演算結果レンジに適した数値logXに変換するものである。   Next, details of the high-accuracy calculation range conversion unit 10 and the calculation result range conversion unit 11 added in the present embodiment will be described. As described above, the high-accuracy calculation range conversion unit 10 converts the calculation range numerical value X from the calculation range conversion unit 130 into a numerical value suitable for the high-precision calculation range. The calculation result range conversion unit 11 converts the calculation result value logZ calculated by the STL calculation circuit 120 into a numerical value logX suitable for the calculation result range.

高精度演算レンジ用変換部10が演算レンジ用数値Xを高精度演算レンジ用数値Zに変換する処理内容は、以下のようにして決定される。すなわち、まず、上記演算レンジを、上記高精度演算レンジとそれ以外の低精度演算レンジとに分割する。なお、上記高精度演算レンジおよび低精度演算レンジは、それぞれ、複数の小レンジに分割してもよい。   The processing content of the high-precision calculation range conversion unit 10 converting the calculation range numerical value X into the high-precision calculation range numerical value Z is determined as follows. That is, first, the calculation range is divided into the high-precision calculation range and the other low-precision calculation ranges. The high-precision calculation range and the low-precision calculation range may each be divided into a plurality of small ranges.

次に、上記低精度演算レンジの数値を上記高精度演算レンジの数値に変換すると共に、上記高精度演算レンジの数値を上記高精度演算レンジの数値に変換するような高精度演算レンジ用変換関数および高精度演算レンジ用パラメータを決定する。高精度演算レンジ用変換関数の例としては次式が挙げられる。
Z=αX (8)。
Next, the conversion function for the high-precision calculation range that converts the numerical value of the low-precision calculation range into the numerical value of the high-precision calculation range and converts the numerical value of the high-precision calculation range into the numerical value of the high-precision calculation range. Determine the parameters for the high-precision calculation range. As an example of the conversion function for the high-precision calculation range, the following expression can be given.
Z = αX (8).

従って、本実施形態では、高精度演算レンジ用変換部10は、まず、上記式(8)を上記高精度演算レンジ用変換関数とし、上記式(8)に含まれるパラメータαを高精度演算レンジ用パラメータ(演算用パラメータ)として予め設定される。次に、高精度演算レンジ用変換部10は、演算レンジ用数値Xと上記式(8)とに基づいて、高精度演算レンジ用パラメータαの値を設定する。そして、高精度演算レンジ用変換部10は、設定した高精度演算レンジ用パラメータαの値と上記式(8)とに基づいて、演算レンジ用数値Xから高精度演算レンジ用数値Zを計算し、計算した高精度演算レンジ用数値Zを演算対象値としてSTL演算回路120に送出する。   Therefore, in the present embodiment, the high-accuracy calculation range conversion unit 10 first sets the equation (8) as the high-precision calculation range conversion function, and sets the parameter α included in the equation (8) as the high-precision calculation range. Are preset as operation parameters (calculation parameters). Next, the high-precision calculation range conversion unit 10 sets the value of the high-precision calculation range parameter α based on the calculation range numerical value X and the above equation (8). Then, the high-accuracy calculation range conversion unit 10 calculates the high-precision calculation range value Z from the calculation range value X based on the set value of the high-precision calculation range parameter α and the above equation (8). The calculated numerical value Z for the high precision calculation range is sent to the STL calculation circuit 120 as the calculation target value.

また、上記式(8)の対数をとると、次式となる。
logZ=logα+logX (9)。
従って、演算結果レンジ用変換部11は、まず、高精度演算レンジ用パラメータαの取り得る値と、該値の対数logαの値とを対応付けたLUTを予め用意しておく。次に、演算結果レンジ用変換部11は、高精度演算レンジ用変換部10が設定した高精度演算レンジ用パラメータαの値に対応する対数logαの値を、上記LUTから読み出す。そして、演算結果レンジ用変換部11は、読み出した対数logαの値と、上記式(9)とに基づいて、STL演算回路120からの演算結果値logZから演算結果レンジ用数値logXを計算し、計算した演算結果レンジ用数値logXを出力レンジ用変換部131に送出する。
Moreover, when the logarithm of the above equation (8) is taken, the following equation is obtained.
logZ = logα + logX (9).
Therefore, the calculation result range conversion unit 11 first prepares an LUT in which values that can be taken by the high-precision calculation range parameter α and the logarithmic log α value of the value are associated in advance. Next, the calculation result range conversion unit 11 reads the logarithm log α value corresponding to the value of the high accuracy calculation range parameter α set by the high accuracy calculation range conversion unit 10 from the LUT. Then, the calculation result range conversion unit 11 calculates the calculation result range numerical value logX from the calculation result value logZ from the STL calculation circuit 120 based on the read logarithm log α value and the above equation (9). The calculated operation result range numerical value logX is sent to the output range conversion unit 131.

次に、高精度演算レンジ用変換部10および演算結果レンジ用変換部11の構成について説明する。図3に示すように、高精度演算レンジ用変換部10は、演算レンジ用取得部12、高精度演算レンジ用設定部(演算用設定手段)13、高精度演算レンジ用対応テーブル(対応情報)14、および高精度演算レンジ用算出部(演算用変換手段)15を備える構成である。   Next, the configuration of the high-accuracy calculation range conversion unit 10 and the calculation result range conversion unit 11 will be described. As shown in FIG. 3, the high-accuracy calculation range conversion unit 10 includes a calculation range acquisition unit 12, a high-precision calculation range setting unit (setting unit) 13, and a high-precision calculation range correspondence table (corresponding information). 14 and a high-precision calculation range calculation unit (calculation conversion means) 15.

演算レンジ用取得部12は、演算レンジ用変換部130からの演算レンジ用数値Xを取得するものである。演算レンジ用取得部12は、取得した演算レンジ用数値Xを高精度演算レンジ用設定部13および高精度演算レンジ用算出部15に送出する。   The calculation range acquisition unit 12 acquires the calculation range numerical value X from the calculation range conversion unit 130. The calculation range acquisition unit 12 sends the acquired calculation range numerical value X to the high accuracy calculation range setting unit 13 and the high accuracy calculation range calculation unit 15.

高精度演算レンジ用対応テーブル14は、演算レンジ用数値Xと、高精度演算レンジ用パラメータαの対応関係をテーブル形式で含むものである。高精度演算レンジ用対応テーブル14は、上記式(8)に基づいて予め設定される。   The high-precision calculation range correspondence table 14 includes a correspondence relationship between the calculation range numerical value X and the high-precision calculation range parameter α in a table format. The high-precision calculation range correspondence table 14 is set in advance based on the above equation (8).

図5は、高精度演算レンジ用対応テーブル14の一例を示している。同図の(a)は、1≦X<1.71を高精度演算レンジとし、1.71≦X<2を低精度演算レンジとした例を示している。図示の例では、演算レンジ用数値Xが低精度演算レンジ(1.71≦X<2)に含まれる場合、高精度演算レンジ用数値Z=αXが高精度演算レンジ(1≦X<1.71)に含まれるように、α=0.85が設定される。   FIG. 5 shows an example of the high-accuracy calculation range correspondence table 14. (A) of the figure shows an example in which 1 ≦ X <1.71 is set as the high-precision calculation range and 1.71 ≦ X <2 is set as the low-precision calculation range. In the illustrated example, when the calculation range numerical value X is included in the low-precision calculation range (1.71 ≦ X <2), the high-precision calculation range numerical value Z = αX is the high-precision calculation range (1 ≦ X <1. 71), α = 0.85 is set.

一方、演算レンジ用数値Xが高精度演算レンジに含まれる場合、α=1が設定される。これは、演算レンジ用数値Xを変換すること無く、そのまま高精度演算レンジ用数値Zとするとも考えられる。   On the other hand, when the calculation range numerical value X is included in the high-precision calculation range, α = 1 is set. This is also considered to be the high-precision arithmetic range numerical value Z as it is without converting the arithmetic range numerical value X.

また、図5の(b)は、1≦X<1.1、および1.35≦X<1.71をそれぞれ第1および第2の高精度演算レンジとし、1.1≦X<1.35、および1.71≦X<2をそれぞれ第1および第2の低精度演算レンジとした例を示している。図示の例では、演算レンジ用数値Xが第1の低精度演算レンジ(1.1≦X<1.35)に含まれる場合、高精度演算レンジ用数値Z=αXが第2の高精度演算レンジ(1.35≦X<1.71)に含まれるように、α=1.25が設定される。また、演算レンジ用数値Xが第2の低精度演算レンジ(1.71≦X<2)に含まれる場合、高精度演算レンジ用数値Z=αXが第2の高精度演算レンジ(1.35≦X<1.71)に含まれるように、α=0.85が設定される。   5B, 1 ≦ X <1.1 and 1.35 ≦ X <1.71 are the first and second high-precision calculation ranges, respectively, and 1.1 ≦ X <1. 35 and 1.71 ≦ X <2 are shown as the first and second low-precision calculation ranges, respectively. In the illustrated example, when the calculation range numerical value X is included in the first low-precision calculation range (1.1 ≦ X <1.35), the high-precision calculation range value Z = αX is the second high-precision calculation. Α = 1.25 is set so as to be included in the range (1.35 ≦ X <1.71). Further, when the calculation range numerical value X is included in the second low-precision calculation range (1.71 ≦ X <2), the high-precision calculation range numerical value Z = αX is the second high-precision calculation range (1.35). Α = 0.85 is set so as to be included in ≦ X <1.71).

一方、演算レンジ用数値Xが第1および第2の高精度演算レンジ(1.1≦X<1.35、および1.71≦X<2)に含まれる場合、α=1が設定される。これは、演算レンジ用数値Xを変換すること無く、そのまま高精度演算レンジ用数値Zとするとも考えられる。   On the other hand, when the calculation range numerical value X is included in the first and second high-precision calculation ranges (1.1 ≦ X <1.35 and 1.71 ≦ X <2), α = 1 is set. . This is also considered to be the high-precision arithmetic range numerical value Z as it is without converting the arithmetic range numerical value X.

高精度演算レンジ用設定部13は、高精度演算レンジ用対応テーブル14を参照して、演算レンジ用取得部12からの演算レンジ用数値Xに対応する高精度演算レンジ用パラメータαの値を設定するものである。高精度演算レンジ用設定部13は、設定した高精度演算レンジ用パラメータαの値を高精度演算レンジ用算出部15および演算結果レンジ用変換部11に送出する。   The high-precision calculation range setting unit 13 refers to the high-precision calculation range correspondence table 14 and sets the value of the high-precision calculation range parameter α corresponding to the calculation range value X from the calculation range acquisition unit 12. To do. The high-precision calculation range setting unit 13 sends the set value of the set high-precision calculation range parameter α to the high-precision calculation range calculation unit 15 and the calculation result range conversion unit 11.

高精度演算レンジ用算出部15は、演算レンジ用取得部12からの演算レンジ用数値Xと、高精度演算レンジ用設定部13からの高精度演算レンジ用パラメータαの値とを、上記式(8)に代入して計算することにより、高精度演算レンジ用数値Zを算出するものである。高精度演算レンジ用算出部15は、算出した高精度演算レンジ用数値ZをSTL演算回路120に送出する。   The high-precision calculation range calculation unit 15 calculates the calculation range numerical value X from the calculation range acquisition unit 12 and the value of the high-precision calculation range parameter α from the high-precision calculation range setting unit 13 from the above formula ( The numerical value Z for high-precision calculation range is calculated by substituting into 8) and calculating. The high-precision calculation range calculation unit 15 sends the calculated high-precision calculation range numerical value Z to the STL calculation circuit 120.

一方、演算結果レンジ用変換部11は、図3に示すように、高精度演算結果レンジ用取得部16、演算結果レンジ用LUT17、および演算結果レンジ用算出部(出力用変換手段)18を備える構成である。   On the other hand, the calculation result range conversion unit 11 includes a high-precision calculation result range acquisition unit 16, a calculation result range LUT 17, and a calculation result range calculation unit (output conversion means) 18, as shown in FIG. It is a configuration.

高精度演算結果レンジ用取得部16は、STL演算回路120が演算した演算結果値として高精度演算結果レンジ用数値logZを取得するものである。高精度演算結果レンジ用取得部16は、取得した高精度演算結果レンジ用数値logZを演算結果レンジ用算出部18に送出する。   The high-precision calculation result range acquisition unit 16 acquires a high-precision calculation result range numerical value logZ as a calculation result value calculated by the STL calculation circuit 120. The high-precision calculation result range acquisition unit 16 sends the acquired high-precision calculation result range numerical value logZ to the calculation result range calculation unit 18.

演算結果レンジ用LUT17は、高精度演算レンジ用変換部10が設定する高精度演算レンジ用パラメータαの取り得る値と、該値の対数logαの値とを対応付けて格納している。演算結果レンジ用LUT17は、高精度演算レンジ用変換部10から高精度演算レンジ用パラメータαの値を取得すると、対応する対数logαの値を演算結果レンジ用算出部18に送出する。   The calculation result range LUT 17 stores possible values of the high-precision calculation range parameter α set by the high-precision calculation range conversion unit 10 and the logarithm log α of the value in association with each other. When the calculation result range LUT 17 acquires the value of the high-precision calculation range parameter α from the high-precision calculation range conversion unit 10, it sends the corresponding logarithm log α value to the calculation result range calculation unit 18.

なお、高精度演算レンジ用パラメータαの値は、図5の(a)の例では2つであり、同図の(b)の例では3つである。従って、演算結果レンジ用LUT17は、対応付けられた数組の値を格納すれば済むので、処理の増大や回路規模の増大にさほど影響を与えない。また、高精度演算レンジ用パラメータαの値が1である場合、対数logαは0となる。従って、演算結果レンジ用LUT17は、α=1の場合を格納しないようにし、高精度演算レンジ用変換部10から受け取った高精度演算レンジ用パラメータαの値が格納されていない場合に、演算結果レンジ用算出部18に0を送出するようにしてもよい。この場合、演算結果レンジ用LUT17が格納する値の数をさらに減らすことができる。   Note that the value of the high-accuracy calculation range parameter α is two in the example of FIG. 5A and three in the example of FIG. 5B. Therefore, since the calculation result range LUT 17 only needs to store several sets of associated values, it does not significantly affect the increase in processing and the circuit scale. Further, when the value of the parameter α for the high accuracy calculation range is 1, the logarithm log α is 0. Therefore, the calculation result range LUT 17 does not store the case of α = 1, and the calculation result is obtained when the value of the high-precision calculation range parameter α received from the high-precision calculation range conversion unit 10 is not stored. You may make it send 0 to the calculation part 18 for ranges. In this case, the number of values stored in the calculation result range LUT 17 can be further reduced.

演算結果レンジ用算出部18は、高精度演算結果レンジ用取得部16からの高精度演算結果レンジ用数値logZと、演算結果レンジ用LUT17からの数値logαとを、上記式(9)に代入して計算することにより、演算結果レンジ用数値logXを算出するものである。演算結果レンジ用算出部18は、算出した演算結果レンジ用数値logXを出力レンジ用変換部131に送出する。   The calculation result range calculation unit 18 substitutes the high-precision calculation result range numerical value logZ from the high-precision calculation result range acquisition unit 16 and the numerical value log α from the calculation result range LUT 17 into the equation (9). To calculate the calculation result range numerical value logX. The calculation result range calculation unit 18 sends the calculated calculation result range numerical value logX to the output range conversion unit 131.

次に、上記構成の対数演算装置1における処理動作について、図1を参照して説明する。図1は、対数演算装置1における高精度演算レンジ用変換部10、STL演算回路120、および演算結果レンジ用変換部11の処理の流れを示している。   Next, processing operations in the logarithmic arithmetic apparatus 1 having the above-described configuration will be described with reference to FIG. FIG. 1 shows a processing flow of the high-accuracy calculation range conversion unit 10, the STL calculation circuit 120, and the calculation result range conversion unit 11 in the logarithmic calculation apparatus 1.

図1に示すように、高精度演算レンジ用変換部10は、まず、演算レンジ用変換部130が正の実数である入力値Yを変換した演算レンジ用数値X(1≦X<2)を演算レンジ用取得部12が取得する(S11)。次に、演算レンジ用取得部12が取得した演算レンジ用数値Xが含まれる範囲に対応する高精度演算レンジ用パラメータαの値を、高精度演算レンジ用設定部13が高精度演算レンジ用対応テーブル14から読み出して設定する(S12)。次に、高精度演算レンジ用設定部13が設定した高精度演算レンジ用パラメータαの値を利用して高精度演算レンジ用算出部15がZ=αXの計算を行うことにより、演算レンジ用取得部12が取得した演算レンジ用数値Xから高精度演算レンジ用数値Zを算出する(S13)。   As shown in FIG. 1, the high-accuracy calculation range conversion unit 10 first calculates a calculation range numerical value X (1 ≦ X <2) obtained by converting the input value Y, which is a positive real number, by the calculation range conversion unit 130. The calculation range acquisition unit 12 acquires (S11). Next, the high-accuracy calculation range setting unit 13 corresponds to the value of the high-accuracy calculation range parameter α corresponding to the range including the calculation range numerical value X acquired by the calculation range acquisition unit 12. It is read from the table 14 and set (S12). Next, using the value of the high-precision calculation range parameter α set by the high-precision calculation range setting unit 13, the high-precision calculation range calculation unit 15 calculates Z = αX, thereby obtaining the calculation range. The numerical value Z for high accuracy calculation range is calculated from the numerical value X for calculation range acquired by the unit 12 (S13).

次に、STL演算回路120は、高精度演算レンジ用変換部10が算出した高精度演算レンジ用数値Zに対し、STL法に基づく対数計算を行って、演算結果値である高精度演算結果レンジ用数値logZを求める(S14)。次に、演算結果レンジ用変換部11は、高精度演算レンジ用変換部10が設定した高精度演算レンジ用パラメータαの対数logαを利用して、logX=logZ−logαを計算することにより、STL演算回路120の演算による高精度演算結果レンジ用数値logZから演算結果レンジ用数値logXを算出する(S15)。そして、算出された演算結果レンジ用数値logXを出力レンジ用変換部131が出力レンジ用数値logYに変換し、出力値として出力する。その後、処理動作を終了する。   Next, the STL calculation circuit 120 performs logarithmic calculation based on the STL method for the high-precision calculation range numerical value Z calculated by the high-precision calculation range conversion unit 10 to obtain a high-precision calculation result range that is a calculation result value. A numerical value logZ is obtained (S14). Next, the calculation result range conversion unit 11 uses the logarithm logα of the high-precision calculation range parameter α set by the high-precision calculation range conversion unit 10 to calculate logX = logZ−logα, thereby obtaining the STL. The calculation result range numerical value logX is calculated from the high-precision calculation result range numerical value logZ obtained by the calculation of the calculation circuit 120 (S15). Then, the output range conversion unit 131 converts the calculated calculation result range numerical value logX into the output range numerical value logY, and outputs it as an output value. Thereafter, the processing operation is terminated.

図6および図7は、1≦X<2を満たす実数Xと、該実数Xを演算レンジ用数値として本実施形態の対数演算装置1が算出した演算結果レンジ用数値logXとの関係を示すグラフである。図6および図7の両方の(a)〜(f)は、それぞれ、繰返し数Nを5〜10としてlog10Xを算出した場合のグラフである。同図のグラフにおいて、横軸が実数Xであり、縦軸がlog10Xである。また、太線が上記数値計算されたものである。そして、比較のために、期待値が細線で示されている。 6 and 7 are graphs showing the relationship between a real number X satisfying 1 ≦ X <2 and a calculation result range numerical value logX calculated by the logarithmic arithmetic unit 1 of the present embodiment using the real number X as a calculation range numerical value. It is. Both FIGS. 6 and 7 (a) ~ (f) are graphs in a case of calculating the log 10 X repetition number N as 5-10. In the graph of the figure, the horizontal axis is a real number X, and the vertical axis is log 10 X. Also, the thick line is the above-mentioned numerical calculation. For comparison, the expected value is indicated by a thin line.

さらに、図6は、高精度演算レンジ用変換部10における高精度演算レンジ用対応テーブル14が、図5の(a)に示すテーブルである場合のグラフである。一方、図7は、上記高精度演算レンジ用対応テーブル14が、図5の(b)に示すテーブルである場合のグラフである。   Furthermore, FIG. 6 is a graph in the case where the high-precision calculation range correspondence table 14 in the high-precision calculation range conversion unit 10 is the table shown in FIG. On the other hand, FIG. 7 is a graph in the case where the high precision calculation range correspondence table 14 is the table shown in FIG.

図6のグラフを図11のグラフと比較すると、本実施形態の対数演算装置1は、従来の対数演算装置110に比べて、1.7≦X<2におけるlogXの誤差が著しく改善されることが理解できる。具体的には、図11のグラフにおいて、Xが2近傍である場合の誤差が約0.06と最大となる。これに対し、図6のグラフでは、Xが2近傍である場合の誤差が約0となる。Xが2近傍である場合の期待値が約0.3であることから、logXの誤差が最大で約20%(=(0.06−0)÷0.3)改善されたことになる。   Comparing the graph of FIG. 6 with the graph of FIG. 11, the logarithmic operation device 1 of the present embodiment significantly improves the error of logX at 1.7 ≦ X <2 compared to the conventional logarithmic operation device 110. Can understand. Specifically, in the graph of FIG. 11, the error when X is in the vicinity of 2 is about 0.06, which is the maximum. On the other hand, in the graph of FIG. 6, the error when X is in the vicinity of 2 is approximately zero. Since the expected value when X is close to 2 is about 0.3, the error of logX is improved by about 20% (= (0.06-0) ÷ 0.3) at the maximum.

さらに、図7のグラフを図6のグラフと比較すると、高精度演算レンジ用対応テーブル14として図5の(b)に示すテーブルを利用する方が、図5の(a)に示すテーブルを利用するよりも、X=1.3付近におけるlogXの誤差が改善されることが理解できる。   Furthermore, when the graph of FIG. 7 is compared with the graph of FIG. 6, the table shown in FIG. 5B is used more effectively when the table shown in FIG. It can be understood that the error of logX near X = 1.3 is improved.

なお、本実施形態では、演算レンジ用変換部130および高精度演算レンジ用変換部10は、別々の構成としているが、1つの構成に統合することもできる。この場合、高精度演算レンジ用変換部10の演算レンジ用取得部12を省略することができる。また、本実施形態では、出力レンジ用変換部131および演算結果レンジ用変換部11は、別々の構成としているが、1つの構成に統合することもできる。この場合、出力レンジ用変換部131の演算結果レンジ用取得部136を省略することができる。   In the present embodiment, the calculation range conversion unit 130 and the high-precision calculation range conversion unit 10 are configured separately, but may be integrated into one configuration. In this case, the calculation range acquisition unit 12 of the high-precision calculation range conversion unit 10 can be omitted. In the present embodiment, the output range conversion unit 131 and the calculation result range conversion unit 11 have different configurations, but may be integrated into one configuration. In this case, the calculation result range acquisition unit 136 of the output range conversion unit 131 can be omitted.

また、本実施形態では、STL演算回路120は、従来と同様に、1つの演算ユニット(繰返し処理部121)にて繰返し演算を行う構成となっているが、複数の演算ユニットを直列接続して、直列演算を行う構成とすることもできる。   In the present embodiment, the STL arithmetic circuit 120 is configured to perform repetitive arithmetic with one arithmetic unit (repetitive processing unit 121) as in the prior art, but a plurality of arithmetic units are connected in series. In addition, a configuration in which serial calculation is performed can also be adopted.

図8は、N個の演算ユニット21を直列接続したSTL演算回路(演算手段)20の概略構成を示している。図示のように、STL演算回路20は、直列接続されたN個の演算ユニット21と、log(1−2−j−1)の値を予め記憶する1個のLUT124と、変数Pの値を記憶する1個のレジスタ123dとを備える構成である。 FIG. 8 shows a schematic configuration of an STL arithmetic circuit (arithmetic means) 20 in which N arithmetic units 21 are connected in series. As shown in the figure, the STL arithmetic circuit 20 includes N arithmetic units 21 connected in series, one LUT 124 for storing the value of log (1-2− j−1 ) in advance, and the value of the variable PN . And a single register 123d for storing.

各演算ユニット21は、図2などに示す繰返し処理部121に比べて、log(1−2−j−1)の値を予め記憶するLUT124が省略されている点が異なり、その他の構成は同様である。STL演算回路20では、各演算ユニット21にLUT124を設ける代わりに、N個の演算ユニット21に共通する1個のLUT124を設けている。 Each arithmetic unit 21 is different from the iterative processing unit 121 shown in FIG. 2 and the like in that the LUT 124 that stores the value of log (1-2− j−1 ) in advance is omitted, and the other configurations are the same. It is. In the STL arithmetic circuit 20, instead of providing the LUT 124 in each arithmetic unit 21, one LUT 124 common to the N arithmetic units 21 is provided.

図8では、初段(j=0)の演算ユニット21aと、2段目(j=1)の演算ユニット21bと、終段(j=N−1)の演算ユニット21cとが記載されている。なお、以下では、初段の構成には部材番号にaを付し、2段目の構成には部材番号にbを付し、終段の構成には部材番号にcを付している。   In FIG. 8, the first stage (j = 0) arithmetic unit 21a, the second stage (j = 1) arithmetic unit 21b, and the final stage (j = N−1) arithmetic unit 21c are shown. In the following, a member number is assigned to the first stage configuration, b is added to the member number in the second stage configuration, and c is added to the member number in the last stage configuration.

図8に示すように、各段の演算ユニット21では、上記式(4)に基づいてSj+1の演算を行う演算部(第1演算部)126は、演算結果の値を、次段の演算ユニット21においてSj+1の値を記憶するレジスタ(第1レジスタ)122に送出する。同様に、上記式(4)に基づいてPj+1の演算を行う演算部(第2演算部)127は、演算結果の値を、次段の演算ユニット21においてPj+1の値を記憶するレジスタ(第2レジスタ)123に送出する。 As shown in FIG. 8, in the arithmetic unit 21 at each stage, the arithmetic unit (first arithmetic unit) 126 that performs the operation of S j + 1 based on the above equation (4), the value of the arithmetic result is calculated. The unit 21 sends the value to the register (first register) 122 that stores the value of S j + 1 . Similarly, a calculation unit (second calculation unit) 127 that performs the calculation of P j + 1 based on the above formula (4) stores the value of the calculation result and the value of P j + 1 in the calculation unit 21 in the next stage ( (Second register) 123.

初段の演算ユニット21aでは、Sの値を記憶するレジスタ122aに演算対象値Zに基づく値が記憶される。また、Pの値を記憶するレジスタ123aには初期値(0)が記憶される。なお、初段の条件判定部128aは、判定条件C=−1となり、レジスタ122aの値に依存しない。 In the first stage of the operation unit 21a, a value based on the calculation target value Z in the register 122a for storing the value of S 0 is stored. Also, the register 123a for storing the values of P 0 the initial value (0) is stored. Note that the first-stage condition determination unit 128a has the determination condition C 1 = −1 and does not depend on the value of the register 122a.

終段の演算ユニット21cでは、上記式(4)に基づいてPの演算を行う演算部127cは、演算結果の値を、Pの値を記憶する新たなレジスタ123dに送出する。このレジスタ123dに記憶されるPの値が演算対象値Zに対数計算を施した演算結果値logZとなる。なお、Sの演算を行う終段の演算部126cは、演算結果の値の送出が省略される。このため、終段の演算部126cと終段のバレルシフタ(シフタ)125cとを省略してもよい。 In the final-stage arithmetic unit 21c, the arithmetic unit 127c that calculates PN based on the above equation (4) sends the value of the arithmetic result to a new register 123d that stores the value of PN . The value of PN stored in the register 123d is an operation result value logZ obtained by logarithmically calculating the operation target value Z. Note that the final-stage computing unit 126c that performs the computation of SN omits sending the value of the computation result. For this reason, the final stage calculation unit 126c and the final stage barrel shifter (shifter) 125c may be omitted.

図8に示すSTL演算回路20は、図2などに示すSTL演算回路120に比べて、カウンタ129は省略されるが、(N−1)個の演算ユニット21と1個のレジスタ123dとが追加されるので、回路規模が増大する。一方、複数の演算対象値を順次演算する場合、各演算ユニット21は、或る演算対象値に対する演算が終了すると、次の演算対象値に対する演算を直ちに行うことができるので、STL演算回路20は、STL演算回路120に比べて迅速に演算を行うことができる。   In the STL arithmetic circuit 20 shown in FIG. 8, the counter 129 is omitted compared to the STL arithmetic circuit 120 shown in FIG. 2 and the like, but (N−1) arithmetic units 21 and one register 123d are added. As a result, the circuit scale increases. On the other hand, when sequentially calculating a plurality of calculation target values, each calculation unit 21 can immediately perform a calculation for the next calculation target value when the calculation for a certain calculation target value is completed. Compared with the STL operation circuit 120, the operation can be performed quickly.

例えば、入力信号Yの変化が周波数f[Hz]であるとすると、繰返しがN回のSTL演算回路120の動作クロックはN×f[Hz]以上が必要であるが、STL演算回路20の動作クロックはf[Hz]のままでよい。なお、STL演算回路20・120の何れを採用するかは、対数演算装置1のLSIに実装する場合のテクノロジとライブラリの中で、処理速度と消費電力との観点から決定される。   For example, assuming that the change of the input signal Y is the frequency f [Hz], the operation clock of the STL arithmetic circuit 120 with N repetitions is required to be N × f [Hz] or more, but the operation of the STL arithmetic circuit 20 The clock may remain at f [Hz]. Note that which of the STL arithmetic circuits 20 and 120 is adopted is determined from the viewpoints of processing speed and power consumption in the technology and library when implemented in the LSI of the logarithmic arithmetic unit 1.

なお、本実施形態の対数演算装置1をLSIに実装する場合、特に音声を扱うLSIや、電磁波を扱う携帯電話用ベースバンド処理LSI、放送受信用ベースバンドLSI等、通信用ベースバンドLSIで有効である。これらのLSIでは、音声や電磁波の強度のデシベルを計算し、更に計算結果に基づいて制御を行っているので、本発明を適用することにより、正確なデシベルが計算可能となり、更に上記デシベル量に基づく制御を正確に行うことが可能となる。   When the logarithmic arithmetic unit 1 of this embodiment is mounted on an LSI, it is particularly effective for a communication baseband LSI such as an LSI that handles sound, a baseband processing LSI for mobile phones that handles electromagnetic waves, a baseband LSI for broadcast reception, and the like. It is. In these LSIs, the decibels of the intensity of sound and electromagnetic waves are calculated, and further control is performed based on the calculation results. Therefore, by applying the present invention, accurate decibels can be calculated and the above decibel amount is further increased. It is possible to accurately perform control based on this.

本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。   The present invention is not limited to the above-described embodiments, and various modifications can be made within the scope shown in the claims. That is, embodiments obtained by combining technical means appropriately modified within the scope of the claims are also included in the technical scope of the present invention.

例えば、高精度演算レンジ用対応テーブル14において、演算レンジを、図5の(a)では2つに、同図の(b)では4つに分割して、それぞれにαの値を設定しているが、低精度演算レンジにおける任意の値がZ=αXにより高精度演算レンジの値に変換可能であれば、任意の分割数で演算レンジを分割することができる。   For example, in the high-precision calculation range correspondence table 14, the calculation range is divided into two in FIG. 5A and four in FIG. 5B, and the value of α is set for each. However, if an arbitrary value in the low-precision calculation range can be converted into a high-precision calculation range value by Z = αX, the calculation range can be divided by an arbitrary number of divisions.

また、本願では、対数logを、10を底とする常用対数として説明しているが、自然対数など、任意の数を底とする対数の演算にも本発明を適用可能である。この場合、所望の底uによる対数log(1−2−j−1)の値をLUT124に記憶すればよい。 In the present application, the logarithm log is described as a common logarithm having a base of 10, but the present invention can also be applied to arithmetic operations of logarithms having an arbitrary base such as a natural logarithm. In this case, the logarithm log u (1-2 -j-1 ) value based on the desired base u may be stored in the LUT 124.

また、本願では、変数Aj+1は、上記式(3)に示すように、Aj+1=1−2−j−1またはAj+1=1としているが、1と2のべき乗の加減算で構成される任意の式に変更可能である。変数Aj+1の他の例としては、Aj+1=1+2−j−1またはAj+1=1、Aj+1=1−2−jまたはAj+1=1、Aj+1=1+2−jまたはAj+1=1などが挙げられる。 In the present application, the variable A j + 1 is set to A j + 1 = 1−2− j−1 or A j + 1 = 1 as shown in the above equation (3), but is composed of addition and subtraction of powers of 1 and 2. It can be changed to any expression. Other examples of variables A j + 1 include A j + 1 = 1 + 2 −j−1 or A j + 1 = 1, A j + 1 = 1−2 −j or A j + 1 = 1, A j + 1 = 1 + 2 −j or A j + 1 = 1, etc. Is mentioned.

また、本願では、対数関数のSTL法に基づく演算に適用しているが、STL法に基づく演算が可能な任意の関数を本発明の演算対象とすることができる。例えば、特許文献1によると、STL法は指数関数、商、および平方根の演算にも適用可能である。また、三角関数は、CORDIC(Coordinate Rotation Digital Computer)法に基づく演算が一般に利用されているが(非特許文献2参照)、複素領域で考えると指数関数となるのでSTL法に基づく演算も可能である。   In the present application, the present invention is applied to the calculation based on the STL method of the logarithmic function. However, any function that can be calculated based on the STL method can be set as the calculation target of the present invention. For example, according to Patent Document 1, the STL method can be applied to exponential functions, quotients, and square root operations. As for trigonometric functions, calculation based on the CORDIC (Coordinate Rotation Digital Computer) method is generally used (see Non-Patent Document 2). However, since it is an exponential function when considered in the complex domain, calculation based on the STL method is also possible. is there.

従って、本発明は、指数関数、三角関数、商、平方根などのような、加法定理が成立する初等関数のSTL法に基づく演算にも適用可能である。なお、適用する関数に応じて、高精度演算レンジ用変換関数を変更してもよい。例えば、指数関数の演算に適用する場合には、Z=X+αを高精度演算レンジ用変換関数とすることが好ましい。   Therefore, the present invention can also be applied to operations based on the STL method for elementary functions such as exponential functions, trigonometric functions, quotients, square roots, and the like that satisfy the additive theorem. Note that the high-precision calculation range conversion function may be changed according to the function to be applied. For example, when applied to the calculation of an exponential function, it is preferable that Z = X + α be a conversion function for a high-precision calculation range.

最後に、対数演算装置1の各ブロックは、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。   Finally, each block of the logarithmic arithmetic unit 1 may be configured by hardware logic, or may be realized by software using a CPU as follows.

すなわち、対数演算装置1は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである対数演算装置1の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記対数演算装置1に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。   That is, the logarithmic arithmetic unit 1 includes a CPU (central processing unit) that executes instructions of a control program that realizes each function, a ROM (read only memory) that stores the program, and a RAM (random access memory) that expands the program. And a storage device (recording medium) such as a memory for storing the program and various data. An object of the present invention is a recording medium on which a program code (execution format program, intermediate code program, source program) of a control program of the logarithmic arithmetic unit 1 which is software for realizing the functions described above is recorded so as to be readable by a computer. This can also be achieved by supplying the logarithmic arithmetic unit 1 and reading and executing the program code recorded on the recording medium by the computer (or CPU or MPU).

上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。   Examples of the recording medium include a tape system such as a magnetic tape and a cassette tape, a magnetic disk such as a floppy (registered trademark) disk / hard disk, and an optical disk such as a CD-ROM / MO / MD / DVD / CD-R. Card system such as IC card, IC card (including memory card) / optical card, or semiconductor memory system such as mask ROM / EPROM / EEPROM / flash ROM.

また、対数演算装置1を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。   The logarithmic arithmetic unit 1 may be configured to be connectable to a communication network, and the program code may be supplied via the communication network. The communication network is not particularly limited. For example, the Internet, intranet, extranet, LAN, ISDN, VAN, CATV communication network, virtual private network, telephone line network, mobile communication network, satellite communication. A net or the like is available. Also, the transmission medium constituting the communication network is not particularly limited. For example, even in the case of wired such as IEEE 1394, USB, power line carrier, cable TV line, telephone line, ADSL line, etc., infrared rays such as IrDA and remote control, Bluetooth ( (Registered trademark), 802.11 wireless, HDR, mobile phone network, satellite line, terrestrial digital network, and the like can also be used. The present invention can also be realized in the form of a computer data signal embedded in a carrier wave in which the program code is embodied by electronic transmission.

以上のように、本発明は、演算結果値の精度が低くなるような演算対象値の範囲内の値を、演算結果値の精度が高くなるような演算対象値の範囲内の値に変換することにより、演算精度を改善するので、演算結果値の特定部分の誤差が大きい任意の演算装置に適用することができる。   As described above, the present invention converts a value within the range of the calculation target value such that the accuracy of the calculation result value is low into a value within the range of the calculation target value such that the accuracy of the calculation result value is high. As a result, the calculation accuracy is improved, so that the present invention can be applied to any calculation device having a large error in a specific part of the calculation result value.

本発明の一実施形態である対数演算装置における処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process in the logarithmic arithmetic unit which is one Embodiment of this invention. 上記対数演算装置の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the said logarithmic arithmetic unit. 上記対数演算装置における演算レンジ用変換部、出力レンジ用変換部、高精度演算レンジ用変換部、および演算結果レンジ用変換部の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the conversion part for calculation ranges, the conversion part for output ranges, the conversion part for high precision calculation ranges, and the conversion part for calculation result ranges in the said logarithmic calculating device. 上記演算レンジ用変換部における演算レンジ用対応テーブルの一例を表形式で示す図である。It is a figure which shows an example of the correspondence table for calculation ranges in the said conversion part for calculation ranges in a table format. 上記高精度演算レンジ用変換部における高精度演算レンジ用対応テーブルの一例および他の例を表形式で示す図である。It is a figure which shows an example of the high precision calculation range corresponding | compatible table in the said high precision calculation range conversion part, and another example by a table format. 上記対数演算装置の演算による演算対象値と演算結果値との関係の一例を示すグラフである。It is a graph which shows an example of the relationship between the calculation target value by the calculation of the said logarithmic calculating device, and a calculation result value. 上記対数演算装置の演算による演算対象値と演算結果値との関係の他の例を示すグラフである。It is a graph which shows the other example of the relationship between the calculation object value by the calculation of the said logarithmic calculating device, and a calculation result value. 上記対数演算装置におけるSTL演算回路の変形例を示すブロック図である。It is a block diagram which shows the modification of the STL arithmetic circuit in the said logarithmic arithmetic unit. STL法に基づく対数計算の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process of the logarithm calculation based on STL method. 従来の対数演算装置の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the conventional logarithmic arithmetic unit. 上記従来の対数演算装置の演算による演算対象値と演算結果値との関係の一例を示すグラフである。It is a graph which shows an example of the relationship between the calculation object value by the calculation of the said conventional logarithmic calculating apparatus, and a calculation result value.

符号の説明Explanation of symbols

1 対数演算装置(演算装置)
10 高精度演算レンジ用変換部
11 演算結果レンジ用変換部
12 演算レンジ用取得部
13 高精度演算レンジ用設定部(演算用設定手段)
14 高精度演算レンジ用対応テーブル(対応情報)
15 高精度演算レンジ用算出部(演算用変換手段)
16 高精度演算結果レンジ用取得部
18 演算結果レンジ用算出部(出力用変換手段)
20 STL演算回路(演算手段)
21 演算ユニット
21a 初段の演算ユニット
21c 終段の演算ユニット
120 STL演算回路(演算手段)
121 繰返し処理部
122・123 レジスタ(第1・第2レジスタ)
124 LUT
125 バレルシフタ(シフタ)
126・127 演算部(第1・第2演算部)
128 条件判定部
129 カウンタ
130 演算レンジ用変換部
131 出力レンジ用変換部
132 入力値取得部
133 演算レンジ用設定部(演算用設定手段)
134 演算レンジ用対応テーブル(対応情報)
135 演算レンジ用算出部(演算用変換手段)
136 演算結果レンジ用取得部
137 出力値算出部(出力用変換手段)
α:高精度演算レンジ用パラメータ(演算用パラメータ)
k・l:演算レンジ用パラメータ(演算用パラメータ)
1 Logarithmic arithmetic unit (arithmetic unit)
10 High-precision calculation range conversion unit 11 Calculation result range conversion unit 12 Calculation range acquisition unit 13 High-precision calculation range setting unit (setting unit for calculation)
14 Correspondence table for high-precision calculation range (correspondence information)
15 Calculation unit for high-precision calculation range (conversion means for calculation)
16 High-precision calculation result range acquisition unit 18 Calculation result range calculation unit (output conversion means)
20 STL arithmetic circuit (arithmetic means)
21 arithmetic unit 21a first arithmetic unit 21c final arithmetic unit 120 STL arithmetic circuit (arithmetic means)
121 Repeat processing unit 122/123 register (first / second register)
124 LUT
125 barrel shifter (shifter)
126 · 127 arithmetic unit (first and second arithmetic units)
128 Condition Determination Unit 129 Counter 130 Calculation Range Conversion Unit 131 Output Range Conversion Unit 132 Input Value Acquisition Unit 133 Calculation Range Setting Unit (Calculation Setting Unit)
134 Calculation range correspondence table (correspondence information)
135 Calculation Range Calculation Unit (Calculation Conversion Unit)
136 Calculation Result Range Acquisition Unit 137 Output Value Calculation Unit (Output Conversion Unit)
α: Parameter for high-precision calculation range (parameter for calculation)
k · l: Parameter for calculation range (parameter for calculation)

Claims (8)

入力された入力値に対し演算を行って出力値を出力する演算装置であって、
前記入力値に基づいて演算用パラメータの値を設定する演算用設定手段と、
該演算用設定手段が設定した演算用パラメータの値を含む演算用変換関数で、前記演算の対象となる値である演算対象値に前記入力値を変換する演算用変換手段と、
該演算用変換手段が変換した演算対象値に対し前記演算を行って、該演算の結果である演算結果値を取得する演算手段と、
前記演算用パラメータの値に基づいて設定された出力用パラメータの値を含む出力用変換関数で、前記演算手段が取得した演算結果値を前記出力値に変換する出力用変換手段とを備えており、
前記演算手段は、前記演算結果値の誤差が、前記演算対象値に依存しており、
前記演算用設定手段は、前記演算結果値の誤差が許容範囲内となるような前記演算対象値の範囲の一部または全部が前記演算用変換関数の値域となるように、前記演算用パラメータの値を設定することを特徴とする演算装置。
An arithmetic device that performs an operation on an input value and outputs an output value,
Calculation setting means for setting the value of the calculation parameter based on the input value;
An arithmetic conversion function including an arithmetic parameter value set by the arithmetic setting means, and an arithmetic conversion means for converting the input value into an arithmetic target value that is a target value of the arithmetic;
A calculation unit that performs the calculation on the calculation target value converted by the calculation conversion unit and acquires a calculation result value that is a result of the calculation;
An output conversion function including an output parameter value set based on the value of the operation parameter, and an output conversion means for converting the operation result value obtained by the operation means into the output value. ,
The calculation means has an error in the calculation result value depending on the calculation target value,
The calculation setting means sets the calculation parameter so that a part or all of the range of the calculation target value within which the error of the calculation result value falls within an allowable range falls within a value range of the conversion function for calculation. An arithmetic device characterized by setting a value.
前記入力値の範囲と前記演算用パラメータの値とを対応付けた対応情報を記憶する記憶部をさらに備えており、
前記演算用設定手段は、前記入力値が含まれる前記範囲に対応する前記演算用パラメータの値を、前記記憶部の前記対応情報から検索して設定することを特徴とする請求項1に記載の演算装置。
A storage unit for storing correspondence information in which the range of the input value and the value of the calculation parameter are associated with each other;
The calculation setting means searches for and sets the value of the calculation parameter corresponding to the range in which the input value is included from the correspondence information in the storage unit. Arithmetic unit.
前記演算手段は、STL法に基づく演算を行うものであることを特徴とする請求項1または2に記載の演算装置。   The computing device according to claim 1, wherein the computing means performs computation based on an STL method. 前記演算手段は、複数の演算ユニットを直列接続した構成であり、
前記演算ユニットのそれぞれは、
第1変数および第2変数の値をそれぞれ記憶する第1レジスタおよび第2レジスタと、
計算条件を判定する条件判定部と、
該条件判定部が判定した計算条件に基づいて、第1レジスタにおける第1変数の値を桁送りするシフタと、
第1レジスタにおける第1変数の値と、前記シフタによって桁送りされた第1変数の値と、前記条件判定部が判定した計算条件とに基づいて、第1演算を行う第1演算部と、
第2レジスタにおける第2変数の値と、前記条件判定部が判定した計算条件とに基づいて、第2演算を行う第2演算部とを備え、
第1演算部および第2演算部は、それぞれ、第1演算および第2演算の結果の値を、次段の演算ユニットにおける第1レジスタおよび第2レジスタに送出しており、
初段の演算ユニットに関して、第1変数の値は、前記演算対象値に基づく値であり、第2変数の値は、前記演算対象値に基づく値または初期値であり、
終段の演算ユニットに関して、第2演算部が行う第2演算の結果が、前記演算結果値となることを特徴とする請求項3に記載の演算装置。
The calculation means has a configuration in which a plurality of calculation units are connected in series,
Each of the arithmetic units is
A first register and a second register for storing values of the first variable and the second variable, respectively;
A condition determination unit for determining calculation conditions;
A shifter for shifting the value of the first variable in the first register based on the calculation condition determined by the condition determination unit;
A first calculation unit that performs a first calculation based on the value of the first variable in the first register, the value of the first variable shifted by the shifter, and the calculation condition determined by the condition determination unit;
A second calculation unit that performs a second calculation based on the value of the second variable in the second register and the calculation condition determined by the condition determination unit;
The first calculation unit and the second calculation unit respectively send the values of the results of the first calculation and the second calculation to the first register and the second register in the next stage calculation unit,
Regarding the first stage arithmetic unit, the value of the first variable is a value based on the calculation target value, and the value of the second variable is a value based on the calculation target value or an initial value,
The computing device according to claim 3, wherein the result of the second computation performed by the second computing unit with respect to the final stage computation unit is the computation result value.
音波および電磁波の少なくとも一方の信号を処理する信号処理装置であって、
前記信号の強度を算出するために、請求項1から4までの何れか1項に記載の演算装置を利用することを特徴とする信号処理装置。
A signal processing device for processing at least one of a sound wave and an electromagnetic wave,
A signal processing apparatus using the arithmetic unit according to any one of claims 1 to 4 to calculate the intensity of the signal.
請求項1から4までの何れか1項に記載の演算装置を動作させるための演算プログラムであって、コンピュータを上記の各手段として機能させるための演算プログラム。   An arithmetic program for operating the arithmetic device according to any one of claims 1 to 4, wherein the arithmetic program causes a computer to function as each of the above means. 請求項6に記載の演算プログラムが記録されたコンピュータ読取り可能な記録媒体。   A computer-readable recording medium on which the arithmetic program according to claim 6 is recorded. 入力された入力値に対し演算を行って出力値を出力する演算装置の演算方法であって、
前記入力値に基づいて演算用パラメータの値を前記演算装置が設定する演算用設定ステップと、
該演算用設定ステップにて設定された演算用パラメータの値を含む演算用変換関数で、前記演算の対象となる値である演算対象値に前記入力値を前記演算装置が変換する演算用変換ステップと、
該演算用変換ステップにて変換された演算対象値に対し、前記演算装置が前記演算を行って、該演算の結果である演算結果値を取得する演算ステップと、
前記演算用パラメータの値に基づいて設定された出力用パラメータの値を含む出力用変換関数で、前記演算ステップにて取得された演算結果値を前記出力値に前記演算装置が変換する出力用変換ステップとを含んでおり、
前記演算ステップでは、前記演算結果値の誤差が、前記演算対象値に依存しており、
前記演算用設定ステップでは、前記演算結果値の誤差が許容範囲内となるような前記演算対象値の範囲の一部または全部が前記演算用変換関数の値域となるように、前記演算用パラメータの値が設定されることを特徴とする演算装置の演算方法。
An arithmetic method of an arithmetic device that performs an operation on an input value and outputs an output value,
A calculation setting step in which the calculation device sets the value of the calculation parameter based on the input value;
A calculation conversion step in which the calculation device converts the input value into a calculation target value, which is a calculation target value, in a calculation conversion function including the value of the calculation parameter set in the calculation setting step. When,
A calculation step in which the calculation device performs the calculation on the calculation target value converted in the calculation conversion step to obtain a calculation result value as a result of the calculation;
An output conversion function that includes an output parameter value that is set based on the value of the calculation parameter, and in which the calculation device converts the calculation result value acquired in the calculation step into the output value. Steps, and
In the calculation step, an error of the calculation result value depends on the calculation target value,
In the calculation setting step, the calculation parameter is set such that a part or all of the range of the calculation target value within which an error of the calculation result value is within an allowable range falls within a range of the calculation conversion function. An arithmetic method for an arithmetic device, wherein a value is set.
JP2008127304A 2008-05-14 2008-05-14 Computing device, its calculation method, signal processing device, computing device control program, and recording medium in which program is recorded Pending JP2009276990A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008127304A JP2009276990A (en) 2008-05-14 2008-05-14 Computing device, its calculation method, signal processing device, computing device control program, and recording medium in which program is recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008127304A JP2009276990A (en) 2008-05-14 2008-05-14 Computing device, its calculation method, signal processing device, computing device control program, and recording medium in which program is recorded

Publications (1)

Publication Number Publication Date
JP2009276990A true JP2009276990A (en) 2009-11-26

Family

ID=41442369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008127304A Pending JP2009276990A (en) 2008-05-14 2008-05-14 Computing device, its calculation method, signal processing device, computing device control program, and recording medium in which program is recorded

Country Status (1)

Country Link
JP (1) JP2009276990A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020090025A1 (en) * 2018-10-31 2020-05-07 富士通株式会社 Arithmetic processing unit and control method of arithmetic processing unit

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020090025A1 (en) * 2018-10-31 2020-05-07 富士通株式会社 Arithmetic processing unit and control method of arithmetic processing unit
JPWO2020090025A1 (en) * 2018-10-31 2021-09-24 富士通株式会社 Arithmetic processing unit and control method of arithmetic processing unit
JP7006808B2 (en) 2018-10-31 2022-01-24 富士通株式会社 Arithmetic processing unit and control method of arithmetic processing unit

Similar Documents

Publication Publication Date Title
WO2017181342A1 (en) Non-linear function computing device and method
JP2018092294A (en) Computing device, computing method and computer program
JP2021517301A (en) Stochastic rounding logic
CN111598227B (en) Data processing methods, devices, electronic equipment and computer-readable storage media
AU2017330184A1 (en) Piecewise polynomial evaluation instruction
Pang et al. VHDL Modeling of Booth Radix-4 Floating Point Multiplier for VLSI Designer’s Library
US20170308357A1 (en) Logarithm and power (exponentiation) computations using modern computer architectures
JP2008071336A (en) Single data path floating point execution of RCP, SQRT, EXP and LOG functions and low latency RCP based on the same technology
KR100847934B1 (en) Floating-point operations using scaled integers
CN109976705B (en) Floating-point format data processing device, data processing equipment and data processing method
US9563402B2 (en) Method and apparatus for additive range reduction
JP6770777B2 (en) Systems and methods for calculating mathematical functions
JP2009276990A (en) Computing device, its calculation method, signal processing device, computing device control program, and recording medium in which program is recorded
CN102789376B (en) Floating-point number adder circuit and implementation method thereof
US20220137922A1 (en) Bit-width optimization method for performing floating point to fixed point conversion
US10416960B2 (en) Check procedure for floating point operations
CN115238236B (en) Data processing method, device, electronic equipment, medium and chip
KR20240095009A (en) Systems and methods for shift last multiplication and accumulation (mac) process
US11733970B2 (en) Arithmetic operation circuit
CN115686436A (en) Calculation method and device for fixed-point number division
KR20230076641A (en) Apparatus and method for floating-point operations
CN102253924B (en) Method for realizing root extraction arithmetic on hardware and root extraction arithmetic device
CN111324856B (en) Computer readable storage medium, computer implemented method and computer program product
KR102281047B1 (en) Calculating trigonometric functions using a four input dot product circuit
WO2021039164A1 (en) Information processing device, information processing system, and information processing method