发明内容
本发明要解决的技术问题是提供一种线性网络编码方法,以解决现有技术所存在的网络编码复杂度高的问题。
为解决上述技术问题,本发明实施例提供一种线性网络编码方法,包括:
基于GF(2L-1)扩展域上的标量线性网络编码,产生一个循环移位维度δ不大于码长为L、冗余为1的循环移位线性网络编码,其中,所述L为素数且2是L阶本原根;
网络中间节点根据得到的循环移位线性网络编码,对接收到的每组L比特信息进行最多δ次循环移位操作并将经过循环移位操作的比特信息进行逐位异或,生成待传输的L比特新信息。
进一步地,在网络开始传输比特信息之前,所述方法还包括:
多个信源负责分发总共ω组L-1比特信息,在所述多个信源发送总共ω组 L-1比特信息之前,在每组L-1比特信息前补充一个二元0,得到ω组L比特信息;
用网络开始传输得到的ω组L比特信息。
进一步地,所述基于GF(2L-1)扩展域上的标量线性网络编码,产生一个循环移位维度δ不大于码长为L、冗余为1的循环移位线性网络编码,其中,所述L为素数且2是L阶本原根包括:
当所述L为素数且2是L阶本原根时,则确定一个基于二元域GF(2)的既约多项式f(x)=xL-1+xL-2+...+x+1,且f(x)的L–1个根表示为1,α,α2,...,αL-2, 1,α,α2,...,αL-2均属于扩展域GF(2L-1);
根据有限域知识,得到扩展域GF(2L-1)中每一个元素k均可唯一地表示为: f(α)=a′L-2αL-2+...+a′1α+a′0,其中,α是扩展域GF(2L-1)的本原元,f(α)表示α的一个函数,f(α)的每个系数a′j均选自二元域GF(2);
将扩展域GF(2L-1)的本原元α代入既约多项式f(x)=xL-1+xL-2+...+x+1,得到αL-1+...+α+1=0;
由于αL-1+...+α+1=0,若f(α)中的系数a′L-2,...,a′1,a′0中非零系数多于则令
否则,则令aL-1=0,aL-2=a′L-2,...,a1=a′1,a0=a′0
由此,确定元素k∈GF(2L-1)对应唯一的基于二元域GF(2)的多项式表示为: g(x)=aL-1xL-1+...+a1x1+a0;
其中,g(x)满足第一条件,所述第一条件为:g(x)中L个系数aj中最多有个不为零,且k=g(α);
若在一个网络中存在任意基于扩展域GF(2L-1)的标量线性网络编码,kd,e是所述标量线性网络编码中的一个系数,kd,e表示网络中间节点为生成其出边e 所传输信息而对其入边d所收到信息所做的选自GF(2L-1)的标量编码系数;将标量编码系数kd,e表示为kd,e=gd,e(α),其中,gd,e(α)对应的gd,e(x)为kd,e所对应的满足第一条件的唯一多项式;
对网络中间节点的每一对入边d和出边e,利用CL替换α赋值于多项式 gd,e(x),得到一个基于二元域GF(2)的(L-1,L)循环移位线性网络编码Kd,e,其中,Kd,e=gd,e(CL);
其中,Kd,e是一个含有1位冗余的循环移位线性网络编码矩阵,Kd,e的维度CL表示L×L循环移位操作矩阵,(L-1,L)中的L-1表示信源有效信息位数,(L-1,L)中的L表示信道传输信息位数。
进一步地,所述CL表示为:
进一步地,在将经过循环移位操作的信息进行逐位异或,生成待传输的L 比特新信息之后,所述方法还包括:
在译码时,获取基于GF(2L-1)扩展域的标量线性网络编码于信宿t的ω×ωt译码矩阵Dt(α),其中,ωt表示信源生成的ω组比特信息中信宿t所需译码的数目,所述ω×ωt译码矩阵中每个基于GF(2L-1)扩展域的元素k可以相应地表示成g(α)的形式,其中,g(α)为元素k所对应的唯一满足所述第一条件的多项式;
利用CL替换α赋值于Dt(α),构建(L-1,L)循环移位线性网络编码于信宿t 的ωL×ωt(L–1)译码矩阵:
其中,表示克罗地克积;Iω表示ω×ω的单位矩阵;表示在单位矩阵IL-1上面插入一行全1的行向量得到的L×(L-1)矩阵。
进一步地,所述方法还包括:
若信宿集合是个数为|T|的多播网络,当时,循环移位维度为δ的 (L-1,L)循环移位线性网络编码可以被构建的充分条件是:
其中,|T|是网络中信宿的个数。
本发明的上述技术方案的有益效果如下:
上述方案中,基于GF(2L-1)扩展域上的标量线性网络编码,产生一个循环移位维度δ不大于码长为L、冗余为1的循环移位线性网络编码,其中,所述L为素数且2是L阶本原根;网络中间节点根据得到的循环移位线性网络编码,对接收到的每组L比特信息进行最多δ次循环移位操作并将经过循环移位操作的比特信息进行逐位异或,生成待传输的L比特新信息。这样,在编码过程中,对接收到的L比特信息只进行循环移位和逐位异或操作,能够极大地简化网络中间节点的线性编码操作,从而降低编码操作的复杂度。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的网络编码复杂度高的问题,提供一种线性网络编码方法。
如图1所示,本发明实施例提供的线性网络编码方法,包括:
S101,基于GF(2L-1)扩展域上的标量线性网络编码,产生一个循环移位维度δ不大于码长为L、冗余为1的循环移位线性网络编码,其中,所述 L为素数且2是L阶本原根;
S102,网络中间节点根据得到的循环移位线性网络编码,对接收到的每组 L比特信息进行最多δ次循环移位操作并将经过循环移位操作的比特信息进行逐位异或,生成待传输的L比特新信息。
本发明实施例所述的线性网络编码方法,基于GF(2L-1)扩展域上的标量线性网络编码,产生一个循环移位维度δ不大于码长为L、冗余为1的循环移位线性网络编码,其中,所述L为素数且2是L阶本原根;网络中间节点根据得到的循环移位线性网络编码,对接收到的每组L比特信息进行最多δ次循环移位操作并将经过循环移位操作的比特信息进行逐位异或,生成待传输的L比特新信息。这样,在编码过程中,对接收到的L比特信息只进行循环移位和逐位异或操作,能够极大地简化网络中间节点的线性编码操作,从而降低编码操作的复杂度。
本实施例中,由于循环移位操作更易于在软硬件上进行实现,因此,本发明实施例提供的线性网络编码方法相比于常规的标量线性网络编码和置换网络编码,有着更低的复杂度。同时,本发明实施例提供的线性网络编码方法可以通过权衡δ参数来调整编译码的计算复杂度。因此,本发明实施例提供的线性网络编码方法可以灵活应用于不同的计算约束环境,具有较好的灵活性优势。
本实施例中,所述δ表示循环移位维度,δ的含义为:网络中间节点对接收到的每个L比特信息进行最多δ次循环移位操作并将这些经过移位的信息进行逐位异或,从而生成待传输L比特新信息。
本实施例中,所述L为素数,对于一个素数L,用CL表示L×L循环移位操作矩阵:对一L比特信息m=(mL,mL–1,…,m1)循环右移 j位操作(1≤j≤L)生成(mj,...,m1,mL,…,mj+1)即可表示为矩阵乘法其中,即为L×L的单位阵。
本实施例中,当1≤δ≤L时,令其中,δ值定义为不同次方求和中,非零项个数的最大值;表示对应一个δ值,有集合内部元素为矩阵,矩阵的形式是最多δ个非零不同次方求和的形式;δ值可以是1到L的任意值,但是δ可以被约束在系数aj只能为0 或者1,δ值也表示了aj取1的个数不能超过δ的约束。
本实施例中,可以选自集合中的矩阵进行δ次循环移位操作。
本实施例中,例如,当δ≥2时,若网络中间节点从一入边所接收L比特信息为m=(mL,mL–1,…,m1),并对该信息进行中的循环移位编码操作(循环移位操作和逐位异或)时,则循环移位编码操作所生成的 L比特信息为:
此外,图2描绘了入度为2的网络中间节点如何进行循环移位线性网络编码操作来生成出边L比特信息,其中,1≤j,k≤L,符号表示二元序列间的逐位异或操作。
在前述线性网络编码方法的具体实施方式中,进一步地,在网络开始传输比特信息之前,所述方法还包括:
多个信源负责分发总共ω组L-1比特信息,在所述多个信源发送总共ω组 L-1比特信息之前,在每组L-1比特信息前补充一个二元0,得到ω组L比特信息;
用网络开始传输得到的ω组L比特信息。
本实施例中,多个信源负责分发总共ω组L-1长的比特信息,所述比特信息为二元序列,这些信源在传输L-1长的比特信息之前需对信息做预处理:在每组L-1长的比特信息前补充一个二元0,得到待传输的ω组L长二元序列。
本实施例中,所述二元序列为满足计算机二进制规则的数字串,形如00001010100110,其中,1+1=0,即所有运算都需要模2;所述二元0,可以由 1+1得到。
本实施例中,对于一个L阶本原根是2的素数码长L来说,每一个在GF(2L-1) 扩展域上的标量线性网络编码都可以产生一个维度δ不大于码长为L、冗余为1的循环移位线性网络编码,从而建立了标量线性网络编码和循环移位编码的本质关联。
在前述线性网络编码方法的具体实施方式中,进一步地,所述基于GF(2L-1) 扩展域上的标量线性网络编码,产生一个循环移位维度δ不大于码长为L、冗余为1的循环移位线性网络编码,其中,所述L为素数且2是L阶本原根包括:
当所述L为素数且2是L阶本原根时,则确定一个基于二元域GF(2)的既约多项式f(x)=xL-1+xL-2+...+x+1,且f(x)的L–1个根表示为1,α,α2,...,αL-2, 1,α,α2,...,αL-2均属于扩展域GF(2L-1),即:扩展域元素可以被带有1,α,α2,...,αL-2的多项式表示;
根据有限域知识,得到扩展域GF(2L-1)中每一个元素k均可唯一地表示为: f(α)=a′L-2αL-2+...+a′1α+a′0,其中,α是扩展域GF(2L-1)的本原元,f(α)表示α的一个函数,f(α)的每个系数a′j均选自二元域GF(2);
将扩展域GF(2L-1)的本原元α代入既约多项式f(x)=xL-1+xL-2+...+x+1,可得αL-1+...+α+1=0;
由于αL-1+...+α+1=0,若f(α)中的系数a′L-2,...,a′1,a′0中非零系数多于则令
否则,则令aL-1=0,aL-2=a′L-2,...,a1=a′1,a0=a′0
由此,确定元素k∈GF(2L-1)对应唯一的基于二元域GF(2)的多项式表示为:g(x)=aL-1xL-1+...+a1x1+a0;
g(x)=aL-1xL-1+...+a1x1+a0是一个关于x的多项式,使用这种方式是为了后面说k=g(α)方便,是为了说明扩展域元素在形如k=g(α)形式是唯一的;
其中,g(x)满足第一条件,所述第一条件为:g(x)中L个系数aj中最多有个不为零,且k=g(α);
若在一个网络中存在任意基于扩展域GF(2L-1)的标量线性网络编码,kd,e是所述标量线性网络编码中的一个系数,kd,e表示网络中间节点为生成其出边e 所传输信息而对其入边d所收到信息所做的选自GF(2L-1)的标量编码系数,标量线性网络编码由若干个类似于kd,e的系数构成;将标量编码系数kd,e表示为kd,e=gd,e(α),其中,gd,e(α)对应的gd,e(x)为kd,e所对应的满足第一条件的唯一多项式;
对网络中间节点的每一对入边d和出边e,利用CL替换α赋值于多项式 gd,e(x),得到一个基于二元域GF(2)的(L-1,L)循环移位线性网络编码Kd,e,其中,Kd,e=gd,e(CL);
其中,Kd,e是一个含有1位冗余的循环移位线性网络编码矩阵,Kd,e的维度CL表示L×L循环移位操作矩阵,(L-1,L)中的L-1表示信源有效信息位数,(L-1,L)中的L表示信道传输信息位数。
本实施例中,对于素数码长为L、冗余为1的循环移位线性网络编码,其信源产生的真正有效信息为L-1位、而每条边传输的信息为L位。
在前述线性网络编码方法的具体实施方式中,进一步地,在将经过循环移位操作的信息进行逐位异或,生成待传输的L比特新信息之后,所述方法还包括:
在译码时,获取基于GF(2L-1)扩展域的标量线性网络编码于信宿t的ω×ωt译码矩阵Dt(α),其中,ωt表示信源生成的ω组比特信息中信宿t所需译码的数目,所述ω×ωt译码矩阵中每个基于GF(2L-1)扩展域的元素k可以相应地表示成g(α)的形式,其中,g(α)为元素k所对应的唯一满足所述第一条件的多项式;
利用CL替换α赋值于Dt(α),构建(L-1,L)循环移位线性网络编码于信宿t 的ωL×ωt(L–1)译码矩阵:
其中,表示克罗地克积;Iω表示ω×ω的单位矩阵;表示在单位矩阵IL-1上面插入一行全1的行向量得到的L×(L-1)矩阵。
本发明实施例所述的线性网络编码方法,建立了标量线性网络编码和循环移位线性网络编码的本质关联,适用于任何网络:对于一个符合上述条件的码长L来说,每一个基于GF(2L-1)的标量线性网络编码都可以产生一个冗余为1 的循环移位线性网络编码。下面将以多播网络(即单信源多信宿网络,每个信宿节点都需要接收信源生成的全部信息),如图3所示的(4,2)组合网络为例,进行存在性、具体编码的构造和编译码理论复杂度的讨论,其中,组合网络的一般表示形式为(N,K)网络,N表示组合网络中中间节点的个数,K表示多播信道容量,即ω值。
如图3所示的(4,2)组合网络中,ω=2,即信源s同时产生两组待传输信息(m1,m2);存在5个网络中间节点和6个信宿。令L=3,此L值符合2L-1≡1modL L阶本原根条件以及(L-1,L)循环移位线性网络编码可以被高效构建的充分条件。此时,扩展域为GF(22),既约多项式f(x)=x2+x+1,扩展域GF(22)的本原元为α且满足f(α)=α2+α+1=0,扩展域元素可以表示为{0,1,α,α2},表1和表 2分别列出了其加法与乘法运算法则。
表1加法运算法则
+ |
0 |
1 |
α |
α2 |
0 |
0 |
1 |
α |
α2 |
1 |
1 |
0 |
α2 |
α |
α |
α |
α2 |
0 |
1 |
α2 |
α2 |
α |
1 |
0 |
表2乘法运算法则
· |
0 |
1 |
α |
α2 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
α |
α2 |
α |
0 |
α |
α2 |
1 |
α2 |
0 |
α2 |
1 |
α |
给定一种基于扩展域GF(22)的标量线性网络编码,其网络中间节点s'的GF(22)-编码矩阵为:
所述网络中间节点s'的GF(22)-编码矩阵就是在(4,2)组合网络下的一种标量线性网络编码,通过该编码矩阵,s'的4条出边所传输的GF(22)-信息分别为m2,m1,m1+αm2,m1+α2m2。网络中间节点1、2、3、4由于只有一条入边存在,故而不进行编码操作,只将所收到信息分别转发至其三条出边。这样,每个信宿Tj(1≤j≤6)分别收到的GF(22)-信息向量mj分别为:
T1:m1=(m2,m1);
T2:m2=(m2,m1+αm2);
T3:m3=(m2,m1+α2m2);
T4:m4=(m1,m1+αm2);
T5:m5=(m1,m1+α2m2);
T6:m6=(m1+αm2,m1+α2m2);
同时,每个信宿的2×2译码矩阵Dj(α)分别为:
通过译码矩阵Dj(α),信宿Tj可以通过GF(22)-线性操作mjDj(α)还原出信源 GF(22)-信息序列(m1,m2)。
针对上述基于GF(22)的标量线性网络编码,将编码矩阵N以及译码矩阵 Dj(α)中的每个零元素替换成3×3零矩阵、非零元素均用C3替换α即可得到(4,2) 组合网络中基于GF(2)的(2,3)循环移位线性网络编码的网络中间节点编码矩阵N′:
假设信源生成的两组2比特长二元序列分别为(m11,m12)和(m21,m22),那么信源经过预处理得到的待传输3比特长二元序列为(0,m11,m12)和(0,m21,m22),根据 (0,m11,m12)和(0,m21,m22),利用生成的基于GF(2)的(2,3)循环移位线性网络编码的网络中间节点编码矩阵N′,计算信道传输的信息,具体的,中间节点s'的4 条出边分别传输的3比特长二元序列分别为:
需要说明的是,本实施例,是利用生成的基于GF(2)的(2,3)循环移位线性网络编码的网络中间节点编码矩阵N′进行循环移位操作和逐位异或操作,只不过这部分运算已经体现在了对N′的操作中。具体来说,抽象的循环移位操作具体化为包含CL的矩阵乘法操作。在本示例中,由于局部编码选的都是一个矩阵CL j,因此不涉及到按位异或;不过由于CL 2=CL+IL,因此可以把CL 2写作CL+IL,这样在形式上就存在了2次循环移位之后再逐位异或的操作,但是事实上这两者的结果是一样的。因此N′可以代表所有的编码操作来实现整个的编码过程。
下面以信宿T6为例进一步具体说明所构建的(2,3)循环移位线性网络编码的编译码操作及其正确性。信宿T6经由其两条入边所收到的两组3比特长二元序列分别为(m22,m11,m12+m21),(m21,m11+m22,m12)。对于给定的基于GF(22)标量线性网络编码,信宿T6的译码矩阵为D6(α),则信宿T6对(2,3)循环移位线性网络编码的6×4译码矩阵为:
可检验,
即信宿T6成功地通过译码矩阵还原出信源生成的两组二元序列(m11,m12)与(m21,m22)。
考虑信宿集合是个数为|T|的多播网络,当时,循环移位维度为δ的(L-1,L)循环移位线性网络编码可以被高效构建的一个充分条件是:
其中,|T|是网络中信宿的个数。
本实施例中,因为软件可以通过修改信息序列的起始地址指针来实现循环移位,因此该操作的复杂度可以忽略。在多播网络中考虑以下三种网络编码方案:
(1)基于扩展域GF(2m)的标量线性网络编码
(2)维度为的(m,m+1)循环移位线性网络编码
(3)维度为1的(L,L+1)循环移位线性网络编码。此处假设m+1和L+1为素数、且2分别是m+1阶以及L+1阶本元根,以满足第一条件。此外,假设 |T|≤L+2≤2m,以满足标量线性网络编码以及循环移位线性网络编码可以在该多播网络中被高效地构建出来。表3列出了三种网络编码方案编译码单位比特所需二元操作次数:(η值为编码网络中间节点的入度)
表3编译码过程中单位比特的二元操作次数
由表3可知,在维度为时,循环移位线性网络编码编译码单位比特所需二元操作次数和标量线性网络编码相比下降了超过了75%。同时,由于编译码复杂度之间随着δ参数的变化存在着一定的制约关系,因此循环移位维度δ可以随着网络环境的要求进行调整:随着δ值的降低,编码复杂度逐渐减低,与此同时译码复杂度则会逐渐升高,例如,当维度δ从降低至1的过程中,编码复杂度逐渐减低,而译码复杂度逐渐升高,二者存在权衡。在这种关系下,本发明实施例所述的线性网络编码方法可以灵活应用于不同的计算约束环境,具有较好的灵活性优势。
本发明实施例所述的线性网络编码方法,当编码操作约束在循环移位中时,不可能完全实现网络的多播容量。因此,本发明实施例所述的线性网络编码方法生成的循环移位线性网络编码虽然存在1比特的冗余,但这是必须的,且在码长L增大的过程中,这种冗余损失可以忽略不计。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。