一种非合作线性反馈移位寄存器功能重建方法与流程

文档序号:20945926发布日期:2020-06-02 19:52阅读:225来源:国知局
一种非合作线性反馈移位寄存器功能重建方法与流程

本发明属于非合作通信技术领域,具体涉及一种非合作线性反馈移位寄存器功能重建方法。



背景技术:

扩频技术是将传输信号的频谱扩展到较其原始带宽更宽范围的一种通信技术,代表性的扩频方式有直接序列扩频和跳频两种。直接序列扩频,直接用高码率的扩频码序列(伪随机码序列)去扩展发送端信号的频谱,在接收端,用相同的扩频码序列将信号解扩;跳频扩频,接收端与发射端的载波快速在不同频率中同步伪随机的切换,跳频图案经常用伪随机码实现。最长线性移位寄存器序列(m序列)是一种典型伪随机码,也是最常用的一种扩频序列,它具有出色的随机特性并且容易通过线性反馈移位寄存器产生。

m序列可由n级线性移位寄存器得到,产生原理如图1所示,其中di∈{0,1}表示m序列元素,0和1分别表示寄存器输出的低和高两种电平;c0,...,cn∈{0,1}表示反馈连接关系,0表示不连接,1表示连接;a1,...,an∈{0,1}表示移位寄存器状态,0和1分别表示寄存器存储的低和高两种电平;n表示寄存器的数量,也是线性反馈移位寄存器的阶数;加法“+”模二加法器,将输入的0和1,按照模二加规则,输出0或1,0和1分别表示低和高两种电平。

由线性移位寄存器产生的m序列{d1,d2,…}满足

其中,c0通常为1(表示连接关系),加法器执行模二法则,公式(1)也称为m序列的反馈多项式。m序列中0和1状态、低和高电平伪随机出现,周期由寄存器数量n决定,为2n-1。

伪随机序列是扩频通信中重要的组成部分。在直接序列扩频中,扩频码序列的重建一直非合作通信技术领域的重点和难点问题。盲信号分离的技术途径能够奏效的场景有限,事实上,盲信号分离中要处理的问题在数学上是欠定求解问题,因此结果不可能只有一个,独立成分分析并不能完全恢复信号源的具体数值,也不能解出信号源的正负符号、信号的级数或者信号的数值范围。如果能够根据部分扩频码,准确恢复出整个扩频序列,将数学上的欠定问题转化成为正定问题,则会给非合作直接序列扩频技术带来突破。

在非合作第三方不知道线性反馈移位寄存器内部结构的情况下,通过接收线性反馈移位寄存器输出的信号,求解线性反馈移位寄存器反馈关系的berlekamp-massey方法,无法处理信号在传输过程中受扰后包含了错误的情况。在接收信号序列中包含错误状态时,传统重建反馈关系的方法,如:walsh-hadamard变换方法、倍式搜索方法等,计算复杂度都随m序列反馈多项式的阶数成指数增长。已有的序列信号盲分析以及使用人工神经网络的方式,都在试图求解原序列信号生成器的参数,如反馈多项式、反馈抽头位置等,但由于容错性差、搜索空间随序列信号的反馈阶数成指数增长等原因,均难以处理接收信号序列的反馈阶数大于100或bit误码率大于10%的情况,而本发明方法可以成功应对已有算无法处理的更高阶数和误码率。



技术实现要素:

本发明的目的是提供一种非合作线性反馈移位寄存器功能重建方法,它根据非合作第三方接收的线性反馈移位寄存器a产生的输出信号,在非合作第三方没有线性反馈移位寄存器a接连反馈关系的情况下,重建线性反馈移位寄存器a的功能。

本发明的技术方案如下:一种非合作线性反馈移位寄存器功能重建方法,它包括如下步骤:

步骤1:存储非合作第三方接收的线性反馈移位寄存器产生的输出信号;

步骤2:对接收的信号进行预处理,形成训练人工神经网络的测试样本数据,每个样本包括输入数据和输出数据两部分,均源自接收信号,且输入数据和输出数据间蕴含着线性反馈移位寄存器的接连反馈关系;

步骤3:用存储器存储训练数据;

步骤4:构建人工神经网络,读取训练数据,并训练人工神经网络,逼近训练样本输入数据和输出数据之间蕴含的映射关系;

步骤5:在测试数据上测试人工神经网络重建线性反馈移位寄存器功能的程度。

所述的步骤1中,接收的信号为{r1,…,rp},长度为p,ri∈{0,1}是非合作第三方恢复的线性反馈移位寄存器输出状态,0和1分别表示低和高两种电平;ri=di+ni,di表示线性反馈移位寄存器输出的真实信号,ni表示传输中噪声的影响,“+”为模二加运算,ni=0表示接收正确,ni=1表示接收发生错误,能够正确接收的概率为ε,即ni=0的概率为ε,记作pr{ni=0}=ε。

所述的步骤2中,选取接收序列中连续的一段{ri,…,ri+q-1}作为训练样本的输入数据,截取数据段的后续一个元素ri+q作为训练样本的输出数据,截取连续数据段的长度大于等于线性反馈移位寄存器的阶数n,即,寄存器的个数为n,接收序列长度为p。

所述的步骤4中,将训练样本的输入数据{ri,…,ri+q-1}作为训练人工神经网络的输入数据,将训练样本的输出数据ri+q作为训练人工神经网络的输出数据,使用批处理等训练人工神经网络的方法,使人工神经网络逼近训练样本中输入数据和输出数据之间的映射关系,样本输入数据和输出数据之间的映射关系,是由线性反馈移位寄存器的反馈连接关系决定的,如公式(1)

其中di∈{0,1}表示m序列元素,0和1分别表示寄存器输出的低和高两种电平;c0,...,cn∈{0,1}表示反馈连接关系,0表示不连接,1表示连接;a1,...,an∈{0,1}表示移位寄存器状态,0和1分别表示寄存器存储的低和高两种电平;n表示寄存器的数量,也是线性反馈移位寄存器的阶数;加法“+”为模二加法器,将输入的0和1,按照模二加规则,输出0或1,0和1分别表示低和高两种电平。

所述的步骤5中,截取一段连续的线性反馈移位寄存器真值信号{di,…,di+q-1}作为测试样本的输入数据,将{di,…,di+q-1}输入训练好的人工神经网络,得到人工神经网络预测的下一个输出电平为ei,将ei与线性反馈移位寄存器无噪声真值信号的后续一个信号di+q进行比较,如果“ei与di+q的距离”<“ei与1-di+q的距离”,即人工神经网络预测的电平值更接近正确的真值电平,|ei-di+q|<|ei-(1-di+q)|,人工神经网络的预测就是正确的;如果“ei与di+q的距离”≥“ei与1-di+q的距离”,即人工神经网络预测的电平值偏离真知过多、更接近错误的电平值,|ei-di+q|≥|ei-(1-di+q)|,人工神经网络的预测就是错误的,使用多组不同的真值信号,测试人工神经网络预测线性反馈移位寄存器输出的结果。

所述的步骤5中,截取接收序列中连续的一段{ri,…,ri+q-1}作为测试样本的输入数据,这段数据不是训练人工神经网络时使用过的数据,将{ri,…,ri+q-1}输入训练好的人工神经网络,得到人工神经网络预测的电平输出为ei,将ei与截取数据段的后续一个信号ri+q进行比较,如果“ei与ri+q的距离”<“ei与1-ri+q的距离”,即人工神经网络预测的电平值更接近实际接收的电平,|ei-ri+q|<|ei-(1-ri+q)|,人工神经网络的预测就是正确的;如果“ei与ri+q的距离”≥“ei与1-ri+q的距离”,即人工神经网络预测的电平值偏离实际接收的电平过多、更接近错误的电平值,|ei-ri+q|≥|ei-(1-ri+q)|,人工神经网络的预测就是错误的。

所述的步骤5中的测试数据来自线性反馈移位寄存器产生的真值信号,或者来自未加入人工神经网络训练的训练样本数据。

本发明的有益效果在于:相对既有方法,本发明使用人工神经网络逼近线性反馈移位器的反馈关系时,网络复杂度不会随输入数据的维度的增加而成指数性增加,即,本发明方法的复杂度不会随m序列反馈多项式阶数n成指数增长。因此,在计算复杂度方面,本发明方法具有显著优势,显著降低了计算复杂度,减少了计算资源开销。另外,对接收信号遭受信道噪声干扰后包含错误的容忍度方面,本发明方法将传统方法的“海底捞针、非对即错”(在随m序列反馈多项式阶数n成指数增长巨大搜索空间中,搜索存在的唯一正确解),转变为随误码率连续变化的渐变优化过程(图4中的预测电平随误码率变化逐渐趋向0.5,超过0.5为错误预测),明显提升了对接收信号包含错误的容忍限度,也显著优于传统的序列分析方法和传统的人工神经网络应用方式。

本发明使用人工神经网络逼近线性反馈移位器的反馈关系(公式(1)),网络复杂度不会随输入数据维度的增加而成指数性增加,即,本发明方法的复杂度不会随m序列反馈多项式阶数成指数增长。因此,在计算复杂度方面,本发明方法具有显著优势,显著降低了计算复杂度。

附图说明

图1为m序列{di}产生原理图;

图2为人工神经网络结构框图;

图3为人工神经网络在无噪声测试集上逼近7阶m序列映射关系;

图4为人工神经网络在无噪声测试集上逼近9阶m序列映射关系;

图5为人工神经网络在无噪声测试集上逼近15阶m序列映射关系;

图6为人工神经网络在无噪声测试集上逼近16阶m序列映射关系;

图7为人工神经网络在无噪声测试集上逼近20阶m序列映射关系;

图8为人工神经网络在无噪声测试集上逼近21阶m序列映射关系;

图9为人工神经网络在无噪声测试集上逼近23阶m序列映射关系;

图10为人工神经网络在无噪声测试集上逼近101阶m序列映射关系;

图11为在训练数据包含误码率(误码率为5%)情况下训练人工神经网络逼近20阶m序列映射关系;

图12为在训练数据包含误码率(误码率为10%)情况下训练人工神经网络逼近20阶m序列映射关系;

图13为在训练数据包含误码率(误码率为15%)情况下训练人工神经网络逼近20阶m序列映射关系;

图14为在训练数据包含误码率(误码率为20%)情况下训练人工神经网络逼近20阶m序列映射关系;

图15为在训练数据包含误码率(误码率为25%)情况下训练人工神经网络逼近20阶m序列映射关系;

图16为在训练数据包含误码率(误码率为30%)情况下训练人工神经网络逼近20阶m序列映射关系;

图17为在训练数据误码率为5%的情况下,训练人工神经网络逼近101阶m序列映射关系;

图18为在训练数据误码率为10%的情况下,训练人工神经网络逼近101阶m序列映射关系。

图19为在训练数据误码率为20%的情况下,训练人工神经网络逼近101阶m序列映射关系。

图20为在训练数据误码率为30%的情况下,训练人工神经网络逼近101阶m序列映射关系。

具体实施方式

下面结合附图及具体实施例对本发明作进一步详细说明。

本发明所提供的一种非合作线性反馈移位寄存器功能重建方法使用人工神经网络,作为一种逼近数据间存在的线性反馈移位寄存器连接反馈关系(公式(1))的工具,重构线性反馈移位寄存器的功能,具体包括如下步骤:

步骤1:使用存储设备,存储非合作第三方接收的线性反馈移位寄存器产生的输出信号;

其中,非合作第三方接收的信号为{r1,…,rp},长度为p,ri∈{0,1}是非合作第三方恢复的线性反馈移位寄存器输出信号序列,0和1分别表示低和高两种电平。其中,ri=di+ni,di表示线性反馈移位寄存器输出的真实信号,ni表示传输中噪声的影响,“+”为模二加运算,ni=0表示接收正确,ni=1表示接收发生错误,能够正确接收的概率为ε,即ni=0的概率为ε,记作pr{ni=0}=ε。

步骤2:使用计算机对接收的信号进行预处理,形成训练人工神经网络的测试样本数据,每个样本包括输入数据和输出数据两部分,均源自接收信号,且输入数据和输出数据间蕴含着线性反馈移位寄存器的接连反馈关系;

选取接收信号中连续的一段{ri,…,ri+q-1}作为训练样本的输入数据,截取数据段的后续一个信号ri+q作为训练样本的输出数据,截取连续数据段的长度应大于等于线性反馈移位寄存器的阶数n,即,寄存器的个数为n,接收序列长度为p,则最多可产生p-q+1个训练样本。

步骤3:用存储器存储训练数据;

使用存储器进行训练数据存储,由于固态存取器件读写取速度显著快于机械存储器件,本发明中使用固态存储器。

步骤4:使用计算机构建人工神经网络,读取训练数据,并训练人工神经网络,逼近训练样本输入数据和输出数据之间蕴含的映射关系;

将训练样本的输入数据{ri,…,ri+q-1}作为训练人工神经网络的输入数据,将训练样本的输出数据ri+q作为训练人工神经网络的输出数据,使用批处理等训练人工神经网络的技术,使人工神经网络逼近训练样本中输入数据和输出数据之间的关系,样本输入数据和输出数据之间的关系,是由线性反馈移位寄存器的反馈连接关系决定的,如公式(1)

其中,di∈{0,1}表示m序列元素,0和1分别表示寄存器输出的低和高两种电平;c0,...,cn∈{0,1}表示反馈连接关系,0表示不连接,1表示连接;a1,...,an∈{0,1}表示移位寄存器状态,0和1分别表示寄存器存储的低和高两种电平;n表示寄存器的数量,也是线性反馈移位寄存器的阶数;加法“+”为模二加法器,将输入的0和1,按照模二加规则,输出0或1,0和1分别表示低和高两种电平。

步骤5:使用计算机,在测试数据上测试人工神经网络重建线性反馈移位寄存器功能的程度,测试数据可来自线性反馈移位寄存器产生的真值信号,也可来自未加入人工神经网络训练的训练样本数据。

截取一段连续的线性反馈移位寄存器真值信号{di,…,di+q-1}作为测试样本的输入数据,将{di,…,di+q-1}输入训练好的人工神经网络,得到人工神经网络预测的下一个输出电平为ei,将ei与线性反馈移位寄存器无噪声真值信号的后续一个信号di+q进行比较,如果“ei与di+q的距离”<“ei与1-di+q的距离”,即人工神经网络预测的电平值更接近正确的真值电平,|ei-di+q|<|ei-(1-di+q)|,那么人工神经网络的预测就是正确的;如果“ei与di+q的距离”≥“ei与1-di+q的距离”,即人工神经网络预测的电平值偏离真知过多、更接近错误的电平值,|ei-di+q|≥|ei-(1-di+q)|,那么人工神经网络的预测就是错误的。使用多组不同的真值信号,测试人工神经网络预测线性反馈移位寄存器输出电平的能力,预测的平均正确率,代表了人工神经网络重建线性反馈移位寄存器功能的程度。

同样,可以截取接收序列中连续的一段{ri,…,ri+q-1}作为测试样本的输入数据,同时要保证这段数据不是训练人工神经网络时使用过的数据。将{ri,…,ri+q-1}输入训练好的人工神经网络,得到人工神经网络预测的下一个输出电平为ei。将ei与截取数据段的后续一个接收信号ri+q进行比较,如果“ei与ri+q的距离”<“ei与1-ri+q的距离”,即人工神经网络预测的电平值更接近实际接收的电平,|ei-ri+q|<|ei-(1-ri+q)|,那么,就认为人工神经网络的预测就是正确的;如果“ei与ri+q的距离”≥“ei与1-ri+q的距离”,即人工神经网络预测的电平值偏离实际接收的电平过多、更接近错误的电平值,|ei-ri+q|≥|ei-(1-ri+q)|,那么,就认为人工神经网络的预测就是错误的。使用多组不同的接收信号,测试人工神经网络预测后续输出电平的能力。预测的平均正确率,反应了人工神经网络重建线性反馈移位寄存器功能的程度。与使用真值信号不同,由于接收信号会受到信道噪声干扰产生误码,因此,仅能从一定程度上反映出人工神经网络重建线性反馈移位寄存器功能的程度。

实施例1:

步骤1:使用存储设备,存储非合作第三方接收的线性反馈移位寄存器产生的输出信号;设接收的信号为{r1,…,rp},ri=di+ni,di∈{0,1}线性反馈移位寄存器输出的真实信号电平,0和1分别表示寄存器输出的低和高两种电平,ni表示传输中噪声的影响,“+”为模二加运算,ni=0表示接收正确,ni=1表示接收发生错误,能够正确接收的概率为ε,即ni=0的概率为ε,记作pr{ni=0}=ε。

本实施例中,选取了7个线性反馈移位寄存器进行非合作功能重建,各个线性移位寄存器的抽头位置矢量和寄存器初始状态如表1所示,初始状态中0和1分别表示寄存器存储的低和高两种电平。

表1m序列设置表

步骤2,使用计算机对接收的信号进行预处理,形成训练人工神经网络的测试样本数据,每个样本包括输入数据和输出数据两部分,均源自接收信号,且输入数据和输出数据间蕴含着线性反馈移位寄存器的接连反馈关系。

选取接收信号中连续的一段{ri,…,ri+q-1}作为训练样本的输入数据,截取数据段的后续一个信号ri+q作为训练样本的输出数据。截取连续数据段的长度≥线性反馈移位寄存器的阶数n。接收信号长度为p,则最多可产生p-q+1个训练样本。

本实施例中,接收m序列一个循环周期的前70%作为训练数据。

本实施例中,q值直接设为线性反馈移位寄存器的阶数n。实际中,可能存在无法准确估计阶数n的情况,此时可以依次试探性地选取可能的阶数值,并行实施本发明方法,算法收敛即为有效恢复了线性反馈移位寄存器的功能,并且算法复杂度随阶数n成线性变化。

步骤3,用存储器存储训练数据,一个输入数据[[ri],…,[ri+q-1]]对应一个输出数据[ri+q];

步骤4,使用计算机构建人工神经网络,读取训练数据,并训练人工神经网络,逼近训练样本输入数据和输出数据之间蕴含的映射关系;

使用tensorflow1.8.0框架,采用长短期记忆网络(longshort-termmemory,lstm)后接全连接网络的结构,搭建了逼近公式(1)映射关系的人工神经网络,如图2所示,图2为人工神经网络结构框图,输入[α,1]维矢量,输出为1维矢量。lstm中step数量为α,包含两层循环网络,cell中神经元数量都为β,即输出神经元数量,再后接全连接网络,全连接网络两个全连接层的节点数量分别为32和16。lstm中包含两层循环网络,每个cell都采用dropout丢弃处理,保留数据的比重均设为0.8。

在进行逼近训练时,根据输出的逼近情况,主要调整的参数是人工神经网络的输入维数α和神经元数量β。一个m序列对应一个反馈关系(公式(1)),一个反馈关系使用一个人工神经网络进行逼近。

在接收的训练数据中不包含噪声影响(ni=0)的情况下,经过20轮训练,即可逼近表1中列出的7个m序列的映射关系(表2)。

表2m序列对应人工神经网络逼近器参数设置表

步骤5,使用计算机,在测试数据上测试人工神经网络重建线性反馈移位寄存器功能的程度,测试数据可来自线性反馈移位寄存器产生的真值信号,也可来自未加入人工神经网络训练的训练样本数据。本实施例中,使用未发送的30%线性反馈移位寄存器产生的真值信号,构成测试数据。

在无噪声测试集上,根据部分观测序列,训练好的人工神经网络可以准确逐一预测下一个输出电平,如图3-图9所示,各图中的黑色点表示m序列的真值,叉点表示人工神经网络输出的预测值。在无噪声测试集上,人工神经网络可以根据前段的观测序列(未对应预测值),准确逐一预测出后续所有电平值(预测点与真值点的连线未与0.5恒等线相交,就是正确预测,大于0.5判决为1,即高电平,小于0.5判决为0,即低电平)。同时,可以将判决后的数据和前序序列组合形成新的人工神经网络输入,进而预测判决数据后续的下一个电平,这样反复操作就可根据一段已观测的信号,预测后续任意长度的输出电平。

设真值信号{di,…,di+q-1}构成人工神经网络的测试样本输入,人工神经网络输出的下一个预测电平为xi+q。如果xi+q>0.5,则令xi+q=1,即为高电平;否则,如果xi+q≤0.5,则令xi+q=0,即为低电平。xi+q就是运用本方法对真值信号下一个信号电平di+q的预测估计值。将{di+1,…,di+q-1,xi+q}构成人工神经网络新的测试样本输入,设人工神经网络输出的下一个预测电平为xi+q+1。如果xi+q+1>0.5,则令xi+q+1=1,即为高电平;否则,如果xi+q+1≤0.5,则令xi+q+1=0,即为低电平。xi+q+1就是运用本方法对信号的下一个信号di+q+1的预测估计值。这样反复操作就可根据一段已观测的信号,预测后续任意长度的信号。

本方法重建线性反馈移位寄存器功能——通过一组观测信号预测下一个信号,利用的是,人工神经网络学习到的m序列自身固有的数据间的映射关系(公式1)。本文方法不同于已有方法,已有方法是去估计线性反馈移位寄存器的连接反馈系数{c0,…,cn};已有的使用人工神经网络的方法,也是在试图估计线性反馈移位寄存器的连接反馈系数{c0,…,cn}。

实施例2:

在训练数据中不包含噪声的情况下,重复实施例1的实验过程,不同的是:1)选取的线性反馈移位寄存器阶数为101阶,线性移位寄存器的抽头位置矢量为[101,7,6,1]和初始状态为“11000010110111001010001110101101110010110001101011011100101110001010110111001011111110101101110010001”;2)用于训练的接收序列长度调整为连续接收的700000个信号;3)使用tensorflow1.13.1框架,人工神经网络中的lstm去掉1个循环网络层,仅保留一个循环网络层,输入维数α=101,神经元数量β=101,经过60轮训练,即可逼近序列的映射关系,如图10所示。

实施例3:

在训练数据中包含噪声的情况下,以20阶m序列为例,重复例1实验过程,不改变例1中使用人工神经网络的结构,不同的是,训练数据包含了噪声影响,用于训练的接收信号长度调整为7000,训练轮数增加到60轮。在噪声ni的有偏性ε≥0.70(误码率为30%)的情况下,使用本发明仍能训练人工神经网络逼近m序列的映射关系。在无噪声测试集上,人工神经网络可以根据前段的观测信号(未对应预测点),准确逐一预测出后续所有信号(预测点与真值点的连线未与0.5恒等线相交,就是正确预测),本实施例中使用未发送的线性反馈移位寄存器产生的真值信号,构成测试数据。图11-图16中黑色点表示m序列的真值,叉点表示人工神经网络输出的预测值。

实施例4:

不改变实施例2中使用人工神经网络的结构,重复实施例2实验过程,不同的是,训练数据包含了噪声影响。

在噪声ni的有偏性ε=0.95和0.9(误码率为5%和10%)的情况下,用于训练的接收信号长度调整为700000,训练轮数增加到100轮;在噪声ni的有偏性ε=0.8和0.7(误码率为20%和30%)的情况下,用于训练的接收信号长度调整到2100000,训练轮数同样增加到100轮。使用本发明仍能训练人工神经网络逼近m序列的映射关系。

在无噪声测试集上,人工神经网络可以根据前段的观测信号(未对应预测点),准确逐一预测出后续所有信号(预测点与真值点的连线未与0.5恒等线相交,就是正确预测),本实施例中使用未发送的线性反馈移位寄存器产生的真值信号,构成测试数据。图17-图20中黑色点表示m序列的真值,叉点表示人工神经网络输出的预测值。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1