реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Определение момента стабилизации сигнала
MaxEngee
сообщение Mar 6 2015, 22:29
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 120
Регистрация: 17-03-07
Из: Беларусь, Минск
Пользователь №: 26 249



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

Я в математике не силен. Может кто подскажет куда копать, наверняка есть уже нужные алгоритмы :-)
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Tanya
сообщение Mar 7 2015, 06:45
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(MaxEngee @ Mar 7 2015, 01:29) *
Hi
Есть задача как можно раньше определить момент когда сигнал на входе АЦП стабилизируется.

Я в математике не силен. Может кто подскажет куда копать, наверняка есть уже нужные алгоритмы :-)

Математик(а) дает всегда абсолютно точный, но и абсолютно бессмысленный ответ - стабилизация не наступит никогда...
Чтобы правильно задать вопрос, нужно знать половину ответа.
Go to the top of the page
 
+Quote Post
smalcom
сообщение Mar 7 2015, 17:21
Сообщение #3


Профессионал
*****

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



Цитата
А время нужно сократить!!

чуда не будет. там или, или. Но если вас устроит некоторая погрешность, то обратите внимание на величину первой производной. Так с некоторой погрешностью(задаваемой) вы сможете определять момент начала стабилизации сигнала.

зы. производная от усреднённого конечно, но с малым окном - для скорости.
Go to the top of the page
 
+Quote Post
SM
сообщение Mar 7 2015, 20:43
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(MaxEngee @ Mar 7 2015, 01:29) *
Когда смотрит человек на график то все очевидно, потому что учитывается вся история изменения сигнала.

Вот-вот. Так как человек видит сигнал из будущего, который за "красной чертой". А алгоритм-то не видит. Поэтому, чуда не будет, или долгое наблюдение, или повышение вероятности ложного срабатывания.

А есть ли какая нибудь априорная информация о сигнале? То есть, если сделать, например, некий алгоритм экстраполяции/предсказания, зная предысторию сигнала, выдающий, например, полином того порядка, какой ожидается от поведения сигнала, или другую функцию, минимально отличающуюся, например, по критерию минимума суммы квадратов отклонений, от имеющегося сигнала, и оценить точку нахождения на ней, вычислив производную (можно не только первую, но и вторую, чтобы оценить тенденцию, куда идет сигнал) уже аналитически из полученной ф-ции?
Это я к тому, что человек, глядя на график, еще и заранее знает, что можно ожидать от сигнала в ближайшем будущем, а чего ожидать нельзя. Если этой информацией будет обладать и алгоритм, то ему будет проще.
Go to the top of the page
 
+Quote Post
Егоров
сообщение Mar 7 2015, 22:06
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 3 868
Регистрация: 15-03-13
Пользователь №: 76 048



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

Вообще-то это универсальный метод создания алгоритмов. Посади себя самого на место контроллера и попробуй управлять, опираясь на показания датчиков.
Если сможешь - просто зарисуй готовый алгоритм. Не сможешь - нечего за алгоритмы хвататься, разбирайся как это вообще можно сделать.
Как всегда, в формулировке задачи очень много неясностей. Что, для чего, как часто и быстро оно меняется и прочее.
Нормальный разработчик просто принял бы паспортное значение времени установления ЦАП и не маялся дополнительными анализами.
Если просто - при регулировании функция монотонно (или нелинейно, это детали) нарастает (убывает). Как только нарастание-убывание прекратится и приращение станет меньше какой-то величины или будет колебаться в пределах этой величины - есть стабилизация.
Go to the top of the page
 
+Quote Post
Smoky
сообщение Mar 8 2015, 07:32
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 7-05-10
Из: Оренбург
Пользователь №: 57 135



Я обычно за момент начала стабилизации принимаю появление заднего фронта.


--------------------
Лень, оттвори дверь, сгоришь - а хоть и сгорю, но не оттворю.
Go to the top of the page
 
+Quote Post
AlexeyW
сообщение Mar 8 2015, 19:40
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 988
Регистрация: 3-11-10
Пользователь №: 60 636



По-моему, нужно просто представлять математический вид фронта сигнала. То, что на рисунке, очень напоминает фронт фильтра Бесселя второго порядка. Во время фронта можно, опираясь на математическое вражение форм идеального фронта (без шума), получить его параметры (длительность и амплитуду), на основе длительности сделать вывод у времени установления до нужной точности (5%, 1% и т.д.). При этом повышение шума одновременно делает менее существенной и вносимую этим шумом ошибку.
Стоит также рассмотреть схему на входе АЦП - возможно, ее переходная характеристика и время установления прекрасно считаются и могут быть заложены в алгоритм априорно.
Go to the top of the page
 
+Quote Post
AndeyP
сообщение Mar 9 2015, 20:38
Сообщение #8


Участник
*

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



Как вариант: можно считать что сигнал стабилизировался, если локальный экстремум не обновлялся последние N отсчетов.
Go to the top of the page
 
+Quote Post
iDiode
сообщение Mar 10 2015, 03:02
Сообщение #9


Участник
*

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



Цитата(MaxEngee @ Mar 7 2015, 02:29) *
Я в математике не силен. Может кто подскажет куда копать, наверняка есть уже нужные алгоритмы :-)

Я тоже, но слыхал, что есть авторегрессии на них можно построить типа фильтра-предсказателя, дальше сравнивать текущее измерение с выходом фильтра и делать вывод.
Go to the top of the page
 
+Quote Post
SM
сообщение Mar 10 2015, 19:49
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(iDiode @ Mar 10 2015, 06:02) *
Я тоже, но слыхал, что есть авторегрессии на них можно построить типа фильтра-предсказателя, дальше сравнивать текущее измерение с выходом фильтра и делать вывод.

Сколько на этом биржевых игроков обанкротилось.... sm.gif sm.gif IMHO, это не тот случай. Здесь важна именно априорная информация о системе, как она себя повести может, а как - нет. А не линейное предсказание. Которое, кстати, при равномерном линейном увеличении уровня очень здорово предскажет весь сигнал вперед вплоть до его улета в бесконечность, и даст отличное "застабилизировано".
Go to the top of the page
 
+Quote Post
iDiode
сообщение Mar 11 2015, 00:25
Сообщение #11


Участник
*

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



Цитата(SM @ Mar 10 2015, 22:49) *
... линейное предсказание ...

Слышал, что регрессии бывают линейные и нелинейные, всякие, в общем. А без априорной информации т.е. ограничений конечно же никак, абсолютно с вами согласен.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Mar 11 2015, 05:31
Сообщение #12


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Регрессии... прогрессии... заболтали простой вопрос.
Как только разница между максимальным и минимальным значениями на заданном интервале времени становится меньше заданной величины (уровня шума, например, с неким запасом), считайте, сигнал установился.
Go to the top of the page
 
+Quote Post
Onkel
сообщение Mar 11 2015, 12:42
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 708
Регистрация: 8-05-11
Из: Чг
Пользователь №: 64 861



вычисляем постоянно экспоненциально взвешенную скользящую среднюю A, а критерий - сумма n квадратичных невязок (Ai-A)^2 меньше чего -то там , скажем sigmaMax, соответсвенно показатель экспоненты, SigmaMax и n - вам определять в конкретном вашем случае.
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Mar 11 2015, 19:52
Сообщение #14


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(MaxEngee @ Mar 7 2015, 01:29) *
Когда смотрит человек на график то все очевидно, потому что учитывается вся история изменения сигнала.


Вы уже ответили (почти) на свой вопрос. Осталось пол шажка сделать - почему человек видя историю могёт? Что он видит такого?
Правильно - угол наклона. Зачастую именно он является почти константой(за требуемый минимальный интервал) во мнооогих системах.
Сами градусы вам не нужны, но критериии направления и больше-меньше - потребуются. Из математики это производная.
Т.е. если она ноль - то возмущения нет и угол не меняется. По поводу "критерия стабилизации" - тут уже правильно прозвучала мысль
по поводу сопоставления уровня сигнала с уровнем шумов.
Go to the top of the page
 
+Quote Post
Hose
сообщение Mar 21 2015, 19:21
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 82
Регистрация: 7-01-15
Пользователь №: 84 450



Копать нужно в сторону первой производной или перекинуть ацп с сигнала управления на сигнал ошибки (последнее предпочтительнее). Неплохо бы увеличить разрядность путем передискретизации и последующей фильтрации, тогда и шумов станет меньше.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th June 2025 - 20:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01499 секунд с 7
ELECTRONIX ©2004-2016