MUSIC algorithm for range-azimuth FMCW data processing

16 visualizzazioni (ultimi 30 giorni)
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 Commento
Shirleyuue Jiang
Shirleyuue Jiang il 22 Ago 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.

Accedi per commentare.

Risposte (1)

ruoyan pan
ruoyan pan il 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

Categorie

Scopri di più su Beamforming and Direction of Arrival Estimation in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by