close allclear allclcc=1500;fs=10000;T = 0
1;t = 0:1/fs:T;L=length(t);f=500;w=2*pi*f;k=w/c;M=16; %阵元个数Nmid=1; %参考点d=3;%阵元间距m=[0:1:M-1];yi=zeros(M,1);% 返回一个 M*1 维的零矩阵zi=zeros(M,1);xi=m*d;xi=xi
';%各阵元坐标y1=20;x1=10;z1=10;% 声源位置, y 轴指向声源平面Ric1=sqrt((x1-xi)
^2+(y1-yi)
^2+(z1-zi)
^2);%声源至各阵元的距离 M*1 维Rn1=Ric1-Ric1(Nmid);%声源至各阵元与参考阵元的声程差矢量 M*1 维s1=cos(w*t);%参考阵元接收到的信号 1*L 维snr =20;Am= 10^(-snr/20);n1=Am*(randn(M,L)+j*randn(M,L));%各阵元噪声矢量p1=zeros(M,L);%M*L 维for k1=1:M p1(k1,:)=Ric1(Nmid)/Ric1(k1)*s1
*exp(-j*w*Rn1(k1)/c); %各阵元经过幅度衰减和相位延迟后接收到的信号,M*L 维endp=p1+n1;%各阵元接收的声压信号矩阵 M*LR=p*p'/L;%接收数据的自协方差矩阵 M*M% ----------------------------------------------------------% 扫描范围step_x=0
1;step_z=0
1;y=y1;x=[0:step_x:20];z=[0:step_z:20];for k1=1:length(z) % 纵坐标 for k2=1:length(x) Ri=sqrt((x(k2)-xi)
^2+(y-yi)