ПРОГРАММА КОРРЕЛЯЦИОННОГО ФИЛЬТРА РАДИОСИГНАЛА

Хрестинин Дмитрий Владимирович1, Войтик Юрий Васильевич2, Грибанов Артем Алексеевич3, Данилов Максим Андреевич4
1Военно-космическая академия имени А.Ф.Можайского, г. Санкт-Петербург, преподаватель кафедры
2Военно-космическая академия имени А.Ф.Можайского, г. Санкт-Петербург
3Военно-космическая академия имени А.Ф.Можайского, г. Санкт-Петербург
4Военно-космическая академия имени А.Ф.Можайского, г. Санкт-Петербург

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

Ключевые слова: , , , , ,


Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Хрестинин Д.В., Войтик Ю.В., Грибанов А.А., Данилов М.А. Программа корреляционного фильтра радиосигнала // Современные научные исследования и инновации. 2023. № 4 [Электронный ресурс]. URL: https://web.snauka.ru/issues/2023/04/100144 (дата обращения: 19.04.2024).

Введение

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

Корреляционная обработка сигнала

Корреляционная обработка сигналов – это процесс, в ходе которого сигналы сравниваются между собой, ищется совпадение или корреляция между ними. Использование корреляционной обработки позволяет уменьшить уровень шума в сигнале и обнаружить желаемый сигнал на фоне шума.
Это метод обработки сигналов, который основан на сравнении входного сигнала с шаблоном или эталоном. Для этого используется функция корреляции, которая позволяет определить схожесть между двумя сигналами. Она используется для решения различных задач, таких как выделение сигнала из шума, синхронизация сигналов, а также определение параметров сигнала, таких как частота и фаза, позволяет извлекать полезную информацию из зашумленного сигнала и увеличивать отношение сигнал/шум.
Для этого оператор сигнала умножается на его комплексно-сопряженное значение и интегрируется по времени. Результатом является функция корреляции, которая показывает сходство между сигналом и шаблоном (или другим сигналом). Если функция корреляции достигает максимального значения, то можно сделать вывод о том, что оба сигнала идентичны. Одной из основных целей корреляционной обработки радиосигнала является определение расстояния до источника сигнала и его направления. Для этого используется корреляционный анализ, который позволяет вычислить коэффициент корреляции между входным сигналом и шаблоном, который представляет собой предполагаемое поведение радиосигнала.
В ходе разработки программы, необходимо так же понимание, каким образом происходит обнаружение сигналов с полностью известными параметрами.
Обнаружение сигналов с полностью известными параметрами осуществляется с помощью математических алгоритмов, которые позволяют определить сигнал и отделить его от фона, создаваемого другими источниками. Это позволяет определить параметры сигнала (частоту, фазу, амплитуду и длительность) и использовать его в дальнейшей обработке.

Простейший корреляционный обнаружитель. Физический смысл корреляционной обработки

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

Здесь y(t) – принимаемый сигнал;
x(t) – ожидаемый (или опорный) сигнал. Этот сигнал формируется на РЛС и должен по своим время-частотным характеристикам совпадать с полезным сигналом, содержащимся в принимаемом сигнале в аддитивной смеси с шумом.
Алгоритм обнаружения тогда должен включать следующие операции:
1. 
2. Решающее правило:

На основе указанного алгоритма можно разработать структурную схему простейшего одноканального корреляционного обнаружителя сигнала с ПИП, которая представлена на рисунке 1. Эта схема может помочь в понимании физического смысла корреляционной обработки.
В представленной схеме сигнал, принимаемый на вход, разделяется на полезный сигнал x(t) и шум n(t). Для простоты предполагается, что опорный сигнал, которым сравнивается полезный сигнал, совпадает с ним по всем своим информативным параметрам. Такое предположение необходимо для корректной обработки сигнала.
Функция корреляции используется для сравнения полезного и опорного сигналов. Эта функция показывает, насколько сильно два сигнала похожи друг на друга. Чем больше значение корреляции, тем более вероятно наличие цели.
Таким образом, применение корреляционного обнаружителя в системе с ПИП позволяет эффективно обнаруживать цели в условиях наличия шума и помех.

Рисунок 1. Структурная схема простейшего одноканального корреляционного обнаружителя сигнала с ПИП

Здесь  - сигнальная составляющая корреляционного интеграла, равная энергии полезного сигнала;
 - помеховая составляющая корреляционного интеграла.
Пусть полезный сигнал, отраженной целью, является прямоугольным радиоимпульсом. Представим себе гипотетический случай, когда помехи нет, а в принимаемом сигнале содержится только полезный сигнал (цель есть), то есть y(t) = x(t).
Графики опорного сигнала x(t), принимаемого y(t), результат их про-изведения y(t) x(t) и корреляционный интеграл z изображены на рисунке
2 (А, Б, В, Г) соответственно. Из рисунка 2 (Г) следует, что корреляционный интеграл монотонно нарастает в течении 
tи и при t =tи равен энергии сигнала.

Рисунок 2. Графики: опорного сигнала (А), приемного сигнала (Б), произведение сигналов (В), корреляционного интеграла (Г)

Стадия разработки программного обеспечения

Данное программное обеспечение было разработано при помощи современных подходов объектно-ориентированного программирования с использованием чистой архитектуры, рисунок 3.

Рисунок 3. Современные методы объектно-ориентированного программирования с использованием чистой архитектуры

Основными принципами построения чистой архитектуры являются:
Независимость от внешних библиотек. Архитектура не зависит от существования какой-либо библиотеки. Это позволяет использовать фреймворк в качестве инструмента вместо того, чтобы втискивать свою систему в рамки его ограничений.
Тестируемость. Управляющий слой может быть протестирован без пользовательского интерфейса, базы данных или любого другого внешнего компонента.
Независимость от UI. Пользовательский интерфейс можно легко изменить, не изменяя остальную систему. Например, графический интерфейс может быть заменен на консольный, без изменения бизнес-правил.
Независимость от базы данных. Ваши управляющие правила не связаны с базой данных.
Программное обеспечение создано в три слоя (“domain-presentation-data”, известный также как “D-P-D”, иллюстрировано на рис. 4) состоит в том, чтобы разделить код на три слоя с четко определенными задачами и ответственностями.

Рисунок 4. Принцип разработки программного обеспечения в три слоя

“Domain” (представление) слой содержит логику приложения и представляет собой ядро системы. В этом слое описываются объекты и их методы, которые отвечают за решение конкретных задач.
“Presentation” (управление) слой отвечает за отображение данных и взаимодействие с пользователем. В этом слое определяются элементы пользовательского интерфейса, такие как окна, кнопки и текстовые поля, и организуется их взаимодействие с общей системой.
“Data” (данные) слой отвечает за хранение данных в базе данных или других источниках. Здесь определяются таблицы, хранимые процедуры, функции и все, что связано с работой с данными.
Такой подход к разработке программного обеспечения помогает разработчикам легко масштабировать приложение, а также повторно использовать уже написанный код. Кроме того, он облегчает тестирование каждого слоя, что помогает поддерживать надежность и качество приложения на высоком уровне.

Алгоритм работы программы

На рисунке 5 изображен принцип работы разработанного программного обеспечения в виде блок-схемы.

Рисунок 5. Блок схема работы программы корреляционного фильтра

Работа алгоритма программы

Функции расчета параметров и координат сигналов для отрисовки на графической сетке находятся в файле «/CorrelationFilter/data/ AppRepositorylmpl.py».
В функции «GetGraphOfSignal» (рис. 6) принимается объект «signal» с полями: амплитуда, частота, фаза, продолжительность и частота дискретизации в качестве аргумента. Инициализируются два массива «x» и «y». В цикле переменная «I» принимает значения в пределе от 1 до произведения продолжительности сигнала на частоту дискретизации.

Рисунок 6. Обработка входных данных

В массив «x» записываются результаты деления переменной «I» на частоту дискретизации, в массив по «y» формуле:

Где f – частота;
F – частота дискретизации;
ϕ – фаза;
А – амплитуда
В функции «multiplyGraphOfSignals» (рис. 7) принимается массив объектов «SignalSin» с полями «x» и «y» в качестве аргумента. Если длина массива «x» первого объекта «SignalSin» совпадает с длинной массива «x» второго объекта «SignalSin», функция возвращает 0,0, в противном случае, в цикле поэлементно перемножаются массивы «y» первого и второго объекта, и возвращаются два массива: «x» первого объекта «SignalSin» и «y», полученный в ходе перемножения.

Рисунок 7. Перемножения сигналов, обработка данных с условием

В функции «integrateSignals» (рис. 8) принимается массив объектов «SignalSin» с полями «x» и «y» в качестве аргумента. Производится интегрирование и возвращается результат интегрирования в виде двух массивов координат «x» и «y».

Рисунок 8. Произведение интегрирования сигналов

Программный интерфейс

Программа представляет собой приложение Python с графическим интерфейсом, содержащее элементы управления, оси для вывода графиков и текстовые области для ввода исходных данных и вывода результатов.
Для работы с Программой необходимо запустить приложение App.exe.
Стартовое окно Программы представлено на рис.9.


Рисунок 9. Стартовое окно программы

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

  • частота дискретизации, фаза, амплитуда зондирующего и принимаемого сигнала. В качестве примера были введены параметры (см. рис. 10);
  • в качестве визуальной настройки можно изменять параметры частоты дискретизации по средствам соответствующей окружности (см. рис 11), что приведет к изменению внешнего вида графика (чем больше значение частоты дискретизации, тем более плавным будет визуальный переход между рассчитанными параметрами сигналов) на промежутке времени;

Рисунок 10. Графический вывод

Рисунок 11. Изменения параметров частоты дискретизации сигнала
  • параметры долготы проекции сигнала также можно регулировать по средствам окружности «Время» (рис. 12);

Рисунок 12. Изменения параметров времени
  • На вкладке «Расчеты» также присутствуют графики произведения зондирующего сигнала с приемным (сверху) и график интеграла от произведения (снизу), на котором также можно наблюдать пороговое значение, выставленное пользователем (рис. 13).

Рисунок 13. Графики вкладки «Расчеты»

Заключение

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


Библиографический список
  1. Бердышев В. П., Гарин Е. Н., Фомин А. Н. Радиолокационные системы. Сибирский федеральный университет. 2012. – 402.
  2. Славков М.В., Лавров А.В. Программное обеспечение корреляционной обработки радиолокационных сигналов. Известия Томского политехнического университета. 2017. Т. 330. № 5. С. 132-142.
  3. Барышников А.В., Алексеев А.В. Корреляционный обнаружитель радиосигнала. Вестник Российского государственного университета имени И.Канта. 2014. № 2. С. 58-62.
  4. Новиков А.А., Новиков Н.А. Цифровая обработка сигналов. Учебное пособие. М., Издательство Юрайт, 2019. – 240 с.
  5. Кудрявцев В.С., Конаков В.Ф. Корреляционный анализ в психологических исследованиях. Психологический журнал. 2012. Т. 33. № 5. С. 63-76.
  6. Витязева М.В., Рянкина С.М., Хитров Д.М. Корреляционный подход в анализе временных рядов физиологических сигналов. Вестник Северо-Восточного федерального университета имени М.К. Аммосова. 2016. № 3. С. 106-112.


Количество просмотров публикации: Please wait

Все статьи автора «Войтик Юрий Васильевич»


© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте или через форму обратной связи.

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться:
  • Регистрация