WO2011009344A1 - Turbo encoding method and turbo encoding system based on long term evolution (lte) - Google Patents

Turbo encoding method and turbo encoding system based on long term evolution (lte) Download PDF

Info

Publication number
WO2011009344A1
WO2011009344A1 PCT/CN2010/073636 CN2010073636W WO2011009344A1 WO 2011009344 A1 WO2011009344 A1 WO 2011009344A1 CN 2010073636 W CN2010073636 W CN 2010073636W WO 2011009344 A1 WO2011009344 A1 WO 2011009344A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
unit
rsc
main control
address
Prior art date
Application number
PCT/CN2010/073636
Other languages
French (fr)
Chinese (zh)
Inventor
刘合武
Original Assignee
中兴通讯股份有限公司
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
Priority claimed from CN200910109046.6A external-priority patent/CN101964692B/en
Priority claimed from CN2010201145471U external-priority patent/CN201789496U/en
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2011009344A1 publication Critical patent/WO2011009344A1/en

Links

Classifications

    • 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/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • 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/2739Permutation polynomial interleaver, e.g. quadratic permutation polynomial [QPP] interleaver and quadratic congruence interleaver
    • 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/65253GPP LTE including E-UTRA

Definitions

  • the present invention relates to the field of communications, and in particular, to a TURBO coding method and system based on Long Term Evolution (LTE). Background technique
  • the 3rd Generation Partnership Project (3GPP) is a leading 3G technical specification organization that aims to develop and promote the 3G standard for the evolution-based core network of the Global System for Mobile Communications (GSM) system. .
  • LTE Long Term Evolution
  • the 3GPP LTE standard is a technological revolution in the communications industry. It provides good services for real-time services, high-reliability services and broadcasting services. Support, which can achieve low latency, full packet and high data rate targets. There is no doubt that LTE will become the most mainstream next-generation broadband mobile communication technology.
  • the TURBO code has superior error and block error performance, and has been adopted by many communication standardization organizations and written into the relevant communication standards issued by it, no exception, 3GPP protocol (3GPP LTE TS 36.2132V8.5.0) The encoding method of TURBO code is adopted.
  • the TURBO encoder includes two 8-state member encoders and an inner interleaver.
  • the LTE-based TURBO encoder's internal interleaver uses a special interleaving method different from other standards.
  • the input/output relationship of the interleaver is:
  • ⁇ . Is the input data of the 1!11 80-coded interleaver, c cateringc[,..., c K _ x is the output data of the inner interleaver, 40 ⁇ 6144 , the value of the parameter / ⁇ port is based on the K value Variety.
  • the existing TURBO encoder designs are mostly based on communication systems such as Wideband Code Division Multiple Access (WCDMA), and the internal interleaving method is different from the interleaving method based on LTE-based TURBO coding.
  • WCDMA Wideband Code Division Multiple Access
  • the interleaver in the scheme is a memory in which an interleave address has been stored, that is, the scheme directly obtains the storage of the interleaved sequence by checking the interleaving table. Interleave address.
  • this scheme is applied to LTE-based TURBO coding, since LTE-based TURBO coding has relatively complicated internal interleaving, huge hardware internal storage overhead is required, so the cost is high and the data processing speed is slow. Summary of the invention
  • the technical problem to be solved by the present invention is that the LTE-based TURBO coding method is costly and slow, and proposes a LTE-based TURBO coding method and system with low cost and strong data processing.
  • the present invention provides an LTE-based TURBO coding method, which sets a main control unit, an inner interleaving unit, a storage unit, and a recursive system convolutional code (RSC) coding unit, and the method further includes:
  • the main control unit triggers the storage unit to receive and store sequential data
  • the main control unit triggers the inner interleaving unit to calculate the interleaving address, generates an sequential increasing address, and simultaneously inputs the interleaved address and the sequential incremental address into the storage unit;
  • the RSC encoding unit reads the interleaved data and the sequential data from the storage unit according to the interleaving address and the sequential incremental address, and then performs RSC encoding on the interleaved data and the sequential data.
  • the main control unit triggers the storage unit to receive and store the sequence data, and specifically includes:
  • the main control unit receives the data block size K value, and starts receiving the sequence data; the main control unit triggers the storage unit to receive and store the sequence data, and simultaneously counts the received data by the counter; The main control unit generates the storage unit reception completion signal when the check counter is equal to K.
  • the method further includes:
  • the main control unit determines whether the K value is valid. When the judgment is invalid, the received sequence data is discarded, and the main control unit restarts receiving the sequence data.
  • the main control unit determines whether the K value is valid, specifically: checking whether the data block size K value received by the main control unit is a specific value specified by the 3GPP LTE protocol.
  • the main control unit triggers the inner interleaving unit to calculate an interleave address, which specifically includes:
  • the main control unit transmits a K value to the inner interleaving unit, and the inner interleaving unit calculates and stores an initial value of the interleaving address;
  • the inner interleaving unit recursively calculates all interleaving addresses according to the K value, the initial value of the interleaving address, and the interleaver input and output relation in the 3GPP LTE protocol.
  • the RSC encoding unit performs RSC encoding on the interleaved data and the sequential data after the interleaving data and the sequential data are read from the storage unit according to the interleaving address and the sequential incremental address, and specifically includes:
  • the RSC encoding unit reads the interleaved data and the sequential data from the storage unit according to the interleaved address and the sequential incremental address;
  • the RSC encoding unit respectively performs RSC encoding on the interleaved data and the sequential data, and the main control unit counts the received interleaved data and the sequential data through a counter;
  • the main control unit checks whether the counter is equal to K, and if so, the main control unit generates a data read completion signal, and if not, the RSC encoding unit continues to read the interleaved data and the sequential data from the storage unit. Until the main control unit checks that the counter is equal to K.
  • the storage unit includes two random access memories (RAMs), and the storage The unit performs data reception operation through any one of the RAMs while reading data operations through another RAM.
  • RAMs random access memories
  • the present invention also provides an LTE-based TURBO coding system, where the system includes: a main control unit, an internal interleaving unit, a storage unit, and an RSC encoding unit;
  • the main control unit is configured to control the storage unit to receive and store sequence data, control the interleaving unit to calculate an interleave address, and control the RSC encoding unit to read interleave data and sequence data from the storage unit;
  • the inner interleaving unit is connected to the main control unit and the storage unit, and is used to calculate an interleaving address of the data;
  • the storage unit is connected to the main control unit, the inner interleaving unit and the RSC encoding unit, and configured to receive and store sequential data, output interleaved data and sequential data according to the interleaving address and the sequential incremental address;
  • the RSC coding unit is connected to the main control unit and the storage unit, and is configured to perform RSC coding on the interleaved data and the sequential data.
  • the main control unit further includes:
  • the K value valid judgment subunit is configured to determine whether the data block size K value is a specific value specified by the 3GPP LTE protocol;
  • a write control operation subunit for performing an operation of receiving data on the storage unit; and a read control operation subunit for performing an operation of reading data on the storage unit.
  • the inner interleaving unit further includes:
  • An initial value storage subunit configured to store an initial value required by the inner interleaving unit to calculate an interleave address
  • a recursive calculation subunit configured to recalculate all interleaved addresses according to a data block size K value and an initial value in the initial value storage subunit.
  • the storage unit further includes a first RAM subunit and a second RAM subunit,
  • the first RAM sub-unit and the second RAM sub-unit are configured to perform a ping-pong operation, and receive and store the sequential data, and output the interleaved data and the sequential data according to the interleaved address and the sequential incremental address.
  • the RSC encoding unit further includes:
  • a first RSC coding subunit configured to perform RSC coding on the received sequence data
  • a second RSC coding subunit configured to perform RSC coding on the received interleaved data
  • the RSC coding control subunit is configured to connect the first RSC coding subunit and the second RSC coding subunit, and is configured to perform output control on the RSC encoded data of the first RSC coding subunit and the second RSC coding subunit.
  • the main control unit is further configured to send N sequential incremental addresses to the storage unit at each clock;
  • the inner interleaving unit is further configured to output N interleaving addresses in parallel to the storage unit at each clock;
  • the system includes at least N of the storage units, under the control of the main control unit, N storage units simultaneously perform a write operation, and each storage unit writes 1 bit of data at each clock; the storage unit Reading the locally saved data in parallel according to the received N sequential increment addresses and the N interleave addresses, and outputting the data to the RSC encoding unit correspondingly;
  • the RSC encoder is further configured to perform RSC encoding on the N-bit uninterleaved data received at each clock, and perform RSC encoding on the N-bit interleaved data received at each clock; At the same time, an N-bit system code, an N-bit first check code, and an N-bit second check code are output.
  • the system further includes another N storage units, and the other N storage units perform ping-pong operations with the N storage units, and simultaneously read and write data in the storage unit.
  • the initial value stored in the initial value storage unit is: moc J + , mod(2/ 2 , , moddSf ⁇ 64 f 2 ), K) , mod(16/ 2 , and ⁇ (1(128/ 2 , ); where ⁇ is the code Block size, 40 ⁇ ⁇ 61 4 , the value of the parameter / ⁇ port varies according to the ⁇ value;
  • the recursive calculation subunit is further used to: use a formula:
  • ⁇ ' + 1) ⁇ (( ⁇ ( + modCCmodC ⁇ + f 2 , K) + mod(2i 2 , ), ), successively calculate the value of the interleaved address ⁇ (1) ⁇ (7) by recursion;
  • the storage unit of the present invention is further provided with two RAMs for ping-pong operation.
  • the data is received and read at the same time, so that it has strong data processing capability and improves the processing capability of the LTE data link.
  • the present invention is based on the 3GPP LTE protocol Turbo encoder parallel design scheme, which internally adopts the ping-pong operation and the parallel coding processing manner, which greatly shortens the processing time of the Turbo coding, improves the efficiency of the Turbo coding, and thus reduces the LTE.
  • the processing delay of the link downlink improves the processing capability of the LTE data link.
  • the system of the present invention has a clear structure and can be implemented by using a general low-cost circuit device to realize high-efficiency Turbo coding operation at low cost.
  • FIG. 1 is a schematic diagram of an LTE-based TURBO encoding system according to the present invention.
  • FIG. 2 is a schematic flow chart of a TURBO encoding method based on LTE according to the present invention
  • 3a is a schematic flowchart of receiving sequence data in a preferred embodiment of the LTE-based TURBO encoding method according to the present invention
  • FIG. 3b is a schematic flowchart of sending encoded data in a preferred embodiment of the LTE-based TURBO encoding method according to the present invention
  • FIG. 5 is a schematic diagram of an interleaving address recursive generation in an inner interleaving module according to an embodiment of the present invention
  • FIG. 6 is a schematic structural diagram of an initial value storage subunit according to an embodiment of the present invention
  • FIG. 7 is a block diagram of a single bit convolutional code encoding implementation in an LTE Turbo coding system according to an embodiment of the present invention. detailed description
  • the core idea of the present invention is: the storage unit receives and stores the sequential data, and the inner interleaved unit counts the output unit to simultaneously output the interleaved data and the sequential data according to the interleaved address and the sequential incremental address, and sends the same to the recursive system convolutional code (RSC, Recursive Systematic Convolution code)
  • the coding unit performs RSC coding.
  • the sequence data refers to the uninterleaved original data sent by the external coding system
  • the interleaved data refers to the interleaved data
  • the sequential incremental address refers to the address corresponding to the sequential data received by the storage unit
  • the interleaved address refers to the inner interleaved unit.
  • the calculated 11() The value of 2 , will be explained here by the following embodiments.
  • the present invention further provides an LTE-based TURBO coding system 100, which is applied to a TURBO encoder.
  • the system 100 includes a main control unit 102, an inner interleaving unit 104, a storage unit 106, and an RSC encoding unit 108.
  • the main control unit 102 is configured to control the storage unit 106 to receive and store the sequential data, control the inner interleaving unit 104 to calculate the interleaving address, and the RSC encoding unit 108 reads the interleaved data and the sequential data from the storage unit 106;
  • the internal interleaving unit 104 is connected to the main control unit 102 and the storage unit 106 for calculating a data interleaving address.
  • the storage unit 106 is connected to the main control unit 102, the inner interleaving unit 104, and the RSC encoding unit 108 for receiving and storing the interleaving.
  • the data and sequence data; the RSC encoding unit 108 is connected to the main control unit 102 and the storage unit 106 for RSC encoding the interleaved data and the sequential data.
  • the main control unit 102 further includes: a K value valid judgment subunit 102a, a write control operation subunit 102b, and a read control operation subunit 102c.
  • the K value valid judgment subunit 102a is configured to determine whether the data block size K value is a specific value specified by the 3GPP LTE protocol; the write control operation subunit 102b is configured to perform an operation of receiving data on the storage unit 106; The subunit 102c is configured to perform an operation of reading data from the storage unit 106.
  • the inner interleaving unit 104 further includes: an initial value storage subunit 104a and a recursive calculation subunit 104b.
  • the initial value storage subunit 104a is configured to store an initial value required for the inner interleaving unit 104 to calculate an interleave address;
  • the recursive calculation subunit 104b is configured to initialize the subunit 104a according to the data block size and the initial value. The value is recursively calculated for all interleaved addresses.
  • the storage unit 106 further includes a first random access memory (RAM) subunit 106a and a second RAM subunit 106b.
  • the first RAM sub-unit 106a and the second RAM sub-unit 106b are configured to perform ping-pong operations, and receive and store sequential data, and output interleaved data and sequential data according to the interleaved address and the sequential incremental address.
  • the RSC encoding unit 108 further includes: a first RSC encoding subunit 108a, a second RSC encoding subunit 108b, and an RSC encoding control subunit 108c.
  • the first RSC encoding sub-unit 108a is configured to perform RSC encoding on the received sequence data
  • the second RSC encoding sub-unit 108b is configured to perform RSC encoding on the received interleaved data
  • the RSC encoding control sub-unit 108c is connected to the first RSC.
  • the coding sub-unit 108a and the second RSC coding sub-unit 108b are configured to implement data output control after processing by the first RSC coding sub-unit 108a and the second RSC coding sub-unit 108b.
  • FIG. 2 is a schematic flowchart of a TURBO encoding method based on LTE according to the present invention, which includes the following steps:
  • Step 201 The main control unit triggers the storage unit to receive and store the sequence data.
  • the main control unit actively triggers the storage unit to receive and store the sequential data.
  • Step 202 After the main control unit triggers the inner interleaving unit to calculate the interleave address, the main control unit generates a sequential increment address, and simultaneously inputs the interleave address and the sequential increment address into the storage unit. After the storage unit stores the sequence data, the main control unit triggers the inner interleaving unit to calculate the interleave address according to the output and the input relationship.
  • the input and output relationship of the interleaver is:
  • ⁇ ( ) modC ⁇ xi + f 2 xi 2 , K)
  • the value of the parameter / ⁇ port varies according to the value of K.
  • Step 203 The storage unit outputs the interleaved data and the sequential data according to the interleaving address and the sequential incremental address, and sends the interleaved data and the sequential data to the RSC encoding unit for RSC encoding.
  • the RSC coding unit receives the interleaved data and the sequence data and RSC-encodes it under the direction of the main control unit, thereby completing the LTE-based TURBO coding.
  • FIG. 3a is a schematic flowchart of receiving sequence data in a preferred embodiment of the LTE-based TURBO coding method according to the present invention.
  • the storage unit includes two identical RAMs for buffering, and both of the RAMs can be used to receive or read data, so that the storage unit can receive data operations through a RAM during TURBO encoding.
  • the data read operation is performed through another RAM, that is, the ping-pong operation is performed through two RAMs to realize simultaneous reception and reading of data.
  • Step 301 The main control unit receives the data block size K value from the outside and starts receiving the sequential data. This step further includes the external upstream unit detecting that the primary control unit is in an idle state, transmitting the first data indication signal thereto and simultaneously transmitting the data block size K value and the first sequential data.
  • Step 302 The main control unit checks whether the first RAM in the storage unit is in an idle state. If yes, step 306 is performed; otherwise, step 303 is performed. Step 303: The main control unit checks whether the second RAM in the storage unit is in an idle state, and if yes, performs step 304; if not, returns to step 302.
  • Step 304 The main control unit triggers the second RAM of the storage unit to receive and store the sequential data, and simultaneously counts the sequential data size received by the second RAM by the counter.
  • Step 305 The main control unit checks whether the counter is equal to K. If yes, the main control unit generates a second RAM reception completion signal; if not, step 304 is performed.
  • Step 306 The main control unit triggers the first RAM of the storage unit to receive and store the sequential data, and simultaneously counts the sequential data size received by the first RAM by the counter.
  • Step 307 The main control unit checks whether the counter is equal to K. If yes, the main control unit generates a first RAM reception completion signal; if not, step 306 is performed.
  • the method further includes: the main control unit first determining whether the K value is valid, and if not, discarding the received data, and jumping back to step 302 to restart receiving data without performing steps. 305 or step 307; If the K value is valid, step 305 or step 307 is performed.
  • the K value in the input/output relationship of the interleaver is a specific value between 40 and 6144, so the method of determining whether the K value is valid is to check whether the data block size K value received by the main control unit is The specific value specified by the 3GPP LTE protocol, if not, indicates that the data received this time is invalid, and the storage unit needs to receive the data again.
  • FIG. 3b is a schematic flowchart of sending encoded data in a preferred embodiment of the LTE-based TURBO encoding method according to the present invention.
  • Step 311 The main control unit checks whether the received signal of the first RAM is valid. If it is invalid, step 312 is performed; if it is valid, step 316 is performed.
  • Step 312 The main control unit checks whether the reception completion signal of the second RAM is valid, if not If yes, go to step 311; if it is valid, go to step 313.
  • Step 313 The main control unit triggers the interleave unit to calculate the interleave address, and the main control unit generates a sequential increment address by reading the enable signal, and the interleave address and the sequential increment address are simultaneously input into the second RAM of the storage unit.
  • the main control unit transmits the K value to the inner interleaving unit, and the inner interleaving unit first calculates and stores the initial value of the interleaving address according to the input and output relationship of the 3GPP LTE protocol interleaver and transmits it to the storage unit, and then according to the 3GPP LTE protocol.
  • the middle interleaver input and output relations recursively calculate all interleaved addresses.
  • the interleaving unit and the storage unit only need to store the initial value used for calculating the interleaving address, and the calculated interleaving address is continuously covered, and does not need to be saved all the time, thus avoiding the need for a large amount of memory to store all the interleaving. address.
  • Step 314 The RSC encoding unit reads the interleaved data and the sequential data from the second RAM of the storage unit according to the interleave address and the sequential increment address, and performs RSC encoding on the same, and the main control unit receives the interleaved data and the sequential data through the counter. Count.
  • Step 315 The main control unit checks whether the counter is equal to K. If yes, the main control unit generates a second RAM read completion signal; if not, step 314 is performed.
  • Step 316 The main control unit triggers the interleave unit to calculate the interleave address, and the main control unit generates a sequential increment address by reading the enable signal, and the interleave address and the sequential increment address are simultaneously input into the first RAM of the storage unit.
  • Step 317 The RSC encoding unit reads the interleaved data and the sequential data from the first RAM of the storage unit according to the interleave address and the sequential increment address, and performs RSC encoding on the same, and the main control unit reads the interleaved data and sequence through the counter pair. The data is counted.
  • Step 318 The main control unit checks whether the counter is equal to K. If yes, the main control unit generates a first RAM read completion signal; if not, step 317 is performed.
  • the delay of Turbo coding processing for one code block is relatively large, so that inevitably, a large delay is caused to the entire downlink processing, and a large delay is generated. At the same time, it will further cause the processing performance of the baseband to be low.
  • the present invention implements multi-bit parallel processing on the basis of the system structure shown in FIG.
  • the main control unit 102 of FIG. 1 is connected to an inner interleaving unit 104, a storage unit 106 and an RSC encoding unit 108, respectively, which control the above-mentioned respective parts, which generate sequential incremental addresses and transmit N sequential incremental addresses at each clock.
  • an inner interleaving unit 104 a storage unit 106 and an RSC encoding unit 108, respectively, which control the above-mentioned respective parts, which generate sequential incremental addresses and transmit N sequential incremental addresses at each clock.
  • RSC encoding unit 108 respectively, which control the above-mentioned respective parts, which generate sequential incremental addresses and transmit N sequential incremental addresses at each clock.
  • the inner interleaving unit 104 is connected to the storage unit 106 and the main control unit 102, which calculates the interlace address, and outputs N interleaving addresses in parallel to the storage unit 106 at each clock while the main control unit 102 transmits the sequential incrementing address;
  • the storage unit 106 is connected to the main control unit 102 and the internal interleaving unit 104, and has at least N storage units therein. Under the control of the main control unit 102, N storage units simultaneously perform a write operation, and each storage unit is at each clock. Writing 1-bit data; reading and locally outputting the locally saved data in parallel according to the received N sequential increment addresses and N interleave addresses generated by the main control unit 102 to the first RSC encoding unit in the RSC encoding unit 108 Unit 108a and second RSC encoding subunit 108b;
  • the RSC encoding unit 108 is connected to the storage unit 106 and the main control unit 102, and includes a first RSC encoding subunit 108a, a second RSC encoding subunit 108b, and an RSC encoding control subunit 108c, the first RSC encoding subunit 108a pair
  • the N-bit uninterleaved data received by the clock is RSC-encoded and sent to the RSC encoding control sub-unit 108c.
  • the second RSC encoding sub-unit 108b performs RSC encoding on the N-bit interleaved data received by each clock and sends the data to the N-bit interleaved data.
  • the RSC encoding control sub-unit 108c performs output control on the data sent from the first RSC encoding sub-unit 108a and the second RSC encoding sub-unit 108b, and simultaneously outputs an N-bit system code and N bits at each clock.
  • the first check code and the N bit second check code are included in the RSC encoding control sub-unit 108c.
  • the storage unit 106 includes another N storage units in addition to the N storage units, the other N storage units perform ping-pong operation with the N storage units, and simultaneously read and write data in the storage unit 106. .
  • a connected initial value storage subunit 104a and a recursive calculation subunit 104b may be included in the inner interleaving unit 104.
  • the initial value storage subunit 104a stores an initial value required for calculating an interleave address;
  • the recursive calculation subunit 104b is configured to calculate an interleave address according to the interleave address calculation formula and the initial value stored in the initial value storage subunit 104a, and It is output to the storage unit 106.
  • the 8-bit parallel processing is taken as an example to describe the multi-bit parallel processing scheme of the encoding system in detail.
  • the present invention is not limited to the 8-bit parallel implementation, and is also applicable to 4-bit, 16-bit, 32-bit, etc. multi-bit parallelism. The implementation of the process.
  • FIG. 4 shows the internal structure of an 8-bit parallel processing LTE Turbo coding system, which includes the following modules:
  • the main control unit 102 mainly implements overall control of the inner interleaving unit 104, the storage unit 106, and the RSC encoding unit 108.
  • the internal main includes a K value valid judgment subunit 102a, a write operation control subunit 102b, a read operation control subunit 102c, and other control function subunits 102d.
  • the K value valid judgment subunit 102a is configured to determine whether the code block size K value input by the upstream module is a specific value given in 5.1.3.2 of 3GPP LTE TS 36.212 V8.5.0, where the upstream module refers to the Turbo code a module directly connected to the system and serving as an output of data flowing into the interior of the Turbo coding system; a write operation control subunit 102b for generating a sequential write address to the memory unit 106 and performing selective write data control; the read operation control subunit 102c, The sequential increment address is generated for the storage unit 106 and the read data control is selected; the other control function sub-unit 102d mainly implements the handshake of the upstream and downstream modules and the inter-interleaving unit 104, the storage unit 106, and the RSC code list.
  • the element 108 controls the signal and the like, wherein the downstream module refers to a module directly connected to the Turbo coding system and serves as an input terminal for data flowing out of the Turbo coding system;
  • the inner interleaving module 104 internally mainly includes an initial value storage subunit 104a and a recursive calculation subunit 104b.
  • the storage unit 106 internally includes two sets of dual-port RAM sub-units for storing data, that is, a first RAM sub-unit 106a and a second RAM sub-unit 106b. Each set of RAM sub-units includes 8 blocks of depth 768 and a width of lbit. Dual port RAM. The ping-pong operation is performed by two sets of dual-port RAM sub-units to realize simultaneous reading and writing of data. In the write data operation, 8 bits of data can be written at a time; during the read data operation, the sequential increment address input by the read operation control subunit 102c and the interleave address generated by the inner interleaving unit 104 can be simultaneously received, and the uninterleaved data can be output simultaneously. (8bits) and interleaved data (8bits);
  • the RSC encoder unit 108 is internally composed mainly of a first RSC encoding subunit 108a, a second RSC encoding subunit 108b, and an RSC control subunit 108c, and the first RSC encoding subunit 108a is responsible for performing parallel RSC on uninterleaved data (8 bits).
  • the second RSC encoding sub-unit 108b is responsible for parallel RSC encoding of the interleaved data (8 bits);
  • the RSC control sub-unit 108c is responsible for outputting the RSC encoded data of the first RSC encoding sub-unit 108a and the second RSC encoding sub-unit 108b.
  • Control simultaneously output 8bits system code, 8bits first check code and 8bits second check code.
  • FIG. 5 it is a schematic diagram of the interleaving address recursive generation of the inner interleaving unit 104 of the present invention.
  • the input of the internal interleaving unit 104 inside the Turbo coding system in LTE is c ⁇ c ⁇ c ⁇ c,,... ⁇ , and the output is , ,...,4—i , where 40 ⁇ ⁇ 6144, input and Output
  • the following algorithm relationships are satisfied:
  • ⁇ ( ⁇ ) modC ⁇ xi + f 2 xi 2 , K)
  • each clock outputs 8 interleaved addresses simultaneously, ie ⁇ (8 «), ⁇ (8 « + 1), ⁇ (8« + 2), ⁇ (8« + 3), ⁇ (8« + 4), ⁇ (8 « + 5), ⁇ (8 « + 6), ⁇ (8« + 7), the invention Adopt parallel recursive implementation.
  • n() mod( 1 x + 2 x 2 , K) is generated.
  • K code block value
  • ⁇ ( + 1) moddf, ⁇ ( + 1) + / 2 ⁇ ( + 1) 2 ), ⁇ )
  • (+8) can save the values of mod((S f, + 64 f 2 ), K) , mod(16/ 2 , and ⁇ (128/ 2 , ) in the initial value storage subunit 104a in advance. Then, according to the code block size ⁇ value query, the corresponding address saved is read and recursively calculated.
  • the recursive process of the eight parallel interleaved addresses is as shown in FIG. 5. According to the above analysis and the derivation of FIG.
  • the inner interleaving unit 104 needs to store mo ⁇ +y), raod(2f 2 , K), mod((8/; +64/ 2 ), mod( The initial value of 16/ 2 , and ⁇ (128/ 2 , ).
  • FIG. 6 is a schematic structural diagram of the initial value storage subunit 104a in the present invention.
  • the subunit has a data bit width of 13 bits, a depth of 940, and an address width of 10.
  • the data stored in addresses 0 ⁇ 187 is the initial value of modd ⁇ +f ⁇ K);
  • the data stored in addresses 188 ⁇ 375 is the initial value of mod(2/ 2) ;
  • the data stored in addresses 376 ⁇ 563 is mod ⁇ /; +64/ 2 ), the initial value;
  • the address 564 ⁇ 751 corresponds to the stored data is mod (16 / 2 , iO initial value; address 752 ⁇ 939 corresponding stored data is mod (128 / 2 , the initial value .
  • FIG. 7 is a block diagram of a single-bit convolutional code encoding implementation in a Turbo coding system.
  • the present invention adopts the following parallel implementation scheme.
  • next_D 1 D0M6M4M3M2;
  • next_D2 DlM5M3M2Ml
  • z0, zl, z2...z7 represent the value of the 8-channel RSC after output
  • DO, Dl, D2 represent the current value in the internal register of the RSC
  • next_D0, next_Dl, next_D2 represent the value of the next state in the above internal register
  • d0, dl ...d7 represent 8 parallel inputs.
  • the LTE-based TURBO coding method and system of the present invention calculates and stores the initial value of the data interleaving address by using the inner interleaving unit, and then recursively calculates all the interleaved addresses, thus avoiding the inner interleaving unit. Storing all the interleaved addresses greatly saves the hardware memory and reduces the cost.
  • the memory unit of the present invention is further provided with two RAMs for ping-pong operation to realize simultaneous data reception and reading, thus having strong data processing capability. , improve the processing power of the LTE data link.
  • the present invention is based on the 3GPP LTE protocol Turbo encoder parallel design scheme, which internally adopts the ping-pong operation and the parallel coding processing manner, which greatly shortens the processing time of the Turbo coding, improves the efficiency of the Turbo coding, and thus reduces the LTE.
  • the processing delay of the link downlink improves the processing capability of the LTE data link.
  • the system of the present invention has a clear structure and can be implemented by using a general low-cost circuit device to realize high-efficiency Turbo coding operation at low cost.

Landscapes

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

Abstract

A TURBO encoding method and a TURBO encoding system based on Long Term Evolution (LTE) are disclosed. The TURBO encoding method includes: a master control unit triggers a storage unit to receive and store sequential data (201); the master control unit generates successively increasing addresses after triggering an inner interleaving unit to calculate interleaved addresses, and inputs the interleaved addresses and the successively increasing addresses to the storage unit, synchronously (202); a Recursive System Code (RSC) encoding unit reads interleaved data and the sequential data from the storage unit according to the interleaved addresses and the successively increasing addresses, then performs RSC encoding to the interleaved data and the sequential data (203).

Description

一种基于 LTE的 TURBO编码方法及系统 技术领域  LTE-based TURBO coding method and system
本发明涉及通讯领域, 尤其涉及一种基于长期演进(LTE ) 的 TURBO 编码方法及系统。 背景技术  The present invention relates to the field of communications, and in particular, to a TURBO coding method and system based on Long Term Evolution (LTE). Background technique
第三代合作伙伴计划 ( 3GPP, 3rd Generation Partnership Project )是领 先的 3G技术规范机构, 旨在研究制定并推广基于演进的全球移动通讯系统 ( GSM , Global System for Mobile Communications )核心网给的 3G标准。 其中, 长期演进( LTE, Long Term Evolution )是 3GPP的一个 3G长期演 进技术计划, 3GPP LTE标准是通讯业的一场技术革命, 它对实时业务、 高 可靠性业务和广播业务都提供了良好的支持, 其能实现数据的低时延、 全 分组和高数据率等目标。 毫无疑问, LTE将成为最主流的下一代宽带移动 通信技术。 TURBO码具有优越的误码及误块性能, 其已被多个通信标准化 组织采用并写入其发布的相关通信标准之中, 毫不例外, 3GPP协议(3GPP LTE TS 36.2132V8.5.0 ) 中也采用了 TURBO码的编码方式。  The 3rd Generation Partnership Project (3GPP) is a leading 3G technical specification organization that aims to develop and promote the 3G standard for the evolution-based core network of the Global System for Mobile Communications (GSM) system. . Among them, Long Term Evolution (LTE) is a 3G long-term evolution technology plan of 3GPP. The 3GPP LTE standard is a technological revolution in the communications industry. It provides good services for real-time services, high-reliability services and broadcasting services. Support, which can achieve low latency, full packet and high data rate targets. There is no doubt that LTE will become the most mainstream next-generation broadband mobile communication technology. The TURBO code has superior error and block error performance, and has been adopted by many communication standardization organizations and written into the relevant communication standards issued by it, no exception, 3GPP protocol (3GPP LTE TS 36.2132V8.5.0) The encoding method of TURBO code is adopted.
在 3GPP LTE协议中, TURBO编码器包括两个 8状态的成员编码器和 一个内交织器。 基于 LTE的 TURBO编码器的内交织器采用了不同于其他 标准的一种特殊交织方式, 交织器的输入输出关系式为:  In the 3GPP LTE protocol, the TURBO encoder includes two 8-state member encoders and an inner interleaver. The LTE-based TURBO encoder's internal interleaver uses a special interleaving method different from other standards. The input/output relationship of the interleaver is:
c; = cn(!), (i = 0,L , ^ - l) Π( ) = mod( j x + /2 x 2, K) c; = c n(! ), (i = 0,L , ^ - l) Π( ) = mod( jx + / 2 x 2 , K)
其中, ί。,
Figure imgf000003_0001
是1!11 80编码内交织器的输入数据, c„c[,..., cK_x 为内交织器的输出数据, 40 < ^< 6144 , 参数/ ^口 的取值根据 K值变化。 现有的 TURBO编码器设计方案大都是基于宽带码分多址(WCDMA, Wideband Code Division Multiple Access )等通信系统的,其内部交织的方式 与基于 LTE 的 TURBO 编码的交织方式不同。 例如: 现有的一种基于 WCDMA的 TURBO编码方法及编码装置, 其方案中的交织器是一个已存 储好交织地址的存储器, 即该方案是通过查交织表的方式直接得到交织后 序列的存储交织地址。 而如果将此方案应用于基于 LTE的 TURBO编码, 由于基于 LTE的 TURBO编码具有比较复杂的内交织, 需要巨大的硬件内 部存储开销, 故其成本较高且数据处理速度较慢。 发明内容
Where ί. ,
Figure imgf000003_0001
Is the input data of the 1!11 80-coded interleaver, c„c[,..., c K _ x is the output data of the inner interleaver, 40 <^< 6144 , the value of the parameter / ^ port is based on the K value Variety. The existing TURBO encoder designs are mostly based on communication systems such as Wideband Code Division Multiple Access (WCDMA), and the internal interleaving method is different from the interleaving method based on LTE-based TURBO coding. For example: an existing WCDMA-based TURBO coding method and coding apparatus, the interleaver in the scheme is a memory in which an interleave address has been stored, that is, the scheme directly obtains the storage of the interleaved sequence by checking the interleaving table. Interleave address. However, if this scheme is applied to LTE-based TURBO coding, since LTE-based TURBO coding has relatively complicated internal interleaving, huge hardware internal storage overhead is required, so the cost is high and the data processing speed is slow. Summary of the invention
本发明所要解决的技术问题是基于 LTE的 TURBO编码方法成本高、 速度慢的问题, 提出一种成本较低、 数据处理较强的适合基于 LTE 的 TURBO编码方法及系统。  The technical problem to be solved by the present invention is that the LTE-based TURBO coding method is costly and slow, and proposes a LTE-based TURBO coding method and system with low cost and strong data processing.
为了解决上述技术问题, 本发明提供一种基于 LTE的 TURBO编码方 法, 设置主控制单元、 内交织单元、 存储单元以及递归系统卷积码(RSC ) 编码单元, 该方法还包括:  In order to solve the above technical problem, the present invention provides an LTE-based TURBO coding method, which sets a main control unit, an inner interleaving unit, a storage unit, and a recursive system convolutional code (RSC) coding unit, and the method further includes:
所述主控制单元触发所述存储单元接收并存储顺序数据;  The main control unit triggers the storage unit to receive and store sequential data;
所述主控制单元触发所述内交织单元计算出交织地址后, 产生顺序递 增地址, 并将所述交织地址及顺序递增地址同时输入所述存储单元;  After the main control unit triggers the inner interleaving unit to calculate the interleaving address, generates an sequential increasing address, and simultaneously inputs the interleaved address and the sequential incremental address into the storage unit;
所述 RSC编码单元根据所述交织地址及顺序递增地址从所述存储单元 中读取交织数据和顺序数据后,对所述交织数据和顺序数据进行 RSC编码。  The RSC encoding unit reads the interleaved data and the sequential data from the storage unit according to the interleaving address and the sequential incremental address, and then performs RSC encoding on the interleaved data and the sequential data.
进一步地, 所述主控制单元触发存储单元接收并存储顺序数据, 具体 包括:  Further, the main control unit triggers the storage unit to receive and store the sequence data, and specifically includes:
所述主控制单元接收数据块大小 K值, 并开始接收顺序数据; 所述主控制单元触发所述存储单元接收并存储顺序数据, 同时通过计 数器对接收的数据大 d、进行计数; 所述主控制单元在检查计数器等于 K时, 产生所述存储单元接收完毕 信号。 The main control unit receives the data block size K value, and starts receiving the sequence data; the main control unit triggers the storage unit to receive and store the sequence data, and simultaneously counts the received data by the counter; The main control unit generates the storage unit reception completion signal when the check counter is equal to K.
所述方法还包括:  The method further includes:
所述主控制单元判断所述 K值是否有效, 在判断无效时, 丟弃所述接 收的顺序数据, 所述主控制单元重新开始接收顺序数据。  The main control unit determines whether the K value is valid. When the judgment is invalid, the received sequence data is discarded, and the main control unit restarts receiving the sequence data.
进一步地, 所述主控制单元判断 K值是否有效, 具体为: 检查所述主 控制单元接收的数据块大小 K值是否为 3GPP LTE协议规定的特定值。  Further, the main control unit determines whether the K value is valid, specifically: checking whether the data block size K value received by the main control unit is a specific value specified by the 3GPP LTE protocol.
进一步地, 所述主控制单元触发内交织单元计算出交织地址, 具体包 括:  Further, the main control unit triggers the inner interleaving unit to calculate an interleave address, which specifically includes:
所述主控制单元将 K值传给所述内交织单元, 所述内交织单元计算并 存储交织地址的初始值;  The main control unit transmits a K value to the inner interleaving unit, and the inner interleaving unit calculates and stores an initial value of the interleaving address;
所述内交织单元根据所述 K值、 交织地址的初始值、 以及 3GPP LTE 协议中交织器输入输出关系式递推计算出全部交织地址。  The inner interleaving unit recursively calculates all interleaving addresses according to the K value, the initial value of the interleaving address, and the interleaver input and output relation in the 3GPP LTE protocol.
进一步地, 所述 RSC编码单元根据交织地址及顺序递增地址从存储单 元中读取交织数据和顺序数据后, 对交织数据和顺序数据进行 RSC编码, 具体包括:  Further, the RSC encoding unit performs RSC encoding on the interleaved data and the sequential data after the interleaving data and the sequential data are read from the storage unit according to the interleaving address and the sequential incremental address, and specifically includes:
RSC 编码单元根据所述交织地址及顺序递增地址从所述存储单元中读 取交织数据和顺序数据;  The RSC encoding unit reads the interleaved data and the sequential data from the storage unit according to the interleaved address and the sequential incremental address;
RSC编码单元分别对所述交织数据和顺序数据进行 RSC编码, 同时所 述主控制单元通过计数器对接收的交织数据和顺序数据进行计数;  The RSC encoding unit respectively performs RSC encoding on the interleaved data and the sequential data, and the main control unit counts the received interleaved data and the sequential data through a counter;
所述主控制单元检查计数器是否等于 K, 若是, 则所述主控制单元产 生数据读取完毕信号, 若否, 则所述 RSC编码单元从所述存储单元中继续 读取交织数据和顺序数据, 直至所述主控制单元检查到所述计数器等于 K 为止。  The main control unit checks whether the counter is equal to K, and if so, the main control unit generates a data read completion signal, and if not, the RSC encoding unit continues to read the interleaved data and the sequential data from the storage unit. Until the main control unit checks that the counter is equal to K.
进一步地, 所述存储单元包括两个随机存取存储器(RAM ), 所述存储 单元通过其中任意一个 RAM进行接收数据操作, 同时通过另一个 RAM进 行读取数据操作。 Further, the storage unit includes two random access memories (RAMs), and the storage The unit performs data reception operation through any one of the RAMs while reading data operations through another RAM.
本发明还提供了一种基于 LTE的 TURBO编码系统, 所述系统包括: 主控制单元、 内交织单元、 存储单元以及 RSC编码单元;  The present invention also provides an LTE-based TURBO coding system, where the system includes: a main control unit, an internal interleaving unit, a storage unit, and an RSC encoding unit;
所述主控制单元, 用于控制所述存储单元接收并存储顺序数据、 控制 所述交织单元计算出交织地址、 以及控制所述 RSC编码单元从所述存储单 元中读取交织数据和顺序数据;  The main control unit is configured to control the storage unit to receive and store sequence data, control the interleaving unit to calculate an interleave address, and control the RSC encoding unit to read interleave data and sequence data from the storage unit;
所述内交织单元, 连接于所述主控制单元及所述存储单元, 用于计算 数据的交织地址;  The inner interleaving unit is connected to the main control unit and the storage unit, and is used to calculate an interleaving address of the data;
所述存储单元,连接于所述主控制单元、 内交织单元及 RSC编码单元, 用于接收并存储顺序数据、 根据所述交织地址及顺序递增地址输出交织数 据和顺序数据;  The storage unit is connected to the main control unit, the inner interleaving unit and the RSC encoding unit, and configured to receive and store sequential data, output interleaved data and sequential data according to the interleaving address and the sequential incremental address;
所述 RSC编码单元, 连接于所述主控制单元及存储单元, 用于对所述 交织数据和顺序数据进行 RSC编码。  The RSC coding unit is connected to the main control unit and the storage unit, and is configured to perform RSC coding on the interleaved data and the sequential data.
其中, 所述主控制单元进一步包括:  The main control unit further includes:
K值有效判断子单元, 用于判断数据块大小 K值是否为 3GPP LTE协 议规定的特定值;  The K value valid judgment subunit is configured to determine whether the data block size K value is a specific value specified by the 3GPP LTE protocol;
写控制操作子单元, 用于对所述存储单元进行接收数据的操作; 读控制操作子单元, 用于对所述存储单元进行读取数据的操作。  a write control operation subunit for performing an operation of receiving data on the storage unit; and a read control operation subunit for performing an operation of reading data on the storage unit.
所述内交织单元进一步包括:  The inner interleaving unit further includes:
初值存储子单元, 用于存储所述内交织单元计算交织地址所需的初始 值;  An initial value storage subunit, configured to store an initial value required by the inner interleaving unit to calculate an interleave address;
递推计算子单元, 用于根据数据块大小 K值以及所述初值存储子单元 中的初始值递推计算出全部交织地址。  And a recursive calculation subunit, configured to recalculate all interleaved addresses according to a data block size K value and an initial value in the initial value storage subunit.
所述存储单元进一步包括第一 RAM子单元及第二 RAM子单元, 所述 第一 RAM子单元及第二 RAM子单元用于进行乒乓操作,接收并存储顺序 数据的同时, 根据所述交织地址及顺序递增地址输出交织数据和顺序数据。 The storage unit further includes a first RAM subunit and a second RAM subunit, The first RAM sub-unit and the second RAM sub-unit are configured to perform a ping-pong operation, and receive and store the sequential data, and output the interleaved data and the sequential data according to the interleaved address and the sequential incremental address.
所述 RSC编码单元进一步包括:  The RSC encoding unit further includes:
第一 RSC编码子单元, 用于对接收的顺序数据进行 RSC编码; 第二 RSC编码子单元, 用于对接收的交织数据进行 RSC编码;  a first RSC coding subunit, configured to perform RSC coding on the received sequence data, and a second RSC coding subunit, configured to perform RSC coding on the received interleaved data;
RSC编码控制子单元, 连接所述第一 RSC编码子单元和第二 RSC编 码子单元, 用于对所述第一 RSC编码子单元和第二 RSC编码子单元 RSC 编码后数据的进行输出控制。  The RSC coding control subunit is configured to connect the first RSC coding subunit and the second RSC coding subunit, and is configured to perform output control on the RSC encoded data of the first RSC coding subunit and the second RSC coding subunit.
所述主控制单元进一步用于, 在每一时钟将 N个顺序递增地址发送到 所述存储单元;  The main control unit is further configured to send N sequential incremental addresses to the storage unit at each clock;
所述内交织单元进一步用于,在每一时钟向所述存储单元并行地输出 N 个交织地址;  The inner interleaving unit is further configured to output N interleaving addresses in parallel to the storage unit at each clock;
所述系统中至少包含 N个所述存储单元,在所述主控制单元的控制下, N个存储单元同时进行写操作, 每一存储单元在每一时钟写入 1比特数据; 所述存储单元根据接收到的 N个顺序递增地址和 N个交织地址并行地将本 地保存的数据读出, 并对应地输出到所述 RSC编码单元中;  The system includes at least N of the storage units, under the control of the main control unit, N storage units simultaneously perform a write operation, and each storage unit writes 1 bit of data at each clock; the storage unit Reading the locally saved data in parallel according to the received N sequential increment addresses and the N interleave addresses, and outputting the data to the RSC encoding unit correspondingly;
相应地, 所述 RSC编码器进一步用于, 对在每一时钟接收到的 N比特 未交织数据进行 RSC编码, 并对在每一时钟接收到的 N比特交织数据进行 RSC编码; 在每一时钟同时输出 N比特系统码、 N比特第一校验码和 N比 特第二校验码。  Correspondingly, the RSC encoder is further configured to perform RSC encoding on the N-bit uninterleaved data received at each clock, and perform RSC encoding on the N-bit interleaved data received at each clock; At the same time, an N-bit system code, an N-bit first check code, and an N-bit second check code are output.
所述系统中除上述 N个存储单元外还包括另外 N个存储单元, 所述另 外 N个存储单元与上述 N个存储单元进行乒乓操作, 同时对所述存储单元 内的数据进行读写操作。  In addition to the N storage units, the system further includes another N storage units, and the other N storage units perform ping-pong operations with the N storage units, and simultaneously read and write data in the storage unit.
当 N=8 时, 所述初值存储单元中保存的初始值为: moc J +
Figure imgf000007_0001
、 mod(2/2, 、 moddSf^ 64 f2), K) , mod(16/2, 和 ηιο(1(128/2, ); 其中, Κ为码 块大小, 40≤ ≤61 4 , 参数/ ^口 的取值根据 Κ值变化;
When N=8, the initial value stored in the initial value storage unit is: moc J +
Figure imgf000007_0001
, mod(2/ 2 , , moddSf^ 64 f 2 ), K) , mod(16/ 2 , and ηιο(1(128/ 2 , ); where Κ is the code Block size, 40 ≤ ≤ 61 4 , the value of the parameter / ^ port varies according to the Κ value;
相应的, 所述递推计算子单元进一步用于, 利用公式:  Correspondingly, the recursive calculation subunit is further used to: use a formula:
Π ' + 1) = ηιοά((Π( + modCCmodC^ + f2 , K) + mod(2i 2 , ), ), 先后通过递推 计算出交织地址 Π(1) ~Π(7)的值; Π ' + 1) = ηιοά((Π( + modCCmodC^ + f 2 , K) + mod(2i 2 , ), ), successively calculate the value of the interleaved address Π(1) ~Π(7) by recursion;
根据公式:  According to the formula:
Π ' + 8) = mod((n( ) + modCCmodCS/! + 64 f2, K) + mod(16if2 , Κ)), Κ)), Κ)先后通过 递推计算出交织地址 Π(8) ~Π(15)的值。 Π ' + 8) = mod((n( ) + modCCmodCS/! + 64 f 2 , K) + mod(16if 2 , Κ)), Κ)), Κ) Calculate the interleaved address by recursion Π (8 ) ~Π(15) value.
采用本发明所述方法及系统, 只需采用计算并存储数据交织地址的初 值, 大大节省了硬件内存, 降低了成本; 另外, 本发明的存储单元还设有 两个 RAM进行乒乓操作来实现对数据同时接收读取,这样就具有较强的数 据处理能力, 提高 LTE数据链路的处理能力。  By adopting the method and system of the present invention, only the initial value of the data interleaving address is calculated and stored, the hardware memory is greatly saved, and the cost is reduced; in addition, the storage unit of the present invention is further provided with two RAMs for ping-pong operation. The data is received and read at the same time, so that it has strong data processing capability and improves the processing capability of the LTE data link.
另外, 本发明基于 3GPP LTE协议的 Turbo编码器并行设计方案, 其内 部采用乒乓操作及并行编码处理的方式, 大大的缩短了 Turbo 编码的处理 时间, 提高了 Turbo编码的效率, 从而减小了 LTE链路下行的处理时延, 提高了 LTE数据链路的处理能力; 本发明的系统结构清晰, 且可以采用通 用的低成本电路器件实现, 以低成本实现高效率的 Turbo编码运算。 附图说明  In addition, the present invention is based on the 3GPP LTE protocol Turbo encoder parallel design scheme, which internally adopts the ping-pong operation and the parallel coding processing manner, which greatly shortens the processing time of the Turbo coding, improves the efficiency of the Turbo coding, and thus reduces the LTE. The processing delay of the link downlink improves the processing capability of the LTE data link. The system of the present invention has a clear structure and can be implemented by using a general low-cost circuit device to realize high-efficiency Turbo coding operation at low cost. DRAWINGS
图 1是本发明基于 LTE的 TURBO编码系统的示意图;  1 is a schematic diagram of an LTE-based TURBO encoding system according to the present invention;
图 2是本发明基于 LTE的 TURBO编码方法流程示意图;  2 is a schematic flow chart of a TURBO encoding method based on LTE according to the present invention;
图 3a是本发明基于 LTE的 TURBO编码方法较佳实施例中接收顺序数 据的流程示意图;  3a is a schematic flowchart of receiving sequence data in a preferred embodiment of the LTE-based TURBO encoding method according to the present invention;
图 3b是本发明基于 LTE的 TURBO编码方法较佳实施例中发送编码后 数据的流程示意图;  FIG. 3b is a schematic flowchart of sending encoded data in a preferred embodiment of the LTE-based TURBO encoding method according to the present invention; FIG.
图 4为本发明实施例中 8比特并行处理的 LTE Turbo编码系统的内部结 构示意图; 4 is an internal junction of an 8-bit parallel processing LTE Turbo coding system according to an embodiment of the present invention; Schematic diagram
图 5为本发明实施例中内交织模块中交织地址递推产生的示意图; 图 6为本发明实施例中初值存储子单元的结构示意图;  5 is a schematic diagram of an interleaving address recursive generation in an inner interleaving module according to an embodiment of the present invention; FIG. 6 is a schematic structural diagram of an initial value storage subunit according to an embodiment of the present invention;
图 7为本发明实施例中 LTE Turbo编码系统中单比特卷积码编码实现框 图。 具体实施方式  FIG. 7 is a block diagram of a single bit convolutional code encoding implementation in an LTE Turbo coding system according to an embodiment of the present invention. detailed description
下面结合附图及具体实施例对本发明作进一步地说明。  The invention will now be further described with reference to the drawings and specific embodiments.
本发明的核心思想是: 存储单元接收并存储顺序数据, 内交织单元计 存储单元根据该交织地址及顺序递增地址同时输出交织数据和顺序数据, 并将其发送给递归系统卷积码 ( RSC , Recursive Systematic Convolution code )编码单元进行 RSC编码。 其中, 顺序数据是指编码系统的外部发送 的未交织的原始数据, 交织数据是指交织后的数据, 顺序递增地址是指存 储单元所接收的顺序数据对应的地址, 交织地址是指内交织单元所计算出 的11( ) =
Figure imgf000009_0001
2, 的值, 此处将通过后续的实施例来说明。
The core idea of the present invention is: the storage unit receives and stores the sequential data, and the inner interleaved unit counts the output unit to simultaneously output the interleaved data and the sequential data according to the interleaved address and the sequential incremental address, and sends the same to the recursive system convolutional code (RSC, Recursive Systematic Convolution code) The coding unit performs RSC coding. The sequence data refers to the uninterleaved original data sent by the external coding system, the interleaved data refers to the interleaved data, the sequential incremental address refers to the address corresponding to the sequential data received by the storage unit, and the interleaved address refers to the inner interleaved unit. The calculated 11() =
Figure imgf000009_0001
The value of 2 , will be explained here by the following embodiments.
请参阅图 1 , 本发明还提供一种基于 LTE的 TURBO编码系统 100, 应 用于 TURBO编码器中, 系统 100包括主控制单元 102、 内交织单元 104、 存储单元 106以及 RSC编码单元 108。 其中, 主控制单元 102, 用于控制存 储单元 106接收并存储顺序数据、 控制内交织单元 104计算出交织地址以 及 RSC编码单元 108从存储单元 106中读取交织数据和顺序数据;  Referring to FIG. 1, the present invention further provides an LTE-based TURBO coding system 100, which is applied to a TURBO encoder. The system 100 includes a main control unit 102, an inner interleaving unit 104, a storage unit 106, and an RSC encoding unit 108. The main control unit 102 is configured to control the storage unit 106 to receive and store the sequential data, control the inner interleaving unit 104 to calculate the interleaving address, and the RSC encoding unit 108 reads the interleaved data and the sequential data from the storage unit 106;
内交织单元 104, 连接于主控制单元 102及存储单元 106, 用于计算数 据交织地址; 存储单元 106, 连接于主控制单元 102、 内交织单元 104及 RSC编码单元 108, 用于接收并存储交织数据和顺序数据; RSC编码单元 108, 连接于主控制单元 102及存储单元 106, 用于对交织数据和顺序数据 进行 RSC编码。 主控制单元 102进一步包括: K值有效判断子单元 102a、 写控制操作 子单元 102b及读控制操作子单元 102c。 其中, K值有效判断子单元 102a, 用于判断数据块大小 K值是否为 3GPP LTE协议规定的特定值; 写控制操 作子单元 102b, 用于对存储单元 106进行接收数据的操作; 读控制操作子 单元 102c, 用于对存储单元 106进行读取数据的操作。 The internal interleaving unit 104 is connected to the main control unit 102 and the storage unit 106 for calculating a data interleaving address. The storage unit 106 is connected to the main control unit 102, the inner interleaving unit 104, and the RSC encoding unit 108 for receiving and storing the interleaving. The data and sequence data; the RSC encoding unit 108 is connected to the main control unit 102 and the storage unit 106 for RSC encoding the interleaved data and the sequential data. The main control unit 102 further includes: a K value valid judgment subunit 102a, a write control operation subunit 102b, and a read control operation subunit 102c. The K value valid judgment subunit 102a is configured to determine whether the data block size K value is a specific value specified by the 3GPP LTE protocol; the write control operation subunit 102b is configured to perform an operation of receiving data on the storage unit 106; The subunit 102c is configured to perform an operation of reading data from the storage unit 106.
内交织单元 104进一步包括: 初值存储子单元 104a及递推计算子单元 104b。 其中, 初值存储子单元 104a, 用于存储内交织单元 104计算交织地 址所需的初始值; 递推计算子单元 104b, 用于根据数据块大小 K值以及初 值存储子单元 104a中的初始值递推计算出全部交织地址。  The inner interleaving unit 104 further includes: an initial value storage subunit 104a and a recursive calculation subunit 104b. The initial value storage subunit 104a is configured to store an initial value required for the inner interleaving unit 104 to calculate an interleave address; the recursive calculation subunit 104b is configured to initialize the subunit 104a according to the data block size and the initial value. The value is recursively calculated for all interleaved addresses.
存储单元 106进一步包括:第一随机存取存储器( RAM, Random-Access Memory )子单元 106a及第二 RAM子单元 106b。 其中, 第一 RAM子单元 106a及第二 RAM子单元 106b用来进行乒乓操作, 实现接收并存储顺序数 据的同时根据该交织地址及顺序递增地址输出交织数据和顺序数据。  The storage unit 106 further includes a first random access memory (RAM) subunit 106a and a second RAM subunit 106b. The first RAM sub-unit 106a and the second RAM sub-unit 106b are configured to perform ping-pong operations, and receive and store sequential data, and output interleaved data and sequential data according to the interleaved address and the sequential incremental address.
RSC编码单元 108进一步包括: 第一 RSC编码子单元 108a、第二 RSC 编码子单元 108b以及 RSC编码控制子单元 108c。 其中, 第一 RSC编码子 单元 108a用于对接收的顺序数据进行 RSC编码;第二 RSC编码子单元 108b 用于对接收的交织数据进行 RSC编码; RSC编码控制子单元 108c, 连接于 第一 RSC编码子单元 108a及第二 RSC编码子单元 108b, 用于实现对第一 RSC编码子单元 108a及第二 RSC编码子单元 108b处理后的数据输出控制。  The RSC encoding unit 108 further includes: a first RSC encoding subunit 108a, a second RSC encoding subunit 108b, and an RSC encoding control subunit 108c. The first RSC encoding sub-unit 108a is configured to perform RSC encoding on the received sequence data; the second RSC encoding sub-unit 108b is configured to perform RSC encoding on the received interleaved data; and the RSC encoding control sub-unit 108c is connected to the first RSC. The coding sub-unit 108a and the second RSC coding sub-unit 108b are configured to implement data output control after processing by the first RSC coding sub-unit 108a and the second RSC coding sub-unit 108b.
请参阅图 2, 图 2是本发明基于 LTE的 TURBO编码方法流程示意图, 其包括以下步骤:  Referring to FIG. 2, FIG. 2 is a schematic flowchart of a TURBO encoding method based on LTE according to the present invention, which includes the following steps:
步骤 201 : 主控制单元触发存储单元接收并存储顺序数据。 其中, 主控 制单元主动触发存储单元接收并存储顺序数据。  Step 201: The main control unit triggers the storage unit to receive and store the sequence data. The main control unit actively triggers the storage unit to receive and store the sequential data.
步骤 202: 主控制单元触发内交织单元计算出交织地址后, 主控制单元 产生顺序递增地址, 并将交织地址及顺序递增地址同时输入存储单元。 存储单元存储完顺序数据后, 主控制单元触发内交织单元根据其输出 与输入关系式计算出交织地址。根据 3GPP LTE协议, 交织器的输入输出关 系式为: Step 202: After the main control unit triggers the inner interleaving unit to calculate the interleave address, the main control unit generates a sequential increment address, and simultaneously inputs the interleave address and the sequential increment address into the storage unit. After the storage unit stores the sequence data, the main control unit triggers the inner interleaving unit to calculate the interleave address according to the output and the input relationship. According to the 3GPP LTE protocol, the input and output relationship of the interleaver is:
c; = cn(! (i = 0,L , ^ - l) c; = c n(! (i = 0,L , ^ - l)
Π( ) = modC^ x i + f2 x i2, K) Π( ) = modC^ xi + f 2 xi 2 , K)
其中, ί。
Figure imgf000011_0001
Where ί.
Figure imgf000011_0001
为内交织器的输出数据, 40 < ^< 6144 , 参数/ ^口 的取值根据 K值变化。 For the output data of the internal interleaver, 40 < ^ < 6144, the value of the parameter / ^ port varies according to the value of K.
步骤 203 :存储单元根据交织地址及顺序递增地址输出交织数据和顺序 数据, 并将交织数据及顺序数据发送给 RSC编码单元进行 RSC编码。 RSC 编码单元在主控制单元的指示下, 接收交织数据及顺序数据并对其进行 RSC编码, 从而完成基于 LTE的 TURBO编码。  Step 203: The storage unit outputs the interleaved data and the sequential data according to the interleaving address and the sequential incremental address, and sends the interleaved data and the sequential data to the RSC encoding unit for RSC encoding. The RSC coding unit receives the interleaved data and the sequence data and RSC-encodes it under the direction of the main control unit, thereby completing the LTE-based TURBO coding.
下面结合本发明的较佳实施例对本发明作进一步详细说明。  The invention will now be described in further detail in connection with the preferred embodiments of the invention.
请参阅图 3a,图 3a是本发明基于 LTE的 TURBO编码方法较佳实施例 中接收顺序数据的流程示意图。 在本发明的较佳实施例中, 存储单元包括 两个相同的用于緩存的 RAM , 两个 RAM均可用于接收或读取数据, 这样 TURBO编码时存储单元可通过一个 RAM进行接收数据操作, 同时通过另 一个 RAM进行读取数据操作, 即通过两个 RAM进行乒乓操作来实现对数 据同时接收和读取。  Referring to FIG. 3a, FIG. 3a is a schematic flowchart of receiving sequence data in a preferred embodiment of the LTE-based TURBO coding method according to the present invention. In a preferred embodiment of the present invention, the storage unit includes two identical RAMs for buffering, and both of the RAMs can be used to receive or read data, so that the storage unit can receive data operations through a RAM during TURBO encoding. At the same time, the data read operation is performed through another RAM, that is, the ping-pong operation is performed through two RAMs to realize simultaneous reception and reading of data.
本发明较佳实施例中接收顺序数据的方法包括以下步骤:  The method for receiving sequential data in a preferred embodiment of the present invention includes the following steps:
步骤 301 : 主控制单元从外部接收数据块大小 K值, 并开始接收顺序 数据。 此步骤还包括外部上游单元检测到主控制单元处于空闲状态后, 向 其发送第一个数据指示信号并同时发送数据块大小 K值及第一个顺序数 据。  Step 301: The main control unit receives the data block size K value from the outside and starts receiving the sequential data. This step further includes the external upstream unit detecting that the primary control unit is in an idle state, transmitting the first data indication signal thereto and simultaneously transmitting the data block size K value and the first sequential data.
步骤 302: 主控制单元检查存储单元中的第一 RAM是否为空闲状态, 若是, 则执行步骤 306; 否则, 执行步骤 303。 步骤 303: 主控制单元检查存储单元中的第二 RAM是否为空闲状态, 若是, 则执行步骤 304; 若否, 则返回步骤 302。 Step 302: The main control unit checks whether the first RAM in the storage unit is in an idle state. If yes, step 306 is performed; otherwise, step 303 is performed. Step 303: The main control unit checks whether the second RAM in the storage unit is in an idle state, and if yes, performs step 304; if not, returns to step 302.
步骤 304:主控制单元触发存储单元的第二 RAM接收并存储顺序数据, 同时通过计数器对第二 RAM接收的顺序数据大小进行计数。  Step 304: The main control unit triggers the second RAM of the storage unit to receive and store the sequential data, and simultaneously counts the sequential data size received by the second RAM by the counter.
步骤 305: 主控制单元检查计数器是否等于 K, 若是, 则主控制单元产 生第二 RAM接收完毕信号; 若否, 则执行步骤 304。  Step 305: The main control unit checks whether the counter is equal to K. If yes, the main control unit generates a second RAM reception completion signal; if not, step 304 is performed.
步骤 306:主控制单元触发存储单元的第一 RAM接收并存储顺序数据, 同时通过计数器对第一 RAM接收的顺序数据大小进行计数。  Step 306: The main control unit triggers the first RAM of the storage unit to receive and store the sequential data, and simultaneously counts the sequential data size received by the first RAM by the counter.
步骤 307: 主控制单元检查计数器是否等于 K, 若是, 则主控制单元产 生第一 RAM接收完毕信号; 若否, 则执行步骤 306。  Step 307: The main control unit checks whether the counter is equal to K. If yes, the main control unit generates a first RAM reception completion signal; if not, step 306 is performed.
其中, 在分别执行步骤 305及步骤 307之前, 还包括: 主控制单元先 判断 K值是否有效, 若无效, 则丟弃所接收的数据, 跳回步骤 302重新开 始接收数据, 而不需执行步骤 305或步骤 307; 若 K值有效, 则执行步骤 305或步骤 307。 根据 3GPP LTE协议, 交织器的输入输出关系式中的 K值 是介于 40至 6144之间的特定值, 故判断 K值是否有效的方法是检查主控 制单元接收的数据块大小 K值是否为 3GPP LTE协议规定的特定值, 若否, 则说明本次接收的数据无效, 存储单元需要重新接收数据。  Before performing step 305 and step 307 respectively, the method further includes: the main control unit first determining whether the K value is valid, and if not, discarding the received data, and jumping back to step 302 to restart receiving data without performing steps. 305 or step 307; If the K value is valid, step 305 or step 307 is performed. According to the 3GPP LTE protocol, the K value in the input/output relationship of the interleaver is a specific value between 40 and 6144, so the method of determining whether the K value is valid is to check whether the data block size K value received by the main control unit is The specific value specified by the 3GPP LTE protocol, if not, indicates that the data received this time is invalid, and the storage unit needs to receive the data again.
请参阅图 3b,图 3b是本发明基于 LTE的 TURBO编码方法较佳实施例 中发送编码后数据的流程示意图。 当存储单元中的第一 RAM或第二 RAM 接收数据完成后, 主控制单元即开始触发存储单元进行发送编码后数据的 操作。  Referring to FIG. 3b, FIG. 3b is a schematic flowchart of sending encoded data in a preferred embodiment of the LTE-based TURBO encoding method according to the present invention. After the first RAM or the second RAM in the storage unit receives the data, the main control unit starts triggering the storage unit to perform the operation of transmitting the encoded data.
本发明较佳实施例中发送编码后数据的方法包括以下步骤:  The method for transmitting encoded data in the preferred embodiment of the present invention includes the following steps:
步骤 311: 主控制单元检查第一 RAM的接收完毕信号是否有效, 若无 效, 则执行步骤 312; 若有效, 则执行步骤 316。  Step 311: The main control unit checks whether the received signal of the first RAM is valid. If it is invalid, step 312 is performed; if it is valid, step 316 is performed.
步骤 312: 主控制单元检查第二 RAM的接收完毕信号是否有效, 若无 效, 则执行步骤 311; 若有效, 则执行步骤 313。 Step 312: The main control unit checks whether the reception completion signal of the second RAM is valid, if not If yes, go to step 311; if it is valid, go to step 313.
步骤 313: 主控制单元触发内交织单元计算出交织地址, 主控制单元通 过读使能信号而产生顺序递增地址, 交织地址及顺序递增地址同时被输入 存储单元的第二 RAM。 其中, 主控制单元将 K值传给内交织单元, 内交织 单元根据 3GPP LTE协议交织器的输入输出关系式首先计算并存储交织地 址的初始值并将其传给存储单元,然后根据 3GPP LTE协议中交织器输入输 出关系式递推计算出全部交织地址。 这样, 此过程中内交织单元及存储单 元仅需要存储用于计算交织地址的初始值, 计算出的交织地址会不断的被 覆盖, 不需要一直保存, 因此避免了需要大量的内存来存储全部交织地址。  Step 313: The main control unit triggers the interleave unit to calculate the interleave address, and the main control unit generates a sequential increment address by reading the enable signal, and the interleave address and the sequential increment address are simultaneously input into the second RAM of the storage unit. The main control unit transmits the K value to the inner interleaving unit, and the inner interleaving unit first calculates and stores the initial value of the interleaving address according to the input and output relationship of the 3GPP LTE protocol interleaver and transmits it to the storage unit, and then according to the 3GPP LTE protocol. The middle interleaver input and output relations recursively calculate all interleaved addresses. In this way, the interleaving unit and the storage unit only need to store the initial value used for calculating the interleaving address, and the calculated interleaving address is continuously covered, and does not need to be saved all the time, thus avoiding the need for a large amount of memory to store all the interleaving. address.
步骤 314: RSC编码单元根据交织地址及顺序递增地址从存储单元的第 二 RAM中读取交织数据和顺序数据, 并对其进行 RSC编码, 同时主控制 单元通过计数器对接收的交织数据和顺序数据进行计数。  Step 314: The RSC encoding unit reads the interleaved data and the sequential data from the second RAM of the storage unit according to the interleave address and the sequential increment address, and performs RSC encoding on the same, and the main control unit receives the interleaved data and the sequential data through the counter. Count.
步骤 315: 主控制单元检查计数器是否等于 K, 若是, 则主控制单元产 生第二 RAM读取完毕信号; 若否, 则执行步骤 314。  Step 315: The main control unit checks whether the counter is equal to K. If yes, the main control unit generates a second RAM read completion signal; if not, step 314 is performed.
步骤 316: 主控制单元触发内交织单元计算出交织地址, 主控制单元通 过读使能信号而产生顺序递增地址, 交织地址及顺序递增地址同时被输入 存储单元的第一 RAM。  Step 316: The main control unit triggers the interleave unit to calculate the interleave address, and the main control unit generates a sequential increment address by reading the enable signal, and the interleave address and the sequential increment address are simultaneously input into the first RAM of the storage unit.
步骤 317: RSC编码单元根据交织地址及顺序递增地址从存储单元的第 一 RAM中读取交织数据和顺序数据, 并对其进行 RSC编码, 同时主控制 单元通过计数器对读取的交织数据和顺序数据进行计数。  Step 317: The RSC encoding unit reads the interleaved data and the sequential data from the first RAM of the storage unit according to the interleave address and the sequential increment address, and performs RSC encoding on the same, and the main control unit reads the interleaved data and sequence through the counter pair. The data is counted.
步骤 318: 主控制单元检查计数器是否等于 K, 若是, 则主控制单元产 生第一 RAM读取完毕信号; 若否, 则执行步骤 317。  Step 318: The main control unit checks whether the counter is equal to K. If yes, the main control unit generates a first RAM read completion signal; if not, step 317 is performed.
另外, 上述本发明的方案在实际应用中, 一个码块中包含有多个比特 (最大为 6144bits ) 的数据。 按照上述单比特的处理方式, 以最大码块 ( 6144bits ) 为例, 仅接收数据就需 6144个时钟周期, 如果不考虑交织地 址产生时间和 RSC编码时间, 再读出数据又需 6144个时钟周期, 这样, 处 理一个码块的时间就相当长。 即使采用乒乓操作, 实现数据的同时读写, 处理一个最大码块也需要 6144个时钟周期以上。 因此, 在输入比特较多的 情况下, 对一个码块进行 Turbo 编码处理的延时会比较大, 因此不可避免 的会给整个下行链路处理带来较大的延时, 而较大的延时又会进一步引起 基带的处理性能低下。 In addition, in the above-described scheme of the present invention, in a practical application, data blocks of a plurality of bits (up to 6144 bits) are included in one code block. According to the above-mentioned single-bit processing method, taking the maximum code block (6144 bits) as an example, only 6144 clock cycles are required to receive data, if interlaced is not considered. The address generation time and the RSC encoding time require 6144 clock cycles to read the data, so that the processing time of one code block is quite long. Even with ping-pong operation, simultaneous reading and writing of data requires more than 6144 clock cycles to process a maximum code block. Therefore, in the case of a large number of input bits, the delay of Turbo coding processing for one code block is relatively large, so that inevitably, a large delay is caused to the entire downlink processing, and a large delay is generated. At the same time, it will further cause the processing performance of the baseband to be low.
为克服单比特的 Turbo 编码处理时间过长而造成的下行处理时延过大 的问题, 本发明在图 1所示系统结构的基础上, 实现多比特并行处理。  In order to overcome the problem that the downlink processing delay caused by the single-bit Turbo coding processing time is too long, the present invention implements multi-bit parallel processing on the basis of the system structure shown in FIG.
图 1中的主控制单元 102分别与内交织单元 104、存储单元 106及 RSC 编码单元 108相连, 其对上述各部分进行控制, 其产生顺序递增地址并在 每一时钟将 N个顺序递增地址发送到存储单元 106;  The main control unit 102 of FIG. 1 is connected to an inner interleaving unit 104, a storage unit 106 and an RSC encoding unit 108, respectively, which control the above-mentioned respective parts, which generate sequential incremental addresses and transmit N sequential incremental addresses at each clock. To the storage unit 106;
内交织单元 104与存储单元 106和主控制单元 102相连, 其计算出交 织地址, 并在主控制单元 102发送顺序递增地址的同时在每一时钟向存储 单元 106并行地输出 N个交织地址;  The inner interleaving unit 104 is connected to the storage unit 106 and the main control unit 102, which calculates the interlace address, and outputs N interleaving addresses in parallel to the storage unit 106 at each clock while the main control unit 102 transmits the sequential incrementing address;
存储单元 106与主控制单元 102和内交织单元 104相连, 其内部至少 包含 N个存储单元, 在主控制单元 102的控制下, N个存储单元同时进行 写操作, 每一存储单元在每一时钟写入 lbit数据; 根据接收到的主控制单 元 102产生的 N个顺序递增地址和 N个交织地址并行地将本地保存的数据 读出并对应地输出到 RSC编码单元 108中的第一 RSC编码子单元 108a和 第二 RSC编码子单元 108b;  The storage unit 106 is connected to the main control unit 102 and the internal interleaving unit 104, and has at least N storage units therein. Under the control of the main control unit 102, N storage units simultaneously perform a write operation, and each storage unit is at each clock. Writing 1-bit data; reading and locally outputting the locally saved data in parallel according to the received N sequential increment addresses and N interleave addresses generated by the main control unit 102 to the first RSC encoding unit in the RSC encoding unit 108 Unit 108a and second RSC encoding subunit 108b;
RSC编码单元 108与存储单元 106和主控制单元 102相连, 其中包括 第一 RSC编码子单元 108a、第二 RSC编码子单元 108b和 RSC编码控制子 单元 108c, 第一 RSC编码子单元 108a对在每一时钟接收到的 N比特未交 织数据进行 RSC编码后发送到 RSC编码控制子单元 108c, 第二 RSC编码 子单元 108b对每一时钟接收到的 N比特交织数据进行 RSC编码后发送到 RSC编码控制子单元 108c, RSC编码控制子单元 108c对第一 RSC编码子 单元 108a和第二 RSC编码子单元 108b发来的数据进行输出控制, 在每一 时钟同时输出 N比特系统码、 N比特第一校验码及 N比特第二校验码。 The RSC encoding unit 108 is connected to the storage unit 106 and the main control unit 102, and includes a first RSC encoding subunit 108a, a second RSC encoding subunit 108b, and an RSC encoding control subunit 108c, the first RSC encoding subunit 108a pair The N-bit uninterleaved data received by the clock is RSC-encoded and sent to the RSC encoding control sub-unit 108c. The second RSC encoding sub-unit 108b performs RSC encoding on the N-bit interleaved data received by each clock and sends the data to the N-bit interleaved data. The RSC encoding control sub-unit 108c, the RSC encoding control sub-unit 108c performs output control on the data sent from the first RSC encoding sub-unit 108a and the second RSC encoding sub-unit 108b, and simultaneously outputs an N-bit system code and N bits at each clock. The first check code and the N bit second check code.
此外, 当存储单元 106中除上述 N个存储单元外还包括另外 N个存储 单元时, 该另外 N个存储单元与上述 N个存储单元进行乒乓操作, 同时对 存储单元 106内的数据进行读写。  In addition, when the storage unit 106 includes another N storage units in addition to the N storage units, the other N storage units perform ping-pong operation with the N storage units, and simultaneously read and write data in the storage unit 106. .
此外, 在内交织单元 104中还可包括相连的初值存储子单元 104a和递 推计算子单元 104b。 其中, 初值存储子单元 104a中保存有计算交织地址所 需的初始值; 递推计算子单元 104b用于根据交织地址计算公式及初值存储 子单元 104a中保存的初始值计算交织地址, 并输出到存储单元 106中。  Further, a connected initial value storage subunit 104a and a recursive calculation subunit 104b may be included in the inner interleaving unit 104. The initial value storage subunit 104a stores an initial value required for calculating an interleave address; the recursive calculation subunit 104b is configured to calculate an interleave address according to the interleave address calculation formula and the initial value stored in the initial value storage subunit 104a, and It is output to the storage unit 106.
下面以 8 比特并行处理为例, 对编码系统的多比特并行处理方案进行 详细说明, 然而, 本发明并不只限于 8比特并行的实现, 也适用于 4比特、 16比特、 32比特等多比特并行处理的实现。  The 8-bit parallel processing is taken as an example to describe the multi-bit parallel processing scheme of the encoding system in detail. However, the present invention is not limited to the 8-bit parallel implementation, and is also applicable to 4-bit, 16-bit, 32-bit, etc. multi-bit parallelism. The implementation of the process.
图 4给出了 8比特并行处理的 LTE Turbo编码系统的内部结构图,其内 部包括以下模块:  Figure 4 shows the internal structure of an 8-bit parallel processing LTE Turbo coding system, which includes the following modules:
主控制单元 102: 主要实现对内交织单元 104、 存储单元 106及 RSC 编码单元 108的整体控制。 内部主要包括 K值有效判断子单元 102a、 写操 作控制子单元 102b、 读操作控制子单元 102c和其它控制功能子单元 102d。 K值有效判断子单元 102a, 用于判断上游模块输入的码块大小 K值是否为 3GPP LTE TS 36.212V8.5.0中 5.1.3.2中所给出的特定值, 其中, 上游模块 是指与 Turbo编码系统直接相连的且作为流入 Turbo编码系统内部的数据的 输出端的模块; 写操作控制子单元 102b, 用于对存储单元 106产生顺序写 地址及进行选择写数据控制;读操作控制子单元 102c,用于对存储单元 106 产生顺序递增地址及选择读数据控制; 其它控制功能子单元 102d, 主要实 现对上下游模块的握手及对内交织单元 104、 存储单元 106和 RSC编码单 元 108使能信号等的控制, 其中, 下游模块是指与 Turbo编码系统直接相 连的且作为流出 Turbo编码系统内部的数据的输入端的模块; The main control unit 102: mainly implements overall control of the inner interleaving unit 104, the storage unit 106, and the RSC encoding unit 108. The internal main includes a K value valid judgment subunit 102a, a write operation control subunit 102b, a read operation control subunit 102c, and other control function subunits 102d. The K value valid judgment subunit 102a is configured to determine whether the code block size K value input by the upstream module is a specific value given in 5.1.3.2 of 3GPP LTE TS 36.212 V8.5.0, where the upstream module refers to the Turbo code a module directly connected to the system and serving as an output of data flowing into the interior of the Turbo coding system; a write operation control subunit 102b for generating a sequential write address to the memory unit 106 and performing selective write data control; the read operation control subunit 102c, The sequential increment address is generated for the storage unit 106 and the read data control is selected; the other control function sub-unit 102d mainly implements the handshake of the upstream and downstream modules and the inter-interleaving unit 104, the storage unit 106, and the RSC code list. The element 108 controls the signal and the like, wherein the downstream module refers to a module directly connected to the Turbo coding system and serves as an input terminal for data flowing out of the Turbo coding system;
内交织模块 104: 内部主要包括初值存储子单元 104a和递推计算子单 元 104b。 初值存储子单元 104a, 用于存储进行交织地址递推的初值; 递推 地址, 即完成交织地址11( ) = 1110(1( + /:^ 2, 的 8路并行计算功能, 使每个时钟可以同时输出 8 个交织地址, Π(8«)、 Π(8« + 1)、 Π(8« + 2)、 Π(8« + 3)、 Π(8« + 4)、 Π(8« + 5)、 Π(8« + 6)、 Π(8« + 7) ; The inner interleaving module 104: internally mainly includes an initial value storage subunit 104a and a recursive calculation subunit 104b. The initial value storage sub-unit 104a is configured to store the initial value of the interleaving address recursion; the recursive address, that is, the completion of the interleave address 11 ( ) = 1110 (1 ( + / : ^ 2 ) , the 8-way parallel computing function, so that each Each clock can output 8 interleaved addresses at the same time, Π(8«), Π(8« + 1), Π(8« + 2), Π(8« + 3), Π(8« + 4), Π( 8« + 5), Π (8« + 6), Π (8« + 7);
存储单元 106: 内部主要包括有两套存数据的双口 RAM子单元, 即第 一 RAM子单元 106a和第二 RAM子单元 106b ,每套 RAM子单元包含有 8 块深度为 768、 宽度为 lbit的双口 RAM。 通过两套双口 RAM子单元进行 乒乓操作, 实现对数据的同时读写。 在写数据操作时, 可一次写入 8bits数 据; 在读数据操作时, 可同时接收读操作控制子单元 102c输入的顺序递增 地址和内交织单元 104产生的交织地址,同时输出未经交织后的数据( 8bits ) 和交织过的数据 ( 8bits );  The storage unit 106: internally includes two sets of dual-port RAM sub-units for storing data, that is, a first RAM sub-unit 106a and a second RAM sub-unit 106b. Each set of RAM sub-units includes 8 blocks of depth 768 and a width of lbit. Dual port RAM. The ping-pong operation is performed by two sets of dual-port RAM sub-units to realize simultaneous reading and writing of data. In the write data operation, 8 bits of data can be written at a time; during the read data operation, the sequential increment address input by the read operation control subunit 102c and the interleave address generated by the inner interleaving unit 104 can be simultaneously received, and the uninterleaved data can be output simultaneously. (8bits) and interleaved data (8bits);
RSC编码器单元 108:内部主要由第一 RSC编码子单元 108a、第二 RSC 编码子单元 108b和 RSC控制子单元 108c组成,第一 RSC编码子单元 108a 负责对未交织数据 ( 8bits )进行并行 RSC编码; 第二 RSC编码子单元 108b 负责对交织数据 ( 8bits )进行并行 RSC编码; RSC控制子单元 108c负责 对第一 RSC编码子单元 108a和第二 RSC编码子单元 108b的 RSC编码后 数据进行输出控制, 同时输出 8bits系统码、 8bits第一校验码及 8bits第二 校验码。  The RSC encoder unit 108 is internally composed mainly of a first RSC encoding subunit 108a, a second RSC encoding subunit 108b, and an RSC control subunit 108c, and the first RSC encoding subunit 108a is responsible for performing parallel RSC on uninterleaved data (8 bits). Encoding; the second RSC encoding sub-unit 108b is responsible for parallel RSC encoding of the interleaved data (8 bits); the RSC control sub-unit 108c is responsible for outputting the RSC encoded data of the first RSC encoding sub-unit 108a and the second RSC encoding sub-unit 108b. Control, simultaneously output 8bits system code, 8bits first check code and 8bits second check code.
再如图 5所示, 是本发明内交织单元 104的交织地址递推产生示意图。 LTE 中 Turbo 编码系统内部的内 交织单元 104 的输入即 c^ c^ c^ c,,...^^ , 输出即为 , ,...,4— i , 其中 40≤ ≤6144 , 输入和输出之 间满足以下算法关系: As shown in FIG. 5, it is a schematic diagram of the interleaving address recursive generation of the inner interleaving unit 104 of the present invention. The input of the internal interleaving unit 104 inside the Turbo coding system in LTE is c^c^c^c,,...^^, and the output is , ,...,4—i , where 40≤ ≤6144, input and Output The following algorithm relationships are satisfied:
C; = Cn(i), (i = 0,L,K_1) C ; = Cn(i) , (i = 0, L, K_1)
Π(ϊ) = modC^ xi + f2x i2, K) Π(ϊ) = modC^ xi + f 2 xi 2 , K)
要完成交织地址 n() = mod ; x + /2x 2, 的 8路并行计算功能, 使 每个时钟同时输出 8个交织地址,即 Π(8«)、 Π(8« + 1)、 Π(8« + 2)、 Π(8« + 3)、 Π(8« + 4)、 Π(8« + 5)、 Π(8« + 6)、 Π(8« + 7), 本发明采用并行递推的实现 方案。 To complete the 8-way parallel calculation function of the interleave address n() = mod ; x + / 2 x 2 ,, each clock outputs 8 interleaved addresses simultaneously, ie Π(8«), Π(8« + 1), Π(8« + 2), Π(8« + 3), Π(8« + 4), Π(8« + 5), Π(8« + 6), Π(8« + 7), the invention Adopt parallel recursive implementation.
根据上面 LTE Turbo 编码系 统的 内 交织地址产生公式 n() = mod( 1x + 2x 2, K), 对于 40≤ ≤6144的码块值 K, 可以推导出: According to the internal interleaving address of the above LTE Turbo coding system, the formula n() = mod( 1 x + 2 x 2 , K) is generated. For the code block value K of 40 ≤ ≤ 6144, it can be derived:
Π( + 1) = moddf, χ ( + 1) + /2χ ( + 1)2), Κ) Π( + 1) = moddf, χ ( + 1) + / 2 χ ( + 1) 2 ), Κ)
= mod((n(i) + modCCmodC^ + f2,K) + mod(2if2,K)), K)), K) ( 1 )= mod((n(i) + modCCmodC^ + f 2 ,K) + mod(2if 2 ,K)), K)), K) ( 1 )
U(i + 8) = mod((/; x (i + 8) + 2x (i + 8)2), K) U(i + 8) = mod((/; x (i + 8) + 2 x (i + 8) 2 ), K)
= mod((n() + moddmodiSf, + 64 f2,K) + mod(16if2 , K)), K)), K) ( 2 ) 由上面的推导可以看出, Π( + 1)的结果可以由 Π(0、 Λ + Λ和 2 的值 求出。 其中, 对于固定的码块大小 Κ, Λ + Λ是固定的, 2^也可以通过累 加进行求解, 而相应的 mo /; + /2, 和 ηιοά(2/2, )可以通过预先在初值存储 子单元 104a中保存 moc ^ + y^ Q和 mod(2/2,iO的值, 然后根据码块大小 K 值查询保存的相应地址中的值来递推计算进而得到 Π( + 1)。 = mod((n() + moddmodiSf, + 64 f 2 ,K) + mod(16if 2 , K)), K)), K) ( 2 ) As can be seen from the above derivation, Π( + 1) The result can be obtained from the values of Π(0, Λ + Λ and 2. Among them, for a fixed block size Κ, Λ + Λ is fixed, 2^ can also be solved by accumulating, and the corresponding mo /; + / 2 , and ηιοά(2/ 2 , ) can be saved by pre-preserving the values of moc ^ + y^ Q and mod(2/ 2 , iO in the initial value storage sub-unit 104a, and then querying according to the code block size K value The value in the corresponding address is recursively calculated to obtain Π( + 1).
同理 Π( + 8)可以通过预先在初值存储子单元 104a 中保存 mod((S f,+ 64 f2),K) , mod(16/2, 和 ηιοά(128/2, )的值, 然后才艮据码块大小 Κ 值查询保存的相应地址来读取并递推计算出。 Similarly, (+8) can save the values of mod((S f, + 64 f 2 ), K) , mod(16/ 2 , and ηιοά(128/ 2 , ) in the initial value storage subunit 104a in advance. Then, according to the code block size 值 value query, the corresponding address saved is read and recursively calculated.
8路并行交织的地址可以由 Π(0) = 0根据推导关系式(1 )推导出 Π(1) , 根据推导关系式(2)推导出第一路的输出地址 Π(8) , 然后利用第一路的地 址来推导第二路输出地址, 利用第二路输出地址来推导出第三路输出地址, 8路并行交织的地址递推过程如图 5所示。 根据上面的分析和图 5推导, 可以看出, 内交织单元 104需要分别存 储 mo ^+y), 、 raod(2f2,K)、 mod((8/; +64/2), 、 mod(16/2, 和 ηιοά(128/2, ) 的初值。 The 8-way parallel interleaved address can derive Π(1) from 推(0) = 0 according to the derivation relation (1), derive the output address Π(8) of the first way according to the derivation relation (2), and then utilize The address of the first way is used to derive the second output address, and the second output address is used to derive the third output address. The recursive process of the eight parallel interleaved addresses is as shown in FIG. 5. According to the above analysis and the derivation of FIG. 5, it can be seen that the inner interleaving unit 104 needs to store mo ^+y), raod(2f 2 , K), mod((8/; +64/ 2 ), mod( The initial value of 16/ 2 , and ηιοά (128/ 2 , ).
图 6为本发明中初值存储子单元 104a的结构示意图。 该子单元的数据 位宽为 13bits, 深度为 940, 地址宽度为 10。 地址 0~187对应存储的数据是 modd^+f^K)的初值; 地址 188~375对应存储的数据是 mod(2/2, 的初值; 地址 376~563对应存储的数据是 mod^/; +64/2), 的初值; 地址 564~751对 应存储的数据是 mod(16/2,iO的初值; 地址 752~939 对应存储的数据是 mod(128/2, 的初值。 FIG. 6 is a schematic structural diagram of the initial value storage subunit 104a in the present invention. The subunit has a data bit width of 13 bits, a depth of 940, and an address width of 10. The data stored in addresses 0~187 is the initial value of modd^+f^K); the data stored in addresses 188~375 is the initial value of mod(2/ 2) ; the data stored in addresses 376~563 is mod^ /; +64/ 2 ), the initial value; the address 564~751 corresponds to the stored data is mod (16 / 2 , iO initial value; address 752 ~ 939 corresponding stored data is mod (128 / 2 , the initial value .
图 7为 Turbo编码系统中单比特卷积码编码实现框图, 要实现 8路并 行的 RSC编码, 本发明采用以下并行的实现方案。  FIG. 7 is a block diagram of a single-bit convolutional code encoding implementation in a Turbo coding system. To implement 8-way parallel RSC coding, the present invention adopts the following parallel implementation scheme.
由图 7, 有:
Figure imgf000018_0001
(2-1) 可由上式推导并行的 RSC正常数据处理的硬件实现。 最终输出和移位 寄存器终值如下:
From Figure 7, there are:
Figure imgf000018_0001
(2-1) A hardware implementation of parallel RSC normal data processing can be derived from the above equation. The final output and shift register final values are as follows:
z0=DlAD0Ad0; Z0=Dl A D0 A d0;
zl=D2ADlAD0AdlAd0; Zl=D2 A Dl A D0 A dl A d0;
z2-D2AD0Ad2AdlAd0;
Figure imgf000018_0002
z2-D2 A D0 A d2 A dl A d0;
Figure imgf000018_0002
z5=D0M5M4M3M2;  Z5=D0M5M4M3M2;
z6=D2ADlAd6Ad5Ad4Ad3Ad0; Z6=D2 A Dl A d6 A d5 A d4 A d3 A d0;
z7=DlAD0Ad7Ad6Ad5Ad4Adl; next_D0=D2AD 1 M7M5M4M3M0; Z7=Dl A D0 A d7 A d6 A d5 A d4 A dl; next_D0=D2 A D 1 M7M5M4M3M0;
next_D 1 =D0M6M4M3M2;  next_D 1 =D0M6M4M3M2;
next_D2=DlM5M3M2Ml;  next_D2=DlM5M3M2Ml;
其中 z0, zl , z2...z7表示输出的 8路 RSC后的值; DO, Dl , D2表示 RSC的内部寄存器中的当前值; next_D0, next_Dl , next_D2表示上述内部 寄存器中下一个状态的值; d0, dl ...d7表示 8路并行输入。  Where z0, zl, z2...z7 represent the value of the 8-channel RSC after output; DO, Dl, D2 represent the current value in the internal register of the RSC; next_D0, next_Dl, next_D2 represent the value of the next state in the above internal register ; d0, dl ...d7 represent 8 parallel inputs.
相比于现有技术, 本发明基于 LTE的 TURBO编码方法及系统通过采 用内交织单元计算并存储数据交织地址的初始值, 然后再递推计算出全部 交织地址, 这样就避免了在内交织单元存储全部的交织地址, 大大节省了 硬件内存, 降低了成本; 另外, 本发明的存储单元还设有两个 RAM进行乒 乓操作来实现对数据同时接收读取, 这样就具有较强的数据处理能力, 提 高了 LTE数据链路的处理能力。  Compared with the prior art, the LTE-based TURBO coding method and system of the present invention calculates and stores the initial value of the data interleaving address by using the inner interleaving unit, and then recursively calculates all the interleaved addresses, thus avoiding the inner interleaving unit. Storing all the interleaved addresses greatly saves the hardware memory and reduces the cost. In addition, the memory unit of the present invention is further provided with two RAMs for ping-pong operation to realize simultaneous data reception and reading, thus having strong data processing capability. , improve the processing power of the LTE data link.
另外, 本发明基于 3GPP LTE协议的 Turbo编码器并行设计方案, 其内 部采用乒乓操作及并行编码处理的方式, 大大的缩短了 Turbo 编码的处理 时间, 提高了 Turbo编码的效率, 从而减小了 LTE链路下行的处理时延, 提高了 LTE数据链路的处理能力; 本发明的系统结构清晰, 且可以采用通 用的低成本电路器件实现, 以低成本实现高效率的 Turbo编码运算。  In addition, the present invention is based on the 3GPP LTE protocol Turbo encoder parallel design scheme, which internally adopts the ping-pong operation and the parallel coding processing manner, which greatly shortens the processing time of the Turbo coding, improves the efficiency of the Turbo coding, and thus reduces the LTE. The processing delay of the link downlink improves the processing capability of the LTE data link. The system of the present invention has a clear structure and can be implemented by using a general low-cost circuit device to realize high-efficiency Turbo coding operation at low cost.
以上仅为本发明的优选实施案例而已, 并不用于限制本发明, 对于本 领域的技术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神 和原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的 保护范围之内。  The above is only a preferred embodiment of the present invention, and is not intended to limit the present invention, and various modifications and changes can be made to the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and scope of the present invention are intended to be included within the scope of the present invention.

Claims

权利要求书 Claim
1、 一种基于长期演进(LTE ) 的 TURBO编码方法, 其特征在于, 设 置主控制单元、 内交织单元、 存储单元以及递归系统卷积码(RSC )编码单 元, 该方法还包括:  A TURBO coding method based on Long Term Evolution (LTE), characterized in that: a main control unit, an inner interleaving unit, a storage unit, and a recursive system convolutional code (RSC) coding unit are provided, the method further comprising:
所述主控制单元触发所述存储单元接收并存储顺序数据;  The main control unit triggers the storage unit to receive and store sequential data;
所述主控制单元触发所述内交织单元计算出交织地址后, 产生顺序递 增地址, 并将所述交织地址及顺序递增地址同时输入所述存储单元;  After the main control unit triggers the inner interleaving unit to calculate the interleaving address, generates an sequential increasing address, and simultaneously inputs the interleaved address and the sequential incremental address into the storage unit;
所述 RSC编码单元根据所述交织地址及顺序递增地址从所述存储单元 中读取交织数据和顺序数据后,对所述交织数据和顺序数据进行 RSC编码。  The RSC encoding unit reads the interleaved data and the sequential data from the storage unit according to the interleaving address and the sequential incremental address, and then performs RSC encoding on the interleaved data and the sequential data.
2、 根据权利要求 1所述基于 LTE的 TURBO编码方法, 其特征在于, 所述主控制单元触发存储单元接收并存储顺序数据, 具体包括:  The LTE-based TURBO coding method according to claim 1, wherein the main control unit triggers the storage unit to receive and store the sequence data, which specifically includes:
所述主控制单元接收数据块大小 K值, 并开始接收顺序数据; 所述主控制单元触发所述存储单元接收并存储顺序数据, 同时通过计 数器对接收的数据大 d、进行计数;  The main control unit receives the data block size K value and starts receiving the sequence data; the main control unit triggers the storage unit to receive and store the sequence data, and simultaneously counts the received data by the counter;
所述主控制单元在检查计数器等于 K时, 产生所述存储单元接收完毕 信号。  The main control unit generates the storage unit reception completion signal when the check counter is equal to K.
3、 根据权利要求 2所述基于 LTE的 TURBO编码方法, 其特征在于, 所述方法还包括:  The LTE-based TURBO coding method according to claim 2, wherein the method further includes:
所述主控制单元判断所述 K值是否有效, 在判断无效时, 丟弃所述接 收的顺序数据, 所述主控制单元重新开始接收顺序数据。  The main control unit determines whether the K value is valid. When the judgment is invalid, the received sequence data is discarded, and the main control unit restarts receiving the sequence data.
4、 根据权利要求 3所述基于 LTE的 TURBO编码方法, 其特征在于, 所述主控制单元判断 K值是否有效, 具体为: 检查所述主控制单元接收的 数据块大小 K值是否为 3GPP LTE协议规定的特定值。  The LTE-based TURBO coding method according to claim 3, wherein the main control unit determines whether the K value is valid, specifically: checking whether the data block size K value received by the main control unit is 3GPP LTE. The specific value specified in the agreement.
5、 根据权利要求 1或 2所述基于 LTE的 TURBO编码方法, 其特征在 于, 所述主控制单元触发内交织单元计算出交织地址, 具体包括: 所述主控制单元将 K值传给所述内交织单元, 所述内交织单元计算并 存储交织地址的初始值; The LTE-based TURBO coding method according to claim 1 or 2, wherein the main control unit triggers the inner interleaving unit to calculate an interleave address, which specifically includes: The main control unit transmits a K value to the inner interleaving unit, and the inner interleaving unit calculates and stores an initial value of the interleaving address;
所述内交织单元根据所述 K值、 交织地址的初始值、 以及 3GPP LTE 协议中交织器输入输出关系式递推计算出全部交织地址。  The inner interleaving unit recursively calculates all interleaving addresses according to the K value, the initial value of the interleaving address, and the interleaver input and output relation in the 3GPP LTE protocol.
6、 根据权利要求 1或 2所述基于 LTE的 TURBO编码方法, 其特征在 于, 所述 RSC编码单元根据交织地址及顺序递增地址从存储单元中读取交 织数据和顺序数据后, 对交织数据和顺序数据进行 RSC编码, 具体包括: The LTE-based TURBO coding method according to claim 1 or 2, wherein the RSC coding unit reads the interleaved data and the sequential data from the storage unit according to the interleave address and the sequential incremental address, and then performs interleaved data and The sequential data is RSC encoded, and specifically includes:
RSC 编码单元根据所述交织地址及顺序递增地址从所述存储单元中读 取交织数据和顺序数据; The RSC encoding unit reads the interleaved data and the sequential data from the storage unit according to the interleaved address and the sequential incremental address;
RSC编码单元分别对所述交织数据和顺序数据进行 RSC编码, 同时所 述主控制单元通过计数器对接收的交织数据和顺序数据进行计数;  The RSC encoding unit respectively performs RSC encoding on the interleaved data and the sequential data, and the main control unit counts the received interleaved data and the sequential data through a counter;
所述主控制单元检查计数器是否等于 K, 若是, 则所述主控制单元产 生数据读取完毕信号, 若否, 则所述 RSC编码单元从所述存储单元中继续 读取交织数据和顺序数据, 直至所述主控制单元检查到所述计数器等于 K 为止。  The main control unit checks whether the counter is equal to K, and if so, the main control unit generates a data read completion signal, and if not, the RSC encoding unit continues to read the interleaved data and the sequential data from the storage unit. Until the main control unit checks that the counter is equal to K.
7、 根据权利要求 1所述基于 LTE的 TURBO编码方法, 其特征在于, 所述存储单元包括两个随机存取存储器( RAM ), 所述存储单元通过其中任 意一个 RAM进行接收数据操作,同时通过另一个 RAM进行读取数据操作。  The LTE-based TURBO encoding method according to claim 1, wherein the storage unit comprises two random access memories (RAMs), and the storage unit performs data receiving operations through any one of the RAMs, and simultaneously passes through Another RAM performs a read data operation.
8、 一种基于 LTE的 TURBO编码系统, 其特征在于, 所述系统包括: 主控制单元、 内交织单元、 存储单元以及 RSC编码单元;  8. An LTE-based TURBO coding system, the system comprising: a main control unit, an inner interleaving unit, a storage unit, and an RSC coding unit;
所述主控制单元, 用于控制所述存储单元接收并存储顺序数据、 控制 所述交织单元计算出交织地址、 以及控制所述 RSC编码单元从所述存储单 元中读取交织数据和顺序数据;  The main control unit is configured to control the storage unit to receive and store sequence data, control the interleaving unit to calculate an interleave address, and control the RSC encoding unit to read interleave data and sequence data from the storage unit;
所述内交织单元, 连接于所述主控制单元及所述存储单元, 用于计算 数据的交织地址; 所述存储单元,连接于所述主控制单元、 内交织单元及 RSC编码单元, 用于接收并存储顺序数据、 根据所述交织地址及顺序递增地址输出交织数 据和顺序数据; The inner interleaving unit is connected to the main control unit and the storage unit, and is used to calculate an interleaving address of data; The storage unit is connected to the main control unit, the inner interleaving unit, and the RSC encoding unit, and configured to receive and store sequential data, output interleaved data and sequential data according to the interleaved address and the sequential incremental address;
所述 RSC编码单元, 连接于所述主控制单元及存储单元, 用于对所述 交织数据和顺序数据进行 RSC编码。  The RSC coding unit is connected to the main control unit and the storage unit, and is configured to perform RSC coding on the interleaved data and the sequential data.
9、 根据权利要求 8所述基于 LTE的 TURBO编码系统, 其特征在于, 所述主控制单元进一步包括:  The LTE-based TURBO coding system according to claim 8, wherein the main control unit further comprises:
K值有效判断子单元, 用于判断数据块大小 K值是否为 3GPP LTE协 议规定的特定值;  The K value valid judgment subunit is configured to determine whether the data block size K value is a specific value specified by the 3GPP LTE protocol;
写控制操作子单元, 用于对所述存储单元进行接收数据的操作; 读控制操作子单元, 用于对所述存储单元进行读取数据的操作。  a write control operation subunit for performing an operation of receiving data on the storage unit; and a read control operation subunit for performing an operation of reading data on the storage unit.
10、 根据权利要求 8所述基于 LTE的 TURBO编码系统, 其特征在于, 所述内交织单元进一步包括:  The LTE-based TURBO coding system according to claim 8, wherein the internal interleaving unit further comprises:
初值存储子单元, 用于存储所述内交织单元计算交织地址所需的初始 值;  An initial value storage subunit, configured to store an initial value required by the inner interleaving unit to calculate an interleave address;
递推计算子单元, 用于根据数据块大小 K值以及所述初值存储子单元 中的初始值递推计算出全部交织地址。  And a recursive calculation subunit, configured to recalculate all interleaved addresses according to a data block size K value and an initial value in the initial value storage subunit.
11、 根据权利要求 8所述基于 LTE的 TURBO编码系统, 其特征在于, 所述存储单元进一步包括第一 RAM子单元及第二 RAM子单元, 所述第一 RAM子单元及第二 RAM子单元用于进行乒乓操作, 接收并存储顺序数据 的同时, 根据所述交织地址及顺序递增地址输出交织数据和顺序数据。  The LTE-based TURBO coding system according to claim 8, wherein the storage unit further comprises a first RAM sub-unit and a second RAM sub-unit, the first RAM sub-unit and the second RAM sub-unit For performing a ping-pong operation, while receiving and storing the sequential data, the interleaved data and the sequential data are output according to the interleaved address and the sequential increment address.
12、 根据权利要求 8所述基于 LTE的 TURBO编码系统, 其特征在于, 所述 RSC编码单元进一步包括:  The LTE-based TURBO coding system according to claim 8, wherein the RSC coding unit further comprises:
第一 RSC编码子单元, 用于对接收的顺序数据进行 RSC编码; 第二 RSC编码子单元, 用于对接收的交织数据进行 RSC编码; RSC编码控制子单元, 连接所述第一 RSC编码子单元和第二 RSC编 码子单元, 用于对所述第一 RSC编码子单元和第二 RSC编码子单元 RSC 编码后数据的进行输出控制。 a first RSC encoding subunit, configured to perform RSC encoding on the received sequence data, and a second RSC encoding subunit, configured to perform RSC encoding on the received interleaved data; The RSC coding control subunit is configured to connect the first RSC coding subunit and the second RSC coding subunit, and is configured to perform output control on the RSC encoded data of the first RSC coding subunit and the second RSC coding subunit.
13、 根据权利要求 8至 12任一项所述基于 LTE的 TURBO编码系统, 其特征在于, 所述主控制单元进一步用于, 在每一时钟将 N个顺序递增地 址发送到所述存储单元;  The LTE-based TURBO coding system according to any one of claims 8 to 12, wherein the main control unit is further configured to: send N sequential incremental addresses to the storage unit at each clock;
所述内交织单元进一步用于,在每一时钟向所述存储单元并行地输出 N 个交织地址;  The inner interleaving unit is further configured to output N interleaving addresses in parallel to the storage unit at each clock;
所述系统中至少包含 N个所述存储单元,在所述主控制单元的控制下, N个存储单元同时进行写操作, 每一存储单元在每一时钟写入 1比特数据; 所述存储单元根据接收到的 N个顺序递增地址和 N个交织地址并行地将本 地保存的数据读出, 并对应地输出到所述 RSC编码单元中;  The system includes at least N of the storage units, under the control of the main control unit, N storage units simultaneously perform a write operation, and each storage unit writes 1 bit of data at each clock; the storage unit Reading the locally saved data in parallel according to the received N sequential increment addresses and the N interleave addresses, and outputting the data to the RSC encoding unit correspondingly;
相应地, 所述 RSC编码器进一步用于, 对在每一时钟接收到的 N比特 未交织数据进行 RSC编码, 并对在每一时钟接收到的 N比特交织数据进行 RSC编码; 在每一时钟同时输出 N比特系统码、 N比特第一校验码和 N比 特第二校验码。  Correspondingly, the RSC encoder is further configured to perform RSC encoding on the N-bit uninterleaved data received at each clock, and perform RSC encoding on the N-bit interleaved data received at each clock; At the same time, an N-bit system code, an N-bit first check code, and an N-bit second check code are output.
14、根据权利要求 13所述基于 LTE的 TURBO编码系统,其特征在于, 所述系统中除上述 N个存储单元外还包括另外 N个存储单元, 所述另外 N 个存储单元与上述 N个存储单元进行乒乓操作, 同时对所述存储单元内的 数据进行读写操作。  The LTE-based TURBO coding system according to claim 13, wherein the system further includes another N storage units in addition to the N storage units, and the other N storage units and the N storage units. The unit performs a ping-pong operation and simultaneously reads and writes data in the storage unit.
15、根据权利要求 13所述基于 LTE的 TURBO编码系统,其特征在于, 当 N=8 时, 所述初值存储单元中保存的初始值为: moc J + O 、 mod(2f2, K) ,
Figure imgf000023_0001
mod(12Sf2, K); 其中, K为码 块大小, 40≤ ≤61 4 , 参数 ;和 的取值根据 Κ值变化;
The LTE-based TURBO coding system according to claim 13, wherein when N=8, the initial values stored in the initial value storage unit are: moc J + O , mod(2f 2 , K) ,
Figure imgf000023_0001
Mod(12Sf 2 , K); where K is the code block size, 40 ≤ ≤ 61 4 , the parameter; and the value of the sum varies according to the Κ value;
相应的, 所述递推计算子单元进一步用于, 利用公式: Π ' + 1) = mod((n(/) + mod((mod(/ + f2,K) + mod(2if2, K)), )), 先后通过递 4体 计算出交织地址 Π(1) ~Π(7)的值; Correspondingly, the recursive calculation subunit is further used to: use a formula: Π '+ 1) = mod ( (n (/) + mod ((mod (/ + f 2, K) + mod (2if 2, K)),)), has passed the delivery body 4 calculates the interleave address [pi ( 1) the value of ~Π( 7 );
根据公式:  According to the formula:
Π( + 8) = ιηοά((Π() + moddmodiSf, + 6 f2,K) + mod(16if2,K)), K)), Κ)先后通过 递推计算出交织地址 Π(8)~Π(15)的值。 Π( + 8) = ιηοά((Π() + moddmodiSf, + 6 f 2 ,K) + mod(16if 2 ,K)), K)), Κ) Calculate the interleaved address by recursion Π(8) ~Π(15) value.
PCT/CN2010/073636 2009-07-21 2010-06-07 Turbo encoding method and turbo encoding system based on long term evolution (lte) WO2011009344A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN200910109046.6A CN101964692B (en) 2009-07-21 2009-07-21 Long term evolution (LTE)-based TURBO coding method and system
CN200910109046.6 2009-07-21
CN2010201145471U CN201789496U (en) 2010-02-03 2010-02-03 LTE Turbo encoder
CN201020114547.1 2010-02-03

Publications (1)

Publication Number Publication Date
WO2011009344A1 true WO2011009344A1 (en) 2011-01-27

Family

ID=43498749

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2010/073636 WO2011009344A1 (en) 2009-07-21 2010-06-07 Turbo encoding method and turbo encoding system based on long term evolution (lte)

Country Status (1)

Country Link
WO (1) WO2011009344A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1494770A (en) * 2001-02-28 2004-05-05 �����ɷ� Interleaver for TURBO decoder
US7051261B1 (en) * 2002-10-29 2006-05-23 Lattice Semiconductor Corporation Turbo encoder with reduced processing delay
CN101154957A (en) * 2006-09-30 2008-04-02 华为技术有限公司 Turbo code interweaver and interweaved address transmission method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1494770A (en) * 2001-02-28 2004-05-05 �����ɷ� Interleaver for TURBO decoder
US7051261B1 (en) * 2002-10-29 2006-05-23 Lattice Semiconductor Corporation Turbo encoder with reduced processing delay
CN101154957A (en) * 2006-09-30 2008-04-02 华为技术有限公司 Turbo code interweaver and interweaved address transmission method

Similar Documents

Publication Publication Date Title
EP3079287B1 (en) Polar code processing method and system
May et al. A 150Mbit/s 3GPP LTE turbo code decoder
TW543303B (en) Buffer architecture for a turbo decoder
EP2323265B1 (en) Efficient multi-symbol deinterleaver
WO2014075419A1 (en) Data processing method and device
EP2399341B1 (en) Extended turbo interleavers for parallel turbo decoding
WO2011082509A1 (en) Method and device for decoding turbo code
US8719658B2 (en) Accessing memory during parallel turbo decoding
EP1786109A1 (en) Block encoding and decoding method and apparatus, with controllable decoding latency
WO2003044965A1 (en) Interleaving order generator, interleaver, turbo encoder, and turbo decoder
WO2009152770A1 (en) Method and apparatus for implementing interleaving and de-interleaving at second time
WO2023093251A1 (en) Method for receiving pdcp packet, apparatus for receiving pdcp packet, and terminal device
CN113541856A (en) Data recovery method and device
WO2020135616A1 (en) Polar coded modulation method and apparatus
WO2011095115A1 (en) Method and device for de-interleaving
US7831894B2 (en) Address generation for contention-free memory mappings of turbo codes with ARP (almost regular permutation) interleaves
KR100628201B1 (en) Method for Turbo Decoding
WO2011009344A1 (en) Turbo encoding method and turbo encoding system based on long term evolution (lte)
JP3920220B2 (en) Communication device
CN109756307A (en) Data repeating method and device
WO2015109741A1 (en) Decoding method and device
TW200401523A (en) Method of first interleavering of a two interleaver transmitter
WO2008028419A1 (en) Interleaving/de-interleaving method and system in communication system
CN102035557B (en) Method and device for interweaving turbo codes in parallel
CN101964692B (en) Long term evolution (LTE)-based TURBO coding method and system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10801903

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10801903

Country of ref document: EP

Kind code of ref document: A1