Logarithmic value calculation circuit

Information

  • Patent Grant
  • 6345285
  • Patent Number
    6,345,285
  • Date Filed
    Tuesday, January 19, 1999
    25 years ago
  • Date Issued
    Tuesday, February 5, 2002
    22 years ago
Abstract
Logarithm of data x being input is taken to calculate a decibel value y. The input value x is separated into mantissa value a and exponent value b by a separator or on the basis of an expression x=a·2b. Logarithmic value 10·log10a corresponding to the mantissa value a is read from ROM. The exponent value b is multiplied with a constant 10·log102 for logarithm of 2 by a multiplier. A logarithmic value of the value a read from the ROM is added to b·10·log102 output from the multiplier by an adder to obtain the decibel value y. Thus, a simple circuit can compute the decibel value at a high speed.
Description




BACKGROUND OF THE INVENTION




1. Technical Field of the Invention




The present invention relates to a decibel value calculation circuit for computing a logarithmic value y of input data x, and more particularly to a decibel value calculation circuit for computing it by separating into mantissa value a and exponent value b on the basis of expression of data x=a·2


b


.




2. Description of the Related Art




Conventionally, audio data and image data to be stored or transmitted are encoded and compressed, and a logarithm of such data is often taken to calculate a decibel value. For example, encoding compression processing of such data generally includes processing to quantize data by allotting a predetermined number of bits to it. When the number of quantized bits is allotted, a signal level is often referred to, and it is necessary to calculate the decibel value of data.




If an input data value is x and a decibel value is y, the decibel value is calculated by logarithmic calculation as follows:






y=α·log


10


x






where, α is a constant such as 10 or 20.




Conventionally, software installed in a microcomputer is used to make such calculation.




However, such computational software has a disadvantage in that computation requires significant time. It is especially desirable for a device such as an MD (mini disc) player to have a data-processing circuit integrated into a single integrated circuit. It is desirable that the entire circuit be formed of a simple circuit and be able to calculate at a satisfactorily high speed. Therefore, it is desired that the circuit for calculation be made of hardware and have a simple configuration.




SUMMARY OF THE INVENTION




It is an object of the invention to provide a decoder which can make the above-described computation by a relatively simple small-scale circuit.




The invention processes input data x by separating it into mantissa value a and exponent value b by a separator. Thus, ROM is only used to store a table of log


10


a, and its size can therefore be very small. Exponent value b is multiplied with a constant n·log


10


2 (n=integer) by a multiplier. Addition of output from the ROM and that from the multiplier by an adder can result in a calculated result y. Accordingly, a small table and single multiplication and addition are all required to be made, so that the circuit can be made simple, and high-speed arithmetic can be performed.




According to a preferred embodiment of the invention, the separator converts the data x expressed with a fixed point into data expressed with a floating point.











BRIEF DESCRIPTION OF THE DRAWING





FIG. 1

is a block diagram showing a configuration of the circuit according to a preferred embodiment of the present invention.











DESCRIPTION OF THE PREFERRED EMBODIMENT




A preferred embodiment of the present invention will be described with reference to the attached drawing.





FIG. 1

is a block diagram showing the general configuration of the device according to the present embodiment. Input data x is entered to a separator


10


and separated into a mantissa value a and an exponent value b according to x=a·2


b


. When the input data x is floating-point data, the separator


10


simply separates it into the mantissa value a and the exponent value b. When the data x is fixed-point data, the separator


10


converts it from fixed point to floating point data and then separates it into a mantissa value a and an exponent value b. For a general floating point indication, the exponent value b is selected such that the value a satisfies 1>a≧0.5. The value a can also fall in another range depending on the manner of selecting the value b, but its maximum value must be less than two times its minimum value.




The mantissa value a is then supplied as an address to ROM


12


. The ROM


12


has value 10·log


10


a in a table therein. The table size is variable and depends on the number of bits (precision) of the mantissa value a or the like, as is determined in advance. Accordingly, data required by the system is stored in the ROM


12


. Thus, the value 10·log


10


a is output from the ROM


12


in response to the input mantissa value a.




Meanwhile, the exponent value b obtained by the separator


10


is supplied to a multiplier


14


. The multiplier


14


is also supplied with the value 10·log


10


2, and both values are multiplied thereby. Then, b·10·log


10


2 is output from the multiplier


14


. The value 10·log


10


2 is a constant of about 3.0 and supplied in precision according to the system.




And, 10·log


10


a output from the ROM


12


and b·10·log


10


2 output from the multiplier


14


are entered an adder


16


and added by it. Therefore, the adder


16


outputs as follows.






10·log


10


a+b·10·log


10


2=10log


10


a·2


b


=10log


10


x=y






As described above, the apparatus in this embodiment processes the input data x by separating it into the mantissa value a and the exponent value b. Therefore, the ROM


12


is simply required to store the table of 10log


10


a and can be made very small. The exponent value b is multiplied with the constant 10·log


10


2 by the multiplier


14


, and the output from the ROM


12


is added to the output from the multiplier


14


by the adder


16


to obtain the calculated result y. Therefore, a small table and single multiplication and addition are all required to be made, so that the circuit can be made simple, and high-speed arithmetic can be performed.




For example, if the input data x is floating-point data, the mantissa value a is expressed as 1≦a<2, and the input data x is 01000110. Here, the data x has the mantissa value a=010001 and the exponent value b=10. The mantissa value a has a decimal point between the fourth digit and the fifth digit to show 01.0001, then a=1.0625 in decimal. Meanwhile, the exponent value b is 2 in decimal. Therefore, the input data x is expressed as x=01000110=1.0625×2


2


=4.25 in decimal.




When the input data x=01000110 is input, it is separated into a=010001 and b=10 by the separator


10


. The value a is entered the ROM


12


and a corresponding value 00.01=0.25 is output.




The value b=10 is supplied to the multiplier


14


and multiplied with log


10


2=11.00, then 110.00 is output. The adder


16


performs addition to output y=110.01. The value 110.01 is equal to 6.25, which is very close to 10·log


10


4.25≠6.28 determined from the table or the like.




As described above, the present invention processes the input data x by separating it into the mantissa value a and the exponent value b. By storing the table of 10·log


10


a, the output from the table can be added to the multiplied value of the constant 10·log


10


2 and the exponent value b to obtain a calculated result. Thus, a small table and single multiplication and addition are all required to be made, so that the circuit can be made simple, and high-speed arithmetic can be performed.




While there has been described that what is at present considered to be a preferred embodiment of the invention, it is to be understood that various modifications may be made thereto, and it is intended that the appended claims cover all such modifications as fall within the true spirit and scope of the invention.



Claims
  • 1. A logarithmic value calculation circuit for calculating a logarithmic value y of data x being input, comprising:a separator for separating the data x into mantissa value a and exponent value b on the basis of an expression x=a·2b; a table for storing a plurality of logarithmic values previously determined in correspondence with the mantissa value a; a multiplier for multiplying the exponent value b with a constant value which is an integral multiple of a logarithmic value of 2; and an adder for adding a logarithmic value, which is selectively read from the table according to the mantissa value a, and a multiplied value output from the multiplier.
  • 2. The circuit according to claim 1, wherein the separator converts the data x expressed with a fixed point to floating point data, and then separates it into the mantissa value and the exponent value.
  • 3. The circuit according to claim 1, wherein the data x being input is floating-point data, and the mantissa value a is expressed as 1≦a≦2.
  • 4. The circuit according to claim 1, wherein the data x being input is audio data, and the logarithmic value y is a decibel value of the audio data.
Priority Claims (1)
Number Date Country Kind
10-11810 Jan 1998 JP
US Referenced Citations (6)
Number Name Date Kind
5363321 Trong et al. Nov 1994 A
5600581 Dworkin et al. Feb 1997 A
5629884 Pan May 1997 A
5642305 Pan Jun 1997 A
5933360 Larson Aug 1999 A
5951629 Wertheim et al. Sep 1999 A