Logarithmic number system




A logarithmic number system (LNS) is an arithmetic system used for representing real numbers in computer and digital hardware, especially for digital signal processing.




Contents






  • 1 Overview


  • 2 History


  • 3 Applications


  • 4 See also


  • 5 References


  • 6 Further reading


  • 7 External links





Overview


In an LNS, a number, X{displaystyle X}X, is represented by the logarithm, x{displaystyle x}x, of its absolute value as follows:


X→{s,x=logb⁡(|X|)},{displaystyle Xrightarrow {s,x=log _{b}(|X|)},}Xrightarrow {s,x=log _{b}(|X|)},

where s{displaystyle s}s is a bit denoting the sign of X{displaystyle X}X (s=0{displaystyle s=0}s=0 if X>0{displaystyle X>0}X>0 and s=1{displaystyle s=1}s=1 if X<0{displaystyle X<0}X<0).


The number x{displaystyle x}x is represented by a binary word which usually is in the two's complement format. An LNS can be considered as a floating-point number with the significand being always equal to 1 and a non-integer exponent. This formulation simplifies the operations of multiplication, division, powers and roots, since they are reduced down to addition, subtraction, multiplication and division, respectively.


On the other hand, the operations of addition and subtraction are more complicated and they are calculated by the formula:



logb⁡(|X|+|Y|)=x+sb(y−x){displaystyle log _{b}(|X|+|Y|)=x+s_{b}(y-x)}{displaystyle log _{b}(|X|+|Y|)=x+s_{b}(y-x)}

logb⁡(||X|−|Y||)=x+db(y−x),{displaystyle log _{b}(||X|-|Y||)=x+d_{b}(y-x),}{displaystyle log _{b}(||X|-|Y||)=x+d_{b}(y-x),}


where the "sum" function is defined by sb(z)=logb⁡(1+bz){displaystyle s_{b}(z)=log _{b}(1+b^{z})}s_{b}(z)=log _{b}(1+b^{z}), and the "difference" function by db(z)=logb⁡(|1−bz|){displaystyle d_{b}(z)=log _{b}(|1-b^{z}|)}d_{b}(z)=log _{b}(|1-b^{z}|). These functions sb(z){displaystyle s_{b}(z)}s_{b}(z) and db(z){displaystyle d_{b}(z)}d_{b}(z) are also known as Gaussian logarithms.


The simplification of multiplication, division, roots, and powers is counterbalanced by the cost of evaluating these functions for addition and subtraction. This added cost of evaluation may not be critical when using an LNS primarily for increasing the precision of floating-point math operations.



History


Logarithmic number systems have been independently invented and published at least three times as an alternative to fixed-point and floating-point number systems.[1]


Nicholas Kingsbury and Peter Rayner introduced "logarithmic arithmetic" for digital signal processing (DSP) in 1971.[2]


A similar LNS named "signed logarithmic number system" (SLNS) was described in 1975 by Earl Swartzlander and Aristides Alexopoulos; rather than use two's complement notation for the logarithms, they offset them (scale the numbers being represented) to avoid negative logs.[3]


Samuel Lee and Albert Edgar described a similar system, which they called the "Focus" number system, in 1977.[4][1][5][6]


The mathematical foundations for addition and subtraction in an LNS trace back to Zecchini Leonelli and Carl Friedrich Gauss in the early 1800s.[7][8][9][10][11]



Applications


A LNS has been used in the Gravity Pipe (GRAPE-5) special-purpose supercomputer[12] that won the Gordon Bell Prize in 1999.


A substantial effort to explore the applicability of LNSs as a viable alternative to floating point for general-purpose processing of single-precision real numbers is described in the context of the European Logarithmic Microprocessor (ELM).[13][14] A fabricated prototype of the processor, which has a 32-bit cotransformation-based LNS arithmetic logic unit (ALU), demonstrated LNSs as a "more accurate alternative to floating-point", with improved speed. Further improvement of the LNS design based on the ELM architecture has shown its capability to offer significantly higher speed and accuracy than floating-point as well.[15]


LNSs are sometimes used in FPGA-based applications where most arithmetic operations are multiplication or division.[16]



See also



  • Denormal number


  • Tapered floating point (TFP)


  • Level-index arithmetic (LI) and symmetric level-index arithmetic (SLI)

  • Gaussian logarithm

  • Zech's logarithm



References





  1. ^ ab Lee, Samuel C.; Edgar, Albert D. (September 1979). "Addendum to "The Focus Number System"". IEEE Transactions on Computers. C-28 (9): 693. doi:10.1109/TC.1979.1675442. ISSN 0018-9340..mw-parser-output cite.citation{font-style:inherit}.mw-parser-output .citation q{quotes:"""""""'""'"}.mw-parser-output .citation .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/6/65/Lock-green.svg/9px-Lock-green.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Lock-gray-alt-2.svg/9px-Lock-gray-alt-2.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .citation .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Lock-red-alt-2.svg/9px-Lock-red-alt-2.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration{color:#555}.mw-parser-output .cs1-subscription span,.mw-parser-output .cs1-registration span{border-bottom:1px dotted;cursor:help}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Wikisource-logo.svg/12px-Wikisource-logo.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output code.cs1-code{color:inherit;background:inherit;border:inherit;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;font-size:100%}.mw-parser-output .cs1-visible-error{font-size:100%}.mw-parser-output .cs1-maint{display:none;color:#33aa33;margin-left:0.3em}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration,.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left,.mw-parser-output .cs1-kern-wl-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right,.mw-parser-output .cs1-kern-wl-right{padding-right:0.2em} (NB. Nicholas Kingsbury's name is incorrectly spelled in this citation.)


  2. ^ Kingsbury, Nicholas G.; Rayner, Peter J. W. (1971-01-28). "Digital filtering using logarithmic arithmetic". Electronics Letters. 7 (2): 56–58. doi:10.1049/el:19710039. ISSN 0013-5194. Also reprinted in: Swartzlander, Jr., Earl E., ed. (1990). Computer Arithmetic. I. Los Alamitos, CA, USA: IEEE Computer Society Press.


  3. ^ Swartzlander, Jr., Earl E.; Alexopoulos, Aristides G. (December 1975). "The Sign/Logarithm Number System". IEEE Transactions on Computers. C-24 (12): 1238–1242. doi:10.1109/T-C.1975.224172. ISSN 0018-9340. Also reprinted in: Swartzlander, Jr., Earl E., ed. (1990). Computer Arithmetic. I. Los Alamitos, CA, USA: IEEE Computer Society Press.


  4. ^ Lee, Samuel C.; Edgar, Albert D. (November 1977). "The Focus Number System". IEEE Transactions on Computers. C-26 (11): 1167–1170. doi:10.1109/TC.1977.1674770. ISSN 0018-9340.


  5. ^ Lee, Samuel C.; Edgar, Albert D. (1977). "Chapter I.1.: Microcomputer Design - Focus Microcomputer Number System". In Lee, Samuel C. Microcomputer Design and Applications. Academic Press, Inc. pp. 1–40. doi:10.1016/B978-0-12-442350-3.50005-5. ISBN 0-12-442350-7.
    [1]



  6. ^ Edgar, Albert D.; Lee, Samuel C. (March 1979). "FOCUS Microcomputer Number System". Communications of the ACM (CACM). 22 (3): 166–177. doi:10.1145/359080.359085.


  7. ^ Leonelli, Zecchini (1803) [1802]. Supplément logarithmique. Théorie des logarithmes additionels et diductifs (in French). Bordeaux: Brossier. (NB. 1802/1803 is the year XI. in the French Republican Calendar.)


  8. ^ Leonhardi, Gottfried Wilhelm (1806). LEONELLIs logarithmische Supplemente, als ein Beitrag, Mängel der gewöhnlichen Logarithmentafeln zu ersetzen. Aus dem Französischen nebst einigen Zusätzen von GOTTFRIED WILHELM LEONHARDI, Souslieutenant beim kurfürstlichen sächsischen Feldartilleriecorps (in German). Dresden: Walther'sche Hofbuchhandlung. (NB. An expanded translation of Zecchini Leonelli's Supplément logarithmique. Théorie des logarithmes additionels et diductifs.)


  9. ^ Gauß, Johann Carl Friedrich (1808-02-12). "LEONELLI, Logarithmische Supplemente". Allgemeine Literaturzeitung (in German) (45): 353–356.


  10. ^ "Logarithm: Addition and Subtraction, or Gaussian Logarithms". Encyclopædia Britannica Eleventh Edition.


  11. ^ Dunnington, Guy Waldo (2004) [1955]. Gray, Jeremy; Dohse, Fritz-Egbert, eds. Carl Friedrich Gauss - Titan of Science. Spectrum series (revised ed.). Mathematical Association of America (MAA). ISBN 978-0-88385-547-8.


  12. ^ Makino, Junichiro; Taiji, Makoto (1998). Scientific Simulations with Special Purpose Computers: The GRAPE Systems. John Wiley & Sons. ISBN 978-0-471-96946-4.


  13. ^ Coleman, John Nicholas; Softley, Christopher I.; Kadlec, Jiri; Matousek, Rudolf; Licko, Miroslav; Pohl, Zdenek; Hermanek, Antonin (2002-08-07) [2001-11-04]. The European Logarithmic Microprocessor - a QR RLS application. Conference Record of the 35th Asilomar Conference on Signals, Systems and Computers. 1. Monterey, CA, USA: IEEE. pp. 155–159. doi:10.1109/ACSSC.2001.986897. ISBN 978-0-7803-7147-7. ISSN 1058-6393. Retrieved 2018-07-09.


  14. ^ Coleman, John Nicholas; Softley, Christopher I.; Kadlec, Jiri; Matousek, Rudolf; Tichy, Milan; Pohl, Zdenek; Hermanek, Antonin; Benschop, Nico F. (April 2008) [2008-02-26]. "The European Logarithmic Microprocessor". IEEE Transactions on Computers. 57 (4): 532–546. doi:10.1109/TC.2007.70791. ISSN 0018-9340. Retrieved 2018-07-09.


  15. ^ Ismail, R. Che; Coleman, John Nicholas (2011-08-18) [2011-07-25]. ROM-less LNS. 20th IEEE Symposium on Computer Arithmetic (ARITH 20). IEEE. pp. 43–51. doi:10.1109/ARITH.2011.15. ISBN 978-1-4244-9457-6. ISSN 1063-6889.


  16. ^ Fu, Haohuan; Mencer, Oskar; Luk, Wayne (2007-01-02) [2006-12-13]. Comparing floating-point and logarithmic number representations for reconfigurable acceleration. IEEE Conference on Field Programmable Technology. pp. 337–340. doi:10.1109/FPT.2006.270342. ISBN 978-0-7803-9728-6.




Further reading




  • Muller, Jean-Michel; Scherbyna, Alexandre; Tisserand, Arnaud (February 1998). "Semi-Logarithmic Number Systems" (PDF). IEEE Transactions on Computers. 47 (2): 145–151. doi:10.1109/12.663760. ISSN 0018-9340. Archived (PDF) from the original on 2018-07-11. Retrieved 2018-07-11. Previously published in: Muller, Jean-Michel; Scherbyna, Alexandre; Tisserand, Arnaud (July 1995). "Semi-Logarithmic Number Systems". Proceedings of the 12th IEEE Symposium on Computer Arithmetic (ARITH 12).


  • Kahrs, Mark; Brandenburg, Karlheinz, eds. (2002) [1998]. Applications of Digital Signal Processing to Audio and Acoustics (PDF). Kluwer Academic Publishing. ISBN 978-0-7923-8130-3. Archived (PDF) from the original on 2018-07-07. Retrieved 2018-07-07. (NB. Describes a 13-bit LNS used in Yamaha music synthesizers during the 1980s.)


  • Kremer, Hermann (2002-08-29). "Gauss'sche Additionslogarithmen feiern 200. Geburtstag". de.sci.mathematik (in German). Archived from the original on 2018-07-07. Retrieved 2018-07-07.


  • Zehendner, Eberhard (Summer 2008). "Rechnerarithmetik: Logarithmische Zahlensysteme" (PDF) (Lecture script) (in German). Friedrich-Schiller-Universität Jena. Archived (PDF) from the original on 2018-07-09. Retrieved 2018-07-09.
    [2]


  • Hayes, Brian (September–October 2009). "The Higher Arithmetic". American Scientist. 97 (5): 364–368. doi:10.1511/2009.80.364. Archived from the original on 2018-07-09. Retrieved 2018-07-09.
    [3]. Also reprinted in: Hayes, Brian (2017). "Chapter 8: Higher Arithmetic". Foolproof, and Other Mathematical Meditations (1 ed.). The MIT Press. pp. 113–126. ISBN 978-0-26203686-3.



External links



  • A site that lists LNS papers

  • esprit - European Logarithmic Microprocessor (formerly the 'High Speed Logarithmic Arithmetic' (HSLA) project)

  • A VHDL library for LNS hardware generation




Popular posts from this blog

Y

Mount Tamalpais

Indian Forest Service