一种基于有限域的多进制喷泉编码和译码方法

文档序号:7526019阅读:263来源:国知局
专利名称:一种基于有限域的多进制喷泉编码和译码方法
技术领域
本发明涉及一种数字喷泉码的编码和译码方法,特别涉及一种基于有限域 构造多进制数字喷泉码的方法和使用矩阵稀疏特性的高效译码方法,属于有线 通信、无线通信及互联网通信数据传输技术领域和分布式数据存储技术领域。
背景技术
数字喷泉码是无比率编码的一种,其基本思想由J. Byes, M. Luby和M. Mitzenmacher禾卩A. Rege在"A digital fountain approach to reliable distribution of bulk data" (Proceedings of ACM SIGCOMM,98, Vancouver BC, Canada, pp. 56-57, 1998) —文中提出。数字喷泉码是一种应用于删除信道的纠错编码技术,其典 型应用包括有线与无线组播与广播业务、无线协作与中继、分布式网络存储等。 数字喷泉编码的基本思想是如下设在发送端K个待发送的信源数据包构成一 个报文。使用无比率编码方法将此报文构成编成半无穷数据包序列再进行发送。 由于半无穷序列无法存储,在实际系统中,可以采用一边发送一边产生喷泉包 的方式进行编码。每一个接收点正确接收到K个编码包(或者略大于K个编码 包,例如收到比K大10X的包数)即可解出原发送报文。接收机正确译出所发 送的报文,向发送机发送单次确认信号。发送机收到此确认信号立即停止该报 文的发送。使用数字喷泉技术,不论接收点收到到哪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。定义JV/K-l + s为编码开销,称f为编码净开销。M.Luby证明使用BP算 法,接收机接收到任意"O(VZln2^/州个编码符号就能够以l-5的概率恢复原 发送的K个信源符号,且其平均每符号所需的译码复杂度为0(ln(r/。。这说明, 采用置信传播译码的LT码具有良好的渐进性能,也就是说,当K很大时,LT 码的编码和译码复杂度均接近线性。例如,D. J. Mackay在"Fountain codes"(IEE Proc,Commun., vol. 152, no. 6, pp. 1062-1068, Dec. 2005) 一文中给出了这样的结 果使用信源长度为10000比特的LT码,编码开销接近1.05时,BP算法能够 高效地译出信源序列。A. Shokrollahi在"Raptor codes" (IEEE Transactions on Information 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 for LT codes with small message length" (Proceedings of IEEE INFOCOM, 2007, Anchorage, Alaska, USA, pp. 2576-2580)、 "Unequal error protection rateless codes for scalable information delivery in mobile networks" (Proceeding of IEEE INFOCOM, 2007, Anchorage, Alaska, USA, pp. 2316-2320, May 2007 )和 "Characterization of Luby transform codes with small message size for low-latency decoding" (IEEE International Conference on Communications, 2008 (ICC,08), Beijing, China, pp. 1195-1199, April 2008)这些文献中研究了应用于信源长度较 短(典型地,信源长度小于1000)和长度中等(典型地,信源长度大于1000且 小于10000)的二进制喷泉码,取得了一些研究进展。
这些喷泉短码的工作是基于二迸制编码构造的。使用二进制编码构造喷泉 码有这样的缺点当信源长度不太长时,为成功译码所占用的编码开销比较大。
6以U. C. Kozat在"Unequal error protection rateless codes for scalable information
delivery in mobile networks,,一文给出的编码器度分布为
A (x) = 0曙007969x + 0'493570jc2 + 0.166220x3 + 0.072646 + 0.082558x5 + 0.056058x8 + 0.037229jc9 +0.055590x19 +0.025023x65 +0.003135x66
信源长度K-1000的二进制LT码为例,即便使用最大似然序列译码,当编 码开销为1.25 (即25%的净开销)时,译码器不能恢复发送信源序列的概率还 高达0.485。
鉴于二进制喷泉编码在短码和中等长度码应用时具有开销大的缺点,可以 考虑在多进制符号集合中构造喷泉编码。随机产生一个《x《的实数矩阵,这个 矩阵可逆的概率为1,而一个随机二进制《x《矩阵(当K大于10)满秩的概率 小得多,只有0.289。容易理解,如果喷泉码的信源和编码符号基于一个包含g (《>2)个符号的集合中构造, 一个随机的《"矩阵满秩的概率将高于二进制 时的概率。特别地,喷泉码可以在有限域GF(q)中构造。
单纯从编码效率的角度来看,Reed-Solomon码(见I.S.Reed禾n G. Solomon 的"Polynomial codes over certain finite fields", Journal of the society for industrial and applied mathematics, vol. 8, no. 2, pp. 300-304, June 1960)是一种基于有限域 GF(q)构造的好码《个信源符号可以由所接收到的任意K个不同编码符号恢复 出来。但Reed-Solomon码作为喷泉码难以实用首先,有限域GF(q)的阶数《限 制了喷泉码的长度,即Reed-Solomon码最大长度为《-l,而喷泉码对码的长度 要求是不确定的,希望最长可以达到无限长。其次,已有的Reed-Solomon编码 和译码算法复杂度是信源长度的二次方,这样的复杂度即便对于中等长度的信 源长度(例如1000)都太高了。这些缺点使目前已有的多进制喷泉编码难以实 际应用。

发明内容
本发明针对已有的二进制喷泉码在信源长度不长时效率很低、多进制喷泉 码译码复杂度高的缺点,提出了一种基于有限域的多进制喷泉编码和译码方法。 该方法极大地提高了喷泉编码的编码效率,降低了喷泉码的译码复杂度,适合 于各种信源长度的喷泉码应用。
本发明的目的是通过下述技术方案实现的。定义GF(q)表示有限域,即伽罗华域,《可以是任意素数或者素数的正整数 次幂。例如,g可以是2, 4, 8, 16,...或者3, 9, 27,...等等。 一个定义于 有限域GF(q)的矩阵或矢量,称其非零元素的个数为该矩阵或矢量的重量。令 、=[、,&...]表示长度半无限的喷泉编码序列, 一个编码符号"(z = i,2,...)的编 码度表示参加该符号编码的信源符号个数。设信源的长度为^。令 m-[ ,^,…, r表示信源矢量,其第/个符号取自于GF(q), J",2,…,X。
步骤一、对喷泉码进行编码,得到喷泉编码序列^ 其中,编码
符号^ (,-L2,…)的实现步骤如下
首先,给定编码度分布函数^力,根据分布函数/z(^随机生成一个非负整数 《,将J,作为编码符号^的编码度。
然后,从尺个信源符号中随机选取《个不同的符号,记K,.^^A,…,、J为 所选择符号的序号集合。
之后,从有限域GF(q)中随机产生A个非零值作为编码符号v,的编码系数, 记这些编码系数构成的集合为C-化,^,…,c》。
最后,根据编码系数对",个不同的符号求加权和,得到编码符号v,的值,艮P,
使用公式v, =c'气+c2 'm,2 + ■' + ", 'm 计算编码符号v,的值。此处的加法和乘
法都是定义于有限域中的运算。
步骤二、从v。 中选取出长度为W (W》《)的编码序列,记为
w 对该喷泉编码序列进行译码,得到原信源序列。实现过程如下
设接收机向译码器输入长度为W(W》K)的编码序列P[W^,…,Mvf 。由于步
骤一得到的编码是线性编码,故将编码序列w-[,巧,…, f表示为信源序列的线 性组合,即,线性方程组w-A,。其中,A是一个ATxK阶矩阵,其元素取自于
GF(q),线性方程组w-A.m的加法和乘法元素是定义于有限域GF(q)的运算。
虽然使用置信传播算法可以对本发明的多进制喷泉码进行译码,但置信传播算 法对于大多数编码很容易由于阻塞导致译码失败,因而其译码性能较差。对线
性方程组w-A,而言,只要矩阵A的秩为《,收到沐=[ ..., 卩后,译码器通
过基于有限域GF(q)的高斯消元就能够求解出信源矢量n^h,^,…,附J,实现 最大似然序列译码。但直接的高斯消元法复杂度高于o(^2),甚至可达到O(f ),
难以实际应用。由步骤一可知,线性方程组w-A.m实际是基于稀疏矩阵的线性方程组,译码器利用其稀疏特性可大大降低译码复杂度。利用矩阵A的稀疏特 性,对喷泉编码序列^ = —1,^,..., /进行译码,过程如下 (1)对矩阵A进行主元选择
在求解线性方程组w-A.m的高斯消元过程中,矩阵填充元的数量与主元选 择顺序具有强烈的依赖关系。而矩阵填充元的数量直接决定了喷泉码高斯消元
译码的复杂度。为保持消元过程中矩阵的稀疏性,应使用良好的主元选择方法。 为保持消元过程中矩阵的稀疏性以及减小运算量,主元选择的策略可以是局部 填入量最小化,也可以是局部最大填入量最小化。为简单和高效,本发明使用 局部填充元和局部操作数最小化的主元选择策略。
求解线性方程组w-A.m的高斯消元包含两个过程未知元的前向消元过程 和回代过程。其中,前向消元过程将矩阵A变换成梯型形式的上三角阵,执行 这一过程将占据高斯消元绝大部分时间。与实数域和复数域线性方程组不同, 基于有限域的线性方程组运算过程中不会产生舍入误差,因此没有数值稳定性 问题。
下面给出局部填充元和局部操作数最小化的主元选择策略。 对于矩阵为A的有限长喷泉编码序列w^ ^…,,f ,高斯消元法的前向消 元过程共有K步。在前向过程的第6 U-1,2,…,X)步,矩阵的第;t行除以其(/t,/t) 位置的元素,然后分别将该行各适当倍数与下面的各行相加,使下面各行第A列 的非零元素全都变成零。这样,前向过程的第it步完成时,矩阵被化为上三角形
式,如图4a所示。图4a中,A("=为第A步开始时的矩阵,A。^A为原始 的矩阵,矩阵A("的前yt-l列即为上三角矩阵,Af是待消元的剩余矩阵。局部 填充元和局部操作数最小化的策略是在前向消去的每一歩,在剩余矩阵A(;)中, 选取最大填入和操作数最小的元素作为主元。
剩余矩阵A^共有,V" + 1行和Z-/t + l列。设4"('W)是A^的非零元, ,dl,…,jV-/fc + l}, ye{i,..,《-& + 1}。贝U4"("')为一个候选主元。令",和。分别表 示剩余矩阵Af第/行和第J列的重量。如果《)("')为主元,则在前向消去过程 的第/t步,共有r,-l行需要进行消去处理,而每一待消去处理的行最多会产生 。-l个填充元和进行c,-l次基于有限域的加法和乘法操作。于是,最多产生(r, --l)个填充元和进行(r, --l)次基于有限域GF(q)的加法和乘法运 算,称数值(r,,l)为选择度量。使用局部填充元和局部操作数最小化的主 元选择策略,在前向消去的第A步,选取剩余矩阵A^中最小选择度量的元作为 第fc步时的主元。例如,设求解基于有限域线性方程组的高斯消去前向过程某歩 有剩余矩阵,如图4b上半部分所示,则其各非零元素的选择度量可标记为如图 4b下半部分所示。可以看出,其",(l,l)对应的选择度量值最小,因此,"w(l,l)被 选为该步的主元。
(2)对矩阵A进行主元原位高斯消元
图4所不的高斯消去法中,实际上假定了^t,/t)不为零,并以此为主元完成
消去过程。如果使用主元选择策略所确定的主元,前向消去过程的第^步,其主
元不在位置(A,",可以通过行和列的交换将主元交换到(&,yt)再进行消元运算。 然而,在稀疏矩阵存储中,为了节省存储单元,往往不同时按行、列存放矩阵 元素,因而,行列交换无法通过修改指针数组来完成,必须进行真正的行列交 换。这种行列交换需耍频繁地进行存取存储器,耗费大量计算时间。实际上, 这种交换并无必要,只需要采用2《个单元记录每歩的主元行号和列号即可。
定义B'"-[^'lw("]为高斯消去前向过程第/t步开始时的增广矩阵,则其线性 方程组的系数矩阵化为A'",编码矢量化为w("。其中A('"A表示初始编码矩
阵,w('^w表示输入到译码器的编码矢量。
a) 令计数器的歩数&二1 。
b) 设主元为a。'.,记录第A步的主元行号和列号,即标记&(/"厶)。以主元《i 除以第々个方程中剩下的未知数的非零系数和右端项,而后,从所有未选 过主元的方程中消去第A个未知数。
c) 若々<1,设置& = & + 1,重复b),直至* =尺。
至此,就完成主元原位高斯消元。
最后,采用后向迭代,求解线性方程组w-A'm中的未知量m的元素^a ,

力(^ 厶'
10其中,"1,2,…,尺。由此得到译码输出序列m。
至此,就实现了基于有限域的多进制喷泉码的编码和译码过程。
一种基于有限域的多进制喷泉编码和译码方法。
有益效果
本发明方法,使用本发明的多进制喷泉码编码方法进行编码,编码度采用 鲁棒孤波分布,编码复杂度很低,编码效率高。再采用本发明的基于有限域的 多进制喷泉码的译码对所编出的喷泉码进行译码,译码失败概率很低,比传统 的概率置信具有明显的性能优势。使实际的通信与存储系统的性能得到了有效 提高,且成本下降。


图1为信源长度《"00时平均每编码符号的编码度与参数c和5的关系示意
图2为信源长度K = 500时平均每编码符号的编码度与参数c和S的关系示意
图3为信源长度《=1000,参数5 = 0.05时平均每编码符号的编码度与参数c的 关系示意图4为高斯消元法的剩余矩阵与其非零元的选择度量值实例示意图5为采用基于本发明基于稀疏矩阵的译码方法,信源长度/: = 100,多进
制和二进制喷泉码编码的译码失败概率与编码效率的关系示意图6为不同编码在各种不同译码方法下的归一化运行时间比较(W = 1250,
^ = 1000 )不意图。
具体实施例方式
下面结合实施例及附图,对本发明作进一步详细说明。 一种基于有限域的多进制喷泉编码和译码方法。
定义GF(q)表示有限域,即伽罗华域,9可以是任意素数或者素数的正整数 次幂。例如,g可以是2, 4, 8, 16,...或者3, 9, 27,…等等。 -个定义于有限域GF(q)的矩阵或矢量,称其非零元素的个数为该矩阵或矢量的重量。令 K、,、,…]表示长度半无限的喷泉编码序列, 一个编码符号v, (,=!,2,...)的编 码度表示参加该符号编码的信源符号个数。设信源的长度为X。令 m二h,^,…, r表示信源矢量,其第y个符号取自丁-GF(q), hl,2,…,K。
步骤一、对喷泉码进行编码,得到喷泉编码序列、=[^^,一]。
其中,编码符3" (, = !,2,...)的实现歩骤如下
首先,给定编码度分布函数p(力,根据分布函数/z(力随机生成一个非负整数 《,将《作为编码符号v,的编码度。其中,使用鲁棒孤波(Robust-Soliton)分布 作为编码度分布函数M力,定义如下令信源长度为I,设c和3是满足o0和 0<5<1的两个参数,令S二c.VZ.ln(i:/。,此处ln(x)表示自然对数;定义


1
_ 1)
"i,2,…,a:/s — i
-ln(S/S), d =《/S 0, d>K/S
PW)为孤波分布。将PO和"0作和并归一化,得到鲁棒孤波分布
其中^ = 1>(力+ /^)]。
使用'鲁棒孤波分布,为实现多进制喷泉码,参加每个编码符号编码的信源 符号数量接近0(ln(XZ。)。这一参数与二进制LT码相同。只是多进制编码的加 法和乘法工作在有限域GF(q),而二进制编码工作于GF(2)。如果通过査表和对 数反查表方法计算有限域的加法和乘法,可以做到GF(q)(《>2)和GF(2)上的 加法和乘法复杂度基本一致。这说明,本发明所提出的多进制喷泉码编码复杂 度与二进制LT码很接近。为了说明使用鲁棒孤波分布选取编码度时多进制喷泉 码的编码复杂度,图l、图2和图3给出了信源长度^ = 100, ^ = 500和^ = 1000 时平均每编码符号编码度与选取参数c和5的关系。从这些关系可以看出,尽管 编码度与参数c和5的取值有关,但编码度的值都不高。例如,选取^0.05时,
12图中各编码度都在10附近,最高也没有超过15。这说明,每编码一个符号,只 需要选取少数几个信源符号加权叠加即可,其编码复杂度很低。
然后,从《个信源符号中随机均匀地选取《个不同的符号,记 、={^、,"',^}为所选择符号的序号集合。
之后,从有限域GF(q)中随机均匀产生《个非零值作为编码符号v,的编码系 数,记这些编码系数构成的集合为C:化,C2,…,cJ。
最后,根据编码系数对^,个不同的符号求加权和,得到编码符号v,的值,艮口, 使用公式v, =C| ■"、 +c2 ,、2 4"…+ q ."、计算喷泉码的输出符号v,的值。此处的加法 和乘法都是定义于有限域中的运算。
该编码方法与M. Luby在"LTCodes"—文所提出的二进制LT码区别在于最 后两步本发明方法,在多进制喷泉码产生过程中,在GF(q)中选取J,个非零系 数,计算编码符号v,的值时的加法和乘法是基于有限域运算。而在M丄uby的二 进制LT码产生过程中没有选取非零系数,因为一旦选定参加编码的符号,对二 进制编码而言,编码系数恒为l。在二进制LT码编码时,各参加编码的符号加 法是模2加。实际上,LT码是本发明的一种特殊情况。当《=2时,本发明的喷 泉码就是二进制的LT码。基于此,当使用鲁棒孤波分布作为编码度分布式,本 发明的多进制喷泉码可称为多进制的LT码。
歩骤二、从序列、^v,、i,、,…]中选取出长度为W (iVkK)的编码序列,记为 ^ =[ 巧,..,^/,对该喷泉编码序列进行译码,得到原信源序列。实现过程如下
设接收机向泽码器输入长度为iV (AQ《)的编码序列w-h, …, f。由于 步骤一得到的编码是线性编码,故将编码序列^h,巧,…, r表示为信源序列的
线性组合,即,线性方程组w-A,。其中,A是一个WxK阶矩阵,其元素取自 于GF(q),线性方程组《, = A.m的加法和乘法元素是定义于有限域GF(q)的运算。
虽然使用置信传播算法可以对本发明的多进制喷泉码进行译码,但置信传 播算法对于大多数编码很容易由于阻塞导致译码失败,因而其译码性能较差。
对线性方程组w-A.m而言,只要矩阵A的秩为《,收到^[,,^,…,^,f后,译码 器通过基于有限域GF(q)的高斯消元就能够求解出信源矢量m^ ^,…, f ,
实现最大似然序列译码。但直接的高斯消元法复杂度高于o(r),甚至可达到
O(f),难以实际应用。由步骤一可知,线性方程组w-A,实际是基于稀疏矩阵 的线性方程组,译码器利用其稀疏特性可大大降低译码复杂度。利用矩阵A的稀疏特性,对喷泉编码序列^[w,,巧,…,,f进行译码,过程如下 (1)对矩阵A进行主元选择
在求解线性方程组w-A.m的高斯消元过程中,矩阵填充元的数量与主元选 择顺序具有强烈的依赖关系。而矩阵填充元的数量直接决定了喷泉码高斯消元 译码的复杂度。为保持消元过程中矩阵的稀疏性,应使用良好的主元选择方法。 为保持消元过程中矩阵的稀疏性以及减小运算量,主元选择的策略可以是局部 填入量最小化,也可以是局部最大填入量最小化。为简单和高效,本发明使用 局部填充元和局部操作数最小化的主元选择策略。
求解线性方程组、^A.m的高斯消元包含两个过程未知元的前向消元过程 和回代过程。其中,前向消元过程将矩阵A变换成梯型形式的上三角阵,执行 这一过程将占据高斯消元绝大部分时间。与实数域和复数域线性方程组不同, 基于有限域的线性方程组运算过程中不会产生舍入误差,因此没有数值稳定性 问题。
下面给出局部填充元和局部操作数最小化的主元选择策略。 对于矩阵为A的有限长喷泉编码序列w-[^,…,,f,高斯消元法的前向消 元过程共有K步。在前向过程的第fc U",2,…,K)步,矩阵的第H亍除以其(、0 位置的元素,然后分别将该行各适当倍数与下面的各行相加,使下面各行第/t列 的非零元素全都变成零。这样,前向过程的第^歩完成时,矩阵被化为上三角形
式,如图4a所示。图4a中,A("—fl,("为第/c步开始时的矩阵,A('^A为原始 的矩阵,矩阵A("的前A-1列即为上三角矩阵,A(广是待消元的剩余矩阵。局部 填充元和局部操作数最小化的策略是在前向消去的每一步,在剩余矩阵A〖"中, 选取最大填入和操作数最小的元素作为主元。
剩余矩阵A;〖)共有W - & +1行和K - yt +1列。设^ (/,力是A,)的非零元, /e(l,…、iV —/t + l}, j'e仏….,X —/t十l)。贝廿《)(")为一个候选主元。令。禾口c,分另U表 示剩余矩阵A^第/行和第乂列的重量。如果4"(U')为主元,则在前向消去过程 的第*歩,共有;',-l行需要进行消去处理,而每一待消去处理的行最多会产生 c「l个填充元和进行。,l次基于有限域的加法和乘法操作。于是,最多产生 (,。-I)个填充元和进行(r, --l)次基于有限域GF(q)的加法和乘法运 算,称数值(,.,-1).(。-1)为选择度量。使用局部填充元和局部操作数最小化的主 元选择策略,在前向消去的第A步,选取剩余矩阵A^中最小选择度量的元作为第/t步时的主元。例如,设求解基于有限域线性方程组的高斯消去前向过程某步 有剩余矩阵,如图4b上半部分所示,则其各非零元素的选择度量可标记为如图
4b下半部分所示。可以看出,其 (l,l)对应的选择度量值最小,因此, (U)被 选为该步的主元。
(2)对矩阵A进行主元原位高斯消元
图4所示的高斯消去法中,实际上假定了^i)不为零,并以此为主元完成 消去过程。如果使用主元选择策略所确定的主元,前向消去过程的第A步,其主 元不在位置(A,;t),可以通过行和列的交换将主元交换到Ot,^再进行消元运算。 然而,在稀疏矩阵存储中,为了节省存储单元,往往不同时按行、列存放矩阵 元素,因而,行列交换无法通过修改指针数组来完成,必须进行真正的行列交 换。这种行列交换需要频繁地进行存取存储器,耗费大量计算时间。实际上, 这种交换并无必要,只需要采用2^个单元记录每步的主元行号和列号即可。
定义B("^A("lw(^为高斯消去前向过程第^步开始时的增广矩阵,则其线性 方程组的系数矩阵化为A'",编码矢量化为、v("。其中A")-A表示初始编码矩 阵,w('^w表示输入到译码器的编码矢量。
a) 令计数器的歩数^二l 。
b) 设主元为《^ ,记录第/f步的主元行号和列号,即标记&(,;,A)。以主元《), 除以第个方程中剩下的未知数的非零系数和右端项,而后,从所有未选过主元 的方程中消去第A个未知数。
c)若&<《,设置& = & + 1,重复b),直至& =夂。
至此,就完成主元原位高斯消元。
最后,采用后向迭代,求解线性方程组w = A-m中的未知量m的元素^厶,

力< " '4"厶 ./.T
蜂+l,…,Z),a") *0
其中,/t-l,2,…J。由此得到译码输出序列m。
至此,通过使用适3的主元选择方案,结合主元原位高斯消元法,即实现 了基于有限域的多进制喷泉码的译码。
例如,我们比较各种不同译码算法的复杂度置信传播方法、本发明的基
15于稀疏矩阵的高斯消元法和常规的高斯消元法。为了消除不同计算机计算速度 不同对运行结果的影响,本例给出的结果为相对时间结果。也就是,采用二进 制码置信传播算法,对^ = 1250,《=1000, c = 0.05, 3 = 0.05进行译码,并将其 译码时间作为基准,其它方法的译码时间除以该基准时间,将此归一化时间作 为算法的运行时间。每一算法调用1000次,取其平均时间作为运行时间再进行 归一化处理。
使用鲁棒孤波分布,选取W-1250,《=1000, c = 0.05, 5 = 0.05构造二进制 和十六进制的LT码。对于二进制编码,其加法和乘法分别为"异或"和逻辑"与" 运算。对于十六进制,其加法为4比特并行"异或",其乘法采用高效的"对数一 加一反对数"操作进行运算。运行时间结果如图6所示。观察发现本发明的基 于稀疏矩阵的高斯消元法实现了最大似然序列译码,但只比置信传播方法慢4.6 倍,且远远快T常规的高斯消元法。另外,基于GF(16)的十六进制LT码译码只 比二进制LT码的译码略慢。作为比较,图6也给出了随机二进制和多进制喷泉 编码采用常规高斯消元法译码时的相对运行时间。由于随机编码的编码矩阵缺 乏稀疏性,其译码时间远远高于LT码的译码时间。
实施例1
选取信源长度为《=100, c = 0.05,改变参数5,编码度采用鲁棒孤波分布, 使用本发明的歩骤一所述方法进行编码,再采用本发明的步骤二所述方法进行 译码。选取^^2和gd6两种情况,仿真计算出译码失败概率与编码效率的关系 如图5所示。另外,编码矩阵随机均匀地选取,在《=2和《=16情形下,计算出 译码失败概率与编码效率的关系,计算结果也放在图5中。
随机喷泉码由于其矩阵的密度很高, 一般只能使用常规的高斯消元法译码, 译码复杂度为O(f ),难以实际应用。该码可作为喷泉编码和译码的性能下界。 从图5可以看出,对于所选取的这些基于GF(16)的编码,编码开销低于1.02 (实 际净开销只有0.02),译码失败概率均低于0.02。同时,GF(16)的编码的译码性 能优于GF(2)时的译码性能。
我们还采用置信传播算法,取尺=100,对c^0.05, "0.05的二进制LT码进
行了仿真,其结果为编码开销1 + ^=1.5时,译码失败概率为0.2。该结果与图
5本发明的结果比较可以看出,本发明的基于稀疏矩阵的译码算法比传统的概率
置信具有明显的性能优势。在本说明书的前面部分已经提到,编码度分布为
Q'(x) = 0,007969x + 0.493570x2屮0.166220;c3 +0.072646/十0.082558x5 +0.056058xs + 0.037229a-9 +0.055590x'9 +0.025023x65 +0.003135x66
信源长度K-1000的二进制LT码,使用最大似然序列译码,当编码开销为 1.25 (即25%的净开销)时,译码器译码失败概率高达0.485。使用本发明的多 进制喷泉编码和本发明的低复杂度译码算法,不论是多进制和二进制喷泉码, 信源长度为100时,其译码性能和编码效率都明显优十以前信源长度为1000的 二进制喷泉码。因此,对T同样K:度的喷泉码,本发明的喷泉码在译码性能和 编码效率方面具有更为优异的性能。
实施例2
设有基于有限域GF(4)的信源K:度为5的喷泉码,设 =:
柳4=0, 《5,,,按照步骤一得到<formula>formula see original document page 17</formula> 根据所得序列(1, 1, 3, 3, 1, 2)按照歩骤二进行译码。在高斯消元的前向 过程的第一歩,其编码矩阵各非零元及其选择度量与图4b相同,应选择位置(l,l) 处的元素为主元。第一个方程除以2后从第6个方程减去,得到的结果如下
<formula>formula see original document page 17</formula>
一旦某方程选为主元所在的方程,该方程在后续消元过程中将保持不变。在第i
个方程后面粘贴一个标签S,(l,l),表示在消元第一步选择了编码矩阵(u)处的元
素为主元。消元第二步,根据前述主元选择策略知位置(4,2)处的元为主元。保 持新选主元所在方程在原位置,将该方程除以主元,然后从第2个方程和第5 个方程消i未知数l得到附,
2w3
附3
+ 2m4
+ w4
+ 2附4 +
0
+附5 + 3m5 + 3m5 + 3附《
=3 &(U) =0 =3
=1 S2 (4,2) =2 =1
类似地,在第4个方程后面标记&(4,2),表示消元过程第二步选择了编码 矩阵(4,2)处的元素为主元。消元第三步,选择位置(5,3)的元素为主元。使用同样 的方法,有
附,
附,
附,
+ 2m,
2附4
+ 2w,
+ 3附5 + 3w5 + 2附;
=3 S,(U) =0 =0
=1 &(4,2)
=2 &(5,3) =2
剩下的几步很直观,因此直接写出得到前向消元的结果:
柳,
+ 2m,
/7^
+ 3柳5
+ 3附5 附《
3 0
0 S4(3,4)
1 &(4,2)
2 &(5,3) 1 &(6,5)
根据此前向消元结果,后向回代过程如下第一步,利用标签&解出^=1。 第二步,利用标签&解得 =0。第三步,根据标签&和己经解出的未知数/^和 ms有w; = 2 — 2w4 — 3柳5 = 1 。-类"[以:t也,有m2 = 1 — 3m5 = 2禾口 m' = 3 — 2m4 = 3 。
以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附
:/入
W开的内容。例如,对于实际的喷泉码,其有限域的阶数可在素数及素数 的正整数次幂中任意选取,其编码度分布函数的参数也可以在可选范围内随意 选择。所以凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发 明保护的范围。
权利要求
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)为选择度量;使用局部填充元和局部操作数最小化的主元选择策略,在前向消去的第k步,选取剩余矩阵中最小选择度量的元作为第k步时的主元;(2)对矩阵A进行主元原位高斯消元定义B(k)=[A(k)|w(k)]为高斯消去前向过程第k步开始时的增广矩阵,则其线性方程组的系数矩阵化为A(k),编码矢量化为w(k),其中A(1)=A表示初始编码矩阵,w(1)=w表示输入到译码器的编码矢量;a)令计数器的步数k=1;b)设主元为记录第k步的主元行号和列号,即标记Sk(ik,jk),以主元除以第ik个方程中剩下的未知数的非零系数和右端项,而后,从所有未选过主元的方程中消去第jk个未知数;c)若k<K,设置k=k+1,重复b),直至k=K;最后,采用后向迭代,求解线性方程组w=A·m中的未知量m的元素即其中,k=1,2,…,K,由此得到译码输出序列m。
2、根据权利要求1所述的一种基于有限域的多进制喷泉编码和译码方法,其特征在于,所述步骤一中编码度分布函数编码度分布函数M"),可以是鲁棒 孤波分布,其生成方法为使用鲁棒孤波分布作为编码度分布函数/z(力,定义如下令信源长度为尺, 设c禾fU是满足c〉0禾n0〈5〈1的两个参数,令S:c.V^.ln(i:/。,此处ln(x)表示 自然对数;定义<formula>formula see original document page 4</formula>P(力为孤波分布;将O和"0作和并归一化,得到鲁棒孤波分布:<formula>formula see original document page 4</formula>其中"=1>(力+ /^)]。
3、 根据权利要求1所述的一种基于有限域的多进制喷泉编码和译码方法, 其特征在于,所述有限域GF(q)的阶数《是素数的正整数次幂。
4、 根据权利要求1所述的一种基于有限域的多进制喷泉编码和译码方法, 其特征在于,为保持消元过程中矩阵的稀疏性以及减小运算量,主元选择的』 略采取局部填入量最小化。
全文摘要
本发明涉及一种基于有限域的多进制喷泉编码和译码方法。首先对喷泉码进行编码,得到喷泉编码序列给定编码度分布函数μ(d),根据分布函数μ(d)随机生成一个非负整数d<sub>i</sub>,将d<sub>i</sub>作为编码符号v<sub>i</sub>的编码度;从K个信源符号中随机选取d<sub>i</sub>个不同的符号;从有限域GF(q)中随机均匀产生d<sub>i</sub>个非零值作为编码符号v<sub>i</sub>的编码系数;根据编码系数对d<sub>i</sub>个不同的符号求加权和,得到编码符号v<sub>i</sub>的值,进而得到喷泉编码序列。从该喷泉编码序列中选取出长度为N(N≥K)的编码序列,记为w=[w<sub>1</sub>,w<sub>2</sub>,…,w<sub>N</sub>]<sup>T</sup>,通过主元选择和主元原位高斯消元,对其进行译码,得到最终的译码输出序列。本发明方法极大地提高了喷泉编码的编码效率,降低了喷泉码的译码复杂度,适合于各种信源长度的喷泉码应用。
文档编号H03M13/37GK101510783SQ20091011974
公开日2009年8月19日 申请日期2009年3月26日 优先权日2009年3月26日
发明者安建平, 李祥明 申请人:北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1