CN102916780A - 一种用于消除短环的喷泉码编译码方法 - Google Patents
一种用于消除短环的喷泉码编译码方法 Download PDFInfo
- Publication number
- CN102916780A CN102916780A CN2012104198436A CN201210419843A CN102916780A CN 102916780 A CN102916780 A CN 102916780A CN 2012104198436 A CN2012104198436 A CN 2012104198436A CN 201210419843 A CN201210419843 A CN 201210419843A CN 102916780 A CN102916780 A CN 102916780A
- Authority
- CN
- China
- Prior art keywords
- row
- decoding
- coding
- array
- fountain
- 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.)
- Granted
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明涉及一种用于消除短环的喷泉码编译码方法,属于通信技术领域。首先在发送端进行短码长喷泉码编码,在接收端得到译码不成功时刻的喷泉码生成矩阵,对矩阵各列进行比较,得到数组I,反馈给发送端;按由大到小的顺序找到数组I中n2个元素值对应的信源符号作为编码符号直接发送到接收端参与译码,接收端利用所接收到的步骤1的n1个编码符号以及步骤4的n2个编码符号,消除短环,完成译码;使得短码长喷泉码的译码率得到较大提高,实现喷泉码编码在较低编码开销下的高概率译码。
Description
技术领域
本发明涉及一种用于消除短环的喷泉码编译码方法,属于通信技术领域。
背景技术
在二十一世纪,随着通信技术的不断发展,信道编码技术也日趋成熟。近年来出现的一种无率码——喷泉码,具有较高的传输可靠性以及简单的编译码方法。在传统的自动反馈重传方法中,当接收端用户数较多,或者信道的条件比较差的时候,接收端用户发送的反馈信息可能会占据大多数网络资源,使得正常通信无法顺利进行。这种情况被称为“反馈风暴”。喷泉码作为一种前向纠错码(Forward error correction,FEC),可以有效地解决这个问题。信源端只需要源源不断地向信宿端发送编码符号,当信宿端接收到足够多的编码符号以保证高概率译码时,才向信源端发送一个比特的反馈信息。因此,喷泉码可以有效地减少用户的反馈量,提高传输系统的利用率。
喷泉码的具体编码步骤如下:
(1)根据度分布函数随机地选择一个值d,该值为编码分组由几个数据包生成,d称为该次的编码分组的度数;
(2)从原数据包分组中随机选择d个数据,将该d个数据进行模2和;
(3)重复上述步骤,生成编码分组。
喷泉码的译码方式为BP(Belief Propagations)译码,具体译码步骤如下:
(1)在接收到的编码数据中选择一个度为一的编码符号,将编码符号的值直接赋值给相连接的信源符号,从而恢复出该信源符号,同时删除连接该信源符号与编码符号的边。
(2)将所有连接该信源符号和其余与之对应的编码符号的边删除,并且将该信源符号的值与编码符号的值进行模2和,所得结果分别赋给对应的编码符号。
(3)重复上述步骤,生成译码分组。
该译码方式也可以通过生成矩阵G来进行:
(1)搜索生成矩阵的每一列,如果该列的列重(列中的所有元素的和)为1,那么将该列所对应的编码符号的值赋给该列中“1”所在位置所对应的信源符号,并将“1”所在位置所对应的行中所有元素置为0.
(2)重复上述操作,直到完全译码或者找不到仅有一个元素为“1”的列为止。
喷泉码在信源码字数k较大,即长码字时能够实现在较小的编码开销下高概率译码。但是,当信源码字数k较小,即短码字时,喷泉码的译码率并不令人满意,需要较大编码开销来实现高概率译码。其重要原因之一就是在喷泉码的二部图中存在较多的短环,尤其是长度为4的短环(下文中所提到的短环均默认为长度为4的短环),如图1所示。在图1中,v1v2v3v4代表信源码字,c1c2c3c4代表编码码字,可以看到v1v2c1c2构成了一个长度为4的短环。这些短环会阻碍译码过程的进行,导致译码的失败,降低译码率。
发明内容
本发明为了解决短环导致译码失败的问题,提出了一种用于消除短环的喷泉码编译码方法。在短码长喷泉码编码过程中,通过在接收端查找存在的短环,并将信息反馈到发送端,然后由发送端发送编码码字来消除短环,使得短码长喷泉码的译码率得到较大提高,实现喷泉码编码在较低编码开销下的高概率译码。
本发明目的是通过如下技术方案实现的:
步骤1,发送端对待发送的k个信源码字进行喷泉编码,产生n1个编码符号,并将它们发送到接收端。
步骤2,接收端对所接收到的编码码字进行BP译码,如果顺利恢复出所有信源码字,则译码终止;如果译码过程中,一旦在喷泉码生成矩阵中找不到仅有一个位置为“1”的列,则表示产生短环的可能性大,得到此时刻的喷泉码生成矩阵G,其中第i行第j列的元素为g(i,j),进行步骤3。
步骤3,初始化计数参数s=0,以及一个长度为k的数组I=[0]。接收端对步骤2得到的生成矩阵G操作,首先搜索出其中所有列重大于等于2的列,按顺序记为1,2,...,R。将第r列(r=1,2,…,R)的每行元素分别与第1列至第(r-1)列对应行元素一一进行比较。
具体比较方法为:若两列对应的行元素同为1,则s=s+1。当两列的所有对应行的元素比较完成后,判断s与2的关系。若s<2,则第r列与该列的比较结束,s清零,进行与下一列进行比较;若s≥2,则得到满足g(m,j)=g(m,r)=1的行数m,将数组I中对应的m位置的元素加1,即I[m]++,然后s清零,再与下一列按照同样方法进行比较。
直到第R列与第(R-1)列比较完毕,得到一个数组I。数组I中位置m上的元素值表示对应的第m个信源符号中包含的短环个数。
步骤4,接收端将数组I反馈给发送端,发送端按由大到小的顺序,找出数组I中前n2个数值(n2<n1),并将此n2个数值在原数组I中的位置所对应的n2个信源符号直接作为编码符号发送到接收端参与译码,从而达到消除短环的目的。
步骤5,接收端利用所接收到的步骤1的n1个编码符号以及步骤4的n2个编码符号,完成译码。
本发明方法中n2过小则达不到将短环完全消除的目的;过大则会降低译码效率,根据实际通信要求进行调整。
有益效果
通过本发明方法可以在接收端有效地将短环消除,达到较大地提高译码率的目的;使得在信源码字较少时,喷泉码也可以在较低编码开销的情况下实现较高的译码率。由于短环多出现在短码长喷泉码中,所以本发明是主要针对短码长喷泉码的编码方式。
附图说明
图1为背景技术的喷泉码中出现的短环示意图;
图2为本发明的用于消除短环的喷泉码编译码方法流程图;
图3为具体实施方式中当信源符号数为40时,二元删除信道下不同n2的译码率比较图;
图4为具体实施方式中当信源符号数为80时,二元删除信道下不同n2的译码率比较图;
图5为具体实施方式中当信源符号数为40时,信噪比为0db的加性高斯白噪声信道下不同n2的译码率比较图;
图6为具体实施方式中当信源符号数为80时,信噪比为2db的加性高斯白噪声信道下不同n2的译码率比较图。
具体实施方式
为使发明的目的,技术方案及优点更加清晰,下面将参照附图对本发明做进一步详细说明。本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
仿真中,发送端的信源符号数用k表示,所发送的编码符号数用n表示(n=n1+n2)。为了说明本发明在多种信道下的普适性,本实施方式分别给出本发明方法在二元删除信道和加性高斯白噪声信道中的仿真过程与结果。
在二元删除信道中,本实施方式分别进行了信源符号数k=40和k=80的仿真。在k=40时,最终产生的编码符号总数n=69;在k=80时,最终产生的编码符号总数n=132,其中n2分别设置为1,2,3,4,5,6,7,8,9,10。本实例给出在不同n2下接收端的译码率。为了使得实施方案更加清晰明了,我们假定信道删除概率为0,在每个n2的取值上,均进行5000次仿真。
在加性高斯白噪声信道中,采用BPSK调制解调,k=40时信噪比设置为0db,k=80时信噪比设置为2db。在每个n2的取值上,均进行5000次仿真。
下面给出具体的仿真流程:
步骤1,发送端将k个信源符号进行喷泉编码,产生n1个编码符号,并将这些编码符号通过二元删除信道或者加性高斯白噪声信道发送到接收端。
步骤2,接收端对接收到的编码码字进行BP译码,当出现短环使得译码不成功时,对生成矩阵做如下操作:初始化s=0,以及长度为k的数组I。首先搜索出生成矩阵中所有列重大于等于2的列,并将这些列顺序记为1,2,....,R。将第r列(r=1,2,…,R)的每行元素分别与第1列至第(r-1)列对应行元素一一进行比较。具体过程如下:先将第2列与第1列的对应行元素一一相比较(即比较g(1,1)和g(1,2),g(2,1)和g(2,2),g(3,1)和g(3,2)....g(k,1)和g(k,2)),若二者同为1,则s=s+1.当所有对应行的元素比较完成时,判断:若s小于2,则该列的比较结束,s清零,进行下一列的比较。若s大于等于2,则将满足g(m,1)=g(m,2)=1的行数m对应的数组I的元素加一,即I[m]++,然后s清零,继续进行下一列比较。
当第R列与之前列的比较结束之后,接收端将所得信息(数组I)反馈给发送端。
步骤3,发送端接收到接收端的反馈信息之后,找出数组I中最大的n2个元素所对应的信源符号,并将其直接作为编码符号,通过二元删除信道或者加性高斯白噪声信道将其发送到接收端。
步骤4,接收端在接收到n2个编码符号之后,继续进行译码。并得出译码率。
图3给出了k为40时二元删除信道下不同n2的译码率比较;图4给出了k为80时二元删除信道下不同n2的译码率比较。由图3和图4可见,n2应该保持在一个合适的值以保证最大化地提高消除短环方法的译码率。在n2过大的时候译码率会降低,甚至不如传统的喷泉编码方法。在图3和图4中,n2的最合适的值均为4.
图5给出了k为40时信噪比为0db的加性高斯白噪声信道下不同n2的译码率比较;图6给出了k为80时信噪比为2db的加性高斯白噪声信道下不同n2的译码率比较。由图6和图5可见,在加性高斯白噪声信道下,消除短环方法的译码率在n2的取值为1,2,3,4,5,6,7,8,9,10时均好于传统喷泉编码方法,但是n2同样应该保持在一个合适的值以保证最大化地提高消除短环方法的译码率。在图6和图5中,n2的最合适的值也均为4.
联合分析图3-图6可知,针对短码长喷泉码,无论是在二元删除信道还是加性高斯白噪声信道下,在n2设置为一个合适的值的时候,本发明的消除短环方法均可达到较大译码率的提升。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改,等同替换,改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种用于消除短环的喷泉码编译码方法,其特征在于:包括如下步骤:
步骤1,发送端对待发送的k个信源码字进行喷泉编码,产生n1个编码符号,并发送到接收端;
步骤2,接收端对所接收到的编码码字进行BP译码,得到译码不成功时刻的喷泉码生成矩阵G,其中第i行第j列的元素为g(i,j),进行步骤3;
步骤3,初始化计数参数s=0,以及一个长度为k的数组I,I的各元素初始化为0;接收端搜索出步骤2得到的生成矩阵G中所有列重大于等于2的列,按顺序记为1,2,,R;将第r列的每行元素分别与第1列至第(r-1)列对应行元素一一进行比较;其中r=1,2,…,R;
具体比较方法为:若两列对应的行元素同为1,则s=s+1;完成两列所有对应行的元素比较后,判断s与2的关系;若s<2,结束第r列与该列的比较,s清零,然后进行与下一列进行比较;若s≥2,则得到满足g(m,j)=g(m,r)=1的行数m,将数组I中对应的m位置的元素加1即I[m]=I[m]+1,然后s清零,再与下一列按照同样方法进行比较;
直到第R列与第(R-1)列比较完毕,得到一个数组I;
步骤4,接收端将数组I反馈给发送端,发送端按由大到小的顺序,找出数组I中前n2个数值,n2<n1,并将此n2个数值在原数组I中的位置所对应的n2个信源符号直接作为编码符号发送到接收端参与译码;
步骤5,接收端利用所接收到的步骤1的n1个编码符号以及步骤4的n2个编码符号,完成译码。
2.根据权利要求1所述的一种用于消除短环的喷泉码编译码方法,其特征在于:n2根据通信要求调整。
3.根据权利要求1所述的一种用于消除短环的喷泉码编译码方法,其特征在于:数组I中位置m上的元素值表示对应的第m个信源符号中包含的短环个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210419843.6A CN102916780B (zh) | 2012-10-29 | 2012-10-29 | 一种用于消除短环的喷泉码编译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210419843.6A CN102916780B (zh) | 2012-10-29 | 2012-10-29 | 一种用于消除短环的喷泉码编译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102916780A true CN102916780A (zh) | 2013-02-06 |
CN102916780B CN102916780B (zh) | 2015-02-18 |
Family
ID=47615025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210419843.6A Expired - Fee Related CN102916780B (zh) | 2012-10-29 | 2012-10-29 | 一种用于消除短环的喷泉码编译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102916780B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106209305A (zh) * | 2016-06-23 | 2016-12-07 | 南京航空航天大学 | 一种多址信道下的喷泉码译码方法 |
CN106685597A (zh) * | 2017-02-14 | 2017-05-17 | 华南理工大学 | 一种基于度优化的Raptor码部分除环编码方法 |
CN108063622A (zh) * | 2016-11-07 | 2018-05-22 | 深圳超级数据链技术有限公司 | 校验矩阵的生成方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070136525A1 (en) * | 2005-12-08 | 2007-06-14 | Read Christopher J | Failure tolerant data storage |
CN101252413A (zh) * | 2008-03-21 | 2008-08-27 | 哈尔滨工业大学深圳研究生院 | 去除喷泉码生成矩阵中长度为4的小环的方法及其应用 |
CN102164026A (zh) * | 2011-05-20 | 2011-08-24 | 哈尔滨工业大学深圳研究生院 | 基于深空通信环境下的喷泉码编译方法 |
-
2012
- 2012-10-29 CN CN201210419843.6A patent/CN102916780B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070136525A1 (en) * | 2005-12-08 | 2007-06-14 | Read Christopher J | Failure tolerant data storage |
CN101252413A (zh) * | 2008-03-21 | 2008-08-27 | 哈尔滨工业大学深圳研究生院 | 去除喷泉码生成矩阵中长度为4的小环的方法及其应用 |
CN102164026A (zh) * | 2011-05-20 | 2011-08-24 | 哈尔滨工业大学深圳研究生院 | 基于深空通信环境下的喷泉码编译方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106209305A (zh) * | 2016-06-23 | 2016-12-07 | 南京航空航天大学 | 一种多址信道下的喷泉码译码方法 |
CN108063622A (zh) * | 2016-11-07 | 2018-05-22 | 深圳超级数据链技术有限公司 | 校验矩阵的生成方法和装置 |
CN106685597A (zh) * | 2017-02-14 | 2017-05-17 | 华南理工大学 | 一种基于度优化的Raptor码部分除环编码方法 |
CN106685597B (zh) * | 2017-02-14 | 2019-11-15 | 华南理工大学 | 一种基于度优化的Raptor码部分除环编码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102916780B (zh) | 2015-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105227189B (zh) | 分段crc辅助的极化码编译码方法 | |
CN102164026B (zh) | 基于深空通信环境下的喷泉码编译方法 | |
CN101425871B (zh) | 多元纠错码发射接收装置及数据传输系统以及相关方法 | |
CN100525450C (zh) | 一种实现霍夫曼译码的方法和装置 | |
CN110278002A (zh) | 基于比特翻转的极化码置信传播列表译码方法 | |
CN110247732B (zh) | 多播环境中基于混合译码的喷泉码的编码设计方法 | |
CN111917512A (zh) | 一种在多跳传输系统中基于bats码的高效编码设计方法 | |
CN103944676B (zh) | 一种基于深空通信环境的lt码编译码方法 | |
CN112600647B (zh) | 基于网络编码续航的多跳无线网络传输方法 | |
CN106254030B (zh) | 无速率Spinal码的双向编译码方法 | |
CN102957511A (zh) | 一种数据传输的自适应降速方法 | |
CN106209305B (zh) | 一种多址信道下的喷泉码译码方法 | |
CN113839750A (zh) | 一种语义通信系统中的信息传输方法 | |
CN101227193A (zh) | 一种低密度校验码的编解码装置和方法 | |
CN106998308A (zh) | 一种基于时变码本的稀疏码多址接入中的跳码传输方法 | |
CN111050291A (zh) | 一种基于系统在线喷泉码的高编码符号度值广播方法 | |
CN102916780A (zh) | 一种用于消除短环的喷泉码编译码方法 | |
CN101826935A (zh) | 一种基于低密度校验码的中继协作传输方法 | |
CN102148665A (zh) | 一种lt码的译码方法 | |
CN102195743B (zh) | 动态实时喷泉码编码方案 | |
CN107222284B (zh) | 一种物联网中基于信道反馈的喷泉编码抗窃听传输方法 | |
CN107707329B (zh) | 稀疏码多址接入系统及其多用户检测方法 | |
CN103220007A (zh) | 一种自适应调整子码不可靠位数的tpc迭代译码算法 | |
CN102684893B (zh) | 一种基于多媒体广播多播业务的自适应喷泉编码方法 | |
CN108880748B (zh) | 基于拉丁方阵的无速率Spinal码的编译码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150218 Termination date: 20191029 |
|
CF01 | Termination of patent right due to non-payment of annual fee |