SugarLife — объяснения

Почему приложение ведёт себя именно так и чем платят настройки

View the Project on GitHub iMironRU/sugarlife-wiki

Сглаживание: чем платят за гладкий график

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

Чем это платят

Задержкой. Усреднение по окну в тринадцать минут сдвигает ответ примерно на шесть-семь минут назад: чтобы показать «сейчас», программа смотрит и на то, что было.

К этому добавляется задержка самого измерения. Сенсор меряет не кровь, а межклеточную жидкость, и она отстаёт от крови на пять–пятнадцать минут — особенно когда сахар быстро меняется.

Складываем: до двадцати минут между тем, что происходит в крови, и тем, что видно на экране.

Когда это опасно

При падении сахара. Сглаженная линия покажет спокойное снижение там, где на самом деле уже провал, — и петля, считающая дозу по этому числу, узнает о падении позже.

Именно поэтому в приложениях, которые умеют сглаживать, есть отдельный переключатель «сглаживать только график»: линию причёсывают, а число, по которому считают дозу, оставляют как есть.

Что делаем мы

Наш алгоритм расчёта уже содержит внутренний фильтр — мы измеряли: наш ряд не шумнее сырых показаний прибора. Отдельного сглаживания сверху пока нет, и добавлять его без нужды мы не будем: лишний фильтр поверх фильтра — это только задержка.

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