Документация Engee
Notebook

Диаграммы направленности антенн (часть 1)

В примере рассматривается задание и построение диаграмм направленности (ДН) различных антенных элементов с помощью системных объектов (СО) библиотеки EngeePhased

Исходные параметры антенного элемента

Перед построением выберем тип графика: gr() - статический, plotlyjs() - динамический.

In [ ]:
is_dinamic_plot = false # динамический график (true или false)
is_dinamic_plot ? plotlyjs() : gr()
Out[0]:
Plots.GRBackend()

Зададим основные параметры антенных элементов:

In [ ]:
fc = 500e6 # частота излучения антенны
freq_rng = [50e6 1000e6] # частотный диапазон антенны

azim_ang = reshape(Vector(-180:180),1,:) # диапазон азимутальных углов
elev_ang = reshape(Vector(-90:90),1,:); # диапазон по углу места

1. Изотропный излучатель

Все антенные элементы располагаются во встроенной библиотеке "EngeePhased". Для задания системного объекта изотропного антенного элемента необходимо вызвать функцию EngeePhased.IsotropicAntennaElement, внутри которой определить необходимые параметры элемента:

In [ ]:
# Содание антенного элемента
iso_element = EngeePhased.IsotropicAntennaElement(
    FrequencyRange=freq_rng, # частотный диапазон
    BackBaffled=false # обратное отражение
)
Out[0]:
IsotropicAntennaElement: FrequencyRange=[5.0e7 1.0e9] BackBaffled=false

Для построения ДН необходимо вызвать функцию pattern c входными аргументами в следующем порядке:

In [ ]:
pattern(
    iso_element, # антенный элемента
    fc, # частота излучения антенны
    azim_ang, # диапазон азимутальных углов
    elev_ang # диапазон по углу места
)
title!(" ДН изотропного элемента")
plot!(colorbar_title="КНД (дБи)")
Out[0]:

2 Косинусный излучатель

Аналитически, выражение для ДН данной антенны имеет вид: $\begin{align} f(az,el)=cos(az)^m cos(el)^n, \end{align}$ где $f-$ функция ДН; $az$ - азимутальный угол; $el$ - угол места; $m,n$ - показатели степени косинуса (вещественные числа, больше и равные нулю)

Программно косинусный элемент задается с помощью функции CosineAntennaElement:

In [ ]:
cos_element = EngeePhased.CosineAntennaElement(
    FrequencyRange=[50e6 1000e6], # частотный диапазон
    CosinePower=[1.5 1.5] # показатели степени функции косинуса
)
Out[0]:
CosineAntennaElement: FrequencyRange=[5.0e7 1.0e9] CosinePower=[1.5 1.5]

Построим ДН для нового антенного элемента

In [ ]:
pattern(cos_element,fc,azim_ang,elev_ang)
title!(" ДН косинусной антенны")
plot!(colorbar_title="КНД (дБи)")
Out[0]:

3 Кардиоидный антенный элемент

Антенный элемент формируется с помощью функции CardioidAntennaElement Для задания направления минимума антенного элемента, необходимо задать ось и ее направление с помощью параметра NullAxisDirection:

In [ ]:
cardiod_element = EngeePhased.CardioidAntennaElement(
    FrequencyRange=freq_rng, # частотный дипазон
    NullAxisDirection="-x" # направление минимума антенны
)
Out[0]:
CardioidAntennaElement: FrequencyRange=[5.0e7 1.0e9] NullAxisDirection=-x

В зависимости от параметра NullAxisDirection характеристика ДН антенного элемента будет представлять выражение:

| "-x" | "-y" | "-z" | | --------- | -------- | | $\begin{align}f(az,el)=\frac{\sin(\frac{\pi}{2}\sin(az-90^\circ)\cos(el)+\frac{\pi}{2})}{2\sin(\frac{1}{2}(\frac{\pi}{2}\sin(az-90^\circ)cos(el)+\frac{\pi}{2}))}\end{align}$ | $\begin{align}f(az,el)=\frac{\sin(\frac{\pi}{2}\sin(az-180^\circ)\cos(el)+\frac{\pi}{2})}{2\sin(\frac{1}{2}(\frac{\pi}{2}\sin(az-180^\circ)cos(el)+\frac{\pi}{2}))}\end{align}$ | $\begin{align}f(az,el)=\frac{\sin(\frac{\pi}{2}\sin(-el)+\frac{\pi}{2})}{2\sin(\frac{1}{2}(\frac{\pi}{2}\sin(-el)+\frac{\pi}{2}))}\end{align}$

| "+x" | "+y" | "+z" | | --------- | -------- | | $\begin{align}f(az,el)=\frac{\sin(\frac{\pi}{2}\sin(az+90^\circ)\cos(el)+\frac{\pi}{2})}{2\sin(\frac{1}{2}(\frac{\pi}{2}\sin(az+90^\circ)cos(el)+\frac{\pi}{2}))}\end{align}$ | $\begin{align}f(az,el)=\frac{\sin(\frac{\pi}{2}\sin(az)\cos(el)+\frac{\pi}{2})}{2\sin(\frac{1}{2}(\frac{\pi}{2}\sin(az)cos(el)+\frac{\pi}{2}))}\end{align}$ | $\begin{align}f(az,el)=\frac{\sin(\frac{\pi}{2}\sin(el)+\frac{\pi}{2})}{2\sin(\frac{1}{2}(\frac{\pi}{2}\sin(el)+\frac{\pi}{2}))}\end{align}$

Построим антенный элемент

In [ ]:
pattern(cardiod_element,fc) 
title!("Диаграмма направленности кардиоидной антенны")
plot!(colorbar_title="КНД (дБи)")
Out[0]:

4. Пользовательский антенный элемент

Кроме известных антенных элементов существует возможность сформировать собственный антенный элемент с произовольной диаграммой направелнностью.

Предположим, что требуется антенный элемент с ДН, заданной функцией Гаусса. Зададим поверхность с помощью функции gauss:

In [ ]:
gauss(x,y) = exp.(-(x.^2 .+ y.^2))

x_grid = LinRange(-4,4,361) # сетка по оси x
y_grid = LinRange(-2,2,181) # сетка по оси y
custom_pattern = gauss(x_grid',y_grid);

Визуализируем поверхность в декартовых координатах:

In [ ]:
surface(
    x_grid,y_grid,custom_pattern,
    title="Повехность функции гаусса",
    xlabel="x",ylabel="y",
    zlabel="z",xlims=(-2,2)
)
Out[0]:

Теперь, с помощью системного объекта EngeePhased.CustomAntennaElement сформируем пользователький антенный элемент:

In [ ]:
custom_element = EngeePhased.CustomAntennaElement(
    MagnitudePattern = custom_pattern
);
In [ ]:
fig2 = pattern(custom_element,fc)
plot!(fig2,title="ДН пользовательской антенны",
    colorbar_title="КНД, дБи"
)
Out[0]:

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

Заключение

В примере продемонстрирована построение и анализ характеристик антенных элементов с помощью встроенной библиотеки EngeePhased. С использованием данной библиотеки возможно построения готовых элементов или задавать собственный антенный элемент с произвольной диаграммой направленностью.