Бинарное угловое измерение
Бинарное угловое измерение ( BAM ) [ 1 ] и бинарная система угловых измерений BAMS ( [ 2 ] ) — это мера углов с использованием двоичных чисел и арифметики с фиксированной запятой , в которой полный оборот представлен значением 1. Единицей угловой меры, используемой в этих методах, можно назвать двоичный радиан ( брад ) или двоичный градус .
Такое представление углов часто используется в приложениях числового управления и цифровой обработки сигналов , таких как робототехника, навигация, [ 3 ] компьютерные игры, [ 4 ] и цифровые датчики, [ 5 ] воспользовавшись преимуществами неявного модульного сокращения, достигаемого за счет усечения двоичных чисел. Его также можно использовать как дробную часть числа с фиксированной точкой, подсчитывающего количество полных оборотов, например, колес транспортного средства или ходового винта .
Представительство
[ редактировать ]Беззнаковая доля хода
[ редактировать ]В этой системе угол представлен n - битным беззнаковым двоичным числом в последовательности 0,...,2. н −1, который интерпретируется как кратный 1/2 н полного оборота; то есть 360/2 н градусов или 2π/2 н радианы. Число также можно интерпретировать как долю полного оборота между 0 (включительно) и 1 (исключая), представленную в двоичном формате с фиксированной запятой и коэффициентом масштабирования 1/2. н . Умножение этой дроби на 360° или 2π дает угол в градусах в диапазоне от 0 до 360 или в радианах в диапазоне от 0 до 2π соответственно.
Например, при n = 8 двоичные целые числа (00000000) 2 (дробь 0,00), (01000000) 2 (0,25), (10000000) 2 (0,50) и (11000000) 2 (0,75) представляют угловые меры 0°. , 90°, 180° и 270° соответственно.
Основное преимущество этой системы заключается в том, что сложение или вычитание целочисленных числовых значений с помощью n -битной арифметики, используемой в большинстве компьютеров, дает результаты, соответствующие геометрии углов. А именно, целочисленный результат операции автоматически уменьшается по модулю 2. н , что соответствует тому факту, что углы, отличающиеся на целое число полных оборотов, эквивалентны. Таким образом, нет необходимости явно тестировать или обрабатывать циклический цикл, как это необходимо делать при использовании других представлений (например, количества градусов или радианов в числах с плавающей запятой). [ 6 ]
Знаковая доля хода
[ редактировать ]
Альтернативно, те же n битов также можно интерпретировать как целое число со знаком в диапазоне -2. п -1 , ..., 2 п -1 −1 в соглашении о дополнении до двух . Их также можно интерпретировать как долю полного оборота между -0,5 (включительно) и +0,5 (не включая) в формате знаковой фиксированной точки с тем же коэффициентом масштабирования; или доля полоборота между −1,0 (включительно) и +1,0 (исключительно) с масштабным коэффициентом 1/2. п -1 .
В любом случае эти числа можно интерпретировать как углы между -180° (включительно) и +180° (не включая), где -0,25 означает -90°, а +0,25 означает +90°. Результат сложения или вычитания числовых значений будет иметь тот же знак, что и результат сложения или вычитания углов, приведенных к этому диапазону. Такая интерпретация избавляет от необходимости приводить углы к диапазону [−π, +π] при вычислении тригонометрических функций .
Пример
[ редактировать ]В орбитальных данных, передаваемых Глобальной системой позиционирования , углы кодируются с использованием двоичного углового измерения. В частности, каждый спутник транслирует эфемериды , содержащие шесть его кеплеровских орбитальных элементов . Четыре из них представляют собой углы, которые закодированы как 32-битные двоичные углы. более низкой точности В данных альманаха используются 24-битные двоичные углы.
См. также
[ редактировать ]- Класс , 1/400 полного оборота
- Двоичное масштабирование
- CORDIC , алгоритмы для тригонометрических функций
- Конструируемый многоугольник , включая все многоугольники с 2 н стороны
Ссылки
[ редактировать ]- ^ «Двоичное угловое измерение» . Архивировано из оригинала 21 декабря 2009 г.
- ^ «Двоичная система угловых измерений» . акронимы.thefreedictionary .
- ^ ЛаПланте, Филипп А. (2004). «Глава 7.5.3, Двоичная угловая мера» . Проектирование и анализ систем реального времени . ISBN 0-471-22855-9 .
- ^ Санглар, Фабьен (13 января 2010 г.). «Обзор кода Doom 1993 — Раздел «Стены» » . fabiensanglard.net .
- ^ «Модуль компаса Hitachi HM55B (#29123)» (PDF) . www.hobbyengineering.com . Цифровой датчик компаса Parallax (#29123). Parallax, Inc. , май 2005 г. Архивировано из оригинала (PDF) 11 июля 2011 г. – на сайте www.parallax.com.
- ^ Харгривз, Шон [на польском языке] . «Углы, целые числа и арифметика по модулю» . blogs.msdn.com. Архивировано из оригинала 30 июня 2019 г. Проверено 5 августа 2019 г.