Antenna Toolbox pattern() getting stuck (and gobbling memory) for any dielectric other than 'Air'
19 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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;
0 commentaires
Réponses (1)
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
le 9 Mai 2024
What about wideband simulation? The issue seems to persist during the simulation of wideband structure.
Voir également
Catégories
En savoir plus sur Patch Antennas 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!