CN111294058B - 一种信道编码和纠错译码方法、设备以及存储介质 - Google Patents
一种信道编码和纠错译码方法、设备以及存储介质 Download PDFInfo
- Publication number
- CN111294058B CN111294058B CN202010105029.1A CN202010105029A CN111294058B CN 111294058 B CN111294058 B CN 111294058B CN 202010105029 A CN202010105029 A CN 202010105029A CN 111294058 B CN111294058 B CN 111294058B
- Authority
- CN
- China
- Prior art keywords
- error correction
- sequence
- error
- vector
- channel
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1177—Regular LDPC codes with parity-check matrices wherein all rows and columns have the same row weight and column weight, respectively
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种信道编码和纠错译码方法、设备以及存储介质,本方法首先对BDMC信道的输入矢量进行添加符号的预处理,对预处理后的输入矢量进行二元加权编码以实现对输入矢量的无损编码,提升信道传输的速率;然后对接收到数据后进行纠错译码,判断译码时通过判断译码出矢量是否符号预处理时的规律而进行检错纠错。通过理论和实验证明随着输入矢量的码长越长以及BDMC信道传输速率趋近于信道容量时,本方法纠错译码后的矢量中的误比特率趋近于0,误比特率优于极化码和LDPC码。本发明易于软硬件实现,可自适应于信道的干扰情况,可以通过增大码长和BDMC信道传输速率的值提高纠错能力。
Description
技术领域
本发明涉及数据通信技术领域,特别涉及一种信道编码和纠错译码方法、设备以及存储介质。
背景技术
为了构造逼近信道容量的编码方法,专家学者们付出了不懈努力。2009年,Arikan提出了基于信道极化现象,在码长趋近于无限时被严格证明容量可达的编码方法,称为极化码(PolarCode)。极化码需要大量的运算才能极化出干净信道,否则极化性能有限。极化码无法适应于信道的瞬时干扰。而LDPC码理论上无法达到信道容量(香农限)。显然,在海量数据传输、数据高速可靠传输应用中发掘新的算法极其重要。
发明内容
本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了一种信道编码和纠错译码方法、设备以及存储介质。
根据本发明的实施例,提供了一种信道编码和纠错译码方法,包括以下步骤:
S100、发送端将矢量X进行预处理得到矢量X′,并对所述矢量X′进行二元加权编码;其中,预处理之后的所述矢量X′满足以下条件:
所述二元加权编码的过程如下:
根据编码公式Li=Li-1Ri-1F(X′i-1,r)对所述矢量X′进行编码,令编码后的Ln=V;其中,X′i为矢量X′中第i个字符,r为权系数,F(X′i-1,r)为X′i的加权累计分布函数,R0=1,L0=0,i∈(1,2,...,n),n为所述矢量X′的字符数;
S200、发送端将序列V经BDMC信道发送至接收端;
S300、接收端接收所述序列V后,对所述序列V进行纠错译码:
S301、以m个比特字符为窗口,获取所述序列V中连续m个比特作为第一纠错序列;
S302、沿所述第一纠错序列中的首字符向后译码出lm个比特作为第二纠错序列,所述lm个比特为检验所述第一纠错序列必然发生比特错误的最小译码长度;
S303、若所述第二纠错序列不符合所述条件1,则沿所述第一纠错序列中的尾字符向前选取Sm个比特作为第三纠错序列,所述Sm个比特字符为所述第一纠错序列的最大纠错范围;
S304、遍历所述第三纠错序列中所有的错误位置,按序对错误位置进行更正并且在每次更正一个错误位置后进行以下处理:
根据更正错误位置后的所述第三纠错序列对所述第一纠错序列、以及所述第二纠错序列进行对应位置的更正;
判断更正后的所述第二纠错序列是否符合所述条件1,若符合,则所述第一纠错序列纠错完成并译码出m个比特字符;若不符合,则更正下一个错误位置。
本发明实施例提供的一种信道编码和纠错译码方法,至少具有以下有益效果:
本方法首先对BDMC信道的输入矢量进行添加符号的预处理,对预处理后的输入矢量进行二元加权编码以实现对输入矢量的无损编码,提升信道传输的速率;然后对接收到数据后进行纠错译码,判断译码时通过判断译码出矢量是否符号预处理时的规律而进行检错纠错。通过理论和实验证明随着输入矢量的码长越长以及BDMC信道传输速率趋近于信道容量时,本方法纠错译码后的矢量中的误比特率趋近于0,误比特率优于极化码和LDPC码。
根据本发明的一些实施例,所述第一纠错序列纠错完成并译码出m个比特字符之后,还包括以下步骤:
获取下一组连续m个比特字符作为更新后的第一纠错序列,并跳转至步骤S302。
根据本发明的一些实施例,所述遍历所述第三纠错序列中所有的错误位置,按序对错误位置进行更正,具体包括以下步骤:
按序将错误位置进行比特取非。
根据本发明的一些实施例,所述BDMC信道包括BSC信道以及BEC信道。
根据本发明的实施例,提供了一种信道编码和纠错译码设备,包括:至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如上述的一种信道编码和纠错译码方法。
根据本发明的实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上述的一种信道编码和纠错译码方法。
附图说明
下面结合附图和实施例对本发明进一步地说明;
图1为本发明实施例提供的一种信道编码和纠错译码方法的流程示意图;
图2为本发明实施例提供的信道输出矢量Y的字符为0和1时,pcorr随ξ变化的示意图;
图3为本发明实施例提供的信道输出矢量Y的字符为0、1和e时,pcorr随ξ变化的示意图;
图4为本发明实施例提供的由式(1-5)和式(1-6)得到检错概率pcorr随l变化的示意图;
图5为本发明实施例提供的由式(1-5)和式(1-7)得到检错概率pcorr随l变化的示意图;
图6为本发明实施例提供的加权模型编码的示意图;
图7为本发明实施例提供的最大纠错范围Sm、最小检错长度lm与V值的关系结构示意图;
图8为本发明实施例提供的信噪比Eb/Ns(SNR)与pe关系结构示意图;
图9为本发明实施例提供的4种编码方法的性能比较示意图;
图10为本发明实施例提供的一种信道编码和纠错译码设备的结构示意图。
具体实施方式
下面将结合附图,对本公开实施例的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。需要说明的是,在不冲突的情况下,本公开实施例及实施例中的特征可以相互组合。另外,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本公开的每个技术特征和整体技术方案,但其不能理解为对本公开保护范围的限制。
参照图1至图9,本发明的一个实施例,提供了一种信道编码和纠错译码方法,包括以下步骤:
S100、发送端将矢量X进行预处理得到矢量X′,并对矢量X′进行二元加权编码;其中,预处理之后的矢量X′满足以下条件:
二元加权编码的过程如下:
根据编码公式Li=Li-1Ri-1F(X′i-1,r)对矢量X′进行编码,令编码后的Ln=V;其中,X′i为矢量X′中第i个字符,r为权系数,F(X′i-1,r)为X′i的加权累计分布函数,R0=1,L0=0,i∈(1,2,...,n),n为矢量X′的字符数。
以下对预处理过程进行说明:
预处理即规律性的添加符号,这里以方法一和方法二为例:其中方法一为:每个符号1后增加一个符号0;方法二为:每个符号1后增加一个符号0,然后每个符号0后增加一个符号1;需要说明的是,本方法所使用的预处理方法不仅限于方法一和方法二。
例如:原始序列为:0111010110001;
经方法一处理后为:01010100100101000010;
经方法二处理后为:011011011010110101101101010101101。
当预处理采用方法一,则条件1中的cmax=0;当预处理采用方法二,则条件1中的cmax=2;
矢量在经过BDMC信道(二元离散无记忆信道)传输之前采用预处理,使得矢量中连续的符号1的个数小于等于cmax个,例如方法二中,使得矢量连续的符号1的个数小于等于2个;这样的规律是检验数据是否发生错误的判断依据;预处理由于添加了符号,将使得信道的传输速率降低,于是对预处理后的矢量采用二元加权编码,来保障数据的传输速率。数据经BDMC信道传输后,由于BDMC信道中噪声干扰,数据可能发生错误,于是在译码时可以利用二进制序列的规律进行线性的检错和向前纠错。
当预处理采用方法一时:矢量X中每个符号1后增加一个符号0得到X′。若信道输出矢量Y(这里信道输出矢量Y表示接收端将信道中传输的序列V译码后的矢量)中任意位置出现连续的符号1的个数大于1,则数据发生错误。添加符号后,p(A)=1,矢量X′中符号0和符号1的概率分别为则方法一的检错概率为:
其中,ξ为误比特率。
当矢量X中符号1的概率p(1)=0.5时,当p(1)=0.5,ξ=0时,即存在均误判概率,这是因为信道输出矢量Y中任意位置连续的符号0的个数发生错误时,无法通过事件“连续的符号1的个数大于cmax”进行判断。
当预处理采用方法二时:矢量X中每个符号1后增加一个符号0,然后再每个符号0后增加一个符号1得到矢量X′。添加符号后,矢量X′中符号0和符号1的概率分别为显然,添加符号的过程是可逆的,且矢量X′任意位置满足“每个符号0被一个或两个符号1隔开”。矢量X′中存在两个独立的判据:任意位置连续的符号0的个数小于等于1;任意位置连续的符号1的个数小于等于2。
令事件A为矢量X中任意位置满足“连续的符号0的个数小于等于1”;事件B为信道输出矢量Y中任意位置满足“连续的符号0的个数小于等于1”。事件A的概率为:
令事件C为矢量X中任意位置满足“连续的符号1的个数小于等于2”;事件D为信道输出矢量Y中任意位置满足“连续的符号1的个数小于等于2”。事件C的概率为:
若信道输出矢量Y的字符为0和1,可得:p(B)=p(A)+ξ-2ξp(A),p(D)=p(C)+ξ-2ξp(C);若信道输出矢量Y的字符为0、1和e;将e替换为符号1,可得p(B)=(1-ξ)p(A),p(D)=(1-ξ)p(C)。由于信道输出矢量Y必须同时满足事件B和事件D,且p(BD)在p(B)和p(D)各计算了一次,所以检错概率为:
pcorr=p(B∪D)=p(B)+p(D)-p(BD) (1-4)
因为矢量X′任意位置满足“每个符号0被一个或两个符号1隔开”,所以两个判据都满足通过事件“连续的符号1的个数大于cmax”可以判断信道输出矢量Y是否发生错误。若矢量X中p(0)=p(1)=0.5时,则矢量X′中符号0和符号1的概率分别为是和将和代入(1-2)和(1-3)中得 若信道输出矢量Y的字符为0和1,得 若信道输出矢量Y的字符为0、1和e;则 由此,检错概率越大,则利用事件“连续的符号1的个数大于cmax”发现信道输出矢量Y中比特错误的能力越强。当pcorr=1时,可发现信道输出矢量Y中所有比特错误。令矢量X中p(1)=0.5,0≤ξ≤1,信道输出矢量Y的字符为0和1时,pcorr随ξ变化如图2所示。信道输出矢量Y的字符为0、1和e时,pcorr随ξ变化如图3所示。
由图可以得知,方法二比方法一发现错误的能力强;
BDMC信道输入矢量X′符合方法一或方法二的规律,信道输出矢量Y中1个比特共有2种可能性,其中有m个序列符合方法一或方法二所述之规律。显然,m种序列中只有一个序列是正确的,误比特率是均匀分配给了2l-1种可能序列,所以误判概率perr为:
pcorr=1-perr,pcorr为l个比特的二进制序列符合规律的概率,是发现矢量Y中错误的概率。perr为事件“连续的符号1的个数大于cmax”无法发现矢量Y中比特错误的概率。经统计,方法一中m是l(l≥1)的斐波那契数列。
ml=ml-1+ml+2 (1-6)
l=1,m1=2,pcorr=0.5;l=2,m2=2,pcorr=0.5;l=1,m3=4,pcorr=0.5,类推当l≥4,由式(1-5)和式(1-6)得到检错概率pcorr随l变化如图4所示。方法二中m是l(l≥1)的帕多瓦数列。
ml=ml-2+ml-3 (1-7)
l=1,m1=2,pcorr=0.5;l=2,m2=3,pcorr=0.5;l=3,m3=4,pcorr=0.625,类推当l≥4,由式(1-5)和式(1-7)得到检错概率pcorr随l变化如图5所示。
由图可以看出,检错概率pcorr随l趋近于1,即:
若l有限确定值,pcorr可通过(1-5),(1-6),(1-7)计算得出。
由此可以得出结论:BDMC信道的输入矢量X′的码长越长,则检错概率越高,且liml→∞pcorr=1。证明如下:m的值由(1-5),(1-6),(1-7)计算得出,当l趋近于无穷时,趋近于0,所以liml→+∞pcorr=1。
以下对二元加权编码过程进行说明:
F(X)=∑j≤ip(aj) (1-9)
令离散矢量(或离散序列)X′=(X1,X2,...,Xi,...,Xn),Xi∈A,且令F(Xi-1)=F(Xi)-p(Xi),则矢量X′的加权分布函数记为F(X′,r)。
将满足(1-10)的加权分布函数的集合定义为加权概率模型,简称加权模型,记为{F(X′,r)}。当r=1时:
其中,Xi∈A,n=1,2,3,...。因Xi必须取A中的值,所以p(ai)>0,i=1,2,...,k。显然公式(1-12)、(1-13)、(1-14)为区间列,[Li,Hi)是矢量X′在时刻i(i=0,1,2,...,n)变量Xi对应的区间上下标,Ri=Hi-Li是区间的长度。将(1-12)、(1-13)、(1-14)用迭代式表达为:
Ri=Ri-1rp(Xi);Li=Li-1+Ri-1F(Xi-1,r);Hi=Ri+Li;(1-15)
以方法一为例,令r>1,且矢量X′从i+1位置开始的3个符号为0,1,0。根据(1-15)加权模型的编码过程如图6所示。
根据图6,当Hi+3>Hi+1时,因区间[Hi+1,Hi+3)∈[Hi+1,Hi+1+Ri),并且[Hi+1,Hi+1+Ri)与符号1对应,所以第i+1个符号0可能被错误译码为符号1。当Hi+3≤Hi+1时,则[Li+3,Hi+3)∈[Li+1,Hi+1)。如图6中[Li+1,Hi+1)与符号0唯一对应,所以i+1位置的符号0被Li+3正确译码,且i+2和i+3位置上的符号1和符号0也能正确译码。当0<r≤1时,任意时刻都有[Li+1,Hi+1)∈[Li,Hi),可无损译码。由于F(0-1)=0,F(0)=p(0),由((1-12)、(1-13)、(1-14)可得:
因为Hi+3≤Hi+1,所以:
令rmax为r的最大值,显然rmax仅在矢量X′中呈现规律为“每个1被一个0隔开”才能通过Li完整译码。设矢量X′中第i+1个位置起有c+2(c=1,2,3,...)个符号为0,1,...,1,0,其中符号1的联系个数为c,因Hi+c+2≤Hi+1,根据(1-12)、(1-13)、(1-14)有:
rp(0)+r2p(0)p(1)+r3p(0)p(1)2+…+rc+1p(0)p(1)c≤1 (1-19)
通过解不等式(1-19)可得rmax。
设{[Ln,Hn]}为定义在离散矢量X′=(X1,X2,...,Xi,...,Xn)(Xi∈A={0,1})上的加权模型区间列,矢量X′中连续的符号1的个数小于等于cmax,rmax为最大加权系数,如果满足:
以及0<r≤rmax;则称{[Ln,Hn]}为二元加权模型的半闭半开区间列,简称二元加权模型区间列。
该二元加权模型区间列至少具有以下性质:
性质1:存在唯一实数Ln∈[Li,Hi)(i=1,2,...,n),使得Ln<Hn∧Ln<Hn-1∧...∧Ln<H1;证明如下:根据上式(1-11)易得,0≤c≤cmax,0≤r≤rmax需同时满足,且Hi+c+2≤Hi+1,由于Ln∈[Li+c+2,Hi+c+2)(i=1,2,...,n),所以当0≤c≤cmax且0≤r≤rmax,有Ln<Hn∧Ln<Hn-1∧...∧Ln<H1。
性质2:通过Ln可以完整的还原矢量X′;证明如下:因[Li,Hi)(i=1,2,...,n)与变量Xi为唯一的映射关系,所以当Ln∈[Li,Hi)(i=1,2,...,n)时,得出唯一的符号Xi,从而完整的得出矢量X′。
可以得出以下结论:cmax=1,符号0和符号1的加权概率为和时,通过Ln可完整还原矢量X′。证明如下:设矢量X′中连续符号1个数的最大值为cmax,令有 假设则 当时,Ln>Hi+1,不满足上述性质1,则假设不成立,所以
上述二元加权模型的信息熵如下:
于是平均每个符号的信息量为:
令H(X,r)为:
若满足r=rmax(rmax为加权概率模型无损编码的最大权系数),则称H(X,rmax)为加权模型的信息熵。
由于任意r>rmax均是无法完整还原随机序列。当0<r≤1时,-logr+H(X)≥H(X);当0<r≤rmax时,-logr+H(X)<H(X),最小值为-logrmax+H(X)。所以H(X,rmax)为无失真编码的最小极限。
根据上述分析,在确定随机序列存在已知规律情形下,二元加权编码方法是利用概率加权的方式实现无损编译码的方法。由于二元加权编码方法在译码时可以维持随机序列的规律,所以本实施例利用这些规律实现检错纠错。本实施例采用的二元加权编码方法和传统熵编码方法的最大区别:传统熵编码通过人为去除随机序列存在已知规律然后再进行编码,比如二进制序列存在规律“每个符号1被一个和多个符号0隔开”,传统熵编码会将二进制序列中的子串“10”替换成符号1,然后利用归一化的概率进行编码,这样才能使得压缩结果接近熵极限。
以方法二为例,本步骤S100中,发送端将矢量X进行预处理得到矢量X′,并对所述矢量X′进行二元加权编码的过程如下:
第一步、初始化参数,设R0=1,L0=0,i=1;(方法二中cmax=2,根据上述结论有),V=0(V为加权模型编码后Li的值);信道输入矢量X,且Xi∈{0,1}(预处理通过第三步和第四步完成,所以不是X′)。
第二步、输入第i个符号,若第i个符号为符号0,则转第三步;若第i个符号为符号1,则转第四步。
第五步、i=i+1,若i≤n,则转第二步;若i>n,V=Ln,结束编码;
S200、发送端将序列V经BDMC信道发送至接收端。
BDMC信道(二元离散无记忆信道),本实施例优选其中的BSC(二进制对称信道)信道和BEC信道(二进制擦除信道)进行说明。
S300、接收端接收序列V后,对序列V进行纠错译码:
S301、令m个比特字符为固定窗口,获取序列V中当前连续m个比特作为第一纠错序列。
S302、沿第一纠错序列中的首字符向后译码出lm个比特作为第二纠错序列,lm个比特为检验第一纠错序列必然发生比特错误的最小译码长度。
由上可知l的大小决定了检验过程是否可靠,于是存在一个最小的l,记为lm,lm是检验V中m个比特必然发生错误的最小译码长度。
这里以方法二为例,对最小译码长度(即lm个比特)进行说明:
方法二中,因为即符号1不携带信息量,所以矢量X′中编码个符号0必然输出m个比特。令二元加权译码时,c个符号0在信道输出矢量Y(即接收端收到的V纠错译码后出的矢量)中的分布状态未知。c个符号0信道输出矢量Y中的分布存在两种极端状态,完全稀疏分布如011011011...,此时m=3c;完全密集分布如0101010...,此时lm=2c。显然,当lm=3c时,能够满足c个符号0在信道输出矢量Y中的所有分布状态。当误比特发生在m个比特的最后位置(如图7所示),则最多已经译码出3c个比特,然后仍需向后译码3c个比特,并判断信道输出矢量Y是否符合规律。当时,才能完整判断m个比特是否发生错误。由于每个符号0均被一个或两个符号1隔开,即最多连续译码出一个符号0,且符号1没有信息量,只表达了方法二处理后信道输入输出矢量的形态特征,即最多连续译码出两个符号1,所以方法二的线性检错过程更灵敏,检错长度仅需m。
需要说明的是,这里根据预处理方法的不同,最小译码长度(即lm个比特)是不同的。
S303、若第二纠错序列符合条件1,则第一纠错序列纠错完成并译码出m个比特字符,获取下一组连续m个比特字符作为更新后的第一纠错序列,并跳转至步骤S302;若第二纠错序列不符合条件1,则沿第一纠错序列中的尾字符向前选取Sm个比特作为第三纠错序列,Sm个比特字符为第一纠错序列的最大纠错范围。
这里以方法二为例,对最大纠错范围(即Sm个比特)进行说明:
证明固定译码个比特的二进制序列,在lm个比特的二进制序列中,若符号0密集分布(方法二中符号0密集分布仅一种可能性,如10101010...),则符号0的个数为因个符号0编码后的比特数最多,所以由lm个比特的二进制序列,编码后最多输出个比特。所以V中比特错误只发生在3m个比特内。
令Sm=3m,则Sm为最大纠错范围。最大纠错范围Sm、最小检错长度lm与V值的关系如图7所示。
根据图7,显然,若能准确的找到错误比特的位置,通过比特取非的方式可实现BSC信道纠错;将V中符号e替换成符号1的方式可实现BEC信道纠错。
需要说明的是,这里根据预处理方法的不同,最大纠错范围(即Sm个比特)是不同的。
S304、遍历第三纠错序列中所有的错误位置,按序对错误位置进行更正并且在每次更正一个错误位置后进行以下处理:
根据更正错误位置后的第三纠错序列对第一纠错序列、以及第二纠错序列进行对应位置的更正;判断更正后的第二纠错序列是否符合条件1,若符合,则第一纠错序列纠错完成并译码出m个比特字符,获取下一组连续m个比特字符作为更新后的第一纠错序列,并跳转至步骤S302;若不符合,则更正下一个错误位置。
以下举例说明接收端在接收到序列V后,对序列V的纠错译码过程:
以预处理为方法二,传输信道为BSC信道为例,具体过程如下:
第四步、若前一个符号为0,输出符号0,转第六步;否则V中当前3m比特中发生错误,转第七步;
第五步、若前一个符号为10,输出符号1,转第六步;否则V中当前3m比特中发生错误,转第七步;
第六步、i=i+1,若i≤n,则转步骤A200;若i>n,则转第八步;
第七步、遍历3m比特中所有可能的错误,将遍历的错误位置对应的比特取非,则V被更新了。然后用当前3m比特的新的V值译码个比特的二进制序列。若该序列符合规律“每个符号0被一个或两个符号1隔开”则说明错误被纠正;否则继续遍历下一种可能的错误。
第八步、译码完成。
以下举例说明对序列V的具体纠错过程:
以预处理为方法二,传输信道为BSC信道为例,具体过程如下:
基于方法二,BSC信道的纠错过程分为以下步骤。
第一步、按序获取V中第1个到第m个比特,共m个比特。
第二步、至少向后译码lm(这里)个比特的二进制序列,若序列符合规律“每个符号0被一个或两个符号1隔开”,则输出当前m个比特译码出的二进制序列;若序列不符合规律,则以第m个比特位置开始,向前最多进行3m个比特的纠错,不够3m比特时按实际长度向前纠错。比特错误可能出现在3m个比特中的任意位置。
例如:m=2,e=2时,用符号0代表正确位置,用符号1代表错误位置,则种可能性排序后结果如000001,000010,...,100000,000011,000101,...,100001,000110,001010,...。
显然,纠错过程就是按序遍历种可能性,每一种可能性中符号1代表错误比特的位置,将V中获取的3m个比特对应位置进行比特取非。例如m=2,e=2时,设3m个比特序列为101100,第1种错误比特位置的可能性为000001,根据第1种可能性中1所对应的比特位置对101100进行比特取非,得101101。
取非后V被更新,然后以首个取非位置为起点,获取更新后V值中m个比特(记为m′),向后译码个比特的序列,判断序列是否符合规律,若序列不符合规律则检验下一种可能性;若序列符合规律则错误被纠正,输出m′所译码出的比特序列。于是V值中第1个到第m个比特通过纠错并译码完成。
第四步、获取V值中第m+1个到第2m个比特,重复第三步和第四步进行纠错译码,依此迭代。
第五步,V的末尾纠错,因为V值传输到最后不足以译码lm个比特。可在V值后补充0值再译码m个比特,显然,超出矢量X总长度的部分,只能输出符号0,若输出符号1则说明V的最后部分传输出错。由于发送端发送的矢量X的总长度(记为n)已知,补充0值后输出m个比特,若大于n的比特位置上输出了符号1,则说明V最后3m个比特中发生了比特错误,通过第三步进行纠错即可。
显然,BEC信道也可以采用上述纠错译码方法。设V在接收时,当前m个比特中存在t个错误符号e,将符号e替换为符号1,于是BEC信道通过遍历2t种错误可能性进行纠错译码。二元加权编码方法是线性的,V中任何的比特错误都将造成过后续译码结果全部错误。
当码长趋近于无穷时,经二元加权编码方法纠错后信道输出矢量Y中误比特率趋近于0。证明如下:当e=3m且m趋近于无穷时,lm趋近无穷,则序列V的码长趋近于无穷,有pcorr=1,所以对种错误类型进行检验时,可发现纠错译码后信道输出矢量Y中任何比特错误,于是仅唯一一种可能性能够通过纠错译码后得到正确的矢量信道输出矢量Y。
以BSC信道为例,BPSK信号BSC信道的误比特率为:
其中,erf为误差函数。相应的信道容量为C=1-H(ε)=1+εlog2ε+(1-ε)log2(1-ε)。令传输时存在的误比特率为ξ,可得方程R(1+ξlog2ξ+(1-ξ)log2(1-ξ))=C。根据上述结论:“当码长趋近于无穷时,经二元加权编码方法纠错后信道输出矢量Y中误比特率趋近于0”,当m趋近于无穷时且e=3m时,ξ趋近于0,所以R趋近于C,信道容量可达。
设BDMC信道输入矢量为X′=(X1,X2,...,Xi,...)(Xi∈{0,,1}),其中p(0)=p(1)=0.5。基于上述结论:“cmax=1,符号0和符号1的加权概率为和时,通过Ln可完整还原矢量X′”,cmax=1,符号0和符号1的加权概率为和时,通过Ln可完整还原矢量X′,有若BDMC信道输出矢量Y中误比特率ξ=0,则根据上述结论:“H(X,rmax)为加权模型无失真编码的最小极限”,BDMC信道中平均传输每个符号所携带的信息量(即每个符号所需的比特)为:
H(X,r)=-log2 rmaxp(0)-p(1)log2 rmaxp(1) (1-28)
通过(1-27)计算,d=2时,每个二进制符号携带信息量为1比特,d=3时,每个二进制符号携带信息量为1.5849625比特,则编码后平均每个比特能携带的信息量为若信道输入n个符号,且总的信息量为nH(X)(bit),则矢量X通过BDMC信道传输的总信息量为即BDMC信道平均每个符号能传送的信息量为基于二元加权编码的码率为:
若e=3m且m为有限值,则BDMC信道经过二元加权编码方法纠错译码后信道输出矢量Y中的误比特率为perr。于是BSC信道传输速率RBSC和BEC信道传输速率RBEC为:
当m,ε和e确定是,pe为二元加权编码方法无法纠错的概率。e=3m时3m个比特中出现3m+1个错误的情形不存在,于是pe=0。
以下为本方法在BSC信道的仿真实验数据:
基于方法一或方法二设置d的值,仿真BPSK信号BSC信道传输41943040bit的二进制随机序列(随机序列中符号0和符号1的概率接近0.5,即矢量X中p(0)≈p(1)),实验得出传输速率如下表所示:
表1
从表1可以得出实验结果满足上述结论:“H(X,rmax)为加权模型无失真编码的最小极限”。而由于上述结论:“当码长趋近于无穷时,经二元加权编码方法纠错后矢量Y中误比特率趋近于0”,无法在实验室中实现。令m=32,根据上述最小译码长度(即lm个比特)以及最大纠错范围(即Sm个比特)的结论,有lm=122bit,Sm=96bit,当lm=122bit时,perr=2.50254*10-22(perr为个比特的二进制序列符合规律的概率,是发现信道输出矢量Y中错误的概率)于是发现错误的概率perr≈1。根据式(1-26)和(1-32)当e=7,15,25时信噪比Eb/Ns(SNR)与pe(使用二元加权编码方法无法纠错的概率)的关系如图8所示;
在图8中,e越大,二元加权编码方法所需要的信噪比越低。因pcorr≈1(pcorr为检错概率),所以二元加权编码方法无法纠错的情形均可被发现。可构建上述检错重传和向前纠错于一体的信道编码算法,即存在概率1-pe可直接纠错,存在概率pe需重新传输。
令d=3.999,m=32,e=7,12,16,18,由表1可得码率为1/2。仿真BI-AWGN信道,码率为1/2,本文方法和Polar、Turbo码长为1024,LDPC的码长为1056。Turbo码基于WCDMA和LTE标准,Log-MAP解码算法最大迭代Imax=8。LDPC码基于WiMax标准,采用标准BP算法,且最大迭代Imax=200。极化码基于循环冗余码(CRC)辅助的列表串行消除(Successive-Cancellation List,SCL)译码算法(CRC-Asistant SCL)构造,列表大小为32,最大尺寸为1024。仿真实验得出4种编码方法的性能比较如图9所示,仿真帧数大于105。
由图9可得本文方法纠错性能优于LDPC码和极化码,当e=18时,二元加权编码方法相比Polar码有0.6dB的增益,相比于LDPC码有0.8~1.0dB的增益。
本实施例提供的一种信道编码和纠错译码方法,通过发送端对BDMC信道的输入矢量进行添加符号的预处理,对预处理后的输入矢量进行二元加权编码以实现对输入矢量的无损编码,提升信道传输的速率;接收端接收到数据后进行纠错译码,判断译码时通过判断译码出矢量是否符号预处理时的规律而进行检错纠错。通过理论和实验证明随着输入矢量的码长越长以及BDMC信道传输速率趋近于信道容量时,本方法纠错译码后的矢量中的误比特率趋近于0,误比特率优于极化码和LDPC码。本方法易于软硬件实现,可自适应于信道的干扰情况,可以通过增大码长和BDMC信道传输速率的值提高纠错能力。
参照图10,本发明的一个实施例,还提供了一种信道编码和纠错译码设备,该信道编码和纠错译码设备可以是任意类型的智能终端,例如手机、平板电脑、个人计算机等。
具体地,该信道编码和纠错译码设备包括:一个或多个控制处理器和存储器,图10中以一个控制处理器为例。控制处理器和存储器可以通过总线或者其他方式连接,图10中以通过总线连接为例。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本发明实施例中的信道编码和纠错译码设备对应的程序指令/模块,控制处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而实现上述实施例所述的一种信道编码和纠错译码方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储产生的数据。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于控制处理器远程设置的存储器,这些远程存储器可以通过网络连接至该信道编码和纠错译码设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个控制处理器执行时,执行上述方法实施例中的一种信道编码和纠错译码方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,被图10中的一个控制处理器执行,可使得上述一个或多个控制处理器执行上述方法实施例中的一种信道编码和纠错译码方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现。本领域技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ReadOnly Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所述技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
Claims (7)
1.一种信道编码和纠错译码方法,其特征在于,包括以下步骤:
S100、发送端将矢量X进行预处理得到矢量X′,并对所述矢量X′进行二元加权编码;其中,预处理之后的所述矢量X′满足以下条件:
所述二元加权编码的过程如下:
根据编码公式Li=Li-1Ri-1F(X′i-1,r)对所述矢量X′进行编码,令编码后的Ln=V;其中,X′i为矢量X′中第i个字符,r为权系数,F(X′i-1,r)为X′i的加权累计分布函数,R0=1,L0=0,i∈(1,2,…,n),n为所述矢量X′的字符数;
S200、发送端将序列V经BDMC信道发送至接收端;
S300、接收端接收所述序列V后,对所述序列V进行纠错译码:
S301、以m个比特字符为窗口,获取所述序列V中连续m个比特作为第一纠错序列;
S302、沿所述第一纠错序列中的首字符向后译码出lm个比特作为第二纠错序列,所述lm个比特为检验所述第一纠错序列必然发生比特错误的最小译码长度;
S303、若所述第二纠错序列不符合所述条件1,则沿所述第一纠错序列中的尾字符向前选取Sm个比特作为第三纠错序列,所述Sm个比特字符为所述第一纠错序列的最大纠错范围;
S304、遍历所述第三纠错序列中所有的错误位置,按序对错误位置进行更正并且在每次更正一个错误位置后进行以下处理:
根据更正错误位置后的所述第三纠错序列对所述第一纠错序列、以及所述第二纠错序列进行对应位置的更正;
判断更正后的所述第二纠错序列是否符合所述条件1,若符合,则所述第一纠错序列纠错完成并译码出m个比特字符;若不符合,则更正下一个错误位置。
2.根据权利要求1所述的一种信道编码和纠错译码方法,其特征在于,所述S303中,还包括以下步骤:
若所述第二纠错序列符合所述条件1,则所述第一纠错序列纠错完成并译码出m个比特字符;
获取下一组连续m个比特字符作为更新后的第一纠错序列,并跳转至步骤S302。
3.根据权利要求1所述的一种信道编码和纠错译码方法,其特征在于,所述第一纠错序列纠错完成并译码出m个比特字符之后,还包括以下步骤:
获取下一组连续m个比特字符作为更新后的第一纠错序列,并跳转至步骤S302。
5.根据权利要求1至4任一项所述的一种信道编码和纠错译码方法,其特征在于,所述BDMC信道包括BSC信道以及BEC信道。
6.一种信道编码和纠错译码设备,其特征在于,包括:至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如权利要求1至5任一项所述的一种信道编码和纠错译码方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至5任一项所述的一种信道编码和纠错译码方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010105029.1A CN111294058B (zh) | 2020-02-20 | 2020-02-20 | 一种信道编码和纠错译码方法、设备以及存储介质 |
PCT/CN2020/078295 WO2021164064A1 (zh) | 2020-02-20 | 2020-03-06 | 一种信道编码和纠错译码方法、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010105029.1A CN111294058B (zh) | 2020-02-20 | 2020-02-20 | 一种信道编码和纠错译码方法、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111294058A CN111294058A (zh) | 2020-06-16 |
CN111294058B true CN111294058B (zh) | 2020-11-24 |
Family
ID=71027502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010105029.1A Active CN111294058B (zh) | 2020-02-20 | 2020-02-20 | 一种信道编码和纠错译码方法、设备以及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111294058B (zh) |
WO (1) | WO2021164064A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112883386B (zh) * | 2021-01-15 | 2024-02-13 | 湖南遥昇通信技术有限公司 | 一种数字指纹处理及签名处理方法、设备及存储介质 |
CN113556381B (zh) * | 2021-06-15 | 2022-09-30 | 湖南幻影三陆零科技有限公司 | Http请求的优化方法、终端以及存储介质 |
CN113783659A (zh) * | 2021-08-24 | 2021-12-10 | 湖南遥昇通信技术有限公司 | 基于二进制擦除信道的数据处理方法、设备及介质 |
CN113922947B (zh) * | 2021-09-18 | 2023-11-21 | 湖南遥昇通信技术有限公司 | 一种基于加权概率模型的自适应对称编码方法以及*** |
CN113938273B (zh) * | 2021-09-30 | 2024-02-13 | 湖南遥昇通信技术有限公司 | 可对抗量并行计算攻击的对称加密方法以及*** |
CN114039718B (zh) * | 2021-10-18 | 2023-12-19 | 湖南遥昇通信技术有限公司 | 自适应加权概率模型的Hash编码方法以及*** |
CN115883023B (zh) * | 2023-01-29 | 2023-05-26 | 北京蓝玛星际科技有限公司 | Gsm纠错译码方法、设备、装置及存储介质 |
CN117220832B (zh) * | 2023-11-07 | 2024-03-15 | 苏州联讯仪器股份有限公司 | 一种误码***方法、装置、***及计算机存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109450596A (zh) * | 2018-11-12 | 2019-03-08 | 湖南瑞利德信息科技有限公司 | 编码方法、解码方法、编码设备、解码设备、存储介质及终端 |
CN110311689A (zh) * | 2018-03-22 | 2019-10-08 | 中兴通讯股份有限公司 | 一种Polar码的译码方法、装置及计算机可读存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2194648A1 (en) * | 2008-12-03 | 2010-06-09 | Electronics and Telecommunications Research Institute | MPE-FEC RS decoder and decoding method thereof |
US10412414B2 (en) * | 2012-08-13 | 2019-09-10 | Gurulogic Microsystems Oy | Decoder and method for decoding encoded input data containing a plurality of blocks or packets |
EP3151458B1 (en) * | 2015-10-02 | 2019-03-20 | Mitsubishi Electric R&D Centre Europe B.V. | A method for determining features of an error correcting code system |
EP3376672B1 (en) * | 2017-03-13 | 2019-09-18 | Mitsubishi Electric R & D Centre Europe B.V. | Method for dynamically configuring a divide and conquer structure of a polar-code based encoder |
CN106972865B (zh) * | 2017-03-20 | 2020-05-08 | 中山大学 | 一种递归的分组马尔可夫叠加编码方法 |
EP3480959B1 (en) * | 2017-11-03 | 2020-05-13 | Mitsubishi Electric R & D Centre Europe B.V. | Belief propagation decoding of polar codes with prioritized updating of kernels which have not reached stability |
CN108416427A (zh) * | 2018-02-22 | 2018-08-17 | 重庆信络威科技有限公司 | 卷积核堆积数据流、压缩编码以及深度学习算法 |
CN110474876B (zh) * | 2019-07-15 | 2020-10-16 | 湖南遥昇通信技术有限公司 | 一种数据编码解码方法、装置、设备以及存储介质 |
CN110635807B (zh) * | 2019-08-05 | 2022-10-21 | 湖南遥昇通信技术有限公司 | 一种数据编码方法及译码方法 |
-
2020
- 2020-02-20 CN CN202010105029.1A patent/CN111294058B/zh active Active
- 2020-03-06 WO PCT/CN2020/078295 patent/WO2021164064A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110311689A (zh) * | 2018-03-22 | 2019-10-08 | 中兴通讯股份有限公司 | 一种Polar码的译码方法、装置及计算机可读存储介质 |
CN109450596A (zh) * | 2018-11-12 | 2019-03-08 | 湖南瑞利德信息科技有限公司 | 编码方法、解码方法、编码设备、解码设备、存储介质及终端 |
Also Published As
Publication number | Publication date |
---|---|
WO2021164064A1 (zh) | 2021-08-26 |
CN111294058A (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111294058B (zh) | 一种信道编码和纠错译码方法、设备以及存储介质 | |
CN108462558B (zh) | 一种极化码scl译码方法、装置及电子设备 | |
CN107517095B (zh) | 一种非均匀分段校验的极化码编译码方法 | |
CN107026656B (zh) | 一种基于扰动的CRC辅助中短码长Polar码有效译码方法 | |
CN106888026B (zh) | 基于lsc-crc译码的分段极化码编译码方法及*** | |
CN111478885B (zh) | 一种非对称加解密方法、设备及存储介质 | |
CN101345601B (zh) | 一种译码方法和译码器 | |
CN109547034B (zh) | 译码方法及设备、译码器 | |
CN112039531A (zh) | 杰林码纠错优化方法及装置 | |
CN102412846B (zh) | 一种适用于低密度奇偶校验码的多值修正最小和解码方法 | |
CN110233698B (zh) | 极化码的编码及译码方法、发送设备、接收设备、介质 | |
Wang et al. | A low-complexity belief propagation based decoding scheme for polar codes-decodability detection and early stopping prediction | |
Doan et al. | Neural dynamic successive cancellation flip decoding of polar codes | |
Lu et al. | Deep learning aided SCL decoding of polar codes with shifted-pruning | |
CN106998240A (zh) | 一种译码方法及译码器 | |
CN107181567B (zh) | 一种基于门限的低复杂度mpa算法 | |
CN111130567B (zh) | 添加噪声扰动和比特翻转的极化码置信传播列表译码方法 | |
CN110190857B (zh) | 一种crc辅助校验极化码译码方法和智能终端 | |
Hashemi et al. | Deep-learning-aided successive-cancellation decoding of polar codes | |
US11387849B2 (en) | Information decoder for polar codes | |
CN114519346A (zh) | 基于语言模型的译码处理方法、装置、设备和介质 | |
US11184035B2 (en) | Soft-input soft-output decoding of block codes | |
CN114362763A (zh) | 联合译码方法及装置、存储介质及电子设备 | |
CN113242045A (zh) | 一种极化码的高效译码方法、译码装置及计算机可读存储介质 | |
CN111835363A (zh) | 基于交替方向乘子法的ldpc码译码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |