Antenna Toolbox pattern() getting stuck (and gobbling memory) for any dielectric other than 'Air'
14 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
Nirja Mehta
2017-2-7
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 个评论
Amanath
2024-5-9
What about wideband simulation? The issue seems to persist during the simulation of wideband structure.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Patch Antennas 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!