Показать сообщение отдельно
Старый 07.03.2020, 16:27   #8
dm101
Новичок
 
Регистрация: Mar 2020
Сообщения: 4
Благодарил(а): 1 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Вопрос по макросу Filter_bypass

Цитата:
Сообщение от tvf Посмотреть сообщение
Это усредняющий фильтр. Если очень упрощенно, то усредняет он по 10*5=50 значениям. Если убрать обозначенные элементы, то в течении первых 50 тиков, а это 50*0,1=5 с на выходе фильтра будут некорректные значения. На самом деле число значений, а соответственно и время заполнения буфера фильтрации для усреднения может варьироваться в зависимости от настроек фильтра, оно может быть и меньше и больше. Будут меняться и характеристики фильтрации.

Если не смущают недостоверные данные в течении некоторого времени после старта программы, можете удалять отмеченные элементы.
Спасибо за ответ!
Да, я упустил состояние системы начиная с момента запуска и рассматривал её исключительно в некоем установившемся состоянии, следовало бы догадаться.
Если говорить не упрощенно:
1) На выходе блока 3 получаем среднее значение последних 10-ти измеренных значений датчика, а в блоке 10 получаем среднее значение последних 5 средних значений.
2) Пока на выходе блока 4 не будет 1, значение датчика получаем с датчика напрямую. Как только есть 1 на выходе этого блока - получаем на выходе среднее значение последних 10 измерений. Как только получаем 5 средних значений 10-ти средних измерений - получаем это значение на выходе блока 11, ну и на выходе макроса соответственно.
3) Блок 8 нужен чтобы получить 0 на выходе как можно быстрее, если на входе пропали показания датчика, или было однократное пропадание показаний. За время не более 10 тиков, если быть точнее. Но зачем ждать 10 тиков, если можно блок 4 подключить к младшему разряду блока 2?
4) Не до конца понимаю функцию блока 6. Но могу предположить, что идея заключалась в следующем: получать на выходе более правдивые показания, если показания датчика пропадали. Хотя берут меня сомнения, в голове смоделировал пошагово такую ситуацию и по моему это не будет работать.
5) Насколько я понимаю, параметр dt блока 7 больше отвечает за скорость изменения показаний датчика на выходе макроса, а параметр dt блока 2 больше отвечает за точность измерений.

Цитата:
Сообщение от Ilya J. Посмотреть сообщение
В принципе я согласен с tvf, с оговоркой, что эти решения проверены временем и бездумно удалять не нужно)
Бездумно удалять я и не собирался, именно поэтому и открыл эту тему!
dm101 вне форума   Ответить с цитированием