MODIFIED UCA-ESPRIT AND MODIFIED UCA-ROOT-MUSIC FOR ESTIMATING
DOA OF COHERENT SIGNALS USING ONE SNAPSHOT
A Thesis by
Kareem A. Al Jabr
Bachelor of Computer Engineering, Ajman University of Science and Technology, 2005
Submitted to the Department of Electrical and Computer Engineering
and the faculty of the Graduate School of
Wichita State University
in partial fulfillment of
the requirements for the degree of
Master of Science
December 2007
© Copyright 2007 by Kareem Al Jabr
All Rights Reserved
MODIFIED UCA-ESPRIT AND MODIFIED UCA-ROOT-MUSIC FOR ESTIMATING
DOA OF COHERENT SIGNALS USING ONE SNAPSHOT
I have examined the final copy of this thesis for form and content, and recommend that it to be
accepted in partial fulfillment of the requirements for the degree of Master of Science, with a
major in Electrical Engineering.
Hyuck M. Kwon, Committee Chair
Coskun Cetinkaya, Committee Member
Gamal Weheba, Committee Member
iii
(Translation of the meaning)
Man We did create from a quintessence (of clay); Then We placed him as (a drop of) sperm in a
place of rest, firmly fixed; Then We made the sperm into a clot of congealed blood; then of that
clot We made a (foetus) lump; then we made out of that lump bones and clothed the bones with
flesh; then we developed out of it another creature. So blessed be Allah, the best to create!
iv
DEDICATION
To my great parents
v
ACKNOWLEDGEMENTS
I would like to express my immense gratitude to my supervisor, Dr. Hyuck M. Kwon, for
his invaluable guidance, patience, and encouragement, without which this thesis would not have
come to light.
I am also grateful to the members of the committee, Dr. Coskun Cetinkaya and Dr. Gamal
Weheba,
for
their
support.
My
sincere
thanks
go
to
my
colleagues
of
the
Wireless Communications group.
I would like also to thank my friends, who always supported and encouraged me along my
way. Special thanks and appreciation to Kossai Altarazi, Mutaz Shukair, Mohamad Ghaddar,
Mohamad Khasawneh, Mostafa Hamdan, Aladdin Alawneh, Hamed Alolyani, and Ahmed Qaid
for the great persons they are, and for all their help and support.
My special thanks also go to Dr. Nizar Tayem who set a great example for me, hence
convincing me that with serious effort and commitment, one can always make it.
I will always be indebted to my parents and sisters for their unconditional love, support,
and encouragement.
vi
ABSTRACT
Direction of arrival (DOA) estimation algorithms is the method used to estimate the
direction of arrival angle of several signals impinging on a sensor array, which plays an
important role in array signal processing. The requirement for DOA estimation arises in different
areas of signal processing applications including radar, sonar, and wireless communications.
The uniform circular array estimation of signal parameters via rotational invariance
techniques (UCA-ESPRIT) and the root multiple signal classification for uniform circular array
(UCA-ROOT-MUSIC) algorithms were proposed to estimate the DOA of coherent signals using
one single snapshot. First, the mode excitation method was used to transform the uniform
circular array (UCA) in element space into a virtual uniform linear array (VULA) in mode space
as explained in many papers. Then, the Hermitian Toeplitz matrix was reconstructed from the
observed data vector as a decorrelated algorithm in order to rearrange the data and to extend the
dimensionality of the noise space. Consequently, signal and noise spaces could be estimated
more accurately. The proposed method did not need forward/backward spatial smoothing of the
covariance matrix, resulting in reduced computational complexity. Simulation results verify that
the proposed algorithm with one snapshot has a close performance to the conventional mode of
spatial smoothing with 100 snapshots.
vii
TABLE OF CONTENTS
Chapter
Page
1
INTRODUCTION ...............................................................................................................1
1.1
Direction of Arrival Estimation ...............................................................................2
1.2
Background and Previous Work ..............................................................................3
1.2.1 Signal Model................................................................................................3
1.2.2 MUSIC Algorithm .......................................................................................4
1.2.3 ESPRIT Algorithm.......................................................................................6
2
EXISTING SYSTEM MODEL .........................................................................................10
2.1
Signal and Array Models .......................................................................................10
2.2
Coherent Signals ....................................................................................................12
2.2.1 Spatial Smoothing for ULA .......................................................................14
2.2.2 Spatial Smoothing for UCA.......................................................................15
2.3
UCA-ESPRIT Spatial Smoothing..........................................................................16
3
PROPOSED ALGORITHMS............................................................................................21
3.1
Introduction............................................................................................................21
3.2
Proposed UCA-ESPRIT Algorithm.......................................................................21
3.3
Proposed UCA-ROOT-MUSIC Algorithm ...........................................................26
4
SIMULATION RESULTS ................................................................................................29
5
CONCLUSIONS AND FUTURE WORK ........................................................................35
5.1
Conclusions............................................................................................................35
5.2
Future Work ...........................................................................................................35
REFERENCES…………………………………………………………………………………..36
APPENDIX………………………………………………………………………………………39
viii
LIST OF FIGURES
Figure
Page
1.
Azimuth angle . ............................................................................................................... 3
2.
M 6,
two non-overlapping subarrays of ( M / 2 3 ) elements.......................................... 6
3.
M 6,
two overlapping subarrays of ( M 1 5 ) elements................................................. 6
4.
Polar rectangular coordinates for UCA............................................................................. 10
5.
Problem definition. ........................................................................................................... 13
6.
Completely coherent situation. ......................................................................................... 13
7.
Spatial smoothing scheme................................................................................................. 14
8.
Spatial smoothing [13]...................................................................................................... 15
9.
q1 1, q2 100, p 2 , M 10 , 1 100 , 2 120 . ................................................................. 30
10.
q 1, p 4 , M 12 , 1 70 , 2 80 , 3 100 , and4 120 . ................................................. 31
11.
q 1, p 7, M 18 , 1 10 , 2 20 , 3 60 , 4 80 , 5 120 , 6 240 , 7 260 . .................. 32
12.
q 1, p 2, M 8, 1 2300 , 2 2400. ............................................................................ 33
13.
q1 1, q2 100, p 2, M 10, 1 1000 , 2 1200. ........................................................... 34
0
0
0
0
0
0
0
0
ix
0
0
0
0
0
CHAPTER 1
INTRODUCTION
Estimating the direction of arrival (DOA) of propagating plane waves is an interesting
problem in many applications, including radar, sonar, and mobile communications. By using
smart antennas, the communications capacity can be greatly increased. This allows the system to
manipulate received signals in the spatial domain. The uniform circular array (UCA) is a special
planner array with many effective properties over the uniform linear array (ULA), since it is able
to provide 360 degrees of azimuthal coverage and a certain degree of source elevation
information. Coherent signals appear in the realistic mobile environment as a result of multipath
propagation or due to intentional unfriendly jamming. The estimation of signal parameters via
rotational invariance techniques (ESPRIT) algorithm [1] does not work for coherent signals.
Considering that this algorithm cannot be directly applied to the UCA, spatial smoothing
techniques [2-4] and subspace smoothing [5] have been developed. A mode spatial smoothing
algorithm [6] [7] was developed, based on partitioning the total number of antennas in the
antenna array into a number of subarrays, and finding the covariance matrix for each before
averaging the output covariance matrices. This method requires that the covariance matrix be
obtained for each subarray using a large number of snapshots and then averaging the covariance
matrices for all subarrays. This approach results in a high computational load and is timeconsuming. The spatial smoothing technique uses a large number of snapshots, which, in turn,
increases the computational burden. Moreover, the coherency between signals is unknown in
practice, so the number of spatial smoothings is uncertain. The proposed method uses only a
single snapshot of the received signals to estimate the DOA for incident sources. This reduces
the computational load drastically and makes the proposed method a good candidate for real1
time implementation, whereas other methods [6][7] require a large number of snapshots (e.g.,
100 to 200) in order to produce a good estimate.
In radar and other signal processing applications, the Hermitian Toeplitz matrix
algorithm has been shown to provide accurate estimates with a single snapshot [8] and an
extremely low computation burden for the ULA case. However, it has not been applied to the
UCA case.
This thesis is the first to introduce the estimation of DOA of coherent signals using one
single snapshot for the UCA. The key idea in the proposed algorithm is a technique that maps a
(2h 1) 1 data vector into a (h 1) (h 1) symmetric Toeplitz matrix whose rank is related to
the DOA of the incoming signals even though they may be highly correlated with each other.
This allows for proper estimation of signal and noise spaces. These advantages improve the
performance significantly, allowing the proposed method to work efficiently at a low SNR and
for a single snapshot.
Notation: in all equations in this thesis, upper case variable denotes a matrix, lower case variable
denotes a vector, superscript T denotes transpose, and superscript H denotes Hermition.
1.1 Direction of Arrival Estimation
Direction of arrival estimation is significant in many practical problems that contain
sensor array processing, such as sonar, radar, and radio signal processing. Because of its plentiful
applications, there has been an area of much research interest. This area has received
considerable attention in the last 30 years, and many different techniques have been proposed.
Most of the algorithms are based on eigenvalue decomposition (EVD) of the cross-spectral
matrix or the singular value decomposition (SVD) of the received data matrix. These algorithms
were first introduced to estimate the one-dimensional (1-D) DOA and then extended for the two-
2
dimensional (2-D) DOA for finding both the azimuth and elevation angles for given incident
sources.
1.2 Background and Previous Work
The DOA estimation of the incoming signals is the first task in localizing the signal
sources. The DOA is the main issue in array signal processing. This section focuses on the signal
model and an overview of the well-known algorithms multiple signal classification (MUSIC) [9]
and ESPRIT [1].
1.2.1 Signal Model
Consider a uniform linear array composed of M receiving antennas and p receiving
narrowband signals from different directions 1 , , p , as shown in Figure 1. The observed
output from the antenna elements based on q number of snapshots is denoted by x (t1 ), , x (tq ) .
The M 1 observed data vector is
p
x (t ) a (k ) sk (t ) n(t ) ,
k 1
t t1 , tq
(1.1)
Figure 1. Azimuth angle .
Equation (1.1) can be rewritten in matrix notation as
X A S N
3
(1.2)
where the received data matrix X has a dimension of M q , A [a (1 ), , a ( p )] is the
steering matrix of dimension M p with array response vectors
T
a() 1, e j (2 /)d cos ,, e j(2 /)d (M 1)cos
(1.3)
S is p q signal matrix, N is the noise matrix with dimension M q , is the wavelength of
the signal, and d is the distance between antenna elements.
The array covariance matrix R can be written as
R E X X H ARs AH Wn
(1.4)
where Rs E S S H is the signal covariance matrix with dimension p p , Wn is the noise
covariance matrix with dimension M M .
The estimate (sample) covariance matrix is usually estimated as the time average
1
Rˆ
q
q
x (t ) x
i
i 1
H
(ti )
(1.5)
where q is the total number of snapshots.
1.2.2 MUSIC Algorithm
The multiple signal classification (MUSIC) [9] algorithm has high-resolution
performance and low-computation complexity. Therefore, this method has drawn much attention
and has come to be the most promising and leading approach.
The system model used in this method is the same as in equation (1.1) and assumes that the
covariance noise matrix has a uniform noise power on the diagonal as Wn 2 I , where I is the
identity matrix. Equation (1.4) can be rewritten as
R E X X H ARs AH 2 I
4
(1.6)
Assume the number of source signals are known and they are uncorrelated, i.e., Rs is
nonsingular, then ARs AH has a full rank M . This means that the estimate signal covariance
matrix R̂ has a full rank M .
Use the eigenvalue decomposition to calculate the eigenvalues and eigenvectors of R .
The eigenvalues are
1 2 , , M
(1.7)
v1 , v2 , , vM .
(1.8)
and the eigenvectors are
The smallest eigenvalues of R are equal to 2 with multiplicity M p
p 1 p 2 M 2
(1.9)
The eigenvectors corresponding to the smallest eigenvalues are orthogonal to the columns of
matrix A , that is, to the steering vectors of the source signals
v
p1
,, vM a(1),, a(p )
(1.10)
Noise space is referred to the subspace spanned by the eigenvectors corresponding to the
smallest eigenvalues. And the signal subspace is its orthogonal complement, spanned by the
received eigenvectors of the signals. The p -incident sources spanning the signal space are
orthogonal to the noise space. The MUSIC algorithm can estimate the DOA as
PMUSIC ( )
1
M
i p 1
5
a H ( )vi
2
(1.11)
where PMUSIC ( )
is expected to show a large positive value if is a true DOA, because
a H ( )vi 0 , i p 1, , M .
1.2.3 ESPRIT Algorithm
The estimation of signal parameters via rotational invariance techniques [1] is a subspace
estimation method, based on separating two identical subarrays consisting of the same number of
antenna elements by a common displacement of the signal subspace. Two kinds of subarrays can
be formed out of M receiving antenna elements. The first is the non-overlapping subarray,
which includes M / 2 elements, as shown in Figure 2. The second is the overlapping subarray,
which has M 1 elements, as shown in Figure 3.
Figure 2. M 6 , two non-overlapping subarrays of ( M / 2 3 ) elements.
Figure 3. M 6 , two overlapping subarrays of ( M 1 5 ) elements.
6
Consider an array of M antenna elements containing two overlapping subarrays of
( M 1) elements for each subarray. The elements in each subarray are separated by a constant
displacement. Suppose that there are p uncorrelated sources, with an additive noise of zero mean
and variance 2 , applied to all the M antenna elements, and q samples (snapshots) are observed
by the M elements. The observed data at the subarrays is explained as
X 1 (t ) A1S (t ) W1 (t )
X 2 (t ) A2 S (t ) W2 (t )
(1.12)
(1.13)
where X 1 (t ) and X 2 (t ) are ( M 1) q as an output from the subarrays, A1 and A2 are
( M 1) p element space array manifold matrices, S (t ) is a p q source signal matrix, W1 (t )
and W2 (t ) are ( M 1) q noise matrices, and is a p p diagonal matrix containing the DOA
estimation information for the sources given by
j ( 2 / ) d cos p
diag e j ( 2 / ) d cos 1 , , e
(1.14)
X 1 (t ) and X 2 (t ) are combined in one matrix X of size (2 M 2) q as
X (t )
X 1 GS W
X 2 (t )
(1.15)
where
A
G
A
(1.16)
and
W (t )
W 1
W2 (t )
7
(1.17)
Now the covariance matrix of the observed data is
Rxx E[ XX H ] GRsGH 2 I
(1.19)
where Rs E[ S (t ) S (t ) H ] denotes the covariance matrix of the signal. The estimate signal
covariance matrix R̂ has p signal eigenvalues 1 , , p and ( 2 M 2 p ) noise eigenvalues
p 1 , , 2 M 2 p .
Suppose Es v1 , , v p are the eigenvectors corresponding to p largest eigenvalues, which
span the signal subspace, and En v p 1 , , v2 M 2 are the eigenvectors corresponding to the
noise eigenvalues which span the noise subspace.
Es has a dimension of (2 M 2) p and can be decomposed of Es1 and Es 2 as
E
Es s1
Es 2
(1.20)
where Es1 and Es 2 both have a size of ( M 1) p .
A new matrix Q can be constructed as
EsH1
Q H E s1 E s 2
Es 2
(1.21)
By applying eigenvalues decomposition
EsH1 Es1
Q H
Es 2 Es1
EsH1 Es 2
H
V V
H
Es 2 Es 2
(1.22)
Each element in Q has a size of p p , so Q has a dimension of 2 p 2 p . The eigenvectors of
Q are in V as a 2 p 2 p matrix
8
v
v
V 11 12
v21 v22
(1.23)
According to the total least square method (TLS),
1
P v12 v22
V V H
Finally, by taking the angle of the eigenvalues , 1 , , p can be estimated.
9
(1.24)
CHAPTER 2
EXISTING SYSTEM MODEL
2.1 Signal and Array Models
A uniform linear array is not an appropriate solution to scenarios where 360 degrees of
azimuth coverage and a certain degree of source elevation information are required. In these
scenarios, which are common in radar, cellular phones, etc., a uniform circular array is the
natural choice. Figure 4 shows the receiving antennas distributed on a (UCA).
Figure 4. Polar rectangular coordinates for UCA.
Consider a UCA with M elements and radius r . The nth component of the Mdimensional steering vector a ( ) , n (1,..., M ) , to a narrowband signal of wavelength
arriving from azimuth angle [ , ] and elevation angle 0, / 2 is given by
an ( ) exp jkr sin cos( 2 ( n 1) / M
10
(2.1)
where k 2 / is the wave number. Here, 900 is assumed, because only reflection from
earthly objects is considered.
Equation (2.1) can be rewritten as
a( ) e j cos( 0 ) , e j cos( 1 ) ,..., e j cos( M 1 )
(2.2)
Here, kr , n 2 n / M , and n (1,..., M ) is the sensor location.
Suppose M UCA antenna elements receive p narrowband signals, s1 (t ),..., s p (t ) , each arriving
from a different azimuth direction 1 ,..., p . Using a complex envelope representation, the M 1
vector received by the array can be expressed by
p
x (t ) a (k ) sk (t ) n(t )
k 1
(2.3)
where a (k ) is the steering vector of the kth source, sk (t ) denotes the signal of the kth source
received at the center of the array, and n(t ) is the white noise vector generated at each array
element with zero mean and variance 2 .
Suppose the received vector x (t ) is sampled at q time instants t1 ,..., tq . From equation
(2.3), the antenna array output in matrix notation will be
X AS N
(2.4)
where X is an M q element space data matrix
x1 ( t1 ),
x ( t ),
2 1
X
x M ( t1 ),
N is an M q matrix of noise complex envelopes
11
, x1 ( t q )
, x 2 ( t q )
, x M ( t q )
(2.5)
n1 (t1 ), , n1 (tq )
n (t ), , n (t )
2 1
2 q
N
nM (t1 ), , nM (tq )
(2.6)
applying different white noise every snapshot to each received data at the antenna element, and
S is a p q complex signal envelope matrix at the array center
s1 (t1 ), , s1 (tq )
s (t ), , s (t )
2 1
2 q
S
s p (t1 ), , s p (tq )
(2.7)
From each source, q snapshots (samples) are taken.
And A is M p matrix of element space array manifold
a1 (1 ), , a1 ( p )
a ( ), , a ( )
2 1
2
p
A
aM (1 ), , aM ( p )
(2.8)
Each antenna element receives p different signals with p different azimuth angles.
2.2 Coherent Signals
Coherent signals appear in the realistic mobile environment as a result of multipath
propagation or intentional unfriendly jamming, such as military scenarios, including smart
jammers (see Figures 5 and 6). The ESPRIT algorithm [1] cannot estimate the DOA for coherent
signals. Considering that this algorithm cannot be directly applied to the UCA, some
decorrelating algorithms were proposed and developed to solve this problem. The most famous
technique is called spatial smoothing.
12
Figure 5. Problem definition.
Figure 6. Completely coherent situation.
Coherent signals are caused by multipath propagation, which occurs when the receiving
antenna receives the same signal in two or more paths. This is caused by atmospheric ducting,
ionospheric reflection and refraction, and reflection from earthly objects, like mountains and
buildings.
13
2.2.1 Spatial Smoothing for ULA
A solution to the coherent case problem was proposed by Evans et el. [10], and Shan et
el. [11], which is referred to as spatial smoothing for the ULA case.
Suppose a ULA with M sensors are divided into overlapping subarrays with l sensors.
Sensors {1,..., l} form the first subarray sensors, sensors {2,..., l 1} form the second subarray,
(see Figure 7), and so on.
Figure 7. Spatial smoothing scheme.
Suppose X k is the matrix of received data at the kth subarray. From equation (2.4),
X k Ak S N k
(2.9)
where Ak denotes the original A to its kth l rows, and N k is related to the kth noise subarray.
Then the covariance matrix of the kth subarray is given by
Rk Ak SS H AkH 2 I
(2.10)
The spatial smoothing covariance matrix is defined by calculating the average of the individual
subarray covariance matrices
b
1
Rˆ Rk
b k 1
where b M l 1 is the number of subarrays.
14
(2.11)
Then MUSIC [9] or ESPRIT [1] algorithms can be applied to R̂ (spatial smoothing
estimate covariance matrix) in spite of the presence of correlated signals.
The Spatial smoothing method reduces the effective aperture (capture area), which is the
frontal area from which a receiving antenna extracts energy from passing electromagnetic waves.
If there are p coherent signals with b M l 1 number of subarrays, then b must be greater
than or equal to p , and the size of each subarray l must be at least p 1 [12]. Therefore the
minimum number of sensors needed is 2 p . another problem concerning this method is that
when two highly correlated sources are placed closed to each other, the spatial smoothing
method does not considerably decorrelate them [12]. Figure 8 shows that conventional MUSIC
without spatial smoothing fails excessively in coherent environments [13].
Figure 8. Spatial smoothing [13].
2.2.2 Spatial Smoothing for UCA
The spatial smoothing technique was developed to estimate the DOA for UCA [2-4],
subspace smoothing [5], and the mode spatial smoothing algorithm [6], [7]. Spatial smoothing is
15
based on transforming signals received by UCA antenna elements to a virtual array liable to the
application of spatial smoothing then partitioning the total number of antennas in the antenna
array into a number of subarrays, and finding the covariance matrix for each before averaging the
output covariance matrices. This method requires that the covariance matrix be obtained for each
subarray using a large number of snapshots and then averaging the covariance matrices for all
subarrays. This approach results in a high computational load and is time-consuming. The spatial
smoothing technique uses a large number of snapshots. This, in turn, increases the computational
burden. Moreover, the coherency between the signals is unknown in practice, so the number of
spatial smoothings is uncertain [6].
2.3 UCA-ESPRIT Spatial Smoothing
UCA-ESPRIT is essentially different from ESPRIT because it is not based on a
displacement invariance array structure but rather a phase excitation, and depends on a recursive
relationship between Bessel functions [6].
Phase excitation transforms the signals received by the UCA to a virtual array, which is
amenable to the application of decorrelating. The mode excitation method can be applied by
using the transformation matrix T [6]. Then the observed signal matrix of X can be obtained by
N
X AS
(2.12)
X TX
(2.13)
N TN
(2.14)
where
and
A TA
16
(2.15)
T should be selected such that A has a structure that is amenable to spatial smoothing.
Therefore, it is desirable for the steering vector of the virtual array, given by
a() Ta()
(2.16)
to have a structure of Vandermonde [6] as
a ( ) e ky ( ) , e( k 1) y ( ) , , e ( k M ) y ( )
T
(2.17)
where k is an arbitrary integer, and y ( ) is an arbitrary one-to-one function of in the field of
view. First, the problem must be solved for the ideal UCA case. The steering vector of this array,
, measured with respect to the line connecting the center of the array with the first element, is
given by equation (2.2).
The array in equation (2.4) is transformed to a virtual array of size 2h 1 , where
(2h 1) M , which is amenable to spatial smoothing. This can be done based on the
(2h 1) M submatrix of the spatial discrete fourier transform (DFT) [6]
1 w h
1 w 1
1
F
1 1
M
1 w1
1 wh
w2 h w ( M 1) h
w2 w ( M 1)
1
1
w2 w( M 1)
2h
( M 1) h
w
w
(2.18)
where
w e j 2 / M
(2.19)
This transformation recently has been used for direction finding via the coherent subspace
technique [14] and Root-Music [15].
17
By multiplying FA by a (2h 1) (2h 1) diagonal matrix J , where T JF , the angledependent phase is reserved as
1
J diag
, m h, , 0, , h.
m
M j J m ( kr )
(2.20)
The maximum mode number that UCA can intrigue is h k0 r . The m-order first kind of the
Bessel function is J m (kr ) . If 2h 1 M , then the manifold matrix of the virtual uniform linear
Array (VULA) will be
e jh1 e jh p
A
jh p
jh1
e
e
(2.21)
where A has a similar form as ULA and has a size of (2h 1) p .
X is the observed data matrix of size (2h 1) q after applying the mode excitation
method
X
x h ( t1 ),
x h 1 ( t1 ),
x 0 ( t1 ),
x h 1 ( t1 ),
x h ( t1 ),
, x h ( t q )
, x h 1 ( t q )
, x 0 ( t q )
, x h 1 ( t q )
, x h ( t q )
(2.22)
Spatial smoothing is applied to equation (2.23) and subarrays are chosen as shown in Figure 7 to
give
18
X k A k S N k
(2.23)
where A k denotes the original A to its kth l rows, and N k is related to the kth noise subarray.
Then the 2h 1 2h 1 covariance matrix of the kth subarray is given by
Rk A k SS H A kH 2 I
(2.24)
The spatial smoothing covariance matrix is defined by calculating the average of the individual
subarray covariance matrices
b
1
Rˆ Rk
b k 1
(2.25)
where b (2h 1) l 1 , which is the number of subarrays.
To separate the signal space from the noise space, the total least squares method is used,
which begins by computing the singular value decomposition of R̂
Rˆ U V H
(2.26)
Now, the number of source signals p is estimated to be the number of dominant singular values.
In Matlab notation, this becomes
U U (:, 1 : p )
(2.27)
V V (:,1 : p )
(2.28)
(1 : p,1 : p)
(2.29)
Then, a matrix Q of size (2h 1) (2h 1) , which corresponds to the p largest eigenvalues of
X , is generated as
Q U V H
19
(2.30)
Now, the Q matrix is partitioned into two submatrices Q1 and Q2 as
Q 1 Q ( 1 : 2 h , :)
(2.31)
Q2 Q ( 2 : 2h + 1, :)
(2.32)
where (1: 2h,:) is the collection of rows from 1 to 2h , and (2 : 2h 1,:) is the collection of rows
from 2 to 2h 1 .
Then a matrix P of Q1 and Q2 is formed as
P pinv(Q1) Q2
where pinv denotes the pseudo-inverse.
By taking the angle of P eigenvalues {1 , , p }, [1 , , p ] can be estimated
20
(2.33)
CHAPTER 3
PROPOSED ALGORITHMS
3.1 Introduction
In radar and other signal processing applications, the Hermitian Toeplitz matrix algorithm
has been shown to provide accurate estimates with a single snapshot [8] and an extremely low
computation burden for the ULA case. However, it has not been applied to the UCA case.
As known, forward/backward (FB) averaging is widely used in the ULA for the centroHermition property of the ULA manifold. On the other hand, FB averaging cannot directly be
used in the UCA for decorrelating. Minghaoetal et al. [16] show that the modified spatial
smoothing method, alternative forward/backward (AFB) is introduced. Lian and Zhou [17]
introduced the propagator method (PM)-ESPRIT for UCA, which used spatial smoothing as its
decorrelating algorithm. The disadvantage of using these two methods is the large number of
snapshots.
This thesis introduces the estimation of DOA of coherent signals using one single
snapshot for the UCA. The key idea in the proposed algorithm is a technique that maps a
(2h 1) 1 data vector into a (h 1) (h 1) symmetric Toeplitz matrix whose rank is related to
the DOA of the incoming signals even though they may be highly correlated with each other.
This allows for proper estimation of signal and noise spaces. These advantages improve the
performance significantly, allowing the proposed method to work efficiently at a low signal-tonoise ratio (SNR) with even a single snapshot.
3.2 Proposed UCA-ESPRIT Algorithm
From equation (2.4), X becomes an M 1 (one snapshot) element space data vector, A
an M p element space array manifold, S p 1 (one snapshot) complex signal envelopes at the
21
array center, and N the matrix of noise complex envelopes of size M 1 (one snapshot). This is
clearly shown as
x1 (t )
x (t )
x(t) 2
x
(
t
)
M
n1 (t )
n (t )
n(t) 2
nM (t )
s1 (t )
s (t )
2
s (t )
s
(
t
)
p
a1 (1 ), , a1 ( p )
a ( ), , a ( )
2 1
2
p
A
aM (1 ), , aM ( p )
(3.1)
(3.2)
(3.3)
(3.4)
The mode excitation method can be applied by using the transformation matrix T , as
shwon in equation (2.13) [6]. By obtaining F submatrix of the spatial discrete fourier transform
from equation (2.19) and the diagonal matrix J from equation (2.21), the transformation matrix
22
T can be constructed. Then, the manifold matrix of the VULA, which has a similar form of the
ULA can be obtained.
The Toeplitz matrix, named after Otto Toeplitz, is a matrix which has a constant
descending diagonal from left to right. It can be explained as
z n 1
z
n2
z1
z z0
z 1
zn2
z
n 1
(3.5)
For the vector z , which shows 2(n 1) 1 rows, the corresponding Toeplitz matrix can be
constructed from Z as
ZToep
z0
z
1
z2
zn 1
z1
z0
z1
z2
z1
z1
z1 z0
z2 z1
z n 1
z2
z1
z0
(3.6)
where Z toep has a size of n n .
Similarly, a Hermitian Toeplitz matrix can be constructed from the observed signal
vector as follows: The observed signal vector x (t) of (2h 1) rows is
23
x h (t )
x
(
t
)
h
1
x (t) x 0 ( t )
x
(
t
)
h 1
x (t )
h
(3.7)
where x (t) has a form similar to the ULA. Reconstructing the Hermitian Toeplitz data matrix
from the observed signal vector x (t) becomes
x0 (t) x1(t)
x1(t) x0 (t)
XToep
xh (t) xh1(t)
xh (t)
xh1(t)
x0 (t)
(3.8)
where X Toep has a size of (h 1) (h 1) .
By mapping the data vector into a Hermitian Toeplitz form, the proposed method can
estimate DOAs from up to h coherent sources because the incident sources become decorrelated
and the rank of X Toep can be higher than that of the covariance matrix of the received vector.
The Hermitian Toeplitz matrix was applied to the MUSIC algorithm by Shuyan et al. [18]
and was constructed from the covariance matrix of the observed data matrix. But in this thesis,
the Hermitian Toeplitz matrix is constructed from the observed data vector, thus finding the
covariance matrix from the constructed Toeplitz matrix as
H
X Toep _cov E X Toep .X Toep
24
(3.9)
To separate the signal space from the noise space, the total least squares method is used, which
starts by computes the singular value decomposition of X Toep _ cov as
X Toep _ cov U V H
(3.10)
Now, the number of source signals p is estimated to be the number of dominant singular values.
In Matlab notation, this becomes
U U (:, 1 : p)
(3.11)
V V (:,1 : p)
(3.12)
(1: p,1 : p)
(3.13)
Then, a matrix Q of size (h 1) (h 1) , which corresponds to the p largest eigenvalues of
X Toep _ cov , is generated as
Q U V H
(3.14)
Now, the new matrix Q is partitioned into two sub-matrices Q1 and Q2
Q1 Q(1 : h, :)
(3.15)
Q2 Q(2 : h+ 1, :)
(3.16)
where (1: h,:) is the collection of rows from 1 to h , and (2 : h 1,:) is the collection of rows from
2 to h 1 .
Then a matrix P of Q1 and Q2 is formed as
P pinv(Q1 ) Q2
where pinv denotes the pseudo-inverse.
25
(3.17)
By taking the angle of P eigenvalues {1 , , p } , [1 , , p ] can be estimated.
The proposed algorithm can estimate the coherent sources from a single snapshot. This
makes the proposed algorithm suitable for high-speed wireless communication, where latency is
an important issue.
The performance of this proposed method is shown in the simulation results in Chapter 4.
3.3 Proposed UCA-ROOT-MUSIC Algorithm
The system model used in this algorithm is the same system model used in the proposed
UCA-ESPRIT algorithm in the previous section.
After finding the covariance matrix X Toep _ cov from the constructed Toeplitz matrix X Toep ,
the eigenvalue decomposition for X Toep _ cov is computed as
X Toep _ cov V V H
(3.18)
where V of size (h 1) (h 1) contains all the eigenvectors v1 , , vh1 . Then, a matrix Q of
size ( p h) (h 1) , which contains the eigenvectors corresponding to the noise space of
X Toep _ cov , is defined as
Q {v p 1 , , vh 1}
(3.19)
b(k ) 1, uk , , ukh 1
(3.20)
Then b(k ) is defined as
where
ukn exp j (k 2 (n 1) / (h 1)
26
(3.21)
To find the DOA, we search the minimum peaks of Q H b( ) by varying in the range of
(0, 2 ) . Equivalently, we can find the maximum peaks of the power spectrum, as mentioned
before in the MUSIC algorithm, as
F
1
Q H b( )
2
1
b H ( )QQ H b( )
(3.22)
The ROOT-MUSIC algorithm converts the power spectrum of MUSIC algorithm into a
polynomial, whose roots contain information about the DOA. Let
F 1 b H ( )QQ H b( )
(3.23)
Suppose
W QQ H
(3.24)
F 1 b H ( )Wb( )
(3.25)
Then
Hence, equation (3.25) can be rewritten as
F
1
h 1 h 1
e
n 1 m 1
jn
W nm e
jm
h 1 h 1
W
n 1 m 1
nm
e j ( n m )
(3.26)
where Wnm is the entry in the nth row and the mth column of W . The double summation can be
simplified by rewriting it as a single sum by letting l m n . The range l is set by the limits on
n and m , i.e., (h 1) l (h 1) . Hence, equation (3.26) becomes
F
1
h 1
l ( h 1)
27
fl e jl
(3.27)
where
fl
W
m n l
nm
(3.28)
Now, a polynomial D( wz ) can be defined as
D ( wz )
h 1
l h 1
fl wz l
(3.29)
where wz e j . Then, the roots of the polynomial D( wz ) can be used to estimate the DOAs of
the incident signals by taking their angles.
The performance of this proposed method is shown in the simulation results in Chapter 4.
28
CHAPTER 4
SIMULATION RESULTS
To demonstrate the performance of the proposed method several simulated experiments
were performed. DOA errors were compared by applying the UCA-ESPRIT algorithm using the
spatial smoothing method [16] and the UCA-ESPRIT algorithm proposed here.
The omnidirectional sensors are M 10 , and the diameter is r . The virtual array was
computed using equation (2.12) with h 4 , hence consisting of nice elements as in equation
(3.7). The highest modes, m 4 were computed using 2h 1 M and two equipower coherent
sources located at 100 degrees and 120 degrees. The number of snapshots used was q 100
snapshots for the UCA-ESPRIT using spatial smoothing. The proposed method used the same
number of omnidirectional sensors and two equipower coherent sources located at 100 degrees
and 120 degrees. The same virtual array size was used with only one snapshot. Figure 9 shows
the root mean square error (RMSE) of DOA estimation as a function of SNR after 100 trials. As
shown in Figure 9, the proposed UCA-ESPRIT algorithm using one single snapshot had a very
close performance to the spatial smoothing using 100 snapshots. For
the
spatial
smoothing
case, X had a size of (2h 1) q ( snapshots ) 9 100 , and three subarrays were used with l 7 .
Then the covariance was calculated for each subarray. After that, the average of all the
covariance subarrays was computed. Finally, the signal space was separated from the noise space
by applying the total least squares method as in equation (2.33).
29
1.4
Modified UCA-ESPRIT 120º
Modified UCA-ESPRIT 100º
Spatial Smoothing UCA-ESPRIT 120º
Spatial Smoothing UCA-ESPRIT 100º
1.2
RMSE DOA
1
0.8
0.6
0.4
0.2
0
0
5
10
15
20
SNR dB
25
30
35
40
Figure 9. q1 1, q2 100, p 2 , M 10 , 1 1000 , 2 120 0.
In the proposed UCA-ESPRIT, x (t ) is a row vector of (2h 1) 9 rows. A Toeplitz
matrix X Toep was constructed from x (t ) , and X Toep had a size of (h 1) (h 1) 5 5 .
Afterwards, a covariance matrix of X Toep was calculated. Then, the signal space was separated
from the noise space using equation (3.14) and continued until equation (3.17). By taking the
angle of the largest eigenvalues of P , 1 and 2 were estimated.
Using Matlab the execution time needed to simulate the proposed UCA-ESPRIT
algorithm was 2.6226 seconds. On the other hand, the time needed to execute the UCA-ESPRIT
using spatial smoothing algorithm was 25.2832 seconds, which is approximately 10 times the
30
execution time of the proposed UCA-ESPRIT algorithm. This makes the proposed method a
good candidate for real-time implementation.
Figure 10 shows the performance of the proposed UCA-ESPRIT algorithm with four
sources with the following angles: 70 degrees, 80 degrees, 100 degrees, 120 degrees. The
proposed method can estimate DOA up to h sources because the incident sources become
decorrelated.
1.8
Source
Source
Source
Source
Source
Source
Source
1.6
1.4
RMSE DOA
1.2
1, 10º
2, 20º
3, 60º
4, 80º
5, 120º
6, 240º
7, 260º
1
0.8
0.6
0.4
0.2
0
0
5
10
15
20
SNR dB
25
30
35
40
Figure 10. q 1, p 4 , M 12 , 1 70 0 , 2 80 0 , 3 100 0 , and4 120 0.
Figure 11 shows the performance of the proposed UCA-ESPRIT algorithm with seven
sources, and one snapshot. As mentioned before, this proposed algorithm can estimate up to h
sources, where h 7 , and M 18 , which satisfies 2h 1 M .
31
1.8
1.6
Source
Source
Source
Source
1.4
1, 70º
2, 80º
3, 100º
4, 120º
RMSE DOA
1.2
1
0.8
0.6
0.4
0.2
0
0
5
10
15
20
SNR dB
25
30
35
40
Figure 11. q 1, p 7, M 18 , 1 10 0 , 2 200 , 3 600 , 4 800 , 5 120 0 , 6 240 0 , 7 260 0.
Figure 12 shows the performance of both proposed methods UCA-ESRIT and UCAROOT-MUSIC. As clearly shown, the proposed UCA-ROOT-MUSIC algorithm has a slightly
better performance than the proposed UCA-ESPRIT algorithm. This is because ROOT-MUSIC
gives more accurate results than ESPRIT when applied to the ULA case. The mode excitation
method was used to transform the UCA in element space into a VULA, which has a similar form
of the ULA [6].
32
1.8
1.6
Modified UCA-ROOT-MUSIC 230º
Modified UCA-ROOT-MUSIC 245º
Modified UCA-ESPRIT 230º
Modified UCA-ESPRIT 245º
1.4
RMSE DOA
1.2
1
0.8
0.6
0.4
0.2
0
0
5
10
15
SNR dB
20
25
30
Figure 12. q 1, p 2, M 8, 1 2300 , 2 2400.
Using Matlab the execution time needed to simulate the proposed UCA-ESPRIT
algorithm was 2.1673 seconds. On the other hand, the time needed to execute the proposed
UCA-ROOT-MUSC algorithm was 2.8821 seconds.
Figure 13 demonstrates the performance of the proposed UCA-ROOT-MUSIC using one
snapshot and the UCA-ESPRIT spatial smoothing using 100 snapshots.
33
1.4
1.2
Modified UCA-ROOT-MUSIC 120º
Modified UCA-ROOT-MUSIC 100º
Spatial Smoothing UCA-ESPRIT 120º
Spatial Smoothing UCA-ESPRIT 100º
RMSE DOA
1
0.8
0.6
0.4
0.2
0
0
5
10
15
20
SNR dB
25
30
35
Figure 13. q1 1, q2 100, p 2, M 10, 1 1000 , 2 1200.
34
40
CHAPTER 5
CONCLUSIONS AND FUTURE WORK
5.1 Conclusions
By using the UCA antenna elements, DOA algorithms can estimate from up to 360
degrees of azimuthally coverage and a certain degree of source elevation information. UCA
antenna elements are common in radar, cellular phone, and in many signal processing
applications. The proposed algorithm can estimate the coherent sources using only a single
snapshot, which makes suitable for high-speed wireless communication, where latency is an
important issue. The proposed UCA-ESPRIT and UCA-ROOT-MUSIC algorithms show
performance close to the UCA-ESPRIT using spatial smoothing. The UCA-ESPRIT using spatial
smoothing uses a large number of snapshots; the proposed UCA-ESPRIT algorithm reduces the
computational load drastically and is a good candidate for real-time implementation. Since,
spatial smoothing method execution time is approximately 10 times the execution time of the
proposed methods.
5.2 Future Work
The proposed algorithm estimates DOA for a one-dimensional case, which means that the
azimuth angle is estimated. As future work, the proposed algorithm could be extended to the
two-dimensional case, in order to estimate the elevation angle as well as the azimuth angle .
35
REFERENCES
36
LIST OF REFERENCES
[1]
R. Roy and T. Kailath. “ESPRIT-Estimation of Signal Parameters via Rotational
Invariance Technique,” IEEE Transactions on Signal Processing, Volume 37, Issue 7, pp.
984–995, July 1989.
[2]
W. K. Lai and P. C. Ching “A New Approach for Coherent Direction of Arrival
Estimation,” ISCAS Proceedings of the 1998 IEEE International Symposium on Circuits
and Systems, Volume 5, Issue 31, pp. 9– 12, May-June 1998.
[3]
F. Haber and M. Zoltowski “Spatial Spectrum Estimation in a Coherent Signal
Environment Using an Array in Motion,” IEEE Transactions, Volume 34, Issue 3, pp.
301–310, March 1986.
[4]
H. Krim and M. Viberg “Two Decades of Array Signal Processing,” IEEE Signal
Processing Magazine, Volume 13, Issue 4, pp. 67–94, July 1996.
[5]
S. Jeng and H. Lin, G. Okamoto, G. Xu, and W.J. Vogel. “Multi-Path Direction Finding
with Subspace Smoothing,” IEEE Transactions on ASSP, Volume 5, Issue 21-24, pp.
3485–3488, April 1997.
[6]
M. Wax and J. Sheinvald, “Direction Finding of Coherent Signals via Spatial Smoothing
for Uniform Circular Arrays,” IEEE Transactions on Antennas and Propagations, Volume
42, Issue 5, pp. 613–620, May 1994.
[7]
R. Eiges and H. D. Griffitths, “Mode Space Spatial Spectral Estimation for Circular
Arrays,” IEE Proceedings on Radar, Sonar and Navigation, Volume 141, Issue 6, pp.
300–306, December 1994.
[8]
N. Tayem and M. Naraghi-Pour, “Fast Algorithms for Direction of Arrival Estimation in
Multipath Environment,” IEEE Proceedings on Wireless Sensing and Processing II,
Volume 6577, 2007.
[9]
R. O. Schmidt, “Multiple Emitter Location and Signal Parameter Estimation,” IEEE
Transactions on Antenna and Propagation, Volume 34, Issue 3, pp. 276–280, March
1986.
[10]
J.E. Evans, J.R. Johnson, and D.F Sun, “High Resolution Angular Spectrum Estimation
Techniques for Terrain Scattering Analysis and Angle of Arrival Estimation,” in
Proceedings 1st ASSP Workshop Spectral Estimation, pp. 134–139, 1981.
[11]
T.J Shan, M. Wax, and T. Kailath, “On Spatial Smoothing for Direction of Arrival
Estimation of Coherent Signals,” IEEE Transactions on ASSP, Volume 33, Issue 4, pp.
806–811, August 1985.
37
[12]
T. Chang, DOA Estimation on Coherent Narrowband and Wideband Signals,
Dissertation, University of Wisconsin-Milwaukee, December 1990.
[13]
G. K. Gokeda, Performance Analysis of ESPRIT Based Algorithms for DOA Estimation,
Masters Thesis, Dalhousie University, May 2002.
[14]
M. A. Doron, E. Doron, and A. J. Weiss, “Coherent Wideband Processing for Circular
Array,” IEEE Transactions on ASSP, Volume 2, pp. 497–500, March 1992.
[15]
A. H. Tewfik and W. Hong, “On the Equivalence of Uniform Linear Array and Uniform
Circular Array,” IEEE Proceeding on ASSP Workshop on Spectrum Estimation and
Modeling, Volume 10, Issue 12, pp. 139–143, October 1990.
[16]
H. Minghao, Y. Yixin, and Z. Xiamda, “UCA-ESPRIT Algorithm for 2-D Angle
Estimation,” IEEE Proceedings on Signal Processing, Volume 1, pp. 437–440, 2000.
[17]
X. Lian and J. Zhou, “2-D Estimation for Uniform Circular Arrays with PM,” Antennas,
Propagation and EM Theory, IEEE ISAPE, 7th International Symposium, pp. 1–4,
October 2006.
[18]
G. Shuyan, W. Yongliang, and M. Cangzhen, “A Novel Algorithm for Estimating DOA
of Coherent Signals on Uniform Circular Array,” IEEE Appeared in Radar, CIE '06.
International Conference, pp. 1–4, October 2006.
38
APPENDIX
39
APPEDIX A
MATLAB SOURCE CODE
%%% The Proposed UCA-ESPRIT %%
%%%%%%%%%%%%%%%%%%%%
tic;
clear all;
clc;
lamda=1;
% usually the distance between antennas is lamda/2
thetaest1=[];
rms1=[];
rms2=[];
rms3=[];
M=28;
N=1;
% number of antenna elements
% number of snapshot
for SNR=0:5:40
thetaest2=[];
thetaest3=[];
thetaest1=[];
for i=1:100;
% number for independent trial5
%input data
data1=sign(2*rand(1,N)-1)+j*sign(2*rand(1,N)-1);
data2=sign(2*rand(1,N)-1)+j*sign(2*rand(1,N)-1);
data3=sign(2*rand(1,N)-1)+j*sign(2*rand(1,N)-1);
% Signal to Noise ratio
% transmitted signals.
s1=sqrt(10^(SNR/10))*data1;
s2=sqrt(10^(SNR/10))*data1;
s3=sqrt(10^(SNR/10))*data1;
% Direction of Arrival (DOA) for three uncorrelated sources
40
theta1=80*(pi/360);
theta2=160*(pi/360);
theta3=200*(pi/360);
theta_avg1=abs((theta1*(360/pi)+theta2*(360/pi))/2);
theta_avg2=abs((theta2*(360/pi)+theta3*(360/pi))/2);
% array response vector
m=M/2;
i=0:M;
A1=exp(-j*(i-m)*(theta1));
A2=exp(-j*(i-m)*(theta2));
A3=exp(-j*(i-m)*(theta3));
% (DFT) Submatrix
for h=0:M
p=1:M+1
F(h+1,p)=exp((j*2*pi*(h-M/2)*(p-1))/M);
end
F1=(1/sqrt(M))*F;
% Diagonal matrix
for i=0:M
Jo(:,i+1)=1/(sqrt(M)*j^(i-M/2)*besseli(i-M/2,1.6*2*pi));
end
J=diag(Jo);
% the observation vectors from the two subarrays
Z=eye(8);
u1=A1'*s1+A2'*s2+A3'*s3;
% add noise to the observation vector
n1=sqrt(.5)*randn(size(u1))+j*sqrt(.5)*randn(size(u1));
% n2=F1'*J*n1;
Zr1=u1+n1; % the observation data
h=(M/2)+1;
K=M+1;
% Constructing the Toeplitz matrix
for s=0:(h-1)
41
Ztop((s+1),(1:h))=Zr1((h-s):(K-s),:);
end
[S V D]=svd(Ztop*Ztop');
V1=V(1:3,1:3);
S1=S(:,1:3);
D1=D(:,1:3);
Q=D1*V1*S1.';
Q1=Q(1:h-1,:);
Q2=Q(2:h,:);
P=pinv(Q1)*Q2;
[V2 D2]= eig(P);
z=(sort(diag(D2)));
Y1=angle(z(m,1));
Y2=angle(z(m+1,1));
Y3=angle(z(m-1,1));
angle_estim1=abs((Y1)/(pi/360));
angle_estim2=abs((Y2)/(pi/360));
angle_estim3=abs((Y3)/(pi/360));
%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (angle_estim1<theta_avg1)
thetaest1=[thetaest1 abs(angle_estim1)];
else if (angle_estim1<theta_avg2)
thetaest2=[thetaest2 abs(angle_estim1)];
else
thetaest3=[thetaest3 abs(angle_estim1)];
end
end
%%%%%%%%%%%%%%%%%
if (angle_estim2<theta_avg1)
thetaest1=[thetaest1 abs(angle_estim2)];
else if (angle_estim2<theta_avg2)
thetaest2=[thetaest2 abs(angle_estim2)];
else
thetaest3=[thetaest3 abs(angle_estim2)];
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42
if (angle_estim3<theta_avg1)
thetaest1=[thetaest1 abs(angle_estim3)];
else if (angle_estim3<theta_avg2)
thetaest2=[thetaest2 abs(angle_estim3)];
else
thetaest3=[thetaest3 abs(angle_estim3)];
end
end
thetatest3=[thetaest3 abs(angle_estim3)];
rms11=sqrt(var(thetaest1));
rms22=sqrt(var(thetaest2));
rms33=sqrt(var(thetaest3));
% thetaest1=[thetaest1 angle_estim1];
end
t=toc;
rms1=[rms1 rms11];
rms2=[rms2 rms22];
rms3=[rms3 rms33];
end ;
thetaest=[thetaest1 thetaest2 thetaest3];
span=[1:.1:360];
% Figure 3.4
% histogram plot
figure(1)
hist(thetaest,span);
hold on
snr=[0:5:40];
figure(2)
plot(snr,rms1);
figure(3)
plot(snr,rms2);
figure(4)
plot(snr,rms3);
43
%%% The Proposed UCA-ROOT-MUSIC %%
%%%%%%%%%%%%%%%%%%%%
tic;
clear all;
clc;
rms1=[];
rms2=[];
M=28; % number of antenna elements
N=1; % number of snapshot
theta1=160*(pi/360);
theta2=80*(pi/360);
theta_avg=abs((theta1*(360/pi)+theta2*(360/pi))/2);
for SNR=0:5:30
thetaest2=[];
thetaest3=[];
for i=1:100; % number for independent trials
%input data
data1=sign(2*rand(1,N)-1)+j*sign(2*rand(1,N)-1);
data2=sign(2*rand(1,N)-1)+j*sign(2*rand(1,N)-1);
data3=sign(2*rand(1,N)-1)+j*sign(2*rand(1,N)-1);
% Signal to Noise ratio
% transmitted signals.
s1=sqrt(10^(SNR/10))*data1;
s2=sqrt(10^(SNR/10))*data1;
% Direction of Arrival (DOA) for three uncorrelated sources
% array response vector
m=M/2;
i=0:M;
A1=exp(-j*(i-m)*(theta1));
A2=exp(-j*(i-m)*(theta2));
44
% (DFT) Submatrix
for h=0:M
p=1:M+1
F(h+1,p)=exp((j*2*pi*(h-M/2)*(p-1))/M);
end
F1=(1/sqrt(M))*F;
% Diagonal matrix
for i=0:M
Jo(:,i+1)=1/(sqrt(M)*j^(i-M/2)*besseli(i-M/2,1.6*2*pi));
end
J=diag(Jo);
% the observation vectors from the two subarrays
Z=eye(8);
u1=A1'*s1+A2'*s2;
% add noise to the observation vector
n1=sqrt(.5)*randn(size(u1))+j*sqrt(.5)*randn(size(u1));
Zr1=u1+n1; % the observation data
h=(M/2)+1;
K=M+1;
%Constructing the Toeplitz matrix
for s=0:(h-1)
Ztop((s+1),(1:h))=Zr1((h-s):(K-s),1);
end
% Compute eigendecomposition and order by descending eigenvalues
[Q0,D] = eig(Ztop*Ztop');
[lambda1,index] = sort(abs(diag(D)));
lambda = lambda1(h:-1:1);
Q=Q0(:,index(h:-1:1));
% Compute pseudo-spectrum
AA = zeros(2*h-1,1);
for n = 1:(h-2)
AA = AA + conv(Q(:,h-(n-1)),conj(Q(h:-1:1,h-(n-1))));
end
r_A = roots(AA);
[i_min] = find(abs(r_A) < 1);
r_A_min = r_A(i_min);
freq = abs(angle(r_A_min)/(pi/360));
45
%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (freq(1,1)<theta_avg)
thetaest2=[thetaest2 abs(freq(1,1))];
else
thetaest3=[thetaest3 abs(freq(1,1))];
end
%%%%%%%%%%%%%%%%%
if (freq(2,1)<theta_avg)
thetaest2=[thetaest2 abs(freq(2,1))];
else
thetaest3=[thetaest3 abs(freq(2,1))];
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
rms11=sqrt(var(thetaest2));
rms22=sqrt(var(thetaest3));
end
t=toc;
rms1=[rms1 rms11];
rms2=[rms2 rms22];
end ;
thetaest=[thetaest2 thetaest3];
span=[1:.1:360];
figure (1)
% histogram plot
hist(thetaest,span);
snr=[0:5:30];
figure(2)
plot(snr,rms1);
figure(3)
plot(snr,rms2);
46
© Copyright 2026 Paperzz