— PROJECT NAME
Antenna Pattern Interpolator
— ASSOCIATED ROLE
Electronic Warfare Intern, 771st Test Squadron
— COLLABORATOR
Tony Korol (EW Intern)
— DATE
Summer 2024
— KEYWORDS
Antenna Pattern, Python, 2D Interpolation, 3D Interpolation
For this project, I created a python script which interpolates the principal 2D slices (elevation and azimuth) from an antenna pattern of sparse resolution into the full 3D antenna pattern at the desired resolution.
The script has three main steps:
Sampling: The antenna pattern cuts are downscaled to create representative data of poor resolution. (Note: This step is only included to test the script)
2D Interpolation: To increase the resolution of the azimuth and elevation slices, cubic spline interpolation is used.
3D Interpolation: To reconstruct the 3D Pattern, three algorithms are implemented: summing [3, p.1], approximation [2,p.2] and a hybrid summing/approximation method [2, p.4].
Interpolation Steps. Own Work.
There are a couple different reasons this could be useful:
if you wanted to get the full pattern of an antenna, you would only need to manually measure a couple points in two planes rather than one point for every degree in 3D space (The more points you manually measure, the lower the interpolation error).
If you wanted to calculate power received at a certain point, but didn't have the antenna gain for every point in 3D space, you could use interpolation to estimate it.
(1) Creating Representative Data
Before focusing on interpolation, I first needed to find an existing antenna pattern to use. For this, I decided to use the antenna pattern of a Wi-Fi router. Specifically, the U7 Outdoor operating at 5GHZ.
The antenna pattern was contained in a .ant file.
The first 360 values of the file corresponded to the azimuth plane of the antenna pattern while the next 360 corresponded to elevation plane of the antenna pattern.
Both planes were extracted, then displayed as polar graphs.
Antenna Pattern, Model Summary Plots provided by UniFi [1]
What are the Principal Slices of an Antenna Pattern?
Each of the orthogonal slices represent a planar cut in the full 3D antenna pattern. The horizontal (azimuthal) slice occurs at θ =π/2 while the vertical (elevation) slice occurs at ϕ=0.
U7 Outdoor Antenna Pattern Imported from .ant file. Own Work.
Downscaling
In order to downscale the antenna pattern resolution, I periodically sample the data, or functionally, implement a comb function. This is done to create representative poor resolution data. In essence, this simulates someone manually taking a few measurements of an antenna pattern.
Downscaling Visualized with Matplotlib. Own Work.
(2) 2D Interpolation
Upscaling Visualized with Matplotlib. Own Work.
To demonstrate robust operation, the representative data had a reasonably low resolution. Therefore before executing the 3D interpolation, I first used cubic spline interpolation to upscale the principle slices of the antenna pattern.
This method of interpolation essentially estimates new points in-between the points in the existing data by connecting them with splines which are cubic polynomials
Specifically, I implemented this using the interp1d function in SciPy
(3) 3D Interpolation
Now that we have high resolution cuts in azimuth and elevation, we can use these to reconstruct the full pattern. This is done using three algorithms: summing [3, p.1], approximation [2,p.2] and a hybrid summing-approximation method [2, p.4].
Summing Algorithm
Result of Summing Algorithm. Own Work.
This first method is the simplest and somewhat of an industry standard. It comprises of adding the decibel gain values of the antenna's principal planes (e.g. elevation, azimuth) [3,p.1]. For decimal values, this is equivalent to multiplication.
When the antenna pattern is axially symmetric, no error produced is from 3D interpolation [2,p.2]
This method is "relatively good" at approximating the main lobe of directive antennas but can fail when it comes to side and back lobes [3, p.2]
In terms of the decibel values:
In terms of the anti-log values:
Comparison of Original and Post-Summing Algorithm Data. Own Work.
Approximation Algorithm
Result of Approximation Algorithm. Own Work.
Divergence of Approximation from Summing. [2, p.3]
The next method, "approximation", is a type of summing algorithm with cross-weighing. What makes this approach unique is that the data of one principal cut is related to the other as a function of angular distance between them.
Approximation Algorithm Methodology [2, p.2]
When the antenna pattern is axially symmetric, no error produced is from 3D interpolation [2,p.2]
This method produces results which are more "optimistic" than summing (i.e. estimate higher gain).
A1 and A2 define the participation of each slice in the interpolation. When A1 = 1 and A2 = 1, the approximation and summing algorithm produce the same results (See: Fig. 2).
Increasing the parameter k produces an increasingly conservative estimate, however, k=2 was found to produce minimum error for directive antennas [2,p.3].
Comparison of Original and Post-Weighted Summing Algorithm Data. Own Work.
Hybrid Algorithm
Result of Hybrid Algorithm. Own Work.
The hybrid method seeks to enhance the performance of the approximation algorithm by combining it with the summing algorithm. This approach works by increasing or decreasing the weight of the two algorithms based on angular distance.
Hybrid Algorithm Methodology [2, p.2]
The parameter n must be set according to the directivity of the antenna under test. However, for directive antenna, a good rule of thumb is to set n less than or equal to 6 [2 p.4].
The method is accurate for for 3D radiation patterns of directive arrays with complex principal patterns.
Comparison of Original and Post-Hybrid Algorithm Data. Own Work.
(4) Evaluation of Results
The error produced as a result of the summing and hybrid algorithms are comparable, however, the approximation algorithm produces the most error.
The tradeoff for increased error is that the approximation algorithm produces the most "optimistic" result (i.e. estimates higher gain).
The summing algorithm produces the most "conservative" result (i.e. estimates lower gain).
The hybrid method has low error without under-estimating gain.
Error Calculated Between Original and Post-Interpolation Data. Own Work.
A note on error:
The optimal way to calculate 3D interpolation error would be finding the difference between the original 3D antenna pattern and the pattern reconstructed from the principal planes [3,p.3].
However, I did not have the full 3D pattern at my disposal, only have the principal planes of the antenna pattern. So 3D interpolation error was found by comparing the original principal planes with cuts made from the reconstructed 3D pattern.
While useful, this method is somewhat non-rigorous because cases could plausibly exist where an interpolation method has greater error in the principal slices while having less error in the interpolated 3D pattern overall (or vice-versa).
[1] “AP Antenna Radiation Patterns,” UniFi, March. 1, 2023. [Online]. Available: https://help.ui.com/hc/en-us/articles/115005212927-AP-Antenna-Radiation-Patterns
[2] T. G. Vasiliadis, A. G. Dimitriou and G. D. Sergiadis, "A novel technique for the approximation of 3-D antenna radiation patterns," in IEEE Transactions on Antennas and Propagation, vol. 53, no. 7, pp. 2212-2219, July 2005. [Online]. Available: https://ieeexplore.ieee.org/document/1461546
[3] N. R. Leonor, R. F. S. Caldeirinha, M. G. Sánchez and T. R. Fernandes, "A Three-Dimensional Directive Antenna Pattern Interpolation Method," in IEEE Antennas and Wireless Propagation Letters, vol. 15, pp. 881-884, 2016. [Online]. Available: https://ieeexplore.ieee.org/document/7268850