|
Определение момента стабилизации сигнала |
|
|
|
Mar 6 2015, 22:29
|
Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 17-03-07
Из: Беларусь, Минск
Пользователь №: 26 249

|
Hi Есть задача как можно раньше определить момент когда сигнал на входе АЦП стабилизируется. Один из вариантов сигнала на картинке. Есть проблемы: - сигнал может быть зашумлен, а может и нет и заранее невозвожно вывести критерий стабилизации, в одном случае он может калебаться в пределах пяти единиц, а во втором в пределе 20. - сигнал может быть нисходящим - во время стабилизации могут быть единичные скачки Перепробовал различные алгоритмы с усреднением в плавающем окне и вычислением производной или дисперсии. Если окно ставить больше, уменьшается вероятность ложного срабатывания, но значительно затягивается время определения момента (на размер окна). А время нужно сократить!! Когда смотрит человек на график то все очевидно, потому что учитывается вся история изменения сигнала. Я в математике не силен. Может кто подскажет куда копать, наверняка есть уже нужные алгоритмы :-)
Эскизы прикрепленных изображений
|
|
|
|
|
Mar 7 2015, 17:21
|

Профессионал
    
Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718

|
Цитата А время нужно сократить!! чуда не будет. там или, или. Но если вас устроит некоторая погрешность, то обратите внимание на величину первой производной. Так с некоторой погрешностью(задаваемой) вы сможете определять момент начала стабилизации сигнала. зы. производная от усреднённого конечно, но с малым окном - для скорости.
|
|
|
|
|
Mar 7 2015, 20:43
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(MaxEngee @ Mar 7 2015, 01:29)  Когда смотрит человек на график то все очевидно, потому что учитывается вся история изменения сигнала. Вот-вот. Так как человек видит сигнал из будущего, который за "красной чертой". А алгоритм-то не видит. Поэтому, чуда не будет, или долгое наблюдение, или повышение вероятности ложного срабатывания. А есть ли какая нибудь априорная информация о сигнале? То есть, если сделать, например, некий алгоритм экстраполяции/предсказания, зная предысторию сигнала, выдающий, например, полином того порядка, какой ожидается от поведения сигнала, или другую функцию, минимально отличающуюся, например, по критерию минимума суммы квадратов отклонений, от имеющегося сигнала, и оценить точку нахождения на ней, вычислив производную (можно не только первую, но и вторую, чтобы оценить тенденцию, куда идет сигнал) уже аналитически из полученной ф-ции? Это я к тому, что человек, глядя на график, еще и заранее знает, что можно ожидать от сигнала в ближайшем будущем, а чего ожидать нельзя. Если этой информацией будет обладать и алгоритм, то ему будет проще.
|
|
|
|
|
Mar 7 2015, 22:06
|
Гуру
     
Группа: Модераторы
Сообщений: 3 868
Регистрация: 15-03-13
Пользователь №: 76 048

|
Цитата(SM @ Mar 8 2015, 00:43)  Вот-вот. Так как человек видит сигнал из будущего, который за "красной чертой". Это я к тому, что человек, глядя на график, еще и заранее знает, что можно ожидать от сигнала в ближайшем будущем, а чего ожидать нельзя. Если этой информацией будет обладать и алгоритм, то ему будет проще. Вообще-то это универсальный метод создания алгоритмов. Посади себя самого на место контроллера и попробуй управлять, опираясь на показания датчиков. Если сможешь - просто зарисуй готовый алгоритм. Не сможешь - нечего за алгоритмы хвататься, разбирайся как это вообще можно сделать. Как всегда, в формулировке задачи очень много неясностей. Что, для чего, как часто и быстро оно меняется и прочее. Нормальный разработчик просто принял бы паспортное значение времени установления ЦАП и не маялся дополнительными анализами. Если просто - при регулировании функция монотонно (или нелинейно, это детали) нарастает (убывает). Как только нарастание-убывание прекратится и приращение станет меньше какой-то величины или будет колебаться в пределах этой величины - есть стабилизация.
|
|
|
|
|
Mar 9 2015, 20:38
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 25-06-06
Пользователь №: 18 344

|
Как вариант: можно считать что сигнал стабилизировался, если локальный экстремум не обновлялся последние N отсчетов.
|
|
|
|
|
Mar 10 2015, 03:02
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 9-07-10
Пользователь №: 58 360

|
Цитата(MaxEngee @ Mar 7 2015, 02:29)  Я в математике не силен. Может кто подскажет куда копать, наверняка есть уже нужные алгоритмы :-) Я тоже, но слыхал, что есть авторегрессии на них можно построить типа фильтра-предсказателя, дальше сравнивать текущее измерение с выходом фильтра и делать вывод.
|
|
|
|
|
Mar 10 2015, 19:49
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(iDiode @ Mar 10 2015, 06:02)  Я тоже, но слыхал, что есть авторегрессии на них можно построить типа фильтра-предсказателя, дальше сравнивать текущее измерение с выходом фильтра и делать вывод. Сколько на этом биржевых игроков обанкротилось....  IMHO, это не тот случай. Здесь важна именно априорная информация о системе, как она себя повести может, а как - нет. А не линейное предсказание. Которое, кстати, при равномерном линейном увеличении уровня очень здорово предскажет весь сигнал вперед вплоть до его улета в бесконечность, и даст отличное "застабилизировано".
|
|
|
|
|
Mar 11 2015, 00:25
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 9-07-10
Пользователь №: 58 360

|
Цитата(SM @ Mar 10 2015, 22:49)  ... линейное предсказание ... Слышал, что регрессии бывают линейные и нелинейные, всякие, в общем. А без априорной информации т.е. ограничений конечно же никак, абсолютно с вами согласен.
|
|
|
|
|
Mar 11 2015, 19:52
|
практикующий тех. волшебник
    
Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417

|
Цитата(MaxEngee @ Mar 7 2015, 01:29)  Когда смотрит человек на график то все очевидно, потому что учитывается вся история изменения сигнала. Вы уже ответили (почти) на свой вопрос. Осталось пол шажка сделать - почему человек видя историю могёт? Что он видит такого? Правильно - угол наклона. Зачастую именно он является почти константой(за требуемый минимальный интервал) во мнооогих системах. Сами градусы вам не нужны, но критериии направления и больше-меньше - потребуются. Из математики это производная. Т.е. если она ноль - то возмущения нет и угол не меняется. По поводу "критерия стабилизации" - тут уже правильно прозвучала мысль по поводу сопоставления уровня сигнала с уровнем шумов.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|