【技术实现步骤摘要】
发送数据和接收数据的方法以及通信装置
[0001]本申请实施例涉及无线通信
,更具体地,涉及一种发送数据的方法、接收数据的方法以及通信装置。
技术介绍
[0002]网络编码技术是一种通过对若干个大小相等的数据包进行编码获得编码数据包,并通过对足够的编码数据包进行译码,恢复获得原数据包的方法。该技术已经被证实是一种可以有效改善无线通信系统传输性能的方法。不同的网络编码方案对应的纠错能力不同。有的编码方案,例如极大短(maximally short,MS)码,只能纠正突发的连续错误,而不能很好的对抗随机错误,其码型为(n,k)=(T+B,T),在最大时延T内,可以最多纠正B个连续错误,T大于等于B。有的编码方案,例如,最大距离可分(maximum distance separable,MDS)码,可以对抗随机错误,其码型为(n,k),可以对抗(n
‑
k)个随机丢包或者(n
‑
k)个连续丢包。
[0003]而通信系统信道的丢包特点是既有连续丢包,也有随机丢包。若采用已有的网络编码方案,无法既纠正连续错误又纠正随机错误,纠错能力有待提升。
技术实现思路
[0004]本申请实施例提供一种发送数据和接收数据的方法以及通信装置,可以既纠正连续错误又纠正连续错误,能够提升纠错能力。
[0005]第一方面,提供了一种发送数据的方法,可以应用于无线通信的发送端,也可以应用在发送端的芯片或芯片系统上。以下以发送端作为示例,该方法包括:
[0006]发送端获取 ...
【技术保护点】
【技术特征摘要】
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列的编码系数表示为m
i,j
,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数m
i,j
,其中,i=1,2,
…
,k,j=1,2,
…
,k,当i=j时,所述编码系数为1,其余所述编码系数为0;所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数m
i,j
,其中,i=1,2,
…
,k,j=k+1,k+2,
…
,k+N,所述第一矩阵和所述单位矩阵构成系统极大距离可分MDS码的生成矩阵;所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数m
i,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列的编码系数表示为m
i,j
,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正
整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数m
i,j
,其中,i=1,2,
…
,k,j=1,2,
…
,k,当i=j时,所述编码系数为1,其余所述编码系数为0;所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数m
i,j
,其中,i=1,2,
…
,k,j=k+1,k+2,
…
,k+N,所述第一矩阵和所述单位矩阵构成系统MDS码的生成矩阵;所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数m
i,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列的编码系数表示为m
i,j
,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数m
i,j
,其中,i=1,2,
…
,k,j=1,2,
…
,k,当i=j时,所述编码系数为1,其余所述编码系数为0;所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数m
i,j
,其中,i=1,2,
…
,k,j=k+1,k+2,
…
,k+N,所述第一矩阵和所述单位矩阵构成系统MDS码的生成矩阵;所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数m
i,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个数据包中需要被打孔的数据包的个数为P
i
=P
1,i
+P
2,i
,1≤i≤v,w
i,j
为所述(v+n
‑
1)个时间单元中的第j个时间单元上需要被打孔的且属于所述第i个等效数据块的数据包的个数,所述P
i
个数据包包括原数据包和编码数据包,所述P
1,i
为所述P
i
个数据包中的原数据包的个数,所述P
2,i
为所述P
i
个数据包中的编码数据包的个数,P
1,i
,P
i
和P
2,i
均为正整数;所述v个编码数据块中的第i个编码数据块包含的原数据包的个数为k
i
,k
i
=k
‑
P
1,i
,所述第i个编码数据块包含的编码数据包的个数为c
i
,k
i
+c
i
=n
‑
P
i
,k
i
和c
i
均为正整数。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列的编码系数表示为m
i,j
,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数m
i,j
,其中,i=1,2,
…
,k,j=1,2,
…
,k,当i=j时,所述编码系数为1,其余所述编码系数为0;所述第一矩阵的大小为k行N列,所述第一矩阵包括所述编码系数矩阵的编码系数m
i,j
,其中,i=1,2,
…
,k,j=k+1,k+2,
…
,k+N,所述第一矩阵和所述单位矩阵构成系统MDS码的生成矩阵;所述第二矩阵的大小为k行B列,所述第二矩阵包括所述编码系数矩阵的编码系数m
i,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列的编码系数表示为m
i,j
,其中,1≤i≤k,1≤j≤(k+N+B),i和j均为正整数;所述编码系数矩阵由单位矩阵、第一矩阵和第二矩阵构成,所述单位矩阵、所述第一矩阵和所述第二矩阵按照从左到右的顺序排列;所述单位矩阵的大小为k行k列,所述单位矩阵包括所述编码系数矩阵中的编码系数
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。