Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Итак, второй макрос от меня - фильтр "скользящая средняя".
Предвещая вопрос "зачем, если есть встроенная фильтрация входов, которую можно задать в настройках".
1) режим плавного пуска обеспечивает нечувствительность начального состояния фильтра к случайно оказавшемуся на входе значению в момент запуска программы.
2) возможность инициализации в любой момент.
3) фильтр второго порядка (пользователь может при желании построить по аналогии фильтр высших порядков)
4) возможность задать время усреднения из другого алгоритма (алгоритмы адаптивной фильтрации).
5) возможность фильтровать не само значение входа, а значение вычисленное из него.
PS по непонятной мне причине невозможно загрузить в один проект макрос фильтра первого и второго порядка вместе, они созданы один из другого и ОЛ считает их одинаковыми несмотря на разное название)
Последний раз редактировалось anthrwpos; 20.04.2017 в 13:10.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
anthrwpos макросы идентифицируются по ID, откройте один, сделайте сохранить как, и потом его экспортируйте, должно помочь.
Макрос скользящей средней MAVG ревизия 2
Список изменений.
улучшена точность работы: добавлена компенсация потери точности из-за использования в Owen Logic числа с плавающей точкой одинарной точности.
В макросе скользящей средней второго порядка добавлен вывод, дающий первую производную фильтруемой величины без потери точности.
Добавлен макрос скользящей средней третьего порядка с выводами, дающими первую и вторую производную.
«обратная времени фильтра α» заменена на непосредственно время фильтрации.
Добавлена защита от попадания нуля в вывод dt.
Название вывода INIT заменено на ENABLE, чтобы предотвратить путаницу.
Последний раз редактировалось anthrwpos; 28.04.2017 в 14:46. Причина: были неверно наименованы макросы
- ά ν θ ρ ω π ο ς -
Мои универсальные макросы https://github.com/anthrwpos1/macros
Макрос позволяет коммутировать входа с выходами в любой комбинации, с экрана или по сети.
Снимок.PNG
Да сложнее трудно придумать, если вообще возможно! Много раз выкладывал проекты с макросами на 32 входа-выхода вставки-чтения бита, выведите на вход значение(0-31) читаемого бита и получится тоже самое что Вы хотите, только в десятки раз проще!
Макросы можно посмотреть здесь: http://www.owen.ru/forum/showthread.php?t=26806
Последний раз редактировалось Сергей0308; 25.05.2017 в 16:03.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Так Вы же написали, любой выход коммутирует с любым входом, что тут может быть непонятным(так правильнее, чем наоборот, т. к. на выходе не может быть значения сразу с двух входов)?!
А насчет макросов, так средняя часть, где всё сохраняется, запоминается и не понадобится в нашем случае, в макросах проекта есть отдельные макросы для вставки-чтения бита!
Последний раз редактировалось Сергей0308; 25.05.2017 в 13:41.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.