基于初等元胞自动机的混沌交织器及数据交织方法与流程
未命名
08-12
阅读:146
评论:0
1.本发明属于通信技术领域,具体涉及一种基于初等元胞自动机的混沌交织器及数据交织方法。
背景技术:
2.在陆地移动通信的变参信道上,比特差错经常是成串发生的。这是由于持续较长的深衰落谷点会影响到相继一串的比特。然而,信道编码仅在检测和校正单个差错和不太长的差错串时才有效。为了解决这一问题,希望能研发一种把一条消息中的相继比特分散开的方法,即一条消息中的相继比特以非相继方式被发送。这样,在传输过程中即使发生了成串差错,恢复成一条相继比特串的消息时,差错长度很短甚至变成单个比特错误,这时再用信道编码纠错功能纠正差错,恢复原消息,这种方法就是交织技术。
3.交织器的交织过程是turbo编解码系统中一个非常重要的环节,一般在信道编码器之后和调制之前,它对整个编解码系统的性能有很大的影响,其作用主要是改变码重分布及分离传输中相关信道的衰落所引起的连续突发错误。交织器的功能就是将数据序列中元素的位置进行重置得到交织序列。交织器的设计方案大致可分为两类:规则交织器和随机交织器。规则交织器通常比较容易实现,常见的有块交织器、分组交织器、分组螺旋交织器,但规则交织器对于一些特定的序列无法改变其相关性和码重,对于长序列的交织性能也不理想。这时随机交织器便可以得到更好的性能,其利用一定的映射规则生成伪随机序列,将之作为交织索引序列对信息序列重新排序,从而达到信息置乱的目的。
4.混沌系统因其本身的伪随机性、初值敏感性、可确定性和无限周期性等优良特性而广泛应用于通信领域中。元胞自动机是一种时间、空间、状态都离散,空间相互作用和时间因果关系为局部的网格动力学模型,具有模拟复杂系统时空演化过程的能力。初等元胞自动机即一维元胞自动机,每个元胞只有两个状态,分别对应二进制中的0和1,每次迭代后当前元胞的状态值由当前元胞和其邻居的前次状态值决定。
5.传统的混沌系统存在均匀性较差,动力学特性不够复杂的缺点,直接将混沌系统应用于交织器的映射规则中时,数据分布不均可能导致交织后的序列并未完全被置乱,一部分数据仍有可能陷入衰落而无法恢复。在传统的时空混沌系统的基础上引入了初等元胞自动机的扰动结果后,系统的均匀性和动力学复杂性明显优于传统时空混沌系统,这种特性也非常适合用于交织器的设计。
技术实现要素:
6.鉴于上述现状,本发明将初等元胞自动机迭代结果引入混沌映射从而设计出一种新型的交织器,本发明在传统的混沌交织器的基础上进行改进,使用初等元胞自动机扰动的混沌映射代替传统混沌映射来生成交织序列,得到一种混沌交织器及数据交织方法。
7.本发明采取如下技术方案:
8.基于初等元胞自动机的混沌交织器的数据交织方法,具体步骤如下:
9.s1,确定混沌交织器的数据分组长度、交织深度和混沌交织器系统模型;
10.s2,设置基于初等元胞自动机的混沌交织器系统的初始参数和状态;
11.s3,混沌交织器系统根据设定的参数迭代产生数据;
12.s4,将生成的数据映射成为一个交织序列;
13.s5,检查交织序列是否满足交织深度的要求,不满足则跳回步骤s3,满足则继续执行步骤s6;
14.s6,得到待交织的数据,然后按照步骤s5产生的交织序列对数据进行交织。
15.优选的,步骤s1中,根据用户需求确定l和r。l为数据的分组长度,即每l比特数据交织一次;r为交织深度,即信道中可能的突发错误的长度。特别地,原相距小于r的数据经过交织后相距应该大于r。进一步,基于初等元胞自动机扰动的混沌交织器系统模型如下:
[0016][0017]
其中,n=0,1,2,
…
n是时间维度,即迭代次数;i=0,1,2,
…
l是空间维度,即格点索引;ε代表耦合强度,ε∈(0,1);xn(i)表示在时刻n时,第i个格点的状态值;代表元胞i在n时刻的状态值,有两个状态,分别为0或1。上式第1项和第2项之和是基本混沌系统,第3项是基于初等元胞自动机的扰动系统,特别地,元胞索引i和格点索引i在数值上相同,格点i的值由基本混沌系统迭代结果和元胞i的迭代结果共同决定。此外,混沌交织器系统的边界条件为xn(l+1)=xn(1)。
[0018]
进一步,基本混沌系统中的f选择一维logistic映射,即
[0019]
f(xn(i))=uxn(i)(1-xn(i))(2)
[0020]
u为基本混沌系统参数,其取值范围为(3.57,4],此外,xn(i)取值范围为[0,1]。
[0021]
进一步,公式(1)中的p(
·
)和δ(
·
)为初等元胞自动机迭代结果,其功能是对生成的混沌数据进行优化,使整个系统的动力学复杂性和均匀性优于传统时空混沌系统,具体得到方法如下:
[0022][0023][0024]
其中,sn为第n次迭代时所有元胞组成的二进制序列,sn(b1b2…b32
)为在第n次迭代时所有的元胞中不重复地随机选择32个元胞的状态组成的一个二进制数,bin2dec为二进制数据转为十进制数据的函数,将由元胞状态组成的二进制数转换为十进制数后作为被除数计算得到p(sn)。由的状态决定。
[0025]
进一步,所述初等元胞自动机状态更新公式为:
[0026][0027]
g为布尔函数并可由自己设定的局部映射规则决定,每次迭代当前元胞的状态值由当前元胞和其邻居元胞的前次状态值决定。
[0028]
进一步,基本混沌系统与元胞自动机的结果相加之后,对其和值使用1进行取模运算,经过迭代后即可生成一组长度为l的位于区间[0,1]的混沌数据。
[0029]
优选的,步骤s2中,本发明交织器的初始参数包括设定混沌交织器系统参数和初始状态,即混沌映射logistic函数f中的u值以及混沌交织器系统的耦合系数ε以及第一次迭代时的初始值x1(i),i∈[1,l],并对该系统中的各元胞进行初始状态的赋值,即公式(1)的第一次迭代时各元胞的初始值i∈[1,l],以及设定交织器需要的迭代次数n。
[0030]
优选的,步骤s3包括以下步骤:
[0031]
s3.1,根据s2中的参数设置进行n次迭代,生成l个数据,特别地,当从s5回到s3步骤时,再额外进行一次迭代又可得到l个数据;
[0032]
s3.2,将生成的l个数据写入一个数组s,s=[x(1),x(2),
…
,x(l)];
[0033]
优选的,步骤s4包括如下步骤:
[0034]
s4.1,将s3步骤产生的数组s中的数据进行排序;
[0035]
s4.2,把排序后的各数据x(i)在原数组s中的位置x
′
(i)依次写入s
′
得到交织序列,即s
′
=[x
′
(1),x
′
(2),
…
,x
′
(l)]。
[0036]
优选的,步骤s5中,依次检验交织序列s
′
中的每一个数据,确定该数据右侧的r个数据与该数据在未交织前的距离大于r,不满足则返回步骤s3,满足要求则进入下一步骤s6。
[0037]
优选的,步骤s6中,从数据交织模块得到待交织的数据seq(l),然后用步骤s5中生成的满足要求的交织序列s
′
对seq(l)进行交织,交织规则为seq
′
(s
′
(i))=seq(i),i∈[1,l],最终得到交织后的数据seq
′
(l)。
[0038]
本发明还公开了一种基于初等元胞自动机的混沌交织器,其包括如下模块:
[0039]
确定模块:确定混沌交织器的数据分组长度、交织深度和混沌交织器系统模型;
[0040]
设置模块:设置基于初等元胞自动机的混沌交织器系统的初始参数和状态;
[0041]
数据产生模块:混沌交织器系统根据设定的参数迭代产生数据;
[0042]
数据映射模块:将生成的数据映射成为一个交织序列;
[0043]
判断模块:检查交织序列是否满足交织深度的要求,不满足则由数据产生模块执行,满足则由数据交织模块执行;
[0044]
数据交织模块:得到待交织的数据,然后按照判断模块的交织序列对数据进行交织。
[0045]
本发明的有益效果是:
[0046]
本发明的交织器较传统的交织器如块交织器、混沌交织器性能更优,而且参数可控、便于优化、确定参数后可快速大量的生成交织器。本发明不仅适用于信道编码领域中,也可用于其它需对信息序列进行扰乱的通信电子系统中。
附图说明
[0047]
图1是本发明基于初等元胞自动机的混沌交织器的数据交织方法流程图。
[0048]
图2是本发明的交织器产生的交织序列。图2是根据本发明优选实施例配置的基于元胞自动机扰动的混沌交织器产生的长度为1024比特的交织序列,为方便查看转换为二维数组的形式,实际序列为行数为1,列数为1024的一维数组,图中的二维数组按列依次读取即为原序列。
[0049][0050]
图3是本发明基于初等元胞自动机的混沌交织器的系统框图。
具体实施方式
[0051]
下面将结合附图对本发明优选实施例的技术方案进行清楚、完整的描述。
[0052]
参照图1,本实施例的基于初等元胞自动机的混沌交织器的数据交织方法,具体的实现包括以下步骤:
[0053]
s1,确定混沌交织器的数据分组长度、交织深度和混沌交织器系统模型;
[0054]
s2,设置基于初等元胞自动机的混沌交织器系统的初始参数和状态;
[0055]
s3,混沌交织器系统根据设定的参数迭代产生数据;
[0056]
s4,将生成的数据映射成为一个交织序列;
[0057]
s5,检查交织序列是否满足交织深度的要求,不满足则跳回s3,满足则继续往下执行;
[0058]
s6,从数据接收模块得到待交织的数据,然后按照上步产生的交织序列对数据进行交织。
[0059]
下面对每一步骤进行详细说明。
[0060]
步骤s1中,根据用户需求确定l和r。l为数据的分组长度,即每l比特数据交织一次;r为交织深度,即信道中可能的突发错误的长度。特别地,原相距小于r的数据经过交织后相距应该大于r。图2所示的实施例中,l=1024,r=3。进一步,基于初等元胞自动机扰动的混沌交织器系统模型如下:
[0061][0062]
其中,n=0,1,2,
…
n是时间维度,即迭代次数;i=0,1,2,
…
l是空间维度,即格点索引;ε代表耦合强度,ε∈(0,1);xn(i)表示在时刻n时,第i个格点的状态值;代表元胞i在n时刻的状态值,有两个状态,分别为0或1。上式第1项和第2项之和是基本混沌系统,第3项是基于初等元胞自动机的扰动系统,特别地,元胞索引i和格点索引i在数值上相同,格点i的值由混沌系统迭代结果和元胞i的迭代结果共同决定。此外,混沌交织器系统的边界条件为xn(l+1)=xn(1)。
[0063]
进一步,基本混沌系统中的f选择一维logistic映射,即
[0064]
f(xn(i))=uxn(i)(1-xn(i))(2)
[0065]
u为基本混沌系统参数,其取值范围为(3.57,4],此外,xn(i)的取值范围为[0,1]。
[0066]
进一步,公式(1)中的p(
·
)和δ(
·
)为初等元胞自动机迭代结果,其功能是对生成的混沌数据进行优化,使整个系统的动力学复杂性和均匀性优于传统时空混沌系统,具体得到方法如下:
[0067][0068][0069]
其中,sn为第n次迭代时所有元胞组成的二进制序列,sn(b1b2…b32
)为在第n次迭代
时所有的元胞中不重复地随机选择32个元胞的状态组成的一个二进制数据,bin2dec为二进制数据转为十进制数据的函数,将由元胞状态组成的二进制数转换为十进制数后作为被除数计算得到p(sn)。由的状态决定。
[0070]
进一步,所述初等元胞状态更新公式为:
[0071][0072]
g为布尔函数并可由自己设定的局部映射规则决定,每次迭代当前元胞的状态值由当前元胞和其邻居元胞的前次状态值决定。本实施例中使用的初等元胞自动机的映射规则如表1所示。
[0073]
表1初等元胞自动机的映射规则
[0074][0075]
进一步,时空混沌系统与元胞自动机的结果相加之后,对其和值使用1进行取模运算,经过迭代后即可生成一组长度为l的位于区间[0,1]的混沌数据。例如,原混沌系统产生的数据位于区间[0,1],元胞自动机的扰动结果位于区间[-0.5,0.5],为方便后续迭代计算,满足混沌系统的各状态值位于[0,1]的范围,所以相加之后对1取模,保证迭代结果位于区间[0,1]。
[0076]
步骤s2中,设置基于初等元胞自动机的混沌系统的初始参数包括设定混沌交织器系统参数和初始状态,即混沌映射logistic函数f中的u值,混沌交织器系统的耦合系数ε,第一次迭代时的初始值x1(i),i∈[1,l],以及该系统迭代次数n;并对系统中的各元胞进行初始状态的赋值,即公式(1)的第一次迭代时各元胞的初始值i∈[1,l]。图2所示实施例中,这些系统参数依次设置为u=3.9,ε=0.625,x1(i)=0.4,n=100;设置编号i为16,32,64,128,256,512的元胞状态值为1,其余元胞状态值为0。
[0077]
步骤s3中,混沌交织器系统根据设定的参数迭代产生数据,包括以下步骤:
[0078]
s3.1,根据s2中的参数设置进行n次迭代,生成l个数据,特别地,当从s5回到s3步骤时,再额外进行一次迭代又可得到l个数据;
[0079]
s3.2,将生成的l个数据写入一个数组s,s=[x(1),x(2),
…
,x(l)]。
[0080]
步骤s4中,将生成的数据映射成为一个交织序列,包括如下步骤:
[0081]
s4.1,将s3步骤中产生的数组s中的数据进行排序;
[0082]
s4.2,把排序后的各数据x(i)在原数组s中的位置x
′
(i)依次写入s
′
得到交织序列,即s
′
=[x
′
(1),x
′
(2),
…
,x
′
(l)]。
[0083]
步骤s5中,检查交织序列是否满足交织深度的要求的具体方法是:基于s1步骤设定的交织深度r和s4步骤生成的交织序列s
′
,依次检验s
′
中的每一个数据,确定该数据右侧的r个数据与该数据在未交织前的距离大于r,不满足则返回s3步,满足要求则进入下一步。
[0084]
步骤s6中,从数据接收模块得到待交织的数据seq(l),然后用s5步中生成的满足要求的交织序列s
′
对seq(l)进行交织,交织结果为seq
′
(s
′
(i))=seq(i),i∈[1,l],最终得到交织后的数据seq
′
(l)。例如,若s
′
=[3,1,4,2],seq(4)=[a,c,b,d],则seq
′
(4)=[c,d,a,b]。
[0085]
根据上述实施例步骤生成的交织序列s
′
见图2。
[0086]
如图3所示,本发明还公开了一种基于初等元胞自动机的混沌交织器,其包括如下模块:
[0087]
确定模块:确定混沌交织器的数据分组长度、交织深度和混沌交织器系统模型;
[0088]
设置模块:设置基于初等元胞自动机的混沌交织器系统的初始参数和状态;
[0089]
数据产生模块:混沌交织器系统根据设定的参数迭代产生数据;
[0090]
数据映射模块:将生成的数据映射成为一个交织序列;
[0091]
判断模块:检查交织序列是否满足交织深度的要求,不满足则由数据产生模块执行,满足则由数据交织模块执行;
[0092]
数据交织模块:得到待交织的数据,然后按照判断模块的交织序列对数据进行交织。
[0093]
本实施例其他内容可参考上述数据交织方法实施例。
[0094]
上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
技术特征:
1.基于初等元胞自动机的混沌交织器的数据交织方法,其特征是具体步骤如下:s1,确定混沌交织器的数据分组长度、交织深度和混沌交织器系统模型;s2,设置基于初等元胞自动机的混沌交织器系统的初始参数和状态;s3,混沌交织器系统根据设定的参数迭代产生数据;s4,将生成的数据映射成为一个交织序列;s5,检查交织序列是否满足交织深度的要求,不满足则跳回步骤s3,满足则执行步骤s6;s6,得到待交织的数据,然后按照步骤s5的交织序列对数据进行交织。2.如权利要求1所述基于初等元胞自动机的混沌交织器的数据交织方法,其特征是:步骤s1中,确定l和r,l为数据的分组长度,即每l比特数据交织一次;r为交织深度,即信道中可能的突发错误的长度;基于初等元胞自动机扰动的混沌交织器系统模型如下:其中,n=0,1,2,
…
n是时间维度,即迭代次数;i=0,1,2,
…
l是空间维度,即格点索引;ε代表耦合强度,ε∈(0,1);x
n
(i)表示在时刻n时,第i个格点的状态值;代表元胞i在n时刻的状态值,有两个状态,分别为0或1;上式第1项和第2项之和是基本混沌系统,第3项是基于初等元胞自动机的扰动系统;元胞索引i和格点索引i在数值上相同,格点i的值由基本混沌系统迭代结果和元胞i的迭代结果共同决定;混沌交织器系统的边界条件为x
n
(l+1)=x
n
(1);基本混沌系统中的f选择一维logistic映射,即f(x
n
(i))=ux
n
(i)(1-x
n
(i))
ꢀꢀꢀꢀ
(2)u为基本混沌系统参数,其取值范围为(3.57,4],x
n
(i)取值范围为[0,1];公式(1)中的p(
·
)和δ(
·
)为初等元胞自动机迭代结果,具体如下:)为初等元胞自动机迭代结果,具体如下:其中,s
n
为第n次迭代时所有元胞组成的二进制序列,s
n
(b1b2…
b
32
)为在第n次迭代时所有的元胞中不重复地随机选择32个元胞的状态组成的一个二进制数,bin2dec为二进制数据转为十进制数据的函数,将由元胞状态组成的二进制数转换为十进制数后作为被除数计算得到p(s
n
);由的状态决定。3.如权利要求2所述基于初等元胞自动机的混沌交织器的数据交织方法,其特征是:所述初等元胞自动机状态更新公式为:g为布尔函数并由自己设定的局部映射规则决定,每次迭代当前元胞的状态值由当前元胞和其邻居元胞的前次状态值决定。4.如权利要求2或3所述基于初等元胞自动机的混沌交织器的数据交织方法,其特征是:基本混沌系统与元胞自动机的结果相加之后,对其和值使用1进行取模运算,经过迭代后生成一组长度为l的位于区间[0,1]的混沌数据。
5.如权利要求4所述基于初等元胞自动机的混沌交织器的数据交织方法,其特征是:步骤s2中,初始参数包括设定混沌系统参数和初始状态,包括混沌映射logistic函数f中的u值以及混沌交织器系统的耦合系数ε以及第一次迭代时的初始值x1(i),i∈[1,l],并对混沌交织器系统中的各元胞进行初始状态的赋值,即公式(1)的第一次迭代时各元胞的初始值以及设定混沌交织器需要的迭代次数n。6.如权利要求5所述基于初等元胞自动机的混沌交织器的数据交织方法,其特征是:步骤s3包括以下步骤:s3.1,根据步骤s2中的参数设置进行n次迭代,生成l个数据;s3.2,将生成的l个数据写入一个数组s,s=(x(1),x(2),
…
,x(l)]。7.如权利要求6所述基于初等元胞自动机的混沌交织器的数据交织方法,其特征是:步骤s4包括如下步骤:s4.1,将步骤s3产生的数组s中的数据进行排序;s4.2,把排序后的各数据x(i)在原数组s中的位置x
′
(i)依次写入s
′
得到交织序列,即s
′
=[x
′
(1),x
′
(2),
…
,x
′
(l)]。8.如权利要求7所述基于初等元胞自动机的混沌交织器的数据交织方法,其特征是:步骤s5中,依次检验交织序列s
′
中的每一个数据,确定该数据右侧的r个数据与该数据在未交织前的距离大于r,不满足则返回步骤s3,满足则进入步骤s6。9.如权利要求8所述基于初等元胞自动机的混沌交织器的数据交织方法,其特征是:步骤s6中,从数据交织模块得到待交织的数据seq(l),然后利用步骤s5满足要求的交织序列s
′
对seq(l)进行交织,交织规则为seq
′
(s
′
(i))=seq(i),i∈[1,l],得到交织后的数据seq
′
(l)。10.基于初等元胞自动机的混沌交织器,其特征是包括如下模块:确定模块:确定混沌交织器的数据分组长度、交织深度和混沌交织器系统模型;设置模块:设置基于初等元胞自动机的混沌交织器系统的初始参数和状态;数据产生模块:混沌交织器系统根据设定的参数迭代产生数据;数据映射模块:将生成的数据映射成为一个交织序列;判断模块:检查交织序列是否满足交织深度的要求,不满足则由数据产生模块执行,满足则由数据交织模块执行;数据交织模块:得到待交织的数据,然后按照判断模块的交织序列对数据进行交织。
技术总结
本发明公开了一种基于初等元胞自动机的混沌交织器及数据交织方法,方法具体步骤如下:S1,确定混沌交织器的数据分组长度、交织深度和混沌交织器系统模型;S2,设置基于初等元胞自动机的混沌交织器系统的初始参数和状态;S3,混沌交织器系统根据设定的参数迭代产生数据;S4,将生成的数据映射成为一个交织序列;S5,检查交织序列是否满足交织深度的要求,不满足则跳回步骤S3,满足则执行步骤S6;S6,得到待交织的数据,然后按照步骤S5的交织序列对数据进行交织。本发明的交织器较传统的交织器如块交织器、混沌交织器性能更优,而且参数可控、便于优化、确定参数后可快速大量的生成交织器。器。器。
技术研发人员:李玥 王明阳 姚英彪 刘涛 徐欣 梁军学 苏熙杰 汪波
受保护的技术使用者:中国人民解放军93216部队
技术研发日:2023.05.25
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
