Comments 17
Цифровая обработка сигналов, надо полагать.
малопонятное чтиво
Чтиво как раз понятное, но ЦОС дешифруется неоднозначно, например, Цифровая образовательная среда (как сказал мне Гугл). И я долго думал. На самом деле это очень распространенный глюк в статьях: автор считает, что читатель сидит внутри его головы. Читатель же, видя такое, может подумать, что его не уважают (и это именно так, имхо). Ну чего стоило добавить расшифровочку в самом начале статьи? А если бы автор писал статью в настоящий журнал, его бы редактор вежливо попросил убрать аббревиатуру из заголовка, а в тексте - расшифровать.
Когда речь зашла про углы, я сразу догадался, что "ЦОС" - это некая профессиональная аббревиатура, обозначающая полярную систему координат. Сразу стало понятно, что "С" - это "система". "Ц", как несложно догадаться - это "центр" или "центральная". Сейчас работаю над расшифровкой "О"... Пока что ничего не получается. "Округлая"? Подходит, но все вместе че-то как-то вычурно звучит. В общем, запустил программу брутфорсинга с нейросетью, к утру все должно получиться.
Статью я понял доскнально, но кое какие мелкие сомнения/вопросы к автору все таки еще теплятся. В частности: каким боком полярная система координат относится к DSP? Не хочется ударить в грязь лицом, когда спрашивать буду. В общем ждите, через несколько часов сообщу полную расшифровку.
Спасибо за статью! А как называется фирма, если не секрет?
О, да это же "моя любимая" фиксированная запятая. В свое время работал с 32 битным значением с ценой мл. разряда 360/2^32 ну или PI/2^31 (кому как больше нравится).
Из впечатлений - для ЦОС очень хорошо, для чего то другого, где требуется большой (или не известный заранее) динамический диапазон значений - лютые проблемы.
Подозреваю, что подобных трюков много в статьях по старым псевдо-3D играм, наверняка в Doom 1,2 именно так углы и хранились. И таблицы для тригонометрии, разумеется.
Минусом данного способа расчета среднего является то, что усреднять получится только выборки длинною степень двойки.
Возможно, вам пригодится circular mean.
Спасибо за ссылку! В Википедии есть и более обширный материал по круговой статистике: https://en.wikipedia.org/wiki/Directional_statistics
Спасибо за статью! Обычно работаешь во float и такие простые алгоритмы проходят мимо. Статья хорошо написана, кратко. Не все статьи должны разжевывать всё для всех.
(uint8)abs((sint8)(ave - sn))
Осторожнее со взятием абсолютного значения знакового числа. Результат abs() может внезапно оказаться отрицательным, если аргумент равен INT_MIN.
Хотя, если разность не хранится, а сразу возводится в квадрат, это не важно. Но тогда и abs() не нужен.
Оптимизация угловых вычислений в ЦОС