MUSIC算法如下:
txNum :发射天线 2个 ,rxNum:接收天线 4 个 。
ant : 为目标点的 天线 接收数据 , 为 8*1矩阵。
A =ant;
d = 0.5;
M = 1; % # 快拍数
ang_ax = -90:90; % 角度坐标
% 接收信号方向向量
for k=1:length(ang_ax)
a1(:,k)=exp(1i*2*pi*(d*(0:txNum*rxNum-1)'*sin(ang_ax(k).'*pi/180))); % 接收信号方向向量
end
%CFAR出来后的目标个数,其实有多少个点,就要依次做多少次MUSIC,因此MUSIC不限制信源数,但是就是算力大。
Rxx = zeros(txNum*rxNum,txNum*rxNum);
for m = 1:M
Rxx = Rxx + 1/M * (A*A');
end
[Q,D] = eig(Rxx); % Q: 特征向量(列), D: 特征值 特征向量
[D, I] = sort(diag(D),'descend'); % diag创建对角矩阵或获取矩阵的对角元素
Q = Q(:,I); % 对特征向量进行排序,将信号特征向量放在第一位
Qs = Q(:,1); % 获取信号特征向量
Qn = Q(:,2:end); % 获取噪声特征向量
for k=1:length(ang_ax)
music_spectrum(rangeBin,k)=(a1(:,k)'*a1(:,k))/(a1(:,k)'*(Qn*Qn')*a1(:,k)); % MUSIC谱
end