📄 music_var_snr.m
字号:
%变化信噪比的MUSIC算法
clear all;
close all;
clc
N_x=100; % 块拍
N=8; %阵元
lamda=0.5;%波长
d=0.5*lamda;%阵元间距
M=3;
SNR=-1:1:10;
theta=-90:0.1:90;%ULA估计角度变化的范围和频率选择
var=zeros(length(SNR):1);
Pmusic=zeros(length(SNR),length(theta));
w=[pi/10 pi/7 pi/6]';%信号频率
Doa=[50*pi/180 0 -30*pi/180]; %三个信号的入射角,小于5度就难以辨别了
S_x=[0:N-1]*d;%
B=exp(-j*2*pi*S_x'*sin(Doa)/lamda);
varn=1;
var=sqrt(varn) * 10.^(SNR/20);
for k=1:length(SNR)
xxx=-0.5*var(k)*exp(j*w*[0:N_x-1]);%仿真信号
x=B*xxx+randn(N,N_x)+j*randn(N,N_x); %加噪声
R=x*x';
[V D]=eig(R);
[lambda,index] = sort((diag(D)));
UU=V(:,index(1:7));
for i=1:length(theta)
AA=exp(-j*2*pi*S_x*sin(theta(i)/180*pi)/lamda);
WW=AA*UU*UU'*AA';
Pmusic(k,i)=abs(1/WW);%角谱
Pmusic(k,i) = 20*log10(Pmusic(k,i));
end
end
mesh(theta,SNR,Pmusic);
figure(2)
plot(theta,Pmusic(10,:))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -