%Conventional Beamforming for DOA Estimation
clear all;close all;clc;
source_number=2;%信元数
sensor_number=32;%阵元数
N_x=1024; %信号长度
snapshot_number=N_x;%快拍数
w=[pi/4 pi/6].';%信号频率
l=((2*pi*3e8)/w(1)+(2*pi*3e8)/w(2))/2;%信号波长
d=0.5*l;%阵元间距
snr=15;%信噪比
%两个信号的入射角度:
source_doa=[10 15];
%阵列流型(.'为共轭转置,实部不变,虚数互为相反数):
A=[exp(-1j*(0:sensor_number-1)*d*2*pi*sin(source_doa(1)*pi/180)/l);
exp(-1j*(0:sensor_number-1)*d*2*pi*sin(source_doa(2)*pi/180)/l)].';
s=sqrt(10.^(snr/10))*exp(1j*w*[0:N_x-1]);%仿真信号
%1/sqrt(2)就是为了让该高斯白噪声的能量为1,就是方差为1.
x=A*s+(1/sqrt(2))*(randn(sensor_number,N_x)+1j*randn(sensor_number,N_x));%加了高斯白噪声后的阵列接收信号
%构造协方差矩阵,
R=x*x'/snapshot_number;
%谱峰搜索
searching_doa=-90:0.1:90;
for i=1:length(searching_doa)
a_theta=exp(-1