Логарифмическая система счисления (LNS) — система представления вещественных чисел посредством их логарифмов, используемая в цифровых аппаратных средствах, особенно в цифровой обработке сигналов.

Теория В логарифмической системе счисления (LNS) вещественное число представляется упорядоченной парой:

где: — логарифм модуля числа по основанию (обычно ); — бит знака ( при , при ).

Преобразование арифметических операций

+ Соответствие операций в LNS Операция над Операция над логарифмами Сложность Умножение Сложение Тривиальная Деление Вычитание Тривиальная Возведение в степень Умножение Тривиальная Извлечение корня Деление Тривиальная Сложение Вычисление Требует функций Гаусса Вычитание Вычисление Требует функций Гаусса

Сложение и вычитание

Операции сложения и вычитания нетривиальны и выполняются через функции Гаусса и . При условии (то есть ):

где , а функции определяются как: — функция суммирования; — функция разности.

Если , операнды необходимо поменять местами для корректности формул.

Компромисс между точностью и производительностью

Упрощение мультипликативных операций (умножение и деление сводятся к сложению и вычитанию) компенсируется накладными расходами на вычисление функций Гаусса при выполнении аддитивных операций. Однако при реализации операций с плавающей запятой повышенной точности такой компромисс может быть оправдан.

История Логарифмическая система счисления была независимо изобретена и опубликована по крайней мере три раза, в качестве альтернативы системам счисления с фиксированной и с плавающей запятой.

Кингсбери и Рейнер представили «логарифмическую арифметику» для цифровой обработки сигналов в 1971 году.

Аналогичная LNS была описана в 1975 году Шварцлендером и Алехопоулосом.

Ли и Эдгар описал подобную систему счисления, которую они назвали «Фокус», в 1977 году

Математические основы для сложения и вычитания в LNS восходят к Карлу Фридриху Гауссу и Z. Leonelli.

Применение LNS была использована в (GRAPE) — специальном суперкомпьютере, который выиграл Премию Гордона Белла в 1999 году.

LNS обычно используется как часть скрытых марковских моделей, таких как Алгоритм Витерби, для распознавания речи и секвенирования ДНК.

Значительные усилия в исследовании применимости LNS в качестве жизнеспособной альтернативы системам с плавающей запятой общего назначения для обработки одинарной точности вещественных чисел описаны в контексте «Европейского логарифмического микропроцессора» (ELM). Представлен прототип 32-разрядного процессора, функционирующего в LNS. Дальнейшее совершенствование LNS, основанной на архитектуре ELM вновь показало значительно лучшую скорость вычислений и большую точность, нежели вычисления с плавающей запятой.

LNS иногда используется в FPGA — приложениях, где большинство арифметических операций это умножение и деление.

Примечания

Ссылки A site that lists LNS papers A VHDL Library for LNS hardware generation

Категория:Компьютерная арифметика Категория:Цифровая обработка сигналов Категория:Логарифмы