Product code-oriented high throughput coding method

文档序号:721194 发布日期:2021-04-16 浏览:22次 中文

阅读说明:本技术 一种面向乘积码的高吞吐量编码方法 (Product code-oriented high throughput coding method ) 是由 韩昌彩 石硕 陈为刚 于 2020-12-14 设计创作,主要内容包括:本发明公开了一种面向乘积码的高吞吐量编码方法,乘积码编码器采用k-2组RS码编码器和一组多进制LDPC码编码器同时处理并行输入的长度为k-2的信息序列,从而分别实现列编码和行编码;完成行列编码后,将k-2组移位寄存器缓存的RS码编码结果并行输出进行LDPC码的双重校验编码;其中,该方案采用行列同时编码减小编码延迟,并通过直接输出信息序列和列校验序列进而减少硬件资源消耗。本发明实现的乘积码编码器吞吐量可达到1.2Gbps以上,满足实时编码需求,硬件实现复杂度较低,且适用于不同码长、码率的乘积码编码方案,具有较高的实际应用价值。(The invention discloses a high throughput coding method facing to product code, and a product code coder adopts k 2 Length k for simultaneous processing of parallel input by a set of RS code encoders and a set of multi-system LDPC code encoders 2 Thereby respectively implementing column coding and row coding; after completing the row-column coding, k is added 2 The RS code coding results cached by the group shift register are output in parallel to carry out double check coding on the LDPC code; the scheme adopts row-column simultaneous coding to reduce coding delay, and reduces hardware resource consumption by directly outputting an information sequence and a column check sequence. The product code encoder has the advantages that the throughput can reach more than 1.2Gbps, the real-time encoding requirement is met, the hardware implementation complexity is low, the product code encoder is suitable for product code encoding schemes with different code lengths and code rates, and the product code encoder has high practical application value.)

1. A method for high throughput coding of product codes, said method comprising the steps of:

(1) k input in parallel every clock cycle from 1 st clock cycle2Each symbol goes into k2Calculating by a group RS code encoder; k is a radical of1After one clock period, each set of RS code encoder generates the code with the length of n1-k1The product code encoder obtains k2Group length n1-k1The column check sequence of the product code encoder of (1);

(2) at the same time, k is input in parallel every clock cycle from the 1 st clock cycle2The method comprises the steps that a plurality of symbols enter a multi-system LDPC code encoder to start encoding calculation and generate the length n2-k2The check sequence of (2); k is a radical of1After one clock cycle, the product code encoder gets k1Group length n2-k2The row check sequence of the product code encoder of (1);

(3) from the k th1+1 clock cycles on, each clock cycle k2Parallel output k of group RS code encoder2The symbols enter a multi-system LDPC code encoder and are calculated to generate the length n2-k2The check sequence of (2); to n < th > of1N for each clock cycle, each group of RS code encoders finishes register caching1-k1Serial output of check symbols, product code encoder generation and output of n1-k1Group length n2-k2Double check sequence of the product code encoder.

2. The product code-oriented high throughput coding method according to claim 1, wherein the step (1) is:

(1.1) initializing RS code encoders, setting the RS code encoding enabling signal to be at low level, and setting n in each set of RS code encoders1-k1The registers are all zero, and the RS code encoder waits for an indication signal to start encoding work;

(1.2) when the encoding enable signal is set to be high level, the RS code encoder starts to work, the 1 st clock cycle, and the k is input in parallel2An information symbolRespectively enter k2Group RS code encoder, in which symbolsEntering an i-th group of RS code encoders and then respectively comparing with n1-k1Coefficient of polynomialPerforming multiplication operation, and storing the obtained result in a register;

(1.3) 2 nd clock cycle, parallel input of k2An information symbolRespectively enter k2Group RS code encoder, in which symbolsEntering the i-th group RS code encoder, firstly, and the registerData in (1)Performing addition operation, and adding the resultAre each independently of n1-k1Coefficient of polynomialPerforming multiplication operation, and finally register R1Direct caching of multiplication resultsOther n1-k1-1 multiplication resultRespectively carrying out addition operation with the data cached in the register in the previous clock cycle, and respectively storing the results obtained by the addition operation into the registers;

(1.4) and so on, k1One clock cycle, parallel input of k2An information symbolEnter k2Group RS code encoder and execute k in step (1.3)2An information symbolSame operation, k2Group RS code encoder generation k2Group length n1-k1Check sequence of

And storing the check sequence generated by each set of RS code encoder in n1-k1In a register.

3. The product-code-oriented high throughput coding method according to claim 1, wherein said step (2) is:

(2.1) initializing a multi-system LDPC code encoder, enabling the LDPC code to be set at a low level, waiting for an indication signal to start encoding work, and setting all internal registers of the encoder to be zero;

(2.2) when the LDPC code is set to a high level, the multi-system LDPC code encoder starts to receive the information vectors input in parallel; in 1 st clock cycle, the selector inputs k of paths (r) in parallel2An information symbolOutput directly as an information sequence while k is simultaneously output2Obtaining intermediate vector by solving intermediate variable calculating unit of multi-system LDPC code encoder with parallel input of information symbolsFurther inputting the intermediate variable m into a calculation unit for solving check symbols to generate and output a check symbol with the length of n2-k2The check sequence of (2);

(2.3) and so on, k1One clock cycle, k2An information symbolK in step (2.2)2An information symbolSame operation, generate and output length n2-k2The check sequence of (1).

4. The product code-oriented high throughput coding method and the device thereof according to claim 1, wherein the step (3) is:

(3.1) k th1+1 clock cycle, the selector starts to receive the data of channel 2, each set of RS code encoder outputs register R1Buffered check symbols, k2Parallel output k of group RS code encoder2A symbolDirectly output as a column check sequence via a selector, while k is simultaneously output2Entering multiple symbols into multiple system LDPC code encoder to execute step (2.2)2An information symbolSame operation, generate and output length n2-k2Check sequence of

(3.2) by analogy, n1One clock cycle, each set of RS code encoder output registersBuffered check symbols, k2Parallel output k of group RS code encoder2A symbolK in execution of step (3.1)2An information symbolSame operation, generate and output length n2-k2The check sequence of (1).

Technical Field

The invention relates to the technical field of digital communication coding, in particular to a product code-oriented high-throughput coding method.

Background

The problems of long communication distance, complex channel environment and the like exist in wireless communication, and higher requirements are put forward on the reliability of a communication system. The communication device needs to have the characteristics of small volume and low power consumption, and brings huge challenges to hardware implementation. The communication system usually adopts the channel coding technology to ensure the effectiveness of data transmission, and the product code coding scheme is the channel coding technology with high coding efficiency and lower realization complexity. In practical application, the product code encoding technology is adopted, so that the data processing rate of a communication system can be effectively improved, and the method is widely applied to the fields of magnetic storage, optical fiber communication, digital television broadcasting and the like. Therefore, it is of great research interest to implement a high throughput product code encoder.

As the reliability of digital communication systems gradually becomes a research focus, it is very important to find a channel coding technique with large coding gain and strong error correction capability. Product codes were first proposed by p.elias in 1954, and the codeword structure of the product codes was implemented by both error control and interleaving techniques, which structure corrects errors in data occurring on different channels. The product code is constructed by any linear rule code, a multidimensional product code can be constructed theoretically, but the two-dimensional or three-dimensional product code is usually designed in practical application by comprehensively considering factors such as implementation complexity, coding and decoding rate and the like. When constructing the product code, a Low-Density Parity-Check (LDPC) code, Reed-Solomon (RS) code, and other block codes can be selected for design.

In order to ensure the effectiveness of data transmission of a communication system, the key for realizing the codec is to select the linear block code with low hardware implementation complexity and strong error correction capability to construct a product code. In terms of product code subcode selection and construction, Shah et al propose an RS-LDPC product code coding and decoding scheme that achieves higher decoding performance in high snr application scenarios. In recent years, with the increasing flexibility of subcode construction schemes of product codes, the hardware architecture design of product code codecs has received a lot of attention. Tam et al propose a product code decoding implementation framework based on LDPC codes and RS codes, which implements LDPC codes and RS code decoders respectively by using a belief decoding algorithm to implement a row-column decoding function of product codes, thereby improving product code decoding performance at the cost of increased hardware resource consumption.

Product code encoding and decoding technology achieves remarkable results in the fields of wireless communication and the like. Aiming at a digital television broadcasting system, the product code coding and decoding technology is adopted, so that the rapidly-increased bandwidth requirement of broadband wireless service can be met, and meanwhile, effective technical guarantee is provided for the reliability of a ground broadcasting system. Further, Karine et al found that the product code encoding scheme can effectively improve the transmission efficiency of the node by introducing the product code encoding and decoding technique to the wireless sensor network. Therefore, coding operation is carried out on each relay node of the wireless sensor network, and the scheme improves the transmission rate of data among the nodes at the cost of increasing a small amount of power consumption, so that the method has high application value. With the increasing amount of data stored in magnetic tapes, the storage capacity has been expanded by 100 ten thousand times at present, and higher requirements are put forward on key indexes such as reliability, error rate and the like of the storage technology. Because the product code has higher coding rate and stronger error correction performance, the product code is widely applied to information systems such as magnetic storage and the like, thereby ensuring the reliability of a communication system. In addition, product codes are often applied in high throughput, low bit error rate scenarios, Jian et al apply LDPC product code techniques to high-speed optical communication systems and propose an efficient iterative hard decision scheme. Further, Le bidian rapael et al proposes an RS-Turbo product code architecture suitable for the field of optical communications, which has better decoding performance and lower implementation complexity.

With the wide application of product codes in the fields of communication and storage, specific product code encoding and decoding implementation schemes become the key direction of research of researchers. Thomos et al construct a product code by using an LDPC code and an RS code, and the product code decoder achieved obtains a higher decoding performance, thereby effectively solving the problem of large amount of data errors in a high-speed image transmission process. Because the LDPC code codec can adopt a high-parallelism coding and decoding architecture and based on the sparsity of the LDPC code check matrix, the decoding function with high performance can be realized by adopting an iterative Belief Propagation (BP) algorithm under the condition of consuming less hardware resources. In addition, the RS code has the characteristics of correcting random errors and burst errors, has a relatively outstanding error correction capability in the application of short codes and medium-long codes, and has the advantages of simple structure and the like, and the RS code is regarded as one of error control coding techniques which are most widely applied, and has achieved remarkable results in the fields of optical communication and the like. Therefore, the two-dimensional product code constructed by selecting the LDPC code and the RS code has high research value.

Compared with the realization of a single LDPC code or RS code encoder, the product code encoder brings higher challenges to hardware resources, and needs to comprehensively consider the factors such as complexity and performance of realization and further select a proper encoding algorithm for circuit realization. In recent years, with the arrival of the big data era, the efficiency of processing data by an encoder in a communication system becomes one of important indexes, and communication equipment is updated more and more frequently, so that the implementation scheme of the product code encoder needs to have the advantages of flexible parameter replacement and low hardware implementation complexity. In conclusion, the high-speed product code encoder suitable for different code lengths and code rates is designed and realized, and has high research value.

In the process of implementing the invention, the inventor finds the following defects and shortcomings in the prior art:

the product code encoder has a low encoding rate and cannot perform the row-column encoding operation of the product code at the same time.

Disclosure of Invention

Aiming at the problems of low coding rate, high hardware implementation complexity and the like of a product code encoder in practical application, the invention provides a product code-oriented high-throughput coding method, the encoder of the invention has high throughput, meets the requirements of real-time coding, can support product code coding schemes with different code lengths and code rates, and is described in detail as follows:

a method of high throughput product code oriented encoding, said method comprising the steps of:

(1) k input in parallel every clock cycle from 1 st clock cycle2Each symbol goes into k2Calculating by a group RS code encoder; k is a radical of1After one clock period, each set of RS code encoder generates the code with the length of n1-k1The product code encoder obtains k2Group length n1-k1The column check sequence of the product code encoder of (1);

(2) at the same time, k is input in parallel every clock cycle from the 1 st clock cycle2The method comprises the steps that a plurality of symbols enter a multi-system LDPC code encoder to start encoding calculation and generate the length n2-k2The check sequence of (2); k is a radical of1After one clock cycle, the productCode encoder obtains k1Group length n2-k2The row check sequence of the product code encoder of (1);

(3) from the k th1+1 clock cycles on, each clock cycle k2Parallel output k of group RS code encoder2The symbols enter a multi-system LDPC code encoder and are calculated to generate the length n2-k2The check sequence of (2); to n < th > of1N for each clock cycle, each group of RS code encoders finishes register caching1-k1Serial output of check symbols, product code encoder generation and output of n1-k1Group length n2-k2Double check sequence of the product code encoder.

The step (1) is as follows:

(1.1) initializing RS code encoders, setting the RS code encoding enabling signal to be at low level, and setting n in each set of RS code encoders1-k1The registers are all zero, and the RS code encoder waits for an indication signal to start encoding work;

(1.2) when the encoding enable signal is set to be high level, the RS code encoder starts to work, the 1 st clock cycle, and the k is input in parallel2An information symbolRespectively enter k2Group RS code encoder, in which symbolsEntering an i-th group of RS code encoders and then respectively comparing with n1-k1Coefficient of polynomialPerforming multiplication operation and obtaining multiplication resultRespectively storing the data into registers;

(1.3) 2 nd clock cycle, parallel input of k2An information symbolRespectively enter k2Group RS code encoder, in which symbolsEntering the i-th group RS code encoder, firstly, and the registerData in (1)Performing addition operation, and adding the resultAre each independently of n1-k1Coefficient of polynomialPerforming multiplication operation, and finally register R1Direct caching of multiplication resultsOther n1-k1-1 multiplication resultRespectively carrying out addition operation with the data cached in the register in the previous clock cycle, and respectively storing the results obtained by the addition operation into the registers;

(1.4) and so on, k1One clock cycle, parallel input of k2An information symbolEnter k2Group RS code encoder and execute k in step (1.3)2An information symbolSame operation, k2Group RS code encoder generation k2Group length n1-k1Check sequence of

And storing the check sequence generated by each set of RS code encoder in n1-k1In a register.

The step (2) is as follows:

(2.1) initializing a multi-system LDPC code encoder, enabling the LDPC code to be set at a low level, waiting for an indication signal to start encoding work, and setting all internal registers of the encoder to be zero;

(2.2) when the LDPC code is set to a high level, the multi-system LDPC code encoder starts to receive the information vectors input in parallel; in 1 st clock cycle, the selector inputs k of paths (r) in parallel2An information symbolOutput directly as an information sequence while k is simultaneously output2Obtaining intermediate vector by solving intermediate variable calculating unit of multi-system LDPC code encoder with parallel input of information symbolsFurther inputting the intermediate variable m into a calculation unit for solving check symbols to generate and output a check symbol with the length of n2-k2Check sequence of

(2.3) and so on, k1One clock cycle, k2An information symbolK in step (2.2)2An information symbolSame operation, generate and output length n2-k2Check sequence of

The step (3) is as follows:

(3.1) k th1+1 clock cycle, the selector starts to receive the data of channel 2, each set of RS code encoder outputs register R1Buffered check symbols, k2Parallel output k of group RS code encoder2A symbolDirectly output as a column check sequence via a selector, while k is simultaneously output2Entering multiple symbols into multiple system LDPC code encoder to execute step (2.2)2An information symbolSame operation, generate and output length n2-k2Check sequence of

(3.2) by analogy, n1One clock cycle, each set of RS code encoder output registersBuffered check symbols, k2Parallel output k of group RS code encoder2A symbolK in execution of step (3.1)2An information symbolSame operation, generate and output length n2-k2The check sequence of (1).

The technical scheme provided by the invention has the beneficial effects that: the product code encoder adopts a plurality of groups of RS code encoders and a group of multi-system LDPC code encoders to work simultaneously, thereby reducing the encoding delay and effectively improving the throughput of the product code encoder; and hardware resource consumption is reduced by directly outputting the information sequence and the column check sequence, so that the hardware implementation complexity is reduced. The framework is suitable for product code coding schemes with different code lengths and code rates, and is flexible to apply and strong in adaptability.

Drawings

FIG. 1 is a flow diagram of a high throughput coding method for product codes;

FIG. 2 is a schematic diagram of a product code encoder;

FIG. 3 shows parallel output k2A schematic diagram of a group RS code coding result structure;

FIG. 4 is a schematic diagram of a circuit structure of a calculation unit for solving intermediate variables of a multi-system LDPC code encoder;

FIG. 5 is a timing diagram of the operation of a product code encoder.

Detailed Description

In order to make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention are described in further detail below.

Aiming at the problems of higher complexity and lower throughput of product code encoder hardware in the fields of communication and the like, the embodiment of the invention designs a product code-oriented high throughput encoding method, wherein a product code encoder consists of a control unit, an information storage unit to be encoded, an RS code encoder unit and a multi-system LDPC code encoding unit; the product code encoder adopts a plurality of groups of RS code encoders to work in parallel to realize column encoding, and uses a group of multi-system LDPC code encoders to receive information sequences in parallel to realize row encoding. The structure outputs the encoding results of the multiple groups of RS codes cached in the shift register array in parallel so as to reduce the encoding delay. The product code encoder hardware of the invention has lower complexity and higher throughput, meets the requirement of real-time encoding, is suitable for product code encoding schemes with different code lengths and code rates, and has higher practical application value.

The embodiment of the invention provides a product code-oriented high throughput coding method, which is realized by adopting a Field Programmable Gate Array (FPGA) or a Very Large Scale Integration (VLSI) circuit.

Embodiments of the present invention are described in detail below with reference to the accompanying drawings:

FIG. 1 is a diagram illustrating a high throughput coding method for product codes according to an embodiment of the present invention, where a product code encoder uses k2Group RS (n)1,k1) Code encoders work in parallel to achieve column encoding while using a set of multilevel LDPC (n)2,k2) The code encoder receives an information sequence input by a line to realize line coding; wherein each set of RS code encoders processes a set of information sequences to generate a length n1-k1And storing the check sequence in the shift register; the encoder of the multi-system LDPC code and the encoder of the RS code start encoding work at the same time, and the encoding unit of the multi-system LDPC code receives k in parallel2Carrying out coding operation on the symbols; the information sequence of the LDPC code firstly enters a solving intermediate variable calculation unit of a multi-system LDPC code encoder, and then the intermediate variable obtained by calculation is input into a solving check symbol calculation unit to obtain a check sequence of the LDPC code; and after row-column coding of the product code is completed, the operation of calculating the double check sequence is started, and the multiple groups of RS code coding results cached by the shift register array are output in parallel to carry out double check coding of the LDPC code.

FIG. 2 shows a schematic diagram of a product code encoder, wherein the product code encoding scheme is composed of a control unit, an information storage unit to be encoded, an RS code encoding unit and a multi-system LDPC code encoding unit; the control unit regulates and controls the encoding flow of the product code encoder by outputting control signals to other operation units; the information to be coded storage unit receives the indication signal from the control unit and executes storage and transmission operation of the information to be coded; the RS code encoding unit executes encoding operation of an information sequence output by an information unit to be encoded under the instruction of the control signal and outputs a check sequence obtained by encoding to the multi-system LDPC code encoding unit; and the multi-system LDPC code encoding unit receives the data output by the information unit to be encoded and the RS code encoding unit in parallel as an information sequence under the instruction of the control signal to perform encoding operation.

FIG. 3 shows the parallel output k2Group RS code coding knotThe structure of the fruit is shown schematically, and the RS code coding unit is composed of k2The encoder of each RS code is formed by the length n after the encoding operation is finished1-k1The check sequence of (2) is stored in the shift register; after row-column coding of the product code is completed, a shift register in each group of RS code encoders starts to output the check sequence of the RS code in series; at this time, k2Parallel output k of group RS code encoder2The symbols continue to participate in the computation as an information sequence of the multi-system LDPC code encoder.

Fig. 4 shows a schematic circuit structure diagram of a calculation unit for solving intermediate variables of a multi-system LDPC code encoder. Dividing the check matrix H into sub-matrices HISum submatrix HPThe encoding process of the multi-system LDPC code can be divided into two parts of solving an intermediate vector and solving a check symbol, and firstly, the length of the intermediate vector is k2Information vector of individual signAnd matrix HIObtaining intermediate variables by multiplicationThen, the intermediate vector m and the matrix are combinedAnd performing multiplication operation to obtain a check sequence of the multi-system LDPC code. Solving the schematic diagram of the circuit structure of the intermediate variable calculation unit is a hardware implementation scheme for solving the intermediate vector m in the encoding process of the multi-system LDPC code, and the scheme is to respectively combine the information vector s with the matrix HIMultiplying the non-zero elements of each row, and then adding the calculation results to obtain corresponding intermediate vectors, wherein s isiAnd sjI-th and j-th symbols, respectively, of the information vector s1,iAnd alpha1,jAre respectively a matrix HINon-zero elements of the first row.

FIG. 5 shows a timing diagram of the operation of a product code encoder, where the row and column encoding of the product code encoder is performed simultaneously to achieve a real-time encoding function; information output by information unit to be codedThe sequences respectively enter an RS code coding unit and a multi-system LDPC code coding unit to perform coding operation, and each set of RS code coder needs k1+1 clock cycles complete the RS code encoding operation, and k2N is needed for parallel output of check sequences of RS codes by group RS code encoder1-k1One clock cycle, so that the RS code encoding unit consumes n in total for processing the information sequence1+1 clock cycles; the parallel receiving length of the multi-system LDPC code encoder is k2The information sequence of (2) needs to consume 4 clock cycles to complete the encoding operation; the architecture consumes n in total1The +5 clock cycles realize the coding function, and the coder has smaller coding delay and higher throughput.

The specific embodiment of the invention is based on an FPGA hardware platform, and adopts the product code-oriented high-throughput encoder structure to realize a multi-system LDPC-RS product code encoder.

The product code encoder is realized by adopting an FPGA of Xilinx Virtex-6 series xc6vlx240t-3ff1156 model, and a synthesizer is XST of Xilinx. Adopting an RS code with code length of 255 symbols and code rate of 247/255 under a Galois field GF (256) and a multi-system LDPC code with code length of 72 symbols and code rate of 1/2 to construct a product code so as to realize a product code encoder; further, the code length and code rate of the multi-system LDPC code are kept unchanged, and an RS code with the code length of 255 symbols and the code rate of 251/255 under the Galois field GF (256) is selected to reconstruct a group of product codes for hardware realization. The product code encoder architecture proposed by the embodiment of the present invention is further explained in detail by taking the example of the multi-system LDPC (72,36) -RS (255,247) product code, wherein the information to be encoded is divided into 36 groups of information sequences with length of 247 symbolsThe product code encoder is implemented by the following steps:

(1) column encoding implementing product code encoder:

(1.1) initializing RS code encoders, setting an RS code encoding enabling signal to be at a low level, setting 8 registers in each set of RS code encoders to be zero, and waiting for an indication signal by the RS code encoders to start encoding work;

(1.2) when knittingThe code enable signal is set to high level, the RS code encoder starts to work, the 1 st clock period, and 36 information symbols input in parallelRespectively enter 36 groups of RS code encoders, in which symbolsEntering an ith set of RS code encoder, and then respectively matching with 8 polynomial coefficients g0、g1、...、g7Performing multiplication operation and obtaining multiplication resultAre stored in registers R respectively1、R2、...、R8Performing the following steps;

(1.3) the 2 nd clock cycle, 36 information symbols inputted in parallelRespectively enter 36 groups of RS code encoders, wherein the symbol si 2Entering the i-th RS code encoder, and firstly, connecting with a register R8Data in (1)Performing addition operation, and adding the resultRespectively multiplying with 8 polynomial coefficients, and finally register R1Direct caching of multiplication resultsOther 7 multiplication resultsRespectively corresponding to the register R of the last clock cycle (i.e. 1 st clock cycle)1、R2、...、R7Adding the data buffered in the buffer, and adding the resultAre stored in registers R respectively2、R3、...、R8Performing the following steps;

(1.4) and so on, 247 th clock cycle, 36 information symbols inputted in parallelEnters into 36 groups RS code encoder and executes 36 information symbols in step (1.3)In the same operation, a 36-group RS code encoder generates 36 groups of check sequences with 8 symbols in lengthAnd the check sequence generated by each set of RS code encoder is stored in 8 registers in the RS code encoder.

(2) Line coding implementing a product code encoder:

(2.1) initializing a multi-system LDPC code encoder, enabling the LDPC code to be set at a low level, waiting for an indication signal to start encoding work, and setting all internal registers of the encoder to be zero;

(2.2) when the LDPC code is set to a high level, the multi-system LDPC code encoder starts to receive the information vectors input in parallel; in 1 st clock period, the selector inputs 36 information symbols of path (r) in parallelDirectly outputting the information sequence, and simultaneously inputting 36 information symbols into a solving intermediate variable calculation unit of a multi-system LDPC code encoder in parallel to obtain an intermediate vector m ═ m1,m2,...,m36Inputting the intermediate variable m into a calculation unit for solving check symbols to generate and output a check sequence with the length of 36

(2.3) and so on, 247 th clock cycle, 36 information symbolsExecuting 36 information symbols in step (2.2)The same operation generates and outputs a check sequence with the length of 36 symbols

(3) And (3) double checking of a product code encoder is realized:

(3.1) in the 248 th clock period, the selector starts to receive the data of the channel II, and each group of RS code encoder output registers R1Buffered check symbols, 36 symbols output in parallel by 36 sets of RS code encodersDirectly outputting as a column check sequence through a selector, and simultaneously entering 36 symbols into a multilevel LDPC code encoder to execute 36 information symbols in step (2.2)The same operation generates and outputs a check sequence with the length of 36 symbols

(3.2) analogizing in sequence, 255 th clock cycle, and each group of RS code encoder output registersBuffered check symbols, 36 symbols output in parallel by 36 sets of RS code encodersExecuting 36 information symbols in step (3.1)Same operation, generate and output length n2-k2Check sequence of

Table 1 describes the results of an encoder hardware implementation that constructs product codes from different subcodes. First, the hardware resource consumption of two sets of multi-system LDPC-RS product code encoders is analyzed. Under the condition of not changing the code length and code rate of the multi-system LDPC code, the multi-system LDPC (72,36) -RS (255,247) product code encoder and the multi-system LDPC (72,36) -RS (255,251) product code encoder use the same number of block RAM resources, which shows that the product code architecture does not need to use an additional block RAM to store the RS code encoding result, and reduces the hardware resource consumption. Further, by comparing the two sets of register resource usage of the product code encoders in table 1, it can be seen that the multilevel LDPC (72,36) -RS (255,247) product code encoder consumes 1154 more register resources than the multilevel LDPC (72,36) -RS (255,251) product code encoder. Each set of RS (255,247) code encoder and RS (255,251) code encoder uses 8 and 4 memories, respectively, each memory is responsible for buffering check symbols under the galois field GF (256), and each symbol corresponds to an 8-bit binary number. Under the architecture that all adopt 36 groups of RS code encoders to work in parallel, the multi-system LDPC (72,36) -RS (255,247) product code encoder and the multi-system LDPC (72,36) -RS (255,251) product code encoder respectively use 2304 register resources and 1152 register resources to store column check sequences, and the former uses 1152 register resources more than the latter. Thus, when RS (n)1,k1) Code check sequence length n1-k1When smaller, the product code encoder hardware implementation complexity is lower. And finally, analyzing the maximum working frequency and throughput of the two groups of multi-system LDPC-RS product code encoders. The maximum working frequencies of the two groups of product code encoders are basically consistent, and the throughput reaches more than 1.2Gbps, which shows that the circuit architecture adopting the multiple groups of RS code encoders to work in parallel does not influence the key path of the product code encoder, and the product code encoders adopting the circuit architecture have higher throughput.

Table 1 product code encoder hardware implementation results

The arithmetic unit of the product code encoder mainly comprises an RS code encoding unit and a multi-system LDPC code encoding unit. Each operation unit is independent, and the code length and code rate of the RS code or the multi-system LDPC code can be flexibly modified according to actual requirements. By comparing the use conditions of the resources of each unit in the LDPC-RS product code encoder described by the table 2 and the table 3, it can be found that the indication signal output by the control unit does not change due to the change of the parameters in the encoder, thereby showing that the state machine and the pipeline output control signal designed under the framework are suitable for the product code encoding scheme with different parameters. Because the code length and code rate of the multi-system LDPC code are not changed, the resource consumption of the multi-system LDPC code coding unit is unchanged. The RS code encoding unit consists of 36 groups of RS code encoders, the register resources and the lookup table resources of the RS (255,247) code encoder are respectively 88 and 124, and the register resources and the lookup table resources of the RS (255,251) code encoder are respectively 56 and 69, which shows that the hardware implementation complexity of the RS code encoder is low. The overall hardware resource consumption of the product code encoder is not influenced by adopting 36 groups of RS code encoders to work in parallel.

TABLE 2 resource occupation of modules of LDPC (72,36) -RS (255,247) product code encoder

TABLE 3 resource occupation of modules of LDPC (72,36) -RS (255,251) product code encoder

In summary, the embodiments of the present invention provide a product code-oriented high throughput coding method. The product code encoder adopts a plurality of groups of RS code encoders to work in parallel to realize column encoding, simultaneously adopts a group of LDPC code encoders to input information sequences in parallel to realize row encoding, and then outputs a plurality of groups of RS code encoding results cached in the shift register array in parallel to carry out double check encoding of the LDPC code. FPGA test results show that the coding method can effectively reduce coding delay, and the throughput of the product code coder can reach more than 1.2 Gbps. The product code encoder realized by the framework has high throughput and low hardware realization complexity, meets the requirement of real-time encoding, is suitable for product code encoding schemes with different code lengths and code rates, and has high practical application value.

In the embodiment of the present invention, except for the specific description of the model of each device, the model of other devices is not limited, as long as the device can perform the above functions.

Those skilled in the art will appreciate that the drawings are only schematic illustrations of preferred embodiments, and the above-described embodiments of the present invention are merely provided for description and do not represent the merits of the embodiments.

The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:通信处理方法、装置及电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类