Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
33 views

Array Processing

This document discusses array processing and beamforming using antenna arrays. It introduces: 1) How an antenna array receives signals from different angles and each antenna experiences a different time delay based on its position. 2) The signals received by each antenna are demodulated to extract in-phase and quadrature components. 3) The received signal across all antennas can be expressed as a vector, with each element representing the signal received at a different time delay corresponding to the antenna's position. 4) Taking the Fourier transform of the received signal vector provides the ability to process the signal spatially in the angle domain rather than just the frequency domain, allowing for beamforming and directional reception.

Uploaded by

Abeer Chaudhry
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views

Array Processing

This document discusses array processing and beamforming using antenna arrays. It introduces: 1) How an antenna array receives signals from different angles and each antenna experiences a different time delay based on its position. 2) The signals received by each antenna are demodulated to extract in-phase and quadrature components. 3) The received signal across all antennas can be expressed as a vector, with each element representing the signal received at a different time delay corresponding to the antenna's position. 4) Taking the Fourier transform of the received signal vector provides the ability to process the signal spatially in the angle domain rather than just the frequency domain, allowing for beamforming and directional reception.

Uploaded by

Abeer Chaudhry
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

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π

Figure 1: An example of a filter frequency response.

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

210 150 0.2


180
0.1

0
−100 −50 0 50 100
θ (Deg)
(a) (b)

Figure 2: An example of an antenna beampattern.

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

...

...

Figure 3: Array receiver structure.

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:

−s (t − τ0 ) sin (2πfc t) = −a (t − τ0 ) cos (2πfc (t − τ0 ) + φ (t − τ0 )) sin (2πfc t)


1
= a (t − τ0 ) sin (φ (t − τ0 ) − 2πfc τ0 )
2
1
− a (t − τ0 ) sin (2π2fc t + φ (t − τ0 ) − 2πfc τ0 )
2
LPF 1
→ a (t − τ0 ) sin (φ (t − τ0 ) − 2πfc τ0 )
2

For mathematical convenience, the I and Q components may be combined as:


   
1 1
a (t − τ0 ) cos (φ (t − τ0 ) − 2πfc τ0 ) + j a (t − τ0 ) sin (φ (t − τ0 ) − 2πfc τ0 )
2 2
1
= a (t − τ0 ) e+jφ(t−τ0 ) e−j2πfc τ0
2
= s̃ (t − τ0 ) e−j2πfc τ0 (1)

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

= S̃ (f ) e−j2πf τ0 e−j2πfc τ0 v (θ)

Taking the inverse CTFT of S (f ) yields:

s (t) = s̃ (t − τ0 ) e−j2πfc τ0 v (θ)

Finally, sampling s (t) results in


s(t)|t=nTs = sn v (θ)

where sn corresponds to the samples of s̃ (t − τ0 ) e−j2πfc τ0 . The term v (θ) is a fundamental


parameter in array processing and is known as the steering vector. The steering vector embeds
the dependence of the received signal on the DOA θ, and shows mathematically why an antenna
array possesses spatial selectivity. Note that λ = c/fc , so the steering vector can also be written
as:

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

Two common applications of array processing will now be discussed.

6
Applications
Adaptive Beamforming

...

...

...

...

...

Figure 4: Beamforming architecture.

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:

yn = h∗0 x0,n + h∗1 x1,n + · · · + h∗K−1 xK−1,n


K−1
X
= h∗k xk,n (3)
k=0

Now define the vector of beamformer coefficients


 
h0
h =  ... 
 

hK−1

and the vector of antenna outputs:


 
x0,n
xn = 
 .. 
. 
x(K−1),n

7
Then (3) can be expressed more compactly as the inner-product

yn = hH xn (4)

A beamformer is completely characterized by the coefficients {h0 , · · · , hK−1 }. Since these


coefficients are completely encapsulated in the vector h, the design of the beamformer amounts
to specifying the elements in h.
To understand the nomenclature and operation of a beamformer, consider substituting the
expression for xn in (2) into (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)

The conditions in (7)-(8) may be cast as the optimization problem:


n 2
o
H
arg min J = E h [sJ,n v (θJ ) + un ] (9)
h

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:

• Collect M  K samples of the training/secondary signal in = sJ,n v (θJ ) + un . The


signal i contains only jamming and noise, as it is assumed that the transmitter for the
desired signal sT,n is silent.

• 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.

Algorithm 1 Steps for Adaptive Beamforming


Collect M  K samples of the training/secondary signal in
Collect samples of the received (target plus interference) signal xn
M −1
1
in iH
P
Compute the estimate of the interference autocorrelation matrix Ri ≈ M n
n=0
R−1
i v(θT )
Compute the beamformer h = v (θT )R−1
H
i v(θT )
Apply the beamformer to the received signal to compute the beamformer output yn = hH xn

10
Direction of Arrival Estimation

Consider again the general received signal model in (2):


P
X
xn = sp,n v (θp ) + un
p=1

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

MUSIC is based on the eigendecomposition of the autocorrelation matrix Rx of xn , which can


be expressed as:

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

In a similar manner, it can be shown that:

σu2 0 · · ·
 
0
 0 σu2 · · · 0 
Ru = E un uH

= 
 
n .. .. . . .. 
 . . . . 
0 0 ··· σu2
= σu2 I (16)

Note that Rs ∈ RP ×P , whereas Ru ∈ RK×K . Now let λ1 , λ2 , · · · , λK be the eigenvalues of Rx


listed in descending order so that λ1 ≥ λ2 ≥ · · · ≥ λK , and let Λ represent the diagonal matrix
 
created from the set of eigenvalues. Furthermore, let E = e1 e2 . . . eK represent the
set of corresponding eigenvectors of Rx . The following partitioning of the eigendecomposition
of Rx can then be performed:

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

Algorithm 2 DOA Estimation Using MUSIC


Collect M  K samples of the received signal xn
M −1
1
xn xH
P
Compute the estimate of the received signal autocorrelation matrix Rx ≈ M n
n=0
Compute the eigendecomposition of Rx = EΛEH
Extract the eigenvalues from Λ to determine the
 number of signals
 P
Extract from E the interference subspace Ei = eP +1 . . . eK
Estimate the DOAs as the peaks of H 1 2 for −90◦ ≤ θ ≤ 90◦
kv (θ)Ei k

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);

%first jammer signal


thetaJ1=35;
vJ1=sv(thetaJ1,K);
sJ1=(randn(1,M)+j*randn(1,M))/sqrt(2);
sJ1TR=(randn(1,M)+j*randn(1,M))/sqrt(2);

%second jammer signal


thetaJ2=60;
vJ2=sv(thetaJ2,K);
sJ2=(randn(1,M)+j*randn(1,M))/sqrt(2);

14
sJ2TR=(randn(1,M)+j*randn(1,M))/sqrt(2);

sigma_w=sqrt(0.1); %noise level

%generate training signal


Xi=zeros(K,M);
for n=1:M

uTR=(randn(K,1)+j*randn(K,1))*sigma_w/sqrt(2);
Xi(:,n)=sJ1TR(n)*vJ1+sJ2TR(n)*vJ2+uTR;

end

%generate received signal


X=zeros(K,M);
for n=1:M

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);

H(:,1)=ones(K,1); %Quiescent Beamfomer


H(:,2)=vT/norm(vT)^2; %Mainlobe Steering Beamfomer

%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
θ

Figure 5: Quiescent beampattern.

Quiescent Beamfomer Output, MSE=4.8714dB


4
Re{sT,n}

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

Figure 6: Quiescent beamformer output.

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
θ

Figure 7: Mainlobe steering beampattern.

Mainlobe Steering Beamfomer Output, MSE=−2.0475dB


2

−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

Figure 8: Mainlobe Steering beamformer output.

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
θ

Figure 9: Adaptive beampattern.

Adaptive Beamfomer Output, MSE=−15.6856dB


1.5
Re{s }
T,n
1 Re{yn}

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

Figure 10: Adaptive beamformer output.

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

%compute eigendecompstion of Rx and sort eigevalues in descending order


[E,L]=eig(Rx);
L=real(diag(L));
[L,ind]=sort(L,’descend’);
E=E(:,ind);

Ei=E(:,P+1:end); %interference subspace

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

−100 −50 0 50 100


θ

Figure 11: Result of Power estimator.

Eigenvalues of Rx
2
10

1
10

0
10

−1
10

−2
10
1 2 3 4 5 6 7 8 9 10

Figure 12: Eigenvalue profile of received signal autocorrelation matrix.

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
θ

Figure 13: Result of MUSIC estimator.

24

You might also like