CN101510783A - 一种基于有限域的多进制喷泉编码和译码方法 - Google Patents
一种基于有限域的多进制喷泉编码和译码方法 Download PDFInfo
- Publication number
- CN101510783A CN101510783A CNA2009101197410A CN200910119741A CN101510783A CN 101510783 A CN101510783 A CN 101510783A CN A2009101197410 A CNA2009101197410 A CN A2009101197410A CN 200910119741 A CN200910119741 A CN 200910119741A CN 101510783 A CN101510783 A CN 101510783A
- Authority
- CN
- China
- Prior art keywords
- matrix
- centerdot
- coding
- fountain
- pivot
- 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
Abstract
本发明涉及一种基于有限域的多进制喷泉编码和译码方法。首先对喷泉码进行编码,得到喷泉编码序列:给定编码度分布函数μ(d),根据分布函数μ(d)随机生成一个非负整数di,将di作为编码符号vi的编码度;从K个信源符号中随机选取di个不同的符号;从有限域GF(q)中随机均匀产生di个非零值作为编码符号vi的编码系数;根据编码系数对di个不同的符号求加权和,得到编码符号vi的值,进而得到喷泉编码序列。从该喷泉编码序列中选取出长度为N(N≥K)的编码序列,记为w=[w1,w2,...,wN] T,通过主元选择和主元原位高斯消元,对其进行译码,得到最终的译码输出序列。本发明方法极大地提高了喷泉编码的编码效率,降低了喷泉码的译码复杂度,适合于各种信源长度的喷泉码应用。
Description
技术领域
本发明涉及一种数字喷泉码的编码和译码方法,特别涉及一种基于有限域构造多进制数字喷泉码的方法和使用矩阵稀疏特性的高效译码方法,属于有线通信、无线通信及互联网通信数据传输技术领域和分布式数据存储技术领域。
背景技术
数字喷泉码是无比率编码的一种,其基本思想由J.Byes,M.Luby和M.Mitzenmacher和A.Rege在“A digital fountain approach to reliable distribution ofbulk data”(Proceedings of ACM SIGCOMM’98,Vancouver BC,Canada,pp.56-57,1998)一文中提出。数字喷泉码是一种应用于删除信道的纠错编码技术,其典型应用包括有线与无线组播与广播业务、无线协作与中继、分布式网络存储等。数字喷泉编码的基本思想是如下:设在发送端K个待发送的信源数据包构成一个报文。使用无比率编码方法将此报文构成编成半无穷数据包序列再进行发送。由于半无穷序列无法存储,在实际系统中,可以采用一边发送一边产生喷泉包的方式进行编码。每一个接收点正确接收到K个编码包(或者略大于K个编码包,例如收到比K大10%的包数)即可解出原发送报文。接收机正确译出所发送的报文,向发送机发送单次确认信号。发送机收到此确认信号立即停止该报文的发送。使用数字喷泉技术,不论接收点收到到哪K个编码数据包,也不论接收到的这K个数据包顺序如何,接收端都能够正确地译出原报文。正如某人使用杯子从喷泉接一杯水来喝,接水者只关心自己的杯子是否接满,而不必关心哪些水滴接到杯中。不失一般性,如果没有特别说明,在本说明书后续部分中,假定一个数据包仅有一个数据符号。
基于数字喷泉思想,M.Luby在“LT Codes”(Proc.43rd IEEE Symp.Foundations of Computer Sciences,Vancouver BC,Canada,pp.271-280,Nov.2002)一文提出了第一个实用的喷泉编码,即LT码。LT码是基于随机稀疏编码矩阵进行构造的:设发送信源长度为K;对于每一个编码符号,从K个信源符号中均匀地选择选择几个符号并进行模2加得到。符号数量按鲁棒孤波(Robust-Soliton)分布随机产生。M.Luby采用置信传播方法(BP,Belief-Propagation算法)对LT码进行译码。取长度有限的喷泉编码,设长度为N。定义N/K=1+ε为编码开销,称ε为编码净开销。M.Luby证明:使用BP算法,接收机接收到任意个编码符号就能够以1-δ的概率恢复原发送的K个信源符号,且其平均每符号所需的译码复杂度为O(1n(K/δ)。这说明,采用置信传播译码的LT码具有良好的渐进性能,也就是说,当K很大时,LT码的编码和译码复杂度均接近线性。例如,D.J.Mackay在“Fountain codes”(IEEProc.-Commun.,vol.152,no.6,pp.1062-1068,Dec.2005)一文中给出了这样的结果:使用信源长度为10000比特的LT码,编码开销接近1.05时,BP算法能够高效地译出信源序列。A.Shokrollahi在“Raptor codes”(IEEE Transactions onInformation Theory,vol.52,no.6,pp.2551-2567,June 2006)一文中将LT码和一个低密度奇偶校验编码级联,提出了Raptor码。Raptor码是在LT码基础上的增强,进一步降低了译码复杂度,并提高了编码效率。
目前实用的喷泉码,如LT码和Raptor码所具的有良好渐进编码和译码性能使这些码适合于信源长度很长的码。但对于实际的有线通信、无线通信及互联网数据传输,只包含少数几个或几十个符号的短信源信息常常用作控制信息,这些信息对实时性和可靠性要求很高,需要更强的差错保护。这就要求信源长度较短时,喷泉码也具有很高的编码效率和很低的译码复杂度。为实现这一目标,E.Hyytia等、U.C.Kozat等和E.A.Bodine等在“Optimal degree distribution forLT codes with small message length”(Proceedings of IEEE INFOCOM,2007,Anchorage,Alaska,USA,pp.2576-2580)、“Unequal error protection rateless codesfor scalable information delivery in mobile networks”(Proceeding of IEEEINFOCOM,2007,Anchorage,Alaska,USA,pp.2316-2320,May 2007)和“Characterization of Luby transform codes with small message size for low-latencydecoding”(IEEE International Conference on Communications,2008(ICC’08),Beijing,China,pp.1195-1199,April 2008)这些文献中研究了应用于信源长度较短(典型地,信源长度小于1000)和长度中等(典型地,信源长度大于1000且小于10000)的二进制喷泉码,取得了一些研究进展。
这些喷泉短码的工作是基于二进制编码构造的。使用二进制编码构造喷泉码有这样的缺点:当信源长度不太长时,为成功译码所占用的编码开销比较大。以U.C.Kozat在“Unequal error protection rateless codes for scalable informationdelivery in mobile networks”一文给出的编码器度分布为
Ω1(x)=0.007969x+0.493570x2+0.166220x3+0.072646x4+0.082558x5+0.056058x8
+0.037229x9+0.055590x19+0.025023x65+0.003135x66
信源长度K=1000的二进制LT码为例,即便使用最大似然序列译码,当编码开销为1.25(即25%的净开销)时,译码器不能恢复发送信源序列的概率还高达0.485。
鉴于二进制喷泉编码在短码和中等长度码应用时具有开销大的缺点,可以考虑在多进制符号集合中构造喷泉编码。随机产生一个K×K的实数矩阵,这个矩阵可逆的概率为1,而一个随机二进制K×K矩阵(当K大于10)满秩的概率小得多,只有0.289。容易理解,如果喷泉码的信源和编码符号基于一个包含q(q>2)个符号的集合中构造,一个随机的K×K矩阵满秩的概率将高于二进制时的概率。特别地,喷泉码可以在有限域GF(q)中构造。
单纯从编码效率的角度来看,Reed-Solomon码(见I.S.Reed和G Solomon的“Polynomial codes over certain finite fields”,Journal of the society for industrialand applied mathematics,vol.8,no.2,pp.300-304,June 1960)是一种基于有限域GF(q)构造的好码:K个信源符号可以由所接收到的任意K个不同编码符号恢复出来。但Reed-Solomon码作为喷泉码难以实用:首先,有限域GF(q)的阶数q限制了喷泉码的长度,即Reed-Solomon码最大长度为q-1,而喷泉码对码的长度要求是不确定的,希望最长可以达到无限长。其次,已有的Reed-Solomon编码和译码算法复杂度是信源长度的二次方,这样的复杂度即便对于中等长度的信源长度(例如1000)都太高了。这些缺点使目前已有的多进制喷泉编码难以实际应用。
发明内容
本发明针对已有的二进制喷泉码在信源长度不长时效率很低、多进制喷泉码译码复杂度高的缺点,提出了一种基于有限域的多进制喷泉编码和译码方法。该方法极大地提高了喷泉编码的编码效率,降低了喷泉码的译码复杂度,适合于各种信源长度的喷泉码应用。
本发明的目的是通过下述技术方案实现的。
定义GF(q)表示有限域,即伽罗华域,q可以是任意素数或者素数的正整数次幂。例如,q可以是2,4,8,16,...或者3,9,27,...等等。一个定义于有限域GF(q)的矩阵或矢量,称其非零元素的个数为该矩阵或矢量的重量。令v∞=[v1,v2,…]表示长度半无限的喷泉编码序列,一个编码符号vi(i=1,2,…)的编码度表示参加该符号编码的信源符号个数。设信源的长度为K。令m=[m1,m2,…,mK]T表示信源矢量,其第j个符号取自于GF(q),j= 1,2,…,K。
步骤一、对喷泉码进行编码,得到喷泉编码序列v∞=[v1,v2,…],其中,编码符号vi(i=1,2,…)的实现步骤如下:
首先,给定编码度分布函数μ(d),根据分布函数μ(d)随机生成一个非负整数di,将di作为编码符号vi的编码度。
然后,从K个信源符号中随机选取di个不同的符号,记 为所选择符号的序号集合。
之后,从有限域GF(q)中随机产生di个非零值作为编码符号vi的编码系数,记这些编码系数构成的集合为
最后,根据编码系数对di个不同的符号求加权和,得到编码符号vi的值,即,使用公式 计算编码符号vi的值。此处的加法和乘法都是定义于有限域中的运算。
步骤二、从v∞=[v1,v2,…]中选取出长度为N(N≥K)的编码序列,记为w=[w1,w2,…,wN]T,对该喷泉编码序列进行译码,得到原信源序列。实现过程如下:设接收机向译码器输入长度为N(N≥K)的编码序列w=[w1,w2,…,wN]T。由于步骤一得到的编码是线性编码,故将编码序列w=[w1,w2,…,wN]T表示为信源序列的线性组合,即,线性方程组w=A·m。其中,A是一个N×K阶矩阵,其元素取自于GF(q),线性方程组w=A·m的加法和乘法元素是定义于有限域GF(q)的运算。虽然使用置信传播算法可以对本发明的多进制喷泉码进行译码,但置信传播算法对于大多数编码很容易由于阻塞导致译码失败,因而其译码性能较差。对线性方程组w=A·m而言,只要矩阵A的秩为K,收到w=[w1,w2,…,wN]T后,译码器通过基于有限域GF(q)的高斯消元就能够求解出信源矢量m=[m1,m2,…,mK]T,实现最大似然序列译码。但直接的高斯消元法复杂度高于O(K2),甚至可达到O(K3),难以实际应用。由步骤一可知,线性方程组w=A·m实际是基于稀疏矩阵的线性方程组,译码器利用其稀疏特性可大大降低译码复杂度。利用矩阵A的稀疏特性,对喷泉编码序列w=[w1,w2,…,wN]T进行译码,过程如下:
(1)对矩阵A进行主元选择
在求解线性方程组w=A·m的高斯消元过程中,矩阵填充元的数量与主元选择顺序具有强烈的依赖关系。而矩阵填充元的数量直接决定了喷泉码高斯消元译码的复杂度。为保持消元过程中矩阵的稀疏性,应使用良好的主元选择方法。为保持消元过程中矩阵的稀疏性以及减小运算量,主元选择的策略可以是局部填入量最小化,也可以是局部最大填入量最小化。为简单和高效,本发明使用局部填充元和局部操作数最小化的主元选择策略。
求解线性方程组w=A·m的高斯消元包含两个过程:未知元的前向消元过程和回代过程。其中,前向消元过程将矩阵A变换成梯型形式的上三角阵,执行这一过程将占据高斯消元绝大部分时间。与实数域和复数域线性方程组不同,基于有限域的线性方程组运算过程中不会产生舍入误差,因此没有数值稳定性问题。
下面给出局部填充元和局部操作数最小化的主元选择策略。
对于矩阵为A的有限长喷泉编码序列w=[w1,w2,…,wN]T,高斯消元法的前向消元过程共有K步。在前向过程的第k(k=1,2,…,K)步,矩阵的第k行除以其(k,k)位置的元素,然后分别将该行各适当倍数与下面的各行相加,使下面各行第k列的非零元素全都变成零。这样,前向过程的第k步完成时,矩阵被化为上三角形式,如图4a所示。图4a中, 为第k步开始时的矩阵,A(1)=A为原始的矩阵,矩阵A(k)的前k-1列即为上三角矩阵,是待消元的剩余矩阵。局部填充元和局部操作数最小化的策略是:在前向消去的每一步,在剩余矩阵中,选取最大填入和操作数最小的元素作为主元。
剩余矩阵共有N-k+1行和K-k+1列。设是的非零元,i∈{1,…,N-k+1},j∈{1,…,K-k+1}。则为一个候选主元。令ri和cj分别表示剩余矩阵第i行和第j列的重量。如果为主元,则在前向消去过程的第k步,共有ri-1行需要进行消去处理,而每一待消去处理的行最多会产生cj-1个填充元和进行cj-1次基于有限域的加法和乘法操作。于是,最多产生(ri-1)·(ci-1)个填充元和进行(ri-1)·(cj-1)次基于有限域GF(q)的加法和乘法运算,称数值(ri-1)·(cj-1)为选择度量。使用局部填充元和局部操作数最小化的主元选择策略,在前向消去的第k步,选取剩余矩阵中最小选择度量的元作为第k步时的主元。例如,设求解基于有限域线性方程组的高斯消去前向过程某步有剩余矩阵,如图4b上半部分所示,则其各非零元素的选择度量可标记为如图4b下半部分所示。可以看出,其aR(1,1)对应的选择度量值最小,因此,aR(1,1)被选为该步的主元。
(2)对矩阵A进行主元原位高斯消元
图4所示的高斯消去法中,实际上假定了a(k,k)不为零,并以此为主元完成消去过程。如果使用主元选择策略所确定的主元,前向消去过程的第k步,其主元不在位置(k,k),可以通过行和列的交换将主元交换到(k,k)再进行消元运算。然而,在稀疏矩阵存储中,为了节省存储单元,往往不同时按行、列存放矩阵元素,因而,行列交换无法通过修改指针数组来完成,必须进行真正的行列交换。这种行列交换需要频繁地进行存取存储器,耗费大量计算时间。实际上,这种交换并无必要,只需要采用2K个单元记录每步的主元行号和列号即可。
定义B(k)=[A(k)|w(k)]为高斯消去前向过程第k步开始时的增广矩阵,则其线性方程组的系数矩阵化为A(k),编码矢量化为w(k)。其中A(1)=A表示初始编码矩阵,w(1)=w表示输入到译码器的编码矢量。
a)令计数器的步数k=1。
c)若k<K,设置k=k+1,重复b),直至k=K。
至此,就完成主元原位高斯消元。
其中,k=1,2,…,K。由此得到译码输出序列m。
至此,就实现了基于有限域的多进制喷泉码的编码和译码过程。
一种基于有限域的多进制喷泉编码和译码方法。
有益效果
本发明方法,使用本发明的多进制喷泉码编码方法进行编码,编码度采用鲁棒孤波分布,编码复杂度很低,编码效率高。再采用本发明的基于有限域的多进制喷泉码的译码对所编出的喷泉码进行译码,译码失败概率很低,比传统的概率置信具有明显的性能优势。使实际的通信与存储系统的性能得到了有效提高,且成本下降。
附图说明
图1为信源长度K=100时平均每编码符号的编码度与参数c和δ的关系示意图;
图2为信源长度K=500时平均每编码符号的编码度与参数c和δ的关系示意图;
图3为信源长度K=1000,参数δ=0.05时平均每编码符号的编码度与参数c的关系示意图;
图4为高斯消元法的剩余矩阵与其非零元的选择度量值实例示意图;
图5为采用基于本发明基于稀疏矩阵的译码方法,信源长度K=100,多进制和二进制喷泉码编码的译码失败概率与编码效率的关系示意图;
图6为不同编码在各种不同译码方法下的归一化运行时间比较(N=1250,K=1000)示意图。
具体实施方式
下面结合实施例及附图,对本发明作进一步详细说明。
一种基于有限域的多进制喷泉编码和译码方法。
定义GF(q)表示有限域,即伽罗华域,q可以是任意素数或者素数的正整数次幂。例如,q可以是2,4,8,16,...或者3,9,27,...等等。一个定义于有限域GF(q)的矩阵或矢量,称其非零元素的个数为该矩阵或矢量的重量。令v∞=[v1,v2,…]表示长度半无限的喷泉编码序列,一个编码符号vi(i=1,2,…)的编码度表示参加该符号编码的信源符号个数。设信源的长度为K。令m=[m1,m2,…,mK]T表示信源矢量,其第j个符号取自于GF(q),j=1,2,…,K。
步骤一、对喷泉码进行编码,得到喷泉编码序列v∞=[v1,v2,…]。
其中,编码符号vi(i=1,2,…)的实现步骤如下:
首先,给定编码度分布函数μ(d),根据分布函数μ(d)随机生成一个非负整数di,将di作为编码符号vi的编码度。其中,使用鲁棒孤波(Robust-Soliton)分布作为编码度分布函数μ(d),定义如下:令信源长度为K,设c和δ是满足c>0和0<δ<1的两个参数,令 此处ln(x)表示自然对数;定义
ρ(d)为孤波分布。将ρ(·)和τ(·)作和并归一化,得到鲁棒孤波分布:
其中
使用鲁棒孤波分布,为实现多进制喷泉码,参加每个编码符号编码的信源符号数量接近O(ln(K/δ))。这一参数与二进制LT码相同。只是多进制编码的加法和乘法工作在有限域GF(q),而二进制编码工作于GF(2)。如果通过查表和对数反查表方法计算有限域的加法和乘法,可以做到GF(q)(q>2)和GF(2)上的加法和乘法复杂度基本一致。这说明,本发明所提出的多进制喷泉码编码复杂度与二进制LT码很接近。为了说明使用鲁棒孤波分布选取编码度时多进制喷泉码的编码复杂度,图1、图2和图3给出了信源长度K=100,K=500和K=1000时平均每编码符号编码度与选取参数c和δ的关系。从这些关系可以看出,尽管编码度与参数c和δ的取值有关,但编码度的值都不高。例如,选取c=0.05时,图中各编码度都在10附近,最高也没有超过15。这说明,每编码一个符号,只需要选取少数几个信源符号加权叠加即可,其编码复杂度很低。
然后,从K个信源符号中随机均匀地选取di个不同的符号,记 为所选择符号的序号集合。
之后,从有限域GF(q)中随机均匀产生di个非零值作为编码符号vi的编码系数,记这些编码系数构成的集合为
最后,根据编码系数对di个不同的符号求加权和,得到编码符号vi的值,即,使用公式 计算喷泉码的输出符号vi的值。此处的加法和乘法都是定义于有限域中的运算。
该编码方法与M.Luby在“LT Codes”一文所提出的二进制LT码区别在于最后两步:本发明方法,在多进制喷泉码产生过程中,在GF(q)中选取di个非零系数,计算编码符号vi的值时的加法和乘法是基于有限域运算。而在M.Luby的二进制LT码产生过程中没有选取非零系数,因为一旦选定参加编码的符号,对二进制编码而言,编码系数恒为1。在二进制LT码编码时,各参加编码的符号加法是模2加。实际上,LT码是本发明的一种特殊情况。当q=2时,本发明的喷泉码就是二进制的LT码。基于此,当使用鲁棒孤波分布作为编码度分布式,本发明的多进制喷泉码可称为多进制的LT码。
步骤二、从序列v∞=[v1,v2,…]中选取出长度为N(N≥K)的编码序列,记为w=[w1,w2,…wN]T,对该喷泉编码序列进行译码,得到原信源序列。实现过程如下:
设接收机向译码器输入长度为N(N≥K)的编码序列w=[w1,w2,…,wN]T。由于步骤一得到的编码是线性编码,故将编码序列w=[w1,w2,…,wN]T表示为信源序列的线性组合,即,线性方程组w=A·m。其中,A是一个N×K阶矩阵,其元素取自于GF(q),线性方程组w=A·m的加法和乘法元素是定义于有限域GF(q)的运算。
虽然使用置信传播算法可以对本发明的多进制喷泉码进行译码,但置信传播算法对于大多数编码很容易由于阻塞导致译码失败,因而其译码性能较差。对线性方程组w=A·m而言,只要矩阵A的秩为K,收到w=[w1,w2,…,wN]T后,译码器通过基于有限域GF(q)的高斯消元就能够求解出信源矢量m=[m1,m2,…,mK]T,实现最大似然序列译码。但直接的高斯消元法复杂度高于O(K2),甚至可达到O(K3),难以实际应用。由步骤一可知,线性方程组w=A·m实际是基于稀疏矩阵的线性方程组,译码器利用其稀疏特性可大大降低译码复杂度。利用矩阵A的稀疏特性,对喷泉编码序列w=[w1,w2,…,wN]T进行译码,过程如下:
(1)对矩阵A进行主元选择
在求解线性方程组w=A·m的高斯消元过程中,矩阵填充元的数量与主元选择顺序具有强烈的依赖关系。而矩阵填充元的数量直接决定了喷泉码高斯消元译码的复杂度。为保持消元过程中矩阵的稀疏性,应使用良好的主元选择方法。为保持消元过程中矩阵的稀疏性以及减小运算量,主元选择的策略可以是局部填入量最小化,也可以是局部最大填入量最小化。为简单和高效,本发明使用局部填充元和局部操作数最小化的主元选择策略。
求解线性方程组w=A·m的高斯消元包含两个过程:未知元的前向消元过程和回代过程。其中,前向消元过程将矩阵A变换成梯型形式的上三角阵,执行这一过程将占据高斯消元绝大部分时间。与实数域和复数域线性方程组不同,基于有限域的线性方程组运算过程中不会产生舍入误差,因此没有数值稳定性问题。
下面给出局部填充元和局部操作数最小化的主元选择策略。
对于矩阵为A的有限长喷泉编码序列w=[w1,w2,…,wN]T,高斯消元法的前向消元过程共有K步。在前向过程的第k(k=1,2,…,K)步,矩阵的第k行除以其(k,k)位置的元素,然后分别将该行各适当倍数与下面的各行相加,使下面各行第k列的非零元素全都变成零。这样,前向过程的第k步完成时,矩阵被化为上三角形式,如图4a所示。图4a中,为第k步开始时的矩阵,A(1)=A为原始的矩阵,矩阵A(k)的前k-1列即为上三角矩阵,是待消元的剩余矩阵。局部填充元和局部操作数最小化的策略是:在前向消去的每一步,在剩余矩阵中,选取最大填入和操作数最小的元素作为主元。
剩余矩阵共有N-k+1行和K-k+1列。设是的非零元,i∈{1,…,N-k+1},j∈{1,…,K-k+1}。则为一个候选主元。令ri和cj分别表示剩余矩阵第i行和第j列的重量。如果为主元,则在前向消去过程的第k步,共有ri-1行需要进行消去处理,而每一待消去处理的行最多会产生cj-1个填充元和进行cj-1次基于有限域的加法和乘法操作。于是,最多产生(ri-1)·(ci-1)个填充元和进行(ri-1)·(cj-1)次基于有限域GF(q)的加法和乘法运算,称数值(ri-1)·(cj-1)为选择度量。使用局部填充元和局部操作数最小化的主元选择策略,在前向消去的第k步,选取剩余矩阵中最小选择度量的元作为第k步时的主元。例如,设求解基于有限域线性方程组的高斯消去前向过程某步有剩余矩阵,如图4b上半部分所示,则其各非零元素的选择度量可标记为如图4b下半部分所示。可以看出,其aR(1,1)对应的选择度量值最小,因此,aR(1,1)被选为该步的主元。
(2)对矩阵A进行主元原位高斯消元
图4所示的高斯消去法中,实际上假定了a(k,k)不为零,并以此为主元完成消去过程。如果使用主元选择策略所确定的主元,前向消去过程的第k步,其主元不在位置(k,k),可以通过行和列的交换将主元交换到(k,k)再进行消元运算。然而,在稀疏矩阵存储中,为了节省存储单元,往往不同时按行、列存放矩阵元素,因而,行列交换无法通过修改指针数组来完成,必须进行真正的行列交换。这种行列交换需要频繁地进行存取存储器,耗费大量计算时间。实际上,这种交换并无必要,只需要采用2K个单元记录每步的主元行号和列号即可。
a)令计数器的步数k=1。
c)若k<K,设置k=k+1,重复b),直至k=K。
至此,就完成主元原位高斯消元。
其中,k=1,2,…,K。由此得到译码输出序列m。
至此,通过使用适当的主元选择方案,结合主元原位高斯消元法,即实现了基于有限域的多进制喷泉码的译码。
例如,我们比较各种不同译码算法的复杂度:置信传播方法、本发明的基于稀疏矩阵的高斯消元法和常规的高斯消元法。为了消除不同计算机计算速度不同对运行结果的影响,本例给出的结果为相对时间结果。也就是,采用二进制码置信传播算法,对N=1250,K=1000,c=0.05,δ=0.05进行译码,并将其译码时间作为基准,其它方法的译码时间除以该基准时间,将此归一化时间作为算法的运行时间。每一算法调用1000次,取其平均时间作为运行时间再进行归一化处理。
使用鲁棒孤波分布,选取N=1250,K=1000,c=0.05,δ=0.05构造二进制和十六进制的LT码。对于二进制编码,其加法和乘法分别为“异或”和逻辑“与”运算。对于十六进制,其加法为4比特并行“异或”,其乘法采用高效的“对数—加—反对数”操作进行运算。运行时间结果如图6所示。观察发现:本发明的基于稀疏矩阵的高斯消元法实现了最大似然序列译码,但只比置信传播方法慢4.6倍,且远远快于常规的高斯消元法。另外,基于GF(16)的十六进制LT码译码只比二进制LT码的译码略慢。作为比较,图6也给出了随机二进制和多进制喷泉编码采用常规高斯消元法译码时的相对运行时间。由于随机编码的编码矩阵缺乏稀疏性,其译码时间远远高于LT码的译码时间。
实施例1
选取信源长度为K=100,c=0.05,改变参数δ,编码度采用鲁棒孤波分布,使用本发明的步骤一所述方法进行编码,再采用本发明的步骤二所述方法进行译码。选取q=2和q=16两种情况,仿真计算出译码失败概率与编码效率的关系如图5所示。另外,编码矩阵随机均匀地选取,在q=2和q=16情形下,计算出译码失败概率与编码效率的关系,计算结果也放在图5中。
随机喷泉码由于其矩阵的密度很高,一般只能使用常规的高斯消元法译码,译码复杂度为O(K3),难以实际应用。该码可作为喷泉编码和译码的性能下界。从图5可以看出,对于所选取的这些基于GF(16)的编码,编码开销低于1.02(实际净开销只有0.02),译码失败概率均低于0.02。同时,GF(16)的编码的译码性能优于GF(2)时的译码性能。
我们还采用置信传播算法,取K=100,对c=0.05,δ=0.05的二进制LT码进行了仿真,其结果为:编码开销1+ε=1.5时,译码失败概率为0.2。该结果与图5本发明的结果比较可以看出,本发明的基于稀疏矩阵的译码算法比传统的概率置信具有明显的性能优势。
在本说明书的前面部分已经提到,编码度分布为
Ω1(x)=0.007969x+0.493570x2+0.166220x3+0.072646x4+0.082558x5+0.056058x8
+0.037229x9+0.055590x19+0.025023x65+0.003135x66
信源长度K=1000的二进制LT码,使用最大似然序列译码,当编码开销为1.25(即25%的净开销)时,译码器译码失败概率高达0.485。使用本发明的多进制喷泉编码和本发明的低复杂度译码算法,不论是多进制和二进制喷泉码,信源长度为100时,其译码性能和编码效率都明显优于以前信源长度为1000的二进制喷泉码。因此,对于同样长度的喷泉码,本发明的喷泉码在译码性能和编码效率方面具有更为优异的性能。
实施例2
设有基于有限域GF(4)的信源长度为5的喷泉码,设m1=3,m2=2,m3=1,m4=0,m5=1,按照步骤一得到:
根据所得序列(1,1,3,3,1,2)按照步骤二进行译码。在高斯消元的前向过程的第一步,其编码矩阵各非零元及其选择度量与图4b相同,应选择位置(1,1)处的元素为主元。第一个方程除以2后从第6个方程减去,得到的结果如下:
一旦某方程选为主元所在的方程,该方程在后续消元过程中将保持不变。在第1个方程后面粘贴一个标签S1(1,1),表示在消元第一步选择了编码矩阵(1,1)处的元素为主元。消元第二步,根据前述主元选择策略知位置(4,2)处的元为主元。保持新选主元所在方程在原位置,将该方程除以主元,然后从第2个方程和第5个方程消去未知数m2得到:
类似地,在第4个方程后面标记S2(4,2),表示消元过程第二步选择了编码矩阵(4,2)处的元素为主元。消元第三步,选择位置(5,3)的元素为主元。使用同样的方法,有:
剩下的几步很直观,因此直接写出得到前向消元的结果:
根据此前向消元结果,后向回代过程如下:第一步,利用标签S5解出m5=1。第二步,利用标签S4解得m4=0。第三步,根据标签S3和已经解出的未知数m4和m5有m3=2-2m4-3m5=1。类似地,有m2=1-3m5=2和m1=3-2m4=3。
以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。例如,对于实际的喷泉码,其有限域的阶数可在素数及素数的正整数次幂中任意选取,其编码度分布函数的参数也可以在可选范围内随意选择。所以凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。
Claims (4)
1、一种基于有限域的多进制喷泉编码和译码方法,其特征在于,包括以下步骤:
定义GF(q)表示有限域,即伽罗华域,q是任意素数或者素数的正整数次幂;一个定义于有限域GF(q)的矩阵或矢量,称其非零元素的个数为该矩阵或矢量的重量;令v∞=[v1,v2,…]表示长度半无限的喷泉编码序列,一个编码符号vi(i=1,2,…)的编码度表示参加该符号编码的信源符号个数;设信源的长度为K;令m=[m1,m2,…,mK]T表示信源矢量,其第j个符号取自于GF(q),j=1,2,…,K;
步骤一、对喷泉码进行编码,得到喷泉编码序列v∞=[v1,v2,…];
其中,编码符号vi(i=1,2,…)的实现步骤如下:
首先,给定编码度分布函数μ(d),根据分布函数μ(d)随机生成一个非负整数di,将di作为编码符号vi的编码度;
然后,从K个信源符号中随机选取di个不同的符号,记为所选择符号的序号集合;
之后,从有限域GF(q)中随机产生di个非零值作为编码符号vi的编码系数,记这些编码系数构成的集合为
最后,根据编码系数对di个不同的符号求加权和,得到编码符号vi的值,即,使用公式 计算编码符号vi的值;
步骤二、从v∞=[v1,v2,…]中选取出长度为N(N≥K)的编码序列,记为w=[w1,w2,…,wN]T,对该喷泉编码序列进行译码,得到原信源序列,实现过程如下:
设接收机向译码器输入长度为N(N≥K)的编码序列w=[w1,w2,…,wN]T,将编码序列w=[w1,w2,…,wN]T表示为信源序列的线性组合,即,线性方程组w=A·m,其中,A是一个N×K阶矩阵,其元素取自于GF(q),线性方程组w=A·m的加法和乘法元素是定义于有限域GF(q)的运算;
利用矩阵A的稀疏特性,对喷泉编码序列w=[w1,w2,…,wN]T进行译码,过程如下:
(1)对矩阵A进行主元选择
对于矩阵为A的有限长喷泉编码序列w=[w1,w2,…,wN]T,高斯消元法的前向消元过程共有K步,在前向过程的第k(k=1,2,…,K)步,矩阵的第k行除以其(k,k)位置的元素,然后分别将该行各适当倍数与下面的各行相加,使下面各行第k列的非零元素全都变成零,当前向过程的第k步完成时,矩阵被化为上三角形式, 为第k步开始时的矩阵,A(1)=A为原始的矩阵,矩阵A(k)的前k-1列即为上三角矩阵,是待消元的剩余矩阵;在前向消去的每一步,在剩余矩阵中,选取最大填入和操作数最小的元素作为主元;
剩余矩阵共有N-k+1行和K-k+1列,设是的非零元,i∈{1,…,N-k+1},j∈{1,…,K-k+1},则为一个候选主元;令ri和cj分别表示剩余矩阵第i行和第j列的重量,数值(ri-1)·(cj-1)为选择度量;
(2)对矩阵A进行主元原位高斯消元
定义B(k)=[A(k)|w(k)]为高斯消去前向过程第k步开始时的增广矩阵,则其线性方程组的系数矩阵化为A(k),编码矢量化为w(k),其中A(1)=A表示初始编码矩阵,w(1)=w表示输入到译码器的编码矢量;
a)令计数器的步数k=1;
c)若k<K,设置k=k+1,重复b),直至k=K;
其中,k=1,2,…,K,由此得到译码输出序列m。
2、根据权利要求1所述的一种基于有限域的多进制喷泉编码和译码方法,其特征在于,所述步骤一中编码度分布函数编码度分布函数μ(d),可以是鲁棒孤波分布,其生成方法为:
使用鲁棒孤波分布作为编码度分布函数μ(d),定义如下:令信源长度为K,设c和δ是满足c>0和0<δ<1的两个参数,令 此处ln(x)表示自然对数;定义
ρ(d)为孤波分布;将ρ(·)和τ(·)作和并归一化,得到鲁棒孤波分布:
其中
3、根据权利要求1所述的一种基于有限域的多进制喷泉编码和译码方法,其特征在于,所述有限域GF(q)的阶数q是素数的正整数次幂。
4、根据权利要求1所述的一种基于有限域的多进制喷泉编码和译码方法,其特征在于,为保持消元过程中矩阵的稀疏性以及减小运算量,主元选择的策略采取局部填入量最小化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101197410A CN101510783B (zh) | 2009-03-26 | 2009-03-26 | 一种基于有限域的多进制喷泉编码和译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101197410A CN101510783B (zh) | 2009-03-26 | 2009-03-26 | 一种基于有限域的多进制喷泉编码和译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101510783A true CN101510783A (zh) | 2009-08-19 |
CN101510783B CN101510783B (zh) | 2011-06-15 |
Family
ID=41003056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101197410A Expired - Fee Related CN101510783B (zh) | 2009-03-26 | 2009-03-26 | 一种基于有限域的多进制喷泉编码和译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101510783B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882972A (zh) * | 2010-06-04 | 2010-11-10 | 中国传媒大学 | 一种Raptor码的解码方法 |
CN102148665A (zh) * | 2011-05-25 | 2011-08-10 | 电子科技大学 | 一种lt码的译码方法 |
WO2011124167A2 (zh) * | 2011-05-11 | 2011-10-13 | 华为技术有限公司 | 编码方法及设备、解码方法及设备、编解码系统 |
CN102521211A (zh) * | 2011-11-17 | 2012-06-27 | 华南理工大学 | 一种求解有限域上线性方程组的并行装置 |
CN101807975B (zh) * | 2010-02-05 | 2013-01-09 | 浙江大学 | 用于提升喷泉码在无线信道上传输质量的信道编码方法 |
CN103208997A (zh) * | 2013-05-03 | 2013-07-17 | 北京理工大学 | 一种边输入/边译码/边输出的编译码器结构 |
CN103973402A (zh) * | 2013-02-06 | 2014-08-06 | 华为技术有限公司 | 数据发送方法、接收方法及设备 |
CN104506199A (zh) * | 2014-11-28 | 2015-04-08 | 电子科技大学 | 一种模拟喷泉码的低复杂度译码方法 |
CN103716134B (zh) * | 2013-11-21 | 2016-08-24 | 浙江大学 | 一次反馈条件下度渐增的喷泉码的编码方法 |
CN107181533A (zh) * | 2016-03-09 | 2017-09-19 | 中国科学院声学研究所 | 一种喷泉码的译码方法及喷泉码的水声通信传输方法 |
CN107196732A (zh) * | 2017-04-24 | 2017-09-22 | 辽宁工业大学 | 基于喷泉码编码的防窃听编码方法 |
CN107257244A (zh) * | 2017-05-18 | 2017-10-17 | 中国矿业大学 | 一种基于广播环境下的喷泉码编码方法 |
WO2018000647A1 (zh) * | 2016-06-30 | 2018-01-04 | 乐视控股(北京)有限公司 | 文件下载方法、装置、终端及服务器 |
CN109729307A (zh) * | 2019-02-28 | 2019-05-07 | 北京理工大学 | 一种基于喷泉码的组播视频会议系统 |
CN109951191A (zh) * | 2017-12-21 | 2019-06-28 | 国广融合(北京)传媒科技发展有限公司 | 非系统Raptor码的渐进式译码方法及装置 |
CN112804232A (zh) * | 2021-01-13 | 2021-05-14 | 中国电子科技集团公司第十五研究所 | 一种基于喷泉码网络信标的追踪溯源方法与装置 |
WO2022033566A1 (zh) * | 2020-08-14 | 2022-02-17 | 华为技术有限公司 | 一种有限域的编码或译码方法以及相关装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430011B (zh) * | 2019-07-09 | 2020-04-24 | 武汉大学 | 基于规则变量节点度分布的bats码编码方法 |
-
2009
- 2009-03-26 CN CN2009101197410A patent/CN101510783B/zh not_active Expired - Fee Related
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807975B (zh) * | 2010-02-05 | 2013-01-09 | 浙江大学 | 用于提升喷泉码在无线信道上传输质量的信道编码方法 |
CN101882972B (zh) * | 2010-06-04 | 2012-08-22 | 中国传媒大学 | 一种Raptor码的解码方法 |
CN101882972A (zh) * | 2010-06-04 | 2010-11-10 | 中国传媒大学 | 一种Raptor码的解码方法 |
WO2011124167A3 (zh) * | 2011-05-11 | 2012-04-05 | 华为技术有限公司 | 编码方法及设备、解码方法及设备、编解码系统 |
WO2011124167A2 (zh) * | 2011-05-11 | 2011-10-13 | 华为技术有限公司 | 编码方法及设备、解码方法及设备、编解码系统 |
CN102986156A (zh) * | 2011-05-11 | 2013-03-20 | 华为技术有限公司 | 编码方法及设备、解码方法及设备、编解码系统 |
CN102148665B (zh) * | 2011-05-25 | 2013-05-08 | 电子科技大学 | 一种lt码的译码方法 |
CN102148665A (zh) * | 2011-05-25 | 2011-08-10 | 电子科技大学 | 一种lt码的译码方法 |
CN102521211A (zh) * | 2011-11-17 | 2012-06-27 | 华南理工大学 | 一种求解有限域上线性方程组的并行装置 |
CN102521211B (zh) * | 2011-11-17 | 2014-09-10 | 华南理工大学 | 一种求解有限域上线性方程组的并行装置 |
EP2706464A4 (en) * | 2011-11-17 | 2015-05-13 | Univ South China Tech | PARALLEL DEVICE FOR RESOLVING A SET OF LINEAR EQUATIONS IN A FINISHED FIELD |
CN103973402B (zh) * | 2013-02-06 | 2019-02-05 | 华为技术有限公司 | 数据发送方法、接收方法及设备 |
CN103973402A (zh) * | 2013-02-06 | 2014-08-06 | 华为技术有限公司 | 数据发送方法、接收方法及设备 |
CN103208997A (zh) * | 2013-05-03 | 2013-07-17 | 北京理工大学 | 一种边输入/边译码/边输出的编译码器结构 |
CN103208997B (zh) * | 2013-05-03 | 2019-09-24 | 北京理工大学 | 一种边输入/边译码/边输出的编译码器结构 |
CN103716134B (zh) * | 2013-11-21 | 2016-08-24 | 浙江大学 | 一次反馈条件下度渐增的喷泉码的编码方法 |
CN104506199B (zh) * | 2014-11-28 | 2017-06-09 | 电子科技大学 | 一种模拟喷泉码的低复杂度译码方法 |
CN104506199A (zh) * | 2014-11-28 | 2015-04-08 | 电子科技大学 | 一种模拟喷泉码的低复杂度译码方法 |
CN107181533B (zh) * | 2016-03-09 | 2019-11-19 | 中国科学院声学研究所 | 一种喷泉码的译码方法及喷泉码的水声通信传输方法 |
CN107181533A (zh) * | 2016-03-09 | 2017-09-19 | 中国科学院声学研究所 | 一种喷泉码的译码方法及喷泉码的水声通信传输方法 |
WO2018000647A1 (zh) * | 2016-06-30 | 2018-01-04 | 乐视控股(北京)有限公司 | 文件下载方法、装置、终端及服务器 |
CN107196732B (zh) * | 2017-04-24 | 2019-07-26 | 辽宁工业大学 | 基于喷泉码编码的防窃听编码方法 |
CN107196732A (zh) * | 2017-04-24 | 2017-09-22 | 辽宁工业大学 | 基于喷泉码编码的防窃听编码方法 |
CN107257244A (zh) * | 2017-05-18 | 2017-10-17 | 中国矿业大学 | 一种基于广播环境下的喷泉码编码方法 |
CN109951191A (zh) * | 2017-12-21 | 2019-06-28 | 国广融合(北京)传媒科技发展有限公司 | 非系统Raptor码的渐进式译码方法及装置 |
CN109951191B (zh) * | 2017-12-21 | 2023-04-18 | 国广融合(北京)传媒科技发展有限公司 | 非系统Raptor码的渐进式译码方法及装置 |
CN109729307A (zh) * | 2019-02-28 | 2019-05-07 | 北京理工大学 | 一种基于喷泉码的组播视频会议系统 |
WO2022033566A1 (zh) * | 2020-08-14 | 2022-02-17 | 华为技术有限公司 | 一种有限域的编码或译码方法以及相关装置 |
CN112804232A (zh) * | 2021-01-13 | 2021-05-14 | 中国电子科技集团公司第十五研究所 | 一种基于喷泉码网络信标的追踪溯源方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101510783B (zh) | 2011-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101510783B (zh) | 一种基于有限域的多进制喷泉编码和译码方法 | |
CN101432969B (zh) | 前向纠错(fec)编码和流送 | |
CN101453297B (zh) | 低密度生成矩阵码的编码方法和装置、及译码方法和装置 | |
RU2490791C1 (ru) | Способ и устройство для канального кодирования и декодирования в системе связи, в которой используются коды контроля четности с низкой плотностью | |
CN102227103B (zh) | 一种基于不等差错保护喷泉码的信道编码传输方法 | |
CN101019326B (zh) | 文件下载和流系统 | |
CN1836394B (zh) | 在移动通信系统中编码/解码分块低密度奇偶校验码的装置和方法 | |
CN100356697C (zh) | 使用结构化奇偶校验矩阵的低密度奇偶校验码的编码 | |
CN101459430B (zh) | 低密度生成矩阵码的编码方法及装置 | |
US7831884B2 (en) | Method of correcting message errors using cyclic redundancy checks | |
CN106877973A (zh) | 极化码处理的方法及通信设备 | |
CN101414833B (zh) | 低密度生成矩阵码的编码方法及装置 | |
CN101582744A (zh) | 一种基于迭代方法的rs喷泉码的编译码方法 | |
Ma et al. | An incremental redundancy HARQ scheme for polar code | |
CN103152652A (zh) | 一种基于柯西rs编码的视频帧数据网络传输方法 | |
CN101286745B (zh) | 一种交织编码方法及装置 | |
CN101494517B (zh) | 一种数据传输方法及装置 | |
KR101643039B1 (ko) | 분산 lt 부호의 차수 분포 최적화 방법 | |
CN105430421A (zh) | 一种基于极化码属性降低图像传输失真率的方法 | |
Hooshmand et al. | Secret key cryptosystem based on polar codes over binary erasure channel | |
US7415114B2 (en) | Quantum key system and method | |
CN101969354B (zh) | 基于中国剩余定理的信道编解码方法 | |
CN101552613A (zh) | 基于外信息符号变化的低密度校验码译码方法 | |
CN102820952A (zh) | 基于无率编码的无线网络系统吞吐量优化方法 | |
CN101471743A (zh) | 低密度生成矩阵码的编码方法 |
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: 20110615 Termination date: 20150326 |
|
EXPY | Termination of patent right or utility model |