CN101777926B - General decoder of Turbo product code and method thereof - Google Patents

General decoder of Turbo product code and method thereof Download PDF

Info

Publication number
CN101777926B
CN101777926B CN201010039650.9A CN201010039650A CN101777926B CN 101777926 B CN101777926 B CN 101777926B CN 201010039650 A CN201010039650 A CN 201010039650A CN 101777926 B CN101777926 B CN 101777926B
Authority
CN
China
Prior art keywords
module
decoding
turbo product
external information
code
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
CN201010039650.9A
Other languages
Chinese (zh)
Other versions
CN101777926A (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201010039650.9A priority Critical patent/CN101777926B/en
Publication of CN101777926A publication Critical patent/CN101777926A/en
Application granted granted Critical
Publication of CN101777926B publication Critical patent/CN101777926B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种Turbo乘积码的通用译码器及其方法。该通用译码器由初始信息存储模块,外信息存储模块,不可靠位计算模块,代数译码模块,两个先入先出存储模块,度量比较模块,外信息计算模块,译码控制模块以及接口组成。它的译码参数可以任意自由配置即Turbo乘积码的二维子码,译码次数均可以任意选择,能够满足各种通信系统对不同码长、码率、译码延迟和吞吐量的需求;该装置的结构化设计使用灵活既可用可编程逻辑器件实现,也可用专用芯片实现;该装置多处采用流水线结构,提高了译码器的吞吐量。本发明兼顾了通用性,译码性能以及复杂度三个指标,可以方便灵活的用于各种码长、码率、实现平台及误码率需求的通信系统。

Figure 201010039650

The invention discloses a universal decoder for Turbo product codes and a method thereof. The universal decoder consists of an initial information storage module, an external information storage module, an unreliable bit calculation module, an algebraic decoding module, two first-in-first-out storage modules, a measurement comparison module, an external information calculation module, a decoding control module and an interface. composition. Its decoding parameters can be freely configured, that is, the two-dimensional subcode of the Turbo product code, and the number of decoding times can be selected arbitrarily, which can meet the needs of various communication systems for different code lengths, code rates, decoding delays and throughputs; The structural design of the device is flexible and can be realized by both programmable logic devices and special chips; the device adopts a pipeline structure in many places, which improves the throughput of the decoder. The invention takes into account the three indexes of universality, decoding performance and complexity, and can be conveniently and flexibly used in communication systems with various code lengths, code rates, realization platforms and bit error rate requirements.

Figure 201010039650

Description

一种Turbo乘积码的通用译码器及其方法A Universal Decoder for Turbo Product Codes and Its Method

技术领域 technical field

本发明涉及移动通讯技术领域,尤其涉及一种Turbo乘积码的通用译码器及其方法。The invention relates to the technical field of mobile communication, in particular to a universal decoder for Turbo product codes and a method thereof.

背景技术 Background technique

Turbo码作为一种新型的纠错编码类型备受通信界的注目,它的纠错能力能够接近Shannon极限。Turbo码自1993年由C.Berrou提出后,已成为信道编码研究的热点其实现的方法大体被分成两种类型:增强型Turbo乘积编码(TurboProduct Codes TPC)和增强型卷积编码(Turbo Convolutional Codes TCC)。TPC在许多方面都表现出诱人的应用前景,一方面TPC的编码效率较TCC高,另外TPC的主要优势在于其采用矩阵交织方式,这使系统结构相对简单。Turbo乘积编码串行连接的结构也比Turbo卷积编码并行连接的结构有许多优势。本文主要是针对一种通用Turbo乘积码(TPC)译码进行研究。乘积码的发展过程中曾经诞生过的几种硬判决和软判决译码算法,在实现复杂度和纠错性能上都不同。但Turbo乘积码采用迭代的软输入软输出(SISO,Soft-Input Soft-Output)译码方式,这种译码方法性能较好。As a new type of error-correcting code, Turbo code has drawn much attention in the communication field, and its error-correcting capability can approach the Shannon limit. Since Turbo code was proposed by C.Berrou in 1993, it has become a hot spot in channel coding research. Its implementation methods are roughly divided into two types: enhanced Turbo Product Codes (TPC) and enhanced convolutional codes (Turbo Convolutional Codes). TCC). TPC shows attractive application prospects in many aspects. On the one hand, the encoding efficiency of TPC is higher than that of TCC. In addition, the main advantage of TPC is that it uses matrix interleaving, which makes the system structure relatively simple. The serial connection structure of Turbo product encoding also has many advantages over the parallel connection structure of Turbo convolutional encoding. This paper mainly studies a kind of universal Turbo Product Code (TPC) decoding. Several hard-decision and soft-decision decoding algorithms have been born during the development of product codes, which are different in implementation complexity and error correction performance. However, the Turbo product code adopts an iterative soft-input soft-output (SISO, Soft-Input Soft-Output) decoding method, and this decoding method has better performance.

但是面对不同的业务需求和通信系统,若固定单一的译码器实现起来必然有诸多不便,而目前却没有这样一种通用译码器,大多数实现方案均是针对特定的码字或码率。所以发明人提出了这种通用的Turbo乘积码译码器,针对不同码长,码率,平台,译码延时及吞吐量需求的通信系统进行译码。However, in the face of different business requirements and communication systems, it will be inconvenient to implement a fixed single decoder. However, there is no such a universal decoder at present, and most implementations are for specific codewords or codes. Rate. Therefore, the inventor proposed this general turbo product code decoder, which can decode communication systems with different code lengths, code rates, platforms, decoding delays and throughput requirements.

发明内容 Contents of the invention

本发明的目的是克服现有技术的不足,提供了一种Turbo乘积码的通用译码器及其方法The purpose of the present invention is to overcome the deficiencies in the prior art, a kind of universal decoder of Turbo product code and method thereof are provided

Turbo乘积码的通用译码器的配置参数有:Turbo乘积码的子码码型、迭代次数,它至少包括:The configuration parameter of the universal decoder of Turbo product code has: the subcode pattern of Turbo product code, the number of iterations, and it at least includes:

初始信息存储模块,用于存储每次译码需要的接收序列;The initial information storage module is used to store the receiving sequence required for each decoding;

外信息存储模块,用于存储每次译码需要的和得到的外部软信息;The external information storage module is used for storing the external soft information required and obtained for each decoding;

第一先入先出模块或第二先入先出模块,用于暂时储存译码的输入序列;The first first-in first-out module or the second first-in first-out module is used to temporarily store the decoded input sequence;

不可靠位计算模块,根据外部配置参数中的不可靠位数对输入序列进行变换,得到代数译码的输入序列;The unreliable bit calculation module converts the input sequence according to the unreliable bit in the external configuration parameters to obtain the input sequence of algebraic decoding;

代数译码模块,根据配置参数不同进行不同的代数译码;The algebraic decoding module performs different algebraic decoding according to different configuration parameters;

度量比较模块,通过比较代数译码模块的输出的欧式距离,得到最优码字D;The measurement comparison module obtains the optimal codeword D by comparing the Euclidean distance of the output of the algebraic decoding module;

外信息计算模块,计算本次迭代的外部软信息,提供给下一次迭代;The external information calculation module calculates the external soft information of this iteration and provides it to the next iteration;

控制模块,对上述各种模块的时序,参数选择进行控制;The control module controls the timing and parameter selection of the above-mentioned various modules;

接口模块,进行参数设置;Interface module for parameter setting;

外信息存储计算模块分别与第一先入先出模块、最不可靠位计算模块、外信息模块输入相连接;初始信息存储模块分别与第一先入先出模块、最不可靠位计算模块相连接;第一先入先出模块分别与外信息存储计算模块、初始信息存储模块、第二先入先出模块、度量比较模块相连接;最不可靠位计算模块分别与初始信息存储模块、外信息存储模块、代数译码模块相连接;代数译码模块分别与最不可靠计算模块、度量比较模块相连接;第二先入先出模块分别与第一先入先出模块、外信息模块输入相连接;度量比较模块分别与第一先入先出模块、代数译码模块、外信息模块输入相连接;外信息模块输入分别与度量比较模块、第二先入先出模块、外信息存储计算模块相连接;上述模块由控制模块控制;在接口模块中进行参数设置。The external information storage calculation module is connected with the input of the first first-in first-out module, the least reliable position calculation module and the external information module respectively; the initial information storage module is connected with the first first-in-first-out module and the least reliable position calculation module respectively; The first first-in-first-out module is connected with the external information storage calculation module, the initial information storage module, the second first-in-first-out module, and the measurement comparison module respectively; the least reliable bit calculation module is respectively connected with the initial information storage module, the external information storage module, The algebraic decoding module is connected; the algebraic decoding module is connected with the least reliable calculation module and the measurement comparison module respectively; the second first-in-first-out module is respectively connected with the first first-in-first-out module and the external information module input; the measurement comparison module They are respectively connected with the input of the first first-in-first-out module, algebraic decoding module, and external information module; the input of the external information module is respectively connected with the measurement comparison module, the second first-in-first-out module, and the external information storage and calculation module; the above-mentioned modules are controlled by Module control; parameterization in the interface module.

所述的Turbo乘积码的子码码型可为最长码长为64的任意汉明码或扩展汉明码及其缩短码,且缩短位数为任意数,最大值为该码字的长度。The subcode pattern of the Turbo product code can be any Hamming code with the longest code length of 64 or extended Hamming code and its shortened code, and the number of shortened bits is any number, and the maximum value is the length of the code word.

所述的迭代次数是根据译码延时及误码率设置的任意数。The number of iterations is an arbitrary number set according to decoding delay and bit error rate.

所述的外信息存储模块,初始信息存储模块的容量为64单元*64单元的,每个单元的容量为其量化比特数。In the external information storage module, the capacity of the initial information storage module is 64 units*64 units, and the capacity of each unit is the number of quantized bits.

所述的第一先入先出模块或第二先入先出模块的容量为2*64单元,每个单元的容量为译码输入软信息的量化比特,其中的读出顺序是数据写入的顺序,数据读出后先入先出模块内数据为空。The capacity of the first first-in-first-out module or the second first-in-first-out module is 2*64 units, and the capacity of each unit is the quantized bit of decoding input soft information, and the readout order is the order in which data is written , the data in the FIFO module is empty after the data is read.

所述的代数译码模块包括分量码码长最大为64的任意汉明码或扩展汉明码及其缩短码。The algebraic decoding module includes arbitrary Hamming codes or extended Hamming codes and shortened codes with component code lengths up to 64.

Turbo乘积码的通用译码方法包括以下步骤:The general decoding method of Turbo product code comprises the following steps:

1)参数化配置,根据需要在接口模块设定Turbo乘积码译码的二维子码以及迭代次数;1) Parameterized configuration, set the two-dimensional subcode and the number of iterations of Turbo product code decoding in the interface module as required;

2)接收信道输出的解调符号信息,将该次译码所需的接收信息序列存入初始信息存储模块中,外信息存储模块初始信息为0,开始一次行或者列的迭代译码;2) receiving the demodulation symbol information output by the channel, storing the received information sequence required for this decoding in the initial information storage module, the initial information of the external information storage module is 0, and starting an iterative decoding of a row or column;

3)计算译码所需的序列信息,存入一块先入先出模块中,同时找到最不可靠的3位即度量值最小的3位,将这3个码字分别取0或1,得到8个候选码字序列;3) Calculate the sequence information required for decoding and store it in a first-in-first-out module, and at the same time find the least reliable 3 bits, that is, the 3 bits with the smallest measurement value, and take these 3 codewords to be 0 or 1 respectively, and get 8 candidate codeword sequences;

4)将这8个码字在代数译码模块中进行代数译码,不同配置的代数译码方法不同,获得8个代数译码后的码字;4) Algebraically decoding these 8 codewords in the algebraic decoding module, the algebraic decoding methods of different configurations are different, and obtain 8 codewords after algebraic decoding;

5)将代数译码的输出码字和第一块先入先出模块的输出送入度量比较模块,找到欧式距离最小的码字,判为该次行或者列的最优码字,同时第二块先入先出模块读入第一块先入先出模块的输出;5) Send the output codeword of algebraic decoding and the output of the first first-in-first-out module to the measurement comparison module, find the codeword with the smallest Euclidean distance, and determine it as the optimal codeword for the row or column, and at the same time the second The block FIFO module reads in the output of the first block FIFO module;

6)将第二块先入先出模块的输出和度量比较模块的输出送入外信息计算模块,计算该次该行或列迭代的外部软信息,并存入外部软信息存储器中,该次行或者列译码完毕;6) Send the output of the second first-in-first-out module and the output of the metric comparison module to the external information calculation module, calculate the external soft information of this row or column iteration, and store it in the external soft information memory. Or the decoding of the column is completed;

7)重复上述步骤,直到所有行或者列译码完毕,则进行列或者行译码,整个完毕后一次迭代结束;7) Repeat the above steps until all rows or columns are decoded, then perform column or row decoding, and one iteration ends after the whole is completed;

8)重复上述步骤,根据参数配置,控制模块控制整个过程直到整个迭代结束;8) Repeat the above steps, according to the parameter configuration, the control module controls the whole process until the whole iteration ends;

Turbo乘积码子码的行和行,列和列之间的译码采用流水线结构。The decoding between row and row, column and column of Turbo product code subcode adopts pipeline structure.

本发明已经实现码长,码率和迭代次数可变,并且多平台的流水化Turbo乘积码译码,并对该译码器针对不同子码构成的Turbo乘积码和不同迭代次数译码的性能进行了一系列测试。这种通用译码器有很强的可移植性,可以适用于不同的通信系统。The present invention has realized code length, code rate and number of iterations are variable, and multi-platform streamlined Turbo product code decoding, and the decoding performance of the decoder for Turbo product codes composed of different subcodes and different iteration times A series of tests were performed. This universal decoder has strong portability and can be applied to different communication systems.

附图说明 Description of drawings

图1为本发明Turbo乘积码通用译码器的原理图;Fig. 1 is the schematic diagram of the general decoder of Turbo product code of the present invention;

图2为本发明Turbo乘积码通用译码器内部结构框图;Fig. 2 is a general block diagram of internal structure of Turbo product code decoder of the present invention;

图3为本发明Turbo乘积码通用译码器的每次译码过程;Fig. 3 is each decoding process of the general decoder of Turbo product code of the present invention;

图4为本发明先入先出模块的结构;Fig. 4 is the structure of the first-in-first-out module of the present invention;

图5为本发明代数译码器的工作流程;Fig. 5 is the workflow of algebraic decoder of the present invention;

图6为本发明度量比较模块的流水结构;Fig. 6 is the pipeline structure of the measurement comparison module of the present invention;

图7为本发明Turbo乘积码通用译码器的迭代译码过程;Fig. 7 is the iterative decoding process of the Turbo product code universal decoder of the present invention;

图8为(15,11)*(15,11)汉明码和(31,26)*(31,26)汉明码构成的Turbo乘积码译码性能测试曲线图;Fig. 8 is (15,11)*(15,11) Hamming code and (31,26)*(31,26) the Turbo product code decoding performance test graph that Hamming code constitutes;

图9为(31,26)*(31,26)汉明码与(32,26)*(32,26)扩展汉明码构成的Turbo乘积码译码性能测试曲线图;Fig. 9 is (31,26)*(31,26) Hamming code and (32,26)*(32,26) extended Hamming code decoding performance test curve diagram of the Turbo product code;

图10为不同迭代次数的Turbo乘积码译码性能测试曲线图。以下结合附图对本发明进行进一步说明:Fig. 10 is a graph showing decoding performance test curves of Turbo product codes with different iteration times. The present invention will be further described below in conjunction with accompanying drawing:

具体实施方式以下结合附图对本发明进行进一步说明:DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be further described below in conjunction with the accompanying drawings:

Turbo乘积码的通用译码器可以针对不同码长,码率,平台,译码延时及吞吐量需求的通信系统进行译码。该子码二维均可选为最长码长为64的任意汉明码或扩展汉明码及其缩短码,且缩短位数为任意数,最大值为该码字的长度。这样可以使用于不同码长,码率的需要;译码次数可任意选择,满足译码延迟和吞吐量的需求;其结构化的设计使用灵活,扩展性良好,既可以用可编程逻辑器件实现,如FPGA,也可以用专用芯片(ASIC)实现;多处采用流水线结构,充分提高了译码器的吞吐量。可应用于不同的通信系统,使用方便,结构简单明了。The universal decoder of Turbo product codes can decode communication systems with different code lengths, code rates, platforms, decoding delays and throughput requirements. The two-dimensional subcode can be selected as any Hamming code with the longest code length of 64 or the extended Hamming code and its shortened code, and the number of shortened digits is any number, and the maximum value is the length of the code word. In this way, it can be used for different code lengths and code rates; the number of decoding times can be selected arbitrarily to meet the requirements of decoding delay and throughput; its structured design is flexible and scalable, and can be realized by programmable logic devices , such as FPGA, can also be implemented with a dedicated chip (ASIC); multiple pipeline structures are used to fully improve the throughput of the decoder. The utility model can be applied to different communication systems, and is easy to use and has a simple and clear structure.

Turbo乘积码的通用译码器,它的配置参数有:Turbo乘积码的子码码型、迭代次数,该Turbo乘积码通用译码器的内部结构如图2所示,它至少包括:The general decoder of Turbo product code, its configuration parameter has: the subcode pattern of Turbo product code, the number of iterations, the internal structure of this Turbo product code general decoder is as shown in Figure 2, and it at least includes:

初始信息存储模块202,用于存储每次译码需要的接收序列;An initial information storage module 202, configured to store the received sequence required for each decoding;

外信息存储模块201,用于存储每次译码需要的和得到的外部软信息;The external information storage module 201 is used for storing the external soft information required and obtained for each decoding;

第一先入先出模块203或第二先入先出模块206,用于暂时储存译码的输入序列;The first first-in first-out module 203 or the second first-in first-out module 206 is used for temporarily storing the decoded input sequence;

不可靠位计算模块204,根据外部配置参数中的不可靠位数对输入序列进行变换,得到代数译码的输入序列;The unreliable bit calculation module 204 converts the input sequence according to the unreliable bit in the external configuration parameters, and obtains the input sequence of algebraic decoding;

代数译码模块205,根据配置参数不同进行不同的代数译码;The algebraic decoding module 205 performs different algebraic decoding according to different configuration parameters;

度量比较模块207,通过比较代数译码模块的输出的欧式距离,得到最优码字D;The metric comparison module 207 obtains the optimal codeword D by comparing the Euclidean distance of the output of the algebraic decoding module;

外信息计算模块208,计算本次迭代的外部软信息,提供给下一次迭代;The external information calculation module 208 calculates the external soft information of this iteration and provides it to the next iteration;

控制模块209,对上述各种模块的时序,参数选择进行控制;The control module 209 controls the timing and parameter selection of the above-mentioned various modules;

接口模块101,进行参数设置;Interface module 101, for parameter setting;

外信息存储计算模块201分别与第一先入先出模块203、最不可靠位计算模块204、外信息模块输入208相连接;初始信息存储模块202分别与第一先入先出模块203、最不可靠位计算模块204相连接;第一先入先出模块203分别与外信息存储计算模块201、初始信息存储模块202、第二先入先出模块206、度量比较模块207相连接;最不可靠位计算模块204分别与初始信息存储模块202、外信息存储模块201、代数译码模块205相连接;代数译码模块205分别与最不可靠计算模块204、度量比较模块207相连接;第二先入先出模块206分别与第一先入先出模块203、外信息模块输入208相连接;度量比较模块207分别与第一先入先出模块203、代数译码模块205、外信息模块输入208相连接;外信息模块输入208分别与度量比较模块207、第二先入先出模块206、外信息存储计算模块201相连接;上述模块由控制模块209控制;在接口模块101中进行参数设置。The external information storage calculation module 201 is connected with the first FIFO module 203, the least reliable bit calculation module 204, and the external information module input 208 respectively; the initial information storage module 202 is respectively connected with the first FIFO module 203, the least reliable bit The bit calculation module 204 is connected; the first first-in-first-out module 203 is respectively connected with the external information storage calculation module 201, the initial information storage module 202, the second first-in-first-out module 206, and the measurement comparison module 207; the least reliable bit calculation module 204 is connected with initial information storage module 202, external information storage module 201, algebraic decoding module 205 respectively; Algebraic decoding module 205 is connected with least reliable calculation module 204, metric comparison module 207 respectively; The second first-in-first-out module 206 is connected with first FIFO module 203, external information module input 208 respectively; Metric comparison module 207 is connected with first FIFO module 203, algebraic decoding module 205, external information module input 208 respectively; External information module The input 208 is respectively connected with the metric comparison module 207 , the second FIFO module 206 , and the external information storage and calculation module 201 ; the above modules are controlled by the control module 209 ; parameters are set in the interface module 101 .

所述的Turbo乘积码的子码码型可为最长码长为64的任意汉明码或扩展汉明码及其缩短码,且缩短位数为任意数,最大值为该码字的长度。The subcode pattern of the Turbo product code can be any Hamming code with the longest code length of 64 or extended Hamming code and its shortened code, and the number of shortened bits is any number, and the maximum value is the length of the code word.

所述的迭代次数是根据译码延时及误码率设置的任意数。The number of iterations is an arbitrary number set according to decoding delay and bit error rate.

所述的外信息存储模块201,初始信息存储模块202的容量为64单元*64单元的,每个单元的容量为其量化比特数。The external information storage module 201 and the initial information storage module 202 have a capacity of 64 units*64 units, and the capacity of each unit is its quantized bit number.

所述的第一先入先出模块203或第二先入先出模块206的容量为2*64单元,每个单元的容量为译码输入软信息的量化比特,其中的读出顺序是数据写入的顺序,数据读出后先入先出模块内数据为空。The capacity of the first first-in-first-out module 203 or the second first-in first-out module 206 is 2*64 units, and the capacity of each unit is the quantized bit of decoding input soft information, and the readout sequence is data writing After the data is read out, the data in the FIFO module is empty.

所述的代数译码模块205包括分量码码长最大为64的任意汉明码或扩展汉明码及其缩短码。The algebraic decoding module 205 includes any Hamming code or extended Hamming code and its shortened code with a component code length of up to 64.

通用Turbo译码器的原理图如图1所示,需译码的Turbo二维乘积码可选择的参数为迭代次数P1.1,可根据复杂度的需求进行设置;横向和纵向的子码类型参数P1.2,它包括最长码长为64的任意汉明码或扩展汉明码及其缩短码,且缩短位数为任意数,最大值为该码字的长度。The schematic diagram of a general-purpose Turbo decoder is shown in Figure 1. The optional parameter of the Turbo two-dimensional product code to be decoded is the number of iterations P1.1, which can be set according to the complexity requirements; the horizontal and vertical subcode types Parameter P1.2, which includes any Hamming code or extended Hamming code and its shortened code with the longest code length of 64, and the number of shortened digits is any number, and the maximum value is the length of the code word.

对这些不同格式的Turbo乘积码译码器内部参数配置不同,所以通过接口模块将设置的参数传递进内部,实现通用的Turbo乘积码译码。The internal parameter configurations of the turbo product code decoders of these different formats are different, so the set parameters are passed into the interior through the interface module to realize the universal turbo product code decoding.

Turbo乘积码的通用译码方法包括以下步骤:The general decoding method of Turbo product code comprises the following steps:

1)参数化配置,根据需要在接口模块设定Turbo乘积码译码的二维子码以及迭代次数;1) Parameterized configuration, set the two-dimensional subcode and the number of iterations of Turbo product code decoding in the interface module as required;

2)接收信道输出的解调符号信息,将该次译码所需的接收信息序列存入初始信息存储模块中,外信息存储模块初始信息为0,开始一次行或者列的迭代译码;2) receiving the demodulation symbol information output by the channel, storing the received information sequence required for this decoding in the initial information storage module, the initial information of the external information storage module is 0, and starting an iterative decoding of a row or column;

3)计算译码所需的序列信息,存入一块先入先出模块中,同时找到最不可靠的3位即度量值最小的3位,将这3个码字分别取0或1,得到8个候选码字序列;3) Calculate the sequence information required for decoding and store it in a first-in-first-out module, and at the same time find the least reliable 3 bits, that is, the 3 bits with the smallest measurement value, and take these 3 codewords to be 0 or 1 respectively, and get 8 candidate codeword sequences;

4)将这8个码字在代数译码模块中进行代数译码,不同配置的代数译码方法不同,获得8个代数译码后的码字;4) Algebraically decoding these 8 codewords in the algebraic decoding module, the algebraic decoding methods of different configurations are different, and obtain 8 codewords after algebraic decoding;

5)将代数译码的输出码字和第一块先入先出模块的输出送入度量比较模块,找到欧式距离最小的码字,判为该次行或者列的最优码字,同时第二块先入先出模块读入第一块先入先出模块的输出;5) Send the output codeword of algebraic decoding and the output of the first first-in-first-out module to the measurement comparison module, find the codeword with the smallest Euclidean distance, and determine it as the optimal codeword for the row or column, and at the same time the second The block FIFO module reads in the output of the first block FIFO module;

6)将第二块先入先出模块的输出和度量比较模块的输出送入外信息计算模块,计算该次该行或列迭代的外部软信息,并存入外部软信息存储器中,该次行或者列译码完毕;6) Send the output of the second first-in-first-out module and the output of the metric comparison module to the external information calculation module, calculate the external soft information of this row or column iteration, and store it in the external soft information memory. Or the decoding of the column is completed;

7)重复上述步骤,直到所有行或者列译码完毕,则进行列或者行译码,整个完毕后一次迭代结束;7) Repeat the above steps until all rows or columns are decoded, then perform column or row decoding, and one iteration ends after the whole is completed;

8)重复上述步骤,根据参数配置,控制模块控制整个过程直到整个迭代结束;8) Repeat the above steps, according to the parameter configuration, the control module controls the whole process until the whole iteration ends;

每次迭代的具体译码流程如图3所示,The specific decoding process of each iteration is shown in Figure 3.

首先,即上述步骤2是从初始信息存储模块202和外信息存储模块201中读入接收到的序列和软信息,因为根据可配置码字最大长度为64,所以RAM的大小为64单元×64单元,每个单元的大小为外信息和软信息的量化比特数,通过接收到的信息计算软输入,对于第m次迭代First, the above step 2 is to read the received sequence and soft information from the initial information storage module 202 and the external information storage module 201, because the maximum length of the configurable codeword is 64, so the size of the RAM is 64 units×64 unit, the size of each unit is the number of quantized bits of extrinsic information and soft information, and the soft input is calculated through the received information, for the mth iteration

R(m)=R+α(m)·W(m)R(m)=R+α(m)·W(m)

其中,R——译码器接收到的信号Among them, R - the signal received by the decoder

R(m)——第m个单元译码器的软输入信号R(m)——the soft input signal of the mth unit decoder

W(m)——上一级单元译码器输出的外信息,初始值为零W(m)——Extrinsic information output by the upper-level unit decoder, the initial value is zero

α(m)——调节系数α(m)——Adjustment coefficient

由于[R]和[W(m)]的抽样标准差不同,[W(m)]的抽样标准差在开始时较大,随着迭代次数的增加而逐渐减小,故需要引入调节系数α(m),α(m)在译码初期信噪比较大时起到了抑制[W(m)]的作用。α(m)的值随着迭代过程是递增的,在译码后期,初始的输入信号[R]对软输入的影响逐渐减小,W的值的可靠性不断增加,可以作为译码的主要依据,其对软输入影响逐渐增大,以达到最佳译码效果。得到软输入值后,便开始对输入值进行软判决译码,将软输入信息进行译码。同时,将软信息存入先入先出模块203中,先入先出模块的结构如图4所示,当有写使能信号时,R(m)存入先入先出模块中;当有读使能信号时,R(m)读出先入先出模块;先入先出模块全部读出后为空。为了防止溢出,设置其大小为64单元×2。Since the sampling standard deviations of [R] and [W(m)] are different, the sampling standard deviation of [W(m)] is relatively large at the beginning, and gradually decreases as the number of iterations increases, so it is necessary to introduce an adjustment coefficient α (m), α(m) plays a role in suppressing [W(m)] when the signal-to-noise ratio is large at the initial stage of decoding. The value of α(m) increases with the iterative process. In the later stage of decoding, the influence of the initial input signal [R] on the soft input gradually decreases, and the reliability of the value of W continues to increase, which can be used as the main factor for decoding. According to, its influence on the soft input gradually increases to achieve the best decoding effect. After the soft input value is obtained, soft decision decoding is performed on the input value, and the soft input information is decoded. Simultaneously, soft information is stored in the first-in-first-out module 203, and the structure of the first-in-first-out module is as shown in Figure 4, and when there is a write enable signal, R (m) is stored in the first-in first-out module; When the signal is enabled, R(m) reads out the first-in-first-out module; the first-in-first-out module is empty after reading out all the modules. To prevent overflow, set its size to 64 units x 2.

第2步,即上述步骤3是在最不可靠位计算模块204中对软输入序列r进行硬判决得到序列z,对z的每一位分配可靠性值;取z中可靠性最低的p位,将这p个位置分别取0或1得到2p个错误模式,将这些错误模式分别与硬判得到的序列z相加,产生候选码字集合Ω;The second step, that is, the above step 3 is to perform a hard decision on the soft input sequence r in the least reliable bit calculation module 204 to obtain the sequence z, and assign a reliability value to each bit of z; take the p bit with the lowest reliability in z , take these p positions to be 0 or 1 respectively to get 2 p error patterns, and add these error patterns to the sequence z obtained by hard judgment to generate a candidate codeword set Ω;

在实施例中,令p=3,Ω中最多有8个不同的码字。这样能对译码性能和复杂度之间做折中,更易于实现。In an embodiment, let p = 3, there are at most 8 different codewords in Ω. In this way, a compromise can be made between decoding performance and complexity, which is easier to implement.

第3步,即上述步骤4是接着对候选码字集合Ω中的各码字进行代数译码得到码字v,对于不同参数的Turbo乘积码,采用不同的代数译码,这是通用性的核心,如图5所示。在实施例中,选取了(15,11)×(15,11)的码字,及(31,26)×(31,26),有无校验位的汉明码字进行测试;The third step, that is, the above step 4 is to perform algebraic decoding on each codeword in the candidate codeword set Ω to obtain the codeword v. For Turbo product codes with different parameters, different algebraic decoding is used, which is universal The core, as shown in Figure 5. In the embodiment, the code word of (15,11)×(15,11) and (31,26)×(31,26) are selected, and the Hamming code word with or without check digit is tested;

对于无校验位的汉明码字,如实施例(15,11)×(15,11)及(31,26)×(31,26)直接进行代数译码,对于有校验位的汉明码字,先进行代数译码,然后根据错误模式err和奇偶校验位c的值,进行不同的处理。For the Hamming codeword without check digit, directly carry out algebraic decoding as embodiment (15,11)×(15,11) and (31,26)×(31,26), for the Hamming code word with check digit Words are first algebraically decoded, and then processed differently according to the value of the error mode err and the parity check bit c.

对于缩短的汉明码,先进行填0,并对填0位赋予高可信值,进行最不可靠位的寻找然后进行如上的代数译码。For the shortened Hamming code, fill in 0 first, assign a high confidence value to the 0-fill bit, search for the least reliable bit, and then perform algebraic decoding as above.

同时第一块先入先出模块203中的信息输入第二块先入先出模块206中。At the same time, the information in the first first-in first-out module 203 is input into the second first-in first-out module 206 .

第4步,即上述步骤5是在度量比较模块207中计算每个候选码字的软判决译码度量,选择最可能码字。通常计算各个候选码字与软输入序列之间的欧氏距离,选欧氏距离最小的码字作为判决码字D。The fourth step, that is, the above-mentioned step 5 is to calculate the soft-decision decoding metric of each candidate codeword in the metric comparison module 207, and select the most probable codeword. Usually, the Euclidean distance between each candidate codeword and the soft input sequence is calculated, and the codeword with the smallest Euclidean distance is selected as the decision codeword D.

第5步,即上述步骤3是计算竞争码字C,需对得到判决码字D的每一位进行搜索。所以将第二块先入先出模块206的信息输入外信息计算模块208,在外信息计算模块208中对D中的每一位,在集合Ω的8个码字中进行搜索,看是否存在相应位置上与其符号相反的码字,若存在符号相反码字,则在这些符号相反的码字中,与该步译码软输入向量欧氏距离最小的码字即为竞争码字。若不存在符号相反码字,则该位不存在竞争码字。具体实施方案如图6所示,采用流水结构。将8个候选码字的第i位data[i]与最优码字D做异或操作,若为0则将其对应的欧氏距离赋值为0;若为1则保留其欧氏距离dis,然后两两比较得到四个相对较大的距离值dismin1,dismin2,dismin3,dismin4,再将这4个码字两两比较得到相对较大的距离dismaxa,dismaxb,再比较这2个值得到最大欧氏距离对应的码字,即竞争码字C。The fifth step, that is, the above step 3 is to calculate the competing codeword C, and each bit of the decision codeword D needs to be searched. Therefore, the information of the second first-in-first-out module 206 is input into the external information calculation module 208, and in the external information calculation module 208, each bit in D is searched in the 8 code words of the set Ω to see if there is a corresponding position If there are codewords with opposite signs, among these codewords with opposite signs, the codeword with the smallest Euclidean distance to the soft input vector of this decoding step is the competing codeword. If there is no codeword of opposite sign, then there is no competing codeword for this bit. The specific embodiment is shown in Figure 6, which adopts a flow structure. XOR the i-th bit data[i] of the 8 candidate codewords with the optimal codeword D, if it is 0, assign its corresponding Euclidean distance to 0; if it is 1, keep its Euclidean distance dis , and then get four relatively large distance values dismin1, dismin2, dismin3, dismin4 by pairwise comparison, and then compare these four codewords pairwise to obtain relatively large distance dismaxa, dismaxb, and then compare these two values to get the maximum The codeword corresponding to the Euclidean distance, that is, the competing codeword C.

若能找到竞争码字,则该位的外信息计算方法如下:If a competing codeword can be found, the calculation method of the external information of this bit is as follows:

ww jj == [[ || || RR -- CC || || 22 -- || || RR -- DD. || || 22 44 dd jj -- rr jj

其中,R-——该级译码器软输入Among them, R——the soft input of the decoder of this stage

C——该位的竞争码字C - the competing codeword for this bit

D——软判译码得到的判决码字D——Decision codeword obtained by soft-decision decoding

dj——判决码字D的第j位dj - the jth bit of the decision codeword D

j——软输入R的第j位j - the jth bit of the soft input R

由上式可以看出,软输出rj=rj+wj的符号与dj相同,其绝对值代表了软输出的可靠性;如果在候选码字集合Ω中找不到竞争码字,说明C与R的欧氏距离很大,即dj的可靠性很高;若C与R的欧氏距离很远,说明dj的可靠性很高,It can be seen from the above formula that the sign of the soft output r j =r j +w j is the same as that of dj, and its absolute value represents the reliability of the soft output; if no competing code word is found in the candidate code word set Ω, it means The Euclidean distance between C and R is very large, that is, the reliability of dj is very high; if the Euclidean distance between C and R is very long, it means that the reliability of dj is very high,

若找不到竞争码字,则计算方法为:If no competing codeword is found, the calculation method is:

wj=β·djw j =β·dj

由上式可以看出,要计算外信息,还需计算β的值。β(m)用来控制软输出信息的输出峰值范围,它可以通过实验确定,也可以通过一些方法进行估计。B的值可以通过不断实验并修正错误来初始化。常采用简化算法。可以通过软输入的可靠性值来估计β,对判决码字D中没有竞争码字的各位的可靠性值取平均,这样得到的β值准确性要差一点,但是易于实现。It can be seen from the above formula that to calculate the extrinsic information, it is also necessary to calculate the value of β. β(m) is used to control the output peak range of soft output information, it can be determined through experiments, and can also be estimated by some methods. The value of B can be initialized by experimentation and error correction. Simplified algorithms are often used. β can be estimated by the reliability value of the soft input, and the reliability value of each bit in the decision codeword D without competing codewords is averaged. The β value obtained in this way is less accurate, but it is easy to implement.

计算出外信息的值后,将其存入外信息存储模块201中,便可以进一步计算出软输出了。软输出的值即等于软输入的值加上外信息,即After the value of the extrinsic information is calculated, it is stored in the extrinsic information storage module 201, and then the soft output can be further calculated. The value of the soft output is equal to the value of the soft input plus the external information, namely

r′=r+wr'=r+w

一次完整的迭代分为一次行译码和一次列译码,其具体译码步骤相同,行与列的交替译码便构成了BPTC的迭代译码过程如图7所示。根据参数设置,进行不同次数的迭代。最终输出所得的译码码字。并且Turbo乘积码子码的行和行,列和列之间的译码采用流水线结构,增加译码速度,提高吞吐量。A complete iteration is divided into one row decoding and one column decoding. The specific decoding steps are the same. The alternate decoding of rows and columns constitutes the iterative decoding process of BPTC, as shown in Figure 7. Depending on the parameter settings, different number of iterations are performed. The resulting decoded codeword is finally output. In addition, the decoding between row and row, and column and column of the Turbo product code subcode adopts a pipeline structure, which increases the decoding speed and improves the throughput.

如图8,9,10所示,给出了本发明的上述具体实施方案在随机比特干扰(AWGN信道)条件下的误码率曲线。所采用的仿真条件均为BPSK调制,α{0.0625,0.125,0.1875,0.25,0.3125,0.375,0.4375,0.5,0.5625,0.625,0.6875,0.75,0.8125,0.875,0.9375,1}。如图8是采用不同长度子码构成的Turbo乘积码:(15,11)*(15,11)与(31,26)*(31,26)两种TPC码的译码性能。如图9是是否增加校验位的TPC码的译码性能。如图10是迭代次数不同时的性能比较。随着迭代次数的进一步增加,译码性能的改善逐渐缓慢;当迭代次数增加到一定程度时,性能便基本保持不变,不在能得到改善。因此,我们在进行译码时,需要选择合适的迭代次数,在取得最优性能的同时,保证复杂度较低。As shown in FIGS. 8, 9, and 10, the bit error rate curves of the above-mentioned specific implementation schemes of the present invention under the condition of random bit interference (AWGN channel) are given. The simulation conditions used are BPSK modulation, α{0.0625, 0.125, 0.1875, 0.25, 0.3125, 0.375, 0.4375, 0.5, 0.5625, 0.625, 0.6875, 0.75, 0.8125, 0.875, 0.9375, 1}. Figure 8 shows the decoding performance of two TPC codes (15,11)*(15,11) and (31,26)*(31,26) for Turbo product codes composed of subcodes of different lengths. Figure 9 shows the decoding performance of the TPC code with or without adding check digits. Figure 10 is the performance comparison when the number of iterations is different. As the number of iterations increases further, the improvement of decoding performance gradually slows down; when the number of iterations increases to a certain extent, the performance remains basically unchanged and can no longer be improved. Therefore, when decoding, we need to select an appropriate number of iterations to ensure low complexity while achieving optimal performance.

如上所述,本发明的最大特点是其对不同子码构成的Turbo乘积码均可译,综合考虑速度和灵活性,本实施例选择FPGA来测试这种通用的Turbo乘积码译码器。但是该装置的结构化设计也可以用专用芯片(ASIC)实现,在数据吞吐量小的情形下,还可以用数字信号处理器(DSP)实现,另外,结合计算机软件一般设计流程,利用软件来实现也是可行的。As mentioned above, the greatest feature of the present invention is that it can decode Turbo product codes composed of different subcodes. Taking speed and flexibility into consideration, this embodiment selects FPGA to test this general Turbo product code decoder. However, the structural design of the device can also be realized with an application-specific chip (ASIC), and in the case of a small data throughput, it can also be realized with a digital signal processor (DSP). In addition, combined with the general design process of computer software, software can be used to Implementation is also possible.

本发明是一种通用的Turbo乘积码译码器及其方法。这里所述的方法与线路,彼此分离的单体部件可以完全是传统的,我们要求将它们的组合作为发明进行保护。以上所述仅为特定应用场合的具体实施方式,但本发明的真实精神和范围不局限于此,任何熟悉本领域的技术人员可以修改单体部件的具体方法,实现不同应用场合的Turbo乘积码译码。本发明仅由后附权利要求书及其等效技术方案来限定,我们要求将这些作为本发明来保护。The invention is a universal turbo product code decoder and its method. The methods and circuits described here, the individual parts separated from each other can be completely conventional, and we claim their combination as an invention. The above is only a specific embodiment of a specific application, but the true spirit and scope of the present invention are not limited thereto. Any person skilled in the art can modify the specific method of a single component to realize Turbo product codes in different applications decoding. The present invention is limited only by the appended claims and their equivalents, which we claim to be protected as the present invention.

Claims (9)

1. a general decoder for Turbo product code, its configuration parameter has: the subcode pattern of Turbo product code, iterations, is characterized in which comprises at least:
Initial information memory module (202), the receiving sequence needing for storing each decoding;
External information memory module (201), for storing each decoding soft information in outside that need and that obtain;
The first first-in first-out module (203) and the second first-in first-out module (206), for the temporary transient list entries that stores decoding;
Least reliable bits computing module (204), converts list entries according to the unreliable figure place in exterior arrangement parameter, obtains the list entries of algebraic decoding;
Algebraic decoding module (205), carries out different algebraic decodings according to configuration parameter difference;
Tolerance comparison module (207), by comparing the Euclidean distance of the output of algebraic decoding module, obtains optimum code word D;
External information computing module (208), calculates the soft information in outside of this iteration, offers next iteration;
Control module (209), the sequential to above-mentioned various modules, parameter is selected to control;
Interface module (101), carries out parameter setting;
External information memory module (201) is respectively with the first first-in first-out module (203), least reliable bits computing module (204), external information computing module (208) are connected; Initial information memory module (202) is respectively with the first first-in first-out module (203), least reliable bits computing module (204) is connected; The first first-in first-out module (203) is connected with external information memory module (201), initial information memory module (202), the second first-in first-out module (206), tolerance comparison module (207) respectively; Least reliable bits computing module (204) is connected with initial information memory module (202), external information memory module (201), algebraic decoding module (205) respectively; Reliable bits computing module (204), tolerance comparison module (207) are connected algebraic decoding module (205) respectively with least; The second first-in first-out module (206) is connected with the first first-in first-out module (203), external information computing module (208) respectively; Tolerance comparison module (207) is connected with the first first-in first-out module (203), algebraic decoding module (205), external information computing module (208) respectively; External information computing module (208) is connected with tolerance comparison module (207), the second first-in first-out module (206), external information memory module (201) respectively; External information memory module (201) to external information computing module (208) is controlled by control module (209); In interface module (101), carry out parameter setting.
2. the general decoder of a kind of Turbo product code according to claim 1, is characterized in that, the subcode pattern of described Turbo product code is that maximum length code length is any Hamming code of 64.
3. the general decoder of a kind of Turbo product code according to claim 1, is characterized in that, the subcode pattern of described Turbo product code is extended hamming code.
4. the general decoder of a kind of Turbo product code according to claim 1, is characterized in that, the shortening code that the subcode pattern of described Turbo product code is Hamming code, and to shorten figure place be Arbitrary Digit, the code length that maximum is subcode.
5. the general decoder of a kind of Turbo product code according to claim 1, is characterized in that, described iterations is according to the Arbitrary Digit of decoding delay and error rate setting.
6. the general decoder of a kind of Turbo product code according to claim 1, it is characterized in that, described external information memory module (201), the capacity of initial information memory module (202) is 64 unit * Unit 64, and the capacity of each unit is in unit, to store the quantizing bit number of information.
7. the general decoder of a kind of Turbo product code according to claim 1, it is characterized in that, the first described first-in first-out module (203) and the capacity of the second first-in first-out module (206) are 2*64 unit, the capacity of each unit is the quantization bit that soft information is inputted in decoding, wherein to read order be the order that data write, after data reading, data be sky in first-in first-out module.
8. use a general decoding method for the Turbo product code of general decoder as claimed in claim 1, it is characterized in that comprising the following steps:
1) parametrization configures, and sets as required two-dimentional subcode and the iterations of Turbo product code decoding in interface module;
2) the demodulation symbol information of receive channel output, deposits the required received information sequence of decoding in initial information memory module in, and external information memory module initial information is 0, starts once the iterative decoding of row or row;
3) calculate the required sequence information of decoding, deposit in the first first-in first-out module, find least reliable 3 is 3 of metric minimum simultaneously, and this 3 bit word is got respectively to 0 or 1, obtains 8 candidate codewords sequences;
4) these 8 candidate codewords sequences are carried out to algebraic decoding in algebraic decoding module, the algebraic decoding method of different configurations is different, obtains the code word after 8 algebraic decodings;
5) output of the output codons of algebraic decoding module and the first first-in first-out module is sent into tolerance comparison module, find the code word of Euclidean distance minimum, be judged to the optimum code word of the capable or row of this iterative decoding, the second first-in first-out module is read in the output of the first first-in first-out module simultaneously;
6) output of the output of the second first-in first-out module and tolerance comparison module is sent into external information computing module, calculate the soft information in outside of this iterative decoding row or column iteration, and deposit in external information memory module, this iterative decoding is capable or column decoding is complete;
7) repeat above-mentioned steps, until all row or column decoding are complete, be listed as or row decoding, whole after an iteration finish;
8) repeat above-mentioned steps, according to parameter configuration, control module is controlled whole process until whole iteration finishes.
9. the general decoding method of a kind of Turbo product code according to claim 8, is characterized in that, row and the row of described Turbo product code subcode, and the decoding between row and row adopts pipeline organization.
CN201010039650.9A 2010-01-12 2010-01-12 General decoder of Turbo product code and method thereof Expired - Fee Related CN101777926B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010039650.9A CN101777926B (en) 2010-01-12 2010-01-12 General decoder of Turbo product code and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010039650.9A CN101777926B (en) 2010-01-12 2010-01-12 General decoder of Turbo product code and method thereof

Publications (2)

Publication Number Publication Date
CN101777926A CN101777926A (en) 2010-07-14
CN101777926B true CN101777926B (en) 2014-04-16

Family

ID=42514275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010039650.9A Expired - Fee Related CN101777926B (en) 2010-01-12 2010-01-12 General decoder of Turbo product code and method thereof

Country Status (1)

Country Link
CN (1) CN101777926B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10108890B1 (en) * 2011-09-28 2018-10-23 Harold T. Fogg System and method for providing products and locations

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102568581B (en) * 2010-12-20 2015-09-09 中国科学院电子学研究所 A kind of laddering code translator being applicable to programmable storage
CN102523076B (en) * 2012-01-04 2014-05-14 西安电子科技大学 Universal and configurable high-speed Turbo code decoding method
US9391641B2 (en) * 2013-04-26 2016-07-12 SK Hynix Inc. Syndrome tables for decoding turbo-product codes
CN106209324B (en) * 2016-09-18 2023-05-19 幻视互动(北京)科技有限公司 Intelligent head display device based on multi-frequency wireless networking module realized by FPGA
CN107682019B (en) * 2017-09-28 2020-12-22 成都傅立叶电子科技有限公司 TPC high-speed decoding method
CN109714061B (en) * 2017-10-25 2023-04-14 中兴通讯股份有限公司 Decoding method and device of Turbo product code and computer readable storage medium
CN110661534B (en) * 2018-06-29 2024-06-18 中兴通讯股份有限公司 Method and device for improving Turbo decoding performance and computer equipment
CN110661535B (en) * 2018-06-29 2022-08-05 中兴通讯股份有限公司 Method, device and computer equipment for improving Turbo decoding performance
CN114421976B (en) * 2022-01-25 2023-09-08 电子科技大学 TPC iterative decoding method and decoder based on probability calculation
CN115133938A (en) * 2022-07-15 2022-09-30 南京大学 Product code decoding device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758543A (en) * 2005-11-11 2006-04-12 清华大学 Parallel decoding method and device for raising Turbo decoding speed
EP1968200A1 (en) * 2007-02-28 2008-09-10 Fujitsu Ltd. Decoder device and decoding method
CN101286817A (en) * 2008-04-03 2008-10-15 浙江大学 Universal Decoding Method for Traditional Binary and Duobinary Turbo Codes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758543A (en) * 2005-11-11 2006-04-12 清华大学 Parallel decoding method and device for raising Turbo decoding speed
EP1968200A1 (en) * 2007-02-28 2008-09-10 Fujitsu Ltd. Decoder device and decoding method
CN101286817A (en) * 2008-04-03 2008-10-15 浙江大学 Universal Decoding Method for Traditional Binary and Duobinary Turbo Codes

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10108890B1 (en) * 2011-09-28 2018-10-23 Harold T. Fogg System and method for providing products and locations

Also Published As

Publication number Publication date
CN101777926A (en) 2010-07-14

Similar Documents

Publication Publication Date Title
CN101777926B (en) General decoder of Turbo product code and method thereof
CN101106381B (en) Hierarchical LDPC decoder and decoding processing method
CN100517984C (en) Viterbi/turbo joint decoder for mobile communication system
US8650451B2 (en) Stochastic stream decoding of binary LDPC codes
CN101777924A (en) Method and device for decoding Turbo codes
CN1327653A (en) Component decoder and method thereof in mobile communication system
CN101388674A (en) A decoding method, decoder and Turbo code decoder
CN100546207C (en) A Double Binary Turbo Code Decoding Method Based on DVB-RCS Standard
CN101867379A (en) A Decoding Method of Convolutional Codes Aided by Cyclic Redundancy Check
CN101800560B (en) Method for expanding error correcting capability of BCH (Broadcast Channel) encoding and decoding in Flash controller
WO2019137231A1 (en) Decoding method and device
US8234536B1 (en) Iterative decoder using input data pipelining and time-interleaved processing
CN107688506B (en) BCH decoding system with flow structure
CN102340320A (en) Bidirectional Parallel Decoding Method for Convolutional Turbo Codes
CN102064835A (en) Decoder suitable for quasi-cyclic LDPC decoding
CN102355331B (en) Universal multi-mode decoding device
CN201018490Y (en) TD-SCDMA/3G hard core turbo code translator
CN102594369B (en) Quasi-cyclic low-density parity check code decoder based on FPGA (field-programmable gate array) and decoding method
CN101764621B (en) Method for realizing compatibility of short code and subcode in satellite-based (8176, 7156) LDPC coder
CN105391455A (en) Return-to-zero Turbo code starting point and depth blind identification method
CN112217525B (en) Automatic updating method for iterative times of Turbo decoding
CN102611464B (en) Turbo decoder based on external information parallel update
CN108845890A (en) Data verification method based on Nand flash storage array
CN103188038B (en) Demapping coding/decoding method and system
CN103957016A (en) A Low Storage Capacity Turbo Code Decoder and Its Design Method

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

Granted publication date: 20140416

CF01 Termination of patent right due to non-payment of annual fee