[Из песочницы] Распознавание радиотехнических сигналов с помощью нейронных сетей
Тема распознавания сигналов очень актуальна. Распознавание сигналов можно использовать в радиолокации для идентификации объектов, для задач принятия решений, медицине и во многих других областях.
Направления исследований
Я считаю, что исследование нужно вести в двух направлениях. Первое направление — это первичная обработка сигналов, в которой сигнал во временной области «s (t)» заменяется на функционалы.[5] Набор функционалов является вектором в пространстве признаков, по которому и происходит распознавание.
Второе направление это исследование и разработка самих классификаторов так как классы в пространстве признаков могут иметь нелинейное разделение. Нейронные сети типа персептрона способны разделять только линейно разделимые классы. А нейронные сети типа радиально-базисных сетей, способны разделять только классы со сферическим разделением.[4]
Часто эти два типа нейронных сетей комбинируют. Очень важно правильно выбрать пространство признаков, так как если будет излишняя информация о сигнале, она затруднит процедуру распознавания из-за того, что классы будут сложно отделимы: они могут быть как нелинейно отделимы, так и неразделимые вообще. Если данных будет недостаточно, то будет проблематично распознать объект, из-за того что одному набору данных будет соответствовать несколько сигналов. Для распознавания, в качестве признаков можно ввести статистические параметры сигналов.
Предлагаю ввести следующие критерии, по которым определять количество признаков:
1) Признаки должны отличаться для объектов принадлежащих разным классам.
2) Они должны совпадать по своим значением для объектов одного класса.
Полное совпадение статистических параметров сигналов возможно, только если сигнал эргодический и время наблюдения стремится к бесконечности. Неэргодический сигнал, или сигнал наблюдаемый конечное время образует некую область в многомерном пространстве признаков.[3]
Сигналы относящиеся к разным классам образуют свои области. Задача классификатора состоит в том, чтобы отделить одну область от другой. Задача первичной обработки сводится к описанию сигнала конечным вектором, таким образом, чтобы сигналы относящиеся к одному классу находились близко друг другу в многомерном Евклидовом пространстве, а сигналы, относящиеся к разным классам — далеко, другими словами чтобы выполнялась гипотеза компактности.[1]
Следует отметить, что сигналы почти всегда записаны на фоне шума, и методы распознавания на основе Фурье-преобразований или распознавание по отсчетам во временной области подразумевают в качестве первичной обработки фильтрацию сигнала.[5] Метод распознавания на основе статистик, не нуждается в фильтрации, если помеха является эргодическим случайным процессом. Т.к. всегда можно «вычесть» из модели сигнала с помехой модель помехи.[2]
Важно! Таким методом нельзя распознавать биологические сигналы. Т.к. биологические сигналы, являются очень специфичными, для их распознавания нужно учитывать механику процессов порождающих эти сигналы.[6] Скажем сигнал ЭКГ и сигнал ЭЭГ, исследуются различными методами.
Математические основы
На практике оказалось, что для решения большинства задач распознавания достаточно использовать всего 4 параметра для распознавания, такие как: мат. ожидание, СКО, эксцесс и асимметрия.
Для примера рассмотрим распознавание сигнала при следующих вариантах:
1) нет сигнала (только помеха)
2) синусоида + помеха
3) прямоугольный + помеха
4) радиоимпульс с прямоугольной огибающей + помеха.
Отношение сигнал/шум () в эксперименте равно 0.2.
Амплитуду сигнала возьмем равной 1 Вольт (чтобы не нормировать), и помеха в виде белого шума с нормальным распределением.
Для распознавания будем использовать двухслойный персептрон, с 4 входами, 4 выходами и 9 нейронами на скрытом слое (по теореме Колмогорова достаточное условие).[4]
Первичная обработка
Составим вектор в пространстве признаков, для начала определим модель шума:
[2,3]
Теперь составим вектор для сигнала с помехой:
m — математическое ожидание, D — дисперсия, — СКО, — эксцесс, — асимметрия.
Но это было в случае с непрерывными сигналами, и когда известно аналитическое выражение плотности вероятности f (x). С дискретным сигналом интеграл заменяется на сумму. И мы уже говорим не о статистических параметрах, а об их оценках.[2] А там вступают в силу погрешности определения оценок (о них мы поговорим в другой статье).
N — количество отсчетов.
После этого можем сформировать входной вектор для нейронной сети.
Переменные с индексом «x» — компоненты входного вектора, без индекса — характеристики сигнала с шумом, а с индексом»» модель шума. Для нормировки СКО делится еще 2.5.
Практическая реализация
Вот-так выглядит интерфейс тестовой программы.
В данном эксперименте вероятность верного распознавания составила 94.6%. Нейронная сеть обучалась методом градиентного спуска на выборке в 50 реализаций на сигнал, в сигнале 2001 отсчет.
Литература:
- Классификация. Гипотеза компактности
- Вентцель Е.С. Теория вероятностей: Учеб. для вузов. — 6-е изд. стер. — М.: Высш. шк., 1999.
- В.И. Тихонов. Статистическая радиотехника.
- Станислав Осовский. Нейронные сети для обработки информации.
- А.М. Дейч. Методы идентификации динамических объектов
- Синютин С.А. Проектирование микроконтроллерных систем съема, обработки и анализа электрокардиосигнала.
Комментарии (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) Какой тип использовать, КИХ или БИХ;К тому же их довольно сложно рассчитывать. Он же состоит из СФОИ, линий задержки и сумматора.