CN112865920A - 用以解码接收信息的解码方法与相关解码装置 - Google Patents

用以解码接收信息的解码方法与相关解码装置 Download PDF

Info

Publication number
CN112865920A
CN112865920A CN202110006001.7A CN202110006001A CN112865920A CN 112865920 A CN112865920 A CN 112865920A CN 202110006001 A CN202110006001 A CN 202110006001A CN 112865920 A CN112865920 A CN 112865920A
Authority
CN
China
Prior art keywords
received information
bit
vector
flipping
symptom
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
CN202110006001.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.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN112865920A publication Critical patent/CN112865920A/zh
Pending legal-status Critical Current

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/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
    • 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/0061Error detection codes
    • H04L1/0063Single parity check
    • 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/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • 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/159Remainder calculation, e.g. for encoding and syndrome calculation
    • 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

Landscapes

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

Abstract

本发明公开了一种用以解码接收信息的解码方法,并且,所述解码方法包含:根据校验矩阵以及所述接收信息得到第一征状;根据所述第一征状计算第一权重矢量,并且根据所述第一权重矢量产生对应于所述接收信息的第一位翻转矢量;在不参考所述接收信息以及所述接收信息的位翻转结果的情形下,根据所述第一位翻转矢量与所述校验矩阵更新所述第一征状以产生第二征状;以及根据所述第二征状计算第二权重矢量,并且根据所述第二权重矢量产生对应于所述接收信息的第二位翻转矢量;以及至少根据第二位翻转矢量完成对所述接收信息的解码。

Description

用以解码接收信息的解码方法与相关解码装置
申请日:2017/06/20;
申请号:201710471210.2;以及
发明创造名称:用以解码接收信息的解码方法与相关解码装置
技术领域
本发明涉及解码方法与相关解码装置,特别有关一种用于执行错误纠正的解码方法与相关解码装置。
背景技术
如图1所示的信息传送系统中,为了实现错误纠正,发送端1的原始信息m会通过编码器11的编码处理,在原始信息m后加上数个位(bit)的奇偶校验码p,从而得到码字(codeword)c。经过通道30的传送后,接收端2可得到接收信息r,接收端2中的解码器21会基于编码器11所进行的编码处理,判断接收信息r中是否包含通道干扰造成的错误,并且在发现错误后,执行相应的算法进行错误纠正,从而还原出码字c,并从码字c中得到原始信息m。
尽管现有技术中已经存在不少效果着越的解码演算法与相关电路,但不论是在算法或者是电路架构上,仍有改善的空间。
发明内容
本发明公开一种用于执行错误纠正的解码方法与相关解码装置,以解决上术问题。
本发明的实施例公开一种用以解码接收信息的解码方法,其中所述接收信息包含有多个接收信息区块,所述解码方法包含:根据校验矩阵以及所述接收信息得到第一征状;根据所述第一征状计算第一权重矢量,并且根据所述第一权重矢量产生对应于所述接收信息的第一位翻转矢量;在不参考所述接收信息以及所述接收信息的位翻转结果的情形下,根据所述第一位翻转矢量与所述校验矩阵更新所述第一征状以产生第二征状;以及根据所述第二征状计算第二权重矢量,并且根据所述第二权重矢量产生对应于所述接收信息的第二位翻转矢量;以及至少根据第二位翻转矢量完成对所述接收信息的解码。
本发明的实施例公开一种用以解码接收信息的解码装置,所述解码装置包含:征状计算单元、翻转计算单元。征状计算单元用以用以根据校验矩阵以及所述接收信息得到第一征状。翻转计算单元用以至少根据所述第一征状计算第一权重矢量,并且根据所述第一权重矢量产生对应于所述接收信息的第一位翻转矢量。其中所述征状计算单元在不参考所述接收信息以及所述接收信息的位翻转结果的情形下,根据所述第一位翻转矢量与所述校验矩阵更新所述第一征状以产生第二征状,以及所述翻转计算单元根据所述第二征状计算第二权重矢量,并且根据所述第二权重矢量产生对应于所述接收信息的第二位翻转矢量;以及所述解码装置至少根据第二位翻转矢量完成对所述接收信息的解码。
综上所述,本发明可通过处理器来执行对应的软件、透过纯电路或者是透过两者的组合。其中,处理器可为通用处理器(general-purpose processor),或者是如数字信号处理器(digital signal processor)的类的特定处理器。软件可能存储于电脑可读取媒体(例如:光盘(optical disk)、硬盘(hard disk drive)、闪存(flash memory)、各种随机存取存储器(random-access memory,RAM)、各种只读内存(read-only memory,ROM)或者是任何可被处理器所辨别的存储器中,并且包含各种程序逻辑(programming logic)、指令,或者是用以实现本发明的必要资料。此外,在纯电路的架构中,辨识模块以及判断模块可能包含有硬体逻辑(hard-wired logic),可编程逻辑(如:现场可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA)或者是复杂可可编程逻辑装置(Complex ProgrammableLogic Device,CPLD)、特殊应用集成电路(Application-specific integrated circuit,ASIC)。
有关本发明之前述及其他技术内容、特点与功效,在以下配合参考附图之实施例的详细说明中,将可清楚的呈现。
附图说明
图1为本发明数据编/解码与传送架构的示意图。
图2为本发明接收信息分段与校验矩阵分割的示意图。
图3为本发明的实施例的解码装置的功能方块示意图。
图4为相应于图3展示的解码装置的信号时序图。
图5为本发明的实施例的解码装置的功能方块示意图。
图6为相应于图5展示的解码装置的信号时序图。
图7~图10为本发明的实施例的位状态与其变迁。
其中,附图标记说明如下:
1 传送端
2 接收端
11 编码器
21 解码器
30 通道
100、200 解码装置
110、210 征状计算单元
112、212 运算单元
114、214、120、170、270 存储单元
116、216 加法电路
130、230 权重计算单元
140、240 翻转计算单元
150、250 翻转临界值调整单元
160、260 翻转处理单元
180、280 状态决定单元
具体实施方式
本发明的解码方法与解码装置可用于信息传送系统的接收端,对信息传送系统的传送端的编码器所传送出的码字c进行解码处理。首先,传送端的原始信息m会基于编码器的编码处理,在原始信息m后加上数个位的奇偶校验码p,从而得到码字c。例如,在低密度奇偶检查码(Low-density parity-check code,LDPC code)架构下,编码器可根据一个产生矩阵(generation matrix)G进行的编码处理,从而得到码字c,亦即:
m·G=c
其中,产生矩阵G与一个相应的校验矩阵(parity check matrix)H有以下的关系:
G·HT=0
并且,与校验矩阵H与码字c之间具有以下关系:
c·HT=0
假设码字c经过通道传送后,在接收端接可以得到接收讯息r,则接收讯息r可表示成错误e与码字c迭加的结果,其中错误e可能为通道躁声所造成的干扰:
r=c+e
如果进一步把接收信息r与校验矩阵H的转置矩阵进行点积运算,则可得到:
r·HT=(c+e)·HT=c·HT+e·HT
由于c·HT的结果必为零,因此以上的运算的结果为e·HT,亦可称作为征状(syndrome)。当接收信息r中不包含错误,则征状为0。然而,如果在接收到接收信息r的初期,征状计算的结果不为零,则可通过反复纠正接收信息r的部分位,得到r’·HT=0的结果,这时代表纠正后的接收信息r’与传送端所传送出的码字c一致。
接收信息r可以视为由图2所示的n个接收信息区块r1~rn所组成。其中,每一个信息区块r1~rn可能包含有一个或多个位,而校验矩阵H也可以根据这样的方式分割成n个相应的子矩阵H1~Hn
图3为本发明的实施例的解码装置100,解码装置100反复地进行迭代式的计算来解码接收信息r。在一个迭代(iteration)中,征状计算单元110中的计算单元112会分别计算出每个接收信息区块r1~rn与相应的子矩阵H1~Hn的转置矩阵H1 T~Hn T的点积,亦即,r1·H1 T、r2·H2 T、r3·H3 T、…以及rn·Hn T。每当计算单元112计算出一组点积rk·Hk T,就会被累加在征状计算单元110中的存储单元114,并且透过加法器116,与下一组内积rk+1·Hk+1 T,进行加总,并再次写入存储单元114。最后,当所有的部分接收信息r1~rn与相应的转置矩阵H1 T~Hn T的内积计算完毕后,可以得到征状S,这个过程可以表达如下:
r1·H1 T⊕r2·H2 T⊕r3·H3 T⊕…⊕rn·Hn T=S
通过征状计算单元110计算出的征状S,在一个迭代结束后,会被写入至另一组存储单元120中。在下一个迭代中,存储单元120会维持所存储的征状S不变,不受存储单元114的影响。权重计算单元130会根据存储单元120中存储的征状S,计算出多组权重矢量。其中,权重计算单元130会利用征状S分别与子矩阵H1~Hn进行内积计算,从而得到权重矢量W1=ΣS·H1、W2=ΣS·H2、…以及Wn=ΣS·Hn。接着,翻转计算单元140会根据权重矢量W1、W2、…以及Wn,以及翻转临界值调整单元150所设定的翻转临界值THk,产生分别对于每一个接收信息区块r1~rn的位翻转矢量v1~vn来进行错误校正。其中,权重矢量W1、W2、…以及Wn与相应的接收信息区块r1~rn中的位的错误机率正相关。
一开始,翻转临界值调整单元150会将翻转临界值THk设定为TH1(通常为所有可供设定的临界值中的最大值,同时也是校验矩阵H的一列(column)中“1”的个数),接着,翻转计算单元140会根据当前的翻转临界值TH1逐个检查权重矢量W1、W2…Wn,确认是否权重矢量W1、W2…Wn中有元素大于或等于当前的翻转临界值TH1,从而产生位翻转矢量v1~vn。例如,当翻转计算单元140检查权重矢量W2时,发现其中的一个或多个元素大于或等于翻转临界值TH1,那么翻转计算单元140会针对接收信息区块r2产生一个位翻转矢量v2,位翻转矢量v2指出接收信息区块r2中对应于所述一个或多个元素的位需要进行位翻转(代表该位可能错误),如将某个位的值由“1”翻转为“0”或者是由“0”翻转为“1”。另一方面,若翻转计算单元140没有发现权重矢量W1、W2…Wn中有元素大于或等于当前的翻转临界值TH1,则会产生数值为零的位翻转矢量v1~vn。再者,翻转处理单元160会根据位翻转矢量v1~vn来更新存储在存储单元170中的接收信息区块r1~rn,从而得到处理后的接收信息区块r1’~rn’。
在一个迭代中,翻转计算单元140会针对每个权重矢量W1、W2…Wn进行相同检查,并且根据检查结果产生位翻转矢量v1~vn,并且在所有权重矢量W1、W2…Wn检查完毕后,结束这个迭代。在一个迭代中,如果翻转计算单元140并没有检查出权重矢量W1、W2…Wn中的元素有任何一个大于或等于当前的翻转临界值TH1,则会要求翻转临界值调整单元150将当前的临界值调降翻转临界值为TH2。之后,下一个迭代中,翻转计算单元140会根据临界值TH2对每个权重矢量W1、W2…Wn进行检查,并判断是否需要对某一个接收信息区块r1~rk进行位翻转,以产生位翻转矢量v1~vn
另一方面,一旦翻转计算单元140针对了接收信息区块r1~rn中的一个产生可造成位翻转的非零位翻转矢量,那么,在这个迭代结束后,翻转处理单元160会将存储单元170中的接收信息更新为处理后的接收信息区块r1’~rn’。并且,在下一个迭代中,征状计算单元110会根据处理后的接收信息区块r1’~rn’重新计算一次征状,得到征状S’,而权重计算单元130再根据征状S’与校验矩阵H(H1~Hn)进行权重计算,从而得到新的n组权重矢量:W1’、W2’、…以及Wn’。在得到新的n组权重矢量W1’、W2’、…以及Wn’之后,翻转计算单元140再次根据翻转临界值TH1进行检查。请注意,一旦翻转计算单元140在某个迭代中,针对了某个接收信息区块r1~rk进行了位翻转,那么在下一个迭代中,翻转临界值会被重置成所有翻转临界值中最大的一者(如TH1);只有在检查的过程中没有发现权重矢量W1、W2…Wn中有元素大于或等于当前的翻转临界值,此时才会调降翻转临界值,(如由TH1调降成TH2)。解码装置100将反复进行这样的操作,直到计算出为0的征状,这就表示处理后的接收信息中已不包含任何错误,并且与传送端所传送出的码字c相同,此时针对接收信息的错误纠正流程结束。又或者,当迭代次数达到一个预设上限,则代表接收信息r中的错误无法被纠正,流程亦结束,接收信息r被视为无效。
图4为以上的纠正流程中,前几个迭代的时序图。在这个范例中,为了简化说明,接收信息r只包含为三个接收信息区块r1、r2以及r3。首先可看到,在时间点T1时,征状计算单元110接收到包含有接收信息区块r1、r2以及r3的接收信息r,并且在迭代I中计算出征状S。在迭代I之中,权重计算单元130基于征状S,依序计算出权重矢量W1、W2、以及W3。同时,每当权重计算单元130计算出一组权重矢量后,翻转计算单元140便根据当前的临界值TH1对权重矢量W1、W2、W3进行检查,并在检查后视情况,判定是否对接收信息区块r1、r2以及r3进行特定位的翻转,从而得到处理后的接收信息r’的接收信息区块r1’、r2’以及r3’。在迭代II之中,征状计算单元110再次利用纠正后的接收信息区块r1’、r2’以及r3’计算征状,以及得到新的征状S’。
从图4的时序图可以看出,征状的更新与位翻转判断之间有延迟,例如,尽管在迭代I的初期就可以得到处理后的接收信息区块r1’,但是必须等到进入迭代II之后,针对接收信息区块r1的处理结果,才会影响征状,使得征状被更新成S’。另一个问题在于,不论一个迭代中是否接收信息区块r1、r2以及r3有被更新,征状计算单元110都需要读取与利用存储单元170中所有的接收信息区块r1、r2以及r3来计算征状,造成无谓的耗电。因此,为了解决这个问题,本发明的第二个实施例提供了另一种架构。
图5为改善征状更新延迟与耗电问题的解码装置200的功能方块示意架构图。这一个实施例的征状计算单元210,权重计算单元230、翻转计算单元240、翻转处理单元260、存储单元270的原理与操作大致上与权重计算单元130与翻转计算单元140、翻转处理单元160与存储单元170相同,其特点在于,每当位翻转发生后,征状立刻被更新。请同时参考图5的功能方块示意图与图6的时序图。首先,在时间点T1后,征状计算单元210利用迭代的方式,根据接收信息区块r1~r3(此处为n=3的范例)计算出征状S,接着,权重计算单元230计算出了权重矢量W1,而翻转计算单元240则根据权重矢量W1判断出信息区块r1需进行位翻转(假设此时符合位翻转的条件),产生对应接于接收信息区块r1的位翻转矢量v1,这时,征状计算单元210会立刻根据位翻转矢量v1更新征状S,得到征状S’。基于征状S’,翻转计算单元240计算出权重矢量W2’,并且再次判断出信息区块r2需进行位翻转(假设此时亦符合位翻转的条件),得到对应于信息区块r2的位翻转矢量v2,并且让征状计算单元210再一次更新征状S’,从而得到征状S”。接着,再针对信息区块r3产生位翻转矢量v3。另一方面,存储单元270在时间点T1之间存储了接收信息区块r1~r3,之后,翻转处理单元260根据位翻转矢量v1~v3来更新存储单元270中的接收信息区块r1~r3,使其成为处理后的接收信息区块r1'~r3'。
由于这个实施例不包含前述实施例的存储单元120,因此每当一个接收信息区块经过位翻转处理后,征状的改变可以马上反映在下一个接收信息区块的处理与更新上,因此,解码效率可被提升。另一方面,在电路架构上,征状计算单元210不再需要依据所有的接收信息区块来计算与更新征状,而是只利用接受信息区块再处理后的变化(亦即,位翻转矢量),改变征状计算单元210中存储单元224的累加结果,从而更新征状,这样可大幅降低在前一个实施例中反复在每个迭代中进行征状计算所造成的无谓耗电。另一方面,由于解码效率的提升,也实质上提升了解码装置200的吞吐量(throughput)。
在这一个实施例中,由于征状是持续被更新的,所以难以界定迭代边界,所以无法以迭代为基础,调整翻转临界值。因此,翻转临界值调整单元250需要基于权重矢量W1~Wn的检查次数与在一定次数中是否发生位翻转来调整翻转临界值。举例来说,若接收信息r被分割为n段接收信息区块r1~rn,那么翻转临界值设定单元250会在n个阶段(cycle)的检查中,观察是否翻转计算单元240决定对某个接收信息区块进行位翻转(亦即,产生非零的位翻转矢量),如果历经了n个阶段的检查,都没有发生位翻转,则会调降临界值。另外,如果位翻转发生的频率过高,翻转临界值调整单元250则会提高翻转临界值。
为了提升解码或错误校正的可靠度,在本发明的一个实施例中,会给予每个位至少四种不同的位状态。如同上述,每一个接收信息区块r1~rn包含有一个或多个位。每个位在接收后,会被为判定为一第一位值(如:“1”)或一第二位值(如:“0”)。接者,每一个位的四种不同的位状态包含:strong“1”、strong“0”、weak“1”与weak“0”。判定出的位值“1”会使状态判断单元180/280让该位进入strong“1”的位状态,以及判定出的位值“0”会使状态判断单元180/280让该位进入strong“0”的状态,而状态判断单元180/280则将每个位的初始位状态记录在存储单元170/270中,而且,存储单元170/270也会持续记录每个位后续的位状态变化。
在此例中,翻转计算单元140/240所产生的非零位翻转矢量会让位由一个位状态转换成另一个位状态,但不一定会直接造成位值的翻转。当征状计算单元110/210计算出征状S,以及权重计算单元110/230根据征状S与校验矩阵H(H1~Hn)计算出权重矢量W1~Wn后,翻转计算单元140/240将根据权重矢量W1~Wn以及当前的翻转临界值THk来产生位翻转矢量v1~vn,翻转处理单元160/260根据非零的位翻转矢量v1~vn,更新存储单元170/270中一个或多个位的状态。根据权重矢量W1~Wn以及翻转临界值THk,翻转计算单元140/240会产生足以造成不同调整幅度的位翻转矢量。其中,strong“1”可视为可能性较大的位值“1”的状态、strong“0”可视为可能性较大的位值“0”的状态、weak“1”可视为可能性较低的位值“1”的状态,以及weak“0”可视为可能性较低的位值“0”的状态。如第7图所示,四种位状态有着远近关系,当转换至相邻的位状态时,可视为进行幅度较小的调整,而转换至不相邻的位状态时,可视为进行幅度较大的调整。
再者,如第8图所示,若权重矢量Wk的一元素wk大于或等于当前翻转临界值THk,且临界值THk不等于最大翻转临界值TH1时,则翻转计算单元140/240会产生让相应于所述元素的一个位的状态具有一较小改变幅度的位翻转矢量。举例来说,若该位的位状态为strong“0”,则这个位翻转矢量会让这个位调整为weak“0”,又或者是,当该位的位状态为weak“0”时,则会被位翻转矢量调整为weak“1”;另一方面,若该位的位状态为strong“1”时,则上述的位翻转矢量会让这个位调整为weak“1”,又或者是,该位的位状态为weak“1”时,则被调整为weak“0”。
再者,如图9所示,如果权重矢量Wk的一个元素wk小于或等于一个翻转临界值THlow下限(非零)时,则翻转计算单元140/240会让对应位的位状态由weak“0”调整回strong“0”,又或者是由weak“1”调整回strong“1”。
另外,如图10所示,如果权重矢量Wk的一元素wk等于当前翻转临界值THk,且当前翻转临界值THk等于最大临界值TH1时,则翻转计算单元140/240会产生让相对应的位的位状态具有一较大改变幅度的位翻转矢量。举例来说,若这个位的位状态为strong“0”时,则位翻转矢量会让这个位的状态调整为weak“1”或者是strong“1”,又或者是这个位的位状态为weak“0”时,会被调整为strong“1”。另一方面,若这个位的位状态为strong“1”时,则位状态会被调整为weak“0”或者是strong“0”,又或者是这个位的位状态为weak“1”时,将被调整为strong“0”。
由图7~图10可看出,在不同条件的wk与THk之下,翻转计算单元140/240所产生的位翻转矢量对位状态造成的调整幅度也不同。当元素wk等于当前翻转临界值THk时,翻转计算单元140/240会造成位状态的较大调整幅度,因为此时代表位值错误的可能性较大,需要较大的状态改变,从而造成位值的实质翻转,另一方面,当元素wk大于或等于当前翻转临界值THk,且当前翻转临界值THk不等于最大翻转临界值TH1时,则代表位值错误的可能性不明确,需要更多的迭代运算来确认,因此让位状态的改变幅度较小。最后,当元素wk小于或等于一个翻转临界值THlow下限时,则代表错误可被纠正的机会不大,因此倾向于不改变实质位值,让位状态退回较肯定的状态,避免把正确的位值改错。透过以上的设计,可以让错误纠正有更佳的可靠度,不会因为少数不恰当的位翻转,造成不正确的纠正结果。
以上所述的发明内容,可通过处理器来执行对应的软件、透过纯电路或者是透过两者的组合。其中,处理器可为通用处理器(general-purpose processor),或者是如数字信号处理器(digital signal processor)的类的特定处理器。软件可能存储于电脑可读取媒体(例如:光盘(optical disk)、硬盘(hard disk drive)、闪存(flash memory)、各种随机存取存储器(random-access memory,RAM)、各种只读内存(read-only memory,ROM)或者是任何可被处理器所辨别的存储器中,并且包含各种程式逻辑(programming logic)、指令,或者是用以实现本发明的必要资料。此外,在纯电路的架构中,辨识模块以及判断模块可能包含有硬体逻辑(hard-wired logic),可编程逻辑(如:现场可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA)或者是复杂可可编程逻辑装置(Complex ProgrammableLogic Device,CPLD)、特殊应用集成电路(Application-specific integrated circuit,ASIC)。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种用以解码接收信息的解码方法,其特征在于,包含:
根据校验矩阵以及所述接收信息得到第一征状;
根据所述第一征状计算第一权重矢量,并且根据所述第一权重矢量产生对应于所述接收信息的第一位翻转矢量;
在不参考所述接收信息以及所述接收信息的位翻转结果的情形下,根据所述第一位翻转矢量与所述校验矩阵更新所述第一征状以产生第二征状;以及
根据所述第二征状计算第二权重矢量,并且根据所述第二权重矢量产生对应于所述接收信息的第二位翻转矢量;以及
至少根据第二位翻转矢量完成对所述接收信息的解码。
2.如权利要求1所述的解码方法,其特征在于,得到所述第一征状的步骤包含:
根据所述校验矩阵与所述接收信息来产生所述第一征状;或者
根据所述校验矩阵与第三位翻转矢量更新第三征状产生所述第一征状。
3.如权利要求1所述的解码方法,其特征在于,所述接收信息中的一部分不会直接基于所述第一征状进行位翻转。
4.如权利要求1所述的解码方法,其特征在于,所述第一、所述第二位翻转矢量分别包含有一个或多个元素,所述一个或所述多个元素分别用以指出所述接收信息中的第一、第二部分对应的一个位或多个位是否需要翻转,以及当所述第一位翻转矢量包含的一个或多个元素为零时,所述第一征状与所述第二征状相同。
5.如权利要求1所述的解码方法,其特征在于,另包含:
根据所述第一位翻转矢量翻转所述接收信息中的第一部分中的一个位或多个位;以及
根据所述第二位翻转矢量翻转所述接收信息中的第二部分中的一个位或多个位。
6.如权利要求1所述的解码方法,其特征在于,另包含:
根据所述第一征状与所述校验矩阵产生对应于所述接收信息中的第一部分的所述第一权重矢量;以及
根据所述第一权重矢量与翻转临界值来产生所述第一位翻转矢量。
7.如权利要求6所述的解码方法,其特征在于,另包含:
根据于一特定时间间隔内,产生出非零的位翻转矢量的次数来调整所述翻转临界值。
8.一种用以解码接收信息的解码装置,其特征在于,包含:
征状计算单元,用以根据校验矩阵以及所述接收信息得到第一征状;以及
翻转计算单元,用以至少根据根据所述第一征状计算第一权重矢量,并且根据所述第一权重矢量产生对应于所述接收信息的第一位翻转矢量;
其中所述征状计算单元在不参考所述接收信息以及所述接收信息的位翻转结果的情形下,根据所述第一位翻转矢量与所述校验矩阵更新所述第一征状以产生第二征状,以及所述翻转计算单元根据所述第二征状计算第二权重矢量,并且根据所述第二权重矢量产生对应于所述接收信息的第二位翻转矢量;以及所述解码装置至少根据第二位翻转矢量完成对所述接收信息的解码。
9.如权利要求8所述的解码装置,其特征在于,所述征状计算单元:
根据所述校验矩阵与所述接收信息来产生所述第一征状;或者
根据所述校验矩阵与第三位翻转矢量更新第三征状产生所述第一征状。
10.如权利要求8所述的解码装置,其特征在于,所述接收信息的一部分不会直接基于所述第一征状进行位翻转。
11.如权利要求8所述的解码装置,其特征在于,所述第一、所述第二位翻转矢量分别包含有一个或多个元素,所述一个或所述多个元素分别用以指出所述接收信息中的第一、第二部分所对应的一个位或多个位是否需要翻转,以及当所述第一位翻转矢量包含的一个或多个元素为零时,所述第一征状与所述第二征状相同。
12.如权利要求8所述的解码装置,其特征在于,另包含翻转处理单元,用以:
根据所述第一位翻转矢量翻转所述接收信息中的第一部分中的一个位或多个位;以及
根据所述第二位翻转矢量翻转所述接收信息中的第二部分中的一个位或多个位。
13.如权利要求12所述的解码装置,其特征在于,另包含存储装置,用以存储所述接收信息,并且所述翻转处理单元根据至少所述第一位翻转矢量与所述第二位翻转矢量更新所述存储装置中的接收信息的第一、第二部分。
14.如权利要求8所述的解码装置,其特征在于,另包含:
权重计算单元,用以根据所述第一征状与所述校验矩阵产生对应于所述接收信息中的第一部分的所述第一权重矢量,其中所述翻转计算单元至少根据所述第一权重矢量与翻转临界值来产生所述第一位翻转矢量。
15.如权利要求14所述的解码装置,其特征在于,另包含:
翻转临界值调整单元,用以根据于一特定时间间隔内,所述翻转计算单元产生出的非零位翻转矢量的次数来调整所述翻转临界值。
CN202110006001.7A 2016-12-30 2017-06-20 用以解码接收信息的解码方法与相关解码装置 Pending CN112865920A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
TW105144104 2016-12-30
TW105144104A TWI631830B (zh) 2016-12-30 2016-12-30 解碼方法與相關解碼裝置
CN201710471210.2A CN108270518B (zh) 2016-12-30 2017-06-20 用以解码接收信息的解码方法与相关解码装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710471210.2A Division CN108270518B (zh) 2016-12-30 2017-06-20 用以解码接收信息的解码方法与相关解码装置

Publications (1)

Publication Number Publication Date
CN112865920A true CN112865920A (zh) 2021-05-28

Family

ID=62712076

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110006001.7A Pending CN112865920A (zh) 2016-12-30 2017-06-20 用以解码接收信息的解码方法与相关解码装置
CN201710471210.2A Active CN108270518B (zh) 2016-12-30 2017-06-20 用以解码接收信息的解码方法与相关解码装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710471210.2A Active CN108270518B (zh) 2016-12-30 2017-06-20 用以解码接收信息的解码方法与相关解码装置

Country Status (3)

Country Link
US (1) US20180191377A1 (zh)
CN (2) CN112865920A (zh)
TW (1) TWI631830B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI646783B (zh) * 2018-04-10 2019-01-01 大陸商深圳大心電子科技有限公司 解碼方法及儲存控制器
US11016843B2 (en) * 2018-12-06 2021-05-25 Micron Technology, Inc. Direct-input redundancy scheme with adaptive syndrome decoder
US11018695B1 (en) * 2019-11-11 2021-05-25 SK Hynix Inc. Fast-converging bit-flipping decoder for low-density parity-check codes
US11057059B1 (en) * 2020-01-15 2021-07-06 Western Digital Technologies, Inc. Content aware bit flipping decoder

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039854B1 (en) * 2002-02-21 2006-05-02 Ciena Corporation Method and apparatus for performing syndrome computation in a decoder of a forward error correction (FEC) system
CN101018060A (zh) * 2007-01-05 2007-08-15 东南大学 低密度校验码的并行加权比特翻转解码方法
US20130031440A1 (en) * 2011-07-29 2013-01-31 Sandisk Technologies Inc. Checksum using sums of permutation sub-matrices
CN103155421A (zh) * 2011-01-14 2013-06-12 马维尔国际贸易有限公司 Ldpc多解码器架构
US20150358036A1 (en) * 2014-06-10 2015-12-10 Phison Electronics Corp. Decoding method, memory storage device and memory control circuit unit
CN105304143A (zh) * 2014-07-21 2016-02-03 群联电子股份有限公司 解码方法、存储器控制电路单元及存储器存储装置
CN105304142A (zh) * 2014-06-20 2016-02-03 群联电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
US20160335160A1 (en) * 2014-04-03 2016-11-17 Empire Technology Development Llc Memory device with speculated bit flip threshold

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101493804B (zh) * 2008-01-24 2011-07-20 国际商业机器公司 数据总线系统及其编解码器和编解码方法
JP5007676B2 (ja) * 2008-01-31 2012-08-22 富士通株式会社 符号化装置、復号化装置、符号化・復号化装置及び記録再生装置
MX2012007899A (es) * 2010-05-31 2012-08-01 Ibm Decodificacion del codigo de verificacion de la paridad de baja densidad.
CN101976584B (zh) * 2010-10-27 2013-01-30 记忆科技(深圳)有限公司 准循环低密度奇偶校验码译码器及译码方法
CN104995844B (zh) * 2013-02-14 2018-11-30 马维尔国际贸易有限公司 具有对于ldpc码可靠性输入的比特翻转解码
CN105023613B (zh) * 2014-04-22 2019-06-14 群联电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
TWI541820B (zh) * 2014-07-10 2016-07-11 群聯電子股份有限公司 解碼方法、記憶體控制電路單元及記憶體儲存裝置
US9692450B2 (en) * 2015-05-11 2017-06-27 Maxio Technology (Hangzhou) Ltd. Systems and methods for early exit of layered LDPC decoder
KR102281751B1 (ko) * 2015-10-01 2021-07-27 에스케이하이닉스 주식회사 플래시 메모리 시스템 동작 방법
KR20170101368A (ko) * 2016-02-26 2017-09-06 에스케이하이닉스 주식회사 에러 정정 회로 및 에러 정정 방법

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039854B1 (en) * 2002-02-21 2006-05-02 Ciena Corporation Method and apparatus for performing syndrome computation in a decoder of a forward error correction (FEC) system
CN101018060A (zh) * 2007-01-05 2007-08-15 东南大学 低密度校验码的并行加权比特翻转解码方法
CN103155421A (zh) * 2011-01-14 2013-06-12 马维尔国际贸易有限公司 Ldpc多解码器架构
US20130031440A1 (en) * 2011-07-29 2013-01-31 Sandisk Technologies Inc. Checksum using sums of permutation sub-matrices
US20160335160A1 (en) * 2014-04-03 2016-11-17 Empire Technology Development Llc Memory device with speculated bit flip threshold
US20150358036A1 (en) * 2014-06-10 2015-12-10 Phison Electronics Corp. Decoding method, memory storage device and memory control circuit unit
TW201546815A (zh) * 2014-06-10 2015-12-16 Phison Electronics Corp 解碼方法、記憶體儲存裝置及記憶體控制電路單元
CN105304142A (zh) * 2014-06-20 2016-02-03 群联电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
CN105304143A (zh) * 2014-07-21 2016-02-03 群联电子股份有限公司 解码方法、存储器控制电路单元及存储器存储装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
彭立, 朱光喜: "LDPC码加权位翻转解码算法的研究", 信号处理, no. 05 *

Also Published As

Publication number Publication date
TW201824759A (zh) 2018-07-01
TWI631830B (zh) 2018-08-01
CN108270518B (zh) 2021-01-26
US20180191377A1 (en) 2018-07-05
CN108270518A (zh) 2018-07-10

Similar Documents

Publication Publication Date Title
CN109783270B (zh) 用于解码纠错码的系统和方法
KR101535225B1 (ko) 디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치
CN109787639B (zh) 用于解码纠错码的系统和方法
TWI758748B (zh) 使用於低密度奇偶檢查碼解碼器的方法及解碼器
CN107425856B (zh) 低密度奇偶校验译码器以及对其进行省电的方法
CN108270518B (zh) 用以解码接收信息的解码方法与相关解码装置
CN109586731B (zh) 用于解码纠错码的系统和方法
CN107528597B (zh) 一种基于crc校验码的ldpc码后处理译码方法
US7962837B2 (en) Technique for reducing parity bit-widths for check bit and syndrome generation for data blocks through the use of additional check bits to increase the number of minimum weighted codes in the hamming code H-matrix
CN110784231B (zh) 用于解码具有自生成对数似然比的纠错码的系统和方法
US10848182B2 (en) Iterative decoding with early termination criterion that permits errors in redundancy part
US9231620B2 (en) Iterative decoding device and related decoding method for irregular low-density parity-check code capable of improving error correction performance
CN107026655B (zh) 用于对码字进行译码的方法及译码器
CN101106437A (zh) 一种有限几何低密度奇偶校验码的译码方法
CN108270517B (zh) 用以解码接收信息的解码方法与相关解码装置
JP7038910B2 (ja) 復号装置、制御回路および記憶媒体
TWI685218B (zh) 解碼方法與相關解碼裝置
CN118508979A (zh) 基于打孔比特预处理的译码方法、装置、设备及介质
CN111782438A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210528