CN116961824A - 发送数据和接收数据的方法以及通信装置 - Google Patents
发送数据和接收数据的方法以及通信装置 Download PDFInfo
- Publication number
- CN116961824A CN116961824A CN202210412860.0A CN202210412860A CN116961824A CN 116961824 A CN116961824 A CN 116961824A CN 202210412860 A CN202210412860 A CN 202210412860A CN 116961824 A CN116961824 A CN 116961824A
- Authority
- CN
- China
- Prior art keywords
- matrix
- data packets
- coding
- coding coefficient
- blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 120
- 238000004891 communication Methods 0.000 title claims description 131
- 239000011159 matrix material Substances 0.000 claims abstract description 523
- 230000005540 biological transmission Effects 0.000 claims description 82
- 230000015654 memory Effects 0.000 claims description 44
- 238000012545 processing Methods 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 30
- 238000012937 correction Methods 0.000 abstract description 10
- 238000013461 design Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 17
- 238000004080 punching Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000007774 longterm Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种发送数据和接收数据的方法,考虑了信道的丢包特点,在此基础上设计了编码系数矩阵。编码系数矩阵由单位矩阵、第一矩阵和第二矩阵按照从左到右的顺序排列构成。第一矩阵与单位矩阵构成系统MDS码的生成矩阵。第二矩阵中的编码系数为0或1,并且任意一列中相邻两个为1的编码系数的行间隔为B,且第二矩阵包含的B列中的第r列中的第一个为1的编码系数的位置在第二矩阵的第r行。采用该编码系数矩阵的编码方案,既可以纠正连续错误,还可以纠正随机错误。在连续错误不大于B个,和/或随机错误不大于N的情况下,可以在最大时延T内成功译码,不仅纠错能力,也满足低时延需求,可以应用于XR业务或其它低时延需求的业务。
Description
技术领域
本申请实施例涉及无线通信技术领域,更具体地,涉及一种发送数据的方法、接收数据的方法以及通信装置。
背景技术
网络编码技术是一种通过对若干个大小相等的数据包进行编码获得编码数据包,并通过对足够的编码数据包进行译码,恢复获得原数据包的方法。该技术已经被证实是一种可以有效改善无线通信系统传输性能的方法。不同的网络编码方案对应的纠错能力不同。有的编码方案,例如极大短(maximally short,MS)码,只能纠正突发的连续错误,而不能很好的对抗随机错误,其码型为(n,k)=(T+B,T),在最大时延T内,可以最多纠正B个连续错误,T大于等于B。有的编码方案,例如,最大距离可分(maximum distance separable,MDS)码,可以对抗随机错误,其码型为(n,k),可以对抗(n-k)个随机丢包或者(n-k)个连续丢包。
而通信系统信道的丢包特点是既有连续丢包,也有随机丢包。若采用已有的网络编码方案,无法既纠正连续错误又纠正随机错误,纠错能力有待提升。
发明内容
本申请实施例提供一种发送数据和接收数据的方法以及通信装置,可以既纠正连续错误又纠正连续错误,能够提升纠错能力。
第一方面,提供了一种发送数据的方法,可以应用于无线通信的发送端,也可以应用在发送端的芯片或芯片系统上。以下以发送端作为示例,该方法包括:
发送端获取k个原数据包,以及所述k个原数据包对应的编码系数矩阵;
发送端根据允许的最大时延的时间单元的个数T,采用所述编码系数矩阵对所述k个原数据包进行编码,获得(k+N+B)个数据包,其中,所述(k+N+B)个数据包中的前k个数据包为所述k个原数据包,后(N+B)个数据包为编码数据包,k,N和B均为正整数,T=k+N;
所述编码系数矩阵的大小为k行(k+N+B)列,且包括k×(k+N+B)个编码系数,所述编码系数矩阵的第i行第j列的编码系数表示为mi,j,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;
所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数mi,j,其中,i=1,2,…,k,j=1,2,…,k,当i=j时,所述编码系数为1,其余所述编码系数为0;
所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+1,k+2,…,k+N,所述第一矩阵和所述单位矩阵构成系统极大距离可分MDS码的生成矩阵;
所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+N+1,k+N+2,…,k+N+B,所述第二矩阵的第r列的编码系数为0或1,1≤r≤B,所述第r列的相邻两个为1的编码系数的行间隔为B,所述第r列的第一个为1的编码系数的位置在所述第二矩阵的第r行;
发送端发送所述(k+N+B)个数据包。
本申请提供的技术方案,充分考虑了信道的丢包特点,在此基础上设计了编码系数矩阵。编码系数矩阵由单位矩阵、第一矩阵和第二矩阵按照从左到右的顺序排列构成。第一矩阵与单位矩阵构成系统MDS码的生成矩阵。第二矩阵中的编码系数为0或1,并且任意一列中相邻两个为1的编码系数的行间隔为B,并且第二矩阵包含的B列中的第r列中的第一个为1的编码系数的位置在第二矩阵的第r行。采用该编码系数矩阵的编码方案,既可以纠正连续错误,还可以纠正随机错误。在连续错误不大于B个,和/或随机错误不大于N的情况下,就可以成功解码获得全部的原数据包,能够提升纠错能力。
此外,该技术方案还可以保证最大时延T,也即,在连续错误不大于B个,和/或随机错误不大于N的情况下,可以在最大时延T内成功译码。可见,本申请技术方案在提升纠错能力的同时,还可以满足低时延需求,可以应用于XR业务或其它低时延需求的业务。
此外,在连续错误大于B个,和/或随机错误大于N的情况下,采用本申请提供的编码系数矩阵的编码方案,也可以极大概率在最大时延T内成功译码,纠错能力获得提升。
结合第一方面,在第一方面的某些实现中,所述发送所述(k+N+B)个数据包,包括:
对所述(k+N+B)个数据包进行对角交织或水平交织,使得所述(k+N+B)个数据包被排布在y个时间单元上,1≤y≤k+N+B,y为正整数;
在所述y个时间单元上发送所述(k+N+B)个数据包。
在该实现方式中,通过对编码获得的(k+N+B)个数据包进行交织后再发送,可以进一步提升纠正连续错误的能力。并且,在交织时,可以将一个编码数据块包含的(k+N+B)个数据包通过交织,使其排布在一个或多个时间单元上,增加了交织操作的灵活性。
第二方面,提供一种发送数据的方法,可以应用于无线通信的发送端,也可以应用在发送端的芯片或芯片系统上。以下以发送端作为示例,该方法包括:
发送端根据确定的v个编码数据块中的每个编码数据块包含的原数据包的个数和编码数据包的个数,采用编码系数矩阵进行编码,获得所述v个编码数据块,v为正整数;
发送端按照设定的交织规则,对所述v个编码数据块中包含的数据包进行交织,获得Q个传输块,所述设定的交织规则包括:所述v个编码数据块中的任意一个或多个编码数据块包含的数据包在所述一个或多个编码数据块各自对应的时间单元上为非连续排布的对角交织,Q大于v,Q为正整数;
发送端在所述Q个时间单元上发送所述Q个传输块;
其中,所述编码系数矩阵的大小为k行(k+N+B)列,且包括k×(k+N+B)个编码系数,所述编码系数矩阵的第i行第j列的编码系数表示为mi,j,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;
所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数mi,j,其中,i=1,2,…,k,j=1,2,…,k,当i=j时,所述编码系数为1,其余所述编码系数为0;
所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+1,k+2,…,k+N,所述第一矩阵和所述单位矩阵构成系统MDS码的生成矩阵;
所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+N+1,k+N+2,…,k+N+B,所述第二矩阵的第r列的编码系数为0或1,1≤r≤B,所述第r列的相邻两个为1的编码系数的行间隔为B,所述第r列的第一个为1的编码系数的位置在所述第二矩阵的第r行。
结合第二方面,在第二方面的某些实现方式中,该方法还包括:
获取码型为(n,k)的v个等效数据块;
对所述v个等效数据块中包含的数据包进行对角交织,使得所述v个等效数据块中包含的数据包排布在(v+n-1)个时间单元上;
根据数据包传输策略和所述(v+n-1)个时间单元中的每个时间单元上支持发送的数据包的个数,确定所述(v+n-1)个时间单元中的每个时间单元上需要被打孔的数据包的个数和位置;
根据所述v个等效数据块中包含的数据包在所述(v+n-1)个时间单元上的排布情况,以及所述(v+n-1)个时间单元上的需要被打孔的数据包的个数和位置,确定所述n个编码数据块中的每个编码数据块包含的原数据包的个数和编码数据包的个数;
其中,所述(v+n-1)个时间单元上来自于第i个等效数据块的n个数据包中需要被打孔的数据包的个数为Pi=P1,i+P2,i,1≤i≤v,wi,j为所述(v+n-1)个时间单元中的第j个时间单元上需要被打孔的且属于所述第i个等效数据块的数据包的个数,所述Pi个数据包包括原数据包和编码数据包,所述P1,i为所述Pi个数据包中的原数据包的个数,所述P2,i为所述Pi个数据包中的编码数据包的个数,P1,i,Pi和P2,i均为正整数;
所述n个编码数据块中的第i个编码数据块包含的原数据包的个数为ki,ki=k-P1,i,所述第i个编码数据块包含的编码数据包的个数为ci,ki+ci=n-Pi。
结合第二方面,在第二方面的某些实现方式中,发送端对所述v个编码数据块中包含的数据包进行交织,获得Q个传输块,包括:
发送端按照设定的交织规则对所述v个编码数据块中包含的数据包进行对角交织,使得所述v个编码数据块中包含的数据包排布在所述Q个时间单元上;
根据所述v个编码数据块包含的数据包在所述Q个时间单元上的排布情况,获得所述Q个传输块,其中。排布在所述Q个时间单元中的第j个时间单元上的数据包构成所述Q个传输块中的第j个传输块,1≤j≤Q,j为正整数。
结合第二方面,在第二方面的某些实现方式中,所述数据包传输策略指示如下之一:
优先传输每个传输块对应的编码数据块中的原数据包;
优先传输每个传输块对应的编码数据块中的编码数据包;或者,
优先使所述v个编码数据块的码率接近于设定码率k/n。
在第一方面或第二方面的某些实现方式中,所述第一矩阵为柯西矩阵或范德蒙矩阵。
在第一方面或第二方面的某些实现方式中,所述(k+N+B)个数据包中的x个数据包在一个时间单元上传输,所述时间单元为一个时隙,1≤x≤k+N+B,x为正整数。
第三方面,提供了一种接收数据的方法,可以应用于无线通信的接收端,也可以应用在接收端的芯片或芯片系统上。以下以接收端作为示例,该方法包括:
接收(k+N+B)个数据包;
采用所述(k+N+B)个数据包中正确接收的数据包进行解码,获得所述(k+N+B)个数据包中的k个原数据包;
其中,所述(k+N+B)个数据包中连续错误的数据包的个数不大于B个,和/或,
所述(k+N+B)个数据包中随机错误的数据包的个数不大于N个;
k,N和B均为正整数,T=k+N,所述T为允许的最大时延的时间单位的个数;
以及,所述(k+N+B)个数据包是采用如下编码系数矩阵对所述k个原数据包进行编码获得的:
所述编码系数矩阵的大小为k行(k+N+B)列,且包括k×(k+N+B)个编码系数,所述编码系数矩阵的第i行第j列的编码系数表示为mi,j,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;
所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数mi,j,其中,i=1,2,…,k,j=1,2,…,k,当i=j时,所述编码系数为1,其余所述编码系数为0;
所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+1,k+2,…,k+N,所述第一矩阵和所述单位矩阵构成系统MDS码的生成矩阵;
所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+N+1,k+N+2,…,k+N+B,所述第二矩阵的第r列的编码系数为0或1,1≤r≤B,所述第r列的相邻两个为1的编码系数的行间隔为B,所述第r列的第一个为1的编码系数的位置在所述第二矩阵的第r行。
结合第三方面,在第三方面的某些实现方式中,所述接收(k+N+B)个数据包,包括:
接收y个连续的时间单元上的传输数据块,1≤y≤k+N+B,y为正整数;
根据编码数据块中包含的数据包的交织关系,从所述y个连续的时间单元上的传输数据块中获取所述(k+N+B)个数据包,所述(k+N+B)个数据包来自于一个编码数据块。
结合第三方面,在第三方面的某些实现方式中,所述采用所述(k+N+B)个数据包中正确接收的数据包进行解码,获得所述(k+N+B)个数据包中的k个原数据包,包括:
确定所述编码系数矩阵;
根据正确接收的k1个原数据包、N1个编码数据包和B1个编码数据包,分别确定所述k1个原数据包在所述单位矩阵中对应的k1个列,所述N1个编码数据包在所述第一矩阵中对应的N1个列,以及所述B1个编码数据包在所述第二矩阵中对应的B1个列;
根据所述B1个列中的编码系数,采用所述B1个编码数据包和所述k1个原数据包,恢复未正确接收的m个原数据包;
根据所述B1个列中的编码系数和所述N1个列中的编码系数,采用所述B1个编码数据包、所述N1个编码数据包和所述k1个原数据包以及恢复获得的所述m个原数据包,恢复所述k个原数据包中剩余的(k-k1-m)个未被正确接收的原数据包。
第四方面,提供了一种接收数据的方法,可以应用于无线通信的接收端,也可以应用在接收端的芯片或芯片系统上。以下以接收端作为示例,该方法包括:
接收端在Q个时间单元上接收Q个传输块,Q为正整数;
接收端根据设定的交织规则的逆操作,确定所述Q个传输块对应的v个编码数据块,Q大于v,v为正整数;
接收端根据所述v个编码数据块中的每个编码数据块中正确接收的数据包,解码获得所述v个编码数据块各自包含的所有原数据包;
其中,所述v个编码数据块中的第i个编码数据块包含的数据包是采用如下编码系数矩阵对所述第i个编码数据块包含的原数据包进行编码获得的:
所述编码系数矩阵的大小为k行(k+N+B)列,且包括k×(k+N+B)个编码系数,所述编码系数矩阵的第i行第j列的编码系数表示为mi,j,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;
所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数mi,j,其中,i=1,2,…,k,j=1,2,…,k,当i=j时,所述编码系数为1,其余所述编码系数为0;
所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+1,k+2,…,k+N,所述第一矩阵和所述单位矩阵构成系统MDS码的生成矩阵;
所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+N+1,k+N+2,…,k+N+B,所述第二矩阵的第r列的编码系数为0或1,1≤r≤B,所述第r列的相邻两个为1的编码系数的行间隔为B,所述第r列的第一个为1的编码系数的位置在所述第二矩阵的第r行。
第五方面,提供一种通信装置,所述通信装置具有实现第一方面或第二方面,或这些方面的任一可能的实现方式中的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。以上方法中的编码过程可以通过编码器或编/解码器实现。可选的,所述编码器或编/解码器可以通过电路(例如,数字电路)实现。
第六方面,提供一种通信装置,所述通信装置具有实现第三方面或第四方面,或这些方面的任一可能的实现方式中的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。以上方法中的解码过程可以通过解码器或编/解码器实现。可选的,所述解码器或编/解码器可以通过电路(例如,数字电路)实现。
第七方面,提供一种通信装置,包括处理器和存储器。可选地,还可以包括收发器。其中,存储器用于存储计算机程序,处理器用于调用并运行存储器中存储的计算机程序,并控制收发器收发信号,以使通信装置执行如第一方面或第二方面,或者这些方面的任一可能的实现方式中的方法。
示例性地,该通信装置为无线通信的发送端。
第八方面,提供一种通信装置,包括处理器和存储器。可选地,还可以包括收发器。其中,存储器用于存储计算机程序,处理器用于调用并运行存储器中存储的计算机程序,并控制收发器收发信号,以使通信装置执行如第三方面或第四方面,或这些方面的任一可能的实现方式中的方法。
示例性地,该通信装置为无线通信的接收端。
第九方面,提供一种通信装置,包括处理器和通信接口,所述通信接口用于接收数据和/或信息,并将接收到的数据和/或信息传输至所述处理器,所述处理器处理所述数据和/或信息,以及,通信接口还用于输出经处理器处理之后的数据和/或信息,以使得如第一方面或第二方面,或这些方面的任一可能的实现方式中的方法被执行。
第十方面,提供一种通信装置,包括处理器和通信接口,所述通信接口用于接收(或称输入)数据和/或信息,并将接收到的数据和/或信息传输至所述处理器,所述处理器处理所述数据和/或信息,以及,通信接口还用于输出经处理器处理之后的数据和/或信息,以使得如第三方面或第四方面,或这些方面的任一可能的实现方式中的方法被执行。
第十一方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当计算机指令在计算机上运行时,使得如第一方面或第二方面,或这些方面的任一可能的实现方式中的方法被执行。
第十二方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当计算机指令在计算机上运行时,使得如第三方面或第四方面,或这些方面的任一可能的实现方式中的方法被执行。
第十三方面,提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得如第一方面或第二方面,或这些方面的任一可能的实现方式中的方法被执行。
第十四方面,提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得如第三方面或第四方面,或第三方面的任一可能的实现方式中的方法被执行。
第十五方面,提供一种无线通信系统,包括如第五方面所述的通信装置,和/或如第六方面所述的通信装置。
附图说明
图1为适用于本申请的通信系统的场景的示意图。
图2为传统的MS码的编码系数矩阵的结构图。
图3为本申请提供的一个发送数据和接收数据的方法的示意性流程图。
图4为本申请提供的编码系数矩阵的示意图。
图5为方案1的编码系数矩阵的一个示例。
图6~图7分别为对角交织和水平交织的示意图。
图8为水平交织和对角交织的一个示例。
图9为接收端解码的一个示例。
图10为本申请提供的另一个发送数据和接收数据的方法的示意性流程图。
图11为本申请提供的按照设定的交织规则对v个编码数据块中的数据包进行交织的一个示例。
图12为本申请提供按照设定的交织规则对v个编码数据块中的数据包进行交织的另一个示例。
图13为调整编码数据块的码率以适配TB的实际大小的示意图。
图14为本申请提供的通信装置的示意性框图。
图15为本申请提供的通信装置的示意性结构图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
本申请实施例的技术方案可以应用于各种通信系统,包括但不限于:第五代(the5th generation,5G)系统或新无线(new radio,NR)系统、长期演进(long termevolution,LTE)系统、LTE频分双工(frequency division duplex,FDD)系统、LTE时分双工(time division duplex,TDD)系统等。本申请提供的技术方案还可以应用于未来的通信系统,例如第六代移动通信系统。此外,还可以应用于设备到设备(device to device,D2D)通信,车辆外联(vehicle-to-everything,V2X)通信,机器到机器(machine to machine,M2M)通信,机器类型通信(machine type communication,MTC),以及物联网(internet ofthings,IoT)通信系统或者其它通信系统,等。
适用于本申请的通信系统可以包括一个或多个发送端,以及,一个或多个接收端。可选地,发送端和接收端中的一个可以为终端设备,另一个可以为网络设备。或者,一个为终端设备,另一个为另一终端设备。或者,一个或网络设备,另一个为另一网络设备。
示例性地,终端设备也可以称为用户设备(user equipment,UE)、接入终端、用户单元、用户站、移动站、移动台(mobile station,MS)、移动终端(mobile terminal,MT)、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。本申请实施例中的终端设备可以是指向用户提供语音和/或数据连通性的设备,可以用于连接人、物和机,例如具有无线连接功能的手持式设备、车载设备等。本申请的实施例中的终端设备可以是手机(mobile phone)、平板电脑(Pad)、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。可选地,UE可以用于充当基站。例如,UE可以充当调度实体,其在V2X或D2D等中的UE之间提供侧行链路信号。
本申请实施例中,用于实现终端的功能的装置可以是终端设备,也可以是能够支持终端设备实现该功能的装置,例如芯片系统或芯片,该装置可以被安装在终端设备中。本申请实施例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。
示例性地,网络设备可以是具有无线收发功能的设备。网络设备可以是提供无线通信功能服务的设备,通常位于网络侧,包括但不限于第五代(5th generation,5G)通信系统中的下一代基站(gNodeB,gNB)、第六代(6th generation,6G)移动通信系统中的基站、未来移动通信系统中的基站或无线保真(wireless fidelity,WiFi)系统中的接入节点等,长期演进(long term evolution,LTE)系统中的演进型节点B(evolved node B,eNB)、无线网络控制器(radio network controller,RNC)、节点B(node B,NB)、基站控制器(basestation controller,BSC)、家庭基站(例如,home evolved NodeB,或home Node B,HNB)、基带单元(base band unit,BBU),传输接收点(transmission reception point,TRP)、发射点(transmitting point,TP)、基站收发台(base transceiver station,BTS)等。在一种网络结构中,该网络设备可以包括集中单元(centralized unit,CU)节点,或者分布单元(distributed unit,DU)节点,或者包括CU节点和DU节点的RAN设备、或者控制面CU节点和用户面CU节点,以及DU节点的RAN设备,或者,网络设备还可以为云无线接入网络(cloudradio access network,CRAN)场景下的无线控制器、中继站、车载设备以及可穿戴设备等。此外,基站可以是宏基站、微基站、中继节点、施主节点,或其组合。基站还可以指用于设置于前述设备或装置内的通信模块、调制解调器或芯片。基站还可以是移动交换中心以及D2D、V2X、M2M通信中承担基站功能的设备、6G网络中的网络侧设备、未来的通信系统中承担基站功能的设备等。基站可以支持相同或不同接入技术的网络,不作限定。
本申请实施例中,用于实现网络设备的功能的装置可以是网络设备,也可以是能够支持网络设备实现相应功能的装置,例如芯片系统或芯片,该装置可以被安装在网络设备中。本申请实施例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。
参见图1,图1为适用于本申请的通信系统的场景的示意图。本申请可适用于上行链路、下行链路、接入链路、回传(backhaul)链路、侧行链路(sidelink)等多种传输场景,例如图1的(a)所示的点对点单连接,图1的(b)所示的多跳单连接,图1的(c)所示的DC双连接,以及图1的(d)所示的多跳多连接。
为了便于理解本申请的技术方案,首先对本申请涉及到的相关技术作简单介绍。
网络编码技术是一种通过对若干个大小相等的数据包进行编码获得编码数据包,并通过对足够的编码数据包进行译码,恢复出原数据包的方法。该技术已经被证实是一种可以有效改善无线通信系统的传输性能的方法,尤其对于重传次数受限甚至没有重传机会的方案。换个角度而言,由于编码数据包融合了若干个原数据包的信息,在编码数据包的数量足够的情况下,这些编码数据包可以用来恢复出任意相关的原数据包。
进一步地,在现有的网络编码技术中,如果原数据包的个数为K个,发送端对这K个原数据包进行编码,获得B个编码数据包。发送端发送该K个原数据包以及B个编码数据包。接收端需要正确接收该K个原数据包以及B个编码数据包中的K个线性无关的数据包,才能正确译码出K个原数据包。应理解,这里的K个数据包可以来自于K个原数据包和B个编码数据包构成的(K+B)个数据包中的任意K个数据包,K和B均为正整数。因此,假设在时刻t发送的数据包错误,并不能保证接收端在时刻(T+t)就译码成功,T表示通信系统允许的最大时延对应的时间单元的个数,T为正整数,因为此时不能保证接收端已经正确接收了K个线性无关的数据包。因此,传统的网络编码的译码的时延可能是非常大的,无法满足NR系统中一些业务(例如,XR业务)的低时延的需求。应理解,通信系统允许的最大时延对应的时间单元为T,也可以表述为,通信系统允许的最大时延为T,表示通信系统允许的最大时延为T个时间单元,下文实施例都是适用的,不再重复说明。
一种典型的网络编码技术称之为极大短码(maximally short,MS)码,主要用于解决突发的连续错误,其可以表示为(T+B,T)码。MS码可以纠正最大B个连续错误,同时可以满足通信系统的最大时延T,T大于或等于B,T和B均为正整数。
参见图2,图2的(a)为传统的MS码的编码系数矩阵的结构图。如图2的(a),MS码可以表示为(N,K)=(T+B,K),该码的编码系数矩阵由一个大小为T×T的单位矩阵和一个大小为T×B的矩阵构成。其中,T×T的单位矩阵的对角线上的元素均为1,其余位置的元素均为0。该T×B的矩阵的上侧为一个B×B的单位矩阵,下侧为一个(T-B)×B的矩阵,该(T-B)×B的矩阵与MS码的大小为T×T的单位矩阵的右下角的(T-B)×(T-B)的子矩阵构成系统MDS码,也即该(T-B)×B的矩阵为系统MDS码的生成矩阵的校验部分。发送端先发送T个原数据包,也可以称为系统数据包,紧接着对T个原数据包中的前B个原数据包和后(T-B)个原数据包分别采用重复码和系统极大距离可分码(maximum distance separable code,MDS)进行联合编码,获得B个编码数据包,并发送该B个编码数据包。
传统的MS码的方案可以纠正最多B个连续错误。基于该方案,如果发送端在t时刻发送一个原数据包错误,则在不超过(T+t)时刻通过正确接收编码数据包,可以恢复出该原数据包,因此,时延不超过T。
另一种典型的网络编码技术称之为极大距离可分码(maximum distanceseparable,MDS)码,可以对抗随机错误,其码型为(n,k)。相比于随机线性网络编码的方案,MDS码具有更好的线性无关性,常见的是里德所罗门(Reed-Solomon,RS)码,通过采用范德蒙矩阵或柯西矩阵保证编码包之间的线性无关性。图2的(b)中所示为MDS码的编码系数矩阵,由一个大小为k×k的单位矩阵和一个大小为k×(n-k)的矩阵构成。采用MDS码进行编码获得的前k个数据包为原数据包,对应该k×k的单位矩阵;后(n-k)个编码包对应的编码系数矩阵如图2的(b)的灰色部分,大小为k×(n-k)。MDS码可以对抗(n-k)个随机错误,该n-k个随机错误也包括n-k个连续错误。但是MDS码存在时延大的问题。假设一个时刻发送一个数据包,若t时刻发送的数据包为第一个错误的数据包,接收端并不能保证在接收到第(t+k)个数据包时恢复出来,而是需要在正确接收k个数据包的时刻才能成功译码,因此,时延可能会非常大。
可以发现,已有的编码方案有些可以对抗连续错误,有些可以对抗随机错误。但是实际的信道的丢包特点,即发生连续丢包,也会发生错误丢包。上述介绍的已有编码方案无法有针对性的解决既有突发错误,又有连续错误的信道丢包场景。
为此,本申请提供一种发送数据和接收数据的方法,在充分考虑信道的丢包特点的基础上,设计了编码系数矩阵。采用该编码系数矩阵的编码方案,既可以纠正突发错误,也可以纠正连续错误,同时也可以保证最大时延为T。因此,不仅可以提升纠错性能,还可以弥补一些编码方案(例如,MDS码)的时延大的缺陷,从而应用于例如XR业务等低时延需求的业务。
下面介绍本申请提供的发送数据的方法,以及接收端的相对应的接收数据的方法。
在本申请实施例中,术语“编码数据包”也可以简称为“编码包”,两者可替换使用。接收端也可以替换为解码端,发送端也可以替换为编码端,不作限定。
方案1
适用于不同时间单元上发送的数据包的个数相等的情况。换句话说,不同时间单元上TB的大小是相等的。
参见图3,图3为本申请提供的一个发送数据和接收数据的方法的示意性流程图。
310、发送端获取k个原数据包,以及所述k个原数据包对应的编码系数矩阵。
其中,编码系数矩阵的大小为k行(k+N+B)列,且包括k×(k+N+B)个编码系数,编码系数矩阵的第i行第j列的编码系数表示为mi,j,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数。编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,该单位矩阵、第一矩阵和第二矩阵按照从左到右的顺序排列。
该单位矩阵的大小为k行k列,该单位矩阵包括编码系数矩阵中的编码系数mi,j,其中,i=1,2,…,k,j=1,2,…,k,当i=j时,编码系数为1,其余编码系数为0;
第一矩阵的大小为k行N列,第一矩阵包括编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+1,k+2,…,k+N,第一矩阵和该单位矩阵构成系统MDS码的生成矩阵;
第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+N+1,k+N+2,…,k+N+B,所述第二矩阵的第r列的编码系数为0或1,1≤r≤B,所述第r列的相邻两个为1的编码系数的行间隔为B,第r列的第一个为1的编码系数的位置在第二矩阵的第r行。
参见图4,图4的(a)和(b)为本申请提供的编码系数矩阵的示意图。如图4的(a),编码系数矩阵由单位矩阵、第一矩阵和第二矩阵按照从左到右的顺序排列。其中,单位矩阵的大小为k行k列,第一矩阵的大小为k行N列,第二矩阵的大小为k行B列。若k=8,N=2,B=4,则编码系数矩阵如图4的(b)所示。应理解,单位矩阵的对角线上的元素均为1,其它位置的元素均为0。第一矩阵和第二矩阵中的任意一个元素(也即编码系数)均可以表示为mi,j,不同两个元素的i和/或j的取值不同。例如,第一矩阵中的元素mi,j,i和j的取值范围为:i=1,2,3,…,8,j=9,10。第二矩阵中的元素mi,j,i和j的取值范围为:i=1,2,3,…,8,j=11,14。另外,步骤310中介绍了第一矩阵和第二矩阵中各元素的取值是如何获得的,下文也可以给出了一些具体的示例,因此,图4的(b)中未示出第一矩阵和第二矩阵中各元素的取值。
换一个角度来看,编码系数矩阵也可以认为是由发送端通过如下描述的过程确定得到的。
假设允许的最大时延的时间单位的个数为T,最大连续错误的数据包的个数为B,最大随机错误的数据包的个数为N。基于设置的上述参数,构建编码方案表示有限域(或称伽罗华域),q表示有限域的取值范围。/>表示“包含于”。/>表示编码方案C对k个原数据包进行编码,编码系数属于有限域/>C为(n,k)的块码,其中,k=T-N,n-k=N+B,q≥k+N,。编码方案的编码系数矩阵(或称为编码方案的生成矩阵)表示为G,G为k×n的矩阵。其中,/>u[i]表示原数据包,x[i]表示采用编码方案C对原数据包进行编码获得的码字。其中,x=uG=(u1,u2,u3,...,uk,p1,p2,...,pn-k),u1,u2,u3,...,uk表示k个原数据包,p1,p2,...,pn-k表示(n-k)个编码数据包。其中,单位矩阵的大小可以根据k确定,其对角线上1为1,其余位置为0。
可选地,第一矩阵可以为矩阵M,可以为柯西矩阵或范德蒙矩阵。其中,符号/>表示“定义为”、“记作”或“等价于”的含义。以第一矩阵为柯西矩阵为例,示例性地,/>i∈{i,2,...,N},a1,a2,a3,..,ak和b1,b2,b3,..,bN表示在有限域/>下成对的不同素数。对于任意的i和j,均满足ai≠bj。
示例性地,对于码字x=(u1,u2,u3,...,uk,p1,p2,...,pn-k)中的前N个编码数据包p1,p2,...,pN,可以由MDS码的生成矩阵生成,以第一矩阵为柯西矩阵为例,编码数据包pi满足如下公式:
相应地,(u1,u2,u3,...,uk,p1,p2,...,pN)为系统MDS码,或者系统RS码。
对于码字x=(u1,u2,u3,...,uk,p1,p2,...,pn-k)中的后B个编码数据包pN+1,pN+2,...,pN+B,按照等间隔B进行异或运算(exclusive OR,XOR)获得,公式可以如下:
其中,i+(l-1)B≤k,令ei,B=(ej)∈{0,1}k,j∈{1,2,...,k},其中,
其中,eB表示k×B的第二矩阵,通过将进行水平级联获得,即:
因此,编码系数矩阵G可以定义为:
其中,Ik表示大小为k×k的单位矩阵。
为了便于理解,下面结合图5对编码系数矩阵进行举例说明。
参见图5,图5为方案1的编码系数矩阵的一个示例。
如图5,编码系数矩阵的大小为8行14列,其中,从左向右依次为8行8列的单位矩阵,8行2列的第一矩阵和8行4列的第二矩阵。其中,第一矩阵中包括16个元素,这16个元素的取值可以由MDS码的生成矩阵确定得到。示例性地,第一矩阵中各元素的取值可以由范德蒙矩阵或柯西矩阵生成。第二矩阵包括4个列,每个列中的元素为0或1,对于任意一个列而言,相邻两个1的行间距为B=4。第二矩阵的所述4个列中的第r列中的第一个1的位置在第二矩阵的第r行,例如,第一列中的第一个1在第二矩阵的第一行,第二列中的第一个1在第二矩阵的第二行,以此类推,1≤r≤B,r为正整数。另外,图5的编码系数矩阵中未示出的编码系数的取值均为0。
320、发送端根据允许的最大时延的时间单元的个数T,采用编码系数矩阵对k个原数据包进行编码,获得(k+N+B)个数据包。
其中,该(k+N+B)个数据包中的前k个数据包为所述k个原数据包,后(N+B)个数据包为编码数据包,k,N和B均为正整数,T=k+N。
下面给出一个方案1的一个示例。
假设T=10,B=4,N=2,k=T-N=8,n=k+N+B=14,q=11满足q≥k+N。
利用柯西矩阵M生成N个编码数据包,其中,M如下:
另外,按照等间隔为4,将k个原数据包中相应的数据包进行异或运算,获得B个编码数据包。
编码之后获得的编码码字可以表示为:
x=(u1,u2,u3,u4,u5,u6,u7,u8,p1,p2,p3,p4,p5,p6)
其中,p1=4u1+3u2+9u3+2u4+8u5+7u6+5u7+10u8;
p2=6u1+4u2+3u3+9u4+2u5+8u6+7u7+5u8;
p3=u1+u5;
p4=u2+u6;
p5=u3+u7;
p6=u4+u8。
应理解,x中包含的数据包也即所述(k+N+B)个数据包,在该示例中,k+N+B=8+2+4=14,即共14个数据包。
下面再给出一个方案1的一个示例。
假设T=16,B=4,N=4,k=T-N=12,n=k+N+B=20,q=17满足q≥k+N。
示例性地,利用柯西矩阵M来生成N个编码数据包。另外,按照等间隔为4,将k个原数据包中相应的数据包进行异或运算,获得B个编码数据包。
编码之后获得的编码码字可以表示为:
x=(u1,u2,u3,u4,u5,u6,u7,u8,p1,p2,p3,p4,p5,p6,p7,p8)
其中,p1=7u1+3u2+5u3+15u4+2u5+12u6+14u7+10u8+4u9+11u10+8u11+6u12;
p2=13u1+7u2+3u3+5u4+15u5+2u6+12u7+14u8+10u9+4u10+11u11+8u12;
p3=6u1+13u2+7u3+3u4+5u5+15u6+2u7+12u8+14u9+10u10+4u11+11u12;
p4=9u1+6u2+13u3+7u4+3u5+5u6+15u7+2u8+12u9+14u10+10u11+4u12;
p5=u1+u5+u9;
p6=u2+u6+u10;
p7=u3+u7+u11;
p8=u4+u8+u12。
在步骤320中,发送端进行编码,获得(k+N+B)个数据包。
330、发送端发送所述(k+N+B)个数据包。
可选地,发送端对所述(k+N+B)个数据包进行交织,示例性地,发送端可以采用对角交织或者水平交织,使得所述(k+N+B)个数据包被排布在y个时间单元上,1≤y≤k+N+B,y为正整数。在此情况下,发送端在y个时间单元上发发送所述(k+N+B)个数据包。
示例性地,当y=1时,可以认为所述(k+N+B)个数据包包含于一个数据块,该一个数据块在一个时间单元上传输。可选地,该时间单元为时隙。
示例性地,当y=2时,也可以认为所述(k+N+B)个数据包中的x个数据包在一个时间单元上传输,1≤x≤k+N+B,x为正整数。
参见图6和图7,图6和图7分别为对角交织和水平交织的示意图。
为了保证编码方案可以纠正连续错误,交织技术被引入。假设一个码块C记作(n,k),表示第i个时间单元的原数据块,表示编码方案C下的编码数据包。
对角交织方案如下:
(x1[i],x2[i+1],u3[i+2],...,un[i+n-1])∈C;
水平交织方案如下:
(x1[i],x1[i+1],u1[i+2],...,u1[i+n-1])∈C。
对角交方案如图6,当考虑编码方案C是系统码方案时,可以得到:
(u1[i],u2[i+1],u3[i+2],...,uk[i+k-1],p1[i+k],..,pn-k[i+n-1])∈C;其中,第i个时间单元发送的数据块
图6中所示为完成对角交织之后的示意图,图6中的每一列对应一个时间单元,每个时间单元上排布有k个原数据包和(n-k)个编码数据包。以x[i]对应的第i个时间单元为例,第i个时间单元上排布的k个原数据包分别为u1[i],u2[i],..,uk[i],第i个时间单元上排布的(n-k)个编码数据包分别为p1[i],p2[i],..,pn-k[i],其中,排布在“对角线”位置上的一组元素来自于交织之前的同一个编码数据块,这一组元素是通过码型为(n,k)的编码方案进行编码获得的一个编码数据块中包含的n个数据包。
水平交织方案如图7所示,当考虑编码方案C是系统码方案时,可以得到:
第i个时间单元发送的数据块/>
图7中所示为完成对角交织之后的示意图,图7中的每一列对应一个时间单元,每个时间单元上排布有k个数据包。对于水平交织而言,完成交织之后,属于同一个编码数据块中的n个数据包排布在n个时间单元上,以编码数据块x[1]为例,x[1]中包含k个原数据包和(n-k)个编码数据包,x[1]可以表示为经过交织之后,这n个数据包排布在n个时间单元上。应理解,/>表示第j个编码数据块中的第i个编码数据包排布在第y个时间单元上,例如,/>表示第1个编码数据块中的第(n-k)个编码数据包排布在(i+n-1)个时间单元上。再例如,/>表示第k个编码数据块中的第(n-k)个编码数据包排布在第(i+n-1)个时间单元上。再例如,/>表示第k个编码数据块中的第1个编码数据包排布在第(i+k)个时间单元上。
本领域技术人员根据图6或图7中所示的交织技术,可以获知(k+N+B)个数据包进行对角交织或水平交织之后的结果,这里不予详述。图8为水平交织和对角交织的一个示例。其中,x[i]表示第i个编码数据块,1≤i≤5,i为正整数。图8中以x[i]中包含3个原数据包和2个编码数据包作为示例,原数据包用u表示,编码数据包用x表示。例如,x[1]=[u11,u12,u13,x11,x12],其它的编码数据块类似。进行水平交织或对角交织之后,每个时间单元对应的传输块包含的数据包的情况如图8中所示。
在步骤330中,接收端接收来自于发送端的(k+N+B)个数据包。
340、接收端采用所述(k+N+B)个数据包中正确接收的数据包进行解码,获得所述(k+N+B)个数据包中的所述k个原数据包。
其中,所述(k+N+B)个数据包中连续错误的数据包的个数不大于B个,和/或,
所述(k+N+B)个数据包中随机错误的数据包的个数不大于N个;
k,N和B均为正整数,T=k+N,所述T为允许的最大时延的时间单位的个数。
对于接收端而言,所述(k+N+B)个数据包是采用编码系数矩阵对所述k个原数据包进行编码获得的。关于编码系数矩阵,这里不予赘述,具体参见步骤310中的说明。
接收端确定编码系数矩阵。可以理解的是,接收端可以采用与发送端相同的方式生成编码系数矩阵。进一步地,接收端根据正确接收的数据包进行解码,以获得k个原数据包。假设接收端正确接收所述(k+N+B)个数据包中的k1个原数据包、N1个编码数据包以及B1个编码数据包,其中,k1≤k,N1≤N,B1≤B,k1,N1和B1均为正整数。接收端分别确定k1个原数据包在单位矩阵中对应的k1个列,N1个编码数据包在第一矩阵中对应的N1个列,以及B1个编码数据包在第二矩阵中对应的B1个列。在此基础上,首先,接收端根据B1个列中的编码系数,采用正确接收的B1个编码数据包和k1个原数据包,恢复出未正确接收的m个原数据包。进一步地,再根据B1个列中的编码系数和N1个列中的编码系数,采用B1个编码数据包、N1个编码数据包、k1个原数据包,以及恢复出的m个原数据包,恢复k个原数据包中剩余的(k-k1-m)个未被正确接收的原数据包。到此,接收端正确接收到k个原数据包,也即全部的原数据包。
换句话说,接收端在解码时,首先利用在B个时间单元上接收到的数据包pN+1,pN+2,…,pN+B,恢复原数据包。再利用在N个时间单元上接收到的数据包p1,p2,…,pN以及所述B个时间单元上接收到的数据包pN+1,pN+2,…,pN+B,恢复剩余还未正确接收的数据包。
下面结合图9,给出方案1中接收端解码的一个示例。
参见图9,图9为接收端解码的一个示例。在该示例中,B=4,N=1,T=9,k=8,n=13,GF(11)。
对于一组接收的数据包x=(u1,u2,u3,u4,u5,u6,u7,u8,p1,p2,p3,p4,p5),假设接收端未正确接收的数据包为u1,u2,u3,u4和u8,如图9中虚线框标记的数据包。
根据本申请提供的编码系数矩阵,可知p1=4u1+3u2+9u3+2u4+8u5+7u6+5u7+10u8,p2=u1+u5;p3=u2+u6;p4=u3+u7;p5=u4+u8。由于编码数据包p2,p3,p4,p5是对原数据包u1,u2,u3,u4,u5,u6,u7,u8按照等间隔B进行XOR操作得到的,具体地,p2=u1+u5,p3=u2+u6,p4=u3+u7。因此,根据正确接收的原数据包u5,u6,u7和正确接收的编码数据包p2,p3,p4,可以恢复出原数据包u1,u2,u3。进一步,利用编码数据包p1和p5构建2×2的解码系数方程,通过高斯消元可以恢复出未正确接收的原数据包u4和u8。解码系数方程如下:
/>
应理解,由于p1=4u1+3u2+9u3+2u4+8u5+7u6+5u7+10u8,因此,p1'=p1-(4u1+3u2+9u3+8u5+7u6+5u7)。
在方案1中,充分考虑了信道的丢包特点,通过设计编码系数矩阵,既能够纠正随机错误,同时也能纠正连续错误。在连续错误的数据包的个数不大于B个,和/或,随机错误的数据包的个数不大于N的情况下,可以在最大时延T内恢复出k个原数据包。相比于现有的网络编码方案,具有更好的纠错能力,以及更低的最大时延。因此,不仅对信道有更好的鲁棒性,还可以提升吞吐量或者频谱效率。
方案2
适用于不同时间单元上支持发送的数据包的个数不相等的情况。换句话说,方案2可以适配不同时间单元对应的TB的大小不相等的情况。
在方案2中,发送端根据不同时间单元上支持发送的数据包的个数,或者说根据不同时间单元上TB的大小,通过调整编码数据块的码率,来匹配不同时间单元上的TB的大小。
具体地,发送端可以先设定一个码率k/n(以下称为设定码率),当在某个时间单元上发送TB时,再根据该时间单元支持的TB的实际大小,对设定码率进行调整,以适应(或者说匹配)该时间单元上TB的实际大小。
参见图10,图10为本申请提供的另一个发送数据和接收数据的方法的示意性流程图。
510、发送端根据确定的v个编码数据块中的每个编码数据块中包含的原数据包的个数和编码数据包的个数,采用编码系数矩阵,获得所述v个编码数据块。
可选地,在步骤510之前,发送端需要确定v个编码数据块中的每个编码数据块包含的原数据包的个数和编码数据包的个数。可选地,v个编码数据块中的任意两个编码数据块包含的原数据包的个数可以相等或不相等,任意两个编码数据块中包含的编码数据包的个数可以相等或不相等。或者说,任意两个编码数据块的码率可以相同或不同。在确定了编码数据块中包含的原数据包的个数和编码数据包的个数之后,发送端可以采用本申请提供的编码系数矩阵进行编码,进而获得该v个编码数据块。
这里,步骤510中的编码系数矩阵即为方案1中的编码系数矩阵,为了避免赘述,这里不再予以详述,可以参见方案1中的说明。
另外,步骤510即为采用编码系数矩阵进行编码,获得编码数据块的过程。以一个包含ki个原数据包和ci个编码数据包的编码数据块为例,编码的过程即为:经过编码,获得该编码数据块,可以看出,该编码数据块的码率为ki/ni,ki和ni均为正整数。
520、发送端按照设定的交织规则,对v个编码数据块中包含的数据包进行交织,获得Q个传输块。
如上文所述可知,v个编码数据块中的任意两个编码数据块中包含的原数据包的个数以及编码数据包的个数可以相等或不相等。获得v个编码数据块之后,发送端按照设定的交织规则,对v个编码数据块中包含的数据包进行交织,使v个编码数据块中包含的数据包排布在Q个时间单元上。若采用对角交织,Q大于v。
在本申请中,设定的交织规则包括:所述v个编码数据块中的的任意一个或多个编码数据块包含的数据包在该一个或多个编码数据块各自对应的时间单元上为非连续排布的对角交织。换句话说,v个编码数据块中可以有一个或多个第一编码数据块,以一个第一编码数据块为例,该第一编码数据块中包含的数据包在该第一编码数据块对应的时间单元上是非连续排布的对角交织。
下面结合图11和图12对该设定的交织规则进行举例说明。
参见图11,图11为本申请提供的按照设定的交织规则对v个编码数据块中的数据包进行交织的一个示例。
假设ki和ci分别表示发送端确定的v个编码数据块中的第i个编码数据块包含的原数据包的个数和编码数据包的个数,1≤i≤v,i为正整数。如图11所示,假设v=4,发送端确定的4个编码数据块各自包含的原数据包和编码数据包的个数分别为k1=6,c1=6;k2=5,c2=6;k3=4,c3=6;k4=5,c4=6。根据每个编码数据块包含的原数据包和编码数据包的个数,采用本申请提供的编码系数矩阵进行编码,即可获得4个编码数据块(也即码字),分别记作x[1],x[2],x[3],x[4]。获得编码数据块之后,在发送之前,发送端对这4个编码数据块中包含的数据包(涉及原数据包和编码数据包)按照设定的交织规则进行交织,使得这4个编码数据块中包含的数据包排布在Q个时间单元上。可以看出,由于4个编码数据块各自包含的原数据包的个数和编码数据包的个数不完全相同,在对该4个编码数据块中包含的数据包进行对角交织时,该4个编码数据块中包含的数据包在各自对应的时间单元上可能是连续排布的对角交织或不连续排布的对角交织。以编码数据块x[1]为例,x[1]中包含的6个原数据包和6个编码数据包在x[1]对应的12个时间单元上是连续排布的对角交织。而对于编码数据块x[2],其包含5个原数据包和6个编码数据包,其中,这11个编码数据包在x[2]对应的12个时间单元上是不连续排布的对角交织,其中,位于原数据包u25所在时间单元和编码数据包p21所在时间单元之间的时间单元(若以u11所在时间单元为第1个时间单元,该时间单元则为第7个时间单元)上不传输x[2]包含的数据包。编码数据块x[3]和x[4]也是类似的,其包含的数据包均是在各自对应的Q个时间单元上不连续排布的对角交织。
这是由于,在对v个编码数据块中的数据包进行对角交织时,考虑了不同时间单元对应的TB可能不同,并根据不同时间单元对应的TB的实际大小和数据包传输策略对数据包进行打孔来适配TB的实际大小,并且,在交织时,发送端考虑了这些被打孔的位置,因此使得编码数据块中的数据包的对角交织呈现出不连续排布的特点。
图11中是以数据包传输策略指示优先传输每个TB对应的编码数据块中的编码数据包为例作为示例的,因此,被打孔的位置为这些编码数据块中的原数据包。
可选地,如果数据传输策略指示优先传输每个TB对应的编码数据块中的原数据包,则被打孔的位置则为这些编码数据块中的编码数据包。在此情况下,发送端按照设定的交织规则,对v个编码数据块中的数据包进行交织后,该v个编码数据块中的数据包在Q个时间单元上的排布情况如图12中所示。
参见图12,图12为为本申请提供的按照设定的交织规则对v个编码数据块中的数据包进行交织的另一个示例。在图12中,假设v=4,发送端确定的4个编码数据块各自包含的原数据包和编码数据包的个数分别为k1=6,c1=6;k2=6,c2=5;k3=6,c3=4;k4=6,c4=5。可以看出,编码数据块x[2],x[3],x[4]在各自对应的时间单元上,有一些时间单元上无数据包传输。若u11所在时间单元为第1个时间单元,以编码数据块x[2]为例,则第13个时间单元上不传输x[2]中的数据包。以编码数据块x[3]为例,第13个时间单元和第14个时间单元上不传输x[3]中的数据包。以编码数据块x[4]为例,第15个时间单元上不传输x[4]中的数据包。
发送端根据v个编码数据块中包含的数据包在Q个时间单元上的排布情况,获得Q个传输块TB。具体地,发送端以一个时间单元为单位,根据Q个时间单元上排布的数据包,获得Q个TB。其中,排布在第j个时间单元上的数据包组成第j个TB。
下面结合图11给出方案2中发送端获得Q个传输块TB的过程的示例。
如上文图11的介绍,以v=4为例,发送端根据每个编码数据块包含的原数据包和编码数据包的个数,采用本申请提供的编码系数矩阵进行编码,即可获得4个编码数据块(也即码字),分别记作x[1],x[2],x[3],x[4]。获得编码数据块之后,在发送之前,发送端对这4个编码数据块中包含的数据包(涉及原数据包和编码数据包)按照设定的交织规则进行交织,使得这4个编码数据块中包含的数据包排布在Q个时间单元上。发送端按照v个编码数据块中包含的数据包在Q个时间单元上的排布情况,可以获得Q个传输块。具体地,Q个时间单元中的第j个时间单元上的数据包,组成第j个时间单元上的传输块。例如,在图11中,第1个时间单元上排布有数据包u11,则第1个时间单元上的传输块TB1=(u11,…);第2个时间单元上排布有数据包u21,u12,则第2个时间单元上的传输块TB2=(u21,u12,…);第14个时间单元上排布有数据包p45,则第14个时间单元上的传输块TB14=(…,p45,…);以此类推。
需要注意的是,图11和图12中示出的是这些时间单元上的传输块的局部示意图。在实际的发送过程中,图11和图12中所示的这些时间单元上,除了排布有这4个编码数据块中的数据包之外,还排布有其它编码数据块包含的数据包,所述其它编码数据块包含的数据包的排布在图11和图12中用省略号代替,并未示出。以图12为例,可以认为在u11所在时间单元之前的时间单元上,还可以排布有其它编码数据块(即除了图12中所示的x[1],x[2],x[3],x[4]之外的其它编码数据块)包含的数据包,在u41所在时间单元之后的时间单元上,也可以排布有其它编码数据块包含的数据包。
530、发送端在Q个时间单元上发送该Q个TB。
其中,该Q个TB中的第j个TB在Q个时间单元中的第j个时间单元上发送。
相应地,接收端在Q个时间单元上接收Q个TB。
发送端在确定了v个编码数据块中包含的原数据包的个数和编码数据包的个数之后,就可以采用本申请提供的编码系数矩阵进行编码,以获得该v个编码数据块。在方案2中,这v个编码数据块中的每个编码数据块包含的原数据包的个数和编码数据包的个数,是依据v个等效数据块来确定的。在本申请中,等效数据块是采用本申请提供的编码系数矩阵(如上文步骤310中的说明)进行编码获得的编码数据块,其中包含k个原数据包和(n-k)个编码数据包。如上文所述,方案2适用于不同的时间单元上TB的大小不同的数据传输,这是通过调整编码数据块的码率实现的。等效数据块可以视作一个初始的编码数据块,通过调整等效数据块的码率,确定实际的编码数据块的码率,也即实际的编码数据块中的原数据包的个数和编码数据包的个数。
具体地,发送端获取v个等效数据块,该v个等效数据块各自包含的原数据包的个数和编码数据包的个数是相等的。每个等效数据块中包含的数据包的总个数为n,其中原数据包的个数为k。也即该v个等效数据块的码率均为k/n。示例性地,该v个等效数据块可以通过本申请提供的编码系数矩阵进行编码获得,也或者说,每个等效数据块可以视作采用本申请提供的编码系数矩阵进行编码获得的一个编码数据块,其中包含k个原数据包和(n-k)个编码数据包。对这v个等效数据块中包含的数据包进行对角交织,使得这v个等效数据块中的数据包排布在(v+n-1)个时间单元上。可以理解,由于每个等效数据块均包含k个原数据包和(n-k)个编码数据包,对于一个等效数据块而言,对角交织时,如果每个时间单元上仅排布一个数据包,可知,一个等效数据块中包含的数据包排布在n个时间单元,而v个等效数据块将排布在(v+n-1)个时间单元上。发送端根据数据包传输策略和(v+n-1)个时间单元上支持发送的数据包的个数,确定(v+n-1)个时间单元中的每个时间单元上需要被打孔的数据包的个数和位置。
可选地,本申请中提及的数据包传输策略,是指根据一个时间单元对应的TB的实际大小,传输该TB对应的编码数据块中的数据包的策略。对v个等效数据块中的数据包进行对角交织,使其排布在(v+n-1)个时间单元上之后,每个时间单元对应一个TB,每个TB对应多个等效数据块,如上文所述,每个等效数据块实际上为一个编码数据块。以上述图8中所示的对角交织为例,交织之前有5个编码数据块,对这5个编码数据块进行对角交织之后,这5个编码数据块中的数据包排布在9个时间单元上。其中,第5个时间单元对应的TB对应这5个编码数据块,具体地,分别对应后3个编码数据块中的各一个原数据包,分别为u51,u42和u33,以及对应前2个编码数据块中的各一个编码数据包,x21,x12。数据包传输策略可以是指,根据第5个时间单元对应的TB的大小,传输第5个时间单元对应的这5个编码数据块中的数据包的策略。
示例性地,数据包传输策略可以为如下策略1~策略3中的一个。
策略1:优先传输每个传输块对应的编码数据块中的原数据包。
例如,以图8中的第5个时间单元对应的TB为例,若该TB的实际大小为4,或者说第5个时间单元上支持发送的数据包的个数为4,而对角交织后第5个时间单元上排布的数据包有5个,具体为(u51,u42,u33,x21,x12)。为了适配该TB的实际大小,需要将这5个数据包中的1个数据包打孔。若采用策略1,代表优先保证这5个数据包中的原数据包的传输,由此可以考虑从这5个数据包中的编码数据包中选择1个打孔。例如,可以选择将x21或x12打孔,从而适配第5个时间单元对应的TB的实际大小。
采用策略1适配TB的实际大小,可以提升码率。
策略2:优先传输每个传输块对应的编码数据块中的编码数据包。
继续以图8中的第5个时间单元对应的TB为例,若该TB的实际大小为4,且采用策略2,则考虑从排布在第5个时间单元上的数据包中选择一个原数据包进行打孔,以适配该TB的实际大小。例如,这5个数据包为(u51,u42,u33,x21,x12),可以选择原数据包u51,u42或u33进行打孔。
采用策略2适配TB的实际大小,可以提供更多的冗余,从而降低丢包率。
策略3:优先使v个编码数据块的码率均接近于设定码率k/n。
采用策略3主要是为了使每个编码数据块的码率尽量接近于设定码率k/n,可以通过同时对该TB对应的编码数据块中的原数据包和编码数据包进行打孔来实现,也即根据一个TB的实际大小,可以同时减少该TB对应的编码数据块中的原数据包的个数和编码数据包的个数。
继续以图8中的第5个时间单元对应的TB为例,若该TB的实际大小为3,且采用策略3,为了尽量接近设定码率3/5,可以从排布在第5个时间单元上的数据包中,选择若干个原数据包,以及若干个编码数据包进行打孔。
应理解,根据排布在第j个时间单元上的数据包的数量,以及第j个时间单元对应的TB的实际大小,就可以确定第j个时间单元上需要被打孔的数据包的个数。再结合数据包传输策略,可以确定选择排布在第j个时间单元上的原数据包或编码数据包进行打孔,或者同时打孔原数据包和编码数据包。
发送端根据v个等效数据块中包含的数据包在(v+n-1)个时间单元上的排布情况,以及(v+n-1)个时间单元上需要被打孔的数据包的个数和位置,可以确定v个编码数据块中的每个编码数据块包含的原数据包的个数和编码数据包的个数。
其中,假设该(v+n-1)个时间单元上来自于第i个等效数据块的n个数据包中需要被打孔的数据包的个数为Pi=P1,i+P2,i,1≤i≤v,wi,j为该(v+n-1)个时间单元中的第j个时间单元上需要被打孔的且属于所述第i个等效数据块的数据包的个数。Pi个数据包包括原数据包和编码数据包,P1,i为Pi个数据包中的原数据包的个数,P2,i为Pi个数据包中的编码数据包的个数,P1,i,Pi和P2,i均为正整数。
由此,v个编码数据块中的第i个编码数据块包含的原数据包的个数为ki,ki=k-P1,i,第i个编码数据块包含的编码数据包的个数为ci,ki+ci=n-Pi,ki和ci均为正整数。
参见图13,图13为调整编码数据块的码率以适配TB的实际大小的示意图。图13中示出了编码数据块(i-1),编码数据块i,编码数据块(i+1),…,编码数据块(i+4)。其中,编码数据块i包含的原数据包表示为u[i],例如,u1[i]表示编码数据块i包含的原数据包u1,u2[i]表示编码数据块i包含的原数据包u2。其它编码数据块包含的数据包的表示也是类似的。发送端按照数据包传输策略和每个时间单元对应的TB的大小,完成(v+n-1)个时间单元上排布的数据包的打孔之后,就可以确定出v个编码数据块中的每个编码数据块包含的原数据包的个数以及编码数据包的个数。例如,以编码数据块(i+1)为例,假设只有原数据包u4[i+1]被打孔,则可以确定编码数据块(i+1)包含的原数据包的个数为k-1,编码数据包未被打孔,则编码数据包的个数为(n-k),也即为编码数据块(i+1)对应的第i个等效数据块中包含的编码数据包的个数。由此,编码数据块(i+1)的码率为(k-1)/(n-1)。再以编码数据块(i+2)为例,若只有原数据包u3[i+2]被打孔,则编码数据块(i+2)中包含的原数据包的个数为k-1,编码数据包的个数为(n-k),则编码数据块(i+2)的码率为(k-1)/(n-1)。
结合上文和图13可以看出,按照每个时间单元对应的TB的实际大小,以及数据包传输策略,完成(v+n-1)时间单元上的数据包的打孔之后,该(v+n-1)时间单元中的每个时间单元上发送的数据包的个数是适配每个时间单元对应的TB的实际大小的,并且,每个编码数块包含的原数据包的个数和编码数据包的个数也可以由从打孔后的图样中确定。以图13中虚线标记的等效数据块为例,对角交织后的每个等效数据块包含的数据包以类似于“对角线”的方式排布在(v+n-1)时间单元中的n个时间单元上,依据这n个时间单元上属于该第i个等效数据块的数据包的被打孔情况,可以确定第i个等效数据块对应的第i个编码数据块包含的原数据包的个数和编码数据包的个数。可以认为,v个等效数据块对应v个编码数据块。以一个等效数据块为例,该等效数据块被打孔之后,剩余的数据包级组成该等效数据块对应的编码数据块。发送端确定了v个编码数据块包含的原数据包的个数和编码数据包的个数之后,采用编码系数矩阵进行编码,即可获得适配v个不同的时间单元各自的TB的实际大小的编码数据块。
540、接收端根据设定的交织规则的逆操作,确定Q个传输块对应的v个编码数据块,并根据v个编码数据块中的每个编码数据块中正确接收的数据包,解码获得v个编码数据块各自包含的所有原数据包。
接收端将接收到的Q个传输块,按照设定的交织规则的逆操作,将其排布在Q个时间单元上,并按照如图13中所示的“对角线”的方式,可以获得v个编码数据块。进一步地,接收端根据v个编码数据块中的每个编码数据块中正确接收的数据包进行解码,获得该v个编码数据块各自的原数据包。接收端在获得v个编码数据块之后,针对该v个编码数据块中的每个编码数据块,其解码的过程与方案1中步骤340中描述的过程完全相同,这里不再重复说明。应理解,方案1的步骤340中,接收端根据(k+N+B)个数据包中正确接收的数据包进行解码,即是指对一个编码数据块中正确接收的数据包进行解码,也即,该(k+N+B)个数据包即为一个编码数据块中包含的全部数据包。
一方面,方案2中采用的编码系数矩阵可以与方案1中的编码系数矩阵相同,因此,在连续错误的数据包的个数不大于B个,和/或,随机错误的数据包的个数不大于N的情况下,可以在最大时延T内恢复出k个原数据包,纠错能力获得提升,并且最大时延更低。另一方面,方案2在不同的传输块的大小的情况下依旧是适用的,通过调整编码数据块的码率,可以匹配不同的传输块的大小,也即,在保证最大时延不变的情况下,可以支持不同大小的TB的传输,编码方案的灵活性更高,适应性更强。
以上对本申请提供的发送数据和接收数据的方法进行了详细说明,下面介绍本申请提供的通信装置。
参见图14,图14为本申请提供的通信装置的示意性框图。如图14,通信装置1000包括处理单元1100、接收单元1200和发送单元1300。
可选地,通信装置1000可以对应本申请实施例中的发送端。
在一些方案中,通信装置1000的各单元用于实现如下功能:
所述接收单元1200,用于获取k个原数据包,以及所述k个原数据包对应的编码系数矩阵;
所述处理单元1100,用于根据允许的最大时延的时间单元的个数T,采用所述编码系数矩阵对所述k个原数据包进行编码,获得(k+N+B)个数据包,其中,所述(k+N+B)个数据包中的前k个数据包为所述k个原数据包,后(N+B)个数据包为编码数据包,k,N和B均为正整数,T=k+N;
所述编码系数矩阵的大小为k行(k+N+B)列,且包括k×(k+N+B)个编码系数,所述编码系数矩阵的第i行第j列的编码系数表示为mi,j,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;
所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数mi,j,其中,i=1,2,…,k,j=1,2,…,k,当i=j时,所述编码系数为1,其余所述编码系数为0;
所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+1,k+2,…,k+N,所述第一矩阵和所述单位矩阵构成系统极大距离可分MDS码的生成矩阵;
所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+N+1,k+N+2,…,k+N+B,所述第二矩阵的第r列的编码系数为0或1,1≤r≤B,所述第r列的相邻两个为1的编码系数的行间隔为B,所述第r列的第一个为1的编码系数的位置在所述第二矩阵的第r行;
所述发送单元1300,用于发送所述(k+N+B)个数据包。
可选地,在一个实施例中,所述处理单元1100,还用于:
对所述(k+N+B)个数据包进行对角交织或水平交织,使得所述(k+N+B)个数据包被排布在y个时间单元上,1≤y≤k+N+B,y为正整数;
所述发送单元1300,用于在所述y个时间单元上发送所述(k+N+B)个数据包。
可选地,在一个实施例中,所述第一矩阵为柯西矩阵或范德蒙矩阵。
可选地,在一个实施例中,所述(k+N+B)个数据包中的x个数据包在一个时间单元上传输,所述时间单元为一个时隙,1≤x≤k+N+B,x为正整数。
可选地,在另一些方案中,通信装置1000的各单元具有如下功能:
所述处理单元1100,用于:
根据确定的所述v个编码数据块中的每个编码数据块包含的原数据包的个数和编码数据包的个数,采用编码系数矩阵进行编码,获得所述v个编码数据块,v为正整数;
按照设定的交织规则,对所述v个编码数据块中包含的数据包进行交织,获得Q个传输块,所述设定的交织规则包括:所述v个编码数据块中的任意一个或多个编码数据块包含的数据包在所述一个或多个编码数据块各自对应的时间单元上为非连续排布的对角交织,Q大于v,Q为正整数;
所述发送单元1300,用于在所述Q个时间单元上发送所述Q个传输块;
其中,所述编码系数矩阵的大小为k行(k+N+B)列,且包括k×(k+N+B)个编码系数,所述编码系数矩阵的第i行第j列的编码系数表示为mi,j,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;
所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数mi,j,其中,i=1,2,…,k,j=1,2,…,k,当i=j时,所述编码系数为1,其余所述编码系数为0;
所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+1,k+2,…,k+N,所述第一矩阵和所述单位矩阵构成系统MDS码的生成矩阵;
所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+N+1,k+N+2,…,k+N+B,所述第二矩阵的第r列的编码系数为0或1,1≤r≤B,所述第r列的相邻两个为1的编码系数的行间隔为B,所述第r列的第一个为1的编码系数的位置在所述第二矩阵的第r行。
可选地,在一个实施例中,所述处理单元1100,还用于:
获取码型为(n,k)的v个等效数据块;
对所述v个等效数据块中包含的数据包进行对角交织,使得所述v个等效数据块中包含的数据包排布在(v+n-1)个时间单元上;
根据数据包传输策略和所述(v+n-1)个时间单元中的每个时间单元上支持发送的数据包的个数,确定所述(v+n-1)个时间单元中的每个时间单元上需要被打孔的数据包的个数和位置;
根据所述v个等效数据块中包含的数据包在所述(v+n-1)个时间单元上的排布情况,以及所述(v+n-1)个时间单元上的需要被打孔的数据包的个数和位置,确定所述v个编码数据块中的每个编码数据块包含的原数据包的个数和编码数据包的个数;
其中,所述(v+n-1)个时间单元上来自于第i个等效数据块的n个数据包中需要被打孔的数据包的个数为Pi=P1,i+P2,i,1≤i≤v,wi,j为所述(v+n-1)个时间单元中的第j个时间单元上需要被打孔的且属于所述第i个等效数据块的数据包的个数,所述Pi个数据包包括原数据包和编码数据包,所述P1,i为所述Pi个数据包中的原数据包的个数,所述P2,i为所述Pi个数据包中的编码数据包的个数,P1,i,Pi和P2,i均为正整数;
所述v个编码数据块中的第i个编码数据块包含的原数据包的个数为ki,ki=k-P1,i,所述第i个编码数据块包含的编码数据包的个数为ci,ki+ci=n-Pi,ki和ci均为正整数。
可选地,在一个实施例中,所述处理单元1100,用于:
按照所述设定的交织规则,对所述v个编码数据块中包含的数据包进行交织,使得所述v个编码数据块中包含的数据包排布在所述Q个时间单元上;
根据所述v个编码数据块包含的数据包在所述Q个时间单元上的排布情况,获得所述Q个传输块,其中。排布在所述Q个时间单元中的第j个时间单元上的数据包构成所述Q个传输块中的第j个传输块,1≤j≤Q,j为正整数。
可选地,在一个实施例中,所述数据包传输策略指示如下之一:
优先传输每个传输块对应的编码数据块中的原数据包;
优先传输每个传输块对应的编码数据块中的编码数据包;或者,
优先使所述v个编码数据块的码率接近于设定码率k/n。
在通信装置1000对应发送端的各实施例中,处理单元1100用于执行除了发送和接收的动作之外由发送端内部实现的处理和/或操作。接收单元1200用于执行接收的动作,发送单元1300用于执行发送的动作。
例如,在图3中,处理单元1100执行步骤310,步骤320。发送单元1300执行步骤330中发送的动作。在图10中,处理单元1100执行步骤510,步骤520。发送单元1300执行步骤530中发送的动作。
可选地,通信装置1000可以对应本申请实施例中的接收端.
可选地,在一些方案中,通信装置1000的各单元用于实现如下功能:
所述接收单元1200,用于接收(k+N+B)个数据包;
所述处理单元1100,用于采用所述(k+N+B)个数据包中正确接收的数据包进行解码,获得所述(k+N+B)个数据包中的k个原数据包;
其中,所述(k+N+B)个数据包中连续错误的数据包的个数不大于B个,和/或,
所述(k+N+B)个数据包中随机错误的数据包的个数不大于N个;
k,N和B均为正整数,T=k+N,所述T为允许的最大时延的时间单位的个数;
以及,所述(k+N+B)个数据包是采用如下编码系数矩阵对所述k个原数据包进行编码获得的:
所述编码系数矩阵的大小为k行(k+N+B)列,且包括k×(k+N+B)个编码系数,所述编码系数矩阵的第i行第j列的编码系数表示为mi,j,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;
所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数mi,j,其中,i=1,2,…,k,j=1,2,…,k,当i=j时,所述编码系数为1,其余所述编码系数为0;
所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+1,k+2,…,k+N,所述第一矩阵和所述单位矩阵构成系统MDS码的生成矩阵;
所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+N+1,k+N+2,…,k+N+B,所述第二矩阵的第r列的编码系数为0或1,1≤r≤B,所述第r列的相邻两个为1的编码系数的行间隔为B,所述第r列的第一个为1的编码系数的位置在所述第二矩阵的第r行。
可选地,在一个实施例中,所述接收单元1200,用于:
接收y个连续的时间单元上的传输数据块,1≤y≤k+N+B,y为正整数;
所述处理单元1100,用于:
根据编码数据块中包含的数据包的交织关系,从所述y个连续的时间单元上的传输数据块中获取所述(k+N+B)个数据包,所述(k+N+B)个数据包来自于一个编码数据块。
可选地,在一个实施例中,所述处理单元1100,用于:
确定所述编码系数矩阵;
根据正确接收的k1个原数据包、N1个编码数据包和B1个编码数据包,分别确定所述k1个原数据包在所述单位矩阵中对应的k1个列,所述N1个编码数据包在所述第一矩阵中对应的N1个列,以及所述B1个编码数据包在所述第二矩阵中对应的B1个列;
根据所述B1个列中的编码系数,采用所述B1个编码数据包和所述k1个原数据包,恢复未正确接收的m个原数据包;
根据所述B1个列中的编码系数和所述N1个列中的编码系数,采用所述B1个编码数据包、所述N1个编码数据包和所述k1个原数据包以及恢复获得的所述m个原数据包,恢复所述k个原数据包中剩余的(k-k1-m)个未被正确接收的原数据包。
可选地,在一个实施例中,所述第一矩阵为柯西矩阵或范德蒙矩阵。
可选地,在一个实施例中,所述(k+N+B)个数据包中的x个数据包在一个时间单元上传输,所述时间单元为一个时隙。
可选地,在所述通信装置1000对应接收端的另一些方案中,通信装置1000的各单元用于实现如下功能:
所述接收单元1200,用于在Q个时间单元上接收Q个传输块,Q为正整数;
根据设定的交织规则的逆操作,确定所述Q个传输块对应的v个编码数据块,所述设定的交织规则包括:所述v个编码数据块中的任意一个或多个编码数据块包含的数据包在所述一个或多个编码数据块各自对应的时间单元上为非连续排布的对角交织,Q大于v,v为正整数;
根据所述v个编码数据块中的每个编码数据块中正确接收的数据包,解码获得所述v个编码数据块各自包含的所有原数据包;
其中,所述v个编码数据块中的第i个编码数据块包含的数据包是采用如下编码系数矩阵对所述第i个编码数据块包含的原数据包进行编码获得的:
所述编码系数矩阵的大小为k行(k+N+B)列,且包括k×(k+N+B)个编码系数,所述编码系数矩阵的第i行第j列的编码系数表示为mi,j,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;
所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数mi,j,其中,i=1,2,…,k,j=1,2,…,k,当i=j时,所述编码系数为1,其余所述编码系数为0;
所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+1,k+2,…,k+N,所述第一矩阵和所述单位矩阵构成系统MDS码的生成矩阵;
所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+N+1,k+N+2,…,k+N+B,所述第二矩阵的第r列的编码系数为0或1,1≤r≤B,所述第r列的相邻两个为1的编码系数的行间隔为B,所述第r列的第一个为1的编码系数的位置在所述第二矩阵的第r行。
在通信装置1000对应接收端的各实施例中,处理单元1100用于执行除了发送和接收的动作之外由接收端内部实现的处理和/或操作。接收单元1200用于执行接收的动作,发送单元1300用于执行发送的动作。
例如,在图3中,接收单元1200执行步骤330中接收的动作。处理单元1100执行步骤340。在图10中,接收单元1200执行步骤530中接收的动作,处理单元1100执行步骤540。
在以上各实现方式中,接收单元1200和发送单元1300也可以集成为一个收发单元,同时具备接收和发送的功能,这里不作限定。
参见图15,图15为本申请提供的通信装置的示意性结构图。如图15,通信装置10包括:一个或多个处理器11,一个或多个存储器12以及一个或多个通信接口13。处理器11用于控制通信接口13收发信号,存储器12用于存储计算机程序,处理器11用于从存储器12中调用并运行该计算机程序,以使得通信装置10执行本申请各方法实施例中由发送端或接收端执行的处理。
例如,处理器11可以具有图14中所示的处理单元1100的功能,通信接口13可以具有图14中所示的接收单元1200和/或发送单元1300的功能。具体地,处理器11可以用于执行由通信装置内部执行的处理或操作,通信接口13用于执行由通信装置的发送和/或接收的操作。
在一种实现方式中,通信装置10可以为方法实施例中的发送端。在这种实现方式中,通信接口13可以为收发器。收发器可以包括接收器和/或发射器。可选地,处理器11可以为基带装置,通信接口13可以为射频装置。
在另一种实现中,通信装置10可以为安装在发送端中的芯片(或芯片系统)。在这种实现方式中,通信接口13可以为接口电路或者输入/输出接口。
在一种实现方式中,通信装置10可以为方法实施例中的接收端。在这种实现方式中,通信接口13可以为收发器。收发器可以包括接收器和/或发射器。可选地,处理器11可以为基带装置,通信接口13可以为射频装置。
在另一种实现中,通信装置10可以为安装在接收端中的芯片(或芯片系统)。在这种实现方式中,通信接口13可以为接口电路或者输入/输出接口。
其中,图15中器件(例如,处理器、存储器或通信接口)后面的虚线框表示该器件可以为一个以上。
可选的,上述各装置实施例中的存储器与处理器可以是物理上相互独立的单元,或者,存储器也可以和处理器集成在一起,本文不作限定。
此外,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当计算机指令在计算机上运行时,使得本申请各方法实施例中由发送端执行的操作和/或处理被执行。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当计算机指令在计算机上运行时,使得本申请各方法实施例中由接收端执行的操作和/或处理被执行。
此外,本申请还提供一种计算机程序产品,计算机程序产品包括计算机程序代码或指令,当计算机程序代码或指令在计算机上运行时,使得本申请各方法实施例中由发送端执行的操作和/或处理被执行。
本申请还提供一种计算机程序产品,计算机程序产品包括计算机程序代码或指令,当计算机程序代码或指令在计算机上运行时,使得本申请各方法实施例中由接收端执行的操作和/或处理被执行。
此外,本申请还提供一种芯片,所述芯片包括处理器,用于存储计算机程序的存储器独立于芯片而设置,处理器用于执行存储器中存储的计算机程序,使得安装有所述芯片的发送端执行任意一个方法实施例中由发送端执行的操作和/或处理。
进一步地,所述芯片还可以包括通信接口。所述通信接口可以是输入/输出接口,也可以为接口电路等。进一步地,所述芯片还可以包括所述存储器。
本申请还提供一种芯片,所述芯片包括处理器,用于存储计算机程序的存储器独立于芯片而设置,处理器用于执行存储器中存储的计算机程序,使得安装有所述芯片的接收端执行任意一个方法实施例中由接收端执行的操作和/或处理。
进一步地,所述芯片还可以包括通信接口。所述通信接口可以是输入/输出接口,也可以为接口电路等。进一步地,所述芯片还可以包括所述存储器。
可选地,上述处理器可以为一个或多个,所述存储器可以为一个或多个,所述存储器可以为一个或多个。
此外,本申请还提供一种通信装置(例如,可以为芯片或芯片系统),包括处理器和通信接口,所述通信接口用于接收(或称为输入)数据和/或信息,并将接收到的数据和/或信息传输至所述处理器,所述处理器处理所述数据和/或信息,以及,通信接口还用于输出(或称为输出)经处理器处理之后的数据和/或信息,以使得任意一个方法实施例中由发送端执行的操作和/或处理被执行。
本申请还提供一种通信装置(例如,可以为芯片或芯片系统),包括处理器和通信接口,所述通信接口用于接收(或称为输入)数据和/或信息,并将接收到的数据和/或信息传输至所述处理器,所述处理器处理所述数据和/或信息,以及,通信接口还用于输出(或称为输出)经处理器处理之后的数据和/或信息,以使得任意一个方法实施例中由接收端执行的操作和/或处理被执行。
此外,本申请还提供一种通信装置,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合,所述至少一个处理器用于执行所述至少一个存储器中存储的计算机程序或指令,使得所述通信装置执行任意一个方法实施例中由发送端执行的操作和/或处理。
本申请还提供一种通信装置,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合,所述至少一个处理器用于执行所述至少一个存储器中存储的计算机程序或指令,使得所述通信装置执行任意一个方法实施例中由接收端执行的操作和/或处理。
此外,本申请还提供一种通信装置,包括处理器和存储器。可选地,还可以包括收发器。其中,存储器用于存储计算机程序,处理器用于调用并运行存储器中存储的计算机程序,并控制收发器收发信号,以使通信设备执行任意一个方法实施例中由发送端执行的操作和/或处理。
本申请还提供一种通信装置,包括处理器和存储器。可选地,还可以包括收发器。其中,存储器用于存储计算机程序,处理器用于调用并运行存储器中存储的计算机程序,并控制收发器收发信号,以使通信设备执行任意一个方法实施例中由接收端执行的操作和/或处理。
本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasablePROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambusRAM,DRRAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
上述实施例所提供的方法,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品可以包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。
本申请实施例中,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c;a和b;a和c;b和c;或a和b和c。其中a,b,c可以是单个,也可以是多个。
在本文或附图中,同一个字母的斜体与非斜体为同一个参数,例如u11与u11为同一个原数据包,p1与p1为同一个编码数据包等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不予赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (33)
1.一种发送数据的方法,其特征在于,包括:
获取k个原数据包,以及所述k个原数据包对应的编码系数矩阵;
根据允许的最大时延的时间单元的个数T,采用所述编码系数矩阵对所述k个原数据包进行编码,获得(k+N+B)个数据包,其中,所述(k+N+B)个数据包中的前k个数据包为所述k个原数据包,后(N+B)个数据包为编码数据包,k,N和B均为正整数,T=k+N;
所述编码系数矩阵的大小为k行(k+N+B)列,且包括k×(k+N+B)个编码系数,所述编码系数矩阵的第i行第j列的编码系数表示为mi,j,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;
所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数mi,j,其中,i=1,2,…,k,j=1,2,…,k,当i=j时,所述编码系数为1,其余所述编码系数为0;
所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+1,k+2,…,k+N,所述第一矩阵和所述单位矩阵构成系统极大距离可分MDS码的生成矩阵;
所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+N+1,k+N+2,…,k+N+B,所述第二矩阵的第r列的编码系数为0或1,1≤r≤B,所述第r列的相邻两个为1的编码系数的行间隔为B,所述第r列的第一个为1的编码系数的位置在所述第二矩阵的第r行;
发送所述(k+N+B)个数据包。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
对所述(k+N+B)个数据包进行对角交织或水平交织,使得所述(k+N+B)个数据包被排布在y个时间单元上,1≤y≤k+N+B,y为正整数;
所述发送所述(k+N+B)个数据包,包括:
在所述y个时间单元上发送所述(k+N+B)个数据包。
3.如权利要求1或2所述的方法,其特征在于,所述第一矩阵为柯西矩阵或范德蒙矩阵。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述(k+N+B)个数据包中的x个数据包在一个时间单元上传输,所述时间单元为一个时隙,1≤x≤k+N+B,x为正整数。
5.一种接收数据的方法,其特征在于,包括:
接收(k+N+B)个数据包;
采用所述(k+N+B)个数据包中正确接收的数据包进行解码,获得所述(k+N+B)个数据包中的k个原数据包;
其中,所述(k+N+B)个数据包中连续错误的数据包的个数不大于B个,和/或,
所述(k+N+B)个数据包中随机错误的数据包的个数不大于N个;
k,N和B均为正整数,T=k+N,所述T为允许的最大时延的时间单位的个数;
以及,所述(k+N+B)个数据包是采用如下编码系数矩阵对所述k个原数据包进行编码获得的:
所述编码系数矩阵的大小为k行(k+N+B)列,且包括k×(k+N+B)个编码系数,所述编码系数矩阵的第i行第j列的编码系数表示为mi,j,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;
所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数mi,j,其中,i=1,2,…,k,j=1,2,…,k,当i=j时,所述编码系数为1,其余所述编码系数为0;
所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+1,k+2,…,k+N,所述第一矩阵和所述单位矩阵构成系统MDS码的生成矩阵;
所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+N+1,k+N+2,…,k+N+B,所述第二矩阵的第r列的编码系数为0或1,1≤r≤B,所述第r列的相邻两个为1的编码系数的行间隔为B,所述第r列的第一个为1的编码系数的位置在所述第二矩阵的第r行。
6.如权利要求5所述的方法,其特征在于,所述接收(k+N+B)个数据包,包括:
接收y个连续的时间单元上的传输数据块,1≤y≤k+N+B,y为正整数;
根据编码数据块中包含的数据包的交织关系,从所述y个连续的时间单元上的传输数据块中获取所述(k+N+B)个数据包,所述(k+N+B)个数据包来自于一个编码数据块。
7.如权利要求5或6所述的方法,其特征在于,所述采用所述(k+N+B)个数据包中正确接收的数据包进行解码,获得所述(k+N+B)个数据包中的k个原数据包,包括:
确定所述编码系数矩阵;
根据正确接收的k1个原数据包、N1个编码数据包和B1个编码数据包,分别确定所述k1个原数据包在所述单位矩阵中对应的k1个列,所述N1个编码数据包在所述第一矩阵中对应的N1个列,以及所述B1个编码数据包在所述第二矩阵中对应的B1个列;
根据所述B1个列中的编码系数,采用所述B1个编码数据包和所述k1个原数据包,恢复未正确接收的m个原数据包;
根据所述B1个列中的编码系数和所述N1个列中的编码系数,采用所述B1个编码数据包、所述N1个编码数据包和所述k1个原数据包以及恢复获得的所述m个原数据包,恢复所述k个原数据包中剩余的(k-k1-m)个未被正确接收的原数据包。
8.如权利要求5-7中任一项所述的方法,其特征在于,所述第一矩阵为柯西矩阵或范德蒙矩阵。
9.如权利要求5-8中任一项所述的方法,其特征在于,所述(k+N+B)个数据包中的x个数据包在一个时间单元上传输,所述时间单元为一个时隙。
10.一种发送数据的方法,其特征在于,包括:
根据确定的v个编码数据块中的每个编码数据块包含的原数据包的个数和编码数据包的个数,采用编码系数矩阵进行编码,获得所述v个编码数据块,v为正整数;
按照设定的交织规则,对所述v个编码数据块中包含的数据包进行交织,获得Q个传输块,所述设定的交织规则包括:所述v个编码数据块中的任意一个或多个编码数据块包含的数据包在所述一个或多个编码数据块各自对应的时间单元上为非连续排布的对角交织,其中,Q大于v,Q为正整数;
在所述Q个时间单元上发送所述Q个传输块;
其中,所述编码系数矩阵的大小为k行(k+N+B)列,且包括k×(k+N+B)个编码系数,所述编码系数矩阵的第i行第j列的编码系数表示为mi,j,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;
所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数mi,j,其中,i=1,2,…,k,j=1,2,…,k,当i=j时,所述编码系数为1,其余所述编码系数为0;
所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+1,k+2,…,k+N,所述第一矩阵和所述单位矩阵构成系统MDS码的生成矩阵;
所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+N+1,k+N+2,…,k+N+B,所述第二矩阵的第r列的编码系数为0或1,1≤r≤B,所述第r列的相邻两个为1的编码系数的行间隔为B,所述第r列的第一个为1的编码系数的位置在所述第二矩阵的第r行。
11.如权利要求10所述的方法,其特征在于,所述方法还包括:
获取码型为(n,k)的v个等效数据块;
对所述v个等效数据块中包含的数据包进行对角交织,使得所述v个等效数据块中包含的数据包排布在(v+n-1)个时间单元上;
根据数据包传输策略和所述(v+n-1)个时间单元中的每个时间单元上支持发送的数据包的个数,确定所述(v+n-1)个时间单元中的每个时间单元上需要被打孔的数据包的个数和位置;
根据所述v个等效数据块中包含的数据包在所述(v+n-1)个时间单元上的排布情况,以及所述(v+n-1)个时间单元上的需要被打孔的数据包的个数和位置,确定所述v个编码数据块中的每个编码数据块包含的原数据包的个数和编码数据包的个数;
其中,所述(v+n-1)个时间单元上来自于第i个等效数据块的n个数据包中需要被打孔的数据包的个数为Pi=P1,i+P2,i,1≤i≤v,wi,j为所述(v+n-1)个时间单元中的第j个时间单元上需要被打孔的且属于所述第i个等效数据块的数据包的个数,所述Pi个数据包包括原数据包和编码数据包,所述P1,i为所述Pi个数据包中的原数据包的个数,所述P2,i为所述Pi个数据包中的编码数据包的个数,P1,i,Pi和P2,i均为正整数;
所述v个编码数据块中的第i个编码数据块包含的原数据包的个数为ki,ki=k-P1,i,所述第i个编码数据块包含的编码数据包的个数为ci,ki+ci=n-Pi,ki和ci均为正整数。
12.如权利要求10或11所述的方法,其特征在于,所述按照设定的交织规则,对所述v个编码数据块中包含的数据包进行交织,获得Q个传输块,包括:
按照所述设定的交织规则,对所述v个编码数据块中包含的数据包进行交织,使得所述v个编码数据块中包含的数据包排布在所述Q个时间单元上;
根据所述v个编码数据块包含的数据包在所述Q个时间单元上的排布情况,获得所述Q个传输块,其中,排布在所述Q个时间单元中的第j个时间单元上的数据包构成所述Q个传输块中的第j个传输块,1≤j≤Q,j为正整数。
13.如权利要求10-12中任一项所述的方法,其特征在于,所述数据包传输策略指示如下之一:
优先传输每个传输块对应的编码数据块中的原数据包;
优先传输每个传输块对应的编码数据块中的编码数据包;或者,
优先使所述v个编码数据块的码率接近于设定码率k/n。
14.一种接收数据的方法,其特征在于,包括:
在Q个时间单元上接收Q个传输块,Q为正整数;
根据设定的交织规则的逆操作,确定所述Q个传输块对应的v个编码数据块,所述设定的交织规则包括:所述v个编码数据块中的任意一个或多个编码数据块包含的数据包在所述一个或多个编码数据块各自对应的时间单元上为非连续排布的对角交织,Q大于v,v为正整数;
根据所述v个编码数据块中的每个编码数据块中正确接收的数据包,解码获得所述v个编码数据块各自包含的所有原数据包;
其中,所述v个编码数据块中的第i个编码数据块包含的数据包是采用如下编码系数矩阵对所述第i个编码数据块包含的原数据包进行编码获得的:
所述编码系数矩阵的大小为k行(k+N+B)列,且包括k×(k+N+B)个编码系数,所述编码系数矩阵的第i行第j列的编码系数表示为mi,j,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;
所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数mi,j,其中,i=1,2,…,k,j=1,2,…,k,当i=j时,所述编码系数为1,其余所述编码系数为0;
所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+1,k+2,…,k+N,所述第一矩阵和所述单位矩阵构成系统MDS码的生成矩阵;
所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+N+1,k+N+2,…,k+N+B,所述第二矩阵的第r列的编码系数为0或1,1≤r≤B,所述第r列的相邻两个为1的编码系数的行间隔为B,所述第r列的第一个为1的编码系数的位置在所述第二矩阵的第r行。
15.一种通信装置,其特征在于,包括:
接收单元,用于获取k个原数据包,以及所述k个原数据包对应的编码系数矩阵;
处理单元,用于根据允许的最大时延的时间单元的个数T,采用所述编码系数矩阵对所述k个原数据包进行编码,获得(k+N+B)个数据包,其中,所述(k+N+B)个数据包中的前k个数据包为所述k个原数据包,后(N+B)个数据包为编码数据包,k,N和B均为正整数,T=k+N;
所述编码系数矩阵的大小为k行(k+N+B)列,且包括k×(k+N+B)个编码系数,所述编码系数矩阵的第i行第j列的编码系数表示为mi,j,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;
所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数mi,j,其中,i=1,2,…,k,j=1,2,…,k,当i=j时,所述编码系数为1,其余所述编码系数为0;
所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+1,k+2,…,k+N,所述第一矩阵和所述单位矩阵构成系统极大距离可分MDS码的生成矩阵;
所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+N+1,k+N+2,…,k+N+B,所述第二矩阵的第r列的编码系数为0或1,1≤r≤B,所述第r列的相邻两个为1的编码系数的行间隔为B,所述第r列的第一个为1的编码系数的位置在所述第二矩阵的第r行;
以及,
发送单元,用于发送所述(k+N+B)个数据包。
16.如权利要求15所述的通信装置,其特征在于,所述处理单元,还用于:
对所述(k+N+B)个数据包进行对角交织或水平交织,使得所述(k+N+B)个数据包被排布在y个时间单元上,1≤y≤k+N+B,y为正整数;
所述发送单元,还用于在所述y个时间单元上发送所述(k+N+B)个数据包。
17.如权利要求15或16所述的通信装置,其特征在于,所述第一矩阵为柯西矩阵或范德蒙矩阵。
18.如权利要求15-17中任一项所述的通信装置,其特征在于,所述(k+N+B)个数据包中的x个数据包在一个时间单元上传输,所述时间单元为一个时隙,1≤x≤k+N+B,x为正整数。
19.一种通信装置,其特征在于,包括:
接收单元,用于接收(k+N+B)个数据包;
处理单元,用于采用所述(k+N+B)个数据包中正确接收的数据包进行解码,获得所述(k+N+B)个数据包中的k个原数据包;
其中,所述(k+N+B)个数据包中连续错误的数据包的个数不大于B个,和/或,
所述(k+N+B)个数据包中随机错误的数据包的个数不大于N个;
k,N和B均为正整数,T=k+N,所述T为允许的最大时延的时间单位的个数;
以及,所述(k+N+B)个数据包是采用如下编码系数矩阵对所述k个原数据包进行编码获得的:
所述编码系数矩阵的大小为k行(k+N+B)列,且包括k×(k+N+B)个编码系数,所述编码系数矩阵的第i行第j列的编码系数表示为mi,j,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;
所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数mi,j,其中,i=1,2,…,k,j=1,2,…,k,当i=j时,所述编码系数为1,其余所述编码系数为0;
所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+1,k+2,…,k+N,所述第一矩阵和所述单位矩阵构成系统MDS码的生成矩阵;
所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+N+1,k+N+2,…,k+N+B,所述第二矩阵的第r列的编码系数为0或1,1≤r≤B,所述第r列的相邻两个为1的编码系数的行间隔为B,所述第r列的第一个为1的编码系数的位置在所述第二矩阵的第r行。
20.如权利要求19所述的通信装置,其特征在于,所述接收单元,用于:
接收y个连续的时间单元上的传输数据块,1≤y≤k+N+B,y为正整数;
所述处理单元,用于:
根据编码数据块中包含的数据包的交织关系,从所述y个连续的时间单元上的传输数据块中获取所述(k+N+B)个数据包,所述(k+N+B)个数据包来自于一个编码数据块。
21.如权利要求19或20所述的通信装置,其特征在于,所述处理单元,用于:
确定所述编码系数矩阵;
根据正确接收的k1个原数据包、N1个编码数据包和B1个编码数据包,分别确定所述k1个原数据包在所述单位矩阵中对应的k1个列,所述N1个编码数据包在所述第一矩阵中对应的N1个列,以及所述B1个编码数据包在所述第二矩阵中对应的B1个列;
根据所述B1个列中的编码系数,采用所述B1个编码数据包和所述k1个原数据包,恢复未正确接收的m个原数据包;
根据所述B1个列中的编码系数和所述N1个列中的编码系数,采用所述B1个编码数据包、所述N1个编码数据包和所述k1个原数据包以及恢复获得的所述m个原数据包,恢复所述k个原数据包中剩余的(k-k1-m)个未被正确接收的原数据包。
22.如权利要求19-21中任一项所述的通信装置,其特征在于,所述第一矩阵为柯西矩阵或范德蒙矩阵。
23.如权利要求19-22中任一项所述的通信装置,其特征在于,所述(k+N+B)个数据包中的x个数据包在一个时间单元上传输,所述时间单元为一个时隙。
24.一种通信装置,其特征在于,包括:
处理单元,用于:
根据确定的v个编码数据块中的每个编码数据块包含的原数据包的个数和编码数据包的个数,采用编码系数矩阵进行编码,获得所述v个编码数据块,v为正整数;
以及,按照设定的交织规则,对所述v个编码数据块中包含的数据包进行交织,获得Q个传输块,所述设定的交织规则包括:所述v个编码数据块中的任意一个或多个编码数据块包含的数据包在所述一个或多个编码数据块各自对应的时间单元上为非连续排布的对角交织,Q大于v,Q为正整数;
发送单元,用于在所述Q个时间单元上发送所述Q个传输块;
其中,所述编码系数矩阵的大小为k行(k+N+B)列,且包括k×(k+N+B)个编码系数,所述编码系数矩阵的第i行第j列的编码系数表示为mi,j,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;
所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数mi,j,其中,i=1,2,…,k,j=1,2,…,k,当i=j时,所述编码系数为1,其余所述编码系数为0;
所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+1,k+2,…,k+N,所述第一矩阵和所述单位矩阵构成系统MDS码的生成矩阵;
所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+N+1,k+N+2,…,k+N+B,所述第二矩阵的第r列的编码系数为0或1,1≤r≤B,所述第r列的相邻两个为1的编码系数的行间隔为B,所述第r列的第一个为1的编码系数的位置在所述第二矩阵的第r行。
25.如权利要求24所述的通信装置,其特征在于,所述处理单元,还用于:
获取码型为(n,k)的v个等效数据块;
对所述v个等效数据块中包含的数据包进行对角交织,使得所述v个等效数据块中包含的数据包排布在(v+n-1)个时间单元上;
根据数据包传输策略和所述(v+n-1)个时间单元中的每个时间单元上支持发送的数据包的个数,确定所述(v+n-1)个时间单元中的每个时间单元上需要被打孔的数据包的个数和位置;
根据所述v个等效数据块中包含的数据包在所述(v+n-1)个时间单元上的排布情况,以及所述(v+n-1)个时间单元上的需要被打孔的数据包的个数和位置,确定所述v个编码数据块中的每个编码数据块包含的原数据包的个数和编码数据包的个数;
其中,所述(v+n-1)个时间单元上来自于第i个等效数据块的n个数据包中需要被打孔的数据包的个数为Pi=P1,i+P2,i,1≤i≤v,wi,j为所述(v+n-1)个时间单元中的第j个时间单元上需要被打孔的且属于所述第i个等效数据块的数据包的个数,所述Pi个数据包包括原数据包和编码数据包,所述P1,i为所述Pi个数据包中的原数据包的个数,所述P2,i为所述Pi个数据包中的编码数据包的个数,P1,i,Pi和P2,i均为正整数;
所述v个编码数据块中的第i个编码数据块包含的原数据包的个数为ki,ki=k-P1,i,所述第i个编码数据块包含的编码数据包的个数为ci,ki+ci=n-Pi,ki和ci均为正整数。
26.如权利要求24或25所述的通信装置,其特征在于,所述处理单元,用于:
按照所述设定的交织规则,对所述v个编码数据块中包含的数据包进行对角交织,使得所述v个编码数据块中包含的数据包排布在所述Q个时间单元上;
根据所述v个编码数据块包含的数据包在所述Q个时间单元上的排布情况,获得所述Q个传输块,其中,排布在所述Q个时间单元中的第j个时间单元上的数据包构成所述Q个传输块中的第j个传输块,1≤j≤Q,j为正整数。
27.如权利要求24-26中任一项所述的通信装置,其特征在于,所述数据包传输策略指示如下之一:
优先传输每个传输块对应的编码数据块中的原数据包;
优先传输每个传输块对应的编码数据块中的编码数据包;或者,
优先使所述v个编码数据块的码率接近于设定码率k/n。
28.一种通信装置,其特征在于,包括:
接收单元,用于在Q个时间单元上接收Q个传输块,Q为正整数;
处理单元,用于根据设定的交织规则的逆操作,确定所述Q个传输块对应的v个编码数据块,所述设定的交织规则包括:所述v个编码数据块中的任意一个或多个编码数据块包含的数据包在所述一个或多个编码数据块各自对应的时间单元上为非连续排布的对角交织,Q大于v,v为正整数;
根据所述v个编码数据块中的每个编码数据块中正确接收的数据包,解码获得所述v个编码数据块各自包含的所有原数据包;
其中,所述v个编码数据块中的第i个编码数据块包含的数据包是采用如下编码系数矩阵对所述第i个编码数据块包含的原数据包进行编码获得的:
所述编码系数矩阵的大小为k行(k+N+B)列,且包括k×(k+N+B)个编码系数,所述编码系数矩阵的第i行第j列的编码系数表示为mi,j,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;
所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数mi,j,其中,i=1,2,…,k,j=1,2,…,k,当i=j时,所述编码系数为1,其余所述编码系数为0;
所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+1,k+2,…,k+N,所述第一矩阵和所述单位矩阵构成系统MDS码的生成矩阵;
所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数mi,j,其中,i=1,2,…,k,j=k+N+1,k+N+2,…,k+N+B,所述第二矩阵的第r列的编码系数为0或1,1≤r≤B,所述第r列的相邻两个为1的编码系数的行间隔为B,所述第r列的第一个为1的编码系数的位置在所述第二矩阵的第r行。
29.一种通信装置,其特征在于,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合,所述至少一个处理器用于执行所述至少一个存储器中存储的计算机程序或指令,以使所述通信装置执行如权利要求1-4,10-13中任一项所述的方法,或者如权利要求5-9,14中任一项所述的方法。
30.一种芯片,其特征在于,包括处理器和通信接口,所述通信接口用于接收数据和/或信息,并将接收到的数据和/或信息传输至所述处理器,所述处理器处理所述数据和/或信息,以执行如权利要求1-4,10-13中任一项所述的方法,或者如权利要求5-9,14中任一项所述的方法。
31.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,当计算机指令在计算机上运行时,使得如权利要求1-4,10-13中任一项所述的方法,或者如权利要求5-9,14中任一项所述的方法被实现。
32.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得如权利要求1-4,10-13中任一项所述的方法,或者如权利要求5-9,14中任一项所述的方法被实现。
33.一种通信系统,其特征在于,包括如权利要求14-17中任一项所述的通信装置和如如权利要求18-22中任一项所述的通信装置;或者,包括如权利要求23-26中任一项所述的通信装置和如权利要求27所述的通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210412860.0A CN116961824A (zh) | 2022-04-19 | 2022-04-19 | 发送数据和接收数据的方法以及通信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210412860.0A CN116961824A (zh) | 2022-04-19 | 2022-04-19 | 发送数据和接收数据的方法以及通信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116961824A true CN116961824A (zh) | 2023-10-27 |
Family
ID=88453507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210412860.0A Pending CN116961824A (zh) | 2022-04-19 | 2022-04-19 | 发送数据和接收数据的方法以及通信装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116961824A (zh) |
-
2022
- 2022-04-19 CN CN202210412860.0A patent/CN116961824A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102670713B1 (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
US10868567B2 (en) | Methods and systems for encoding and decoding for LDPC codes | |
EP3525538B1 (en) | Downlink information transmission method, apparatus and device | |
EP3528578B1 (en) | Data processing method, base station, and terminal | |
EP3487097A1 (en) | Information transmission method, sending end device and receiving end device | |
KR102559502B1 (ko) | 통신 또는 방송 시스템에서 전송블록 크기 결정 방법 및 장치 | |
CN107852281B (zh) | 基带处理器、基站、用户设备、及其方法 | |
CN110391870B (zh) | 速率匹配的方法和装置,以及解速率匹配的方法和装置 | |
CN108347295B (zh) | 一种数据传输方法及装置 | |
CN108809482B (zh) | Polar码的速率匹配方法及装置 | |
EP3637653A1 (en) | Data processing method and data processing device | |
EP3445083B1 (en) | Information receiving method, receiving device, and system | |
CN113872737B (zh) | 用于信息传输的方法和设备 | |
EP3895351B1 (en) | New radio code block transmission based on dci extension | |
CN106685577B (zh) | 一种用户设备、接入网设备及下行数据的发送和接收方法 | |
US20230171033A1 (en) | Retransmission method and apparatus | |
US11751148B2 (en) | Method and apparatus for data transmission in wireless cellular communication system | |
EP3591865B1 (en) | Communication method and apparatus | |
EP4351028A1 (en) | Data processing method and apparatus | |
US20160277040A1 (en) | Communication method and communication apparatus | |
CN116961824A (zh) | 发送数据和接收数据的方法以及通信装置 | |
CN111726195B (zh) | 一种数据传输方法及通信装置 | |
EP2954619B1 (en) | Forward error correction (fec) to support successive interference cancellation (sic) | |
EP3248311A1 (en) | Transmitting device, receiving device, and methods performed therein | |
EP4351053A1 (en) | Methods for sending data and receiving data and communication apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |