模拟平面波入射和相关法测向过程

clear all;clc;close all;
%% 初始化
d=1;%阵间距
N=10;%传感器数量
l=d*(N-1);%阵长
c=343;%声速
fs=2000;%采样率
t=0:1/fs:2-1/fs;
s=zeros(length(t),N);%每通道一列
%% 模拟任意方向来的平面波
f=100;%信号频率
w=f2pi;%角频率
lamda=c/f;%波长(保证两倍阵间距小于波长
k=w/c;%波数
theta=56;%1~180 正前方90度
for i=1:N
phi=(i-1)cos(theta/180pi)dk;
s(:,i)=exp(1j*(w*t-phi));% -kx
end

%% 检测平面波方向
xiang=zeros(1,180);
g0=(N-1)d/cfs;%最大偏移量
g0=ceil(g0);%向上取整
dth=0.5;%角度分辨率
n=1;
for m=1:dth:180
theta=m/180pi;
% su=ones(1,32);
% ss=su
s;%求和
ss1=zeros(length(t)-2*g0,1);

dd=dcos(theta);
tao=dd/c;
gg=tao
fs;
for i=1:N
g=round((i-1)*gg);
ss1=ss1+s(g+g0+1:g+length(t)-g0,i);
end
xiang(n)=max(xcorr(s(g0+1:length(t)-g0,1),ss1));
n=n+1;

end
plot(1:dth:180,xiang)
[~,m]=max(xiang);
m=m*dth;
fprintf(‘平面波来自%.1f’,m);

你可能感兴趣的:(模拟平面波入射和相关法测向过程)