APP下载

基于STK/Matlab的高机动平台定向通信数据分析*

2018-07-26侯波涛

通信技术 2018年7期
关键词:球面指向波束

侯波涛

(中国西南电子技术研究所,四川 成都 610036)

0 引 言

STK是由AnalyticalGrapfics公司开发的一款在航天领域处于绝对领先地位的商业化分析软件,广泛应用于航天、雷达、通信和电子对抗等领域。Matlab作为科学计算和数据分析方面的商业数学软件,强大的计算功能可以显著增强STK的效能[1],STK通过Connect模块提供对Matlab的支持,使得Matlab用户可以像调用自身函数一样使用STK进行分析、处理和计算[2],并在一些循环、嵌套及繁琐的参数设置上更具优势[3]。高机动平台间采用定向通信技术,通过多个定向相控阵天线实现窄波束的形成与对准。每个天线覆盖一定空间,实现平台空间全覆盖。窄波束定向天线的应用能有效降低被截获和干扰的概率[4],提高平台射频隐身性能[5]。由于天线数量有限及机体安装位置限制,某些空域的天线可能需要工作在大俯仰角度(电性能较差)。在高机动情况下,平台姿态剧烈变化,为了使定向窄波束持续精确对准,天线孔径及天线波束需频繁切换,会造成波束指向有一定偏差。同一天线不同角度的发射及接收性能差异较大,不同天线间性能也有差异,导致通信链路余量会出现波动,影响通信性能。本文通过STK/Matlab实现了飞行数据的波束指向误差计算和链路余量计算,可提高对基于窄波束的高机动平台通信数据的分析能力。

1 仿真用数据类型

STK允许用外部文件输入飞行器的位置、速度及姿态数据。其中,位置和速度数据由星历文件输入,姿态数据由姿态文件输入。传感器指向文件由真实天线的波束指向文件生成。外部天线方向图根据实测天线方向图数据生成。表1为外部输入格式一览表。

表1 外部输入格式

2 坐标系简介及矢量几何工具转换原理

后续计算涉及4种坐标系,即机体直角坐标系、机体球面坐标系、天线直角坐标系和天线球面坐标系。STK中的机体坐标定义机翼右方为Y轴,机头前方为X轴,垂直于机面向下为Z轴。STK的传感器瞄准线指向定义,如图1所示。向量R为传感器的瞄准线向量,XYZ为机体坐标系,方位角Az为从XOY平面X轴绕Z轴以右手定则旋转到向量R在XOY平面投影的角度,俯仰角El为以Z轴正向为基准的XOY平面与向量R的夹角,Az范围[-180°,180°],El范围[-90°,90°]。天线球面坐标系,如图2所示。以天线阵面中心为原点,X轴、Y轴在阵面上,Z轴垂直阵面指向机体外,XYZ满足右手定则。天线指向为(r,φ,θ),φ为天线指向向量在xoy平面的投影与x轴之间的夹角,从x轴正向算起。θ为天线指向与z轴正向的夹角。φ范围[0°,360°],θ范围[0°,180°],z轴为天线法向。

图1 STK飞行器机体坐标系

图2 天线球面坐标系

机体球面坐标系(R,Az,El)与机体直角坐标系(X,Y,Z)、天线球面坐标系(r,φ,θ)与天线直角坐标系(x,y,z)之间,是典型的球面坐标系与直角坐标系的转换关系,只是角度取值范围不同。机体直角坐标系通过坐标系的平移及旋转得到天线直角坐标系。

STK的矢量几何工具(Vector GeometryTool)可以创建自定义的坐标系,构成坐标系的元素(坐标轴、矢量、点,角和面)。坐标系等于坐标原点加坐标轴,两个坐标系之间的旋转等同于坐标原点的平移加上坐标轴的旋转。平移即坐标矩阵相加减,旋转可用坐标转换矩阵相乘完成。Euler(欧拉)旋转将参考坐标系转动3次得到目标坐标系,每次的旋转轴是参考坐标系的坐标轴,旋转角度为Euler角。两个坐标系的旋转等同于3次单坐标轴的旋转结合。将参考坐标系分别绕xyz轴旋转角度α,对应的坐标转换矩阵分别为:

如果参考坐标系坐标为(X,Y,Z),目标坐标系坐标为(x,y,z),欧拉角旋转次序为ijk,对应旋转角度为ABC,则(X,Y,Z)与(x,y,z)的转换关系为:

反之,(x,y,z)与(X,Y,Z)转换关系为:

3 仿真输入数据生成

3.1 星历文件及姿态文件生成

星历文件及姿态文件由飞行数据记录中惯导数据生成,其中经纬高数据生成星历文件,滚动角、俯仰角和偏航角数据生成姿态文件。

3.2 传感器指向文件及天线方向图文件生成

传感器指向是由天线工作时的实际波束指向转换而来。天线波束指向(r,φ,θ)先转换为天线直角坐标系(x,y,z),再根据坐标旋转式(5)得到机体直角坐标系坐标(X,Y,Z),进一步转换到机体球面坐标系坐标(R,Az,El),从而生成传感器指向文件。

STK中,天线方向图PhiThetaPattern格式角度定义如图3所示。此定向通信系统相对于机体空域全覆盖,机体天线方向图是多个定向天线方向图的叠加。向量r为连接向量(波束方向),将天线安装方向选为方位角俯仰角模式,角度(0,90°)。此方式下的方位角、俯仰角即为STK机体球面坐标,。按照式(6)、式(7)将(Phi,Thata)转换为机体球面坐标(Az,El ),然后和传感器指向坐标转换顺序相反,先将机体球面坐标(R,Az,El)转换为机体直角坐标(X,Y,Z),再根据式(4)转换到天线直角坐标(x,y,z),进而转换到天线球面坐标(r,φ,θ),选择天线孔径,根据该角度实测增益值(φ,θ,Gain)生成映射(Phi,Theta,Gain),最终生成天线方向图文件,每个平台需生成接收和发射两个方向图文件。

图3 PhiThetaPattern格式角度定义

4 仿真及结果分析

4.1 场景架构

场景架构如图4所示,场景包括2架飞机,4个传感器,2个发射机,2个接收机,1个通信链路。

图4 场景架构

4.2 波束指向误差计算

STK利用双机的位置姿态,在传感器指向设置为跟踪模式时,可得到传感器的瞄准指向。该指向为相对于机体坐标系的球面坐标。真实天线的波束指向是根据双机的位置姿态经过一系列的坐标系转换和外推计算得到的。将该天线指向转换到机体球面坐标系后,与STK计算的传感器理论指向差值即为指向误差。

(1)建立Matlab与STK连接

stkInit;

conid=stkOpen(stkDefaultHost);

(2)根据图4新建场景LinkMargin,飞机A、B,传感器S1、S2、S3、S4,发射机T1、T2,接收机R1、R2。下面语句为新建场景,其他对象语法相同。

stkExec(conid,'New / Scenario LinkMargin');

(3)设置场景时间参数,场景射频参数仅考虑大气吸收损耗。

stkExec(conid,'SetAnalysisTimePeriod * "12Sep 2017 09:10:01.0""12Sep 2017 10:00:01.0"');

stkExec(conid,'SetAnimation * StartTimeOnly"12Sep 2017 09:50:01.0" TimeStep 0.01');

stkExec(conid,'Animate * Reset');

stkExec(conid,'Environment * SetValue PropagationChannel.AtmosAbsorptionModel ITU-R_P676-9');

(4)导入飞机的星历文件和姿态文件。

stkExec(conid,'SetState */Aircraft/A File "H: A_Ephemeris.e"');

stkExec(conid,'AddAttitude */Aircraft/A File"H:A_Attitude.a"');

(5)设置传感器参数,简单锥体,半角波束宽度7.5°,传感器S1指向设置为外部模式,并导入生成的传感器指向文件,传感器S2指向设置为跟踪模式,跟踪对象为飞机B。

stkExec(conid,'Point */Aircraft/A/Sensor/S1 External "H: A_Point.sp"');

stkExec(conid,'Point */Aircraft/A/Sensor/S2Targeted Tracking Aircraft/B Rotate');

(6)通过矢量几何工具创建传感器S1与S2瞄准线夹角矢量DeltaAngle。

stkExec(conid,'VectorTool * Aircraft/A/Sensor/S1 Create Angle DeltaAngle "Between Vectors""Aircraft/A/Sensor/S1 Boresight""Aircraft/A/Sensor/S2 Boresight"');

(7)创建自定义报告DeltaAngle,在Angles中添加DeltaAngle的角度,获取仿真报告。

[secData,secNames]=stkReport('*/Aircraft/Aircraft_B/Sensor/Sensor_B1','My Styles/DeltaAngle',0,3000,0.01);

Time=stkFindData(secData{1},'Time');

Angle=stkFindData(secData{1},'Angle');

角度误差如图5所示。由于飞机周期性的机动导致指向误差波动,波束宽度15°,最大指向误差1.4°,系统跟踪性能良好。此误差主要是外推算法导致的波束指向误差,总的误差为两个平台误差之和。

图5 波束指向误差计算结果

4.3 链路余量计算

STK通信模块提供了分析通信系统性能的工具,可生成通信链路报表,计算空间损耗、雨衰、大气衰减以及其他系统干扰等。通信模块包括多种接收机、发射机模型及天线模型,链路模块将发射机和接收机按次序加入作为整体分析,生成所需的链路信息,最后设置通信约束条件,生成链路可见性图表。

(1)设置发射机及接收机参数

通过GetValue命令可获得发射机及接收机的所有参数格式,再通过SetValue命令设置使用的参数。以速率设置为例,其他设置格式相同。发射机选择复杂发射机模型,频率16.5 GHz,功率10dBW,调制方式OQPSK,数据速率15 Mb/s,信号带宽14 MHz,天线选择外部模式,并导入发射天线方向图。STK允许自定义衰减值,增加馈线损耗、天线指向误差、极化损耗等。此处,添加2.5 dB的固定衰减。接收机设置方式类似,复杂接收机,导入接收机天线方向图,选择计算系统噪声方式,设置天线低噪放噪声系数为5,用于STK计算接收机品质因数G/T。

stkExec(conid,'Transmitter_RM */Aircraft/A/Transmitter/T1 GetValue');

stkExec(conid,'Transmitter*/Aircraft/A/Transmitter/T1SetValueModel.DataRate 15 Mb*sec^-1');

(2)新建链路,按次序添加发射机T1、接收机R2加入目标列表。

stkExec(conid,'New / */Chain CommLink');

stkExec(conid,'Chains */Chain/CommLinkAdd */Aircraft/A/Transmitter/T1');

stkExec(conid,'Chains */Chain/CommLink Add */Aircraft/B/Receiver/R2');

(3)链路报告的LinkInformation包含所有链路参数,如EIRP、自由空间衰减、大气吸收衰减、G/T、C/N0、C/N和Eb/N0等,添加所需链路参数到自定义报告LinkMargin,启动通信链路访问计算并生成报告。

stkExec(conid,'Chains_RM/Access All');

[secData1,secNames]=stkReport('*/Chain/CommLink1','My Styles/LinkMargin',0,3000,0.01);

Time=stkFindData(secData1{1},'Time');

Range=stkFindData(secData1{1},'Range1')/1000;

EbNo=stkFindData(secData1{1},'Eb/No1');

接收端Eb/N0及距离与时间的关系如图6所示。目标在转弯及机动条件下,相同距离Eb/N0有最大6 dB的波动。此波动由高机动情况下天线孔径切换及波束切换造成,若双机同时做机动,波动值会更大。通信余量为计算Eb/N0与解调所需Eb/N0门限之差,相同速率情况下,通信余量减小6 dB会造成可通信距离下降一半。

图6 链路Eb/N0计算结果

(1)设置通信链路约束,将接收机Eb/N0门限最小值设为10 dB,生成链路可见性图表,如图7所示,竖线分隔的空白区域表示链路不可通。

stkExec(conid,'SetConstraint */Aircraft/B/Receiver/R2 Eb/No Min 10');

stkExec(conid,'GraphCreate */Chain/CommLink1 Type Display Style "Complete Chain Access" TimeStep 0.01');

图7 链路可见性图表

以上计算针对的是从平台A到B的单边链路,而B到A的链路计算方法相同。此外,还可将所有发射机、接收机及传感器按特定顺序依次加入到链路目标列表中,生成结合波束误差及链路余量的可见性图表。

5 结 语

本文结合STK/Matlab的数据处理能力,对定向通信系统的波束指向及通信链路进行了仿真建模,计算了高动态情况下飞行数据的波束指向误差和链路余量,并对结果进行了分析,对定向通信系统数据分析具有一定意义,同时可作为相关领域设计及仿真的参考。

猜你喜欢

球面指向波束
关节轴承外球面抛光加工工艺改进研究
中国“天眼”——500米口径球面射电望远镜
科学备考新指向——不等式选讲篇
基于共形超表面的波束聚焦研究
超波束技术在岸基光纤阵中的应用
球面检测量具的开发
毫米波大规模阵列天线波束扫描研究*
中年级“生本写作”教学的“三个指向”
应用Fanuc宏程序的球面螺旋加工程序编制
国产多波束系统在海上失事船只探测中的应用