JPS6013490B2 - Logarithmic conversion device - Google Patents

Logarithmic conversion device

Info

Publication number
JPS6013490B2
JPS6013490B2 JP14572879A JP14572879A JPS6013490B2 JP S6013490 B2 JPS6013490 B2 JP S6013490B2 JP 14572879 A JP14572879 A JP 14572879A JP 14572879 A JP14572879 A JP 14572879A JP S6013490 B2 JPS6013490 B2 JP S6013490B2
Authority
JP
Japan
Prior art keywords
data
value
subtraction
digit
command
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
Application number
JP14572879A
Other languages
Japanese (ja)
Other versions
JPS5668834A (en
Inventor
武 阿部
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.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP14572879A priority Critical patent/JPS6013490B2/en
Publication of JPS5668834A publication Critical patent/JPS5668834A/en
Publication of JPS6013490B2 publication Critical patent/JPS6013490B2/en
Expired legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

本発明は、ディジタル変数データを入力とし、予め設定
された値を底とする対数値にディジタル的に変換してデ
ィジタルデータとして出力する対数変換装置に関するも
のである。 タ 従来この種の対数変換装置としては、電気回路を用
いてアナログ変数値を入力し、これをアナログ的に対数
変換して結果もアナログ的に得るいわゆるアナログ対数
変換方式が採用されるのが一般的である。 ところが、アナログデータの性格上その変換精度を常に
利用者の意図する精度で実現することは不可能である。
このため、そのような場合、すなわち、より高精度の対
数変換値を望む場合には、全くの手作業により、別途に
用意された数表示索引等によって対数値を求めるもので
あるが、このような場合においても、与えられた入力変
数が常に数表上に記載してあることは稀であってその数
表を利用してある種の近似計算、例えば、一次補間法に
よって目的の変換値を求めるのが普通であった。本発明
は、このような事情に鑑みてなされたもので、アナログ
方式では不可能であったところの高精度の変換を可能に
するためにディジタル対数変換方式を採用するとともに
、基本的には前述の数表索引の手法を採用し、しかもこ
れを数学上の対数法則を利用した合理的な近似計算(但
し前述の補間計算とは全く異なる)を活用することによ
って、変数に必要な数表を著しく小量化できるようにし
た構成簡単で且つ高精度な対数変換装置を提供すること
を目的としている。 そこで、本発明の実施例を説明する前に、その基礎とな
る数学的原理について説明する。 まず、第1の基本原理について説明する。 入力される値を独立変数×(×は整数・実数のいずれで
も良いが、対数の定義から×>0でなければならない)
、任意の正定数aを底とする対数値を従属変数Yであら
わすものとすれば、変数Xを与えて対数値Yを求めるこ
とは、次のように定式化される。 Y=lo鱗X ・・・・・・
The present invention relates to a logarithmic conversion device that receives digital variable data as input, digitally converts it into a logarithmic value with a preset value as the base, and outputs the converted data as digital data. Conventionally, this type of logarithmic conversion device generally uses the so-called analog-logarithmic conversion method, in which an analog variable value is input using an electric circuit, and the value is logarithmically converted in an analog manner, and the result is also obtained in an analog manner. It is true. However, due to the nature of analog data, it is impossible to always achieve the conversion accuracy desired by the user.
Therefore, in such cases, that is, when a logarithmically converted value with higher precision is desired, the logarithm value must be obtained completely manually using a number display index prepared separately. Even in such cases, it is rare that a given input variable is always listed on a numerical table, and the desired converted value can be calculated by some kind of approximate calculation using the numerical table, such as linear interpolation. It was common to ask. The present invention has been made in view of these circumstances, and employs a digital logarithmic conversion method in order to enable high-precision conversion, which was impossible with analog methods. By adopting the number table indexing method of 2008 and using this method with a rational approximation calculation using the mathematical law of logarithms (however, it is completely different from the interpolation calculation described above), it is possible to create the necessary number table for variables. It is an object of the present invention to provide a logarithmic conversion device with a simple configuration and high precision, which can be significantly reduced in size. Therefore, before describing embodiments of the present invention, the underlying mathematical principles will be explained. First, the first basic principle will be explained. The input value is the independent variable × (× can be an integer or a real number, but from the definition of logarithm, × > 0)
, if the dependent variable Y is a logarithmic value with an arbitrary positive constant a as the base, then obtaining the logarithmic value Y by giving the variable X can be formulated as follows. Y=lo scales X...

【1}この、m式のままで良いが、定数Kを用いて‘1
1式をより一般化すればY=K.lo鞍X
・・…・■となる。 以下ではこの【2}式に従って説明する。X、Yはディ
ジタル変数であり、ここでは、2※※進法であらわされ
る2進数であるものとする。〔原理的には、何進法であ
らわされていても良いのであるが、一般的なディジタル
手法では、1(真)と0(偽)のみを桁表示要素とする
2進数が使われる例が多いので、この仮定を置いたにす
ぎない。〕さらに、第1図に示す如く、入力変数Xは有
限桁1桁で記述され、且つ、その中の上位m桁が整数部
であるものとする。すなわちm=1の場合は入力変数X
は整数ということになる。0(このような仮定をするこ
とは、適用範囲を著しく制限するものと誤解されがちで
あるが、実用上は何ら適用範囲に制限を与えるものでは
ない。 )このような仮定に立って、次式で定義される定数Mを
導入する。タ M=2m
……‘3’この定数Mを用いて、■式の×をMで割り
、その後Mを乗じてもYの値は変らない。 即ち、【2)式は次のように変形することができる。O
YニK.ー。 袋(X/M)+K.logaM .・・.・・【4)■
式において、×/Mを新たな変数X′に置換する(即ち
X′=×/Mとする)とMの定義並びに2進数の公式に
よりX′<1であって、しかもタズは×の各桁の内容を
変えることなしに単に小数点位置のみを最左端に移した
ものであることが次のようにして容易に証明できる。(
i) ×′=×/M=×/2m=×・2‐m /.小数点を左にm桁移すことに相等しい。 (ii)(X′上限値)=(Xの上限値)/M であり、且つ(Xの上限値)とは、明らかにXを構成す
る1桁の全てが1の場合であって、その値は(21−1
)/2(1‐m)に等しい。 それ故、(X′の上限値)=〔(2」1)/2(1叩)
〕ノ2mi(2L1)/21=1−よく・よって、X′
<1が成り立つ。 従って、‘4}式の意は、与えられた入力変数Xの各桁
の内容を全く変更せずに、第2図に示す如く、単に小数
点(正しくは仮想小数点)の位置が最左端にあるとみな
して対数に変換し、その結果にK・lo鰍Mを加算する
ことで、元の×をそのまま対数に変換した値に等しくし
得るということであり、これは、本発明における基本原
理の一つとなるものである。 本発明では、より効率よく処理を行なわせる為に、さら
にもう一つの基本原理を応用しているので、次にその第
2の基本原理について説明する。 第3図aに示す如く、入力変数X(前述の説明の如くX
′であっても同様である)の上位n桁がもし全て0であ
るなら、それらの0の部分は全て消去した方が、変換精
度を入力変数の値によらず**一定に保つ為にも又必要
な数表の量(従って、記憶素子の数)を少なくする為に
も効果的である。その為には、第3図bに示すように、
×(又はX′)を左にn桁シフトすれば良く、この操作
は元の値を2n倍することに相等しいから、X′に関し
てこの操作を行なうものとすると、上記{4)式は、Y
ニK・lo鞍(X′・2n・2‐n)十K・logaM
=K.lo餌(X′.2n)‐n.K・lo蟹2十K・
1唯aM ……【5
}のように変形される。 ‘5}式において、第1項目のX′・2nの最上位桁は
前述の説明によれば必らず1となるものであってしかも
X′・2n<1の関係はやはり成立する。ところで、X
′・2nの操作は例えば、シフトレジスタ等においてな
されるものであって、しかもnの値は入力変数が異なれ
ば当然異なる値となることは明らかであるから、nの値
は前記シフトレジスタ上で自動的に求め得るものでなけ
ればならない。 このため、本発明に用いるシフトレジスタ等は桁上げ検
出機能を臭備しており、第4図に示す如く1桁のデータ
を1桁左(即ち下位から上位に)シフトすれば、シフト
する前の最上位桁の内容は本来消失してしまうものであ
るが、この情報を桁上げデータCとしてシフトレジスタ
等の外部に出力するようなものとする。 この機能はキャIJ‐検出機能と呼ばれるものでディジ
タルシフト技術では公知のものである。(それ故、以下
の説明ではこの「桁上げ情報」を単に「キャリ−」と呼
称するものとする。)なお、シフトレジスタ等において
上述の様に左シフトを行なう場合に、最下位桁にいかな
る値を代入するかということも重要な機能であるが、本
発明において使用されるところの※シフトレジスタ等で
は、単に0を挿入するだけの機能を持てば充分である。
(従って、以下の説明におけるシフト動作は全てこの意
味で記載されている。)さて、X′・2nの演算を例え
ばシっトレジスタ上で行ない、しかもnの値を定めるの
に上記キャリー検出機能を用いて行なうものとすると、
■式のままでは不都合を生じることが分る。 何故なら、キャリー検出機能は最上位桁の桁上げをチェ
ックするものであるのに、上述の説明によるところのn
桁シフトでは、キャリーCの値は常に0となるからであ
る。そこで、n桁ではなくさらにもう1桁追加し(n+
1)桁シフトされた場合を考えると、nの定義より明ら
かなようにその場合のキャリーCの値は1となっている
。即ち、演算の手順として前記シフトレジスタにおいて
1桁ずつの左シフトを行ない、毎回キャリーの値をチェ
ックし、その値が1となるまでそのシフト動作を反復せ
しめるものとすると、シフトレジスタにおける最終結果
はX′・2n+1に等しくなっているはずである。この
場合、‘5}式をそのまま利用するよりも、Mの定義を
M=2m‐1と改めY=K・lo鱗(X′・2MI)一
n・K・loga2十K・lo餌M
・・・・・・‘6)と変形した式を利用
する方が効果的である。 次に、K・lo鞍(X′・2川1)の求め方について説
明する。X′・2n+1は、(X′・2n)・2と変形
することが可能であり、これまでの説明によれば、(X
′・2n)は第3図bに示すようなものであって、X′
・2nく1であり且つ最上位桁の値は必らず1となるも
のであった。 それ故、(X′・2n)に関してもう1桁余分にシフト
して得られる(X′・2n)・2に関しては、IS(×
′・2n)・2く2 ……{7}なる不等式
が常に成立することも容易に検証できる。 今、(X′・2n)・2の演算結果においてキャリーC
を除く上位k桁の値を抽出してそれを整数値とみたてて
Sと置けば、0≦S≦(2k一1)を満足するからこの
Sを2kで割った値をQとすると(即ちQ=S/2kと
すると)、Sの定義から明らかにOSQ<1であり、従
って次式も満足する。 1≦(1十Q)<2 ……■(7}式と
■式を比較すれば、不等式の関係はまったく同等である
から、もし、iを越えない範囲でkを充分に大きくとれ
ば、近似式(X′・2n)・2≠1十。 二1十S/2k……■*によって、(X′・2n)・2
の代りに前記(1十Q)を充てても良いであろう。この
【9’式において、kの値を大きくすればするほど、1
十Qの値は(X′・2n)・2にくらでも近づくのであ
って、それ故kの値は本発明装置の変換精度を左右する
重要な因子であることがわかる。kの値はもちろん、装
置を設計する時にはある定数として与えれば良いのであ
るが「その際には入力変数の実質的な有効桁に合致させ
るのが最も望ましいやり方である。さて{9)式を用い
れば■式は次のように変形し得る。 Y±K,lo鱗(1十Q)一n。K・loga2十K・
lo髪M ・・・
・・・(1■ここで第5図に示すように、全部で(2k
−1)個の要素を有する数表を用意し、それぞれの要素
を記憶回路における1単位の記憶素子で充てるものとし
、それぞれの要素には先頭から順番に0、1、2、3、
・・…・S…・・・(2k一1)までの番号を付し、こ
うして番号付けられた要素には、K・loga(1十S
/2k)の値を定数として予め格納しておくものとする
。このようにすれば、前述の説明に基づきX′・2n十
1の演算結果より、キャリーCを除く上位k桁を抽出し
てその値を整数値とみなして番号Sとすることにより、
第5図のように配列せしめた数表において、その番号S
に対応する値を索引すれば、それは確かに■式における
第1項の値を与えるものである。なお、■式の第2項即
ち一n・K・loga2の部分に関して補足すると、こ
の部分の意味は要するに、定数K・loga2の値をn
回減算すると云うことであって、しかもnの値は上述の
説明によれば、シフトレジスタにおけるキャリー検出機
能によって決定されるものであるから、定数K・lo鞍
2の減算はシフトレジスタにおける1桁シフト動作と同
期させて実行させる必要があり、本発明における減算手
段では、制御系からの同期信号(それはシフトレジスタ
に対する起動信号と同時に又は短時間の遅延が施されて
出力される)によって、1回分の演算を実行するように
なされる。 これが本発明の基礎となる数学的な原理であり、これを
要約すると、次のようになる。入力変数Xを対数に変換
して変換値Yを求めるには、‘1の式を用いて、(i)
Yの初期値として予め記憶回路に保持されている定数K
・lo鉾Mの値をセットし、(li〕 次に×の値を1
桁左にシフトせしめ、同時にYの値から、これも同じく
予め記憶回路に保持されている定数K・lo難2の値を
1回減じせしめ、側 (ii)のシフトの結果として出
力されるところのキャリー情報Cの値を検査し、これが
もしも0であれば(il)項の処理を反復せしめ、以後
キャリーCが1となるまでこの演算を繰返し『の キャ
リ−Cが1となった時点で、シフトの最終結果として残
存する値より、上位k桁の値を抽出してこれを番号値と
みなして第5図のように予じめ記憶されたK・loga
(1十S/2k)の数表よりその番号に対応する要素を
索引し、M Gのの結果と(il)項における減算操作
の最終結果として残った値とを加算させれば、その結果
は、確かに入力変数値Xの対数変換値を与えるものであ
る。 このような原理に基づく本発明の特徴とするところは、
有限桁のディジタルN進数データを一時的に保持し且つ
この保持データを指令により1桁ずつ下位から上位に桁
移動するとともに桁移動前の最上位桁の値が0でない場
合は桁移動時に桁上げ情報を出力するデータ保持手段と
、K・logaMおよびK・lo鱗N(但し、Kは定数
、aは正の定数、Mは入力変数データの整数部の桁数を
mとしたときM=Nm−1で定義される定数である。 )なるディジタルデータをそれぞれ予じめ保持しておく
ための第1および第2の記憶手段と、前記第1の記憶手
段の記憶データを初期値としこのデータから前記第2の
記憶手段の記憶データを指令により1回ずつ繰り返し減
算する減算手段と、所要の変換精度を得るために充分な
有限個数のK・1。 鱗(・十暑)(但し、銀k桁の数値である。〉の値を示
す有限桁のディジタルデータを予じめ保持し且つこれら
記憶データ中の特定データを数値Sまたはこれに対応す
る符号を指定することにより選択的に読み出すことの可
能な第3の記憶手段Zと、この第3の記憶手段で選択さ
れたデータと前記減算手段における演算の結果としての
データとを指令により加算する加算手段と、入力ディジ
タル変数データを前記データ保持手段に入力せしめ、次
に前記データ保持手段および前記減算手段Zにそれぞれ
桁移動指令および減算指令を与え、前記桁移動の結果前
記データ保持手段から桁上げ情報が出力されなければ同
様に桁移動および減算指令を与える動作を繰り返し、前
記桁上げ情報が出力されたときにはその結果として前記
デ−タ保持2手段に保持されているデータまたはそれに
対応する符号を選択指定情報として前記第3の記憶手段
に与え、この第3の記憶手段において前記選択指定情報
に対応する特定の記憶データを選択せしめ、さらに前記
加算手段に加算指令を与え、この加算結果を入力×に対
するY=K・lo鞍Xなる対象変換値として出力させる
一連の動作を制御する制御手段とを具備することにある
。以下、図面を参照して本発明の実施例を説明する。 第6図は本発明の一実施例の構成を示すものであり、最
初にその構成要素について詳しく説明する。 第6図において、1はシフト機能並びにキャリー検出機
能を有するデータ保持手段としてのシフトレジスタ、2
は定数K・logaMを予じめ記憶させておくための第
1の記憶手段としての第1のメモリ、3は定数K・lo
鱗2を予じめ記憶させておくための第2の記憶手段とし
ての第2のメモリ、4は減算した結果からさらに減算す
ることすなわち繰り返し減の可能な減算手段としての減
算レジスタ、5は第5図に示したように定数K・・0鉾
(・十鼻)の値を番号Sに対応させて予じめ記憶させて
おくための第3の記憶手段としての第3のメモリ、6は
データを加算するための加算手段としての加算回路であ
り、GI〜G6はゲート回路である。 また、7はシフトレジスタ1、減算レジスタ4、加算回
路6およびゲート回路GI〜G6等の動作を制御してシ
ステム全体の動作をつかさどる制御回路である。そして
、入力変数×は有限桁のディジタル変数データとして与
えられるが、その通路となるデータバス○1,D2は所
要の桁数データを転送するに充分な線路(上述の説明に
おける仮定によれば】本)を備えたものであり、又出力
値Yも同様に有限桁から構成されるディジタル変数であ
って、その為にデータの通路となるデータバス03,D
4,D5もその桁数に対応する本数の線路が確保されて
いる。(もっとも、ここでは、出力値Yの桁数は特に明
示していないが、この値は本装置の用いられる用途に応
じて適宜定めれば良いものであり、かかる理由からこの
点については特に触れていないのである。)0さらに、
第1のメモリ2には上述した定数K・lo鱗Mの値を予
め記憶させてあり、又第2のメモリ3には定数K・lo
雛の値を予め記憶させてある。又、任意の番号を指定す
ることによって、その番号に対応する配列要素を謙出す
ことのできるタ第3のメモリ5には、{9}式および■
式に基づいて番号Sに対応させて、一意的に決定される
定数K・loga(1十/2k)の値を予め記憶させて
ある。本装置は各構成要素が前述の条件を満足するよう
な状態に設置された上で、正しい動作を行な0せること
が可能となるのである。次に、上述の構成における動作
について説明する。 最初に制御回路7から信号SIが出力され、ゲート回路
GIが開いて入力変数データがシフトレタジスタ1に初
期値としてセットされる。 次に、制御回路7からの信号S2によって、ゲート回路
G2が開き、第1のメモリ2に保持されている定数が減
算レジスタ4に初期値としてセットされる。続いて、制
御回路7からは信号S3,S4が出力0され、まず信号
S3によってシフトレジスタ1上で1桁分の左シフトが
行なわれる。さらに信号S4に同期して、減算レジスタ
4において元の値から第2のメモリ3に保持れている定
数値が減算される。一方、シフトレジスタ1からは1桁
左シフトの結果として桁上げ情報信号S5が出力される
。信号S5が、制御回路7に入力されると、制御回路7
では信号S5の値を検査し、もしその値が0である時に
は、制御回路7から再度信号S3,S4が出力され、信
号S3によって、シフトレジスターにおいて1桁分の左
シフトが行なわれ「信号S4によって、減算レジスタ4
において前回の減算の結果保持されている元の値から第
2のメモリ3に保持されている定数値を1回減算し、そ
の後シフトレジス夕1からの桁上げ情報S5が制御回路
7に再度入力される。制御回路7では、再び信号S5の
値を検査し、その値が0である場合には前述と同様の動
作を繰り返し、こうしてこの動作は信号S5の値が1に
なるまで反復される。信号S5の値が1になった時点で
前述のシフト動作と減算動作は中止されるが、しかしそ
の結果は一定時間保持されるようになっている。続いて
制御回路7からは信号S6が出力されゲート回路G3が
開いて、シフトレジスターの結果が第3のメモリ5に入
力される。第3のメモリ52では、入された値に関て、
予め定められている桁数分の値のみを抽出して、特定の
番号とみなし、それに対応する予め保持された数表値を
読み出してその値をデータバスD3に出力すると共に、
その読み出しの完了した時点で信号S7が出力され2る
。信号S7が制御回路7に入力されると、制御回路7か
らは続けて信号S8,G9が出力される。 このため、一方では信号S8によってゲート回路G4が
開いてデ−タバスD3上のデータが加算回3路6に入力
され、他方は信号S9によりゲ−ト回路G5が開き、減
算レジスタ4に保持されている演算結果が加算回路6に
入力工れる。加算回路6ではこれら二つの入力データ(
この場合はデータバスD3と○4上のデータ)を加算し
、その結果3をデータバスD5に出力すると共に、加算
完了信号SIOを出力する。制御回路7に信号10が入
力された後、制御回路7から信号SIIが出力され、そ
の結果ゲート回路G6が開いて本装置における変換結果
Yを外40部に出力する。 この出力値Yは入力変数Xの対数変換値となっている。
上述によるところの第6図の構成は、本発明の一実施例
にすぎないのであって、本発明の主旨を変えない範囲で
なされる他の実施例も、当然本発明に含まれる。 すなわち、上述においては2進数の場合の実施例につい
てのみ説明したが、先に述べた説明中に夕も触れたよう
に、本発明の主旨を変えずに一般的なN進数に適用し得
るものであり、その場合には上述における1桁の意味を
N進法の意味での1桁に読み変え、さらに‘10式にお
いて、第2項の定数値をK・lo鱗2からK・loga
N‘こ変更し、さらにMOの定義もNmと修正し、なお
第3のメモリ5に予め記憶せしめる数表値をK・lo雛
(1十S/Nk)と修正すれば良い。 また、第6図に示すところのシフトレジスタ1、減算レ
ジスタ4、加算回路6は上記実施例に夕おいては全く異
なる回路として説明されているが、この3種の回路は、
いわゆるアキュムレータとして公知の演算レジスタ回路
の変形されたものであるから、例えばこれらすべてある
いは減算レジスタ4と加算回路6などに同一の回路を使
用す0ること又はこれを一体化すること等も可能である
。 同様の主旨から、メモリ2,3,5も必ずしも個別のメ
モリを使用せずとも良く、例えば第3のメモリ5を拡張
してこれに前記第1、第2のメモリ2,3を記憶内容を
まとめて記憶させておく夕ことも可能である。その場合
においても、各定数値は上述において説明したのと実質
的に同様の手続きで参照されねばならないことは当然で
ある。但し第6図に示した実施例以外のこれらの実施例
では、当然のことながら制御回路7の動作内容は変化す
るものとする。以上詳述したように、本発明によれば、
ディジタル対数変換方式を採用するとともに、基本的に
は数表索引手法を採用し、しかもこれを数学上の対数法
則を利用した近似計算を活用することによって、変換に
要する数表を著しく小量化できるようにした、構成簡単
で且つ高精度な対数変換装置を提供することができる。
[1} This m formula can be used as is, but using the constant K, '1
If Equation 1 is generalized, Y=K. lo saddle x
......■. The following will explain according to this formula [2}. X and Y are digital variables, and here they are assumed to be binary numbers expressed in the 2* base system. [In principle, it can be expressed in any number system, but in general digital methods, binary numbers are often used, with only 1 (true) and 0 (false) as digit display elements. , I just made this assumption. ] Furthermore, as shown in FIG. 1, it is assumed that the input variable X is described using one finite digit, and the upper m digits thereof are the integer part. In other words, if m=1, the input variable
is an integer. 0 (Making such an assumption is often misunderstood as severely limiting the scope of applicability, but in practice it does not limit the scope of applicability at all.) Based on this assumption, the following Introducing a constant M defined by Eq. Ta M=2m
...'3' Using this constant M, divide x in formula (2) by M, and then multiply by M, the value of Y will not change. That is, equation (2) can be transformed as follows. O
YniK. -. Bag (X/M) + K. logaM.・・・.・・【4)■
In the formula, if we replace ×/M with a new variable X' (that is, set X' = It can be easily proven as follows that the decimal point is simply moved to the leftmost position without changing the contents of the digits. (
i) ×′=×/M=×/2m=×・2-m/. Equivalent to moving the decimal point m places to the left. (ii) (X' upper limit) = (upper limit of X)/M, and (upper limit of The value is (21-1
)/2(1-m). Therefore, (upper limit of X') = [(2'1)/2 (1 hit)
]ノ2mi(2L1)/21=1-well, therefore, X'
<1 holds true. Therefore, the meaning of the '4} expression is simply to position the decimal point (correctly, the virtual decimal point) at the leftmost position, as shown in Figure 2, without changing the contents of each digit of the input variable X at all. By converting it into a logarithm and adding K to the result, it is possible to make the original x equal to the value converted into a logarithm. This is based on the basic principle of the present invention. It is something that becomes one. In the present invention, another basic principle is applied in order to perform processing more efficiently, so next, the second basic principle will be explained. As shown in Figure 3a, the input variable
''), if the upper n digits of It is also effective to reduce the amount of necessary numerical tables (and therefore the number of memory elements). To do this, as shown in Figure 3b,
All you have to do is shift × (or Y
NiK・lo saddle (X′・2n・2-n) 10K・logaM
=K. lo bait (X′.2n)-n. K・lo crab 20K・
1 Yui aM...[5
} is transformed like this. In formula '5}, the most significant digit of the first item, X'·2n, is necessarily 1 according to the above explanation, and the relationship of X'·2n<1 still holds true. By the way, X
'・2n is performed, for example, in a shift register, and it is clear that the value of n will naturally be a different value if the input variable is different, so the value of n is It must be something that can be automatically determined. For this reason, the shift register used in the present invention is equipped with a carry detection function, and as shown in FIG. Although the content of the most significant digit would normally be lost, it is assumed that this information is output as carry data C to an external device such as a shift register. This function is called a carry IJ-detection function and is well known in digital shift technology. (Therefore, in the following explanation, this "carry information" will be simply referred to as "carry.") Note that when performing a left shift as described above in a shift register, etc., there is no difference in the least significant digit. Although the function of assigning a value is also an important function, it is sufficient for the shift register and the like used in the present invention to have the function of simply inserting 0.
(Therefore, all shift operations in the following explanation are described in this sense.) Now, for example, if the calculation of If it is carried out using
■It can be seen that if the formula is left as is, it will cause inconvenience. This is because the carry detection function checks the carry of the most significant digit, but according to the above explanation, n
This is because in a digit shift, the value of carry C is always 0. Therefore, instead of adding n digits, we added one more digit (n+
1) Considering the case of digit shifting, the value of carry C in that case is 1, as is clear from the definition of n. That is, if the calculation procedure is to shift the shift register to the left one digit at a time, check the carry value each time, and repeat the shift operation until the value becomes 1, the final result in the shift register is It should be equal to X'·2n+1. In this case, rather than using formula '5} as is, the definition of M is changed to M = 2m-1 and Y = K lo scale (X' 2MI) - n K loga20K lo bait M
It is more effective to use a modified formula as shown in '6). Next, how to obtain K.lo saddle (X'.2 rivers 1) will be explained. X'・2n+1 can be transformed into (X'・2n)・2, and according to the explanation so far, (X
'・2n) is as shown in Figure 3b, and X'
- 2n times 1, and the value of the most significant digit was always 1. Therefore, regarding (X'・2n)・2 obtained by shifting one more digit with respect to (X′・2n), IS(×
'・2n)・2ku2 . . . It can be easily verified that the inequality {7} always holds true. Now, in the operation result of (X'・2n)・2, carry C
If we extract the value of the top k digits excluding , treat it as an integer value, and set it as S, it satisfies 0≦S≦(2k-1), so if we divide this S by 2k and let Q be ( That is, if Q=S/2k), it is clear from the definition of S that OSQ<1, and therefore the following equation is also satisfied. 1≦(10Q)<2 ... Comparing the formula ■(7) and the formula ■, the relationships of the inequalities are exactly the same, so if k is set large enough without exceeding i, Approximate formula (X'・2n)・2≠10.210S/2k……■*, (X′・2n)・2
The above (10Q) may be used instead. In this formula [9', the larger the value of k, the more 1
The value of 10Q approaches (X'.2n).2, so it can be seen that the value of k is an important factor that influences the conversion accuracy of the apparatus of the present invention. Of course, the value of k can be given as a constant when designing the device, but in that case, the most desirable way is to make it match the actual significant digits of the input variable. If used, the formula ■ can be transformed as follows: Y±K, lo scales (10Q)1n.K・loga20K・
Lo hair M...
...(1■Here, as shown in Figure 5, in total (2k
-1) Prepare a numerical table having elements, and each element shall be filled with one unit of memory element in the memory circuit, and each element shall be filled with 0, 1, 2, 3,
......S... (2k - 1), and the elements numbered in this way are numbered K loga (10S
/2k) is stored in advance as a constant. In this way, based on the above explanation, by extracting the upper k digits excluding carry C from the calculation result of
In the number table arranged as shown in Figure 5, the number S
If we index the value corresponding to , it will certainly give the value of the first term in equation (2). In addition, to supplement the second term of formula (1), that is, the part of 1n K loga2, the meaning of this part is that the value of the constant K loga2 is
According to the above explanation, the value of n is determined by the carry detection function in the shift register, so the subtraction of the constant K・lo saddle 2 is performed by one digit in the shift register. It is necessary to execute the shift operation in synchronization with the shift operation, and the subtraction means in the present invention uses a synchronization signal from the control system (which is output at the same time as the activation signal for the shift register or after a short delay). It is configured to perform calculations in batches. This is the mathematical principle underlying the present invention, which can be summarized as follows. To convert the input variable X into a logarithm and obtain the converted value Y, use the formula '1, (i)
Constant K stored in advance in the memory circuit as the initial value of Y
・Set the value of lohoko M, (li) Next, set the value of × to 1
The digit is shifted to the left, and at the same time, from the value of Y, the value of the constant K, which is also stored in the memory circuit in advance, is subtracted once, and the result of the shift on the side (ii) is output. Check the value of the carry information C of , and if it is 0, repeat the processing of the (il) term, and repeat this operation until the carry C becomes 1. , from the value remaining as the final result of the shift, extract the value of the upper k digits, consider this as a number value, and store the K loga in advance as shown in Figure 5.
If we index the element corresponding to that number from the numerical table of (10S/2k) and add the result of MG and the value remaining as the final result of the subtraction operation in term (il), we get the result indeed gives the logarithmically transformed value of the input variable value X. The features of the present invention based on this principle are as follows:
Temporarily holds digital N-ary data of finite digits, and moves this held data one by one from the lower to the upper digit by command, and if the value of the most significant digit before the digit movement is not 0, it is carried up when the digit is moved. A data holding means for outputting information, K・logaM and K・lo scales N (where, K is a constant, a is a positive constant, and M is the number of digits of the integer part of the input variable data, and M=Nm. -1 is a constant defined as ). First and second storage means for holding in advance digital data respectively, and the data stored in the first storage means are set as initial values and this data is set as an initial value. subtraction means for repeatedly subtracting the data stored in the second storage means from the second storage means once per command; and a finite number of K.multidot.1 sufficient to obtain the required conversion accuracy. Digital data of finite digits indicating the value of scales (・juka) (However, it is a silver k-digit numerical value) is stored in advance, and specific data in this stored data is converted into a numerical value S or a code corresponding to this. a third storage means Z that can be selectively read by specifying , and an addition for adding data selected in the third storage means and data as a result of the calculation in the subtraction means by a command. and input digital variable data into the data holding means, then give a digit movement command and a subtraction command to the data holding means and the subtraction means Z, respectively, and as a result of the digit movement, a carry is transferred from the data holding means. If no information is output, the operation of giving digit movement and subtraction commands is repeated in the same way, and when the carry information is output, the data held in the data holding means 2 or the code corresponding thereto is transferred as a result. Selection designation information is given to the third storage means, the third storage means selects specific stored data corresponding to the selection designation information, and an addition command is given to the addition means, and the addition result is input. The object of the present invention is to include a control means for controlling a series of operations to output as an object conversion value Y=K・lo saddle X for x.Hereinafter, embodiments of the present invention will be described with reference to the drawings. The figure shows the configuration of an embodiment of the present invention, and its components will first be explained in detail.In Figure 6, 1 is a shift register as data holding means having a shift function and a carry detection function;
3 is the first memory as a first storage means for storing the constant K.logaM in advance, and 3 is the constant K.logaM.
A second memory serves as a second storage means for storing scales 2 in advance; 4 is a subtraction register as a subtraction means capable of further subtracting from the result of subtraction, that is, repeatable subtraction; As shown in Fig. 5, a third memory 6 serves as a third storage means for pre-memorizing the value of the constant K...0hoko (juhana) in correspondence with the number S; This is an addition circuit as addition means for adding data, and GI to G6 are gate circuits. Further, 7 is a control circuit that controls the operations of the shift register 1, subtraction register 4, addition circuit 6, gate circuits GI to G6, etc., and is in charge of the operation of the entire system. The input variable x is given as digital variable data of finite digits, and the data buses ○1 and D2 that serve as the paths are sufficient lines to transfer the required number of digits (according to the assumption in the above explanation). The output value Y is also a digital variable consisting of finite digits, and therefore data buses 03 and D are used as data paths.
4 and D5, the number of lines corresponding to the number of digits is secured. (However, here, the number of digits of the output value Y is not specifically specified, but this value can be determined as appropriate depending on the use of this device, and for this reason, this point will not be mentioned in particular. )0 Furthermore,
The first memory 2 stores in advance the value of the constant K.lo scale M, and the second memory 3 stores the constant K.lo scale M.
The value of the chick is stored in advance. In addition, by specifying an arbitrary number, the array element corresponding to that number can be retrieved.The third memory 5 contains expressions {9} and
A uniquely determined value of a constant K.loga (10/2k) is stored in advance in association with the number S based on the formula. This device can operate correctly and zero when each component is installed in a state that satisfies the above-mentioned conditions. Next, the operation in the above configuration will be explained. First, the signal SI is output from the control circuit 7, the gate circuit GI is opened, and the input variable data is set in the shift register register 1 as an initial value. Next, the gate circuit G2 is opened by the signal S2 from the control circuit 7, and the constant held in the first memory 2 is set in the subtraction register 4 as an initial value. Subsequently, the control circuit 7 outputs signals S3 and S4 to 0, and first, the signal S3 causes the shift register 1 to be shifted by one digit to the left. Furthermore, in synchronization with the signal S4, the constant value held in the second memory 3 is subtracted from the original value in the subtraction register 4. On the other hand, the shift register 1 outputs a carry information signal S5 as a result of a one-digit left shift. When the signal S5 is input to the control circuit 7, the control circuit 7
Then, the value of the signal S5 is checked, and if the value is 0, the control circuit 7 outputs the signals S3 and S4 again, and the signal S3 causes the shift register to shift by one digit to the left. By subtraction register 4
, the constant value held in the second memory 3 is subtracted once from the original value held as a result of the previous subtraction, and then the carry information S5 from the shift register 1 is input again to the control circuit 7. Ru. The control circuit 7 checks the value of the signal S5 again, and if the value is 0, repeats the same operation as described above, and this operation is repeated until the value of the signal S5 becomes 1. The aforementioned shift operation and subtraction operation are stopped when the value of the signal S5 becomes 1, but the results are held for a certain period of time. Subsequently, a signal S6 is output from the control circuit 7, the gate circuit G3 is opened, and the result of the shift register is input to the third memory 5. In the third memory 52, regarding the input value,
Extracts only the value of a predetermined number of digits, considers it as a specific number, reads out the corresponding pre-held numeric table value, and outputs the value to the data bus D3,
When the reading is completed, a signal S7 is outputted to 2. When the signal S7 is input to the control circuit 7, the control circuit 7 successively outputs the signals S8 and G9. Therefore, on the one hand, the signal S8 opens the gate circuit G4 and the data on the data bus D3 is input to the adder circuit 36, and on the other hand, the signal S9 opens the gate circuit G5 and the data is held in the subtraction register 4. The calculated results are input to the adder circuit 6. The adder circuit 6 receives these two input data (
In this case, the data on the data buses D3 and 4) are added, and the result 3 is output to the data bus D5, and an addition completion signal SIO is output. After the signal 10 is input to the control circuit 7, the signal SII is outputted from the control circuit 7, and as a result, the gate circuit G6 is opened and the conversion result Y in this apparatus is outputted to the outside 40. This output value Y is a logarithmically transformed value of the input variable X.
The configuration shown in FIG. 6 as described above is only one embodiment of the present invention, and other embodiments that do not depart from the gist of the present invention are naturally included in the present invention. That is, although only the embodiment for binary numbers has been described above, as mentioned earlier in the explanation, the present invention can be applied to general N-ary numbers without changing the gist of the present invention. In that case, the meaning of 1 digit in the above is changed to 1 digit in the meaning of N-ary system, and furthermore, in formula '10, the constant value of the second term is changed from K・lo scale 2 to K・loga.
It is sufficient to change N', further modify the definition of MO to Nm, and modify the numerical table value stored in advance in the third memory 5 to K.lo chick (10S/Nk). Furthermore, although the shift register 1, subtraction register 4, and addition circuit 6 shown in FIG. 6 are explained as completely different circuits in the above embodiment, these three types of circuits are
Since it is a modification of the arithmetic register circuit known as a so-called accumulator, it is possible to use the same circuit for all of them, the subtraction register 4 and the addition circuit 6, or to integrate them. be. From the same point of view, the memories 2, 3, and 5 do not necessarily need to be separate memories; for example, the third memory 5 may be expanded and the stored contents of the first and second memories 2, 3 may be transferred to this third memory 5. It is also possible to memorize them all at once. Even in that case, it goes without saying that each constant value must be referenced using substantially the same procedure as explained above. However, in these embodiments other than the embodiment shown in FIG. 6, the operation contents of the control circuit 7 are naturally changed. As detailed above, according to the present invention,
By adopting a digital logarithm conversion method and basically using a number table indexing method, and by using approximation calculations using the mathematical law of logarithms, the amount of number tables required for conversion can be significantly reduced. Thus, it is possible to provide a logarithmic conversion device with a simple configuration and high accuracy.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図〜第5図は本発明の基本原理を説明するための図
、第6図は本発明の一実施例のシステム構成を示すブロ
ックダイアグラムである。 1……シフトレジスタ、2……第1のメモリ、3・・・
・・・第2のメモリ、4・・・・・・減算レジスタ、5
・・・・・・第3のメモリ、6・・・・・・加算回路、
7・・・・・・制御回路。 第1図 第2図 第3図 第ム図 第5図 第6図
1 to 5 are diagrams for explaining the basic principle of the present invention, and FIG. 6 is a block diagram showing the system configuration of an embodiment of the present invention. 1...Shift register, 2...First memory, 3...
...Second memory, 4...Subtraction register, 5
...Third memory, 6... Addition circuit,
7... Control circuit. Figure 1 Figure 2 Figure 3 Figure 5 Figure 6

Claims (1)

【特許請求の範囲】 1 有限桁のデイジタルN進数データを一時的に保持し
且つこの保持データを指令により1桁ずつ下位から上位
に桁移動するとともに桁移動前の最上位桁の値が0でな
い場合は桁移動時に桁上げ情報を出力するデータ保持手
段と、K・logaMおよびK・logaN(但し、K
は定数、aは正の定数、Mは入力変数データの整数部の
桁数をmとしたときM=N^m^−^1で定義される定
数である。 )なるデイジタルデータをそれぞれ予じめ保持しておく
ための第1および第2の記憶手段と、前記第1の記憶手
段の記憶データを初期値としこのデータから前記第2の
記憶手段の記憶データを指令により1回ずつ繰り返し減
算する減算手段と、所要の変換精度を得るために充分な
有限個数のK・loga(1+S/(N^k))(但し
、Sはk桁の数値である。)の値を示す有限桁のデイジ
タルデータを予じめ保持し且つこれら記憶データ中の特
定データを数値Sまたはこれに対応する符号を指定する
ことにより選択的に読み出すことを可能とするための第
3の記憶手段と、この第3の記憶手段で選択されたデー
タと前記減算手段における演算の結果としてのデータと
を指令により加算する加算手段と、入力デイジタル変数
データを前記データ保持手段に入力せしめ、次に前記デ
ータ保持手段および前記減算手段にそれぞれ桁移動指令
および減算指令を与え、前記桁移動の結果前記データ保
持手段から桁上げ情報が出力されなければ同様に桁移動
および減算指令を与える動作を繰り返し、前記桁上げ情
報が出力されたときにはその結果として前記データ保持
手段に保持されているデータまたはそれに対応する符号
を選択指定情報として前記第3の記憶手段に与え、この
第3の記憶手段において前記選択指定情報に対応する特
定の記憶データを選択せしめ、さらに前記加算手段に加
算指令を与え、この加算結果を入力Xに対するY=K・
logaXなる対数変換値として出力させる一連の動作
を制御する制御手段とからなる対数変換装置。2 特許
請求の範囲第1項記載の対数変換装置において、データ
保持手段、減算手段および加算手段のうち少なくとも2
つを共通のレジスタ回路を用いた構成とし且つ第1〜第
3の記憶手段のうち少なくとも2つを共通の記憶回路の
異なる記憶領域を用いた構成とするとともに制御手段に
これらを所定のごとく使いわける機能を持たせることを
特徴とする対数変換装置。
[Scope of Claims] 1. Temporarily holds digital N-ary data of finite digits, moves this held data one by one from lower to upper digits by command, and the value of the most significant digit before the digit movement is not 0. In the case of K.logaM and K.logaN (however, K.logaM and K.logaN (however, K.
is a constant, a is a positive constant, and M is a constant defined as M=N^m^-^1, where m is the number of digits of the integer part of input variable data. ) for holding digital data in advance, respectively; and the storage data of the second storage means is set from the data stored in the first storage means as an initial value. a subtraction means that repeatedly subtracts , once per command, and a finite number of K loga (1+S/(N^k)) sufficient to obtain the required conversion accuracy (where S is a k-digit number). ) is stored in advance in digital data of finite digits indicating the value of 3 storage means; addition means for adding the data selected by the third storage means and the data as a result of the calculation in the subtraction means according to a command; and input digital variable data for inputting input digital variable data to the data holding means. , Next, giving a digit movement command and a subtraction command to the data holding means and the subtraction means, respectively, and if carry information is not output from the data holding means as a result of the digit movement, similarly giving a digit movement and subtraction command. is repeated, and when the carry information is output, as a result, the data held in the data holding means or the code corresponding thereto is given to the third storage means as selection designation information, and the third storage means select specific stored data corresponding to the selection designation information, give an addition command to the addition means, and apply this addition result to the input X as Y=K.
A logarithmic conversion device comprising a control means for controlling a series of operations to output a logarithm conversion value called logaX. 2. In the logarithmic conversion device according to claim 1, at least two of the data holding means, the subtraction means, and the addition means
one using a common register circuit, at least two of the first to third storage means using different storage areas of the common storage circuit, and using these in a predetermined manner in the control means. A logarithmic conversion device characterized by having a dividing function.
JP14572879A 1979-11-10 1979-11-10 Logarithmic conversion device Expired JPS6013490B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14572879A JPS6013490B2 (en) 1979-11-10 1979-11-10 Logarithmic conversion device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14572879A JPS6013490B2 (en) 1979-11-10 1979-11-10 Logarithmic conversion device

Publications (2)

Publication Number Publication Date
JPS5668834A JPS5668834A (en) 1981-06-09
JPS6013490B2 true JPS6013490B2 (en) 1985-04-08

Family

ID=15391754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14572879A Expired JPS6013490B2 (en) 1979-11-10 1979-11-10 Logarithmic conversion device

Country Status (1)

Country Link
JP (1) JPS6013490B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6319037A (en) * 1986-07-11 1988-01-26 Fujitsu Ltd Logarithm conversion system for data
US5197024A (en) * 1989-06-14 1993-03-23 Pickett Lester C Method and apparatus for exponential/logarithmic computation
JP3110288B2 (en) * 1995-07-21 2000-11-20 日本電気株式会社 Exponential logarithmic conversion circuit

Also Published As

Publication number Publication date
JPS5668834A (en) 1981-06-09

Similar Documents

Publication Publication Date Title
US20240248682A1 (en) Multiple Mode Arithmetic Circuit
JPH07507411A (en) Digital filter using coefficients that are powers of 2
US3777130A (en) Digital filter for pcm encoded signals
Arnold et al. Redundant logarithmic arithmetic
US7543008B1 (en) Apparatus and method for providing higher radix redundant digit lookup tables for recoding and compressing function values
EP0238807A2 (en) Signal processor for rapidly executing a predetermined calculation a plurality of times for typically carrying out FFT or inverse FFT
JPH03186924A (en) Divider
JPS6256536B2 (en)
FI98326C (en) Address processor for a signal processor
US3234367A (en) Quotient guess divider
US4799181A (en) BCD arithmetic using binary arithmetic and logical operations
JPS6013490B2 (en) Logarithmic conversion device
US3626167A (en) Scaling and number base converting method and apparatus
Karris Digital circuit analysis and design with Simulink modeling and introduction to CPLDs and FPGAs
US6101521A (en) Data processing method and apparatus operable on an irrational mathematical value
US3937941A (en) Method and apparatus for packed BCD sign arithmetic employing a two&#39;s complement binary adder
US3953718A (en) Digital calculating apparatus
DK143425B (en) PRICING ELECTRONIC WEIGHT
US4751631A (en) Apparatus for fast generation of signal sequences
JP2621535B2 (en) Code conversion circuit
JPS6339932B2 (en)
JP2508286B2 (en) Square root calculator
JPH0585924B2 (en)
JP2960594B2 (en) Digital signal processor
JPS5922981B2 (en) Digital signal level control circuit