WO2011079633A1 - 码速率匹配的串行处理方法、并行处理方法及装置 - Google Patents

码速率匹配的串行处理方法、并行处理方法及装置 Download PDF

Info

Publication number
WO2011079633A1
WO2011079633A1 PCT/CN2010/077389 CN2010077389W WO2011079633A1 WO 2011079633 A1 WO2011079633 A1 WO 2011079633A1 CN 2010077389 W CN2010077389 W CN 2010077389W WO 2011079633 A1 WO2011079633 A1 WO 2011079633A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
check
data stream
memory
stream
Prior art date
Application number
PCT/CN2010/077389
Other languages
English (en)
French (fr)
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 CN201010000107.8A external-priority patent/CN102118217B/zh
Priority claimed from CN201010002208.9A external-priority patent/CN102118219B/zh
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Priority to EP10840422.9A priority Critical patent/EP2461511A4/en
Priority to US13/393,298 priority patent/US8843799B2/en
Publication of WO2011079633A1 publication Critical patent/WO2011079633A1/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • 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
    • 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/6561Parallelized implementations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • 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/2792Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
    • 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/0067Rate matching
    • H04L1/0068Rate matching by puncturing

Definitions

  • the present invention relates to a channel coding part in a mobile communication system, and more particularly to a serial processing method for code rate matching, a parallel processing method and apparatus.
  • data transmitted in a channel is subjected to channel coding to generate partially redundant data, which is used to provide more decoding information to the decoder and improve decoding success rate, but if all of the redundant information is obtained Transmission, resulting in reduced transmission efficiency. Therefore, at present, a better method is to select the amount of information to be transmitted according to the quality of the channel. For example, when the channel quality is good, only the original information is transmitted, and in addition, more parity bits are transmitted in addition to the original information bits. That is, the data generated by the channel encoder needs to be selectively transmitted, and the rate matching is a function of selecting the transmission of the encoded data.
  • a rate matching method that is completely different from R6 is used—circular buffer rate matching.
  • the advantage of this algorithm is that it is easy to implement repetition and puncturing, that is, the rate matching implementation for any data rate is very simple.
  • the main ways to achieve rate matching are software implementation and hardware implementation. Since the data traffic in the LTE system is very large, the processing time for rate matching is very short. If the software is handled, the requirements on the processor are very high, and the cost is also drastically increased.
  • the hardware processing is performed according to the steps described in the protocol, and the encoded data is interleaved and stored in three memories, and then cropped, especially when processing the data in the check 1 memory and the check 2 memory, which requires interleaving, which is very troublesome. And will generate a lot of power consumption during the continuous conversion of the address.
  • existing rate matching includes intra-block interleaving and bit collection, selection, transmission, etc., the principle of which is shown in Figure 1, the input data stream °), "and the system bits S corresponding to the Turbo encoder output, respectively.
  • a parity bit P1 also referred to simply as check 1
  • a second parity bit P2 also referred to simply as check 2). According to the flow direction shown in Figure 1, the system bit is first checked.
  • the number and the index number of each data are numbered from 0, the three data streams input) and )- long, and the length of the three data streams is D, then the input data sequence is i, 0, 1 and 2 respectively correspond to the system.
  • Step 1 Calculate the number of required lines and the number of dummy bits; since the number of columns C of the inter-block interleaver is constant at 32, the block is interleaved.
  • RXC > D additional dummy bits are needed for padding.
  • Step 2 Write dummy bits and data streams
  • the dummy bits are written to the interleaver in rows, and then the data stream is written in rows) to form a matrix of RxC as shown below:
  • the third step performing column exchange and reading data
  • LTE uses interleavers with different parameters for different data streams, which are described separately below.
  • Sub-interleaver 1
  • the column number of the Rx C matrix is 0, Cl.
  • ' e ⁇ Q,l,—,Cl ⁇ performs column-to-column exchange, that is, P j) is the column number of the j-th exchange column before the exchange, and Table 1 is the inter-column interleaving pattern table.
  • the matrix after column interleaving is as follows:
  • the existing sub-interleaver 2 is the result of the sub-interlace 1 after the lbit offset. Therefore, it is easy to conclude from the above analysis that the correspondence between the output of the sub-interleaver 2 and the input is:
  • the fourth step bit collection
  • Kk 0,l,...,K n -l
  • Step 5 Calculate the length of the output bit sequence after rate matching
  • This step requires four parameters, which are:
  • G - the sum of the number of bits output after all code block rate matching, that is, one transport block can The number of bits transmitted;
  • the length of the output sequence after rate matching is calculated as follows:
  • the sixth step data selection and deletion
  • End ⁇ Nf/> is a general term for padding bits added at the time of block division and dummy bits added at the time of interleaving.
  • the existing implementation schemes are respectively described in TS36.212, and the system bits, check 1 and check 2 are respectively interleaved and stored in three memories, and then sequentially read from the system bit memory according to the parameter configuration. Take the data, or interleave the data from the check 1 and check 2 memories, and then trim the data.
  • three memories are needed in the prior art, and it is necessary to distinguish whether the data to be stored is system bit data or check 1 or check 2 data in the storage process.
  • the prior art needs to determine the memory boundary every time, and needs to perform address multiplexing, that is, the system is complicated and the power consumption is large.
  • the technical problem to be solved by the present invention is to provide a serial processing method, a parallel processing method and a device for code rate matching, thereby solving the storage complexity problem in the code rate matching bit collection process and improving the throughput rate of the system.
  • the present invention discloses a serial processing method for code rate matching, which includes:
  • the corresponding data in the received check 1 data stream and the check 2 data stream refers to: verifying the first data in the 1 data stream to the second last data and verifying 2 respectively
  • the second data in the data stream corresponds to the last data
  • the last data in the verification data stream corresponds to the null value filled in the verification 2 data stream
  • the first data in the 2 data stream is verified and verified. 1
  • the null value filled in the data stream corresponds.
  • the step of simultaneously performing interleaving processing on the received data in the check 1 data stream and the check 2 data stream includes: selecting each data in the check 1 data stream according to the receiving order and corresponding The data in the verification 2 data stream is simultaneously interleaved, and the last data in the verification data stream is interleaved simultaneously with the corresponding null value, and the first data in the verification 2 data stream and its corresponding null value are verified. Interleaving is performed at the same time.
  • the step of reading valid data from the memory includes: sequentially reading valid data from the memory according to the set address and the output data length, wherein, from the storage The valid system bit data is sequentially read in the first buffer area of the device, and the valid check data is sequentially read from the second buffer area of the memory.
  • the memory is a true dual port memory.
  • the invention also discloses a code rate matching serial processing device, comprising a control module, an interlace address calculation module and a punching module, wherein:
  • the control module is configured to input the received system data stream to the interleave address calculation module for interleaving processing, and buffered in the first buffer area; and corresponding to the received check 1 data stream and the check 2 data stream The data is simultaneously input to the interleave address calculation module for interleaving processing, and is buffered in the second buffer area;
  • the interleave address calculation module is configured to perform interleaving processing on the system bit data in the system bit data stream according to the control of the control module, and perform interleaving processing on the corresponding input data stream and the corresponding data in the check 2 data stream;
  • the puncturing module is set to read valid data from memory for rate matching.
  • the corresponding data in the received check 1 data stream and the check 2 data stream refers to: verifying the first data in the data stream to the second to last data and verifying 2 Corresponding to the second data in the data stream to the last data, the last data in the check 1 data stream corresponds to the null value filled in the check 2 data stream, and the first data in the 2 data stream is verified. Verify that the null value filled in the 1 data stream corresponds.
  • control module is further configured to simultaneously input each data in the verification 1 data stream into the interleave address calculation module according to the reception order and the corresponding verification 2 data, and verify the last one in the data stream.
  • the data and its corresponding null value are simultaneously input to the interleave address calculation module, and the first data in the check 2 data stream is simultaneously input to the interleave address calculation module with its corresponding null value.
  • the puncturing module is further configured to sequentially read valid data from the memory according to the set address and the output data length, wherein the valid system bits are sequentially read from the first buffer area of the memory. Data, sequentially reading valid check data from the second buffer of the memory.
  • the memory is a true dual port memory.
  • the present invention also discloses a parallel processing method for code rate matching, including:
  • Rate matching is performed by reading valid data from a memory for storing system bit data and a memory for storing check data.
  • the corresponding data group in the check 1 data stream and the check 2 data stream refers to: verifying the first data in the data stream to the second to last data and the data stream in the check 2 data stream
  • the two data to the last data constitute a corresponding data group
  • the last data in the verification 1 data stream and the null value filled in the verification 2 data stream constitute a corresponding data group
  • the first data in the 2 data stream is verified.
  • the null values filled in the check 1 data stream constitute the corresponding data group.
  • the step of performing interleaving processing on the N corresponding data groups in the check 1 data stream and the check 2 data stream includes: according to the receiving order of each data of the check 1 data stream, the check 1 data stream is Each data respectively forms a corresponding data group with each data in the verification 2 data stream, and interleaves the N corresponding data groups in all the corresponding data groups, until all corresponding data groups are processed, wherein each The corresponding data group is interleaved as one data.
  • the steps of reading valid data from a memory for storing system bit data and a memory for storing parity data include:
  • valid system bit data is read in parallel from the memory for storing system bit data
  • valid check data is read in parallel from the memory for storing the check data
  • the number of memories for storing system bit data is equal to the set parallel degree; when the memory for storing system bit data is a dual port memory , the number of memories used to store system bit data is set One-half of the degree of parallelism.
  • the number of memories for storing the check data is equal to the set parallel degree; when the memory for storing the check data is a dual port memory
  • the number of memories used to store the check data is one-half of the set degree of parallelism.
  • the invention also discloses a code rate matching parallel processing device, comprising a control module, N interleave address calculation modules and a puncturing module, wherein N is equal to a previously set parallel degree, wherein:
  • the control module is configured to control the N interleave address calculation modules to perform interleaving processing on the N system bit data in the received system bit data stream, and cache the N system bit data subjected to the interleaving process in parallel for storing system bit data. And controlling the N interleave address calculation modules to interleave the received check 1 data stream and the N corresponding data groups in the check 2 data stream, and parallel buffer the N corresponding data groups subjected to the interleaving process In a memory for storing check data;
  • the interleave address calculation module is configured to perform interleaving processing on the system bit data according to the control of the control module, and perform interleaving processing on the corresponding data group in the check 1 data stream and the check 2 data stream;
  • the puncturing module is arranged to read valid data from a memory for storing system bit data and a memory for storing check data to achieve rate matching.
  • the corresponding data group in the check 1 data stream and the check 2 data stream refers to: verifying the first data in the data stream to the second to last data and the data stream in the check 2 data stream
  • the two data to the last data constitute a corresponding data group
  • the last data in the verification 1 data stream and the null value filled in the verification 2 data stream constitute a corresponding data group
  • the first data in the 2 data stream is verified.
  • the null values filled in the check 1 data stream constitute the corresponding data group.
  • control module is further configured to, according to the receiving order of each data of the verification 1 data stream, form each data in the verification 1 data stream and each data in the verification 2 data stream to form a corresponding data group, and
  • the N corresponding data groups in all the corresponding data groups are input to the N interleave address calculation modules for performing interleaving processing until all corresponding data groups are processed;
  • the interleave address calculation module is further configured to treat each corresponding data group input by the control module as one The data is interleaved.
  • the puncturing module is further arranged to read the valid system bit data in parallel from the memory for storing the system bit data, and to read the valid check data in parallel from the memory for storing the check data.
  • the number of memories for storing system bit data is equal to the set parallel degree; when the memory for storing system bit data is a dual port memory The number of memories used to store system bit data is one-half of the set parallelism.
  • the memory for storing the verification data when the memory for storing the verification data is a single-port memory, the number of memories for storing the verification data is equal to the set parallel degree; and the memory for storing the verification data is a dual-port memory.
  • the number of memories used to store the check data is one-half of the set degree of parallelism.
  • the technical solution of the present invention realizes interleaved storage when storing the verification 1 data stream and the verification 2 data stream, thereby simplifying the storage structure and reducing the system complexity.
  • the system bit data and the check data are uniformly stored, so that the data is read out in parallel, the parallel puncturing is facilitated, and the rate matching processing rate is improved, and Since the solution reduces the storage interface, the hardware implementation steps are simplified, power consumption and area are saved, and the cost is reduced.
  • the parallel processing of the code rate matching according to the technical solution of the present invention improves the system processing capability.
  • FIG. 2 is a schematic structural diagram of a code rate matching serial processing apparatus provided in the present invention
  • FIG. 3 is a block diagram of an interleave address calculation module in a code rate matching processing apparatus provided in the present invention
  • Figure 4 is a flow chart showing the code rate matching of the apparatus shown in Figure 2;
  • FIG. 5 is a schematic structural diagram of a parallel processing apparatus for code rate matching provided in the present invention
  • Figure 6 is a flow chart showing the implementation of code rate matching by the apparatus of Figure 5.
  • Equation 1 the interleaving address generation manners of the system bit data stream and the check 1 data stream are the same, as shown in Equation 1, and the interleaving address generation formula of the verification 2 data stream is as Equation 2 shows:
  • the present invention considers shifting the input data of the verification 2 data stream to the left by one position (immediately Check that the first data in the data stream is moved to the last position), so that the interleaving address generation method of the verification 2 data stream is exactly the same as the interleaving address generation method of the system bit data stream and the check 1 data stream, so that An interleaved address generating device can be shared.
  • the interleave storage of the check 1 and the check 2 can be realized in the storage process, and when the data is read, only the check data needs to be read sequentially. Just fine.
  • the system has a small throughput.
  • the present invention provides a serial processing device for code rate matching. As shown in FIG. 2, at least an interleaving address calculation module, a storage module, a punching module, and a control module are included. . The functions of each module are described below.
  • the control module is mainly configured to control an operating state of the interleave address calculation module, the storage module, and the puncturing module, wherein the control module controls the interleave address calculation module to perform interleaving processing on the input system bit data stream, and the interleaved system bits are processed.
  • the data is stored in a buffer for storing system bit data in the memory; the control module simultaneously inputs the data corresponding to the check 1 data stream and the check 2 data stream to the interleave address calculation module, and controls the interleave address calculation module to The corresponding data received at the same time is interleaved at the same time, and the numbers in the check 1 data stream that are simultaneously interleaved are processed.
  • each data in the verification 2 data stream corresponding thereto is stored in a buffer in the memory for storing the verification data according to the address generated by the interleave address calculation module, wherein the corresponding two of the interleaving processes are simultaneously performed.
  • the data is stored in the buffer for storing the check data as the data in the order in which the check data is first.
  • the control module can control the puncturing module to read valid data in parallel from the memory.
  • check 1 data stream and check 2 data corresponding to the data stream means:
  • the control module may first buffer the first data in the check 2 data stream, and the received check 1 data stream
  • the first data, and the second data in the verification 2 data stream corresponding to the data are simultaneously input to the interleave address calculation module for interleaving processing, and so on, and the second data in the 1 data stream is verified to
  • the second to last data and the third data to the last data in the corresponding check data stream are simultaneously input to the interleave address calculation module, wherein the data is received in accordance with the order of receiving the data in the check data stream.
  • the corresponding data is sequentially input to the interleave address calculation module, and then the control module simultaneously inputs the last data in the check 1 data stream and the filled NULL in the corresponding check 2 data stream to the interleave address calculation module, and then The first data in the buffered check 2 data stream and the corresponding NULL in the corresponding check 1 data stream are simultaneously input to the interleave address calculation module, and the checksum is performed.
  • 1 data stream and check 2 NULL filled in the data stream refers to the filled NULL after receiving the data.
  • An interleave address calculation module which is mainly used for calculating an interleave address of the data input by the control module, where the interleave address calculation module takes the corresponding data group in the check 1 data stream and the check 2 data stream input by the control module as one Data is interleaved;
  • the interleaving address calculation module may first transform the column number according to the protocol interleaving conversion table according to the row and column information corresponding to each input data, and then perform the result of the column interleaving transformation and the total number of rows of the matrix. Multiply, the result of multiplying the result of the column interleave transformation by the total number of rows of the matrix is added to the number of rows of the data to obtain an interleave address.
  • the storage module stores the data mainly according to the interleaving address. In this embodiment, the storage module uses the real dual port RAM, wherein the system bit data is stored in the low address portion of the RAM, and the system bit data write bit width is 2 bits. The check 1 and check 2 data are stored as one data, and the stored data bit width is 4 bits. This is equivalent to completing the data interleaving and the generation of soft buffers in one step;
  • the punching module is mainly used to read the parameters according to the starting parameters, the ending parameters, and the number of parameters.
  • the data is read from the memory to determine whether the read data is invalid data. If yes, the invalid data is removed. If not, the output is If the data has not been fetched when the end parameter position is read, continue reading from the first position in the memory until enough data is needed.
  • the following describes the specific process of the serial processing of the above code rate matching serial processing device to implement code rate matching.
  • the process is as shown in FIG. 4, and includes the following steps:
  • Step 401 The code rate matching serial device receives the system bit data stream, the check 1 data stream, and the check 2 data stream, and interleaves the system bit data stream according to the interleaving formula, and performs the check 1 data stream according to the interleaving formula. Verifying that the corresponding data in the data stream is simultaneously interleaved;
  • the data corresponding to the check 1 data stream and the check 2 data stream is: Check the first data in the data stream to the second data and the second data in the check data stream Verifying the data to the last data one-to-one correspondence, verifying that the last data in the data stream corresponds to the NULL filled in the check data stream, and verifying the first data and the check data in the data stream.
  • the NULL filled in the stream corresponds.
  • the received check 1 data stream and the check 2 data stream may be separately buffered and processed, that is, the check 1 data stream is allocated to the buffer 1 and the buffer 2, and is the check 2 data.
  • the stream allocates a register and buffer 1, and the received check 1 data first enters buffer 1 and then enters buffer 2, and the first data of the received check 2 data stream is temporarily stored in the register.
  • the second data of the received check 2 data stream begins to enter buffer 1, thus verifying the data in buffer 2 of the 1 data stream and the data in buffer 1 of the check 2 data stream.
  • the corresponding data can be interleaved according to the interleaving formula at the same time, when the buffer 1 of the check 2 data stream is no longer buffered with data (that is, all data of the check 2 data stream is received)
  • the set number of NULLs is filled in for the check 2 data stream.
  • the data in the buffer 1 of the check data stream (that is, the last data in the received check 1 data stream) is checked.
  • Processing can, when parity data 1 After the last data of the stream is interleaved with its corresponding NULL, the set number of NULLs is filled in for the check 1 data stream, and the number of NULLs filled in the check 1 data stream reaches the set value (ie, padding).
  • the data temporarily stored in the scratchpad that is, the first data in the received check 2 data stream
  • the corresponding data is simultaneously Interleaving is performed according to the interleaving formula.
  • Step 402 The code rate matching serial device stores the interleaved system bit data in the first R*32 positions of the memory (also referred to as a first buffer of the memory, dedicated to storing system data), and The interleavedly processed check 1 data stream and the check 2 data stream are stored as one data in a memory for storing the location of R* 32 locations of the system bit data (ie, when the check data is stored in the same memory, the storage The address needs to be added with the offset address R_sub*32, and this part of the buffer for storing the check data can also be referred to as the second buffer of the memory);
  • the code rate matching serial device stores the interleaved check 1 data stream and the check 2 data stream as a data in the second buffer finger of the memory, and the code rate matching serial device simultaneously
  • the corresponding data in the check 1 data stream and the check 2 data stream after the interleaving process is stored as a data in the second buffer, wherein the corresponding data subjected to the interleaving process is in accordance with the check 1 data before,
  • the data in the second order is stored as a data in the second buffer.
  • Step 403 The serial device of the code rate matching judges and performs clipping according to the parameter fetch data.
  • the code rate matching serial device reads data from the memory according to the system starting position and the output data length. If the reading is NULL, the data is not output, and the number of output data is not counted. When the read is not NULL, the data is output, and the number of output data is counted. When the data has not taken enough data when it reaches the NCB position at the end of the soft buffer, the data will continue to be fetched from the beginning of the soft buffer until the required data value is fetched.
  • the technical solution of the present invention solves the storage complexity problem in the code rate matching bit collection process, is beneficial to subsequent bit clipping processing, reduces system complexity, saves chip area and power consumption, and enables the system.
  • the bit, check 1 and check 2 uniformly process the common interleave generating device, saving one interleave address generator, saving the area and power consumption of the rate matching device.
  • the present invention also provides a parallel processing device for code rate matching. As shown in FIG. 5, at least a parallel N interleave address calculation module for storing a system bit is provided.
  • control module which is mainly used for controlling an interleave address calculation module, a storage module for storing system bit data, a storage module for storing verification data, and an operation state of the punching module, wherein the control module, the received system N data in the bit stream (in this embodiment, N data is the system bit stream 0, 1, 2, and 3 shown in FIG. 5) are simultaneously input to the parallel N interleave address calculation modules, and are controlled.
  • the parallel N interleave address calculation modules simultaneously interleave the input system bit data ie, control the interleave address calculation module to generate an address for the input system bit data
  • the control module also controls the N system bit data simultaneously processed by the interleaving according to Addresses generated by respective interleave address calculation modules are stored in parallel into a memory for storing system bit data; and for simultaneously inputting N corresponding data sets in the received check 1 data stream and check 2 data stream
  • controlling the parallel N interleave address calculation modules simultaneously corresponding to the input Performing interleaving processing according to the group ie, controlling the interleave address calculation module to generate an address for the input system bit data
  • storing the N corresponding data groups simultaneously performing the interleaving process in parallel into the memory for storing the verification data wherein Each corresponding data group subjected to the interleaving process is stored as a data in accordance with the check 1 data, and the check 2 data in the subsequent order.
  • check 1 data stream and check 2 data corresponding to the data stream means:
  • the null value filled in the 2 data stream constitutes the corresponding data group
  • the first data in the check 2 data stream and the NULL filled in the check 1 data stream constitute the corresponding data group.
  • An interleave address calculation module which is mainly used for calculating an interleave address of the data input by the control module, where the interleave address calculation module takes the corresponding data group in the check 1 data stream and the check 2 data stream input by the control module as one Data is interleaved;
  • the interleaving address calculation module may first transform the column number according to the protocol interleaving conversion table according to the row and column information corresponding to each input data, and then interleave the column after interleaving. The result is multiplied by the total number of rows of the matrix. Finally, the result of multiplying the result of the column interleaving transformation by the total number of rows of the matrix is added to the number of rows of the data to obtain an interleaved address.
  • the degree of parallelism at least the same interleave address calculation module as the parallel degree N is required, and the interleave address of each data input in parallel is respectively calculated, wherein the parallel degree refers to each parallel input to the interleaving in FIG. The number of data in the address calculation module.
  • a storage module for storing system bit data which is mainly used for storing system bit data according to control of a control module.
  • the storage module uses a single port memory, the number of single port memories for storing system bit data is in parallel with the setting.
  • the storage module uses the true dual port memory the number of true dual port memories for storing system bit data is one-half of the set degree of parallelism;
  • a storage module for storing verification data which is mainly used for storing system bit data according to control of the control module.
  • the storage module uses a single-port memory
  • the number of single-port memories for storing the verification data is in parallel with the setting. The degree is the same.
  • the memory module uses the true dual port memory
  • the number of true dual port memories is one-half of the set parallelism.
  • the punching module is mainly used for reading the data according to the starting parameter, the ending parameter, the number of parameters, and reading out the data from the memory to determine whether the read data is invalid data, and if so, removing the invalid data, if not, outputting, When the end of the parameter position is not enough data, the reading is continued from the first position of the memory until the required data is obtained;
  • system may further have 2N parallel interleave address calculation modules.
  • the N interleave address calculation modules are dedicated to parallel processing of the input N system bit data
  • the other N interleave address calculation modules are dedicated to The input N corresponding data sets are processed in parallel.
  • Step 601 The code rate matching parallel processing device receives the system bit data stream in parallel, and after verifying the 1 data stream and the check 2 data stream, simultaneously interleaving the N system bit data in the received system bit data stream. Interleaving the N corresponding data groups in the received check 1 data stream and the check 2 data stream simultaneously;
  • the corresponding data group in the check 1 data stream and the check 2 data stream refers to According to the first data in the stream to the second to last data and the second data to the last data in the verification 2 data stream respectively constitute a corresponding data group, verify the last data in the 1 data stream and the check 2 data
  • the null value filled in the stream constitutes the corresponding data group
  • the first data in the verification 2 data stream and the null value filled in the verification 1 data stream constitute a corresponding data group; wherein each corresponding data group can be used as one data Interleave processing.
  • the check 1 data stream and the check 2 data stream that receive the input may be separately buffered, that is, the check 1 data stream is allocated to the buffer 1 and the buffer 2, and the check 2 data stream is allocated.
  • the scratchpad and the buffer 1 the received check 1 data first enters the buffer 1 and then enters the buffer 2, and the first data of the received check 2 data stream is temporarily stored in the register, and the received The second data of the check 2 data stream starts to enter the buffer 1, so that the data in the buffer 2 of the check 1 data stream corresponds to the data in the buffer 1 of the check 2 data stream.
  • Data, the corresponding data can be interleaved according to the interleaving formula at the same time.
  • the data starts.
  • Filling the set 2 data stream with a set number of NULLs thus verifying the data in the buffer 1 of the 1 data stream (ie, the last data in the received check 1 data stream) and the check 2 data
  • the NULL filled in the stream constitutes the corresponding data group, when the check 1 data
  • the filling of the set 1 NULL for the verification 1 data stream is started.
  • NULL constitutes a corresponding data group, and N corresponding data groups in all corresponding data groups are simultaneously interleaved according to an interleaving formula until all corresponding data groups are processed, wherein each corresponding data group is interleaved. When processing, this corresponding data group can be treated as one data.
  • Step 602 The code rate matching parallel processing device stores the N system bit data of the interleaved system bit data stream in a memory for storing system bit data in parallel according to the set parallelism N, and interleaves the processed data.
  • the N corresponding data groups in the check 1 and check 2 data streams are stored in parallel in a memory for storing parity bit data, wherein the memory for storing system bit data is a data bit width memory for The memory storing the parity bit data is two data bit width memories;
  • the parallelism is 4: The interleaving function in the protocol is transformed into the following 4 ⁇ 8 matrix form.
  • the degree of parallelism is 4, since the number of NULLs added in the rate matching is an integer multiple of 4 at the same time, it is inevitable to start from the first row of the interleaving matrix, and the second data is in the third row, the third. The data is in the second line, the last data is in the fourth line, and so on. Then the data can be stored in four memories, and each column stores 8 columns of data. Specifically, the data is written according to the parallelism. The pattern is stored, and successive column numbers are placed in different memories according to the degree of parallelism according to the column interleaving method provided in Table 1, wherein each memory stores a column of consecutive column numbers.
  • Step 603 The code rate matching parallel processing device sequentially reads the system data from the memory for storing the system bit data, sequentially reads the check bit data from the memory for storing the check bit data, and performs cropping.
  • the memory for storing system bit data can also use the true dual port memory.
  • the number of true dual port memories is one-half of the set degree of parallelism. Also, since the transaction address of each data is different, no address conflict occurs in the true dual port memory.
  • the parallelism can be set to any value from 2 to 32 bits.
  • the storage pattern determined by the code rate matching parallel processing device is as follows:
  • the storage pattern determined by the code rate matching parallel processing device is as follows: 0, 16, 8, 24, 4, 20, 12, 28,
  • the technical solution of the present invention uniformly stores input data according to the degree of parallelism of requirements, thereby increasing system throughput.
  • the technical solution of the present invention implements interleaved storage when storing check 1 and check 2, thereby simplifying the storage structure and reducing system complexity.
  • the technical solution of the present invention realizes interleaved storage when storing the verification 1 data stream and the verification 2 data stream, thereby simplifying the storage structure and reducing the system complexity.
  • the system bit data and the check data are uniformly stored, so that the data is read out in parallel, the parallel puncturing is facilitated, and the rate matching processing rate is improved, and Since the solution reduces the storage interface, the hardware implementation steps are simplified, power consumption and area are saved, and the cost is reduced.
  • the parallel processing of the code rate matching according to the technical solution of the present invention improves the system processing capability.

Landscapes

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

Abstract

本发明公开了一种码速率匹配的串行处理方法、并行处理方法及装置。串行处理方法包括:接收系统位数据流、校验1数据流以及校验2数据流,将所接收的系统位数据流中的系统位数据进行交织处理,缓存在存储器的第一缓存区中;将所接收的校验1数据流和校验2数据流中相对应的数据同时进行交织处理,并将同时经过交织处理的数据缓存在存储器的第二缓存区中;以及从存储器中读取有效数据,实现速率匹配。并行处理方法中,将系统位数据流中N个系统位数据进行交织处理,并并行缓存在用于存储系统位数据的存储器中,将校验1数据流和校验2数据流中N个对应数据组进行交织处理,并并行缓存在用于存储校验数据的存储器中。

Description

码速率匹配的串行处理方法、 并行处理方法及装置 技术领域
本发明涉及移动通信系统中信道编码部分, 尤其涉及码速率匹配的串行 处理方法、 并行处理方法及装置。
背景技术
在移动通信系统中, 信道中传输的数据经过信道编码后产生部分冗余数 据, 这些冗余信息用于给解码器提供更多的解码信息, 提高解码成功率, 但 是如果将这些冗余信息全部传输, 造成传输效率下降。 因此目前, 一个比较 好的方法就是根据信道的质量选择传输信息的多少, 例如信道质量比较好时 只传输原始信息, 反之除传输原始信息位还要传输较多的校验位。 即, 需要 对信道编码器产生的数据进行选择传输, 而速率匹配就是实现编码数据选择 传输的功能。
现在, LTE ( Long Term Evolution, 长期演进) 系统中釆用了一种与 R6 完全不同的速率匹配方法——循环緩冲区速率匹配。 该算法的优点在于可以 方便地实现重复和打孔, 即对于任意数据速率的速率匹配实现都非常简单。 其中,实现速率匹配的主要方式有软件实现方式和硬件实现方式。由于在 LTE 系统中数据流量非常大, 留给速率匹配的处理时间非常短, 如果釆用软件的 处理方式, 则对处理器的要求非常高, 随之成本也急剧增加。 而按照协议描 述的步骤做硬件处理, 编码后的数据经过交织存储在三个存储器中, 然后进 行裁剪,尤其在处理校验 1存储器和校验 2存储器中的数据时需要交错读取, 非常麻烦, 而且在地址的不断转换过程中将产生大量的功耗。
因此现有实现技术作了进一步改进。
例如, 现有速率匹配包含块内交织和比特收集、 选择、 传输等操作, 其 原理如图 1所示,输入的数据流 °)、 "和 分别对应于 Turbo编码器输出 的系统比特 S、 第一奇偶校验比特 P1 (也可简称为校验 1 )和第二奇偶校验 比特 P2 (也可简称为校验 2 ) 。 按照图 1所示的流向, 首先对系统位、 校验 1和校验 2分别进行交织处理, 而块内交织处理后的 、 和 则按照一 定的规则被收集到虚拟緩冲区序列 w ,其中根据起始位置和软緩冲区 ( NCB ) 的大小从虚拟緩冲区中读取数据, 其中, 读取的数据在系统位緩冲区中时, 则顺序读取, 读取的数据在校验位緩冲区中时, 则交错读取, 并判断读出的 数据是否为有效数据, 如果是非有效数据则忽略继续读取, 否则输出有效数 据。
下面详细介绍现有的速率匹配处理过程, 其中, 定义行、 列交织器的编
(0)
号以及各数据的索引号均从 0开始编号,输入的三个数据流 )和 )- 长,设这三个数据流长度为 D,则输入数据序列为 i取 0, 1 , 2分别对应系统比特 S、 校验比特 P1和校验比特 P2。
第一步: 计算所需行数和哑元比特的数目; 由于, 块内交织器的列数 C恒定为 32, 则块交织
Figure imgf000004_0001
当 R X C > D时, 就需要额外的哑元比特来进行填充, 哑元比特的个数 ND为: ND = (RxC_D)。
第二步: 哑元比特和数据流的写入;
先将哑元比特按行写入到交织器, 然后按行写入数据流 ), 组成如下所 示的一个 RxC的矩阵:
Figure imgf000004_0002
yc+i yc+2 yi -\ y(R-l) C y(R-l) C+l y(R-l) C+2 y(R c-\) 其中, Λ
Figure imgf000004_0003
第三步: 进行列交换并读出数据;
LTE对不同的数据流釆用了不同参数的交织器, 下面分别进行介绍。 子交织器 1
Rx C 矩阵的列编号为 0, C-l。 按照表 1所示的交换图样 ' e{Q,l,—,C-l}进行列间的交换,也即 P j)是第 j交换列在未交换前的列编号, 表 1为列间交织图样表
列间交换图样 <P(0),P(1), ...,P(C-1) >
, 16, 8, 24, 4, 20, 12, 28, 2, 18, 10, 26, 6, 22, 14
1, 17, 9, 25, 5, 21, 13, 29, 3, 19, 11, 27, 7, 23
31 >
经过列交织之后的矩阵如下:
^ (Ο) p(2) p(c-i)
yp(o)+c yp{\)+c yp(2)+c y P(0)+(R-\)xC yp( )+(R- )xC y P(2)+ R-\)xC p(C-l)+(R-l)xC
V (!) ,,('■) ,,('■)
将以上的矩阵按列读出, 得到输出序列 i 2 ' ¾-i , 其中 v。对应于
^(0) , νί对应于 ¾。)+c , fn =(RxC)。 子交织器 2
现有子交织器 2是子交织 1经过 lbit偏移之后的结果。 因此, 从上面的 分析易得出, 子交织器 2的输出与输入的对应关系为:
+ Cx(k modR) + l mod Κ
Figure imgf000005_0002
第四步: 比特收集;
定义一个循环緩冲区, 大小为 3^π , 然后按照下述方法将交织后的三个 数据收集起来。
,(0)
k k = 0,l,...,Kn-l
,(1)
Figure imgf000005_0001
k = Kn,Kn+2,...,3xKn-2
2 k = Kn + ,Kn +D Kn 1 第五步: 计算速率匹配后输出比特序列的长度;
这一步计算需要用到四个参数, 分别为:
1 ) G——所有码块速率匹配之后输出的比特数之和, 即一个传输块所能 传输的比特数;
2) M——调制方式, 为 QPSK, 16QAM或 64QAM;
3 ) C——码块个数;
4) r ——当前码块的索引, 编号为 0,...,C-1。
速率匹配后输出序列长度的计算如下:
Figure imgf000006_0001
G' =G/Qm
^Y=G' modC, E的计算如下:
ifr≤C
E = Qn G IC
else
E = Qn G'lC
end
第六步: 数据的选择、 删除;
起始位置^ ^二 ^2 ^^2)
Figure imgf000006_0002
while (k < E)
W(k0+j)modK, ≠< NULL > h ― w(k0+j)modKt
k = k + \;
end
J二
end
Figure imgf000006_0003
< Nf/ >是对码块分割时添加的填充比特和交织时 添加的哑元比特的统称。
现有实现方案都是按照 TS36.212中描述, 先将系统位、 校验 1和校验 2 分别交织存储于 3个存储器中, 然后根据参数配置从系统位存储器中顺序读 取数据, 或从校验 1和校验 2存储器中交错读取数据, 然后进行数据的裁剪。 从上可以看出, 现有技术中需要三个存储器, 存储过程中需要区分所要 存储的数据是系统位数据还是校验 1或校验 2的数据。 而且现有技术每次需 要判断存储器边界, 需要做地址多路转换, 即系统复杂, 且功耗大。
发明内容
本发明所要解决的技术问题是, 提供一种码速率匹配的串行处理方法、 并行处理方法及装置, 从而解决码速率匹配比特收集过程中的存储复杂性问 题, 以及提高系统的吞吐率。
为了解决上述问题, 本发明公开了一种码速率匹配的串行处理方法, 包 括:
接收系统位数据流、 校验 1数据流以及校验 2数据流, 将所接收的系统 位数据流中的系统位数据进行交织处理, 緩存在存储器的第一緩存区中; 将 所接收的校验 1数据流和校验 2数据流中相对应的数据同时进行交织处理, 并将同时经过交织处理的数据緩存在所述存储器的第二緩存区中; 以及
从存储器中读取有效数据, 实现速率匹配。
上述串行处理方法中, 所接收的校验 1数据流和校验 2数据流中相对应 的数据指: 校验 1数据流中的第一个数据至倒数第二个数据分别与校验 2数 据流中第二个数据至最后一个数据对应, 校验 1数据流中的最后一个数据与 校验 2数据流中填充的空值对应, 校验 2数据流中的第一个数据与校验 1数 据流中填充的空值对应。
上述串行处理方法中, 将所接收的校验 1数据流和校验 2数据流中相对 应的数据同时进行交织处理的步骤包括: 将校验 1数据流中的各数据按照接 收顺序与对应的校验 2数据流中的数据同时进行交织处理, 将验 1数据流中 最后一个数据与其对应的空值同时进行交织处理, 将校验 2数据流中的第一 个数据与其对应的空值同时进行交织处理。 上述串行处理方法中, 从存储器中读取有效数据的步骤包括: 根据设定 的地址和输出数据长度, 从存储器中顺序循环读取有效数据, 其中, 从存储 器的第一緩存区中依次读取有效的系统位数据, 从存储器的第二緩存区中依 次读取有效的校验数据。
上述串行处理方法中, 存储器为真双口存储器。
本发明还公开了一种码速率匹配的串行处理装置, 包括控制模块、 交织 地址计算模块和打孔模块, 其中:
控制模块设置为将所接收的系统数据流输入给交织地址计算模块进行交 织处理, 并緩存在第一緩存区中; 以及将所接收的校验 1数据流和校验 2数 据流中相对应的数据同时输入给交织地址计算模块进行交织处理, 并緩存在 第二緩存区中;
交织地址计算模块设置为根据控制模块的控制对系统位数据流中的系统 位数据进行交织处理, 对同时输入的校验 1数据流和校验 2数据流中相对应 的数据进行交织处理;
打孔模块设置为从存储器读取有效数据, 实现速率匹配。
上述串行处理装置中, 所接收的校验 1数据流和校验 2数据流中相对应 的数据指: 校验 1数据流中的第一个数据至倒数第二个数据分别与校验 2数 据流中第二个数据至最后一个数据对应, 校验 1数据流中的最后一个数据与 所述校验 2数据流中填充的空值对应, 校验 2数据流中的第一个数据与校验 1数据流中填充的空值对应。
上述串行处理装置中, 控制模块还设置为将校验 1数据流中的各数据按 照接收顺序与对应的校验 2数据同时输入给交织地址计算模块, 将校验 1数 据流中的最后一个数据与其对应的空值同时输入给交织地址计算模块, 将校 验 2数据流中的第一个数据与其对应的空值同时输入给所述交织地址计算模 块。
上述串行处理装置中, 打孔模块还设置为根据设定的地址和输出数据长 度, 从存储器中顺序循环读取有效数据, 其中, 从存储器的第一緩存区中依 次读取有效的系统位数据, 从存储器的第二緩存区中依次读取有效的校验数 据。
上述串行处理装置中, 存储器为真双口存储器。 为了解决上述问题, 本发明还公开了一种码速率匹配的并行处理方法, 包括:
接收系统位数据流、 校验 1数据流以及校验 2数据流, 将系统位数据流 中 N个系统位数据进行交织处理 ,并将 N个系统位数据并行緩存在用于存储 系统位数据的存储器中, 将校验 1数据流和校验 2数据流中 N个对应数据组 进行交织处理, 并将 N个对应数据组并行緩存在用于存储校验数据的存储器 中, 其中, N与事先设定的并行度相等;
从用于存储系统位数据的存储器和用于存储校验数据的存储器中读取有 效数据, 实现速率匹配。
上述并行处理方法中,校验 1数据流和校验 2数据流中的对应数据组指: 校验 1数据流中的第一个数据至倒数第二个数据分别与校验 2数据流中第二 个数据至最后一个数据构成对应数据组, 校验 1数据流中的最后一个数据与 校验 2数据流中填充的空值构成对应数据组, 校验 2数据流中的第一个数据 与校验 1数据流中填充的空值构成对应数据组。
上述并行处理方法中, 将校验 1数据流和校验 2数据流中 N个对应数据 组进行交织处理的步骤包括: 按照校验 1数据流各数据的接收顺序, 将校验 1数据流中各数据分别与校验 2数据流中各数据构成对应数据组, 并将所构 成的所有对应数据组中的 N个对应数据组进行交织处理, 直到处理完所有的 对应数据组, 其中, 每个对应数据组作为一个数据进行交织处理。
上述并行处理方法中, 从用于存储系统位数据的存储器和用于存储校验 数据的存储器中读取有效数据的步骤包括:
根据设定的地址和输出数据长度, 从用于存储系统位数据的存储器中并 行读取有效的系统位数据, 从用于存储校验数据的存储器中并行读取有效的 校验数据。
上述并行处理方法中, 用于存储系统位数据的存储器为单口存储器时, 用于存储系统位数据的存储器的数目与设定的并行度相等; 用于存储系统位 数据的存储器为双口存储器时, 用于存储系统位数据的存储器的数目是设定 的并行度的二分之一。
上述并行处理方法中, 用于存储校验数据的存储器为单口存储器时, 用 于存储校验数据的存储器的数目与设定的并行度相等; 用于存储校验数据的 存储器为双口存储器时, 用于存储校验数据的存储器的数目是设定的并行度 的二分之一。
本发明还公开了一种码速率匹配的并行处理装置, 包括控制模块、 N个 交织地址计算模块和打孔模块, N与事先设定的并行度相等, 其中:
控制模块设置为控制 N个交织地址计算模块对所接收的系统位数据流中 的 N个系统位数据进行交织处理,并将经过交织处理的 N个系统位数据并行 緩存在用于存储系统位数据的存储器中; 以及控制 N个交织地址计算模块将 所接收的校验 1数据流和校验 2数据流中 N个对应数据组进行交织处理, 并 将经过交织处理的 N个对应数据组并行緩存在用于存储校验数据的存储器 中;
交织地址计算模块设置为根据控制模块的控制对系统位数据进行交织处 理, 对校验 1数据流和校验 2数据流中的对应数据组进行交织处理;
打孔模块设置为从用于存储系统位数据的存储器和用于存储校验数据的 存储器中读取有效数据, 实现速率匹配。
上述并行处理装置中,校验 1数据流和校验 2数据流中的对应数据组指: 校验 1数据流中的第一个数据至倒数第二个数据分别与校验 2数据流中第二 个数据至最后一个数据构成对应数据组, 校验 1数据流中的最后一个数据与 校验 2数据流中填充的空值构成对应数据组, 校验 2数据流中的第一个数据 与校验 1数据流中填充的空值构成对应数据组。
上述并行处理装置中, 控制模块还设置为按照校验 1数据流各数据的接 收顺序, 将校验 1数据流中各数据分别与校验 2数据流中各数据构成对应数 据组,并将所构成的所有对应数据组中的 N个对应数据组输入给 N个交织地 址计算模块进行交织处理, 直到处理完所有的对应数据组;
交织地址计算模块还设置为将控制模块输入的每个对应数据组作为一个 数据进行交织处理。
打孔模块还设置为从用于存储系统位数据的存储器中并行读取有效的系 统位数据, 从用于存储校验数据的存储器中并行读取有效的校验数据。
上述并行处理装置中, 用于存储系统位数据的存储器为单口存储器时, 用于存储系统位数据的存储器的数目与设定的并行度相等; 用于存储系统位 数据的存储器为双口存储器时, 用于存储系统位数据的存储器的数目是设定 的并行度的二分之一。
上述并行处理装置中, 用于存储校验数据的存储器为单口存储器时, 用 于存储校验数据的存储器的数目与设定的并行度相等; 用于存储校验数据的 存储器为双口存储器时, 用于存储校验数据的存储器的数目是设定的并行度 的二分之一。
与现有码速率匹配方案相比, 本发明技术方案在存储校验 1数据流和校 验 2数据流时就实现了交错存储, 从而简化了存储结构, 降低了系统复杂度。
此外, 根据本发明技术方案的码速率匹配的串行处理, 将系统位数据和 校验数据统一存储, 这样, 并行读出数据非常容易, 便于实现并行打孔, 提 高了速率匹配处理速率, 而且由于本方案减少了存储接口, 从而简化了硬件 实现步骤, 节省了功耗和面积, 降低了成本; 根据本发明技术方案的码速率 匹配的并行处理, 提高了系统处理能力。
附图概述
图 1 是现有技术中码速率匹配的原理框图;
图 2 是本发明中所提供的码速率匹配的串行处理装置的结构示意图; 图 3是本发明中所提供的码速率匹配的处理装置中交织地址计算模块的 框图;
图 4是图 2所示装置实现码速率匹配的流程图;
图 5是本发明中所提供的码速率匹配的并行处理装置的结构示意图; 图 6是图 5所示装置实现码速率匹配的流程图。
本发明的较佳实施方式
本发明的主要构思是, 现有速率匹配技术中, 系统位数据流和校验 1数 据流的交织地址产生方式相同, 如公式 1所示, 而校验 2数据流的交织地址 产生公式, 如公式 2所示:
+ ^subblock X Ψ R subblock mod ,
公式( 1 )
+ C。ct x 公式(2 )
Figure imgf000012_0002
Figure imgf000012_0001
比较这两个交织公式, 可以看出公式(2 ) 比公式(1 )在输入数据矩阵 中右偏一个位置, 因此, 本发明考虑将校验 2数据流的输入数据左移一个位 置 (即将校验 2数据流中第 1个数据移入最后一个位置) , 这样, 校验 2数 据流的交织地址产生方式与系统位数据流和校验 1数据流的交织地址产生方 式就完全相同, 这样, 就可以共用一个交织地址产生器件。 而且, 每次校验 1数据和校验 2数据的交织地址完全相同, 就可以在存储过程中实现校验 1 和校验 2的交错存储, 读取数据时, 只需要依次读取校验数据即可。
下面结合附图及具体实施例对本发明技术方案作进一步详细说明。
首先, 针具有较小吞吐量的系统, 本发明提供了一种用于码速率匹配的 串行处理装置, 如图 2所示, 至少包括交织地址计算模块、 存储模块、 打孔 模块和控制模块。 下面介绍各模块的功能。
控制模块, 主要用于控制交织地址计算模块、 存储模块以及打孔模块的 工作状态, 其中, 控制模块控制交织地址计算模块对输入的系统位数据流进 行交织处理, 并将交织处理后的系统位数据存储到存储器中用于存储系统位 数据的緩冲区中; 控制模块将校验 1数据流与校验 2数据流中相对应的数据 同时输入给交织地址计算模块, 控制交织地址计算模块对同时收到的相对应 的数据同时进行交织处理, 并将同时经过交织处理的校验 1数据流中的各数 据和与其对应的校验 2 数据流中的各数据按照交织地址计算模块生成的地 址, 存储到存储器中用于存储校验数据的緩冲区中, 其中, 同时进行交织处 理的相对应的两个数据按照校验 1数据在前, 校验 2数据在后的顺序作为一 个数据存储到用于存储校验数据的緩冲区中。 最后, 控制模块可以控制打孔 模块, 从存储器中并行读取有效数据。
上述校验 1数据流与校验 2数据流中相对应的数据指:
校验 1数据流中的第一个数据至倒数第二个数据分别与校验 2数据流中 第二个校验数据至最后一个数据一一对应, 校验 1数据流中的最后一个数据 与校验 2数据流中所填充的 NULL对应, 校验 2数据流中的第一个数据与校 验 1数据流中所填充的 NULL相应。
在本实施例中, 控制模块可以在接收校验 1数据流和校验 2数据流后, 先緩存校验 2数据流中的第一个数据, 而将所接收的校验 1数据流中的第一 个数据, 和与该数据对应的校验 2数据流中的第二个数据, 同时输入给交织 地址计算模块进行交织处理, 依次类推, 将校验 1数据流中的第二个数据至 倒数第二个数据与其对应的校验 2数据流中的第三个数据至最后一个数据均 同时输入给交织地址计算模块, 其中, 按照校验 1数据流中各数据的接收顺 序将这些一一对应的数据依次输入给交织地址计算模块, 然后, 控制模块将 校验 1 数据流中的最后一个数据与其对应的校验 2 数据流中的所填充的 NULL同时输入给交织地址计算模块, 再将所緩存的校验 2数据流中的第一 个数据与其对应的校验 1数据流中的所填充的 NULL同时输入给交织地址计 算模块, 校验 1数据流和校验 2数据流中所填充的 NULL是指, 接收完数据 后, 填充的 NULL。
交织地址计算模块, 其主要用于对控制模块输入的数据进行交织地址的 计算, 其中, 交织地址计算模块将控制模块输入的校验 1数据流和校验 2数 据流中的对应数据组作为一个数据进行交织处理;
具体地, 交织地址计算模块, 如图 3所示, 可以根据每个输入数据对应 的行列信息, 首先将列号按照协议交织变换表进行变换, 再将列交织变换后 的结果与矩阵的行总数相乘, 最后将列交织变换后的结果与矩阵的行总数相 乘的结果与数据所在行数相加就得到交织地址。 存储模块, 主要根据交织地址将数据进行存储, 本实施例中存储模块釆 用真双口的 RAM, 其中, 系统位数据存储在 RAM的低地址部分, 且系统位 数据写入位宽为 2位, 校验 1和校验 2数据当作一个数据进行存储, 存储数 据位宽为 4位。 这样相当于一步完成了数据交织和软 buffer的生成;
打孔模块, 主要用于根据起始参数, 结束参数, 取出个数参数配置, 从 存储器中读出数据, 判断读出数据是否为无效数据, 如果是则去掉无效数据, 如果不是则输出, 当读到结束参数位置时还没有取够数据, 那么从存储器的 第一个位置继续读取, 直到取够需要的数据。
下面介绍上述码速率匹配的串行处理装置实现码速率匹配的串行处理的 具体过程, 该过程如图 4所示, 包括以下步骤:
步骤 401 : 码速率匹配的串行装置接收系统位数据流、 校验 1数据流和 校验 2数据流, 按照交织公式对系统位数据流进行交织处理, 按照交织公式 对校验 1数据流与校验 2数据流中相对应的数据同时进行交织处理;
该步骤中, 校验 1数据流与校验 2数据流中相对应的数据指: 校验 1数 据流中的第一个数据至倒数第二个数据分别与校验 2数据流中第二个校验数 据至最后一个数据一一对应, 校验 1数据流中的最后一个数据与校验 2数据 流中所填充的 NULL对应, 校验 2数据流中的第一个数据与校验 1数据流中 所填充的 NULL相应。
在本实施例中, 可以将接收的校验 1数据流和校验 2数据流分别进行緩 冲再处理, 即为校验 1数据流分配緩冲器 1和緩冲器 2,为校验 2数据流分配 一个暂存器和緩冲器 1 , 所接收的校验 1数据先进入緩冲器 1然后进入緩冲 器 2, 所接收的校验 2数据流的第一个数据暂存在暂存器, 所接收的校验 2 数据流的第二个数据开始均进入緩冲器 1 , 这样, 校验 1数据流的緩冲器 2 中的数据与校验 2数据流的緩冲器 1中的数据即为对应数据, 将对应的数据 同时按照交织公式进行交织处理即可, 当校验 2数据流的緩冲器 1中不再緩 存有数据(即校验 2数据流的所有数据均接收完成) 时, 开始为校验 2数据 流填充设定数目的 NULL, 此时, 校验 1数据流的緩冲器 1 中的数据 (即所 接收的校验 1数据流中的最后一个数据 )与校验 2数据流中所填充的 NULL 对应, 将这对应的数据同时按照交织公式进行交织处理即可, 当校验 1数据 流的最后一个数据与其对应的 NULL进行了交织处理后, 开始为校验 1数据 流填充设定数目的 NULL, 当校验 1数据流中所填充的 NULL的个数达到设 定值(即填充最后一个 NULL ) 时, 暂存在暂存器中的数据(即所接收的校 验 2数据流中的第一个数据)与校验 1数据流中所填充的 NULL对应, 将这 对应的数据同时按照交织公式进行交织处理。
步骤 402: 码速率匹配的串行装置将交织处理后的系统位数据存储在存 储器的前 R * 32个位置 (也可以称为存储器的第一緩冲区, 专用于存储系统 数据 ) 中, 将交织处理后的校验 1数据流和校验 2数据流作为一个数据存储 在存储器中用于存储系统位数据的 R * 32个位置之后的位置 (即在同一存储 器中存储校验数据时, 存储地址需要加上偏移地址 R— sub*32, 而用于存储校 验数据的这一部分緩冲区也可以称为存储器的第二緩冲区) ;
该步骤中, 码速率匹配的串行装置将交织处理后的校验 1数据流和校验 2数据流作为一个数据存储在存储器的第二緩冲区指, 码速率匹配的串行装 置将同时经过交织处理后的校验 1数据流和校验 2数据流中相对应的数据作 为一个数据存储到第二緩冲区, 其中经过交织处理的相对应的数据按照校验 1数据在前, 校验 2数据在后的顺序作为一个数据存储到第二緩冲区中。
步骤 403: 码速率匹配的串行装置根据参数取出数据判断并进行裁剪。 该步骤中, 码速率匹配的串行装置根据系统要求的起始位置和输出数据 长度, 从存储器中读取数据, 如果读取的是 NULL, 则不输出, 并对输出数 据个数不进行计数, 当读取的是不为 NULL, 则输出数据, 并对输出数据个 数计数。 当数据取到软 buffer末尾 NCB位置时还没有取足够数据时, 那么将 从软 buffer开始位置继续取数据, 直到取出要求的数据值为止。
从上述实施例可以看出, 本发明技术方案解决了码速率匹配比特收集过 程中的存储复杂性问题, 有利于后续比特裁剪处理, 降低了系统复杂度, 节 省了芯片面积和功耗, 使系统位、 校验 1和校验 2统一处理公用交织产生装 置, 节省了 1个交织地址产生器, 节省了速率匹配装置的面积和功耗。 其次, 针对具有较大吞吐量的系统, 本发明还提供了一种用于码速率匹 配的并行处理装置, 如图 5所示, 至少包括并行的 N个交织地址计算模块、 用于存储系统位数据的存储模块、 用于存储校验数据的存储模块、 打孔模块 和控制模块。 其中, N与事先设定的并行度相等。 下面介绍各模块功能。
控制模块, 其主要用于控制交织地址计算模块、 用于存储系统位数据的 存储模块、 用于存储校验数据的存储模块以及打孔模块的工作状态, 其中, 控制模块, 将所接收的系统位数据流中的 N个数据(本实施例中, N个数据 即为图 5中所示的系统位数据流 0、 1、 2和 3 ) 同时输入到并行的 N个交织 地址计算模块, 控制并行的 N个交织地址计算模块同时对输入的系统位数据 进行交织处理 (即控制交织地址计算模块为输入的系统位数据生成地址) , 控制模块还控制同时经过交织处理的 N个系统位数据按照各自的交织地址计 算模块生成的地址, 并行存储到用于存储系统位数据的存储器中; 以及用于 将所接收的校验 1数据流和校验 2数据流中的 N个对应数据组同时输入到并 行的 N个交织地址计算模块,控制并行的 N个交织地址计算模块同时对输入 的对应数据组进行交织处理(即控制交织地址计算模块为输入的系统位数据 生成地址) , 并将同时进行交织处理的 N个对应数据组并行存储到用于存储 校验数据的存储器中, 其中, 同时进行交织处理的每个对应数据组按照校验 1数据在前, 校验 2数据在后的顺序作为一个数据进行存储。 最后, 控制模 块可以控制打孔模块, 从存储模块中读取有效数据。
上述校验 1数据流与校验 2数据流中相对应的数据指:
校验 1数据流中的第一个数据至倒数第二个数据分别与校验 2数据流中 第二个数据至最后一个数据构成对应数据组, 校验 1数据流中的最后一个数 据与校验 2数据流中填充的空值构成对应数据组, 校验 2数据流中的第一个 数据与校验 1数据流中填充的 NULL构成对应数据组。
交织地址计算模块, 其主要用于对控制模块输入的数据进行交织地址的 计算, 其中, 交织地址计算模块将控制模块输入的校验 1数据流和校验 2数 据流中的对应数据组作为一个数据进行交织处理;
具体地, 交织地址计算模块, 如图 3所示, 可以根据每个输入数据对应 的行列信息, 首先将列号按照协议交织变换表进行变换, 再将列交织变换后 的结果与矩阵的行总数相乘, 最后将列交织变换后的结果与矩阵的行总数相 乘的结果与数据所在行数相加就得到交织地址。
在本实施例中, 根据并行度需要至少设置与并行度 N相同的交织地址计 算模块, 分别计算并行输入的每个数据的交织地址, 其中, 并行度指, 图 1 中 每次并行输入到交织地址计算模块的数据个数。
用于存储系统位数据的存储模块, 其主要用于根据控制模块的控制存储 系统位数据, 当该存储模块釆用单口存储器时, 用于存储系统位数据的单口 存储器的数目与设定的并行度相同, 当该存储模块釆用真双口存储器时, 用 于存储系统位数据的真双口存储器的数目是设定的并行度的二分之一;
用于存储校验数据的存储模块, 其主要用于根据控制模块的控制存储系 统位数据, 当该存储模块釆用单口存储器时, 用于存储校验数据的单口存储 器的数目与设定的并行度相同, 当该存储模块釆用真双口存储器时, 真双口 存储器的数目是设定的并行度的二分之一。
打孔模块, 其主要用于根据起始参数, 结束参数, 取出个数参数配置, 从存储器中读出数据, 判断读出数据是否为无效数据, 如果是则去掉无效数 据, 如果不是则输出, 当读到结束参数位置时还没有取够数据, 那么从存储 器的第一个位置继续读取, 直到取够需要的数据;
在其他实施例中, 上述系统还可以有 2N个并行的交织地址计算模块, 此时, N个交织地址计算模块专用于并行处理输入的 N个系统位数据, 另外 N个交织地址计算模块专用于并行处理输入的 N个对应数据组。
下面以设定的并行度为 4举例说明, 上述装置所实现码速率匹配并行处 理的具体过程, 如图 6所示, 包括以下步骤:
步骤 601 : 码速率匹配的并行处理装置并行接收系统位数据流, 校验 1 数据流以及校验 2数据流后, 对所接收的系统位数据流中的 N个系统位数据 同时进行交织处理, 将所接收的校验 1数据流和校验 2数据流中的 N个对应 数据组同时进行交织处理;
该步骤中, 校验 1数据流和校验 2数据流中的对应数据组指, 校验 1数 据流中的第一个数据至倒数第二个数据分别与校验 2数据流中第二个数据至 最后一个数据构成对应数据组, 校验 1数据流中的最后一个数据与校验 2数 据流中填充的空值构成对应数据组, 校验 2数据流中的第一个数据与校验 1 数据流中填充的空值构成对应数据组; 其中, 可以将每个对应数据组作为一 个数据进行交织处理。
在本实施例中, 可以将接收输入的校验 1数据流和校验 2数据流分别緩 冲, 即为校验 1数据流分配緩冲器 1和緩冲器 2,为校验 2数据流分配暂存器 和緩冲器 1 , 所接收的校验 1数据先进入緩冲器 1然后进入緩冲器 2, 所接收 的校验 2数据流的第一个数据暂存在暂存器, 所接收的校验 2数据流的第二 个数据开始均进入緩冲器 1 , 这样, 校验 1数据流的緩冲器 2中的数据与校 验 2数据流的緩冲器 1中的数据即为对应数据, 将对应的数据同时按照交织 公式进行交织处理即可, 当校验 2数据流的緩冲器 1中不再緩存有数据(即 校验 2数据流的所有数据均接收完成) 时, 开始为校验 2数据流填充设定数 目的 NULL, 这样, 校验 1数据流的緩冲器 1 中的数据 (即所接收的校验 1 数据流中的最后一个数据 ) 即与校验 2数据流中所填充的 NULL构成对应数 据组, 当校验 1数据流的最后一个数据与校验 2数据流中填充的 NULL构成 对应数据组后, 开始为校验 1数据流填充设定数目的 NULL, 此时, 当校验 1 数据流中所填充的 NULL的个数达到设定值(即填充最后一个 NULL ) 时, 暂存在暂存器中的数据(即所接收的校验 2数据流中的第一个数据) 即与校 验 1数据流中所填充的 NULL构成对应数据组, 将所构成的所有对应数据组 中的 N个对应数据组同时按照交织公式进行交织处理, 直到处理完所有的对 应数据组即可, 其中, 对每个对应数据组进行交织处理时, 可以将这个对应 数据组看作为一个数据进行处理。
步骤 602: 码速率匹配的并行处理装置按照设定的并行度 N将交织处理 后的系统位数据流的 N个系统位数据并行存储在用于存储系统位数据的存储 器中, 将交织处理后的校验 1和校验 2数据流中的 N个对应数据组并行存储 在用于存储校验位数据的存储器中, 其中, 用于存储系统位数据的存储器是 一个数据位宽的存储器, 用于存储校验位数据的存储器是两个数据位宽的存 储器; 本实施例中, 根据协议中交织函数规律, 以并行度为 4说明: 将协议中 交织函数变换为以下 4 X 8矩阵形式
0, 16, 8, 24, 4, 20, 12, 28,
2, 18, 10, 26, 6, 22, 14, 30,
1, 17, 9, 25, 5, 21, 13, 29,
3, 19, 11, 27, 7, 23, 15, 31
由于并行度为 4, 故同时来四个数据时由于速率匹配中添加的 NULL个 数为 4的整数倍, 因此必然从交织矩阵第一行开始, 第二个数据在第三行, 第三个数据在第二行, 最后一个数据在第四行, 以此类推, 那么可以将数据 分别存储在四个存储器中, 而每个存储器中存储放 8列数据, 具体地, 先根 据并行度写出存储图样, 再根据并行度需求将连续的列号按照表 1 中提供的 列交织方式放在不同的存储器中, 其中每个存储器存储连续列号的一列。
步骤 603 : 码速率匹配的并行处理装置从用于存储系统位数据的存储器 中依次读取系统数据, 从用于存储校验位数据的存储器中依次读取校验位数 据, 并进行裁剪。
当然, 用于存储系统位数据的存储器也可以釆用真双口存储器, 此时, 真双口存储器的数目是设定的并行度的二分之一。 并且, 由于每个数据的交 织地址不同, 因此在真双口存储器内也不会产生地址冲突。
在其他应用场景中,设定的并行度可以是 2到 32位的任一值, 当并行度 为 2时, 码速率匹配的并行处理装置所确定的存储图样如下:
0, 16, 8, 24, 4, 20, 12, 28, 2, 18, 10, 26, 6, 22, 14, 30,
1, 17, 9, 25, 5, 21, 13, 29, 3, 19, 11, 27, 7, 23, 15, 31
当并行度为 3时, 码速率匹配的并行处理装置所确定的存储图样如下: 0, 16, 8, 24, 4, 20, 12, 28,
2, 18, 10, 26, 6, 22, 14, 30,
1, 17, 9, 25, 5, 21, 13, 29, 3, 19, 11, 27, 7, 23, 15, 31 从上述实施例可以看出, 本发明技术方案将输入数据按照需求的并行度 统一存储, 从而增加了系统吞吐率。 同时, 本发明技术方案在存储校验 1和 校验 2时就实现了交错存储, 从而简化了存储结构, 降低了系统复杂度。
当然, 本发明还可有其他多种实施例, 在不背离本发明精神及其实质的 但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
工业实用性
与现有码速率匹配方案相比, 本发明技术方案在存储校验 1数据流和校 验 2数据流时就实现了交错存储, 从而简化了存储结构, 降低了系统复杂度。
此外, 根据本发明技术方案的码速率匹配的串行处理, 将系统位数据和 校验数据统一存储, 这样, 并行读出数据非常容易, 便于实现并行打孔, 提 高了速率匹配处理速率, 而且由于本方案减少了存储接口, 从而简化了硬件 实现步骤, 节省了功耗和面积, 降低了成本; 根据本发明技术方案的码速率 匹配的并行处理, 提高了系统处理能力。

Claims

权 利 要 求 书
1、 一种码速率匹配的串行处理方法, 包括:
接收系统位数据流、 校验 1数据流以及校验 2数据流, 将所接收的系统 位数据流中的系统位数据进行交织处理, 緩存在存储器的第一緩存区中; 将 所接收的校验 1数据流和校验 2数据流中相对应的数据同时进行交织处理, 并将同时经过交织处理的数据緩存在所述存储器的第二緩存区中; 以及
从所述存储器中读取有效数据, 实现速率匹配。
2、 如权利要求 1所述的方法, 其中,
所接收的校验 1数据流和校验 2数据流中相对应的数据指:
所述校验 1数据流中的第一个数据至倒数第二个数据分别与所述校验 2 数据流中第二个数据至最后一个数据对应, 所述校验 1数据流中的最后一个 数据与所述校验 2数据流中填充的空值对应, 所述校验 2数据流中的第一个 数据与所述校验 1数据流中填充的空值对应。
3、 如权利要求 1或 2所述的方法, 其中,
将所接收的校验 1数据流和校验 2数据流中相对应的数据同时进行交织 处理的步骤包括:
将所述校验 1数据流中的各数据按照接收顺序与对应的所述校验 2数据 流中的数据同时进行交织处理, 将所述校验 1数据流中最后一个数据与其对 应的空值同时进行交织处理, 将所述校验 2数据流中的第一个数据与其对应 的空值同时进行交织处理。
4、 如权利要求 3所述的方法, 其中,
从所述存储器中读取有效数据的步骤包括:
根据设定的地址和输出数据长度, 从所述存储器中顺序循环读取有效数 据, 其中, 从所述存储器的第一緩存区中依次读取有效的系统位数据, 从所 述存储器的第二緩存区中依次读取有效的校验数据。
5、 如权利要求 4所述的方法, 其中,
所述存储器为真双口存储器。
6、 一种码速率匹配的串行处理装置, 包括控制模块、 交织地址计算模块 和打孔模块, 其中: 所述控制模块设置为将所接收的系统数据流输入给所述交织地址计算模 块进行交织处理, 并緩存在第一緩存区中; 以及将所接收的校验 1 数据流和 校验 2数据流中相对应的数据同时输入给所述交织地址计算模块进行交织处 理, 并緩存在第二緩存区中;
所述交织地址计算模块设置为根据所述控制模块的控制对系统位数据流 中的系统位数据进行交织处理, 对同时输入的校验 1数据流和校验 2数据流 中相对应的数据进行交织处理;
所述打孔模块设置为从存储器读取有效数据, 实现速率匹配。
7、 如权利要求 6所述的装置, 其中,
所接收的校验 1数据流和校验 2数据流中相对应的数据指:
所述校验 1数据流中的第一个数据至倒数第二个数据分别与所述校验 2 数据流中第二个数据至最后一个数据对应, 所述校验 1数据流中的最后一个 数据与所述校验 2数据流中填充的空值对应, 所述校验 2数据流中的第一个 数据与所述校验 1数据流中填充的空值对应。
8、 如权利要求 6或 7所述的装置, 其中,
所述控制模块还设置为将所述校验 1数据流中的各数据按照接收顺序与 对应的所述校验 2数据同时输入给所述交织地址计算模块, 将所述校验 1数 据流中的最后一个数据与其对应的空值同时输入给所述交织地址计算模块, 将所述校验 2数据流中的第一个数据与其对应的空值同时输入给所述交织地 址计算模块。
9、 如权利要求 8所述的装置, 其中,
所述打孔模块还设置为根据设定的地址和输出数据长度, 从所述存储器 中顺序循环读取有效数据, 其中, 从所述存储器的第一緩存区中依次读取有 效的系统位数据, 从所述存储器的第二緩存区中依次读取有效的校验数据。
10、 如权利要求 9所述的装置, 其中,
所述存储器为真双口存储器。
11、 一种码速率匹配的并行处理方法, 包括:
接收系统位数据流、 校验 1数据流以及校验 2数据流, 将所接收的系统 位数据流中 N个系统位数据进行交织处理,并将所述 N个系统位数据并行緩 存在用于存储系统位数据的存储器中, 将所述校验 1数据流和校验 2数据流 中 N个对应数据组进行交织处理,并将所述 N个对应数据组并行緩存在用于 存储校验数据的存储器中, 其中, N与事先设定的并行度相等;
从所述用于存储系统位数据的存储器和所述用于存储校验数据的存储器 中读取有效数据, 实现速率匹配。
12、 如权利要求 11所述的方法, 其中,
所述校验 1数据流和校验 2数据流中的对应数据组指:
所述校验 1数据流中的第一个数据至倒数第二个数据分别与所述校验 2 数据流中第二个数据至最后一个数据构成对应数据组, 所述校验 1数据流中 的最后一个数据与所述校验 2数据流中填充的空值构成对应数据组, 所述校 验 2数据流中的第一个数据与所述校验 1数据流中填充的空值构成对应数据 组。
13、 如权利要求 11或 12所述的方法, 其中,
将所述校验 1数据流和校验 2数据流中 N个对应数据组进行交织处理的 步骤包括:
按照所述校验 1数据流各数据的接收顺序, 将所述校验 1数据流中各数 据分别与所述校验 2数据流中各数据构成对应数据组, 并将所构成的所有对 应数据组中的 N个对应数据组进行交织处理,直到处理完所有的对应数据组, 其中, 每个对应数据组作为一个数据进行交织处理。
14、 如权利要求 13所述的方法, 其中,
从所述用于存储系统位数据的存储器和所述用于存储校验数据的存储器 中读取有效数据的步骤包括:
根据设定的地址和输出数据长度, 从所述用于存储系统位数据的存储器 中并行读取有效的系统位数据, 从所述用于存储校验数据的存储器中并行读 取有效的校验数据。
15、 如权利要求 14所述的方法, 其中,
所述用于存储系统位数据的存储器为单口存储器时, 用于存储系统位数 据的存储器的数目与设定的并行度相等;
所述用于存储系统位数据的存储器为双口存储器时, 用于存储系统位数 据的存储器的数目是设定的并行度的二分之一。
16、 如权利要求 14所述的方法, 其中,
所述用于存储校验数据的存储器为单口存储器时, 用于存储校验数据的 存储器的数目与设定的并行度相等;
所述用于存储校验数据的存储器为双口存储器时, 用于存储校验数据的 存储器的数目是设定的并行度的二分之一。
17、 一种码速率匹配的并行处理装置, 包括控制模块、 N个交织地址计 算模块和打孔模块, N与事先设定的并行度相等; 其中
所述控制模块设置为控制所述 N个交织地址计算模块对所接收的系统位 数据流中的 N个系统位数据进行交织处理,并将经过交织处理的 N个系统位 数据并行緩存在用于存储系统位数据的存储器中; 以及控制所述 N个交织地 址计算模块将所接收的校验 1数据流和校验 2数据流中 N个对应数据组进行 交织处理, 并将经过交织处理的 N个对应数据组并行緩存在用于存储校验数 据的存储器中;
所述交织地址计算模块设置为根据所述控制模块的控制对系统位数据进 行交织处理, 对所述校验 1数据流和校验 2数据流中的对应数据组进行交织 处理;
所述打孔模块设置为从所述用于存储系统位数据的存储器和用于存储校 验数据的存储器中读取有效数据, 实现速率匹配。
18、 如权利要求 17所述的装置, 其中,
所述校验 1数据流和校验 2数据流中的对应数据组指:
所述校验 1数据流中的第一个数据至倒数第二个数据分别与所述校验 2 数据流中第二个数据至最后一个数据构成对应数据组, 所述校验 1数据流中 的最后一个数据与所述校验 2数据流中填充的空值构成对应数据组, 所述校 验 2数据流中的第一个数据与所述校验 1数据流中填充的空值构成对应数据 组。
19、 如权利要求 17或 18所述的装置, 其中,
所述控制模块还设置为按照所述校验 1数据流中各数据的接收顺序, 将 所述校验 1数据流中各数据分别与所述校验 2数据流中各数据构成对应数据 组 ,并将所构成的所有对应数据组中的 N个对应数据组输入给所述 N个交织 地址计算模块进行交织处理, 直到处理完所有的对应数据组;
所述交织地址计算模块还设置为将所述控制模块输入的每个对应数据组 作为一个数据进行交织处理。
20、 如权利要求 19所述的的装置, 其中,
所述打孔模块还设置为从所述用于存储系统位数据的存储器中并行读取 有效的系统位数据, 从所述用于存储校验数据的存储器中并行读取有效的校 验数据。
21、 如权利要求 20所述的装置, 其中,
所述用于存储系统位数据的存储器为单口存储器时, 用于存储系统位数 据的存储器的数目与设定的并行度相等;
所述用于存储系统位数据的存储器为双口存储器时, 用于存储系统位数 据的存储器的数目是设定的并行度的二分之一。
22、 如权利要求 20所述的装置, 其中,
所述用于存储校验数据的存储器为单口存储器时, 用于存储校验数据的 存储器的数目与设定的并行度相等;
所述用于存储校验数据的存储器为双口存储器时, 用于存储校验数据的 存储器的数目是设定的并行度的二分之一。
PCT/CN2010/077389 2010-01-04 2010-09-28 码速率匹配的串行处理方法、并行处理方法及装置 WO2011079633A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP10840422.9A EP2461511A4 (en) 2010-01-04 2010-09-28 SERIAL PROCESSING METHOD, BIT RATE MATCHING PARALLEL PROCESSING METHOD, AND DEVICE THEREOF
US13/393,298 US8843799B2 (en) 2010-01-04 2010-09-28 Serial processing method, parallel processing method of bit rate matching and device thereof

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201010000107.8 2010-01-04
CN201010000107.8A CN102118217B (zh) 2010-01-04 2010-01-04 一种速率匹配的并行处理方法及装置
CN201010002208.9A CN102118219B (zh) 2010-01-06 2010-01-06 一种速率匹配的串行处理方法及装置
CN201010002208.9 2010-01-06

Publications (1)

Publication Number Publication Date
WO2011079633A1 true WO2011079633A1 (zh) 2011-07-07

Family

ID=44226169

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2010/077389 WO2011079633A1 (zh) 2010-01-04 2010-09-28 码速率匹配的串行处理方法、并行处理方法及装置

Country Status (3)

Country Link
US (1) US8843799B2 (zh)
EP (2) EP2461511A4 (zh)
WO (1) WO2011079633A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105850059A (zh) * 2014-03-21 2016-08-10 华为技术有限公司 极性码的速率匹配方法和速率匹配装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870340B (zh) * 2014-03-06 2017-11-07 华为技术有限公司 流计算系统中的数据处理方法、控制节点及流计算系统
US10164659B2 (en) 2016-05-12 2018-12-25 Mediatek Inc. QC-LDPC coding methods and apparatus
US10581457B2 (en) 2017-01-09 2020-03-03 Mediatek Inc. Shift coefficient and lifting factor design for NR LDPC code
US10630319B2 (en) 2017-01-24 2020-04-21 Mediatek Inc. Structure of interleaver with LDPC code
US10432227B2 (en) 2017-01-24 2019-10-01 Mediatek Inc. Location of interleaver with LDPC code
US10484013B2 (en) 2017-05-12 2019-11-19 Mediatek Inc. Shift-coefficient table design of QC-LDPC code for smaller code block sizes in mobile communications
US10567116B2 (en) 2017-05-12 2020-02-18 Mediatek Inc. Wireless communication using codebooks from a QC-LDPC code for shorter processing latency and improved decoder throughput efficiency
US10484011B2 (en) 2017-05-12 2019-11-19 Mediatek Inc. Shift-coefficient table design of QC-LDPC code for larger code block sizes in mobile communications
CN114422085B (zh) * 2022-01-21 2023-09-15 上海大学 基于fpga的优化速率匹配方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090293A (zh) * 2006-06-15 2007-12-19 华为技术有限公司 传输信息的方法及系统
CN101510819A (zh) * 2009-04-08 2009-08-19 华为技术有限公司 速率匹配方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2212102C2 (ru) * 1998-06-05 2003-09-10 Самсунг Электроникс Ко., Лтд. Устройство и способ канального кодирования для согласования скорости передачи
JP4213879B2 (ja) * 2000-07-11 2009-01-21 エルジー エレクトロニクス インコーポレイティド 通信システム及び該システムの信号伝送方法
US7823040B2 (en) * 2006-10-11 2010-10-26 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for optimal redundancy version (RV) selection for UMTS HSDPA transmissions
KR20080041488A (ko) * 2006-11-07 2008-05-13 삼성전자주식회사 병렬 인터리빙 장치 및 방법
US8726121B2 (en) * 2007-03-27 2014-05-13 Qualcomm Incorporated Circular buffer based rate matching
US20080301536A1 (en) * 2007-05-31 2008-12-04 Interdigital Technology Corporation Channel coding and rate matching for lte control channels
US8189559B2 (en) * 2007-07-23 2012-05-29 Samsung Electronics Co., Ltd. Rate matching for hybrid ARQ operations
KR101411158B1 (ko) 2007-08-20 2014-06-30 삼성전자주식회사 데이터 전송을 위한 회전형버퍼 기반 레이트매칭과 버스트다중화 방법 및 장치
US7986741B2 (en) * 2007-09-28 2011-07-26 Samsung Electronics Co., Ltd. Method and apparatus of improved circular buffer rate matching for turbo-coded MIMO-OFDM wireless systems
WO2009044534A1 (ja) * 2007-10-01 2009-04-09 Panasonic Corporation 無線通信装置およびサーキュラバッファ制御方法
US7924763B2 (en) * 2007-12-11 2011-04-12 Motorola Mobility, Inc. Method and appratus for rate matching within a communication system
KR101476203B1 (ko) * 2008-01-08 2014-12-24 엘지전자 주식회사 성좌 재배열 이득을 보장하기 위한 harq 기반 신호 전송 방법
US8495467B1 (en) * 2009-06-30 2013-07-23 Micron Technology, Inc. Switchable on-die memory error correcting engine
KR20120029776A (ko) * 2010-09-17 2012-03-27 한국전자통신연구원 레이트 매칭 장치 및 그것의 레이트 매칭 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090293A (zh) * 2006-06-15 2007-12-19 华为技术有限公司 传输信息的方法及系统
CN101510819A (zh) * 2009-04-08 2009-08-19 华为技术有限公司 速率匹配方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105850059A (zh) * 2014-03-21 2016-08-10 华为技术有限公司 极性码的速率匹配方法和速率匹配装置
US10361815B2 (en) 2014-03-21 2019-07-23 Huawei Technologies Co., Ltd. Polar code rate matching method and apparatus
CN105850059B (zh) * 2014-03-21 2020-01-31 华为技术有限公司 极性码的速率匹配方法和速率匹配装置

Also Published As

Publication number Publication date
EP2461511A1 (en) 2012-06-06
EP3193452A1 (en) 2017-07-19
EP2461511A4 (en) 2014-01-22
US20120185751A1 (en) 2012-07-19
US8843799B2 (en) 2014-09-23

Similar Documents

Publication Publication Date Title
WO2011079633A1 (zh) 码速率匹配的串行处理方法、并行处理方法及装置
JP5457535B2 (ja) 通信システムのためのレートマッチングおよびチャネル・インターリービング
WO2018090629A1 (zh) 一种解交织解速率匹配的方法、装置及计算机存储介质
WO2007131429A1 (fr) Procédé et application pour la mise en oeuvre d&#39;entrelaceurs et de désentrelaceurs
CN102447521B (zh) 一种解速率匹配方法及装置
CN101119182A (zh) 一种高阶调制中的比特优先选择方法
WO2011137749A1 (zh) 一种lte下行业务信道解速率匹配的方法及装置
CN103780341B (zh) 基于并行编码与并行交织的无线通信传输方法
US10110349B2 (en) Rate dematching method, apparatus and receiving-side device
US11843396B2 (en) Decoding method and apparatus, network device, and storage method
WO2011095115A1 (zh) 一种解交织方法和装置
KR20100071490A (ko) 디레이트 매칭하는 방법 및 그 장치
Yu et al. An improved rate matching algorithm for 3GPP LTE turbo code
CN105814825B (zh) 接收数据的方法及设备,以及发送数据的方法及设备
CN102118217B (zh) 一种速率匹配的并行处理方法及装置
CN1157854C (zh) 一种高速Turbo码解码器
WO2008028419A1 (fr) Procédé et système d&#39;entrelacement/désentrelacement dans un système de communication
Ma et al. Efficient implementation of rate matching for LTE turbo codes
WO2012149741A1 (zh) 一种解速率匹配的解交织方法和装置
CN110838890B (zh) 解交织方法及装置
WO2011091672A1 (zh) 一种速率匹配实现方法和系统
CN102412938A (zh) 一种lte解速率匹配与harq合并的装置与方法
WO2011057887A1 (en) Improved harq
CN102118219A (zh) 一种速率匹配的串行处理方法及装置
CN103840912B (zh) Lte/lte‑a系统业务信道解速率匹配的方法

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13393298

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2010840422

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2010840422

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE