Clear Filters
Clear Filters

Help needed with antenna gain settings

14 views (last 30 days)
Saad Humayun
Saad Humayun on 1 Mar 2024
Edited: Umeshraja on 21 Sep 2024 at 12:13
Basically, I just want to be able to create an antenna object for use in my txsite() and rxsite() functions for ray tracing, and I've seen so many functions and tried pretty much everything, but no luck so far in setting the gain to the value I want (7dBi). All I need is an antenna object that's of horn type, basic horn from the catalog, runs at 900MHz, and has a gain of 7dBi. I don't even care about its facing direction, because I can just rotate or do whatever with it once I set it as my transmitter and receiver. I can't seem to figure out anything that allows me to do so, there's a bunch of functions and properties that set everything else except the gain, then there's stuff I found like rfantenna() or Antenna Block object idk, that can allow me to set the gain, but not for a horn type of antenna. Is it impossible to do such a thing currently?
I have all the toolboxes downloaded btw, and RF and Antenna ones are no luck somehow.

Answers (1)

Umeshraja
Umeshraja on 16 Sep 2024 at 8:48
Edited: Umeshraja on 21 Sep 2024 at 12:13
I understand that you wanted to create antenna object with a custom gain setting. As the gain property is typically a result of the physical dimensions and operating frequency of the antenna, you can optimize these parameters using 'optimize' function of MATLAB’s Antenna Toolbox.
It optimizes the antenna or the array at the specified frequency, using a specified objective function, antenna or array properties and their bounds.
% Define the operating frequency
frequency = 900e6;
% Design the initial horn antenna at the specified frequency
Hornantenna = design(horn, frequency);
% Define the design variables and their bounds
designVariables = {'FlareLength', 'FlareHeight'};
XVmin = [0.001, 0.001];
XVmax = [0.1, 0.1];
% Set the constraints for gain
constraints = {'Gain < 7.01'};
% Optimize the antenna to maximize gain
HornOpt = optimize(Hornantenna, frequency, "maximizeGain", designVariables, {XVmin; XVmax}, ...
Constraints=constraints, Iterations=10);
HornOpt
HornOpt =
horn with properties: FlareLength: 0.0898 FlareWidth: 0.7303 FlareHeight: 0.0310 Length: 0.3644 Width: 0.2915 Height: 0.1457 FeedWidth: 0.0093 FeedHeight: 0.0777 FeedOffset: [-0.1069 0] Conductor: [1x1 metal] Tilt: 0 TiltAxis: [1 0 0] Load: [1x1 lumpedElement]
You can modify any simulation parameter in the above code as needed. You can use the optimized antenna object for further analysis. Alternatively, you can utilize the ‘AntennaDesigner’ app in MATLAB by clicking the following icon to visually adjust and optimize the antenna properties.
For more detailed information, refer to the MATLAB R2023b documentation on the 'optimize' function:
Hope this helps!

Categories

Find more on Antenna and Array Optimization in Help Center and File Exchange

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!