CN108683476B - 一种降低计算复杂度和硬件成本的硬判决译码方法 - Google Patents

一种降低计算复杂度和硬件成本的硬判决译码方法 Download PDF

Info

Publication number
CN108683476B
CN108683476B CN201810301389.1A CN201810301389A CN108683476B CN 108683476 B CN108683476 B CN 108683476B CN 201810301389 A CN201810301389 A CN 201810301389A CN 108683476 B CN108683476 B CN 108683476B
Authority
CN
China
Prior art keywords
iteration
processing unit
output
order
data stream
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.)
Expired - Fee Related
Application number
CN201810301389.1A
Other languages
English (en)
Other versions
CN108683476A (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.)
Tianjin University
Original Assignee
Tianjin 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 Tianjin University filed Critical Tianjin University
Priority to CN201810301389.1A priority Critical patent/CN108683476B/zh
Publication of CN108683476A publication Critical patent/CN108683476A/zh
Application granted granted Critical
Publication of CN108683476B publication Critical patent/CN108683476B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • 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
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明涉及一种降低计算复杂度和硬件成本的硬判决译码方法,基于CS‑RiBM算法进行改进,包括下面几个方面:(1)在保证得到正确译码结果的前提下,采用新的初始化条件,直接将新数据流中的第1次迭代的结果赋值为初始值进行运算;(2)加入判断校验子的0次项s0是否为0的机制;(3)删除每次迭代中必然出现的一个零值,即减少一个冗余的处理单元;(4)为实现在合适的时机将输出设为0,对原处理单元进行一定的修改,修改后的处理单元与原来处理单元相比,加入一个二路选择器用以在合适的时机将输出设置为0。

Description

一种降低计算复杂度和硬件成本的硬判决译码方法
所属技术领域
本发明属于信道编码中差错控制编码领域,涉及一种降低计算复杂度和硬件成本的硬判决译码算法。
背景技术
随着科技进步和发展,信息交换日益频繁,通信技术现已能克服对空间和时间的限制,正向着数字化、综合化、智能化等方向快速发展。相比于模拟通信,数字通信具有抗干扰能力强、灵活性高、便于集成化、可实现高质量的远距离通信、易于加密等优点,因此应用范围越来越广,已成为现代通信的主要传输方式。然而,由于传输信道的不理想,数字信号在传输过程中会不可避免地受到外界噪声干扰而出现传输错误,如何利用差错控制以使数据得到可靠重现成为数字通信系统设计的一个重要课题。在各类常见的差错控制码中,RS码属于非二进制BCH码最重要的一个子类,具有非常出色的纠正随机符号错误和随机突发错误能力,因此在通信和数据存储中得到广泛的应用,涉及从深空通信到高密度磁盘等多个方面。
RS码的译码算法主要有两大类:软判决译码算法和硬判决译码算法。硬判决虽然不能获得与软判决相当的译码增益,但是译码算法和VLSI实现都比较简单,因此成为目前的工业实现中的主流算法。BM(Berlekamp-Massey)算法作为最经典的译码算法之一,由于存在大量的求逆运算导致硬件实现较为困难,因此去除了逆运算单元的iBM(inversionless BM)算法被提出。然而iBM算法仍然存在硬件架构不规则且关键路径延迟过长的问题,因此RiBM(Reformulated inversionless BM)算法进入了人们的视线。RiBM硬件架构包含了3t+1个齐次的处理单元(ProcessingElement,PE),排列规则,仅需要2t次迭代就可以完成错误位置多项式和错误估值多项式的计算,每次迭代占1个时钟周期,因此完成计算总共需要2t个时钟周期,在本说明中,t指代RS码的纠错能力。目前最先进的硬判决译码算法是2016年在RiBM算法基础上衍生出的CS-RiBM(Compensated Simplified-Reformulated inversionless BM)算法,该算法在保证译码性能不损失的前提下,去掉了t-1个冗余的处理单元,显著降低了硬件资源消耗。
值得注意的是,一方面,以上几种算法的迭代次数均为2t,由于未与具体的数据流实例相结合,因此缺少缩减迭代次数的相关研究或发现。另一方面,从理论层面分析,在每次迭代中,错误位置多项式系数至多占据t+1个处理单元,错误估值多项式系数至多占据t个处理单元,因此必不可少的处理单元数目是2t+1。而即使在最先进的CS-RiBM译码架构中,处理单元数目仍为2t+2个。综上两方面所述,以CS-RiBM算法为基础,一个能够最大限度降低计算复杂度和硬件成本的硬判决译码方法需要得到进一步的研究。
发明内容
本发明的目的在于提供一种保证译码器译码性能的前提下,最大程度地缩减迭代次数、精简译码器架构的硬判决译码方法,主要技术方案如下:
一种降低计算复杂度和硬件成本的硬判决译码方法,基于CS-RiBM算法进行改进,包括下面几个方面:
(1)在保证得到正确译码结果的前提下,采用新的初始化条件:
Figure BDA0001619881200000021
得到新的数据流,Δ(r,z)指代错误位置多项式Λ(r,z)和校验子多项式S(z)的乘积,
Figure BDA0001619881200000022
指代Δ(r,z)的高阶部分;Θ(r,z)指代中间多项式B(r,z)和S(z)的乘积,
Figure BDA0001619881200000023
指代Θ(r,z)的高阶部分,
Figure BDA0001619881200000024
指代
Figure BDA0001619881200000025
和B(r,z)的组合多项式,之后直接将新数据流中的第1次迭代的结果赋值为初始值进行运算;
(2)加入判断校验子的0次项s0是否为0的机制,即判断s0=0是否成立,若成立则将0赋给
Figure BDA0001619881200000026
否则就将s(z)移位之后的结果赋给
Figure BDA0001619881200000027
(3)删除每次迭代中必然出现的一个零值,即减少一个冗余的处理单元,具体操作是:在迭代过程中,若相邻两次迭代第r次迭代和第r+1次迭代中零值出现在相同的第i个处理单元PEi,在删去第r次迭代中的零值后,为保证数据流的有序,将第r次迭代中第i+1个处理单元PEi+1的输出设置为0,同时将第r+1次迭代中第i-1个处理单元PEi-1的输入也设置为0;若相邻两次迭代中零值出现在不同的处理单元PEi和PEi-1,可以直接删去这两处的零值而不用对其他处理单元的输入输出做出改变;
(4)为实现在合适的时机将输出设为0,对原处理单元进行一定的修改,修改后的处理单元与原来处理单元相比,加入一个二路选择器用以在合适的时机将输出设置为0。
本发明针对目前最先进的硬判决译码算法——CS-RiBM算法仍存在优化空间的问题,提出将新的初始化设置方法引入该算法,最终减少了迭代运算的次数,降低了运算的时间复杂度。之后,为了进一步删去冗余的零输入零输出单元,对处理单元、补偿单元和控制单元均作出相应修改,最终显著降低了硬判决译码算法的硬件成本。在本发明中,利用上述方法可以在保证译码性能不损失的前提下最大程度地缩减迭代次数、精简译码器架构。
附图说明
图1为RS(255,239)码执行改进后算法的数据流例子示意图。
图2为消去零值前后示意图。(1)消去零值前对应的输入输出;(2)消去零值后对应的输入输出。
图3为PE4处理单元。
图4为控制单元示意图。(1)控制单元CONTROL1;(2)修改后的控制单元CONTROL3。
图5为调整后的关键方程求解模块整体架构图。
具体实施方式
本发明主要针对CS-RiBM硬判决译码算法,结合具体的数据流实例,通过设置新的初始化条件达到缩减迭代周期、减小时间复杂度的目标。在更改初始化值的基础上,通过分析各数据间输入和输出的关系,进一步删除不必要的单元,精简译码器架构,降低硬件成本,实现硬件成本的最小化。
下面结合附图和实例对本发明进行详述。为方便起见,本说明中一律以用途最广泛的RS(255,239)码(t=8)作为实例进行阐述,相关参数含义如表1所示。
(1)对于RS码的CS-RiBM译码算法,原来的初始化条件是:
Figure BDA0001619881200000028
通过Modelsim仿真发现,若采用新的初始化条件:
Figure BDA0001619881200000029
同样可以得到正确的译码结果。在此情况下,根据s0是否为0作以下分析:若s0=0,则根据原算法:
Figure BDA00016198812000000210
到2t+1,γ(0)=1可得
Figure BDA00016198812000000211
若s0≠0,由于
Figure BDA0001619881200000031
同样可以得到
Figure BDA0001619881200000032
由以上分析可得,第1次迭代(r=0)产生的值仅是初始化值的移位,因此可以直接将第1次迭代的结果作为初始值,即去掉一次迭代计算,并由此得到新的数据流。
(2)当s0=0时,
Figure BDA0001619881200000033
而当s0≠0,
Figure BDA0001619881200000034
这意味着s0是否为0将影响
Figure BDA0001619881200000035
的初始值,因此在此处加入判断机制,判断s0=0是否成立,若成立则将0赋给
Figure BDA0001619881200000036
否则就将s(x)移位之后的结果赋给
Figure BDA0001619881200000037
(3)经过对初始化值的修改,当前的译码器数据流例子如图1所示,当前的迭代次数是2t-1,注意到在每次迭代中,错误位置多项式和错误估值多项式之间总是相隔着至少1个零值。在现有的算法条件下,这个零值负责为错误估值多项式的最后一个系数和错误位置多项式的第一个系数的更新计算提供必要的乘数。为进一步减小硬件资源的消耗,提出一种可以删除每次迭代中的零值的方法,即减少一个PE。具体操作是:在迭代过程中,若相邻两次迭代(第r次迭代和第r+1次迭代)中零值出现在相同的处理单元PEi,在删去第r次迭代中的零值后,为保证数据流的有序,需要将第r次迭代中PEi+1处理单元的输出设置为0,同时将第r+1次迭代中PEi-1处理单元的输入也设置为0;若相邻两次迭代(第r次迭代和第r+1次迭代)中零值出现在不同的处理单元PEi和PEi-1,可以直接删去这两处的零值而不用对其他处理单元的输入输出做出改变。以图1实线框内的数据作为例子进行分析,虚线框里就是想去掉的零值。由于其他的数据无论是否为0,并不影响分析,所以为方便起见将其他的数据(包括打算去掉的零值)进行编号,如图2所示。目的是去掉δ10,δ11,δ12,δ13和δ04处的零值,其中δ10的作用是输出
Figure BDA0001619881200000038
(零值)作为δ01的输入,δ20的作用是输出
Figure BDA0001619881200000039
(零值)作为δ11的输入。若去掉δ10和δ11,为了不使数据流发生紊乱,将δ20的输出设为0,作为δ01的输入即可满足要求。同理,若去掉δ11和δ12,需要将δ21的输出设为0,作为δ02的输入。若去掉δ12和δ13,需要将δ22的输出设为0,作为δ03的输入,需要注意,因为δ13到δ04是零输入零输出,所以不必将δ23的输出强制设为0作为δ04的输入,仍然按照原来的设定将δ23的输出作为δ14单元的输入即可。δ14到δ05、δ24到δ15的情况可类比于δ23到δ14的分析。
(4)为了实现在合适的时机将输出设为0,需要对原来的处理单元进行一定的修改。需要修改的PE有t=8个(PE39-16),图3展示的是对CS-RiBM算法架构中的PE3进行修改而得到的PE4单元。与PE3相比,PE4加入了一个二路选择器用以在合适的时机将输出设置为0。当控制信号MC6i(r)=0时,修改后的处理单元和原来一样正常地完成输出;否则,当MC6i(r)=1时,新的处理单元将会直接将0作为输出。从整个数据流来看,在新的算法中并没有损失任何一次非零数据的输入输出运算,因此译码性能不会有任何损失。
(5)由于处理单元的变化,控制单元也需要做出相应的调整,具体的控制部分电路图如图4所示,A,B,C由控制单元CONTROL1生成,CONTROL1和CONTROL3组合起来实现架构的整体控制。图5是调整后的关键方程求解模块整体架构图。
表1
Figure BDA0001619881200000041

Claims (1)

1.一种降低计算复杂度和硬件成本的硬判决译码方法,基于CS-RiBM算法进行改进,包括以下的步骤:
(1)在保证得到正确译码结果的前提下,采用新的初始化条件:
Figure FDA0002786705390000011
Figure FDA0002786705390000012
得到新的数据流,Δ(r,z)指代错误位置多项式Λ(r,z)和校验子多项式S(z)的乘积,
Figure FDA0002786705390000013
指代Δ(r,z)的高阶部分;Θ(r,z)指代中间多项式B(r,z)和S(z)的乘积,
Figure FDA0002786705390000014
指代Θ(r,z)的高阶部分,
Figure FDA0002786705390000015
指代
Figure FDA0002786705390000016
和B(r,z)的组合多项式,之后直接将新数据流中的第1次迭代的结果赋值为初始值进行运算;
(2)加入判断校验子的0次项s0是否为0的机制,即判断s0=0是否成立,若成立则将0赋给
Figure FDA0002786705390000017
否则就将s(z)移位之后的结果赋给
Figure FDA0002786705390000018
(3)删除每次迭代中必然出现的一个零值,即减少一个冗余的处理单元,具体操作是:在迭代过程中,若相邻两次迭代第r次迭代和第r+1次迭代中零值出现在相同的第i个处理单元PEi,在删去第r次迭代中的零值后,为保证数据流的有序,将第r次迭代中第i+1个处理单元PEi+1的输出设置为0,同时将第r+1次迭代中第i-1个处理单元PEi-1的输入也设置为0;若相邻两次迭代中零值出现在不同的处理单元PEi和PEi-1,直接删去这两处的零值而不用对其他处理单元的输入输出做出改变;
(4)为实现在合适的时机将输出设为0,对原处理单元进行一定的修改,修改后的处理单元与原来处理单元相比,加入一个二路选择器用以在合适的时机将输出设置为0。
CN201810301389.1A 2018-04-04 2018-04-04 一种降低计算复杂度和硬件成本的硬判决译码方法 Expired - Fee Related CN108683476B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810301389.1A CN108683476B (zh) 2018-04-04 2018-04-04 一种降低计算复杂度和硬件成本的硬判决译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810301389.1A CN108683476B (zh) 2018-04-04 2018-04-04 一种降低计算复杂度和硬件成本的硬判决译码方法

Publications (2)

Publication Number Publication Date
CN108683476A CN108683476A (zh) 2018-10-19
CN108683476B true CN108683476B (zh) 2021-03-26

Family

ID=63799891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810301389.1A Expired - Fee Related CN108683476B (zh) 2018-04-04 2018-04-04 一种降低计算复杂度和硬件成本的硬判决译码方法

Country Status (1)

Country Link
CN (1) CN108683476B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841982A (zh) * 2005-03-31 2006-10-04 中国科学院空间科学与应用研究中心 一种高速译码芯片
CN101552613A (zh) * 2009-05-14 2009-10-07 上海交通大学 基于外信息符号变化的低密度校验码译码方法
KR20100032102A (ko) * 2008-09-17 2010-03-25 인하대학교 산학협력단 고속 저복잡 BCH 복호기의 불합도 계산이 필요 없는 RiBM 알고리즘을 이용한 오류위치 연산 방법 및 오류위치 연산 회로
CN102638273A (zh) * 2012-02-29 2012-08-15 哈尔滨工业大学 一种提高译码器吞吐率的ar4ja码译码方法
CN102857234A (zh) * 2011-06-29 2013-01-02 比亚迪股份有限公司 Reed Solomon解码器及解码方法
CN104579368A (zh) * 2014-12-11 2015-04-29 北京时代民芯科技有限公司 一种信道纠错码rs码解关键方程电路
CN105812000A (zh) * 2016-03-03 2016-07-27 西安电子科技大学 一种改进的bch软判决译码方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841982A (zh) * 2005-03-31 2006-10-04 中国科学院空间科学与应用研究中心 一种高速译码芯片
KR20100032102A (ko) * 2008-09-17 2010-03-25 인하대학교 산학협력단 고속 저복잡 BCH 복호기의 불합도 계산이 필요 없는 RiBM 알고리즘을 이용한 오류위치 연산 방법 및 오류위치 연산 회로
CN101552613A (zh) * 2009-05-14 2009-10-07 上海交通大学 基于外信息符号变化的低密度校验码译码方法
CN102857234A (zh) * 2011-06-29 2013-01-02 比亚迪股份有限公司 Reed Solomon解码器及解码方法
CN102638273A (zh) * 2012-02-29 2012-08-15 哈尔滨工业大学 一种提高译码器吞吐率的ar4ja码译码方法
CN104579368A (zh) * 2014-12-11 2015-04-29 北京时代民芯科技有限公司 一种信道纠错码rs码解关键方程电路
CN105812000A (zh) * 2016-03-03 2016-07-27 西安电子科技大学 一种改进的bch软判决译码方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Area-Efficient Reed–Solomon Decoder Using Recursive Berlekamp–Massey Architecture for Optical Communication Systems;Yanyan Liu ; Zhibin Liang ; Yang Wang ; Wei Lu ; Wei Zhang;《IEEE Communications Letters》;20170802;第21卷(第11期);全文 *
Efficient Berlekamp-Massey Algorithm and Architecture for Reed-Solomon Decoder;Zhibin Liang & Wei Zhang;《Journal of Signal Processing Systems》;20160106;全文 *

Also Published As

Publication number Publication date
CN108683476A (zh) 2018-10-19

Similar Documents

Publication Publication Date Title
CN110915141B (zh) 基于极化码的turbo乘积码
US5471500A (en) Soft symbol decoding
US5502735A (en) Maximum likelihood sequence detector
US5375129A (en) Maximum likelihood sequence detector
CN108847848B (zh) 一种基于信息后处理的极化码的bp译码算法
EP0771079A2 (en) Data transmission device
US7184468B2 (en) Method and system for implementing a conditional one's complement of partial address
US20040153942A1 (en) Soft input soft output decoder for turbo codes
JP2001267938A (ja) パラレル化されたスライディングウィンドウ処理によるmapデコーディング
Gabay et al. Joint source-channel coding using real BCH codes for robust image transmission
JP4497744B2 (ja) ターボ符号に関するノイズの評価方法および装置及びそれらを使用するシステム
EP2339757B1 (en) Power-reduced preliminary decoded bits in viterbi decoder
Hiller et al. Seesaw: An area-optimized FPGA viterbi decoder for PUFs
JP4814310B2 (ja) 等化制御に関する方法及び装置
CN108683476B (zh) 一种降低计算复杂度和硬件成本的硬判决译码方法
JP2002505051A (ja) カルマンフィルタによるソース制御チャネル復号化のための方法及び装置
CN103188040A (zh) Turbo均衡及其帧间、帧内相关预测的方法和装置
KR20060065452A (ko) 리드-솔로몬 복호 장치 및 수정된 유클리드 알고리즘연산회로
CN110784283B (zh) 确定前向纠错帧边界的方法、装置和解码系统
JP2003264467A (ja) ビタビ復号回路
CN117200809B (zh) 用于纠两个误码的rs码的低功耗钱搜索和错误估值电路
CN110875745A (zh) 一种面向高速硬件电路实现的gii码译码算法
Chye et al. Development and research of models of data transmission systems with adaptation to communication channel status and implementation of “deferred precision” principle
US8914716B2 (en) Resource sharing in decoder architectures
Zhang et al. Novel interpolation and polynomial selection for low-complexity chase soft-decision Reed-Solomon decoding

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210326