Հաշվարկման լոգարիթմական համակարգ

Հաշվարկման լոգարիթմական համակարգ (LNS), թվաբանական համակարգ, որը երբեմն օգտագործվում է համակարգիչներում և թվային սարքավորումներում իրական թվերը ներկայացնելու համար, հատկապես թվային ազդանշանի մշակման ժամանակ։


== Թեորիա ==

LNS-ում 
  
    
      
        X
      
    
    {\displaystyle X}
   թիվը լոգարիթմով ներկայացված է հետևյալ կերպ.

  
    
      
        X
        →
        {
        s
        ,
        x
        =
        
          log
          
            b
          
        
        ⁡
        (
        
          |
        
        X
        
          |
        
        )
        }
        ,
      
    
    {\displaystyle X\rightarrow \{s,x=\log _{b}(|X|)\},}
  որտեղ 
  
    
      
        x
      
    
    {\displaystyle x}
  -ը նրա բացարձակ արժեքն է, իսկ 
  
    
      
        s
      
    
    {\displaystyle s}
  -ը նշանակում է X նշանը 
  
    
      
        X
      
    
    {\displaystyle X}
   (
  
    
      
        s
        =
        0
      
    
    {\displaystyle s=0}
   կամ 
  
    
      
        X
        >
        0
      
    
    {\displaystyle X>0}
   և 
  
    
      
        s
        =
        1
      
    
    {\displaystyle s=1}
   կամ 
  
    
      
        X
        <
        0
      
    
    {\displaystyle X<0}
  )։
Այս ձևակերպումը պարզեցնում է բազմապատկման, բաժանման և աստիճանի բարձրացման գործողությունները, քանի որ դրանք հանգում են համապատասխանաբար գումարման, հանման, բազմապատկման և բաժանման։ Մյուս կողմից, նշման այս ձևով գումարման և հանման գործողությունները պարզվում են, որ ավելի բարդ են, և դրանք հաշվարկվում են բանաձևերով.

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

  
    
      
        
          log
          
            b
          
        
        ⁡
        (
        
          |
        
        
          |
        
        X
        
          |
        
        −
        
          |
        
        Y
        
          |
        
        
          |
        
        )
        =
        x
        +
        
          d
          
            b
          
        
        (
        y
        −
        x
        )
        ,
      
    
    {\displaystyle \log _{b}(||X|-|Y||)=x+d_{b}(y-x),}
  որտեղ 
  
    
      
        z
        =
        y
        −
        x
      
    
    {\displaystyle z=y-x}
   օպերանդների լոգարիթմների տարբերությունն է, 
  
    
      
        
          s
          
            b
          
        
        (
        z
        )
        =
        
          log
          
            b
          
        
        ⁡
        (
        1
        +
        
          b
          
            z
          
        
        )
      
    
    {\displaystyle s_{b}(z)=\log _{b}(1+b^{z})}
    «գումարի» ֆունկցիան, իսկ 
  
    
      
        
          d
          
            b
          
        
        (
        z
        )
        =
        
          log
          
            b
          
        
        ⁡
        (
        
          |
        
        1
        −
        
          b
          
            z
          
        
        
          |
        
        )
      
    
    {\displaystyle d_{b}(z)=\log _{b}(|1-b^{z}|)}
  ՝  «տարբերության» ֆունկցիան։ 
  
    
      
        
          s
          
            b
          
        
        (
        z
        )
      
    
    {\displaystyle s_{b}(z)}
   և 
  
    
      
        
          d
          
            b
          
        
        (
        z
        )
      
    
    {\displaystyle d_{b}(z)}
   ֆունկցիաները, որը պատկերված է աջ կողմում գտնվող նկարում, հայտնի են նաև որպես Գաուսի լոգարիթմներ։ Բազմապատկման, բաժանման, արմատի հանման և աստիճանի բարձրացման պարզեցումը փոխհատուցվում է գումարման և հանման համար այս ֆունկցիաների գնահատման դժվարությամբ։ Այս ավելացված գնահատման արժեքը կարող է աննշան լինել LNS-ի օգտագործման դեպքում հիմնականում լողացող ստորակետով գործողությունների ճշգրտությունը բարելավելու համար։


== Պատմություն ==
Լոգարիթմական թվերի համակարգը ինքնուրույն հորինվել և հրապարակվել է առնվազն երեք անգամ՝ որպես ֆիքսված և լողացող ստորակետով հաշվարկման համակարգերիայլընտրանք։
Քինգսբերին և Ռեյները 1971 թվականին ներկայացրել են թվային ազդանշանի մշակման «լոգարիթմական թվաբանությունը»։
Նմանատիպ LNS նկարագրվել է 1975 թվականին Շվարցլանդերի և Ալեհոպոուլոսի կողմից։
Լին և Էդգարը 1977 թվականին նկարագրել են նմանատիպ թվային համակարգ, որը նրանք անվանել են «Ֆոկուս»։
LNS-ում գումարման և հանման մաթեմատիկական հիմունքերը կապված են Կառլ Ֆրիդրիխ Գաուսի և  Զ. Լեոնելլիի հետ։


== Կիրառություն ==
LNS-ն օգտագործվել է Gravity Pipe-ում (GRAPE)՝ հատուկ գերհամակարգիչ, որը 1999 թվականին արժանացել է Գորդոն Բելլի մրցանակին։
LNS-ը սովորաբար օգտագործվում է որպես թաքնված մարկովյան մոդելների մաս, ինչպիսին է Վիտերբիի ալգորիթմը խոսքի ճանաչման և ԴՆԹ-ի հաջորդականության համար։
LNS-ի կիրառելիությունը հետազոտելու զգալի ջանքերը՝ որպես ընդհանուր նշանակության լողացող ստորակետով համակարգերի կենսունակ այլընտրանք՝ ճշգրիտ իրական թվերի հետ աշխատելու համար, նկարագրված են «Եվրոպական լոգարիթմական միկրոպրոցեսորի» (ELM) համատեքստում։ Ներկայացված է LNS-ում գործող 32-բիթանոց պրոցեսորի նախատիպը։ ELM ճարտարապետության վրա հիմնված LNS-ի հետագա բարելավումը կրկին ցույց տվեց զգալիորեն ավելի լավ հաշվարկային արագություն և ավելի մեծ ճշգրտություն, քան լողացող ստորակետով հաշվարկները։
LNS-ը երբեմն օգտագործվում է FPGA հավելվածներում, որտեղ թվաբանական գործողությունների մեծ մասը բազմապատկում և բաժանում է։


== Ծանոթագրություններ ==


== Արտաքին հղումներ ==
A site that lists LNS papers
A VHDL Library for LNS hardware generation