CN103546166A - 一种喷泉码的校验矩阵构造方法、编解码方法及装置 - Google Patents
一种喷泉码的校验矩阵构造方法、编解码方法及装置 Download PDFInfo
- Publication number
- CN103546166A CN103546166A CN201310533423.5A CN201310533423A CN103546166A CN 103546166 A CN103546166 A CN 103546166A CN 201310533423 A CN201310533423 A CN 201310533423A CN 103546166 A CN103546166 A CN 103546166A
- Authority
- CN
- China
- Prior art keywords
- submatrix
- vector
- fountain codes
- parameter
- prime
- 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.)
- Pending
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种喷泉码的校验矩阵构造方法、编解码方法及装置。其中喷泉码的校验矩阵构造方法,包括:获取喷泉码的第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2,并构造喷泉码的加密参数hi,j;将喷泉码的加密参数hi,j作为加密矩阵P的子矩阵P(hi,j)的置换参数,构建加密矩阵P的子矩阵P(hi,j);结合加密矩阵P构造所述喷泉码的校验矩阵Hm。由于构建加密矩阵P的子矩阵P(hi,j)的置换参数hi,j具有保密特性,所以最终构造的喷泉码的校验矩阵Hm也具有加密特性,进而在基于具有加密特性的喷泉码的校验矩阵Hm对信道进行编码时,实现了对信道的加密编码,提高编码的安全性。
Description
技术领域
本发明涉及编解码技术领域,特别涉及一种具有加密功能的喷泉码(Fountain码)的校验矩阵构造方法、编解码方法及装置。
背景技术
随着互联网(Internet)技术的飞速发展,有线网络中数据传输的可靠性成为计算机和通信领域的研究热点。互联网中普遍使用的TCP/IP(Transmission Control Protocol/Internet Protocol,TCP/IP)协议通过检错重发方式(ARQ)来确保数据传输的可靠性。然而,在基于确认和重传机制的通讯网络中,发送端在等待接收端发回确认信息时一直处于等待状态,这大大的增加了网络数据传输的时延。此外,TCP/IP协议的有序序列模式也限制了其在大量数据传输过程中的运用。因此,传统的TCP/IP协议并不适合互联网中大容量信息的实时传输。
鉴于TCP/IP协议的诸多缺点,研究学者提出了纠删编码技术:即发送端把需要传输的K个信源信息包通过编码,整合成N个编码包,然后通过网络发送出去。接收端接收到这个N个编码包中的任意K个编码包就能使用特定的译码方法以很高的概率重构这K个信源信息包。纠删码技术利用原始数据的线性纠删码进行编码,如果部分数据在传输过程中丢失,它可以利用纠删算法恢复出丢失的数据。
1997年Luby首次提出了一种适用于网络环境数据传输的纠删码,也称为复损码(Loss-Resilient Code)。这种码具有线性时间的编译码算法,而且能以任意逼近删除信道容量限的速率进行传输。随后通过对此码的大量研究,1998年Luby选取复损码的度分布为Heavy-Tail/Position度分布,从而提出了Tornado码。相比于RS码,Tornado码的编译码算法具有与码长N线性相关的复杂度,但Tornado码的编码数据包由表示Tornado码的二部图来确定,必须提前确定所要生成的编码包数目,即Tornado码码率固定。
鉴于Toranado码都具有码率固定这一缺陷,所以一种新的纠删码-Fountain码被提出并受到广泛关注。它具有鲁棒性和可靠性,且可以在无反馈信道下以任意的码率传输数据。Fountain码是由Bayers等于1998年提出的,他们仅仅给出了Fountain的概念,并没有提出具体的设计方法。Fountain码即喷泉码,它的设计思想来源于水喷泉:水喷泉喷出无数的水滴,我们拿杯子接水,只需要接到足够量的水来解渴,至于是哪些水滴流入了杯子中我们并不关心。类似的,服务器可以根据独立分布规律随机产生编码信息包。一个客户端从一个或者多个服务器接收编码包,一旦接收到足够的编码包N就可以重构出信源信息,N的数量与信道特性无关。所以Fountain码码率不固定,是第一类无码率纠删码。
Fountain码具有编译码算法便于实现,鲁棒性和可靠性高,并且可以在无反馈信道下以任意的码率传输数据等优点,被认为是适用于可靠多播传输、多源下载、数据存储和无线协作传输等应用方向最有前途的编码技术。但是为了保障信息的安全性,在对通信内容的编码的过程中,需要对编码进行加密保护,以保障信息安全。但是,现有的基于Fountain码的信道编码方法,并没有加密的功能。
发明内容
(一)要解决的技术问题
本发明所要解决的技术问题是提供一种喷泉码的校验矩阵构造方法、编解码方法及装置,用以实现对信道的加密编码。
(二)技术方案
为达到上述目的,本发明提供了一种喷泉码的校验矩阵的构造方法,包括:
获取喷泉码的第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2;
利用所述第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2来构造喷泉码的加密参数hi,j;
将所述喷泉码的加密参数hi,j作为加密矩阵P的子矩阵P(hi,j)的置换参数,构建加密矩阵P的子矩阵P(hi,j);以及
结合所述加密矩阵P构造所述喷泉码的校验矩阵Hm。
上述方案中,所述获取喷泉码的第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2,包括:
依据公式获取第一加密校验参数hi,j,0;依据公式获取第二加密校验参数hi,j,1;依据公式获取第三加密校验参数hi,j,2;其中,αi,j,βi,j和γi,j为密码,T为密码参数,且T0为预设倍数,pk为分解子矩阵P(hi,j)的子阵边长p得到的第k个质数,K为质数个数,且子阵边长
上述方案中,所述利用第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2来构造喷泉码的加密参数hi,j包括:
所述喷泉码的加密参数hi,j=[hi,j,0,hi,j,1,hi,j,2](0≤i≤n-1,0≤j≤m-1),其中,n为所述喷泉码的校验矩阵Hm的行块数,m为所述喷泉码的校验矩阵的列块数。
上述方案中,所述将所述喷泉码的加密参数hi,j作为加密矩阵P的子矩阵P(hi,j)的置换参数,构建加密矩阵P的子矩阵P(hi,j),包括:
在所述第一校验参数h* i,j,0<0时,则将子矩阵P(hi,j)构建为p×p的全零方阵;在所述第一校验参数h* i,j,0≥0时,将子矩阵P(hi,j)构建为p×p方阵,其中子矩阵P(hi,j)的第k行第l列的元素置换为1,其它位置的元素置换为0,其中l=(hi,j,0+hi,j,1*k+hi,j,2*k2)mod p,if h* i,j,0≥0,k的取值为0≤k≤p-1,p为子矩阵P(hi,j)的子阵边长。
上述方案中,所述结合加密矩阵P构造所述喷泉码的校验矩阵Hm包括:
拼接构造喷泉码的校验矩阵Hm,其中子矩阵P(hi,j)为p×p方阵,p为子矩阵P(hi,j)的子阵边长。
为达到上述目的,本发明还提供了一种基于喷泉码的信道编码方法,包括:
应用所述的喷泉码的校验矩阵构造方法构造喷泉码的校验矩阵Hm,并获取所述喷泉码的校验矩阵Hm中的子矩阵P(hi,j);
获取所述喷泉码的校验矩阵Hm中子矩阵P(hi,j)的置换参数hi,j,hi,j=[hi,j,0,hi,j,1,hi,j,2](0≤i≤n-1,0≤j≤m-1),其中,n为所述喷泉码的校验矩阵Hm的行块数,m为所述喷泉码的校验矩阵的列块数,hi,j,0为喷泉码的第一加密校验参数、hi,j,1为喷泉码的第二加密校验参数、hi,j,2为喷泉码的第三加密校验参数;
分别对所述喷泉码的校验矩阵Hm中每个子矩阵P(hi,j),依据l(k)=hi,j,0+hi,j,1*k+hi,j,2*k2生成每个子矩阵P(hi,j)的置换矢量l(0),l(1),.....,l(p-1),其中k为子矩阵P(hi,j)的行,k的取值为0≤k≤p-1,且p为子矩阵P(hi,j)的子阵边长;
为达到上述目的,本发明还提供了一种基于喷泉码的信道解码方法,包括:
应用所述的喷泉码的校验矩阵构造方法构造喷泉码的校验矩阵Hm;
将所述子信道信息矢量分别与外信息矢量进行和积迭代运算,并将和积迭代运算结果作为外信息矢量继续执行将所述子信道信息矢量分别与外信息矢量进行和积迭代运算,直至执行预设次数和积迭代运算,将预设次数和积迭代运算结果作为新的外信息矢量
在对n个所述子信道信息矢量完成预设次数的和积迭代运算后,依据公式进行求和,并将和值Vj,k的符号作为第j个列块的第k个元素的译码结果,其中0≤j≤m-1,0≤k≤p-1,m为校验矩阵Hm的列块数,p为子矩阵P(hi,j)的子阵边长。
获取所述喷泉码的校验矩阵Hm中的子矩阵P(hi,j)的置换参数hi,j,置换参数hi,j=[hi,j,0,hi,j,1,hi,j,2](0≤i≤n-1,0≤j≤m-1),其中,n为所述喷泉码的校验矩阵Hm的行块数,m为所述喷泉码的校验矩阵的列块数,hi,j,0为喷泉码的第一加密校验参数、hi,j,1为喷泉码的第二加密校验参数、hi,j,2为喷泉码的第三加密校验参数;
分别计算所述喷泉码的校验矩阵Hm中每个子矩阵的置换矢量;如果子矩阵为子矩阵P(hi,j),则依据l(k)=hi,j,0+hi,j,1*k+hi,j,2*k2生成每个子矩阵P(hi,j)的置换失量l(0),l(1),.....,l(p-1),其中k为子矩阵P(hi,j)的行,k的取值为0≤k≤p-1,且p为子矩阵P(hi,j)的子阵边长;如果子矩阵为I或者则置换矢量l(0),l(1),.....,l(p-1)依次为0,1,...,p-1;
为达到上述目的,本发明还提供了一种喷泉码的校验矩阵构造装置,包括:
获取单元,用于获取喷泉码的第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2;
参数构造单元,用于利用所述第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2来构造喷泉码的加密参数hi,j;
子矩阵构建单元,用于将所述喷泉码的加密参数hi,j作为加密矩阵P的子矩阵P(hi,j)的置换参数,构建加密矩阵P的子矩阵P(hi,j);
矩阵构造单元,用于获取喷泉码的结构化可逆矩阵D,并结合所述加密矩阵P构造所述喷泉码的校验矩阵Hm。
上述方案中,所述获取单元包括:第一获取单元、第二获取单元、第三获取单元、第四获取单元和第五获取单元,其中:
上述方案中,所述参数构造单元构造的所述喷泉码的加密参数hi,j=[hi,j,0,hi,j,1,hi,j,2](0≤i≤n-1,0≤j≤m-1),其中,n为所述喷泉码的校验矩阵Hm的行块数,m为所述喷泉码的校验矩阵的列块数。
上述方案中,所述子矩阵构建单元包括:第一构建单元和第二构建单元,其中,
第一构建单元,用于在所述第一校验参数h* i,j,0<0,则将子矩阵P(hi,j)构建为p×p的全零方阵;
第二构建单元,用于在所述第一校验参数h* i,j,0≥0,将子矩阵P(hi,j)构建为p×p方阵,其中子矩阵P(hi,j)的第k行第l列的元素置换为1,其它位置的元素置换为0,其中l=(hi,j,0+hi,j,1*k+hi,j,2*k2)mod p,if h* i,j,0≥0,k的取值为0≤k≤p-1,p为子矩阵P(hi,j)的子阵边长。
为达到上述目的,本发明还提供了一种基于喷泉码的信道编码装置,包括:
喷泉码的校验矩阵构造装置,用于构造喷泉码的校验矩阵Hm;
子矩阵获取单元,用于获取所述喷泉码的校验矩阵Hm中的子矩阵P(hi,j);
信源矢量获取单元,用于获取喷泉码对应的信源X,将信源X依次每p个为一组,分为m个1×p的子信源矢量子信源矢量其中所述子信源矢量对应喷泉码的校验矩阵Hm中的第j列的所有子矩阵P(hi,j),所述信源X的信源长度为m×p;
置换参数获取单元,用于获取所述喷泉码的校验矩阵Hm中子矩阵P(hi,j)的置换参数hi,j,置换参数hi,j=[hi,j,0,hi,j,1,hi,j,2](0≤i≤n-1,0≤j≤m-1),其中,n为所述喷泉码的校验矩阵Hm的行块数,m为所述喷泉码的校验矩阵的列块数,hi,j,0为喷泉码的第一加密校验参数、hi,j,1为喷泉码的第二加密校验参数、hi,j,2为喷泉码的第三加密校验参数;
置换量生成单元,用于分别对所述喷泉码的校验矩阵Hm中每个子矩阵P(hi,j),依据l(k)=hi,j,0+hi,j,1*k+hi,j,2*k2生成每个子矩阵P(hi,j)的置换矢量l(0),l(1),.....,l(p-1),其中k为子矩阵P(hi,j)的行,k的取值为0≤k≤p-1,且p为子矩阵P(hi,j)的子阵边长;
累加单元,用于获取校验矩阵Hm的第i行的所有m个子矩阵P(hi,j)对应的变换后的子信源矢量将所有m个变换后的子信源矢量中的元素xj,q进行累加,并将累加结果作为累加矢量中的元素yi,q,其中q的取值为0至p;
为达到上述目的,本发明还提供了一种基于喷泉码的信道解码装置,包括:
所述的喷泉码的校验矩阵构造装置用于构造喷泉码的校验矩阵Hm;
和积迭代运算单元,用于将所述子信道信息矢量分别与外信息矢量进行和积迭代运算,并将和积迭代运算结果作为外信息矢量继续执行将所述子信道信息矢量分别与外信息矢量进行和积迭代运算,直至执行预设次数和积迭代运算,将预设次数和积迭代运算结果作为新的外信息矢量
译码单元,用于在对n个所述子信道信息矢量完成预设次数的和积迭代运算后,依据公式进行求和,并将和值Vj,k的符号作为第j个列块的第k个元素的译码结果,其中0≤j≤m-1,0≤k≤p-1,m为校验矩阵Hm的列块数,p为子矩阵P(hi,j)的子阵边长。
上述方案中,所述和积迭代运算单元包括:
置换参数获取单元,用于获取所述喷泉码的校验矩阵Hm中子矩阵P(hi,j)的置换参数hi,j,置换参数hi,j=[hi,j,0,hi,j,1,hi,j,2](0≤i≤n-1,0≤j≤m-1),其中,n为所述喷泉码的校验矩阵Hm的行块数,m为所述喷泉码的校验矩阵的列块数,hi,j,0为喷泉码的第一加密校验参数、hi,j,1为喷泉码的第二加密校验参数、hi,j,2为喷泉码的第三加密校验参数;
置换量生成单元,用于分别计算所述喷泉码的校验矩阵Hm中每个子矩阵的置换矢量;如果子矩阵为子矩阵P(hi,j),则依据l(k)=hi,j,0+hi,j,1*k+hi,j,2*k2生成每个子矩阵P(hi,j)的置换失量l(0),l(1),......,l(p-1),其中k为子矩阵P(hi,j)的行,k的取值为0≤k≤p-1,且p为子矩阵P(hi,j)的子阵边长;如果子矩阵为I或者则置换矢量l(0),l(1),.....,l(p-1)依次为0,1,...,p-1;
(三)有益效果
与现有技术相比,本发明包括以下优点:
本发明在构造喷泉码的校验矩阵Hm之前,首先获取喷泉码的第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2,并利用所述第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2来构造喷泉码的加密参数hi,j;其次将所述喷泉码的加密参数hi,j作为加密矩阵P的子矩阵P(hi,j)的置换参数,构建加密矩阵P的子矩阵P(hi,j);最后结合所述加密矩阵P构造所述喷泉码的校验矩阵Hm。由于构建加密矩阵P的子矩阵P(hi,j)的置换参数hi,j具有保密特性,所以最终构造的喷泉码的校验矩阵Hm也具有加密特性,进而在基于具有加密特性的喷泉码的校验矩阵Hm对信道进行编码时,实现了对信道的加密编码,提高编码的安全性。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种喷泉码的校验矩阵构造方法的流程图;
图2为包含第一校验参数的矩阵示意图;
图3为子矩阵P(hi,j)的一种示意图;
图4为子矩阵P(hi,j)的另一种示意图;
图5为本发明提供的一种基于喷泉码的信道编码方法的流程图;
图6为本发明提供的一种基于喷泉码的信道编码方法的子流程图;
图7为本发明提供的一种基于喷泉码的信道解码方法的流程图;
图8为本发明提供的一种基于喷泉码的信道解码方法的子流程图;
图9为本发明提供的一种喷泉码的校验矩阵构造装置的结构示意图;
图10为本发明提供的一种喷泉码的校验矩阵构造装置中获取单元的结构示意图;
图11为本发明提供的一种喷泉码的校验矩阵构造装置中子矩阵构建单元的结构示意图;
图12为本发明提供的一种基于喷泉码的信道编码装置的结构示意图;
图13为本发明提供的一种基于喷泉码的信道编码装置中校验矢量获取单元的结构示意图;
图14为编码中信息交互的示意图;
图15为本发明提供的一种基于喷泉码的信道解码装置的结构示意图;
图16为本发明提供的一种基于喷泉码的信道解码装置中和积迭代运算单元的结构示意图;
图17为解码中信息交互的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一个实施例
请参阅图1,其示出了本发明实施例提供的一种喷泉码的校验矩阵构造方法的流程图,包括以下步骤:
步骤101:获取喷泉码的第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2。
在本实施例中,获取喷泉码的第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2,首先需要获取喷泉码的第一校验参数第二校验参数和第三校验参数其中喷泉码的第一校验参数可以根据信道纬度分析,通过渐进的边线增长(ProgressiveEdge-growth,PEG)算法得到全部元素作为第一校验参数的矩阵,具体如何通过PEG算法得到全部元素作为第一校验参数的矩阵请参阅专利号为200610011170.5的专利“非规则置换矩阵喷泉码码的构造方法及装置”中具体说明,对此本实施例不再加以阐述。
依据公式获取第一加密校验参数hi,j,0。
步骤102:利用所述第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2来构造喷泉码的加密参数hi,j。
其中构造喷泉码的加密参数hi,j的过程可以为:所述喷泉码的加密参数hi,j=[hi,j,0,hi,j,1,hi,j,2](0≤i≤n-1,0≤j≤m-1),其中,n为所述喷泉码的校验矩阵Hm的行块数,m为所述喷泉码的校验矩阵Hm的列块数。在实际构造喷泉码的加密参数hi,j时,可以根据实际应用预先设置喷泉码的校验矩阵Hm的m和n,即预先设置喷泉码的校验矩阵Hm的行块数和列块数。
步骤103:将所述喷泉码的加密参数hi,j作为加密矩阵P的子矩阵P(hi,j)的置换参数,构建加密矩阵P的子矩阵P(hi,j)。
在本实施例中,加密矩阵P的子矩阵P(hi,j)具体为何种类型的矩阵可以由第一校验参数h* i,j,0决定。具体可以为:在所述第一校验参数h* i,j,0<0,子矩阵P(hi,j)为p×p的全零方阵,即子矩阵P(hi,j)中所有元素都为0;在所述第一校验参数h* i,j,0≥0,子矩阵P(hi,j)为p×p方阵,且每行每列最多只有一个位置的元素为1,其他位置的元素为0。
其中取值为1的元素所在位置可以依据公式l=(hi,j,0hi,j,1*k+hi,j,2*k2)mod p,if hi,j,0≥0得出p个行列对(k,l),(k,l)则为取值为1的元素在子矩阵P(hi,j)中第k行第l列。该公式中k为子矩阵P(hi,j)的行,l为子矩阵P(hi,j)的列,且k的取值为0≤k≤p-1,p为子矩阵P(hi,j)的子阵边长。
下面结合图2所示通过PEG算法得到全部元素作为第一校验参数h* i,j,0的矩阵为例说明步骤101至步骤103的具体执行过程,在执行过程中第一校验参数h* i,j,0所使用的T、T0、p、pk以及K的取值分别为T=4,T0=2,p=16,pk=2,K=1。
对于图2所示矩阵中第一校验参数h* i,j,0<0,以图2所示矩阵中第0行第1列的第一校验参数h* i,j,0=-1时,子矩阵P(hi,j)构建为16×16的全零方阵,即子矩阵P(hi,j)构建为一个16×16的方阵,并且方阵中所有元素的取值为0,如图3所示。
对于第一校验参数h* i,j,0≥0,以第一校验参数h* i,j,0=4,即矩阵中第0行第0列的元素为例,子矩阵P(h0,0)为16×16方阵,且每行每列最多只有一个位置的元素为1,其他位置的元素为0。
其中,子矩阵P(h0,0)中取值为1的元素所在位置计算过程可以为: 对应的参数α0,0=3,β0,0=2,γ0,0=1,则根据可以得出h0,0,0=3*4+4=16,h0,0,1=2*4+1=9,h0,0,2=1*4+0=4。
对子矩阵P(h0,0)的行k取0到15的值,并将每个值依次带入公式l=(hi,j,0+hi,j,1*k+hi,j,2*k2)mod p,if hi,j,0≥0,可以得出子矩阵P(h0,0)取值为1的元素所在列。子矩阵P(h0,0)中取值为1的元素的位置如表1所示。表1中示出了p个(k,l)对,该(k,l)表示子矩阵P(h0,0)中取值为1的元素的位置。构建的子矩阵P(h0,0)如图4所示。
表1子矩阵P(h0,0)中取值为1的元素所在位置表
k | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
l | 0 | 13 | 2 | 15 | 4 | 1 | 6 | 3 | 8 | 5 | 10 | 7 | 12 | 9 | 14 | 11 |
当然取不同的参数α0,0,β0,0,γ0,0,其(k,l)对不同,因此得出的第一加密校验参数h0,0,0、第二加密校验参数h0,0,1、第三加密校验参数h0,0,2和子矩阵P(h0,0)具有随机性,除通信双方之外其他操作人员不能轻易获知(k,l)对,即不能轻易获知第一加密校验参数h0,0,0、第二加密校验参数h0,0,1、第三加密校验参数h0,0,2和子矩阵P(h0,0),从而使第一加密校验参数h0,0,0、第二加密校验参数h0,0,1、第三加密校验参数h0,0,2和子矩阵P(h0,0)具有加密特性。
并且从图4所示的子矩阵P(h0,0)可以得出通过步骤101至步骤103构建的子矩阵P(hi,j)内部不存在小于或等于6的环路,从而在后续解码过程中获得的迭代译码的信息不会在环路上形成自反馈,因此迭代较为有效,具有优越的性能。
需要说明的是:本实施例列举了一种由第一校验参数第二校验参数和第三校验参数结合密码αi,j,βi,j、γi,j以及加密参数T获得第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2的方式,此种方式使得第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2具有加密特性,并且由第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2构造的加密参数hi,j得到的子矩阵P(hi,j)和子矩阵P(hi,j)得出的校验矩阵Hm也具有加密特性。该方式是为了更好地阐述本实施例提供的喷泉码的校验矩阵Hm构造方法最终得出的校验矩阵Hm具有加密特性,其他在本发明思想基础上变更构造具体方式的技术方案也属于本发明保护的范围。
步骤104:结合所述加密矩阵P构造所述喷泉码的校验矩阵Hm。
在构造喷泉码的校验矩阵Hm时,依据公式
拼接构造喷泉码的校验矩阵Hm,其中子矩阵P(hi,j)为p×p方阵,子矩阵P(hi,j)的构建过程可以参阅步骤101至步骤103。
应用上述技术方案,在构造喷泉码的校验矩阵Hm之前,首先获取喷泉码的第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2,并利用所述第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2来构造喷泉码的加密参数hi,j;其次将所述喷泉码的加密参数hi,j作为加密矩阵P的子矩阵P(hi,j)的置换参数,构建加密矩阵P的子矩阵P(hi,j);最后结合所述加密矩阵P构造所述喷泉码的校验矩阵Hm。由于构建加密矩阵P的子矩阵P(hi,j)的置换参数hi,j具有保密特性,所以最终构造的喷泉码的校验矩阵Hm也具有加密特性,进而在基于具有加密特性的喷泉码的校验矩阵Hm对信道进行编码时,实现了对信道的加密编码,提高编码的安全性。
进一步在本实施例中使得最终构造的喷泉码的校验矩阵Hm具有加密特性的方式之一为:在获取第一加密校验参数hi,j,0、第二加密校验参数hi,j,0和第三加密校验参数hi,j,2时使用的密码αi,j,βi,j、γi,j随即设定,从而使得最终构造的喷泉码的校验矩阵Hm具有加密特性。
另一个实施例
请参阅图5,其示出了本发明实施例提供的一种基于喷泉码的信道编码方法的流程图,包括以下步骤:
步骤501:构造喷泉码的校验矩阵Hm,并获取所述喷泉码的校验矩阵Hm中子矩阵P(hi,j)。
在本实施例中,喷泉码的校验矩阵Hm的构造以及喷泉码的校验矩阵Hm中子矩阵P(hi,j)获取请参阅图1所示的一种喷泉码的校验矩阵构造方法的流程图,并且喷泉码的校验矩阵Hm的构造具体过程请参阅图1所示流程图对应的实施例中说明,对此本实施例不再加以阐述。
步骤502:获取喷泉码对应的信源X,将信源X依次每p个为一组,分为m个1×p的子信源矢量子信源矢量其中所述子信源矢量对应喷泉码的校验矩阵Hm中第j列的所有子矩阵P(hi,j),所述信源X的信源长度为m×p。
在本实施例中,获得累加矢量可以依据公式获得。根据喷泉码的定义,H×XT=YT mod 2,将YT=HXT,其中H为n×m格的p×p的方阵组成,X为m个1×p的序列组成,则构成的Y是一个n×p的序列。将序列Y每p个一组,即则每个1×p的累加矢量可表示为在计算累加矢量时,先将累加矢量初始化为0,然后逐个累计累加m次,即得到累加矢量其中P(hi,k)为校验矩阵H中加密矩阵P的子矩阵,且P(hi,k)为方阵。该方阵的作用可将子信源矢量按照排列,即例如通过 运算后,其结果为在累加第i行的m个子矩阵P(hi,k)对应的排列后的子信源矢量得出累加矢量
步骤601:获取校验矩阵H中子矩阵P(hi,j)的置换参数hi,j=[hi,j,0,hi,j,1,hi,j,2](0≤i≤n-1,0≤j≤m-1),其中,n为所述喷泉码的校验矩阵Hm行块数,m为所述喷泉码的校验矩阵的列块数,hi,j,0为喷泉码的第一加密校验参数、hi,j,1为喷泉码的第二加密校验参数、第三加密校验参数hi,j,2为喷泉码的第三加密校验参数。第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2的可以依据下述公式获取:
依据公式获取第一加密校验参数hi,j,0;
依据公式获取第三加密校验参数hi,j,2;
其中,αi,j,βi,j和γi,j为密码,T为密码参数,且T0为预设倍数,pa为分解子矩阵P(hi,j)的子阵边长p得到的第a个质数,A为质数个数,且子阵边长 为喷泉码的第一校验参数,为喷泉码的第二校验参数和为喷泉码的第三校验参数。
其中喷泉码的第一校验参数可以根据信道纬度分析,通过渐进的边线增长(Progressive Edge-growth,PEG)算法得到全部元素作为第一校验参数的矩阵,具体如何通过PEG算法得到全部元素作为第一校验参数的矩阵请参阅专利号为200610011170.5的专利“非规则置换矩阵喷泉码码的构造方法及装置”中具体说明,对此本实施例不再加以阐述。
步骤602:分别对所述喷泉码的校验矩阵Hm中每个子矩阵P(hi,j),依据l(k)=hi,j,0+hi,j,1*k+hi,j,2*k2生成每个子矩阵P(hi,j)的置换矢量l(0),l(1),.....,l(p-1),其中k为子矩阵P(hi,j)的行,k的取值为0≤k≤p-1,且p为子矩阵P(hi,j)的子阵边长。
以图4所示的子矩阵P(h0,0)为例,该子矩阵P(h0,0)对应的h0,0,0=16,h0,0,1=9,h0,0,2=4,p=16。依据l(k)=hi,j,0+hi,j,1*k+hi,j,2*k2生成每个子矩阵P(hi,j)的置换矢量l(0),l(1),.....,l(15)如表2所示。
表2置换矢量表
k | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
l | 0 | 13 | 2 | 15 | 4 | 1 | 6 | 3 | 8 | 5 | 10 | 7 | 12 | 9 | 14 | 11 |
其中q的取值为0至p-1,因为l(i)的总个数为p,所以累加后共得到p个元素,分别即为yi,0,yi,1,……yi,p-1。
以元素y0,0,即第1个累加矢量中的第1个元素为例,首先获取校验矩阵Hm第0行所有m个子矩阵P(hi,j)对应的变换后的子信源矢量因为每个变换后的子信源矢量为1×p的矢量,所以在累加过程中依次获取所有m个变换后的子信源矢量中第0列的元素,并将第0列的元素相加,相加结果作为元素y0,0。
步骤605:将元素yi,0,yi,1,……yi,p-1拼接构成1×p的累加矢量 其中拼接是指将元素yi,0,yi,1,……yi,p-1分别作为第i个累加矢量的第1个,第2个,......,第p个元素。
应用上述技术方案,由于构建加密矩阵P的子矩阵P(hi,j)的置换参数hi,j具有保密特性,所以最终构造的喷泉码的校验矩阵Hm也具有加密特性,进而在基于具有加密特性的喷泉码的校验矩阵Hm对信道进行编码时,实现了对信道的加密编码,提高编码的安全性。
再一个实施例
请参阅图7,其示出了本发明实施例提供的一种基于喷泉码的信道解码方法的流程图,包括以下步骤:
步骤701:构造喷泉码的校验矩阵H。
在本实施例中,喷泉码的校验矩阵H的构造请参阅图1所示的一种喷泉码的校验矩阵构造方法的流程图,并且喷泉码的校验矩阵Hm的构造具体过程请参阅图1所示流程图对应的实施例中说明,对此本实施例不再加以阐述。
步骤702:获取所述校验矩阵H中所有子矩阵各自的外信息矢量
在本实施例中,当子矩阵P(hi,j)中全部元素为零时,该子矩阵P(hi,j)不具有相对应的外信息矢量即当子矩阵P(hi,j)中全部元素为零时,外信息矢量为空。当子矩阵P(hi,j)中全部元素不为零时,该子矩阵P(hi,j)具有相对应的外信息矢量且将该外信息矢量中的全部元素初始化为0。
步骤704:将所述子信道信息矢量分别与外信息矢量进行和积迭代运算,并将和积迭代运算结果作为外信息矢量继续执行将所述子信道信息矢量分别与外信息矢量进行和积迭代运算,直至执行预设次数和积迭代运算,将预设次数和积迭代运算结果作为新的外信息矢量
也就是说,对每一个外信息矢量将其与子信道信息矢量进行一次和积迭代运算,将一次和积迭代运算后的和积迭代运算结果作为外信息矢量即将子矩阵对应的原始的外信息矢量替换为和积迭代运算结果。然后使用替换后得到的外信息矢量再与子信道信息矢量进行一次和积迭代运算,重复执行替换和迭代过程预设次数。
以子信道信息矢量与外信息矢量进行预设次数和积迭代运算为例,在第1次进行和积迭代运算时,外信息矢量即为子矩阵P(hi,0)对应的原始的外信息矢量并将和积迭代运算结果作为第2次和积迭代运算的外信息矢量重复执行预设次数后,子信道信息矢量与外信息矢量的和积迭代运算完成,将最终结果记为新的外信息矢量
在本实施例中预设次数是操作人员根据实际应用得出的译码结果的准确度设定,该预设次数可以为10次或者20次,具体取值可以根据译码结果的准确度最终设定。
其中公式为第j个子信道信息矢量的第k个元素,w′i,j,k为新的外信息矢量的第k个非空元素,则是对所有n个新的外信息中的第k个非空元素与第j个子信道信息矢量中的第k个元素求和,并且0≤j≤m-1,0≤k≤p-1,n为校验矩阵Hm的列块数,p为子矩阵P(hi,j)的子阵边长。
步骤801:获取所述喷泉码的校验矩阵H中子矩阵P(hi,j)的置换参数hi,j,置换参数hi,j=[hi,j,0,hi,j,1,hi,j,2](0≤i≤n-1,0≤j≤m-1)。
其中,n为所述喷泉码的校验矩阵H行块数,m为所述喷泉码的校验矩阵的列块数,hi,j,0为喷泉码的第一加密校验参数、hi,j,1为喷泉码的第二加密校验参数、hi,j,2为喷泉码的第三加密校验参数。喷泉码的第一加密校验参数hi,j,0、喷泉码的第二加密校验参数hi,j,0和喷泉码的第三加密校验参数hi,j,2的计算过程请参阅图6所示流程图对应的实施例的说明,对此本实施例不再加以阐述。
步骤802:分别计算所述喷泉码的校验矩阵H中每个子矩阵的置换矢量。如果子矩阵为子矩阵P(hi,j),则依据l(k)=hi,j,0+hi,j,1*k+hi,j,2*k2生成每个子矩阵P(hi,j)的置换失量l(0),l(1),......,l(p-1),其中k为子矩阵P(hi,j)的行,k的取值为0≤k≤P-1,且p为子矩阵P(hi,j)的子阵边长;如果子矩阵为I或者则置换矢量l(0),l(1),......,l(p-1)依次为0,1,...,p-1。
以图4所示的子矩阵P(h0,0)为例,该子矩阵P(h0,0)对应的h0,0,0=16,h0,0,1=9,h0,0,2=4,p=16。依据l(k)=hi,j,0+hi,j,1k+hi,j,2*k2生成每个子矩阵P(hi,j)的置换矢量l(0),l(1),.....,l(15)如表3所示。
表3置换矢量表
k | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
l | 0 | 13 | 2 | 15 | 4 | 1 | 6 | 3 | 8 | 5 | 10 | 7 | 12 | 9 | 14 | 11 |
其中公式为第j个子信道信息矢量的第k个元素,v′i,j,k为第二外信息矢量的第k个非空元素,则是对所有n个第二外信息矢量中的第k个非空元素与第j个子信道信息矢量中的第k个元素求和,并且0≤j≤m-1,0≤k≤p-1,m为校验矩阵H的列块数,p为子矩阵P(hi,j)的子阵边长。其中0≤j≤n-1,0≤k≤p-1。
在得到p个v″i,j,k,将p个v″i,j,k按照k的取值排序得到第三外信道矢量 其中拼接则是将v″i,j,k作为第三外信道矢量作为第k个元素。由于计算第三外信道矢量的第二外信道矢量是按列顺序排序的矢量,所以得到的第三外信道矢量也是按列顺序排序的矢量。
需要说明的是:在本实施例中,按列顺序排序是指按照校验矩阵Hm中子矩阵的列取值进行排序。按行顺序排序则是指按照校验矩阵Hm中子矩阵的行取值进行排序。
与上述方法实施例相对应,本发明实施例还提供一种喷泉码的校验矩阵构造装置,其结构示意图请参阅图9所示,该装置包括:获取单元11、参数构造单元12、子矩阵构建单元13和矩阵构造单元14。其中,
获取单元11,用于获取喷泉码的第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2。
在本实施例中,获取单元11的结构示意图请参阅图10所示,包括:第一获取单元111、第二获取单元112、第三获取单元113、第四获取单元114和第五获取单元115。其中
在本实施例中第三获取单元113、第四获取单元114和第五获取单元115在计算过程中使用的αi,j,βi,j和γi,j为密码,T为密码参数,且T0为预设倍数,pk为分解子矩阵P(hi,j)的子阵边长p得到的第k个质数,K为质数个数,且子阵边长
参数构造单元12,用于将所述第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2构造喷泉码的加密参数hi,j。其中参数构造单元12构造的所述喷泉码的加密参数hi,j=[hi,j,0,hi,j,01,hi,j,2](0≤i≤n-1,0≤j≤m-1),m为所述喷泉码的校验矩阵Hm行块数,n为所述喷泉码的校验矩阵的列块数。
子矩阵构建单元13,用于将所述喷泉码的加密参数hi,j作为加密矩阵P的子矩阵P(hi,j)的置换参数,构建加密矩阵P的子矩阵P(hi,j)。其中子矩阵构建单元13包括:第一构建单元131和第二构建单元132,如图11所示。
其中,第一构建单元131,用于在所述第一校验参数h* i,j,0<0,则将子矩阵P(hi,j)构建为p×p的全零方阵。
第二构建单元132,用于在所述第一校验参数h* i,j,0≥0,将子矩阵P(hi,j)构建为p×p方阵,其中子矩阵P(hi,j)的第k行第l列的元素置换为1,其它位置的元素置换为0,其中l=(hi,j,0+hi,j,1*k+hi,j,2*k2)mop,if h* i,j,0≥0,k的取值为0≤k≤p-1,p为子矩阵P(hi,j)的子阵边长。
矩阵构造单元14,结合所述加密矩阵P构造所述喷泉码的校验矩阵H。
在本实施例中,矩阵构造单元14具体用于
拼接构造喷泉码的校验矩阵H,其中子矩阵P(hi,j)为p×p方阵,p为子矩阵P(hi,j)的子阵边长。
本发明实施例还提供一种基于喷泉码的校验矩阵的信道编码装置,其结构示意图请参阅图12所示,包括:喷泉码的校验矩阵构造装置21、子矩阵获取单元22、信源矢量获取单元23、累加矢量获取单元24、总累加矢量获取单元25、校验矢量获取单元26和编码单元27。其中,
喷泉码的校验矩阵构造装置21,用于构造喷泉码的校验矩阵Hm。本实施例中喷泉码的校验矩阵构造装置21可以参阅图9所示,其内包括的单元的具体结构请分别参阅图10和图11,对此本实施例不再加以阐述。
子矩阵获取单元22,用于获取所述喷泉码的校验矩阵Hm中子矩阵P(hi,j)。
信源矢量获取单元23,用于获取喷泉码对应的信源X,将信源X依次每p个为一组,分为n-m个1×p的子信源矢量子信源矢量其中所述子信源矢量对应喷泉码的校验矩阵Hm中第j列的所有子矩阵P(hi,j),所述信源X的信源长度为(n-m)×p。
在本实施例中,累加矢量获取单元24的结构示意图请参阅图13所示,该图13所示的累加矢量获取单元24可以依据公式获得累加矢量累加矢量获取单元24包括:置换参数获取单元241、置换量生成单元242、信源矢量排列单元243、累加单元244和拼接单元245,其中
置换参数获取单元241,用于获取所述喷泉码的校验矩阵Hm中子矩阵P(hi,j)的置换参数hi,j,置换参数hi,j=[hi,j,0,hi,j,1,hi,j,2](0≤i≤n-1,0≤j≤m-1),其中,m为所述喷泉码的校验矩阵Hm行块数,n为所述喷泉码的校验矩阵的列块数,hi,j,0为喷泉码的第一加密校验参数、hi,j,1为喷泉码的第二加密校验参数、hi,j,2为喷泉码的第三加密校验参数。
置换量生成单元242,用于分别对所述喷泉码的校验矩阵Hm中每个子矩阵P(hi,j),依据l(k)=hi,j,0+hi,j,1*k+hi,j,2k2生成每个子矩阵P(hi,j)的置换矢量l(0),l(1),......,l(p-1),其中k为子矩阵P(hi,j)的行,k的取值为0≤k≤p-1,且p为子矩阵P(hi,j)的子阵边长。
累加单元244,用于获取校验矩阵Hm第i行的所有n-m个子矩阵P(hi,j)对应的变换后的子信源矢量将所有n-m个变换后的子信源矢量中的元素xj,q进行累加,并将累加结果作为累加矢量中的元素yi,q,其中q的取值为l(0)至l(p-1)。
在本实施例中,基于喷泉码的信道编码装置中各个单元在对信源X进行编码过程中信息交互请参阅图14所示,其中图14为编码中信息交互的示意图。
此外,本发明实施例还提供一种基于喷泉码的信道解码装置,其结构示意图请参阅图15所示,包括:喷泉码的校验矩阵构造装置31、获取单元32、信道矢量获取单元33、和积迭代运算单元34和译码单元35。其中,
喷泉码的校验矩阵构造装置31,用于构造喷泉码的校验矩阵Hm。本实施例中喷泉码的校验矩阵构造装置21可以参阅图9所示,其内包括的单元的具体结构请分别参阅图10和图11,对此本实施例不再加以阐述。
和积迭代运算单元34,用于将所述子信道信息矢量分别与外信息矢量进行和积迭代运算,并将和积迭代运算结果作为外信息矢量继续执行将所述子信道信息矢量分别与外信息矢量进行和积迭代运算,直至执行预设次数和积迭代运算,将预设次数和积迭代运算结果作为新的外信息矢量
译码单元35,用于在对n个所述子信道信息矢量完成预设次数的和积迭代运算后,依据公式进行求和,并将和值Vj,k的符号作为第j个列块的第k个元素的译码结果,其中0≤j≤m-1,0≤k≤p-1,n为校验矩阵H的列块数,p为子矩阵P(hi,j)的子阵边长。
在本实施例中,和积迭代运算单元34的结构示意图请参阅图16所示,包括:置换参数获取单元341、置换量生成单元342、第一排列单元343、第一拼接单元344、第二排序单元345和第二拼接单元346。其中,
置换参数获取单元341,用于获取所述喷泉码的校验矩阵Hm中子矩阵P(hi,j)的置换参数hi,j,置换参数其中,m为所述喷泉码的校验矩阵H行块数,n为所述喷泉码的校验矩阵的列块数,hi,j,0为喷泉码的第一加密校验参数、hi,j,1为喷泉码的第二加密校验参数、hi,j,2为喷泉码的第三加密校验参数。
置换量生成单元342,用于分别计算所述喷泉码的校验矩阵Hm中每个子矩阵的置换矢量。如果子矩阵为子矩阵P(hi,j),则依据l(k)=hi,j,0+hi,j,1*k+hi,j,2*k2生成每个子矩阵P(hi,j)的置换失量l(0),l(1),.....,l(p-1),其中k为子矩阵P(hi,j)的行,k的取值为0≤k≤p-1,且p为子矩阵P(hi,j)的子阵边长;如果子矩阵为I或者则置换矢量l(0),l(1),.....,l(p-1)依次为0,1,...,p-1。
在本实施例中,基于喷泉码的信道解码装置中各个单元在对信道U进行解码过程中信息交互请参阅图17所示,其中图17为解码中信息交互的示意图。图17所示示意图中VNU为和运算单元,CNU为积运算单元,在每次和积迭代运算过程中,外信息矢量中的第i个元素会依次写入到对应的VNU/CNUi中。在进行和运算时,外信息矢量中的p个元素通过p个串行VNU与子信道信息矢量进行和运算。在进行积运算时,外信息矢量中的p个元素通过p个串行CNU进行积运算。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种喷泉码的校验矩阵构造方法、编解码方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (19)
1.一种喷泉码的校验矩阵的构造方法,其特征在于,包括:
获取喷泉码的第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2;
利用所述第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2来构造喷泉码的加密参数hi,j;
将所述喷泉码的加密参数hi,j作为加密矩阵P的子矩阵P(hi,j)的置换参数,构建加密矩阵P的子矩阵P(hi,j);以及
结合所述加密矩阵P构造所述喷泉码的校验矩阵Hm。
3.根据权利要求1所述的喷泉码的校验矩阵的构造方法,其特征在于,所述利用第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2来构造喷泉码的加密参数hi,j包括:
所述喷泉码的加密参数hi,j=[hi,j,0,hi,j,1,hi,j,2](0≤i≤n-1,0≤j≤m-1),其中,n为所述喷泉码的校验矩阵H行块数,m为所述喷泉码的校验矩阵的列块数。
4.根据权利要求1所述的喷泉码的校验矩阵的构造方法,其特征在于,所述将所述喷泉码的加密参数hi,j作为加密矩阵P的子矩阵P(hi,j)的置换参数,构建加密矩阵P的子矩阵P(hi,j),包括:
在所述第一校验参数h* i,j,0<0时,则将子矩阵P(hi,j)构建为p×p的全零方阵;在所述第一校验参数h* j,j,0≥0时,将子矩阵P(hi,j)构建为P×p方阵,其中子矩阵P(hi,j)的第k行第l列的元素置换为1,其它位置的元素置换为0,其中l=(hi,j,0+hi,j,1*k+hi,j,2*k2)mod p,if h* i,j,0≥0,k的取值为0≤k≤p-1,p为子矩阵P(hi,j)的子阵边长。
获取所述喷泉码的校验矩阵Hm中子矩阵P(hi,j)的置换参数hi,j,hi,j=[hi,j,0,hi,j,1,hi,j,2](0≤i≤n-1,0≤j≤m-1),其中,n为所述喷泉码的校验矩阵H行块数,m为所述喷泉码的校验矩阵的列块数,hi,j,0为喷泉码的第一加密校验参数、hi,j,1为喷泉码的第二加密校验参数、hi,j,2为喷泉码的第三加密校验参数;
分别对所述喷泉码的校验矩阵Hm中每个子矩阵P(hi,j),依据l(k)=hi,j,0hi,j,1*k+hi,j,2*k2生成每个子矩阵P(hi,j)的置换矢量l(0),l(1),.....,l(p-1),其中k为子矩阵P(hi,j)的行,k的取值为0≤k≤p-1,且p为子矩阵P(hi,j)的子阵边长;
9.一种基于喷泉码的信道解码方法,其特征在于,包括:
应用权利要求1至5中任意一项所述的喷泉码的校验矩阵构造方法构造喷泉码的校验矩阵Hm;
将所述子信道信息矢量分别与外信息矢量进行和积迭代运算,并将和积迭代运算结果作为外信息矢量继续执行将所述子信道信息矢量分别与外信息矢量进行和积迭代运算,直至执行预设次数和积迭代运算,将预设次数和积迭代运算结果作为新的外信息矢量
获取所述喷泉码的校验矩阵Hm中子矩阵P(hi,j)的置换参数hi,j,置换参数hi,j=[hi,j,0,hi,j,1,hi,j,2](0≤i≤n-1,0≤j≤m-1),其中,n为所述喷泉码的校验矩阵Hm行块数,m为所述喷泉码的校验矩阵的列块数,hi,j,0为喷泉码的第一加密校验参数、hi,j,1为喷泉码的第二加密校验参数、hi,j,2为喷泉码的第三加密校验参数;
分别计算所述喷泉码的校验矩阵Hm中每个子矩阵的置换矢量;如果子矩阵为子矩阵P(hi,j),则依据l(k)=hi,j,0+hi,j,1*k+hi,j,2*k2生成每个子矩阵P(hi,j)的置换失量l(0),l(1),.....,l(p-1),其中k为子矩阵P(hi,j)的行,k的取值为0≤k≤p-1,且p为子矩阵P(hi,j)的子阵边长;如果子矩阵为I或者则置换矢量l(0),l(1),.....,l(p-1)依次为0,1,...,p-1;
11.一种喷泉码的校验矩阵构造装置,其特征在于,包括:
获取单元,用于获取喷泉码的第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2;
参数构造单元,用于利用所述第一加密校验参数hi,j,0、第二加密校验参数hi,j,1和第三加密校验参数hi,j,2来构造喷泉码的加密参数hi,j;
子矩阵构建单元,用于将所述喷泉码的加密参数hi,j作为加密矩阵P的子矩阵P(hi,j)的置换参数,构建加密矩阵P的子矩阵P(hi,j);
矩阵构造单元,用于获取喷泉码的结构化可逆矩阵D,并结合所述加密矩阵P构造所述喷泉码的校验矩阵Hm。
12.根据权利要求11所述的喷泉码的校验矩阵构造装置,其特征在于,所述获取单元包括:第一获取单元、第二获取单元、第三获取单元、第四获取单元和第五获取单元,其中:
第五获取单元,用于依据公式获取第三加密校验参数hi,j,2;
13.根据权利要求11所述的喷泉码的校验矩阵构造装置,其特征在于,所述参数构造单元构造的所述喷泉码的加密参数hi,j=[hi,j,0,hi,j,1,hi,j,2](0≤i≤n-1,0≤j≤m-1),其中,n为所述喷泉码的校验矩阵Hm的行块数,m为所述喷泉码的校验矩阵的列块数。
14.根据权利要求11所述的喷泉码的校验矩阵构造装置,其特征在于,所述子矩阵构建单元包括:第一构建单元和第二构建单元,其中,
第一构建单元,用于在所述第一校验参数h* i,j,0<0,则将子矩阵P(hi,j)构建为p×p的全零方阵;
第二构建单元,用于在所述第一校验参数h* i,j,0≥0,将子矩阵P(hi,j)构建为p×p方阵,其中子矩阵P(hi,j)的第k行第l列的元素置换为1,其它位置的元素置换为0,其中l=(hi,j,0+hi,j,1*k+hi,j,2*k2)modp,ifh* i,j,0≥0,k的取值为0≤k≤p-1,p为子矩阵P(hi,j)的子阵边长。
置换参数获取单元,用于获取所述喷泉码的校验矩阵Hm中子矩阵P(hi,j)的置换参数hi,j,置换参数hi,j=[hi,j,0,hi,j,1,hi,j,2](0≤i≤n-1,0≤j≤m-1),其中,n为所述喷泉码的校验矩阵Hm的行块数,m为所述喷泉码的校验矩阵的列块数,hi,j,0为喷泉码的第一加密校验参数、hi,j,1为喷泉码的第二加密校验参数、hi,j,2为喷泉码的第三加密校验参数;
置换量生成单元,用于分别对所述喷泉码的校验矩阵Hm中每个子矩阵P(hi,j),依据l(k)=hi,j,0+hi,j,1*k+hi,j,2*k2生成每个子矩阵P(hi,j)的置换矢量l(0),l(1),......,l(p-1),其中k为子矩阵P(hi,j)的行,k的取值为0≤k≤p-1,且p为子矩阵P(hi,j)的子阵边长;
累加单元,用于获取校验矩阵Hm第i行的所有m个子矩阵P(hi,j)对应的变换后的子信源矢量将所有m个变换后的子信源矢量中的元素xj,q进行累加,并将累加结果作为累加矢量中的元素yi,q,其中q的取值为0至p;
18.一种基于喷泉码的信道解码装置,其特征在于,包括:
如权利要求11至15中任意一项所述的喷泉码的校验矩阵构造装置,用于构造喷泉码的校验矩阵Hm;
和积迭代运算单元,用于将所述子信道信息矢量分别与外信息矢量进行和积迭代运算,并将和积迭代运算结果作为外信息矢量继续执行将所述子信道信息矢量分别与外信息矢量进行和积迭代运算,直至执行预设次数和积迭代运算,将预设次数和积迭代运算结果作为新的外信息矢量
19.根据权利要求18所述的基于喷泉码的信道解码装置,其特征在于,所述和积迭代运算单元包括:
置换参数获取单元,用于获取所述喷泉码的校验矩阵Hm中子矩阵P(hi,j)的置换参数hi,j,置换参数hi,j=[hi,j,0,hi,j,1,hi,j,2](0≤i≤n-1,0≤j≤m-1),其中,n为所述喷泉码的校验矩阵Hm的行块数,m为所述喷泉码的校验矩阵的列块数,hi,j,0为喷泉码的第一加密校验参数、hi,j,1为喷泉码的第二加密校验参数、hi,j,2为喷泉码的第三加密校验参数;
置换量生成单元,用于分别计算所述喷泉码的校验矩阵Hm中每个子矩阵的置换矢量;如果子矩阵为子矩阵P(hi,j),则依据l(k)=hi,j,0+hi,j,1*k+hi,j,2*k2生成每个子矩阵P(hi,j)的置换失量l(0),l(1),.....,l(p-1),其中k为子矩阵P(hi,j)的行,k的取值为0≤k≤p-1,且p为子矩阵P(hi,j)的子阵边长;如果子矩阵为I或者则置换矢量l(0),l(1),.....,l(p-1)依次为0,1,...,p-1;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310533423.5A CN103546166A (zh) | 2013-10-31 | 2013-10-31 | 一种喷泉码的校验矩阵构造方法、编解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310533423.5A CN103546166A (zh) | 2013-10-31 | 2013-10-31 | 一种喷泉码的校验矩阵构造方法、编解码方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103546166A true CN103546166A (zh) | 2014-01-29 |
Family
ID=49969282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310533423.5A Pending CN103546166A (zh) | 2013-10-31 | 2013-10-31 | 一种喷泉码的校验矩阵构造方法、编解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103546166A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105634657A (zh) * | 2014-10-31 | 2016-06-01 | 富士通株式会社 | 一种解码方法、解码器以及接收机 |
WO2017177614A1 (zh) * | 2016-04-11 | 2017-10-19 | 中兴通讯股份有限公司 | 编码方法及装置、译码方法及装置 |
CN111404554A (zh) * | 2019-09-29 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 一种纠删码的编码矩阵生成方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064626A1 (en) * | 2004-09-22 | 2006-03-23 | Kencast, Inc. | System, method and apparatus for FEC encoding and decoding |
CN103067024A (zh) * | 2012-12-31 | 2013-04-24 | 中国科学院微电子研究所 | 低密度生成矩阵码的生成矩阵构造和编解码方法及装置 |
CN103117749A (zh) * | 2012-12-31 | 2013-05-22 | 中国科学院微电子研究所 | 低密度奇偶校验码的校验矩阵构造和编解码方法及装置 |
-
2013
- 2013-10-31 CN CN201310533423.5A patent/CN103546166A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064626A1 (en) * | 2004-09-22 | 2006-03-23 | Kencast, Inc. | System, method and apparatus for FEC encoding and decoding |
CN103067024A (zh) * | 2012-12-31 | 2013-04-24 | 中国科学院微电子研究所 | 低密度生成矩阵码的生成矩阵构造和编解码方法及装置 |
CN103117749A (zh) * | 2012-12-31 | 2013-05-22 | 中国科学院微电子研究所 | 低密度奇偶校验码的校验矩阵构造和编解码方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105634657A (zh) * | 2014-10-31 | 2016-06-01 | 富士通株式会社 | 一种解码方法、解码器以及接收机 |
WO2017177614A1 (zh) * | 2016-04-11 | 2017-10-19 | 中兴通讯股份有限公司 | 编码方法及装置、译码方法及装置 |
CN111404554A (zh) * | 2019-09-29 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 一种纠删码的编码矩阵生成方法、装置及电子设备 |
CN111404554B (zh) * | 2019-09-29 | 2023-09-01 | 杭州海康威视系统技术有限公司 | 一种纠删码的编码矩阵生成方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Papailiopoulos et al. | Locally repairable codes | |
Kolesnikov et al. | Improved OT extension for transferring short secrets | |
Gottesman et al. | Proof of security of quantum key distribution with two-way classical communications | |
Efremenko | 3-query locally decodable codes of subexponential length | |
Dau et al. | Error correction for index coding with side information | |
US8689087B2 (en) | Method and entity for probabilistic symmetrical encryption | |
Yard et al. | Capacity theorems for quantum multiple-access channels: Classical-quantum and quantum-quantum capacity regions | |
Gelles et al. | Efficient and explicit coding for interactive communication | |
Li | On the confidentiality of information dispersal algorithms and their erasure codes | |
Alzubi et al. | Secure channel coding schemes based on algebraic-geometric codes over Hermitian curves. | |
CN103546166A (zh) | 一种喷泉码的校验矩阵构造方法、编解码方法及装置 | |
Komargodski et al. | How to share a secret, infinitely | |
CN100486119C (zh) | 一种结构化的ldpc编码方法 | |
CN103117749B (zh) | 低密度奇偶校验码的校验矩阵构造和编解码方法及装置 | |
Gelles et al. | Potent tree codes and their applications: Coding for interactive communication, revisited | |
CN103067024B (zh) | 低密度生成矩阵码的生成矩阵构造和编解码方法及装置 | |
Gabidulin | Rank-metric codes and applications | |
Sourlas | Statistical mechanics and error-correcting codes | |
CN104702404B (zh) | 一种基于纠错码与低轮aes的加密方法及系统 | |
Noorkami et al. | A fast correlation attack via unequal error correcting LDPC codes | |
Krishna Prasad et al. | Performance investigation of polar codes employing polar encoder and successive cancellation decoder in 5G systems and cloud computing | |
Krishna et al. | Performance investigation of polar codes employing polar encoder and successive cancellation decoder in 5G systems and cloud computing. | |
Maringer et al. | Information-and coding-theoretic analysis of the RLWE channel | |
CN107294649A (zh) | 编码方法及装置,译码方法及装置 | |
Isakov et al. | McELIECE CRYPTOSYSTEM BASED ON QUATERNARY HAMMING CODES. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140129 |