结合深度循环神经网络的单通道盲分离

2021-07-14 00:22吴思阳
无线电工程 2021年7期
关键词:复杂度信道长度

吴思阳,高 勇

(四川大学 电子信息学院,四川 成都 610065)

0 引言

随着卫星通信技术的不断发展和用户需求的不断增加,带宽资源越来越稀缺,如何提高系统容量是卫星通信系统进一步拓展服务的迫切问题。

目前主流的混合信号盲分离方案包括粒子滤波(Particle Filter,PF)[1]与逐幸存路径处理(Survivor Processing,PSP)[2]等算法,这些算法虽然具有优越的性能,但由于复杂度较高,应用受到了限制。近年来有许多文献对其进行了研究与改进。文献[3]在粒子滤波法中采用部分采样法进行搜索,利用2个子区间的增量权值完成粒子抽样和权重更新,从而降低复杂度。文献[4]针对合作接收的高阶调制PCMA信号,提出一种基于判决反馈逐幸存路径处理的解调算法,在算法性能和复杂性之间达成折中。文献[5]针对非合作接收不同符号速率PCMA混合信号,提出一种基于双网格逐幸存路径处理的分离算法。文献[6]提出基于深度学习的盲分离算法,但其神经网络仅针对于已知信道或其变化规律的分离场景。

近年来,深度学习在计算机视觉、语音识别、自然语言处理等方面表现出了优势。在物理层通信的复杂场景中,如信道解码[7]、调制识别[8]、信号检测[9]和端到端通信系统[10]等,深度学习也显示出了巨大的前景。循环神经网络适合于学习序列,由于可以充分利用符号之间的相关性,在单信号检测中取得了优异的性能。

PSP算法是一种基于最大似然序列估计的算法,需要对可能的符号进行遍历搜索,其中调制阶数和信道估计长度导致时间复杂度呈指数型增长,因此在实际情况下应用难度较大。本文提出了一种结合深度循环神经网络的混合信号单通道盲分离方案,该算法的计算复杂度不会随着调制阶数和信道长度呈指数型增长,因此相对于传统方法,该方法应用场景更广泛。

1 调制信号模型

混合信号单通道盲分离的目标是从接收到的采样点中恢复出信号混合前的2路符号序列。考虑复调制MPSK信号,假设在考虑的时间范围内,接收信号的幅度、频率、时延等均不随时间发生变化,复基带模型如下:

y(t)=h1ej(Δω1t+θ1)x1(t)+h2ej(Δω2t+θ2)x2(t)+v(t),

(1)

式中,hi表示2个调制信号的幅度;Δωi,θi,v(t)分别代表载波频率偏移、初始相位和加性白高斯噪声。源信号xi(t)定义为:

(2)

本文主要以分离2路BPSK信号为例,设计并测试神经网络。

2 循环神经网络模型

2.1 网络架构

为了充分利用符号之间的信息,本文基于双向门控循环单元(Bi-directional Gated Recurrent Unit,Bi-GRU)结构设计分离网络。双向循环神经网络可以通过隐藏状态在单元间传递信息以实现时间上的前后相关,利用非因果的结构估计符号从而达到最优性能。

门控循环单元是循环神经网络中的一种门控机制,其结构如图1所示。GRU具有较少的参数,从而降低了过拟合的风险。LSTM的参数数量是原生RNN的4倍。GRU仅使用2个门控开关,其结果接近LSTM,而其参数数量是原生RNN的3倍。

图1 GRU结构

(3)

2.2 网络结构与输入输出

在本文设计的Bi-GRU网络中,其输入数据的维度为[2,K+N],其中K为2路传输信道参数的长度之和,N为传输的时间序列信号的长度。输入数据的构成为[C1,...,CK,Y1,...,YN],其中C1,...,CK为2个接收信道的冲激响应参数的拼接,输入数据包含了实部和虚部。Bi-GRU神经网络分别在时间维以顺序和逆序(即前向和后向)依次处理输入序列,并将每个时间步的GRU的输出拼接成为最终的输出层。网络中的每个时间步的输出节点,都包含了输入序列中当前时刻完整的过去和未来的上下段信息。

图2展示了输出层的结构,数据先经过输出维度为4的线性层,其激活函数为LeakyReLU(negative slope=0.01):

图2 输出层结构

LeakyReLU(x)=max(0,x)+0.01×min(0,x)。

(4)

经过线性层后,再经过LogSoftmax层,这样一是为了解决数值溢出的问题,二是方便对交叉熵损失(CrossEntropyLoss)的计算。网络每次的输出则代表了4种情况的概率的对数,其中4种情况分别为序列A此时刻的值为0、序列B此时刻的值为0;序列A此时刻的值为1、序列B此时刻的值为0;序列A此时刻的值为0、序列B此时刻的值为1;序列A此时刻的值为1、序列B此时刻的值为1。概率的对数值最大的情况则被判定为预测结果。

2.3 网络输入截断

一般情况下,混合信号的长度不确定而且通常会很长,因此要对输入序列做一定处理才能将其输入至神经网络中。当输入序列远大于网络输入序列长度时,如果将序列直接截断成等长的数据块,由于部分信息不在单个数据块中,对于输入序列开头和结尾的符号将会出现大量的预测错误。如图3和图4所示,为了解决这个问题,在截断输入序列时,前后各截取5个数据值作为网络的输入,输出值则取中间100个值为有效值,这样对于每个时间点的序列值的预测都有来自前后时间段的信息,从而提高神经网络的整体性能。

图3 截断并分步输入数据

图4 截断输入示意

3 网络训练与测试

3.1 网络训练流程

网络中损失函数采用交叉熵损失,定义为:

-x[class]+ln(∑jexp(x[j])),

(5)

式中,class代表的是每一种分类的情况。

网络中的优化算法采用自适应矩估计法(Adaptive Moment Estimation),简称Adam优化算法。Adam优化算法可以自适应调整学习率,能够使模型更快的收敛且易于跳出局部极小值。此外,Bi-GRU的隐藏权重参数采用正交初始化,有助于网络的收敛和避免梯度爆炸和消失。

在网络中使用的随时间反向传播(Back-Propagation Through Time,BPTT)算法是一种常用的训练RNN的方法,其本质还是BP算法,只不过RNN处理的是时间序列数据,所以要基于时间反向传播,因此称为随时间反向传播。BPTT的中心思想和BP算法相同,沿着需要优化的参数的负梯度方向不断寻找更优的点直至收敛。BPTT将循环神经网络按时间步展开,从而得到模型变量和参数之间的依赖关系,并根据链式法则来进行反向传播计算并存储梯度信息。

训练神经网络时采用的训练集为软件生成的仿真数据,其每路接收信道的冲激响应参数长度为4,单个样本的时间序列信号长度为110,训练样本总数2 000 000。神经网络的层数为3,隐藏层节点个数128,单次训练所选取的样本数(Batch Size)为1 900,训练epoch数40次,按照8∶2生成训练集和测试集。

实验环境如下:显卡为 NVIDIA RTX 2080Ti,处理器为Intel(R)Core(TM)i9-9900k CPU@3.6 GHz,内存容量为32 GB,软件环境为神经网络基于pytorch1.7.0框架搭建,开发语言为Python3.8。

3.2 仿真数据测试

为了验证该网络对混合信号盲分离的性能,以2路信号的误码率均值作为对不同算法的性能指标。在仿真实验中,两BPSK调制信号混合,采用根号升余弦成型,滚降系数为0.35,成型波形持续6个符号周期,接收端进行相应的匹配滤波。

将预训练完成的神经网络和PSP算法分别输入加有不同信噪比的高斯白噪声的测试数据进行测试,其性能曲线测试结果如图5和表1所示。可以看出,在同等条件下使用Bi-GRU神经网络的误码率要低于PSP算法。

表1 2种算法的误码率

图5 2种算法的性能曲线

3.3 实测数据测试

本次实验使用2台NI USRP-2930 软件无线电平台发射数据,一台NI USRP-2950 软件无线电平台接收数据,发射机发射随机比特流内容的BPSK调制信号,接收机接收2个发射机发射后的混合信号。数据的码速率为500 Kb/s,采样率为4 MHz,成型滤波器(根余弦滤波器)的系数为0.35。采集5条长度为10 000的IQ数据作为测试集,信道信息使用PSP算法中的信道估计部分获得,预截断后输入上文中已经训练好的神经网络测试,得到的误码率如表2所示。

表2 实测误码率

由于实际信道存在不稳定性,对实测数据分离的误码率也会随之波动。因此在信道相对稳定的情况下,本文中设计的Bi-GRU神经网络可以用于分离单通道混合信号。

4 复杂度对比

本文以分离2个BPSK调制的混合信号以及2个QPSK调制混合的信号所需的浮点乘加运算(Floating Point Operations,FLOPs)的次数为指标比较Bi-GRU网络和PSP算法的计算复杂度。

对于神经网络而言,每一层的参数数量需要由该层的规模(n_units)和上一层的输出(n_features)共同决定[11]。其中,Bi-GRU网络每层的参数数量计算方法为:

Num(Bi-GRU)=6×n_units×

(n_features+n_units+1)。

(6)

全连接层(有偏置)的参数数量计算方法为:

Num(Linear)=(n_features+1)×n_units。

(7)

PSP算法的参数数量[1]计算方法为:

Num(PSP)=(8×L+2)×M2L,

(8)

式中,M为调制阶数;L为PSP算法的信道记忆长度。根据上述方法,得出不同算法和信道记忆长度的复杂度对比如表3所示。

表3 复杂度对比

PSP算法的计算复杂度随调制阶数和信道记忆长度呈指数型增长,而分离网络的计算复杂度随调制阶数只呈线性增长,且不受信道记忆长度的影响。通过结果可以发现,在不损失分离性能下,本文提出算法的复杂度在M>2时远低于PSP算法,且调制阶数和信道记忆长度越大,其降低复杂度的优势越明显。

5 结束语

本文提出了一种基于双向循环神经网络的盲分离方案,可以很好地对单通道2路混合信号进行分离。对于长度超过网络输入长度的时间序列,提出了对其前后额外截取的策略,解决了每个数据块在开始和结束时可能产生高错误率的问题。在分离性能相近的情况下,该方案的计算复杂度远低于PSP算法。该方案对PCMA卫星通信信号的实时接收和处理具有参考价值。本文方法在应对随机波动大的信道时较为乏力,在后续研究中会针对这种情况做出解决措施。

猜你喜欢
复杂度信道长度
绳子的长度怎么算
1米的长度
一种低复杂度的惯性/GNSS矢量深组合方法
爱的长度
怎样比较简单的长度
求图上广探树的时间复杂度
FRFT在水声信道时延频移联合估计中的应用
基于导频的OFDM信道估计技术
某雷达导51 头中心控制软件圈复杂度分析与改进
出口技术复杂度研究回顾与评述