天线距离测量
为了实际测量天线在其整个辐射范围内的场强,参考测量天线必须看起来悬停在 AUT(被测天线)的所有球坐标之上。这可以通过多种方式实现,但本文将详细介绍一个具体案例。
参考测量天线将保持固定,并将探测 H 和 V 极化。
AUT 将安装在转盘内的转盘上。这将允许天线在 XZ 平面内旋转 +/- 90 度(倾角 φ),并在 XY 平面内旋转 360 度(旋转 θ)
对于倾角的每一个设置,都将是一个完整的旋转扫描。一个典型的场景是 -90 到 +90,以 10 度的倾斜步长(19 个切片),每个以 1 度的步长(361 次测量)完整旋转 360 度。数据点的总数为 19*361 = 6859。这是球体上所有测量点按单位圆缩放的表示。 用于轻松分析和 3D 辐射方向图绘图的更常见表示使用球坐标。我们必须将这种倾斜和旋转的特殊情况转换为真正的方位仰角球坐标,这可以使用以下公式来实现。
此外,考虑到 asin( ) 将仅产生 +/- 90 度的方位角,必须进行校正以实现后半球的覆盖。简单地说:
If (rotation > +90°) az = +180° – az
If (rotation < -90°) az = -180° – az
下图显示了单位球体如何被方位角坐标覆盖。
图中的每个方位环都处于从 -90° 到 +90° 的不同仰角。
天线实际上不是以这种方式测量的,因为很明显,由于两极处的点集中度更高,因此实现了更少的球体覆盖。方位角、仰角和 3D 图示例(4 单元天线)
这些图展示了所述过程的输出。它们是使用 MATLAB 绘制的,MATLAB 也用于执行坐标转换。
仰角切片 (az = 0°) 方位角切片 (el = 0°) 3D 图案。MATLAB 代码% 导入文件:天线范围使用以下% 表示:rotation -90 到 +90 和 az -180 到 180 DELIMITER = ' ' ; 标题 = 1;A = importdata( 'D:\Data\antenna.dat' , DELIMITER, HEADERLINES); %从这些字段在基础工作区中创建新变量。rot = A.data(:,1); dE = A.data(:,2); dH = A.data(:,4); %选择要绘制的数据。在这种情况下,将两个极化相加以获得完整
%copolar field
r = 10 .* log10((10.^(dE ./ 10 )) + (10 .^ (dH ./ 10 ))); %如果还没有缩放到零rmax = max(r); r = r - rmax;%创建旋转数据,因为此表未明确在文件中z = one(361,1); z = z * -90; 公司 = [z;z+10;z+20;z+30;z+40;z+50;z+60;z+70;z+80;z+90;z+100;z+110;z +120;z+130;z+140;z+150;z+160;z+170;z+180]; %全部转换为弧度inc = inc * pi/180; 腐烂=腐烂* pi/180;%根据旋转和方位角计算仰角el = asin(-sin(inc) .* sin(rot)); %从倾角、旋转和仰角计算方位角%确保因舍入不良而导致逆正弦不大于 1
az = asin( cos(inc) .* sin(rot) ./ (cos(el) + 0.0000000001) ); %纠正因逆罪而丢失的方位角象限
m = 1:6859如果
rot(m) > (pi/2)
az(m) = pi - az(m); 否则
rot(m) < (-pi/2)
az(m) = - pi - az(m); end end %Scale 以去除表面不允许的负数。%同时删除任何小于 -40dB 的细节以帮助可见性r = r + 40;为了
m = 1:6859如果r(m) < 0 r(m) = 0;end end %Polar Elevation plot from 0 to -40dB figure( 'Position' ,[700 200 400 400]); set(gcf, 'Name' , 'Elevation Slice' , 'NumberTitle' , 'off' ); 极地(rot(1:361)',r(1:361)',
'-r' );
%从 0 到 -40dB 的方位角
图('Position' ,[700 700 400 400]);
set(gcf, '名称' , '方位角切片' , 'NumberTitle' , 'off' );
极地(腐烂(3250:3610)',r(3250:3610)','-r' );
%3D 绘图初始化
MOVFIG = figure( 'Position' ,[20 600 640 480]);
set(gcf, 'Name' , '3D Polar plot' , 'NumberTitle' , 'off' ); %以 2 度步长为 az 和 el azs = -180*pi/180 开发一个统一的网格;方位 = 2*pi/180;aze = 180*pi/180; 埃尔斯 = -90*pi/180;eli = 2*pi/180; ele = 90*pi/180;[Az_m El_m] = meshgrid(azs:azi:aze,els:eli:ele); %将非均匀增益数据插值到均匀网格上Zi = griddata(az,el,r,Az_m,El_m, 'cubic' ); %生成笛卡尔坐标
[xyz] = sph2cart(Az_m,El_m,Zi); %根据 Zi surf(x,y,z,Zi)绘制表面和颜色%colormap 和 colorbar colormap(jet(1024)); %c_vect = [0 40]; %caxis(c_vect); %colorbar %OpenGL 渲染器光照和着色设置(gcf, 'renderer' , 'OpenGL' , 'resize' , 'off' ); Lighting phong shading interp set(gcf, 'color' ,[0.6 0.6 0.6]); %光源 1 和 2 g = 光;p = 光;设置(g,“风格” ,“无限” , “位置”
设置(p,“风格” ,“无限” , “位置” ,[-1 -1 -1]);%其他项目材料 闪亮轴 关闭vis3d框 关闭视图([45,0])drawow %如果你希望创建电影nFrames = 180; mov(1:nFrames) = struct( 'cdata' ,[], 'colormap' ,[]); 为了
k = 1:nFrames
view([k*2,0])
mov(k) = getframe(gcf);
end
movie2avi(mov, 'Ant_movie2.avi' , 'compression' , 'none' , 'fps' ,30, 'colormap' , 'jet' );
|