一种差错控制方法和系统的制作方法

文档序号:7945950阅读:162来源:国知局
专利名称:一种差错控制方法和系统的制作方法
技术领域
本发明涉及一种差错控制方法和系统,适用于通信领域。
背景技术
随着宽带网络及视频业务的发展,组播得到了广阔的应用,例
如IPTV。组播应用中有大量的用户接收共同的数据源,标准的组播
协议是不带反馈的,这就带来新的问题如果网络上出现丢包,由 于每个用户丢失的数据都可能不一样,为此需要一种有效的恢复机 制,无论用户丢失哪些数据包,都能将丢失的数据恢复。

发明内容
发明目的本发明的目的是提供一种数据传输的差错控制方法 和实现该方法的系统,有效地将丢失的数据恢复,提高数据完整性。
技术方案 一种数据传输的差错控制方法,包括生成冗余包的 方法和信源恢复的方法,其中生成冗余包的方法包括以下步骤 (1)构造编码系数矩阵A:
假设有n个信源X。 X2、 X3......Xn, m为需要生成的冗余包的
数量,选一个数域P,保证每个信源Xj都在数域P内,在数域P中 任取m个不同的值Ki(l^i^m),任取n个不同的值Lj (l司^n), 并且满足(Ki + Lj)^ 0,取编码系数矩阵A为如下柯西矩阵(Cauchy Matrix):
A =
An A12 A13 ... Aln
A21 A22 A23 ... A2n
A31 A32 A33…A3n
Aml Am3

1111
Kj+L2K,+L3
K2+L2K2+L3K2+Ln
K3+LiK3+L2K3+L3 '.K3+Ln
Km+L2Km+L3Km+Ln
5或对柯西矩阵进行变换将柯西矩阵乘以任意可逆矩阵得到矩 K
阵LL」,其中K为方阵,取编码系数矩阵A-I^K—、 步骤(1)每步数学运算都采用数域P内的运算。 (2)计算冗余包
取信源向量X如下
*" \
X2
X =

将编码系数矩阵A乘以信源向量X,得到冗余包向量Y如下:
Y = A*X =
Y
Y2、 Y3......Ym即为m个冗余包。步骤(2)每步数学运算
都采用与步骤(1)相同的数域P内的运算。
XI
YA
上等式中,I为n阶单位阵,A为m行n列矩阵。上等式左边 取任意n行记为列向量G,取等式右边单位阵I及矩阵A对应的n 行记为矩阵H,则下等式仍然成立
G = H*X
当A为柯西矩阵时,H为可逆矩阵,因而可以解出X如下 X = H"*G
当A为对柯西矩阵进行变换而得到的矩阵时,也可证明X有解, 证明的方法可参考本申请人提出的第200810234515.2号中国发明专 利,将其证明过程中的范得蒙矩阵替换为柯西矩阵。
因而理论上,从n个信源及m个冗余包中任取n个数据包都可以恢复出n个信源,这是本发明的数学原理。
发信端将n个信源及m个冗余包发送往收信端,当收信端收到 的信源个数r小于n时,信源恢复的方法包括以下步骤-
(3)构造解码系数矩阵B:
假设收到r个信源和t个冗余包,当t大于(n_r)时任取(n —r)个冗余包,当t等于(n—r)时取所有的冗余包,这些冗余包 记为Yu、 Yv......Yw,其中u < v < < w,取矩阵B的第1
行为步骤(1)编码系数矩阵A的第u行;矩阵B的第2行为步骤
(1)编码系数矩阵A的第v行......矩阵B的最后1行为步骤(1)
编码系数矩阵A的第w行,构成解码系数矩阵B如下
B =
Aii Au2 Au3
Ayl Av2 Av3
人n
Avl^w23 Avn
(4)恢复出信源X:
当t大于(n—r)时任取(n_r)个冗余包,当t等于(n-时取所有的冗余包,得到如下等式
-r)
B * X =
Yv Y
当t大于或等于(n—r)时,前面已经证明上述等式必定有解, 可采用解(n—r)元1次方程组的解法解出(n—r)个未收到的信源 Xj。步骤(4)每步数学运算都采用与步骤(1)相同的数域P内的 运算。
上面描述了生成冗余包Y及将信源X恢复的差错控制方法,下 面描述如何实现该差错控制方法的系统,包括以下内容
(a)上述步骤(1)、 (2)、 (4)中的数域P采用扩展伽罗瓦域 GF (2q) (Extended Galois Field)。
7(b) 事先按上述步骤(1)算好编码系数矩阵A,并将它存储在 发信端和收信端的存储器上。
(c) 发信端将信源Xj按固定的规则切成s个片段Xp Xj2、 Xj3......Xjs,保证每个片段的值都在上述GF (2q)域内,信源Xj切
片后得到如下信源矩阵X:
发信端利用CPU或ASIC按如下等式生成冗余包,冗余包Yi 由Yu、 Yi2、 Yi3......Y^构成。将n个信源Xj及m个冗余包Yi发送
往收信端。
<formula>formula see original document page 8</formula>(d)当收信端收到的信源数r小于n时,取r个的信源及(n—r) 个冗余包,并将信源Xj及冗余包Yi按与步骤(c)相同的规则切成 s个片段。利用CPU或ASIC按上述步骤(3)和(4)的方法恢复 出信源。信源Xj及冗余Yi包切片后,步骤(4)恢复信源的等式如 下
<formula>formula see original document page 8</formula>有益效果本发明与现有技术相比,其显著优点是从n个信 源及m个冗余包中任取n个数据包,都一定能恢复出n个信源,保 证了冗余包信息量的最大化。采用GF (2q)域内的运算,在减少运
<formula>formula see original document page 8</formula>算量的同时还能保证信道容量得到最有效的利用。本发明的方法是 信息论香农定律在实践应用中的最优化方法之一,具有很高的可用 性。
在组播应用如IPTV中使用本发明的方法和系统,能有效地将丢 失的组播数据恢复,完美地解决组播应用中当数据被丢失一部分之 后出现的故障例如IPTV的噪音及图像停顿或马赛克。


图1是冗余包生成单元的简要逻辑图。
图2是信源恢复单元的简要逻辑图。
具体实施例方式
上述技术方案中的数域P,可采用任何无限数域或有限数域, 无限数域如实数域、有理数域,有限数域如基本伽罗瓦域,在无限 数域中的运算如在实数域内的运算,505()是个巨大的数,需要增大 存储空间,也会因为进位而不利于有效地利用信道容量。采用有限 域中的GF (pq)域,对于p取2,则任何运算的结果都不会要求更 多的存储空间。具体实施本发明描述的方法时, 一般选用GF (28) 域。本申请人提出的第200810234515.2号中国发明专利对GF (28) 域内的加、减、乘、除运算有描述。由于GF (28)域内的乘、除运 算的运算量较大,为了加快运算速度采用查表法来完成,即事先将 所有可能的乘、除运算及结果存于收发信端。
作为实施例,取『10, m=4, s=5,取GF (28)域内的不可约 多项式Z (x) = l+x+x3+x4+x8, K产l、 K2=2、 K3=3、 K3=4, L尸5、 L2=6、 L3=7、 L4=8、 L5=9、 L6=10、 L7=ll、 L8=12、 L9=13、 L10=14。 利用GF (28)域内的运算,求得4行10列的柯西矩阵即编码矩阵 系数A如下,由于A的计算量比较大,可事先算好并分别保存在收 发信端。
, 203 209 123 79 232 192 41 225 176 199
A= 209 203 82 41 192 232 79 229 199 176 123 82 203 192 41 79 232 199 229 225 1141 246 176 225 229 199 232 79 41假设信源包X,、 X2、 X3......Xu)构成的信源列向量X如下:
X =
abcde
x2fghij
x3klmno
x4pqrst
x5uvwxy
x6=ABCDE
x7FGHIJ
x8KLMNO
x9PQRST
XioUVWXY
将每个信源包切成5片,每片1个Byte并转换成数值,信源列 向量X变为如下
X12x13x14x15—979899100101
x21X22X23x24X25102103104105106
x31X32X33X34X35107108109110111
x41X42X43X44X45112113114115116
x51X52X53X54x55117118119120121
x61X62X63x65=6566676869
x71X72x73X74x757071727374
x81X83Xg4X857576777879
x91X92X93X94X958081828384
XioiX102Xi03X104X1058586878889
上述数据代入冗余包生成等式Y:AfX后,10个信源包共50个 切片生成4个冗余包共20个切片如下-
Y =
361649511420
842052316211
131392071153
13619176249222
假设发信端将10个信源包和4个冗余包发出之后,收信端仅接 收到信源包Xi、 X2、 X3、 X5......X9,信源包X4及Xu)在传输过程中
被丢失,同时收信端还收到冗余包Y2、 Y3,冗余包Y^ Y4在传输过程中被丢失,则可构造解码系数矩阵B如下:
B =
编码系数矩阵A的第2行 编码系数矩阵A的第3行
B*X =
Y2 Y,
上等式即成为如下2元1次方程组 Y2 = 209 Xi +203 X2 +82 X3 +41 X4 +192 X5 + 232 X6 +79 X7 +229 X8 +199 X9 +176 X10 Y3 = 123 X! +82 X2 +203 X3 +192 X4 +41 X5 +79 X6 +232 X7 +199 X8 +229 X9 +225 X10
收到的信源包X。 X2、 X3、 X5......X9及冗余包Y2、 Y3作为已
知项,未收到的信源包X4、 X1()作为变量,上等式即成为包含变量 X4、 Xh)各切片的5组2元1次方程组,解开这些方程组即得到信源 X4、 X1()。上述过程中的所有数学运算仍采用GF (28)域内的运算。
图1是冗余包生成单元的简要逻辑图,由CPU及存储器等单元 构成,在不易失存储器中存储编码系数矩阵A及GF (28)域内的乘 除法表,由CPU采用软件方法实现(如采用ASIC硬件实现,可用 硬件实现乘除法因而无需存储乘除法表),按步骤(2)生成冗余包。
图2是信源恢复单元的简要逻辑图,由CPU及存储器等单元构 成,在不易失存储器中存储编码系数矩阵A及GF (28)域内的乘除 法表,由CPU采用软件方法实现(如采用ASIC硬件实现,可用硬 件实现乘除法因而无需存储乘除法表),按步骤(3)和(4)解出所 有信源。
权利要求
1、一种数据传输的差错控制方法,其特征是该方法包括生成冗余包的方法和信源恢复的方法,其中生成冗余包的方法包括以下步骤(1)构造编码系数矩阵A假设有n个信源X1、X2、X3......Xn,m为需要生成的冗余包的数量,选一个数域P,保证每个信源Xj都在数域P内,在数域P中任取m个不同的值Ki(1≦i≦m),任取n个不同的值Lj(1≦j≦n),并且满足Ki+Lj≠0,取编码系数矩阵A为如下柯西矩阵或对柯西矩阵进行变换将柯西矩阵乘以任意可逆矩阵得到矩阵其中K为方阵,取编码系数矩阵A=L*K-1;步骤(1)每步数学运算都采用数域P内的运算;(2)计算冗余包取信源向量X如下将编码系数矩阵A乘以信源向量X,得到冗余包向量Y如下Y1、Y2、Y3......Ym即为m个冗余包;步骤(2)每步数学运算都采用与步骤(1)相同的数域P内的运算;发信端将n个信源及m个冗余包发送往收信端,当收信端收到的信源个数r小于n时,信源恢复的方法包括以下步骤(3)构造解码系数矩阵B假设收到r个信源和t个冗余包,当t大于n—r时任取n—r个冗余包,当t等于n—r时取所有的冗余包,这些冗余包记为Yu、Yv......Yw,其中u<v<……<w,取矩阵B的第1行为步骤(1)编码系数矩阵A的第u行;矩阵B的第2行为步骤(1)编码系数矩阵A的第v行......矩阵B的最后1行为步骤(1)编码系数矩阵A的第w行,构成解码系数矩阵B如下(4)恢复出信源X当t大于n—r时任取n—r个冗余包,当t等于n—r时取所有的冗余包,得到如下等式当t大于或等于n—r时,利用上等式解出n—r个未收到的信源Xj;步骤(4)每步数学运算都采用与步骤(1)相同的数域P内的运算。
2、实现如权利要求1所述差错控制方法的系统,其特征是(a) 数域P采用GF (2q)域;(b) 事先算好编码系数矩阵A,并将它保存在发信端和收信端;(c) 发信端将信源Xj按固定的规则切成s个片段,保证每个片 段的值都在上述GF (2q)域内,利用CPU或ASIC生成冗余包,然 盾将n个信源及m个冗余包发送往收信端;(d) 当收信端收到的信源数r小于n时,取r个的信源及n—r 个冗余包,并按与步骤(c)同样的规则将信源Xj及冗余包Yi切成 s个片段,利用CPU或ASIC恢复出信源。
全文摘要
本发明公开了一种数据传输的差错控制方法和系统,适用于通信领域,在该领域中使用本发明的方法或系统,可有效地将丢失的数据恢复,提高数据的完整性。本发明的方法包括生成编码系数和冗余包、生成解码系数和恢复信源等步骤,发信端以n个信源生成m个冗余包,将信源及冗余包都发送往收信端,收信端收到的信源个数与冗余包个数之和只要大于或等于n,就能恢复出所有n个信源。本发明利用柯西矩阵及GF(2<sup>q</sup>)域内的运算,巧妙地实现了信息量最大化及运算量最小化。在多播及广播通信中使用本发明的差错控制方法或系统,可取得理想的效果。
文档编号H04L12/18GK101505201SQ200910030309
公开日2009年8月12日 申请日期2009年3月18日 优先权日2009年3月18日
发明者刘怡梅, 吕晓雯, 玲 杜 申请人:吕晓雯;刘怡梅;杜 玲
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1