Method for performing encoding, communication device, processing device, storage medium, and method and communication device for performing decoding
By applying a pre-determined encoding method for selecting bit positions and values of hole punching and extended pattern in a wireless communication system, the problem of limited resources between the base station and the user equipment is solved, efficient signal transmission and excellent error correction performance are achieved, system throughput is improved and ultra-reliable low-latency communication is supported.
Patent Information
- Application Number
- CN202380089740.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-02
- Publication Date
- 2025-08-29
AI Technical Summary
In wireless communication systems, due to limited resources between the base station and the user equipment, an effective method is needed to handle the transmission and reception of uplink/downlink data and control information of high-density nodes or high-density user equipment, while improving the error correction performance of polarization codes to meet the needs of new radio communication technologies.
By encoding the information block, selecting bit positions and values using predetermined hole punching and expansion patterns, combining rate matching technology, codewords suitable for radio resources are generated, and decoded in the wireless communication system to optimize the performance of polarization code.
It realizes excellent error correction performance and efficient wireless communication signal transmission and reception under various conditions, improves the total throughput of the wireless communication system, and supports ultra-reliable low-latency communication.
Smart Images

Figure CN120569923A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to wireless communication systems. Background Art
[0002] Various technologies, such as machine-to-machine (M2M) communication, machine-type communication (MTC), and various devices requiring high data throughput, such as smartphones and tablet personal computers (PCs), have emerged and become widespread. Consequently, the data throughput required to be processed in cellular networks has rapidly increased. To meet this rapidly increasing data throughput, carrier aggregation technology or cognitive radio technology have been developed to efficiently utilize more frequency bands, as well as multiple-input multiple-output (MIMO) technology or multi-base station (BS) cooperation technology to increase the data capacity transmitted on limited frequency resources.
[0003] As more and more communication devices require greater communication capacity, enhanced mobile broadband (eMBB) communications, compared to traditional radio access technologies (RATs), are becoming increasingly popular. Furthermore, massive machine-type communications (mMTC), which connects multiple devices and objects to provide a variety of services anytime, anywhere, is a major consideration in next-generation communications.
[0004] Discussions are also underway to design communication systems that take into account services / user equipment (UE) that are sensitive to reliability and latency. The introduction of next-generation RATs is under discussion, taking into account eMBB communications, mMTC, and ultra-reliable low-latency communications (URLLC). Summary of the Invention
[0005] Technical issues
[0006] With the introduction of new radio communication technologies, the number of UEs that a BS should provide services to within a specified resource area is increasing, and the amount of data and control information that a BS transmits and receives to and from the UEs provided by the BS is also increasing. Because the amount of resources available for a BS to communicate with UEs is limited, a new method is needed for the BS to efficiently transmit and receive uplink / downlink data and / or uplink / downlink control information using limited radio resources. In other words, as the density of nodes and / or the density of UEs increases, a method is needed to efficiently utilize high-density nodes or high-density UEs for communication.
[0007] There is also a need for methods to further improve the performance of polar codes, which have been proposed as an alternative to existing channel codes. For example, polar codes achieve channel capacity at relatively long lengths by using continuous cancellation (SC) decoding. However, to achieve high error correction performance at limited lengths, list continuous cancellation (list SC) decoding is used. Existing polar codes are designed based on SC decoding to select reliable bit channels for information bits, which results in the error correction performance of list SC (or SCL) decoding being degraded compared to SC decoding. Therefore, there is a need to design a polar code that exhibits improved error correction performance in list SC (or SCL) decoding.
[0008] The objects to be achieved by the present disclosure are not limited to the contents specifically described above, and those skilled in the art will more clearly understand other objects not described herein from the following detailed description.
[0009] Technical Solution
[0010] In one aspect of the present disclosure, a method of encoding an information block for transmission in a wireless communication system is provided herein.
[0011] In another aspect of the present disclosure, a communication device is provided herein that is configured to encode an information block for transmission in a wireless communication system. The communication device includes: at least one transceiver; at least one processor; and at least one computer memory operatively connected to the at least one processor and storing instructions that, when executed, cause the at least one processor to perform operations.
[0012] In another aspect of the present disclosure, a processing device in a wireless communication system is provided. The processing device includes: at least one processor; and at least one computer memory operatively connected to the at least one processor and storing instructions that, when executed, cause the at least one processor to perform operations.
[0013] In another aspect of the present disclosure, a computer-readable storage medium is provided, wherein the computer-readable storage medium is configured to store at least one program code, the program code including instructions that, when executed, cause at least one processor to perform operations.
[0014] The method or operation includes: determining a bit sequence of size N by encoding an information block of size K based on a polar code of size N; selecting k bit positions from among the N bit positions in the bit sequence based on a predetermined puncturing pattern; selecting k intermediate bit values from among intermediate bit values generated during encoding the information block based on the polar code of size N based on a predetermined spreading pattern; and generating a codeword of size N by replacing bit values at the k bit positions in the bit sequence with the k intermediate bit values.
[0015] In various aspects of the present disclosure, the information block may be a transport block (TB) to which a TB cyclic redundancy check (CRC) is appended, obtained by adding a TB CRC to the TB, or may be a code block (CB) to which a TB CRC is appended, obtained by adding a CB CRC to the CB.
[0016] In various aspects of the present disclosure, the method or operation includes: performing rate matching on a codeword based on radio resources allocated for transmission of the codeword and a target code rate; and sending the rate matched codeword on the radio resources.
[0017] In various aspects of the present disclosure, the predetermined puncture pattern may be one of a plurality of different puncture patterns predetermined for a plurality of polar codes having at least different K values or N values, and the plurality of different puncture patterns may be predetermined such that a shorter puncture pattern is a subset of a longer puncture pattern.
[0018] In various aspects of the present disclosure, the predetermined spreading pattern may be one of a plurality of different spreading patterns predetermined for a plurality of polar codes having at least different K values or N values, and the plurality of different spreading patterns may be predetermined such that a shorter spreading pattern is a subset of a longer spreading pattern.
[0019] In another aspect of the present disclosure, a method for decoding an encoded information block in a wireless communication system is provided herein.
[0020] In another aspect of the present disclosure, a communication device is provided herein that is configured to decode an encoded information block in a wireless communication system. The communication device includes: at least one transceiver; at least one processor; and at least one computer memory operatively connected to the at least one processor and storing instructions that, when executed, cause the at least one processor to perform operations.
[0021] The method or operation includes receiving an encoded information block; and determining an information block of size K by decoding the encoded information block based on a polar code of size N, a predetermined puncturing pattern, and a predetermined spreading pattern.
[0022] In each aspect of the present disclosure, a predetermined puncturing pattern can be used to select k bit positions from N bit positions in a bit sequence of size N, which is generated based on a polar code of size N and an information block of size K. A predetermined spreading pattern can be used to select k intermediate bit values from intermediate bit values generated during encoding of the information block of size N into the bit sequence. An encoded information block can be obtained from a codeword generated by replacing the bit values at k bit positions in the bit sequence with the k intermediate bit values.
[0023] In various aspects of the present disclosure, the encoded information blocks may be rate-matched codewords.
[0024] The above solutions are only some examples of the present disclosure, and those skilled in the art can deduce and understand various examples into which the technical features of the present disclosure are incorporated from the following detailed description.
[0025] Beneficial effects
[0026] According to some implementations of the present disclosure, wireless communication signals can be efficiently transmitted / received, thereby improving the overall throughput of the wireless communication system.
[0027] Compared with previously used polar codes, polar codes according to some embodiments of the present disclosure can achieve excellent error correction performance under various conditions.
[0028] According to some embodiments of the present disclosure, polar codes can be used as a key technology for ultra-reliable low-latency communication (URLLC) in 6G communications.
[0029] Effects according to the present disclosure are not limited to those specifically described above, and other effects not described herein will be more clearly understood by those skilled in the art to which the present disclosure relates from the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] The accompanying drawings are included to provide a further understanding of the present disclosure and illustrate examples of implementations of the present disclosure and together with the detailed description serve to explain the implementations of the present disclosure:
[0031] Figure 1 An example of a communication system 1 to which an implementation of the present disclosure is applied is shown;
[0032] Figure 2 is a block diagram illustrating an example of a communication device capable of performing the method according to the present disclosure;
[0033] Figure 3 Another example of a wireless device capable of performing implementations of the present disclosure is shown;
[0034] Figure 4An example of a frame structure used in a wireless communication system based on the 3rd Generation Partnership Project (3GPP) is shown;
[0035] Figure 5 shows the process of processing a transport block (TB) on the sending side;
[0036] Figure 6 is an exemplary block diagram of a polar encoder;
[0037] Figure 7 The concepts of channel splitting and channel combining showing channel polarization;
[0038] Figure 8 shows the Nth level channel combination of polar code;
[0039] Figure 9 shows the evolution of the decoding path during the decoding of List L;
[0040] Figure 10 is a diagram illustrating the concept of selecting a position to which information bits are allocated in a polar code;
[0041] Figure 11 shows the puncturing and information bit allocation of polar codes;
[0042] Figure 12 A method for generating parity bits used in polar codes is shown;
[0043] Figure 13 is a diagram illustrating a rate matching process according to some implementations of the present disclosure;
[0044] Figure 14 FIG. 1 illustrates a process of determining a polar code according to some embodiments of the present disclosure;
[0045] Figure 15 is a diagram for explaining a punch pattern design and an expansion pattern design according to some embodiments of the present disclosure;
[0046] Figure 16 illustrates extension candidate bits that may be used for extension in some embodiments of the present disclosure;
[0047] Figure 17 and 18 is a diagram for explaining a process of selecting extension bits at each layer in a polar code butterfly network;
[0048] Figure 19 Graphing word error rate (WER) performance of polar codes according to some embodiments of the present disclosure;
[0049] Figure 20 is a diagram used to explain the concepts of nested punch patterns and extended patterns;
[0050] Figure 21 is a diagram for explaining a method of determining an integrated extension pattern according to some embodiments of the present disclosure;
[0051] Figure 22 Illustrate the WER performance of codes designed / determined according to some embodiments of the present disclosure, fifth generation (5G) New Radio (NR) standard polar codes, and Reed-Muller (RM) codes when decoding using consecutive cancellation lists (SCL);
[0052] Figure 23 illustrates a channel coding process according to some embodiments of the present disclosure; and
[0053] Figure 24 FIGURE 1 illustrates a channel decoding process according to some embodiments of the present disclosure. DETAILED DESCRIPTION
[0054] Hereinafter, implementations according to the present disclosure will be described in detail with reference to the accompanying drawings. The detailed description given below with reference to the accompanying drawings is intended to illustrate exemplary implementations of the present disclosure, rather than to illustrate the only implementations that can be implemented according to the present disclosure. The following detailed description includes specific details in order to provide a thorough understanding of the present disclosure. However, it will be apparent to those skilled in the art that the present disclosure can be practiced without these specific details.
[0055] In some cases, known structures and devices may be omitted or shown in block diagram form to focus on important features of the structures and devices so as not to obscure the concepts of the present disclosure. The same reference numerals will be used throughout this disclosure to refer to the same or similar parts.
[0056] The following techniques, devices, and systems can be applied to various wireless multiple access systems. For example, multiple access systems may include code division multiple access (CDMA) systems, frequency division multiple access (FDMA) systems, time division multiple access (TDMA) systems, orthogonal frequency division multiple access (OFDMA) systems, single carrier frequency division multiple access (SC-FDMA) systems, multi-carrier frequency division multiple access (MC-FDMA) systems, and the like. CDMA can be implemented using radio technologies such as Universal Terrestrial Radio Access (UTRA) or CDMA2000. TDMA can be implemented using radio technologies such as Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Enhanced Data Rates for GSM Evolution (EDGE) (i.e., GERAN), and the like. OFDMA can be specifically implemented using radio technologies such as Institute of Electrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, and Evolved UTRA (E-UTRA). UTRA is part of the Universal Mobile Telecommunications System (UMTS), and 3rd Generation Partnership Project (3GPP) Long Term Evolution (LTE) is part of E-UMTS using E-UTRA. 3GPP LTE uses OFDMA on the downlink (DL) and SC-FDMA on the uplink (UL). LTE-Advanced (LTE-A) is an evolved version of 3GPP LTE.
[0057] For convenience of description, the present disclosure will be described assuming that it is applied to LTE and / or New RAT (NR). However, the technical features of the present disclosure are not limited thereto. For example, although the following detailed description is given based on a mobile communication system corresponding to the 3GPP LTE / NR system, the mobile communication system is applicable to any other mobile communication system except for matters specific to the 3GPP LTE / NR system.
[0058] For the terms and techniques used in this disclosure that are not described in detail, reference may be made to standard specifications based on 3GPP (for example, 3GPP TS 36.211, 3GPP TS 36.212, 3GPP TS 36.213, 3GPP TS36.321, 3GPP TS 36.300, 3GPP TS 36.331, 3GPP TS 37.213, 3GPP TS 38.211, 3GPP TS38.212, 3GPP TS 38.213, 3GPP TS 38.214, 3GPP TS 38.300, 3GPP TS 38.331, etc.).
[0059] In an example of the present disclosure described later, if a device "assumes" something, this may mean that a channel transmission entity transmits the channel in accordance with the corresponding "assumption." This may also mean that a channel reception entity receives or decodes the channel in a form that conforms to the "assumption" provided that the channel is transmitted in accordance with the "assumption."
[0060] In the present disclosure, a user equipment (UE) may be fixed or mobile. Each of the various devices that transmit and / or receive user data and / or control information by communicating with a base station (BS) may be a UE. The term UE may be referred to as a terminal device, mobile station (MS), mobile terminal (MT), user terminal (UT), subscriber station (SS), wireless device, personal digital assistant (PDA), wireless modem, handheld device, etc. In the present disclosure, a BS refers to a fixed station that communicates with a UE and / or another BS and exchanges data and control information with the UE and another BS. The term BS may be referred to as an advanced base station (ABS), node B (NB), evolved node B (eNB), base transceiver system (BTS), access point (AP), processing server (PS), etc. Specifically, a BS of a universal terrestrial radio access (UTRAN) is referred to as an NB, a BS of an evolved UTRAN (E-UTRAN) is referred to as an eNB, and a BS of a new radio access technology network is referred to as a gNB. In the following, for convenience of description, NB, eNB, or gNB will be referred to as a BS regardless of the type or version of the communication technology.
[0061] In the present disclosure, a node refers to a fixed point that can send / receive radio signals to / from a UE by communicating with the UE. Regardless of its name, various types of BSs can be used as nodes. For example, a BS, NB, eNB, picocell eNB (PeNB), home eNB (HeNB), repeater, transponder, etc. can be a node. In addition, a node may not be a BS. For example, a radio remote head (RRH) or a radio remote unit (RRU) can be a node. Typically, RRH and RRU have a power level lower than that of the BS. Since the RRH or RRU (hereinafter, RRH / RRU) is typically connected to the BS via a dedicated line such as an optical cable, the collaborative communication between the RRH / RRU and the BS can be performed smoothly compared to the collaborative communication between the BS connected via a wireless link. At least one antenna is installed on each node. The antenna may refer to a physical antenna port or a virtual antenna or an antenna group. A node may also be referred to as a point.
[0062] In the present disclosure, a cell refers to a specific geographical area where one or more nodes provide communication services. Therefore, in the present disclosure, communication with a specific cell may mean communication with a BS or node that provides communication services to the specific cell. The DL / UL signal of a specific cell refers to the DL / UL signal from / to the BS or node that provides communication services to the specific cell. A cell that provides UL / DL communication services to a UE is specifically referred to as a serving cell. In addition, the channel state / quality of a specific cell refers to the channel state / quality of a channel or communication link generated between the BS or node that provides communication services to the specific cell and the UE. In a 3GPP-based communication system, the UE can use a CRS sent on a cell-specific reference signal (CRS) resource and / or a CSI-RS sent on a channel state information reference signal (CSI-RS) resource (allocated to a specific node by the antenna port of the specific node) to measure the DL channel state from a specific node.
[0063] The 3GPP-based communication system uses the concept of cells in order to manage radio resources, and distinguishes cells related to radio resources from cells of geographical areas.
[0064] A "cell" of a geographical area can be understood as a coverage area where a node can use a carrier to provide services, and a "cell" of radio resources is associated with a bandwidth (BW) that is a frequency range configured by the carrier. Since the DL coverage (the range in which a node can send a valid signal) and the UL coverage (the range in which a node can receive a valid signal from a UE) depend on the carrier that carries the signal, the coverage of a node can also be associated with the coverage of the "cell" of the radio resources used by the node. Therefore, the term "cell" can be used to sometimes indicate the service coverage area of a node, at other times to indicate a radio resource, or at other times to indicate a range that a signal using a radio resource can reach with effective strength.
[0065] In the 3GPP communications standard, the concept of cells is used to manage radio resources. A "cell" associated with radio resources is defined by a combination of DL resources and UL resources (i.e., a combination of DL component carriers (CCs) and UL CCs). A cell can be configured with only DL resources or a combination of DL and UL resources. If carrier aggregation is supported, the linkage between the carrier frequency of the DL resources (or DL CCs) and the carrier frequency of the UL resources (or UL CCs) can be indicated by system information. For example, the combination of DL and UL resources can be indicated by a System Information Block Type 2 (SIB2) linkage. In this case, the carrier frequency can be equal to or different from the center frequency of each cell or CC. When carrier aggregation (CA) is configured, the UE has only one radio resource control (RRC) connection with the network. During RRC connection establishment / reestablishment / handover, one serving cell provides non-access stratum (NAS) mobility information. During RRC connection reestablishment / handover, one serving cell provides security input. This cell is called a primary cell (Pcell). A Pcell refers to the cell operating on the primary frequency on which the UE performs the initial connection establishment procedure or initiates the connection reestablishment procedure. Depending on the UE's capabilities, a secondary cell (Scell) can be configured to form a set of serving cells along with the PCell. The Scell can be configured after the RRC connection is established and is used to provide additional radio resources in addition to the resources of the specific cell (SpCell). The carrier corresponding to the PCell on the DL is called the downlink primary CC (DL PCC), and the carrier corresponding to the PCell on the UL is called the uplink primary CC (UL PCC). The carrier corresponding to the Scell on the DL is called the downlink secondary CC (DL SCC), and the carrier corresponding to the Scell on the UL is called the uplink secondary CC (UL SCC).
[0066] In a wireless communication system, a UE receives information from a base station (BS) on the downlink (DL) and transmits information to the BS on the uplink (UL). The information transmitted and / or received by the BS and the UE includes data and various control information. Various physical channels exist depending on the type and purpose of the information transmitted and / or received by the UE and the BS.
[0067] The communication standards based on 3GPP define DL physical channels corresponding to resource elements that carry information from higher layers, and DL physical signals corresponding to resource elements that are used by the physical layer but do not carry information from higher layers. For example, the physical downlink shared channel (PDSCH), the physical broadcast channel (PBCH), the physical multicast channel (PMCH), the physical control format indicator channel (PCFICH), the physical downlink control channel (PDCCH), etc. are defined as DL physical channels, and the reference signal (RS) and the synchronization signal (SS) are defined as DL physical signals. RS (also called pilot) represents a signal with a predefined special waveform known to both the BS and the UE. For example, the demodulation reference signal (DMRS), the channel state information RS (CSI-RS), etc. are defined as DL RS. The communication standards based on 3GPP define UL physical channels corresponding to resource elements that carry information from higher layers, and UL physical signals corresponding to resource elements that are used by the physical layer but do not carry information from higher layers. For example, the physical uplink shared channel (PUSCH), the physical uplink control channel (PUCCH), and the physical random access channel (PRACH) are defined as UL physical channels, and DMRS for UL control / data signals, sounding reference signal (SRS) for UL channel measurement, etc. are defined.
[0068] In the present disclosure, PDCCH refers to a set of time-frequency resources (e.g., resource elements (REs)) that carry downlink control information (DCI), and PDSCH refers to a set of time-frequency resources that carry DL data. PUCCH, PUSCH, and PRACH refer to a set of time-frequency resources that carry UCI, a set of time-frequency resources that carry UL data, and a set of time-frequency resources that carry random access signals, respectively. In the following description, "UE transmits / receives PUCCH / PUSCH / PRACH" is used as the same meaning as the UE transmits / receives UCI / UL data / random access signals on or through PUCCH / PUSCH / PRACH, respectively. In addition, "BS transmits / receives PBCH / PDCCH / PDSCH" is used as the same meaning as the BS transmits broadcast information / DCI / DL data on or through PBCH / PDCCH / PDSCH, respectively.
[0069] In the present disclosure, radio resources (eg, time-frequency resources) scheduled or configured by a BS for a UE to transmit or receive PUCCH / PUSCH / PDSCH may be referred to as PUCCH / PUSCH / PDSCH resources.
[0070] Since the communication device receives synchronization signal blocks (SSBs), DMRSs, CSI-RSs, PBCHs, PDCCHs, PDSCHs, PUSCHs, and / or PUCCHs in the form of radio signals on a cell, the communication device may not select and receive a radio signal including only a specific physical channel or a specific physical signal through a radio frequency (RF) receiver, or may not select and receive a radio signal without a specific physical channel or a specific physical signal through an RF receiver. In actual operation, the communication device receives a radio signal on a cell via an RF receiver, converts the radio signal, which is an RF band signal, into a baseband signal, and then uses one or more processors to decode the physical signal and / or physical channel in the baseband signal. Therefore, in some implementations of the present disclosure, not receiving a physical signal and / or physical channel may mean that the communication device does not attempt to recover the physical signal and / or physical channel from the radio signal, for example, does not attempt to decode the physical signal and / or physical channel, rather than that the non-communication device does not actually receive a radio signal including the corresponding physical signal and / or physical channel.
[0071] As more and more communication devices require greater communication capacity, eMBB communication relative to traditional radio access technology (RAT) is needed. In addition, large-scale MTC, which provides various services anytime and anywhere by connecting multiple devices and objects to each other, is a major issue to be considered in the next generation of communications. In addition, the design of communication systems that take into account services / UEs that are sensitive to reliability and delay is also under discussion. Considering eMBB communication, large-scale MTC, ultra-reliable low-latency communication (URLLC), etc., the introduction of the next generation RAT is under discussion. Currently, in 3GPP, research on the next generation mobile communication system after EPC is underway. In this disclosure, for convenience, the corresponding technology is referred to as new RAT (NR) or fifth generation (5G) RAT, and a system using NR or supporting NR is referred to as an NR system.
[0072] Figure 1 An example of a communication system 1 to which an implementation of the present disclosure is applied is shown. Figure 1The communication system 1 applied to the present disclosure includes a wireless device, a base station, and a network. Here, the wireless device refers to a device that performs communication using a RAT (e.g., 5G NR or LTE (e.g., E-UTRA)) and may be referred to as a communication / radio / 5G device. The wireless device may include (but is not limited to) a robot 100a, vehicles 100b-1 and 100b-2, an extended reality (XR) device 100c, a handheld device 100d, a home appliance 100e, an Internet of Things (IoT) device 100f, and an artificial intelligence (AI) device / server 400. For example, the vehicle may include a vehicle with wireless communication capabilities, an autonomous vehicle, and a vehicle capable of vehicle-to-vehicle communication. Here, the vehicle may include an unmanned aerial vehicle (UAV) (e.g., a drone). The XR device may include an augmented reality (AR) / virtual reality (VR) / mixed reality (MR) device and may be implemented in the form of a head-mounted device (HMD), a head-up display (HUD) installed in a vehicle, a television, a smartphone, a computer, a wearable device, a home appliance device, a digital signage, a vehicle, a robot, etc. Handheld devices may include smartphones, smart tablets, wearable devices (e.g., smart watches or smart glasses), and computers (e.g., notebooks). Home appliances may include TVs, refrigerators, and washing machines. IoT devices may include sensors and smart meters. For example, a base station (BS) and a network may also be implemented as wireless devices, and a particular wireless device may operate as a base station (BS) or a network node relative to another wireless device.
[0073] Wireless devices 100a to 100f can connect to network 300 via BS 200. AI technology can be applied to wireless devices 100a to 100f, and wireless devices 100a to 100f can connect to AI server 400 via network 300. Network 300 can be configured using a 3G network, a 4G (e.g., LTE) network, or a 5G (e.g., NR) network. Although wireless devices 100a to 100f can communicate with each other via BS 200 / network 300, wireless devices 100a to 100f can perform direct communication (e.g., sidelink communication) with each other without going through the BS / network. For example, vehicles 100b-1 and 100b-2 can perform direct communication (e.g., vehicle-to-vehicle (V2V) / vehicle-to-everything (V2X) communication). IoT devices (e.g., sensors) can perform direct communication with other IoT devices (e.g., sensors) or other wireless devices 100a to 100f.
[0074] Wireless communication / connections 150a and 150b may be established between wireless devices 100a to 100f and BS 200, and between wireless devices 100a to 100f. Wireless communication / connections such as UL / DL communication 150a and sidelink communication 150b (or device-to-device (D2D) communication) may be established via various RATs (e.g., 5G NR). The wireless devices and BS / wireless devices may transmit / receive radio signals to / from each other via wireless communication / connections 150a and 150b. To this end, various configuration information configuration processes, various signal processing processes (e.g., channel coding / decoding, modulation / demodulation, and resource mapping / demapping), and at least a portion of resource allocation processes for transmitting / receiving radio signals may be performed based on various proposals of the present disclosure.
[0075] Figure 2 is a block diagram illustrating an example of a communication device capable of executing the method according to the present disclosure. Figure 2 , the first wireless device 100 and the second wireless device 200 may transmit and / or receive radio signals via various RATs (e.g., LTE and NR). Here, {the first wireless device 100 and the second wireless device 200} may correspond to Figure 1 {wireless device 100x and BS 200} and / or {wireless device 100x and wireless device 100x}.
[0076] The first wireless device 100 may include one or more processors 102 and one or more memories 104, and may further include one or more transceivers 106 and / or one or more antennas 108. The processor 102 may control the memory 104 and / or the transceiver 106 and may be configured to implement the functions, processes, and / or methods described / proposed below. For example, the processor 102 may process information in the memory 104 to generate first information / signals, and then transmit a radio signal including the first information / signals via the transceiver 106. The processor 102 may receive a radio signal including second information / signals via the transceiver 106, and then store information obtained by processing the second information / signals in the memory 104. The memory 104 may be connected to the processor 102 and may store various information related to the operation of the processor 102. For example, the memory 104 may execute some or all of the processes controlled by the processor 102 or store software code including commands for executing the processes and / or methods described / proposed below. Here, the processor 102 and the memory 104 may be part of a communication modem / circuit / chip designed to implement a RAT (e.g., LTE or NR). The transceiver 106 may be connected to the processor 102 and transmit and / or receive radio signals via one or more antennas 108. Each transceiver 106 may include a transmitter and / or a receiver. The transceiver 106 may be used interchangeably with a radio frequency (RF) unit. In the present disclosure, a wireless device may refer to a communication modem / circuit / chip.
[0077] The second wireless device 200 may include one or more processors 202 and one or more memories 204, and may also include one or more transceivers 206 and / or one or more antennas 208. The processor 202 may control the memory 204 and / or the transceiver 206 and may be configured to implement the functions, processes, and / or methods described / proposed below. For example, the processor 202 may process the information in the memory 204 to generate third information / signals, and then transmit a radio signal including the third information / signals via the transceiver 206. The processor 202 may receive a radio signal including fourth information / signals via the transceiver 206, and then store information obtained by processing the fourth information / signals in the memory 204. The memory 204 may be connected to the processor 202 and may store various information related to the operation of the processor 202. For example, the memory 204 may execute some or all of the processes controlled by the processor 202 or store software code including commands for executing the processes and / or methods described / proposed below. Here, the processor 202 and the memory 204 may be part of a communication modem / circuit / chip designed to implement a RAT (e.g., LTE or NR). The transceiver 206 may be connected to the processor 202 and transmit and / or receive radio signals via one or more antennas 208. Each transceiver 206 may include a transmitter and / or a receiver. The transceiver 206 may be used interchangeably with an RF unit. In this disclosure, a wireless device may refer to a communication modem / circuit / chip.
[0078] The wireless communication technologies implemented in the wireless devices 100 and 200 of the present disclosure may include narrowband IoT for low-power communication, as well as LTE, NR, and 6G. For example, NB-IoT technology may be an example of low-power wide area network (LPWAN) technology and may be implemented in standards such as LTE Cat. NB1 and / or LTE Cat. NB-IoT technology, however, is not limited to the aforementioned designations. Additionally or alternatively, the wireless communication technologies implemented in the wireless devices XXX and YYY of the present disclosure may perform communication based on LTE-M technology. For example, LTE-M technology may be an example of LPWAN technology and may be referred to by various names including enhanced machine-type communication (eMTC). For example, LTE-M technology may be implemented in accordance with at least one of the following standards: 1) LTE Cat. 0, 2) LTE Cat. M1, 3) LTE Cat. M2, 4) LTE non-bandwidth limited (non-BL), 5) LTE-MTC, 6) LTE machine-type communication, and / or 7) LTE M, etc., but LTE-M technology is not limited to the aforementioned designations. Additionally or alternatively, considering low-power communication, the wireless communication technology implemented in the wireless devices XXX and YYY of the present disclosure may include at least one of ZigBee, Bluetooth, and LPWAN, but the wireless communication technology is not limited to the above names. For example, ZigBee technology can create a personal area network (PAN) related to low / low-power digital communication based on various standards such as IEEE 802.15.4, and ZigBee technology can be referred to by various names.
[0079] In the following, the hardware elements of the wireless devices 100 and 200 will be described in more detail. One or more protocol layers may be implemented by (but not limited to) one or more processors 102 and 202. For example, the one or more processors 102 and 202 may implement one or more layers (e.g., functional layers such as a physical (PHY) layer, a medium access control (MAC) layer, a radio link control (RLC) layer, a packet data convergence protocol (PDCP) layer, a radio resource control (RRC) layer, and a service data adaptation protocol (SDAP) layer). The one or more processors 102 and 202 may generate one or more protocol data units (PDUs) and / or one or more service data units (SDUs) according to the functions, procedures, proposals, and / or methods disclosed in the present disclosure. The one or more processors 102 and 202 may generate messages, control information, data, or information according to the functions, procedures, proposals, and / or methods disclosed in the present disclosure. One or more processors 102 and 202 may generate a signal (e.g., a baseband signal) including a PDU, an SDU, a message, control information, data, or information according to the functions, procedures, proposals, and / or methods disclosed in the present disclosure, and provide the generated signal to one or more transceivers 106 and 206. One or more processors 102 and 202 may receive a signal (e.g., a baseband signal) from one or more transceivers 106 and 206 according to the functions, procedures, proposals, and / or methods disclosed in the present disclosure and obtain the PDU, SDU, message, control information, data, or information.
[0080] The one or more processors 102 and 202 may be referred to as controllers, microcontrollers, microprocessors, or microcomputers. The one or more processors 102 and 202 may be implemented by hardware, firmware, software, or a combination thereof. As an example, one or more application-specific integrated circuits (ASICs), one or more digital signal processors (DSPs), one or more digital signal processing devices (DSPDs), one or more programmable logic devices (PLDs), or one or more field-programmable gate arrays (FPGAs) may be included in the one or more processors 102 and 202. The functions, processes, proposals, and / or methods disclosed in this disclosure may be implemented using firmware or software, and the firmware or software may be configured to include modules, processes, or functions. The firmware or software configured to perform the functions, processes, proposals, and / or methods disclosed in this disclosure may be included in the one or more processors 102 and 202 or stored in the one or more memories 104 and 204 to be driven by the one or more processors 102 and 202. The functions, processes, proposals, and / or methods disclosed in this disclosure may be implemented using firmware or software in the form of code, commands, and / or command sets.
[0081] One or more memories 104 and 204 may be connected to one or more processors 102 and 202 and store various types of data, signals, messages, information, programs, codes, commands, and / or instructions. One or more memories 104 and 204 may be configured by read-only memory (ROM), random access memory (RAM), electrically erasable programmable read-only memory (EPROM), flash memory, hard drive, registers, cache memory, computer-readable storage media, and / or combinations thereof. One or more memories 104 and 204 may be located internally and / or externally to one or more processors 102 and 202. One or more memories 104 and 204 may be connected to one or more processors 102 and 202 via various technologies such as wired or wireless connections.
[0082] One or more transceivers 106 and 206 may transmit user data, control information, and / or radio signals / channels mentioned in the methods and / or operational flow charts of the present disclosure to one or more other devices. One or more transceivers 106 and 206 may receive user data, control information, and / or radio signals / channels mentioned in the functions, processes, proposals, methods, and / or operational flow charts disclosed in the present disclosure from one or more other devices. For example, one or more transceivers 106 and 206 may be connected to one or more processors 102 and 202 and transmit and receive radio signals. For example, one or more processors 102 and 202 may execute control so that one or more transceivers 106 and 206 may transmit user data, control information, or radio signals to one or more other devices. One or more processors 102 and 202 may execute control so that one or more transceivers 106 and 206 may receive user data, control information, or radio signals from one or more other devices. One or more transceivers 106 and 206 may be connected to one or more antennas 108 and 208. One or more transceivers 106 and 206 may be configured to transmit and receive user data, control information, and / or radio signals / channels mentioned in the functional, process, proposal, method, and / or operational flow charts disclosed in the present disclosure through one or more antennas 108 and 208. In the present disclosure, one or more antennas may be multiple physical antennas or multiple logical antennas (e.g., antenna ports). One or more transceivers 106 and 206 may convert received radio signals / channels, etc. from RF band signals to baseband signals so that the received user data, control information, radio signals / channels, etc. may be processed using one or more processors 102 and 202. One or more transceivers 106 and 206 may convert user data, control information, radio signals / channels, etc. processed using one or more processors 102 and 202 from baseband signals to RF band signals. To this end, one or more of the transceivers 106 and 206 may include (analog) oscillators and / or filters.
[0083] Figure 3 Another example of a wireless device capable of executing implementations of the present disclosure is shown. Figure 3 , the wireless devices 100 and 200 may correspond to Figure 2 The wireless devices 100 and 200 may be configured by various elements, components, units / portions and / or modules. For example, each of the wireless devices 100 and 200 may include a communication unit 110, a control unit 120, a memory unit 130 and an additional component 140. The communication unit may include a communication circuit 112 and a transceiver 114. For example, the communication circuit 112 may include Figure 2One or more processors 102 and 202 and / or one or more memories 104 and 204. For example, the transceiver 114 may include Figure 2 The control unit 120 is electrically connected to the communication unit 110, the memory 130, and the additional components 140, and controls the overall operation of the wireless device. For example, the control unit 120 may control the electrical / mechanical operation of the wireless device based on the program / code / command / information stored in the memory unit 130. The control unit 120 may transmit information stored in the memory unit 130 to the outside (e.g., other communication devices) via the communication unit 110 via a wireless / wired interface, or store information received from the outside (e.g., other communication devices) via the communication unit 110 via the wireless / wired interface in the memory unit 130.
[0084] The additional components 140 may be configured differently depending on the type of wireless device. For example, the additional components 140 may include at least one of a power supply unit / battery, an input / output (I / O) unit, a drive unit, and a computing unit. The wireless device may be configured in accordance with, but not limited to, a robot ( Figure 1 100a), vehicles ( Figure 1 100b-1 and 100b-2), XR devices ( Figure 1 100c), handheld device ( Figure 1 100d), household appliances ( Figure 1 100e), IoT devices ( Figure 1 100f), digital broadcast UE, holographic device, public safety device, MTC device, medical device, fintech device (or financial device), security device, climate / environmental device, AI server / device ( Figure 1 400), BS( Figure 1 The wireless device may be used in a mobile or fixed location depending on the usage / service.
[0085] exist Figure 3In the wireless devices 100 and 200, the various elements, components, units / portions, and / or modules may all be connected to each other via a wired interface, or at least a portion thereof may be wirelessly connected via the communication unit 110. For example, in each of the wireless devices 100 and 200, the control unit 120 and the communication unit 110 may be wired, and the control unit 120 and the first unit (e.g., 130 and 140) may be wirelessly connected via the communication unit 110. The various elements, components, units / portions, and / or modules within the wireless devices 100 and 200 may also include one or more elements. For example, the control unit 120 may be configured by a collection of one or more processors. As an example, the control unit 120 may be configured by a collection of a communication control processor, an application processor, an electronic control unit (ECU), a graphics processing unit, and a memory control processor. As another example, the memory 130 may be configured by a random access memory (RAM), a dynamic RAM (DRAM), a read-only memory (ROM), a flash memory, a volatile memory, a non-volatile memory, and / or a combination thereof.
[0086] In the present disclosure, at least one memory (e.g., 104 or 204) may store instructions or programs, and these instructions or programs, when executed, may cause at least one processor operatively connected to the at least one memory to perform operations according to some embodiments or implementations of the present disclosure.
[0087] In the present disclosure, a computer-readable (non-volatile) storage medium may store at least one instruction or program, and when the at least one instruction or program is executed by at least one processor, the at least one processor may cause the at least one processor to perform operations according to some embodiments or implementations of the present disclosure.
[0088] In the present disclosure, a processing device or apparatus may include at least one processor and at least one computer memory operatively connected to the at least one processor. The at least one computer memory may store instructions or programs, and when executed, these instructions or programs may cause the at least one processor operatively connected to the at least one memory to perform operations according to some embodiments or implementations of the present disclosure.
[0089] In the present disclosure, a computer program may include program code stored on at least one computer-readable (non-volatile) storage medium, and when executed, is configured to perform operations according to some implementations of the present disclosure or cause at least one processor to perform operations according to some implementations of the present disclosure. The computer program may be provided in the form of a computer program product. The computer program product may include at least one computer-readable (non-volatile) storage medium.
[0090] The communication device of the present disclosure includes: at least one processor; and at least one computer memory, which is operatively connected to the at least one processor and configured to store instructions that, when executed, cause the at least one processor to perform operations according to examples of the present disclosure described later.
[0091] Figure 4 An example of a frame structure used in a 3GPP-based wireless communication system is shown.
[0092] Figure 4 The frame structure is only exemplary, and the number of subframes, the number of time slots, and the number of symbols in a frame may vary. In the NR system, different OFDM parameter sets (e.g., subcarrier spacing (SCS)) may be configured for multiple cells aggregated for one UE. Therefore, the (absolute time) duration of time resources including the same number of symbols (e.g., subframes, time slots, or transmission time intervals (TTIs)) may be configured differently for the aggregated cells. Here, the symbol may include an OFDM symbol (or a cyclic prefix-OFDM (CP-OFDM) symbol) and an SC-FDMA symbol (or a discrete Fourier transform-spread-OFDM (DFT-s-OFDM) symbol). In the present disclosure, symbols, OFDM-based symbols, OFDM symbols, CP-OFDM symbols, and DFT-s-OFDM symbols may be used interchangeably.
[0093] Reference Figure 4 In the NR system, UL transmission and DL transmission are organized into frames. Each frame has T f =(△f max *N f / 100)*T c = 10 ms duration and is divided into two half frames of 5 ms each. The basic time unit of NR is T c =1 / (△f max *N f ), where △f max =480*10 3 Hz and N f =4096. For reference, the basic time unit of LTE is T s =1 / (△f ref *N f,ref ), where △f ref =15*10 3 Hz and N f,ref =2048. T c and T f With constant κ = T c / T f =64. Each half frame includes 5 subframes, and the duration of a single subframe is T sfThe subframe is further divided into slots, and the number of slots in a subframe depends on the subcarrier spacing. Each slot includes 14 or 12 OFDM symbols based on the cyclic prefix. In normal CP, each slot includes 14 OFDM symbols, and in extended CP, each slot includes 12 OFDM symbols. The parameter set depends on the exponentially scalable subcarrier spacing Δf=2 u *15kHz. The following table shows the number of OFDM symbols per time slot (N slot symb ), the number of time slots per frame (N frame,u slot ) and the number of time slots per subframe (N subframe,u slot ).
[0094] [Table 1]
[0095] u <![CDATA[N slot symb ]]> <![CDATA[N frame,u slot ]]> <![CDATA[N subframe,u slot ]]> 0 14 10 1 1 14 20 2 2 14 40 4 3 14 80 8 4 14 160 16
[0096] The following table shows the subcarrier spacing △f=2 u *15 kHz, number of OFDM symbols per slot, number of slots per frame, and number of slots per subframe.
[0097] [Table 2]
[0098] u <![CDATA[N slot symb ]]> <![CDATA[N frame,u slot ]]> <![CDATA[N subframe,u slot ]]> 2 12 40 4
[0099] For subcarrier spacing configuration u, the slots may be indexed in ascending order within a subframe as follows: n u s ∈{0,...,n subframe ,u slot -1}, and are indexed in ascending order within the frame as follows: n u s,f ∈{0,...,n frame,u slot -1}.
[0100] A slot includes multiple (e.g., 14 or 12) symbols in the time domain. For each parameter set (e.g., subcarrier spacing) and carrier, a common resource block (CRB) N is allocated from a common resource block (CRB) N indicated by higher layer signaling (e.g., RRC signaling). start,u grid Begins to define N size,u grid,x *N RB sc subcarriers and N subframe,u symb OFDM symbol resource grid, where N size,u grid,xis the number of resource blocks (RBs) in the resource grid, and the subscript x is DL for the downlink and UL for the uplink. N RB sc is the number of subcarriers per RB. In 3GPP-based wireless communication systems, N RB sc Typically 12. For a given antenna port p, subcarrier spacing configuration u, and transmission link (DL or UL), there is one resource grid. The carrier bandwidth N for subcarrier spacing configuration u is given to the UE through higher layer parameters (e.g., RRC parameters) size,u grid . Each element in the resource grid for antenna port p and subcarrier spacing configuration u is called a resource element (RE), and one complex symbol can be mapped to each RE. Each RE in the resource grid is uniquely identified by an index k in the frequency domain and an index l representing the symbol position relative to a reference point in the time domain. In the NR system, an RB is defined by 12 consecutive subcarriers in the frequency domain. In the NR system, RBs are classified into CRBs and physical resource blocks (PRBs). For subcarrier spacing configuration u, CRBs are numbered from 0 upwards in the frequency domain. The center of subcarrier 0 of CRB 0 of subcarrier spacing configuration u is equal to "point A" used as a common reference point for the RB grid. PRBs for subcarrier spacing configuration u are defined within a bandwidth part (BWP) and are numbered from 0 to N size,u BWP,i -1 numbering, where i is the number of BWPs. PRB n in BWP i PRB With CRBn u CRB The relationship between n u PRB =n u CRB +N size,u BWP,i Given, where N size BWP,i is the CRB where the BWP starts relative to CRB 0. A BWP consists of multiple consecutive RBs in the frequency domain. For example, a BWP may be a CRB with a given parameter set u in BWP i on a given carrier. i A carrier may include up to N (e.g., 5) BWPs. A UE may be configured with one or more BWPs on a given component carrier. Data communication is performed via enabled BWPs, and only a predetermined number of BWPs (e.g., one BWP) among those configured for the UE may be active on the component carrier.
[0101] Figure 5 Shows the process of processing a transport block (TB) on the transmitting side.
[0102] To enable the receiving side to correct errors experienced by a radio signal in a radio channel, the transmitting side encodes the information using a forward error correction code and then transmits the encoded information. The receiving side demodulates the received signal and decodes the error correction code, thereby recovering the information transmitted by the transmitting side. During this decoding process, errors in the received signal caused by the radio channel are corrected.
[0103] Data arrives at the coding block in the form of at most two transport blocks per transmission time interval (TTI) in each DL / UL cell. The following coding steps can be applied to each transport block of the DL / UL cell:
[0104] - Cyclic Redundancy Check (CRC) attachment to the transport block;
[0105] - Code block segmentation and CRC attachment to the code block;
[0106] - Channel coding;
[0107] - Rate matching; and
[0108] - Code block concatenation.
[0109] In an actual communication system, a transport block of a predetermined size or larger is divided into multiple smaller data blocks and then encoded to facilitate the actual implementation of encoding. The smaller data blocks are called code blocks. Although code blocks usually have the same size, one of the code blocks may have a different size due to the limited size of the internal interleaver of the channel encoder. Error correction coding is performed on each code block of a predetermined interleaver size, and then interleaving is performed to reduce the impact of burst errors generated during transmission over the radio channel. The error-corrected and interleaved code blocks are transmitted by being mapped to actual radio resources. The amount of radio resources designated for actual transmission is specified. Therefore, the encoded code blocks are rate-matched to the amount of radio resources. Usually, rate matching is performed by puncturing or repetition. For example, if the amount of radio resources (i.e., the number of transmission bits that can be transmitted on the radio resources) is M, and if the encoded bit sequence (i.e., the number of output bits of the encoder) is N (where M is different from N), then rate matching is performed to make the length of the encoded bit sequence match M. If M > N, all or part of the bits of the encoded bit sequence are repeated to make the length of the rate-matched sequence match M. If M < N, a part of the bits of the encoded bit sequence is punctured to make the length of the rate-matched sequence match M, and the punctured bits are excluded from transmission.
[0110] In a wireless communication system, the transmitting side encodes the data to be transmitted based on channel coding with a specific code rate. Then, the transmitting side adjusts the code rate of the data to be transmitted through a rate matching process involving puncturing and repetition.
[0111] There are various types of error correction codes, but the size of the information block that can achieve the best performance is determined according to the error correction code. Although many coding schemes can be used to achieve high-capacity information performance with long information block lengths, most coding schemes do not consistently show good performance over a wide range of information block lengths and code rates. . However, turbo codes, low-density parity-check (LPDC) codes, and polar codes show promising BLER performance over a wide range of code rates and code lengths, and are therefore being considered for use in NR systems. As requirements for various scenarios such as eMBB, massive IoT, and URLLC increase, there is a need for coding schemes that provide higher channel coding efficiency than turbo codes. In addition, there is a need to increase the maximum number of subscribers that can be accommodated by a channel, that is, to increase capacity. Polar codes, among various error-correcting codes, provide a new framework that can address the problems of traditional channel codes. Invented by E. Arikan of Bilkent University (see: "Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels," IEEE Transactions on Information Theory, Vol. 55, No. 7, pp. 3051-3073, July 2009). Polar codes are mathematically proven to be the first capacity-achieving codes with low encoding and decoding complexity. Polar codes outperform turbo codes over large information block lengths without the presence of error streams. Hereinafter, channel coding using polar codes is referred to as polar coding.
[0112] Polar codes are said to be able to achieve the capacity of a given binary discrete memoryless channel. This is only possible when the block size is large enough. In other words, polar codes are codes that can achieve channel capacity even when the code size N increases infinitely. Polar codes have low encoding and decoding complexity and can be successfully decoded. Polar codes are a type of linear block error-correcting code. Multiple recursive connections are the basic building blocks of polar codes and the foundation of code construction. A physical conversion of the channel occurs, converting the physical channel into a virtual channel, and this conversion is based on multiple recursive cascades. If multiple channels are multiplied and accumulated, the majority of channels can become better or worse. The basic idea of polar codes is to use good channels. For example, data is sent at rate 1 through a good channel, and data is sent at rate 0 through a bad channel. That is, through channel polarization, the channel enters a polarized state from a normal state.
[0113] Figure 6 is an example of a block diagram of a polar code encoder.
[0114] Figure 6 (a) shows the basic module of polar code, specifically, the first level channel combination for polar coding. Figure 6 In (a), W2 represents the entire equivalent channel obtained by combining two binary-input discrete memoryless channels (B-DMCs) Ws. In this paper, u1 and u2 are the binary input source bits, and y1 and y2 are the output coded bits. Channel combining is the process of connecting B-DMCs in parallel.
[0115] Figure 6 (b) shows a basic matrix F of the basic module. The binary input source bits u1 and u2 input to the basic matrix F and the output coded bits x1 and x2 of the basic matrix F have the following relationship.
[0116] [Formula 1]
[0117]
[0118] Channel W2 can achieve the highest rate symmetric capacity I(W). In B-DMC W, symmetric capacity is an important parameter for measuring rate and is the highest rate at which reliable communication can occur on channel W. B-DMC can be defined as follows.
[0119] [Formula 2]
[0120]
[0121] A second set of N binary input channels can be synthesized or created from N independent copies of a given B-DMC W, and the channels have the property {W N (i) :1<=i<=N}. If N increases, there is a tendency for some channels to have a capacity close to 1 and the rest to have a capacity close to 0. This is called channel polarization. In other words, channel polarization is the process of creating a second set of N channels {W N (i) :1<=i<=N}. The influence of channel polarization means that when N increases, all symmetric capacity terms {I(W N (i))} tends to 0 or 1. In other words, the concept behind channel polarization in polar codes is to transform N copies (i.e., N transmissions) of a channel with a symmetric capacity of I(W) (e.g., an additive white Gaussian noise channel) into extreme channels with a capacity close to 1 or 0. Of the N channels, the I(W) portion will be perfect channels, while the 1-I(W) portion will be completely noisy channels. Then, only the information bits are sent through the good channels, while the bits input to the other channels are frozen at 1 or 0. The amount of channel polarization increases with the block length. Channel polarization consists of two stages: the channel combination stage and the channel splitting stage.
[0122] Figure 7 The concepts of channel combining and channel splitting for channel polarization are shown. Figure 7 As shown in , when N copies of the original channel W are appropriately combined to create the vector channel W vec , and then split into new polarized channels, if N is large enough, the new polarized channels are classified into channels with capacity C(W) = 1 and channels with capacity C(W) = 0. In this case, since bits passing through a channel with capacity C(W) = 1 are transmitted without error, it is preferable to transmit information bits through this channel. However, since bits passing through a channel with capacity C(W) = 0 cannot convey information, it is preferable to transmit frozen bits, which are meaningless bits, through this channel.
[0123] Reference Figure 7 (a), given a B-DMC W, copies are recursively combined to output the N →Y N Given the vector channel W vec , where N = 2 n Where n is an integer equal to or greater than 0. Recursion always starts at level 0 with W1 = W. If n is 1 (n=1), this represents the first level of recursion, in which two independent copies of W1 are combined. If these two copies are combined, a channel W2 is obtained: X2 → Y2. The transitional probability of this new channel W2 can be expressed as follows.
[0124] [Formula 3]
[0125]
[0126] If channel W2 is obtained, the two copies of channel W2 are combined to obtain a single copy of channel W4. This recursion can be represented by W4:X4→Y4 with the following transition probability.
[0127] [Formula 4]
[0128]
[0129] exist Figure 7 In (b), G N is a generator matrix of size N. Figure 7 (b) Input to G N u N 1 and G N The output x N The relationship between 1 can be expressed as x N 1=u N 1G N , where x N 1={x1,...,x N},u N 1={u1,...,u N When N B-DMCs are combined, each B-DMC can be expressed recursively. That is, G N It can be expressed by the following formula.
[0130] [Formula 5]
[0131]
[0132] In this article, represents the Kronecker product, N=2 n , n>=1, and B N is the permutation matrix known as the bit-reversal operation, and can be calculated recursively. I2 is the two-dimensional identity matrix, and the recursion is initialized to B2=I2. R N is a bit-reversal interleaver and is used to convert the input s N 1={s1,...,s N} is mapped to the output x N 1={s1,s3,...,s N-1 ,s2,...,s N}. For example, G2 corresponds to Figure 6 The basis matrix F shown in (b) of G4 can be expressed as the following matrix.
[0133] [Formula 6]
[0134]
[0135] The bit reversal interleaver may not be included in the transmitting side. Without considering the bit reversal interleaver, G N It can be expressed as (where N=2 n ). represents the nth Kronecker power of the matrix G2, where G2 is Figure 6 The same as the basis matrix F shown in (b).
[0136] The relationship in formula 5 is Figure 8 Shown in.
[0137] Figure 8 The Nth level channel combination for polar codes is shown.
[0138] The process of defining an equivalent channel for a specific input after combining N B-DMC Ws is called channel splitting. Channel splitting can be expressed as a channel transition probability indicated by the following equation.
[0139] [Formula 7]
[0140]
[0141] Signal polarization has the following characteristics:
[0142] > Conservative: C(W - )+C(W + )=2C(W),
[0143] >Polarization: C(W - )≤C(W)≤C(W + ).
[0144] When channel combining and channel splitting are performed, the following theorem can be obtained.
[0145] *Theorem: For any B-DMC W, the channel {W N (i)} is polarized in the following sense. For any fixed δ∈{0,1}, when N becomes infinite through powers of 2, the channel capacity I(W N (i) )∈(1-δ,1] becomes I(W) and is used for the channel capacity I(W N (i) )∈[0,δ) becomes 1-I(W). Therefore, if N→∞, the signal is completely noisy or polarized to be free of noise. These channels can be accurately identified by the transmitter. Therefore, bad channels are fixed, and non-fixed bits can be transmitted on good channels.
[0146] That is, if the polar code size N is infinite, the channel has a lot of noise or no noise relative to a specific input bit. This has the same meaning as if the capacity of the equivalent channel for a specific input bit is divided into 0 or I(W).
[0147] The input of the polar encoder is divided into bit channels to which information data is mapped and bit channels to which information data is not mapped. As previously mentioned, according to the polar code theorem, if the codeword of the polar code becomes infinite, the input bit channels can be classified as noiseless channels and noisy channels. Therefore, if information is assigned to the noiseless bit channels, channel capacity can be achieved. However, in reality, it is impossible to configure codewords of infinite length, calculate the reliability of the input bit channels, and assign data bits to the input bit channels in order of reliability. In this disclosure, bit channels to which data bits are assigned are referred to as good bit channels. Good bit channels can be input bit channels to which data bits are mapped. Bit channels to which data is not mapped are referred to as frozen bit channels. A known value (e.g., 0) is input to the frozen bit channel, and encoding is then performed. Any value known by the transmitting and receiving sides can be mapped to the frozen bit channel. Information about the good bit channels can be used when performing puncturing or repetition. For example, the positions of the codeword bits (i.e., output bits) corresponding to the positions of the input bits to which information bits are not assigned can be punctured.
[0148] The decoding scheme for polar codes is the successive cancellation (SC) decoding scheme. The SC decoding scheme obtains the channel transition probability and then uses it to calculate the log-likelihood ratio (LLR) of the input bit. In this case, if the channel combination and channel splitting processes use recursive features, the channel transition probability can be calculated recursively. Therefore, the final LLR value can also be calculated recursively. First, the input bit u can be obtained as follows i The channel transition probability W N (i) (y1 N ,u1 i-1 |u1). u1 i Splittable into odd index u 1,o i and even index u 1,e i The channel transition probability can be expressed as follows.
[0149] [Formula 8]
[0150]
[0151] in,
[0152] [Formula 9]
[0153]
[0154] The polar decoder uses the known values of the polar code (e.g., received bits, frozen bits, etc.) to retrieve the information and generate u N 1's estimate u^N 1. LLR is defined as follows.
[0155] [Equation 10]
[0156]
[0157] The LLR can be calculated recursively as follows.
[0158] [Equation 11]
[0159]
[0160] The recursive calculation of LLR is based on LLR L (1) 1(y i )=W(y i |0) / W(y i |1) Backtrack to code length 1. L (1) 1(y i ) is the soft information observed from the channel.
[0161] The complexity of the polar encoder and SC decoder scales with the length N of the polar code and is considered to be O(NlogN). Assuming K input bits are used for a polar code of length N, the coding rate becomes N / K. If the generator matrix of the polar encoder for a data payload size of N is G N , then the coded bits can be expressed as x N 1=u N 1G N Assume u N The K bits in 1 correspond to the payload bits, then G N The row index corresponding to the payload bit is i, and G N The row index corresponding to (NK) bits is F. The minimum distance of the polar code can be assumed to be d min (C) = min i∈I 2 wt(i) , where wt(i) is the number of 1s in the binary expansion of i, and i=0, 1, ..., N-1.
[0162] SC list (SCL) decoding is an extension of the basic SC decoder. In this type of decoder, L decoding paths are considered simultaneously during each decoding phase. Here, L is an integer. In other words, in the case of polar codes, the List L decoding algorithm is used to track L paths simultaneously during the decoding process.
[0163] Figure 9The evolution of the decoding path during the decoding of a list L is illustrated. For ease of description, it is assumed that the number of bits to be determined is n and that all bits are not frozen. If the list size L is 4, each level includes a maximum of 4 nodes with paths that continue downward. Figure 9 The discontinuous paths are indicated by dashed lines. Figure 9 Describe the process of evolution of decoding paths in List L decoding. i) If List L decoding starts, the first unfrozen bit can be 0 or 1. ii) Continue with List L decoding. The second unfrozen bit can be 0 or 1. Since the number of paths is not greater than L=4, no pruning is needed yet. iii) Consideration of all options for the first bit (i.e., the bit of the first level), the second bit (i.e., the bit of the second level), and the third bit (i.e., the bit of the third level) results in 8 decoding paths, which are too many because L=4. iv) Prune the 8 decoding paths to L(=4) promising paths. v) Continue with the 4 valid paths by considering both options for the fourth unfrozen bit. In this case, the number of paths is doubled, i.e., 8 paths, which are too many because L=4. vi) Prune the 8 paths to L(=4) best paths. In Figure 7 In the example, four candidate codewords are obtained: 0100, 0110, 0111, and 1111. One of these codewords is determined to be the most similar to the original codeword. Similar to the normal decoding process, for example, during pruning or final codeword determination, the path with the largest sum of LLR absolute values can be selected as the surviving path. If a CRC is present, the surviving path can be selected based on the CRC.
[0164] In addition, CRC-assisted SCL decoding is SCL decoding using CRC, and improves the performance of polar codes. CRC is the most widely used error detection and correction technology in the fields of information theory and coding. For example, if the input block of the error correction encoder has K bits and the length of the information bits is k, and the length of the CRC sequence is m bits, then K=k+m. The CRC bits are part of the source bits of the error correction code. If the size of the channel code used for encoding is N, the code rate R is defined as R=K / N. CRC-assisted SCL decoding is used to detect error-free paths while the receiving device confirms the CRC code for each path. The SCL decoder outputs the candidate sequence to the CRC detector. The CRC detector feeds back the check result to help determine the codeword.
[0165] Although more complex than the SC algorithm, SCL decoding or CRC-assisted SCL decoding offers superior decoding performance. For more details on the List L decoding algorithm for polar codes, see I. Tal and A. Vardy, “List decoding of polar codes,” Proc. IEEE Int. Symp. Inf. Theory, July 2011, pp. 1–5.
[0166] Figure 10 The concept of selecting positions to which information bits are to be allocated in polar codes is illustrated.
[0167] exist Figure 10 In the example of , it is assumed that the size N of the mother code is 8 (that is, the size N of the polar code is 8) and the code rate is 1 / 2.
[0168] exist Figure 10 In, C(W i ) represents the channel W i The capacity of the channel corresponding to the input bit position of the polar code is as follows: Figure 10 When the reliability of the input bit position is shown as Figure 10 In order to transmit data at a code rate of 1 / 2, the transmitting device allocates the 4 bits constituting the data to the 4 input bit positions with high channel capacity among the 8 input bit positions (i.e., Figure 10 The input bit positions u1 to u8 are represented as input position bits u4, u6, u7 and u8) and the other input bit positions are frozen. Figure 10 The generator matrix G8 corresponding to the polar code is as follows. To obtain the generator matrix G8.
[0169] [Equation 12]
[0170]
[0171] Figure 10 The input bit positions represented as u1 to u8 correspond one-to-one to the rows from the highest row to the lowest row of G8. Figure 10, it can be understood that the input bit corresponding to u8 affects all output coded bits. On the other hand, it can be understood that the input bit corresponding to u1 only affects y1 among the output coded bits. Referring to Formula 12, when the binary input source bits u1 to u8 are multiplied by G8, the row in which the input bit appears at all output bits is the lowest row [1,1,1,1,1,1,1,1,1] among the rows of G8 in which all elements are 1. In addition, the row in which the binary input source bit appears at only one output bit is the row in which one element is 1 among the rows of G8, that is, the row [1,0,0,0,0,0,0,0] where the row weight is 1. Similarly, it can be understood that a row with a row weight of 2 reflects the input bit corresponding to the row into two output bits. Referring to Figure 10 As shown in Equation 12, u1 to u8 correspond to the rows of G8 one by one and bit indexes for distinguishing input positions of u1 to u8 (ie, bit indexes for distinguishing input positions) may be allocated to the rows of G8.
[0172] In the following, for polar codes, it can be assumed that the number of bits is calculated starting from the highest row with the smallest row weight relative to the N input bits toward G N Each row of is assigned a bit index from 0 to N-1. Figure 10 , bit index 0 is assigned to the input position of u1, i.e., the first row of G8, and bit index 7 is assigned to the input position of u8, i.e., the last row of G8. However, since the bit index is used to indicate the input position of the polar code, a scheme different from the above assignment scheme can be used. For example, bit indices 0 to N-1 can be assigned starting from the lowest row with the largest row weight.
[0173] In the case of output bit indexing, such as Figure 10 As shown in Equation 12, it may be assumed that bit indices of 0 to N-1 or bit indices of 1 to N are allocated to each column from the first column having the largest column weight to the last column having the smallest column weight among the columns of the GN.
[0174] In polar codes, the arrangement of information bits and frozen bits is one of the most important elements in the configuration and performance of polar codes. In other words, determining the rank of input bit positions can be a key factor in the performance and configuration of polar codes. For polar codes, bit indices can distinguish input positions or output bit positions of the polar code. In the present invention, a sequence obtained by enumerating the reliabilities of bit positions in ascending or descending order is called a bit index sequence or polar sequence. In other words, the bit index sequence represents the reliability of input bit positions or output bit positions of the polar code in ascending or descending order. A transmitting device inputs information bits to input bits with high reliability based on the input bit index sequence and performs encoding using the polar code. A receiving device can use the same or corresponding input bit index sequence to identify input positions to which information bits or frozen bits are assigned. In other words, the receiving device can use the same or corresponding input bit index sequence as that used by the transmitting device and perform polar decoding using the corresponding polar code. In the following description, it can be assumed that the input bit index sequence is predetermined so that information bits can be assigned to input bit positions with high reliability. In this disclosure, the input bit index sequence is also referred to as a polarization sequence.
[0175] Figure 11 The puncturing and information bit allocation of polar codes are illustrated. Figure 11 In the , F represents frozen bits, D represents information bits, and 0 represents skipped bits.
[0176] Among the coded bits, a situation in which an information bit is changed to a frozen bit may occur according to the index or position of the punctured bit. For example, if the output coded bits of the mother code of N=8 should be punctured in the order of Y8, Y7, Y6, Y4, Y5, Y3, Y2, and Y1 and the target code rate is 1 / 2, then Y8, Y7, Y6, and Y4 are punctured, and only U8, U7, U6, and U4 connected to Y8, Y7, Y6, and Y4 are frozen to 0, and these input bits are not transmitted, as shown in FIG. Figure 9 As shown. The input bits that are changed into frozen bits by puncturing the coded bits are called skipped bits or shortened bits, and the corresponding input positions are called skipped positions or shortened positions. Shortening is a rate matching method that inserts known bits into the input bit positions connected to the positions of the output bits to be transmitted while maintaining the size of the input information (i.e., the size of the information block). The matrix G can be generated from NThe input corresponding to the column with a column weight of 1 in the matrix is shortened starting from the input corresponding to the column with a column weight of 1 in the matrix, and the next shortening can be performed with respect to the input corresponding to the column with a column weight of 1 in the remaining matrix, in which the columns and rows with a column weight of 1 are removed. In order to prevent all information bits from being punctured, the information bits already assigned to the information bit positions can be reallocated in an order of high reliability within a set of frozen bit positions.
[0177] In the case of polar codes, decoding can generally be performed in the following order.
[0178] >1. Recover bits with low reliability first. Although the reliability varies depending on the structure of the decoder, since the input index in the encoder with a low value (hereinafter referred to as the encoder input bit index or bit index) usually has low reliability, decoding is usually performed starting from the low encoder input bit index.
[0179] >2. When there are known bits for recovery bits, the known bits are used together with the recovery bits or the processing of 1 is omitted and the known bits for the specific input bit positions are immediately used to recover the information bits that were unknown bits. The information bits can be source information bits (e.g., bits of a transport block) or CRC bits.
[0180] As mentioned above, the process of channel combining and channel splitting results in the equivalent channel being divided into a noisy channel and a noiseless channel. The data payload needs to be sent through the noiseless channel. In other words, the data payload needs to be sent through the noiseless equivalent channel to achieve the desired performance. The value of the equivalent channel can be calculated for each input bit To determine the noise-free equivalent channel. Z(W) is called the Battacharyya parameter, which can represent a value corresponding to the upper limit of the error probability when performing a MAP (maximum a posteriori probability) decision for transmitting a binary input 0 or 1. Therefore, the transmitting side can obtain the value of Z(W), select an equivalent channel up to the size of the data payload in ascending order (e.g., descending order) of the value of Z(W), and use the equivalent channel to transmit the data payload. For a binary erasure channel (BEC), Z(W) can be obtained by Equation 13.
[0181] [Equation 13]
[0182]
[0183] For example, when the binary probability of BEC is 0.5 and the code block size is 8, the value of Z(W) can be calculated as follows according to Equation 11: Z(W) = {1.00, 0.68, 0.81, 0.12, 0.88, 0.19, 0.32, 0.00}. Therefore, when the size of the data payload is 2, the data payload can be sent on an equivalent channel 8 with Z(W) = 0.00 and an equivalent channel 4 with Z(W) = 0.12.
[0184] As described above, since the polar encoder has different reliabilities depending on the input position, the transmitting side can assign data blocks (i.e., information blocks before encoding) to bit channels in order of reliability based on the size of the corresponding data blocks, and perform encoding by setting all other items to frozen (e.g., a value of '0'). For example, if the mother code size of the polar encoder (i.e., the maximum size of a code block that the polar encoder can encode) is N, and if the size of the data block input to the polar encoder is K, polar encoding is performed by arranging the bits of the data block in order of reliability in K bit channels and setting 0 to NK bit channels.
[0185] The following shows the polarization sequence used in the NR (5G) system (see the polarization sequence defined in 3GPP TS 38.212 Rel-15).
[0186] <Polarization Sequence>
[0187]
[0188]
[0189]
[0190]
[0191] The table above shows the polarization sequence Q0 Nmax-1 and the reliability of the polarization sequence W(Q i Nmax In the above table, W represents W(Q i Nmax ), I represents Q i Nmax That is, the table above gives the polarization sequence Q0 Nmax-1 ={Q0 Nmax ,Q1 Nmax ,...,Q Nmax-1 Nmax}, where 0 <= Q i Nmax< = Nmax - 1 represents the bit index (i.e., bit channel index) before polar coding, where i = 0, 1,..., Nmax - 1. For 3GPP TS 38.212 Rel - 15, Nmax = 1024. The polar sequence Q0 Nmax-1 is the ascending order of reliability W(Q0 Nmax )<W(Q1 Nmax )<...<W(Q Nmax-1 Nmax ), where W(Q i Nmax ) represents the reliability of the bit index Q i Nmax . For example, referring to the above table, the reliability of the bit index Q i Nmax = 4, W(Q i Nmax ) = 3, is lower than the reliability of the bit index Q i Nmax = 3, W(Q i Nmax ) = 7. That is, the above table lists the bit indices 0 to 1023 representing the 1024 input positions of the polar code with Nmax = 1024 in ascending order of reliability.
[0192] For any information block encoded into N bits, the same polar sequence Q0 N-1 = {Q0 N , Q1 N , Q2 N ,..., Q N-1 N} is used. The polar sequence Q0 N-1 is the subset of all elements Q Nmax-1 of the polar sequence Q0 N sorted in ascending order of reliability W(Q0 N )<W(Q1 N )<W(Q2 N-1 N )<...<W(Q i Nmax ) with values less than N. For example, when N = 8, the polar sequence Q0 7 includes the elements of Q Nmax-1 among the elements of the polar sequence Q0 i Nmax <8, and the elements of Q i Nmax <8 are sorted in ascending order of reliability W(0)<W(1)<W(2)<W(4)<W(3)<W(5)<W(6).
[0193] For example, Table 3 lists the input bit positions of an information block of a size K (=10) of a polar code input into a polar sequence of N=512.
[0194] [Table 3]
[0195] Polarization sequence 1 505 2 506 3 479 4 508 5 495 6 503 7 507 8 509 9 510 10 511
[0196] Table 3 shows 10 elements for K=10 among the elements of the polarization sequence of N=512 in ascending order of reliability. Referring to the above <Polarization Sequence> table, I(=Q i Nmax ) value has 10 reliability W(Q i Nmax ) is {479, 495, 503, 505, 506, 507, 508, 509, 510, 511}. If {479, 495, 503, 505, 506, 507, 508, 509, 510, 511} are arranged in ascending order of reliability W, {505, 506, 479, 508, 495, 503, 507, 509, 510, 511} can be obtained, which is a set of bit indices for K = 10 in the polarization sequence for N = 512 shown in Table 3.
[0197] If the bit sequence input to the channel coding is composed of c0, c1, c2, c3, ···, c K-1 The encoded bits are represented by d0, d1, d2, d3, ···, d N-1 Represents, where K is the number of bits to be encoded, where N = 2 n , and the value of n is determined by the following table.
[0198] [Table 4]
[0199]
[0200] where n min =5.
[0201] In Table 4, n max It can be a value predetermined according to the type of channel or control information and / or the number of information bits input to the channel coding block. For example, n for the broadcast channel (BCH) max It can be set to 9, for DCI n max Can be scheduled as 9, and for UCI's n max Can be booked as 10.
[0202] In Table 4, E represents the rate matching output sequence length. The rate matching output sequence length E can be predetermined based on the type of channel, the type of control information, the amount of resources mapped to the channel or control information, and / or the number of code blocks used to transmit the control information. For example, the rate matching output sequence length E for BCH is 864, the rate matching output sequence length E for downlink control information is 864, and the rate matching output sequence length E for UCI can be predetermined based on the number of OFDM symbols carrying UCI, the number of RBs, the spreading factor, the number of code blocks for UCI, and / or the type of UCI included in the UCI payload (e.g., HARQ-ACK, Scheduling Request (SR), Channel State Information (CSI), etc.).
[0203] For any information block coded as N bits, the same polarization sequence Q0 is used N-1 ={Q0 N ,Q1 N ,Q2 N ,...,Q N-1 N Polarization sequence Q0 N-1 is the polarization sequence Q0 Nmax-1 A subset of Q where all elements Q are smaller than the value of N i Nmax In ascending order of reliability W(Q0 N ) <W(Q1 N ) <W(Q2 N )<... <W(Q N-1 N ) sort.
[0204] In NR systems, under certain conditions, such as when the polar code information size is 18 <= 25, parity bits are generated to improve performance (e.g., block error rate (BLER)) when using polar codes. Here, the polar code information size K refers to the number of information bits encoded by polar coding. For example, the sum of the code block bits and the code block CRC bits can equal the polar code information size.
[0205] Figure 12 A method of generating parity bits used in polar codes is shown.
[0206] In some implementations, a parity check (PC) polar code may be used. A PC polar code is a polar code in which PC bits generated using a portion of a data block (i.e., an information block) are placed at the input of a polar encoder. According to the currently disclosed NR specification, a PC polar code may be used when the data block size K is in the range of 18 <= K <= 25. In this case, the number of PC bits is 3, and the following may be used: Figure 12The 5-bit shift register shown is used to generate the PC bits. Figure 12 In the example, the 5-bit shift registers (i.e., y[0], y[1], y[2], y[3], and y[4]) are all initialized to 0. That is, the following can be done for the data block [u0, u1, u2, ..., u N-1 ]Generate PC bits.
[0207] > Circularly shift register left.
[0208] >If u i is the information bit, then set y[0]=(u i XOR y[0]),
[0209] >If u i If it is a PC bit, set u i =y[0].
[0210] The generated PC bits are assigned to the input bit channels of the polar encoder (i.e., the bit indices of the polar code) as follows. wm PC =1, when E-K+3<=192, n wm PC = 0. In this case, if the bit index set of the PC bits is represented as Q N PC , and if Q N PC The bit index set of the other PC bits is denoted as Q N PC_wm , then the set Q N PC The size of |Q N PC |=n PC , and the set Q N PC_wm The size of |Q N PC_wm |=n wm PC According to NR specifications (e.g., 3GPP TS 38.212Rel-15), Q N PC and Q N PC_wm It can be calculated as follows. For bit index j ranging from 0 to N-1 (ie, j=0, 1, ..., N-1), G N The jth row of g is represented by j , and g j The row weight is expressed as w(g j ), where w(g j ) is gj In this case, (n PC -n wm PC ) PC bits are placed (n PC -n wm PC ) the least reliable bit index. In addition, the remaining n wm PC The PC bits are placed The bit index with the smallest row weight in , where express The most reliable bit index. If There are n numbers with the same minimum row weight in wm PC More bit indexes, then the remaining n wm PC The PC bits are placed The n with the highest reliability and the smallest row weight wm PC bit index.
[0211] In some embodiments, the polar coding input u=[u0 u1 u2 ... u N-1 ] can be generated according to Table 5 below.
[0212] [Table 5]
[0213]
[0214] The encoded output d=[d0 d1 d2 d3...d N-1 ] is through d=uG N is obtained, and encoding is performed by GF(2).
[0215] Figure 13 is a diagram illustrating a rate matching process according to some implementations of the present disclosure.
[0216] In some implementations, rate matching is performed after channel coding. In the NR specification, rate matching for polar codes is defined for each code block, and rate matching includes sub-block interleaving, bit selection, and bit interleaving. In this specification, the input bit sequence before rate matching can be represented as d0, d1, d2, d3, ..., d N-1 , and the output bit sequence after rate matching can be expressed as f0, f1, f2, f3, ···, f E-1 The bits input to the sub-block interleaver are coded bits d0, d1, d2, d3, . . . , d N-1. Coded bits d0, d1, d2, d3, . . . , d N-1 It can be divided into 32 sub-blocks. The bits output from the sub-block interleaver can be represented as y0, y1, y2, y3, . . ., y N-1 , which can be generated as follows: for n=0 to N-1: i=floor(32n / N); J(n)=P(i)*(N / 32)+mod(n, N / 32); y n =d J(n) , where the sub-block interleaver pattern P(i) is determined according to Table 6 below.
[0217] [Table 6]
[0218] i P(i) i P(i) i P(i) i P(i) i P(i) i P(i) i P(i) i P(i) 0 0 4 3 8 8 12 10 16 12 20 14 24 24 28 27 1 1 5 5 9 16 13 18 17 20 21 22 25 25 29 29 2 2 6 6 10 9 14 11 18 13 22 15 26 26 30 30 3 4 7 7 11 17 15 19 19 21 23 23 27 28 31 31
[0219] represents the nth Kronecker power of the matrix G2, where N is 2 n ; and G2 and Figure 6 The same as the basis matrix F shown in (b).
[0220] In some implementations, the bit sequence y0, y1, y2, y3, ..., y N-1 Write to a circular buffer of length N. If the rate matching output sequence length is denoted as E, the bit selection output bit sequence e can be generated as follows k (where k = 0, 1, 2, ..., E-1).
[0221] [Table 7]
[0222]
[0223] Puncturing or shortening is a technique of not transmitting some coded bits when the resources allocated for transmission are not large enough to accommodate all coded bits. Repetition is a technique of duplicating and transmitting some coded bits when the resources allocated for transmission are large enough to accommodate all coded bits.
[0224] Depending on the type of transmission channel or control information or on the channel coding scheme, the bit sequence e0, e1, e2, . . . , e E-1 Can be interleaved into bit sequences f0, f1, f2, f3, ···, f E-1 For example, in the case of polar coding for UCI, the bit sequence e0, e1, e2, . . . , e E-1 It can be interleaved into the bit sequence f0, f1, f2, f3, ···, f E-1 .
[0225] [Table 8]
[0226]
[0227] Polarization sequence Q0 N-1 The set of bit indices in is represented as And the polarization sequence Q0 N-1 The set of other bit indices in is denoted as in, And n PC is the number of PC bits. In this disclosure, |S| represents the number of elements in set S. In some embodiments, and It can be given as follows.
[0228] [Table 9]
[0229]
[0230] In this disclosure, A\B represents the difference between set B and set A, that is, AB. In other words, A\B refers to the set of all elements in set A that do not belong to set B.
[0231] As mentioned above, polar codes are designed by repeatedly concatenating short kernel codes based on the polarization characteristics of the channel. Based on the reliability of the polarization bit channel obtained through channel polarization, information bit A is transmitted over a highly reliable channel. Polar codes are set to frozen bits F, which are previously shared between the transmitter and receiver and set over a low-reliability channel. Polar codes are decoded using a recursive SC decoder or a continuous cancellation list (SCL) decoder.
[0232] Therefore, polar codes are designed so that the transmission message is placed on a bit channel with high reliability generated by channel polarization, and the pre-shared value is placed on a bit channel with low reliability. However, the polar code designed as described above can achieve optimal performance for the SC decoder, but the polar code may experience performance degradation when the SCL decoder is used. In other words, conventional polar codes are designed by selecting an information set optimized for the SC decoder or by selecting an information set that maximizes the minimum distance. However, when a practical-sized SCL decoder is used, high error correction performance cannot be achieved. Therefore, research is underway on how to design polar codes so that the SCL decoder used in practice can achieve high error correction performance. As part of this research, Reed-Muller (RM) polar codes have been proposed, which analyze RM codes with polar codes and utilize the large minimum distance property of RM codes (see the following reference: Li, Bin, Hui Shen, and David Tse, "RM-Polar Codes"). Because this design only reflects the minimum distance and does not incorporate SC decoding, RM polar codes can achieve higher error correction performance than SC-based polar codes only when using an SCL decoder with a large list size. However, because channel characteristics are not reflected in the code design process, performance degradation occurs when an SCL decoder with a practical list size (e.g., L = 8 to 32) is used for RM polar codes. Therefore, there is a need for polar codes that enable SCL decoders of practical sizes to achieve high error correction performance.
[0233] Hereinafter, embodiments of the present disclosure regarding polar code design / decision techniques optimized for minimum distance will be described. These embodiments relate to polar codes that improve SC decoding performance while maintaining the high minimum distance property of the code, achieving high decoding performance with practical list sizes.
[0234] Figure 14 FIG. 4 illustrates a process of determining a polar code according to some embodiments of the present disclosure.
[0235] According to some embodiments of the present disclosure, Figure 14 As shown in [1], a polar code C (e.g., RM-polar code) with an information set optimized for minimum distance is first designed or determined. Design freedom is gained by puncturing unnecessary coded bits from the bits encoded by the polar code C. During the puncturing process, a puncturing pattern is designed or determined that maintains the minimum distance as much as possible by analyzing the minimum distance characteristics of the code after puncturing, thereby maintaining the good minimum distance characteristics of the original code. Subsequently, additional bits are transmitted through extension to improve SC decoding performance. Among the bits generated at the intermediate nodes in the polar code butterfly network, the bits that can maximize the improvement in the code's SC decoding performance are selected as extension bits.
[0236] In the present disclosure, puncturing may refer to a technique of not transmitting some bits in a codeword, and spreading may refer to a technique of generating additional parity bits.
[0237] In this disclosure, polar codes with information sets optimized for minimum distance are used as base codes. As explained previously, the generator matrix of the polar code is It is the nth Kronecker power of the matrix F, where N = 2 n , and F is Figure 6 As shown in (b), the polar code message is placed in information set A, and the smallest Hamming weight among the rows corresponding to the information set's position has the same property as the minimum distance. Therefore, by selecting information sets in order of highest Hamming weight based on a given message length, an information set optimized for minimum distance can be selected. If multiple information set candidates with the same Hamming weight exist, the information set is selected based on the performance of the bit channel.
[0238] According to some embodiments of the present disclosure, the design of polar codes sequentially performs puncturing and spreading.
[0239] Figure 15 is a diagram for explaining a punch pattern design and an expansion pattern design according to some embodiments of the present disclosure.
[0240] refer to Figure 15 (a), the design of the puncturing pattern is performed bit by bit, and a puncturing pattern including l puncturing bits is represented as P( l-1) The design of the lth puncturing bit is as follows: First, for the candidate puncturing bit b∈B:=[0:N-1]\P( l-1) When performing puncturing, generate the minimum distance codeword of the polar code and calculate the minimum distance d (l) min (P (l-1) ∪{b}) and the minimum distance codeword number A (l) min (P (l-1) ∪{b}). The minimum distance codeword for the polar code can be generated using an SCL decoder with a large list size (reference: P. Yuan, T. Prinz, G. Boecherer, O. Iscan, R. Boehnke, and W. Xu, "Polar Code Construction for List Decoding," 12th International ITG Conference on Systems, Communications, and Compilation, SCC 2019, pp. 1-6, doi: 10.30420 / 454862022). Based on the calculated minimum distance, a set of candidate punctured bits that can maintain the minimum distance as much as possible is selected as follows.
[0241] Formula 14
[0242]
[0243] If the set P contains only one candidate bit, the lth punctured bit is passed through p (l) =p∈P. If |P|>1, the bits that minimize the number of minimum distance codewords are selected, as shown in the following equation.
[0244] Formula 15
[0245]
[0246] The design of the punch pattern is performed up to a predetermined length l max .
[0247] refer to Figure 15 (b) In some embodiments of the present disclosure, SC decoding performance is improved by using extension based on punctured codes. Extension is a technique for transmitting new parity bits by generating them from existing codewords. A representative example is the retransmission method, in which previously transmitted codeword bits are repeatedly transmitted. The retransmission method has the advantage of not requiring additional decoding complexity for the newly generated parity bits, thereby allowing the decoder of the existing code to be used as is.
[0248] Figure 16 The figure shows the extended candidate bits that can be used for extension in some embodiments of the present disclosure. Figure 16 In the example, with each node ( Figure 16 The value corresponding to (indicated by a circle in the figure) can become the extended candidate bit.
[0249] By utilizing Figure 16 The butterfly network operation shown in [ ] generates codewords for polar codes. If intermediate nodes within the butterfly network are additionally transmitted, encoding and decoding can be performed without additional complexity. During the code encoding process, the values of the intermediate nodes are automatically calculated, and by adding additional reliability information to the intermediate nodes, the additional reliability is utilized during the decoding process. This allows the existing polar code decoder structure to be maintained while utilizing the additional transmitted information. Therefore, in this disclosure, an expansion pattern is designed to maximize SC decoding performance by expanding all nodes within the butterfly network (including codeword bits).
[0250] Figure 17 and Figure 18 is a diagram for explaining the process of selecting extension bits at each layer in a polar code butterfly network. Figure 17 and Figure 18 In a butterfly network, nodes located closer to the input side can be called ancestor nodes, while nodes located on the output side can be called descendant nodes.
[0251] The theoretical performance of the SC decoder for polar codes can be analyzed using methods such as DE (density evolution) and GA (Gaussian approximation) (see D. Wu, Y. Li, and Y. Sun, "Construction and Block Error Rate Analysis of Polar Codes over AWGN Channels Based on Gaussian Approximation," IEEE Communications Letters, Vol. 18, No. 7, pp. 1099-1102, July 2014). These methods can evaluate the decoding performance after candidate extension bits are extended. However, the number of candidate extension bits, including intermediate nodes, is O(NlogN), which requires high search complexity when the code length is large. Therefore, in embodiments of the present disclosure, when a low-complexity design is required, candidate extension bits are selected by analyzing the propagation structure of log-likelihood ratio (LLR) messages during the polar code decoding process.
[0252] In the theoretical performance evaluation process of a code, the reliability of each information bit can be evaluated, and therefore, vulnerable information bits that play a key role in the performance degradation of the code can be detected. Because the reliability of a node determines the overall performance of the code, such as Figure 17 As shown in FIG, an expansion candidate bit is selected from the descendant nodes of the vulnerable information bit. During the process of expanding the descendant nodes, the node with the most significant contribution is selected from the descendant expansion candidate nodes based on the position of the ancestral vulnerable node within the kernel. Here, the ancestral vulnerable node refers to a node that is located closer to the input side of the butterfly network, that is, the ancestral node, among the nodes in the process starting from the vulnerable information bit and expanding to the descendant nodes. Figure 17 , starting from the vulnerable information bit u6, the corresponding node is set as the ancestor node, and one of the descendant nodes in stage 1 of the node can be selected as the candidate extension bit. Next, the candidate extension node selected in stage 1 is determined as the ancestor vulnerable node, and the process of selecting one of the descendant nodes in stage 2 of the node as the candidate extension bit can be repeated. First, as Figure 18 As shown in (a), when the ancestral vulnerable node is at the top of the kernel, the reliability of the descendant nodes is propagated through the boxplus operation as shown in the following formula.
[0253] Formula 16
[0254]
[0255] In this case, since the input in the boxplus operation determines a lower LLR value, the node with lower reliability among the descendant nodes is prioritized as a candidate expansion node. Figure 18At the bottom of the kernel shown in (b), the descendant nodes at the top propagate reliability via the boxplus operation, while the descendant nodes at the bottom propagate reliability via the "+" operation. Therefore, descendant nodes at the bottom that directly transmit messages are prioritized as candidate expansion nodes. Therefore, an expansion candidate bit is selected for each network layer, and the expansion pattern can be designed with a total search complexity of O(logN). In addition, considering the puncturing pattern, nodes with a reliability of 0 are added to the expansion candidate nodes as needed.
[0256] The optimal number of bits for spreading and puncturing in the design of polar codes max The limit is set to the SC performance gain achievable by extending the code. Puncturing certain bits during code design results in punctured bits that are recovered during the extension process, prioritizing punctured bit recovery over the SC decoding performance gain achievable by extending the intermediate nodes. Therefore, in actual puncturing and extension pattern design, the number of points in the extension pattern containing punctured bits is set to the number of extension and punctured bits.
[0257] The following table lists puncturing and spreading patterns designed according to some embodiments of the present disclosure for a polar code with a mother code size of N=256 and an input information bit size of K=93, i.e., (N, K)=(256, 93).
[0258] Table 10
[0259]
[0260] Referring to Table 10, for a polar code with N=256, where the output bit indices are y0 to y255, based on the puncturing pattern of [0, 1, 2, 4, 8, 16, 32, 63, 64, 128, 195, 77, 150, 103, 250, 17, 74, 179, 30, 225, 121, 149, 43, 252], the bit values at the output bit indices y0, y1, y2, y4, y8, y16, y32, y63, y64, y128, y195, y77, y150, y103, y250, y17, y74 y179, y30, y225, y121, y149, y43, y252 may be punctured. In Table 10, the extended pattern may be represented as follows: Figure 16 The position of the extended bit in the graphical structure of the polar code shown in . For example, in the case of (19, 4), the bit value corresponding to the 19th row (i.e., row index 19) in stage 4 can be used as the extended bit. This bit can be input to one of the positions to be punctured according to the puncturing pattern.
[0261] Figure 19The word error rate (WER) performance of polar codes according to some embodiments of the present disclosure is shown. Specifically, Figure 19 The WER performance of the (N, K) = (253, 93) polar code designed according to some embodiments of the present disclosure, the 5G NR standard polar code, and the RM code using an SCL decoder with L = 16 and assuming an additive white Gaussian noise (AWGN) channel is shown. Figure 19 It can be confirmed that the polar codes according to some embodiments of the present disclosure achieve an error rate performance improvement of more than 10 times compared to existing 5G NR standard codes and RM codes. This shows that the polar codes according to some embodiments of the present disclosure maintain the minimum distance property of the code and achieve improved error correction performance by expanding the SC decoding performance gain obtained by the SCL decoder to a practical list size. Because the polar codes according to some embodiments of the present disclosure can achieve error rate performance gains without increasing encoding / decoding complexity while maintaining the structure of existing codes, their expected applications are significant.
[0262] When polar codes according to embodiments of the present disclosure are commercialized, they can be utilized as a core technology for data or control channels in environments requiring ultra-reliable, low-latency communications. When using a full-scale SCL decoder, the codes designed according to the present disclosure demonstrate superior error correction performance under various conditions compared to polar codes previously used in 5G standards. Polar codes are expected to have significant market potential as a core technology for ultra-reliable, low-latency communications (URLLC) in 6G communications.
[0263] Research is ongoing on polar code design methods that can achieve high error correction performance for SCL decoders. In this process, polariton code-related techniques that include parity information bits have been proposed (reference: P. Trifonov and V. Miloslavskaya, "Polariton Codes," published in the IEEE Journal of Selected Areas in Communications, Vol. 34, No. 2, pp. 254-266, February 2016). However, because code design techniques are optimized based on code design parameters, it is difficult to apply the codes in practical environments requiring various message lengths. Therefore, considering practical industrial aspects, there is a need for a code design technique with a nested structure that supports various message lengths. To address this issue, the present disclosure proposes a nested polar code design technique.
[0264] The nested polar code design technique proposed in this disclosure is used to pre-design a nested code set optimized for minimum distance based on supported message lengths. This technique improves SCL decoding performance by puncturing and spreading some bits in the codes included in the set. In this case, considering practical implementations, a nested puncturing and spreading pattern optimized for the code set is utilized.
[0265] Figure 20 A diagram for explaining the concepts of nested punch patterns and extended patterns.
[0266] The design of nested polar codes proposed in this disclosure sequentially performs puncturing and spreading on a given set of nested polar codes. In this case, for codes C1, C2, ..., C t The set of puncturing and spreading patterns for each code is represented as P i and E i The punch and expansion patterns are designed to meet: |P t |=|E t |=l max , and thus the entire nested polar code is supported by a single puncturing and spreading pattern.
[0267] As explained above, the design of the puncturing pattern is performed on a bit-by-bit basis. In order to maintain the minimum distance as much as possible after the puncturing of the code, it is determined whether the minimum distance will decrease after the puncturing of the candidate puncturing bits, and thus the puncturing bits that can maintain the minimum distance are selected. When the puncturing pattern including l-1 puncturing bits is represented as P (l-1) When puncturing the candidate punctured bits, the design of the lth punctured bit involves selecting a candidate punctured bit b∈B:=[0:N-1]\P(l-1). When puncturing the candidate punctured bits, the minimum distance codeword of the polar code is generated using the SCL decoder. The minimum distance d (l) min (P (l-1) ∪{b}) and the minimum distance codeword number A (l) min (P (l-1) ∪{b}) is calculated after puncturing. Therefore, the minimum distance reduction caused by each candidate punctured bit can be calculated as shown below.
[0268] Formula 17
[0269]
[0270] In Equation 17, d (l) min denotes the minimum distance after the lth puncturing, and P(l) denotes the set of l punctured bits.
[0271] The design of the integrated puncturing pattern selects puncturing bits that minimize the number of codes for which the minimum distance is reduced after puncturing each candidate puncturing bit for codes C1, C2, ..., Ct. The optimal number of puncturing / spreading bits required for each code is different, and the set of codes to which each puncturing bit contributes is different. Therefore, when the code C i The optimal number of puncturing / spreading bits is denoted as li When l <= l i , the corresponding punctured bit pair code C i contributes, where l is the number of punctured bits of the current design. Thus, the punctured bits can be determined as follows.
[0272] Equation 18
[0273]
[0274] Figure 21 is a diagram for explaining a method of determining an integrated extension pattern according to some embodiments of the present disclosure. In Figure 21 , WER SC represents the WER performance of the SC decoder, and E (l) represents a set of l extension bits.
[0275] According to some embodiments of the present disclosure, the SC decoding performance of a code is improved by nested extension based on a punctured code. Extension is a technique for generating and transmitting new parity bits from an existing codeword. In the case of a polar code, based on the characteristic of generating a codeword through butterfly network operations, as Figure 16 shown, the intermediate node e ∈ I within the butterfly network can be utilized as a parity bit. The value of the intermediate node is automatically calculated during the encoding process of the code. By adding additional reliability information to the intermediate node, the reliability of the additional transmission is used during the decoding process. This allows the existing polar code decoder structure to be maintained while utilizing the additional transmitted information. For example, the extension pattern can be determined by selecting extension bits that can maximize the SC decoding performance through the evaluation of the SC decoding performance after extension. As mentioned above, the SC decoding performance can be theoretically analyzed through Gaussian approximation (GA). When the WER performance after SC decoding of the code obtained by puncturing the code C with the puncturing pattern P and extending the extension bits according to the extension pattern E is expressed as WER SC (C, P, E ∪ {e}), the set extension pattern can be determined by selecting extension bits that can maximize the SC decoding performance of the codes C1, C2,..., C t . The integrated extension metric is configured as the sum of the WER performances of the SC decoding for each code. Similar to the design / decision process of the punctured bits, each extension bit contributes to a different set of codes, and since the extension occurs after puncturing, only when l max -l i < l, the l-th extension bit contributes to the code C i , as Figure 21 shown. The extension bits can be determined as follows.
[0276] Equation 19
[0277]
[0278] According to the required conditions of the code, the designed or determined puncturing pattern and expansion pattern can be used as P i =P(1:l i ) and E i =E(l max -l i :l max In some embodiments of the present disclosure, depending on the performance requirements and implementation complexity of an application or system, the puncturing pattern and the extension pattern may be designed / determined in a hierarchical manner to support a certain range.
[0279] The following table lists the puncturing and spreading patterns for nested polar codes designed / determined according to some embodiments of the present disclosure. The codes used in the table to determine the puncturing and spreading patterns are as follows: (N, K) = (256, 93) code, (N, K) = (246, 163) code, and (N, K) = (256, 219) code. For the (256, 93) code, l1 is set to 30; for the (246, 163) code, l2 is set to 22; and for the (256, 219) code, l3 is set to 10.
[0280] Table 11
[0281]
[0282] Referring to Table 11, for a polar code with N=256, where the output bit indexes are y0 to y255, based on the puncturing pattern [0, 1, 2, 4, 8, 16, 32, 63, 64, 128, 195, 77, 150, 103, 250, 17, 74, 179, 30, 225, 121, 149, 43, 252, 56, 205, 10, 93, 223, 68], the bit values at the corresponding output bit indexes may be punctured. In Table 11, the extended pattern may be represented as Figure 16 The position of the extended bit in the graph structure of the polar code shown in . For example, in the case of (0,5), the bit value corresponding to row 0 (i.e., row index 0) in stage 5 of the node can be used as the extended bit value. This bit value can be input to one of the positions to be punctured according to the puncturing pattern.
[0283] Figure 22 The WER performance of codes designed / determined according to some embodiments of the present disclosure, 5G NR standard polar codes, and RM codes when using SCL decoding is shown. Specifically, Figure 22The WER performance of the codes designed / determined according to some embodiments of the present disclosure, the 5G NR standard polar codes, and the RM codes under SCL decoding with L=32 is shown. Figure 22 An AWGN channel is assumed in .
[0284] In some embodiments of the present disclosure mentioned above, puncturing according to a puncturing pattern and spreading according to a spreading pattern are part of the encoding process performed based on the polar code and are used to determine the codeword. Therefore, puncturing and spreading differ from puncturing in rate matching, in which the transmission of some bits of the codeword is discarded based on the amount of radio resources and the code rate for the codeword; and differ from repetition in rate matching, in which some or all bits of the codeword are repeated based on the radio resources and the code rate for the codeword.
[0285] According to some embodiments of the present disclosure, a polar code with high error correction performance can be designed / determined without requiring additional decoding complexity.
[0286] During the puncturing process, a nested puncturing pattern that maximizes the preservation of the minimum distance of the nested codes is determined by analyzing the minimum distance characteristics of the nested code set. During the expansion process, an expansion pattern is determined to improve the integrated performance metric, taking into account the SC decoding performance of the nested codes. In each code, puncturing and expansion are performed on the same number of bits, and improved error correction performance can be achieved using codes of the same length as the original codes. Therefore, according to some embodiments of the present disclosure, a single nested puncturing and expansion pattern can be used to design or determine nested polar codes with high error correction performance without requiring additional decoding complexity. Furthermore, because the polar codes according to some embodiments of the present disclosure are designed / determined based on existing polar codes, they provide backward compatibility with commercialized technologies. As a result, when the polar codes according to some embodiments of the present disclosure are used as core technologies for 6G communications, significant market potential is ensured. When the polar codes according to some embodiments of the present disclosure are commercialized, they are expected to be used by communication equipment manufacturers or communication service providers.
[0287] When polar codes according to some embodiments of the present disclosure are applied using full-scale SCL decoding, superior error correction performance can be achieved under various conditions compared to previously used polar codes. Polar codes according to some embodiments of the present disclosure can be used as a core technology for URLLC.
[0288] Figure 23 FIGURE 1 illustrates a channel coding process according to some implementations of the present disclosure.
[0289] According to some implementations of the present disclosure, a communication device or an encoder may perform operations related to channel coding. The communication device may include: at least one transceiver; at least one processor; and at least one computer memory, the at least one computer memory being connected to the at least one processor when in operation and storing instructions, the instructions causing the at least one processor to perform operations according to some implementations of the present disclosure when executed. A processing device for a communication device or an encoder may include: at least one processor; and at least one computer memory, the at least one computer memory being connected to the at least one processor when in operation and storing instructions, the instructions causing the at least one processor to perform operations according to some implementations of the present disclosure when executed. A computer-readable (non-volatile) storage medium may store at least one computer program including instructions, the instructions causing the at least one processor to perform operations according to some implementations of the present disclosure when executed by at least one processor. A computer program or a computer program product may include instructions recorded in at least one computer-readable (non-volatile) storage medium and causing (at least one processor) to perform operations according to some implementations of the present disclosure when executed. Reference Figure 23 In a communication device, an encoder, a processing device, a computer-readable (non-volatile) storage medium, and / or a computer program product, the operation may include: determining a bit sequence of size N by encoding an information block of size K based on a polar code of size N (S2301); selecting k bit positions from among N bit positions in the bit sequence based on a predetermined puncturing pattern (S2303); selecting k intermediate bit values from among intermediate bit values generated during encoding the information block based on the polar code of size N based on a predetermined spreading pattern (S2304); and generating a codeword of size N by replacing bit values at the k bit positions in the bit sequence with the k intermediate bit values (S2305).
[0290] In some embodiments, the information block may be a TB to which a TB CRC is appended, obtained by adding the TB CRC to the TB, or may be a code block (CB) to which a TB CRC is appended, obtained by adding the CB CRC to the CB.
[0291] In some embodiments, the operation may include: performing rate matching on the codeword based on the radio resources allocated for transmission of the codeword and the target code rate; and sending the rate-matched codeword through a physical channel using the radio resources. In some embodiments, the physical channel may be, for example, a PUSCH or PDSCH defined for data transmission between a BS and a UE, or a physical sidelink shared channel (PSSCH) defined for direct communication between UEs. The radio resources may be semi-statically configured by the BS and dynamically allocated to the UE. Alternatively, the UE may configure the radio resources to a peer UE, or the peer UE may configure the radio resources to the UE. In some embodiments, information about the target code rate may be provided by the BS that allocates the radio resources, or provided by the UE to the peer UE.
[0292] In some embodiments, the predetermined puncture pattern may be one of a plurality of different puncture patterns predetermined for a plurality of polar codes having at least different values of K or N. The plurality of different puncture patterns may be predetermined such that a shorter puncture pattern is a subset of a longer puncture pattern.
[0293] In some embodiments, the predetermined spreading pattern may be one of a plurality of different spreading patterns predetermined for a plurality of polar codes having at least different values of K or N. The plurality of different spreading patterns may be predetermined such that a shorter spreading pattern is a subset of a longer spreading pattern.
[0294] Figure 24 A channel decoding process according to some implementations of the present disclosure is shown.
[0295] According to some implementations of the present disclosure, a communication device or a decoder may perform operations related to channel decoding. The communication device may include: at least one transceiver; at least one processor; and at least one computer memory, the at least one computer memory being connected to the at least one processor when in operation and storing instructions, the instructions, when executed, causing the at least one processor to perform operations according to some implementations of the present disclosure. A processing device for a communication device or a decoder may include: at least one processor; and at least one computer memory, the at least one computer memory being connected to the at least one processor when in operation and storing instructions, the instructions, when executed, causing the at least one processor to perform operations according to some implementations of the present disclosure. A computer-readable (non-volatile) storage medium may store at least one computer program including instructions, the instructions, when executed by at least one processor, causing the at least one processor to perform operations according to some implementations of the present disclosure. A computer program or a computer program product may include instructions, the instructions being recorded in at least one computer-readable (non-volatile) storage medium and causing (at least one processor) to perform operations according to some implementations of the present disclosure when executed. Reference Figure 24 In a communication device, a decoder, a processing device, a computer-readable (non-volatile) storage medium, and / or a computer program product, the operation may include: receiving a coded information block (S2401); and determining an information block of size K by decoding the coded information block based on a polar code of size N, a predetermined puncturing pattern, and a predetermined spreading pattern (S2403).
[0296] In some embodiments, a predetermined puncturing pattern may be used to select k bit positions from N bit positions in a bit sequence of size N, which is generated based on a polar code of size N and an information block of size K. A predetermined spreading pattern may be used to select k intermediate bit values from intermediate bit values generated during encoding of the information block of size N into the bit sequence. A coded information block may be obtained by generating a codeword by replacing the bit values at the k bit positions in the bit sequence with the k intermediate bit values.
[0297] In some implementations, the encoded information blocks may be rate-matched codewords.
[0298] The information block may be a TB to which a TB CRC is appended, which is obtained by adding the TB CRC to the TB, or may be a CB to which a TB CRC is appended, which is obtained by adding the CB CRC to the CB.
[0299] In some embodiments, the rate-matched codewords may be received over a physical channel using radio resources allocated for transmission of the coded information blocks. In some embodiments, the physical channel may be, for example, a PUSCH or PDSCH, which is defined for data transmission between a BS and a UE, or a PSSCH, which is defined for direct communication between UEs. The radio resources may be semi-statically configured by the BS and dynamically allocated to the UE. Alternatively, the UE may allocate radio resources to a peer UE, or the peer UE may allocate radio resources to the UE. In some embodiments, information about the target code rate may be provided by the BS that allocates the radio resources, or the information may be provided by the UE to the peer UE.
[0300] The examples of the present disclosure described above have been presented to enable those skilled in the art to implement and practice the present disclosure. Although the present disclosure has been described with reference to examples, those skilled in the art may make various modifications and variations in the examples of the present disclosure. Therefore, the present disclosure is not intended to be limited to the examples set forth herein, but rather to be accorded the widest scope consistent with the principles and features disclosed herein.
[0301] Industrial Applicability
[0302] Implementations of the present disclosure may be used in a BS, a UE, or other devices in a wireless communication system.
Claims
1. A method for encoding an information block for transmission by a communication device in a wireless communication system, the method comprising: generating the information block of size K; Determining a bit sequence of size N by encoding the information block based on a polar code of size N; selecting k bit positions from among N bit positions in the bit sequence based on a predetermined puncturing pattern; selecting, based on a predetermined spreading pattern, k intermediate bit values from among intermediate bit values generated during encoding of the information block based on the polar code of size N; generating a codeword of size N by replacing bit values at the k bit positions in the bit sequence with the k intermediate bit values; performing rate matching on the codeword based on radio resources allocated for transmission of the codeword and a target code rate; and The rate-matched codeword is transmitted over a physical channel using the radio resources.
2. The method according to claim 1, wherein The predetermined puncturing pattern is one of a plurality of different puncturing patterns predetermined for a plurality of polar codes having at least different K or N values, and The plurality of different puncture patterns are predetermined such that shorter puncture patterns are a subset of longer puncture patterns.
3. The method according to claim 1, wherein The predetermined spreading pattern is one of a plurality of different spreading patterns predetermined for a plurality of polar codes having at least different K or N values, and The plurality of different extension patterns are predetermined such that shorter extension patterns are subsets of longer extension patterns.
4. A communication device configured to encode an information block for transmission in a wireless communication system, the communication device comprising: at least one transceiver; at least one processor; as well as at least one computer memory operatively connected to the at least one processor and storing instructions that, when executed, cause the at least one processor to perform operations comprising: generating the information block of size K; Determining a bit sequence of size N by encoding the information block based on a polar code of size N; selecting k bit positions from among N bit positions in the bit sequence based on a predetermined puncturing pattern; selecting, based on a predetermined spreading pattern, k intermediate bit values from among intermediate bit values generated during encoding of the information block based on the polar code of size N; generating a codeword of size N by replacing bit values at the k bit positions in the bit sequence with the k intermediate bit values; performing rate matching on the codeword based on radio resources allocated for transmission of the codeword and a target code rate; and The rate-matched codeword is transmitted over a physical channel using the radio resources.
5. A processing device in a wireless communication system, the processing device comprising: at least one processor; as well as at least one computer memory operatively connected to the at least one processor and storing instructions that, when executed, cause the at least one processor to perform operations comprising: Generate an information block of size K; Determining a bit sequence of size N by encoding the information block based on a polar code of size N; selecting k bit positions from among N bit positions in the bit sequence based on a predetermined puncturing pattern; selecting, based on a predetermined spreading pattern, k intermediate bit values from among intermediate bit values generated during encoding of the information block based on the polar code of size N; generating a codeword of size N by replacing bit values at the k bit positions in the bit sequence with the k intermediate bit values; performing rate matching on the codeword based on radio resources allocated for transmission of the codeword and a target code rate; and The rate-matched codeword is transmitted over a physical channel using the radio resources.
6. A computer-readable non-volatile storage medium configured to store at least one program code, the program code comprising instructions that, when executed, cause at least one processor to perform operations comprising: Generate an information block of size K; Determining a bit sequence of size N by encoding the information block based on a polar code of size N; selecting k bit positions from among N bit positions in the bit sequence based on a predetermined puncturing pattern; selecting, based on a predetermined spreading pattern, k intermediate bit values from among intermediate bit values generated during encoding of the information block based on the polar code of size N; as well as A codeword of size N is generated by replacing the bit values at the k bit positions in the bit sequence with the k intermediate bit values.
7. A method for decoding an encoded information block by a communication device in a wireless communication system, the method comprising: receiving the encoded information block; as well as Determining an information block of size K by decoding the encoded information block based on a polar code of size N, a predetermined puncturing pattern, and a predetermined spreading pattern, The predetermined puncturing pattern is used to select k bit positions from N bit positions in a bit sequence of size N generated based on the polar code of size N and the information block of size K, wherein the predetermined spreading pattern is used to select k intermediate bit values from among intermediate bit values generated during encoding of the information block of size N into the bit sequence, wherein the coded information block is obtained by generating a codeword by replacing the bit values at the k bit positions in the bit sequence with the k intermediate bit values, wherein the coded information block is received through a physical channel using radio resources allocated for reception of the coded information block; and The encoded information block includes a codeword that is rate-matched based on the radio resources and a target code rate.
8. A communication device configured to decode an encoded information block in a wireless communication system, the communication device comprising: at least one transceiver; at least one processor; as well as at least one computer memory operatively connected to the at least one processor and storing instructions that, when executed, cause the at least one processor to perform operations comprising: receiving the encoded information block; and Determining an information block of size K by decoding the encoded information block based on a polar code of size N, a predetermined puncturing pattern, and a predetermined spreading pattern, The predetermined puncturing pattern is used to select k bit positions from N bit positions in a bit sequence of size N generated based on the polar code of size N and the information block of size K, wherein the predetermined spreading pattern is used to select k intermediate bit values from among intermediate bit values generated during encoding of the information block of size N into the bit sequence, wherein the coded information block is obtained by generating a codeword by replacing the bit values at the k bit positions in the bit sequence with the k intermediate bit values, wherein the coded information block is received through a physical channel using radio resources allocated for reception of the coded information block; and The encoded information block includes a codeword that is rate-matched based on the radio resources and a target code rate.
