Professional Documents
Culture Documents
Problems
939
20.7 Computer ExperimentOptimum Directivity. Using the matrix formulation of the previous
problem, calculate the optimum directivity for an N-element array over the range of spacing
values: 0.1 d/ 2 and plot it versus d. Carry this out for the values N = 5, 10, 15 and
place the results on the same graph.
21
The directivity D of (20.11.1) can be evaluated for any given vector of array weights. Evaluate
it for the uniform array a = u and plot the results on the same graph as above. You should
observe that directivity of the uniform array comes close to that of the optimum one for
most (but not all) of the spacings d.
For each d and for the case N = 15, calculate the directivities of the array weights a designed
with the MATLAB function taylor1p of the next chapter, with sidelobe attenuations of R =
20 R = 30 dB, and place them on the same graph.
A()=
am ejkx xm =
am ejkxm cos
xm = md,
m = 0, 1, 2, . . . , M
This was the denition we used in Sec. 20.4. The array factor can be written then as
a discrete-space Fourier transform or as a spatial z-transform:
A() =
M
am ejm = a0 +
A(z) =
m=M
am ejm + am ejm
m=1
m=M
M
M
am z
= a0 +
M
m=1
(21.1.1)
am z + am z
941
1
d
= m
d,
xm = md
2
m = 1, 2, . . . , M
A() =
M
am ej(m1/2) + am ej(m1/2)
M
m1/2
am z
(m1/2)
+ am z
M
m=1
A()= 2
am cos (m 1/2)) ,
(21.1.3)
(N = 2M)
In both the odd and even cases, Eqs. (21.1.1) and (21.1.2) can be expressed as the
left-shifted version of a right-sided z-transform:
N
1
n zn
a
(21.1.4)
n=0
n = 0, 1, . . . , N 1
(21.1.8)
This simply means that the progressive phase is measured with respect to the middle
of the array. Again, the common phase factor ej0 (N1)/2 is usually unimportant. One
case where it is important is the case of multiple beams steered towards different angles;
these are discussed in Sec. 21.14. In the symmetric notation, the steered weights are as
follows:
am = am ejm0 ,
m = 0, 1, 2, . . . , M,
m = 1, 2, . . . , M,
(N = 2M + 1)
(N = 2M)
(21.1.9)
The MATLAB functions scan and steer perform the desired progressive phasing of
the weights according to Eq. (21.1.8). Their usage is as follows:
ascan = scan(a, psi0);
asteer = steer(d, a, ph0);
Example 21.1.1: For the cases N = 7 and N = 6, we have M = 3. The symmetric and right-
0 , a
1 , . . . , a
N1 ] is the vector of array weights reindexed to be right-sided.
where a = [a
In terms of the original symmetric weights, we have:
0 , a
1 , . . . , a
N1 ]= [aM , . . . , a1 , a0 , a1 , . . . , aM ],
[a
(N = 2M + 1)
0 , a
1 , . . . , a
N1 ]= [aM , . . . , a1 , a1 , . . . , aM ],
[a
(N = 2M)
N
1
n=0
n ejn
a
(21.1.5)
n = a
n ej0 (n(N1)/2) ,
a
am = am ej(m1/2)0 ,
m=1
(21.1.7)
(N = 2M + 1)
am cos(m),
A
0 )
(21.1.2)
In particular, if the array weights am are symmetric with respect to the origin, am =
am , as they are in most design methods, then the array factor can be simplied into
the cosine forms:
M
m=1
A()= a0 + 2
()
A ()= A( 0 )= ej(0 )(N1)/2 A(
0 )= ej(N1)/2 A
m=1
A(z) =
942
(21.1.6)
For N = 7 we have (N 1)/2 = 3, and for N = 6, (N 1)/2 = 5/2. Thus, the array
locations along the x-axis will be:
xm = d, d, d, d, d, d
2
A(z) = a3 z3 + a2 z2 + a1 z1 + a0 + a1 z + a2 z2 + a3 z3
= z3 a3 + a2 z + a1 z2 + a0 z3 + a1 z4 + a2 z5 + a3 z6 = z3 A(z)
A(z) = a3 z5/2 + a2 z3/2 + a1 z1/2 + a1 z1/2 + a2 z3/2 + a3 z5/2
943
944
If the arrays are steered, the weights pick up the progressive phases:
a3 ej30 , a2 ej20 , a1 ej0 , a0 , a1 ej0 , a2 ej20 , a3 ej30
= ej30 a3 , a2 ej0 , a1 e2j0 , a0 e3j0 , a1 e4j0 , a2 ej50 , a3 ej60
a3 ej50 /2 , a2 ej30 /2 , a1 ej0 /2 , a1 ej0 /2 , a2 ej30 /2 , a3 ej50 /2
= ej50 /2 a3 , a2 ej0 , a1 e2j0 , a1 e3j0 , a2 ej40 , a3 ej50
where 0 = kd cos 0 is the steering phase.
Fig. 21.2.1 Endre array zeros and visible regions for N = 6, and d = /4 and d = /8.
Example 21.1.2: The uniform array of Sec. 20.7, was dened as a right-sided array. In the
present notation, the weights and array factor are:
0 , a
1 , . . . , a
N1 ]=
a = [a
[1, 1, . . . , 1],
1 zN 1
A(z)=
N z1
Using Eq. (21.1.4), the corresponding symmetric array factor will be:
1 zN 1
1 zN/2 zN/2
=
N z1
N z1/2 z1/2
Setting z = ej , we obtain
sin
A()=
N sin
(21.1.10)
A(z)=
N
1
n zn = (z z1 )(z z2 ) (z zN1 )a
N1
a
(21.2.1)
n=0
By proper placement of the zeros on the z-plane, a desired array factor can be designed. Schelkunoffs paper of more than 45 years ago [1242] discusses this and the
Fourier series methods.
As an example consider the uniform array that has zeros equally spaced around
the unit circle at the N-th roots of unity, that is, at zi = eji , where i = 2i/N,
i = 1, 2, . . . , N 1. The index i = 0 is excluded as z = 1 or = 0 corresponds to the
mainlobe peak of the array. Depending on the element spacing d, it is possible that not
all of these zeros lie within the visible region and, therefore, they may not correspond to
actual nulls in the angular pattern. This happens when d < /2 for a broadside array,
which has a visible region that covers less than the full unit circle, vis = 2kd < 2.
Schelkunoffs design idea was to place all N 1 zeros of the array within the visible
region, for example, by equally spacing them within it. Fig. 21.2.1 shows the visible
regions and array zeros for a six-element endre array with element spacings d = /4
and d = /8.
The visible region is determined by Eq. (20.9.5). For an endre (0 = 0) array with
d = /4 or kd = /2, the steered wavenumber will be = kd(cos cos 0 )=
(cos 1)/2 and the corresponding visible region, 0. Similarly, when
d = /8 or kd = /4, we have = (cos 1)/4 and visible region, /2 0.
The uniform array has ve zeros. When d = /4, only three of them lie in the visible
region, and when d = /8 only one of them does. By contrast Schelkunoffs design
method places all ve zeros within the visible regions.
Fig. 21.2.2 shows the gains of the two cases and compares them to the gains of the
corresponding uniform array. The presence of more zeros in the visible regions results
in a narrower mainlobe and smaller sidelobes.
The angular nulls corresponding to the zeros that lie in the visible region may be
observed in these graphs for both the uniform and Schelkunoff designs.
Because the visible region is in both cases 2kd 0, the ve zeros are chosen
as zi = eji , where i = 2kdi/5, i = 1, 2, . . . , 5. The array weights can be obtained
by expanding the zero factors of Eq. (21.2.1). The following MATLAB statements will
perform and plot the design:
d=1/4; kd=2*pi*d;
i = 1:5;
psi = -2*kd*i/5;
zi = exp(j*psi);
a = fliplr(poly(zi));
a = steer(d, a, 0);
[g, ph] = array(d, a, 400);
dbz(ph, g, 45, 40);
The function poly computes the expansion coefcients. But because it lists them
from the higher coefcient to the lowest one, that is, from zN1 to z0 , it is necessary to
reverse the vector by fliplr. When the weight vector is symmetric with respect to its
middle, such reversal is not necessary.
945
Uniform, d = /4
Schelkunoff, d = /4
135o
135o
45o
90o
90
946
45o
A()=
am ej(m1/2) + am ej(m1/2)
(21.3.3)
m=1
30 20 10
dB
180o
0o
30 20 10
dB
180o
0o
am =
45o
135o
45o
135o
90
Uniform, d = /8
Schelkunoff, d = /8
90o
90o
135o
135o
45o
45o
30 20 10
dB
180o
0o
30 20 10
dB
180o
0o
ad (m)=
45o
135o
90o
am ejm + am ejm
(21.3.1)
m=1
am =
1
2
A()ejm d ,
m = 0, 1, 2, . . .
A()ej(m1/2) d ,
1
2
Ad ()ejm d ,
90o
A()= a0 +
m = 1, 2, . . .
(21.3.4)
m = 0, 1, . . . , M
(21.3.5)
then, the nal weights are obtained by windowing with a length-N window w(m):
45o
135o
90o
1
2
(21.3.2)
m = 0, 1, . . . , M
(21.3.6)
This method is convenient only when the required integral (21.3.5) can be done exactly, as when Ad () has a simple shape such as an ideal lowpass lter. For arbitrarily
shaped Ad () one must evaluate the integrals approximately using an inverse DFT
as is done in the Woodward- Lawson frequency-sampling design method discussed in
Sec. 21.5.
In addition, the method requires that Ad () be specied over one complete Nyquist
interval, , regardless of whether the visible region vis = 2kd is more or
less than one Nyquist period.
ABP ()=
1,
0,
0 b 0 + b
otherwise
947
For the odd case, the corresponding ideal weights are obtained from Eq. (21.3.2):
aBP (m)=
1
2
ABP ()ejm d =
1
2
0 +b
0 b
1 ejm d
which gives:
sin(b m)
m = 0, 1, 2, . . .
(21.4.1)
This problem is equivalent to designing an ideal lowpass response with cutoff frequency b and then translating it by ABP ()= ALP ( )= ALP ( 0 ), where =
0 . The lowpass response is dened as:
ALP ( )=
1,
0,
aLP (m)=
1
2
The Kaiser window is the best and simplest of a small class of windows that allow a
variable choice for A.
Thus, the design specications are the quantities {p , s , A}. Alternatively, we can
take them to be {p , , A}, where = s p is the transition width. We prefer
the latter choice. The design steps for the bandpass response using the Kaiser window
are summarized below:
1. From the stopband attenuation A, calculate the so-called D-factor of the window
(similar to the broadening factor):
A 7.95 ,
14.36
D=
0.922,
b b
otherwise
if A > 21
(21.4.2)
if A 21
948
ALP ( )ejm d =
1
2
b
b
1 ejm d =
sin(b m)
Thus, as expected, the ideal weights for the bandpass and lowpass designs are related
by a scanning phase: aBP (m)= ejm0 aLP (m).
A more realistic design of the bandpass response is to prescribe brickwall specications, that is, dening a passband range over which the response is essentially at and
a stopband range over which the response is essentially zero. These ranges are dened
by the bandedge frequencies p and s , such that the passband is | 0 | p and
the stopband | 0 | s . The specications of the equivalent lowpass response are
shown in Fig. 21.4.1.
0.1102(A 8.7),
0,
if A 50
if 21 < A < 50
(21.4.3)
if A 21
2. From the transition width , calculate the length of the window by choosing the
smallest odd integer N = 2M + 1 that satises:
2D
N1
(21.4.4)
w(m)=
I0 1 m2 /M2
,
I0 ()
m = 0, 1, . . . , M
(21.4.5)
where I0 (x) is the modied Bessel function of rst kind and zeroth order.
4. Calculate the ideal cutoff frequency b by taking it to be at the middle between
the passband and stopband frequencies:
Fig. 21.4.1 Specications of equivalent lowpass response.
Over the stopband, the attenuation is required to be greater than a minimum value,
say A dB. The attenuation over the passband need not be specied, because the window
method always results in extremely at passbands for reasonable values of A, e.g., for
A > 35 dB. Indeed, the maximum passband attenuation is related to A by the approximate formula Apass = 17.4 dB, where = 10A/20 (see Ref. [49].)
Most windows do not allow a user-dened choice for the stopband attenuation. For
example, the Hamming window has A = 54 dB and the rectangular window A = 21 dB.
b =
1
1
(p + s )= p +
2
2
(21.4.6)
5. Calculate the nal windowed array weights from a(m)= w(m)aBP (m):
a(m)= w(m)ejm0
sin(b m)
m = 0, 1, . . . , M
(21.4.7)
949
Next, we use the above bandpass design in -space to design an array with an angular
sector response in -space. The ideal array will have a pattern that is uniformly at over
an angular sector [1 , 2 ]:
A()=
1,
0,
1 2
otherwise
Alternatively, we can dene the sector by means of its center angle and its width,
c = (1 + 2 )/2 and b = 2 1 . Thus, we have the equivalent denitions of the
angular sector:
1
1
1 = c b
c = (1 + 2 )
2
2
(21.4.8)
1
b = 2 1
2 = c + b
2
For a practical design, we may take [1 , 2 ] to represent the passband of the response and assume an angular stopband with attenuation of at least A dB that begins
after a small angular transition width on either side of the passband.
In lter design, the stopband attenuation and the transition width are used to determine the window length N. But in the array problem, because we are usually limited in
the number N of available array elements, we must assume that N is given and determine the transition width from A and N.
Thus, our design specications are the quantities {1 , 2 , N, A}, or alternatively,
{c , b , N, A}. These specications must be mapped into equivalent ones in -space
using the steered wavenumber = kd(cos cos 0 ).
We require that the angular passband [1 , 2 ] be mapped onto the lowpass passband [p , p ] in -space. Thus, we have the conditions:
p = kd cos 1 0
p = kd cos 2 0
They may be solved for p and 0 as follows:
p =
0 =
1
kd(cos 1 cos 2 )
2
1
kd(cos 1 + cos 2 )
2
(21.4.9)
p = kd sin(c )sin
0 = kd cos(c )cos
(21.4.10)
b
2
b = p +
b
1
D
= kd sin(c )sin
+
2
2
N1
(21.4.12)
Finally, the array weights are obtained from Eq. (21.4.7). The transition width
can be approximated by linearizing = kd cos around 1 , or around 2 , or around
c . We prefer the latter choice, giving:
2D
=
kd sin c
kd(N 1)sin c
(21.4.13)
The design method can be extended to the case of even N = 2M. The integral (21.3.4)
can still be done exactly. The Kaiser window expression (21.4.5) remains the same for
m = 1, 2, . . . , M. We note the symmetry w(m)= w(m). After windowing and
scanning with 0 , we get the nal designed weights:
j(m1/2)0
a(m)= w(m)e
sin b (m 1/2)
(m 1/2)
,
m = 1, 2, . . . , M
(21.4.14)
The MATLAB function sector implements the above design steps for either even or
odd N. Its usage is as follows:
[a, dph] = sector(d, ph1, ph2, N, A);
% A=stopband attenuation in dB
Fig. 21.4.2 shows four design examples having sector [1 , 2 ]= [45o , 75o ], or center c = 60o and width b = 30o . The number of array elements was N = 21 and
N = 41, with half-wavelength spacing d = /2. The stopband attenuations were A = 20
and A = 40 dB. The two cases with A = 20 dB are equivalent to using the rectangular
window. They have visible Gibbs ripples in their passband. Some typical MATLAB code
for generating these graphs is as follows:
d=0.5; ph1=45; ph2=75; N=21; A=20;
[a, dph] = sector(d, ph1, ph2, N, A);
[g, ph] = array(d, a, 400);
dbz(ph,g, 30, 80);
addray(ph1, --); addray(ph2, --);
The basic design tradeoff is between N and A and is captured by Eq. (21.4.4). Because
D is linearly increasing with A, the transition width will increase with A and decrease
with N. As A increases, the passband exhibits no Gibbs ripples but at the expense of
b
b
950
0 = acos cos(c )cos(b /2)
(21.4.11)
As we mentioned earlier, the Fourier series method is feasible only when the inverse
transform integrals (21.3.2) and (21.3.4) can be done exactly. If not, we may use the
951
N = 21, A = 40 dB
o
o
120
60
150o
120
30o
60
150o
30o
60 40 20
dB
180o
0o
60 40 20
dB
180o
90
150o
120o
30o
60o
150o
30o
60 40 20
dB
0o
i =
60 40 20
dB
180o
0o
30o
150
60o
120o
90o
60o
90o
Fig. 21.4.2 Angular sector array design with the Kaiser window.
frequency-sampling design method of DSP [48,49]. In the array context, the method is
referred to as the Woodward-Lawson method.
For an N-element array, the method is based on performing an inverse N-point DFT.
It assumes that N samples of the desired array factor A() are available, that is, A(i ),
i = 0, 1, . . . , N 1, where i are the N DFT frequencies:
i =
2i
i = 0, 1, . . . , N 1,
(DFT frequencies)
(21.5.1)
The frequency samples A(i ) are related to the array weights via the forward Npoint DFTs obtained by evaluating Eqs. (21.1.1) and (21.1.2) at the N DFT frequencies:
M
A(i ) = a0 +
am e
jmi
+ am e
jmi
A(i ) =
am e
m=1
j(m1/2)i
+ am e
j(m1/2)i
(21.5.2)
(21.5.3)
A(i )ej(m1/2)i ,
m = 1, 2, . . . , M
(21.5.4)
i=0
2(i K)
(21.5.5)
a(m)= w(m)
(N = 2M + 1)
m=1
M
N1
1
30o
150
m = 0, 1, 2, . . . , M
i=0
There is an alternative denition of the N DFT frequencies i for which the forms of
the forward and inverse DFTs, Eqs. (21.5.2)(21.5.4), remain the same. For either even
or odd N, we dene:
90
60o
A(i )ejmi ,
120o
120o
am =
N = 41, A = 40 dB
90
N = 41, A = 20 dB
N1
1
60
120
90o
180o
0o
30o
150o
60
120
am =
30o
150o
where i are given by Eq. (21.5.1). The corresponding inverse N-point DFTs are as
follows. For odd N = 2M + 1,
90o
90
o
952
N1
1
A(i )ejmi ,
m = 0, 1, 2, . . . , M
(21.5.6)
i=0
(N = 2M)
a(m)= w(m)
N1
1
i=0
A(i )ej(m1/2)i ,
m = 1, 2, . . . , M
(21.5.7)
953
As an example, consider the design of a sector beam with edges at 1 = 45o and
2 = 75o . Thus, the beam is centered at c = 60o and has width b = 30o .
As ranges over [1 , 2 ], the wavenumber = kd cos will range over kd cos 2
kd cos 1 . For all DFT frequencies i that lie in this interval, we set A(i )= 1,
otherwise, we set A(i )= 0. Assuming the alternative denition for i , we have the
passband condition:
kd cos 2
2(i K)
kd cos 1
954
The power of this method lies in the ability to specify any shape for the array factor
through its frequency samples. The method works well for half-wavelength spacing
d = /2, because all N DFT frequencies i lie within the visible region, which coincides
in this case with the full Nyquist interval, .
As another example, we consider the design of an array with a secant-squared gain
pattern, which is relevant in air search radars as discussed in Sec. 16.11. We consider an
array of N elements along the z-direction with half-wavelength spacing d = /2. The
corresponding wavenumber will be = kz d, or
j1 i K j2 ,
Nd
where j1 =
cos 2 ,
= kd cos
Nd
j2 =
cos 1
This range determines the DFT indices i for which A(i )= 1. The inverse DFT
summation over i will then be restricted over this subset of is. Fig. 21.5.1 shows the
response of a 20-element array with half-wavelength spacing, d = /2, designed with a
rectangular and a Hamming window. The MATLAB code for generating the right graph
was as follows:
d=0.5; N=20; ph1=45; ph2=75; alt=1; K=(N-1)/2;
j1 = N*d*cos(ph2*pi/180);
j2 = N*d*cos(ph1*pi/180);
i = (0:N-1);
% DFT index
j = i - alt*K;
% alternative DFT index
A = (j>=j1)&(j<=j2);
% equals 1, if j1 j j2 , and 0, otherwise
a = woodward(A, alt);
% inverse DFT
w = 0.54 - 0.46*cos(2*pi*i/(N-1));
% Hamming window
awind = a .* w;
% windowed weights
[g,ph] = array(0.5, awind, 400);
% array gain
dbz(ph, g, 30, 80);
addray(ph1,--); addray(ph2,--);
The design of the secant-squared gain pattern requires that the array factor itself
have a secant dependence. Indeed,
g()= |A()|2 =
Hamming window
90o
o
90o
o
120
60
150o
120
30o
60
150o
30o
60 40 20
dB
180
60 40 20
dB
180
0o
cos2
|A()| =
K1/2
| cos |
Because the secant pattern is dened only up to an angle max , we may dene the
theoretical array factor in the normalized form:
cos max ,
cos
A()=
1,
if 0 max
(21.5.8)
As varies over [0, max ], the wavenumber = kd cos will vary over [max , kd],
where max = kd cos max . Because d = /2, we have kd = and the -range becomes
[max , ]. Noting that cos max / cos = max /, we can rewrite Eq. (21.5.8) in terms
of :
A()=
Rectangular window
max ,
1,
if max
(21.5.9)
if 0 < max
We symmetrize A()= A() to cover the entire 2 Nyquist interval in . Evaluating Eq. (21.5.9) at the N DFT frequencies i = 2i/N, we obtain the array weights
by doing an inverse DFT and then windowing the array coefcients with a Hamming
window. Fig. 21.5.2 shows a design case with N = 21 and max = 70o . The gure compares the Hamming and rectangular window designs to the exact expression (21.5.8).
The details of the design are indicated in the MATLAB code:
N=21; K=(N-1)/2; d=0.5; thmax=70;
30o
150o
120o
60o
90o
30o
150o
120o
60o
90o
The sidelobes of the Hamming window are down approximately at the expected 54dB level (they reach 54 dB for larger N.) The design is comparable to that of Fig. 21.4.2.
j = find(psi);
Ai(j) = psmax*(psi(j)>=psmax)./psi(j) + (psi(j)<psmax);
% non-zero s
Ai = [Ai, Ai(K:-1:1)];
= woodward(Ai, 0) / N;
955
aw = a .* (0.54 - 0.46*cos(2*pi*(0:N-1)/(N-1)));
956
% Hamming
th = (0:200) * 90 / 200;
ps = 2*pi*d * cos(th*pi/180);
I(x)=
A = abs(dtft(a, -ps));
Aw = abs(dtft(aw,-ps));
A0 = psmax*(ps>=psmax)./ps + (ps<psmax);
% Hamming design
% exact pattern
designed
exact
g()
g()
0.4
0.2
0.2
10
20
30
40
50
60
70
80
I(xm )(x xm )=
designed
exact
x (kx )=
F
0
0
90
10
20
30
40
50
60
70
80
90
jkx x+jky y+jkz z
Jx (x, y, z)e
dx dy dz
I(x)(y)(z)e
dx dy dz =
jkx x
I(x)e
dx
Thus, Fx (kx ) depends only on the kx wavevector component and is the spatial
Fourier transform of the line current I(x):
Fx (kx )=
Im (x md)
(21.6.3)
m=
jkx x
I(x)e
dx =
Im ejmkx d =
m=
Im ejm
(21.6.4)
m=
x (kx )
This has precisely the form of an array factor with = kx d. The pattern F
is periodic in kx with period ks = 2/d, which is the sampling frequency in units
x (kx ) is periodic in with period 2. The Poisson
of radians/meter. Equivalently, F
x (kx ) to the unsampled pattern Fx (kx ) as a sum of
summation formula [48] relates F
shifted replicas:
1
x (kx )=
F
Fx (kx nks )
(21.6.5)
Fx (kx , ky , kz ) =
0.6
0.4
0
0
(21.6.2)
where we set Im = I(xm )= I(md). Then, the corresponding Fourier transform will be:
0.8
0.6
m=
0.8
I(x)=
Rectangular window
Suppose now that the current I(x) is sampled at the regular intervals xm = md
with spacing d and integer m. The sampled current may be represented as the sum of
impulses:
% rectangular design
Hamming window
1
2
I(x)ejkx x dx
Im =
ks
ks /2
ks /2
1
2
x ()ejm d
F
(21.6.6)
x (z)=
F
Im zn
(21.6.7)
m=
Next, we focus on nite line sources I(x), l/2 x l/2. Then, (21.6.1) reads:
l/2
(21.6.1)
n=
Aliasing, that is, the overlapping of the spectral replicas, can be avoided only if
Fx (kx ) is bandlimited to within the Nyquist interval, |kx | ks /2. This would imply that
I(x) have innite extent.
In practice, I(x) is assumed to be space-limited with a nite extent, say, over an interval l/2 x l/2. In this case, Fx (kx ) cannot be bandlimited and therefore, aliasing
will always occur. However, if the pattern F(kx ) attenuates with large kx , aliasing may
be minimized by selecting a small enough d.
Eqs. (21.6.4) and (21.6.5) provide two equivalent ways to express the spectrum of the
sampled current. Eq. (21.6.4) can be inverted to recover the current samples Im :
Fx (kx )=
l/2
I(x)ejkx x dx
(21.6.8)
u=
lkx
2
kx =
2u
u=
l
sin cos
(21.6.9)
957
and dene a scaled pattern F(u)= Fx (kx )/l. Then, we have the Fourier relationships:
F(u)=
l/2
l/2
I(x)ej2ux/l dx
I(x)=
F(u)ej2ux/l du
I(x)=
I(x nl)
continuous pattern to N 1 zeros of the array using the mapping z = ej = ejkx d . Since
d = l/N, the mapping from u-space to -space becomes = kx d = 2ud/l = 2u/N:
(21.6.10)
If I(x) were periodic with period l, then 2/l would be its fundamental harmonic and
2u/l would be interpreted as the uth harmonic. Indeed, the continuous-line version
of the Woodward-Lawson method gives u just such an interpretation. Let us dene the
periodic extension of the space-limited I(x) with period l to be the sum of its replicas:
958
(21.6.11)
= kx d =
n =
2un
zn = ejn = ej2un /N ,
cp ej2px/l ,
cp =
p=
l/2
l/2
F(p)ej2px/l ,
j2px/l
I(x)e
dx
p=
(21.6.12)
l
2
l
2
A(z)=
F(u)=
l/2
I(x)ej2ux/l dx =
F(p)
p=
F(u)=
p=
l/2
l/2
F(p)
N
1
(z zn )
(21.6.17)
ej2(up)x/l dx ,
sin (u p)
(u p)
1 , if l/2 x l/2
I(x)=
0 , otherwise
(21.6.13)
The pattern F(u) may itself be expressed in terms of its samples F(p). We have
from (21.6.13):
l/2
(21.6.16)
n=1
Because I(x)=
I(x) over the period l/2 x l/2, the above integral for the pth
coefcient implies from (21.6.10) that cp = F(u) with u = p. Thus, restricting x over
its basic period, we have the representation:
I(x)=
n = 1, 2, . . . , N 1
Then, I(x)
, being periodic, could be expanded in a Fourier series with coefcients:
(21.6.15)
n=
I(x)=
2u
or,
(21.6.14)
Eqs. (21.6.13) and (21.6.14) are the continuous-line version of the Woodward-Lawson
method, which is of course equivalent to the application of Shannons sampling theorem
to the space-limited function I(x), and our derivation is nothing more than the proof
of that theorem.
For discrete arrays, we must sample in space xm = md, not in frequency. By taking
N samples over the length l, that is, d = l/N, and truncating the summation in (21.6.13)
to p = 0, 1, . . . , N 1, we obtain the practical version of the Woodward-Lawson method
that we used in the previous section.
x (z) of Eq. (21.6.7) becomes a polyFor an N-element nite array, the z-transform F
nomial of degree N 1 in z. Such an array can be designed directly in discrete-space
domain, or it can be designed by mapping a given continuous line source pattern to the
discrete case. This can be accomplished approximately by mapping N 1 zeros of the
(21.6.18)
F(u)=
l/2
l/2
I(x)ej2ux/l dx =
l/2
l/2
ej2ux/l dx =
sin(u)
(21.6.19)
Its zeros are at the non-zero integers un = n, for n = 1, 2, . . . . By selecting the rst
N 1 of these, un = n, for n = 1, 2, . . . , N 1, we may map them to the N 1 zeros of
the uniform array:
zn = ej2un /N = ej2n/N ,
n = 1, 2, . . . , N 1
A(z)=
N
1
(z zn )=
n=1
N
1
n=1
1
z ej2n/N =
N
z ej2n/N
n=0
z1
where we introduced a scale factor 1/N and multiplied and divided by the factor (z 1).
But the numerator polynomial, being a monic polynomial and having as roots the Nth
roots of unity, must be equal to zN 1. Thus,
A(z)=
1 zN 1
1
=
1 + z + z2 + + zN1
N z1
N
959
A()=
1 ejN 1
sin(N/2) j(N1)/2
sin(u)
=
=
e
eju(N1)/N
N ej 1
N sin(/2)
N sin(u/N)
For large N and xed value of u, we may use the approximation sin x x in the
denominator which tends to N sin(u/N) N(u/N)= u, thus, approximating the
sin u/u pattern of the continuous line case.
Taylors one-parameter continuous line source [1260] has current I(x) and corresponding pattern F(u) given by the Fourier transform pair [190]:
F(u)=
sinh B2 u2
B2 u2
I(x)= I0 B 1 (2x/l)2
This is the spatial analog of an innite sinusoid a(n)= ej0 n whose spectrum is the
sharp spectral line A()= 2( 0 ). A nite-duration sinusoid is obtained by
windowing with a length-N time window w(n) resulting in a(n)= w(n)ej0 n .
In the frequency domain, the effect of windowing is to replace the spectral line
( 0 ) by its smeared version W( 0 ), where W() is the DTFT of the window
w(n). The spectrum W( 0 ) exhibits a main lobe at = 0 and sidelobes. The
main lobe gets narrower with increasing N.
A nite N-element array with a narrow beam and low sidelobes, and steered towards
an angle 0 , can be obtained by windowing the innite narrow-beam array with an
appropriate length-N spatial window w(m). For odd N = 2M + 1, or even N = 2M, we
dene respectively:
(21.6.20)
where l/2 x l/2 and I0 () is the modied Bessel function of rst kind and zeroth
order, and B is a positive parameter that controls
the sidelobe level. For u > B, the
pattern becomes a sinc-pattern in the variable u2 B2 , and for large u, it tends to the
pattern of the uniform line source. We will discuss this further in Sec. 21.10.
Taylors ideal line source [1261] also has a parameter that controls the sidelobe level
and is is dened by the Fourier pair [190]:
F(u) = cosh A2 u2
I1 A 1 (2x/l)2 A
l
l
+
x
+
I(x) =
l
2
2
1 (2x/l)2
960
a(m) = e
m = 0, 1, 2, . . . , M
w(m),
m = 1, 2, . . . , M
(21.7.1)
In both cases, the array factor of Eqs. (21.1.1) and (21.1.2) becomes:
A()= W( 0 )
(21.7.2)
where W() is the DSFT of the window, dened for odd or even N as:
(21.6.21)
where I1 () is the modied Bessel function of rst kind and rst order. Van der Maas
[1249] showed rst that this pair is the limit of a Dolph-Chebyshev array in the limit of
a large number of array elements. We will explore it further in Sec. 21.12.
M
w(m)ejm + w(m)ejm
W() = w(0)+
m=1
W() =
M
j(m1/2)
w(m)e
j(m1/2)
+ w(m)e
(21.7.3)
m=1
A()= 2( 0 )
where = kd cos and 0 = kd cos 0 . Inserting this into the inverse DSFT of
Eq. (21.3.2), gives the double-sided innitely-long array, for < m < :
a(m)=
1
2
A()ejm d =
1
2
2( 0 )ejm d = ej0 m
To be periodic in , all the Nyquist replicas of this term must be added. But they are not shown here
because 0 and are assumed to lie in the central Nyquist interval [, ].
W() = w(0)+2
M
(N = 2M + 1)
w(m)cos(m)
m=1
W() = 2
M
(21.7.4)
w(m)cos (m 1/2)
(N = 2M)
m=1
At broadside, 0 = 0, 0 = 90o , Eq. (21.7.1) reduces to a(m)= w(m) and the array
factor becomes A()= W(). Thus, the weights of a broadside narrow beam array are
the window samples a(m)= w(m). The steered weights (21.7.1) can be calculated with
the help of the MATLAB function scan, or steer:
a = scan(w, psi0);
a = steer(d, w, phi0);
The primary issue in choosing a window function w(m) is the tradeoff between frequency resolution and frequency leakage, that is, between main-lobe width and sidelobe
level [48,49]. Ideally, one would like to meet, as best as possible, the two conicting
requirements of having a very narrow mainlobe and very small sidelobes.
961
Fig. 21.7.1 shows four narrow-beam design examples illustrating this tradeoff. All
designs are 7-element arrays with half-wavelength spacing, d = /2, and steered towards 90o . The Dolph-Chebyshev and Taylor-Kaiser arrays were designed with sidelobe
level of R = 20 dB.
Uniform
DolphChebyshev
90o
90o
45o
135
962
The uniform array has the narrowest mainlobe but also the highest sidelobes. The
Dolph-Chebyshev is optimum in the sense that, for the given sidelobe level of 20 dB, it
has the narrowest width. The Taylor-Kaiser is somewhat wider than the Dolph-Chebyshev,
but it exhibits better sidelobe behavior. The binomial array has the widest mainlobe but
no sidelobes at all.
Fig. 21.7.2 shows another set of examples. All designs are 21-element arrays with
half-wavelength spacing, d = /2, and scanned towards 60o .
45o
135
Uniform
DolphChebyshev
90
30 20 10
dB
180
30 20 10
dB
180
90
120
60
120
60
150
30
150
30
30 20 10
dB
180
45o
135
45o
135
90o
90o
TaylorKaiser
Binomial
30
150o
30 20 10
dB
180
30
150o
90
90
60
135
120
60
120
45o
135
45
90
90
TaylorKaiser
Binomial
90o
30 20 10
dB
180o
0o
30 20 10
dB
180o
90o
120
0o
60
150
120
60
30
150
30
30 20 10
dB
180
o
45
135
45
135
90o
90o
30o
150o
120o
60o
o
90
Shown on the graphs are also the half-power 3-dB circles being intersected by the
angular rays at the 3-dB angles. For comparison, we list below the designed array weights
(normalized to unity at their endpoints) and the corresponding 3-dB angular widths (in
degrees):
Uniform
1
1
1
1
1
1
1
Dolph-Chebyshev
1.0000
1.2764
1.6837
1.8387
1.6837
1.2764
1.0000
Taylor-Kaiser
1.0000
1.8998
2.6057
2.8728
2.6057
1.8998
1.0000
Binomial
1
6
15
20
15
6
1
14.5o
16.4o
16.8o
24.6o
30 20 10
dB
180
0o
30o
150o
60o
120o
90
The Dolph-Chebyshev and Taylor arrays were designed with sidelobe level of R = 25
dB. The uniform array has sidelobes at R = 13 dB. Because N is higher than in Fig. 21.7.1,
the beams will be much narrower. The 3-dB beamwidths are in the four cases:
3dB
3dB
3dB
3dB
= 5.58o
= 6.44o
= 7.03o
= 15.64o
Uniform
Dolph-Chebyshev
Taylor-Kaiser
Binomial
The two key parameters characterizing a window are the 3-dB width of its main lobe,
3dB , and its sidelobe level R (in dB). For some windows, such as Dolph-Chebyshev
963
and binomial, 3dB can be calculated exactly. In others, such as Taylor-Kaiser and
Hamming, it can be calculated approximately by Eq. (20.10.2), that is,
3dB = 0.886
2b
3dB
for 0 = 0o , 180o
W() =
N sin
W(z) =
(21.7.7)
N z1/2 z1/2
= z(N1)/2
|W(3 )|2
1
=
|W(0)|2
2
2(N1)
3
cos
1
2
3 = 2 acos 20.5/(N1)
3dB = 4 acos 20.5/(N1)
(21.8.4)
Once 3dB is found, the 3-dB width 3dB in angle space, for an array steered
towards an angle 0 , can be found from Eq. (21.7.6). The MATLAB function binomial
generates the array weights (steered towards 0 ) and 3-dB width. Its usage is:
% binomial array coefcients and beamwidth
For example, the fourth graph of the binomial response of Fig. 21.7.1 was generated
by the MATLAB code:
[a, dph] = binomial(0.5, 90, 5);
[g, ph] = array(0.5, a, 200);
dbz(ph, g, 45, 40);
addcirc(3, 40, --);
addray(90 + dph/2, -);
addray(90 - dph/2, -);
1 zN 1
N z1
(21.8.3)
This response falls monotonically on either side of the peak at = 0 until it becomes
zero at the Nyquist frequency = . Indeed, the z-transform has a multiple zero of
order N 1 at z = 1.
Thus, the binomial response has no sidelobes. This is, of course, at the expense of
a fairly wide mainlobe. The 3-dB width 3dB can be determined by nding the 3-dB
frequencies 3 that satisfy the half-power condition:
1 zN/2 zN/2
N1
N1
W()= ej/2 + ej/2
= 2 cos
[1, 1, . . . , 1]
sin
(21.7.6)
(21.7.5)
where b is a broadening factor that depends on the choice of window and increases
with the sidelobe attenuation R. As discussed in Sec. 20.10, once 3dB is known, the
angular 3-dB width of the steered array can be computed approximately by:
3dB
kd sin 0
=
3dB
,
2
kd
964
w(m)=
(N 1)!
,
m!(N 1 m)!
m = 0, 1, . . . , N 1
N1
W(z)= z1/2 + z1/2
= z(N1)/2 (1 + z)N1
(21.8.2)
Most windows have largest sidelobes near the main lobe. If a window is designed to
achieve a minimum sidelobe attenuation of R dB, then typically R will be the attenuation of the sidelobes nearest to the mainlobe; the sidelobes further away will have
attenuations higher than R.
Because of the tradeoff between mainlobe width and sidelobe attenuation, the extra
attenuation of the furthest sidelobes will come at the expense of increased mainlobe
width. If the attenuation of these sidelobes could be decreased (up to the level of the
minimum R), then the mainlobe width would narrow.
It follows that for a given minimum desired sidelobe level R, the narrowest mainlobe
width will be achieved by a window whose sidelobes are all equal to R. Conversely,
965
for a given maximum desired mainlobe width, the largest sidelobe attenuation will be
achieved by a window with equal sidelobe levels.
This optimum window is the Dolph-Chebyshev window, which is constructed with
the help of Chebyshev polynomials. The mth Chebyshev polynomial Tm (x) is:
Tm (x)= cos m acos(x)
W()= TN1 (x),
x = x0 cos
(21.9.1)
If |x| > 1, the inverse cosine acos(x) becomes imaginary, and the expression can be
rewritten in terms of hyperbolic cosines: Tm (x)= cosh m acosh(x) .
Setting x = cos , or = acos(x), we see that Tm (x)= cos(m). Using trigonometric identities, the quantity cos(m) can always be expanded as a polynomial in powers
of cos . The expansion coefcients are precisely the coefcients of the powers of x of
the Chebyshev polynomial. For example, we have:
cos(0)= 1
cos(1)= cos
cos(2)= 2 cos2 1
cos(3)= 4 cos3 3 cos
cos(4)= 8 cos4 8 cos2 + 1
966
T0 (x)= 1
T1 (x)= x
T2 (x)= 2x2 1
T3 (x)= 4x3 3x
T4 (x)= 8x4 8x2 + 1
For |x| < 1, the Chebyshev polynomial has equal ripples, whereas for |x| > 1, it
increases like xm . Moreover, Tm (x) is even in x if m is even, and odd in x if m is odd.
Fig. 21.9.1 depicts the Chebyshev polynomials T9 (x) and T10 (x).
(Dolph-Chebyshev array factor)
(21.9.2)
The scale factor x0 is always x0 > 1 and is determined below. For a broadside design,
as the azimuthal angle ranges over the interval 0o 180o , the wavenumber =
kd cos will range over the visible region kd kd. The quantity x = x0 cos(/2)
will range from xmin = x0 cos(kd/2) to the value x = x0 , which is reached broadside at
= 90o or = 0, and then x will move back to xmin . Thus, the range of variation of x
will be xmin x x0 .
Assuming that xmin is in the interval 1 xmin 1, we can split the interval
[xmin , x0 ] into the two subintervals: [xmin , 1] and [1, x0 ], as shown in Fig. 21.9.2. We
require that the subinterval [xmin , 1] coincide with the sidelobe interval of the array
factor W(), and that the subinterval [1, x0 ] coincide with the mainlobe interval. The
zeros of the Chebyshev polynomial within [xmin , 1] become the sidelobe zeros of the
array factor and get repeated twice as varies over [0o , 180o ].
In Fig. 21.9.2, for spacing d = /2, we have kd = and xmin = x0 cos(kd/2)
= x0 cos(/2)= 0. Similarly, we have xmin = x0 cos(3/4)= 0.707x0 for d = 3/4,
and xmin = x0 cos(/4)= 0.707x0 for d = /4.
The relative sidelobe attenuation level in absolute units and in dB is dened in terms
of the ratio of the mainlobe to the sidelobe heights:
Ra =
Wmain
,
Wside
R = 20 log10 (Ra ) ,
Ra = 10R/20
Ra = TN1 (x0 )= cosh (N 1)acosh(x0 )
(21.9.3)
cos(m)= cos 2m
= T2m (u)
x0 = cosh
acosh(Ra )
N1
= T2m1 (u)
Thus in the odd case, the summation in Eq. (21.7.4) will result in a polynomial of
maximal degree 2M = N 1 in the variable u, and in the even case, it will result into a
polynomial of degree 2M 1 = N 1.
(21.9.4)
Once the scale factor x0 is determined, the window samples w(m) can be computed
by constructing the z-transform of the array factor from its zeros and then doing an
inverse z-transform. The N 1 zeros of TN1 (x) are easily found to be:
TN1 (x)= cos (N 1)acos(x) = 0
xi = cos
(i 1/2)
N1
i = 2 acos
xi
x0
zi = eji ,
i = 1, 2, . . . , N 1
967
968
function dolph.m of Appendix I implements this design procedure with the help of
the function poly2.m, which calculates the coefcients from the zeros. The typical
MATLAB code in dolph.m is as follows:
N1 = N-1;
Ra = 10^(R/20);
x0 = cosh(acosh(Ra)/N1);
% number of zeros
% sidelobe level in absolute units
% scaling factor
i = 1:N1;
xi = cos(pi*(i-0.5)/N1);
psi = 2 * acos(xi/x0);
zi = exp(j*psi);
a = real(poly2(zi));
The window coefcients resulting from denition (21.9.5) are normalized to unity
values at their end-points. This denition differs from that of Eq. (21.9.2) by the scale
factor x0N1 /2.
The function dolph.m also returns the 3-dB width of the main lobe. The 3-dB frequency 3 is dened by the half-power condition:
TN1 (x0 )
Ra
=
2
a
cosh (N 1)acosh(x3 ) =
2
Solving for x3 and the corresponding 3-dB angle, x3 = x0 cos(3 /2), we have:
x3 = cosh
acosh(Ra / 2)
N1
3 = 2 acos
x3
x0
(21.9.6)
which yields the 3-dB width in -space, 3dB = 23 . The 3-dB width in angle space,
3dB , is then computed from Eq. (21.7.6) or (20.10.6).
There exist several alternative methods for calculating the Chebyshev array coefcients [12471255,1257] and have been compared in [1256]. One particularly accurate
and effective method is that of Bresler [1250], which has recently been implemented by
Simon [1252] with the MATLAB function chebarray.m.
Example 21.9.1: The second graph of Fig. 21.7.1 was generated by the MATLAB commands:
[a, dph] = dolph(0.5, 90, 5, 20);
[g, ph] = array(0.5, a, 200);
dbz(ph, g, 45);
addcirc(3, 40, --);
addray(90 + dph/2, --);
addray(90 - dph/2, --);
Fig. 21.9.2 Chebyshev polynomials and array factors for d = /2, d = 3/4, and d = /4.
N
1
(z zi )
(21.9.5)
i=1
The inverse z-transform of W(z) are the window coefcients w(m). The MATLAB
The array weights and 3-dB width were given previously in the table of Fig. 21.7.1. The
weights are constructed as follows. The scale parameter x0 is found to be x0 = 1.2933.
The zeros xi , i , and zi are found to be:
We note that the zeros xi do not have to lie within the sidelobe range [xmin , 1] and
the corresponding i do not all have to be in the visible region.
The symmetric z-transform of the window is constructed in terms of the one-sided
transform using Eq. (21.1.4) as follows:
See
xi
zi
1
2
3
4
0.9239
0.3827
0.3827
0.9239
1.5502
2.5408
3.7424
4.7330
0.0206 + 0.9998j
0.8249 + 0.5653j
0.8249 0.5653j
0.0206 0.9998j
969
970
If /2 < d < , then < kd < 2 and xmin < 0 and can exceed the left limit
x = 1. This requires that for the given sidelobe level R, the array spacing may not
exceed a maximum value that satises xmin = x0 cos(kdmax /2)= 1. This gives:
W(z)=
(z z1 )(z z2 )(z z3 )(z z4 )= z4 + 1.6085z3 + 1.9319z2 + 1.6085z + 1
1
kdmax = 2 acos
x0
W(z)= z2 W(z)=
z2 + 1.6085z + 1.9319 + 1.6085z1 + z2
resulting in the array weights w = [1.0000, 1.6085, 1.9319, 1.6085, 1.0000]. We note
that the array zeros come in conjugate pairs. Only the rst two xi and i lie in the visible
region and show up as pattern zeros in the array factor.
dmax =
acos
x0
(21.9.7)
An alternative way of phrasing the condition xmin 1 is to say that for the given
value of the array spacing d (such that /2 < d < ), there is a maximum sidelobe
attenuation that may be designed. The corresponding maximum value of x0 will satisfy
xmin = x0,max cos(kd/2)= 1, which gives:
Example 21.9.2: The second graph of Fig. 21.7.2 was generated by the MATLAB commands:
x0,max =
1
cos(kd/2)
(21.9.8)
Example 21.9.4: Consider the case d = 3/4, R = 20 dB, N = 9. Then for the given R, the
maximum element spacing that we can have is dmax = 0.8836.
The function dolph.m was called with the parameters N = 21, R = 20 dB and was steered
towards the angle 0 = 60o .
Alternatively, for the given spacing d = 3/4, the maximum sidelobe attenuation that we
can have is Ra,max = 577, or, Rmax = 55.22 dB.
Example 21.9.3: As another example, consider the design of a nine-element broadside DolphChebyshev array with half-wavelength spacing and sidelobe attenuation level of R = 20
An array designed with the maximum spacing d = dmax will have the narrowest mainlobe,
because its total length will be the longest possible. For example, the following two calls
to the function dolph will calculate the required 3-dB beamwidths:
1
2
3
4
5
6
7
8
xi
0.9808
0.8315
0.5556
0.1951
0.1951
0.5556
0.8315
0.9808
i
0.8260
1.3635
2.0506
2.7752
3.5080
4.2326
4.9197
5.4572
d = 0.75
d = dmax = 0.8836
90o
zi
0.6778 + 0.7352j
0.2059 + 0.9786j
0.4616 + 0.8871j
0.9336 + 0.3583j
0.9336 0.3583j
0.4616 0.8871j
0.2059 0.9786j
0.6778 0.7352j
% spacing d = dmax
We nd 1 = 8.34o and 2 = 7.08o . The array weights w are the same in the two cases
and equal to those of Example 21.9.3. The gains are shown in Fig. 21.9.3.
% spacing d = 3/4
90o
o
120
120o
60
150o
30o
60o
150o
30o
30 20 10
dB
180
In order for the Chebyshev interval [xmin , 1] to be mapped onto the sidelobe region
of the array factor, we must require that xmin 1.
If d < /2, then this condition is automatically satised because kd < /2 and
xmin = x0 cos(kd/2)> 0. (In this case, we must also demand that xmin 1. However,
as we discuss below, when d < /2 Dolphs construction is no longer optimal and is
replaced by the alternative procedure of Riblet.)
30o
150o
120o
60o
90o
30 20 10
dB
180
30o
150o
120o
60o
90o
As pointed out by Riblet [1244], Dolphs procedure is optimal only for element spacings that are greater than half a wavelength, d /2. For d < /2, it is possible to
nd another set of window coefcients that would result into a narrower main lobe.
971
Riblet modied Dolphs method to obtain an optimal design for both cases, d < /2
and d /2, but only for an odd number of array elements, N = 2M + 1.
It follows from Eq. (21.7.4) that if N is odd, the array factor W() can be expressed
either as a polynomial in the variable cos(/2) or as a polynomial in the variable cos .
Dolphs original denition of Eq. (21.9.2) used a Chebyshev polynomial T2M (x) of
order 2M = N 1 in the variable x = x0 cos(/2). Riblet used instead a Chebyshev
polynomial TM (y) of order M in the new variable y = A cos + B, where the constants
A, B are to be determined from the desired spacing d and sidelobe attenuation R. The
array factor is dened as:
W()= TM (y),
y = A cos + B
(Riblets modication)
972
peak, while the left end will ensure that we use the maximum size of the equi-ripple
interval of the Chebyshev variable y. Thus, we require the conditions:
Ac0 + B = 1
A=
(21.9.9)
(21.9.14)
A + B = y0
1 + y0
1 c0
B=
(21.9.15)
1 + y0 c0
1 c0
For d /2, the method coincides with Dolphs original method. In this case,
c0 = 1, and A, B become:
y0 + 1
A=
= x20
2
y0 = cosh
acosh(Ra )
(21.9.11)
We note that y0 is related to x0 of Eq. (21.9.3) by y0 = 2x20 1. This follows from the
general property of Chebyshev polynomials that:
2
y = 2x 1
(21.9.12)
T2M (x)= cos (2M))= cos M(2) = TM (y)
c0 =
1,
cos(kd),
if d /2
if d < /2
Assuming A > 0, it follows that the range of variation of y = A cos + B will be the
interval [Ac0 + B, A + B]. The parameters A, B are xed by requiring that this interval
coincide with the interval [1, y0 ] so that the right end will correspond to the mainlobe
2
1 = 2x2 1
and therefore, Eq. (21.9.12) implies that W()= TM (y)= T2M (x).
Once the parameters A, B are determined, the window w(m) may be constructed
from the zeros of the Chebyshev polynomials. The M zeros of TM (y) are:
(21.9.13)
(21.9.16)
= x20 1
where we used y0 = 2x20 1, as discussed above. It follows that the y variable will be
related to the Dolph variable x = x0 cos(/2) by:
yi = cos
As the azimuthal angle varies over 0o 180o and the wavenumber over
the visible region kd kd, the quantity c = cos will vary from c = cos(kd) at
= 0o to c = 1 at = 90o , and then back to c = cos(kd) at = 180o .
If /2 d , then kd 2 and = kd cos will pass through the value
= before it reaches the value = kd. It follows that the quantity c will go through
c = 1 before it reaches c = cos(kd). Thus, in this case the widest range of variation
of c = cos is 1 c 1.
On the other hand, if d < /2, then kd < and c never reaches the value c = 1.
Its minimum value is c = cos(kd), and the range of c is [cos(kd), 1]. To summarize,
the range of variation of c will be the interval [c0 , 1], where
B=
y0 1
(i 1/2)
M
i = 1, 2, . . . , M
i = acos
yi B
A
i = 1, 2, . . . , M
The 2M = N 1 zeros of the z-transform of the array are the conjugate pairs:
eji eji ,
i = 1, 2, . . . , M
W(z)= zM W(z)=
zM
M
i=1
The inverse z-transform of W(z) will be the desired array weights w(m). This
procedure is implemented by the MATLAB function dolph2.m of Appendix I. We note
again that this denition differs from that of Eq. (21.9.9) by the scale factor AM /2.
973
974
The function dolph2 also returns the 3-dB width of the main lobe. The 3-dB frequency 3 is computed from the half-power condition:
W(3 )= TM (y3 )=
TM (y0 )
Ra
=
2
y3 = cosh
acosh(Ra / 2)
y3 B
A
cos(kdmax )+
30o
3dB = 23
30o
0o
30 20 10
dB
180o
0o
(21.9.17)
30o
150o
30o
150o
60
120
60
120
90o
90
3 y0
1
acos
2
1 + y0
(21.9.18)
y0 1
2
=1
3 y0
cos(kdmax )=
1 + y0
Fig. 21.9.4 Dolph and Riblet designs of Chebyshev array with N = 9, R = 20 dB, d = /4.
kd 1 | cos 0 | kd 1 + | cos 0 |
In order to avoid grating lobes, the element spacing must be less than the maximum:
Because the function acos always returns a value in the range [0, ], and we want a
value kdmax > , we must invert the cosine as follows:
3 y0
kdmax = 2 acos
1 + y0
Example 21.9.5: The bottom two graphs of Fig. 21.9.2 show the array factor designed using
Dolphs and Riblets methods for the case N = 9, R = 20 dB, and d = /4. The Dolph
weights are the same as those given in Example 21.9.3. The Riblet weights computed by
dolph2 are:
w = [1, 3.4884, 7.8029, 11.7919, 13.6780, 11.7919, 7.8029, 3.4884, 1]
The corresponding array gains in dB are shown in Fig. 21.9.4. The 3-dB widths of the Dolph
and Riblet designs are 3dB = 25.01o and 3dB = 17.64o .
o
Next, we discuss steered arrays [1245]. We assume a steering angle 0 < 0 <
180o . The endre case 0 = 0o , 180o will be treated separately [1246]. The steered
wavenumber will be:
= 0 = kd(cos cos 0 )
(21.9.19)
where 0 = kd cos 0 . The corresponding array weights and array factor will be:
M m M
y = A cos + B
d0 =
150o
30 20 10
dB
180o
This follows from the condition xmin = x0 cos(kdmax /2)= 1. The corresponding
value of y will be y = 2x2min 1 = 1. Using Eq. (21.9.16), this condition reads:
y=
60o
120
dmax = 1
y0 + 1
60
150o
For the case d /2, the maximum element spacing given by Eq. (21.9.7) can also
be expressed in terms of the variable y0 as follows:
120
90o
o
3 = acos
Riblet design
90
o
(21.9.20)
(21.9.21)
1 + | cos 0 |
c0 =
1,
cos kd(1 + | cos 0 |) ,
if d d0 /2
if d < d0 /2
1,
2d
c0 =
,
cos
d0
if d d0 /2
if d < d0 /2
(21.9.22)
The solutions for A, B will still be given by Eq. (21.9.15) with this new value for c0 .
Note that when d < d0 /2 the quantities A, B, and hence the array weights w(m), will
depend on 0 . Therefore, the weights must be redesigned for each new value of 0 ,
instead of simply steering the broadside weights [1245].
When d d0 /2, we have c0 = 1 and the weights w(m) become independent of
0 . In this case, the steered weights are obtained by steering the broadside weights.
Example 21.9.6: Fig. 21.9.5 shows the gain of an array steered towards 0 = 60o , with N = 9,
R = 20 dB, and element spacing d = /4.
975
The grating lobe spacing is d0 = /(1 + cos(60o ))= 2/3, and the dividing line between
Dolph and Riblet designs will be d0 /2 = /3. The second graph shows the gain of a
broadside array, which is steered towards 60o . It demonstrates that the plain steering of
a broadside design will not work for d < d0 /2. The array weights were computed by the
MATLAB commands:
a1 = dolph2(1/4, 60, 9, 20);
w = dolph2(1/4, 90, 9, 20);
a2 = steer(1/4, w, 60);
A=
(21.9.24)
y0 1
2A sin(kd)
where in the solution for 0 , the plus (minus) sign is chosen for the forward (backward)
endre array. Bidirectional endre arrays can also be designed. In that case, we set
0 = 0 and only require the rst two conditions in (21.9.23), which become
A cos(kd)+B = y0
(21.9.25)
A + B = 1
Steered broadside
y0 + 3 + 2 cos(kd) 2(y0 + 1)
2 sin2 (kd)
B = 1 A
0 = asin
90
90
60o
150o
120o
30o
with solution:
60o
150o
30 20 10
dB
0o
30o
150o
60o
90o
A=
30o
120o
For a backward endre array (with mainlobe towards = 180o ,) we must replace
% broadside array
Steered design
180o
% steered array
The 3-dB width was 3dB = 26.66o . It was obtained using Eq. (21.9.17) and the approximation Eq. (21.7.6). The rst graph also shows the 3-dB gain circle intersecting the rays
at the 3-dB angles 0 3dB /2, that is, at 46.67o and 73.33o . We note also that the
broadside weights w were given in Example 21.9.5.
120o
976
30 20 10
dB
180o
B=
0o
120o
Example 21.9.7: Fig. 21.9.6 shows three endre designs for a nine-element array with quarterwavelength spacing d = /4, and sidelobe level of R = 20 dB. The array weights and 3-dB
60o
90o
Endre Dolph-Chebyshev arrays require special treatment. DuHamel has shown how
to modify Riblets design for this purpose [1246]. The key idea is not to use a steering
angle 0 = 0o or 0 = 180o , but rather to make 0 , and the corresponding steering
phase 0 = kd cos 0 , a free design parameter.
The steered wavenumber will still be = kd cos kd cos 0 = kd cos 0
and the array factor and array weights will still be given by Eq. (21.9.20).
The three parameters {A, B, 0 } are determined by the following conditions. For a
forward endre array (with mainlobe peak towards = 0o ,) we require that y = y0 at
= 0, or, at = kd 0 . Moreover, we require that the two endpoints y = 1 and
y = 1 of the equi-ripple range of the Chebyshev polynomial are reached at = 0 and
at = 180o , or, = kd 0 . These three conditions can be stated as follows:
A cos(kd 0 )+B = y0
A + B = 1
A cos(kd + 0 )+B = 1
(21.9.26)
y0 + cos(kd)
1 cos(kd)
In all three of the above endre designs, we must assume d /2 in order to avoid
grating lobes. The MATLAB function dolph3.m of Appendix I implements all three cases.
30o
150o
y0 + 1
1 cos(kd)
(21.9.23)
% forward endre
% backward endre
% bidirectional endre
The rst argument of dolph3 takes on one of the three values {1, 1, 2}, for forward,
backward, and bidirectional designs. In the forward and backward cases, the array weights
are already scanned by the effective scanning phase 0 . The calculated array weights
are in the three cases:
weights
forward
backward
bidirectional
a0
= a
1
= a
2
= a
3
= a
4
18.3655
18.3655
15.8051 1.0822j
9.8866 + 1.3603j
4.1837 0.8703j
0.9628 + 0.2701j
15.8051 + 1.0822j
9.8866 1.3603j
4.1837 + 0.8703j
0.9628 0.2701j
20.4676
17.5583
10.8723
4.5116
1.0000
a1
a2
a3
a4
Because the backward case is obtained by the replacement 0 0 , its weights will be
the conjugates of those of the forward case.
The 3-dB widths are in the three cases: 3dB = 22.85o , 22.85o , 22.09o . The graphs also
show the 3-dB gain circles intersecting the gains at the 3-dB angles.
977
Backward
90o
o
Bidirectional
90o
o
120
150
120
30
60
30 20 10
dB
60
120
30
150
60
120
30 20 10
dB
180
90
90
x0 = 1.4302966532
r0 = sinc(x0 ) = 0.2172336282
150
30
30
150
60
30
180
120
150
90o
60
978
30 20 10
dB
180
30
150
The sidelobe level Ra (in absolute units) is dened as the ratio of the pattern at u = 0
to the maximum sidelobe level r0 , that is,
60
120
Ra =
90
1 sinh(B)
r0
R = R0 + 20 log10
In Sec. 21.4, we used the Kaiser window to design a sector array pattern. That design problem was equivalent to designing an FIR lowpass digital lter using the window
method. Here, we use the Kaiser window to design a narrow beam arraya problem
equivalent to the spectral analysis of windowed sinusoids [48,49,1265].
The broadside array weights are equal to the window coefcients a(m)= w(m),
dened up to an overall normalization constant by:
(21.10.1)
I(xm )= I0 B 1 (2xm
/l)2
= I0 B 1 (m/M)2
Thus, we note that the Kaiser window shape parameter is related to Taylors parameter B by = B. The parameter B or control the sidelobe level. The continuous
line pattern of (21.6.20),
sinh B2 u2
sin u2 B2
F(u)=
=
(21.10.2)
B2 u2
u2 B2
has a rst null at u0 = B2 + 1, and therefore, the rst sidelobe will occur for u > u0 .
For this range, we must use the sinc-form of F(u) and to nd the maximum sidelobe
level, we must nd the maximum of the sinc function (for argument other than zero).
This can be determined, for example, by the MATLAB command:
x0=fminbnd(sinc(x), 1,2, optimset(TolX,eps)); r0 = abs(sinc(x0));
MATLABs
(21.10.4)
w(m)= I0 1 m2 /M2
(21.10.3)
sinh(B)
(21.10.5)
To avoid having to solve (21.10.4) for B for a given Ra , Kaiser and Schafer [1265]
have developed an empirical formula in terms of the sidelobe level R in dB, which is
valid across the range 13 < R < 120 dB:
0,
0.12438(R + 6.3),
R 13.26
13.26 < R 60
(21.10.6)
For R 13.26, w(m) becomes the rectangular window. The broadening factor b,
and the 3-dB width in -space can also be expressed in terms of the dB sidelobe level
R by the following empirical formula valid for 20 < R < 100 dB:
b = 0.01330 R + 0.9761 ,
3dB = 0.886
2b
(21.10.7)
The 3-dB width in angle space, 3dB , is then calculated from Eq. (21.7.6). The 3-dB
beam width may be more accurately calculated by nding it in u-space, say u, and
then transforming it to -space using Eq. (21.6.15), 3dB = 2u/N. The width u
is given by u = 2u3 , where u3 is the solution of the half-power condition:
F(u3 )2 = 1 F(0)2
2
sinh B2 u23
B2 u23
1 sinh(B)
(21.10.8)
For small values of B, the right-hand side becomes less than one, and we must switch
the left-hand side to its sinc form. This happens when B Bc , where
1 sinh(Bc )
Bc
=1
Bc = 0.4747380492
(21.10.9)
979
It is built on the functions sinhc and asinhc for computing the hyperbolic sinc
function and its inverse:
y = sinhc(x);
x = asinhc(y);
980
N = 14
N = 15
90o
For small x, the equation y = sinh(x)/x is solved for x by using the Taylor series
expansion y = sinh(x)x 1 + x2 /6 + x4 /120; for larger x, it is solved by the iteration
sinh(xn )/xn1 = y, or, xn = asinh(yxn1 ), for n = 1, 2, . . . .
Once the B-parameter is determined, the array weights w(m) can be computed from
(21.10.1) using the built-in function besseli, and then steered towards an angle 0
using Eq. (21.7.1). In this case, to avoid grating lobes, the element spacing must be less
than the maximum:
d0 =
(21.10.10)
1 + | cos 0 |
90o
120
60
30
150
30
30 20 10
dB
180
30o
150
30 20 10
dB
180
120
120o
30o
150
60
120
150
As discussed in Sec. 21.9, in order for the visible region is -space to cover at least
one Nyquist period, the element spacing d must be in the range:
d0
60
90
60
o
90
d < d0
(21.10.11)
Example 21.10.1: Fig. 21.10.1 depicts the gain of a 14- and a 15-element Taylor-Kaiser array
with half-wavelength spacing d = /2, steered towards 0 = 60o . The sidelobe level was
R = 20 dB. The array weights were obtained by:
Example 21.10.2: Fig. 21.10.2 depicts the gain of a 31-element endre array with spacing d =
/4 and sidelobe level R = 20 dB, steered towards the forward direction, 0 = 0o , and the
backward one, 0 = 180o .
The maximum and minimum array spacings, calculated from Eq. (21.10.10) for 0 = 0o
and 0 = 180o , are d0 = /2 and d0 /2 = /4. We have chosen d = d0 /2 = /4.
The 3-dB widths are in both cases 3dB = 43.12o . The graphs also show the 3-dB circle
intersecting the 3-dB angle rays.
Forward
Backward
90o
o
120
90o
o
60
150o
30o
60o
120
150o
30o
30 20 10
dB
180
30 20 10
dB
180
0o
The array weights are already steered towards 60o . The designed unsteered weights were
in the two cases:
w1 = [1.0000, 1.3903, 1.7762, 2.1339, 2.4401, 2.6749, 2.8224,
2.8224, 2.6749, 2.4401, 2.1339, 1.7762, 1.3903, 1.0000]
w2 = [1.0000, 1.3903, 1.7762, 2.1339, 2.4401, 2.6749, 2.8224, 2.8728
2.8224, 2.6749, 2.4401, 2.1339, 1.7762, 1.3903, 1.0000]
30o
150o
120o
60o
90o
30o
150o
120o
60o
90o
The design method of the section was based on sampling the current distribution
directly, as in Eq. (21.10.1), rather than using the procedure of mapping the pattern
981
zeros as outlined in Eqs. (21.6.15)(21.6.17). A variation of the design method array that
uses the latter procedure is discussed in Problem 21.1.
c
1
|A()|2 d
2 c
J=
1
|A()|2 d
2
The integration range in the denominator may be changed to be the visible region
Inserting the array pattern,
N
1
an ejn
(21.11.2)
n=0
into (21.11.1), we may express the performance index J as a Rayleigh quotient involving
the so-called prolate matrix [1268,1276]:
J=
a Aa
a a
(21.11.3)
where the dagger denotes the Hermitian conjugate and the prolate matrix is dened by
its matrix elements:
Anm =
sin c (n m)
(n m)
=
sin 2W(n m)
(n m)
n, m = 0, 1, . . . , N 1
(21.11.4)
where we set c = 2W for later convenience. This matrix is the convolution matrix
arising from the impulse response of the ideal lowpass lter with cutoff c .
The problem of maximum energy concentration is to nd that nite sequence a that
maximizes the performance index J. This problem has been studied extensively both for
discrete and continuous time sequences, see [1270] for a nice review. The maximization
of the Rayleigh quotient is realized by the maximum eigenvector of the prolate matrix
A, that is, the eigenvector belonging to the maximum eigenvalue, say, 0 :
Aa = 0 a
The prolate matrix is notoriously ill-conditioned having approximately 2NW eigenvalues that are very near one, and the remaining eigenvalues decreasing rapidly to zero.
The following table lists the eigenvalues in decreasing order for the case N = 21 and
W = 0.2, so that 2NW = 8.4, its condition number being, cond(A)= 5.10631016 :
0
1
2
3
4
5
6
7
8
9
10
0.99999999998517786000
0.99999999795514627000
0.99999987170540139000
0.99999517388508363000
0.99987947149714795000
0.99792457099956200000
0.97588122145542644000
0.83446090480119717000
0.45591142240913063000
0.11887181858959120000
0.01567636516215985600
11
12
13
14
15
16
17
18
19
20
0.00131552671490021500
0.00007986915605618046
0.00000365494381482577
0.00000012731149204486
0.00000000336154097643
0.00000000006621668668
0.00000000000094327944
0.00000000000000920186
0.00000000000000004034
0.00000000000000001958
[kd, kd] if so desired [1269], but the design technique remains essentially the same.
A()=
982
(21.11.5)
N = 21; W = 0.2;
n = 0:N-1; f = 2*W*sinc(2*W*n);
A = toeplitz(f,f);
lambda = svd(A);
The eigenvectors of the prolate matrix are referred to as the discrete prolate spheroidal
sequences (DPSS), and the rst 2NW of them are relevant in multitaper methods of spectral analysis [1275] .
For the array problem, we are interested only in the maximum eigenvector. A simple
way to compute it is by the power iteration, that is, an = Aan1 = An a0 . However,
because the corresponding eigenvalue 0 and the next highest one are so close to unity,
the iteration will be very slow converging.
A more efcient approach is to apply the inverse power iteration on the matrix
Q = I A, that is, an+1 = Q 1 an = Q n a0 . This iteration converges to the minimum
eigenvector of Q , which is the same as the maximum eigenvector of A. The minimum
eigenvalue of Q is 1 0 , which is very small and its inverse (1 0 )1 very large,
causing the iteration to converge very fast.
For the array problem one needs to know the relationship of the bandwidth parameter W to the desired sidelobe level R and the array length N. Because the Taylor-Kaiser
window is a good approximation to the maximum eigenvector, one expects to have a
relationship among the parameters W, B, N, R. As pointed out by Kaiser and Walden
[1264,1272], this relationship is approximately W = B/N.
We have improved this relationship slightly by using the results of [1276] to arrive
at the following empirical formula, which works well over the range 14 R 120 dB:
W=
0.95 B + 0.14
(21.11.6)
This leads to the following design procedure. Given N and R, we calculate B using
the function taylorbw, described in Sec. 21.10, then calculate W from (21.11.6), and
983
984
construct the prolate matrix A, and Q = I A, then, apply the inverse power iteration
initialized with the unit vector a0 = [1, 0, 0, . . . , 0]T :
N = 21, R = 30 dB
a = [1, 0, 0, . . . , 0]T
for n = 1, 2, . . . , Niter ,
a = Q 1 a
|A()| in dB
30
30
30 20 10
dB
180
60
1
0.5
in units of
0.5
60
120
90
% prolate array
N = 21, R = 30 dB
N = 41, R = 30 dB
0.5
0
0
a(m)
a(m)
Fig. 21.11.1 shows a design example with N = 21 and R = 30. The left graph
plots the array patterns |A()| for the prolate and Taylor designs at broadside. The
right graph shows the same prolate array steered towards 60o . The 3-dB width is also
indicated on the gure. We note that the Taylor array has a slightly wider mainlobe and
slightly lower sidelobes, whereas the prolate design meets the sidelobe specication
exactly. The graphs were computed by the following MATLAB code:
Prolate
Taylor
% prolate matrix
10
15
20
Prolate
Taylor
0.5
0
0
10
[at,Dt] = taylor1p(d,ph0,N,R);
[ap,Dp] = prol(d,ph0,N,R);
% Taylor design
% normalized wavenumber
% Prolate design
At = 20*log10(abs(dtft(at,-psi))); At = At-max(At);
Ap = 20*log10(abs(dtft(ap,-psi))); Ap = Ap-max(Ap);
20
30
40
% compute pattern
30
150o
60
Prolate
Taylor
150
The algorithm is insensitive to the choice of the initial vector a0 and converges extremely fast, requiring about 13 iterations (we use 3 by default).
We determine the 3-dB width by simply equating it to that of the Taylor array, that
is, = 2u/N, where u is also obtained from the function taylorbw. Even so, the
prolate arrays mainlobe, as a whole, is slightly narrower than that of the Taylor array.
The MATLAB function prol implements the above procedure:
[a, dph] = prol(d,ph0,N,R);
90
o
120
cosh A2 u2 , if |u| A
F(u)=
cos u2 A2 ,
if |u| A
(21.12.1)
figure; dbz(phi,gp);
Fig. 21.11.2 compares the corresponding array weights of the prolate and Taylor
designs for the cases N = 21 and N = 41, and R = 30 dB.
The sidelobe level (in absolute units) is the ratio of the mainlobe peak height |F(0)| =
cosh(A) to the sidelobe height, which is unity:
Ra = cosh(A)
A=
acosh(Ra )
(21.12.2)
The pattern F(u) may be thought of as a limiting form of the Chebyshev array when
the number N of array elements becomes large [1249]. To see this, we consider the
Chebyshev polynomial TN (x)= cosh(N), where x = cosh . In the limit of large N
985
and small , with the product N kept constant, we can use the approximation
x = cosh 1 +
1 2
2x 2
TN (x) cosh N 2x 2 (21.12.3)
986
u = 2u3 = 2
A2
acosh2
2
cosh(A)
(21.12.9)
For an N-element array, the Chebyshev pattern is dened by Eqs. (21.9.2) and (21.9.3):
,
A()= TN1 x0 cos
2
Ra = TN1 (x0 )
(21.12.4)
Recalling that = 2u/N, it follows that will be small in the limit of large N and
xed u, thus, we may apply the approximation cos(/2) 1 2 /8. Then, using the
Chebyshev approximation (21.12.3), we have:
A() cosh (N 1)
2x0 cos
2
= cosh
(N 1)2 (2x0 2)
"
#
#
2
$
= cosh (N 1) 2x0 1
2
(N 1)
(N 1)
2
(N 1)2u
u
2N
un = A2 + (n 0.5)2 ,
n = 1, 2, . . .
(21.12.5)
A2 + (n 0.5)2 ,
un =
n ,
1
for n = 1, 2, . . . , n
for n n
(21.12.6)
n
=
0.5)2
A2 + (n
(21.12.7)
The 3-dB width of the ideal pattern is obtained from the condition:
1
cosh A2 u23 = cosh(A)
2
(21.12.10)
2
2
A + (n 0.5) ,
un = n ,
A2 + (N n 0.5)2 ,
1
for 1 n n
nNn
for n
(21.12.11)
+1nN1
for N n
n =
2un
zn = ejn ,
n = 1, 2, . . . , N 1
u = 2u3
(21.12.12)
A(z)=
N
1
(z zn )
(21.12.13)
n=1
The scale parameter is selected to allow a smooth transition between the two sets
of zeros, that is, requiring the matching condition:
0.5)2 = n
A2 + (n
2A2 + 1
n
It follows that the limiting form of A() is precisely the pattern (21.12.1).
Taylor introduced a modication of the ideal pattern so the rst few sidelobes, say
, are essentially equiripple at the given sidelobe level R, while the remaining
the rst n
ones follow the sin u/u attenuation rate of the uniform array. The method essentially
preserves the mainlobe width and sidelobe level of the Chebyshev array, while allowing
the far sidelobes to decay faster.
The zeros of the sin u/u pattern occur at the integers un = n, n = 1, 2, . . . ,
whereas the zeros of the ideal pattern (21.12.1) occur at the locations:
u2n A2 = (n 0.5)
should be such
As discussed by Taylor [1261], the minimum acceptable value for n
< 0. This gives the constraint:
that /n
Fig. 21.12.1 shows two design examples. The left graph has N = 21, R = 30 dB, and
= 10. The required minimum
= 5, while the right graph has N = 41, R = 40 dB, and n
n
= 6.69, respectively.
, calculated from (21.12.10), were n
= 4.48 and n
values for n
In order for the middle range of ns in (21.12.11) to be nontrivial, we must necessarily
N/2, which combined with the restriction (21.12.10) implies a minimum value
have n
for the array length:
(21.12.8)
N 4A2 + 2
(21.12.14)
987
N = 41, R = 40 dB, n = 10
N = 21, R = 30 dB, n = 5
Taylor
Dolph
|A()| in dB
10
|A()| in dB
10
20
20
30
30
40
40
50
60
1
Taylor
Dolph
50
0.5
in units of
0.5
60
1
0.5
in units of
0.5
988
xn
1
+ 2 acos
,
for 1 n n
x0
2n
nNn
,
for n
n =
(21.13.2)
xNn
2 acos
+1nN1
, for N n
x0
where xn are given as in (21.13.1). By construction, we have Nn = n , for 1 n
zeros are conjugate pairs.
1, which implies that the rst and last n
n
The scale factor is xed by requiring a smooth transition between the two sets of
, that is,
zeros at n = n
2n
n 1)
xn
(2
2 acos
(21.13.3)
=
, where xn = cos
x0
N
2(N 1)
With zn = ejn , the array polynomial is then formed by
R dB
R dB
15
20
25
30
35
40
45
2
3
4
5
6
7
5
7
8
11
13
15
50
18
55
60
65
70
75
80
11
12
14
16
18
20
22
25
29
33
37
41
A(z)=
N
1
(z zn )
n=1
The 3-dB width of the new design is taken to be times greater than that of the
Dolph-Chebyshev case. The MATLAB function ville implements this method:
[a,dph] = ville(d,ph0,N,R,nbar);
The method applied to the two examples of Fig. 21.12.1 produces virtually identical
graphs, and we do not repeat them here.
pattern was based on the ideal continuous line source distribution (21.12.1),
Taylors n
which was the limit of a Dolph-Chebyshev array. The design of an N-element array was
accomplished by the usual method of mapping N 1 continuous-case zeros to the N 1
zeros of the array.
Villeneuve [1277] introduced an alternative design method whose starting point was
a true N-element Chebyshev array, instead of the ideal limiting form. The modied array
1 zeros to coincide with the (stretched)
was designed by choosing its rst (and last) n
zeros of the Chebyshev array, and the remaining zeros to coincide with zeros of an
N-element uniform array.
We recall from Sec. 21.9 that the N 1 zeros of and N-element Chebyshev array are
constructed by:
An array can form multiple narrow beams towards different directions. For example,
suppose it is desired to form three beams towards the steering angles 1 , 2 , and 3 .
The weights for such a multibeam array can be obtained by superimposing the weights
of a single broadside array, say w(m), steered towards the three angles. Dening the
corresponding scanning phases i = kd cos i , i = 1, 2, 3, we have:
xn = cos
(2n 1)
2(N 1)
n = 2 acos
xn
x0
zn = ejn
(21.13.1)
a(m)=
L
i=1
Ai ejmi w(m) ,
m = 0, 1, 2, . . . , M
(21.14.1)
989
990
a(m)=
L
Ai ej(m1/2)i w(m) ,
m = 1, 2, . . . , M
(21.14.2)
R = 30 dB
R = 20 dB
90o
90
o
120
60
150o
30o
For either even or odd N, the corresponding array factor will be the superposition:
L
Ai W( i )
(21.14.3)
30 20 10
dB
180o
The basic broadside array weights w(m) can be designed to achieve a desired sidelobe level or beam width. As the broadside beam w(m) is steered away from 90o , the
beamwidths will broaden. To avoid grating lobes, the element spacing d must be less
the quantity d0 (and greater than d0 /2):
where di =
1 + | cos i |
i = 1, 2, . . . , L
This minimum is realized at the beam angle closest to endre. If the steering angles
are closer to each other than about one 3-dB beamwidth, the mainlobes will begin to
merge with each other reducing the resolvability of the individual beams. This behavior
is analogous to the problem of frequency resolution of multiple sinusoids.
The MATLAB function multbeam.m of Appendix I implements Eqs. (21.14.1) and
(21.14.2). Its inputs are the vector of broadside array weights wwhich can be designed beforehand using for example dolph2 or taylor1pand the beam angles and
amplitudes i , Ai .
The relative amplitudes of the three beams were equal to unity. The MATLAB code used
to generate the right gure was:
w = taylor1p(0.5, 90, 21, 30);
a = multbeam(0.5, w, [1,1,1], [45, 90, 120]);
[g, ph] = array(d, a, 400);
dbz(ph, g);
addray(45); addray(-45);
% unsteered weights
% equal-amplitude beams
% compute gain
% plot gain in dB
% add 45o grid rays
We note the broadening of the beam widths of the larger beam angles. The left array
has narrower mainlobes than the right one because its sidelobe attenuation is less. But, it
also exhibits more constructive interference between mainlobes causing somewhat smaller
sidelobe attenuations than the desired one of 20 dB.
Equations (21.14.1) and (21.14.2) generalize the Woodward-Lawson frequency sampling design equations (21.5.6) and (21.5.7) in the sense that the steering phases i can
be arbitrary and do not have to be the DFT frequencies.
0o
30o
150o
o
60
120
90o
90
However, if the i are chosen to be the DFT frequencies given by Eq. (21.5.1) or
(21.5.5), and the broadside array is chosen to be a length-N uniform array, w(m)= 1,
then the inverse DFT expressions (21.5.6) and (21.5.7) can be thought of as dening
N beamscalled the Woodward-Lawson-Butler beamssteered towards the DFT angles
i = acos(i /kd), that is, towards
i = acos
i
kd
= acos
2i
= acos
Nkd
i
Nd
i = 0, 1, . . . , N 1
(21.14.4)
a(m)=
Example 21.14.1: Fig. 21.14.1 shows the gains of two 21-element three-beam arrays with halfwavelength spacing, and steered towards the three angles of 45o , 90o , and 120o . The
broadside array was designed as a Taylor-Kaiser array with sidelobe level of R = 20 and
R = 30 dB.
30 20 10
dB
180o
60
120
30o
0o
30o
150o
i=1
d0 = min di ,
150o
i=1
A()=
60o
120
N1
1
A(i )ejmi
(21.14.5)
A(i )W( i )
(21.14.6)
i=0
A()=
N1
1
i=0
where W()= sin(N/2)/ sin(/2) is the array factor of the uniform window. The
DFT values are identied as the relative beam weights Ai = A(i )/N.
A single Butler beam, say the jth beam, can be turned on by choosing Ai = ij . By
successively turning on the Butler beams one by one, the array will act as a scanning
array. Fig. 21.14.2 depicts such a multi-beam array structure. The inverse DFT box
implements Eq. (21.14.5). The inputs are the beams Ai and the outputs are the weights
a(m).
Somewhat before the advent of the FFT algorithm, Butler proposed a hardware realization of the inverse DFT network, which was quickly recognized to be equivalent to
the FFT algorithm [1278,1279,12811284]. The DFT matrix realization of this network
is called the Blass matrix in the antenna array context [18,10].
Example 21.14.2: Fig. 21.14.3 shows the individual Butler beams turned on successively for
an eight-element array. Both the standard and alternative DFT frequency sets are shown.
21.15. Problems
991
992
2
2
B + n ,
un = n ,
B2 + (N n)2 ,
1
for 1 n n
nNn
for n
(21.15.1)
+1nN1
for N n
2 = n
. Then, dene the array polynomial:
Fix the parameter such that B2 + n
A(z)=
n=1
There are eight beams in each graph. For the standard DFT set, the two endre beams
count as one, that is, the i = 0 beam.
The sidelobes are at the 13-dB level because these are scanned versions of the uniform
array. The mainlobes intersect exactly half-way between the DFT frequencies i , that is,
the ith beam intersects the neighboring ones at = i + /N = 2(i + 0.5)/N. These
intersection points are approximately 4 dB down (3.92 dB to be exact) from the main peaks.
The 4-dB gain circle intersects the gain curves at these points.
90o
90o
135o
135o
45o
180
180
45o
135o
12 8 4
dB
90o
0o
45o
135o
90o
21.15 Problems
distribution of
21.1 Computer ExperimentTaylors one-parameter/
n array design. Taylors n
Sec. 21.12 can also be applied to Taylors one-parameter continuous distribution of Sec. 21.10.
First, show that the zeros of Eq. (21.10.2) occur at
u n = B2 + n 2 ,
n = 1 , 2, . . .
(z zn ) ,
n =
2un
zn = ejn ,
n = 1, 2, . . . , N 1
(21.15.2)
Write a MATLAB function that implements this procedure, and takes as input the parameters
and outputs the array weights and 3-dB width.
N, R, n
= 5, with halfApply your function to the following example N = 21, R = 30 dB, n
wavelength spacing d = /2. You will notice that, like the prolate array, the mainlobe is
slightly narrower and the sidelobe level slightly better matched than the Taylor-Kaiser array.
On the same graph, plot the array patterns |A()| in dB for the present design, the Taylor
to understand
Kaiser and the prolate arrays designed with the same specications. Vary n
its effect on the design.
21.2 Computer ExperimentVilleneuve array design. Redesign the examples shown in Fig. 21.12.1
using Villeneuves array design method and plot the array responses together with those of
and compare the range of similarity of the Villeneuve
that gure. Vary the parameters N, R, n
method.
versus the Taylor n
45o
12 8 4
dB
N
1