Array Processing
Array Processing
Background
Thus far, various techniques for designing filters to reject unwanted interference have been
discussed. These techniques include the Wiener-Hopf filter, the least squares filter, and the
adaptive filter. Each of these techniques may be viewed a step towards a more practical filter
implementation. Nonetheless, they all generate as part of the design process an N -tap FIR
filter characterized by the coefficients hn = [h0 · · · hN −1 ]T . The frequency response of the filter
−1
can be found by examining the DTFT of the filter coefficients H(ω) = ΣN
n=0 hn e
−jωn . An
example frequency response is shown in Figure 1. It can be seen that certain frequencies have
a higher gain and thus pass through the filter relatively unattenuated, while other frequencies
have low (or zero) gain and are thus significantly attenuated (or completely rejected) by the
filter.
0.8
0.6
|H(Ω)|
0.4
0.2
0
−1 −0.5 0 0.5 1
Ωxπ
The term “filter” implies a device that has a selective behavior with its input. Thus far,
the term filter has always been used to imply a device that has a selective behavior in the
frequency domain, as shown in Figure 1. However, it is also possible to build a filter that has
selective behavior in the spatial domain.
Consider the plot in Figure 2 (a), which is commonly recognized as an antenna beampattern
that is conventionally plotted in polar coordinates. The beampattern depicts the variation of
antenna gain with angle (i.e. the spatial domain). Figure 2 (b) depicts that same plot plotted
in Cartesian coordinates. It may be observed that Figure 1 and Figure 2 (b) are the identical.
1
1
0.9
0
330 30 0.8
0.7
300 60
0.6
1
0.5
R(θ)
270 90 0.5
0.4
240 120
0.3
0
−100 −50 0 50 100
θ (Deg)
(a) (b)
Thus, an antenna beampattern is effectively nothing more than a filter response with the
horizontal axis interpreted as corresponding to spatial angle rather than frequency.
2
Received Signal Model
...
...
Consider the scenario in Figure 3. A uniform linear array of K antenna elements with
inter-element spacing d receives a bandpass signal s(t) = a(t) cos(2πfc t + φ(t)) that is located
in the far-field of the array with a relative direction of arrival (DOA) of θ, and the signals a(t)
and φ(t) are assumed to be slowly varying baseband processes. Because the signal s(t) is in
the far-field of the array, the signal wavefront incident on the array may be considered to be
planar.
Let the antenna elements be indexed as 0 ≤ k ≤ K − 1. Consider the first antenna element
with index k = 0. Assume that the propagation delay from the signal source to the index
k = 0 antenna is τ0 . Then the received signal is simply s(t − τ0 ). This signal is then subject
to IQ demodulation, which involves the following steps:
• Multiplying the received signal by cos(2πfc t) and then lowpass filtering, resulting in the
in-phase (I) component:
3
s (t − τ0 ) cos (2πfc t) = a (t − τ0 ) cos (2πfc (t − τ0 ) + φ (t − τ0 )) cos (2πfc t)
1
= a (t − τ0 ) cos (φ (t − τ0 ) − 2πfc τ0 )
2
1
+ a (t − τ0 ) cos (2π2fc t + φ (t − τ0 ) − 2πfc τ0 )
2
LPF 1
→ a (t − τ0 ) cos (φ (t − τ0 ) − 2πfc τ0 )
2
• Multiplying the received signal by − sin(2πfc t) and then lowpass filtering, resulting in
the quadrature (Q) component:
Note that the signal received on the antenna with index k travels an additional distance of
kd sin(θ) with respect to the signal received on the antenna with index k = 0. Therefore, the
signal received on the antenna with index k incurs an additional delay of τk = τ0 + kd sin(θ)/c
with respect to the signal received on the antenna with index k = 0, and can thus be expressed
(after IQ demodulation) as simply s̃ (t − τk ) e−j2πfc τk . Note that c is the speed of light and is
approximately equal to 3 × 108 m/s in free space.
The received signal after IQ demodulation across all K antennas can thus be expressed as
simply:
s̃ (t − τ0 ) e−j2πfc τ0
s̃ (t − τ1 ) e−j2πfc τ1
s (t) =
..
.
s̃ (t − τK−1 ) e−j2πfc τK−1
4
Now consider the CTFT of s (t), which may be expressed as:
S̃ (f ) e−j2πf τ0 e−j2πfc τ0
S̃ (f ) e−j2πf τ1 e−j2πfc τ1
S (f ) =
..
.
S̃ (f ) e−j2πf τK−1 e−j2πfc τK−1
S̃ (f ) e−j2πf τ0 e−j2πfc τ0
d sin θ d sin θ
S̃ (f ) e−j2πf (τ0 +1 c ) e−j2πfc (τ0 +1 c )
= ..
.
−j2πf (τ0 +(K−1) d sin θ
) e−j2πfc (τ0 +(K−1) d sin θ
)
S̃ (f ) e c c
Recall from (1) that s̃ (t) = 12 a (t) e+jφ(t) . Because a(t) and φ(t) are slowly varying baseband
processes, S̃(f ) is assumed to have spectral support limited to B Hz. Furthermore, notice
that the maximum time needed for the signal wavefront to cross the entire array face is T =
(K −1) d sin θ d sin θ
c . Thus, if BT 1 (this is known as the narrowband condition), then f k c 1,
d sin θ
−j2πf (τ0 +k c ) −j2πf τ
and e ≈e 0 . Thus,
S̃ (f ) e−j2πf τ0 e−j2πfc τ0
d sin θ
S̃ (f ) e−j2πf τ0 e−j2πfc (τ0 +1 c )
S (f ) ≈ ..
.
−j2πf τ −j2πfc (τ0 +(K−1) d sin θ
)
S̃ (f ) e 0 e c
1
−j2πfc 1 d sin θ
e
c
−j2πf τ0 −j2πfc τ0
= S̃ (f ) e e ..
.
d sin θ
e−j2πfc (K−1) c
5
1
d sin θ
e−j2π 1
λ
v (θ) = ..
.
d sin θ
e−j2π λ
(K−1)
d sin θ
Each term in the steering vector is simply an integer power of e−j2π λ . In order to avoid
spatial ambiguity over the scan range −90◦ ≤θ≤ 90◦ , it is required that the magnitude of the
argument of the complex exponential should be less than π. Thus,
d sin θ λ
2π ≤π⇒d≤
λ 2
λ
The condition d ≤ 2 governs the minimum spacing between the antenna elements. Since
the antenna elements sample the spatial signal field, this condition may be regarded as the
array processing counterpart of the Nyquist condition for sampling time signals. Note that
in practice, the antenna spacing is usually selected as d = λ2 , and as such the steering vector
simplifies to:
1
e−jπ sin θ1
v (θ) =
..
.
e−jπ sin θ(K−1)
This form of the steering vector will be assumed for the subsequent development.
In general, multiple signals {s1,n , . . . , sP,n } originating from directions {θ1 , . . . , θP } may be
present, where it is generally required that K > P . Furthermore, additive noise un will corrupt
the received signal on each antenna element. As such, the general form of the received signal
may be expressed as:
P
X
xn = sp,n v (θp ) + un (2)
p=1
6
Applications
Adaptive Beamforming
...
...
...
...
...
A block diagram of the beamforming architecture is shown in Figure 4. Observe that the
structure is essentially identical to that of an FIR filter, with the role of the unit delay block in
an FIR filter being replaced by an antenna element. The output of each antenna is multiplied
by a complex weight, so that beamformer output may be expressed as:
hK−1
7
Then (3) can be expressed more compactly as the inner-product
yn = hH xn (4)
y n = hH x n
XP
sp,n hH v (θp ) + hH un
= (5)
p=1
From (5), it can be seen that the effect of the beamformer is to impart on each signal sp,n
an associated gain of hH v (θp ). Thus, depending on the value of |hH v (θp ) |, the signal sp,n
from direction θp may be either amplified or attenuated. Indeed, if |hH v (θp ) | = 0, then the
signal sp,n will be completely eliminated from the beamformer output yn . The ability to reject
signals from certain directions is why a beamformer is also known as a spatial filter; the spatial
selectivity of an antenna array enables the possibility of retaining a signal from a particular
direction while rejecting signals from other directions.
For a given beamformer h, the quantity F (θ) = |hH v (θ) | is known as the beampattern.
The default selection of h = 1K results in the quiescent beampattern R(θ) = |1TK v (θ) |.
An example of a quiescent beampattern is shown in Figure 1 (b). The beampattern for a
beamformer/spatial filter is analogous to the frequency response of a conventional frequency
filter. For a signal originating from a given DOA θ, the value of the beampattern at θ governs
the relative gain imparted on the signal. Note that the quiescent beampattern exhibits a
mainlobe centered at 0◦ (broadside). If it is desired to shift the mainlobe to point in some
other direction θ0 , this can be easily achieved by simply selecting h = v(θ0 ).
As with a conventional frequency filter, certain characteristics may be desired for the beam-
pattern of a beamformer/spatial filter. The most common scenario is as follows: Suppose that
it is desired to receive a particular “target” signal sT,n originating from a (usually known)
direction θT . The signal sT,n , however, is received in the presence of another jamming signal
sJ,n from an unknown direction θJ . Moreover, sT,n and sJ,n occupy the same spectral bands,
and thus cannot be separated using a conventional frequency filter. The received signal may
be modeled as:
xn = sT,n v (θT ) + sJ,n v (θJ ) + un
8
The goal is to design a beamformer such that yn = hH xn ≈ sT,n . Towards this end, note that:
yn = hH xn
= sT,n hH v (θT ) + hH [sJ,n v (θJ ) + un ]
(6)
Since it is desired that yn ≈ sT,n , it follows from (6) that the conditions for the design of the
beamformer are:
hH v (θT ) = 1 (7)
H
h [sJ,n v (θJ ) + un ] = 0 (8)
subject to:
hH v (θT ) = 1 (10)
Note that J in (9) corresponds to the power of the beamformer output due to the unwanted
jamming and noise. Minimizing the objective function J is a practical modification of (7);
since (7) involves random signals such as jamming and noise, a beamformer will not be able
to completely eliminate their effect. However, while their effect cannot eliminated, it can at
least be minimized through attempting to find the beamformer which results in the jamming
and noise having the minimum output power.
To solve for h, (9)-(10) can be cast as the Lagrangian:
n 2
o
hH [sJ,n v (θJ ) + un ] + λ hH v (θT ) − 1
L = E
n o
= hH E [sJ,n v (θJ ) + un ] [sJ,n v (θJ ) + un ]H h + λ hH v (θT ) − 1
= hH Ri h + λ hH v (θT ) − 1
(11)
where Ri represents the autocorrelation matrix of the interference signal (jamming and noise).
Solving for the stationary point of (11) results in:
∂L
= 2Ri h + λv (θT )
∂h
= 0
Thus,
λ
h = − R−1 v (θT ) (12)
2 i
9
Substituting (12) in (10) results in the final solution:
R−1
i v (θT )
h= (13)
v (θT ) R−1
H
i v (θT )
It may be observed that (13) requires knowledge of Ri , which in turn requires knowledge of
the statistical properties of the jamming and noise. Since this may not be available in practice,
a “training” or “secondary” signal collection phase is used in order to estimate Ri . This is
performed as follows:
• Estimate Ri as:
Ri = E in iH
n
M −1
1 X
≈ in iH
n
M
n=0
Note that in order to obtain a good estimate of Ri , it should be ensured that M ≥ 100K. The
steps for designing and applying an adaptive beamformer are shown below in Algorithm 1.
10
Direction of Arrival Estimation
The objective of direction of arrival estimation is to process the received signal xn in order
to obtain estimates of the signal DOAs {θ1 , · · · , θP }. Observe that one possible method to
achieve this is through power estimation, in which the projection of v (θ) on xn is computed
for −90◦ ≤ θ ≤ 90◦ . Since xn contains steering vectors {v(θ1 ), · · · , v(θP )}, the projection
2
vH (θ) xn , which measures the power in xn along the direction of v(θ), should exhibit large
values when θ = θp , p = 1 . . . P . This method, however, suffers from rather low resolution.
That is, if two sources have DOAs that are close to eachother (i.e. both are within the mainlobe
of the beampattern), then the power estimation method will fail to distinguish between the
source directions.
A well known high resolution method for DOA estimation is Multiple Signal Classification
(MUSIC). The development will begin by expressing (2) as:
P
X
xn = sp,n v (θp ) + un
p=1
s1,n
s2,n
= v (θ1 ) v (θ2 ) . . . v (θP ) + un
..
.
sP,n
= Vsn + un
Rx = E xn xH
n
= VE sn sn VH + E un uH
H
n
= VRs VH + Ru (14)
Note that in (14), the cross terms for the expectation have been removed since it is assumed
that the signals are uncorrelated with the noise. Regarding the structure of Rs and Ru , it is
generally assumed that the signals {s1,n , . . . , sP,n } are uncorrelated with each other, and that
11
the each element of un is drawn from an AWGN process. Thus,
E s21,n
E {s1,n s2,n } · · · E {s1,n sP,n }
H
E {s2,n s1,n }
E s22,n ··· E {s2,n sP,n }
Rs = E sn sn = .. .. .. ..
. . .
n. o
E {sP,n s1,n } E {sP,n s2,n } · · · E s2P,n
2
σ1 0 · · · 0
0 σ2 · · · 0
2
= . (15)
. .. . . ..
. . . .
0 0 · · · σP2
σu2 0 · · ·
0
0 σu2 · · · 0
Ru = E un uH
=
n .. .. . . ..
. . . .
0 0 ··· σu2
= σu2 I (16)
Rx = EΛEH
λ1
..
.
λP H
= e1 . . . eP eP +1 . . . eK e1 . . . eP eP +1 . . . eK
λP +1
..
.
λK
The subset of eigenvectors Es = e1 . . . eP is known as the signal subspace, while the
subset of eigenvectors Ei = eP +1 . . . eK is known as the interference subspace. The key
observation is that v(θp ) ⊆ Es and that v(θp ) ⊥ Ei . Therefore, the projection of v (θ) on Ei
for −90◦ ≤ θ ≤ 90◦ should be zero when θ = θp , p = 1 . . . P . It is often more convenient to
locate large peaks rather than zero values, so the convention is to instead compute the inverse
of the projection of v (θ) on Ei for −90◦ ≤ θ ≤ 90◦ , which should be infinity when θ = θp ,
p = 1 . . . P . Note that the number of signals P may not be known apriori. In such case, it may
12
be observed that in theory, λP +1 = · · · = λK = σu2 , which for moderate to high SNR should
be distinguishable from λ1 · · · λP . Thus, for instances in which P is unknown, the eigenvalue
profile should be examined in order to determine the value of P . The steps of the MUSIC
algorithm for DOA estimation are shown below in Algorithm 2
13
Examples
Problem 1: Use MATLAB to simulate a scenario in which a target signal located at 30◦ and
two jamming signals located at 35◦ and 60◦ impinge on a uniform linear array with 10 elements
and half-wavelength spacing. Generate both the received signal as well as the training signal.
Solution: The following function can be used to generate the steering vector:
%create the steering vector for a K-element uniform linear array (ULA) with
%half-wavelength spacing for a given DOA theta (in degrees)
function v=sv(theta,K)
theta=theta*pi/180;
k=[0:K-1]’;
v=exp(-j*pi*k*sin(theta));
The following script can be used to generate the received signal and training signal:
%-----------------------------Data Generation-----------------------------%
K=10; %number of array elements
M=1000;%number of time samples
P=3; %number of signals
%desired signal
thetaT=30;
vT=sv(thetaT,K);
sT=(sign(randn(1,M))+j*sign(randn(1,M)))/sqrt(2);
14
sJ2TR=(randn(1,M)+j*randn(1,M))/sqrt(2);
uTR=(randn(K,1)+j*randn(K,1))*sigma_w/sqrt(2);
Xi(:,n)=sJ1TR(n)*vJ1+sJ2TR(n)*vJ2+uTR;
end
u=(randn(K,1)+j*randn(K,1))*sigma_w/sqrt(2);
X(:,n)=sT(n)*vT+sJ1(n)*vJ1+sJ2(n)*vJ2+u;
end
%-------------------------------------------------------------------------%
15
Problem 2: For the scenario in Problem 1, use MATLAB to implement a quiescent beam-
former, a mainlobe steering beamformer, and an adaptive beamformer. For each beamformer,
plot the beampattern and a sample of the beamformer output, and compute the MSE between
the transmitted signal and the beamformer output. Discuss the results. Solution:
%------------------------------Beamforming--------------------------------%
theta=-90:0.1:90;
H=zeros(K,3);
%Adaptive Beamformer
Ri=1/M*Xi*Xi’;
H(:,3)=(Ri\vT)/(vT’*(Ri\vT));
BF_type{1}=’Quiescent’;
BF_type{2}=’Mainlobe Steering’;
BF_type{3}=’Adaptive’;
for ind=1:3
h=H(:,ind);
y=h’*X;
F=abs(h’*sv(theta,K));
MSE=10*log10(mean(abs(y-sT).^2));
figure(2*ind-1)
suptitle([BF_type{ind} ’ Beampattern’])
subplot(1,2,1)
polar(theta*pi/180,F)
view([90 -90]);
subplot(1,2,2)
semilogy(theta,F);
hold on;
semilogy([thetaT thetaT],[10^-3 10],’k--’);
16
semilogy([thetaJ1 thetaJ1],[10^-3 10],’k--’);
semilogy([thetaJ2 thetaJ2],[10^-3 10],’k--’);
grid on; xlabel(’\theta’); ylim([10^-3 10]);
MM=100;
figure(2*ind)
suptitle([BF_type{ind} ’ Beamfomer Output, MSE=’ num2str(MSE) ’dB’]);
subplot(2,1,1)
plot(0:MM-1,real(sT(1:MM)),0:MM-1,real(y(1:MM)),’--’);
legend(’Re\{s_{T,n}\}’,’Re\{y_n\}’); grid on;
subplot(2,1,2)
plot(0:MM-1,imag(sT(1:MM)),0:MM-1,imag(y(1:MM)),’--’);
legend(’Im\{s_{T,n}\}’,’Im\{y_n\}’); xlabel(’n’); grid on;
end
%-------------------------------------------------------------------------%
It is apparent from Figure 5 that the quiescent beampattern makes no attempt to emphasize
the target signal or reject the interference. This results in the poor match between the target
signal sT,n and the quiescent beamformer output yn , resulting in a relatively high MSE, as
shown in Figure 6. The mainlobe steering beampattern is somewhat better, since the directivity
of the antenna array is used to emphasize the target signal, as shown in Figure 7. However, no
attempt is made to reject the interference. The mainlobe steering beamfomer output is thus
closer to sT,n compared to the quiescent beamformer output, though there is still noticeable
interference, as shown in Figure 8. With the adaptive beampattern shown in Figure 9, a unit
gain exists at the target angle of 30◦ , while a null exists at the jamming angles of 35◦ and 60◦ .
Thus, sT,n matches closely with yn , as verified by the low MSE in Figure 10.
17
Quiescent Beampattern
1
10
0
330 30
0
10
300 60
10
5
−1
270 90 10
240 120
−2
10
210 150
180
−3
10
−100 −50 0 50 100
θ
2 Re{y }
n
−2
−4
0 10 20 30 40 50 60 70 80 90 100
4
Im{sT,n}
Im{yn}
2
−2
−4
0 10 20 30 40 50 60 70 80 90 100
n
18
Mainlobe Steering Beampattern
1
10
0
330 30
0
10
300 60
1
0.5
−1
270 90 10
240 120
−2
10
210 150
180
−3
10
−100 −50 0 50 100
θ
−1
Re{sT,n}
−2 Re{y }
n
−3
0 10 20 30 40 50 60 70 80 90 100
2
Im{sT,n}
Im{yn}
1
−1
−2
0 10 20 30 40 50 60 70 80 90 100
n
19
Adaptive Beampattern
1
10
0
330 30
0
10
300 60
2
1
−1
270 90 10
240 120
−2
10
210 150
180
−3
10
−100 −50 0 50 100
θ
0.5
−0.5
−1
0 10 20 30 40 50 60 70 80 90 100
0.5
Im{sT,n}
0 Im{yn}
−0.5
−1
0 10 20 30 40 50 60 70 80 90 100
n
20
Problem 3: For the scenario in Problem 1, use MATLAB to determine the DOAs of the
sources in the received signal using the power estimator and MUSIC estimator. Discuss the
results. Solution:
%-----------------------------Power Estimator-----------------------------%
theta=-90:0.1:90;
for n=1:length(theta)
v=sv(theta(n),K);
PE(n)=norm(v’*X);
end
PE=PE/max(PE);
figure(1)
subplot(1,2,1)
polar(theta*pi/180,PE)
hold on;
polar(thetaT*pi/180,1,’ro’);polar(thetaJ1*pi/180,1,’ro’);polar(thetaJ2*pi/180,1,’ro’);
view([90 -90]);
subplot(1,2,2)
semilogy(theta,PE,thetaT,1,’ro’,thetaJ1,1,’ro’,thetaJ2,1,’ro’);
grid on; xlabel(’\theta’); legend(’Power Estimator’,’True Locations’)
%-------------------------------------------------------------------------%
%--------------------------------MUSIC------------------------------------%
Rx=1/M*X*X’; %autocorrelation matrix of received signal
21
for n=1:length(theta)
v=sv(theta(n),K);
MUSIC(n)=inv(norm(v’*Ei))^2;
end
MUSIC=MUSIC/max(MUSIC);
figure(2)
semilogy(1:K,L,’-o’)
grid; title(’Eigenvalues of R_x’)
figure(3)
subplot(1,2,1)
polar(theta*pi/180,MUSIC); view([90 -90]);
hold on;
polar(thetaT*pi/180,1,’ro’);polar(thetaJ1*pi/180,1,’ro’);polar(thetaJ2*pi/180,1,’ro’);
subplot(1,2,2)
semilogy(theta,MUSIC,thetaT,1,’ro’,thetaJ1,1,’ro’,thetaJ2,1,’ro’)
grid on; xlabel(’\theta’); legend(’MUSIC’,’True Locations’)
%-------------------------------------------------------------------------%
It can be seen from Figure 11 that the power estimator suffers from low spatial resolution.
The two sources at 30◦ and 35◦ cannot be resolved, and appear as a single source, though the
source located at a farther angle of 60◦ is resolved. For the MUSIC estimator, it can be clearly
seen from Figure 12 that there are three large eigenvalues of the received signal autocorrelation
matrix Rx (and thus P = 3), whereas the remaining eigenvalues correspond to the noise
variance. As such, it is clear that the interference subspace Ei = eP +1=4 . . . eK=10 .
Figure 11 shows that the MUSIC estimator is capable of resolving all three sources, including
the closely spaced sources at 30◦ and 35◦ .
22
0
10
0 Power Estimator
True Locations
330 30
300 60
1
0.5
270 90
240 120
210 150
180
Eigenvalues of Rx
2
10
1
10
0
10
−1
10
−2
10
1 2 3 4 5 6 7 8 9 10
23
1
10 MUSIC
True Locations
0
0
330 30 10
300 60 −1
10
1
0.5
270 90 −2
10
−3
240 120 10
210 150
−4
10
180
−5
10
−100 −50 0 50 100
θ
24