Effacer les filtres
Effacer les filtres

Antenna Toolbox pattern() getting stuck (and gobbling memory) for any dielectric other than 'Air'

16 vues (au cours des 30 derniers jours)
I'm trying a simple patch microstrip element with the following code; execution time is few seconds with dielectric set to 'Air' but if I change the dielectric to anything else such as 'FR4' or 'TMM10', the code will not finish running even after I leave it running overnight (showing 30+ GB memory usage for MATLAB, and full CPU churn); for background this is MATLAB 2016b and latest antenna toolbox running on a MacBook Pro. Any ideas? Thanks.
clear;
tic;
%%basic parameters
fc = 5.8e9; % central frequency (Hz)
analyzedRange = 1.0e9; % analyzed frequency range (Hz)
frequencyPoints = 51; % sets the analysis resolution
fmin = fc - analyzedRange/2;
fmax = fc + analyzedRange/2;
frequencyRange = unique([linspace(fmin, fmax, frequencyPoints) fc]);
lambda = physconst('lightspeed')/fc; % wavelength (m)
%%patch element
substrate = dielectric('Air');
h = 0.01 * lambda;
% initial length and width estimates
% length sets the frequency, width (mostly) sets the bandwidth
l = 0.5 * (1 - 0.03) * lambda / sqrt(substrate.EpsilonR);
w = 1.5 * l;
% default patch antenna geometry has its boresight towards zenith;
% rotate by 90 degrees about y-axis to align boresight with x-axis
% (also boresight direction for arrays in Phased Array System Toolbox)
patchElement = patchMicrostrip( ...
'Substrate', substrate, ...
'Height', h, ...
'Length', l, ...
'Width', w, ...
'GroundPlaneLength', lambda, ...
'GroundPlaneWidth', lambda, ...
'FeedOffset', [l/4 0], ...
'TiltAxis', [0 1 0], ...
'Tilt', 90);
figure; pattern(patchElement,fc);
toc;

Réponses (1)

Nirja Mehta
Nirja Mehta le 7 Fév 2017
That is expected. The default patch is designed for operation at 1.67 GHz. So if you operate it at 5.8 GHz, the wavelength is much smaller, which results in more number of elements in the mesh -(surface and volume discretization of the structure). In a sense you could say the structure itself looks bigger at that frequency by approximately a factor of 5.8/1.67. Bigger mesh, means that the solver takes more time to run to solve it.
You could start off by designing your antenna at 5.8 GHz with a dielectric using "design" function in Antenna toolbox in the following way:
clear;
tic;
%%basic parameters
fc = 5.8e9; % central frequency (Hz)
%%patch element
substrate = dielectric('FR4');
patchElement = patchMicrostrip('Substrate', substrate);
patchElement = design(patchElement,5.8e9);
figure;
pattern(patchElement,fc);
toc;
  1 commentaire
Amanath
Amanath le 9 Mai 2024
What about wideband simulation? The issue seems to persist during the simulation of wideband structure.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Get Started with Antenna Toolbox dans Help Center et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by