发明名称 一种基于增量喷泉的信息分发方法
摘要 一种基于增量喷泉的信息分发方法属于无线数据传输技术领域,其特征在于,在发送端把已分层编码的数据序列用数据分流器把相同分层号的数据排列起来形成一条支路,支路总数即为层总数,再按分层号越低,重要度越高的原则,设计一个权重序列,用一个调度参数计算器计算每个原始数据块中每一个分层的调度参数,并送入调度器。调度器以不同的概率控制不同层的喷泉编码器工作,以对不同层进行不同的冗余量保护,以使系统具有适应复杂多变的信道状况的能力。实现用于恶劣信道状况的无反馈、低冗余的有效数据分发。
申请公布号 CN101350699B 申请公布日期 2012.02.08
申请号 CN200810119663.X 申请日期 2008.09.05
申请人 清华大学 发明人 陆建华;朱宏杰;曾维亮;裴玉奎
分类号 H04L1/00(2006.01)I;H04L12/18(2006.01)I 主分类号 H04L1/00(2006.01)I
代理机构 代理人
主权项 1.一种基于增量喷泉的信息分发方法,其特征在于,所述方法是在发送端的数字集成电路芯片中依以下步骤实现的:步骤(1)把已分层编码的数据序列输入一个数据分流器,所述已分层编码数据序列表示为:<img file="FSB00000199171800011.GIF" wi="982" he="73" />其中上标表示原始数据块的序号j,下标表示所述每一个原始数据块中层的编号i,所述每一个原始数据块中的总层数为L,所述第j个原始数据块第i层的数据<img file="FSB00000199171800012.GIF" wi="56" he="54" />中,除了包含数据外,也以头信息的方式保存了各原始数据块分块号j、层号i、<img file="FSB00000199171800013.GIF" wi="56" he="58" />的数据长度<img file="FSB00000199171800014.GIF" wi="47" he="56" />以及总层数L;步骤(2)所述数据分流器把输入的已分层编码的数据根据其层号分流为L个支路,每个支路的数据均为所述各原始数据块在分层编码后同一层的数据,其中,第i个支路的输出为:<img file="FSB00000199171800015.GIF" wi="297" he="57" />步骤(3)所述数据分流器同时还为所述每一个原始数据块中已分层编码的数据设定权重a,使层号越低者权重a越大,层号越高者权重a越小,构成一个权重a的序列a<sub>1</sub>,a<sub>2</sub>,...,a<sub>L</sub>,其中,a<sub>1</sub>>a<sub>2</sub>>...>a<sub>L</sub>;步骤(4)调度参数计算器从所述数据分流器中输入所述的每一个原始数据块中分层编码数据的权重a的序列,所述<img file="FSB00000199171800016.GIF" wi="61" he="66" />数据的长度与分层后数据总长度的比例<img file="FSB00000199171800017.GIF" wi="53" he="54" />后,按下式计算出不同块的L个调度参数,其中所述第j块第i层数据的调度参数<img file="FSB00000199171800018.GIF" wi="48" he="56" />表示为:<maths num="0001"><![CDATA[<math><mrow><msubsup><mi>p</mi><mi>i</mi><mi>j</mi></msubsup><mo>=</mo><mfrac><mrow><msub><mi>a</mi><mi>i</mi></msub><msubsup><mi>m</mi><mi>i</mi><mi>j</mi></msubsup></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><msub><mi>a</mi><mi>l</mi></msub><msubsup><mi>m</mi><mi>l</mi><mi>j</mi></msubsup></mrow></mfrac></mrow></math>]]></maths>其中i=1,...,L,j=1,2,...,d;步骤(5)调度器在收到所述调度参数计算器输出的调度参数<img file="FSB000001991718000110.GIF" wi="47" he="54" />后,依次按以下步骤控制所述各支路数据的发送比例,从而控制各支路数据的不同保护程度;步骤(5.1)按下式根据调度参数计算对应第j块数据的累积分布函数<img file="FSB000001991718000111.GIF" wi="117" he="61" /><maths num="0002"><![CDATA[<math><mrow><msub><mi>C</mi><msub><mi>p</mi><mi>j</mi></msub></msub><mrow><mo>(</mo><mi>l</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn><mo>,</mo></mtd><mtd><mi>l</mi><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>l</mi></munderover><msubsup><mi>p</mi><mi>i</mi><mi>j</mi></msubsup><mo>,</mo></mtd><mtd><mi>l</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>L</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>其中,<img file="FSB000001991718000113.GIF" wi="48" he="57" />表示第j块第i条支路数据的调度参数;步骤(5.2)产生一个服从[0,1]均匀分布的随机数r<sub>j</sub>,若该r<sub>j</sub>满足<img file="FSB00000199171800021.GIF" wi="456" he="62" />则选中第l支路喷泉编码器F<sub>l</sub>工作,而同时其它支路的喷泉编码器休眠;步骤(6)当所述第l支路喷泉编码器F<sub>l</sub>被所述调度器选中时,在调度器的控制下将第l支路的数据块<img file="FSB00000199171800022.GIF" wi="55" he="55" />送入基于LT或Raptor码的喷泉码编码程序包,产生出一个编码数据包,并在包头加入包括数据块编号、层号以及编码种子、编码包序号在内的信息,发送到信道上,然后通知调度器喷泉编码器F<sub>l</sub>工作完成,停止编码,等待下一次被选中;步骤(7)当收到喷泉编码器F<sub>l</sub>工作完成的通知后转至步骤(5),对第j块数据做下一次支路选择并进行喷泉编码,直到所有第j块数据总的编码输出码率大于预设输出码率时转至步骤(8);步骤(8)令j=j+1,并重复步骤(5~8)直到j=d为止。
地址 100084 北京市100084-82信箱