杰林码纠错算法的预处理过程理解方法

根据我的论文,这里对我所提出的纠错方法的预处理过程进行说明和解释。
首先分析论文中的方法一:“每个符号1后增加一个符号0”。
例如二进制为(记为序列A):0111011001000011101…
假设序列A是完全随机的,即p(0)=p(1)。按照方法一的预处理,显然上述二进制为(记为序列B)01010100101000100000101010010…。
很显然,增加了不少的符号0,但是根据我给出的加权概率模型进行编码,比如p(0)=1/d,p(1)=1,d>2,且d趋近于2(论文中讲解了,当d=2时所有添加的符号0被完全消除,所以无法检错了);通过理论和实验都证明可以实现无损编译码序列B。那编码后的长度是多少呢?于是就给出了加权概率模型下的信息熵。
这样做有什么意义呢?因为译码时p(0)=1/d,p(1)=1,d>2是已知的,且预处理的方法也是已知的,所以通过p(0),p(1)必须译码出序列B,如果译码器本身的可靠的,那么错误只可能发生在了传输上,即编码后的结果出现了错误。那么,这样的错误在什么时候会在译码时出现了“连续的两个及两个以上的符号1”,显然,如果出现了“连续的两个及两个以上的符号1”,则不符合序列B的规律了。
但是方法一中无法检查连续的符号0出现错误的情形,所以提出方法二的处理方法。对于方法二,需要注意的是“独立判据”,方法二中提到了“每个符号1后增加一个符号0,然后每个符号0后增加一个符号1”。
那么什么才是独立判据,显然是不能在上一个判据条件下产生的新判据,所以方法二是“二进制序列每个符号1后面增加一个符号0”,这个是针对整个二进制序列的。然后,在上一步完成后,再针对整个二进制序列“每个符号0后增加一个符号1”
比如:0111010110001
第一步:01010100100101000010,显然从左至右,只要把“10”替换成“1”就还原了
第二步:011011011010110101101101010101101,显然从左至右,只要把“01”替换成“0”,把“101”替换成“1”,就直接还原了。且规律为“每个符号0被一个或两个符号1隔开”

发布了27 篇原创文章 · 获赞 38 · 访问量 7558

猜你喜欢

转载自blog.csdn.net/wjlxueshu/article/details/104246782
今日推荐