CN113300723A - 基于最大似然删除位置搜索的mgc码快速译码方法 - Google Patents

基于最大似然删除位置搜索的mgc码快速译码方法 Download PDF

Info

Publication number
CN113300723A
CN113300723A CN202110580084.0A CN202110580084A CN113300723A CN 113300723 A CN113300723 A CN 113300723A CN 202110580084 A CN202110580084 A CN 202110580084A CN 113300723 A CN113300723 A CN 113300723A
Authority
CN
China
Prior art keywords
sequence
deletion
error
decoding
block
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
Application number
CN202110580084.0A
Other languages
English (en)
Other versions
CN113300723B (zh
Inventor
慕建君
曹子浩
焦晓鹏
马国臣
韩辉
赵展展
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN202110580084.0A priority Critical patent/CN113300723B/zh
Publication of CN113300723A publication Critical patent/CN113300723A/zh
Application granted granted Critical
Publication of CN113300723B publication Critical patent/CN113300723B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明公开了一种基于最大似然删除位置搜索的MGC码快速译码方法,主要解决现有GC码编译码性能低的问题。其方案是:在GC码上周期性插入Marker序列得到MGC码;根据Marker序列建立网格图;通过删除位置搜索得到每块发生删除错误数量,推断初始删除错误位置集合,并计算另外两个删除错误位置集合;猜测删除错误模式得到待译码符号序列;通过MDS码对待译码符号序列进行译码得到译码符号序列;判断译码符号序列是否可行;根据是否有唯一可行的译码符号序列与删除错误位置集合是否可以扩大,判断译码完成情况。本发明缩小了GC码删除错误模式的搜索/猜测空间,提高了译码速度,可用于纠正信息传输中发生的多个删除错误。

Description

基于最大似然删除位置搜索的MGC码快速译码方法
技术领域
本发明属于通信技术领域,更进一步涉及一种带标记的猜测校验码MGC快速译码方法,可用于纠正信息传输或存储中发生的多个删除错误。
背景技术
近年来,随着通信系统传输速率的提高和存储系统容量的增加,接收端在获取信息时由于制造工艺的限制等原因导致产生插入/删除错误,从而导致发生同步错误。同步错误,即在信息传输过程中插入或删除一些比特,导致发送和接收的信息序列不同步现象。一般情况下,插入/删除错误会对信息传输造成灾难性后果。可能产生同步错误的两类典型数字存储系统如下:(1)高密度磁存储系统:作为一种高密度磁存储技术,最近提出的比特格式媒介BPM会产生插入和删除错误。(2)赛道存储:赛道存储是IBM公司提出的一种基于电子自旋原理的非易失性存储技术。赛道存储中发生的位置错误主要包括信息比特的删除和粘性插入两类。
一般情况下,产生同步错误的信道是有记忆的,而针对无记忆信道和加性噪声设计的传统纠错码技术无法直接应用于纠正插入/删除错误。目前,纠删除/插入错误码主要有两类:一是基于代数方法的纠删除/插入错误码,其包括VT码。VT码是可以纠正Z-信道中非对称错误的一类著名纠错码。已经证明了VT码可以用来纠正单个插入/删除错误。二是纠删除错误的级联码,其包括猜测校验码GC。GC码可以纠正多个删除错误,有望应用于赛道存储、高密度磁存储技术比特格式媒介BPM、DNA存储与文件同步中。目前,GC码等纠正插入/删除错误码研究成为近年来信道编码技术领域普遍关注的研究热点。
Hanna等人在其发表的论文“Guess&Check Codes for Deletions,Insertions,and Synchronization)(IEEE Trans.Inf.Theory,2019,65(1),pp.3-15)中提出了可以纠正多个删除错误的GC码编译码方法。该译码方法通过穷举搜索/猜测所有的错误模式空间来校验删除错误模式。该译码方法的不足之处在于,随着删除错误数目的增加其译码复杂度非常高,译码速度较慢。
发明内容
本发明的目的是针对上述已有技术的不足,提出一种基于最大似然删除位置搜索的带标记的猜测校验码MGC快速译码方法,以缩小删除错误模式的搜索或猜测空间,提高译码速度。
为了实现上述目的,本发明的技术思路是:借助于MGC码周期性插入的标记,建立表示每段子序列漂移状态的网格图,通过网格图上的最大似然删除位置搜索方法,推断出MGC码删除错误位置集合,并猜测与校验该位置集合中的删除错误模式。从而缩小了GC码删除错误模式的搜索/猜测空间,提高译码速度。
根据上述思路,本发明的实现方案如下:
A)在GC码上周期性的插入Marker序列,构造出带标记的猜测校验码MGC;
B)利用周期性插入的Marker序列,建立表示每段子序列漂移状态的网格图,并记录网格图中各个节点间的转移概率,得到转移概率表L(m′|λ),其中m′表示由该块对应的Marker序列转化后的十进制数值,λ表示该块发生的删除错误数目;
C)通过网格图上的最大似然删除位置搜索,得到各位置发生的删除错误数量,进而推断出MGC码删除错误位置集合:
C1)设接收的二元序列为x',将x'的前v×b-δ个比特设置为r,其中,b表示MGC码的一个块长度,v表示信息序列的块数,δ表示最大删除错误数量;
C2)计算网格图中节点概率Pr(r|di,ω):
Figure BDA0003085830770000021
其中,Pr(r|di-1,μ)表示当前计算节点di,ω的前一个节点di-1,μ的概率值;Pr(ri′|di-1,μ,di,ω)表示节点di-1,μ到节点di,ω之间的转移概率,即转移概率表L(m′|λ)中的第L(ri′|ω-μ)个点对应的值;
Figure BDA0003085830770000022
表示将
Figure BDA0003085830770000023
按标准规则转换得到的十进制数;
Figure BDA0003085830770000024
表示序列r中的第ib-ω-2比特到ib-ω比特的子序列;i∈[1,v]表示网格图中的第i行,也表示序列r中的第i块;ω∈[0,δ]表示序列r的第i块之前可能发生删除错误的个数;
C3)计算网格图中的漂移状态的最大似然路径ZML
Figure BDA0003085830770000025
C4)设置一个一维数组D,记录最大似然路径ZML上各个节点之前发生的删除错误数量到数组D中;
C5)计算每块发生的删除错误数量d=(d1,...,di,...,dv),其中,di=D[i]-D[i-1],D[i]表示数组D中第i个元素,也表示序列r的第i块之前发生的删除错误数量,di表示第i块发生的删除错误数量;
C6)根据d组成一个删除错误位置集合
Figure BDA0003085830770000031
D)利用删除错误位置集合
Figure BDA0003085830770000032
与最大删除错误数量δ,猜测该位置集合中所有的删除错误模式,即找出δ个删除错误在删除错误位置集合中的分布方式,并校验这些删除错误模式对应的译码符号序列,得到可行译码符号序列;
E)根据得到的可行译码符号序列判断译码是否成功:
若经校验后得到的可行译码符号序列唯一,则判译码成功;
否则,扩大删除错误位置集合,直到找到正确的删除错误模式及译码符号序列,若该位置集合无法继续扩大,则判译码失败。
本发明与现有技术相比具有以下优点:
本发明借助于MGC码周期性插入的标记,建立表示每段子序列漂移状态的网格图。并通过网格图上的最大似然删除位置搜索方法,推断出MGC码删除错误位置集合,猜测与校验该位置集合中的删除错误模式,从而缩小了GC码删除错误模式的搜索/猜测空间,提高了译码速度。
附图说明
图1是本发明的实现流程图;
图2是本发明中将δ个删除错误分布在v个标记块的网格图;
图3是本发明中在不同错误位置集合下的推断错误数量对比图:
图4是本发明与现有GC码译码的译码速度对比图。
具体实施方式
下面结合附图,对本发明的实施例和效果作进一步描述。
参照图1,本实例的实现步骤包括如下:
步骤1,初始化编码参数。
将信息序列u的长度设置为k;将猜测校验GC码的块长度设置为
Figure BDA0003085830770000033
将信息序列u的块个数设置为
Figure BDA0003085830770000034
将有限域GF(2p)上极大距离可分MDS码的校验符号数量设置为c;将二元重复码的重复次数设置为δ+1;
将Marker序列设置为m="001",Marker序列m的长度为l=3;将Marker序列的插入间隔设置为p;
步骤2,在GC码上周期性的插入Marker序列,构造出带标记的猜测校验码MGC。
2.1)将信息序列u划分为长度为p的v个连续块序列(b1,...,bi,...,bv),其中,bi表示信息序列中第i个块序列,i的取值范围为[1,v];
2.2)将块序列(b1,...,bi,...,bv)映射为有限域GF(2p)上的符号序列(β1,...,βi,...,βv),其中,βi表示符号序列中第i个有限域GF(2p)上的符号,i的取值范围为[1,v];
2.3)将符号序列(β1,...,βi,...,βv)通过(v+c,v)极大距离可分MDS码编码为符号序列(β1,...,βi,...,βv1,...,γj,...,γc),其中,γj表示第j个极大距离可分MDS码的校验符号,j的取值范围为[1,c];
2.4)将有限域GF(2p)上的符号序列(β1,...,βi,...,βv1,...,γj,...,γc)映射为二元序列(b1,...,bi,...,bv,a1,...,aj,...,ac),其中,aj表示γj映射后得到长度为p的二元序列(aj,1,...,aj,f,...,aj,p),j的取值范围为[1,c],f的取值范围为[1,p],aj,f的取值为{0,1};
2.5)使用(δ+1,1)重复码,将二元序列(b1,...,bi,...,bv,a1,...,aj,...,ac)中的所有子序列aj的比特重复δ+1次,得到二元序列
Figure BDA0003085830770000041
其中,
Figure BDA0003085830770000042
表示二元序列
Figure BDA0003085830770000043
Figure BDA0003085830770000044
表示将比特aj,f重复δ+1次;
2.6)在二元序列
Figure BDA0003085830770000045
的每一个块序列bi后插入Marker序列m,插入序列m后得到新的块序列的长度为b=p+l,得到带标记的猜测校验码MGC
Figure BDA0003085830770000046
步骤3,利用周期性插入的Marker序列,建立表示每段子序列漂移状态的网格图。
先将信息序列划分为多个子序列,并以子序列的数目作为列数,以每个子序列前发生的总删除错误数目作为该子序列对应列的漂移状态,再以第0个子序列作为初始节点,根据之后每个子序列对应的漂移状态连接各个节点,得到网格图,如图2所示。
步骤4,初始化译码参数。
4.1)设置删除错误位置搜索DEL中的参数:
将二元删除信道的最大删除错误数量设置为δ;
设置一个变量m存放删除后Marker序列转化得到的十进制数值,设置二维数组L存放表示节点之间转移概率的转移概率表;
设置一个二维数组P表示网格图;
设置P[0][0]的初始值为1.0,剩余所有初始值设置为0.0;
设置数组Z用来表示到网格图某一节点共多少删除错误;
设置一维数组d,用来表示各个块发生的错误数,初始值设置为0;
设置一个集合
Figure BDA0003085830770000051
用来表示错误可能发生的位置,所有初始值设置为0;
设置一个集合
Figure BDA0003085830770000052
用来表示更大范围上错误可能发生的位置,所有初始值设置为0;
设置一个集合
Figure BDA0003085830770000053
用来表示当前猜测使用的错误位置数组;
4.2)对二元接收序列x',从右往左按顺序每间隔δ个比特读取1个比特,共计读取cp个比特后停止,得到恢复出的校验比特序列(a1,...,aj,...,ac),并映射为有限域GF(2p)上的符号序列(γ1,...,γj,...,γc);
4.3)对二元接收序列x',从左往右按顺序逐比特读取长度为v×(p+l)-δ的待译码的二元序列r。
步骤5,通过删除位置搜索DEL,得到表示每块发生删除错误数量的矢量d,进而推断出初始删除错误位置集合
Figure BDA0003085830770000054
5.1)计算网格图中的节点概率R:
R[i][ω]=P[i-1][μ]×L[m][ω-μ],
P[i][ω]=R[i][ω],
Figure BDA0003085830770000055
Figure BDA0003085830770000056
其中,R[i][ω]表示网格图中第ω行第i列处节点的概率值,P是用来存放节点概率R的二维数组,μ作为临时变量表示网格图中第ω行第i列处节点前发生的删除错误数量的值,i∈[1,v]表示网格图中的第i列,也表示序列r中的第i个块,二维数组P设定从P[0][0]处开始;
Figure BDA0003085830770000061
表示将二元序列
Figure BDA0003085830770000062
按标准规则转换为十进制数;
Figure BDA0003085830770000063
表示序列r中的第ib-ω-2个比特到ib-ω个比特的子序列,也表示序列r中第i个块对应的Marker序列,ω∈[0,δ]表示序列r的第i块之前可能发生ω个删除错误;对于数组P中的每一行应当执行概率值归一化运算;L[m][ω-μ]表示转移概率表,m作为临时变量用来存储
Figure BDA0003085830770000064
的值;ω-μ∈[0,δ]表示单块发生的删除错误数目;
5.2)计算网格图中的漂移状态的最大似然路径Z:
Z[i-1]=S[i][ω],
ω=Z[i],
S[i][ω]=μ,
其中,S[i][ω]表示网格图中第ω行第i列处节点前发生的删除错误数量,Z[i]用来表示到网格图第i个节点共多少删除错误;
5.3)检测删除错误发生的块位置矢量d:
d=(d1,...,di,...,dv),
d[i]=Z[i]-Z[i-1],
其中,d[i]表示序列r中的第i个块发生的删除错误数量;
5.4)利用d得到初始删除错误位置集合
Figure BDA0003085830770000065
Figure BDA0003085830770000066
其中,[v]表示{1,2,...,v},di表示矢量d中的第i个元素,di的取值范围为{0,1,...,δ}。
步骤6,计算两个删除错误位置集合
Figure BDA0003085830770000067
6.1)对于初始删除错误位置集合
Figure BDA0003085830770000068
中的某个删除错误位置,找到其附近的位置集合
Figure BDA0003085830770000069
Figure BDA00030858307700000610
其中,w作为临时变量用来表示第i块发生的删除错误最远可以分布到那一块;
6.2)对初始删除错误位置集合
Figure BDA0003085830770000071
进行组合,即对于
Figure BDA0003085830770000072
中的删除错误位置附近的位置集合
Figure BDA0003085830770000073
取并集,得到第一删除错误位置集合
Figure BDA0003085830770000074
其中
Figure BDA0003085830770000075
表示对属于
Figure BDA0003085830770000076
中的删除错误位置i附近的集合
Figure BDA0003085830770000077
取并集;
6.3)对于第一删除错误位置集合
Figure BDA0003085830770000078
中的某个连续的删除错误位置,找到其附近的位置集合uh
uh={i+w∈[v]:-|h|≤w≤2|h|},
其中,h=[i,j]表示
Figure BDA0003085830770000079
中一段连续删除错误位置,j表示块位置,j的取值范围为[1,v];
6.4)对第一删除错误位置集合
Figure BDA00030858307700000710
进行组合,即对于
Figure BDA00030858307700000711
中的删除错误位置附近的位置的集合uh取并集,得到第二删除错误位置集合
Figure BDA00030858307700000712
其中,
Figure BDA00030858307700000713
表示
Figure BDA00030858307700000714
中所有的连续删除错误位置。
步骤7,进行MGC码译码,并判断译码完成情况。
7.1)将当前删除错误位置集合
Figure BDA00030858307700000715
设置为第一删除错误位置集合
Figure BDA00030858307700000716
7.2)对当前删除错误位置集合
Figure BDA00030858307700000717
计算错误分布的模式总数t:
Figure BDA00030858307700000718
7.3)猜测一种删除错误模式:
将δ个删除错误随机分布在当前删除错误位置集合
Figure BDA00030858307700000719
中,得到一种删除错误模式(λ1,...,λi,...,λv);
7.4)校验该错误模式对应的译码符号序列是否可行:
将二元序列r按照第i个块序列的长度为p+l-λi重新组合成v个块,其中,λi表示第i个块中发生的删除错误数目;
对于重新组合后的二元序列r,恢复出待译码符号序列:
对于λi=0的块序列,先去掉末尾长为l的Marker序列,再将其映射为一个有限域上GF(2p)的符号σi
对于λi≠0的块序列,将块序列擦除并记为一个有限域GF(2p)上的符号ε;
最终得到一个对应于删除错误模式(λ1,...,λi,...,λv)的待译码符号序列(σ1,...,σi-1,ε,σi+1,...,σv);
将校验符号序列(γ1,...,γj,...,γc)的前δ个符号与待译码符号序列(σ1,...,σi-1,ε,σi+1,...,σv)组合为准译码符号序列(σ1,...,σi-1,ε,σi+1,...,σv1,...,γj,...,γδ),并对其进行极大距离可分MDS码译码,得到译码符号序列(σ1,...,σi,...,σv);
检查译码符号序列(σ1,...,σi,...,σv)是否满足校验符号序列(γδ+1,...,γj,...,γc);如果满足校验,则该译码后符号序列(σ1,...,σi,...,σv)是可行的;否则,该译码后符号序列(σ1,...,σi,...,σv)是不可行的;
7.5)对所有t种删除错误模式,执行7.4);如果得到一个或多个可行的译码符号序列,且所有符号序列是相同的,则判定译码成功;否则,判定译码失败,执行7.6);
7.6)扩大当前删除错误块位置集合:
若当前删除错误块位置集合为第一删除错误位置集合
Figure BDA0003085830770000081
则将当前删除错误块位置集合
Figure BDA0003085830770000082
设置为第二删除错误位置集合
Figure BDA0003085830770000083
执行7.2)到7.5);
若当前删除错误块位置集合为第二删除错误位置集合
Figure BDA0003085830770000084
则将当前删除错误块位置集合
Figure BDA0003085830770000085
设置为序列r的全部块位置集合{1,2,...,v},执行7.2)到7.5);
否则,判定删除错误块位置集合无法继续扩大,停止译码。
本发明的效果可以通过以下仿真结果进一步说明:
一.仿真实验条件
1)仿真实验:硬件采用Intel i7-7700 3.6GHz CPU,8GB RAM,500GB硬盘;软件采用Windows 10家庭版,Visual Studio 2015,matlab;
2)仿真参数设置:
对本发明中的删除错误位置搜索DEL,将其的删除个数设置为4和8;将二元信息序列的长度设置为512、1024、2048、4096、8192和16384;将Marker序列的长度设置为3,Marker序列设置为“001”,对于长度为512、1024、2048、4096、8192和16384的信息序列,插入间隔依次为9、10、11、12、13、14和15;将执行次数设置为107
对本发明的MGC码编译码方法,将其删除信道的删除个数设置为3、4和8;将二元信息序列的长度设置为512、1024、2048、4096、8192和16384;将Marker序列的长度设置为3,对于长度为512、1024、2048、4096、8192和16384的信息序列,Marker序列插入间隔依次为9、10、11、12、13、14和15;对于删除个数为3、4和8的删除信道,将有限域GF(2p)上极大距离可分MDS码的校验符号数量c依次设置为7、9和17。
对现有的GC码编译码方法,将其删除信道的删除个数设置为3和4,对于删除个数为3和4的删除信道,将有限域GF(2p)上极大距离可分MDS码的校验符号数量c依次设置为7和9;将二元信息序列的长度设置为512、1024、2048、4096、8192和16384。
二.仿真内容
仿真1,用本发明中的删除错误位置搜索DEL在不同的删除信道下对通过删除信道后的接收序列进行位置搜索,对位置搜索失败的次数进行对比,结果如图3所示,其中:
横坐标信息序列长度表示二元信息序列的长度,纵坐标算法失败次数表示删除错误位置DEL失败总数。6条曲线分别表示如下:
实心圆形标识的曲线表示删除错误位置搜索DEL在删除个数为4的删除信道下,当删除错误位置集合为
Figure BDA0003085830770000091
时位置搜索失败的次数;
实心倒三角形标识的曲线表示删除错误位置搜索DEL在删除个数为4的删除信道下,当删除错误位置集合为
Figure BDA0003085830770000092
时位置搜索失败的次数;
实心正三角形标识的曲线表示删除错误位置搜索DEL在删除个数为4的删除信道下,当删除错误位置集合为
Figure BDA0003085830770000093
时位置搜索失败的次数;
实心左三角形标识的曲线表示删除错误位置搜索DEL在删除个数为8的删除信道下,当删除错误位置集合为
Figure BDA0003085830770000094
时位置搜索失败的次数;
实心右三角形标识的曲线表示删除错误位置搜索DEL在删除个数为8的删除信道下,当删除错误位置集合为
Figure BDA0003085830770000095
时位置搜索失败的次数;
实心正五边形标识的曲线表示删除错误位置搜索DEL在删除个数为8的删除信道下,当删除错误位置集合为
Figure BDA0003085830770000096
时位置搜索失败的次数;
由图3可以看出,在相同的删除信道下本发明的删除错误位置搜索DEL在以较大的删除错误位置集合进行位置搜索时,位置搜索失败的次数大大减少,其搜索性能较好。
仿真2,用本发明的MGC编译码方法与现有的GC码编译码方法在不同的删除信道下对不同长度的信息序列进行编译码,对其译码时间进行统计并对比,结果如图4所示,其中:
横坐标信息序列长度表示二元信息序列的长度,纵坐标平均译码时间表示GC码和MGC码的译码单个码字的平均译码时间,5条曲线分别表示如下:
实心圆形标识的曲线表示现有的GC码编译码方法在删除个数为4的删除信道下对不同长度信息的译码时间;
实心正三角形标识的曲线表示现有的GC码编译码方法在删除个数为3的删除信道下对不同长度信息的译码时间;
实心倒三角形标识的曲线表示本发明在删除个数为8的删除信道下对不同长度信息的译码时间;
实心左三角形标识的曲线表示本发明在删除个数为4的删除信道下对不同长度信息的译码时间;
实心右三角形标识的曲线表示本发明在删除个数为3的删除信道下对不同长度信息的译码时间;
由图4可以看出,本发明与现有技术的GC码的编译码方法相比,在相同个数的删除信道下极大地减少了译码时间。

Claims (6)

1.一种基于最大似然删除位置搜索的MGC码快速译码方法,其特征在于,包括:
A)在GC码上周期性的插入Marker序列,构造出带标记的猜测校验码MGC;
B)利用周期性插入的Marker序列,建立表示每段子序列漂移状态的网格图,并记录网格图中各个节点间的转移概率,得到转移概率表L(m′|λ),其中m′表示由该块对应的Marker序列转化后的十进制数值,λ表示该块发生的删除错误数目;
C)通过网格图上的最大似然删除位置搜索,得到各位置发生的删除错误数量,进而推断出MGC码删除错误位置集合:
C1)设接收的二元序列为x',将x'的前v×b-δ个比特设置为r,其中,b表示MGC码的一个块长度,v表示信息序列的块数,δ表示最大删除错误数量;
C2)计算网格图中节点概率Pr(r|di,ω):
Figure FDA0003085830760000011
其中,Pr(r|di-1,μ)表示当前计算节点di,ω的前一个节点di-1,μ的概率值;Pr(r′i|di-1,μ,di,ω)表示节点di-1,μ到节点di,ω之间的转移概率,即转移概率表L(m′|λ)中的第L(r′i|ω-μ)个点对应的值;
Figure FDA0003085830760000012
表示将
Figure FDA0003085830760000013
按标准规则转换得到的十进制数;
Figure FDA0003085830760000014
表示序列r中的第ib-ω-2比特到ib-ω比特的子序列;i∈[1,v]表示网格图中的第i行,也表示序列r中的第i块;ω∈[0,δ]表示序列r的第i块之前可能发生删除错误的个数;
C3)计算网格图中的漂移状态的最大似然路径ZML
Figure FDA0003085830760000015
C4)设置一个一维数组D,记录最大似然路径ZML上各个节点之前发生的删除错误数量到数组D中;
C5)计算每块发生的删除错误数量d=(d1,...,di,…,dv),其中,di=D[i]-D[i-1],D[i]表示数组D中第i个元素,也表示序列r的第i块之前发生的删除错误数量,di表示第i块发生的删除错误数量;
C6)根据d组成一个删除错误位置集合
Figure FDA0003085830760000021
D)利用删除错误位置集合与最大删除错误数量δ,猜测该位置集合中所有的删除错误模式,即找出δ个删除错误在删除错误位置集合中的分布方式,并校验这些删除错误模式对应的译码符号序列,得到可行译码符号序列;
E)根据得到的可行译码符号序列判断译码是否成功:
若经校验后得到的可行译码符号序列唯一,则判译码成功;
否则,扩大删除错误位置集合,直到找到正确的删除错误模式及译码符号序列,若该位置集合无法继续扩大,则判译码失败。
2.根据权利要求1所述的方法,其特征在于,B)建立表示每段子序列漂移状态的网格图,是先将信息序列划分为多个子序列,并以子序列的数目作为列数,以每个子序列前发生的总删除错误数目作为该子序列对应列的漂移状态,再以第0个子序列作为初始节点,根据之后每个子序列对应的漂移状态连接各个节点,得到网格图。
3.根据权利要求1所述的方法,其特征在于,A)中周期性插入Marker,实现如下:
A1)初始化编码参数:
将信息序列u的长度设置为k;
将猜测校验GC码的块长度设置为
Figure FDA0003085830760000022
将信息序列u的块个数设置为
Figure FDA0003085830760000023
将有限域GF(2p)上极大距离可分MDS码的校验符号数量设置为c;
将二元重复码的重复次数设置为δ+1;
将Marker序列设置为m,长度设置为l,将Marker序列的插入间隔设置为p;
A2)进行GC码编码:
将信息序列u划分为长度为p的v个连续块序列(b1,…,bi,…,bv);
将块序列(b1,…,bi,…,bv)映射为有限域GF(2p)上的符号序列(β1,…,βi,…,βv);
将符号序列(β1,…,βi,…,βv)通过(v+c,v)极大距离可分MDS码编码为符号序列(β1,...,βi,...,βv1,...,γj,...,γc);
将有限域GF(2p)上的符号序列(β1,...,βi,...,βv1,...,γj,...,γc)映射为二元序列(b1,...,bi,...,bv,a1,...,aj,...,ac);
使用(δ+1,1)重复码,将二元序列(b1,...,bi,...,bv,a1,...,aj,...,ac)中的所有子序列aj的比特重复δ+1次,得到二元序列
Figure FDA0003085830760000031
其中:
bi表示信息序列中第i个块序列,i的取值范围为[1,v];βi表示符号序列中第i个有限域GF(2p)上的符号,i的取值范围为[1,v];γj表示第j个极大距离可分MDS码的校验符号,j的取值范围为[1,c];aj表示γj映射后得到的长度为p的二元序列(aj,1,...,aj,f,...,aj,p),j的取值范围为[1,c],f的取值范围为[1,p],aj,f的取值为{0,1};
Figure FDA0003085830760000032
表示二元序列
Figure FDA0003085830760000033
Figure FDA0003085830760000034
表示将比特aj,f重复δ+1次;
A3)按照Marker序列的插入间隔p,在二元序列
Figure FDA0003085830760000035
的每一个块序列bi后插入Marker序列m,得到二元序列
Figure FDA0003085830760000036
4.根据权利要求1所述的方法,其特征在于,D)中猜测删除错误模式,实现如下:
D1)利用C)中得到的删除错误位置集合
Figure FDA0003085830760000037
组合得到删除错误位置集合
Figure FDA0003085830760000038
Figure FDA0003085830760000039
其中,
Figure FDA00030858307600000310
表示对于
Figure FDA00030858307600000311
中的删除错误位置附近的位置的集合取并集;
Figure FDA00030858307600000312
表示某个删除位置附近的位置的集合;
D2)将δ个删除错误随机分布在删除错误位置集合
Figure FDA00030858307600000313
中,得到一种删除错误模式(λ1,...,λi,…,λv),其中,λi表示第i个块序列中发生的删除错误数目,对于
Figure FDA00030858307600000314
的块λi∈[0,δ],对于
Figure FDA0003085830760000041
的块λi=0,同时
Figure FDA0003085830760000042
i∈[1,v]。
5.根据权利要求1所述的方法,其特征在于,D)中校验删除错误模式对应的译码符号序列,得到可行译码符号序列,实现如下:
D3)初始化译码参数:
将信息序列u的长度设置为k;
将猜测校验GC码的块长度设置为
Figure FDA0003085830760000043
将信息序列u的块个数设置为
Figure FDA0003085830760000044
将有限域GF(2p)上极大距离可分MDS码的校验符号数量设置为c;
将二元重复码的重复次数设置为δ+1;
将Marker序列设置为m,长度设置为l,将Marker序列的插入间隔设置为p;
D4)恢复出校验符号序列,对二元接收序列x',从右往左按顺序每间隔δ个比特读取1个比特,共计读取cp个比特后停止,得到校验比特序列(a1,...,aj,...,ac),并将其映射为有限域GF(2p)上的符号序列(γ1,...,γj,...,γc);
D5)恢复出待译码的二元序列,对二元接收序列x',从左往右按顺序逐比特读取长度为v×(p+l)-δ的二元序列r;
D6)对于一种删除错误模式(λ1,...,λi,...,λv),将二元序列r重新组成v个块,按照第i个块序列的长度为p+l-λi进行组合;其中,λi表示第i个块序列中发生的删除错误数目,对于
Figure FDA0003085830760000045
的块λi∈[0,δ],对于
Figure FDA0003085830760000046
的块λi=0;
D7)恢复出待译码符号序列,在D6)得到的重新组成后的二元序列r中,将该二元序列分为v个块,第i个块序列中的删除错误数目为删除错误模式(λ1,...,λi,...,λv)中的λi
对于λi=0的块序列,先去掉末尾长为l的Marker序列,再将其映射为一个有限域上GF(2p)的符号σi
对于λi≠0的块序列,将块序列擦除并记为一个有限域GF(2p)上的符号ε;
最终得到一个对应于删除错误模式(λ1,...,λi,...,λv)的待译码符号序列(σ1,...,σi-1,ε,σi+1,...,σv);
D8)将校验符号序列(γ1,...,γj,...,γc)的前δ个符号与待译码符号序列(σ1,...,σi-1,ε,σi+1,...,σv)组合为准译码符号序列(σ1,...,σi-1,ε,σi+1,...,σv1,...,γj,...,γδ),并对其进行极大距离可分MDS码译码,得到译码符号序列(σ1,...,σi,...,σv);
D9)检查译码符号序列(σ1,...,σi,...,σv)是否满足校验符号序列(γδ+1,...,γj,...,γc);
如果满足,则称该译码后符号序列(σ1,...,σi,...,σv)是可行的;
否则,该译码后符号序列(σ1,...,σi,...,σv)是不可行的。
6.根据权利要求1所述的方法,其特征在于,E)中扩大错误位置集合,实现如下:
E1)对C)中得到的删除错误位置集合
Figure FDA0003085830760000051
进行组合,即对于
Figure FDA0003085830760000052
中的删除错误位置附近的位置集合
Figure FDA0003085830760000053
取并集,得到第一删除错误位置集合
Figure FDA0003085830760000054
并对该集合
Figure FDA0003085830760000055
进行校验,若能得到唯一可行的译码符号序列,则停止扩大,否则,执行E2);
E2)对删除错误位置集合
Figure FDA0003085830760000056
中连续删除位置的集合
Figure FDA0003085830760000057
进行组合,即对于
Figure FDA0003085830760000058
的删除错误位置附近的位置的集合uh={i+w∈[v]:-|h|≤w≤2|h|}取并集,得到第二删除错误位置集合
Figure FDA0003085830760000059
其中,h表示
Figure FDA00030858307600000510
中某个连续删除位置,j表示块位置,j的取值范围为[1,v];对该集合
Figure FDA00030858307600000511
进行校验,若能得到唯一可行的译码符号序列,则停止扩大,否则,执行D3);
E3)将第三错误位置集合设置为{1,2,...,v},此时译码算法退化为GC码译码算法,停止扩大。
CN202110580084.0A 2021-05-26 2021-05-26 基于最大似然删除位置搜索的mgc码快速译码方法 Active CN113300723B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110580084.0A CN113300723B (zh) 2021-05-26 2021-05-26 基于最大似然删除位置搜索的mgc码快速译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110580084.0A CN113300723B (zh) 2021-05-26 2021-05-26 基于最大似然删除位置搜索的mgc码快速译码方法

Publications (2)

Publication Number Publication Date
CN113300723A true CN113300723A (zh) 2021-08-24
CN113300723B CN113300723B (zh) 2023-05-30

Family

ID=77325239

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110580084.0A Active CN113300723B (zh) 2021-05-26 2021-05-26 基于最大似然删除位置搜索的mgc码快速译码方法

Country Status (1)

Country Link
CN (1) CN113300723B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117527150A (zh) * 2023-12-29 2024-02-06 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于翻转重量的阶序统计译码方法、装置、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059236A (ja) * 1998-08-05 2000-02-25 Matsushita Electric Ind Co Ltd 誤り検出・訂正方法
CN106656208A (zh) * 2016-12-14 2017-05-10 天津大学 一种纠正同步错误的符号级硬判决迭代译码的级联码方法
US20170331499A1 (en) * 2016-05-13 2017-11-16 Hyperstone Gmbh Method and decoder for soft input decoding of generalized concatenated codes
US20190199377A1 (en) * 2017-12-22 2019-06-27 Massachusetts Institute Of Technology Decoding Signals Codes by Guessing Noise
US20200112324A1 (en) * 2018-10-03 2020-04-09 The Regents Of The University Of California Polar coding and decoding for correcting deletion and/or insertion errors
CN111313908A (zh) * 2020-03-27 2020-06-19 天津师范大学 一种纠正非二进制插入/删节的非规则水印编译码方法
US20200358643A1 (en) * 2017-12-22 2020-11-12 Massachusetts Institute Of Technology Decoding Signals By Guessing Noise

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059236A (ja) * 1998-08-05 2000-02-25 Matsushita Electric Ind Co Ltd 誤り検出・訂正方法
US20170331499A1 (en) * 2016-05-13 2017-11-16 Hyperstone Gmbh Method and decoder for soft input decoding of generalized concatenated codes
CN106656208A (zh) * 2016-12-14 2017-05-10 天津大学 一种纠正同步错误的符号级硬判决迭代译码的级联码方法
US20190199377A1 (en) * 2017-12-22 2019-06-27 Massachusetts Institute Of Technology Decoding Signals Codes by Guessing Noise
US20200358643A1 (en) * 2017-12-22 2020-11-12 Massachusetts Institute Of Technology Decoding Signals By Guessing Noise
US20200112324A1 (en) * 2018-10-03 2020-04-09 The Regents Of The University Of California Polar coding and decoding for correcting deletion and/or insertion errors
CN111313908A (zh) * 2020-03-27 2020-06-19 天津师范大学 一种纠正非二进制插入/删节的非规则水印编译码方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MASATO INOUE,HARUHIKO KANEKO: "Adaptive synchronization marker for insertion/deletion/substitution error correction", 《2012 IEEE INTERNATIONAL SYMPOSIUM ON INFORMATION THEORY PROCEEDINGS》 *
S. KAS HANNA,S. EL ROUAYHEB: "Guess & Check Codes for Deletions, Insertions, and Synchronization", 《 IEEE TRANSACTIONS ON INFORMATION THEORY》 *
王瑞: "基于级联的插入删除信道下的编解码研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117527150A (zh) * 2023-12-29 2024-02-06 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于翻转重量的阶序统计译码方法、装置、设备及介质
CN117527150B (zh) * 2023-12-29 2024-04-12 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于翻转重量的阶序统计译码方法、装置、设备及介质

Also Published As

Publication number Publication date
CN113300723B (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
Shomorony et al. Capacity results for the noisy shuffling channel
Davey et al. Reliable communication over channels with insertions, deletions, and substitutions
Shomorony et al. DNA-based storage: Models and fundamental limits
WO2018148260A1 (en) Apparatus, method and system for digital information storage in deoxyribonucleic acid (dna)
CN100512020C (zh) 一种译码方法及译码装置
US20200057838A1 (en) Trace reconstruction from reads with indeterminant errors
WO2023130676A1 (zh) 1型2型分段纠错内码的dna存储级联编码与解码方法
Gabrys et al. Unique reconstruction of coded strings from multiset substring spectra
Cai et al. Optimal codes correcting a single indel/edit for DNA-based data storage
Shomorony et al. Torn-paper coding
CN108712232A (zh) 一种用于连续变量量子密钥分发系统中的多码字并行译码方法
CN113300723B (zh) 基于最大似然删除位置搜索的mgc码快速译码方法
CN114268323B (zh) 支持行存的数据压缩编码方法、装置及时序数据库
Yan et al. A segmented-edit error-correcting code with re-synchronization function for DNA-based storage systems
CN116757158B (zh) 基于半导体存储的数据管理方法
Pham et al. Sequence reconstruction problem for deletion channels: A complete asymptotic solution
Tang et al. Error-correcting codes for short tandem duplications and at most $ p $ substitutions
CN113300720A (zh) 长dna序列存储的插入删节分段识别方法
CN112102883B (zh) 一种fastq文件压缩中的碱基序列编码方法和系统
Tang et al. Correcting deletion errors in DNA data storage with enzymatic synthesis
CN110929542B (zh) 基于分组纠错码的测序条形码构造与软判决识别方法
Kracht et al. Using the Davey-MacKay code construction for barcodes in DNA sequencing
Smith et al. Interleaved constrained codes with markers correcting bursts of insertions or deletions
CN110928725B (zh) 闪存中基于矩阵表示的多重置换码的构造及译码方法
CN112821895A (zh) 一种实现信号高误码率下的编码识别方法

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