📄 direction_of_arrival_by_music_and_signal_simulate.m
字号:
clear
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%% 信号源 %%%%%%%%%%%%%%%%
Sensor=16; % 接收器数目
Snap=20; % 快照数
Doa=[10 -20 45];%*pi/180; % 信号源角度
S_number=length(Doa); % 信号数目
Lambda=0.1; % 信号波长
d=0.5*Lambda; % 接收器间距
S_x=[0:Sensor-1]*d; % 接收器位置坐标
A=exp(-j*2*pi/Lambda*S_x'*sin(Doa*pi/180));
%A=exp(j*2*pi/Lambda*S_x'*sin(Doa));
Snr=5; % 信噪比dB
Snr=sqrt(10.^(Snr/10));
%fs=3000000000;
%f=[300000000,200000000,400000000,500000000,100000000]';
%f1=f/fs;
%Sig=randn*exp(2*j*pi*f1*(1:Snap));
Sig=sqrt(0.5)*(randn(S_number,Snap)+j*randn(S_number,Snap));
% Signal waveform (unit power)
Noise=sqrt(0.5)*(randn(Sensor,Snap)+j*randn(Sensor,Snap));
% Additive noise (unit power)
X=Snr*A*Sig+Noise; % 信号源产生
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%% music估计 %%%%%%%%%%%%
R=X*X';%协方差矩阵
[U S V]=svd(R);%奇异值分解 其中U和V代表二个相互正交矩阵,而S代表一对角矩阵。
En=U(:,S_number+1:Sensor); % 估计噪声子空间
theta=[-90:0.1:90]*pi/180;
for num=1:length(theta)
A_search=exp(-j*2*pi/Lambda*S_x'*sin(theta(num)));
P_music(num)=abs(1/(A_search'*En*En'*A_search));%谱峰搜索
end
h=[-90:0.1:90];
%plot(h,10*log10(P_music));
plot(h,10*log10(P_music/max(P_music)));
axis([-100 100 -50 +10])
xlabel('入射角/(度)','fontsize',10)
ylabel('Pmusic','fontsize',10)
%text(80,10*log10(P_music/max(P_music)),'S3','fontsize',10)
grid
%plot(theta,10*log10(P_music/max(P_music)));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -