天线方向图仿真matlab 矩形阵列矩形阵列(完整代码)圆形阵列圆形阵列(部分代码)圆环阵列圆环阵列(部分代码)
矩形阵列
原理就不详细解释了,需要可以私聊交流
直接上代码
矩形阵列(完整代码) // An highlighted blockclearclcAngleBound = [60,60]; %%方位俯仰角范围AngSampSpace = [0.5,0.5]; %%角度间隔AzimuAng0 = 0; %%波束指向PitchAng0 = 0;N1 = 16; %%阵元个数N2 = 16;d_lamda = 0.5;AzimuAngGrid = -AngleBound(1) : AngSampSpace(1) :AngleBound(1);PitchAngGrid = -AngleBound(2) : AngSampSpace(2) :AngleBound(2);dx = zeros(1,N1*N2);dy = repmat([0:N1-1],1,N2);dz = reshape(repmat([0:N2-1].',1,N1)',1,N1*N2);p =[dx;dy;dz]; %%阵元位置k0 = -2*pi*d_lamda*[cos(AzimuAng0/180*pi)*cos(PitchAng0/180*pi),cos(AzimuAng0/180*pi)*sin(PitchAng0/180*pi),sin(AzimuAng0/180*pi)].';w0 = exp(1j*k0.'*p);for i=1:length(AzimuAngGrid) for j=1:length(PitchAngGrid) k = -2*pi*d_lamda*[cos(AzimuAngGrid(i)/180*pi)*cos(PitchAngGrid(j)/180*pi),cos(AzimuAngGrid(i)/180*pi)*sin(PitchAngGrid(j)/180*pi),sin(AzimuAngGrid(i)/180*pi)].'; v = exp(1j*k.'*p); Ant(i,j) = w0*v'; endend Ant = abs(Ant);Ant = db(Ant/max(Ant(:)));figure(1),imagesc(PitchAngGrid,AzimuAngGrid,Ant);colorbar ;axis tight;shading interp;xlabel 俯仰角;ylabel 方位角 ;zlabel 幅度增益(dB)figure(2),mesh(PitchAngGrid,AzimuAngGrid,Ant) 圆形阵列
圆形阵列(部分代码) // An highlighted blockp =[dx;dy;dz]; %%阵元位置k0 = -2*pi*d_lamda*[cos(AzimuAng0/180*pi)*cos(PitchAng0/180*pi),cos(AzimuAng0/180*pi)*sin(PitchAng0/180*pi),sin(AzimuAng0/180*pi)].';w0 = exp(1j*k0.'*p);for i=1:length(AzimuAngGrid) for j=1:length(PitchAngGrid) k = -2*pi*d_lamda*[cos(AzimuAngGrid(i)/180*pi)*cos(PitchAngGrid(j)/180*pi),cos(AzimuAngGrid(i)/180*pi)*sin(PitchAngGrid(j)/180*pi),sin(AzimuAngGrid(i)/180*pi)].'; v = exp(1j*k.'*p); Ant(i,j) = w0*v'; endend Ant = abs(Ant);Ant = db(Ant/max(Ant(:)));figure(1),imagesc(PitchAngGrid,AzimuAngGrid,Ant),colormap(hsv);colorbar ;axis tight;shading interp;xlabel 俯仰角;ylabel 方位角 ;zlabel 幅度增益(dB)figure(2),mesh(PitchAngGrid,AzimuAngGrid,Ant),colormap(hsv);colorbar ;axis tight;shading interp;xlabel 俯仰角;ylabel 方位角 ;zlabel 幅度增益(dB) 圆环阵列
圆环阵列(部分代码) // An highlighted blockk0 = -2*pi*r1/Lamda*[cos(AzimuAng0/180*pi)*cos(PitchAng0/180*pi),cos(AzimuAng0/180*pi)*sin(PitchAng0/180*pi),sin(AzimuAng0/180*pi)].';k1 = -2*pi*r2/Lamda*[cos(AzimuAng0/180*pi)*cos(PitchAng0/180*pi),cos(AzimuAng0/180*pi)*sin(PitchAng0/180*pi),sin(AzimuAng0/180*pi)].';w0 = exp(1j*k0.'*p1);w1 = exp(1j*k1.'*p2);for i=1:length(AzimuAngGrid) for j=1:length(PitchAngGrid) k1_huan = -2*pi*r1/Lamda*[cos(AzimuAngGrid(i)/180*pi)*cos(PitchAngGrid(j)/180*pi),cos(AzimuAngGrid(i)/180*pi)*sin(PitchAngGrid(j)/180*pi),sin(AzimuAngGrid(i)/180*pi)].'; k2_huan = -2*pi*r2/Lamda*[cos(AzimuAngGrid(i)/180*pi)*cos(PitchAngGrid(j)/180*pi),cos(AzimuAngGrid(i)/180*pi)*sin(PitchAngGrid(j)/180*pi),sin(AzimuAngGrid(i)/180*pi)].'; v1 = exp(1j*k1_huan.'*p1); v2 = exp(1j*k2_huan.'*p2); Ant1(i,j) = w0*v1'; Ant2(i,j) = w1*v2'; Ant = Ant1.*Ant2; endend