MUSIC algorithm for range-azimuth FMCW data processing
8 views (last 30 days)
Show older comments
I'm using the following 1D music algorithm to estimate targets position (only theta angle).
It works pretty good with my 1D antenna array. I need help to trasform it in the 2D case (azimuth and range) in near field scenario.
Thanks a lot in advance,
Ciao
Luca
% ======= (1) TRANSMITTED SIGNALS ======= %
% Signal source directions
az = [35;39;127]; % Azimuths
el = zeros(size(az)); % Simple example: assume elevations zero
M = length(az); % Number of sources
% Transmitted signals
L = 200; % Number of data snapshots recorded by receiver
m = randn(M,L); % Example: normally distributed random signals
% ========= (2) RECEIVED SIGNAL ========= %
% Wavenumber vectors (in units of wavelength/2)
k = pi*[cosd(az).*cosd(el), sind(az).*cosd(el), sind(el)].';
% Array geometry [rx,ry,rz]
N = 10; % Number of antennas
r = [(-(N-1)/2:(N-1)/2).',zeros(N,2)]; % Assume uniform linear array
% Matrix of array response vectors
A = exp(-1j*r*k);
% Additive noise
sigma2 = 0.01; % Noise variance
n = sqrt(sigma2)*(randn(N,L) + 1j*randn(N,L))/sqrt(2);
% Received signal
x = A*m + n;
% ========= (3) MUSIC ALGORITHM ========= %
% Sample covariance matrix
Rxx = x*x'/L;
d = 0.5;% Distance between elements in Wavelenght
[Q ,D]=eig(Rxx); %Compute eigendecomposition of covariance matrix
[D,I]=sort(diag(D),1,'descend'); %Find r largest eigenvalues
Q=Q (:,I); %Sort the eigenvectors to put signal eigenvectors first
Qs=Q (:,1:M); %Get the signal eigenvectors
Qn=Q(:,M+1:N); %Get the noise eigenvectors
% MUSIC algorithm
% Define angles at which MUSIC “spectrum” will be computed
angles=(-90:1:90);
for k=1:length(angles)
a1(:,k)=exp(-1i*2*pi*(d*(0:N-1)'*sin([angles(k).']*pi/180)));
end
for k=1:length(angles)
%Compute MUSIC “spectrum”
music_spectrum(k)=(a1(:,k)'*a1(:,k))/(a1(:,k)'*(Qn*Qn')*a1(:,k));
end
plot(angles,abs(music_spectrum))
grid on
title('MUSIC Spectrum')
xlabel('Angle in degrees')
1 Comment
Shirleyuue Jiang
on 22 Aug 2019
Hi, did you succeed in transform 1D to 2D? I have some problems with 2D,can you show me your whole code?My email: shirleyuue@foxmail.com.
Answers (1)
ruoyan pan
on 10 Nov 2019
Hi, I think I have the same problem as yours, did you succeed to solve it?If you did, could you please help me? My email:panry0402@163.com
0 Comments
See Also
Categories
Find more on Subspace Methods in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!