Комментарии 17
К прежней статье тоже самое писали, да я раньше писал в университетские журналы, и как по другому оформлять публикации не знаю, какие подробности Вас интересуют?
Архитектура программа в своей структуре содержит «два флажка»,
bool flag1 = false; bool flag2 = false;
при старте программы они оба неактивны, имеется метод, который каждый раз, как опрашивается окно проверяет активны ли флажки, если активен первый флажок зачисляется 1 балл согласованным фильтрам. Если же второй, то балл зачисляется нейронной сети. В любом случае все параметры возвращаются в исходное положение.
И добавить тестовый код, входные данные и вывод приложений.
Нет вводят, тут я скинул статью в Википедии, где говорится о согласованном фильтре для прямоугольного сигнала.
Так же о нем написано у Баскакова на 425 стр.
Не хотелось бы обижать, но статья вызывает некоторое недоумение:
- (мелочь, но странная) Шум подмешивается программно, а генератор меандра зачем-то аппаратный. Не проще было всё сделать в цифре?
- Задача выбрана такая, для которой известно, как её решать оптимально (по точности). Странно проводить на ней такое сравнение — лучше бы взять другую задачу (а лучше — пачку задач) без очевидного решения.
- Опять же, раз известно, как решать (есть модели сигнала и шума, есть методы сравнения) — нейронные сети гарантированно проиграют специализированному алгоритму (как по точности, так и по быстродействию). Они интересны, когда нет готового метода решения.
Я пытался ответить на вопрос, можно ли задачу поставленную тут(https://habrahabr.ru/post/318832) решить лучше с помощью СФ. Оказалось что нет. А почему аппаратный генератор меандра, все просто, реальный сигнал сам себя не повторяет, и мне было интересно как на это отреагирует СФ. Например амплитуда сигнала менялась во время теста 9 раза в среднем на 0.7%(именно тогда и проигрывал СФ).
Так имело смысл изучать реальный сигнал, чтобы построить более точную модель. Именно изучать, а не сразу пытаться на нём что-то сравнивать.
Причём вам нужна и модель шума (а для обучения нейронной сети — образцы… много образцов), т.е. шум тоже надо брать реальный. А то завтра у вас переобученная НС будет детектировать, к примеру, импульсные помехи как сигнал.
Для простоты можно задаться всего несколькими параметрами для сигнала:
Частота, возможное отклонение частоты (между экспериментами — например, уход частоты генератора из-за изменения температуры), возможное кратковременное отклонение (в течение импульса, который надо детектировать — например, джиттер)
То же для амплитуды.
Если пользоваться СФ — эти данные сразу изменят его параметры (придётся урезать "время наблюдения сигнала"). Причём после изменения фильтра окажется, что вместо треугольной огибающей он выдаёт на импульсе меандра трапециевидную — которую можно подать на другой фильтр (или просто померить по ней длину импульса, чтобы узнать, что это наш меандр, а не просто маленький кусочек из помех)
Сравнение методов распознавания сигналов. Нейронные сети против согласованного фильтра