Логарифмическая система счисления (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
Категория:Компьютерная арифметика Категория:Цифровая обработка сигналов Категория:Логарифмы