US10432227B2 - Location of interleaver with LDPC code - Google Patents

Location of interleaver with LDPC code Download PDF

Info

Publication number
US10432227B2
US10432227B2 US15/878,350 US201815878350A US10432227B2 US 10432227 B2 US10432227 B2 US 10432227B2 US 201815878350 A US201815878350 A US 201815878350A US 10432227 B2 US10432227 B2 US 10432227B2
Authority
US
United States
Prior art keywords
stream
encoded data
data
bit
circular buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
US15/878,350
Other versions
US20180212626A1 (en
Inventor
Wei-Jen Chen
Ju-Ya Chen
Yen-Shuo Chang
Timothy Perrin FISHER-JEFFES
Mao-Ching Chiu
Cheng-Yi Hsu
Chong-You Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
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 to US15/878,350 priority Critical patent/US10432227B2/en
Application filed by MediaTek Inc filed Critical MediaTek Inc
Priority to EP18744752.9A priority patent/EP3571795A4/en
Priority to TW107102523A priority patent/TW201834403A/en
Priority to CN201880000468.7A priority patent/CN108633326A/en
Priority to PCT/CN2018/073963 priority patent/WO2018137646A1/en
Assigned to MEDIATEK INC. reassignment MEDIATEK INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHANG, YEN-SHUO, HSU, CHENG-YI, LEE, CHONG-YOU, CHEN, JU-YA, CHEN, WEI-JEN, CHIU, MAO-CHING, FISHER-JEFFES, TIMOTHY PERRIN
Publication of US20180212626A1 publication Critical patent/US20180212626A1/en
Priority to US16/543,783 priority patent/US10958290B2/en
Application granted granted Critical
Publication of US10432227B2 publication Critical patent/US10432227B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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/2906Coding, 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 using block 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [LDPC] codes

Definitions

  • the present disclosure is generally related to information coding and, more particularly, to location of interleaver with low-density parity-check (LDPC) code.
  • LDPC low-density parity-check
  • LDPC is used in NR data channel.
  • LDPC is composed of base matrix and shift-coefficient tables.
  • the location of interleaver with LDPC code is not defined.
  • An objective of the present disclosure is to propose various novel concepts and schemes pertaining to the location of interleaver with LDPC code.
  • potential locations of a bit-level interleaver relative to a circular buffer are proposed in the present disclosure.
  • the location of a bit-level interleaver may be before a circular buffer.
  • the location of a bit-level interleaver may be after a circular buffer.
  • a method may involve rate matching a stream of encoded data.
  • the method may also involve passing the stream of encoded data through a bit-level interleaver to provide a stream of interleaved data.
  • a method may involve passing a stream of encoded data through a bit-level interleaver to provide a stream of interleaved data.
  • the method may also involve rate matching the stream of interleaved data.
  • an apparatus may include a transceiver and a processor coupled to the transceiver.
  • the transceiver may be capable of wireless communications with at least one network node of a wireless network.
  • the processor may be capable of encoding data to provide a stream of encoded data.
  • the processor may be also capable of performing rate matching and interleaving on the encoded data.
  • FIG. 1 illustrates an example encoder architecture in accordance with an implementation of the present disclosure.
  • FIG. 2 illustrates an example encoder architecture in accordance with another implementation of the present disclosure.
  • FIG. 3 is a block diagram of an example apparatus in accordance with an implementation of the present disclosure.
  • FIG. 4 is a flowchart of an example process in accordance with an implementation of the present disclosure.
  • FIG. 5 is a flowchart of an example process in accordance with an implementation of the present disclosure.
  • the location of a bit-level interleaver may be before a circular buffer.
  • the circular buffer may be equivalent to a rate matching block. Accordingly, data input to the circular buffer may be interleaved. As such, the interleaved data in the circular buffer may be with a lowest code rate, and rate matching may be performed to pass through code block concatenation.
  • a LDPC decoder may utilize the lowest code rate to decode a received codeword. Higher complexity is for the decoder with lower code rate.
  • the first proposed scheme may introduce relatively more decoder complexity to the receiver.
  • the location of a bit-level interleaver may be after a circular buffer.
  • the circular buffer may be equivalent to a rate matching block. Accordingly, data may be rate matched and then passed through the bit-level interleaver. Since the data is rate matched with a suitable code rate, a decoder at a receiver may utilize the corresponding code rate to decode received data. Therefore, complexity of the decoder in the second proposed scheme may be lower than that of the decoder in the first proposed scheme. From the perspective of decoder complexity, the second proposed scheme may be preferred for interleaver.
  • FIG. 1 illustrates an example encoder architecture 100 in accordance with an implementation of the present disclosure.
  • Encoder architecture 100 may be an architecture based on the first proposed scheme.
  • encoder architecture 100 may include a LDPC encoder 110 , a bit-level interleaver 120 and a circular buffer 130 .
  • LDPC encoder 110 may be configured, designed or otherwise adapted to perform LDPC encoding on input data to provide a stream of encoded data.
  • Bit-level interleaver 120 may be configured, designed or otherwise adapted to receive the stream of encoded data from LDPC encoder 110 and perform bit-level interleaving on the encoded data to provide a stream of interleaved data (e.g., including systematic bits, information bits and parity bits).
  • Circular buffer 130 may be configured, designed or otherwise adapted to receive the stream of interleaved data from bit-level interleaver 120 and buffer the stream of interleaved data.
  • the interleaved data in circular buffer 130 may be with a lowest code rate, and rate matching may be performed to pass through code block concatenation.
  • a LDPC decoder may utilize the lowest code rate to decode a received codeword. Given the nature of LDPC coding, the lower the code rate used on the encoder side, the higher the complexity in decoding becomes on the decoder side. Thus, the design may result in higher complexity for the decoder when a relatively lower code rate is used on the encoder side.
  • FIG. 2 illustrates an example encoder architecture 200 in accordance with an implementation of the present disclosure.
  • Encoder architecture 200 may be an architecture based on the second proposed scheme.
  • encoder architecture 200 may include a LDPC encoder 210 , a circular buffer 220 and a bit-level interleaver 230 .
  • LDPC encoder 210 may be configured, designed or otherwise adapted to perform LDPC encoding on input data to provide a stream of encoded data.
  • Circular buffer 220 may be configured, designed or otherwise adapted to receive the stream of encoded data from LDPC encoder 210 and buffer the stream of encoded data.
  • Bit-level interleaver 230 may be configured, designed or otherwise adapted to receive the stream of encoded data from circular buffer 220 and perform bit-level interleaving on the encoded data to provide a stream of interleaved data (e.g., including systematic bits, information bits and parity bits). Accordingly, data may be rate matched and then passed through bit-level interleaver 230 .
  • a decoder at a receiver may utilize the corresponding code rate to decode received data.
  • complexity of the decoder with encoder architecture 200 may be lower than that of the decoder with encoder architecture 100 .
  • FIG. 3 illustrates an example apparatus 300 in accordance with an implementation of the present disclosure.
  • Apparatus 300 may perform various functions as a communication device to implement concepts, schemes, techniques, processes and methods described herein pertaining to location of interleaver with LDPC code, including those described above with respect to FIG. 1 and FIG. 2 as well as processes 400 and 500 described below.
  • Apparatus 300 may be a part of an electronic apparatus which may be a communication device, a computing apparatus, a portable or mobile apparatus, or a wearable apparatus.
  • apparatus 300 may be implemented in a user equipment, a base station, a smartphone, a smartwatch, a smart bracelet, a smart necklace, a personal digital assistant, or a computing device such as a tablet computer, a laptop computer, a notebook computer, a desktop computer, or a server.
  • apparatus 300 may be implemented in the form of one or more integrated-circuit (IC) chips such as, for example and not limited to, one or more single-core processors, one or more multi-core processors, or one or more complex-instruction-set-computing (CISC) processors.
  • IC integrated-circuit
  • Apparatus 300 may include at least some of those components shown in FIG. 3 .
  • apparatus 300 may include at least a processor 310 .
  • apparatus 300 may include a transceiver 340 configured to engage in wireless communications by transmitting and receiving data wirelessly with at least one network node of a wireless network (e.g., in compliance with one or more 3GPP and 5G NR stands, protocols, specifications and/or any applicable wireless protocols and standards).
  • Apparatus 300 may further include other components (e.g., memory, power system, display device and user interface device), which are not pertinent to the proposed scheme of the present disclosure and, thus, are neither shown in FIG. 3 nor described herein in the interest of simplicity and brevity.
  • processor 310 may be implemented in the form of one or more single-core processors, one or more multi-core processors, or one or more CISC processors. That is, even though a singular term “a processor” is used herein to refer to processor 310 , processor 310 may include multiple processors in some implementations and a single processor in other implementations in accordance with the present disclosure.
  • processor 310 may be implemented in the form of hardware (and, optionally, firmware) with electronic components including, for example and without limitation, one or more transistors, one or more diodes, one or more capacitors, one or more resistors, one or more inductors, one or more memristors and/or one or more varactors that are configured and arranged to achieve specific purposes in accordance with the present disclosure.
  • processor 310 is a special-purpose machine specifically designed, arranged and configured to perform specific tasks including location of interleaver with LDPC code in accordance with various implementations of the present disclosure.
  • Processor 310 may include non-generic and specially-designed hardware circuits that are designed, arranged and configured to perform specific tasks pertaining to location of interleaver with LDPC code in accordance with various implementations of the present disclosure.
  • processor 310 may execute the one or more sets of codes, programs and/or instructions (e.g., stored in memory accessible by processor 310 ) to perform various operations to render location of interleaver with LDPC code in accordance with various implementations of the present disclosure.
  • processor 310 may include an encoder 320 and a decoder 330 that, together, perform specific tasks and functions to render location of interleaver with LDPC code in accordance with various implementations of the present disclosure.
  • encoder architecture 100 and its functionality and capabilities described above may be implemented in or by encoder 320 .
  • encoder architecture 200 and its functionality and capabilities described above may be implemented in or by encoder 320 .
  • Each of encoder 320 and decoder 330 may be implemented in the form of hardware with electronic circuitry.
  • each of encoder 320 and decoder 330 may be implemented in the form of software.
  • each of encoder 320 and decoder 330 may be implemented in the form of a combination of hardware and software.
  • encoder 320 may include a LDPC encoder 322 and a rate matching and bit-level interleaving block 324 , and encoder 320 may be capable of encoding outgoing data to provide first data which is encoded data.
  • LDPC encoder 322 may encode outgoing data to provide a stream of encoded data.
  • rate matching and bit-level interleaving block 324 may perform rate matching and interleaving on the encoded data to provide first data for transmission by transceiver 340 .
  • transceiver 340 may perform rate matching and interleaving on the encoded data to provide first data for transmission by transceiver 340 .
  • LDPC encoder 322 of encoder 320 of processor 310 may perform LDPC encoding on the data to provide the stream of encoded data.
  • rate matching and bit-level interleaving block 324 of encoder 320 of processor 310 may rate match the stream of encoded data. Moreover, rate matching and bit-level interleaving block 324 may interleave the rate-matched stream of encoded data to provide a stream of interleaved data.
  • circular buffer 326 of rate matching and bit-level interleaving block 324 of encoder 320 of processor 310 may buffer the stream of encoded data, with circular buffer 326 functioning as a rate matching block that rate matches the stream of encoded data.
  • circular buffer rate 326 may match the stream of encoded data with a code rate that is used by a decoder at a receiver to decode data received by the receiver.
  • rate matching and bit-level interleaving block 324 of encoder 320 of processor 310 may perform bit-level interleaving on the rate-matched stream of encoded data to provide the stream of interleaved data.
  • rate matching and bit-level interleaving block 324 may interleave the stream of encoded data to provide a stream of interleaved data. Moreover, rate matching and bit-level interleaving block 324 may rate match the stream of interleaved data to provide a rate-matched stream of interleaved data.
  • bit-level interleaver 328 of rate matching and bit-level interleaving block 324 may perform bit-level interleaving on the stream of encoded data to provide the stream of interleaved data.
  • circular buffer 326 may buffer the stream of interleaved data, with circular buffer 326 functioning as a rate matching block that rate matches the stream of interleaved data.
  • circular buffer 326 may rate match the stream of interleaved data with a code rate that is used by a decoder at a receiver to decode data received by the receiver.
  • decoder 330 may include a LDPC decoder 332 and a de-rate matching and bit-level de-interleaving block 334 , and decoder 330 may be capable of decoding second data, which is encoded data received from transceiver 340 , to provide decoded data.
  • de-rate matching and bit-level de-interleaving block 334 may process the second data to provide processed data.
  • LDPC decoder 332 may decode the processed data with LDPC code to provide the decoded data.
  • de-rate matching and bit-level de-interleaving block 334 may include a de-rate matcher 336 and a bit-level de-interleaver 338 .
  • Bit-level de-interleaver 338 may perform bit-level de-interleaving on the second data to provide a stream of de-interleaved data.
  • De-rate matcher 336 may de-rate match the stream of de-interleaved data to provide the processed data for LDPC decoder 332 to decode.
  • FIG. 4 illustrates an example process 400 in accordance with an implementation of the present disclosure.
  • Process 400 may represent an aspect of implementing the proposed concepts and schemes such as those described with respect to FIG. 2 . More specifically, process 400 may represent an aspect of the proposed concepts and schemes pertaining to location of interleaver with LDPC code.
  • Process 400 may include one or more operations, actions, or functions as illustrated by one or more of blocks 410 and 420 as well as sub-blocks 412 , 414 and 416 . Although illustrated as discrete blocks, various blocks of process 400 may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation. Moreover, the blocks/sub-blocks of process 400 may be executed in the order shown in FIG. 4 or, alternatively in a different order.
  • Process 400 may be implemented by apparatus 300 and any variations thereof. For instance, process 400 may be implemented in or by apparatus 300 . Solely for illustrative purposes and without limiting the scope, process 400 is described below in the context of apparatus 300 . Process 400 may begin at block 410 .
  • process 400 may involve encoder 320 of processor 310 of apparatus 300 rate matching a stream of encoded data. Process 400 may proceed from 410 to 420 .
  • process 400 may involve encoder 320 of processor 310 passing the stream of encoded data through a bit-level interleaver to provide a stream of interleaved data.
  • process 400 may involve processor 310 performing a number of operations as represented by sub-blocks 412 , 414 and 416 .
  • process 400 may involve LDPC encoder 322 of encoder 320 of processor 310 encoding data to provide the stream of encoded data.
  • Process 400 may proceed from 412 to 414 .
  • process 400 may involve circular buffer 326 of rate matching and bit-level interleaving block 324 of encoder 320 of processor 310 receiving the stream of encoded data from LDPC encoder 322 .
  • Process 400 may proceed from 414 to 416 .
  • process 400 may involve circular buffer 326 of rate matching and bit-level interleaving block 324 of encoder 320 of processor 310 buffering the stream of encoded data.
  • circular buffer 326 may function as a rate matching block that rate matches the stream of encoded data.
  • circular buffer 326 may rate matches the stream of encoded data with a code rate that is used by a decoder at a receiver to decode data received by the receiver.
  • process 400 in passing the stream of encoded data through the bit-level interleaver, may involve bit-level interleaver 328 of rate matching and bit-level interleaving block 324 of encoder 320 of processor 310 receiving the stream of encoded data from circular buffer 326 . Moreover, process 400 may involve bit-level interleaver 328 performing bit-level interleaving on the stream of encoded data to provide the stream of interleaved data.
  • FIG. 5 illustrates an example process 500 in accordance with an implementation of the present disclosure.
  • Process 500 may represent an aspect of implementing the proposed concepts and schemes such as those described with respect to FIG. 1 . More specifically, process 500 may represent an aspect of the proposed concepts and schemes pertaining to location of interleaver with LDPC code.
  • Process 500 may include one or more operations, actions, or functions as illustrated by one or more of blocks 510 and 520 as well as sub-blocks 512 , 514 and 516 . Although illustrated as discrete blocks, various blocks of process 500 may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation. Moreover, the blocks/sub-blocks of process 500 may be executed in the order shown in FIG. 5 or, alternatively in a different order.
  • Process 500 may be implemented by apparatus 300 and any variations thereof. For instance, process 500 may be implemented in or by apparatus 300 . Solely for illustrative purposes and without limiting the scope, process 500 is described below in the context of apparatus 300 . Process 500 may begin at block 510 .
  • process 500 may involve encoder 320 of processor 310 of apparatus 300 passing a stream of encoded data through a bit-level interleaver to provide a stream of interleaved data.
  • Process 500 may proceed from 510 to 520 .
  • process 500 may involve encoder 320 of processor 310 rate matching the stream of interleaved data.
  • process 500 may involve processor 310 performing a number of operations as represented by sub-blocks 512 , 514 and 516 .
  • process 500 may involve LDPC encoder 322 of encoder 320 of processor 310 encoding data to provide the stream of encoded data.
  • Process 500 may proceed from 512 to 514 .
  • process 500 may involve bit-level interleaver 328 of rate matching and bit-level interleaving block 324 of encoder 320 of processor 310 receiving the stream of encoded data from LDPC encoder 322 .
  • Process 500 may proceed from 514 to 516 .
  • process 500 may involve bit-level interleaver 328 performing bit-level interleaving on the stream of encoded data to provide the stream of interleaved data.
  • process 500 may involve circular buffer 326 of rate matching and bit-level interleaving block 324 of encoder 320 of processor 310 receiving the stream of interleaved data from bit-level interleaver 328 . Moreover, process 500 may involve circular buffer 326 buffering the stream of interleaved data.
  • circular buffer 326 may function as a rate matching block that rate matches the stream of interleaved data.
  • circular buffer 326 may rate match the stream of interleaved data with a code rate that is used by a decoder at a receiver to decode data received by the receiver.
  • any two components so associated can also be viewed as being “operably connected”, or “operably coupled”, to each other to achieve the desired functionality, and any two components capable of being so associated can also be viewed as being “operably couplable”, to each other to achieve the desired functionality.
  • operably couplable include but are not limited to physically mateable and/or physically interacting components and/or wirelessly interactable and/or wirelessly interacting components and/or logically interacting and/or logically interactable components.

Landscapes

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

Abstract

Concepts and schemes pertaining to location of interleaver with low-density parity-check (LDPC) code are described. A processor of an apparatus encodes data to provide a stream of encoded data. The processor also rate matches the encoded data to provide a rate-matched stream of encoded data. The processor further interleaving the rate-matched stream of encoded data. In rate matching the encoded data, the processor buffers the stream of encoded data in a circular buffer, with the circular buffer functioning as a rate matching block that rate matches the stream of encoded data. In interleaving the rate-matched stream of encoded data, the processor performs bit-level interleaving on the rate-matched stream of encoded data to provide a stream of interleaved data.

Description

CROSS REFERENCE TO RELATED PATENT APPLICATIONS
The present disclosure claims the priority benefit of U.S. Provisional Patent Application Ser. Nos. 62/449,677 and 62/522,149, filed 24 Jan. 2017 and 20 Jun. 2017, respectively, contents of which are herein incorporated by reference in their entirety.
TECHNICAL FIELD
The present disclosure is generally related to information coding and, more particularly, to location of interleaver with low-density parity-check (LDPC) code.
BACKGROUND
Unless otherwise indicated herein, approaches described in this section are not prior art to the claims listed below and are not admitted as prior art by inclusion in this section.
In 5th-generation (5G) New Radio (NR) mobile communications, LDPC is used in NR data channel. In general, LDPC is composed of base matrix and shift-coefficient tables. However, the location of interleaver with LDPC code is not defined.
SUMMARY
The following summary is illustrative only and is not intended to be limiting in any way. That is, the following summary is provided to introduce concepts, highlights, benefits and advantages of the novel and non-obvious techniques described herein. Select implementations are further described below in the detailed description. Thus, the following summary is not intended to identify essential features of the claimed subject matter, nor is it intended for use in determining the scope of the claimed subject matter.
An objective of the present disclosure is to propose various novel concepts and schemes pertaining to the location of interleaver with LDPC code. In particular, potential locations of a bit-level interleaver relative to a circular buffer are proposed in the present disclosure. Under a first proposed scheme, the location of a bit-level interleaver may be before a circular buffer. Under a second proposed scheme, the location of a bit-level interleaver may be after a circular buffer.
In one aspect, a method may involve rate matching a stream of encoded data. The method may also involve passing the stream of encoded data through a bit-level interleaver to provide a stream of interleaved data.
In one aspect, a method may involve passing a stream of encoded data through a bit-level interleaver to provide a stream of interleaved data. The method may also involve rate matching the stream of interleaved data.
In one aspect, an apparatus may include a transceiver and a processor coupled to the transceiver. The transceiver may be capable of wireless communications with at least one network node of a wireless network. The processor may be capable of encoding data to provide a stream of encoded data. The processor may be also capable of performing rate matching and interleaving on the encoded data.
It is noteworthy that, although description of the proposed scheme and various examples is provided below in the context of 5G NR wireless communications, the proposed concepts, schemes and any variation(s)/derivative(s) thereof may be implemented in communications in accordance with other protocols, standards and specifications where implementation is suitable. Thus, the scope of the proposed scheme is not limited to the description provided herein.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings are included to provide a further understanding of the disclosure, and are incorporated in and constitute a part of the present disclosure. The drawings illustrate implementations of the disclosure and, together with the description, serve to explain the principles of the disclosure. It is appreciable that the drawings are not necessarily in scale as some components may be shown to be out of proportion than the size in actual implementation in order to clearly illustrate the concept of the present disclosure.
FIG. 1 illustrates an example encoder architecture in accordance with an implementation of the present disclosure.
FIG. 2 illustrates an example encoder architecture in accordance with another implementation of the present disclosure.
FIG. 3 is a block diagram of an example apparatus in accordance with an implementation of the present disclosure.
FIG. 4 is a flowchart of an example process in accordance with an implementation of the present disclosure.
FIG. 5 is a flowchart of an example process in accordance with an implementation of the present disclosure.
DETAILED DESCRIPTION OF PREFERRED IMPLEMENTATIONS
Detailed embodiments and implementations of the claimed subject matters are disclosed herein. However, it shall be understood that the disclosed embodiments and implementations are merely illustrative of the claimed subject matters which may be embodied in various forms. The present disclosure may, however, be embodied in many different forms and should not be construed as limited to the exemplary embodiments and implementations set forth herein. Rather, these exemplary embodiments and implementations are provided so that description of the present disclosure is thorough and complete and will fully convey the scope of the present disclosure to those skilled in the art. In the description below, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the presented embodiments and implementations.
Overview
Under the first proposed scheme, the location of a bit-level interleaver may be before a circular buffer. The circular buffer may be equivalent to a rate matching block. Accordingly, data input to the circular buffer may be interleaved. As such, the interleaved data in the circular buffer may be with a lowest code rate, and rate matching may be performed to pass through code block concatenation. At a receiver, a LDPC decoder may utilize the lowest code rate to decode a received codeword. Higher complexity is for the decoder with lower code rate. The first proposed scheme may introduce relatively more decoder complexity to the receiver.
Under the second proposed scheme, the location of a bit-level interleaver may be after a circular buffer. The circular buffer may be equivalent to a rate matching block. Accordingly, data may be rate matched and then passed through the bit-level interleaver. Since the data is rate matched with a suitable code rate, a decoder at a receiver may utilize the corresponding code rate to decode received data. Therefore, complexity of the decoder in the second proposed scheme may be lower than that of the decoder in the first proposed scheme. From the perspective of decoder complexity, the second proposed scheme may be preferred for interleaver.
FIG. 1 illustrates an example encoder architecture 100 in accordance with an implementation of the present disclosure. Encoder architecture 100 may be an architecture based on the first proposed scheme. Referring to FIG. 1, encoder architecture 100 may include a LDPC encoder 110, a bit-level interleaver 120 and a circular buffer 130.
LDPC encoder 110 may be configured, designed or otherwise adapted to perform LDPC encoding on input data to provide a stream of encoded data. Bit-level interleaver 120 may be configured, designed or otherwise adapted to receive the stream of encoded data from LDPC encoder 110 and perform bit-level interleaving on the encoded data to provide a stream of interleaved data (e.g., including systematic bits, information bits and parity bits). Circular buffer 130 may be configured, designed or otherwise adapted to receive the stream of interleaved data from bit-level interleaver 120 and buffer the stream of interleaved data.
With encoder architecture 100, the interleaved data in circular buffer 130 may be with a lowest code rate, and rate matching may be performed to pass through code block concatenation. At a receiver, a LDPC decoder may utilize the lowest code rate to decode a received codeword. Given the nature of LDPC coding, the lower the code rate used on the encoder side, the higher the complexity in decoding becomes on the decoder side. Thus, the design may result in higher complexity for the decoder when a relatively lower code rate is used on the encoder side.
FIG. 2 illustrates an example encoder architecture 200 in accordance with an implementation of the present disclosure. Encoder architecture 200 may be an architecture based on the second proposed scheme. Referring to FIG. 2, encoder architecture 200 may include a LDPC encoder 210, a circular buffer 220 and a bit-level interleaver 230.
LDPC encoder 210 may be configured, designed or otherwise adapted to perform LDPC encoding on input data to provide a stream of encoded data. Circular buffer 220 may be configured, designed or otherwise adapted to receive the stream of encoded data from LDPC encoder 210 and buffer the stream of encoded data. Bit-level interleaver 230 may be configured, designed or otherwise adapted to receive the stream of encoded data from circular buffer 220 and perform bit-level interleaving on the encoded data to provide a stream of interleaved data (e.g., including systematic bits, information bits and parity bits). Accordingly, data may be rate matched and then passed through bit-level interleaver 230. Since the data may be rate matched with a suitable code rate (e.g., a relatively higher code rate), a decoder at a receiver may utilize the corresponding code rate to decode received data. Advantageously, complexity of the decoder with encoder architecture 200 may be lower than that of the decoder with encoder architecture 100.
Illustrative Implementations
FIG. 3 illustrates an example apparatus 300 in accordance with an implementation of the present disclosure. Apparatus 300 may perform various functions as a communication device to implement concepts, schemes, techniques, processes and methods described herein pertaining to location of interleaver with LDPC code, including those described above with respect to FIG. 1 and FIG. 2 as well as processes 400 and 500 described below.
Apparatus 300 may be a part of an electronic apparatus which may be a communication device, a computing apparatus, a portable or mobile apparatus, or a wearable apparatus. For instance, apparatus 300 may be implemented in a user equipment, a base station, a smartphone, a smartwatch, a smart bracelet, a smart necklace, a personal digital assistant, or a computing device such as a tablet computer, a laptop computer, a notebook computer, a desktop computer, or a server. Alternatively, apparatus 300 may be implemented in the form of one or more integrated-circuit (IC) chips such as, for example and not limited to, one or more single-core processors, one or more multi-core processors, or one or more complex-instruction-set-computing (CISC) processors.
Apparatus 300 may include at least some of those components shown in FIG. 3. For instance, apparatus 300 may include at least a processor 310. Additionally, apparatus 300 may include a transceiver 340 configured to engage in wireless communications by transmitting and receiving data wirelessly with at least one network node of a wireless network (e.g., in compliance with one or more 3GPP and 5G NR stands, protocols, specifications and/or any applicable wireless protocols and standards). Apparatus 300 may further include other components (e.g., memory, power system, display device and user interface device), which are not pertinent to the proposed scheme of the present disclosure and, thus, are neither shown in FIG. 3 nor described herein in the interest of simplicity and brevity.
In one aspect, processor 310 may be implemented in the form of one or more single-core processors, one or more multi-core processors, or one or more CISC processors. That is, even though a singular term “a processor” is used herein to refer to processor 310, processor 310 may include multiple processors in some implementations and a single processor in other implementations in accordance with the present disclosure. In another aspect, processor 310 may be implemented in the form of hardware (and, optionally, firmware) with electronic components including, for example and without limitation, one or more transistors, one or more diodes, one or more capacitors, one or more resistors, one or more inductors, one or more memristors and/or one or more varactors that are configured and arranged to achieve specific purposes in accordance with the present disclosure. In other words, in at least some implementations, processor 310 is a special-purpose machine specifically designed, arranged and configured to perform specific tasks including location of interleaver with LDPC code in accordance with various implementations of the present disclosure.
Processor 310, as a special-purpose machine, may include non-generic and specially-designed hardware circuits that are designed, arranged and configured to perform specific tasks pertaining to location of interleaver with LDPC code in accordance with various implementations of the present disclosure. In one aspect, processor 310 may execute the one or more sets of codes, programs and/or instructions (e.g., stored in memory accessible by processor 310) to perform various operations to render location of interleaver with LDPC code in accordance with various implementations of the present disclosure. In another aspect, processor 310 may include an encoder 320 and a decoder 330 that, together, perform specific tasks and functions to render location of interleaver with LDPC code in accordance with various implementations of the present disclosure. In some implementations, encoder architecture 100 and its functionality and capabilities described above may be implemented in or by encoder 320. Alternatively or additionally, encoder architecture 200 and its functionality and capabilities described above may be implemented in or by encoder 320. Each of encoder 320 and decoder 330 may be implemented in the form of hardware with electronic circuitry. Alternatively, each of encoder 320 and decoder 330 may be implemented in the form of software. Still alternatively, each of encoder 320 and decoder 330 may be implemented in the form of a combination of hardware and software.
In some implementations, encoder 320 may include a LDPC encoder 322 and a rate matching and bit-level interleaving block 324, and encoder 320 may be capable of encoding outgoing data to provide first data which is encoded data. For instance, LDPC encoder 322 may encode outgoing data to provide a stream of encoded data. Moreover, rate matching and bit-level interleaving block 324 may perform rate matching and interleaving on the encoded data to provide first data for transmission by transceiver 340. In some implementations,
In some implementations, in encoding the data to provide the stream of encoded data, LDPC encoder 322 of encoder 320 of processor 310 may perform LDPC encoding on the data to provide the stream of encoded data.
In some implementations, in performing rate matching and interleaving on the encoded data, rate matching and bit-level interleaving block 324 of encoder 320 of processor 310 may rate match the stream of encoded data. Moreover, rate matching and bit-level interleaving block 324 may interleave the rate-matched stream of encoded data to provide a stream of interleaved data.
In some implementations, in rate matching the stream of encoded data, circular buffer 326 of rate matching and bit-level interleaving block 324 of encoder 320 of processor 310 may buffer the stream of encoded data, with circular buffer 326 functioning as a rate matching block that rate matches the stream of encoded data.
In some implementations, circular buffer rate 326 may match the stream of encoded data with a code rate that is used by a decoder at a receiver to decode data received by the receiver.
In some implementations, in interleaving the rate-matched stream of encoded data, rate matching and bit-level interleaving block 324 of encoder 320 of processor 310 may perform bit-level interleaving on the rate-matched stream of encoded data to provide the stream of interleaved data.
In some implementations, in performing rate matching and interleaving on the encoded data, rate matching and bit-level interleaving block 324 may interleave the stream of encoded data to provide a stream of interleaved data. Moreover, rate matching and bit-level interleaving block 324 may rate match the stream of interleaved data to provide a rate-matched stream of interleaved data.
In some implementations, in interleaving the stream of encoded data, bit-level interleaver 328 of rate matching and bit-level interleaving block 324 may perform bit-level interleaving on the stream of encoded data to provide the stream of interleaved data.
In some implementations, in rate matching the stream of interleaved data, circular buffer 326 may buffer the stream of interleaved data, with circular buffer 326 functioning as a rate matching block that rate matches the stream of interleaved data.
In some implementations, circular buffer 326 may rate match the stream of interleaved data with a code rate that is used by a decoder at a receiver to decode data received by the receiver.
In some implementations, decoder 330 may include a LDPC decoder 332 and a de-rate matching and bit-level de-interleaving block 334, and decoder 330 may be capable of decoding second data, which is encoded data received from transceiver 340, to provide decoded data. For instance, de-rate matching and bit-level de-interleaving block 334 may process the second data to provide processed data. Moreover, LDPC decoder 332 may decode the processed data with LDPC code to provide the decoded data. In some implementations, de-rate matching and bit-level de-interleaving block 334 may include a de-rate matcher 336 and a bit-level de-interleaver 338. Bit-level de-interleaver 338 may perform bit-level de-interleaving on the second data to provide a stream of de-interleaved data. De-rate matcher 336 may de-rate match the stream of de-interleaved data to provide the processed data for LDPC decoder 332 to decode.
Illustrative Processes
FIG. 4 illustrates an example process 400 in accordance with an implementation of the present disclosure. Process 400 may represent an aspect of implementing the proposed concepts and schemes such as those described with respect to FIG. 2. More specifically, process 400 may represent an aspect of the proposed concepts and schemes pertaining to location of interleaver with LDPC code. Process 400 may include one or more operations, actions, or functions as illustrated by one or more of blocks 410 and 420 as well as sub-blocks 412, 414 and 416. Although illustrated as discrete blocks, various blocks of process 400 may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation. Moreover, the blocks/sub-blocks of process 400 may be executed in the order shown in FIG. 4 or, alternatively in a different order. Process 400 may be implemented by apparatus 300 and any variations thereof. For instance, process 400 may be implemented in or by apparatus 300. Solely for illustrative purposes and without limiting the scope, process 400 is described below in the context of apparatus 300. Process 400 may begin at block 410.
At 410, process 400 may involve encoder 320 of processor 310 of apparatus 300 rate matching a stream of encoded data. Process 400 may proceed from 410 to 420.
At 420, process 400 may involve encoder 320 of processor 310 passing the stream of encoded data through a bit-level interleaver to provide a stream of interleaved data.
With respect to rate matching a stream of encoded data, process 400 may involve processor 310 performing a number of operations as represented by sub-blocks 412, 414 and 416.
At 412, process 400 may involve LDPC encoder 322 of encoder 320 of processor 310 encoding data to provide the stream of encoded data. Process 400 may proceed from 412 to 414.
At 414, process 400 may involve circular buffer 326 of rate matching and bit-level interleaving block 324 of encoder 320 of processor 310 receiving the stream of encoded data from LDPC encoder 322. Process 400 may proceed from 414 to 416.
At 416, process 400 may involve circular buffer 326 of rate matching and bit-level interleaving block 324 of encoder 320 of processor 310 buffering the stream of encoded data.
In some implementations, circular buffer 326 may function as a rate matching block that rate matches the stream of encoded data.
In some implementations, circular buffer 326 may rate matches the stream of encoded data with a code rate that is used by a decoder at a receiver to decode data received by the receiver.
In some implementations, in passing the stream of encoded data through the bit-level interleaver, process 400 may involve bit-level interleaver 328 of rate matching and bit-level interleaving block 324 of encoder 320 of processor 310 receiving the stream of encoded data from circular buffer 326. Moreover, process 400 may involve bit-level interleaver 328 performing bit-level interleaving on the stream of encoded data to provide the stream of interleaved data.
FIG. 5 illustrates an example process 500 in accordance with an implementation of the present disclosure. Process 500 may represent an aspect of implementing the proposed concepts and schemes such as those described with respect to FIG. 1. More specifically, process 500 may represent an aspect of the proposed concepts and schemes pertaining to location of interleaver with LDPC code. Process 500 may include one or more operations, actions, or functions as illustrated by one or more of blocks 510 and 520 as well as sub-blocks 512, 514 and 516. Although illustrated as discrete blocks, various blocks of process 500 may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation. Moreover, the blocks/sub-blocks of process 500 may be executed in the order shown in FIG. 5 or, alternatively in a different order. Process 500 may be implemented by apparatus 300 and any variations thereof. For instance, process 500 may be implemented in or by apparatus 300. Solely for illustrative purposes and without limiting the scope, process 500 is described below in the context of apparatus 300. Process 500 may begin at block 510.
At 510, process 500 may involve encoder 320 of processor 310 of apparatus 300 passing a stream of encoded data through a bit-level interleaver to provide a stream of interleaved data. Process 500 may proceed from 510 to 520.
At 520, process 500 may involve encoder 320 of processor 310 rate matching the stream of interleaved data.
With respect to passing a stream of encoded data through a bit-level interleaver, process 500 may involve processor 310 performing a number of operations as represented by sub-blocks 512, 514 and 516.
At 512, process 500 may involve LDPC encoder 322 of encoder 320 of processor 310 encoding data to provide the stream of encoded data. Process 500 may proceed from 512 to 514.
At 514, process 500 may involve bit-level interleaver 328 of rate matching and bit-level interleaving block 324 of encoder 320 of processor 310 receiving the stream of encoded data from LDPC encoder 322. Process 500 may proceed from 514 to 516.
At 516, process 500 may involve bit-level interleaver 328 performing bit-level interleaving on the stream of encoded data to provide the stream of interleaved data.
In some implementations, in rate matching the stream of interleaved data, process 500 may involve circular buffer 326 of rate matching and bit-level interleaving block 324 of encoder 320 of processor 310 receiving the stream of interleaved data from bit-level interleaver 328. Moreover, process 500 may involve circular buffer 326 buffering the stream of interleaved data.
In some implementations, circular buffer 326 may function as a rate matching block that rate matches the stream of interleaved data.
In some implementations, circular buffer 326 may rate match the stream of interleaved data with a code rate that is used by a decoder at a receiver to decode data received by the receiver.
Additional Notes
The herein-described subject matter sometimes illustrates different components contained within, or connected with, different other components. It is to be understood that such depicted architectures are merely examples, and that in fact many other architectures can be implemented which achieve the same functionality. In a conceptual sense, any arrangement of components to achieve the same functionality is effectively “associated” such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality can be seen as “associated with” each other such that the desired functionality is achieved, irrespective of architectures or intermedial components. Likewise, any two components so associated can also be viewed as being “operably connected”, or “operably coupled”, to each other to achieve the desired functionality, and any two components capable of being so associated can also be viewed as being “operably couplable”, to each other to achieve the desired functionality. Specific examples of operably couplable include but are not limited to physically mateable and/or physically interacting components and/or wirelessly interactable and/or wirelessly interacting components and/or logically interacting and/or logically interactable components.
Further, with respect to the use of substantially any plural and/or singular terms herein, those having skill in the art can translate from the plural to the singular and/or from the singular to the plural as is appropriate to the context and/or application. The various singular/plural permutations may be expressly set forth herein for sake of clarity.
Moreover, it will be understood by those skilled in the art that, in general, terms used herein, and especially in the appended claims, e.g., bodies of the appended claims, are generally intended as “open” terms, e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc. It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases “at least one” and “one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim recitation to implementations containing only one such recitation, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an,” e.g., “a” and/or “an” should be interpreted to mean “at least one” or “one or more;” the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should be interpreted to mean at least the recited number, e.g., the bare recitation of “two recitations,” without other modifiers, means at least two recitations, or two or more recitations. Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention, e.g., “a system having at least one of A, B, and C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc. In those instances where a convention analogous to “at least one of A, B, or C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention, e.g., “a system having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc. It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.”
From the foregoing, it will be appreciated that various implementations of the present disclosure have been described herein for purposes of illustration, and that various modifications may be made without departing from the scope and spirit of the present disclosure. Accordingly, the various implementations disclosed herein are not intended to be limiting, with the true scope and spirit being indicated by the following claims.

Claims (8)

What is claimed is:
1. A method, comprising:
rate matching, by an encoder circuit of a processor of an apparatus, a stream of encoded data;
passing, by the encoder circuit, the stream of encoded data through a bit-level interleaver of the encoder circuit to provide a stream of interleaved data; and
wirelessly transmitting, by a transceiver of the apparatus, the stream of interleaved data to a network node of a wireless network,
wherein the rate matching of the stream of encoded data comprises:
encoding, by a low-density parity-check (LDPC) encoder of the encoder circuit, data to provide the stream of encoded data; and
receiving, by a circular buffer of the encoder circuit, the stream of encoded data from the LDPC encoder, and
wherein the bit-level interleaver and the circular buffer are physically arranged in the encoder circuit such that a location of the bit-level interleaver is after the circular buffer with respect to a flow of the stream of interleaved data to enable a lower complexity of a decoder in the network node receiving the stream of interleaved data compared to a case in which the bit-level interleaver is before the circular buffer with respect to the flow of the stream of interleaved data.
2. The method of claim 1, wherein the rate matching of the stream of encoded data further comprises:
buffering, by the circular buffer, the stream of encoded data,
wherein the circular buffer functions as a rate matching block that rate matches the stream of encoded data.
3. The method of claim 2, wherein the circular buffer rate matches the stream of encoded data with a code rate that is used by the decoder at a receiver of the network node to decode data received by the receiver.
4. The method of claim 2, wherein the passing of the stream of encoded data through the bit-level interleaver comprises:
receiving, by the bit-level interleaver, the stream of encoded data from the circular buffer; and
performing, by the bit-level interleaver, bit-level interleaving on the stream of encoded data to provide the stream of interleaved data.
5. An apparatus, comprising:
a transceiver capable of wireless communications with at least one network node of a wireless network; and
a processor coupled to the transceiver, the processor comprising an encoder circuit that is capable of performing:
encoding data to provide a stream of encoded data; and
performing rate matching and interleaving on the encoded data by:
rate matching the stream of encoded data by buffering the stream of encoded data in a circular buffer of the encoder circuit; and
performing bit-level interleaving, by a bit-level interleaver of the encoder circuit, the rate-matched stream of encoded data to provide a stream of interleaved data,
wherein the bit-level interleaver and the circular buffer are physically arranged in the encoder circuit such that a location of the bit-level interleaver is after the circular buffer with respect to a flow of the stream of interleaved data to enable a lower complexity of a decoder in the network node receiving the stream of interleaved data compared to a case in which the bit-level interleaver is before the circular buffer with respect to the flow of the stream of interleaved data.
6. The apparatus of claim 5, wherein, in encoding the data to provide the stream of encoded data, the processor performs low-density parity-check (LDPC) encoding on the data to provide the stream of encoded data.
7. The apparatus of claim 6,
wherein the circular buffer functions as a rate matching block that rate matches the stream of encoded data.
8. The apparatus of claim 7, wherein the circular buffer rate matches the stream of encoded data with a code rate that is used by the decoder at a receiver of the network node to decode data received by the receiver.
US15/878,350 2017-01-24 2018-01-23 Location of interleaver with LDPC code Active US10432227B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US15/878,350 US10432227B2 (en) 2017-01-24 2018-01-23 Location of interleaver with LDPC code
TW107102523A TW201834403A (en) 2017-01-24 2018-01-24 Location of interleaver with LDPC code
CN201880000468.7A CN108633326A (en) 2017-01-24 2018-01-24 Utilize the position of the interleaver of LDPC code
PCT/CN2018/073963 WO2018137646A1 (en) 2017-01-24 2018-01-24 Location of interleaver with ldpc code
EP18744752.9A EP3571795A4 (en) 2017-01-24 2018-01-24 Location of interleaver with ldpc code
US16/543,783 US10958290B2 (en) 2017-01-24 2019-08-19 Location of interleaver with LDPC code

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762449677P 2017-01-24 2017-01-24
US201762522149P 2017-06-20 2017-06-20
US15/878,350 US10432227B2 (en) 2017-01-24 2018-01-23 Location of interleaver with LDPC code

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/543,783 Continuation US10958290B2 (en) 2017-01-24 2019-08-19 Location of interleaver with LDPC code

Publications (2)

Publication Number Publication Date
US20180212626A1 US20180212626A1 (en) 2018-07-26
US10432227B2 true US10432227B2 (en) 2019-10-01

Family

ID=62907374

Family Applications (2)

Application Number Title Priority Date Filing Date
US15/878,350 Active US10432227B2 (en) 2017-01-24 2018-01-23 Location of interleaver with LDPC code
US16/543,783 Active US10958290B2 (en) 2017-01-24 2019-08-19 Location of interleaver with LDPC code

Family Applications After (1)

Application Number Title Priority Date Filing Date
US16/543,783 Active US10958290B2 (en) 2017-01-24 2019-08-19 Location of interleaver with LDPC code

Country Status (5)

Country Link
US (2) US10432227B2 (en)
EP (1) EP3571795A4 (en)
CN (1) CN108633326A (en)
TW (1) TW201834403A (en)
WO (1) WO2018137646A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102126404B1 (en) 2016-08-12 2020-06-24 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) Rate matching methods for LDPC codes
CN110266320B (en) * 2019-07-01 2021-03-12 京信通信***(中国)有限公司 LDPC encoding and decoding method, device and encoding and decoding system

Citations (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1296490A2 (en) 2001-08-14 2003-03-26 Hewlett-Packard Company Message broker
US20040246893A1 (en) 2003-06-05 2004-12-09 International Business Machines Corporation Method and apparatus for customizable surveillance of network interfaces
EP1701450A1 (en) 2005-03-11 2006-09-13 Samsung Electronics Co., Ltd. Channel interleaving/deinterleaving for a communication system using a low density parity check (LDPC) code
US20070089027A1 (en) 2005-09-27 2007-04-19 Samsung Electronics Co., Ltd. Apparatus and method for transmitting/receiving signal in a communication system using low density parity check code
US20070211815A1 (en) 2006-03-10 2007-09-13 Interdigital Technology Corporation Method and apparatus for scaling soft bits for decoding
CN101119178A (en) 2006-08-01 2008-02-06 华为技术有限公司 Signal transmitting, receiving method and signal transmitting device
US20080178065A1 (en) 2007-01-24 2008-07-24 Qualcomm Incorporated Ldpc encoding and decoding of packets of variable sizes
US20080276156A1 (en) 2007-05-01 2008-11-06 Texas A&M University System Low density parity check decoder for regular ldpc codes
US20080320353A1 (en) * 2007-06-20 2008-12-25 Motorola, Inc. Apparatus comprising a circular buffer and method for assigning redundancy versions to a circular buffer
CN101388743A (en) 2007-09-13 2009-03-18 中兴通讯股份有限公司 Physical channel mapping device and mapping method for OFDM system
CN101741527A (en) 2008-11-27 2010-06-16 中兴通讯股份有限公司 Rate adaption method and device
CN101841390A (en) 2010-03-01 2010-09-22 联芯科技有限公司 Transmission channel coding and multiplexing method and bit level processor
US20100257425A1 (en) 2009-04-06 2010-10-07 Nec Laboratories America, Inc. Systems and methods for constructing the base matrix of quasi-cyclic low-density parity-check codes
CN101951264A (en) 2010-08-31 2011-01-19 宁波大学 Multiple-rate, quasi-cycling and low density decoder for parity check codes
CN102237978A (en) 2010-04-27 2011-11-09 华为技术有限公司 Collaborative link establishment and maintenance method and related device
US20120047415A1 (en) 2010-08-20 2012-02-23 Nec Laboratories America, Inc. Reverse concatenated encoding and decoding
US20120066563A1 (en) 2010-09-09 2012-03-15 Haruka Obata Error correction decoder, memory controller and receiver
US20120084625A1 (en) 2010-08-12 2012-04-05 Samsung Electronics Co., Ltd. Apparatus and method for decoding ldpc codes in a communications system
EP2461511A1 (en) 2010-01-04 2012-06-06 ZTE Corporation Serial processing method, parallel processing method of bit rate matching and device thereof
US8225173B2 (en) 2004-06-25 2012-07-17 Runcom Technologies Ltd Multi-rate LDPC code system and method
US20120257664A1 (en) 2011-04-06 2012-10-11 Nec Laboratories America, Inc. Method for Improving Multiuser MIMO Downlink Transmissions
US8473817B2 (en) 2006-01-09 2013-06-25 Broadcom Corporation LDPC (low density parity check) code size adjustment by shortening and puncturing
US8510358B2 (en) 2008-12-29 2013-08-13 Intel Corporation Partially random permutation sequence generator
US8689088B2 (en) 2007-03-27 2014-04-01 Lg Electronics Inc. Method of encoding data using a low density parity check code
CN103873186A (en) 2012-12-11 2014-06-18 中兴通讯股份有限公司 TD-SCDMA uplink transmission channel processing method
EP2879297A1 (en) 2012-07-27 2015-06-03 Panasonic Corporation Transmission method, transmitter, reception method, and receiver
CN104917588A (en) 2015-04-13 2015-09-16 李焱 Channel coding method improving transmission reliability of non-line of sight millimeter wave indoor communication system
US20150358194A1 (en) * 2012-12-21 2015-12-10 Samsung Electronics Co., Ltd. Method and device for transmitting and receiving signal by using modulation techniques in wireless communication system
CN105471547A (en) 2014-09-30 2016-04-06 美国博通公司 Communication device and method for execution through same
CN106253912A (en) 2016-07-27 2016-12-21 西安电子科技大学 The Turbo code translator of compatible two generation DVB RCS and method
US20170070377A1 (en) 2014-03-04 2017-03-09 Ntt Docomo, Inc. User terminal, radio base station, and radio communication method
US20170141798A1 (en) 2015-11-12 2017-05-18 Qualcomm Incorporated Puncturing for structured low density parity check (ldpc) codes
US20180294917A1 (en) * 2017-03-31 2018-10-11 Qualcomm Incorporated Techniques for rate matching and interleaving in wireless communications

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005078951A1 (en) 2004-02-11 2005-08-25 Aware, Inc. Communication channel capacity estimation
EP1843797B1 (en) * 2005-02-04 2014-01-22 The Procter and Gamble Company Absorbent structure with improved water-absorbing material
KR100946884B1 (en) 2005-07-15 2010-03-09 삼성전자주식회사 Channel interleaving/de-interleaving apparatus in a communication system using a low density parity check code and control method thereof
US8566676B2 (en) 2007-01-05 2013-10-22 Qualcomm Incorporated FEC code and code rate selection based on packet size
WO2009028886A2 (en) 2007-08-28 2009-03-05 Samsung Electronics Co., Ltd. Apparatus and method for transmitting and receiving data in a communication system using low density parity check codes
WO2009094805A1 (en) * 2008-01-25 2009-08-06 Panasonic Corporation Radio communication apparatus and interleaving method
CN101984570B (en) 2010-10-25 2013-09-18 北京邮电大学 Codebook selection and modulation method being applied under MIMO-OFDM system to overcome weak scattering
CN103188044A (en) * 2011-05-19 2013-07-03 北京新岸线移动多媒体技术有限公司 Data transmission method and equipment
US9094841B2 (en) 2012-04-04 2015-07-28 Samsung Electronics Co., Ltd. Determination of channel quality information in advanced antenna systems
WO2015041480A1 (en) 2013-09-18 2015-03-26 Samsung Electronics Co., Ltd. Transmitter and signal processing method thereof
KR101776275B1 (en) 2014-02-19 2017-09-07 삼성전자주식회사 Transmitting apparatus and interleaving method thereof
DE112014006841B4 (en) 2014-07-28 2021-06-10 Mitsubishi Electric Corporation Data update system for a mobile navigation device for generating differential data and storage device therefor
US9853771B2 (en) 2015-05-19 2017-12-26 Samsung Electronics Co., Ltd. Transmitting apparatus and mapping method thereof
US10725860B2 (en) 2016-03-04 2020-07-28 Sandisk Technologies Llc Storage system and method for handling a burst of errors
EP3902142A1 (en) 2016-05-12 2021-10-27 MediaTek Inc. Qc-ldpc coding methods and apparatus
US10959233B2 (en) 2016-11-13 2021-03-23 Qualcomm Incorporated Method to enable iterative processing and perform closer to constrained capacity

Patent Citations (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1296490A2 (en) 2001-08-14 2003-03-26 Hewlett-Packard Company Message broker
US7756048B2 (en) 2003-06-05 2010-07-13 International Business Machines Corporation Method and apparatus for customizable surveillance of network interfaces
US20040246893A1 (en) 2003-06-05 2004-12-09 International Business Machines Corporation Method and apparatus for customizable surveillance of network interfaces
US8225173B2 (en) 2004-06-25 2012-07-17 Runcom Technologies Ltd Multi-rate LDPC code system and method
EP1701450A1 (en) 2005-03-11 2006-09-13 Samsung Electronics Co., Ltd. Channel interleaving/deinterleaving for a communication system using a low density parity check (LDPC) code
US20070089027A1 (en) 2005-09-27 2007-04-19 Samsung Electronics Co., Ltd. Apparatus and method for transmitting/receiving signal in a communication system using low density parity check code
US8473817B2 (en) 2006-01-09 2013-06-25 Broadcom Corporation LDPC (low density parity check) code size adjustment by shortening and puncturing
US20070211815A1 (en) 2006-03-10 2007-09-13 Interdigital Technology Corporation Method and apparatus for scaling soft bits for decoding
CN101119178A (en) 2006-08-01 2008-02-06 华为技术有限公司 Signal transmitting, receiving method and signal transmitting device
US20080178065A1 (en) 2007-01-24 2008-07-24 Qualcomm Incorporated Ldpc encoding and decoding of packets of variable sizes
US8689088B2 (en) 2007-03-27 2014-04-01 Lg Electronics Inc. Method of encoding data using a low density parity check code
US20150311917A1 (en) 2007-05-01 2015-10-29 The Texas A&M University System Low density parity check decoder
US20080276156A1 (en) 2007-05-01 2008-11-06 Texas A&M University System Low density parity check decoder for regular ldpc codes
CN101682486A (en) 2007-06-20 2010-03-24 摩托罗拉公司 Comprise the device of circular buffer and be used for distributing the method for redundancy versions to circular buffer
US20080320353A1 (en) * 2007-06-20 2008-12-25 Motorola, Inc. Apparatus comprising a circular buffer and method for assigning redundancy versions to a circular buffer
CN101388743A (en) 2007-09-13 2009-03-18 中兴通讯股份有限公司 Physical channel mapping device and mapping method for OFDM system
CN101741527A (en) 2008-11-27 2010-06-16 中兴通讯股份有限公司 Rate adaption method and device
US8510358B2 (en) 2008-12-29 2013-08-13 Intel Corporation Partially random permutation sequence generator
US20100257425A1 (en) 2009-04-06 2010-10-07 Nec Laboratories America, Inc. Systems and methods for constructing the base matrix of quasi-cyclic low-density parity-check codes
EP2461511A1 (en) 2010-01-04 2012-06-06 ZTE Corporation Serial processing method, parallel processing method of bit rate matching and device thereof
CN101841390A (en) 2010-03-01 2010-09-22 联芯科技有限公司 Transmission channel coding and multiplexing method and bit level processor
CN102237978A (en) 2010-04-27 2011-11-09 华为技术有限公司 Collaborative link establishment and maintenance method and related device
US20120084625A1 (en) 2010-08-12 2012-04-05 Samsung Electronics Co., Ltd. Apparatus and method for decoding ldpc codes in a communications system
US20120047415A1 (en) 2010-08-20 2012-02-23 Nec Laboratories America, Inc. Reverse concatenated encoding and decoding
CN101951264A (en) 2010-08-31 2011-01-19 宁波大学 Multiple-rate, quasi-cycling and low density decoder for parity check codes
US20120066563A1 (en) 2010-09-09 2012-03-15 Haruka Obata Error correction decoder, memory controller and receiver
US20120257664A1 (en) 2011-04-06 2012-10-11 Nec Laboratories America, Inc. Method for Improving Multiuser MIMO Downlink Transmissions
EP2879297A1 (en) 2012-07-27 2015-06-03 Panasonic Corporation Transmission method, transmitter, reception method, and receiver
CN103873186A (en) 2012-12-11 2014-06-18 中兴通讯股份有限公司 TD-SCDMA uplink transmission channel processing method
US20150358194A1 (en) * 2012-12-21 2015-12-10 Samsung Electronics Co., Ltd. Method and device for transmitting and receiving signal by using modulation techniques in wireless communication system
US20170070377A1 (en) 2014-03-04 2017-03-09 Ntt Docomo, Inc. User terminal, radio base station, and radio communication method
CN105471547A (en) 2014-09-30 2016-04-06 美国博通公司 Communication device and method for execution through same
CN104917588A (en) 2015-04-13 2015-09-16 李焱 Channel coding method improving transmission reliability of non-line of sight millimeter wave indoor communication system
US20170141798A1 (en) 2015-11-12 2017-05-18 Qualcomm Incorporated Puncturing for structured low density parity check (ldpc) codes
CN106253912A (en) 2016-07-27 2016-12-21 西安电子科技大学 The Turbo code translator of compatible two generation DVB RCS and method
US20180294917A1 (en) * 2017-03-31 2018-10-11 Qualcomm Incorporated Techniques for rate matching and interleaving in wireless communications

Non-Patent Citations (19)

* Cited by examiner, † Cited by third party
Title
European Patent Office, Partial European Search Report for Application No. 17170825.8-1906, dated Dec. 1, 2017.
Hui Wang et al., On the LLR Criterion Based Shortening Design for LDPC Codes, 2016 Annual Conference on Information Science and Systems, Mar. 16, 2016, pp. 87-92.
JONG-EE OH ; MINHO CHEONG ; CHEOL-HUI RYU ; SEOKHYUN YOON ; SOK-KYU LEE: "Row-Splitting Design of Low-Density Parity-Check Codes for Gbps Transmission", VEHICULAR TECHNOLOGY CONFERENCE, 2007. VTC-2007 FALL. 2007 IEEE 66TH, IEEE, PI, 1 September 2007 (2007-09-01), Pi, pages 1127 - 1131, XP031147582, ISBN: 978-1-4244-0263-2
Jong-Ee Oh et al., Row-Splitting Design of Low-Density Parity-Check Codes for Gbps Transmission, Vehicular Technology Conference, Sep. 1, 2007, pp. 1127-1129, XP031147582, ISBN: 978-1-4244-0263-2.
Mediatek Inc., Implementation considerations on flexible and efficient LDPC decoders, Lisbon, Portugal, Oct. 10-14, 2016.
Mediatek Inc., Multi-codebook embedded compact QC-LDPC design, 3GPP TSG-RAN WG1 NR, Spokane, U.S.A., Aug. 3-7, 2017.
Nokia et al., LDPC Design for eMBB, 3RD Generation Partnership Project, Aug. 12, 2016, pp. 20160822-20160826, vol. RAN WG1, Mobile Competence Center, Gothenburg, Sweden.
State Intellectual Property Office, International Search Report and Written Opinion for International Patent Application No. PCT/CN2018/073963, dated May 2, 2018.
State Intellectual Property Office, International Search Report and Written Opinion for International Patent Application No. PCT/CN2018/089624, dated Aug. 23, 2018.
State Intellectual Property Office, International Search Report and Written Opinion for International Patent Application No. PCT/CN2018/093167, dated Sep. 25, 2018.
State Intellectual Property Office, International Search Report and Written Opinion for International Patent Application No. PCT/CN2018/093374, dated Sep. 26, 2018.
State Intellectual Property Office, International Search Report and Written Opinion for PCT Patent Application No. PCT/CN2018/071868, dated Mar. 27, 2018.
State Intellectual Property Office, International Search Report and Written Opinion for PCT Patent Application No. PCT/CN2018/073962, dated Apr. 20, 2018.
Taiwan Intellectual Property Office, Office Action for Taiwan Patent Application No. 106129096, dated Dec. 17, 2018.
Taiwan Intellectual Property Office, Office Action for Taiwan Patent Application No. 107102523, Jun. 24, 2019.
Taiwan Intellectual Property Office, Office Action for Taiwan Patent Application No. 107122449, Jun. 28, 2019.
Toshihiko Okamura, A Hybrid ARQ Scheme Based on Shortened Low-Density Parity-Check Codes, Wireless Communications and Networking Conference, Mar. 31, 2008, pp. 82-87, XP031243605, ISBN: 978-1-4244-1997-5, WCNC, Piscataway, NJ, USA.
ZTE Corp., Consideration on LDPC codes for NR, Nanjing, China, May 23-27, 2016.
ZTE, Discussion on Channel Coding and Modulation for New Radio Interface, 3GPP TSG RAN WG1 #84bis, R1-162229, Apr. 15, 2016, Korea.

Also Published As

Publication number Publication date
US20190372600A1 (en) 2019-12-05
US10958290B2 (en) 2021-03-23
EP3571795A1 (en) 2019-11-27
TW201834403A (en) 2018-09-16
US20180212626A1 (en) 2018-07-26
CN108633326A (en) 2018-10-09
WO2018137646A1 (en) 2018-08-02
EP3571795A4 (en) 2020-03-04

Similar Documents

Publication Publication Date Title
CN110113132B (en) Coding and decoding method and terminal
US10630319B2 (en) Structure of interleaver with LDPC code
CN109075799B (en) Coding and decoding method and device for Polar codes
US20220029741A1 (en) Encoding data with polar codes for control channels
US10425186B2 (en) Combined coding design for efficient codeblock extension
WO2006135878B1 (en) In-place transformations with applications to encoding and decoding various classes of codes
US10958290B2 (en) Location of interleaver with LDPC code
CN110192346B (en) Offset coefficient and lifting factor design method for low density parity check code
WO2018058295A1 (en) Hybrid automatic repeat request for block codes
JP2008011460A (en) Turbo decoder
WO2018027669A1 (en) Rate matching for block encoder
CN107659381A (en) Coding method and device
US10581457B2 (en) Shift coefficient and lifting factor design for NR LDPC code
WO2018058294A1 (en) Harq techniques for polar codes
US20190074928A1 (en) Data Sending Method, Data Receiving Method, Sending Device, and Receiving Device
TWI723232B (en) Method for processing data, terminal equipment, and network equipment
US20180131392A1 (en) NR LDPC With Interleaver
CN108809485B (en) Coding method and device
CN106464503A (en) Data transmission method and apparatus
CN115549696A (en) Decoding method and device for polarization code

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: MEDIATEK INC., TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHEN, WEI-JEN;CHEN, JU-YA;CHANG, YEN-SHUO;AND OTHERS;SIGNING DATES FROM 20180123 TO 20180124;REEL/FRAME:044707/0820

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4