Тема / Topic: О процедурах обработки данных в каналах
Mikhail Kagan
Junior Member / Новичок
Участник № / Member № 28
отправлено / posted
В процессе работы над проектом в релизе 5.11 выявлены следующие "пикантные" особенности в реализации процедур обработки аналоговых данных в каналах: 1. Последовательность выполнения процедур следующая: сначала апертуры, затем фильтрация. В результате фильтрация начисто уничтожает результаты уставки апертур. Как результат - совместное использование этих процедур невозможно. 2. Реализация процедуры наложения апертур реализована с ошибкой (в эмуляторе по каналу она отсутствует). Ошибка заключается в том, что на каждом цикле пересчета осуществляется сравнение с апертурой приращения данных относительно предыдущего цикла, а не относительно последнего выведенного значения. В результате при медленно меняющихся данных, мы можем получить отсутствие пересчета для сколь угодно больших величин.
Сообщения / Posts 15 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
1) А не могли бы Вы пояснить - в чем принципиальная разница сглаживания до апертуры? Если подумать, то нет практически никакой разницы в выполнении сглаживания до апертуры и после. 2) Здесь Вы неправы - проверяется разность текущего и входного начения со значением апертуры. Если бы ситуация была, как Вы описали - то использование апертуры в любом виде привело бы к тому, что значение канала не менялось бы никогда.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Mikhail Kagan
Junior Member / Новичок
Участник № / Member № 28
отправлено / posted
1. Результат наложения апертуры есть появление скачкообразных изменений данных, которые затем будут аккуратно сглажены процедурой фильтрации. Если апертуры используются, например для уменьшения потока данных, сохраняемых в СПАД, то после сглаживания, пересылка данных в СПАД на каждом цикле пересчета гарантирована. 2. При нынешней реализации процедуры апертуры теряются не все данные, а только те, которые меняются медленно. Можете проверить путем посылки в канал с апертурой и программой трансляции с экспоненциальным фильтром скачка данных. На выходе канала установившегося значения вы не увидете. Это ошибка присутствует в реализации процедур в МРВ и его эмуляторе. В эмуляторе по каналу её нет.
Сообщения / Posts 15 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
1) Согласен что для СПАД это будет критично, но остается все же под сомнением целесообразность использования сглаживания и апертуры совместно.
2) Да как бы медленно они не менялись - апертура работает по разности реального значения и текущего аппаратного. При таком расчете как бы медленно не переходил параметр границу апертуры он ведь все равно ее перейдет и значение будет присвоено Реальному атрибуту. Можете прислать свой тестовый проект, на котором Вы проверяете Ваши утверждения?
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Mikhail Kagan
Junior Member / Новичок
Участник № / Member № 28
отправлено / posted
1. Позволю с Вами не согласиться. Необходимость сглаживания перед наложением апертуры необходима при регистрации медленно меняющихся зашумленных данных (например температурный сигнал с термосорпротивлений). Да и, вообще, сложнее найти ситуацию, когда предварительная фильтрация не нужна. 2. Выслал Вам на hotline простой тестовый пример.
Сообщения / Posts 15 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Порядок реализации встроенных процедур (сначала АПЕРТУРА, потом СГЛАЖИВАНИЕ) таков, что РЕАЛЬНОЕ ЗНАЧЕНИЕ канала всегда достигнет АППАРАТНОГО за разностью на значение АПЕРТУРЫ.
Если Вы считаете, что Вам нужен обратный порядок, Вы должны использовать собственную процедуру трансляции, где эти функции будут реализовываться в нужном Вам порядке, что Вы и продемонстрировали в своем проекте на канале Тест3_.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |