⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boshuyumusic.m

📁 矢量阵的波束域music算法
💻 M
字号:
%BEAMSPACE DOA估计
clc;
clear;
%参数设置
lookdirection=[1 5 30];%信源到达角矢量
source_state=[5673163 2348321 435937417];%生成信源的随机数初始状态
source_amp=[1 1 1];%信源幅度

noise_state=2374357 ;%生成噪声的随机数初始状态
noise_power=-10;%噪声功率
num_element=16; %阵元数
num_V_noise=14; %噪声矢量个数

distance=0.5;%阵元间距,以波长为参考,
num_snapshot=5000; %快拍数
 
beamwlookdirection=[90+rad2deg(asin(1/16)) 90+rad2deg(asin(3/16))  90+rad2deg(asin(5/16))];
beamw=SteerVectGen(beamwlookdirection,num_element,distance);
%收信号
steervect=SteerVectGen(lookdirection,num_element,distance);%导引矢量
num_source=length(lookdirection);%信源数
rec_signal=0;
for index=1:num_source
source=source_amp(index)*randsrc(1,num_snapshot,[-1 1 ],source_state(index));
rec_signal=rec_signal+kron(source,steervect(:,index));
end
rec_signal=rec_signal+wgn(num_element,num_snapshot,noise_power,1,noise_state,'complex');%加入噪声

%MUSIC算法
%求相关矩阵
R=0;
for index=1:num_snapshot
    snap=rec_signal(:,index);
    R=R+snap*snap';
end
R=R/num_snapshot;

if 1
%波束域
R=beamw'*R*beamw;
num_v_noise=1;
[v,dl]=eig(R);%求特征矢量
v_noise=v(:,1:num_v_noise);
uuh=v_noise*v_noise';
%求
theta=0:0.05:180;
scan_marix=SteerVectGen(theta,num_element,distance);
for index=1:length(theta)
    temp=scan_marix(:,index);
    temp1=beamw'*temp;
    temp2=(temp1'*temp1)/(temp1'*uuh*temp1)/num_element;
    p(index)=10*log10(abs(temp2));
    end
else
%阵元域
    [v,dl]=eig(R);%求特征矢量
    v_noise=v(:,l:num_v_noise);
uuh=v_noise*v_noise';
%求
theta=0:0.05:180;
scan_marix=SteerVectGen(theta,num_element,distance);
for index=l:length(theta)
    temp=scan_marix(:,index);
    tempt1=beamw'*temp;
    temp2=(tempt'*templ)/(tempt1'*uuh*templ)/num_element;
    p(index)=10*log10(abs(temp2));
end
end

%显示空间谱
plot(theta,p);
grid on;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -