adnega 11 29 июня, 2019 Опубликовано 29 июня, 2019 · Жалоба 20 минут назад, rx3apf сказал: Как только превысили (по модулю) порог - меняем значение на экране и обнуляем интегратор. А если не превысили, то что отображаем на экране? Предыдущее защелкнутое значение? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rx3apf 0 29 июня, 2019 Опубликовано 29 июня, 2019 · Жалоба 10 минут назад, Plain сказал: Да, только о нём, Тогда почему 0.5 ? До +1 ведь ? 11 минут назад, adnega сказал: Предыдущее защелкнутое значение? Да. Правда, тут периодическое изменение на -1/0 все равно могут привести к мерцанию, хоть и реже. Где-то здесь все равно стоит добавить гистерезис. Ну, вариантов реализации можно предложить много, от характера сигнала и помехи алгоритм тоже будет зависеть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 29 июня, 2019 Опубликовано 29 июня, 2019 · Жалоба 7 минут назад, rx3apf сказал: от характера сигнала и помехи Это самое главное. Я в основном индицировал сигнал от датчиков температуры/давления/влажности атмосферы. По сути, это медленно меняющаяся величина с неким шумом. Из-за шума будут телепания, если не хитрить. Значимость lsb никакая, т.к. точность значительно ниже. Сделал зону нечувствительности, и это всех устроило. А вот как отображать значение, например, с широкополосного датчика кислорода или датчика положения вала, где за цикл/оборот величина меняется, и нужно отобразить то ли среднее, то ли максимум/минимум, то ли значение, при некой координате/угле? Наглядно будет отображать график, а если нет возможности/полосы его передать, а если отображать на цифровом индикаторе... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 199 29 июня, 2019 Опубликовано 29 июня, 2019 · Жалоба 29 минут назад, rx3apf сказал: почему 0.5? ЦДШ — результат округления. 30 минут назад, rx3apf сказал: от характера сигнала и помехи алгоритм тоже будет зависеть Вышеописанный алгоритм всегда и сразу отображает одну из соседних ЦДШ при СШ>1%. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 30 июня, 2019 Опубликовано 30 июня, 2019 · Жалоба 8 hours ago, adnega said: Это самое главное. Я в основном индицировал сигнал от датчиков температуры/давления/влажности атмосферы. Лучше один раз увидеть. Вот сравнение работы гистерезиса и бегущего среднего: Как видно гистерезис создает лишь иллюзию фильтрации, а на самом деле он создает более редкие но более грубые скачки. Психологически наблюдать за таким поведением очень неприятно. Для сравнения бегущее среднее даже на 10 точек в несколько раз даст меньше шума чем метод гистерезиса. Поэтому у TC-а есть путь продолжения дальнейшей классической фильтрации, либо слияния с источниками априорной информации, но только не гистерезис. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 22 30 июня, 2019 Опубликовано 30 июня, 2019 · Жалоба Очень показательный график, судя по нему рядовое скользящее среднее вырывается в лидеры. С другой стороны, не так принципиально как выглядит график, порой важнее совсем другое - насколько доволен пользователь, глядящий на табло, и соответственно доволен ли заказчик ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 199 30 июня, 2019 Опубликовано 30 июня, 2019 · Жалоба 21 минуту назад, AlexandrY сказал: Поэтому у TC-а есть путь ... потратить сутки, чтобы набить руку высекать на дисплее БП его крутилкой такой же синус? Пощадите, там обычный китайский переменный резистор, на это развлечение уйдёт весь его ресурс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 30 июня, 2019 Опубликовано 30 июня, 2019 · Жалоба 58 минут назад, Forger сказал: рядовое скользящее среднее вырывается в лидеры. В лидеры чего? Я вижу тут он несколько раз пересек горизонтальную линию. Это неприемлемо, т.к. на цифровом индикаторе будет мерцающие 9.99<>10.0 В некоторых задачах не важна точность, а важно удобство представления информации. Любая физическая величина измеряется с ошибкой. Кроме шума там будет еще и систематическая ошибка. За счет нее истинное значение сместится. За счет АБГ-шума величина должна превратиться в колокольчик с гауссовским распределением. Для него можно принять доверительный интервал с некой вероятностью. Исходя из этого, получится не единственное значение, а некий диапазон. Чем выше вероятность, тем шире диапазон. Если диапазон нулевой, то и вероятность истинного значения нулевая;) Я предлагаю, если предыдущее значение находилось внутри текущего диапазона (для заданной вероятности), то показания не менять. Если выпало за диапазон, то смещать показания как можно ближе к центру нового диапазона. Да, статистическую динамику будет видно хуже, но если мы говорим про измерение, то вероятность истинного значения не меняется. Или я невнимательно слушал на первом курсе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 22 30 июня, 2019 Опубликовано 30 июня, 2019 · Жалоба 12 minutes ago, adnega said: В лидеры чего? В лидеры красивой картинки Как тут правильно заметили, нет никакого смысла обновлять данные на индикаторе чаще, чем это реально требуется. По моей практике вполне достаточно 3...5 раз в сек. С очень большим окном скользящего среднего показания будут "стоять колом", но кто-то увидит в этом некоторую инерционность. Что важнее? - это совсем другой вопрос. Короче, в конечном итоге все упирается в исходные данные задачи: что именно отображаем и где именно. ЗЫ Дай ТС больше данных в исходном посте, то тема заглохла бы уже на первой странице Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 30 июня, 2019 Опубликовано 30 июня, 2019 · Жалоба Только что, 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 с частотой сэмплирования. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 22 30 июня, 2019 Опубликовано 30 июня, 2019 · Жалоба 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 раз в сек. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 30 июня, 2019 Опубликовано 30 июня, 2019 · Жалоба Только что, Forger сказал: Как часто оно будет "телепаться": раз в сек, минуту, час? Я же показал, что с каждым новым отсчетом. Если у вас частота сэмплирования 100 Гц - значит с частотой 100 Гц. Я же показал, что от размера окна это не зависит. 18 минут назад, Forger сказал: В лидеры красивой картинки Это не форум красивых картинок, напомню. Вы похожи на человека с трусовой резинкой, на которой нанесены сантиметры, и который при измерениях натягиевает ее так, чтобы получались "красивые" показания. Разве нет? 6 минут назад, Forger сказал: некая идеальная метода/модель Реальнее некуда. Я привел пример ранее - меееедленное (на 1C в час) изменение температуры. Будет 10 эпизодов в час, когда показания на цифровом индикаторе будут телепаться при любом виде сглаживаний. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 22 30 июня, 2019 Опубликовано 30 июня, 2019 · Жалоба 8 minutes ago, adnega said: Я же показал, что с каждым новым отсчетом. Если у вас частота сэмплирования 100 Гц - значит с частотой 100 Гц. Ну, если вы данные сразу гоните в экран с частотой сэмплирования, то тут уже ничего не поможет. Случай "неоперабельный" Quote Я же показал, что от размера окна это не зависит. Зависит, поскольку чем больше окно, тем меньшее влияние в результат на выходе фильтра вносит каждый новый отчет. Как минимум для скользящего среднего. Но наверно и с этим вы будете спорить )) Quote Вы похожи на человека с трусовой резинкой, на которой нанесены сантиметры, и который при измерениях натягиевает ее так, чтобы получались "красивые" показания. Разве нет? Я не понимаю ваших странных намеков. Проигнорирую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 30 июня, 2019 Опубликовано 30 июня, 2019 · Жалоба Предлагаю всем желающим ознакомиться с парадоксом кучи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 173 30 июня, 2019 Опубликовано 30 июня, 2019 · Жалоба Если отображение осуществляется в какой-то ПК-шной программе, то не проще ли забить на мельтешение и сделать визуальные пороги допустимых значений? Если параметр в пределах нормы - пусть себе мотыляется как хочет, если вне нормы - красим цветом, бросающимся в глаза. Например, так Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться