JP3768613B2 - ログの近似値の計算回路 - Google Patents
ログの近似値の計算回路 Download PDFInfo
- Publication number
- JP3768613B2 JP3768613B2 JP23612696A JP23612696A JP3768613B2 JP 3768613 B2 JP3768613 B2 JP 3768613B2 JP 23612696 A JP23612696 A JP 23612696A JP 23612696 A JP23612696 A JP 23612696A JP 3768613 B2 JP3768613 B2 JP 3768613B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- log
- approximate
- error
- curve
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/556—Logarithmic or exponential functions
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
Description
【発明の属する技術分野】
本発明はログの近似値の計算回路に関し、特に近似値のエラー量を減少させることができるログの近似値の計算方法およびその回路に関する。
【0002】
【従来の技術】
オーディオ信号において人間の耳で感じられる信号の変化はその信号のログ値に比例して変化する。したがって、オーディオ信号の処理において能動的な効果音を作り出すためにはログ演算器が必要になる。しかし、その正確な演算のためのディジタル演算回路は大変複雑であり、その回路規模が大きくなって実際の回路の実現には困難が伴う。
【0003】
従って、実際のディジタル回路においては、ログ演算は近似式を使って簡略的に構成される。その方法は以下に示すとおりである。
【0004】
ログの底を2とし、ある数Nに対するログの演算結果をL(N)、近似式によって得られる値をLA(N)とする。ここで、底として2を選択したのはディジタル回路は2進数で処理することが基本で、近似値の計算においても大変便利だからである。
【0005】
図7は、L(N)の理論値による曲線と、L(N)の近似値による曲線LA(N)を示した図である。
【0006】
図7において、L(N)は2を底とするログ(以下、2進ログという)の曲線であるので、L(N)の値が整数となるN=1、2、4、8の点を連結した直線によりLA(N)を表わしている。
【0007】
下記の表1は整数N=8〜16についてログ値の近似値を10進数と2進数によって示したものである。
【0008】
【表1】
表1において、整数Nと近似値LA(N)の2進表現を比較して見ると、次のことがわかる。
【0009】
第一に、LA(N)の整数の部分はNの全体のビットにおいて一番左側にある“1”より右側にあるビットの個数と同じである。この個数を指数と呼ぶ。
【0010】
第二に、LA(N)の小数の部分はNの一番左側にある“1”より右にあるビット列から構成される。この値を仮数と呼ぶ。
【0011】
例えば、8ビットの2進数N=10110110に対する2進ログの近似値を求めて見ると、一番左側の“1”より右側にあるビットの個数は7であるので、2進指数の値は“111”であり、このビットを除外した残りのビットの値である“0110110”が近似値の仮数になる。
【0012】
すなわち、
N=10110110
LA(N)=111.011011
である。
【0013】
N>1の値に対して2進数の値は次のように表現できる。
【0014】
N=2k ×(1+x) ……(1)
ここで、kの値は一番左側にある“1”の次の桁から小数点まで(小数点より上)のビットの個数であり、xは一番左側にある“1”を除外した残りのビットから構成されるが、x<1であるので、一番左側にある“1”の代りに小数点を加える。例えばN=10110.101の場合、k=4、x=0.0110101となるので、N=24×(1+0.0110101)と表わすことができる。
【0015】
従って、N>1の整数に対してログ値L(N)は、次のように表わすことができる。
【0016】
L(N)=k+L(1+x) ……(2)
また、この式によるログの近似値LA(N)は、下記の式によって示すことができる。
【0017】
LA(N)=k+x ……(3)
2進数のNに対して近似ログ値LA(N)を求めるためのk及びxの計算は簡単なシフト機能とカウント機能によって実現することができる。
【0018】
一方、式(3)により求められるログの近似値のエラー値E(x)は、次のようになる。
【0019】
すなわち、エラー値E(x)はkとは独立であり、xにのみ依存する。
【0020】
図8は近似値のエラー値E(x)の曲線を示しているもので、エラー値E(x)はすべての領域において負(−)でない値をもっており、x=0.44においてEmax =0.086の最大エラーが発生し、x=0においてEmin =0の最小エラーが発生する。
【0021】
【発明が解決しようとする課題】
このような近似計算に基づいて構成される回路は、あまり複雑ではないので、近似計算により生じるエラーの量を減らして近似計算の精度を高める努力が講じられて来た。しかし、近似計算値を補正するアルゴリズムは複雑であり、結局、回路量が増加して実際の回路に適用するのが困難であるという問題点があった。
【0022】
本発明の目的は、近似値のエラー値を最小にすることができるログ近似値の計算方法及び計算回路を提供することにある。
【0023】
【課題を解決するための手段】
本発明に係るログの近似値の計算方法は、0以上1未満の入力データの二乗を求める段階と、前記入力データから前記入力データの二乗されたデータを減算する減算段階と、該減算段階の出力データを4で割る除算段階と、該除算段階の出力データと前記入力データを加算する加算段階とを備えたことを特徴とする。
【0024】
本発明に係るログの近似値の計算回路は、0以上1未満の入力データを二乗する二乗手段と、該二乗手段の出力データの反転されたデータと前記入力データとを加算する第1の加算手段と、この第1の加算手段の出力データの小数点以下のデータを右側へ2ビットシフトするシフト手段と、前記入力データと前記シフト手段の出力データとを加算する第2の加算手段とを備えたことを特徴とする。
【0025】
【発明の実施の形態】
以下、添附図面を参照して本発明によるログ近似値の計算方法およびその回路について説明する。
【0026】
本発明は、近似値計算から発生するエラー量を補正するために、ログの曲線と特性が類似した関数を使用する。
【0027】
図1は0≦x<1である数xに対する関数のグラフを示しているもので、曲線Aはy=x、曲線Bはy=x2、曲線Cはy=x−x2のグラフである。
【0028】
図1において、曲線Cは、曲線Aと曲線Bとの差を示している曲線であり、この曲線は図8に示されたエラー値E(x)の曲線と類似している。
【0029】
この曲線の大きさを実験式により適当な大きさに調整すると、図8のエラー曲線と殆ど同じ曲線を得られ、式(4)からもわかるように、この曲線と図8のxとを加算すると、元のログ値L(1+x)と類似している曲線を得ることができる。
【0030】
近似ログの演算式とエラー量を求める式は、次のとおりである。
【0031】
【数1】
式(6)によると、E1はx=0.2においてE1max=0.0097の値を有する。この値は図8のエラー曲線におけるエラー最大値Emax=0.086に比べて、8.9倍程度のエラー減少効果がある。
【0032】
図2はログ値L(1+x)と本発明によるログ近似値LA1(x)の曲線を示しているものであり、図3は本発明による補正後のエラー値E1(x)の曲線を示しているものである。
【0033】
図3において、エラーが最大になるところは、x=0.2、0.8である箇所であり、そのときのエラー量はそれぞれ0.0097と−0.0053の値を有する。
【0034】
式(5)を回路に適用するためには小数点以下の値xに対する乗算回路と除算回路および加算回路などが追加的に要求される。
【0035】
上記乗算回路と加算回路は既存の回路を使用し、直列の処理ブロックを使用すれば、極めて小さい面積で済む回路であるが、除算回路は、比較的多くの量の回路が必要となる。かかる点を考慮して近似曲線のエラー量を減少させながら、回路への適用が簡単にできるように修正した式が下記の式(7)である。
【0036】
【数2】
式(7)において、4で割り算する場合、実際の二進数の演算においては小数点以下の値を2ビット右側へシフトすることで、簡単に実現される。この場合、最大のエラーはx=0.33におけるエラー値E2max=0.026となり、エラーの補正をしないときより約3.3倍の正確度を有することになる。
【0037】
図4および図5は回路に容易に適用できるエラー補正をした近似ログ値の曲線と、実際の2進ログ値とエラー補正した近似ログ値との差を示すエラー曲線を示しているものである。
【0038】
図6は本発明によるログ近似値のエラー補正回路のブロック図である。本発明によるエラー補正回路は、乗算器10、加算器12、シフタ14、および加算器16から構成される。
【0039】
乗算器10は入力信号xどうしを乗算して信号x2を出力する。加算器12は乗算器10の出力信号x2の反転された信号(−x2)と入力信号xとを加算して信号(x−x2)を出力する。シフタ14は22シフタで、加算器12の出力信号(x−x2)の小数点以下の値を右側へ2ビットだけシフトして信号(x−x2)/4を出力する。加算器16は入力信号xとシフタ14の出力信号(x−x2)/4を加算して信号((x−x2)/4)+xを出力する。このようにして、式(7)示されているログ近似値を求めることができる。なお、式(5)に示しているログの近似値を求めるためにはシフタで構成しないで、3で割る演算を実行する除算器により構成する。
【0040】
なお、上記した乗算器10、加算器12、シフタ14、および加算器16等は、ハードウェア、ソフトウェア、又は両者の組み合わせのいずれで実装してもよい。
【0041】
表2は、0≦x<1に対する2進ログ値と近似ログ値、および式(5)による近似ログの補正値、式(7)による近似ログの補正値並びにそれらのエラー値を示しているものである。
【0042】
【表2】
表2から、本発明による補正した近似ログ値はLA1(x)の場合、平均99%以上、LA2(x)の場合は、平均98%以上の精度を有していることが分かる。
【0043】
【発明の効果】
以上詳細に説明したように、本発明によれば、簡単な回路の追加によってログの近似値のエラーを最小限にすることができる。
【図面の簡単な説明】
【図1】0≦x<1の範囲にある数xについての関数のグラフである。
【図2】ログ値L(1+x)と本発明によるログ近似値LA1(x)の曲線を示す図である。
【図3】本発明による補正後のエラー値E1(x)の曲線を示すグラフである。
【図4】回路に容易に適用できるエラー補正をした近似ログの曲線を示すグラフである。
【図5】実際の2進ログの値とエラー補正した近似ログ値との差であるエラー曲線を示すグラフである。
【図6】本発明の一実施形態によるログ近似値補正回路のブロック図である。
【図7】L(N)の理論値曲線と、L(N)の近似値曲線であるLA(N)を示すグラフである。
【図8】近似値のエラー値E(x)の曲線を示すグラフである。
【符号の説明】
10 乗算器
12 加算器
14 シフタ
16 加算器
Claims (2)
- 0以上1未満の入力データを二乗する二乗手段と、
該二乗手段の出力データの反転されたデータと前記入力データとを加算する第1の加算手段と、
該第1の加算手段の出力データの小数点以下のデータを右側へ2ビットシフトするシフト手段と、
前記入力データと前記シフト手段の出力データとを加算する第2の加算手段とを具備することを特徴とするログの近似値の計算回路。 - 0以上1未満の入力データを二乗する二乗手段と、
該二乗手段の出力データの反転されたデータと前記入力データとを加算する第1の加算手段と、
該第1の加算手段の出力データを3で割る乗算手段と、
前記入力データと前記乗算手段の出力データとを加算する第2の加算手段とを具備することを特徴とするログの近似値の計算回路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950035263A KR0174498B1 (ko) | 1995-10-13 | 1995-10-13 | 로그의 근사값 계산방법 및 회로 |
KR1995-35263 | 1995-10-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09138792A JPH09138792A (ja) | 1997-05-27 |
JP3768613B2 true JP3768613B2 (ja) | 2006-04-19 |
Family
ID=19430074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23612696A Expired - Fee Related JP3768613B2 (ja) | 1995-10-13 | 1996-09-06 | ログの近似値の計算回路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5801974A (ja) |
JP (1) | JP3768613B2 (ja) |
KR (1) | KR0174498B1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423023A (zh) * | 2017-08-10 | 2017-12-01 | 南京航空航天大学 | 一种16×16‑digit冗余十进制乘法器 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6289367B1 (en) * | 1998-11-16 | 2001-09-11 | Texas Instruments Incorporated | Digital signal processing circuits, systems, and method implementing approximations for logarithm and inverse logarithm |
DE60006108T2 (de) * | 2000-08-04 | 2004-05-19 | Motorola, Inc., Schaumburg | Lineare Approximation des LOG-MAP Algorithmus für Turbodekodierung |
KR100424073B1 (ko) | 2001-05-22 | 2004-03-22 | 한국과학기술연구원 | 관능기를 함유한 플로렌계 화합물, 그 중합체 및 이들을이용한 el 소자 |
US20030101206A1 (en) * | 2001-07-31 | 2003-05-29 | Graziano Michael J. | Method and system for estimating a base-2 logarithm of a number |
US7266576B2 (en) * | 2002-12-24 | 2007-09-04 | Lockheed Martin Corporation | Circuits and methods for implementing approximations to logarithms |
DE102014200465A1 (de) * | 2014-01-14 | 2015-07-16 | Robert Bosch Gmbh | Vorrichtung und Verfahren zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5365465A (en) * | 1991-12-26 | 1994-11-15 | Texas Instruments Incorporated | Floating point to logarithm converter |
US5642305A (en) * | 1995-01-31 | 1997-06-24 | Motorola, Inc. | Logarithm/inverse-logarithm converter and method of using same |
US5604691A (en) * | 1995-01-31 | 1997-02-18 | Motorola, Inc. | Logarithm/inverse-logarithm converter utilizing a truncated Taylor series and method of use thereof |
US5600581A (en) * | 1995-02-22 | 1997-02-04 | Motorola, Inc. | Logarithm/inverse-logarithm converter utilizing linear interpolation and method of using same |
US5629884A (en) * | 1995-07-28 | 1997-05-13 | Motorola, Inc. | Log converter utilizing offset and method of use thereof |
-
1995
- 1995-10-13 KR KR1019950035263A patent/KR0174498B1/ko not_active IP Right Cessation
-
1996
- 1996-09-06 JP JP23612696A patent/JP3768613B2/ja not_active Expired - Fee Related
- 1996-10-10 US US08/731,208 patent/US5801974A/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423023A (zh) * | 2017-08-10 | 2017-12-01 | 南京航空航天大学 | 一种16×16‑digit冗余十进制乘法器 |
CN107423023B (zh) * | 2017-08-10 | 2020-12-11 | 南京航空航天大学 | 一种16×16-digit冗余十进制乘法器 |
Also Published As
Publication number | Publication date |
---|---|
US5801974A (en) | 1998-09-01 |
KR970022805A (ko) | 1997-05-30 |
JPH09138792A (ja) | 1997-05-27 |
KR0174498B1 (ko) | 1999-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002531889A (ja) | ディジタル値プロセッサ | |
JP2861687B2 (ja) | 対数演算回路 | |
US6175851B1 (en) | Fast adder/subtractor for signed floating point numbers | |
JP3768613B2 (ja) | ログの近似値の計算回路 | |
US7400688B2 (en) | Path metric normalization | |
US8626807B2 (en) | Reuse of rounder for fixed conversion of log instructions | |
JPH09325955A (ja) | 二乗和の平方根演算回路 | |
JP4219926B2 (ja) | 電子回路中で乗算演算または除算演算を行う方法およびその装置 | |
JP4279626B2 (ja) | 剰余系演算システム、スケーリング演算器、スケーリング演算方法、及びそのプログラムと記録媒体 | |
JPH0833809B2 (ja) | 浮動小数点表示データの演算方法 | |
JP2645422B2 (ja) | 浮動小数点演算処理装置 | |
WO2019174263A1 (zh) | 用于随机计算的多加数加法电路 | |
JPH086766A (ja) | 正弦余弦演算装置 | |
JP3910707B2 (ja) | ディジタル信号処理回路 | |
JP4196434B2 (ja) | データ丸め方法およびデータ丸め装置 | |
JP4073513B2 (ja) | 浮動小数点処理装置 | |
JP2569976B2 (ja) | ディジタルフィルタ | |
JP2000010763A (ja) | 除算回路 | |
JPH04281524A (ja) | 浮動小数点演算処理装置 | |
JP2901463B2 (ja) | 加算装置 | |
JPH05508721A (ja) | 三角関数を計算するための装置および方法 | |
JP2753922B2 (ja) | 固定小数点除算方法 | |
JP2697591B2 (ja) | 算術演算回路 | |
JP3803653B2 (ja) | 乗算処理装置 | |
JPH0836483A (ja) | 除算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050614 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050628 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050920 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060202 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110210 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |