"Bоенный" пик-детектор

Различные конкурсы нашего портала

"Bоенный" пик-детектор

Postby Jakob Brontfeyn on 07 Feb 2014, 19:25

Что то много всего навалилось в начале 2014.
Из-за изменения условий одного эксперимента "отказал"
стандартный пик детектор, пришлось придумывать свой, "военный"
измерения "засорились" механической вибрацией и далее всегда будет так.
Фильтрование снижает точность определения величин максимумов и минимумов
Подумал вдруг, а ведь это довольно интересная задачка-конкурс
ну для начинающих это уж точно.
Вдруг кто то заинтересуется и захочет принять участие. Может в теории
пик или впадина это точка где первая производная равна нулю, но на практике
требуется совсем другое а именно максимумы и минимумы некой "волны",
обрезанные пороговыми значениями, смотрите пример, совместимость
проверил до 2012 версии.
В примере применен собственный виндоподобный интерфейс, решающий проблемы
из этой темы, так для разнообразия, или народу понравиться?
viewtopic.php?f=35&t=6651
К пик-детектору это отношения не имеет.
Attachments
peak_bront_demo.zip
(298.34 KiB) Downloaded 147 times
User avatar
Jakob Brontfeyn
expert
expert
 
Posts: 1703
Joined: 28 Feb 2008, 11:01
Medals: 6
Activity (1) Gold (1) Silver (2) Black (2)
Karma: 237
VIP

Re: "Bоенный" пик-детектор

Postby IvanLis on 07 Feb 2014, 23:32

Jakob Brontfeyn wrote:Из-за изменения условий одного эксперимента "отказал"
стандартный пик детектор, пришлось придумывать свой, "военный"
измерения "засорились" механической вибрацией и далее всегда будет так.

Яков, Вы как всегда оригинальны в своих решениях.
Но не совсем понятно, чем не устраивает стандартный детектор, может Вы его "неправильно готовите".
Данный вопрос уже неоднократно возникал и обсуждался на форуме, главное верно определить критерий и ограничения.
То что реализовано у Вас ближе к функции Threshold Detector, только детектируется не начало пика, а его центр.

Если Вы хотите поставить задачу, то исходными данными должны быть:
1. Сигнал (запись или имитатор).
2. Условия (критерий и ограничения) детектирования пиков.

Дело в том, что по мимо времени обработки, Ваш детектор не совсем справляется со своей задачей.
Возможно, что я неверно представляю критерии Вашего детектора, но в этом случае получается, что Вы заблуждаетесь при настройках стандартного.

------------

Философствовать можно долго.
Для примера, я убрал фактор случайности и изменил Ваши настройки "по умолчанию", судите сами :wink: .
http://youtu.be/vp32DNDFwT4
User avatar
IvanLis
professor
professor
 
Posts: 4635
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 727
hardware VIP bloggers teachers

Re: "Bоенный" пик-детектор

Postby Jakob Brontfeyn on 08 Feb 2014, 12:11

IvanLis wrote:Философствовать можно долго.
Для примера, я убрал фактор случайности и изменил Ваши настройки "по умолчанию", судите сами


Да не ожидал, что так быстро будет найдено "слабое место", то бишь конец массива,
когда Threshold превышен, но значение, назад ниже порога не возвращается, кончился массив
как тогда определить где максимум не просто, но "пик". Правда в реальном
эксперименте массив всегда заканчивается значениями ниже порогового.
Задачи к сожалению ставлю не я, а сама жизнь.
Для лучшего понимания можно заглянуть сюда тут показано в картинках,
http://labviewportal.eu/viewtopic.php?f ... 293#p53293
пока сигнал на вернем осцилографе был относительно чистый,
справлялся стандартный пик-детектор, PD-Wide установил 7
важно, чтобы был зафиксирован только один "максимум" и только один "минимум" на
период а таких треугольных периодов 5 для каждой температуры. Один сбой,
больше или меньше пиков обнаружено, и никакой автоматической работы дальше не будет.
Иван, Вы натолкнули меня на интересную мысль, а что если задать PD-Wide, для пик-
детектора, как переменную (большое значение), а точнее равное длине куска массива выше
(для впадин ниже) чем Threshold и найти пик именно в этом куске стандартным детектором.
Буду пробовать, как он работает при больших PD-Wide, может введу
стандартный пик детектор в мой суб-ви, запускаться будет только в конце массива.

PS. наверное требуется еще маленькое пояснение,
то что для стандартного пик-детектора садается, как PD-Wide, для моего суб-ви
обозначает совсем другое, а именно количество точек подряд превысивших
порог для поиска максимума или пренизивших для поиска минимума,
так как при пересечении порогов наблюдается "дребезг"
User avatar
Jakob Brontfeyn
expert
expert
 
Posts: 1703
Joined: 28 Feb 2008, 11:01
Medals: 6
Activity (1) Gold (1) Silver (2) Black (2)
Karma: 237
VIP

Re: "Bоенный" пик-детектор

Postby IvanLis on 08 Feb 2014, 17:52

Jakob Brontfeyn wrote:Вы натолкнули меня на интересную мысль, а что если задать PD-Wide, для пик-
детектора, как переменную (большое значение), а точнее равное длине куска массива выше
(для впадин ниже) чем Threshold и найти пик именно в этом куске стандартным детектором.

только наверное более правильно будет 1+N/2
но это нужно экспериментально смотреть
User avatar
IvanLis
professor
professor
 
Posts: 4635
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 727
hardware VIP bloggers teachers

Re: "Bоенный" пик-детектор

Postby Jakob Brontfeyn on 26 Apr 2016, 16:28

Тема получила развитие, при механических испытаниях деталей автомобилей и других машин и механизмов
Образец нагружается стандартным "линейным треугольником".
Но на него накладывается "вибрация", синус скажем 12 Герц амплитудой не более 10% от основной нагрузки. Используется буферизированная система сбора данных с частотой 1000 измерений/сек размер буфера 1000 измерений или по времени 1 секунда.
Эксперимент длится несколько дней. Писать все в файл немыслимо, это будут десятки гигабайт. требуется выделить только макс-мин амплитуды 12 герц и только их реально измеренные значения писать в файл и больше никаких лишних точек не писать.
Сигналы реальные и довольно зашумленные. Реальных амплитуд и формы кривой основной нагрузки никто заранее не знает.
Единственный параметр известный более менее точно это частота наложенной синусоиды.
Реальные эксперименты уже идут. Вот слепил совершенно убийственную демонстрашку после запуска нажмите "TRIANGL START"
Attachments
Peak_bront_demo_all.llb
(1.04 MiB) Downloaded 109 times
User avatar
Jakob Brontfeyn
expert
expert
 
Posts: 1703
Joined: 28 Feb 2008, 11:01
Medals: 6
Activity (1) Gold (1) Silver (2) Black (2)
Karma: 237
VIP

Re: "Bоенный" пик-детектор

Postby AndreyDmitriev on 26 Apr 2016, 19:29

Jakob Brontfeyn wrote:Фильтрование снижает точность определения величин максимумов и минимумов
Подумал вдруг, а ведь это довольно интересная задачка-конкурс
ну для начинающих это уж точно.
Вдруг кто то заинтересуется и захочет принять участие.

Как конкурс - честно говоря не очень, потому что условия задачи и критерии победы должны быть абсолютно чёткие. А тут всё довольно расплывчато?
Наверное пойдёт задачка типа такой:
Продавец компании NI получил три десятка комплектов демо-версии LabVIEW и список из тридцати городов, с адресами тех, кому он должен втюхать этот продукт. Вооружившись программой Google Maps, дотошный инженер вычислил время перемещения между каждым городом и заполнил табличку. Вопрос - как ему найти оптимальный маршрут, чтобы посетить каждый город ровно один раз? Время на работу программы ограничим, скажем десятью минутами. Не уложившиеся в десять минут работы решения дисквалифицируются. На вход программы прилетает двумерный массив с временем перемещения между городами, а на выходе - одномерный массив с порядком перемещения (индексами городов). Побеждает программа, составившая самый короткий маршрут. Если две программы находят одинаковый маршрут, то побеждает та, у которой время вычисления меньше. :D :1stplace: Как-то так.
User avatar
AndreyDmitriev
VIP
VIP
 
Posts: 1225
Joined: 03 Feb 2010, 00:42
Location: Германия
Medals: 6
Activity (1) Professionalism (1) Tutorials (1) Gold (1) Black (2)
LabVIEW Version: 6.1 - 2016
Karma: 433

Re: "Bоенный" пик-детектор

Postby Jakob Brontfeyn on 27 Apr 2016, 14:07

Могу совсем просто обьяснить
Требуется on-line из потока полного измерения смотри файл all_1000_HZ.тхт
получать только реально измеренные макс-мин высокочастотной
составляющей и ни каких лишних точек больше, смотри файл maх_min_sinusa.tхt
Известна точно только частота наложенной составляющей, здесь она 12,5 Герц.
Сигнал реальный зашумленный, стандартный пик детектор правильно работать не будет.
Attachments
ALL_1000_HZ.txt
(225.24 KiB) Downloaded 100 times
max_min_sinusa.txt
(5.63 KiB) Downloaded 95 times
User avatar
Jakob Brontfeyn
expert
expert
 
Posts: 1703
Joined: 28 Feb 2008, 11:01
Medals: 6
Activity (1) Gold (1) Silver (2) Black (2)
Karma: 237
VIP

Re: "Bоенный" пик-детектор

Postby AndreyDmitriev on 27 Apr 2016, 14:47

Отчего не пройтись по сигналу медианным фильтром, который уберёт весь шум?
Image
Для конкурса необходим строгий критерий оценки. Если это пик детектор, предполагается, что он должен находить все "правильные" пики - для этого надо заранее знать, какие пики мы ожидаем, а как раз таки эта информация и отсутствует.
User avatar
AndreyDmitriev
VIP
VIP
 
Posts: 1225
Joined: 03 Feb 2010, 00:42
Location: Германия
Medals: 6
Activity (1) Professionalism (1) Tutorials (1) Gold (1) Black (2)
LabVIEW Version: 6.1 - 2016
Karma: 433

Re: "Bоенный" пик-детектор

Postby IvanLis on 27 Apr 2016, 15:12

Jakob Brontfeyn wrote:Сигналы реальные и довольно зашумленные. Реальных амплитуд и формы кривой основной нагрузки никто заранее не знает.
Единственный параметр известный более менее точно это частота наложенной синусоиды.
Реальные эксперименты уже идут. Вот слепил совершенно убийственную демонстрашку.....

Яков, Ваш сигнал прекрасен как Венера Милосская.
Без имени.png
Без имени.png (7.17 KiB) Viewed 6219 times

Никаких шумов не наблюдается, разве только компенсировать плавание постоянной составляющей, но именно ее Вам наверное и нужно вычислить в конце-концов. Иного смысла наложения несущей я не вижу.
User avatar
IvanLis
professor
professor
 
Posts: 4635
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 727
hardware VIP bloggers teachers

Re: "Bоенный" пик-детектор

Postby Jakob Brontfeyn on 27 Apr 2016, 16:09

Интересно послушать рассуждения с точки зрения радиотехника.
Видимо требуется обьяснить кое что дополнительно.
1. по словом пик понимаем максимум или минимум
в пределах полупериода наложенного сигнала (12,5 Герц в данном случае),
максимум для первого, а минимум для второго полупериода
2. так называемое Вами "плаванье постоянной составляющей" это
стандартное управление деформацией образца линейным треугольным сигналом
с периодом порядка 8 секунд. Измеряем мы силу и она получается не совсем линейной,
поскольку мы выходим немного за пределы упругой деформации чтобы через несколько
тысяч или десятков тысяч циклов образцу пришел капут.
3. записать в файл для его дальнейшей обработки требуется именно только
пики. Дальнейшая обработка это уже не мое дело, а других специалистов в области
механики материалов (HCF-LCF fatigure) можете посмотреть в гугле что это такое,
но я не советую, зароетесь в сопромат с головой и к теме это не имеет отношения.
Скажу только от себя, что наложенная вибрация наиболее опасна как раз не в области
упругой деформации а ближе к вершинам "треугольника"
4. сигнал идет в потоке on-line побуферно 1000 каждую секунду, это я просто передал
весь массив за 17 секунд.
User avatar
Jakob Brontfeyn
expert
expert
 
Posts: 1703
Joined: 28 Feb 2008, 11:01
Medals: 6
Activity (1) Gold (1) Silver (2) Black (2)
Karma: 237
VIP

Re: "Bоенный" пик-детектор

Postby AndreyDmitriev on 27 Apr 2016, 16:15

А, теперь понятно. А рельный-то сигнал как выглядит?
User avatar
AndreyDmitriev
VIP
VIP
 
Posts: 1225
Joined: 03 Feb 2010, 00:42
Location: Германия
Medals: 6
Activity (1) Professionalism (1) Tutorials (1) Gold (1) Black (2)
LabVIEW Version: 6.1 - 2016
Karma: 433

Re: "Bоенный" пик-детектор

Postby Jakob Brontfeyn on 27 Apr 2016, 16:31

AndreyDmitriev wrote:А, теперь понятно. А рельный-то сигнал как выглядит?

tak
Attachments
ALL_1000.txt
(126.4 KiB) Downloaded 102 times
max_min.txt
(3.16 KiB) Downloaded 89 times
User avatar
Jakob Brontfeyn
expert
expert
 
Posts: 1703
Joined: 28 Feb 2008, 11:01
Medals: 6
Activity (1) Gold (1) Silver (2) Black (2)
Karma: 237
VIP

Re: "Bоенный" пик-детектор

Postby Borjomy_1 on 27 Apr 2016, 17:01

Эксперимент длится несколько дней. Писать все в файл немыслимо, это будут десятки гигабайт.

у вас два сигнала. Итого 4х2 = 8 байт на замер. 8000 байт/с *86400 с/сут = 660Мб /сутки. Абсолютно нормальный размер архива.
Borjomy_1
expert
expert
 
Posts: 1827
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 319
VIP

Re: "Bоенный" пик-детектор

Postby AndreyDmitriev on 27 Apr 2016, 17:13

Jakob Brontfeyn wrote:
AndreyDmitriev wrote:А, теперь понятно. А рельный-то сигнал как выглядит?

tak

Там же почти идеальная синусоида - шума нет практически, ну я не вижу по крайней мере. Даже стандартный пик детектор при правильно выбранном окне должен нормально отрабатывать. В чём, собственно проблема?
User avatar
AndreyDmitriev
VIP
VIP
 
Posts: 1225
Joined: 03 Feb 2010, 00:42
Location: Германия
Medals: 6
Activity (1) Professionalism (1) Tutorials (1) Gold (1) Black (2)
LabVIEW Version: 6.1 - 2016
Karma: 433

Re: "Bоенный" пик-детектор

Postby Jakob Brontfeyn on 27 Apr 2016, 17:21

Borjomy_1 wrote:
Эксперимент длится несколько дней. Писать все в файл немыслимо, это будут десятки гигабайт.

у вас два сигнала. Итого 4х2 = 8 байт на замер. 8000 байт/с *86400 с/сут = 660Мб /сутки. Абсолютно нормальный размер архива.


kN µm °C sek

-8.160 -145.215 450.216 36000.000

посчитайте лучше, так выглядит после 10 часов работы,
но даже 660 мб/сутки это уже очень много
User avatar
Jakob Brontfeyn
expert
expert
 
Posts: 1703
Joined: 28 Feb 2008, 11:01
Medals: 6
Activity (1) Gold (1) Silver (2) Black (2)
Karma: 237
VIP

Next

Return to Конкурсы

Who is online

Users browsing this forum: No registered users and 4 guests

cron