一种用于无线通信接收端的RLL码译码器

文档序号:28165575发布日期:2021-12-24 22:16阅读:314来源:国知局
一种用于无线通信接收端的RLL码译码器
一种用于无线通信接收端的rll码译码器
技术领域
1.本发明属于无线通信中信道译码方法设计领域,主要涉及基于深度学习技术的信道译码器的设计。


背景技术:

2.可见光通信(visible light communication,vlc)采用发光二极管(light emitting diode, led)的闪烁来进行通信,并且具有高带宽、高速率、高稳定性和安全环保的优势,是通信领域的一个重要研究方向。相比于无线通信,vlc拥有380~780nm的可见光光谱,频谱宽度大于 4
×
106ghz,是现有无线通信频谱的10000多倍,因此vlc在通信领域具有巨大的发展潜力。
3.vlc在实际应用过程中,会受到各种人为噪声和热噪声,同时各种光污染也会对光信号造成干扰,这严重降低了vlc的可靠性。为了有效抑制信道间干扰造成的信息错误,信道编码技术,如rll码和纠错码(error correction codes,ecc),已广泛应用于vlc中。rll编码器接收发送端任意的比特流,将k个信源比特通过码表映射为长度为n的码字,编码后保证输出的码字中0的数量与1的数量相同,即“直流平衡”。针对rll码的译码,一个广泛使用的译码方法是接收端生成硬判决比特后,使用传统的查表译码法来恢复发送比特。如果生成的硬判决比特无法映射到码表中的任何一个码字,则根据最小汉明距离来估计对应的发送码字。由于查表译码法属于一种硬判决译码方法,该方法无法充分利用信道的信息,译码性能非常受限,纠错能力无法进一步提高。
4.本发明提出一种基于seq2seq(sequence to sequence)模型的rll码译码器的设计方法,以此提高vlc中rll码的译码性能。在ieee 802.15.7标准中,vlc使用了三种类型的rll码,它们分别为曼彻斯特码,4b6b码和8b10b码。为了说明方便,本发明以4b6b码举例说明,图5给出了ieee 802.15.7标准中用于vlc的4b6b码码表。


技术实现要素:

5.针对可见光通信中rll码(4b6b码)的译码方法,本发明的目的则是基于rnn(recurrentneural networks)技术,使用seq2seq模型,将4b6b码译码问题转化为seq2seq深度学习问题,设计出一种seq2seq译码器来代替可见光通信接收端中硬判决器与传统的rll查表法译码器。仿真结果显示本发明译码器译码性能超过传统查表译码法,可以达到最大后验概率(map: maximum a posteriori probability)准则的译码性能,并且可以提高vlc系统的吞吐量。
6.本发明技术方案为一种用于无线通信接收端的rll码译码器,采用该rll码译码器代替可见光通信接收端中硬判决器与传统的rll查表法译码器;所述rll译码器包括:rnn编码器和 rnn译码器;
7.所述rnn编码器为一个使用gru单元的rnn网络,其输入层大小为n,隐藏层两层 {h1,h2}={5n,5n},输出层大小为1,即一个输出向量c,其中n为可见光通信中接收信号的大
rnn

decoder两部分。网络参数为:rnn

encoder是一个使用gru单元的rnn网络。输入层大小为n,隐藏层两层{h1,h2}={5n,5n},输出层大小为1,即输出向量c。将该输出向量c复制 k份输入到rnn

decoder。rnn

decoder也是一个使用gru单元的rnn网络,输入层大小为k,隐藏层两层{h1,h2}={5n,5n},输出层大小为k。若要多帧并行译码来提高系统吞吐量,需将上述的n修改为n的倍数,上述的k修改为k的倍数,其余网络参数保持不变。进一步地,该 seq2seq神经网络的输入为其中为消息比特x通过rll码编码(不考虑ecc 编码器),经过awgn信道后的接收信号网络的输出为接收信号对应的发送比特x= {x1,x2,

,x
k
}的软估计基于得到的软估计通过以下判决规则可以得到x 的硬估计如果则否则,图3给出了seq2seq译码器神经网络示意图。
25.步骤2:设置seq2seq译码器参数及配置。以4b6b码为例,若考虑单帧传输,即4b6b编码序列一帧一帧译码,则设置网络参数为:输入层大小n=6,输出层大小k=4。若考虑多帧传输,即4b6b编码序列2帧或者3帧同时并行译码,则设置网络参数为:输入层大小 n=12,18,输出层大小k=8,12。rnn

encoder网络以及rnn

decoder的输入层以及隐藏层使用relu激活函数,表示为σ
relu
(x)=max{0,x},rnn

decoder输出层使用sigmoid激活函数,表示为
26.步骤3:生成seq2seq译码器的训练数据集以及测试数据集。
27.具体方法为:数据可以通过图1可见光通信模型仿真生成。首先生成一系列发送比特将发送比特以4bit每帧封装成帧,表示为其中x
i
表示第i帧,若为单帧传输,则每帧4bit。m表示为帧数。发送比特根据图5所示的4b6b码码表,编码得到以帧为单位的编码码字其中v
i
表示第i帧编码码字,若为单帧传输,则每帧6bit。编码码字经过ook/bpsk调制,得到发送信号,发送信号经过高斯信道到达接收端,接收端收到接收信号。将接收信号作为训练数据其中表示第i帧的接收信号,若为单帧传输,则每帧大小为6。每帧接收信号对应的发送比特x
i
作为标签。由于在译码阶段无法得知信道状况,因此需要生成某个特定信噪比数据作为训练集训练后,分别在不同信噪比的测试集上进行测试来模拟真实的可见光通信的情况。经过多次实验,发现训练信噪比e
b
/n0设置为1时,并且seq2seq译码器需要m=6
×
104帧数据,可以得到很好地训练效果。
28.步骤4:根据e
b
/n0=1生成m帧训练集数据,训练seq2seq模型。将步骤3得到的训练集数据输入神经网络,训练seq2seq译码器。神经网络优化器使用adam优化器,使用默认的学习率0.01。网络使用mse损失函数,表示为
[0029][0030]
其中k为seq2seq模型的输出层神经元个数,为seq2seq模型的输出,即为发送比特x
i
的软估计值。通过优化损失函数,得到训练好的seq2seq译码器。经过实验发现,训练周期 epoch=40即可得到优秀的性能。详细的seq2seq译码器参数设置如图6所示。
[0031]
步骤5:使用不同的信噪比(e
b
/n0={

4,

2,0,2,4,6,8}db)生成测试集数据来评估
训练好的网络,并得到译码比特软估计值
[0032]
步骤6:根据seq2seq模型输出的软估计值使用以下规则来得到发送比特x的估计译码值译码规则为:
[0033][0034]
其中,为seq2seq译码器输出层第i个神经元的输出,为每帧第i个发送比特的译码结果。本发明将上述译码过程成为seq2seq译码器。本发明性能仿真图如图4所示,本发明译码方法可达到最佳译码准则的要求。
[0035]
上述步骤1

步骤6算法流程图如图2所示。
[0036]
本发明优势在于:
[0037]
1.本发明相对传统的查表译码方法,可以得到大约2~2.5db(e
b
/n0)的性能增益。
[0038]
2.本发明充分利用信道信息,接收端未经硬判决译码,直接将接收端的接收数据输入神经网络用于译码,可达到最佳译码准则map(maximum a posteriori probability)的译码性能,如图4。
[0039]
4.通过修改输入层与输出层大小,可以实现多帧rll序列同时译码,以此提高系统的吞吐量。
[0040]
3.本发明也可以适用于其他rll码型,例如8b10b码,因此有很好的普适性。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1