📄 twocircle.m
字号:
%两圈均匀阵元的方向图(点频)
%内圈采用Mnei个阵元,外圈采用SelectM个阵元
clear all
M=40; %外圈均匀圆阵总数M
SelectM=8; %外圈所选阵元数目
Mnei=8; %内圈阵元数目
f=30*10^6; %接收信号频率
r=50; %外圈圆阵半径
Rnei=6.3; %内圈圆阵半径
c=3*10^8; %光速
ElementFai=(0:(M-1))*9*pi/180+4.5*pi/180;%外圈各阵元位置向量
SelectElement=[ElementFai(1) ElementFai(6) ElementFai(11) ElementFai(16) ElementFai(21) ElementFai(26) ElementFai(31) ElementFai(36)];
seta1=130*pi/180; %信号到来方位角
fai1=40*pi/180; %信号到来仰角
temp1=cos(seta1-SelectElement);
tempNei=cos(seta1-SelectElement);
a1=[exp(j*2*pi*Rnei*f/c*sin(fai1)*tempNei) exp(j*2*pi*r*f/c*sin(fai1)*temp1)*0.3]; %阵元位置因数 [内圈 外圈]
w=a1.'; %指定主瓣位置 均匀布阵
%扫描矢量
NcurveAzi=180; %空间扫描角度采样数
seta=linspace(0,2*pi,NcurveAzi); %阵元空间扫描指向角度
NcurveEle=180; %空间仰角采样数
fai=linspace(0,pi/2,NcurveEle); %仰角方向采样
for ne=1:NcurveEle
for na=1:NcurveAzi
temp=cos(seta(na)-SelectElement);
a=[exp(j*2*pi*Rnei*f/c*sin(fai(ne))*temp) exp(j*2*pi*r*f/c*sin(fai(ne))*temp)];%扫描时方向矢量
%f=(1+temp)/2; %扫描时的阵元方向图
%F(na,ne)=abs(sum(f.*a.*w'));
F(na,ne)=abs(sum(a.*w'));
end
end
figure %三维立体图
[X,Y]=meshgrid((fai*180/pi),(seta*180/pi));
Z=20*log(F/max(max(F)));
for ne=1:NcurveEle
% NcurveBigFai=2*nf-1;
for na=1:NcurveAzi
if Z(na,ne)<=(-35)
ZZ(na,ne)=(-35);
else ZZ(na,ne)=Z(na,ne);
end
end
end
mesh(X,Y,ZZ)
xlabel('\theta俯仰角(度)')
ylabel('\phi方位角(度)')
zlabel('阵列增益(dB)')
view([-37.5 30])
axis([0 90 0 360 -35 0])
colorbar
figure
[X,Y,Z]=peaks((fai*180/pi),(seta*180/pi));
contour(X,Y,ZZ)
xlabel('\theta俯仰角(度)')
ylabel('\phi方位角(度)')
figure %方位角方向上的扫描图
temp1=ZZ(:,round(NcurveEle*fai1/(pi/2)));
%plot(fai*180/pi,20*log10(temp1/max(temp1)))
plot(seta*180/pi,temp1)
xlabel('\phi方位角(度)')
ylabel('阵列增益(dB)')
axis([0 360 -35 0])
grid
figure %仰角方向上的扫描图
temp2=ZZ(round(NcurveAzi*seta1/(pi*2)),:);
%plot(seta*180/pi,20*log10(temp2/max(temp2)))
plot(fai*180/pi,temp2)
xlabel('\theta俯仰角(度)')
ylabel('阵列增益(dB)')
axis([0 90 -35 0])
grid
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -