Перейти к содержанию
    

Дребезг параметра на индикаторе, как бороться?

Только что, Forger сказал:

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

Да меньшее. В аналоговом виде это не различимо, но в цифре совсем иначе. Если от 10.0 отнять хоть мельчайшую песчинку, то будет уже 9.99...

Есть такое 9.99.... , что если к нему добавить мельчайшую песчинку, то будет 10.0.

На этом все и строиться.

1 минуту назад, Arlleex сказал:

красим цветом, бросающимся в глаза.

Тот же парадокс кучи, только теперь на границе значений будет мерцающая красная подсветка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 minutes ago, adnega said:

На этом все и строиться.

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

Поэтому продолжайте и дальше строить своего идеального сферического коня в вакууме :bye:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 минуту назад, Forger сказал:

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

Чем вам реальная задача с температурой не нравиться?

1 минуту назад, Forger сказал:

Поэтому продолжайте и дальше строить своего идеального сферического коня в вакууме :bye:

Я описывал реальную модель измеряемой величины - как минимум истинное значение + систематическая ошибка + аддитивный белый гауссовский шум.

У меня диплом учитывал еще аддитивный белый фазовый шум, но это к обсуждаемым сигналам не относится.

Вы знаете модель реального сигнала какую-то другую? Предложите - обсудим.

6 минут назад, Forger сказал:

реальных требований к задаче

Мне приходилось пару раз сталкиваться с Заказчиками с требованиями померить температуру так, чтобы получалось +28C, но это для копилки анекдотов, мы же понимаем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 минут назад, adnega сказал:

Тот же парадокс кучи, только теперь на границе значений будет мерцающая красная подсветка.

Тогда, как было уже сказано, все будет зависеть от конкретных требований Заказчика. Садимся и обсуждаем, как он хочет видеть отображение величин, с какими эффектами/задержками и т.д. А также ему попутно озвучиваем минусы в каждом предложенном случае (например, готов ли он потерять в точности, готов ли он хранить попутно большой файл лога, который потом можно будет раскрыть в виде графика и т.д.). В конце концов, понятие "удобно" у каждого свое, и в любом случае только Заказчик может утвердить годный вариант.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 минуту назад, Arlleex сказал:

готов ли он потерять в точности

Например, для индикатора температуры воздуха в виде светового табло какая нужна точность?

Если сделать высокую, то будут телепания +27C<>+28C. При этом может быть значительный градиент температуры.

Например, у меня на лоджии было +18 у потолка и -2 на полу (пока не сделал отопление). Какая температура на лоджии? Это зависит где установить датчик!

Если загрубить показания на +- 1C зоной нечувствительности, то никакой потери точности не будет, а показания станут не такими дергаными.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, Forger сказал:

Как тут правильно заметили, нет никакого смысла обновлять данные на индикаторе чаще, чем это реально требуется. По моей практике вполне достаточно 3...5 раз в сек.:prankster2:

5 раз в секунду - очень медленно. Чтобы что-то комфортно регулировать нужна частота обновления хотя-бы 10Гц. Но даже при такой частоте уже чувствуется задержка реакции. И я не теоретизирую (как некоторые тут), а сужу по той крутилке, которую как раз сейчас активно использую (плавная регулировка переменным резистором, отображение: линейная шкала+поверх неё числовое значение). Если ставлю частоту его обновления == 5Гц - уже сильно чувствуется задержка реакции. Даже 10Гц - задержка чувствуется, но уже слабо заметно.

А уж 3Гц - это наверное для каких-то очень тормозных неспешных людей будет нормально. Где вы таких находите?  :wink2:

1 час назад, Arlleex сказал:

Если отображение осуществляется в какой-то ПК-шной программе, то не проще ли забить на мельтешение и сделать визуальные пороги допустимых значений? Если параметр в пределах нормы - пусть себе мотыляется как хочет, если вне нормы - красим цветом, бросающимся в глаза.

Например, так

Я уже предлагал такой метод выше.  :wink2:

1 час назад, adnega сказал:

Тот же парадокс кучи, только теперь на границе значений будет мерцающая красная подсветка.

Не обязательно подсвечивать строку. Можно сбоку от столбца значений нарисовать указатель (стрелку).

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

А ещё можно указатель (стрелку) сделать неподвижной, а двигать саму шкалу с цифрами. Двигать плавно, попиксельно.

Можно комбинировать несколько способов. Например: шкала + обычное число рядом. Я например часто делаю линейный столбец уровня (а-ля прогресс-бар) вертикальный или горизонтальный, а поверх него (другим цветом) - числовое значение.

В-общем: вариантов - море. В каждом конкретном случае можно выбрать свой, удобный вариант. Если не зацикливаться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

56 minutes ago, jcxz said:

5 раз в секунду - очень медленно. Чтобы что-то комфортно регулировать нужна частота обновления хотя-бы 10Гц. Но даже при такой частоте уже чувствуется задержка реакции. И я не теоретизирую (как некоторые тут), а сужу по той крутилке, которую как раз сейчас активно использую (плавная регулировка переменным резистором, отображение: линейная шкала+поверх неё числовое значение). Если ставлю частоту его обновления == 5Гц - уже сильно чувствуется задержка реакции. Даже 10Гц - задержка чувствуется, но уже слабо заметно.

А уж 3Гц - это наверное для каких-то очень тормозных неспешных людей будет нормально.

Тут все зависит от требований к задаче: отображать некий параметр или реагировать на действия юзера (некая крутилка/ползунок).

Например, температуру "за бортом" нет никакого смысла отображать чаще, чем раз в сек. Да и это даже очень часто.

А отображеать данные, вводимые пользователем с энкодера-крутилки, можно очень часто (те самые 10 Гц), т. к. там нет неких промежуточных значений, никакой фильтр не нужен.

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

Также следует учитывать во внимание и особенности железа: где по-прежнему используются дешевые ЖК с высокой инерционностью - там даже 1 Гц работает гораздо лучше, чем 10.

 

Quote

Где вы таких находите?  :wink2:

Дискриминация людей по скорости реакции? Это что-то новенькое 

 

зы. На всякий случай (исключительно для адептов изобретения сферического коня в вакууме): частота сэмплирования сигнала и частота вывода результата его фильтрации на дисплей/табло - это совершенно разные параметры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

29 минут назад, jcxz сказал:

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

О, кстати такой вариант оставлю себе на заметку, спасибо. Это как эффект люминесцентного послесвечения в осциллографах - выглядит очень круто и при необходимости сразу видны скачки параметров:good2:

Вот пример: https://www.youtube.com/watch?v=OvTV5ALznQ4

И тут сразу эффект дребезга уйдет - если параметр в пределах нормы - он будет подсвечен белым; если он вне нормы или болтается рядом с пороговым значением - мельтешения не будет заметно практически совсем.

Скорее всего, сделаю у себя так, если будет время.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

40 минут назад, Forger сказал:

частота сэмплирования сигнала и частота вывода результата его фильтрации на дисплей/табло - это совершенно разные параметры.

И что из этого следует? К чему это замечание?

Допустим, они сильно разные: семплируем с частотой 1000 Гц, а выводим с частотой 1 Гц. Т.е. 999 отсчетов отбрасываем, а используем один.

Или в другую сторону: 1000 раз в секунду отправляем целые показания температуры воздуха, которые меняются на 1С за час.

Как архитектор архитектору - в этих случаях система спроектирована не оптимально.

Пределом оптимума будет получение данных с частотой близкой к частоте обновления показаний.

Но если на цифры смотрит человек, то иногда нужно принудительно не обновлять показания (хоть до 10 секунд), чтоб не было болтанки, и это никак не связано

с частотой сэмплирования и частотой отображения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 minutes ago, adnega said:

И что из этого следует? К чему это замечание?

ВСЕ отчеты участвуют в фильтрации, иначе нет никакого смысла сэмплировать чаще, чем отображать. Неужели это не очевидно? 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 минуту назад, Forger сказал:

ВСЕ отчеты участвуют в фильтрации, иначе нет никакого смысла сэмплировать чаще, чем отображать. Неужели это не очевидно? 

 

Т.е. вы собираете 1000 отсчетов, фильтруете (например, усредняете), получаете 1 результирующий отчет с частотой 1 Гц и его отображаете?

Все так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 minutes ago, adnega said:

Т.е. вы собираете 1000 отсчетов, фильтруете (например, усредняете), получаете 1 результирующий отчет с частотой 1 Гц и его отображаете?

Все так?

Никакие отчеты я не собираю, а использую скользящее среднее (для подобных ситуаций), т.е. непрерывное. Эффективность такого фильтра напрямую зависит от размера его "окна".

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

Если аналоговая часть устройства сделана через одно место, то порой помогает медианный фильтр, включенный перед скользящим средним.

Теперь понятно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Forger сказал:

зы. На всякий случай (исключительно для адептов изобретения сферического коня в вакууме): частота сэмплирования сигнала и частота вывода результата его фильтрации на дисплей/табло - это совершенно разные параметры.

Вроде разговор шёл об отображении значения величины. При  чём тут частота сэмплирования??? :wacko2: 

Вы понимаете разницу между сэмплированием и отображением? Складывается впечатление что не понимаете...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 minutes ago, jcxz said:

Вроде разговор шёл об отображении значения величины. 

Если никакой предварительно фильтрации нет, то безусловно нет никакого сэмплирования.

Но если никакой фильтрации нет, то о чем тогда эта тема? Как отобразить некое число на дисплее?  Если да, то тогда тему нужно переносить в раздел для новичков и на этом закругляться :biggrin:

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

27 минут назад, Forger сказал:

Если никакой предварительно фильтрации нет, то безусловно нет никакого сэмплирования.

А как наличие или отсутствие фильтрации влияет на сэмплирование. Что такое "сэмплирование" по-вашему?

По-моему, это получение отсчета в конкретный момент времени. Как правило, отсчеты получают с частотой дискретизации.

В ЦОС применяют дискретные квантованные отсчеты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...