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

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

20 минут назад, rx3apf сказал:

Как только превысили (по модулю) порог - меняем значение на экране и обнуляем интегратор.

 

А если не превысили, то что отображаем на экране? Предыдущее защелкнутое значение?

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


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

10 минут назад, Plain сказал:

Да, только о нём, 

Тогда почему 0.5 ? До +1 ведь ?

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

Предыдущее защелкнутое значение?

Да. Правда, тут периодическое изменение на -1/0 все равно могут привести к мерцанию, хоть и реже. Где-то здесь все равно стоит добавить гистерезис. Ну, вариантов реализации можно предложить много, от характера сигнала и помехи алгоритм тоже будет зависеть.

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


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

7 минут назад, rx3apf сказал:

от характера сигнала и помехи

Это самое главное. Я в основном индицировал сигнал от датчиков температуры/давления/влажности атмосферы.

По сути, это медленно меняющаяся величина с неким шумом. Из-за шума будут телепания, если не хитрить.

Значимость lsb никакая, т.к. точность значительно ниже. Сделал зону нечувствительности, и это всех устроило.

А вот как отображать значение, например, с широкополосного датчика кислорода или датчика положения вала, где за цикл/оборот величина меняется,

и нужно отобразить то ли среднее, то ли максимум/минимум, то ли значение, при некой координате/угле?

Наглядно будет отображать график, а если нет возможности/полосы его передать, а если отображать на цифровом индикаторе...

 

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


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

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

почему 0.5?

ЦДШ — результат округления.

 

30 минут назад, rx3apf сказал:

от характера сигнала и помехи алгоритм тоже будет зависеть

Вышеописанный алгоритм всегда и сразу отображает одну из соседних ЦДШ при СШ>1%.

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


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

8 hours ago, adnega said:

Это самое главное. Я в основном индицировал сигнал от датчиков температуры/давления/влажности атмосферы.

Лучше один раз увидеть. Вот сравнение работы гистерезиса и бегущего среднего:

image.png.35003b4a632a75e85da65b7499bf4a9c.png

image.thumb.png.c3eeb087c6d90f37cdc3d4ab3ca1c9a9.png

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

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


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

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

С другой стороны, не так принципиально как выглядит график, порой важнее совсем другое - насколько доволен пользователь, глядящий на табло, и соответственно доволен ли заказчик ;)

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


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

21 минуту назад, AlexandrY сказал:

Поэтому у TC-а есть путь

... потратить сутки, чтобы набить руку высекать на дисплее БП его крутилкой такой же синус? Пощадите, там обычный китайский переменный резистор, на это развлечение уйдёт весь его ресурс.

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


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

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

рядовое скользящее среднее вырывается в лидеры.

В лидеры чего? Я вижу тут

image.png.d2b5036e0ef5cc1bcac9c171e26f87cf.png

он несколько раз пересек горизонтальную линию. Это неприемлемо, т.к. на цифровом индикаторе будет мерцающие 9.99<>10.0

В некоторых задачах не важна точность, а важно удобство представления информации.

Любая физическая величина измеряется с ошибкой. Кроме шума там будет еще и систематическая ошибка. За счет нее истинное значение сместится.

За счет АБГ-шума величина должна превратиться в колокольчик с гауссовским распределением. Для него можно принять доверительный интервал с некой вероятностью.

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

Если диапазон нулевой, то и вероятность истинного значения нулевая;)

Я предлагаю, если предыдущее значение находилось внутри текущего диапазона (для заданной вероятности), то показания не менять. Если выпало за диапазон, то смещать показания как можно ближе к центру нового диапазона. Да, статистическую динамику будет видно хуже, но если мы говорим про измерение, то вероятность истинного значения не меняется. Или я невнимательно слушал на первом курсе.

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


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

12 minutes ago, adnega said:

В лидеры чего? 

В лидеры красивой картинки :biggrin:

 

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

С очень большим окном скользящего среднего показания будут "стоять колом", но кто-то увидит в этом некоторую инерционность. Что важнее? - это совсем другой вопрос.

Короче, в конечном итоге все упирается в исходные данные задачи: что именно отображаем и где именно.

 

ЗЫ Дай ТС больше данных в исходном посте, то тема заглохла бы уже на первой странице :prankster2:

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


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

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

С очень большим окном скользящего среднего показания будут "стоять колом"

Нет. Вот вам последовательность 9.9, 10.1, 9.9, 10.1 и т.д.

Сделайте окно любой длины и увидите, что это не поможет. После каждого нового отсчета целая часть будет телепаться 9<>10.

(9.9 + 10.1) / 2 = 10.0

(9.9 + 10.1 + 9.99) / 3 = 9.9(6)

(9.9 + 10.1 + 9.99 + 10.1) / 4 = 10.0

(9.9 + 10.1 + 9.99 + 10.1 + 9.9) / 5 = 9.98

Можно показать, что четные равны 10.0, а нечетные стремятся к 10.0 слева, т.е. всегда будут 9 с чем-то.

На экране пользователь будет видеть 10.0<>9.99 с частотой сэмплирования.

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


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

8 minutes ago, adnega said:

Нет. Вот вам последовательность 9.9, 10.1, 9.9, 10.1 и т.д.

Сделайте окно любой длины и увидите, что это не поможет. После каждого нового отсчета целая часть будет телепаться 9<>10.

Как часто оно будет "телепаться": раз в мс, секунду, минуту, час? Сколько допустимо в реальной задаче

Но в этой теме сообществом по ходу строится некая идеальная метода/модель, которая по факту в реальности никому не нужна.

 

8 minutes ago, adnega said:

На экране пользователь будет видеть 10.0<>9.99 с частотой сэмплирования.

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

20 minutes ago, Forger said:

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

 

 

 

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


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

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

Как часто оно будет "телепаться": раз в сек, минуту, час?

Я же показал, что с каждым новым отсчетом. Если у вас частота сэмплирования 100 Гц - значит с частотой 100 Гц.

Я же показал, что от размера окна это не зависит.

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

В лидеры красивой картинки :biggrin:

Это не форум красивых картинок, напомню.

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

Разве нет?

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

некая идеальная метода/модель

Реальнее некуда. Я привел пример ранее - меееедленное (на 1C в час) изменение температуры. Будет 10 эпизодов в час, когда показания на цифровом индикаторе будут телепаться при любом виде сглаживаний.

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


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

8 minutes ago, adnega said:

Я же показал, что с каждым новым отсчетом. Если у вас частота сэмплирования 100 Гц - значит с частотой 100 Гц.

Ну, если вы данные сразу гоните в экран с частотой сэмплирования, то тут уже ничего не поможет. Случай "неоперабельный" :dirol:

 

Quote

Я же показал, что от размера окна это не зависит.

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

 

Quote

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

Разве нет?

Я не понимаю ваших странных намеков. Проигнорирую.

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


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

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

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

image.png.db28d555ba6d3202db8446bcde66a3c9.png

 

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


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

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

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

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

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

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

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

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

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

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