Design and analyze parabolic reflector antennas using Gaussian beam analytical model
This release introduces the reflectorCalculator object and its associated functions that enable
you to design and analyze parabolic reflector antennas using a Gaussian beam
analytical model. You can also convert this reflectorCalculator
object to a customDualReflectors object for analysis using conventional
solver-based functions.
FEM solver and RF connector support for PCB antennas
Use the finite element method (FEM) solver to compute S-parameters and visualize
the far-field radiation pattern of PCB antennas designed with the pcbStack object. To enable the FEM
solver and RF connector, set the SolverType property of the
pcbStack object to "FEM". Specifying the
SolverType property enables the
Connector property, which you can specify using the RFConnector (RF PCB Toolbox) object.
To use this feature, you need an RF PCB Toolbox™ license in addition to the Antenna Toolbox™ license.
Import pattern data from FFS files
Use the new ffsReader function to import radiation pattern data from a Far-Field
Scan (.ffs) file into Antenna Toolbox. The
ffsReader function parses the FFS file and populates the
corresponding properties of a measuredAntenna object, enabling you to use the imported data for
further analysis.
Integrate measured or simulated radiation pattern data into RF systems
Set the properties of the measuredAntenna object using your pattern data, then assign the object to:
Antenna Object parameter of the Transmitter, Receiver, and TxRxAntenna elements in the RF Budget Analyzer (RF Toolbox) app.
Antennaproperty of theTransmitter(Satellite Communications Toolbox) andReceiver(Satellite Communications Toolbox) objects.
Perform pattern multiplication on measured or simulated pattern data
Set the properties of the measuredAntenna object using your pattern data, then assign it to the
Element property of linearArray, rectangularArray, or circularArray objects. Finally, use
the patternMultiply function on these
array objects to compute and visualize the array's overall radiation pattern using
pattern multiplication.
Create txsite and rxsite objects from
measured pattern data
Create sites from measured pattern data by specifying the
Antenna property of the txsite
or rxsite
object as a measuredAntenna object.
Specify voltage and phase at each feed point for custom-designed antennas
Use the new FeedVoltage and FeedPhase
properties of the customAntenna object to specify the excitation amplitude (voltage) and
phase at each feed point in antennas that support multiple feeds. These properties
let you apply amplitude tapering and phase shifting across the feeds, enabling
precise control of excitation for advanced antenna designs.
Substrate support for patch antenna AI models
The AIAntenna object now supports patchMicrostripCircular and patchMicrostripElliptical antennas with non-air substrates. You can
use the new SubstrateEpsilonR property to explore designs with
different dielectric relative permittivity.
View optimizer parameters history after optimization
The optimize function now returns the parameter history of the specified
optimizer (SADEA or TR-SADEA) along with the optimization results. To view the
optimizer parameter history, specify an additional output argument when calling the
function.
glTF files in Site Viewer have brighter appearance
When you read a scene model from a GL Transmission Format (glTF™) file into Site Viewer by using the siteviewer function, the model has a brighter appearance. This image
compares a scene model in Site Viewer in R2025b and R2026a.

Create multiple txsite and rxsite objects
using additional input sizes
When you create multiple txsite
and rxsite
objects, you can now specify these name-value arguments using additional input sizes:
Specify the
AntennaPositionname-value argument as a three-element row vector or a 3-by-N matrix, where N is the number of sites. In previous releases, you could specify the argument as a three-element column vector.Specify the
AntennaHeight,SystemLoss,TransmitterFrequency,TransmitterPower, andReceiverSensitivityname-value arguments as column vectors. In previous releases, you could specify the arguments as scalars or row vectors.
Site Viewer and comm.Ray objects report custom material
interactions using more specific names
For propagation rays created from a RayTracing propagation model object with custom materials, the
information box for siteviewer objects and the Interactions property
of comm.Ray objects report interactions with the custom materials using
these names:
"custom-buildings-material", when you specify theBuildingsMaterialproperty of theRayTracingobject as"custom"and the propagation ray interacts with a building in a geographic scene."custom-terrain-material", when you specify theTerrainMaterialproperty of theRayTracingobject as"custom"and the propagation ray interacts with terrain in a geographic scene."custom-surface-material", when you specify theSurfaceMaterialproperty of theRayTracingobject as"custom"and the propagation ray interacts with a surface in a Cartesian scene.
In previous releases, the information box and Interactions
property report names such as "custom1" and
"custom2".
Perform ray tracing analysis using improved polarization algorithm
Ray tracing functions calculate path loss and phase shift using the polarization convention described by IEEE® Standard 145-2013, such that MATLAB® expects the polarization of the receiver antenna to be defined as if it were transmitting.
As a result of this change:
The
rayplfunction, when you specify theReceiverPolarizationargument, can return different path loss and phase shift values in R2026a compared to previous releases.When used with polarized antennas, the
raytracefunction can return propagation rays with different path loss and phase shifts values in R2026a compared to previous releases.When used with a
RayTracingobject and polarized antennas as input, thesigstrength,coverage,sinr,link,pathloss, andrangefunctions can return different values in R2026a compared to previous releases.
Propagation models that combine rain and ray tracing use improved algorithm
Propagation models that combine Rain
objects and RayTracing objects use an improved algorithm, where the model
calculates propagation loss from rain for each ray path segment.
As a result of this change, when used with a propagation model that combines rain and ray tracing:
Functionality being removed or changed
EnableGPU argument of rcs function is
not recommended
Still runs
Using the EnableGPU argument in the rcs function to control GPU usage is no longer recommended.
Instead, use the new UseGPU argument, which accepts
"off", "on", or
"auto" as values.
How to Update Your Code
| Not recommended | Recommended |
|---|---|
rcs( ___ ,EnableGPU=0) or rcs(
___ ,EnableGPU=false) (default) | rcs( ___ ,UseGPU="off") (default) |
rcs( ___ ,EnableGPU=1) or rcs(
___ ,EnableGPU=true) | rcs( ___ ,UseGPU="auto") |
There are no plans to remove the EnableGPU argument at this
time.
raypl function will not accept
"perfect-reflector"
Still runs
The ReflectionMaterials argument of the raypl function will not support
"perfect-reflector" in a future release. Use
"PEC" instead. The behavior of
"perfect-reflector" and "PEC" is the
same.
Default interaction material for comm.Ray objects is
'concrete'
Behavior change
For comm.Ray objects, the MaterialName field of the
structure array stored in the Interactions property has a
default value of 'concrete'. In previous releases, the
default value is "".
In addition, the structure array stored in the
Interactions property must have a
MaterialName field. In previous releases, the field is
optional.
Application Examples
This release introduces new application examples on:
Designing, analysing, and optimizing antennas using AI models
SADEA optimization and analysis using FEM solver
Integrating antenna pattern data in satellite communication scenarios
Multi-Hop Satellite Communications Link Between Two Ground Stations (Satellite Communications Toolbox)
Coverage Maps for Satellite Constellation (Satellite Communications Toolbox)
Designing and analysing reflector antennas using Gaussian beam analytical model
Antenna Size Analysis Using ITU-R P.618 Propagation Model (Satellite Communications Toolbox)
Quality and stability improvements
R2025b delivers quality and stability improvements, building on the new features introduced in R2025a.
New field analysis functions for AIAntenna object
This release adds two new analysis functions for the AIAntenna object.
Use the
beamwidthfunction to calculate the HPBW.Use the
peakRadiationfunction to calculate the maximum radiation point.
Calculate RCS at specified distance
Use the new Range name-value argument in the rcs
function to set the observation point distance. This allows you to calculate RCS at
any specified distance from the object of interest.
conformalArray object update: Added support for 2-D and 3-D
shapes
You can now add 2-D and 3-D shapes to the conformal array configuration. To add a
shape as an element to the conformal array, set the Element
property of the conformalArray object using at least
one antenna element and any of these shape objects:
2-D shapes:
shape.Circle,shape.Ellipse,shape.Polygon, andshape.Rectangle.3-D shapes:
shape.Box,shape.OpenBox,shape.Cylinder,shape.OpenCylinder,shape.Sphere, andshape.Custom3D
SADEA and TR-SADEA optimizer API
You can now optimize custom antennas and arrays, antenna and array catalog elements for a custom objective using the new optimizer API on the command line. This API gives you a direct access to the SADEA and TR-SADEA optimizers. Use the new
OptimizerSADEAobject to access the SADEA optimizer.OptimizerTRSADEAobject to access the TR-SADEA optimizer.
You can define the optimization objective along with the geometric constraints and set the properties of these objects. You can then run their object functions to view and set other optimization parameters, run the optimization, and query for the optimization results.
Antenna Designer and Antenna Array Designer app update: Optimize antennas and arrays using TR-SADEA algorithm
Optimize large antennas and arrays using the TR-SADEA algorithm in the Antenna Designer and Antenna Array
Designer apps. To select the TR-SADEA as your optimizer, select
TR-SADEA option under the
Optimizer drop down menu in the
OPTIMIZER tab.

You can use the TR-SADEA algorithm to optimize antennas and arrays for various objective functions within the associated constraints. To use this feature, you need a Statistics and Machine Learning Toolbox™ license.
PCB Antenna Designer app update: Triangular shape is now added to shapes catalog
The shapes catalog in the PCB Antenna Designer app now has a triangular shape.

PCB Antenna Designer app update: Import polygon vertices data
The PCB Antenna Designer app now lets you import polygon vertices data from a workspace variable.

Support for frequency dependent dielectric
The dielectric object now lets you choose a dispersion model to include
the effect of frequency variation on the dielectric properties of the material. The
supported dispersion models are constant, Djordjevic-Sarkar, the mean of
Djordjevic-Sarkar, and table driven. To specify a frequency for the dielectric, use
the new Frequency property of the dielectric
object. To specify a dispersion model, use the new
FrequencyModel property with any of the following values:
Constant— Dielectric material properties remain constant throughout the frequency range.DjordjevicSarkar— Dielectric material properties follow Djordjevic-Sarkar model for the specified frequency.MeanDjordjevicSarkar— Calculates and uses the mean of Djordjevic-Sarker model over the frequency range for the dielectric material properties.TableDriven— Uses a rational fit on the data provided for dielectric material properties.
The following 3-D shape objects now allow you to specify a dispersion model using
their new FrequencyModel property:
The dispersion models supported by these shapes are:
Constant— Dielectric material properties remain constant throughout the frequency range.DjordjevicSarkar— Dielectric material properties follow Djordjevic-Sarkar model for the specified frequency.MeanDjordjevicSarkar— Calculates and uses the mean of Djordjevic-Sarker model over the frequency range for the dielectric material properties.
Use frequency sweep interpolation to calculate S-parameters
The sparameters function now lets you interpolate frequency sweep to
calculate the S-parameters. To interpolate frequency sweep, use the new
SweepOption name-value argument in the
sparameters function. You can specify the
SweepOption argument as one of the following options:
direct— No interpolation. Calculates S-parameters at each frequency point.interp— Interpolation using rational fitting.interpWithGrad— Interpolation using rational fitting with gradient calculation.
Alternatively, you can also specify the SweepOption argument
using the frequencySweep object. This allows you to manually set the
interpolation parameters such as error tolerance, number of frequency points, and
number of iterations.
To use this feature, you need an RF Toolbox™ license in addition to the Antenna Toolbox license.
Gerber enhancements: Support edge connector, enable/disable signature and connector label
The PCBWriter object now allows you to enable or disable the watermark
signature and connector labels in the Gerber files. Use the new:
EnableSignatureproperty to enable or disable watermark signature.EnableConnectorLabelproperty to enable or disable connector labels.
Faster execution of PO solver computations involving GPU
The PO solver computations when GPU is enabled are much faster now as compared to the previous release.
Navigate Site Viewer using camera functions
Programmatically navigate Site Viewer by using object functions that control the camera position and camera rotation angles.
Use the
camposfunction to control the position of the camera.Use the
camheightfunction to control the height of the camera.Use the
camroll,campitch, andcamheadingfunctions to rotate the camera around its x-, y-, and z-axes, respectively.
Accelerate ray tracing analysis using GPU
Perform accelerated ray tracing analysis by using a GPU. This capability requires Parallel Computing Toolbox™. For an example, see Accelerate Ray Tracing Analysis Using GPU.
Perform ray tracing analysis using additional materials
The siteviewer object and the RayTracing propagation model object support 23 additional materials,
including acrylic, ice, and steel. For a siteviewer object, you can
view the scene materials imported from a glTF file, an OpenStreetMap® file, or a geospatial table by querying the Materials property. For a RayTracing object, you
can specify the building, terrain, or surface material to use for ray tracing
analysis by using the BuildingsMaterial, TerrainMaterial, or SurfaceMaterial property, respectively.
As a result of this change:
The
Materialsproperty ofsiteviewerobjects can represent different scene materials in R2025a compared to previous releases.The
raytracefunction can return different propagation rays in R2025a compared to previous releases.When used with a
RayTracingobject as input, thesigstrength,coverage,sinr,link, andpathlossfunctions can return different values in R2025a compared to previous releases.
Perform ray tracing analysis using improved algorithms
Ray tracing functions use improved algorithms and constant values.
Ray tracing functions that use the shooting-and-bouncing rays (SBR) method use additional edges in the scene as candidates for diffraction. As a result, the SBR method can find more rays in R2025a compared to previous releases.
When you specify transmitters and receivers that have polarized antennas from Antenna Toolbox or Phased Array System Toolbox™, ray tracing functions calculate the phase shifts of rays using an improved algorithm that differently incorporates the far-field patterns of the antennas.
Ray tracing functions, the
buildingMaterialPermittivityfunction, and theearthSurfacePermittivityfunction use the absolute permittivity of free-space constant that is recommended by the 2022 Committee on Data of the International Science Council (CODATA) adjustment of fundamental constants. In previous releases, the functions use the constant from International Telecommunication Union Recommendations (ITU-R) P.2040 and P.527.
As a result of this change:
The
raypl,buildingMaterialPermittivity, andearthSurfacePermittivityfunctions can return different values in R2025a compared to previous releases.The
raytracefunction can return different propagation rays in R2025a compared to previous releases.When used with a
RayTracingobject as input, thesigstrength,coverage,sinr,link, andpathlossfunctions can return different values in R2025a compared to previous releases.
Ray tracing analysis with sinr function shows improved
performance in scenes with buildings
The sinr
function shows improved performance in scenes with buildings when you specify a
RayTracing propagation model object as input.
For example, the following code creates a coverage map for two antenna sites in an
urban scene by using the sinr function and a
RayTracing propagation model object created using the propagationModel function. The code that creates the SINR map is
about 1.7x faster in R2025a than in R2024b.
function t = timingTest % Create Site Viewer and sites sv = siteviewer(Buildings="chicago.osm",Terrain="none"); tx = txsite(Latitude=[41.88 41.8807], ... Longitude=[-87.6295 -87.6308]); % Create RayTracing object pm = propagationModel("raytracing"); % Create SINR map t0 = tic; sinr(tx,pm) t = toc(t0); % Close Site Viewer close(sv) end
The approximate execution times are:
R2025a: 6.8 s
R2024b: 11.6 s
This code was timed on a Windows® 11, AMD EPYC™ 74F3 24-Core Processor @ 3.19 GHz test system by calling the function
timingTest.
You can download the OpenStreetMap file used in this example from https://www.openstreetmap.org, which provides access to crowd-sourced map data all over the world. The data is licensed under the Open Data Commons Open Database License (ODbL), https://opendatacommons.org/licenses/odbl/.
earthSurfacePermittivity and
buildingMaterialPermittivity support 0 Hz
The earthSurfacePermittivity and buildingMaterialPermittivity functions support carrier frequencies
of 0 Hz.
Functionality being removed or changed
earthSurfacePermittivity will not support
"dry-ice"
Still runs
The earthSurfacePermittivity function will not support the
"dry-ice" input in a future release. Use the
"pure-ice" input instead. The behavior of
"dry-ice" and "pure-ice" is the
same.
RayTracing will not support
"perfect-reflector"
Still runs
The BuildingsMaterial,
SurfaceMaterial, and
TerrainMaterial properties of RayTracing objects will not support
"perfect-reflector" in a future release. Use
"PEC" instead. The behavior of
"perfect-reflector" and "PEC" is the
same.
Application Examples
This release introduces new application examples in the below areas:
Feed Modeling
PCB Antennas
Antenna Optimization
Antenna Integration
Estimate Angle of Arrival Using Amplitude Comparison (RF Blockset)
Estimate Angle of Arrival using Phase Comparison Technique (RF Blockset)
Design and Implementation of Frequency Scanning Array (RF Blockset)
Interactively add multiple feed points to custom antenna arrays
The createFeed function of customAntenna now enables you to interactively add multiple
single-edge and multi-edge feed points to the custom antenna or array.
Provide customAntenna object as the only input argument to the
createFeed function to open an interactive window. Click
the feed edges to select them.

After selecting the edges, click OK to create feed points.

Calculate and plot maximum radiation of antenna or array
Use the new peakRadiation function to calculate and plot the maximum radiation
of an antenna or array. This function calculates and plots maximum gain:
For the antennas with a dielectric substrate other than air.
For the antennas with conductor metal other than PEC.
This function calculates and plots maximum directivity:
For the antennas without a dielectric substrate or with the air substrate.
For the antennas with PEC conductor.

Antenna Designer and Antenna Array Designer: Design antennas and arrays with dielectric substrate
You can now use the Antenna Designer and Antenna Array Designer apps to design an antenna or array with a dielectric substrate. You can choose a predefined dielectric material from a drop-down list or you can specify your own material by changing the default dielectric properties. You can also specify multiple dielectric materials by providing vector inputs to the dielectric properties.
This image shows the Antenna Designer toolstrip with the option to select the dielectric substrate.

This image shows the Antenna Array Designer toolstrip with the option to select the dielectric substrate.

To create a custom dielectric, change the default substrate properties.

To specify multiple dielectrics, select Multiple in the
Catalog list and specify values as a vector.

Antenna Designer and Antenna Array Designer: Optimize antennas and arrays for geometric constraints
Use custom geometric constraints defined by linear equalities and inequalities and nonlinear inequalities for antenna or array optimization. You can define the custom geometric constraints in the Geometric Constraints panel of the Optimizer tab using the coefficients of linear inequalities (A, b), equalities (Aeq, beq), and nonlinear inequalities (nlcon, nrlv).

For additional information on linear and nonlinear equalities and nonlinear
inequalities, see the fmincon (Optimization Toolbox) function documentation.
optimize function update: Support for custom geometric
constraints defined using linear equalities and nonlinear inequalities
You can now use custom geometric constraints defined by linear equalities and
nonlinear inequalities for antenna or array optimization. In the previous release,
the optimize function supported custom geometric constraints defined by
linear inequalities only.
You can define the custom geometric constraints in the
GeometricConstraints property of the
optimize function using the opt
structure that contains the coefficients of linear inequalities (A, b) and
equalities (Aeq, beq) and nonlinear inequalities (nlcon, nrlv). For example, to
maximize the gain of a dipole antenna operating at 75 MHz with constraints on its
length and width, use this
code:
optAnt = optimize(dipole, 75e6, "maximizeGain", {"Length", "Width"},...
{opt.lb; opt.ub}, Iterations=150, GeomConstraints=opt);
opt =
struct with fields:
A: [100×2 double]
b: [100×1 double]
Aeq: [-1 5]
beq: 0
nlcon: @btw
nrlv: [1 1]fmincon (Optimization Toolbox) function documentation.Optimize antennas and arrays using Training Cost Reduced SADEA (TR-SADEA) algorithm
Optimize large antennas and arrays using the TR-SADEA algorithm in the optimize function. Set the new UseAlgorithm
argument in the optimize function to
"TR-SADEA" to use TR-SADEA algorithm for your optimization
task. You can use the TR-SADEA algorithm to optimize antennas and arrays for various
objective functions within the associated constraints. To use this feature, you need
a license for Statistics and Machine Learning Toolbox in
addition to Antenna Toolbox.
Support for anonymous function handle in optimization
You can now use an anonymous function handle to define antenna or array
optimization objectives in the optimize function or the Antenna Designer, Antenna Array
Designer and PCB Antenna
Designer apps.
AIAntenna object update: Support for AI-based model of horn
antenna
The AIAntenna object now supports the horn antenna type. Use the tunable
properties of the AIAntenna object to explore the design space
and quickly analyze the antenna design for the resonant frequency and bandwidth.
Using AI-based antenna models over conventional full-wave solvers significantly
reduces the simulation time required to fine-tune the antenna to meet your design
goals. To use this feature, you need a license for Statistics and Machine
Learning Toolbox in addition to Antenna
Toolbox.
Enhanced mesh quality
This release contains major upgrades to the mesh infrastructure. You can expect enhanced mesh quality in terms of degree of structural similarity of the mesh triangles to an equilateral triangle.
Ray tracing analysis with SBR method can find paths with more reflections
When you perform ray tracing analysis using the shooting and bouncing rays (SBR)
method, you can now find propagation paths with up to 100 reflections. In previous
releases, the limit is 10 reflections. To specify the maximum number of path
reflections, create a RayTracing object and set its MaxNumReflections
property.
Ray tracing analysis with coverage function shows improved
performance in scenes with buildings
The coverage function shows improved performance in scenes with
buildings when you specify a RayTracing propagation model object as input.
For example, the following code creates a coverage map for an antenna site in an
urban scene by using the coverage function and a
RayTracing propagation model object created using the propagationModel function. The code that creates the coverage map is
about 1.2x faster in R2024b than in R2024a.
function timingTest % Create Site Viewer and site sv = siteviewer(Buildings="chicago.osm"); tx = txsite(Latitude=41.88,Longitude=-87.6295, ... TransmitterFrequency=2.5e9); % Create RayTracing object pm = propagationModel("raytracing", ... MaxNumReflections=1,MaxNumDiffractions=1); % Create coverage map t1 = tic; coverage(tx,pm) toc(t1) close(sv) end
The approximate execution times are:
R2024b: 112 s
R2024a: 133 s
This code was timed on a Windows 11, AMD EPYC 74F3 24-Core Processor @ 3.19 GHz test system by calling the function
timingTest.
You can download the OpenStreetMap file used in this example from https://www.openstreetmap.org, which provides access to crowd-sourced map data all over the world. The data is licensed under the Open Data Commons Open Database License (ODbL), https://opendatacommons.org/licenses/odbl/.
Application Examples
This release introduces one new example on designing custom antenna and an update to one existing example on antenna design optimization.
New Example
Design and Analyze Perforated Horn Antenna for RF Applications: This example shows the design and analysis of a perforated horn antenna suited for RF applications using custom geometry features of the Antenna Toolbox™.
Updates to Existing Example
SADEA Optimization of Six-Element Yagi-Uda Antenna using Custom Objective Function: This example now also shows how to use anonymous function handle for custom objectives in the antenna or array optimization.
Visualize 3-D radiation patterns of multiple antennas mounted on platform
Use the new patternSystem function to simultaneously visualize the 3-D radiation
patterns of multiple antennas mounted on a platform.

Reconstruct 3-D radiation pattern from 2-D pattern data using deep learning
Use the new AI-based patternFromAI function to reconstruct the 3-D radiation pattern from
two orthogonal pattern slices. To use this feature, you need a license to
Deep Learning Toolbox™ in addition to Antenna
Toolbox.
Antenna Designer and Antenna Array Designer: Generate mesh manually by setting mesh parameter values
You can now generate a mesh manually by setting the mesh parameters such as maximum edge length, minimum edge length, and growth rate in the Antenna Designer and Antenna Array Designer. You can set these parameters by clicking the Analysis Settings button in the Settings section and changing the mesh mode to manual.

Antenna Designer and Antenna Array Designer: View and modify memory requirement to solve mesh
You can now view the memory required by the Antenna Designer and Antenna Array Designer apps to solve an antenna or array mesh. You can view the estimated memory by clicking the Memory Estimate button in the Mesh section of the app toolstrip. You can reduce the memory requirement by clicking the Analysis Settings button in the Settings section, changing the mesh mode from automatic to manual and adjusting the mesh parameter values.

Antenna and Array Optimization: Use custom objective function
You can now specify a custom objective function to define antenna or array
optimization objectives in the optimize function or the Antenna Designer, Antenna Array
Designer and PCB Antenna
Designer apps.

Antenna and Array Optimization: Use custom geometric constraints
Use custom geometric constraints defined by linear inequalities for antenna or
array optimization. You can define the custom geometric constraints in the new
GeometricConstraints property of the optimize function using the opt structure that
contains the coefficients of the linear inequalities. For example, to maximize the
gain of a dipole antenna operating at 75 MHz with constraints on its length and
width, use this
code:
optAnt = optimize(dipole, 75e6, "maximizeGain", {"Length", "Width"},...
{opt.lb; opt.ub}, Iterations=150, GeomConstraints=opt);fmincon
function documentation.AIAntenna object: AI-based models of additional catalog
elements
The AIAntenna object now supports dipoleHelix and waveguide as its AntennaType. Use the tunable
properties of the AIAntenna object to explore the design space
and quickly analyze the antenna design for the resonant frequency. Using AI-based
antenna models over conventional full-wave solvers significantly reduces the
simulation time required to fine-tune the antenna to meet your design goals. To use
this feature, you need a license to Statistics and Machine Learning
Toolbox in addition to Antenna
Toolbox.
New port analysis functions for antennas
This release introduces two new port analysis functions: bandwidth and resonantFrequency. Use bandwidth to calculate
absolute bandwidth around each resonant frequency and its lower and upper bounds,
and S-parameters for the entire frequency sweep.
Use resonantFrequency to calculate the resonant frequency of
the antenna, the impedance or S-parameters corresponding to each resonance and
entire frequency sweep, and conditionally, the type of resonance (series or
parallel).
Expedite port analysis computations using parallel computing
You can now use parallel computing to expedite the computation for these port analysis functions:
Set the UseParallel property to true to start
the parallel pool during the computation. To use this feature, you need a license to
Parallel Computing Toolbox in addition to
Antenna Toolbox.
New dielectric lens catalog element
This release introduces dielectricLens, a new catalog element for a hemispherical dielectric
lens. To analyze this lens, use it as an element in the planeWaveExcitation object and set
the SolverType property of the object to
"FMM".
Analyze 2-D and 3-D structures in plane wave excitation environment
Starting R2024a, custom 2-D and 3-D Shapes with Material Properties can be
analyzed in a plane wave excitation environment created using the planeWaveExcitation object. Use
these shapes in the Element property of the object for the
analysis.
measuredAntenna object: Calculate total electric field using
embedded electric field data
The measuredAntenna object now has three additional properties:
AmplitudeTaper, PhaseShift, and
CalculateTotalField.
Use AmplitudeTaper to specify the excitation voltage for each
element in the antenna array. Use PhaseShift to specify the
phase shift for each element in the array. Set
CalculateTotalField to true to calculate
the total electric field using the embedded electric field data. The EHfields and pattern functions use the calculated
total electric field values for their output.
Antenna Toolbox is now available in MATLAB Online environment
Antenna Toolbox is now available in the MATLAB Online™ environment. For more information, see MATLAB Online (MATLAB Online Server).
Antenna Toolbox in MATLAB Online supports dark theme visualization. To select the
dark theme, on the Home tab, in the
Environment section, click
Preferences. Select MATLAB > Appearance and set the Theme to
Dark.

RF propagation functions and objects model materials using updated ITU recommendations
RF propagation objects and functions model most materials using the methods and equations in International Telecommunication Union Recommendations (ITU-R) P.2040-3 and ITU-R P.527-5 through ITU-R P.527-6. In previous releases, the functions and objects used ITU-R P.2040-1. In addition:
The
siteviewerobject, theRayTracingpropagation model object, therayplfunction, and thebuildingMaterialPermittivityfunction support plywood and marble.The
earthSurfacePermittivityfunction now refers to pure ice as"pure-ice"instead of"dry-ice". To update your code, replace instances of"dry-ice"with"pure-ice".The
earthSurfacePermittivityfunction supports multiyear ice, dry snow, and wet snow. The pure water, sea water, and pure ice inputs have updated temperature limits. The sea water input has updated salinity limits.
As a result of these changes:
The
raypl,buildingMaterialPermittivity, andearthSurfacePermittivityfunctions can return different values in R2024a compared to previous releases.The
raytracefunction can return differentcomm.Rayobjects in R2024a compared to previous releases.When used with a
RayTracingobject as input, thesigstrength,coverage,sinr, andpathlossfunctions can return different values in R2024a compared to previous releases.
pathloss function returns number of diffractions along
propagation paths
The pathloss function returns the number of diffractions along ray
tracing propagation paths.
Application Examples
This release introduces new application examples in the areas such as antenna optimization, custom antenna, electromagnetic interference (EMI) calculation, and 3-D radiation pattern reconstruction using deep learning. This release also contains updates to two examples which now use the new features from this release.
New Examples
Updated Examples
Artificial Intelligence (AI) for Rapid Analysis and Design of Patch Antenna : This example now also shows how to calculate the bandwidth of the prototype antenna using AI-based analysis by calling the new
bandwidthfunction on theAIAntennaobject.Parallelization of Antenna and Array Analyses: This example now also shows how to speed up antenna and array analysis using Parallel Computing Toolbox™.
Site Viewer and ray tracing enhancements
Import glTF files
Read a scene model from a GL Transmission Format (glTF) file with the
.gltf or .glb extension into Site Viewer
by using the siteviewer function. Specify the name of the model by using the
SceneModel name-value argument. Site Viewer displays the
model using the colors and textures stored in the file.
This figure shows a Site Viewer window with a scene model read from a glTF file. The file was created using RoadRunner.

Display buildings using colors from OpenStreetMap files
When you read buildings data from an OpenStreetMap file into Site Viewer, Site Viewer displays the buildings using the colors stored in the file.
Import customized buildings data
Import customized buildings data into Site Viewer by using geospatial tables that contain buildings data. This capability requires Mapping Toolbox™.
Read buildings from an OpenStreetMap file with the
.osmextension into a geospatial table by using thereadgeotable(Mapping Toolbox) function. Specify theLayername-value argument as"buildings"or"buildingparts".Customize the buildings by editing the geospatial table. For example, you can change the footprints, heights, colors, and materials of the buildings.
Import the geospatial table into Site Viewer by using the
siteviewerfunction. Specify the geospatial table using theBuildingsname-value argument. Site Viewer displays the buildings using the colors stored in the table.
For an example that shows how to import customized buildings data into Site Viewer, see Customize Buildings for Ray Tracing Analysis.
Perform ray tracing analysis using multiple materials in the same scene
When you perform ray tracing analysis on a scene created from a glTF file, an OpenStreetMap file, or a geospatial table, the ray tracing
analysis uses the materials specified by the file or table. Functions that can
perform ray tracing analysis include raytrace, coverage, sigstrength, link, and sinr.
When you create a scene from a glTF file, an OpenStreetMap file, or a geospatial table, Site Viewer assigns materials to the
surfaces in the scene by matching the material names stored in the file or table
with the material names supported by the RayTracing propagation model object. Then, Site Viewer stores the
material names in the Materials property. When you perform ray
tracing analysis by using a function such as raytrace or
coverage, the function uses the material names stored in
the Materials property. The Materials
property is read-only.
Scale the size of scene models
You can now change the scale of scene models created from glTF files, STL files, and triangulation objects by specifying the
SceneModelScale name-value argument of the siteviewer function. By default, Site Viewer interprets scene models
using units of meters with a 1:1 scale.
Create custom antennas using predefined 2-D and 3-D geometric shapes with material properties
You can now create custom antennas from 2-D and 3-D shapes with material properties. The existing Custom 2-D and 3-D Antenna geometric shapes catalog now contains these shapes:
2-D shapes —
shape.Rectangle,shape.Circle,shape.Ellipse, andshape.Polygon.3-D shapes —
shape.Box,shape.OpenBox,shape.Cylinder,shape.OpenCylinder,shape.Sphere, andshape.Custom3D.
Use these shapes with shape operators, manipulation functions, and
visualization functions to create a custom shape with material properties. You can
also use these shapes to create an STL file using stlwrite function and use this file as a platform in the installedAntenna analysis.
The existing Custom 2-D and 3-D Antenna objects
catalog now contains the customAntenna object. To create a custom antenna, set the
Shape property of the customAntenna object
to a 2-D or 3-D shape object and use the createFeed function to define the feed. You can also perform port,
surface, and field analysis on this custom antenna.
Use measured antenna array pattern and S-parameters data for field analysis
Import the measured total pattern, embedded field pattern, and S-parameters data
of an antenna array to a measuredAntenna object and perform field analysis with the pattern, EHfields, and sparameters functions.
Design, tune, and analyze antennas using AI-based models
Design, tune, and analyze these antennas using AI-based models:
To create an AIAntenna object, enable the ForAI flag in the
design function. Use the tunable
properties of the AIAntenna object to explore the design space
and quickly analyze the design for the resonant frequency. Using AI-based antenna
models over conventional full-wave solvers significantly reduces the simulation time
required to fine-tune the antenna to meet your design goals. To use this feature,
you need license to the Statistics and Machine Learning
Toolbox in addition to the Antenna
Toolbox.
Get structural, dimensional and quality details of mesh
Read the structural, dimensional, and quality information about the mesh of an
antenna from Antenna Catalog, array from Array Catalog, or
custom 2-D and 3-D antenna or array from Custom 2-D and 3-D Antenna catalog
using the new MeshReader object. For instance,
m = mesh(dipole,MaxEdgeLength=0.1)
MeshReader object with read-only properties containing
information about the number of points, triangles, and tetrahedra, maximum and
minimum edge lengths, and quality of the dipole antenna mesh.Create custom antennas and platforms from STEP and IGES files
Create a custom antenna from geometry defined in Standard for the Exchange of Product Model Data (STEP) and Initial Graphics Exchange Specification (IGES) files using the
customAntennaStlobject.Using STEP file:
c = customAntennaStl(FileName="SampleGeometry.stp", Units="mm") createFeed(c);
Using IGES file:
c = customAntennaStl(FileName="SampleGeometry.igs", Units="mm") createFeed(c);
Create a platform for installed antenna analysis from geometry defined in STEP and IGES files using the
platformobject.Using STEP file:
p = platform(FileName="SampleGeometry.stp", Units="mm"); i = installedAntenna(Platform=p, Element=cloverleaf)
Using IGES file:
p = platform(FileName="SampleGeometry.igs", Units="mm"); i = installedAntenna(Platform=p, Element=cloverleaf)
Read Gerber file with any extension
You can now use the gerberRead function to import and read a Gerber file containing
information about PCB layers with any file extension.
Ray tracing analysis with SBR method shows improved performance in complex scenes
The raytrace, coverage, sigstrength, sinr, and link
functions show improved performance with complex scenes when you specify a RayTracing propagation model object that uses the shooting and
bouncing rays (SBR) method as input.
For example, this code finds ray tracing propagation paths between two antenna
sites in an urban scene by using the raytrace function and a
RayTracing object. Create the RayTracing
object by using the propagationModel function. The code that
finds the propagation paths is about 2x faster in R2023b than in R2023a.
function timingTest % Create Site Viewer and sites sv = siteviewer(Buildings="chicago.osm"); tx = txsite(Latitude=41.88,Longitude=-87.6295,... TransmitterFrequency=2.5e9); rx = rxsite(Latitude=41.881,Longitude=-87.62951); % Create RayTracing object pm = propagationModel("raytracing",BuildingsMaterial="concrete",... MaxNumReflections=2,MaxNumDiffractions=2); % Find propagation paths t1 = tic; raytrace(tx,rx,pm) toc(t1) close(sv) end
The approximate execution times are:
R2023b: 252.47 s
R2023a: 502.76 s
This code was timed on a Windows 10 Intel®
Xeon® CPU W-2133 @ 3.6 GHz test system, by calling the function
timingTest.
The time that MATLAB requires to perform ray tracing analysis depends on the scene and on
the properties of the RayTracing object, such as the
AngularSeparation, MaxNumDiffractions,
MaxNumReflections,
MaxAbsolutePathLoss, and
MaxRelativePathLoss properties. In some cases, with
moderate values of the MaxAbsolutePathLoss and
MaxRelativePathLoss properties, the ray tracing analysis
can be more than 2x faster in R2023b than in R2023a.
You can download the OpenStreetMap file used in this example from https://www.openstreetmap.org, which provides access to crowd-sourced map data all over the world. The data is licensed under the Open Data Commons Open Database License (ODbL), https://opendatacommons.org/licenses/odbl/.
Functionality being removed or changed
RayTracing objects have new defaults for
BuildingsMaterial,
SurfaceMaterial,
SurfaceMaterialPermittivity, and
SurfaceMaterialConductivity properties
Behavior change
The default value of the BuildingsMaterial and
SurfaceMaterial properties of the RayTracing propagation model object is now
'auto'.
When
BuildingsMaterialis'auto'and you perform ray tracing analysis on a scene created from an OpenStreetMap file, the ray tracing analysis uses the materials specified by the file. If the file does not specify materials, or if the ray tracing analysis does not support a material specified by the file, then the ray tracing analysis uses concrete materials.When
SurfaceMaterialis'auto'and you perform ray tracing analysis on a scene created from an STL file or a triangulation object, the ray tracing analysis uses concrete materials.
Previously, the default value of the
BuildingsMaterial property was
'concrete' and the default value of the
SurfaceMaterial property was
'plasterboard'.
In addition, the default values of the
SurfaceMaterialPermittivity and
SurfaceMaterialConductivity properties of the
RayTracing propagation model object are now
5.31 and 0.0548, respectively. These
values correspond to the real relative permittivity and conductivity of concrete
at 1.9 GHz. In previous releases, the default values were
2.94 and 0.0183, respectively.
Application Examples
This release contains new antenna and array application examples in the below areas:
Design and Analysis of Custom Antennas
Monte-Carlo Simulation, AI-based Analysis, Machine Learning Model
RF System and RF PCB Applications
Model RF Systems with Antenna Arrays Using RF Blockset Antenna Block (RF Blockset)
Design and Simulate Monopulse Tracking System (RF Blockset)
Dual-Fed Square Microstrip Patch Antenna for BLE Applications (RF PCB Toolbox)
Corporate Feed Divider Network for a Linear Patch Antenna array (RF PCB Toolbox)
Construct and analyze backing structures without exciter
Construct the backing structures for Cavity Antennas and
Reflector Antennas by
assigning empty value to the 'Exciter' property. Use these
structures as Element in the conformalArray and planeWaveExcitation environments to perform fundamental
analysis on them.
Create multifilar dipole helix antenna wound around dielectric core
You can now use the Substrate property to include a dielectric core in the dipoleHelixMultifilar object. This configuration creates a multifilar
(bi or quad) dipole helix antenna wound around a dielectric core.
PO solver support for reflector antenna analysis
The below mentioned curved Reflector Antennas now support Physical Optics (PO) solver for the pattern and current analysis:
Use custom incident pattern data to excite curved reflector antennas
Import the measured pattern data of an antenna to the MATLAB workspace using the
new measuredAntenna object. Use this object as an exciter for the select
curved Reflector Antennas from
the Antenna Catalog as listed below:
Use eggCrate array as an exciter for cavity and reflector type
antennas
You can now use the eggCrate array of vivaldi and vivaldiOffsetCavity antennas as the exciter for all the backing structures in the Cavity Antennas and Reflector Antennas catalog.
Create triangular shape for the metal layer in the PCB Antennas
Use the new antenna.Triangle object to create a triangular shape for the metal
layer of the PCB antenna created using the pcbStack object.
Calculate RCS of pure dielectric structures using the Fast Multipole Method (FMM) solver
The rcs function now can calculate the cross section of pure
dielectric structures using the FMM Solver.
gerberRead update: Support for Aperture Macro (AM), Aperture
Block (AB), and Step Repeat (SR)
The gerberRead function now supports the AM, AB, and SR commands from the imported gerber files. AM combines multiple basic shapes into a template. AB combines standard flashes and strokes to form a block. SR copies graphic objects along x and y axes.
Display multiple shapes in the same figure
Use the hold on functionality to display multiple shapes from
the shape catalog on the same figure.
show(antenna.Rectangle) hold on show(antenna.Circle)

View the position and magnitude data on plots using data tip
Use the Data Tip option under Tools menu
in the figure window to view the values of position and magnitude at that position
for pattern, current, and
charge plots. Data Tip on a:
Ray tracing with SBR method supports edge diffractions
Ray tracing models that use the shooting and bouncing rays (SBR) method support
the diffraction of rays at surface edges. To specify the maximum number of edge
diffractions, create a RayTracing object and set its MaxNumDiffractions
property. For an example that illustrates edge diffractions, see the Visualize Indoor Propagation Paths
example.
Most analysis functions, such as raytrace and sigstrength, support up to two edge diffractions. The coverage and sinr
functions support up to one edge diffraction.
Discard ray tracing paths based on path loss threshold
Ray tracing models enable you to discard propagation paths based on path loss
thresholds. To specify the thresholds, create a RayTracing object and set its MaxAbsolutePathLoss
and MaxRelativePathLoss properties.
Specify an absolute threshold by using the
MaxAbsolutePathLossproperty. For example, you can discard paths with more than 100 decibels of path loss by specifyingMaxAbsolutePathLossas100. The default value isInf, which does not discard paths based on absolute path loss.Specify a threshold relative to the strongest propagation path by using the
MaxRelativePathLossproperty. The default value is40, which discards paths that are more than 40 decibels weaker than the strongest path.
This capability can simplify visualizations in Site Viewer. For
example, these two images visualize propagation paths for the same transmitter and
receiver. The image on the left uses a model where
MaxRelativePathLoss is Inf, and the
image on the right uses a model where MaxRelativePathLoss is
40 (the default).

The default value of the MaxRelativePathLoss property is
40. As a result, code from previous releases that does
not specify a MaxRelativePathLoss value can be affected in
these ways:
The
raytracefunction can return fewercomm.Rayobjects in R2023a compared to previous releases.The
sigstrength,coverage,sinr, andlinkfunctions can return different values in R2023a compared to previous releases.The
pathlossfunction can return different path loss values in R2023a compared to previous releases.
To avoid discarding propagation paths, set the
MaxRelativePathLoss property of the ray tracing object
to Inf.
Ray tracing with SBR method calculates paths using increased precision
When you find propagation paths by using the raytrace function with a ray tracing model that uses the shooting
and bouncing rays (SBR) method, MATLAB calculates the results by using double-precision floating-point
computations. In previous releases, the function used single-precision
floating-point computations.
The raytrace function can return different comm.Ray objects in R2023a compared to previous releases.
Functionality being removed or changed
propagationModel("raytracing-image-method") syntax has
been removed
Errors
The propagationModel("raytracing-image-method") syntax has
been removed from the propagationModel function.
Use the propagationModel("raytracing") syntax instead,
which uses the shooting and bouncing rays (SBR) method by default. To use the
image method, specify the Method name-value argument as
"image", for example
propagationModel("raytracing",Method="image").
NumReflections name-value argument of the
raytrace function has been removed
Errors
The NumReflections name-value argument of the raytrace function has been removed.
Instead, create a propagation model by using the propagationModel function and specify the
MaxNumReflections name-value argument. Then, use the
raytrace function with the propagation model as an
input. This code shows the recommended workflow.
pm = propagationModel("raytracing",MaxNumReflections=3);
rays = raytrace(tx,rx,pm);Application Examples
This release presents eight new featured examples and one updated example. These examples cover the design, analysis, and fabrication of PCB antennas, the effect of material properties of the conductor on the performance of the antenna, Metasurface antenna, Intelligent Reflecting Surfaces(IRS), wideband Eggcrate array backed by parabolic reflector, performance analysis of the antenna installed on a large platform, Surface Integrated Waveguide(SIW) based Filtenna design, and patch array for S-band monopulse RADAR.
New Examples
Updated Example
Metasurface Antenna Modeling - Added dielectric substrate and updated analysis plots
PCB Antenna Designer App Update: Optimize PCB antenna designs
You can now optimize PCB antenna designs using the SADEA and surrogate optimization methods in the PCB Antenna Designer app. Create design variables to enable the optimization process. Optimize your designs for bandwidth, gain, front-to-back-lobe ratio, and area.

Create dipole helix antenna wound around dielectric core
You can now use the Substrate property to include a dielectric core in the dipoleHelix object. This
configuration creates a dipole helix antenna wound around a dielectric core.
Add Via to infinite array using pcbStack element
The infiniteArray object now supports pcbStack
as an element. Use the pcbStack object to add Via to the infinite
array design. Use this functionality to include the vertical component of the
surface current in your analysis.
mesh Update: Additional mesh parameters support for all
antenna and array elements
The mesh function now takes these new name-value arguments
MinEdgeLength-- Generate a mesh using the smallest edge length of your feature.GrowthRate-- Control the growth rate of the mesh. This input defines the gradation in the triangle sizes of the mesh.
current Update: Visualize direction of current flow and complex
current on metal surface
The current function now takes these new name-value arguments
Type-- Choose between the absolute, real, or imaginary values of the current vector to plot the current distribution.Direction-- Plot the direction of the current flow overlaid on the distribution plot.

Determine antenna orientation and polarization to capture maximum power from plane-wave
Use the design function of
planeWaveExcitation object to determine the required
orientation and polarization for a receiver antenna to capture the maximum power
from an incident plane-wave at a given frequency.
Choose solver for analysis of planeWaveExcitation
objects
The planeWaveExcitation object now supports multiple solvers
for your analysis. Use the SolverType property to specify the
solver.
gerberRead update: Support for new shapes
The gerberRead function now supports three new shapes:
clockwise & anticlockwise circular arc, curved regions, and obround
aperture.
RF Propagation: Ray tracing with SBR method finds paths with exact geometric accuracy
When you find propagation paths by using the raytrace function and the shooting and bouncing rays (SBR) method,
MATLAB corrects the results so that the geometric accuracy of each path is
exact, using single-precision floating-point computations. In previous releases, the
paths have approximate geometric accuracy.
For example, this code finds propagation paths between a transmitter and receiver
by using the default SBR method and returns the paths as comm.Ray
objects. In R2022b, the raytrace function finds seven
propagation paths. In earlier releases, the function approximates eight propagation
paths, one of which is a duplicate path.
viewer = siteviewer(Buildings="hongkong.osm"); tx = txsite(Latitude=22.2789,Longitude=114.1625,AntennaHeight=10, ... TransmitterPower=5,TransmitterFrequency=28e9); rx = rxsite(Latitude=22.2799,Longitude=114.1617,AntennaHeight=1); rSBR = raytrace(tx,rx) raytrace(tx,rx)
| R2022b | R2022a |
|---|---|
rSBR =
1×1 cell array
{1×7 comm.Ray}
|
rSBR =
1×1 cell array
{1×8 comm.Ray}
|
Paths calculated using the SBR method in R2022b more closely align with paths calculated using the image method. The image method finds all possible paths with exact geometric accuracy. For example, this code uses the image method to find propagation paths between the same transmitter and receiver.
viewer = siteviewer(Buildings="hongkong.osm"); tx = txsite(Latitude=22.2789,Longitude=114.1625, ... AntennaHeight=10,TransmitterPower=5, ... TransmitterFrequency=28e9); rx = rxsite(Latitude=22.2799,Longitude=114.1617, ... AntennaHeight=1); pm = propagationModel("raytracing",Method="image",MaxNumReflections=2); rImage = raytrace(tx,rx,pm)
rImage =
1×1 cell array
{1×7 comm.Ray}In this case, the SBR method finds the same number of propagation paths as the image method. In general, the SBR method finds a subset of the paths found by the image method. When both the image and SBR methods find the same path, the points along the path are the same within a tolerance of machine precision for single-precision floating-point values.
This code compares the path losses, within a tolerance of
0.0001, calculated by the SBR and image methods.
abs([rSBR{1}.PathLoss]-[rImage{1}.PathLoss]) < 0.0001ans = 1×7 logical array 1 1 1 1 1 1 1
The path losses are the same within the specified tolerance.
The raytrace function can return different results in
R2022b compared to previous releases.
The function can return a different number of
comm.Rayobjects because it discards invalid or duplicate paths.The function can return different
comm.Rayobjects because it calculates exact paths rather than approximate paths.
These differences can also affect the path losses calculated by
the raypl and pathloss functions.
RF Propagation: Ray tracing functions consider multipath interference
When calculating received power using ray tracing models, the sigstrength, coverage, sinr, and link
functions now incorporate multipath interference by using a phasor sum. In previous
releases, the functions used a power sum. As a result, the calculations in R2022b
are more accurate than in previous releases.
The sigstrength, coverage,
sinr, and link functions can
return different results in R2022b compared to previous releases.
RF Propagation: Customize spacing of launched rays for ray tracing with SBR method
When performing ray tracing using the shooting and bouncing rays (SBR) method, you
can customize the spacing of launched rays by specifying the
AngularSeparation property of the RayTracing object as a numeric value in degrees. In previous releases,
the AngularSeparation property supported only the options
"high", "medium", and
"low".
To improve the accuracy of the number of paths found by the SBR method, decrease
the value of AngularSeparation. Decreasing the value of
AngularSeparation can increase the amount of time
MATLAB requires to perform the analysis.
Application Example: Custom geometry pcbStack antenna
This release contains a new featured example showcasing the design and analysis of
a custom geometry pcbStack antenna for ultra-wideband applications:
The Design and Analysis of a Diamond-Shaped Antenna for Ultra-Wideband Applications example shows the design and analysis of a planar diamond shaped monopole antenna with ultra-wide bandwidth, suitable for compact devices.
PCB Antenna Designer App Update: Define variables in PCB antenna designer app
You can now define variables in the PCB Antenna
Designer app and use them to set the properties of the shape and
dielectric objects within a layer of a pcbStack object. The antenna
design along with variables created can be exported for further analysis to a script
or a workspace.
infiniteArray Object Update: Faster solution for infinite arrays
without ground planes
The method of moments (MoM) solver in the infiniteArray object is
now about 30 percent faster when solving infinite arrays without the ground
plane.
Direction of Arrival Determination: Determine direction of transmission source using mutual coupling effects
You can use the new doa function on the conformalArray and planeWaveExcitation objects to
determine the direction of arrival of an incoming signal transmitted from a
far-field source, with respect to the center of the receiver array. The
doa function uses s-parameters to calculate the angles of
arrival in the spherical coordinate system. If the transmission source in your model
/ analysis / use case is:
An antenna object, then use the
doafunction on theconformalArrayobject.A plane wave signal, then use the
doafunction on theplaneWaveExcitationobject.
Both the objects use a uniform homogenous linear or rectangular array in the horizontal plane and centered at the origin, as a receiver.
Slicer Interactivity in Mesh, Charge, and Current Plots: View interior or inaccessible parts of meshed antenna geometry
patternPlotOptions Update: Use pattern plot options on all 3-D
pattern visualizations
You can now use the PatternPlotOptions on all 3-D pattern plots created using the
patternMultiply, arrayFactor, patternFromSlices, and patternCustom functions.
Custom Dual-Reflector Antenna: Design, visualize, and analyze dual-reflector antenna using customized properties
The new customDualReflectors antenna object creates a dual-reflector antenna
with conical horn antenna as the exciter and empty geometries for the reflectors.
Use its properties to:
Assign custom geometry to the main and sub reflector.
Change the exciter element
Change the position and orientation of the reflectors and the exciter.
Dual-Reflector antenna has a very high gain and a low spillover and is used as a ground station antenna in satellite communications.
Helix and Multifilar Helix Antenna Update: Create helix and multifilar helix antennas wound around dielectric core
You can now use the Substrate property to include a dielectric core in the helix and the helixMultifilar objects. This creates helix and multifilar helix
antennas wound around a dielectric core.
Monopole Top-Hat Antenna Update: Create monopole top-hat antenna with dielectric substrate
You can now use the Substrate property to include a dielectric substrate in the
monopoleTopHat object. This creates
a monopole top-hat antenna with a dielectric substrate placed between the ground
plane and the top hat. The monopoleTopHat object lets you
specify multiple dielectric layers also.
RF Propagation Update: Improved performance for SBR ray tracing point-to-area coverage and point-to-point analysis cases
The shooting and bouncing rays (SBR) ray tracing method shows improved performance for point-to-area coverage and point-to-point analysis cases with low angular separation.
As the angular separation decreases (and the number of launched rays increases), performance improvements are greater for the point-to-area coverage cases. For example, this code runs up to five times faster than the previous release for the point-to-area coverage case with low angular separation:
viewer = siteviewer("Buildings","chicago.osm"); tx = txsite("Latitude",41.8800,"Longitude",-87.6295); pm = propagationModel("raytracing", ... "Method","sbr", ... "AngularSeparation","low", ... "MaxNumReflections",3); timeit(@() coverage(tx,pm,"MaxRange",250))
The approximate execution times are:
R2021b: 182 s
R2022a: 29 s
On the same test platform, this code runs two times faster than the previous release for the point-to-point analysis case with low angular separation:
sv = siteviewer("SceneModel","conferenceroom.stl"); tx = txsite("cartesian", ... "AntennaPosition",[-1.45; -1.4; 1.5]); rx = rxsite("cartesian", ... "AntennaPosition",[.3; .2; .5]); pm = propagationModel("raytracing", ... "CoordinateSystem","cartesian", ... "Method","sbr", ... "AngularSeparation","low", ... "MaxNumReflections",10); timeit(@() raytrace(tx,rx,pm))
The approximate execution times are:
R2021b: 6.3 s
R2022a: 3.0 s
These code segments were timed on a Windows 10, Intel Xeon CPU E5-1650 v4 @ 3.60 GHz test system.
Application Examples: Custom geometry pcbStack antenna,
Direction of arrival
This release contains three new featured examples showing the design and analysis
of custom geometry pcbStack antenna for various applications:
The Design Series-Fed Patch Antenna for 5G Base Station Antenna example shows the design and analysis of a series fed patch antenna array at 28 GHz which is used as mm-wave band 5G mobile base station antenna.
The Design PCB Antenna for USB Dongle and BLE Applications at 2.4 GHz example shows the design and analysis of a PCB antenna at 2.4 GHz, used in USB dongles and BLE applications.
The Miniaturize Patch Antennas Using Metamaterial-Inspired Technique example shows the design of a miniaturized patch antenna with a complementary split-ring resonator (CSRR) loading plane and evaluates the performance of the patch shrunk 16 times the resonant dimension.
The Design and Analysis of Compact Ultra-Wideband MIMO Antenna Array example shows the design of a compact ultra-wideband (UWB) MIMO antenna array built using two orthogonally placed planar monopole antennas in the horizontal plane.
The Direction of Arrival Determination Using Full-Wave Electromagnetic Analysis example shows two methods for estimating the direction of arrival of an incoming signal using the
doafunction. This example uses theconformalArrayobject as a receive array when the transmission source is an antenna object and uses theplaneWaveExcitationobject as a receive array when the transmission source is a plane wave.




