Распознавание радиотехнических сигналов с помощью нейронных сетей

Тема распознавания сигналов очень актуальна. Распознавание сигналов можно использовать в радиолокации для идентификации объектов, для задач принятия решений, медицине и во многих других областях.



Направления исследований


Я считаю, что исследование нужно вести в двух направлениях. Первое направление — это первичная обработка сигналов, в которой сигнал во временной области "s(t)" заменяется на функционалы.[5] Набор функционалов является вектором в пространстве признаков, по которому и происходит распознавание.


Второе направление это исследование и разработка самих классификаторов так как классы в пространстве признаков могут иметь нелинейное разделение. Нейронные сети типа персептрона способны разделять только линейно разделимые классы. А нейронные сети типа радиально-базисных сетей, способны разделять только классы со сферическим разделением.[4]


Часто эти два типа нейронных сетей комбинируют. Очень важно правильно выбрать пространство признаков, так как если будет излишняя информация о сигнале, она затруднит процедуру распознавания из-за того, что классы будут сложно отделимы: они могут быть как нелинейно отделимы, так и неразделимые вообще. Если данных будет недостаточно, то будет проблематично распознать объект, из-за того что одному набору данных будет соответствовать несколько сигналов. Для распознавания, в качестве признаков можно ввести статистические параметры сигналов.


Предлагаю ввести следующие критерии, по которым определять количество признаков:


1) Признаки должны отличаться для объектов принадлежащих разным классам.
2) Они должны совпадать по своим значением для объектов одного класса.


Полное совпадение статистических параметров сигналов возможно, только если сигнал эргодический и время наблюдения стремится к бесконечности. Неэргодический сигнал, или сигнал наблюдаемый конечное время образует некую область в многомерном пространстве признаков.[3]


Сигналы относящиеся к разным классам образуют свои области. Задача классификатора состоит в том, чтобы отделить одну область от другой. Задача первичной обработки сводится к описанию сигнала конечным вектором, таким образом, чтобы сигналы относящиеся к одному классу находились близко друг другу в многомерном Евклидовом пространстве, а сигналы, относящиеся к разным классам — далеко, другими словами чтобы выполнялась гипотеза компактности.[1]


Следует отметить, что сигналы почти всегда записаны на фоне шума, и методы распознавания на основе Фурье-преобразований или распознавание по отсчетам во временной области подразумевают в качестве первичной обработки фильтрацию сигнала.[5] Метод распознавания на основе статистик, не нуждается в фильтрации, если помеха является эргодическим случайным процессом. Т.к. всегда можно "вычесть" из модели сигнала с помехой модель помехи.[2]


Важно! Таким методом нельзя распознавать биологические сигналы. Т.к. биологические сигналы, являются очень специфичными, для их распознавания нужно учитывать механику процессов порождающих эти сигналы.[6] Скажем сигнал ЭКГ и сигнал ЭЭГ, исследуются различными методами.


Математические основы


На практике оказалось, что для решения большинства задач распознавания достаточно использовать всего 4 параметра для распознавания, такие как: мат. ожидание, СКО, эксцесс и асимметрия.


Для примера рассмотрим распознавание сигнала при следующих вариантах:


1) нет сигнала (только помеха)
2) синусоида + помеха
3) прямоугольный + помеха
4) радиоимпульс с прямоугольной огибающей + помеха.
Отношение сигнал/шум (image в эксперименте равно 0.2.
Амплитуду сигнала возьмем равной 1 Вольт(чтобы не нормировать), и помеха в виде белого шума с нормальным распределением.


Для распознавания будем использовать двухслойный персептрон, с 4 входами, 4 выходами и 9 нейронами на скрытом слое(по теореме Колмогорова достаточное условие).[4]


Первичная обработка


Составим вектор в пространстве признаков, для начала определим модель шума:


image[2,3]


Теперь составим вектор для сигнала с помехой:


image


m — математическое ожидание, D — дисперсия, image — СКО, image — эксцесс, image — асимметрия.


Но это было в случае с непрерывными сигналами, и когда известно аналитическое выражение плотности вероятности f(x). С дискретным сигналом интеграл заменяется на сумму. И мы уже говорим не о статистических параметрах, а об их оценках.[2] А там вступают в силу погрешности определения оценок(о них мы поговорим в другой статье).


image


N — количество отсчетов.


После этого можем сформировать входной вектор для нейронной сети.


image


Переменные с индексом "x" — компоненты входного вектора, без индекса — характеристики сигнала с шумом, а с индексом"image" модель шума. Для нормировки СКО делится еще 2.5.


Практическая реализация


Вот-так выглядит интерфейс тестовой программы.


image


В данном эксперименте вероятность верного распознавания составила 94.6%. Нейронная сеть обучалась методом градиентного спуска на выборке в 50 реализаций на сигнал, в сигнале 2001 отсчет.


Литература:


  1. Классификация. Гипотеза компактности
  2. Вентцель Е.С. Теория вероятностей: Учеб. для вузов. — 6-е изд. стер. — М.: Высш. шк., 1999.
  3. В.И. Тихонов. Статистическая радиотехника.
  4. Станислав Осовский. Нейронные сети для обработки информации.
  5. А.М. Дейч. Методы идентификации динамических объектов
  6. Синютин С. А. Проектирование микроконтроллерных систем съема, обработки и анализа электрокардиосигнала.
Поделиться публикацией

Комментарии 32

    0
    А где сравнение с согласованным фильтром?
      0
      Согласованный фильтр, может быть согласован только с одним сигналом, а тут ведется распознавание нескольких сигналов. С разной частотой, амплитудой, начальной фазой и даже формой.
        +2
        То есть для распознавания нескольких сигналов нужно несколько согласованных фильтров. Не получается ли, что иметь несколько фильтров по затратам (вычислительным ресурсам) так же (или меньше?), чем нейронные сети?
          0
          Да, несколько фильтров. Для согласованного фильтра важна также и длительность импульса, помимо амплитуды.
            0
            Для этого теста их бы пришлось использовать очень много, но в стат. радиотехнике доказано, что на фоне белого шума использование согласованного фильтра, при известных параметрах сигнала, является оптимальным. И там многое зависит от выбранного критерия обнаружения. Т.е. уровня z0. Где учитывается вероятность ложной тревоги и правильного обнаружения. Сделать объективное сравнение этих методов крайне сложно. Но если интересно, могу сделать и написать статью на эту тему.
              0
              Зачем? Есть же формула для вероятности ошибки при заданном отношении сигнал-шум, просто по ней посчитать, правда, здесь важна длительность сигнала, то есть в итоге его энергия, а важна ли она в нейронной сети — не знаю. Один фильтр на один сигнал, одна формула для вероятности ошибки. Согласованный фильтр — это КИХ-фильтр, на выходе которого требуется взять всего один отсчет из N, где N — порядок фильтра, поэтому число операций можно свести к O(N).
                0
                К сожалению, я согласованными фильтрами занимался только в рамках учебы, но точно помню, что для принятия решений, мы после СФ, ставили пороговое устройство. Сам порог рассчитывался в зависимости от выбранного критерия и функции риска. И для перекрытия того же спектра сигналов нужно было бы использовать бесконечное количество таких фильтров. Вы можете скинуть ссылки по этой теме, я почитаю? Насчет КИХ Вы правы, сейчас посмотрел конспекты. Правда мы их только аналоговые проходили. И я после праздников сделаю сравнение, этих методов.
                  0
                  Берите любую книгу по обнаружению и различению сигналов, классиков статистической радиотехники Тихонов, Левин и т. д. В качестве критерия можно выбрать минимум полной вероятности ошибки, когда порог выбирается по пересечению двух плотностей вероятости. Моделируете в дискретном виде, задавая импульсную характристику согласованного фильтра в виде зеркально отраженного идеального сигнала, который собираетесь обнаруживать.
                    0
                    Это понятно, книгу Тихонова я прочитал, по ней собственно и учились. Не понятно другое, как Вы получаете сложность O(N), когда алгоритм быстрой свертки имеет сложность O(3*N*log_2(N)).
                      0
                      Загоняете в регистр N отсчетов и только потом считаете сумму произведений, получая число, которое сравнивается с порогом.
                        0

                        Вы есть в вк?

                          0
                          Yes, of course, https://vk.com/id354040982
            0
            Нет не получится, нейронная сеть не так уж и много ресурсов хавает, намного меньше, чем свертка сигналов, к тому же возникают вопросы:
            1) Сколько фильтров ставить;
            2) Какой тип использовать, КИХ или БИХ;

            К тому же их довольно сложно рассчитывать. Он же состоит из СФОИ, линий задержки и сумматора.
        +3
        К сожалению, пост очень похож на статью из вузовского журнала, из которой на скорую руку был сделан текст на Хабр.
          +1
          Нет, на эту тему я статью в журнале не публиковал. Просто раньше публиковался в различных инженерных сборниках и привычка так писать осталась, но ничего плохого я в этом не вижу. Друг посоветовал некоторые статьи публиковать здесь, вот и написал. Такая стилистика здесь неприемлема?
            +1
            Не вижу в статьях из журналов ничего плохого, нормальный стиль. Но хотелось бы больше подробностей.
              0

              Уточните для гуманитариев, пожалуйста: как это можно применить в технике?

                0

                Например диагностика неисправностей по токограммам.

                0
                * del *
                0
                а дайте ссылку, пожалуйста
                  0

                  На что?

                0
                Было дело когда-то в институте писал работу по схожей теме («Создание ансамблей дискретных ортогональных сигналов с улучшенными корреляционными свойствами» кажется, или как-то так). Тоже была идея использовать нейронные сети, но таки эволюционные алгоритмы тогда одержали верх. А сейчас я что-то не вижу подобной тенденции. Неужели будущее за нейронными сетями?
                  0

                  Подскажите пожалуйста, как из теоремы Колмогорова следует достаточность такой конфигурации многослойного перцептрона ?

                    0
                    Нейронную сеть можно рассматривать как многомерный аппроксиматор функций. Чтобы не пересказывать укажу литературу.(Станислав Осовский. Нейронные сети для обработки информации. М.: «Финансы и статистика». 2004 год. Страницы 90-92.)
                      0
                      Можно. Должно быть, Вы имеете в виду теорему Колмогорова-Арнольда.
                    0

                    Не могли бы вы пояснить, как осуществляется переход от сигнала во временной области к функционалу ?

                      0

                      Ну вот эти формулы, x — сигнал во временной области. А мат. ожидание, СКО, эксцесс и асимметрия — функционалы.
                      image

                      0
                      Пара вопросов:
                      1. Почему был выбран именно двухслойный персептрон? На сколько помню сетей много, а данный тип сети «средненький». Возможно другой мог бы дать ещё более точное распознавание
                      2. Не могли бы вы поделится исходным кодом?
                        0

                        1) Смотря для каких задач, для обработки изображений хорошо подходят сверточные НС, для последовательностей — рекуррентные. Ну а тут вектор фильтровать не надо, и он имеет постоянную длину. Так что персептрон самое то.

                          0

                          Исходным кодом чего, просто я использовал свой фреймворк, для статистики и для создания НС, его код не могу дать. А код какой-то части приложения, для лучшего понимания, пожалуйста.

                          0
                          Нейронные сети типа персептрона способны разделять только линейно разделимые классы.

                          Нейронные сети типа однослойный персептрон как раз ограничены в типах задач и не способны решать линейно неразделимые задачи. А вот многослойный персептрон как раз-таки был предложен для того, чтобы обойти эту проблему. Просто не хотелось бы сбивать читателя в терминологии.
                            0

                            Вы правы и не правы одновременно, дело в том, что скрытый слой, разделяет пространство признаков линейно, а выходной линейно разделяет пространство, которое формирует скрытый слой, и следовательно получить на выходе плоскость какого-либо другого порядка невозможно. Я писал именно об этом, эта проблема хорошо показана у Саймона Хайкина и Станислава Осовского.

                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                          Самое читаемое