We first examine the abovementioned specifications to find the most suitable technique for the realization of an efficient digital beamformer. The requirement of an invariant SLL considerably restricts the available beamforming techniques. As a matter of fact, apart from optimization algorithms (see, e.g., the excellent reviews in [
14,
15] and refs. therein), only the Tseng–Cheng technique [
10] guarantees a constant SLL at arbitrary azimuthal cuts and for any scan angle. Moreover, the Tseng–Cheng technique has the following advantages compared to other techniques:
i) it is fully analytical,
ii) it is computed once, without requiring to refresh the amplitude coefficients as the scan angle is changing,
iii) being based on the Dolph–Chebyshev technique, it provides the minimum beamwidth for a given SLL [
10]. All these aspects make the Tseng–Cheng technique particularly attractive for its implementation in an SDR-driven beamforming network.
In order to implement the Tseng–Cheng technique we assume an even number of elements along the two main directions, i.e.,
and quadrantal symmetry of the amplitude coefficients, i.e.,
(the extension to rectangular lattices has been proposed in [
16]). Under this hypothesis the AF can conveniently be recast as [
10,
17]:
where
and
,
are the spacing along the
-axis,
and
are the elevation and azimuthal angles of the spherical coordinate system,
is the free-space wavenumber,
being the free-space wavelength. As shown in [
10], an invariant SLL over the entire angular range can be achieved if the amplitude coefficients are set equal to
where
is the Chebyshev polynomial of the first kind and order
,
is related to the SLL through the expression
, where PSR is the peak-to-sidelobe ratio, i.e.,
(assuming all quantities in linear scale). In order to avoid grating lobes the usual condition for untapered distributions modifies as follows:
where
is the maximum scan angle. As is clear from the expression (
2), its straight implementation would require four nested loops to evaluate all the coefficients (viz., two for the
m and
n elements indices, and two for the
p and
q summation indices), thus resulting time-consuming computations. To take advantage of the MATLAB potentialities in handling matrix calculations, it is therefore important to recast (
2) to avoid as much as possible the use of nested loops. Indeed, the two summations in (
2) can conveniently be expressed as a quadratic form:
where
,
, and
with
and
row and column vectors of
N elements, respectively.