方 兴 李卢笑微
(1.海军装备部驻武汉地区第四军事代表室 武汉 430205)(2.武汉数字工程研究所 武汉 430205)
星链(Starlink)是SpaceX 正在进行的一个大型通信卫星项目,旨在为全球提供低延迟的高速互联网服务,尤其是偏远地区比如说海上以及地形复杂无法建设大型地面通信设备的地域。星链属于非对地静止轨道卫星服务星座,目前卫星利用Ku、Ka波段频谱传输信号。第一代星链计划有4408 颗卫星部署在低地球轨道540km~570km 的轨道高度上,相比于部署在1000km 的OneWeb 和1248km 的Telesat等其他低轨道卫星星座,星链离地球更近且有着极大的数量规模。由于轨道较低,其对地相对速度极快,一颗星链卫星绕地球一圈大约只需要96min,通过任意地点海平面上空的可视时间不超过5min。截止2022 年11 月已经有三千多颗星链卫星被部署到太空。作为如此高密度的低轨道星群,其射频信号覆盖以及安全性引起了各界的关注于讨论。本文将以星链卫星11.325GHz 频率的下行信号为研究对象进行分析与探测。
在没有星链用户端作为信号接收媒介的前提下,本文使用了一套简易的天接收装置以及软件无线电(Software Defined Radio)来接收与处理信号。软件无线电是将传统通信设备硬件中的滤波、调制解调、编码、加密解密以及通信协议的功能集成在软件平台中。凭借其高灵活性、开放性和硬件低依赖性,一直在军事和通信领域受着广泛的重视。开源软件无线电平台比如GNU Radio,也为本文实验提供了一个开放的不依赖于硬件的信号处理平台。
目前国内外对于星链信号的研究并不多,主要是利用星链机会信号进行定位的研究。文献[1]提出了一种使用盲多普勒跟踪进行星链机会信号定位的方法,以及介绍了基于周期性信号的广义似然比信号探测法;由于本文的目的是为了利用软件无线电实现星链的自动探测并保存完整的信号段以供后期的信号处理,只检测周期性信号是不太足够。文献[5]介绍了一套星链信号接收系统,但是其中包含了机会信号射频综合系统和采集设备,不符合实验要求的硬件低依赖性。文献[3]展示了使用GNU Radio 进行其他卫星信号能量检测的流程;并且指出对于未知信号,能量检测是可行性最高也是最有效的方法。
本文首先对星链信号进行接收与分析,介绍了一套信号接收转置,并且在GNU Radio 软件无线电平台实现了频域和时域内的两种能量探测方法,并对探测捕获到的时域信号进行分析。
通常在信号接收前,第一步是定位信号。通过TLE 轨道文件可以获取所有在运行星链卫星的轨道。也就是说利用TLE 可以预估在某一特定经纬度的观测者上空的任意时间段的卫星轨迹。如图1 分别显示了星链卫星在武汉(图(a))和德国(图(b))5min 内的轨迹。图中为极坐标图可以看到一个比较清晰的网格状部署。可见目前靠近北级的高纬度上空,卫星覆盖明显少于低纬度地区。由此可见在一般地域星链卫星覆盖率都很高。通过特定的接收角度都有可能获取到信号。
图1 星链卫星轨迹(以中国和欧洲高纬度地区为例)
为了利用软件无线电来接收处理星链信号,使模数转化器尽可能的接近天线,实验则使用了一套简易的接收装置如图2。实验中使用RTL-SDR 接收器将模拟信号转化为数字信号并采样原始的IQ(In-phase 和Quadrature)信号样本。接收信号使用的是单独的低讯降频放大器LNB(Low noise block downconverter),它将微弱的卫星信号放大然后通过本地振荡器将高频信号降为中频,使得输出的信号频率范围在SDR 的可输入频率范围内。目标信号为11.325GHz,LNB 的本地振荡频率为10.4GHz,因此需将SDR 调频到925MHz 接收目标信号。使用BiasTee 连接SDR 和LNB,它为连向LNB 的射频电路段提供直流电流以供高频头工作,在传输射频信号的同时屏蔽电流流向SDR。
图2 信号接收装置
实验使用的普通LNB适用于线性极化,而星链信号采用的是左、右旋圆极化(LHCP 和RHCP),理论上这种不匹配可能会造成3dB 的损失,但是由于星链信号属于较窄且功率密集,所以在本文实验中这种损失将被忽略。
起初在寻找信号的过程中,Gqrx用来监控和渲染接收到的信号。值得注意的是实验中傅里叶变换的大小需大于8192,否则频率分辨率将不够精确以至于无法显示带宽极其窄的星链信号。观测到的信号瀑布图见图3,可见有9 个并行的不同频率的子数据流,相邻的频率间隔44kHz。这种多载波模式支持了猜想:星链信号采用了正交频分复用OFDM 类似的多载波调制方法。每一个子载波使用基本的调制技术如BPSK 和QAM 等。调制技术可参考SpaceX 为了验证星链通信的设计参数进行的实验卫星测试报告,提及到不同链接使用的对应调制方法:卫星指令上行链接使用BPSK;有关遥测和视频格式的下行链路使用OQPSK;其它的下行链路则使用最高达64QAM的调制。
图3 星链信号(11.325GHz)
图3 中信号轨迹呈现出倾斜形态,是由于卫星相对地面运动速度较快,信号遭受较大的多普勒效应影响,导致信号不同子载波的频率均以相同的速率减少。
接收装置采样的信号为一个时间序列,在这里称之为时域信号。通常在调频监视器里的信号是频率序列,为频域信号。
探测频域内的信号方法非常直观,是模拟人眼观测频域信号的幅度来(如图3)设定阈值从而判断是否有信号。图4表示了在GNU Radio中探测频域信号的流程。首先对SDR 采样的信号进行带通滤Band Pass Filter,可以除去直流尖峰(DC Spike)以及不需要的频段。然后需要通过快速傅里叶变化(FFT)将时域信号转化为频域信号。Streams to Vector 是将样本流转化为指定长度的向量流,这些向量则作为FFT 的输入值,向量长度应与FFT 大小保持一制。Vector to Streams 将FFT 输出的向量再转化为信号流以供后续处理。
图4 频域信号探测法
经过上述傅里叶系列变化得到了频域信号流,然后在此基础上继续进行能量探测。在阈值检测Threshold Detector 中目标信号定义为:频域信号的幅度(magnitude)大于一个预先设定的阈值。一个复杂样本z 可由a+bj表示,其中j是虚数单位,振幅可以表示为。然后将每个样本的振幅与阈值作比较,超过阈值就视为目标信号出现。然后在信号流中标记出目标信号的绝对位置并保存。
由于频域中波动较为连续,这种方法能够比较稳定地探测目标信号,可专用于不需要后续信号处理的纯探测。由于得到的信号流是在频域,如果要重放或者进一步处理信号,则需要将频域信号流经过反傅里叶变化再变回为时域信号,但是这种方法比较复杂要进行时间同步重构等额外的流程,如过需要原始信号可考虑另外一种更直接的探测方法。
相比于频域探测的流程,时域探测省去了傅里叶变换系列操作,直接对采样的时域信号进行处理。同时阈值检测也不能针对单个样本,因为时域信号相当于一段载波,幅度起伏较大,不够连续。因此只能将一段时间内信号的能量总和作为判断对象,这一段时间可由滑动窗口机制实现。假设一个时间序列包含N 个采样样本{s(n),n=0,1,...,,N-1}这个样本序列可以构成一个测试向量以供m=[s(0),s(1),...,s(N-1)]T。基于这个向量指标以及信号构成,可以定义两种假设情况:
H0假设表示信号仅包含噪音,H1表示信号包含载有信息的信号d和噪音n。能量监测是由窗口内能量总和与阈值相比做出判断:
η是一个预先设定的能量阈值,能量是复杂信号样本中载波信号的振幅;N 表示足够大的滑动窗口大小,窗口以设定的速度向后滑动,在这个窗口内将样本的振幅叠加,然后与预先获得的阈值作比较。当载有信息的信号出现在窗口内,其信号的能量(即振幅)会比单一噪音高,所以窗口内的能量总和会大于噪音水平。因此可以初步判断窗口内的信号是属于假设H0还是H1。值得注意的是此种方法中能量阈值设定对环境变化非常敏感,所以需要提前根据实时环境情况下的噪音水平以及实验设定参数来更新阈值。并且滑动窗口的大小需要足够大,使得探测过程能容忍突发噪音,从而减少误判机率。
当监测到能量水平大于阈值时,就将这段信号初始做上tag true 标记,当能量重新降到阈值之下时,在此段信号结尾标记tag false。然后存储两个标记之间的信号段。自动保存下来的信号就可以进行重放与分析。
以上两种方法都可成功的探测到信号,并保存目标信号段。由于星链11.325GHz 频率是多载波调制信号,每一个子载波都有对应的调制方式,所以实验中的带通滤波器将目标定焦与单个子载波。重放获取到的信号可见图5,可见顶端有一个极窄的捕获信号。
图5 重放捕获信号
然而当捕获信号在IQ 坐标系下(如图6)呈现出来的信号分布与噪音无异,无法分辨出其调制方式。出现这种情况很大程度上是因为多普勒效应影响导致信号失真。文献[6]讨论了频移对OFDM多载波调制影响,当频率偏移量达到子载波间隔的10%时,星座图中就无法清晰的分辨调制模式;当偏移量达到50%时信号就看上去像噪音,正如图6中的信号分布。在本次实验设定下,一个子载波频移到相邻子载波的时间大约只需14s,也就意味着频率偏移量已经超过了100%。 由此可见导致信号失真,多普勒频移一定是很大的因素。
图6 捕获信号的星座图
本文主要研究了星链信号11.325GHz 频率的接收与探测,观测到该频率星链信号利用了多载波调制方式。实现了利用TLE 轨道数据预测和估计星链轨迹,介绍了一套简易的接收星链信号的硬件装置,提出了分别在频域和时域的两种基于软件无线电的星链信号探测方法。在频域探测时信号的波动较为连续,可以进行单点阈值判断,但是对于弱信号的检测受噪音影响较大。基于滑动窗口的时域探测属于多点阈值判断,相对于频域探测受噪音的影响较小,并且能在不改变原始信号的情况下进行探测和保存,适用于需要后续信号处理的情况。
本文遇到的问题是当对时域探测所得信号进一步分析时,发现多普勒频移导致了信号失真。所以想要进一步探究星链信号的调制以及解码的方法,需要对失真信号进行频率同步来改善信号的质量。