纠错算法总结

前言

DNA水印中需要用到各种编码、纠错算法。现对已有的插入错、删除错的纠错算法进行总结。

算法总结

1、题目:纠错码理论在DNA计算编码中的应用进展
2011年 《福建电脑》
https://www.ixueshu.com/document/cd7838079876fcad058f0995694adacc318947a18e7f9386.html
应用:关注的是DNA计算。

两种应用
可以将DNA序列的编码问题转为:确定最好的编码方式的问题。
建模,使DNA序列具有某种代数特性。

具体的纠错码编码方法

  • 扩展Goppa码编码方法
  • 衍生Hadamard矩阵编码方法
  • 二源映射编码方法

本文介绍两种:监督矩阵线性码二源映射编码方法

监督矩阵线性码
给出6个约束条件,分为三个优先级。
先构造最小汉明距离的字序列编码
按照约束条件进行搜索,寻找线性码。(搜索监督矩阵H)

二源映射编码方法
把四种分别映射为AGCT

总结:文章较老,概述性文章,方向也不同,但是看看没什么坏处。

2、Efficient and Low-Cost Error Removal in DNA Synthesis by a High-
Durability MutS
去除DNA合成中的误差
发表于ACS Synthetic Biology · March 2020

摘要:基于酶的纠错是DNA合成的关键步骤。

完全跑偏了,这是生物学的内容。

3、基于DNA的信息存储方法
是一项专利的内容
使用的编码方式是:LDPC和BCH。

前人工作介绍
Yaniv将喷泉理论应用到DNA存储中。
目前的编码方式:哈夫曼+RS纠错

文中方法: 分段进行纠错编码。
纠错编码方案为:低密度奇偶校验(LDPC),叠加水印码。
LDPC码的码长为:64800bit,水印码的码率为4/5。
但是也咩有说明具体的编码方法。

4、 杰林信道检错纠错编码
博客,查阅各种编码方案
https://blog.csdn.net/wjlxueshu/article/details/90266049

  • 检错:按位线性检错算法。

  • 纠错:也是按位线性检错算法,可以查错和纠错。

5、LDPC
具有稀疏校验矩阵的线性分组码。
不同的译码算法有不同的误码特性。
硬判决译码,软判决译码、混合译码。
http://news.163.com/16/1027/09/C4CG56J400014SEH.html

6、基于纠错码的信息隐藏
万方——哈尔滨理工大学
根据隐匿数据的进入形式的差异从而导致数据算法变为两种算法,控区数据隐匿计算方式幻化数据隐匿计算方式

纠错码一般分为五类
(1)根据改错区被区别为:异组码和卷曲码
卷曲码与之前的很多组数据都存在联系
(2)线代码和非线代码
(3)根据改正失误的类型,分为4种:改个体失误、改突然失误、改一致失误的码和能改不定时出现的失误也能改突然性失误的 码。
(4)数组区别:二进制码和 q 进制码
(5)根据每个数据元维护能力同否等值的变化能将纠错码 划分成等维护纠错码和不等维护(UEP)纠错码

编码译码过程:
数据首先与随机数(密钥)异或--->改错编码,对载体信源进行编码。

7、基于纠错码的密文域鲁棒可逆信息隐藏
使用纠错码对低频信息进行

https://www.ixueshu.com/document/d12bcf441ed5b738318947a18e7f9386.html

几种常见纠错编码方式总结


1、低密度奇偶校验LDPC

实现原理
(1)是线性分组码的一种。
(2)基于具有稀疏矩阵性质的奇偶校验矩阵建构而成。
(3)(n,k)编码,k比特数据用n比特码字编码,n-k比特的码字用来校验。
(4)需要有一个奇偶校验矩阵H,其中1的元素远少于0的元素。

视频讲解
https://www.youtube.com/watch?v=IN_ezsRroMI

(1)常规的LDPC码由3个元素定义(n,wc,wr) n是码长,wc是column列中1的数量
给出一个例子,每一行只有4个1,wr = 4, wc = 3, wc < wr
矩阵式满秩,所以R = 1 - 3/4 = 1/4

(2)
可以使用二分图bipartite表示这个矩阵:节点可以被分为两类:变量节点和校验节点,边只能连接不同类的节点。Tanner图就是这种。
当且仅当这个比特被包含在奇偶校验式中时,才连接两个节点。

例子:给出一个矩阵,如何画图。n=12,wc=3,wr=6.
n=12,首先画12个节点,标为0-11
根据矩阵,m=6,有六行,上面画六个方框,标为0-5。
连线:如果矩阵中为1,则把两个节点连接起来。

(3)Tanner图
长度为l的cycle表示,从一个节点再回到自身的路径,并且这条路径包含l条边.(l只能是偶数)
girth(周长)是图中最小的cycle的长度。我们希望girth尽可能长,因为独立迭代次数与girth有关。

(4)编码过程
构造矩阵
拆分为wc个子矩阵,使得每一列都包含一个1
把矩阵的列置乱,得到新的子矩阵。
从而得到最后的矩阵,每列有3个1,每行有4个1.

循环矩阵,是把上面一行右移。
permutation 排列,置换

讲解了如何构建H矩阵。

文章:低密度奇偶校验码编译码原理及实现
主要内容:准循环的LDPC码,编码译码,帧同步的解决方法
概念:行和列中1的数目分别固定为c和r,则是规则的。否则就是非规则的。
LDPC具有很好的汉明特性
译码原理:通过校验矩阵建立网格图。
士兵报数:引出外信息和内信息。
Tanner图译码:校验矩阵的每一行可以看作一个单校验码,每一列可以看作一个重复累积码。---> 和积译码算法。
用一个例子,计算m2的全信息和外信息的概率。
H矩阵的每一列对应一个变量节点。
重复累积码字要求m1=m2=m3.
基于网格图的译码方法
每行译码是为了得到每个比特的外信息,每个单校验码都可以用两种状态的网格图来表示。
可以构造置信传输译码的因子图。

  • 基于概率测度的和积算法。
  • 基于似然比度量的和积算法。
  • 基于对数似然比度量的和积算法。
  • TDMP算法
  • 最小和算法(退化的和积算法)

PEG算法
用于随机构造LDPC码和构造准循环LDPC码。尽可能得到最大围长。

LDPC码在IEEE802.16e中的应用

本文重点关注的是如何用硬件来实现这个译码方法。

文章:LDPC码译码算法的研究
纠错码分类
分组码:如BCH,R = k/n,称为编码效率。
卷积码
迭代译码算法(可选择BF或BP或WBF算法)

141E01FD-0419-4C72-90CF-B91DDF13B7A9.png

监督矩阵H的构造方法
码率r = 1-j/k
译码方案:树形译码和概率译码

树形译码


CF6B5DDF-A504-401E-8A2E-5E8E823ECD87.png

概率译码
对其的数学分析是十分困难的。

matlab 编码
参考视频
https://www.youtube.com/watch?v=QJwQi06Fm3M

2、BCH

参考 https://zhuanlan.zhihu.com/p/95909150
概念
(1)是一种二元线性循环码,属于线性分组码,能纠正多个随机错误。
(2)二进制域中,利用了多项式的性质。

编码
原来的信息是m(x),将其乘一个编码多项式p(x)发送。p(x)必须是不可约的本原多项式,才能使得e(x)/p(x)除不尽。

实例
要发送m(x)为1001,p(x)为1101
m(x)*p(x) = (1 + x^3)(1 + x + x^3) = 1 + x + 2x^3 + x^4 + x^6 = 1100101(左边代表低位)
发送1100101。

如果接收端没有错误,相除结果余数是0,商是1001,是m(x)
如果接受端有错误,接收的结果是1100111,相除,得到余数1110000,假设是一位错误,就可以遍历尝试是哪种结果。

BCH
根据要纠错的位数,得到Q(x)。

D08DF643-BA45-4E63-B1F7-6F5A4D632A34.png

Q(x)的计算结果写错了,后面写对了。
r(x) / 本原多项式p(x)
后面看不懂了
参考 http://staff.ustc.edu.cn/~wyzhou/ct_chapter3.pdf

3、汉明码

参考之前的笔记

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350