构建两地面站与多跳卫星通信链路模拟系统
概述
近年来,以Space-X为代表的宽带低轨卫星星座推动者,在全球主要卫星玩家中掀起风暴,致力于在未来几年内,将上万颗卫星送入近地轨道,构建天地一体化互联网,6G时代正在酝酿。
作为一名爱好仰望星空的新时代农名工,笔者决定在工作之余,利用手边的资源,搭建一个卫星通信链路模拟器。
本文演示如何在两个地面站之间建立多跳卫星通信链路。第一个地面站位于四川成都,第二个地面站位于澳大利亚的悉尼。链路通过两颗卫星(Sat1和Sat2)路由。每颗卫星都充当再生中继器。再生中继器接收到输入信号,然后对接收到的信号进行解调、重新调制、放大和重传。一天中,成都向悉尼发送数据的时间是确定的。
这一过程如何实现呢?需要考虑哪些因素?场景可视化吗?带着这些问题,笔者进行了一次天地一体化探索。
01
准备阶段
大约5个月前,笔者了解到MATLAB R2021a新鲜出炉,并且其功能更加强大,除了传统的图像处理、信号处理和无线通信外,新增汽车、航空航天、FPGA/ASIC开发等新应用场景。
于是,笔者在网上找了一份破解的MATLAB R2021a的安装包,大小约18G。
当初安装了MATLAB R2019b,一些新功能并未包含其中。于是最近把MATLAB R2021a安装上,为了腾挪出空间和旧的MATLAB版本的冲突,将MATLAB R2019b卸载。
安装好以后,就可以着手搭建模拟系统了。
上面提到2021a版本包含了无线通信的应用,其中一个重大更新,便是有卫星通信工具箱。
面对6G潜在的技术愿景,天地一体化其实已经在构建中,马斯克算是走在了最前面。
对于工具箱的使用,可参考Mathworks官方网站上提供的手册,或者安装包中的help下工具箱中年的手册。
万事俱备,只欠东风。
02
卫星场景搭建
我们希望通过搭建一个卫星通信场景,包含2颗卫星、2个地面站,地面站与卫星之间建立通信链路,并且可设定运行的起止时间,建立多跳卫星通信链路。
根据Mathworks的介绍,Satellite Communications Toolbox具有强大的卫星通信系统的设计、仿真和验证功能。
Satellite Communications Toolbox 提供一系列基于标准的工具,用于设计、仿真和验证卫星通信系统和链路。?该工具箱可用于对卫星轨道进行建模和可视化,以及执行链路分析和接入计算。?还可以设计物理层算法以及射频组件和地面站接收机,生成测试波形,执行黄金参考设计验证。?
借助该工具箱,您可以配置、仿真、测量和分析端到端卫星通信链路。还可以创建和重用测试,以验证设计、原型和实现是否符合卫星通信和导航标准 DVB-S2X、DVB-S2、CCSDS 和 GPS。
为了完成多跳卫星通信链路的搭建,并且可视化运行,需要执行下面的一些列过程。
使用函数satelliteScenario创建卫星场景。使用datetime定义场景的开始时间和停止时间。将采样时间设置为60秒。
创建了卫星场景后,我们希望有一个太空视角,能够查看整个卫星通信链路的运行情况,此时我们需要用到satelliteScenarioViewer函数。
03
模拟发射2颗卫星
卫星场景创建完之后,我们就可以准备发射近地轨道卫星了。
通过指定对应于场景开始时间的开普勒轨道元素,使用卫星将 Sat 1和 Sat 2卫星添加到场景中。
大家应该还记得高中学过的开普勒定律吧。
不管是行星围绕太阳转,还是人造卫星围绕地球转,其模型大抵相似,只是卫星的运行轨道时圆的。
为了发射一颗卫星,我们设定以下参数:
轨道半长轴:轨道半长轴是人造卫星的轨道要素之一,表示着轨道的大小。当瞬时轨道为半圆时,半长轴是指长轴的一半;当轨道为圆时,半长轴则为其半径。
离心率:形状从圆形偏离了多少的程度,圆的离心率为0。
升交点赤经:升交点是指卫星由南向北运时其轨道与赤道面的交点。
真近点角:指天体从近地点起沿轨道运动时其向径扫过的角度,是某一时刻轨道近地点到卫星位置矢量R的夹角。真近点决定了卫星在轨道中的具体位置。
04
设计卫星平衡环
说起平衡环,可能很多人比较陌生,但陀螺肯定时听过或者玩过。在中国民间,公园里的大爷,对此玩物,爱不释手。笔者小时候也玩过,不停地抽打它,它可以一直旋转下去。即便偶尔倾斜,也能逐渐回到平衡状态。
据闻,平衡环其实它早在公元前2世纪就已经在中国发明了。公元前140年,中国人房风发明了平衡环,公元189年中国人丁缓又改进了平衡环,后来传到了欧洲。到公元9世纪,著名科学家罗伯特·胡克等人应用该装置的原理造出了万向接头,又称万向节、万向支架、常平支架。就是这项发明使汽车的自动能量传输成为可能。中国人发明的平衡环比西方领先700年左右。
使用gimbal函数给卫星添加平衡环。每个卫星由卫星两侧的两个平衡环组成。一个平衡环固定接收天线,另一个平衡环固定发射机天线。安装位置在卫星本体坐标的笛卡儿坐标中指定,由
定义,其中
分别为卫星的横摇、俯仰和偏航轴。装有接收器的框架安装位置为
米,装有发射器的框架安装位置为
米,如下图所示。
接下来,我们给平衡环添加用于无线信号中继的收发器。
每颗卫星由接收机和发射机组成,构成再生中继器。我们通过receiver函数给两颗卫星添加接收机。接收天线相对于平衡环的安装位置为
米,如上图所示。接收机的增益噪声温度比为3dB/K,所需的Eb/No为4dB。
然后,我们利用高斯天线函数gaussianAntenna,将卫星接收天线的碟形直径设置为0.5 m。高斯天线的辐射模式在其视轴处达到峰值,并在远离视轴时基于高斯分布径向对称衰减,如下图所示。峰值增益是碟面直径和孔径效率的函数。
接下来,我们给两颗卫星设计发射机。
使用transmitter函数,给卫星Sat1和Sat2安装发射机。发射天线相对于平衡环的安装位置为
米,其中
定义了平衡环的本体框架。天线的轴线与
对齐。两颗卫星的发射功率均为15 dBW。
Sat1上的发射机用于交联,以30 GHz的频率向Sat2发送数据。Sat2上的发射机用于下行至悉尼的频率为27GHz。
和接收器一样,发射器也使用高斯天线。设置卫星发射机天线的碟面直径为0.5 m。
05
构建地面站
到这里,我们天上部分已设计完成,剩下就是完成地面站的设计。
在MATLAB中,我们以可使用groundStation函数来构建地面站。
作为一个示例,我选择了中国的成都(Chengdu)和澳大利亚的Sydney(悉尼)作为地面站点。
构建基于groundStation函数的地面站,比较简单,只需要给出地面站的经纬度和站点名称即可。
为了完成地面站与卫星之间的通信,地面站的位置与卫星轨道之间,还是需要进行考量。
假设成都作为发射站,悉尼作为接收站。于是,我们需要在成都站架起一个发射机,在悉尼站架起一个接收机。同时,地面站也需要配备平衡环。
使用gimbal函数添加平衡环到成都站和悉尼站。平衡环位于各自地面站的5米以上,如下图所示。
因此,它们的安装位置为
米,其中
定义地面站的体轴。
分别指向北、东和下。
因此,平衡环的
分量为-5米,以便它们放置在地面站之上而不是下面。此外,在默认情况下,平衡环的安装角度为,其本体轴为两个地面站
之间的多跳卫星通信链路与地面站本体轴
对齐。
然后我们需要给地面站的平衡环设计发射机和接收机。
在成都站,将发射机添加到平衡环。上行发射机以30GHz频率和30dbw功率向卫星 Sat 1发送数据。发射机天线相对于平衡环安装在
米处。
使用gaussianAntenna函数将发射机天线的碟形直径设置为2m。
在澳大利亚的悉尼地面站的平衡环上添加一个接收器,以接收来自卫星 Sat 2的下行数据。接收机的增益噪声温度比为3 dB/K,所需的Eb/No为1 dB。接收机天线的安装位置相对于平衡环为
米。
使用gaussianAntenna函数将接收天线碟形直径设置为2m。
06
设置平衡环跟踪目标
卫星和地面站建好以后,我们需要通过平衡环进行目标跟踪。
为了获得最佳的链路质量,天线必须连续地指向各自的目标。平衡环可以独立于 (卫星或地面站)进行操舵,并配置为跟踪其他卫星和地面站。使用pointAt设置平衡环的跟踪目标,以便:
成都地面站的发射机天线指向卫星Sat1;
卫星Sat1的接收机天线指向成都地面站;
卫星Sat1上的发射机天线指向卫星Sat2;
卫星Sat2上的接收机天线指向卫星Sat1;
卫星Sat2上的发射机天线指向悉尼地面站;
悉尼地面站接收机天线指向卫星Sat2;
当一个平衡环的目标被设置,它的
轴将跟踪目标。由于天线在
上,并且它的轴向与
对齐,天线也将跟踪所需的目标。
至此,我们的卫星和地面站设备已准备就绪。
整个链路为:成都地面站作为发射机,卫星sat1和sat2作为空间中继器,悉尼地面站为接收机,完成通信。
当多跳卫星通信链路运行起来,整个场景应该说还是挺震撼的。
为了让整个通信场景看得见,笔者尝试实现可视化。
07
通信链路与场景可视化
作为一个模拟系统,我们希望整个链路运行起来的工作场景可视化,能直观感受到科技带来的无穷魅力,以及进一步体会到科学家们在取得伟大成就背后的艰苦付出。
为了进行链路分析,我们可使用link函数实现地面发射站到多卫星中继、再到地面接收站之间的通信。
星间的通信路由,通过设计的平衡环收发器完成。
最后,我们实现卫星通信链路场景的可视化。
笔者使用Satellite Scenario Viewer功能,可自动更新以显示整个场景。使用查看器作为场景已正确设置的可视化确认。绿线表示链接,并确认链接已关闭。
使用play来可视化场景模拟,从开始时间到停止时间。当链接关闭时,绿线将消失。
演示效果
演示视频,将即将上线,敬请期待!
图片新闻
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论