CN107332572B - Quick configurable Turbo encoder and encoding method - Google Patents

Quick configurable Turbo encoder and encoding method Download PDF

Info

Publication number
CN107332572B
CN107332572B CN201710426548.6A CN201710426548A CN107332572B CN 107332572 B CN107332572 B CN 107332572B CN 201710426548 A CN201710426548 A CN 201710426548A CN 107332572 B CN107332572 B CN 107332572B
Authority
CN
China
Prior art keywords
sequence
puncturing
data
length
row
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.)
Active
Application number
CN201710426548.6A
Other languages
Chinese (zh)
Other versions
CN107332572A (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.)
CETC 54 Research Institute
Original Assignee
CETC 54 Research Institute
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 CETC 54 Research Institute filed Critical CETC 54 Research Institute
Priority to CN201710426548.6A priority Critical patent/CN107332572B/en
Publication of CN107332572A publication Critical patent/CN107332572A/en
Application granted granted Critical
Publication of CN107332572B publication Critical patent/CN107332572B/en
Active 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
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Abstract

The invention discloses a rapidly configurable Turbo encoder, and relates to the field of wireless communication. The encoder comprises an interleaving generation unit, a data processing unit, a data storage unit, a puncturing generation unit and an encoding unit. The invention mainly has three design points, namely, quick coding, finishing the interleaving process in data recombination and finishing the deletion process in a coding unit; secondly, the method is flexible and configurable, and an intra-row transformation sequence, an inter-row transformation sequence, a puncturing sequence and a component encoder can be externally configured by the encoder; and thirdly, the resource expense is small, the interleaving sequence does not need to be subjected to parallel-serial conversion, two paths of codes are controlled by one set of state machine, and the coding result does not need to store the deleted check sequence. The Turbo encoder of the invention is beneficial to the long-term evolution and development of the system.

Description

Quick configurable Turbo encoder and encoding method
Technical Field
The invention relates to a wireless communication system, in particular to a quick configurable Turbo encoder supporting WCDMA, LTE, satellite mobile communication and other systems.
Background
As the coding length increases, Turbo codes can approach the shannon limit indefinitely under Additive White Gaussian Noise (AWGN) channel conditions. Turbo codes are widely used in wireless communication systems because of good bit error performance.
The conventional Turbo encoder is composed of an interleaver and two RSC component encoders, the interleaver can generate an interleaving table of coding length, or the interleaving table with the coding length configured outside carries out parallel-to-serial conversion on coding bits and then carries out interleaving, the coding bits and the interleaving bits respectively pass through the two component encoders, the RSC component encoders output all check sequences, and then coding results are obtained through puncturing processing.
Therefore, in order to conveniently research the Turbo code in each communication system, a fast configurable Turbo encoder needs to be designed, and the encoding structure can be compatible with each communication system. Moreover, the design and selection of each module in the Turbo encoder have great influence on the BER performance of the Turbo code, such as the design of an interleaver, the design of a component encoder, the design of a puncturing matrix and the like, and particularly, the satellite mobile communication system in China is still in an exploration stage, so that it is necessary to design an encoder structure which is fast, flexible and configurable in encoding parameters, simple in structure and easy to implement.
Disclosure of Invention
The invention aims to provide a fast configurable Turbo encoder.
The technical scheme adopted by the invention is as follows:
a fast configurable Turbo encoder comprising the following modules:
an interleaving generation unit for generating an intra-line transform sequence L1 and an inter-line transform sequence L2 according to the length of coded bits, or receiving an externally configured intra-line transform sequence L1 and an inter-line transform sequence L2;
the data reorganization unit is used for calling the coded data in the data storage unit, carrying out bit reorganization on the coded data, reorganizing the coded data into a first reorganization sequence C1 with the bit width of C and the address length of R, and storing the first reorganization sequence C1 in the data storage unit; the interleaving unit is also used for calling the intra-row conversion sequence L1 and the inter-row conversion sequence L2 in the interleaving generation unit to carry out data reorganization on the first reorganization sequence C1, reorganize the data into a second reorganization sequence C2 with the bit width of C and the address length of R, and store the second reorganization sequence C2 in the data storage unit; wherein, C is the length of the intra-row transformation sequence L1, and R is the length of the inter-row transformation sequence L2;
the data storage unit is used for receiving externally input coded data and outputting a coding result; the coding device is also used for storing the coding data, the recombination sequence and the coding result;
a puncturing generation unit for generating a puncturing sequence D1 of the first check sequence according to a puncturing rule, generating a puncturing sequence D2 of the second check sequence, or receiving externally configured puncturing sequences D1 and D2;
and the coding unit is used for calling the first recombination sequence C1 and the second recombination sequence C2 in the data storage unit and simultaneously coding, calling the puncture sequences D1 and D2 in the puncture generation unit respectively to control the generation of the first check sequence and the second check sequence in a one-to-one correspondence mode in the coding process, and storing the coding result in the data storage unit according to a bit arrangement rule.
The intra-row conversion sequence L1 is composed of R groups of sub-sequences with the length of C, the address of the sub-sequence represents the bit sequence in the row before conversion, the data of the sub-sequence represents the bit sequence after the intra-row conversion and is composed of data between 0 and C-1; the address of the interline transformation sequence L2 represents the interline order before transformation, and the data of the interline transformation sequence L2 represents the interline order after the interline transformation, and is composed of data from 0 to R-1; wherein the length C of the sub-sequence of the intra-row transform sequence L1 and the length R of the inter-row transform sequence L2 are set by the coding length and the interleaving rule adopted by the coding.
Wherein, the output memory addresses of the first recombination sequence C1 are in the order of 0 to R-1; the second recombination sequence C2 performs bit sequence adjustment in the corresponding rows according to the intra-row conversion sequence L1 sub-sequence, and outputs the storage addresses in the order of the inter-row conversion sequence L2.
The addresses of the puncturing sequences D1 and D2 respectively represent the puncturing sequence in the first check sequence and the second check sequence in a one-to-one correspondence manner, the data of the puncturing sequences D1 and D2 respectively represent the puncturing positions in the first check sequence and the second check sequence in a one-to-one correspondence manner, and the lengths of the puncturing sequences D1 and D2 are set by the coding length and the puncturing rule.
The encoding unit comprises an RSC encoder, the encoding process of the RSC encoder is controlled by a set of state machines, and the RSC encoding generating polynomial is configured or set outside the encoder.
An encoding method comprising the steps of:
(1) configuring parameters of an interleaving generation unit, a puncturing generation unit and an encoding unit, and storing encoded data into a data storage unit;
(2) starting an interleaving generation unit and a puncturing generation unit, and respectively generating an intra-row transformation sequence L1, an inter-row transformation sequence L2, a puncturing sequence D1 and a puncturing sequence D2;
(3) starting a data reorganization unit, calling the encoded data in the data storage unit and an intra-row transformation sequence L1 and an inter-row transformation sequence L2 in an interleaving generation unit, generating a first reorganization sequence C1 and a second reorganization sequence C2 according to the intra-row transformation sequence L1 and the inter-row transformation sequence L2, and storing the first reorganization sequence C1 and the second reorganization sequence C2 in the data storage unit;
(4) starting an encoding unit, calling a first recombination sequence C1 and a second recombination sequence C2 in a data storage unit, encoding the first recombination sequence C1 and the second recombination sequence C2, calling a puncturing sequence D1 and a puncturing sequence D2 in a puncturing generation unit respectively to control the generation of a first check sequence and a second check sequence in a one-to-one correspondence mode in the encoding process, and obtaining an encoding result and storing the encoding result in the data storage unit;
(5) and the data storage unit outputs the coding result.
In the step (2), the in-line conversion sequence L1 is composed of R groups of sub-sequences with the length of C, the address of the sub-sequence represents the bit sequence in the line before conversion, the data of the sub-sequence represents the bit sequence after the in-line conversion, and the sub-sequence is composed of the data between 0 and C-1; the address of the inter-line transition sequence L2 represents the inter-line sequence before transition, and the data of L2 represents the inter-line sequence after the inter-line transition, and is composed of data from 0 to R-1; wherein the length C of the L1 subsequence and the length R of the L2 subsequence are determined by the coding length and the interleaving rule adopted by the coding.
Wherein, the step (3) is specifically as follows:
starting a data reorganization unit, calling the coded data in the data storage unit, performing bit reorganization on the coded data to reorganize the coded data into a first reorganization sequence C1 with the bit width of C and the address length of R, and storing the first reorganization sequence C1 into the data storage unit according to the sequence from 0 to R-1; calling an intra-row conversion sequence L1 and an inter-row conversion sequence L2 in an interleaving generation unit, firstly, adjusting the bit sequence of a first recombination sequence C1 in a corresponding row according to a sub-sequence of the intra-row conversion sequence L1, recombining the first recombination sequence into a second recombination sequence C2 with the bit width of C and the address length of R, and storing the second recombination sequence C2 in a data storage unit according to the sequence of the inter-row conversion sequence L2; where C is the length of the intra-line transform sequence L1 and R is the length of the inter-line transform sequence L2.
Wherein, the addresses of the puncturing sequences D1 and D2 in step (2) respectively represent the puncturing order in the first check sequence and the second check sequence in a one-to-one correspondence manner, the data of the puncturing sequences D1 and D2 respectively represent the puncturing positions in the first check sequence and the second check sequence in a one-to-one correspondence manner, and the lengths of the puncturing sequences D1 and D2 are determined by the coding length and the puncturing rule.
Wherein, the RSC encoder is adopted for encoding the first recombination sequence C1 and the second recombination sequence C2 in the step (4), and the RSC encoding generating polynomial is externally configured or set by the encoder.
Compared with the background technology, the invention has the following advantages:
1. the invention can realize quick coding, the interleaving process is finished in data recombination, the deletion process is finished in a coding unit, the data processing time and the storage resource are saved, and the FPGA and the ASIC are easy to realize.
2. The invention is flexible and configurable, and the intra-row transformation sequence, the inter-row transformation sequence, the puncturing sequence and the component encoder can be configured from the outside of the encoder;
3. the invention has small resource overhead, the interweaving sequence does not need to carry out parallel-serial conversion, two paths of codes are controlled by a set of state machine, and the coding result does not need to store the deleted check sequence and the like. The design is beneficial to the long-term evolution and development of the system.
Drawings
Fig. 1 is an overall schematic block diagram of the present invention.
Fig. 2 is a detailed diagram of an encoding unit in the present invention.
Detailed Description
The implementation of the present invention is further described below with reference to fig. 1 to 2.
The overall principle diagram of the invention is shown in fig. 1, and comprises the following modules:
an interleaving generation unit for generating an intra-line transform sequence L1 and an inter-line transform sequence L2 according to the length of coded bits, or receiving an externally configured intra-line transform sequence L1 and an inter-line transform sequence L2; the intra-row conversion sequence L1 is composed of R groups of sub-sequences with the length of C, the address of the sub-sequence represents the bit sequence in the row before conversion, the data of the sub-sequence represents the bit sequence after the intra-row conversion and is composed of data between 0 and C-1; the address of the interline transformation sequence L2 represents the interline order before transformation, and the data of the interline transformation sequence L2 represents the interline order after the interline transformation, and is composed of data from 0 to R-1; wherein the length C of the sub-sequence of the intra-row transform sequence L1 and the length R of the inter-row transform sequence L2 are set by the coding length and the interleaving rule adopted by the coding.
The data reorganization unit is used for calling the coded data in the data storage unit, carrying out bit reorganization on the coded data to reorganize the coded data into a first reorganization sequence C1 with the bit width of C and the address length of R, and storing the first reorganization sequence C1 into the data storage unit according to the sequence from 0 to R-1; calling an intra-row conversion sequence L1 and an inter-row conversion sequence L2 in an interleaving generation unit, firstly, adjusting the bit sequence of a first recombination sequence C1 in a corresponding row according to a sub-sequence of the intra-row conversion sequence L1, recombining the first recombination sequence into a second recombination sequence C2 with the bit width of C and the address length of R, and storing the second recombination sequence C2 in a data storage unit according to the sequence of the inter-row conversion sequence L2; where C is the length of the intra-line transform sequence L1 and R is the length of the inter-line transform sequence L2.
The data storage unit is used for receiving externally input coded data, supporting any bit width from 1 bit to 32 bits by the coded input data and outputting a coded result; the coding device is also used for storing the coding data, the recombination sequence and the coding result;
a puncturing generation unit for generating a puncturing sequence D1 of the first check sequence according to a puncturing rule, generating a puncturing sequence D2 of the second check sequence, or receiving externally configured puncturing sequences D1 and D2; the addresses of the puncturing sequences D1 and D2 respectively represent the puncturing sequence in the first check sequence and the second check sequence in a one-to-one correspondence manner, the data of the puncturing sequences D1 and D2 respectively represent the puncturing positions in the first check sequence and the second check sequence in a one-to-one correspondence manner, and the lengths of the puncturing sequences D1 and D2 are set by the coding length and the puncturing rule.
The structure of the encoding unit is shown in fig. 2, the encoding unit comprises an RSC encoder, the encoding process is controlled by a set of state machines, and an RSC encoding generating polynomial of the RSC encoder is configured or set outside the encoder.
The working principle is that a first recombination sequence C1 and a second recombination sequence C2 in a data storage unit are called and encoded simultaneously, in the encoding process, puncturing sequences D1 and D2 in a puncturing generation unit are called respectively to control the generation of a first check sequence and a second check sequence in a one-to-one correspondence mode, and the encoding result is stored in the data storage unit according to a bit arrangement rule.
An encoding method comprising the steps of:
firstly, configuring parameters of an interleaving generation unit, a puncturing generation unit and a coding unit, and inputting coded data into a coded data area in a data storage unit, wherein if the coded length is 100 and the bit width is 8, the occupied address length is 13;
secondly, starting an interleaving generation unit and a puncturing generation unit to correspondingly generate an intra-row transformation sequence L1, an inter-row transformation sequence L2, a puncturing sequence D1 and a puncturing sequence D2 respectively;
the intra-row transform sequence L1 and the inter-row transform sequence L2 are generated as required, and the generation of the two sequences is determined by the interleaving rule, which is not described in detail herein. For example, in WCDMA system, the interleaver uses prime number interleaving algorithm, and needs to configure the interleaving length, i.e. the code bit length. Assuming that the length is 100, the inter-line transform sequence L2 generated according to the interleaving rule has a length of 5, L2 is [4,3,2,1,0], the intra-line transform sequence L1 is composed of 5 sub-sequences having a length of 20, and L1[0] is [1,10,5,12,6,3,11,15,17,18,9,14,7,13,16,8,4,2,0,19 ]; l1[1] ═ 1,3,9,8,5,15,7,2,6,18,16,10,11,14,4,12,17,13,0, 19; l1[2] ═ 1,15,16,12,9,2,11,13,5,18,4,3,7,10,17,8,6,14,0, 19; l1[3] ═ 1,14,6,8,17,10,7,3,4,18,5,13,11,2,9,12,16,15,0, 19; l1[4] ═ 19,2,4,8,16,13,7,14,9,18,17,15,11,3,6,12,5,10,0, 1; namely, R is 5 and C is 20. L1 and L2 may also be configured directly from outside the encoder.
And generating puncturing sequences D1 and D2 according to the puncturing rule. For example, when the encoding bit length is 100, 90 bits remain after puncturing in the check sequence 1,91 bits remain after puncturing in the check sequence 2, and the puncturing sequence D1 generated according to the puncturing rule is [9,19,29,39,49,59,69,79,89,99], and D2 is [11,21,31,41,51,61,71,81,91 ]. D1 and D2 may also be configured directly from outside the encoder.
Thirdly, starting a data reorganization unit, calling the coded data in the data storage unit, performing bit reorganization on the coded data to reorganize the coded data into a first reorganization sequence C1 with the bit width of C and the address length of R, and storing the first reorganization sequence C1 in the data storage unit according to the sequence from 0 to R-1; calling an intra-row conversion sequence L1 and an inter-row conversion sequence L2 in an interleaving generation unit, firstly, adjusting the bit sequence of a first recombination sequence C1 in a corresponding row according to a sub-sequence of the intra-row conversion sequence L1, recombining the first recombination sequence into a second recombination sequence C2 with the bit width of C and the address length of R, and storing the second recombination sequence C2 in a data storage unit according to the sequence of the inter-row conversion sequence L2; where C is the length of the intra-line transform sequence L1 and R is the length of the inter-line transform sequence L2.
Carrying out data reorganization on the coded bits according to the R and C values, reading the coded bits into a data reorganization unit sequentially, wherein the coded bits are 100 in length, 8 in width, 13 in length, reorganized into a data array C1 with 20 in width and 5 in length according to the bit sequence, and outputting and storing C1 in the sequence of [0,1,2,3,4 ]; meanwhile, bit sequence conversion is carried out on bits of each line of C1 according to a corresponding subsequence of the intra-line conversion sequence L1, and a result after conversion is output and stored according to the sequence of the inter-line conversion sequence L2. For example, C1[0] ═ 11111111110000000000], performs intra-row conversion in the order of L1[0], and stores the address output in the order of L2[0], i.e., C2[4] ═ 10101100001010011110], and so on. The reorganized data is stored in a reorganizing data area in the data storage unit.
Fourthly, starting a coding unit, calling a first recombination sequence C1 and a second recombination sequence C2 in the data storage unit, coding the first recombination sequence C1 and the second recombination sequence C2, calling a puncturing sequence D1 and a puncturing sequence D2 in the puncturing generation unit respectively to control the generation of the first check sequence and the second check sequence in a one-to-one correspondence mode in the coding process, and obtaining a coding result and storing the coding result in the data storage unit;
RSC encoding is carried out in an encoding unit, and the RSC component encoder is configurable, namely 8-state sub-code generator polynomial is flexible and configurable. For example, in a WCDMA system, the coding matrix function of a component coding 8-state sub-coder is
Figure GDA0002442543640000091
Wherein, g0(D)=1+D2+D3Is a feedback polynomial.
g1(D)=1+D+D3Is a feed forward polynomial.
Referring to FIG. 2, [ g0, g1, g2, g 3] may be configured]Is [1,1,0, 1]]Implementing a feedforward polynomial g1(D)=1+D+D3(ii) a Configuration [ g4, g5, g6, g7 ]]Is [1,0, 1]]Implementing a feedback polynomial g0(D)=1+D2+D3
The reconstruction data C1 and C2, for example C1[0], are read in sequentially during the encoding process]And C2[ 0]]And simultaneously entering an encoding unit, carrying out bit shift addition under the control of the same state machine, and determining whether check bits are output or not by combining the puncturing sequences D1 and D2 when the check sequence is generated. The bit output sequence of the encoder is configurable, supporting two bit output sequences S1And S2. Suppose an information sequence bit is represented as x1,x2,x3,…,xk]Check sequence 1 bit is represented as [ z ]1,z2,z3,…,zk]Check sequence 2 bits are represented as [ z'1,z′2,z′3,…,z′k]. For example, in a WCDMA system, the bit output order needs to be configured as S1[x1,z1,z′1,x2,z2,z′2,…,xk,zk,z′k]. In China satellite mobile communication system, the bit output sequence needs to be configured as S2[x1,x2,…,xk,z1,z2,…,zk,z′1,z′2,…,z′k]。
And fifthly, outputting the coding result by the data storage unit.
Compared with the conventional Turbo encoder, the method has great advantages in encoding speed and flexibility, and is beneficial to long-term evolution of a communication system.

Claims (10)

1. A fast configurable Turbo encoder comprising:
an interleaving generation unit for generating an intra-line transform sequence L1 and an inter-line transform sequence L2 according to the length of coded bits, or receiving an externally configured intra-line transform sequence L1 and an inter-line transform sequence L2;
the data reorganization unit is used for calling the coded data in the data storage unit, carrying out bit reorganization on the coded data, reorganizing the coded data into a first reorganization sequence C1 with the bit width of C and the address length of R, and storing the first reorganization sequence C1 in the data storage unit; the interleaving unit is also used for calling the intra-row conversion sequence L1 and the inter-row conversion sequence L2 in the interleaving generation unit to carry out data reorganization on the first reorganization sequence C1, reorganize the data into a second reorganization sequence C2 with the bit width of C and the address length of R, and store the second reorganization sequence C2 in the data storage unit; wherein, C is the length of the intra-row transformation sequence L1, and R is the length of the inter-row transformation sequence L2;
it is characterized by also comprising:
the data storage unit is used for receiving externally input coded data and outputting a coding result; the coding device is also used for storing the coding data, the recombination sequence and the coding result;
a puncturing generation unit for generating a puncturing sequence D1 of the first check sequence and a puncturing sequence D2 of the second check sequence according to a puncturing rule, or receiving an externally configured puncturing sequence D1 and a puncturing sequence D2;
and the coding unit is used for calling the first recombination sequence C1 and the second recombination sequence C2 in the data storage unit and simultaneously coding, calling the puncture sequences D1 and D2 in the puncture generation unit respectively to control the generation of the first check sequence and the second check sequence in a one-to-one correspondence mode in the coding process, and storing the coding result in the data storage unit according to a bit arrangement rule.
2. The Turbo encoder of claim 1, wherein the intra-row transform sequence L1 is formed by R groups of sub-sequences of length C, the address of the sub-sequence representing the bit sequence in the row before transform, the data of the sub-sequence representing the bit sequence after intra-row transform, and the sub-sequence being formed by data between 0 and C-1; the address of the interline transformation sequence L2 represents the interline order before transformation, and the data of the interline transformation sequence L2 represents the interline order after the interline transformation, and is composed of data from 0 to R-1; wherein the length C of the sub-sequence of the intra-row transform sequence L1 and the length R of the inter-row transform sequence L2 are set by the coding length and the interleaving rule adopted by the coding.
3. The fast configurable Turbo encoder according to claim 2, wherein the output memory addresses of the first reassembly sequence C1 are in the order of 0 to R-1; the second recombination sequence C2 performs bit sequence adjustment in the corresponding rows according to the intra-row conversion sequence L1 sub-sequence, and outputs the storage addresses in the order of the inter-row conversion sequence L2.
4. The Turbo encoder of claim 1, wherein the addresses of the puncturing sequences D1 and D2 respectively represent the puncturing sequence in the first check sequence and the second check sequence in a one-to-one correspondence manner, the data of the puncturing sequences D1 and D2 respectively represent the puncturing positions in the first check sequence and the second check sequence in a one-to-one correspondence manner, and the lengths of the puncturing sequences D1 and D2 are set by the coding length and the puncturing rule.
5. The Turbo encoder of claim 1, wherein the encoding unit comprises an RSC encoder, the encoding process of the RSC encoder is controlled by a set of state machines, and the RSC encoding generator polynomial is externally configured or set by the encoder.
6. A method of encoding, comprising the steps of:
(1) configuring parameters of an interleaving generation unit, a puncturing generation unit and an encoding unit, and storing encoded data into a data storage unit;
(2) starting an interleaving generation unit and a puncturing generation unit, and respectively generating an intra-row transformation sequence L1, an inter-row transformation sequence L2, a puncturing sequence D1 and a puncturing sequence D2;
(3) starting a data reorganization unit, calling the encoded data in the data storage unit and an intra-row transformation sequence L1 and an inter-row transformation sequence L2 in an interleaving generation unit, generating a first reorganization sequence C1 and a second reorganization sequence C2 according to the intra-row transformation sequence L1 and the inter-row transformation sequence L2, and storing the first reorganization sequence C1 and the second reorganization sequence C2 in the data storage unit;
(4) starting an encoding unit, calling a first recombination sequence C1 and a second recombination sequence C2 in a data storage unit, encoding the first recombination sequence C1 and the second recombination sequence C2, calling a puncturing sequence D1 and a puncturing sequence D2 in a puncturing generation unit respectively to control the generation of a first check sequence and a second check sequence in a one-to-one correspondence mode in the encoding process, and obtaining an encoding result and storing the encoding result in the data storage unit;
(5) and the data storage unit outputs the coding result.
7. An encoding method according to claim 6, wherein in step (2), the in-line transition sequence L1 is composed of R group C length sub-sequences, the address of the sub-sequence represents the in-line bit sequence before transition, the data of the sub-sequence represents the bit sequence after transition in the line, and is composed of data between 0 and C-1; the address of the inter-line transition sequence L2 represents the inter-line sequence before transition, and the data of L2 represents the inter-line sequence after the inter-line transition, and is composed of data from 0 to R-1; wherein the length C of the L1 subsequence and the length R of the L2 subsequence are determined by the coding length and the interleaving rule adopted by the coding.
8. The encoding method according to claim 7, wherein the step (3) specifically comprises:
starting a data reorganization unit, calling the coded data in the data storage unit, performing bit reorganization on the coded data to reorganize the coded data into a first reorganization sequence C1 with the bit width of C and the address length of R, and storing the first reorganization sequence C1 into the data storage unit according to the sequence from 0 to R-1; calling an intra-row conversion sequence L1 and an inter-row conversion sequence L2 in an interleaving generation unit, firstly, adjusting the bit sequence of a first recombination sequence C1 in a corresponding row according to a sub-sequence of the intra-row conversion sequence L1, recombining the first recombination sequence into a second recombination sequence C2 with the bit width of C and the address length of R, and storing the second recombination sequence C2 in a data storage unit according to the sequence of the inter-row conversion sequence L2; where C is the length of the intra-line transform sequence L1 and R is the length of the inter-line transform sequence L2.
9. The encoding method as claimed in claim 6, wherein the addresses of the puncturing sequences D1 and D2 in step (2) represent the puncturing order in the first check sequence and the second check sequence, respectively, in a one-to-one correspondence, the data of the puncturing sequences D1 and D2 represent the puncturing positions in the first check sequence and the second check sequence, respectively, in a one-to-one correspondence, and the lengths of the puncturing sequences D1 and D2 are determined by the encoding length and the puncturing rule.
10. The encoding method according to claim 6, wherein the first recombined sequence C1 and the second recombined sequence C2 are encoded by the RSC encoder in step (4), the encoding process of the RSC encoder is controlled by a set of state machines, and the RSC encoding generator polynomial is externally configured or set by the encoder.
CN201710426548.6A 2017-06-08 2017-06-08 Quick configurable Turbo encoder and encoding method Active CN107332572B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710426548.6A CN107332572B (en) 2017-06-08 2017-06-08 Quick configurable Turbo encoder and encoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710426548.6A CN107332572B (en) 2017-06-08 2017-06-08 Quick configurable Turbo encoder and encoding method

Publications (2)

Publication Number Publication Date
CN107332572A CN107332572A (en) 2017-11-07
CN107332572B true CN107332572B (en) 2020-06-30

Family

ID=60194915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710426548.6A Active CN107332572B (en) 2017-06-08 2017-06-08 Quick configurable Turbo encoder and encoding method

Country Status (1)

Country Link
CN (1) CN107332572B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0986181A2 (en) * 1998-09-10 2000-03-15 Nds Limited Method and apparatus for generating punctured pragmatic turbo codes
CN1381095A (en) * 1998-12-10 2002-11-20 诺泰网络有限公司 Efficient implementation of proposed TURBO code interleavers for third generation code division multiple access
CN101083512A (en) * 2006-06-02 2007-12-05 中兴通讯股份有限公司 Dual-binary system tailbaiting Turbo code coding method and apparatus
CN102868478A (en) * 2011-07-07 2013-01-09 中国科学院研究生院 Method for designing Turbo code puncturing device for joint channel safety codes
CN106452672A (en) * 2016-09-28 2017-02-22 郑州大学西亚斯国际学院 Puncturing scheme designing method for Turbo codes of strong unequal error protection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0986181A2 (en) * 1998-09-10 2000-03-15 Nds Limited Method and apparatus for generating punctured pragmatic turbo codes
CN1381095A (en) * 1998-12-10 2002-11-20 诺泰网络有限公司 Efficient implementation of proposed TURBO code interleavers for third generation code division multiple access
CN101083512A (en) * 2006-06-02 2007-12-05 中兴通讯股份有限公司 Dual-binary system tailbaiting Turbo code coding method and apparatus
CN102868478A (en) * 2011-07-07 2013-01-09 中国科学院研究生院 Method for designing Turbo code puncturing device for joint channel safety codes
CN106452672A (en) * 2016-09-28 2017-02-22 郑州大学西亚斯国际学院 Puncturing scheme designing method for Turbo codes of strong unequal error protection

Also Published As

Publication number Publication date
CN107332572A (en) 2017-11-07

Similar Documents

Publication Publication Date Title
US6323788B1 (en) Interleaving apparatus and method for use in serial concatenated convolutional code encoder in a mobile communication system
US6678843B2 (en) Method and apparatus for interleaving, deinterleaving and combined interleaving-deinterleaving
US6298463B1 (en) Parallel concatenated convolutional coding
US6603412B2 (en) Interleaved coder and method
JP3746426B2 (en) Turbo decoder
EP2621091B1 (en) Turbo code parallel interleaving with quadratic permutation polynomial (qpp) functions
JP4298175B2 (en) Inline sorting for turbo codes
JP2007528169A (en) Address generator for interleaver memory and deinterleaver memory
KR101435830B1 (en) Method of performing interleaving
US8024636B2 (en) Serially concatenated convolutional code decoder with a constrained permutation table
KR101269901B1 (en) Data derate matcher capable of providing harq and method thereof
Popovski et al. Design of flexible-length s-random interleaver for turbo codes
CN107332572B (en) Quick configurable Turbo encoder and encoding method
US7210075B2 (en) Prunable S-random block interleaver method and corresponding interleaver
JP3837023B2 (en) Hybrid interleaver for turbo codes
KR20060121312A (en) Convolutional turbo code interleaver
He et al. Joint permutor analysis and design for multiple turbo codes
US20020172292A1 (en) Error floor turbo codes
CN104184483A (en) Turbo code encoder with configurable parameters
CN102932002A (en) Field programmable gate array (FPGA) design method of truncated high-speed transmit power control (TPC) decoder
CN107733570A (en) The searching method of constellation mapping method and mapping mode based on Algebraic interleaver
EP1267511B1 (en) A method and apparatus for interleaving, deinterleaving
CN110034846A (en) A kind of coding method and device
KR101049947B1 (en) Convolutional Turbo Code Coding Device and Coding Method Using Convolutional Turbo Code
Iftene et al. Design of a Modified Interleaving Algorithm Based on Golden Section Theory Enhancing the Performance of Turbo Codes

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant