Direction-of-Arrival Estimation
1 Abstract |
Abstract
Direction-of-Arrival (DOA) estimation deals with the estimation of the direction of
electromagnetic or acoustic signals. Sensors or antenna arrays are used for this purpose. DOA
estimation is used for location and tracking signal sources in both civilian and military
applications such as radar, radio astronomy, wireless communication, navigation, localization
and tracking of various objects and many other applications. Direction-of-arrival can also be
used to adapt the directivity of antenna arrays. In this case, antennas receive the signals from a
specific direction only and neglect the other signals.
There are many methods and techniques of Direction-of-Arrival estimation which include
classical methods, practical DF methods, higher order statistical methods and many others. The
goal of this project is to investigate various direction finding algorithms and improve their
accuracy with special coverage of higher order statics based methods.
Direction-of-Arrival Estimation
2 Introduction |
Introduction
Propagating fields are often sensed by the array of sensors or transducers arranged in a particular
configuration. These sensors convert received signal into electrical signals. In case of acoustic waves,
these sensors are microphones. Different configurations of antenna arrays are used among which more
popular are uniform linear arrays, uniform planer arrays and circular arrays.
Figure 1.1: A uniform linear array receiving two signals
Figure1.2: A uniform planner array receiving two signals
1.1 Propagation Delay in Uniform Linear Arrays
Consider a linear array as shown in the following figure. The distance between sensors in this
array should be less than half the wavelength of the signal, that is
Direction-of-Arrival Estimation
3 Introduction |
This prevents spatial ambiguities. Lowering array spacing below this upper limit will provide us
with redundant information but on the other side will reduce the aperture for fixed number of
sensors.
Figure 1.3: Propagation delay in uniform linear array
Using basic trigonometry, the delay of arrival can be computed as
where v is the velocity of the signal.
Thus, Direction-of-Arrival can be estimated if we know the sensor spacing, velocity of the
signal, and time delay of signal. In ideal situation when there is no noise and no multipath
propagation, time delay of signal can be found experimentally from the received data from the
arrays. Thus in this case, the angle of arrival of wave can be taken from
Before going in the details of signal modeling advanced direction of arrival techniques, it is
necessary to have idea of covariance matrix and its decomposition in signal and noise subspaces.
Direction-of-Arrival Estimation
4 Introduction |
1.2 Outline of the report
Linear algebra chapter gives brief details of the concepts of eigenvalue decomposition
and singular value decomposition and their properties necessary to understand subspace
based approaches.
Frequency estimation chapter gives the details and simulations of some of the subspace
based frequency estimation techniques.
Future work chapter describes briefly the goals to be achieved in future.
Direction-of-Arrival Estimation
5 Linear Algebra |
Linear Algebra
2.1 Vector Spaces
A vector space is a nonempty set V of vectors on which addition and multiplication by scalars
(real numbers) operations are defined subjected to the following axioms:
1. Sum of u and v (i.e v + u) is in V.
2. u + v = v + w
3. (u + v) + w = u + (v + w)
4. There is a null vector 0 in V such that u + 0 = u.
5. For each u in V, there is a vector –u in V such that their sum gives a null vector.
i. e u + (-u) = 0
6. The scalar multiple of u by scalar c is also in V.
7. c (u + v) = cu + cv
8. (c + d) u = cu + du where c and d are scalars.
9. c(du) = (cd)u
10. 1u = u
where u, v and w are vectors in vector space V.
Figure 2.1: Vector space demonstration (v, w, v+w, 2w and v+2w, all belong to vector space V)
2.1.1 Subspaces
A subspace is also a vector space which consists of appropriate set of vectors from a larger
vector space.
Direction-of-Arrival Estimation
6 Linear Algebra |
2.1.2 Column space and row space
Column space of a matrix is the set of all possible linear combinations of its column vectors.
Column space of a matrix is also called range of that matrix. In MATLAB, B = colspace(A) returns
the basis for the column space of A.
Row space of a matrix is the set of all possible combinations of its row vectors.
For three matrices A, B and C, if C = AB then column space of C is the subspace of the column
space of A and the row space of C is the subspace of the row space of B.
2.1.3 Null Space
If for a matrix A, there is a vector x such that A x = 0 then x is in null space of A. In MATLAB,
Z = null(A) returns the basis for the null space of A. The product AZ is zero.
2.2 Rank of a matrix The row rank is the maximal number of linearly independent rows of A. Similarly, the column rank of a
matrix A is the maximal number of linearly independent columns of A. Column rank and row rank of a
matrix are always equal.
Rank = Column rank = Row rank
So, the rank of matrix tells about the dimensionality of that matrix.
For any tow matrices A and B which are also multipliable
( ) min( ( ), ( ))rank AB rank A rank B
If matrix A is of order mxn and B is of order nxk, assuming that B is full rank matrix whose rank is n
( ) ( )rank AB rank A
If matrix A is of order mxn and a matrix C is of order lxm, assuming that C is full rank whose rank is m
( ) ( )rank CA rank A
2.3 Eigenvalue Decomposition
A square matrix A can be decomposed in its eigenvalues and eigenvectors in the following form:
1
nxn nxn nxn nxnA V D V
If A is full rank, then V is the matrix whose columns span the column space of A. Columns of V
are called eigenvectors of A. D matrix contains the eigenvalues of A on its diagonals. Rows of 1V span the row space of A.
Direction-of-Arrival Estimation
7 Linear Algebra |
If the rank of A is r (<n), then A will have only r non-zero eigenvalues. The r eigenvectors in V
corresponding to r non-zero eigenvalues of A span the column space of A. The rest of n-r
eigenvectors correspond to zero eigenvalues and are from null space of A.
If the rank of matrix A is r (<n), then A can be reconstructed using non-zero eigenvalues and their
corresponding eigenvectors. Mathematically,
1
nxn nxr rxr nxrA V D V
Here, columns of V spans the column space of A. In MATLAB, [V,D] = eig(A) produces V
eigenvectors and D eigenvalue matrix of A.
According to spectral theorem, if a matrix A is hermition, then eigen decomposition of A can be
written as
H
nxn nxr rxr nxrA V D V
When A is hermition, V will be the set of orthonormal eigen vectors. For any orthonormal matrix
V, its inverse will be VH . This satisfies above decomposition.
Since, the columns of A are the linear combinations of the columns of V, therefore, A can be
reproduced using V as A = VT where T is any matrix transformation, which gives A when
multiplied with eigenvector matrix V. Now, if the order of A is nxn and the rank of A is r(<n),
only the r eigenvectors which correspond to the non-zero eigenvalues of A can are enough to
reconstruct A as A = Vrxr T where T is any transformation which when multiplied with Vrxr
produces A. If A is hermitian and we only know the matrix V then we can calculate the scaled
columns of A as A = V VH.
2.4 Singular Value Decomposition
A matrix A can be decomposed by Singular Value Decomposition as
Anxm = Unxn Dnxm VmxmH
If the rank of matrix A is r, then the r eigenvectors of U corresponding to r non-zero singular
values of A span the column space of A and the r columns of V corresponding to r non-zero
singular values of A span the row space of A. D is the diagonal matrix of the singular values of A.
If the rank of A is r, then A can be reconstructed as A = Unxr Drxr Vrxm H.
If the rank of matrix A is r, then the columns of V corresponding to first r non-zero singular
values of A span the row space of A and the remaining columns of V span the null space of A.
The columns of U corresponding to first r non-zero singular values of A span the column space
of A, and the rest of the columns of U span the null space of AT .
Direction-of-Arrival Estimation
8 Linear Algebra |
Since, the columns of A are the linear combinations of the columns of U, therefore, A can be
reproduced using V as A = UT where T is any matrix transformation, which gives A when
multiplied with eigenvector matrix U. Now, if rank of A is r, only the r eigenvectors which
correspond to the non-zero eigenvalues of A are enough to reconstruct A as A = Unxr T where T is
any transformation which when multiplied with Unxr produces A.
Some of the important application of singular value decomposition are as follows.
2.4.1 Pseudoinverse
The Pseudoinverse of a matrix A, when A is mxn (m>n), can be calculated using singular value
decomposition as follows.
1 1
1 1
1 1
1 1
1 1
1 1
1 1 1
1 1 1
1 1 1
1 1
( )
( )
(( ) ) ( )
( ) ( )
( ) ( )
( ( ) )( )
( ( ) )( )
( ( ) )
( )
T T
T T
T T T T T
T T T T T
T T T T
T T T T
T T T T
T T T T
T T T
T
A A A A
A A A A
A UDV UDV UDV
A VD U UDV UDV
A VD DV UDV
A V D D V UDV
A VD D V VD U
A VD D V VD U
A VD D D U
A VD U
2.4.2 Least Square Problem
Least square problem can also be solved using singular value decomposition. Let a problem be a
A x b
T
T T
r A x b
r UDV x b
r U DV x U b
We know that the magnitude of r should be approximately equal to zero, therefore
Direction-of-Arrival Estimation
9 Linear Algebra |
/
0
0
0
T T
T T
U DV x U b
DV x U b
U Dy y b
/
,i
bSo y
if singular value is not equal to zero otherwise y has arbitrary value.
Now solve for the following equation
x Vy
Since, VT = V
2.4.3 Solution of Linear Systems
Linear equation of the form
Ax b
can be solved using singular value decomposition. The result is same as that of least square
problem. The only difference is that, here Ax-b is taken exactly equal to zero.
0A x b
Direction-of-Arrival Estimation
10 Probability and Statics |
Probability and Statics
Without going in basic details of random variables, I will explain some important terminologies
of random variables and statics.
3.1 Statistical Averages
Statistical averages or moments are evaluated using the mathematical expectation operator.
Theoratically, probability density function is needed to calculate the moments but practically we
calculate moments without the knowledge of probability density function.
3.1.1 Mathematica Expectation
Mean or expected value of a random variable is given by
is the probability of . is the probability density function of . Mean is the
“location” or “center of gravity” of . If is even function, mean is equal to zero.
3.1.2 Moments
If then mth order moment is given by
In particular and . The second order moment is called mean-squared value and
is given by . Moreover,
3.1.3 Central Moments
Let , then mth order moment of is called mth central moment of
.
Direction-of-Arrival Estimation
11 Probability and Statics |
So, and . If mean is equal to zero then moments and central moments are equal.
A central moment of great importance is variance.
3.1.4 Skewness
Skewness is related to third order central moment. It tells about the degree of asymmetry around
the mean.
Figure 3.1: Skewness
Skewness is xero if density function is symmetric about its mean. It is positive if the shape of
density function leans towards right and is negative if the shape of density function leans towards
left.
3.1.5 Kurtosis
It is related to fourth order central moment. It tells about the relative peakedness or flatness of a
distribution about its mean. It is given by
Figure 3.2: Kurtosis
Direction-of-Arrival Estimation
12 Probability and Statics |
Kurtosis is a dimensionless quantity.
3.1.6 Characteristic Functions
The characteristics function of a random variable is given by
Moment generating function is given by
We differentiate with respect to s to get
3.1.7 Cumulants
They provide good information for higher order moments. They are derived by taking in account
the the moment generating function’s natural logarithm. Cumulant generating function is as
follows
Cumulants of a random variable x(ξ) is given as
We can easily see that . Moreover,
Direction-of-Arrival Estimation
13 Probability and Statics |
3.2 Autocorrelation and Autocorrelation Matrix
For unlimited amount of data, theoretically, autocorrelation sequence can be calculated by the
following formula:
where x(n) is the input signal. Since, data given is limited, autocorrelation sequence can only b
calculated by finite number of sums as follows:
This is called biased autocorrelation. In order to ensure that the values of x(n) that are calculated
outside the interval [0,N-1] are not included in sum for computational intelligence, we change
the above formula of biased autocorrelation as follows:
In order to ensure that we divide the sum from the number of terms added instead of N to get
good average, we modify the above formula and get the formula of unbiased autocorrelation as
follows:
In MATLAB, biased and unbiased autocorrelations are calculated by rx = xcorr(x,’biased’) and
rx = xcorr(x,’unbiased’) respectively where x is the input sequence and rx is the resultant
autocorrelation sequence. MATLAB also computes an autocorrelation sequence in which sum is
not scaled. This is given by rx = xcorr(x) and is given by the formula
Since, we know that fourier transform of autocorrelation sequence gives power spectral density.
These estimations of autocorrelation sequence can be used to estimate power spectral density.
For example, spectral estimation by periodogram is given by
Direction-of-Arrival Estimation
14 Probability and Statics |
In MATLAB, [Pxx,w] = periodogram(x) can be used to plot power spectral density by
plot(Pxx,w).
Figure3.3: power spectral density estimate using periodogram
Let us consider a random process given by
is a vector of M values of a process x(n). Now,
Is a pxp matrix. Autocorrelation matrix is the expectation of the above matrix
These biased, unbiased and unscaled estimations of autocorrelation sequences can be used to
estimate the autocorrelation matrix of any order. In MATLAB, [X Rx] = corrmtx(x,M-1) gives
MXM autocorrelation matrix Rx of input data x.
Direction-of-Arrival Estimation
15 Probability and Statics |
N N
M
M
M
M M M
M
M M M
M M M
Autocorrelation matrix is always toeplitx. In the presence of white noise
If the rank of Rs is r, then Rs can be reconstructed as
Where Vr contains the first r eigenvectors corresponding to r non-zero eigenvalues. These r
eigenvectors which correspond to r non-zero eigenvalues belong to signal subspace. Rest of the
eigenvectors of Rs belong to noise subspace. We can write Rx as
Projections of signal and noise subspaces are given respectively by
Since, the two subspaces are orthogonal
Consider a data matrix X whose order is NxM such that
X = [xT(0) xT(1) xT(2) ……. xT(N-1)]T . Then, .
Using above concepts, we get
correspond to signal and noise subspaces respectively.
SVD
U
D
X
M
D
EVD
Direction-of-Arrival Estimation
16 Frequency Estimation |
Frequency Estimation
4.1 Introduction
In array processing, a spatially propagating wave produces a complex exponential signal as
measured across uniformly spaced sensors in an array. The frequency estimation of the complex
exponential is done by determining the angle of arrival of the propagating signal. Therefore, the
direction of arrival problem in array processing is actually frequency estimation problem.
There are many methods of frequency estimation among which my concern was more towards
parametric approaches. The MATLAB code for these techniques is given in Appendix A.
4.2 Pisarenko Harmonic Decomposition
This method relies on eigen decomposition of correlation matrix. Correlation matrix is
decomposed into signal subspace and noise subspace. This method is the base of advanced
frequency estimation methods.
Consider a signal that consists of P complex exponentials in noise as follows
(n) =
In the form of a length M time window vector
(n) =
where
The eigen decomposition of the correlation matrix of above signal (n) is estimated such that the
order of the correlation matrix is M where
M = P + 1
Direction-of-Arrival Estimation
17 Frequency Estimation |
which means that the number of eigenvectors of autocorrelation matrix is 1 greater than the
number of complex exponentials. Thus, noise subspace Vn consists of only one eigenvector
corresponding to minimum eigenvalue . Signal subspace consists of P eigenvectors. Since,
signal and noise subspaces are orthogonal, therefore each of P complex exponentials in time
window signal vector model is orthogonal to
for all frequencies fp of complex exponentials.
Thus, making use of this property we compute pseudospectrum as
There are P peaks in pseudospectrum. is not true power spectrum but it gives good
estimation of frequency.
Figure 4.1: Pisarenko Harmonic Decomposition for frequency estimation of a signal containing
two exponentials.
This method has a limited practical use due to its sensitivity to noise.
4.3 MUSIC Algorithm
Multiple Signal Classification (MUSIC) frequency estimation approach is the improved version
of Pisarenko Harmonic Decomposition where M-dimensional space is split into signal subspace
and noise subspace using the eigen decomposition of correlation matrix. But contrary to
Pisarenko Harmonic Decomposition, size of time window is taken to be M > P + 1. Therefor, the
Direction-of-Arrival Estimation
18 Frequency Estimation |
dimension of noise subspace is greater than one and is equal to M – P. Averaging over noise
subspace gives improved frequency estimation.
For ( P < m ≤ M )
for all frequencies fp of complex exponentials. The above equation will have M-1 roots, p of
which correspond to the frequencies of complex exponentials. M-P noise eigenvectors share
these roots. Spurious peaks are due to rest of M-p-1 roots. These spurious peaks can be improved
by averaging. So, pseudospectrum of MUSIC algorithm is given by
MUSIC assumes that all noise eigenvalues have equal power , that is, noise is white.
However, in case of estimated correlation matrix, these values will not equal. Smaller the
number of data elements from which correlation matrix is estimated, larger the difference
between the noise eigenvalues.
Figure 4.2: Simulation of frequency estimation of a signal containing two exponentials using
MUSIC.
In MATLAB, [S,w] = pmusic(x,p) implements the MUSIC (Multiple Signal Classification)
algorithm and returns S, the pseudospectrum estimate of the input signal x, and a vector w of
Direction-of-Arrival Estimation
19 Frequency Estimation |
normalized frequencies (in rad/sample) at which the pseudospectrum is evaluated and p is the
dimension of signal subspace.
4.4 Eigenvector Method
This method is the improvement of MUSIC algorithm. For this method, the pseudospectrum is
In this case, the pseudospectrum is normalized by its corresponding eigenvalue.
This algorithm is same as that of MUSIC in case of white noise, that is, equal noise eigenvalues
.
Figure 4.3: Eigenvector method of frequency estimation of a signal containing two
exponentials. Left plot is the plot of eigenvalues and right plot is the plot of pseudospectrum.
In MATLAB, [S,w] = peig(x,p) implements the eigenvector spectral estimation method and
returns S, the pseudospectrum estimate of the input signal x, and w, a vector of normalized
frequencies (in rad/sample) at which the pseudospectrum is evaluated and p is the dimension of
signal subspace.
4.5 Comparison
Pisarenko Harmonic Decomposition is the basic technique and is not very much fruitful when
noise increases. MUSIC algorithm is a good approach but sometimes it gives spurious peaks in
the pseudospectrum. These spurious peaks are due to the roots of eigenvectors which do not
Direction-of-Arrival Estimation
20 Frequency Estimation |
correspond to the required frequency. Eigenvector method is better approach compared to
MUSIC algorithm because it tries to resolve the problem of spurious peaks by weighted average
of the pseudospectrum.
Below is the diagram of the comparison of these three techniques when four exponentials are
used. We can clearly see that peaks in the pseudospectrum of Pisarenko Harmonic
Decomposition are not exact whereas the peaks of MUSIC and Eigenvector method are exact.
MUSIC also gives extra small peaks whereas the pseudospectrum of Eigenvector method is quite
smooth where frequency component of imput signal is not present. Moreover, Eigenvector
method is more reliable due to sharp peaks.
Figure 4.4: Comparison of Pisarenko Harmonic Decomposition, MUSIC and Eigenvector
method using a signal with four exponentials.
Direction-of-Arrival Estimation
21 Future Work |
Future Work
In this semester, linear algebra and statistical signal processing was studied which was essential
for the literature survey of the project. Eigenvalue decomposition and singular value
decomposition of covariance matrix and signal matrix, distinguishing signal and noise subspace
from the given data and spectrum sensing techniques was a major focus uptil now. Future work
includes the understanding and implementation of various d irection-of-arrival techniques and
their improvement. Future work also involves hardware implementation of modified techniques.
Direction-of-Arrival Estimation
22 Appendix A |
Appendix A
MATLAB Code for different Frequency Estimation Techniques:
% This function plots different Frequency Estimation techniques besed on % eigenvector methods. P is the dimension of signal subspace whose default % value is 1. M is the dimension of autocorrelation matrix whose default % value is P+5 function [ ] = f_estimation(x,P,M); if (exist('M')==0) M = P + 4; end if (exist('P') == 0) P = 1; end %Pisarenko Harmonic Decomposition %finding ((P+1)x(P+1)) estimated autocorrelation matrix of input data [d Rx] = corrmtx(x,P); [v d] = eig(Rx); % finding eigen value decomposition of input data [y i] = sort(diag(d)); %sorting eigenvalues v = v(:,i); %sorting eigenvetors corresponding to increasing eogenvalues
V = abs(fft(v(:,1),256)).^2; % fft of noise subspace subplot(3,1,1); plot(0:1/256:1-1/256,-db(V)); % plotting pseudospectrum, P = db(1/V); xlabel('Normalized Frequency'); ylabel('Pseudospectrum(db)'); title('Pisarenko Harmonic decomposition'); grid;
% Music % Hence finding ((P+3)x(P+3)) estimated autocorrelation matrix of input data [d Rx] = corrmtx(x,M); [v d] = eig(Rx); % finding eigen value decomposition of input data [y i] = sort(diag(d)); %sorting eigenvalues v = v(:,i); %sorting eigenvetors corresponding to increasing eogenvalues
V = zeros(256,1); for j = 1 : M - P + 1 V = V + fft(v(:,j),256); % Taking fft of noise subspace end V = abs(V).^2;
subplot(3,1,2); plot(0:1/256:1-1/256,-db(V)); % plotting pseudospectrum, P = db(1/V);
Direction-of-Arrival Estimation
23 Appendix A |
xlabel('Normalized Frequency'); ylabel('Pseudospectrum(db)'); title('MUSIC'); grid;
% EigenVector Method subplot(3,1,2) % plot((y),'--rs'); title('Eigenvalues of the correlation matrix'); % grid; xlabel('Eigen Value Number'); ylabel('Magnitude of Eigen Value
(db)');
V = zeros(256,1); for j = 1 : M - P + 1 V = V + fft(v(:,j),256)./y(j); % Taking fft of noise subspace end V = abs(V).^2;
subplot(3,1,3); plot(0:1/256:1-1/256,-db(V)); % plotting pseudospectrum, P = db(1/V); xlabel('Normalized Frequency'); ylabel('Pseudospectrum(db)'); title('Eigenvector method'); grid;
Example Execution:
clc; clear all; % P = 4; % No. of frequencies in the signal % f1 = 50; f2 = 100; f3 = 150; f4 = 200; %frequencies in the signal Fs = 400; %sampling frequency of the signal n = 0 : 1000; % discrete time signal is s = exp(2*pi*i*f1/Fs*n) + exp(2*pi*i*f2/Fs*n) + exp(2*pi*i*f3/Fs*n) +
exp(2*pi*i*f4/Fs*n); x = s + 0.5 * (rand(1,length(s)) + i*rand(1,length(s))); % recieved signal
f_estimation(x,P,P+9);
The result of above code is given in figure 4.4
Top Related