1. 引言
扩频通信具有很好的抗截获、抗干扰和组网能力,因此被广泛部署在军事通信和民用场合[1]。其中跳频通信(Frequency Hopping Spread Spectrum, FHSS)是最具代表性的扩频技术,跳频通信对抗干扰的方式是利用频率的跳频来躲避干扰[2] [3],但跳频通信系统存在同步复杂度高、频谱资源利用不够灵活以及对部分宽带干扰敏感等问题。而差分跳频技术(Differential Frequency Hopping, DFH)作为近年来广受关注的一种高跳速、高效率的跳频技术,可以通过频率间的关系携带数据信息,为系统高速可靠的传输提供了一种新的方法[4] [5]。目前,针对DFH译码技术的研究已经取得了一定进展。序列译码是现阶段DFH译码的主流方法,其中LEC序列译码算法于2022年提出[6]。然而,在实际应用中,传统的DFH译码算法面临着复杂度高、精度不足和纠错能力差的挑战。
近年来,随着人工智能技术的快速发展,智能算法逐渐开始应用于译码领域[7]。高振斌、张毅、宿绍莹针对Morse信号提出一种CBAM-CNN-BiGRU方法,实现识别译码及报文预测输出[8]。相比传统的译码算法,智能算法通过深度学习模型的自适应能力,能够在复杂环境中通过对大规模数据的训练,自动提取和学习数据的潜在模式和特征,从而优化译码过程,降低计算复杂度,表现出更强的抗干扰能力和译码精度[9] [10]。
鉴于现有针对差分跳频的译码算法复杂度较高、纠错能力差等问题。本文基于序列译码算法和神经网络提出一种SD-Bi-LSTM差分跳频智能译码算法,提高对于差分跳频信号的译码准确度与译码纠错能力。
2. 差分跳频通信系统模型
2.1. 差分跳频通信系统机理
差分跳频通信系统的原理模型如图1所示,其系统模型由发射机和接收机两部分组成。在发射端,传输的信息数据首先通过比特–符号转换器进行处理,以r个比特为一组生成第k跳传输的信息符号流Dk。基于前一跳的瞬时频率fk−1和当前符号流Dk,系统通过G函数计算出当前跳差分跳频信号瞬时频率fk。随后与本振合成发射载波频率,生成当前跳的差分跳频信号S(t),并通过发射链路将信号发送出去。G函数表达式为:
(1)
S(t)表达式可表示为:
(2)
在接收端,接收机部分则主要负责差分跳频信号的频率检测和译码。信号经过信道传输后,接收机对于接收到的信号Y(t)进行处理,并通过频率检测算法提取出信号的跳频频率,再基于G−1函数并结合译码算法恢复原始信息符号流,再通过符号–比特转换器还原信息数据。G−1函数表达式为:
(3)
Figure 1. Diagram of the differential frequency hopping communication system principle model
图1. 差分跳频通信系统原理模型
2.2. 差分跳频译码方法
序列检测译码方法的基本原理是通过对接收到的多个跳频信号进行联合检测,充分利用跳频序列间的频率相关性,以提高检测精度。序列检测译码方法基于逐符号检测译码方法,但是不像逐符号检测译码方法一样单独对每一跳频率进行独立判决,而是将一段跳频序列作为整体进行处理。具体来说,接收端在接收到多个跳频信号后,会通过一定的检测算法对整个频率序列进行最优路径的估计,从而找出最有可能的跳频序列[11]。序列检测模型如图2所示。
Figure 2. Diagram of the sequence detection decoding model
图2. 序列检测译码模型
接收到的信号经过频率检测后得到频率序列,并对频率序列进行检测。序列检测译码方法计算频率转移过程中的可能跳频路径,并利用频率网格对这些路径进行译码。对于每一条可能路径,系统会对其非相干检测值进行线性合并,最终将合并结果输入判决器,通过最大值判定最可能的频率序列。
序列检测方法在一定程度上能基于信号频率完成序列译码任务,然而在低信噪比的复杂通信环境下,这些传统方法的有效性大大降低。由于环境噪声的干扰和信号衰减,频率检测的准确性显著下降,从而导致频率识别过程中的错误累积,最终使得译码任务无法正确完成。这种情况下,检测方法难以捕捉频率间的微小变化,误码率急剧上升,系统的抗干扰和可靠性表现明显不足。
3. 基于SD-Bi-LSTM算法
3.1. 差分跳频序列特性分析
由差分跳频原理可知,发送端所发送的差分跳频信号是由信息数据结合G函数控制的一个频率转移序列,相应的在接收端,收到相同的频率转移序列后根据G函数的逆函数,就可以恢复出数据[12]。
从时间顺序的角度来看,随着时间的推移,由频率和信息数据通过G函数生成的跳频模式构成了一个随机的倒立树结构,这一结构可以称为“G函数倒立树”。在这种模型中,某一跳频的频率可以视作树根,通过它可以预测后续跳频频点的各种可能性[13]。
同样,从时间逆序的角度来看,这依然是一个随机的倒立树结构。以某一跳的频率为树根,可以向前回溯,推测出之前各跳频点的可能性。以BPH为1为例,时间顺序G函数倒立树和时间逆序G函数倒立树分别如图3和图4所示。
Figure 3. Diagram of the time sequence G-function inverted tree
图3. 时间顺序G函数倒立树
Figure 4. Diagram of the time sequence reversed G-function inverted tree
图4. 时间逆序G函数倒立树
在复杂通信环境中,频率检测过程中可能发生频率误检,从而导致某一个或多个频点出错。为提高差分跳频频率序列译码的准确性,可以结合序列译码算法并采用双向推导的方法:一方面,从时间顺序正向推导出频率的合法转移路径;另一方面,从时间逆序反向推导合法的频率转移路径。通过这两种路径的综合比对,可以有效识别出某一个或多个非法的转移路径,从而实现频点的错误检测与纠正,进而提升译码的准确性。
此外,由于差分跳频频率转移函数的独特机制,LSTM还可以采用双向推导的方法,即通过同时从序列的前后两个方向进行推导,能够有效识别出某一个或多个非法的转移路径,从而实现频点的错误检测与纠正。这一机制进一步提升了译码的准确性,使系统在面对复杂或受干扰的信号时,依然能够保持较高的鲁棒性和精度。
3.2. SD-Bi-LSTM差分跳频智能译码算法
为提高差分跳频频率序列译码的准确性,本文提出SD-Bi-LSTM智能译码算法,将Bi-LSTM网络与序列译码算法结合,实现同时从时间顺序和时间逆序推导频率的合法转移路径。通过正反两个方向路径的信息融合与比对,能够有效识别并纠正频点的错误或非法转移路径,从而提升频率序列的译码准确性。整体结构如图5所示。
Figure 5. The network structure of SD-Bi-LSTM
图5. SD-Bi-LSTM网络结构
差分跳频智能译码网络的输入X是一个差分跳频频率序列,可用下式表示:
(4)
其中ft表示在时间步t的频率值。这里的n是序列的长度,并且可以是任意正整数。这意味着网络能够适应不同长度的信号输入,每个频率ft都是系统在时间步t所接收到的差分跳频信号的频率值,输入数据形式为一维的频率特征序列。
输入的频率序列被一次性送入SD-Bi-LSTM网络,利用正向和反向的LSTM单元来捕捉差分跳频频率的映射规则和时序特性。由于差分跳频信号的频率变化具有明显的时间相关性,这种一次性输入方式使LSTM能够有效捕捉不同时间步之间的依赖关系,并分析频率变化模式。此外,这种处理方法结合序列译码思想,允许网络在每个时间步考虑整个频率序列,从而做出更综合和全局的判断,识别潜在的频率映射规则。通过建模过去和未来的频率变化趋势,SD-Bi-LSTM网络全面提取信号中的时序依赖性,为译码过程提供丰富的上下文信息和精准的频率映射关系。
正向LSTM过程一次性处理整个差分跳频频率序列X,捕捉频率信号在从f0到fn−1的正向变化规律,输出的是一个表示全局特征的隐藏状态hfwd。公式表示为:
(5)
反向LSTM过程同样一次性处理整个频率序列Xrev,捕捉频率信号从fn−1到f0的反向变化规律。通过将序列反转,反向LSTM能够分析每个时间步的频率值在时间上的演变趋势,识别过去的状态对当前状态的影响。输出的隐藏状态hbwd表示了整个序列的全局特征,综合了输入序列中各个时间步的信息。公式表示为:
(6)
通将正向和反向的全局隐藏状态拼接,形成对整个频率序列的拼接后全局隐藏状态hconcat,公式表示为:
(7)
最终将拼接后的全局隐藏状态hconcat经过全连接层并用Softmax激活函数进行激活,最终得到多分类输出y。公式表示为:
(8)
其中,σ代表Softmax激活函数。
3.3. 网络参数设置
在Bi-LSTM网络中,将1 × n的频率序列X作为输入,SD-Bi-LSTM中超参数设置hidden_size为64,num_layers为5。频率序列经过SD-Bi-LSTM网络的正向LSTM和反向LSTM处理后得到维度为64 × n的hfwd和hbwd,随后将其拼接为全局隐藏状态hconcat,维度变成128 × n,随后将hconcat通过全连接层并经过Softmax激活函数激活,得到差分跳频智能译码结果。
具体网络参数设置如表1所示。
Table 1. Network parameter settings
表1. 网络参数设置
No. |
Layer |
Structure |
Shape |
0 |
X |
Input |
1 × n |
1 |
hfwd |
LSTM(X) |
64 × n |
hbwd |
LSTM(Xrev) |
64 × n |
2 |
hconcat |
[hfwd, hbwd] |
128 × n |
3 |
Result |
FC + Softmax |
1 × (n − 1) |
4. 仿真分析
为了评估SD-Bi-LSTM智能译码方法在差分跳频信号智能译码中的有效性和准确性,将基于同余理论的G函数作为目标G函数并设计了以下实验:分别针对传统序列译码算法和Bi-LSTM算法在独立数据集(仅由有错跳数据组成数据集)和混合数据集(由有错跳数据和无错跳数据组成数据集)在不同跳频频点序列长度的表现进行了比较,特别是在错一跳和错两跳场景下。错一跳场景包括错1跳(包含首尾跳)与错1跳(不包含首尾跳)的对比,而错两跳场景则进一步细分为:无连错且包含首尾跳、无连错且不包含首尾跳、有连错且包含首尾跳、有连错且不包含首尾跳的四种情况。通过这些多维度的对比实验,全面分析了SD-Bi-LSTM方法在不同跳频错误条件下的译码性能。
(a) 不包含首尾跳 (b) 包含首尾跳
Figure 6. Comparison of two algorithms for 1 wrong hop
图6. 错一跳情况下的两种算法对比
图6展示了在随机位置出现错1跳的情况下(包含首尾跳和不包含首尾跳),两种算法在不同数据集和不同跳频序列长度下的译码准确率变化趋势。可以看出,在错一跳场景下,本文搭建的SD-Bi-LSTM算法模型整体表现优于传统序列译码算法,特别是在短序列时(3~6跳频点),混合数据集的准确率显著高于独立数据集,这表明引入多样化的错误模式能够提升模型的泛化能力。首尾跳对译码性能有显著影响,包含首尾跳场景中的所有算法表现都优于无首尾跳场景,尤其是Bi-LSTM在包含首尾跳时上下文信息更充分,准确率提升更为显著。此外,随着跳频序列长度增加,所有模型的准确率均稳步上升,SD-Bi-LSTM在短序列时的提升幅度更大,表现出更强的序列建模能力,而传统算法在长序列时才逐渐接近其效果。在相同数据集下本文算法的整体表现优于传统序列译码算法,特别是在相同序列长度的条件下,本文算法的识别准确率比传统算法高出1%~3%。尤其是在使用混合数据集时,本文算法算法在错跳出现在首尾跳的情况下的识别准确率最高,可达到96.13%。本文算法在错一跳场景中展现了更强的适应性和对多种错误模式的捕捉能力,是处理复杂跳频信号的有效方案。
图7展示了错2跳情况下的四种场景:错2跳(无连错且不包含首尾跳)、错2跳(有连错且包含首尾跳)、错2跳(有连错且不包含首尾跳)以及错2跳(无连错且包含首尾跳)。图中对两种算法在不同数据集和
(a) 无连错且不包含首尾跳 (b) 无连错且包含首尾跳
(c) 有连错且不包含首尾跳 (d) 有连错且包含首尾跳
Figure 7. Comparison of two algorithms for 2 wrong hops
图7. 错两跳情况下的两种算法对比
跳频序列长度下的译码准确率变化趋势进行了详细对比分析。可以看出,本文算法模型在处理错两跳的多种复杂跳频错误场景下,相比传统序列译码算法表现出了显著的优势。在独立数据集和混合数据集的测试中,本文算法模型的译码准确率随着跳频序列长度的增加而持续提升。特别是混合数据集上的译码准确率始终高于独立数据集,说明在面对包含多种错误模式的数据时,本文算法能够更好地学习跳频信号的动态变化特征,从而提高译码效果。在包含首尾跳和不包含首尾跳两种不同的场景下,所有算法的准确率在包含首尾跳的情况下均表现更好,尤其是本文算法模型,其准确率提升更加显著。这可能是由于错误出现在首尾跳频点时影响了更少的相邻跳点,使得模型能够更好地捕捉全局的序列模式,从而提高译码性能。而在无首尾跳的场景中,每一个错误跳点至少影响两个相邻跳点,导致准确率下降。这一现象表明SD-Bi-LSTM模型对于全局信息的依赖性较高。同时,连错和非连错场景下的实验对比也揭示了不同模型对错误模式的敏感性。连错场景中,本文算法模型在较长序列(12到14跳频点)时表现更为稳定,而在非连错场景中,模型准确率波动较大,表明本文算法在捕捉连错模式时有较强的能力,能够有效修正连续错误。而传统序列算法在这两种场景下的表现差异不明显,说明其对于捕捉连错关系的能力有限,无法有效利用序列内部的连错模式信息。此外,实验结果还表明,传统序列译码算法在复杂跳频错误场景下的提升效果依然有限。相比之下,本文算法模型在较长序列(12到14跳频点)下能够更好地利用上下文信息提升译码准确率,尤其在混合数据集和连错场景中表现出更高的鲁棒性。跳频序列的长度对于模型的译码性能也有较大影响,随着跳频序列长度从6增加到14,各模型的准确率均稳步上升,但本文算法模型的提升幅度最为显著。本文算法模型通过学习序列中复杂的动态特征(如连错模式和首尾跳频点的上下文信息),能够更好地处理复杂跳频信号中的多种错误模式,适合在智能译码场景中应用。而传统序列译码算法在面对跳频错误模式较复杂(如连错、多种错误混合)时,其译码能力受限,无法有效地捕捉全局模式特征。因此,本文算法模型在多种跳频错误场景下展现出更强的译码性能和更好的泛化能力,是提升复杂跳频信号智能译码的有效方案。
从整体分析来看,无论是错一跳还是错两跳场景,SD-Bi-LSTM模型在相同数据集和相同序列长度下的译码准确率都显著优于传统序列译码算法,表现出了更强的译码能力和序列建模能力。尤其是在使用混合数据集时,SD-Bi-LSTM能够更好地应对多种错误模式,展现出强大的泛化能力。从纠错能力的角度来看,Bi-LSTM在错一跳和错两跳场景中都展现出较好的错误修正能力。特别是在错两跳的连错场景中,Bi-LSTM的识别效果显著优于传统算法,表明其能够更好地捕捉跳频信号中连续错误的模式特征并有效修正。而在错一跳的短序列场景中,Bi-LSTM同样能够通过上下文信息快速提升译码准确率,展现出对单一跳频错误的敏感度和修正能力。因此,Bi-LSTM不仅在准确率上优于传统译码算法,还能够通过学习复杂序列模式,提升处理连错和多种跳频错误场景下的纠错能力,使其在复杂跳频信号场景中更加可靠。
5. 总结
本文通过对差分跳频译码算法进行研究,在分析其序列特性的基础上,将序列检测译码思想与神经网络结合,提出一种基于神经网络的SD-Bi-LSTM差分跳频智能译码算法,提高了对于差分跳频信号译码环节的纠错能力,提高了译码性能和译码智能化水平。因此,在工程实践中,为差分跳频译码方式提供了有用的参考价值。