# How to find optimum complex weighting coefficients for antenna beam pattern optimisation? A purely optimisation problem

6 Ansichten (letzte 30 Tage)
Albert am 11 Mär. 2021
Kommentiert: Albert am 14 Mär. 2021
Hi, I need to optimize antenna pattern weights so that it has a certain value at certain directions. I've seen there is an example here: https://es.mathworks.com/company/newsletters/articles/synthesizing-an-array-from-a-specified-pattern-an-optimization-workflow.html also reproduced below
My objective is Beam_d, and stvmat is always a known vector (with complex numbers). What I want to find are the optimum weights in w
The following code seems to do the trick somehow; probably there are more advanced optimization options. The optimized weights output weights_o I would like it to be a complex value, as the weights can be expressed as an amplitude and a phase. In fact I would like to be able to restrict the output for example to only phase or only amplitude weights, but I have no clue on how to tackle this optimization. Could anyone provide some hints?
Thanks!
% We start with a desired 2D pattern, Beam_d, which is specific to a set of azimuth and elevation angles.
% %We then build a cost function to minimize the distance between the desired pattern, Beam_d, and the pattern generated from the weighting vector, weights_o.
% Our initial conditions for the optimization are based on uniform weighting. This pattern is included in the objective function shown in the code below.
%% Set up optimization
objfun = @(w)norm(w'*stvmat-Beam_d); % Define objective function used in fmincon
% Goal is to minimize the norms between
% the desired pattern and
% resulting pattern
weights_i = ones(N,1); % Initial setting for array amplitudes
% Serves as starting point to
% optimization
weights_o = fmincon(objfun,weights_i,[],[],[],[],zeros(N,1),ones(N,1));
% fmincon takes in the objfun,
% the initial weights, and
% upper and lower bounds of the weights
% In this example,
% 0 <= weights_o <= 1
% weights_o holds the weights
% which can be used to create
% a beam that matches our
% desired pattern
##### 0 Kommentare-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Antworten (1)

Alan Weiss am 12 Mär. 2021
fmincon requires real values only. Convert your complex-valued problem to twice as many real variables. For an example, see Fit a Model to Complex-Valued Data, especially the section Alternative: Split Real and Imaginary Parts.
Alan Weiss
MATLAB mathematical toolbox documentation
##### 5 Kommentare4 ältere Kommentare anzeigen4 ältere Kommentare ausblenden
Albert am 14 Mär. 2021
Hi,
My mistake because I quickly drew the lines. As you say all the x-axis points of the black curve should have been above the green line indeed! These are my two conditions, but I have no idea which is the best optimization tool for that. As I mentioned before the weights that give the black curve can be complex.
thanks

Melden Sie sich an, um zu kommentieren.

### Kategorien

Find more on Surrogate Optimization in Help Center and File Exchange

R2021a

### Community Treasure Hunt

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

Start Hunting!