一种基于在线喷泉码的不等差保护方法与流程

文档序号:11877795阅读:来源:国知局

技术特征:

1.一种基于在线喷泉码的不等差保护方法,其特征在于:

一种基于在线喷泉码的不等差保护方法,简称本方法,所依托的系统包括发送端和接收端,其中发送端又包括信源和编码器,接收端又包括译码器和信宿;

本方法适用的待编码原始信息数据包的个数为k,其序号分别为1,2,3,…,k,这些待编码原始信息数据包依重要性不同被分为重要数据包和非重要数据包。

2.如权利要求1所述的一种基于在线喷泉码的不等差保护方法,其特征还在于:

本方法包含如下步骤:

步骤1:初始化;

步骤2:编码器产生第一类编码包并发送到译码器;

步骤3:接收端的译码器接收并处理步骤2发出的第一类编码包;

步骤4:重复步骤2和步骤3,直到MS中元素个数最多的集合的元素个数为k*β0,此时译码器给编码器反馈信号ACK1

其中,MS为用于存储译码器处理得到的序号列集合;β0是判断参数;反馈信号ACK1的含义为译码器已获得足够的第一类编码包;记元素个数为k*β0的MS中元素个数最多的集合为Smax

步骤5:编码器接收到步骤4反馈信号ACK1后,产生第二类编码包并发送给译码器;

步骤6:译码器接收、存储步骤5发出的第二类编码包,并进行相应处理;

步骤7:译码器统计恢复比例并产生反馈;

步骤8:编码器产生第三类编码包并发送;

步骤9:译码器接收并处理步骤8发送的第三类编码包;

步骤10:重复步骤7至步骤9,直到已译码的重要数据包占全部重要数据包的比例与已译码的全部原始信息数据包占全部原始信息数据包的比例相同,且均为1;

至此,从步骤1到步骤10,完成了一种基于在线喷泉码的不等差保护方法。

3.如权利要求1所述的一种基于在线喷泉码的不等差保护方法,其特征还在于:

步骤1中的初始化,具体为:设定参数β0<1,初始化参数m1′和m2′为0,接收端初始化两个空集合:集合B和集合T,并初始化存储空间MC,MS和MD为空;

其中,β0是判断参数;参数m1′和m2′分别表示对重要数据包和全部原始信息数据包进行编码时,实际选择的原始信息数据包的个数;

记重要数据包组成的集合为w1,记原始信息数据包组成的集合,即重要数据包与非重要数据包组成的集合,为w2

集合B是所有已经完成译码的原始信息数据包的序号的集合,集合T是待处理的原始信息数据包的序号的集合;其中,存储空间MC用于存储编码包和相应的序号列,存储空间MS用于存储译码器处理得到的序号列集合,存储空间MD用于存储完成译码的原始信息数据包和相应的序号。

4.如权利要求2所述的一种基于在线喷泉码的不等差保护方法,其特征还在于:

步骤2:编码器产生第一类编码包并发送到译码器,具体为:

步骤2.1编码器从待编码原始信息数据包中选择两个原始信息数据包,并将此两个原始信息数据包异或产生一个第一类编码包;

其中,这两个原始信息数据包的选择存在三种情况:

情况1,这两个原始信息数据包均为重要数据包;

情况2,两个原始信息数据包均为非重要数据包;

情况3,一个原始信息数据包是重要数据包,另一个是非重要数据包;

情况1、情况2和情况3出现的概率分别是q1,q2,q3,且满足q1+q2+q3=1;

其中,所述的待编码原始信息数据包依重要性不同被分为重要数据包和非重要数据包,待编码原始信息数据包的数量为k,序号分别为1,2,3,…,k;

记步骤2.1生成的第一类编码包为CB1i,其中,下标i表示第i个第一类编码包;

步骤2.2发送端将步骤2.1输出的第一类编码包和对应的两个原始信息数据包的序号组成的序号列发送给接收端;

其中,所述的序号列记为XB1i={ni1,ni2},ni1和ni2分别表示第一类编码包,CB1i,对应的两个原始信息数据包的序号,且ni1和ni2的范围为1到k。

5.如权利要求2所述的一种基于在线喷泉码的不等差保护方法,其特征还在于:

步骤3:接收端的译码器接收并处理步骤2发出的第一类编码包,具体为:

步骤3.1接收端接收编码包CB1i和序号列XB1i,并存储在MC中;

步骤3.2对步骤3.1中存储的XB1i中的两个序号进行判断,并进行相应操作:

3.21若XB1i中的序号ni1和ni2不属于任何一个MS中的序号列集合,则将XB1i存储在MS中;

3.22若XB1i中的一个序号属于MS中某一序号列集合,则将另一个序号也放入该集合中;

3.23若XB1i中的两个序号分属MS中的两个序号列集合,则将这两个集合合并。

6.如权利要求2所述的一种基于在线喷泉码的不等差保护方法,其特征还在于:

步骤5:编码器接收到步骤4反馈信号ACK1后,产生第二类编码包并发送给译码器,具体为:

步骤5.1编码器选择一个原始信息数据包作为第二类编码数据包;

其中,步骤5.1中的编码包,记为CB2j,其中,下标j表示第j个第二类编码包;其选择范围为全部的k个原始信息数据包;

步骤5.2将步骤5.1输出的编码数据包和其对应的序号发送给接收端;

其中,对应的序号,记为n2j

7.如权利要求2所述的一种基于在线喷泉码的不等差保护方法,其特征还在于:

步骤6:译码器接收、存储步骤5发出的第二类编码包,并进行相应处理,具体为:

译码器将编码包CB2j作为序号n2j对应的原始信息数据包存储,然后进行如下处理:

步骤6.1查找MC中的序号列,将所有含有序号n2j的序号列对应的编码包依次与CB2j进行异或运算,每次运算的结果作为此序号列中另一个序号nix对应的原始信息数据包的译码结果,存储到MD中;将所有译码结果对应的序号存入集合T中,从MC中删除译码的序号列和编码包;

其中,nix对应ni1或ni2

步骤6.2将T中的任意一个序号做为新的n2j,将这个序号从T中删除,将对应的原始信息数据包作为新的CB2j

步骤6.3执行步骤6.1,再判断集合T是否为空集,进行相应操作:

6.31若集合T为空集,跳至步骤6.4;

6.32若集合T非空,跳至步骤6.2;

步骤6.4译码器查找MS中的集合,对序号n2j进行判断,并进行如下操作:

6.41若序号n2j属于MS中的某一集合,则将这个集合中的全部序号存入集合B中,并判断此集合是不是Smax,并进行相应操作:

6.41A若此集合是Smax,则将Smax从MS中删除,跳至步骤7;

6.41B若此集合不是Smax,此集合从MS中删除,跳至步骤5;

6.42若序号n2j不属于MS中的任一集合,则将序号n2j存入集合B中。

8.如权利要求2所述的一种基于在线喷泉码的不等差保护方法,其特征还在于:

步骤7:译码器统计恢复比例并产生反馈,具体为:

步骤7.1译码器统计恢复比例β1和β2,接收端依据下述公式(1)和公式(2),由β1和β2计算m1和m2

<mrow> <msub> <mi>m</mi> <mn>1</mn> </msub> <mo>=</mo> <munder> <mrow> <mi>arg</mi> <mi>max</mi> </mrow> <msub> <mi>m</mi> <mn>1</mn> </msub> </munder> <mo>&lsqb;</mo> <mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <msub> <mi>m</mi> <mn>1</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <msup> <msub> <mi>&beta;</mi> <mn>1</mn> </msub> <mrow> <msub> <mi>m</mi> <mn>1</mn> </msub> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <msub> <mi>&beta;</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <msub> <mi>m</mi> <mn>1</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mn>2</mn> </mtd> </mtr> </mtable> </mfenced> <msup> <msub> <mi>&beta;</mi> <mn>1</mn> </msub> <mrow> <msub> <mi>m</mi> <mn>1</mn> </msub> <mo>-</mo> <mn>2</mn> </mrow> </msup> <msup> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <msub> <mi>&beta;</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>&rsqb;</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <msub> <mi>m</mi> <mn>2</mn> </msub> <mo>=</mo> <munder> <mrow> <mi>arg</mi> <mi>max</mi> </mrow> <msub> <mi>m</mi> <mn>2</mn> </msub> </munder> <mo>&lsqb;</mo> <mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <msub> <mi>m</mi> <mn>2</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <msup> <msub> <mi>&beta;</mi> <mn>2</mn> </msub> <mrow> <msub> <mi>m</mi> <mn>2</mn> </msub> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <msub> <mi>&beta;</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <msub> <mi>m</mi> <mn>2</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mn>2</mn> </mtd> </mtr> </mtable> </mfenced> <msup> <msub> <mi>&beta;</mi> <mn>2</mn> </msub> <mrow> <msub> <mi>m</mi> <mn>2</mn> </msub> <mo>-</mo> <mn>2</mn> </mrow> </msup> <msup> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <msub> <mi>&beta;</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>&rsqb;</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中,β1是已译码的重要数据包占全部重要数据包的比例,β2是已译码的原始信息数据包占全部原始信息数据包的比例;m_1和m_2分别表示对重要数据包和全部原始信息数据包进行编码时,理论上最优的原始信息数据包的个数;

步骤7.2对m1和m2的值进行判断并进行如下操作:

7.21若m1和m2与m1′和m2′不完全相同,则用m1和m2的值分别更新m1′和m2′,并将m1′和m2′反馈给编码器;

7.22若m1和m2与m1′和m2′完全相同,不进行任何操作。

9.如权利要求2所述的一种基于在线喷泉码的不等差保护方法,其特征还在于:

步骤8中所述的第三类编码包由m1′或m2′个原始信息数据包异或得到,步骤8,具体为:

步骤8.1发送端选择w1或w2

其中,w1被选择的概率是θ1,w2被选择的概率是θ2

步骤8.2根据8.1中选择的w1还是w2,进行如下相应操作:

8.21若选择w1,则选择m1′个原始信息数据包进行异或运算;

8.22若选择w2,则选择m2′个原始信息数据包进行异或运算;

步骤8.3将步骤8.2中异或运算结果和对应的序号列发送给译码器;

其中,所述的异或运算结果,记为CCg,所述的异或运算结果对应的序号列,记为XCg,下标g表示第g个第三类编码包。

10.如权利要求2所述的一种基于在线喷泉码的不等差保护方法,其特征还在于:

步骤9:译码器接收并处理步骤8发送的第三类编码包,具体为:

步骤9.1译码器计算集合B和序号列XCg的交集Yg,从XCg中减去Yg得到序号列XCg′,计算XCg′中序号的个数;

步骤9.2对XCg′中序号的个数进行判断,并进行如下操作:

9.21若序号的个数不为1或2,则重复步骤9;

9.22若序号的个数为1或2,则Yg中的所有序号所对应的原始信息数据包依次与CCg进行异或运算,得到CCg′并进行进一步判断XCg′中的元素个数:

9.221若XCi′中的元素个数为1,则XCi′中只有一个序号nCi,CC′i是一个第二类编码包,对其按照步骤6中的操作进行处理;

9.222若为XCi′中的元素个数为2,则XCi′中存在两个序号nCj1,nCj2,CCi′是一个第一类编码包,对其按照步骤3中接收端的操作进行处理。

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