clear all;close all;clc
M=16; %阵元数
thita1=18;%信号入射角度
thita2=-18;
SNR=10; %信噪比
A1=sqrt(10.^(SNR/10));
A2=sqrt(10.^(SNR/10));
N=2048; %快拍数为2048
f1=800;
f2=300;
fs=f1*4;%采样率
c=1500;
lamda=c/f1;
d=lamda/2;%阵元间距为半波长
dthita1=2*pi*(d/lamda)*sin(thita1*pi/180);%相邻阵元相移
dthita2=2*pi*(d/lamda)*sin(thita2*pi/180);
s=randn(1,N);
for n=1:N
for m=1:M
Sig1(1,n)=A1*exp(j*(2*pi*f1*(n-1)/fs+0.5*s(1,n)));
A(m,1)=exp(-j*dthita1*(m-1));
Sig2(1,n)=A2*exp(j*(2*pi*f2*(n-1)/fs+0.5*s(1,n)));
B(m,1)=exp(-j*dthita2*(m-1));
end
end
noise=randn(M,N)+j*randn(M,N);%生成高斯白噪声
X=A*Sig1+B*Sig2+noise;
R=X*X'/N; %估计自协方差矩阵
n=-90:1:90;%搜索角
for nn=1:length(n)
for mm=1:M;
a(mm)=exp(j*2*pi*(mm-1)*(d/lamda)*sin(n(nn)*pi/180));
end
PCBF(nn)=a*R*a';
PMVDR(nn)=1/(a*inv(R)*a');
end
pc=max(PCBF);
pm=max(PMVDR);
figure
plot(n,10*log10(abs(PMVDR/pm)));grid on;
title('MVM实现阵列输出功率估计(入射信号角度分别为-18°和18°)');
xlabel('角度/。');
ylabel('P/dB');
评论1