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

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



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


Я считаю, что исследование нужно вести в двух направлениях. Первое направление — это первичная обработка сигналов, в которой сигнал во временной области «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. Синютин С.А. Проектирование микроконтроллерных систем съема, обработки и анализа электрокардиосигнала.

Комментарии (6)

  • 30 декабря 2016 в 18:51

    0

    А где сравнение с согласованным фильтром?
    • 30 декабря 2016 в 18:58

      0

      Согласованный фильтр, может быть согласован только с одним сигналом, а тут ведется распознавание нескольких сигналов. С разной частотой, амплитудой, начальной фазой и даже формой.
      • 30 декабря 2016 в 19:52

        0

        То есть для распознавания нескольких сигналов нужно несколько согласованных фильтров. Не получается ли, что иметь несколько фильтров по затратам (вычислительным ресурсам) так же (или меньше?), чем нейронные сети?
        • 30 декабря 2016 в 20:11 (комментарий был изменён)

          0

          Да, несколько фильтров. Для согласованного фильтра важна также и длительность импульса, помимо амплитуды.
          • 30 декабря 2016 в 20:23

            0

            Для этого теста их бы пришлось использовать очень много, но в стат. радиотехнике доказано, что на фоне белого шума использование согласованного фильтра, при известных параметрах сигнала, является оптимальным. И там многое зависит от выбранного критерия обнаружения. Т.е. уровня z0. Где учитывается вероятность ложной тревоги и правильного обнаружения. Сделать объективное сравнение этих методов крайне сложно. Но если интересно, могу сделать и написать статью на эту тему.
        • 30 декабря 2016 в 20:56

          0

          Нет не получится, нейронная сеть не так уж и много ресурсов хавает, намного меньше, чем свертка сигналов, к тому же возникают вопросы:
          1) Сколько фильтров ставить;
          2) Какой тип использовать, КИХ или БИХ;

          К тому же их довольно сложно рассчитывать. Он же состоит из СФОИ, линий задержки и сумматора.

© Habrahabr.ru