Antenna Toolbox pattern() getting stuck (and gobbling memory) for any dielectric other than 'Air'
14 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (1)
Nirja Mehta
am 7 Feb. 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 Kommentar
Amanath
am 9 Mai 2024
What about wideband simulation? The issue seems to persist during the simulation of wideband structure.
Siehe auch
Kategorien
Mehr zu Patch Antennas finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!