• 大小: 2KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-05-23
  • 语言: Matlab
  • 标签: DOA  求根music  matlab  

资源简介

求根music和最小范数music算法的正确matlab实现代码。两种重要的music改进算法,非常经典。已经检查无误。

资源截图

代码片段和文件信息

%MUSIC算法的改进——最小范数MUSIC算法
%MN_MUSIC算法和普通MUSIC算法的DOA估计比较
f=1*10^8;
c=3*10^8;
lamda=c/f;
d=lamda/2;
n=10;

f1=10;
thita1=40;

f2=20;
thita2=90;

f3=40;
thita3=135;

thita=1:1:180;
snapshot=1:2000;

S1=1*exp(j*2*pi*f1*snapshot/length(snapshot));
S2=0.8*exp(j*2*pi*f2*snapshot/length(snapshot));
S3=1.5*exp(j*2*pi*f3*snapshot/length(snapshot));
S=[S1;S2;S3];

A1=exp(-j*2*pi*d*[0:n-1]*cos(thita1*pi/180)/lamda).‘;
A2=exp(-j*2*pi*d*[0:n-1]*cos(thita2*pi/180)/lamda).‘;
A3=exp(-j*2*pi*d*[0:n-1]*cos(thita3*pi/180)/lamda).‘;
A=[A1A2A3];

N=sqrt(1/2)*(randn(nlength(snapshot))+j*randn(nlength(snapshot)));          %这里信号和噪声都取复数

X=A*S+N;          %10*2000

R=cov(X‘);
[VD]=eig(R);
[YI]=sort(diag(D));
Un=V(:I(1:7));          %10*7
e1=[1zeros(1n-1)]‘;

for i=1:length(thita)
    A=exp(-j*2*pi*d*[0:n-1]*cos(thita(i)*pi/180)/lamda).‘;
    Pmn(i)=1/(abs(A‘*Un*Un‘*e1))^2;
    Pmusic(i)=(A‘*A)/(A‘*Un*Un‘*A);
end;

figure(1);
plot(thita10*log10(abs(Pmn)/max(abs(Pmusic)))‘b--‘);
grid on;
hold on;
plot(thita10*log10(abs(Pmusic)/max(abs(Pmusic)))‘r--‘);
% plot(thita1-50:-30‘.-‘);
% plot(thita2-50:-30‘.-‘);
% plot(thita3-50:-30‘.-‘);
xlabel(‘入射方向角(度)‘);
ylabel(‘输出功率(dB)‘);
title(‘普通music算法和最小范数music算法空间谱对比‘);
legend(‘最小范数MUSIC‘‘普通MUSIC‘);







 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1749  2009-07-25 21:47  root_music.m

     文件       1326  2009-07-25 21:37  MN_music_doa.m

----------- ---------  ---------- -----  ----

                 3075                    2


评论

共有 条评论