CN106877881A - 一种基于比特翻转算法的硬判决译码实现方法 - Google Patents

一种基于比特翻转算法的硬判决译码实现方法 Download PDF

Info

Publication number
CN106877881A
CN106877881A CN201611263986.7A CN201611263986A CN106877881A CN 106877881 A CN106877881 A CN 106877881A CN 201611263986 A CN201611263986 A CN 201611263986A CN 106877881 A CN106877881 A CN 106877881A
Authority
CN
China
Prior art keywords
length
sequence
code
bit
information
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
Application number
CN201611263986.7A
Other languages
English (en)
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.)
Shenzhen University
Original Assignee
Shenzhen 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 Shenzhen University filed Critical Shenzhen University
Priority to CN201611263986.7A priority Critical patent/CN106877881A/zh
Publication of CN106877881A publication Critical patent/CN106877881A/zh
Pending legal-status Critical Current

Links

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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明提供了一种基于比特翻转算法的硬判决译码实现方法,采用{0,1}作为符号集,对信源输出消息进行无失真信源编码,以{0,1}的有限长序列,长度为k的信息序列共有2k种,令L=2k,按照一定的规则在信息序列中加入若干个{0,1}符号,把长度为k的{0,1}信息序列,变成长度为n(n>k)的具有一定抗干扰能力的符号序列,其中,由L个长度为的{0,1}符号序列组成的集合,构成一个

Description

一种基于比特翻转算法的硬判决译码实现方法
技术领域
本发明涉及通信,尤其涉及一种基于比特翻转算法的硬判决译码实现方法。
背景技术
1、基于线性分组码的译码方式是提高纠错能力的一种译码方法。它分为硬判决译码(HDD)和软判决译码(SDD)。
(1)硬判决:指解调器根据其判决门限对接收到的信号波形直接进行判决后输出0或1,换句话说,就是解调器供给译码器作为译码用的每个码元只取0或1两个值,以序列之间的汉明距离作为度量进行译码,适用于二进制对称信道(BSC)。
在数字通信的差错控制中,对于纠错码,通常利用码字的代数结构知识,进行硬判决译码。代数硬判决译码算法寻找与接收到的硬判决序列汉明距离最近的码字作为译码结果。利用码的代数结构进行硬判决译码的方法相对简单、易于实现。
(2)软判决:先将判决输入量化成N个值,通过最大后验概率计算每个值最有可能的原值是多少,算法比较复杂,误码率也更低。软判决的解调器不进行判决,直接输出模拟量,或是将解调器输出波形进行多电平量化,然后送往译码器,即编码信道的输出是没有经过判决的“软信息”。
2、目前主要有两大类译码算法:一类是基于概率的置信传播(BeliefPropagation)迭代译码算法,简称BP算法,一般用于软判决。另一类是基于校验和统计迭代的比特翻转译码算法(Bit Flipping Algorithm),简称BF算法,一般用于硬判决。
(1)基于概率的置信传播(Belief Propagation)迭代译码算法在码长较大时性能可逼近香农限,但是译码算法复杂。
(2)比特翻转译码算法(BF)操作简单,复杂度低易于工程实现。目前提出了多种有效的改进方案。如加权的比特翻转算法(WBF)及其改进形式、多比特翻转(MBF)译码算法、引入“环检测”和比特翻转约束机制等。
3、加权的比特翻转算法(WBF):将一种特殊的量(即校验节点邻接的信息节点的最小幅度)作为双极性校验子的权重,构造出新的翻转函数,此时,待翻转信息节点的位置完全取决于信息节点邻接的校验式提供的加权信息,而与信息节点自身的可靠度基本无关。它通过给不同的校验方程引入不同的可靠性度量值进而有效地提高了BF算法的译码性能。
4、多比特翻转(MBF)译码算法:具有良好的译码性能和收敛速度。该算法在选择下一个翻转比特时,需要利用码字的Tanner图生成当前翻转比特的低相关度集,再从集合中选择需要翻转的比特。
1、基于概率的置信传播(Belief Propagation)迭代译码算法运算量非常大,必须使用RAM资源存储迭代过程中产生的大量的中间数据,不利于工程实现。
2、在硬判决算法方面,最具有代表性的是由Gallager提出的基于判决门限的比特翻转算法(BF),该算法操作简单、复杂度较低、易于硬件实现,但是其性能比较差。
3、加权比特翻转(WBF)算法,该算法在每一轮的迭代中,都对每个变量节点进行可靠性计算,并翻转可靠性最小的变量节点,大大提高了性能,但是由于每轮迭代只能翻转一个变量节点,这样会增大迭代的次数,影响整体译码的速度;且需要引入可靠性的计算,导致算法的复杂度增加。
4、基于多比特翻转(MBF)算法,该算法的翻转比特选择机制只能利用串行电路实现,大大地限制了实际构造译码器的吞吐量。并且生成低相关度集的运算复杂,而且延迟现象明显,不利于硬件实现。
发明内容
为了解决现有技术中的问题,本发明提供了一种基于比特翻转算法的硬判决译码实现方法。
本发明提供了一种基于比特翻转算法的硬判决译码实现方法,
采用{0,1}作为符号集,对信源输出消息进行无失真信源编码,以{0,1}的有限长序列
(a1a2…ak) (ai∈{0,1},i=1,2,…k)
长度为k的信息序列共有2k种,令L=2k,按照一定的规则在信息序列中加入若干个{0,1}符号,把长度为k的{0,1}信息序列,变成长度为n(n>k)的具有一定抗干扰能力的符号序列
(a1a2…akak+1ak+2…ak+r)a1,a2,…ak+r∈{0,1}
其中n=k+r,由L个长度为n=k+r的{0,1}符号序列组成的集合,构成一个(n,k)分组码,代表L个长度为k的消息序列,其中k是信息位,r是监督位;
若(n,k)分组码,码空间的所有元素写成k个线性独立的码字g1,g2,…,gk的线性组合,其中m1,m2,…,mk∈{0,1},即有
Yj:{m1g1+m2g2+…mkgk}
改写成矩阵形式即为:
其中
由k个{0,1}符号m1,m2,…mk(mi∈{0,1};i=1,2,…,k)组成的行矩阵表示成
sj=(mj1 mj2 … mjk),其中(j=1,2,…,L)
记为SG=Y
由于g1,g2,…,gk是k个线性无关的码字,所以矩阵G的k个行矢量线性无关,G为(n,k)线性分组码Y的生成矩阵,当信息元S确定后,Y仅由矩阵G决定,生成矩阵G通过初等列变换后,表示为如下形式:
记为:
G=(Ik×k Pk×r)其中,Ik×k是单位方阵,r=n-k
此时(n,k)线性分组码中码字Yi(i=1,2,…L)的前k位与相应的信息序列Si=(ai1,ai2,…aik)(ai1,ai2,…aik∈{0,1};i=1,2,…,L)完全相同,码字的前k位就是信息序列,(n,k)线性分组码为***码;
在信道噪声的随机干扰下,信道接收端收到的消息发生失真,(n,k)线性分组码记为Y0,Y0中存在非法码字,设***中的生成矩阵为G,
对G和Y0同时做相同的初等列变换,分别记为非***(n,k)线性分组码的生成矩阵G就转变成***(n,k)线性分组码的生成即(n,k)线性分组码的前k位与相应的信息序列完全相同,假设
其中是对消息序列S的估计,逐位做比特翻转,其他比特位保持不变,再分别与生成矩阵相乘,得到(n,k)线性分组码Yi(i=1,2,3....),令集合C表示这一系列的合法码字,包括Y0,若翻转一位比特:
C={Yi,i=0,1,2,3....kL}
例1:
.......
在集合C中找出与Y0距离最近的码字Yi,其对应的信息序列即为译码结果。
本发明的有益效果是:实现了译码性能和算法复杂性的有效均衡。
具体实施方式
下面结合具体实施方式对本发明作进一步说明。
一种基于比特翻转算法的硬判决译码实现方法,在数字通信,数字传输和计算技术中,通常采用{0,1}作为符号集,对信源输出消息进行无失真信源编码,以{0,1}的有限长序列
(a1a2…ak) (ai∈{0,1},i=1,2,…k)
长度为k的信息序列共有2k种,令L=2k。这种信息序列抗噪性能差,按照一定的规则在信息序列中加入若干个{0,1}符号,把长度为k的{0,1}信息序列,变成长度为n(n>k)的具有一定抗干扰能力的符号序列
(a1a2…akak+1ak+2…ak+r) a1,a2,…ak+r∈{0,1}
其中n=k+r,由L个长度为n=k+r的{0,1}符号序列组成的集合,构成一个(n,k)分组码。代表L个长度为k的消息序列,其中k是信息位,r是监督位。
若(n,k)分组码,码空间的所有元素(码字)都可以写成k个线性独立的码字g1,g2,…,gk的线性组合,其中m1,m2,…,mk∈{0,1},即有
Yj:{m1g1+m2g2+…mkgk}
改写成矩阵形式即为:
其中
由k个{0,1}符号m1,m2,…mk(mi∈{0,1};i=1,2,…,k)组成的行矩阵表示成
sj=(mj1 mj2 … mjk),其中(j=1,2,…,L)
记为SG=Y
由于g1,g2,…,gk是k个线性无关的码字,所以矩阵G的k个行矢量线性无关。我们称G为(n,k)线性分组码Y的生成矩阵。当信息元S确定后,Y仅由矩阵G决定。生成矩阵G通过初等列变换(不影响行元素构成矢量的线性独立性)后,可以表示为如下形式:
记为:
G=(Ik×k Pk×r)其中,Ik×k是单位方阵,r=n-k
此时(n,k)线性分组码中码字Yi(i=1,2,…L)的前k位与相应的信息序列Si=(ai1,ai2,…aik)(ai1,ai2,…aik∈{0,1};i=1,2,…,L)完全相同(即码字的前k位就是信息序列)我们称这样的(n,k)线性分组码为***码。
在信道噪声的随机干扰下,信道接收端收到的消息发生失真,(n,k)线性分组码记为Y0,Y0中存在非法码字,设***中的生成矩阵为G。
对G和Y0同时做相同的初等列变换,分别记为
非***(n,k)线性分组码的生成矩阵G就转变成***(n,k)线性分组码的生成即(n,k)线性分组码的前k位与相应的信息序列完全相同。假设
其中是对消息序列S的估计,逐位做比特翻转,其他比特位保持不变,再分别与生成矩阵相乘,得到(n,k)线性分组码Yi(i=1,2,3....)。令集合C表示这一系列的合法码字(包括Y0),若翻转一位比特:
C={Yi,i=0,1,2,3....kL}
例1:
.......
在集合C中找出与Y0距离最近的码字Yi,其对应的信息序列即为译码结果。
本发明提供的一种基于比特翻转算法的硬判决译码实现方法,实现了译码性能和算法复杂性的有效均衡。在原有生成矩阵的基础上,以逐比特翻转算法为基本形式改进而来。
本发明提供的一种基于比特翻转算法的硬判决译码实现方法,其应用领域为数字通信和数据存储***。
本发明提供的一种基于比特翻转算法的硬判决译码实现方法,其应用方式为:为保证信息的无失真传输,通常采用纠错编码技术。利用纠错码可以降低各类数字通信***以及计算机存储和运算***中的误码率,提高通信质量,延长计算机无故障运行时间等。“线性分组码”是一种比较成熟的纠错码。本发明是基于硬判决的线性分组译码,其算法相对简单,易于实现。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (1)

1.一种基于比特翻转算法的硬判决译码实现方法,其特征在于:
采用{0,1}作为符号集,对信源输出消息进行无失真信源编码,以{0,1}的有限长序列
(a1a2…ak)(ai∈{0,1},i=1,2,…k)
长度为k的信息序列共有2k种,令L=2k,按照一定的规则在信息序列中加入若干个{0,1}符号,把长度为k的{0,1}信息序列,变成长度为n(n>k)的具有一定抗干扰能力的符号序列
(a1a2…akak+1ak+2…ak+r)a1,a2,…ak+r∈{0,1}
其中n=k+r,由L个长度为n=k+r的{0,1}符号序列组成的集合,构成一个(n,k)分组码,代表L个长度为k的消息序列,其中k是信息位,r是监督位;
若(n,k)分组码,码空间的所有元素写成k个线性独立的码字g1,g2,…,gk的线性组合,其中m1,m2,…,mk∈{0,1},即有
Yj:{m1g1+m2g2+…mkgk}
改写成矩阵形式即为:
y j : { m 1 m 2 ... m k g 1 g 2 . . . g k }
其中
G = g 1 g 2 . . . g k k × n
由k个{0,1}符号m1,m2,…mk(mi∈{0,1};i=1,2,…,k)组成的行矩阵表示成
sj=(mj1 mj2 … mjk),其中(j=1,2,…,L)
S = s 1 s 2 . . . s L L × k
Y = S G = y 1 y 2 . . . y L L × n
记为SG=Y
由于g1,g2,…,gk是k个线性无关的码字,所以矩阵G的k个行矢量线性无关,G为(n,k)线性分组码Y的生成矩阵,当信息元S确定后,Y仅由矩阵G决定,生成矩阵G通过初等列变换后,表示为如下形式:
记为:
G=(Ik×k Pk×r)其中,Ik×k是单位方阵,r=n-k
此时(n,k)线性分组码中码字Yi(i=1,2,…L)的前k位与相应的信息序列Si=(ai1,ai2,…aik)(ai1,ai2,…aik∈{0,1};i=1,2,…,L)完全相同,码字的前k位就是信息序列,(n,k)线性分组码为***码;
在信道噪声的随机干扰下,信道接收端收到的消息发生失真,(n,k)线性分组码记为Y0,Y0中存在非法码字,设***中的生成矩阵为G,
对G和Y0同时做相同的初等列变换,分别记为非***(n,k)线性分组码的生成矩阵G就转变成***(n,k)线性分组码的生成即(n,k)线性分组码的前k位与相应的信息序列完全相同,假设
Y ~ = y 11 y 12 ... y 1 k y 1 k + 1 ... y 1 r y 21 y 22 ... y 2 k y 2 k + 1 ... y 2 r . . . . . . . . . . . . . . . . . . . . . y L 1 y L 2 ... y L k y L k + 1 ... y L r
S ~ = y 11 y 12 ... y 1 k y 21 y 22 ... y 2 k . . . . . . . . . . . . y L 1 y L 2 ... y L K
其中是对消息序列S的估计,逐位做比特翻转,其他比特位保持不变,再分别与生成矩阵相乘,得到(n,k)线性分组码Yi(i=1,2,3....),令集合C表示这一系列的合法码字,包括Y0,若翻转一位比特:
C={Yi,i=0,1,2,3....kL}
例1:
S ~ = 1 0 0 1 0 1 0 1 1 1 0 0 0 0 1 1
S 1 ~ = 0 0 0 1 0 1 0 1 1 1 0 0 0 0 1 1 S 2 ~ = 1 1 0 1 0 1 0 1 1 1 0 0 0 0 1 1 ...
S 1 ~ G = Y 1
S 2 ~ G = Y 2
.......
在集合C中找出与Y0距离最近的码字Yi,其对应的信息序列即为译码结果。
CN201611263986.7A 2016-12-30 2016-12-30 一种基于比特翻转算法的硬判决译码实现方法 Pending CN106877881A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611263986.7A CN106877881A (zh) 2016-12-30 2016-12-30 一种基于比特翻转算法的硬判决译码实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611263986.7A CN106877881A (zh) 2016-12-30 2016-12-30 一种基于比特翻转算法的硬判决译码实现方法

Publications (1)

Publication Number Publication Date
CN106877881A true CN106877881A (zh) 2017-06-20

Family

ID=59164274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611263986.7A Pending CN106877881A (zh) 2016-12-30 2016-12-30 一种基于比特翻转算法的硬判决译码实现方法

Country Status (1)

Country Link
CN (1) CN106877881A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103546239A (zh) * 2013-09-24 2014-01-29 东南大学 一种用于lte下行控制信道的盲检***及其盲检方法
CN105141317A (zh) * 2015-08-28 2015-12-09 中南民族大学 降低ldpc差错平台的两阶段选择性翻转译码方法
CN105577193A (zh) * 2015-12-16 2016-05-11 华南理工大学 基于环路消除的混合加权比特翻转的ldpc译码方法
US20160352358A1 (en) * 2014-01-24 2016-12-01 Hewlett-Packard Enterprise Development LP Bit-flip coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103546239A (zh) * 2013-09-24 2014-01-29 东南大学 一种用于lte下行控制信道的盲检***及其盲检方法
US20160352358A1 (en) * 2014-01-24 2016-12-01 Hewlett-Packard Enterprise Development LP Bit-flip coding
CN105141317A (zh) * 2015-08-28 2015-12-09 中南民族大学 降低ldpc差错平台的两阶段选择性翻转译码方法
CN105577193A (zh) * 2015-12-16 2016-05-11 华南理工大学 基于环路消除的混合加权比特翻转的ldpc译码方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
姚文顶等: ""深空通信中喷泉码技术研究"", 《***工程与电子技术》 *
赵永胜: ""LDPC码的编译码算法研究及优化"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Similar Documents

Publication Publication Date Title
CN107026656B (zh) 一种基于扰动的CRC辅助中短码长Polar码有效译码方法
CN103888148B (zh) 一种动态阈值比特翻转的ldpc码硬判决译码方法
Ryan et al. Channel codes: classical and modern
Trifonov et al. Generalized concatenated codes based on polar codes
US7293222B2 (en) Systems and processes for fast encoding of hamming codes
US8468430B2 (en) Product code decoding method and device
KR20170097580A (ko) 폴라 코딩 장치
JP2001036417A (ja) 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体
EP3614591B1 (en) Polar code transmission method and device
CN107124251A (zh) 一种基于任意内核的极化码编码方法
CN110233698B (zh) 极化码的编码及译码方法、发送设备、接收设备、介质
JP2007129679A (ja) Qc符号の符号化方法
Cyriac et al. Polar code encoder and decoder implementation
Grinchenko et al. Improving performance of multithreshold decoder over binary erasure channel
CN108270451B (zh) 一种应用于量子通信***的准循环量子ldpc码的增强方法
US8413025B2 (en) Method of handling packet loss using error-correcting codes and block rearrangement
EP3408956B1 (en) Apparatus and method for multi-code distributed storage
Jamali et al. Low-complexity decoding of a class of Reed-Muller subcodes for low-capacity channels
US9356734B2 (en) Transmitter, receiver, and signal processing method thereof
CN106877881A (zh) 一种基于比特翻转算法的硬判决译码实现方法
Fazeli et al. Convolutional decoding of polar codes
CN107483147A (zh) 一种有限码长的高进制Raptor 码编译码方法
Zolotarev et al. Efficient multithreshold decoding of nonbinary codes
Okeke et al. A comparative study between hamming code and Reed-Solomon code in byte error detection and correction
Shahariar Parvez et al. Design and implementation of hamming encoder and decoder over FPGA

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170620

RJ01 Rejection of invention patent application after publication