柏春雷 张文学
【摘要】 本文对美军WNW波形进行分析研究,参考其组网协议并针对其跳频抗干扰薄弱处进行改进完善,提出了一种实时自组网波形数据链路层TDMA帧结构与跳频抗干扰设计。
【关键词】 实时自组网 TDMA帧结构 跳频抗干扰
一、美军WNW波形分析
美军JTRS是美军加快各层次网络空间能力建设和发展创新网络战装备,实现“战术级网络空间优势”的重大举措。JTRS主要目的是利用软件无线电技术,联合工业部门共同制定了统一、开放的体系结构标准(SCA),按照该标准研制一个具有开放体系结构和可灵活配置、可升级的战术电台系列。实现平台与波形的松耦合,制定共用波形,实现体系装备的持续演进。
JTRS按照优先发展宽带网络波形的原则,开发了宽带网络波形(WNW)、士兵电台波形(SRW)、联合机载网络-战术边界波形(JAN-TE)、移动用户目标系统波形(MUOS)等新波形。除上述新增波形外,JTRS还兼容了传统的SINCGARS、EPLRS、Link-16、UHF SATCOM、HAVEQUICKⅠ/Ⅱ、HF等现有波形。覆盖了机载、地面移动、固定站、海上通信和个人通信五个应用领域,美军2021年现役波形69种,其中WNW波形在空间信号上最为典型。
为适应不同作战环境的使用需求,WNW目前采用4种空间信号,如图1所示,根据战术环境的运行条件,空间信号可由人工进行模式转换。波形的4种空间信号的信道带宽都是可变的,根据不同信道情况和应用要求变换带宽,以提高频谱利用率和减少宽带干扰的引入。
WNW波形是采用统一时隙分配协议USAP进行组网,如图1,USAP是一种MAC层分布式TDMA时隙和信道分配协议。USAP将时隙分配机制和高层协议区分开来,并且设计了一种通过选择时隙和协调不同层之间的交互作用的通用协议,适用于不同高层在邻居间选择时隙。
USAP每帧的第一个时隙分配给一个固定的节点用于发送控制分组,通过节点之间发送控制分组的交互,每个节点接收到一个新的发送控制分组包时都会对本地的时隙分配信息进行更新,并在下一个帧循环中对应的控制时隙发送更新后的发送控制分组包,这样将本地时隙分配信息发送至两跳范围内邻节点,而本节点也知道两跳范围内邻节点的时隙占用情况,所以一个帧循环内每个节点都知道一帧中没有分配的时隙和可以分配给自己的时隙,可以实现资源的高效利用。
二、一种实时自组网波形TDMA帧设计
本文参考WNW波形统一时隙分配协议USAP进行TDMA帧结构设计如图所示:
三、一种实时自组网波形跳频抗干扰设计
3.1跳结构
跳频模式的基本参数如下:
(1)跳频速率:2000 跳/s
(2)符号率:2.133M、4.267M、8.533Msps
(3)前保护开销:20 us
(4)后保护开销:50 us
(5)有效驻留时间:430 us
跳频子帧的时间及射频、数据结构分别见下面的三个图。
跳频子帧内各字段的内容、长度定义如下,
保护字段1用于功放及射频切换,不发射信号,时长20us;
AGC字段在接收機中用于调节电路增益,同时兼做PN字段的循环前缀CP1,时长30us;
导频字段为双PN结构,采用ZC序列,每段30us,两段的内容完全相同。导频字段的作用:估计帧头位置及时延值,估计频偏值、信噪比、信道的频响曲线。CP2是循环后缀。在接收机中进行FFT/IFFT变换时,不包含CP1、CP2字段。
信息字段y1传输控制信息或者用户信息,采用PSK调制,长240us。其循环前缀、循环后缀分别是CP2、CP4。
信息字段y2长60us,原理与y1类似。其循环前缀、循环后缀分别是CP4、CP6。
CP3、CP5分别是y1、y2内的隐含字段,与CP2、CP4配合,使其成为循环前缀。
CP6与保护字段2一起,总长52.5us,在接收机中留做信号延迟到达时的缓冲区,确保可采集到“AGC-CP5”数据段。
图中箭头所指的是复制、填充CP字段时的数据源头及目的地。
CP长度的选定取决于信道的时延扩展范围,该数据可由信道参数估计模块提供;在工程应用中也可由信号的带宽来粗略确定CP的长度。在窄带模式下,单跳通信距离为几公里到数十公里,根据信道建模仿真结果及以往的试验数据,CP范围在3~20us以内。这里将CP的默认长度设为18.75us,允许各条路径之间最大有5.6公里的传播路程差,符合绝大多数信道场景;同时也允许根据信道参数灵活的调整CP长度,以保证可靠性与传输效率的平衡。对于宽带模式,其通信距离较短,将CP设为5us左右,最大路程差为1.5公里,尾保护时间也相应缩短。
基于这种考虑,实例化如下6种基本典型传输方案样例。由于各关键字段都受到循环前缀、循环后缀的严密保护,这种数据格式能够适用于各种典型的复杂信道环境,保证良好的接收性能。
3.2跳频同步设计
3.2.1相关参数
跳速
跳速为2000跳/秒。
TOD长度
采用48bit的数值对TOD计数。
采用TOD同步法,跳速为2000跳/秒,则跳周期为0.5ms,跳频序列100年不重复。100年时间长度的TOD值为0x5BC826A6000,共43bits,则参与频率字运算的TOD位数也要43bits,为编程方便,设计中可按48bits长度对TOD计数,跳频序列的循环远长于100年。
同步允许时差
跳频同步算法允许收发双方时差按5分钟设计,即收发双方Δt≤|±5min|。
TOD空中传输分组
一跳完成跳频同步数据传输,用6个频点轮流各发送1次。
5分钟对应的TOD值为0x927C0,共20bit需要在空口传输,对应TOD数据的bit19-bit0。
系统的信道带宽、调制和编码方式,以及跳周期长度,可保证在1跳内完成20bitsTOD数据的传输。
图7 同步跳插入位置示意图
伪随机码发生器(PRG)
伪随机序列发生器多项式为:
G(X)=x63+x33+x2+1
图8 跳频频率计算过程示意图
操作过程:
1)将64位跳频密钥和计算频率且含频率fsn TOD的字段(低位补0,共64bit)进行按位异或逻辑运算,作为写入PRG的初始输入数据;
2)写入PRG运转次数的值,该值一般用步骤1)的后两个字节相乘的结果,如果该值小于64,则再加64;
3)PRG运算结束后,读出低8bit,进行非线性变换,在与跳频网号相加,取低6位。
跳频密钥
因信息安全需要,跳频参数通过外部加注参数的方式影响频率的伪随机结果。
跳频网号
为使在同一张频率表中,多个子网可正交组网,设置该参数,用于频率偏移,达到正交。
3.2.2同步跳频率算法
同步跳发送内容格式:
同步跳频点的计算方法如下图9过程所示。
一般情况下,提前2跳开始频率计算,因伪随机发生器一般部署在FPGA,这样可减少CPU对FPGA读写等待时间。
比如,要计算第N跳的频率,则:
1)在第N-2跳完成上图中左边虚框内的工作,并将异或结果写入到PRG,启动PRG;
2)在N-1跳完成右边虚框内的工作,并将频表内的索引值所对应的实际频率值写入到频合控制单元;
3)在第N跳刚开始的位置,频合将按预先设置的频率值工作。
3.2.3数据跳频率算法
数据跳频率的计算过程如下图10。
数据跳频率计算过程同同步跳频率计算,只是使用了TOD的全部字段。
3.2.4跳频同步搜索
结合同步跳插入位置情况,在同步搜索阶段,只需计算同步频率,fsn从1到6依次计算6个同步频率,同步频率的计算方法同上节所述,只是每个同步频率需要持续6×32+1跳,即比6个帧周期还要多1跳。
当接收方在第M跳的频点上检测到CP、PN,且信息字段经校验正确后,生成一个临时的TOD变量tempTod,其低20bit(bit19-bit0)直接使用接收到的20bit TOD值,并完成:
1)将接收信息字段中的发方fsn_t与本方计算第M跳频率对应的fsn_r(考虑上图中的处理时延情况,fsn_r的值是变化的,为以示区分,用bak_fsn来表示)可把一般在进行比较:
图 11 跳频模块与收发模块之间接口关系
若bak_fsn=fsn_t,则tempTOD高位(bit47-bit20)直接第M跳频点对应的TOD高位;
若bak_fsn>fsn_t,则tempTOD高位(bit47-bit20)使用第M跳频点对应的TOD高位-(bak_fsn - fsn_t);
若bak_fsn 2)为进一步验证第M跳频点的正确性,将使用tempTod临时替代本地TOD计算下5个同步跳频率(可多验证几个后续的同步跳频率,因为如果存在干扰,只验证一两个频点,有失偏颇): 如果下几个同步跳,大部分(5中取3)收到同步,则将tempTod拷贝为本地TOD; 如果后续几个同步跳,大部分没有收到,则抛弃tempTod值,继续用本地TOD搜索。 3.2.5跳频同步建立时间预计 根据TDMA帧设计,每32跳插入1个同步跳,使用6个频点轮流发送同步TOD数据,用1个频点保持(6×32+1)跳(0.5ms)=96.5ms;同步搜索也需要用6个频点,遍历一遍,耗时为6×96.5ms=579ms(约0.6秒)。 1)对于同步跳,各级节点都发同步;同时发送同步的各级节点在计算同步跳的频率时,使用不同的fsn,根据节点层级,增加fsn偏移量,以最顶层fsn为参照基准,则第2层使用fsn+1,第3层使用fsn+2計算频点,以此类推,第6层使用fsn+5。这样的设计,在只有顶层单个节点时,可保证在579ms的时间内搜索到同步跳;在有多个层级节点发送同步情况下,可以成倍缩短同步建立时间。收到同步的节点,可根据同步数据的“同步质量”字段的指示,知道本节点同步到了哪一层节点、是否还需要本节点往下一层节点发送同步信息、发什么样的同步质量码。 2)对于数据跳,因各层子网内的节点在分配的数据时隙发送,所以不存在多节点同时发送的情况;如果确有多节点同时发送数据的情况,借鉴同步跳频率的协调方式,通过对频表内的索引加偏移量的方法解决。 3.2.6跳频同步维持 进入同步状态后,需要在每个同步跳的位置进行同步检测,设置失步计数器,在一个同步接收跳如果收不到同步信息,则失步计数器的值加1,如果失步计数器的等于8(具体阈值可调整为更多或更少),则判断本设备失步;如果收到1个,则失步计数器清零,表示未失步。
為降低虚警,在原有搜索机制的基础上,增加场强检测机制,接收端在确定外界信号超过接收门限的前提下,在开启的搜索窗口中接收到相关码,才确认为是可能的同步信息。(本波形已在跳结构中安排CP、PN等字段,用来进行频率同步的相关验证)。
四、跳频软件实现
跳频软件根据配置的主从模式、跳频密钥值、TOD值,完成跳频频点的计算,同步数据的发送准备,同步数据的接收,同步维持。
频率表存放在主控单元或其它单元,跳频单元提供计算后的频率在频表中的偏移量。
4.1跳频软件模块与FPGA接口
表3。
4.2跳频软件模块与系统控制软件模块接口
表4。
4.3跳任务处理模块设计
跳任务处理模块流程如下图14。
参 考 文 献
[1] 2020 DoD Communication Waveform Inventory ,DISTRIBUTION STATEMENT A. Approved for public release. Distribution is unlimited (24 March 2021).
[2] John E. Kleider, Steve Gifford, Keith Nolan, Derrick Hughes, Scott Chuprun. “Demonstrating Robust High Data Rate Capability on a Software Defined Radio Using Anti-Jam Wideband OFDM Waveforms” MILCOM 2005,
[3] Joint Program Executive Office (JPEO) Joint Tactical Radio System (JTRS). “Joint Tactical Radio System Network Enterprise Domain Test & Evaluation -Waveform Portability Guidelines”, ver 1.21, 28 December 2009
[4] Joint Program Executive Office (JPEO) Joint Tactical Radio System (JTRS). “Software Communications Architecture Specification”, ver 4.0, 28 February 2012;
[5] Donald R. Stephens, Rich Anderson, Chalena Jimenez, Lane Anderson. “Joint Tactical Radio System -Waveform Porting”. IEEE, 2008;