Antenna radiation patterns (Part 1)
The example describes the assignment and construction of directional patterns (DN) of various antenna elements using the system objects (CO) of the EngeePhased library.
Initial parameters of the antenna element
Before plotting, select the graph type: gr() - static, plotlyjs() - dynamic.
is_dinamic_plot = false # динамический график (true или false)
is_dinamic_plot ? plotlyjs() : gr()
Let's set the basic parameters of the antenna elements:
fc = 500e6 # частота излучения антенны
freq_rng = [50e6 1000e6] # частотный диапазон антенны
azim_ang = reshape(Vector(-180:180),1,:) # диапазон азимутальных углов
elev_ang = reshape(Vector(-90:90),1,:); # диапазон по углу места
1. Isotropic radiator
All antenna elements are located in the built-in library "EngeePhased". To set the system object of the isotropic antenna element, you must call the function EngeePhased.IsotropicAntennaElement, inside which to define the necessary element parameters:
# Содание антенного элемента
iso_element = EngeePhased.IsotropicAntennaElement(
FrequencyRange=freq_rng, # частотный диапазон
BackBaffled=false # обратное отражение
)
To build a date, you need to call the function pattern with the input arguments in the following order:
pattern(
iso_element, # антенный элемента
fc, # частота излучения антенны
azim_ang, # диапазон азимутальных углов
elev_ang # диапазон по углу места
)
title!(" ДН изотропного элемента")
plot!(colorbar_title="КНД (дБи)")
2 Cosine emitter
Analytically, the expression for the DN of a given antenna has the form:
where DN function;
- azimuth angle;
- seat angle;
- exponents of the cosine degree (real numbers greater than and equal to zero)
Programmatically, the cosine element is set using the function CosineAntennaElement:
cos_element = EngeePhased.CosineAntennaElement(
FrequencyRange=[50e6 1000e6], # частотный диапазон
CosinePower=[1.5 1.5] # показатели степени функции косинуса
)
Let's build the base for the new antenna element
pattern(cos_element,fc,azim_ang,elev_ang)
title!(" ДН косинусной антенны")
plot!(colorbar_title="КНД (дБи)")
3 Cardioid antenna element
The antenna element is formed using the function CardioidAntennaElement To set the minimum direction of the antenna element, it is necessary to set the axis and its direction using the parameter NullAxisDirection:
cardiod_element = EngeePhased.CardioidAntennaElement(
FrequencyRange=freq_rng, # частотный дипазон
NullAxisDirection="-x" # направление минимума антенны
)
Depending on the parameter NullAxisDirection the characteristic of the bottom of the antenna element will be the expression:
| "-x" | "-y" | "-z" |
| --------- | -------- |
| | |
| "+x" | "+y" | "+z" |
| --------- | -------- |
| | |
Let's build an antenna element
pattern(cardiod_element,fc)
title!("Диаграмма направленности кардиоидной антенны")
plot!(colorbar_title="КНД (дБи)")
4. Custom antenna element
In addition to the known antenna elements, it is possible to form your own antenna element with a custom directional pattern.
Let's assume that an antenna element with a DN specified by the Gaussian function is required. Let's define the surface using the function gauss:
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);
Visualize the surface in Cartesian coordinates:
surface(
x_grid,y_grid,custom_pattern,
title="Повехность функции гаусса",
xlabel="x",ylabel="y",
zlabel="z",xlims=(-2,2)
)
Now, using the system object EngeePhased.CustomAntennaElement let's form a custom antenna element:
custom_element = EngeePhased.CustomAntennaElement(
MagnitudePattern = custom_pattern
);
fig2 = pattern(custom_element,fc)
plot!(fig2,title="ДН пользовательской антенны",
colorbar_title="КНД, дБи"
)
As a result of using a custom antenna element, it was possible to achieve a more directional bottom.
Conclusion
The example demonstrates the construction and analysis of antenna element characteristics using the built-in library. EngeePhased. Using this library, it is possible to build ready-made elements or set your own antenna element with an arbitrary directional pattern.