Various communication systems may benefit from efficient encoding and decoding. For example, certain multiple-input multiple-output devices may benefit from efficient encoding and decoding while operating with two codewords.
The number of codeword(s) to support with multiple-input multiple-output (MIMO) might have the following characteristics. The number of codeword(s) per one scheduled physical data channel in new radio (NR) both for downlink (DL) and uplink (UL) can be 1 or 2 codewords for 1-2 MIMO layers. For 3-8 MIMO layers there may be 1, 2, or 3 or even more codewords.
The selection from among these alternatives might take into account performance of non-coherent joint transmission (NC-JT) from two or more beams/transmission reception points (TRPs), overhead in downlink control information (DCI)/uplink control information (UCI), such as acknowledgment (ACK)/negative acknowledgment (NACK) or channel quality indicator (CQI).
Overhead reduction schemes might be applied, such as indication for the maximum number of MIMO layers from TRP, ACK/NACK spatial bundling, and so on. Different modulations might be used in a single codeword. Furthermore, there might be the possibility of a configurable number of codewords per user equipment (UE) by the network (NW).
In long term evolution (LTE), turbo codes always operate with rate 1/3 where encoding and decoding can be performed without changing any particular configurations of the encoder and decoder. When codeword or transport block (TB) is larger, TB can be segmented into several code blocks (CB), and the encoder or decoder can process them together without changing encoder or decoder configuration. With low-density parity-check (LDPC) codes, encoder and decoder use parity check matrices that are always dependent on the code block size and code rates for which support is needed. There can be delays due to the sequential nature of processing, when there are not two parallel encoders/decoders. For example, CBs of the first codeword can be processed prior to the CBs of the second codeword.
Various documents describe LDPC decoder architectures, MIMO codewords and segmentation principles, of which the following are three examples: C. Roth, VLSI Design, Optimization, and Implementation of Channel Decoding in Wireless Systems. Diss. Diss., Eidgenossische Technische Hochschule ETH Zurich, Nr. 22672, 2015; 3GPP TS 36.212; and 5G.212 (KT 5th Generation Radio Access; Multiplexing and channel coding).
Code segmentation in LTE Turbo codes as described in 3GPP TS 36.212, does not depend on the number of codewords. LTE perform segmentation per codeword and it is possible to have two different code block sizes (CBS) for two codewords. Rate matching is often considered with a circular buffer, and has nothing to do with the encoding and decoding steps.
LDPC codes are used in the latest 5G approaches, as described in 5G.212, where supported codewords in MIMO mode are always limited to one codeword. When two codewords are supported, the techniques are not directly applicable to provide efficient encoding/decoding process.
In a first aspect thereof the exemplary embodiments of this invention provide a method that comprises receiving a first codeword and a second codeword; segmenting the first codeword and the second codeword based on transport block size and code rate to provide a sub-matrix dimension; and outputting the sub-matrix dimensioned code blocks of the first codeword and the second codeword as a first code blocks and second code blocks.
In a further aspect thereof the exemplary embodiments of this invention provide an apparatus that comprises at least one data processor and at least one memory that includes computer program code. The at least one memory and computer program code are configured, with the at least one data processor, to cause the apparatus, at least to receive a first codeword and a second codeword; segment the first codeword and the second codeword based on transport block size and code rate to provide a sub-matrix dimension; and output the sub-matrix dimensioned code blocks of the first codeword and the second codeword as a first code blocks and second code blocks.
In another aspect thereof the exemplary embodiments of this invention provide an apparatus that comprises at least one data processor and at least one memory that includes computer program code. The at least one memory and computer program code are configured, with the at least one data processor, to cause the apparatus, at least to receive first rate-matched code blocks and second rate-matched code blocks corresponding to a first codeword and a second codeword respectively; rate de-match the first rate-matched code blocks and the second rate-matched code blocks; and output first rate de-matched code blocks and second rate de-matched code blocks corresponding to the first codeword and the second codeword respectively.
For proper understanding of the invention, reference should be made to the accompanying drawings, wherein:
Certain embodiments relate to how to support channel encoding and decoding when the number of codewords is equal to two. LDPC codes can be used as the NR eMBB data coding scheme. LDPC has different encoding/decoding operation than LTE turbo codes, which are not directly applicable to support efficient two-codeword operation, as mentioned above. Certain embodiments provide possible technique(s) to support two-codeword operation with LDPC codes.
Two-codeword operation with traditional LDPC encoding and decoding is shown in
As shown in
A similar process can happen in reverse at receiving. The rate matched streams can be received a rate dematching module. The rate dematching module can provide one of the streams to a memory, and both streams can be provided to the decoder. The decoder can output codewords 1 and 2.
As shown in
In
In addition, Λ and λ may provide a trade-off between allowed padding and reducing operating block size. In practice, these details can be fixed and sub-matrix dimensions close to the maximum can be obtained when the transport block sizes are large.
When there is single codeword operation, codeword segmentation can use a different segmentation principle. When the base station and user equipment have multiple encoders or decoders that can be used in parallel, the method of single codeword segmentation can be applied for both codewords.
Radio resource control (RRC) signaling can be used to determine the capabilities of encoding and decoding, then to select the best possible segmentation mechanism.
When both codewords support incremental redundancy (IR) HARQ, the proposed method may be efficient for encoding, as determining the coded block size may not consume much processing as the system may always encode with the lowest code rate. Rate matching can take care of selecting the coded block size matching to the intended code rate.
The segmentation method according to certain embodiments may not require complicated processing as the described approaches to finding the operating sub-matrix dimension has a low number of operations. When the sub-matrix dimension is fixed for two codewords, it may be possible to encode or decode in whatever arrangement is chosen at the encoder and decoder.
In a variant, the method can further include, at 540, encoding the first code blocks and the second code blocks using a common sub-matrix dimension. The method can additionally include, at 550, outputting first encoded code blocks and second encoded code blocks corresponding to the first codeword and the second codeword respectively.
In a variant, the method can include, at 560, rate matching the first encoded code blocks and second encoded code blocks. The method can further including, at 570, outputting first rate-matched code blocks and second rate-matched code blocks, corresponding to the first codeword and the second codeword respectively.
The above-mentioned features or steps can be performed at a transmitting side. The method can include receiving side features. For example, the method can further include, at 515, receiving first rate-matched code blocks and second rate-matched code blocks. The method can also include, at 525, rate de-matching the first rate-matched code blocks and second rate-matched code blocks to provide first rate de-matched code blocks and second rate de-matched code blocks, corresponding to the first codeword and the second codeword respectively.
The method can also include, at 535, receiving the first rate de-matched code blocks and the second rate de-matched code blocks. The method can further include, at 545, decoding the first rate de-matched code blocks and the second rate de-matched code blocks using a common sub-matrix dimension. The method can additionally include, at 555, outputting first decoded code blocks and second decoded code blocks corresponding to the first codeword and the second codeword respectively.
Each of these devices may include at least one processor or control unit or module, respectively indicated as 614 and 624. At least one memory may be provided in each device, and indicated as 615 and 625, respectively. The memory may include computer program instructions or computer code contained therein, for example for carrying out the embodiments described above. One or more transceiver 616 and 626 may be provided, and each device may also include an antenna, respectively illustrated as 617 and 627. Although only one antenna each is shown, many antennas and multiple antenna elements may be provided to each of the devices. Other configurations of these devices, for example, may be provided. For example, network element 610 and UE 620 may be additionally configured for wired communication, in addition to wireless communication, and in such a case antennas 617 and 627 may illustrate any form of communication hardware, without being limited to merely an antenna.
Transceivers 616 and 626 may each, independently, be a transmitter, a receiver, or both a transmitter and a receiver, or a unit or device that may be configured both for transmission and reception. The transmitter and/or receiver (as far as radio parts are concerned) may also be implemented as a remote radio head which is not located in the device itself, but in a mast, for example. It should also be appreciated that according to the “liquid” or flexible radio concept, the operations and functionalities may be performed in different entities, such as nodes, hosts or servers, in a flexible manner. In other words, division of labor may vary case by case. One possible use is to make a network element to deliver local content. One or more functionalities may also be implemented as a virtual application that is provided as software that can run on a server.
A user device or user equipment 620 may be a mobile station (MS) such as a mobile phone or smart phone or multimedia device, a computer, such as a tablet, provided with wireless communication capabilities, personal data or digital assistant (PDA) provided with wireless communication capabilities, vehicle, portable media player, digital camera, pocket video camera, navigation unit provided with wireless communication capabilities or any combinations thereof. The user device or user equipment 620 may be a sensor or smart meter, or other device that may usually be configured for a single location.
In an exemplifying embodiment, an apparatus, such as a node or user device, may include means for carrying out embodiments described above in relation to
Processors 614 and 624 may be embodied by any computational or data processing device, such as a central processing unit (CPU), digital signal processor (DSP), application specific integrated circuit (ASIC), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), digitally enhanced circuits, or comparable device or a combination thereof. The processors may be implemented as a single controller, or a plurality of controllers or processors. Additionally, the processors may be implemented as a pool of processors in a local configuration, in a cloud configuration, or in a combination thereof. The term circuitry may refer to one or more electric or electronic circuits. The term processor may refer to circuitry, such as logic circuitry, that responds to and processes instructions that drive a computer.
For firmware or software, the implementation may include modules or units of at least one chip set (e.g., procedures, functions, and so on). Memories 615 and 625 may independently be any suitable storage device, such as a non-transitory computer-readable medium. A hard disk drive (HDD), random access memory (RAM), flash memory, or other suitable memory may be used. The memories may be combined on a single integrated circuit as the processor, or may be separate therefrom. Furthermore, the computer program instructions may be stored in the memory and which may be processed by the processors can be any suitable form of computer program code, for example, a compiled or interpreted computer program written in any suitable programming language. The memory or data storage entity is typically internal but may also be external or a combination thereof, such as in the case when additional memory capacity is obtained from a service provider. The memory may be fixed or removable.
The memory and the computer program instructions may be configured, with the processor for the particular device, to cause a hardware apparatus such as network element 610 and/or UE 620, to perform any of the processes described above (see, for example,
Furthermore, although
Certain embodiments may have various benefits and/or advantages. For example, two-codeword operation with LDPC can operate with the same efficiency as with LTE turbo codes. Also, early HARQ feedback for both codewords is possible in certain embodiments when first code blocks are found with errors. Otherwise, the second codeword can wait until the last code block of the TB 1. Furthermore, certain embodiments can reduce additional memory requirements. Moreover, in certain embodiments encoder and decoder operation is efficient, as it does not change shift network and other configurations depending on the code block.
One having ordinary skill in the art will readily understand that the invention as discussed above may be practiced with steps in a different order, and/or with hardware elements in configurations which are different than those which are disclosed. Therefore, although the invention has been described based upon these preferred embodiments, it would be apparent to those of skill in the art that certain modifications, variations, and alternative constructions would be apparent, while remaining within the spirit and scope of the invention.
TB Transport block
TBS TB size
CB Code block
According to a first embodiment, a method can include receiving a first codeword and a second codeword. The method can also include segmenting the first codeword and the second codeword to provide similar sub-matrix dimensions. The method can further include outputting similarly sub-matrix dimensioned code blocks of the first codeword and the second codeword as a first code blocks and second code blocks.
In a variant, the method can further include encoding the first code blocks and the second code blocks using a common sub-matrix dimension. The method can additionally include outputting first encoded code blocks and second encoded code blocks corresponding to the first codeword and the second codeword respectively.
In a variant, the method can include rate matching the first encoded code blocks and second encoded code blocks. The method can further including outputting first rate-matched code blocks and second rate-matched code blocks, corresponding to the first codeword and the second codeword respectively.
According to a second embodiment, a method can include receiving first rate de-matched code blocks and second rate de-matched code blocks corresponding to a first codeword and a second codeword respectively. The method can also include decoding the first rate de-matched code blocks and the second rate de-matched code blocks using a common sub-matrix dimension. The method can further include outputting first decoded code blocks and second decoded code blocks corresponding to the first codeword and the second codeword respectively.
In a variant, the method can further include receiving first rate-matched code blocks and second rate-matched code blocks. The method can also include rate de-matching the first rate-matched code blocks and second rate-matched code blocks to provide the first rate de-matched code blocks and the second rate de-matched code blocks.
According to third and fourth embodiments, an apparatus can include means for performing the method according to the first and second embodiments respectively, in any of their variants.
According to fifth and sixth embodiments, an apparatus can include at least one processor and at least one memory including computer program code. The at least one memory and the computer program code can be configured to, with the at least one processor, cause the apparatus at least to perform the method according to the first and second embodiments respectively, in any of their variants.
According to seventh and eighth embodiments, a computer program product may encode instructions for performing a process including the method according to the first and second embodiments respectively, in any of their variants.
According to ninth and tenth embodiments, a non-transitory computer readable medium may encode instructions that, when executed in hardware, perform a process including the method according to the first and second embodiments respectively, in any of their variants.
According to eleventh and twelfth embodiments, a system may include at least one apparatus according to the third or fifth embodiments in communication with at least one apparatus according to the fourth or sixth embodiments, respectively in any of their variants.
Number | Date | Country | |
---|---|---|---|
62435465 | Dec 2016 | US |