Exporting Characteristics from MATLAB Sensor Array Analyzer

10 次查看(过去 30 天)
I'm currently working on a project using MATLAB's Sensor Array Analyzer, and I would like to export the Characteristics section (such as HPBW, FNBW, SLL, directivity, etc.) to a MATLAB script.
However, I haven’t been able to figure out how to do this — or if there's any way to programmatically access those values.
Any help or guidance would be greatly appreciated.

回答(2 个)

Shantanu Dixit
Shantanu Dixit 2025-4-22
编辑:Shantanu Dixit 2025-4-22
Hi Yen,
You can export the Characteristics section (including values like Half Power BeamWidth (HPBW), First Null BeamWidth (FNBW), Sidelobe Level (SLL), Directivity, and others) to a MATLAB script using the built-in generate report feature in the Sensor Array Analyzer Application.
In the Toolstrip, navigate to:
EditAnalyzer > Export > Generate Report
% Select Generate Report
This will create a MATLAB '.m' file that contains a structured report of the current analysis session, including all the values found in the Characteristics section.
Hope this helps.
  1 个评论
Yen-Yun
Yen-Yun 2025-4-23
Hi Shantanu,
Thank you for your help!
However, my goal is to generate array characteristics entirely from a MATLAB script, without relying on the Sensor Array Analyzer app, so I’m looking for the code or functions needed to compute these parameters programmatically.

请先登录,再进行评论。


Umeshraja
Umeshraja 2025-6-17
I understand you're interested in computing antenna parameters such as HPBW, FNBW, SLL, directivity, and more using MATLAB. While there isn't a single function that calculates all these parameters, you can use the findLobes function to determine several key characteristics, including:
  • HPBW (half-power beamwidth)
  • FNBW (first-null beamwidth)
  • F/B (front-to-back ratio)
  • SLL (side lobe level)
  • Main (main lobe peak value and corresponding angle)
  • Back (back lobe peak value and corresponding angle)
Below is the example that creates a 15-element ULA of isotropic antenna with elements spaced one-half wavelength apart. Plot the directivity of the array at 20 GHz. Then, find the mainlobe, sidelobe, and backlobe directions of the array pattern.
fc = 20.0e9;
c = physconst('Lightspeed');
lam = c/fc;
angs = [-180:1:180];
antenna = phased.IsotropicAntennaElement('FrequencyRange',[1.0e9,100.0e9]);
array = phased.ULA('Element',antenna,'NumElements',15,'ElementSpacing',lam/2);
a = pattern(array,fc,angs,0);
P = polarpattern(angs,a);
L = findLobes(P)
L = struct with fields:
mainLobe: [1×1 struct] backLobe: [1×1 struct] sideLobes: [1×1 struct] FB: 0 SLL: 0 HPBW: 8.0000 FNBW: 16.0000 FBIdx: [181 1] SLLIdx: [181 361] HPBWIdx: [357 5] HPBWAng: [176 -176] FNBWIdx: [173 189]
If you're also interested in learning how to interact with polar plots and view associated metrics, you can refer to the following documentation
For more information on the findLobes function:
Hope it helps!

Community Treasure Hunt

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

Start Hunting!

Translated by