CN1761160A - 解码方法和设备 - Google Patents

解码方法和设备 Download PDF

Info

Publication number
CN1761160A
CN1761160A CNA2005101084310A CN200510108431A CN1761160A CN 1761160 A CN1761160 A CN 1761160A CN A2005101084310 A CNA2005101084310 A CN A2005101084310A CN 200510108431 A CN200510108431 A CN 200510108431A CN 1761160 A CN1761160 A CN 1761160A
Authority
CN
China
Prior art keywords
decoding
decoder
data
soft
dateout
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.)
Granted
Application number
CNA2005101084310A
Other languages
English (en)
Other versions
CN100542051C (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.)
Renesas Electronics Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of CN1761160A publication Critical patent/CN1761160A/zh
Application granted granted Critical
Publication of CN100542051C publication Critical patent/CN100542051C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2975Judging correct decoding, e.g. iteration stopping criteria
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2978Particular arrangement of the component decoders
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

根据本发明一个实施例的解码设备包括:第一解码器,用于根据通过对未编码数据进行编码而获得的第一编码数据,以及第二软输出数据,来执行第一解码,以生成第一软输出数据;第二解码器,用于根据通过对未编码数据进行交织和对交织的数据进行编码而获得的第二编码数据,以及第一软输出数据,来执行第二解码,以生成第二软输出数据;以及硬判定部件,用于通过对第一软输出数据进行硬判定,来输出解码数据。

Description

解码方法和设备
发明领域
本发明涉及一种解码方法和设备。本发明特别涉及用于对第一编码数据和第二编码数据进行重复解码的解码方法和设备。
背景技术
数字通信***采用了错误校验代码,用于校验在发送信道中所发生的代码错误。特别是在移动通信***中,由于因相位调整而导致电波强度大幅度波动,因此很容易发生代码错误。因此,错误校验代码需要较高的校验能力。Turbo代码作为一种错误校验能力接近Shannon极限的错误校验代码,已经引起了人们的注意,并且已经在作为第三代移动通信***的例如W-CDMA(宽带码分多址)或CDMA-2000中得到使用。
图8为框图,示出了用于生成turbo代码的典型编码设备的结构。编码设备80位于例如通信***的发送侧上,并且将作为未编码数据的信息序列U编码成turbo代码的PCCC(并行链接卷积代码),以将结果输出到外部,例如发送信道。
如图8所示,编码设备80包括作为***卷积编码器的第一编码器81和第二编码器82,以及用于对数据进行交织(重新排列)的交织器83。
第一编码器81对输入的信息序列(***部分)U进行编码,以产生冗余位P,并且将冗余位P输出到外部。交织器83将所接收的***部分U的位重新排列成预定交织样式,以产生***部分U’。***部分U’被送到第二编码器82。第二编码器82对***部分U’进行编码,以产生冗余位P’,并且将冗余位P’输出到外部。
因此,编码设备80输出***部分U、冗余位P、***部分U’和冗余位P’。***部分U和冗余位P对(U,P)被称为第一基本码(编码数据),而***部分U’和冗余位P’对(U’,P’)被称为第二基本码E’。在本申请中,没有加撇号的数据指的是第一基本码或未经交织的数据;加撇号的数据指的是第二基本码或交织数据。
对这样编码的turbo代码进行解码被称为turbo解码。在对第一基本码E进行解码的解码器和对第二基本码E’进行解码的解码器之间交换外部信息的同时,turbo解码执行解码重复。例如,在日本未审专利公开No.2004-80508中所公开的解码器就是已知的用于turbo解码的现有解码器。
图9为框图,示出了用于turbo解码的现有解码设备的结构。现有解码设备90对从图8的编码设备80提供的第一基本码E和第二基本码E’进行解码。如图9所示,现有解码设备90包括第一解码器91,用于对第一基本码E进行解码;第二解码器92,用于对第二基本码E’进行解码;交织器93,用于对数据进行交织;去交织器94和95,用于对数据进行去交织(将交织样式重新排列成原始样式);硬判定部件96,用于对软输出数据执行硬判定。
第一解码器91和第二解码器92根据软输入/软输出解码方法对数据进行解码。作为软输入/软输出解码方法,还存在已知的SOVA(软输出Viterbi算法)和MAP(最大后验法)。例如,第一解码器91和第二解码器92根据作为MAP的例子的Max-Log-MAP算法对数据进行解码。
根据Max-Log-MAP算法,Viterbi解码是根据被称为Trellis图的状态转换图来进行的。连接在各个时间点上的状态之间的路径与被解码的代码序列相对应。对所有可能路径都进行似然(路径度量)计算,并且将最大似然路径设定为生存路径,并且使用该路径上的数据序列作为解码数据。
图10示出了在Max-Log-MAP算法中使用的Trellis图的例子。根据Max-Log-MAP算法,在点A上对数据进行解码时,计算自点A之前的第二位置(图中的起点)的路径度量和自点A之后的第一位置(图中的终点)的路径度量。用于在从Trellis图上的起点到终点的方向上(向下)进行Viterbi解码以计算路径度量的处理被称为“向前处理”。通过向前处理计算的路径度量被称为α路径度量。相反,用于在与向前处理相反的方向上(从终点到起点的方向:向上方向)进行Viterbi解码以计算路径度量的处理被称为“向后处理”。通过向后处理计算的路径度量被称为β路径度量。
此外,根据Max-Log-MAP算法,在向前处理或向后处理之后,计算用于连接α路径度量和β路径度量的分支的似然(分支度量),以从α路径度量、β路径度量和分支度量得到对数似然比率(LLR)和外部信息。对数似然比率或外部信息是作为软输入/软输出解码结果的软输出数据(可信度)。在日本未审专利公开No.2004-80508中公开了其计算表达式。
图11为示意图,示出了基于turbo解码的现有解码方法。现有解码方法是通过使用图9的现有解码设备来实施的。根据现有解码方法,在对第二基本码E’进行解码(1102)之前对第一基本码E进行解码(1101)。例如,第一解码器91使用所接收的第一基本码E和由去交织器94进行去交织的外部信息LE2,来对数据进行解码,以将外部信息LE1发送到交织器93。接下来,第二解码器92使用所接收的第二基本码E’和由交织器93进行交织的外部信息LE1’,来对数据进行解码,以将外部信息LE2’输出到去交织器94。
此外,在对第一基本码E进行解码时,在进行向后处理(1104)之前进行向前处理(1103)。同样地,在对第二基本码E’进行解码时,在执行向后处理(1106)之前执行向前处理(1105)。然后,将对第一基本码E和第二基本码E’进行的解码处理定义为一个循环,并且该解码循环被重复N次(1107)。
在用于第一基本码E和第二基本码E’的解码循环被重复N次之后,执行去交织处理(1108),接着是硬判定,以输出解码序列D(1109)。例如,去交织器95对由第二解码器92计算的对数似然比率L’进行去交织,并且硬判定部件96对去交织的对数似然比率L执行硬判定,以输出解码序列D。
现已发现,使用现有的解码设备90,在重复解码N次之后,第二解码器92输出交织的对数似然比率L’,因此有必要对该比率进行去交织,以对其执行硬判定。另外,对于第二解码器92,向后处理接在向前处理之后,因此从数据的尾端到顶端输出对数似然比率L’。因此,该比率需要以逆序进行重新排列(从顶端到尾端)。
同时,对于turbo解码,已知控制第一基本码E和第二基本码E’的解码重复次数(重复控制)的方法。图12为框图,示出了执行重复控制的现有解码设备的结构。如图12所示,除了包括图9的现有解码设备90的组件之外,现有解码设备120还包括用于重复控制的CRC(循环冗余检验)部件97。
图13为示意图,示出了用于重复控制的现有解码方法。现有解码方法是通过使用图12的现有解码设备120来实施的。除了包括图11的解码方法的步骤之外,现有解码方法还包括CRC处理。
如图13所示,在对第一基本码E进行解码处理(1110)期间,CRC检验与向前处理(1103)同时进行。例如,硬判定部件96对由去交织器94进行了去交织的外部信息LE2执行硬判定,并且CRC部件97对作为硬判定结果的解码序列D执行CRC。作为CRC的结果,如果发现了错误,则重复进行解码。在解码重复了N次之后,如图11所示,对对数似然比率L’进行去交织,接着对对数似然比率L进行硬判定,然后再次执行CRC检验(1111)。
如果解码重复中作为CRC检验的结果,没有检测出错误,则不再重复解码。然后,对进行了CRC的外部信息LE2进行去交织,然后对其执行硬判定,以输出解码序列D。
现在已经发现,根据现有解码设备120,对关于由去交织器94进行了去交织的外部信息LE2的硬判定结果进行CRC检验。通常,外部信息不是用于硬判定以生成解码序列的数据。因此,存在重复控制准确性低的问题。另一方面,为了使用对数似然比率L’而非外部信息LE2,需要一个存储容量较大的存储器,用于暂时存储对数似然比率L。
此外,用于CRC的外部信息LE2是在前一个解码重复(循环)中解码的第二基本码E’。为了对外部信息LE2执行CRC,外部信息LE2应该被去交织,因此又消耗了用于该去交织的处理时间(一个解码循环(解码重复)所需时间段的一半)。
如上所述,根据现有解码设备90,在解码被重复N次之后,有需要对交织的对数似然比率L’进行去交织或者重新排列逆序的用于硬判定的数据。因此,去交织处理或重新排列占多了大量时间,延长了解码处理。
发明内容
根据本发明的解码设备包括:第一解码器,用于根据通过对未编码数据进行编码而获得的第一编码数据,以及第二软输出数据,来执行第一解码,以生成第一软输出数据;第二解码器,用于根据通过对未编码数据进行交织和编码而获得的第二编码数据,以及第一软输出数据,来执行第二解码,以生成第二软输出数据;以及硬判定部件,用于通过对第一软输出数据进行硬判定来输出解码数据。因此,可能够略去交织或重新排列处理,并且缩短解码处理所需的时间。
根据本发明的解码设备包括:第一解码器,用于根据通过对未编码数据进行编码而获得的第一编码数据,来执行解码,以生成第一软输出数据;第二解码器,用于根据通过对未编码数据进行交织和编码而获得的第二编码数据,来执行解码,以生成第二软输出数据;以及硬判定部件,用于通过对第一软输出数据进行硬判定来输出解码数据。因此,能够省略去交织或重新排列处理,并且缩短解码处理所需的时间。
根据本发明的解码方法,包括:通过对未编码数据进行编码而获得的第一编码数据以及第二软输出数据,来执行第一解码,以生成第一软输出数据;根据通过对未编码数据进行交织和编码而获得的第二编码数据以及第一软输出数据,来执行第二解码,以生成第二软输出数据;以及通过对第一软输出数据进行硬判定,来输出解码数据。因此,能够省略去交织或重新排列处理,并且缩短解码处理所需的时间。
根据本发明,能够提供一种能够缩短解码处理所需时间的解码方法和设备。
附图说明
从结合附图的如下讲述中,本发明的上述和其它目标、优点和特征将更加清楚,其中:
图1为框图,示出了根据本发明的解码设备的结构;
图2A和2B为框图,每一个示出了根据本发明的解码设备的结构;
图3示出了根据本发明的解码方法;
图4为框图,示出了根据本发明的解码设备的结构;
图5示出了根据本发明的解码方法;
图6是示出了根据本发明的解码设备的模拟结果的图;
图7是示出了根据本发明的解码设备的模拟结果的图;
图8为框图,示出了典型解码设备的结构;
图9为框图,示出了现有解码设备的结构;
图10示出了典型解码器中所采用的Trellis图的例子;
图11示出了现有的解码方法;
图12为框图,示出了现有解码设备的结构;以及
图13示出了现有的解码方法;
具体实施方式
现在将参考解释性实施例在此说明本发明。本领域技术人将认识到,使用本发明的讲述还可以实现许多可选的实施例,并且本发明并不限于用于讲解目的的实施例。
本发明的第一实施例
首先,参照图1~图3来讲述根据本发明第一实施例的解码方法和设备。根据本实施例的解码方法和设备的特征是,依次对第二基本码E’和第一基本码E进行重复解码,并且解码重复在完成用于第一基本码E的解码处理中的向前处理时结束。
现在参照图1来讲述根据本实施例的解码设备的结构。解码设备1用于turbo解码,并且例如对来自图8的编码设备80的第一基本码E和第二基本码E’进行解码。也就是说,解码设备1接收通过对信息序列U(未编码数据)进行编码而获得的第一基本码E(第一编码数据),以及通过对被编码的信息序列U进行交织而得到的第二基本码E’(第二编码数据)。第一基本码E和第二基本码E’通过发送信道被输入到解码设备1,并且在发送信道上噪音被叠加于其上,因此会发生代码错误。解码设备1对第一基本码E和第二基本码E’进行turbo解码,并且以其高的校验能力来校验代码错误。
如图1所示,解码设备1包括第一解码器11、第二解码器12、交织器13、去交织器14和硬判定部件15。
第一解码器11与编码设备80的第一编码器81相对应,并且对第一基本码E进行解码。第一解码器11为能够根据SOVA和MAP进行解码的软输入/软输出解码器。第一解码器11根据例如Max-Log-MAP算法来解码数据。通过解码,产生了软输出数据。软输出数据为表示可信度的数据,也就是说,概率为“0”或“1”(似然)。例如,如果软输出数据为较大的正值,则为“0”的概率较高。对之对照,如果软输出数据为较大的负值,则为“1”的概率较高。根据Max-Log-MAP算法,外部信息或对数似然比率是作为软输出数据来生成的。外部信息是解码重复中在第一解码器11和第二解码器12之间交换的数据。对数似然比率为要经过硬判定以生成解码序列的数据。
第一解码器11使用接收的第一基本码E和由去交织器14进行去交织的外部信息LE2来执行解码,以输出通过解码得到的外部信息LE1。另外,第一解码器11与第二解码器12一起重复预订次数的解码,然后将通过解码得到的对数似然比率L输出到硬判定部件15。在解码循环(解码重复)中,第二解码器12在第一解码器11执行解码之前执行解码,并且该循环被重复N次。
第二解码器12与编码设备80的第二编码器82相对应,并且对第二基本码E’进行解码。第二解码器12是与第一解码器11相类似的软输入/软输出解码器。此外,第二解码器12使用接收的第二基本码E’和由交织器13进行交织的外部信息LE1’来执行解码,以输出通过解码得到的外部信息LE2’。
交织器13将数据交织成预定交织样式。例如,交织器13具有存储器,因此能够通过将数据写入存储器/从存储器读取数据,来对数据进行交织。在将数据写入存储器时,数据可以根据交织样式来进行重新排列,在从存储器读取数据时,数据可以从顶端依次被读取。可选地,在将数据写入存储器时,数据可以从顶端依次被写入,在从存储器读取数据时,数据可以根据交织样式来进行读取。另外,交织器13对从第一解码器11输出的外部信息LE1进行交织,以将外部信息LE1’输出到第二解码器12。
去交织器14将交织的数据去交织成原始的数据排列。与交织器13类似,去交织器14能够通过将数据写入存储器/从存储器读取数据,来对数据进行去交织。在将数据写入存储器时,数据可以根据与交织样式相反的去交织样式来进行重新排列,并且在从存储器读取数据时,数据可以从顶端依次被读取。此外,在将数据写入存储器时,数据可以从顶端依次被写入,并且在从存储器读取数据时,数据可以根据去交织样式来进行读取。另外,去交织器14对从第二解码器12输出的外部信息LE2’进行去交织,以将外部信息LE2发送到第一解码器11。
硬判定部件15对软输出数据执行硬判定,以生成解码序列。在硬判定中,根据诸如软输出数据等呈现给定值的数据来选择诸如“0”或“1”的预定数据。例如,如果软输出数据近似为“0”,则数据被确定为“0”;如果数据近似为“1”,则数据被确定为“1”。
此外,硬判定部件15重复解码之后对从第一解码器11提供的对数似然比率L执行硬判定,以在输出硬判定结果作为解码序列D。在本实施例中,由于从第一解码器11而非第二解码器12提供的对数似然比率L直接进行硬判定,因此没有必要通过去交织来重新排列对数似然比率L。
接下来,参照图2A和2B来讲述根据本实施例的解码设备的结构。图2A示出了第一解码器11的结构,图2B示出了第二解码器12的结构。
如图2A所示,第一解码器11包括向前处理部件21、向后处理部件22、存储器23和外部信息计算部件24。存储器23存储向前处理部件21、向后处理部件22和外部信息计算部件24中的处理所需要的信息。
向后处理部件22使用第一基本码E和由去交织器14进行去交织的外部信息LE2,来执行向后处理。向后处理部件22从实际解码位置后面的位置(终点)起向上参考外部信息LE2和第一基本码E,以从Trellis图的终点起计算β路径度量。然后,向后处理部件22将第一基本码E和用于向后处理的外部信息LE2,以及通过向后处理计算的β路径度量存储在存储器23中。
向前处理部件21使用通过向后处理部件22存储在存储器23中的第一基本码E和外部信息LE2,来执行向前处理。向前处理部件21从实际解码点前面的位置(起点)起向下参考外部信息LE2和第一基本码E,以从Trellis图的起点起计算α路径度量。然后,向前处理部件21将通过向前处理计算的α路径度量存储在存储器23中。
外部信息计算部件24使用通过向后处理部件22和向前处理部件21存储在存储器23中的α路径度量和β路径度量,来计算对数似然比率L,并且得到外部信息LE1。例如,外部信息计算部件24计算连接α路径度量和β路径度量的分支度量,以从α路径度量、β路径度量和分支度量得到对数似然比率L,并且基于对数似然比率L获取外部信息LE1。然后,外部信息计算部件24输出计算出的对数似然比率L或外部信息LE1。
例如,外部信息计算部件24按照其中α路径度量和β路径度量分别计算的次序来获取对数似然比率L和外部信息LE1,并且按照所述的次序来输出对数似然比率L或外部信息LE1。在第一解码器11中,在向后处理部件22执行向后处理之后,向前处理部件21执行向前处理。因此,在计算出β路径度量之后,从Trellis图的起点起向下计算α路径度量。因此,对数似然比率L和外部信息LE1是以该次序(也就是从起点向下)来计算的,以按该次序来输出对数似然比率L或外部信息LE1。因此,对数似然比率L是从数据的顶端输出的,这使得能够在不对数据进行重新排列的情况下直接让数据经过硬判定。
如图2B所示,第二解码器12包括向前处理部件21’、向后处理部件22’、存储器23’和外部信息计算部件24’。第二解码器12的各个组件与第一解码器11的各组件是相同的。这里,第二解码器12与第一解码器的不同之处在于向前处理部件21和向后处理部件22之间的数据输入/输出关系,也就是执行向前处理和向后处理的顺序。
向前处理部件21’从起点起向下参考所接收的第二基本码E’和外部信息LE1’来计算α路径度量,以将第二基本码E’、外部信息LE1’和α路径度量存储在存储器23’中。向后处理部件22’从终点起向上参考通过向前处理部件21’存储在存储器23’中的外部信息LE1’和第二基本码E’,来计算β路径度量,以将所计算出的β路径度量存储在存储器23’中。与外部信息计算部件24类似,外部信息计算部件24’得到外部信息LE2’。
在第二解码器12中,在向后处理部件22’执行向后处理之前,向前处理部件21’执行向前处理。因此,在计算出α路径度量之后,从Trellis图的终点起向上计算β路径度量。因此,外部信息LE2’是以该次序(也就是从终点向上)得到的,以按该次序输出外部信息LE2’。
接下来参照图3来讲述根据本实施例的解码方法。本解码方法是由图1的解码设备1来实施的。也就是说,该解码方法对turbo编码的第一基本码E和第二基本码E’进行重复解码。
根据本解码方法,首先,对第二基本码E’进行解码(301)。在该解码中,向后处理(304)接在向前处理(303)之后。例如,如果第二解码器12接收第二基本码E’和外部信息LE1’,则向前处理部件21’执行向前处理,其后向后处理部件22’执行向后处理。然后,外部信息计算部件24’根据通过向前处理和向后处理计算的路径度量,来获取对数似然比率L和外部信息LE2’。用于第二基本码E’的解码次序并不限于此,并且向前处理可以接在向后处理之后。
此外,如果第二基本码E’是第一次进行解码,则还没有获取外部信息LE1’,因此使用初始值。如果是第二次和后续次解码,则使用通过第一解码器11获取的外部信息LE1’。
接下来,对第一基本码E进行解码(302)。在该解码中,向前处理(306)接在向后处理(305)之后。例如,当第一解码器11接收第一基本码E和外部信息LE2,则在向前处理部件21执行向前处理之前,向后处理部件22执行向后处理。然后,外部信息计算部件24根据通过向后处理和向前处理计算的路径度量,来获取对数似然比率L和外部信息LE1。
接下来,用于第二基本码E’和第一基本码E的解码处理被定义为一个循环,并且该循环被重复N次(307)。代码错误校验能力是与解码循环的次数成比例提高的;解码循环的次数为例如8~10。
在N次解码循环之后执行硬判定(308)。例如,第一解码器11对第一基本码E所进行的解码次数进行计数,并且当计数值达到N时,将相应的对数似然比率L输出到硬判定部件15。硬判定部件15对从第一解码器11提供的对数似然比率L进行硬判定,以输出解码序列D。
这样,根据本实施例,在重复解码之后,第一解码器输出对数似然比率,因此对数似然比率可以在不进行重新排列的情况下直接经过硬判定。也就是说,与从第二解码器输出的对数似然比率不同,没必要进行去交织处理。此外,在第一解码器中,向前处理是在向后处理之后进行,以输出对数似然比率,这就消除了对逆序的对数似然比率进行重新排列的必要。因此,可以略过去交织或重新排列处理,以减少解码时间,另外还可节约功耗。这一点对于诸如蜂窝电话等需要低功耗的电子设备是尤为有效的。
例如,去交织处理需要一个解码循环所需时间的一半。然而,本实施例能够省却该处理。在8个解码循环的情况下,现有例子(图9)需要与8.5个解码循环相对应的处理时间。然而,本实施例(图1)只需要与8个解码循环相对应的处理时间,因此可以节约与0.5个解码循环相对应的处理时间(约0.6%)。
本发明的第二实施例
下面参照图4至图7来讲述根据本发明第二实施例的解码设备和方法。根据本实施例的解码设备和方法所具有的特点是,解码的第一基本码E要经过硬判定,并且进一步要进行用于重复控制的CRC。
现在参照图4来讲述根据本实施例的解码设备的结构。在图4中,与图1中相同的组件用相似的标号来表示,并且在此省略其详细讲述。
如图4所示,除了图1的组件之外,解码设备1还包括CRC部件16。CRC部件16为错误检测部件,用于对用于错误检测的解码序列D执行CRC判定。
接下来参照图5来讲述根据本实施例的解码方法。该解码方法是由图4的解码设备1来执行的。另外,除了图3的解码方法的步骤之外,该解码方法还包括CRC。除了CRC之外,图5的解码方法与图3的解码方法是相同的,因此只对其进行简要讲述。
与图3的解码方法类似,本解码方法解码第二基本码E’(301)和第一基本码E(302),该解码被重复N次(307)。在本实施例中,每一次重复解码,都根据对第一基本码E进行解码的结果来进行CRC(309)。例如,在每一个解码处理中,第一解码器11执行向后处理(305)和向前处理(306),以将外部信息LE1输出到交织器13并且将对数似然比率L输出到硬判定部件15。硬判定部件15对对数似然比率L执行硬判定,以将解码序列D输出到CRC部件16。然后,CRC部件16对用于错误检测的解码序列D执行CRC计算。
如果作为CRC的结果没有发现错误,则在不进行重复解码的情况下输出解码序列D。相反,如果作为CRC的结果发现了错误,则连续地重复解码。例如,如果CRC计算值与解码序列D中的CRC值一致,则CRC部件16确定不存在错误并输出解码序列D。如果CRC计算值与CRC值不一致,则CRC部件通知第一解码器11发现了错误。作为对该通知的响应,只要检测到错误,第一解码器11和第二解码器12就连续地进行重复解码。
在解码被重复N次之后,与图3相类似,对从第一解码器11提供的对数似然比率L进行硬判定,以对解码序列D执行CRC判定,并且输出得到的解码序列D。
这样,根据本实施例,通过用第一解码器对第一基本码E进行解码所获得的对数似然比率L经过硬判定和随后的CRC判定,从而与对外部信息执行硬判定和CRC检验的现有情况相比,提高了重复控制的准确度。也就是说,CRC判定是根据用于实际获取解码序列的对数似然比率L进行的,因此基于CRC的错误检测可信度得到提高,并且能够以较高的可信度来减少解码循环的次数。因此,能够缩短解码时间,并且节约功耗。
此外,从第一解码器输出的对数似然比率L可以直接经过硬判定和CRC,从而能够省略去交织处理,来更大程度地缩短解码时间。特别地,每一次重复解码时都执行用于重复控制的CRC,因此缩短时间的效果大并且与解码循环的次数成正比。
图6和图7示出了根据本实施例的解码设备和方法的模拟结果。
图6示出了解码设备的代码错误率。图6的横轴表示Eb/N0。Eb/N0为信噪比(SNR),换句话说,即每比特的信号能量Eb与基于频带的白噪声功率密度N0的比率。小Eb/N0表示较大的噪声成分。大Eb/N0表示较小的噪声成分。图6的纵轴代表表示基于位的错误率的位错误率(BER)和表示基于包括有多个位的块的错误率的块错误率(BLER)。
在图6中,(a-1)表示现有技术例子1(图9和11)的BER特性,也就是在执行固定次数的解码循环的情况下的BER特性,(b-1)表示现有技术例子2(图12和13)的BER特性,(c-1)表示本实施例(图4和5)的BER特性。此外,(a-2)表示现有技术例子1的BLER特性,(b-2)表示现有技术例子2的BLER特性,(c-2)表示本实施例的BLER特性。
如图7所示,现有技术例子1、现有技术例子2和本实施例显示出几乎相同的BER和BLER特性。这是因为错误率特性的改善是与解码循环的次数成比例的,因此,在重复给定次数的解码之后,在每一种情况下都会得到类似的特性。
图7示出了图6的代码错误特性中的解码循环的次数,换句话说,在每一个Eb/N0处的解码循环的次数。在图7中,(a)表示现有技术例子1的解码循环的次数,(b)表示现有技术例子2的解码循环的次数,(c-2)表示本实施例的解码循环的次数。
在图6中,各个情况都显示出类似的特性,但是如图7所示,在解码循环的次数上是各不相同的。如图7所示,在现有技术例子1中,在每一个Eb/N0处解码循环的次数被固定为8。在现有技术例子2中,解码循环的次数小于现有技术例子1的次数;解码循环的次数从约为8减小到约为4.5,与Eb/N0成反比。本实施例的解码循环的次数在所有情况中是最小的,并且从约为7.5减小到约为3.5,与Eb/N0成反比。例如,以BLER=10-2为参考,从图6可以知道,此时Eb/N0为0.8。从图7可以看出,与现有技术例子2中的约5.5相比,在本实施例中,在Eb/N0为0.8dB处的解码循环的次数约为4。也就是说,显示出能够减少与平均1.5次解码循环相对应的解码时间(约为27%)。
本发明的其它实施例
上述实施例讲述了其中对第二基本码E’和第一基本码E进行重复解码的例子,但是本发明并不限于此,并且可以采用其中对从第一解码器输出的对数似然比率进行硬判定的任何结构。
此外,上述实施例讲述了其中使用两个解码器对数据进行重复解码的例子,但是本发明并不限于此,并且可以使用给定个数的解码器来进行重复解码。
很明显,本发明并不限于上述实施例,并且在不偏离本发明的范围和精神的情况下可以对其进行修正和改变。

Claims (15)

1.一种解码设备,包括:
第一解码器,用于根据通过对未编码数据进行编码而获得的第一编码数据以及第二软输出数据,来执行第一解码,以生成第一软输出数据;
第二解码器,用于根据通过对未编码数据进行交织和编码而获得的第二编码数据以及第一软输出数据,来执行第二解码,以生成第二软输出数据;以及
硬判定部件,用于通过对第一软输出数据进行硬判定,来输出解码数据。
2.如权利要求1所述的解码设备,其中
对由第二解码器生成的第二软输出数据进行去交织,以应用于第一解码器;并且
对由第一解码器生成的第一软输出数据进行交织,以应用于第二解码器。
3.如权利要求1所述的解码设备,其中第一解码器和第二解码器将第二解码和接在第二解码之后的第一解码重复预定次数。
4.如权利要求1所述的解码设备,其中第一解码器包括:
向后处理部件,从第一位置向上对数据进行解码;以及
向前处理部件,在向后处理部件的解码之后,从第二位置向下对数据进行解码。
5.如权利要求1所述的解码设备,其中第二解码器包括:
向前处理部件,从第二位置向下对数据进行解码;以及
向后处理部件,在向前处理部件的解码之后,从第一位置向上对数据进行解码。
6.如权利要求1所述的解码设备,进一步包括错误检测部件,用于对从硬判定部件输出的解码数据执行错误检测,
其中如果作为错误检测部件的错误检测的结果,在解码数据中检测到错误,则第一解码器和第二解码器重复第二解码和第一解码,并且
如果作为错误检测部件的错误检测的结果,在解码数据中没有检测到错误,则第一解码器和第二解码器不重复第二解码和第一解码。
7.一种解码设备,包括:
第一解码器,用于根据通过对未编码数据进行编码而获得的第一编码数据来执行解码,以生成第一软输出数据;
第二解码器,用于根据通过对未编码数据进行交织和编码而获得的第二编码数据来执行解码,以生成第二软输出数据;以及
硬判定部件,用于通过对第一软输出数据进行硬判定,来输出解码数据。
8.如权利要求7所述的解码设备,其中第一解码器和第二解码器将第二解码器的解码和接在第二解码器之后的第一解码器的解码重复预定次数。
9.如权利要求7所述的解码设备,其中第一解码器包括:
向后处理部件,从第一位置向上对数据进行解码;以及
向前处理部件,在向后处理部件的解码之后,从第二位置向下对数据进行解码。
10.如权利要求7所述的解码设备,进一步包括错误检测部件,用于对从硬判定部件输出的解码数据执行错误检测,
其中如果作为错误检测部件的错误检测的结果,在解码数据中检测到错误,则第一解码器和第二解码器重复解码;并且
如果作为错误检测部件的错误检测的结果,在解码数据中没有检测到错误,则第一解码器和第二解码器不重复解码。
11.一种解码方法,包括:
根据通过对未编码数据进行编码而获得的第一编码数据以及第二软输出数据,来执行第一解码,以生成第一软输出数据;
根据通过对未编码数据进行交织和编码而获得的第二编码数据以及第一软输出数据,来执行第二解码,以生成第二软输出数据;以及
通过对第一软输出数据进行硬判定,来输出解码数据。
12.如权利要求11所述的解码方法,其中
第一解码使用对通过第二解码生成的第二软输出数据进行去交织而得到的数据;并且
第二解码使用对通过第一解码生成的第一软输出数据进行交织而得到的数据。
13.如权利要求11所述的解码方法,其中第二解码和接在第二解码之后的第一解码被重复预定次数。
14.如权利要求11所述的解码方法,其中第一解码包括:
向后处理,从第一位置向上对数据进行解码;以及
向前处理,在向后处理之后,从第二位置向下对数据进行解码。
15.如权利要求11所述的解码方法,进一步包括对输出的解码数据执行错误检测,
其中如果作为错误检测的结果,在解码数据中检测到错误,则重复第二解码和第一解码,并且
如果作为错误检测的结果,在解码数据中没有检测到错误,则不重复第二解码和第一解码。
CNB2005101084310A 2004-10-14 2005-10-09 解码方法和设备 Expired - Fee Related CN100542051C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004299670A JP2006115145A (ja) 2004-10-14 2004-10-14 復号装置及び復号方法
JP2004299670 2004-10-14

Publications (2)

Publication Number Publication Date
CN1761160A true CN1761160A (zh) 2006-04-19
CN100542051C CN100542051C (zh) 2009-09-16

Family

ID=35788476

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101084310A Expired - Fee Related CN100542051C (zh) 2004-10-14 2005-10-09 解码方法和设备

Country Status (5)

Country Link
US (2) US7526711B2 (zh)
EP (1) EP1648092A1 (zh)
JP (1) JP2006115145A (zh)
KR (1) KR100761306B1 (zh)
CN (1) CN100542051C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102684841A (zh) * 2012-05-31 2012-09-19 无锡众志和达存储技术有限公司 一种编码计算单元及解码数据校验方法
CN103427849A (zh) * 2012-05-17 2013-12-04 Lsi公司 用于符号重组解码处理的***和方法

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070213010A1 (en) * 2006-03-13 2007-09-13 Alon Konchitsky System, device, database and method for increasing the capacity and call volume of a communications network
US8156403B2 (en) 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
CN103258572B (zh) 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
US7743287B2 (en) * 2006-10-18 2010-06-22 Trellisware Technologies, Inc. Using SAM in error correcting code encoder and decoder implementations
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) * 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
WO2009050703A2 (en) 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
KR101509836B1 (ko) 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8493783B2 (en) 2008-03-18 2013-07-23 Apple Inc. Memory device readout using multiple sense times
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
TWI508089B (zh) * 2009-06-29 2015-11-11 A Data Technology Co Ltd 電子儲存裝置及其資料修復方法
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8493781B1 (en) 2010-08-12 2013-07-23 Apple Inc. Interference mitigation using individual word line erasure operations
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8495479B1 (en) * 2010-11-22 2013-07-23 Marvell International Ltd. Defect detection and correction via monitoring of syndromes and bit flips in decoder
US8910029B2 (en) 2011-02-08 2014-12-09 Intel Mobile Communications GmbH Iterative decoder
KR20150061253A (ko) * 2013-11-27 2015-06-04 한국전자통신연구원 하프 파이프라인 방식의 터보 디코더 및 그의 제어 방법
US10644837B2 (en) * 2018-08-01 2020-05-05 Nxp B.V. Signal processing with error correction
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292918B1 (en) * 1998-11-05 2001-09-18 Qualcomm Incorporated Efficient iterative decoding
EP1009098A1 (en) * 1998-12-10 2000-06-14 Sony International (Europe) GmbH Error correction using a turbo code and a CRC
KR100321978B1 (ko) 1998-12-31 2002-07-02 윤종용 통신시스템에서반복복호장치및방법
US6304995B1 (en) * 1999-01-26 2001-10-16 Trw Inc. Pipelined architecture to decode parallel and serial concatenated codes
DE19959409A1 (de) * 1999-12-09 2001-06-21 Infineon Technologies Ag Turbo-Code-Decoder und Turbo-Code-Decodierverfahren mit iterativer Kanalparameterschätzung
US6980605B2 (en) 2000-01-31 2005-12-27 Alan Gatherer MAP decoding with parallelized sliding window processing
GB0004765D0 (en) * 2000-03-01 2000-04-19 Mitel Corp Soft-decision decoding of convolutionally encoded codeword
US6732327B1 (en) 2000-05-05 2004-05-04 Nokia Networks Oy Scaled-feedback turbo decoder
KR100628201B1 (ko) * 2000-10-16 2006-09-26 엘지전자 주식회사 터보 디코딩 방법
US6950975B2 (en) * 2001-08-03 2005-09-27 Combasis Technology, Inc. Acceleration of convergence rate with verified bits in turbo decoding
US6961921B2 (en) * 2001-09-06 2005-11-01 Interdigital Technology Corporation Pipeline architecture for maximum a posteriori (MAP) decoders
JP3549519B2 (ja) * 2002-04-26 2004-08-04 沖電気工業株式会社 軟出力復号器
JP2004080508A (ja) 2002-08-20 2004-03-11 Nec Electronics Corp 誤り訂正符号の復号方法、そのプログラム及びその装置
JP4131680B2 (ja) * 2003-06-09 2008-08-13 松下電器産業株式会社 ターボ復号装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103427849A (zh) * 2012-05-17 2013-12-04 Lsi公司 用于符号重组解码处理的***和方法
CN102684841A (zh) * 2012-05-31 2012-09-19 无锡众志和达存储技术有限公司 一种编码计算单元及解码数据校验方法
CN102684841B (zh) * 2012-05-31 2015-08-26 无锡众志和达数据计算股份有限公司 一种编码计算单元及解码数据校验方法

Also Published As

Publication number Publication date
JP2006115145A (ja) 2006-04-27
US20060253769A1 (en) 2006-11-09
KR100761306B1 (ko) 2007-09-27
US7584409B2 (en) 2009-09-01
US7526711B2 (en) 2009-04-28
KR20060053998A (ko) 2006-05-22
CN100542051C (zh) 2009-09-16
EP1648092A1 (en) 2006-04-19
US20060085719A1 (en) 2006-04-20

Similar Documents

Publication Publication Date Title
CN1761160A (zh) 解码方法和设备
CN1150680C (zh) 自适应信道编码方法和装置
CN1111962C (zh) 并行链接卷积编码、译码方法及执行该方法的编码、译码器及***
US6813742B2 (en) High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture
CN1315264C (zh) 解码装置及解码方法
CN1258885C (zh) 带有错误信息重新编码和反馈的透博译码方法
US6799295B2 (en) High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture
JP2001237809A (ja) エラー訂正符号化型デジタル送信方法
CN1348631A (zh) 高效迭代解码
US20090094505A1 (en) High speed turbo codes decoder for 3g using pipelined siso log-map decoders architecture
US20090158130A1 (en) Method and apparatus for turbo encoding and decoding
US7886209B2 (en) Decoding device, decoding method, and receiving apparatus
CN1254121C (zh) 特博码的解码方法
CN1466818A (zh) 基于格子的信道编码所用的解码器
CN100350751C (zh) Turbo解码装置
CN1155161C (zh) 用于特博码的解码器及其解码方法
CN1129257C (zh) 串行回溯的最大似然解码方法及其使用该方法的解码器
CN1773867A (zh) Turbo码译码方法
CN1204693C (zh) 随机***Turbo码的编、译码方法
CN2506034Y (zh) Turbo译码器件
CN1841941A (zh) 最大后验概率译码方法和装置
CN1145266C (zh) 特博码解码方法及其解码器
Ljunger Turbo decoder with early stopping criteria
Shah et al. Performance analysis of turbo code for CDMA 2000 with convolutional coded IS-95 system in wireless communication system
Kim et al. A Memory‐Efficient Block‐wise MAP Decoder Architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: RENESAS ELECTRONICS CORPORATION

Free format text: FORMER NAME: NEC CORP.

CP01 Change in the name or title of a patent holder

Address after: Kanagawa

Patentee after: Renesas Electronics Corporation

Address before: Kanagawa

Patentee before: NEC Corp.

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: 20090916

Termination date: 20161009