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

文档序号:35144878发布日期:2023-08-18 00:22阅读:94来源:国知局
一种新型基于独立单元的纠错编码方法及单元格式与流程

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


背景技术:

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


技术实现思路

1、组:由多个长度为k位的bit数据,构成的向量,如图1所示。

2、源数据:由k位bit构成的原始数据,如图1所示。

3、序号:n个源数据经过遁一矩阵编码后得到n个修复数据,构成2n个数据;每个数据位置就是数据序号,从0开始到2n-1结束。

4、编码方案:发送端和接收端设置好的一组参数。包括:序号位长k,数据位长l。编码方案长度为2bit,可以设置4套方案,兼顾不同大小的发送数据。发送数据序列越大,对应索引位长越大,数据位长也越大,冗余比越低,越接近香农定理的理论传输。方案在初始时双方必须使用默认预设值,然后可以通过动态协商改变。

5、源符号:由编码方案+应答标识+序号+源数据+crc构成的bit序列,一个源符号也是一个最简原始独立数据传输单元,如图2所示。

6、修复符号:由编码方案+应答标识+序号+修复数据+crc校验数据构成的bit序列,一个修复符号也是一个最简原始独立数据传输单元,如图2所示。

7、源向量:一组源符号构成的序列。

8、修复向量:一组修复符号构成的序列。

9、遁一方程组定义

10、构建一个异或方程组为:

11、

12、

13、

14、……

15、

16、

17、方程组由n个变量,n个异或方程式构成。

18、特点是:第一个方程式缺第一个变量x0,第二个方程式缺第二个变量x1,依次类推到第n-2个方程式缺第n-2个变量,最后一个方程式有全部变量。因此该方程组叫遁一方程组,除去最后一行,每行遁去与自身序号对应的变量,第一行遁去x0,第二行遁去x1,第n-1行遁去xn-2。根据方程组的特点可以轻松得出方程的解:

19、

20、

21、......

22、

23、

24、遁一方阵

25、将遁一方程组的系数组成一个n阶方阵,叫遁一方阵,如下:

26、

27、方阵前n-1行和最后一行,均只有一个变量不同,因此遁一方阵很容易化为单位阵。将最后一行和前n-1行异或,前n-1行的对角线均为1,其余元素为0,再把第一行到n-1行异或到最后一行,整个方阵化为了单位矩阵,所以遁一方程组有且仅有唯一解。

28、编码

29、将n(n>2)个相同长度为k的bit,组成一个源数据向量vs(x1,x2...xn),将向量vs按遁一矩阵排列,每一行通过异或运算得出对应行的修复数据,n行计算结果组成的向量叫修复向量vr。

30、

31、

32、……

33、

34、

35、根据n的大小与k的大小,将向量vs的每一个元素编码成一个源单元,源单元格式见图2,将修复向量vr的每一个元素编码成一个修复单元,修复单元格式见图2。编码后源单元为n个,修复单元为n个。

36、解码

37、编码是n个源数据加n个修复数据构成,根据遁一矩阵有唯一解的特性,我们在解码时有三种情形处理:

38、一、源向量全部无错接收,无需解码,直接得到传输数据;

39、二、源数据全部出错或丢失,通过修复向量求解,那么源数据可以通过遁一方程组通解求出:

40、

41、

42、......

43、

44、

45、三、源数据收到部分,修复数据收到部分;这种情形比较复杂,假设源数据由i个,修复数据有j个,如果i+j>=n那么通过代入源数据到遁一方程组,利用异或方程式的左右交换方程式不变特性,可以求解除降解方程组的解,得到完整源数据。如果i+j<n,则无法解除完整源数据,需要继续接收修复向量。

46、编码流程

47、编码流程如附图3所示,从数据发送缓冲区读取发送数据,根据发送数据大小选取适合的编码方案,根据编码方案将源数据分组,通过遁一方程组计算修复数据,把源数据与修复数据整理成编码单元格式,计算crc校验值。编码单元格式构成为:编码方案号(2bit)+应答标识(1bit)+序号(由编码方案确定)+数据+crc校验值。组包源向量,组包修复向量,发送源向量,发送修复向量,如果收到应答终止发送,一次传输成功完成;如果没有收到应答,那么继续发送修复向量,知道收到应答为止。

48、解码流程

49、解码流程如附图4所示,收到数据判断前2位值是否大于4,如果大于等于4,数据有误抛弃,接着判断下2位;如果小于4那么查找对应方案编号,获得分组总数n,序号长度h,符号长度l,根据n+h+l+3得到crc校验值,对编码单元部分做crc计算,判断crc是否相等,如果相等则成功接收一个编码单元,如果不等,那么抛弃这2位,继续从夫前面步骤。接收一个编码单元后,放入编码单元向量,并判端接收向量是否可以解码,如果可以解码,解码数据,放入数据缓冲区,通知上层应用;并同时对发送端做出应答;如果不能解码,则继续从接收缓冲读取数据,进行解码处理。

50、无线设备点对点收发

51、在上面我们详细讲了编解码的数学原理及编码格式以及编码流程,接着我们详细描述在无线点对点设备应用流程。无线设备点对点通信是很多组网通信的基础,因此这种通信方案可以应用于无线组网设备的点对点之间。无线设备点对点通信流程如附图5所示。从发送缓冲队列的数据取出编码,将编码后的的源向量与修复向量送入调制,发送出去;在没有接收到应答之前,会一直重复发送修复向量。接收单元解调数据后送入解码单元,如果能成功解码则做出应答,并把解码数据送入接收缓冲区,通知上层应用或设备读取;如果不能成功解码,继续从解调数据解码处理。

52、计算机通信应用

53、在计算机通信中,遁一码可以用着典型传输控制纠错码,如图6所示。遁一码传输控制介于应用层与系统协议层之间,这样可以避免网络驱动开发。遁一码在应用层协议之下,在常见的websocket或http或tcp或udp之上。应用层协议数据通过遁一码编码处理,再通过websocket或http或tcp或udp发送到网络;接收端通过websocket或http或tcp或udp接收数据解码处理,并做应答,将解码数据通知到应用层。

54、舰船通信应用

55、在舰船通信中,遁一码可以作为信道传输控制编码,从而解决长波通信传输困难问题,遁一码只需一次应答实现可靠通信,因此可以自适应恶劣的通信条件下的数据传输。也可以用遁一码实现动态组网,如图7所示。

56、卫星通信应用

57、在卫星通信中,遁一码可以作为地面与卫星之间,卫星与卫星之间的信道传输控制编码,解决传统数据通信的问题。可以像图8那样组成空间地面一体网络。

58、飞行设备通信应用

59、在飞行设备通信中,遁一码可以作为信道传输控制编码,自适应恶劣条件下通信,实现动态组网如图9所示。

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