Data
For a particular example, we have the following parameters:
Matlab data
N = 10; % discretization parameter
n = 16; % number of antennas
lambda = 8; % wavelength
Phi = pi/6; % sidelobe parameter
Angles = linspace(Phi,pi,N); % angles in the stop band
a = 2*pi*sqrt(-1)/lambda; % intermediate parameter
Minimum thermal noise power for given sidelobe level
We first seek to minimize the thermal noise power subject to a sidelobe level constraint . Measured in decibels (dB):
This problem can be cast as an SOCP:
A CVX implementation of this problem is given below. Note that CVX understands the magnitude of a complex variable and transforms the corresponding constraint into a second-order cone one internally.
CVX implementation
cvx_begin
variable z(n,1) complex;
minimize( norm(z,2) )
subject to
for i = 1:N,
abs(exp(a*cos(Angles(i))*(1:n))*z) <= delta;
end
real( exp(a*(1:n))*z) >= 1;
cvx_end
The coarse discretization level of may be an issue. This is readily solved by using a higher number, say .
|
Antenna array design: minimal thermal noise power given a sidelobe level constraint, enforced at points. With a finer discretization, the sidelobe constraints are everywhere satisfied.
|
Minimum sidelobe level attenuation
Our goal is now to minimize the sidelobe attenuation level, , given the normalization requirement .
This can be cast as the SOCP
A CVX implementation is given below.
CVX implementation
cvx_begin
variable z(n,1) complex;
variable delta(1)
minimize( delta )
subject to
for i = 1:N,
abs(exp(a*cos(Angles(i))*(1:n))*z) <= delta;
end
real( exp(a*(1:n))*z) >= 1;
cvx_end
The result shows an optimal attenuation level in the stop band of , which, in decibels, is:
|
Antenna array design: the optimal magnitude diagram. The attenuation is excellent in the stop band, so that the stop-band magnitude is not distinguishable from zero in this plot.
|
|