ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
30 июня
1444961 Топик полностью
VVB (25.06.2024 13:54, просмотров: 90) ответил Anvar на Нужна подсказка, скользящее среднее для углового энкодера. Не раз делал, но забыл. Как красиво обработать переход через "0"? Например для трех, есть три последовательных значения 65535,0,1 - и среднее должно получится 0.
Для чего оно вам нужно? 

Если для определения углового положения, то обычно используются единицы измерения "per unit" или "PU". 0.0 это 0, 1.0 это максимальное значение (360 градусов). Ноль равен единице. Можно и целочисленную арифметику использовать.

Если для определения угловой скорости, то продвинутые алгоритмы используют фильтры Калмана, которые могут выдавать прогнозируемый результат асинхронно от входа, что позволяет использовать "наблюдатель углового положения" относительно независимо от поступления данных в этот самый "наблюдатель".


Вот некоторые старые статьи, которые я использовал для работы с энкодером.


https://www.embeddedrelated.com/showarticle/332/how-to-estimate-encoder-velocity-without-making-stupid-mistakes-part-i


https://www.embeddedrelated.com/showarticle/530/how-to-estimate-encoder-velocity-without-making-stupid-mistakes-part-ii-tracking-loops-and-plls