Reply by ste3191 October 11, 20152015-10-11
>It is difficult to compare your implementation to a paper I don't have >access to (published at an obscure conference and apparently never cited
as
>far as IEEE and Google can tell). And you will seldom get such detailed >analysis for free, particularly when you fail to provide even a full
citation of
>the paper, let alone access. > >If this question arises from a real application or from self study, >consider the references below. > >If this is a homework problem, perhaps the point is for you to discover >discrepancies in the description in the paper. Consideration of the >references below might assist you in that. > >Good luck, >Dale B. Dalrymple > >References >2-D unitary matrix pencil method for efficient direction of arrival >estimation >Digital Signal Processing, Volume 16, Issue 6, Pages 767-781 >Nuri Yilmazer, Tapan K. Sarkar >In this study, we extended the one-dimensional (1-D) unitary matrix
pencil
>method (UMP) [N. Yilmazer, J. Koh, T.K. Sarkar, Utilization of a unitary >transform for efficient computation in the matrix pencil method to find
the
>direction of arrival, IEEE Trans. Antennas Propagat. 54 (1) (2006)
175-181]
>to two-dimensional case, where 2-D matrix pencil (MP) method are used to >find the 2-D poles corresponding to the direction of arrival (DOA),
azimuth
>and elevation angles, of the far field sources impinging on antenna
arrays.
>This technique uses MP method to compute the DOA of the signals using a >very efficient computational procedure in which the complexity of the >computation can be reduced significantly by using a unitary matrix
transformation.
>This method applies the technique directly to the data without forming a >covariance matrix. Using real computations through the unitary >transformation for the 2-D matrix pencil method leads to a very efficient
computational
>methodology for real time implementation on a DSP chip. The numerical >simulation results are provided to see the performance of the method. > >N. Yilmazer, J. Koh, T.K. Sarkar, Utilization of a unitary transform for >efficient computation in the matrix pencil method to find the direction
of
>arrival, IEEE Trans. Antennas Propagat. 54 (1) (2006) 175-181 >Abstract >In this study, we use the matrix pencil (MP) method to compute the >direction of arrival (DOA) of the signals using a very efficient
computational
>procedure in which the complexity of the computation can be reduced >significantly by using a unitary matrix transformation. This method
applies the
>technique directly to the data without forming a covariance matrix.
Simulation
>results show that the variance of the estimate approaches to the
Cramer-Rao
>lower bound. Using real computations through the unitary transformation
for
>the MP method leads to a very efficient computational methodology for
real
>time implementation on a digital signal processor chip. A unitary >transform can convert the complex matrix to a real matrix along with
their
>eigenvectors and thereby reducing the computational cost at least by a
factor of
>four without sacrificing accuracy. This reduction in the number of >computations is achieved by using a transformation, which maps
centro-hermitian
>matrices to real matrices. This transformation is based on Lee's work on >centro-hermitian matrices.
Thank you For suggestion, but i already have seen these articles. I wrote the script For 2d version and it Works good, except For negative azimuth. However is for real Application :( --------------------------------------- Posted through http://www.DSPRelated.com
Reply by dbd October 11, 20152015-10-11
It is difficult to compare your implementation to a paper I don't have access to (published at an obscure conference and apparently never cited as far as IEEE and Google can tell). And you will seldom get such detailed analysis for free, particularly when you fail to provide even a full citation of the paper, let alone access.

If this question arises from a real application or from self study, consider the references below.

If this is a homework problem, perhaps the point is for you to discover discrepancies in the description in the paper. Consideration of the references below might assist you in that.

Good luck,
Dale B. Dalrymple

References
2-D unitary matrix pencil method for efficient direction of arrival estimation
Digital Signal Processing, Volume 16, Issue 6, Pages 767-781
Nuri Yilmazer, Tapan K. Sarkar
In this study, we extended the one-dimensional (1-D) unitary matrix pencil method (UMP) [N. Yilmazer, J. Koh, T.K. Sarkar, Utilization of a unitary transform for efficient computation in the matrix pencil method to find the direction of arrival, IEEE Trans. Antennas Propagat. 54 (1) (2006) 175-181] to two-dimensional case, where 2-D matrix pencil (MP) method are used to find the 2-D poles corresponding to the direction of arrival (DOA), azimuth and elevation angles, of the far field sources impinging on antenna arrays. This technique uses MP method to compute the DOA of the signals using a very efficient computational procedure in which the complexity of the computation can be reduced significantly by using a unitary matrix transformation. This method applies the technique directly to the data without forming a covariance matrix. Using real computations through the unitary transformation for the 2-D matrix pencil method leads to a very efficient computational methodology for real time implementation on a DSP chip. The numerical simulation results are provided to see the performance of the method.

N. Yilmazer, J. Koh, T.K. Sarkar, Utilization of a unitary transform for efficient computation in the matrix pencil method to find the direction of arrival, IEEE Trans. Antennas Propagat. 54 (1) (2006) 175-181
Abstract
In this study, we use the matrix pencil (MP) method to compute the direction of arrival (DOA) of the signals using a very efficient computational procedure in which the complexity of the computation can be reduced significantly by using a unitary matrix transformation. This method applies the technique directly to the data without forming a covariance matrix. Simulation results show that the variance of the estimate approaches to the Cramer-Rao lower bound. Using real computations through the unitary transformation for the MP method leads to a very efficient computational methodology for real time implementation on a digital signal processor chip. A unitary transform can convert the complex matrix to a real matrix along with their eigenvectors and thereby reducing the computational cost at least by a factor of four without sacrificing accuracy. This reduction in the number of computations is achieved by using a transformation, which maps centro-hermitian matrices to real matrices. This transformation is based on Lee's work on centro-hermitian matrices.
Reply by ste3191 October 11, 20152015-10-11
>On Saturday, October 10, 2015 at 9:16:27 AM UTC-7, ste3191 wrote: >> >You might try a spacial sampling like lambda/4 that doesn't violate
the
>> >Nyquist criteria as lambda/2 does for end-fire wave arrivals. >> > >> >Dale B. Dalrymple >> >> yes, I tried but i'd errors too. For example with lambda/4 >> the doas 75 and 10 deg are estimated as 76.40 and 18.45 > >What conclusion do you draw from these values? How do all the values you >calculated for lambda/2 compare to those for lambda/4? >> >> The script seems correct.. Maybe i can try to change pencil parameter >> 5<L<8 > >How can the script seem correct when it gives these results? > >Dale B. Dalrymple
I know :(, but these are all steps of article :(... however here there are some results comparision: Doa | Estimated | lambda/2 | lambda/4 -------------------------------------- 0 90 16.42 5 83 17.12 10 66 19.09 30 39 33.58 40 44 42.43 50 52 51.66 60 61 61.11 70 70 70.68 80 80 80.32 90 90 90 110 109 109.31 130 127 128.33 135 131 132.98 150 140 146.41 170 113 160.90 180 90 163.57 There's a little improvement, but not sufficient yet --------------------------------------- Posted through http://www.DSPRelated.com
Reply by dbd October 10, 20152015-10-10
On Saturday, October 10, 2015 at 9:16:27 AM UTC-7, ste3191 wrote:
> >You might try a spacial sampling like lambda/4 that doesn't violate the > >Nyquist criteria as lambda/2 does for end-fire wave arrivals. > > > >Dale B. Dalrymple > > yes, I tried but i'd errors too. For example with lambda/4 > the doas 75 and 10 deg are estimated as 76.40 and 18.45
What conclusion do you draw from these values? How do all the values you calculated for lambda/2 compare to those for lambda/4?
> > The script seems correct.. Maybe i can try to change pencil parameter > 5<L<8
How can the script seem correct when it gives these results? Dale B. Dalrymple
Reply by ste3191 October 10, 20152015-10-10
>You might try a spacial sampling like lambda/4 that doesn't violate the >Nyquist criteria as lambda/2 does for end-fire wave arrivals. > >Dale B. Dalrymple
yes, I tried but i'd errors too. For example with lambda/4 the doas 75 and 10 deg are estimated as 76.40 and 18.45 The script seems correct.. Maybe i can try to change pencil parameter 5<L<8 --------------------------------------- Posted through http://www.DSPRelated.com
Reply by ste3191 October 10, 20152015-10-10
>You might try a spacial sampling like lambda/4 that doesn't violate the >Nyquist criteria as lambda/2 does for end-fire wave arrivals. > >Dale B. Dalrymple
yes, I tried but i'd errors too. For example with lambda/4 the doas 75 and 10 deg are estimated as 76.40 and 18.45 The script seems correct.. Maybe i can try to change pencil parameter 5<L<8 --------------------------------------- Posted through http://www.DSPRelated.com
Reply by dbd October 10, 20152015-10-10

You might try a spacial sampling like lambda/4 that doesn't violate the Nyquist criteria as lambda/2 does for end-fire wave arrivals.

Dale B. Dalrymple
Reply by ste3191 October 10, 20152015-10-10
>On Saturday, October 10, 2015 at 5:39:32 AM UTC+13, ste3191 wrote: >> Hi guys, i have written the script on matlab for estimate DOA with >uniform >> linear array, using the matrix pencil method. The estimated angles are >> almost right when they are up about 45&deg;, and they are very good when >> they're close to 90&deg; Can anyone help me? It's very strange, also the >> signal is without noise!! I post my script. you can run it changing
the
>> initial doa to estimate. Thank you very much. >> >> %DOA Unitary Matrix Pencil Method 1D ULA >> % Article : An efficient computational approach in the matrix pencil >> % method to find one dimensional and two dimensional
direction
>> % of arrival by Hassan M.Elkamchouchi, Mohammed M.M. Omar >> %******************************************* >> doa = [60 80 ]; >> M = size(doa,2); >> >> N1 = 16; %number of antenna >> L1 = 6; %pencil parameter >> donlambda = 0.5; %d/lambda = 0.5 >> n = donlambda*(0:N1-1) - donlambda*((N1-1)/2); %central symmetry >array >> >> A = zeros(N1,M); >> for k=1:M >> A(:,k) = exp(1i*2*pi*(n.*cosd(doa(k)))).'; >> end >> >> x = sum(A,2).'; >> >> Y = hankel(x(1,1:N1-L1+1), x(1,(N1-L1+1):end)); %Hankel Matrix >> >> P3 = flipud(eye(L1/2)); >> P5 = flipud(eye(L1-1)); >> P6 = flipud(eye(L1)); >> P11 = flipud(eye(N1-L1+1)); >> >> U6 = 0.707*[eye(L1/2) 1i*eye(L1/2);P3 -1i*P3]; >> U12 = 0.707*[eye(L1) 1i*eye(L1);P6 -1i*P6]; >> U11 = 0.707*[eye(L1-1) zeros(L1-1,1) 1i*eye(L1-1);zeros(1,L1-1) 0.707 >> zeros(1,L1-1);P5 zeros(L1-1,1) -1i*P5]; >> >> XR = U11'*Y*U6; %real matrix >> >> J1 = [eye(N1-L1) zeros(N1-L1,1)]; >> >> [U D V]= svd(XR); >> vsig = U(:,1:M); >> >> U10 = 0.707*[eye(L1-1) 1i*eye(L1-1);P5 -1i*P5]; >> >> H=pinv(real(U10'*J1*U11)*vsig)*(imag(U10'*J1*U11)*vsig); >> >> val = eig(H); >> >> angles = acos(atan(-val)/(0.5*pi))*180/pi; >> >> >> --------------------------------------- >> Posted through http://www.DSPRelated.com > >When I have troubles with a pencil I usually sharpen it.
The elements of array are on x-axis, and theta is angle between x-axis and vector of signal. Then 90 deg means signal is perpendicular to antennas. The elements are spaced lambda/2 as you can see variable n. Below i put some results: True DOA | Estimated ----------------------- 0 90 5 83 10 66 30 39 40 44 50 52 60 61 70 70 80 80 90 90 110 109 130 127 135 131 150 140 170 113 180 90 --------------------------------------- Posted through http://www.DSPRelated.com
Reply by October 10, 20152015-10-10
On Saturday, October 10, 2015 at 5:39:32 AM UTC+13, ste3191 wrote:
> Hi guys, i have written the script on matlab for estimate DOA with uniform > linear array, using the matrix pencil method. The estimated angles are > almost right when they are up about 45&#4294967295;, and they are very good when > they're close to 90&#4294967295; Can anyone help me? It's very strange, also the > signal is without noise!! I post my script. you can run it changing the > initial doa to estimate. Thank you very much. > > %DOA Unitary Matrix Pencil Method 1D ULA > % Article : An efficient computational approach in the matrix pencil > % method to find one dimensional and two dimensional direction > % of arrival by Hassan M.Elkamchouchi, Mohammed M.M. Omar > %******************************************* > doa = [60 80 ]; > M = size(doa,2); > > N1 = 16; %number of antenna > L1 = 6; %pencil parameter > donlambda = 0.5; %d/lambda = 0.5 > n = donlambda*(0:N1-1) - donlambda*((N1-1)/2); %central symmetry array > > A = zeros(N1,M); > for k=1:M > A(:,k) = exp(1i*2*pi*(n.*cosd(doa(k)))).'; > end > > x = sum(A,2).'; > > Y = hankel(x(1,1:N1-L1+1), x(1,(N1-L1+1):end)); %Hankel Matrix > > P3 = flipud(eye(L1/2)); > P5 = flipud(eye(L1-1)); > P6 = flipud(eye(L1)); > P11 = flipud(eye(N1-L1+1)); > > U6 = 0.707*[eye(L1/2) 1i*eye(L1/2);P3 -1i*P3]; > U12 = 0.707*[eye(L1) 1i*eye(L1);P6 -1i*P6]; > U11 = 0.707*[eye(L1-1) zeros(L1-1,1) 1i*eye(L1-1);zeros(1,L1-1) 0.707 > zeros(1,L1-1);P5 zeros(L1-1,1) -1i*P5]; > > XR = U11'*Y*U6; %real matrix > > J1 = [eye(N1-L1) zeros(N1-L1,1)]; > > [U D V]= svd(XR); > vsig = U(:,1:M); > > U10 = 0.707*[eye(L1-1) 1i*eye(L1-1);P5 -1i*P5]; > > H=pinv(real(U10'*J1*U11)*vsig)*(imag(U10'*J1*U11)*vsig); > > val = eig(H); > > angles = acos(atan(-val)/(0.5*pi))*180/pi; > > > --------------------------------------- > Posted through http://www.DSPRelated.com
When I have troubles with a pencil I usually sharpen it.
Reply by Tim Wescott October 9, 20152015-10-09
On Fri, 09 Oct 2015 13:07:34 -0500, ste3191 wrote:

>>On Fri, 09 Oct 2015 11:39:25 -0500, ste3191 wrote: >> >>> Hi guys, i have written the script on matlab for estimate DOA with >>> uniform linear array, using the matrix pencil method. The estimated >>> angles are almost right when they are up about 45&Acirc;&deg;, and they are > very >>> good when they're close to 90&Acirc;&deg; Can anyone help me? It's very > strange, >>> also the signal is without noise!! I post my script. you can run it >>> changing the initial doa to estimate. Thank you very much. >> >>So you're saying that your measurements are very good, and this is a >>problem? >> >>Huh? >> >>-- >> >>Tim Wescott Wescott Design Services http://www.wescottdesign.com > > The estimated angles are wrong when they are small, below 45 deg. While > if DOAs are up 45 the algorithm works fine.. Can you help me? Sorry if i > haven't been clear
Beyond being picky about your wording I'm not sure how much use I'll be, but I'll try in hopes that my flailing will attract some more knowledgeable sharks. Is 90 degrees defined with respect to the line along which the antennas are mounted? So 90 degrees means that the line of antennas is perpendicular to the source? It sounds like the basic problem is one where the accuracy will inherently diminish as you get more edge-on to the line of antennas -- have you done any sensitivity analysis to see if maybe your results are being limited by the physics of the problem rather than any mathematical artifacts? It would seem to me that for two antennas the phase relationship of the wave at the antennas would have a cos(theta) term in it, meaning that at 0 degrees the sensitivity to phase errors would be infinite. Are you using an actual physical array? Could the propagation time from antenna to receiver be different than it should be (in other words, could some of your cables be of incorrect length)? -- Tim Wescott Wescott Design Services http://www.wescottdesign.com