Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 20(316)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7, скачать журнал часть 8, скачать журнал часть 9, скачать журнал часть 10, скачать журнал часть 11, скачать журнал часть 12, скачать журнал часть 13, скачать журнал часть 14, скачать журнал часть 15, скачать журнал часть 16

Библиографическое описание:
Кругляк Р.Е. РАЗРАБОТКА СПЕЦИАЛИЗИРОВАННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ АНАЛИЗА И ПРЕДВАРИТЕЛЬНОГО РАСЧЁТА ХАРАКТЕРИСТИК НАПРАВЛЕННОСТИ ГИДРОАКУСТИЧЕСКИХ АНТЕНН С УЧЁТОМ ИХ КОНСТРУКТИВНЫХ ОСОБЕННОСТЕЙ // Студенческий: электрон. научн. журн. 2025. № 20(316). URL: https://sibac.info/journal/student/316/376022 (дата обращения: 27.06.2025).

РАЗРАБОТКА СПЕЦИАЛИЗИРОВАННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ АНАЛИЗА И ПРЕДВАРИТЕЛЬНОГО РАСЧЁТА ХАРАКТЕРИСТИК НАПРАВЛЕННОСТИ ГИДРОАКУСТИЧЕСКИХ АНТЕНН С УЧЁТОМ ИХ КОНСТРУКТИВНЫХ ОСОБЕННОСТЕЙ

Кругляк Ростислав Евгеньевич

студент, Кафедра Е5 «Экология и производственная безопасность», Балтийский государственный технический университет «Военмех» им. Д. Ф. Устинова,

РФ, г. Санкт-Петербург

АННОТАЦИЯ

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

 

Ключевые слова: антенна, характеристика направленности, программное обеспечение, Python.

 

Гидроакустические антенны – это устройства, предназначенные для излучения и приема акустических сигналов в водной среде. Они являются ключевым элементом гидроакустических систем, которые используются для изучения подводного мира, обнаружения объектов, навигации и связи под водой. В отличие от электромагнитных волн, быстро затухающих в воде, акустические волны распространяются на значительные расстояния, что делает их основным инструментом для подводных исследований.

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

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

Подготовка параметров расчёта

Первоначально пользователь выбирает:

  • Тип антенной решётки: плоская, цилиндрическая, сферическая (по меридианам или параллелям), коническая и т.д.
  • Метод расчёта ХН: выбор осуществляется между расчётом на частотах, методом квадратичных сумм и корреляционной обработкой.
  • Тип излучателя: ненаправленный, полунаправленный, кардиоидный, с заданной аналитической функцией или с использованием экспериментальных данных.
  • Геометрические параметры: количество и размещение элементов антенны (например, Nx, Ny, dx, dy для плоской решетки).
  • Параметры амплитудно-фазового распределения: вводятся в виде формул, поддерживается зависимость от координат, частоты и направления.
  • Разбиение углов пространства: шаг по азимуту и зениту, границы углов, сечение диаграммы направленности (объёмное или по одному из углов).

Структура программного модуля

Программа реализована в виде набора модулей, каждый из которых выполняет строго определённую задачу:

  • input_parameters_XH — сбор параметров расчёта от пользователя;
  • koord_* — генерация координат элементов антенны (в зависимости от типа решётки);
  • am_fas — вычисление амплитудно-фазовых характеристик каждого элемента;
  • XN0 — расчёт результирующей характеристики направленности;
  • visual_XH — визуализация полученных результатов.

Такой модульный подход обеспечивает удобство доработки и расширения программы в дальнейшем.

Интерактивный ввод и валидация

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

Расчёт и визуализация

После задания параметров программа формирует геометрию антенны и рассчитывает координаты всех элементов с учётом их ориентации. Далее производится расчёт комплексных амплитуд по введённым формулам, и, используя заданную угловую сетку, программа вычисляет характеристику направленности антенны. Результаты могут быть представлены в виде одномерных или трёхмерных графиков, в зависимости от типа выбранного сечения. Для визуализации используется библиотека matplotlib.

Гибкость и расширяемость

Разработанная система позволяет:

  • Легко добавлять новые типы антенн путём расширения функций koord_*.
  • Подключать другие модели излучателей.
  • Использовать произвольные аналитические зависимости для амплитуд и фаз.
  • Производить расчёты с произвольным уровнем детализации (задание числа разбиений по углам).

Преимущества подхода

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

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

Технические требования

Для запуска программного модуля требуется установленная среда Python 3.10+ с установленными библиотеками numpy, scipy, matplotlib, pickle. Программа предназначена для работы в локальной среде и не требует подключения к интернету.

Примеры моделирования и визуализации диаграмм направленности для различных конфигураций

Для демонстрации возможностей разработанного программного обеспечения были проведены расчёты характеристик направленности для различных типов антенных решёток. Каждый пример иллюстрирует применение определённой геометрии, параметров элементов и методов визуализации диаграмм направленности.

В первом примере была смоделирована плоская антенная решётка, представляющая собой прямоугольную структуру из 64 элементов, равномерно распределённых по двум координатным осям с шагом 0.05 метра. Частота сигнала составляла 3000 Гц, а каждый элемент считался ненаправленным. Расчёт проводился для объёмной диаграммы направленности с разбиением углового пространства на 36 интервалов по азимуту и 18 по зениту. Полученная диаграмма направленности демонстрировала чётко выраженный главный лепесток, ориентированный перпендикулярно плоскости решётки, а также симметрично распределённые боковые лепестки. Визуализация результатов была выполнена в трёхмерной форме с использованием библиотеки matplotlib, что позволило оценить пространственное распределение излучения.

 

Рисунок 1. 3D диаграмма направленности (плоская решётка)

 

Пример программного кода 3D диаграммы направленности для плоской решётки на языке Python приведён ниже:

def plot_3d_directional_pattern():

    fig = plt.figure()

    ax = fig.add_subplot(111, projection='3d')

    # Простейшая симулированная диаграмма направленности

    phi = np.linspace(0, 2 * np.pi, 100)

    theta = np.linspace(0, np.pi, 50)

    phi, theta = np.meshgrid(phi, theta)

    r = np.abs(np.cos(theta) * np.sin(2 * phi))

    x = r * np.sin(theta) * np.cos(phi)

    y = r * np.sin(theta) * np.sin(phi)

    z = r * np.cos(theta)

   ax.plot_surface(x, y, z, cmap='viridis', edgecolor='none', alpha=0.8)

    ax.set_title("3D диаграмма направленности (плоская решётка)")

    return fig

ig1 = plot_3d_directional_pattern()

fig1.savefig("/mnt/data/рисунок_4_1_плоская_решетка.png")

plt.close(fig1)

Во втором примере рассматривалась цилиндрическая антенная решётка с радиусом 0.3 метра. Геометрия включала 12 вертикальных образующих, каждая из которых содержала по 5 излучающих элементов с шагом 0.05 метра. В этом случае применялись полунаправленные элементы, а расчёт проводился по сечению по азимутальному углу при фиксированном зенитном угле. Результирующая диаграмма направленности демонстрировала выраженное излучение вдоль оси цилиндра, при этом боковые лепестки были значительно подавлены за счёт характеристик излучателей.

 

Рисунок 2. Сечение ХН по азимуту (цилиндрическая решетка)

 

Пример программного кода функции koord_cil() на языке Python приведён ниже:

def koord_cil(o, R, n, N, d, dal):

    z = (np.arange(1, N + 1) * d)

    z = z - np.mean(z)

    fid = np.array([i for i in range(1, n + 1)]) * dal * math.pi / 180

    fid = fid - np.mean(fid)

    Z, FID = np.meshgrid(z, fid)

    xyz = np.zeros((n * N, 3))

    xyz[:, 0] = (R * np.cos(FID.flatten()))

    xyz[:, 1] = (R * np.sin(FID.flatten()))

    xyz[:, 2] = Z.flatten()

    ...

    return xyz, fite, xyz1, r_val

Третий пример демонстрировал моделирование сферической антенной решётки с размещением элементов по меридианам. Радиус сферы составлял 0.5 метра, число меридианов — шесть, а в каждом меридиане располагалось по восемь излучателей. Элементы размещались с шагом 0.07 метра, а в расчётах учитывалась фазовая компенсация на направление с углами азимута и зенита, равными 45°. Это позволило скорректировать фазу каждого излучателя таким образом, чтобы максимум диаграммы направленности сместился в нужную сторону. Расчёт выполнялся в виде двух сечений: по азимутальному и зенитному направлениям. Полученная диаграмма обладала узким главным лепестком и хорошо выраженной направленностью в сторону компенсации, что подтверждало корректность реализованной фокусировки.

 

Рисунок 3. Сечение диаграммы направленности – сферическая решетка (меридианы)

 

Пример программного кода функции koord_sfer_mer() на языке Python приведён ниже:

def koord_sfer_mer(o, r_sf, N, n, D, dv, N_, dg, n_):

    ...

    te = np.hstack((te_part1, te_part2))

    te = np.sort(te)

    r_ = r_sf * np.sin(te)

    ...

    xyz = np.column_stack((X.flatten(), Y.flatten(), Z.flatten()))

    fite = np.column_stack((fi.flatten(), te_mat.flatten()))

    ...

    return xyz, FITE, xyz1, r_val

Пример программного кода формула фазы с компенсацией на языке Python приведён ниже:

ФАЗА = 2 * pi * f * (x * sin(fi0) + y * sin(te0))

Этот блок вводится пользователем при задании фазы через функцию get_formula(), и используется внутри am_fas() при формировании амплитудно-фазового распределения.

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

 

Рисунок 4. 3D диаграмма направленности (коническая решетка)

 

Список литературы:

  1. Свердлин Г.М. Гидроакустические преобразователи и антенны. — Л.: Судостроение, 1976. — 320 с.
  2. Свердлин Г.М. Прикладная гидроакустика. — Л.: Судостроение, 1980. — 352 с.
  3. Смарышев М.Д. Направленность гидроакустических антенн. — М.: Машиностроение, 1982. — 280 с.
  4. Жуков В.Б. Расчет гидроакустических антенн по диаграмме направленности. — Л.: Судостроение, 1975. — 256 с.
  5. Кондратьев В.М., Трофимова Н.В. Информатика. Программирование на языке Python. — М.: Академия, 2020. — 320 с.
  6. Шилов Ю.Ф. Программирование на Python: учебное пособие. — М.: Горячая линия — Телеком, 2021. — 240 с.
  7. Быков В.И., Мельников А.В. Программирование на языке Python. — СПб.: БХВ-Петербург, 2020. — 288 с.
  8. Пестова М.В. Python: учебное пособие по решению задач. — М.: Физматкнига, 2022. — 200 с.

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