当前位置: 首页 > 专利查询>秦柏林专利>正文

一种新型基于独立单元的纠错编码方法及单元格式技术

技术编号:38526313 阅读:17 留言:0更新日期:2023-08-19 17:02
遁一码是一种新型数据传输编码,可以用做信道编码,也以用做纠错控制码。将源数据通过分组,使用遁一方程组,编码产生修复符号;把源符号与修复符号格式为编码单元,每一个编码单元都是独立的传输块;源数据的编码单元构成源向量,修复数据单元构成修复向量。数据传输时,发送源数据向量与修复数据向量,在未收到应答的情况下,重复发送修复向量;接收端收到数据并解码,如果能成功解出源数据,那么就发送应答,如果不能解出源数据就继续接收数据,直到可以解出数据为止。发送、接收中无单独的参数传递,丢失或错掉一些编码单元,通过遁一方程组可以解码出源数据,遁一码编码解码和信号的物理参数无关,因此是一种优秀的信道编码。因此是一种优秀的信道编码。因此是一种优秀的信道编码。

【技术实现步骤摘要】
一种新型基于独立单元的纠错编码方法及单元格式


[0001]适用于无线通信和有线通信。包括卫星通信、计算机通信、手机与基站通信、飞行设备间通信、潜艇通信、海面船只通信、车辆间通信、无线设备通信等。

技术介绍

[0002]无论有线通信还是无线通信,在数据传输过程难免会出现错误,如何发现数据错误?如何通过不重传数据校正数据?如何减少可靠传输的数据应答次数?如何适应在各种通信场景均可以使用?通过多年的探索,我们研究出遁一码编码算法来解决这些问题。通过定义一个异或方程组叫遁一方程组,遁一方程组的每个变量系数为0或1;将源数据分组成方程组对应的变量,代入方程组计算出一组修复数据。源数据通过格式处理成源数据单元,多个源数据单元组成一个源数据向量;将修复数据通过格式处理成修复数据单元,多个修复单元组成修复向量。将源向量和修复向量发送出去,如果在发送后没有收到应答,则继续发送修复向量。接收端收到数据,解码并对发送端做出应答;如果接收端收到的数据无法解码,只需继续接收数据,直到可以解码时才对发送端做出应答。整个收发过程始终只做一次应答。这样既保证了数据的可靠传输,也减少往返应答。在通信故障或数据大量丢失的情况下,这种传输处理方式也可以保证双方能正确连接通信,因为,发送端只要没有收到应答,会继续发送修复数据,接收端只要收到足够的修复数据与源数据就可以解码出完整的源数据的序列,并做应答;如果应答丢失,发送端在继续发送相同数据,接收端解码数据继续应答,直到两端通信正常,所以不需要额外数据及机制就可以实现可靠传输。编码单元(源数据单元与修复数据单元)作为传输数据块的原子单元,整个数据传输无需额外数据,避免关键数据错误导致整个发送序列无法解码的情况发生,因此简单可靠。

技术实现思路

[0003]组:由多个长度为K位的bit数据,构成的向量,如图1所示。
[0004]源数据:由K位bit构成的原始数据,如图1所示。
[0005]序号:N个源数据经过遁一矩阵编码后得到N个修复数据,构成2N个数据;每个数据位置就是数据序号,从0开始到2N

1结束。
[0006]编码方案:发送端和接收端设置好的一组参数。包括:序号位长K,数据位长L。编码方案长度为2bit,可以设置4套方案,兼顾不同大小的发送数据。发送数据序列越大,对应索引位长越大,数据位长也越大,冗余比越低,越接近香农定理的理论传输。方案在初始时双方必须使用默认预设值,然后可以通过动态协商改变。
[0007]源符号:由编码方案+应答标识+序号+源数据+CRC构成的bit序列,一个源符号也是一个最简原始独立数据传输单元,如图2所示。
[0008]修复符号:由编码方案+应答标识+序号+修复数据+CRC校验数据构成的bit序列,一个修复符号也是一个最简原始独立数据传输单元,如图2所示。
[0009]源向量:一组源符号构成的序列。
[0010]修复向量:一组修复符号构成的序列。
[0011]遁一方程组定义构建一个异或方程组为:构建一个异或方程组为:构建一个异或方程组为:
…………
方程组由n个变量,n个异或方程式构成。特点是:第一个方程式缺第一个变量X0,第二个方程式缺第二个变量X1,依次类推到第n

2个方程式缺第n

2个变量,最后一个方程式有全部变量。因此该方程组叫遁一方程组,除去最后一行,每行遁去与自身序号对应的变量,第一行遁去X0,第二行遁去X1,第n

1行遁去X
n
‑2。根据方程组的特点可以轻松得出方程的解:根据方程组的特点可以轻松得出方程的解:............
[0012]遁一方阵将遁一方程组的系数组成一个n阶方阵,叫遁一方阵,如下:方阵前n

1行和最后一行,均只有一个变量不同,因此遁一方阵很容易化为单位阵。将最后一行和前n

1行异或,前n

1行的对角线均为1,其余元素为0,再把第一行到n

1行异或到最后一行,整个方阵化为了单位矩阵,所以遁一方程组有且仅有唯一解。
[0013]编码将N(N>2)个相同长度为K的bit,组成一个源数据向量Vs(X1,X2...X
n
),将向量Vs按遁一矩阵排列,每一行通过异或运算得出对应行的修复数据,N行计算结果组成的向量叫修复向量Vr。复向量Vr。
……
根据N的大小与K的大小,将向量Vs的每一个元素编码成一个源单元,源单元格式见图2,将修复向量Vr的每一个元素编码成一个修复单元,修复单元格式见图2。编码后源单元为N个,修复单元为N个。
[0014]解码编码是N个源数据加N个修复数据构成,根据遁一矩阵有唯一解的特性,我们在解码时有三种情形处理:
[0015]一、源向量全部无错接收,无需解码,直接得到传输数据;
[0016]二、源数据全部出错或丢失,通过修复向量求解,那么源数据可以通过遁一方程组通解求出:通解求出:............
[0017]三、源数据收到部分,修复数据收到部分;这种情形比较复杂,假设源数据由i个,修复数据有j个,如果i+j>=N那么通过代入源数据到遁一方程组,利用异或方程式的左右交换方程式不变特性,可以求解除降解方程组的解,得到完整源数据。如果i+j<N,则无法解除完整源数据,需要继续接收修复向量。
[0018]编码流程编码流程如附图3所示,从数据发送缓冲区读取发送数据,根据发送数据大小选取适合的编码方案,根据编码方案将源数据分组,通过遁一方程组计算修复数据,把源数据与修复数据整理成编码单元格式,计算CRC校验值。编码单元格式构成为:编码方案号(2bit)+应答标识(1bit)+序号(由编码方案确定)+数据+CRC校验值。组包源向量,组包修复向量,发送源向量,发送修复向量,如果收到应答终止发送,一次传输成功完成;如果没有收到应答,那么继续发送修复向量,知道收到应答为止。
[0019]解码流程解码流程如附图4所示,收到数据判断前2位值是否大于4,如果大于等于4,数据有误抛弃,接着判断下2位;如果小于4那么查找对应方案编号,获得分组总数N,序号长度H,符号长度L,根据N+H+L+3得到CRC校验值,对编码单元部分做CRC计算,判断CRC是否相等,如果相等则成功接收一个编码单元,如果不等,那么抛弃这2位,继续从夫前面步骤。接收一个编码单元后,放入编码单元向量,并判端接收向量是否可以解码,如果可以解码,解码数据,放入数据缓冲区,通知上层应用;并同时对发送端做出应答;如果不能解码,则继续从接收缓冲读取数据,进行解码处理。
[0020]无线设备点对点收发在上面我们详细讲了编解码的数学原理及编码格式以及编码流程,接着我们详细描述在无线点对点设备应用流程。无线设备点对点通信是很多组网通信的基础,因此这种通信方案可以应用于无线组网设备的点对点之间。无线设备点对点通信流本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.遁一码是一种向前纠错码,用于保护数据传输的编码,包括编码方法与解码方法及传输格式,其特征在于:编解码数学原理:定义一个异或方程组:第一个方程式缺第一个变量X0,第二个方程式缺第二个变量X1,依次类推到第n

2个方程式缺第n

2个变量,最后一个方程式有全部变量。因此该方程组叫遁一方程组,除去最后一行,每行遁去与自身序号对应的变量。X1⊕
X2⊕
X3⊕
X4……
X
n
‑2⊕
X
n
‑1=A0X0⊕
X2⊕
X3⊕
X4……
X
n
‑2⊕
X
n
‑1=A1X0⊕
X1⊕
X3⊕
X4……
X
n
‑2⊕
X
n
‑1=A2……
X0⊕
X1⊕
X2⊕
X3……
X
n
‑3⊕
X
n
‑1=A
n
‑2X0⊕
X1⊕
X2⊕
X3……
X
n
‑2⊕
X
n
‑1=A
n
‑1异或方程组的系数构成一个N阶方阵叫遁一方阵:方阵前n

1行和最后一行,均只有一个变量不同,因此遁一方阵很容易化为单位阵。将最后一行和前n

1行异或,前n

1行的对角线均为1,其余元素为0,再把第一行到n

1行异或到最后一行,整个方阵化为了单位矩阵...

【专利技术属性】
技术研发人员:秦柏林
申请(专利权)人:秦柏林
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1