WO2025170367A1 - 기기에 의해 수행되는 방법, 기기 및 저장 매체 - Google Patents
기기에 의해 수행되는 방법, 기기 및 저장 매체Info
- Publication number
- WO2025170367A1 WO2025170367A1 PCT/KR2025/001847 KR2025001847W WO2025170367A1 WO 2025170367 A1 WO2025170367 A1 WO 2025170367A1 KR 2025001847 W KR2025001847 W KR 2025001847W WO 2025170367 A1 WO2025170367 A1 WO 2025170367A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- matrix
- codeword
- size
- global
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
Definitions
- This specification relates to wireless communication systems.
- M2M machine-to-machine
- MTC machine-type communication
- tablet PCs personal computers
- eMBB enhanced mobile broadband
- RAT legacy radio access technology
- massive machine type communication which connects multiple devices and objects to provide diverse services anytime, anywhere, is a key issue to be considered in next-generation communications.
- the predetermined column index sequence may be based on the number of decoding iterations required to determine bit values for each of the bits corresponding to the N columns of B G .
- the predetermined column index sequence may be identical to a sequence obtained by sorting the N column indices of B G in ascending or descending order of the number of iterations, starting from the column index of the column with the fewest number of decoding iterations required to determine the corresponding bit value.
- wireless communication signals can be transmitted and received efficiently. Consequently, the overall throughput of a wireless communication system can be increased.
- Some implementations of this specification can reduce the probability of errors occurring during the transmission of transport blocks.
- the receiver can efficiently recover the portion in which the error occurred.
- the design complexity of GC LDPC codes for different transport block sizes or different numbers of code blocks can be reduced.
- a GC LDPC code with excellent error correction performance can be obtained.
- FIG. 2 is a block diagram illustrating examples of communication devices capable of performing a method according to the present specification
- Fig. 7 illustrates the parity check matrix H of an LDPC code and the corresponding Tanner graph
- Figure 21 illustrates the structure of a codeword obtained by concatenating local codewords
- Figure 27 is an example of a base matrix for local codewords that may be used in some implementations of the present specification.
- Figure 28 illustrates a 3-by-3 elementary matrix represented as an integer grid
- FIG. 29 is an example of a basic matrix of a global part according to some implementations of this specification.
- FIG 30 illustrates the amount of mutual information (MI) per variable node obtained according to the P-EXIT chart analysis for the variable nodes of the basic matrix illustrated in Figure 27;
- FIG. 31 is another example of a basic matrix of a global part according to some implementations of the present specification.
- FIG. 32 is another example of a basic matrix of a global part according to some implementations of this specification.
- Figure 33 is an example of a matrix obtained by expanding the basic matrix of the global family part
- Figures 34 to 36 illustrate parity check matrices obtained by extending the basic matrices of Figures 29, 31 and 32 for the global part, respectively;
- Figure 37 illustrates the performance evaluation results of GC LDPC codes according to some implementations of the present specification
- FIG. 38 illustrates a channel encoding process according to some implementations of the present specification
- Figure 39 illustrates a channel decoding process according to some implementations of the present specification.
- CDMA code division multiple access
- FDMA frequency division multiple access
- TDMA time division multiple access
- OFDMA orthogonal frequency division multiple access
- SC-FDMA single carrier frequency division multiple access
- MC-FDMA multi-carrier frequency division multiple access
- CDMA can be implemented in wireless technologies such as Universal Terrestrial Radio Access (UTRA) or CDMA2000.
- TDMA can be implemented in wireless technologies such as Global System for Mobile communication (GSM), General Packet Radio Service (GPRS), and Enhanced Data Rates for GSM Evolution (EDGE) (i.e., GERAN).
- GSM Global System for Mobile communication
- GPRS General Packet Radio Service
- EDGE Enhanced Data Rates for GSM Evolution
- OFDMA can be implemented in wireless technologies such as IEEE (Institute of Electrical and Electronics Engineers) 802.11 (WiFi), IEEE 802.16 (WiMAX), IEEE802-20, and E-UTRA (evolved-UTRA).
- UTRA is part of UMTS (Universal Mobile Telecommunication System)
- 3GPP (3rd Generation Partnership Project) LTE (Long Term Evolution) is a part of E-UMTS that uses E-UTRA.
- 3GPP LTE adopts OFDMA in the downlink (DL) and SC-FDMA in the uplink (UL).
- LTE-A LTE-advanced
- LTE-A LTE-advanced
- 3GPP-based communication systems such as LTE and NR.
- LTE and NR 3GPP-based communication systems
- the technical features of this specification are not limited to this.
- the detailed description below is based on a mobile communication system corresponding to a 3GPP LTE/NR system, it can also be applied to any other mobile communication system, except for features specific to 3GPP LTE/NR.
- 3GPP-based standard documents such as 3GPP TS 36.211, 3GPP TS 36.212, 3GPP TS 36.213, 3GPP TS 36.321, 3GPP TS 36.300 and 3GPP TS 36.331, 3GPP TS 37.213, 3GPP TS 38.211, 3GPP TS 38.212, 3GPP TS 38.213, 3GPP TS 38.214, 3GPP TS 38.300, 3GPP TS 38.331, etc.
- UE may be fixed or mobile, and includes various devices that communicate with a BS (base station) to transmit and/or receive user data and/or various control information.
- UE may be called (Terminal Equipment), MS (Mobile Station), MT (Mobile Terminal), UT (User Terminal), SS (Subscribe Station), wireless device, PDA (Personal Digital Assistant), wireless modem, handheld device, etc.
- BS generally refers to a fixed station that communicates with UE and/or other BS, and exchanges various data and control information with UE and other BS.
- a node refers to a fixed point that can transmit/receive radio signals by communicating with a UE.
- Various types of BSs can be used as nodes regardless of their names.
- BSs, NBs, eNBs, pico-cell eNBs (PeNBs), home eNBs (HeNBs), relays, and repeaters can be nodes.
- a node may not be a BS.
- it can be a radio remote head (RRH) or a radio remote unit (RRU).
- RRHs, RRUs, etc. generally have a lower power level than the BS.
- RRH/RRU Since an RRH or RRU (hereinafter referred to as RRH/RRU) is generally connected to a BS via a dedicated line such as an optical cable, cooperative communication between an RRH/RRU and a BS can be performed more smoothly than cooperative communication between BSs that are generally connected via a wireless line.
- Each node is equipped with at least one antenna.
- the antenna may be a physical antenna, an antenna port, a virtual antenna, or an antenna group.
- a node is also called a point.
- a cell refers to a certain geographical area where one or more nodes provide communication services. Therefore, in this specification, communicating with a specific cell may mean communicating with a BS or node that provides communication services to the specific cell.
- the downlink/uplink signal of a specific cell refers to a downlink/uplink signal from/to a BS or node that provides communication services to the specific cell.
- a cell that provides uplink/downlink communication services to a UE is specifically referred to as a serving cell.
- the channel state/quality of a specific cell refers to the channel state/quality of a channel or communication link formed between a BS or node that provides communication services to the specific cell and the UE.
- a UE can measure a downlink channel state from a specific node using CRS (Cell-specific Reference Signal) resources transmitted by antenna port(s) of the specific node on CRS resources allocated to the specific node and/or CSI-RS (Channel State Information Reference Signal) resources transmitted.
- CRS Cell-specific Reference Signal
- CSI-RS Channel State Information Reference Signal
- 3GPP-based communication systems use the concept of cells to manage radio resources, and cells associated with radio resources are distinguished from cells in geographical areas.
- a "cell” in a geographical area can be understood as the coverage over which a node can provide a service using a carrier, and a "cell” in a radio resource is associated with a bandwidth (BW), which is a frequency range configured by the carrier. Since downlink coverage, which is the range over which a node can transmit a valid signal, and uplink coverage, which is the range over which a node can receive a valid signal from a UE, depend on the carrier carrying the signal, the coverage of a node is also associated with the coverage of the "cell" of the radio resource used by the node. Therefore, the term "cell” can sometimes be used to mean the coverage of a service provided by a node, sometimes a radio resource, and sometimes the range over which a signal using the radio resource can reach with a valid intensity.
- BW bandwidth
- a "cell” associated with radio resources is defined as a combination of downlink resources (DL resources) and uplink resources (UL resources), i.e., a combination of a DL component carrier (CC) and an UL CC.
- DL resources downlink resources
- UL resources uplink resources
- a cell can be configured with DL resources alone or a combination of DL resources and UL resources.
- the linkage between the carrier frequency of the DL resources (or DL CC) and the carrier frequency of the UL resources (or UL CC) can be indicated by system information.
- SIB2 System Information Block Type 2
- the carrier frequency can be the same as or different from the center frequency of each cell or CC.
- CA carrier aggregation
- the UE has only one radio resource control (RRC) connection with the network.
- RRC radio resource control
- One serving cell provides non-access stratum (NAS) mobility information during RRC connection establishment/re-establishment/handover, and one serving cell provides security input during RRC connection re-establishment/handover.
- NAS non-access stratum
- Pcell primary cell
- a Pcell is a cell operating on the primary frequency where the UE performs the initial connection establishment procedure or initiates the connection re-establishment procedure.
- Scells secondary cells
- a Scell can be established after an RRC (Radio Resource Control) connection is established, and is a cell that provides additional radio resources beyond the resources of a special cell (SpCell).
- the carrier corresponding to a Pcell in downlink is called a downlink primary CC (DL PCC)
- the carrier corresponding to a Pcell in uplink is called an UL primary CC (DL PCC)
- the carrier corresponding to an Scell in downlink is called a DL secondary CC (DL SCC)
- UL SCC UL secondary CC
- SpCell refers to a Pcell of a master cell group (MCG) or a Pcell of a secondary cell group (SCG).
- MCG master cell group
- SCG secondary cell group
- An MCG is a group of serving cells associated with a master node (e.g., BS) and consists of a SpCell (Pcell) and optionally one or more Scells.
- a master node e.g., BS
- Pcell SpCell
- SCG is a subset of serving cells associated with a secondary node and consists of a PSCell and zero or more Scells.
- a PSCell is the primary Scell of an SCG.
- An Scell indicated as a PUCCH Scell belongs to an Scell PUCCH group, and PUCCH transmission of the relevant UCI is performed on the PUCCH Scell, and an Scell where a PUCCH Scell is not indicated or is a Pcell indicated as a cell for PUCCH transmission, belongs to a Pcell PUCCH group, and PUCCH transmission of the relevant UCI is performed on the Pcell.
- 3GPP-based communication standards define downlink physical channels corresponding to resource elements that carry information originating from higher layers, and downlink physical signals corresponding to resource elements that are used by the physical layer but do not carry information originating from higher layers.
- the physical downlink shared channel (PDSCH), physical broadcast channel (PBCH), and physical downlink control channel (PDCCH) are defined as downlink physical channels
- reference signals and synchronization signals are defined as downlink physical signals.
- a reference signal (RS) also referred to as a pilot, refers to a signal with a predefined special waveform that is known to the BS and UE.
- DMRS demodulation reference signal
- CSI-RS channel state information RS
- next-generation RATs that take advanced mobile broadband communication, massive MTC, and URLLC (Ultra-Reliable and Low Latency Communication) into account is currently under discussion.
- 3GPP is currently conducting studies on next-generation mobile communication systems beyond EPC. For convenience, this technology is referred to as new RAT (NR) or 5G RAT, and a system that uses or supports NR is referred to as an NR system.
- NR new RAT
- 5G RAT 5G RAT
- FIG. 1 illustrates an example of a communication system 1 to which implementations of the present specification are applied.
- the communication system (1) applied to the present specification includes a wireless device, a BS, and a network.
- the wireless device refers to a device that performs communication using a wireless access technology (e.g., 5G NR (New RAT), LTE (e.g., E-UTRA)) and may be referred to as a communication/wireless/5G device.
- 5G NR New RAT
- LTE e.g., E-UTRA
- the wireless device may include a robot (100a), a vehicle (100b-1, 100b-2), an XR (eXtended Reality) device (100c), a hand-held device (100d), a home appliance (100e), an IoT (Internet of Things) device (100f), and an AI device/server (400).
- the vehicle may include a vehicle equipped with a wireless communication function, an autonomous vehicle, a vehicle capable of performing vehicle-to-vehicle communication, etc.
- the vehicle may include an Unmanned Aerial Vehicle (UAV) (e.g., a drone).
- UAV Unmanned Aerial Vehicle
- Wireless devices (100a to 100f) can be connected to a network (300) via a BS (200). Artificial Intelligence (AI) technology can be applied to the wireless devices (100a to 100f), and the wireless devices (100a to 100f) can be connected to an AI server (400) via the network (300).
- the network (300) can be configured using a 3G network, a 4G (e.g., LTE) network, a 5G (e.g., NR) network, etc.
- the wireless devices (100a to 100f) can communicate with each other via the BS (200)/network (300), but can also communicate directly (e.g., sidelink communication) without going through the BS/network.
- vehicles can communicate directly (e.g., V2V (Vehicle to Vehicle)/V2X (Vehicle to everything) communication).
- IoT devices e.g., sensors
- IoT devices can communicate directly with other IoT devices (e.g., sensors) or other wireless devices (100a to 100f).
- various configuration information setting processes for transmitting/receiving wireless signals various signal processing processes (e.g., channel encoding/decoding, modulation/demodulation, resource mapping/demapping, etc.), and resource allocation processes can be performed based on various proposals of this specification.
- various signal processing processes e.g., channel encoding/decoding, modulation/demodulation, resource mapping/demapping, etc.
- resource allocation processes can be performed based on various proposals of this specification.
- FIG. 2 is a block diagram illustrating examples of communication devices capable of performing a method according to the present specification.
- a first wireless device (100) and a second wireless device (200) can transmit and/or receive wireless signals via various wireless access technologies (e.g., LTE, NR).
- ⁇ the first wireless device (100), the second wireless device (200) ⁇ can correspond to ⁇ the wireless device (100x), the BS (200) ⁇ and/or ⁇ the wireless device (100x), the wireless device (100x) ⁇ of FIG. 1.
- a first wireless device (100) includes 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) controls the memories (104) and/or the transceivers (106), and may be configured to implement functions, procedures, and/or methods described/suggested below.
- the processor (102) may process information in the memory (104) to generate first information/signals, and then transmit a wireless signal including the first information/signals via the transceivers (106).
- the processor (102) may receive a wireless signal including second information/signals via the transceivers (106), and then store information obtained from signal processing of 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 perform some or all of the processes controlled by the processor (102), or may store software code including commands for performing the procedures and/or methods described/proposed below.
- the processor (102) and the memory (104) may be part of a communication modem/circuit/chip designed to implement wireless communication technology (e.g., LTE, NR).
- the transceiver (106) may be connected to the processor (102) and may transmit and/or receive wireless signals via one or more antennas (108).
- the transceiver (106) may include a transmitter and/or a receiver.
- the transceiver (106) may be used interchangeably with an RF (Radio Frequency) unit.
- a wireless device may also mean a communication modem/circuit/chip.
- the second wireless device (200) includes one or more processors (202), one or more memories (204), and may further include one or more transceivers (206) and/or one or more antennas (208).
- the processor (202) controls the memories (204) and/or the transceivers (206), and may be configured to implement the functions, procedures, and/or methods described/suggested below.
- the processor (202) may process information in the memory (204) to generate third information/signals, and then transmit a wireless signal including the third information/signals via the transceivers (206).
- the processor (202) may receive a wireless signal including fourth information/signals via the transceivers (206), and then store information obtained from signal processing of 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 perform some or all of the processes controlled by the processor (202), or may store software code including commands for performing the procedures and/or methods described/proposed below.
- the processor (202) and the memory (204) may be part of a communication modem/circuit/chip designed to implement wireless communication technology (e.g., LTE, NR).
- the transceiver (206) may be connected to the processor (202) and may transmit and/or receive wireless signals via one or more antennas (208).
- the transceiver (206) may include a transmitter and/or a receiver.
- the transceiver (206) may be used interchangeably with an RF unit.
- a wireless device may also mean a communication modem/circuit/chip.
- the wireless communication technology implemented in the wireless device (100, 200) of the present specification may include not only LTE, NR, and 6G, but also Narrowband Internet of Things for low-power communication.
- NB-IoT technology may be an example of LPWAN (Low Power Wide Area Network) technology, and may be implemented with standards such as LTE Cat NB1 and/or LTE Cat NB2, and is not limited to the above-described names.
- the wireless communication technology implemented in the wireless device (XXX, YYY) of the present specification may perform communication based on LTE-M technology.
- LTE-M technology may be an example of LPWAN technology, and may be called by various names such as eMTC (enhanced Machine Type Communication).
- LTE-M technology can be implemented by at least one of various standards such as 1) LTE CAT 0, 2) LTE Cat M1, 3) LTE Cat M2, 4) LTE non-BL (non-Bandwidth Limited), 5) LTE-MTC, 6) LTE Machine Type Communication, and/or 7) LTE M, and is not limited to the above-described names.
- the wireless communication technology implemented in the wireless device (XXX, YYY) of the present specification can include at least one of ZigBee, Bluetooth, and Low Power Wide Area Network (LPWAN) considering low-power communication, and is not limited to the above-described names.
- ZigBee technology can create PAN (personal area networks) related to small/low-power digital communication based on various standards such as IEEE 802.15.4, and can be called by various names.
- one or more protocol layers may be implemented by one or more processors (102, 202).
- one or more processors (102, 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).
- 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).
- PHY physical
- MAC medium access control
- RLC radio link control
- PDCP packet data convergence protocol
- RRC radio resource control
- SDAP service data adaptation protocol
- One or more processors (102, 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 this specification.
- One or more processors (102, 202) may generate messages, control information, data or information according to the functions, procedures, proposals and/or methods disclosed in this specification.
- One or more processors (102, 202) may generate signals (e.g., baseband signals) including PDUs, SDUs, messages, control information, data or information according to the functions, procedures, proposals and/or methods disclosed in this specification, and provide the signals to one or more transceivers (106, 206).
- One or more processors (102, 202) may receive signals (e.g., baseband signals) from one or more transceivers (106, 206) and obtain PDUs, SDUs, messages, control information, data or information according to the functions, procedures, proposals and/or methods disclosed in this specification.
- signals e.g., baseband signals
- transceivers e.g., baseband signals
- One or more processors (102, 202) may be referred to as a controller, a microcontroller, a microprocessor, or a microcomputer.
- One or more processors (102, 202) may be implemented by hardware, firmware, software, or a combination thereof.
- ASICs Application Specific Integrated Circuits
- DSPs Digital Signal Processors
- DSPDs Digital Signal Processing Devices
- PLDs Programmable Logic Devices
- FPGAs Field Programmable Gate Arrays
- the functions, procedures, proposals, and/or methods disclosed in this specification may be implemented using firmware or software, and the firmware or software may be implemented to include modules, procedures, functions, etc.
- Firmware or software configured to perform the functions, procedures, suggestions and/or methods disclosed in this specification may be included in one or more processors (102, 202) or stored in one or more memories (104, 204) and executed by one or more processors (102, 202).
- the functions, procedures, suggestions and/or methods disclosed in this specification may be implemented using firmware or software in the form of codes, instructions and/or sets of instructions.
- One or more memories (104, 204) may be coupled to one or more processors (102, 202) and may store various forms of data, signals, messages, information, programs, codes, instructions, and/or commands.
- the one or more memories (104, 204) may be configured as ROM, RAM, EPROM, flash memory, hard drives, registers, cache memory, computer-readable storage media, and/or combinations thereof.
- the one or more memories (104, 204) may be located internally and/or externally to the one or more processors (102, 202). Additionally, the one or more memories (104, 204) may be coupled to the one or more processors (102, 202) via various technologies, such as wired or wireless connections.
- One or more transceivers (106, 206) may transmit user data, control information, wireless signals/channels, etc., as described in the methods and/or flowcharts of this specification, to one or more other devices.
- One or more transceivers (106, 206) may receive user data, control information, wireless signals/channels, etc., as described in the functions, procedures, proposals, methods and/or flowcharts of this specification, from one or more other devices.
- one or more transceivers (106, 206) may be coupled to one or more processors (102, 202) and may transmit and/or receive wireless signals.
- one or more processors (102, 202) may control one or more transceivers (106, 206) to transmit user data, control information, or wireless signals to one or more other devices. Additionally, one or more processors (102, 202) may control one or more transceivers (106, 206) to receive user data, control information, or wireless signals from one or more other devices.
- one or more transceivers (106, 206) may be coupled to one or more antennas (108, 208), and one or more transceivers (106, 206) may be configured to transmit and/or receive user data, control information, wireless signals/channels, or the like, as referred to in the functions, procedures, proposals, methods, and/or operational flowcharts disclosed in this specification, via one or more antennas (108, 208).
- one or more antennas may be multiple physical antennas or multiple logical antennas (e.g., antenna ports).
- One or more transceivers (106, 206) may convert received user data, control information, wireless signals/channels, etc.
- One or more transceivers (106, 206) may convert processed user data, control information, wireless signals/channels, etc. from baseband signals to RF band signals using one or more processors (102, 202).
- one or more transceivers (106, 206) may include an (analog) oscillator and/or a filter.
- At least one memory can store instructions or programs that, when executed, cause at least one processor operably connected to the at least one memory to perform operations according to some embodiments or implementations of the present specification.
- a computer-readable (non-transitory) storage medium can store at least one instruction or computer program, which when executed by at least one processor causes the at least one processor to perform operations according to some embodiments or implementations of this specification.
- 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, which, when executed, 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 specification.
- a computer program may be stored in at least one computer-readable (non-transitory) storage medium and may include program code that, when executed, performs operations according to some implementations of the present specification or causes at least one processor to perform operations according to some implementations of the present specification.
- 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-transitory) storage medium.
- a communications device of the present specification comprises at least one processor; and at least one computer memory operably connected to said at least one processor and storing instructions that, when executed, cause said at least one processor to perform operations according to the example(s) of the present specification described below.
- Figure 3 illustrates an example of a frame structure available in a 3GPP-based wireless communication system.
- the structure of the frame in Fig. 3 is only an example, and the number of subframes, the number of slots, and the number of symbols in the frame can be changed in various ways.
- OFDM numerology e.g., subcarrier spacing (SCS)
- SCS subcarrier spacing
- TTI transmission time interval
- the symbol may include an OFDM symbol (or a cyclic prefix - orthogonal frequency division multiplexing (CP-OFDM) symbol), an SC-FDMA symbol (or a discrete Fourier transform-spread-OFDM (DFT-s-OFDM) symbol).
- OFDM symbol or a cyclic prefix - orthogonal frequency division multiplexing (CP-OFDM) symbol
- SC-FDMA symbol or a discrete Fourier transform-spread-OFDM (DFT-s-OFDM) symbol.
- DFT-s-OFDM discrete Fourier transform-spread-OFDM
- uplink and downlink transmissions are organized into frames.
- Each half-frame consists of five subframes, and the duration T sf of a single subframe (SF) is 1 ms.
- the subframes are further divided into slots, and the number of slots within a subframe depends on the subcarrier spacing.
- Each slot consists of 14 or 12 OFDM symbols based on the cyclic prefix. For a normal cyclic prefix (CP), each slot consists of 14 OFDM symbols, and for an extended CP, each slot consists of 12 OFDM symbols.
- slots are numbered in increasing order within a subframe as n u s ⁇ ⁇ 0, ..., n subframe,u slot - 1 ⁇ and in increasing order within a frame as n u s,f ⁇ ⁇ 0, ..., n frame,u slot - 1 ⁇ .
- a slot contains multiple (e.g., 14 or 12) symbols in the time domain.
- a resource grid of N size,u grid,x * N RB sc subcarriers and N subframe,u symb OFDM symbols is defined, starting from a common resource block ( CRB ) N start,u grid indicated by higher - layer signaling (e.g., radio resource control (RRC) signaling).
- CRB common resource block
- RRC radio resource control
- N size ,u grid,x is the number of resource blocks (RBs) in the resource grid
- the subscript x is DL for downlink and UL for uplink.
- N RB sc is the number of subcarriers per RB, and in 3GPP-based wireless communication systems, N RB sc is typically 12.
- the carrier bandwidth N size,u grid for the subcarrier spacing configuration u is given to the UE by higher layer parameters (e.g., RRC parameters) from the network.
- 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 indicating the symbol position relative to a reference point in the time domain.
- an RB is defined by 12 consecutive subcarriers in the frequency domain.
- RBs can be classified into common resource blocks (CRBs) and physical resource blocks (PRBs).
- CRBs are numbered upwards from 0 in the frequency domain for a subcarrier spacing setting u .
- the center of subcarrier 0 of CRB 0 for a subcarrier spacing setting u coincides with 'point A', which is a common reference point for resource block grids.
- PRBs for a subcarrier spacing setting u are defined within a bandwidth part (BWP) and are numbered from 0 to N size,u BWP,i -1, where i is the number of the bandwidth part.
- BWP bandwidth part
- n u PRB n u CRB + N start,u BWP,i , where N start,u BWP,i is the common resource block where the bandwidth part starts relative to CRB 0.
- a BWP includes a plurality of contiguous RBs in the frequency domain.
- a BWP is a subset of contiguous CRBs defined for a given numerology u i within a BWP i on a given carrier.
- a carrier may include at most N (e.g., 5) BWPs.
- a UE may be configured to have one or more BWPs on a given component carrier. Data communication is performed through the activated BWPs, and only a predetermined number (e.g., 1) of BWPs configured for the UE can be activated on the corresponding carrier.
- a UE configured with carrier aggregation may be configured to use one or more cells. If the UE is configured to have multiple serving cells, the UE may be configured to have one or more cell groups. The UE may be configured to have multiple cell groups associated with different BSs. Alternatively, the UE may be configured to have multiple cell groups associated with a single BS. Each cell group of the UE consists of one or more serving cells, and each cell group includes a single PUCCH cell configured with PUCCH resources.
- the PUCCH cell may be a Pcell or an Scell configured as a PUCCH cell among the Scells of the corresponding cell group. Each serving cell of the UE belongs to one of the cell groups of the UE and does not belong to multiple cell groups.
- NR frequency bands are defined by two types of frequency ranges, FR1 and FR2, with FR2 also referred to as millimeter wave (mmW).
- FR1 and FR2 also referred to as millimeter wave (mmW).
- mmW millimeter wave
- Figure 4 illustrates a processing process on the transmission side for a transport block (TB).
- the transmitter encodes the information it sends using a forward error correction code before transmitting it.
- the receiver demodulates the received signal and then decodes the error correction code to restore the transmitted information. This decoding process corrects errors in the received signal caused by the wireless channel.
- Data arrives at the coding block in the form of up to two transport blocks per TTI per DL/UL cell.
- the following coding steps can be applied to each transport block in a DL/UL cell:
- transport blocks larger than a certain size are divided into multiple smaller data blocks for encoding. These smaller data blocks are called code blocks.
- Figure 5 illustrates an example of a transport block encoding process according to several scenarios.
- a TB CRC may be attached to a TB.
- the TB CRC may be used to confirm the TB during the decoding process. If the TB CRC attached TB is not larger than a predetermined size, the TB CRC attached TB is encoded by a (channel) encoder. If the TB CRC attached TB is larger than the predetermined size, the TB CRC attached TB may be divided into multiple code blocks (CBs). If the TB CRC attached TB is divided into multiple CBs, in some scenarios, CB CRCs may be attached to each CB. This may result in multiple CB CRC attached CBs.
- CBs code blocks
- the CB CRCs may be used to confirm the CBs during the decoding process by the receiver.
- Each of the above multiple CB CRC attached CBs can be encoded via a (channel) encoder.
- the CBs will generally have the same size, but due to the size limitation of the internal interleaver of the channel encoder, one of the multiple CBs may have a different size.
- the above multiple CB CRC attached CBs may be encoded in parallel via respective (channel) encoders, or may be encoded one by one via a single (channel) encoder.
- interleaving may be performed to reduce the impact of burst errors that occur when transmitting over a wireless channel after an error correction coding process is performed on a CB unit of a fixed interleaver size. Then, they are mapped to actual wireless resources and transmitted. Since the amount of wireless resources used in actual transmission is constant, rate matching must be performed on the encoded code blocks to match this. Rate matching is typically performed by puncturing or repetition.
- the amount of wireless resources e.g., the number of transmission bits that can be transmitted by the wireless resources
- the number of coded bit sequences i.e., the number of output bits of an encoder
- rate matching is performed to adjust the length of the coded bit sequence to match M. If M>N, all or part of the bits of the coded bit sequence are repeated so that the length of the rate-matched sequence becomes equal to M. If M ⁇ N, part of the bits of the coded bit sequence are punctured so that the length of the rate-matched sequence becomes equal to M, and the punctured bits are excluded from transmission.
- a transmitter encodes data to be transmitted using channel coding having a specific code rate, and then adjusts the code rate of the data to be transmitted through a rate matching process consisting of puncturing and repetition.
- the output bit sequence after rate matching and code block concatenation is modulated into modulation symbols through a modulator according to a modulation scheme.
- the modulation symbols are mapped to radio resources allocated by the base station and transmitted to the receiver through the radio resources.
- the decoding process of the channel code is the reverse process of the encoding process, and a decoder corresponding to each encoder of the transmitter is used in the decoding process performed at the receiver.
- the receiver performs decoding for each code block (CB), then forms a TB, and finally checks whether the TB CRC passes or fails.
- the CB CRC is used for fast decoding termination. For example, if the CB CRC fails, the receiver can generate a NACK without decoding other CBs.
- Figure 6 is a diagram illustrating the concept of the rate matching process.
- rate matching may be performed after channel coding.
- rate matching for coded bits may be defined per code block and may consist of sub-block interleaving, bit selection, and bit interleaving. For example, if the input bit sequence to rate matching is denoted as d 0 ,d 1 ,d 2 ,d 3 ,...,d N-1 , and the output bit sequence after rate matching is denoted as f 0 ,f 1 ,f 2 ,f 3 ,...,f E-1 , and the bits input to the sub-block interleavers are denoted as coded bits d 0 ,d 1 ,d 2 ,d 3 ,...,d N-1 , then the coded bits d 0 ,d 1 ,d 2 ,d 3 ,...,d N-1 may be divided into multiple sub-blocks.
- E may be a value determined based on the size of the radio resources scheduled for the corresponding transport block. It may be a predetermined or predefined length for the corresponding code block. If the bits output from the sub-block interleavers are denoted as y 0 , y 1 , y 2 , y 3 ,..., y N-1 , the bit sequence y 0 , y 1 , y 2 , y 3 ,..., y N-1 after sub-block interleaving is written to a circular buffer of length N.
- the coded bits d 0 , d 1 , d 2 , d 3 ,..., d N-1 are written to a circular buffer of length N.
- Bits of the rate-matching output sequence length E from the circular buffer are output as transmission bits.
- rate-matched outputs for different code blocks can be sequentially concatenated.
- Hybrid automatic request is a technology that combines forward error correction (FEC) and automatic repeat request (ARQ).
- FEC forward error correction
- ARQ automatic repeat request
- a transmitter transmits all or part of the encoded coded bits using FEC, and a receiver detects whether there are errors in the received data and transmits a HARQ-ACK signal indicating an acknowledgment (ACK) or negative ACK (NACK) of the received data to the transmitter. If the receiver determines that the received data is error-free or below a certain threshold, the transmitter transmits new data. On the other hand, if the receiver determines that the received data contains errors or exceeds a certain threshold, the transmitter retransmits the corresponding data block.
- FEC forward error correction
- ARQ automatic repeat request
- the receiver combines the retransmitted data block with a previously transmitted data block and decodes it again to detect errors. This operation can be repeated until no errors are detected or until a predetermined number of errors are detected.
- the combining methods for decoding retransmitted data blocks can be divided into the following two types.
- Chase combining For combining at the receiver, the transmitter retransmits coded bits identical to the initially transmitted coded bits. Chase combining can reduce the error probability through power gain during decoding of retransmitted data blocks.
- Incremental redundancy For combining at the receiver, the transmitter retransmits coded bits that are not identical to the coded bits that were initially transmitted. For example, the transmitter sends the redundancy that was not sent in the initial transmission to the receiver in the retransmission. Since the redundancy that was not sent in the previous transmission is sent in the retransmission, the redundancy of the previous transmission and the redundancy of the current transmission are combined to increase the redundancy, which has the effect of lowering the code rate. In other words, incremental redundancy can reduce the error probability through coding gain when decoding retransmitted data blocks. In general, since chase combining corresponds to the case where there is no incremental redundancy among incremental redundancies, chase combining can be interpreted as a special form of incremental redundancy.
- the receiver In HARQ operation, the receiver generates an ACK or NACK for received or scheduled packets and provides them to the transmitter.
- a transmitter that receives a NACK for a transmission can retransmit the requested packet.
- the bits read from the circular buffer and sent in each retransmission may differ depending on the transmission start position determined by the redundancy version (RV). Referring to Figure 6, there are multiple (e.g., four) RVs that define the positions of the starting points from which bits are read from the circular buffer.
- the circular buffer is a crucial component for rate matching and enables puncturing and/or repetition of coded bits.
- the coded bits or the output bits after sub-block interleaving of the coded bits are sequentially written to the circular buffer for the mother code.
- the number of coded bits is read sequentially from the starting point specified by the RV point within the circular buffer.
- LDPC low-density parity check
- MAC Wireless LAN Medium Access Control
- PHY Physical Layer
- 802.11ac Enhancements for Higher Throughput', March 2006.'
- DVD digital video broadcasting
- encoding is performed using a parity check matrix instead of a generator matrix.
- the parity check matrix of an LDPC code has a very small number of 1s, decoding is possible through iterative decoding even in very large block sizes, and when the block size becomes very large, it shows performance approaching Shannon's channel capacity limit like a turbo code.
- the number of 1s included in a row or column is called a weight.
- the LDPC code can be described by an (nk)*n parity check matrix H.
- the generator matrix G corresponding to the parity check matrix H can be obtained by the following mathematical formula.
- c is a codeword
- x are information bits.
- Figure 7 illustrates the parity check matrix H of an LDPC code and its corresponding Tanner graph.
- a parity check matrix is a binary matrix that defines the parity check equations of an LDPC code.
- a parity check matrix defining an LDPC code can be represented by a Tanner graph.
- the column vector of a parity check matrix is associated with a variable node, and the row vector of a parity check matrix is associated with a check node.
- the presence of '1' in the i-th row and j-th column of a parity check matrix means that the i-th check node is connected to the j-th variable node. For example, suppose there is the following parity check matrix (PCM) H.
- PCM parity check matrix
- the first row of the PCM H i.e., the first check node (CN) is connected to the first, second, third, and fourth variable nodes (VNs), the second CN is connected to the third, fourth, and sixth VNs, and the third CN is connected to the first, fourth, and fifth VNs.
- VNs variable nodes
- the Tanner graph is composed of i) VNs representing coded bits, ii) CNs representing parity check equations that the coded bits must satisfy, and iii) edges connecting the VNs and CNs.
- check nodes are conventionally expressed as rectangles, and variable nodes are expressed as circles.
- Properties of the PCM H such as row and column weights, are converted into node degrees in the Tanner graph.
- the sparsely distributed non-zero entries in the PCM H represent edges in the Tanner graph.
- the sparsity of the non-zero entries allows for efficient decoding of these codes using an iterative decoding algorithm known as the belief propagation (BP) algorithm.
- BP belief propagation
- Figure 8 is an example of a systematic codeword structure generated by encoding.
- the process of mapping message bits to valid codewords is called encoding.
- the generated codeword x may have the form shown in Fig. 8.
- Figures 9 and 10 illustrate the parity check matrix H of an LDPC code using a bipartite graph.
- a '1' in a row represents an edge connected to a check node in the bipartite graph
- a '1' in a column represents an edge connected to a variable node.
- Fig. 9(b) illustrates a portion of a bipartite graph corresponding to the parity check matrix illustrated in Fig. 9(a). Referring to Fig. 9(b), the nodes on the left side of the reciprocal graph represent variable nodes, and the nodes on the right side represent check nodes.
- Figure 10 illustrates another parity check matrix and the entire bipartite lines.
- the LDPC code reflected in the NR standard can be classified as a quasi-cyclic LDPC (QC-LDPC) code.
- the QC-LDPC code has a low encoding/decoding complexity and a structure that is advantageous for parallelization.
- the parity check matrix of the QC-LDPC code can be expressed as an m-by-n array of Z c -by-Z c circulant permutation matrices (CPMs).
- CPMs circulant permutation matrices
- the parity check matrix can be obtained by replacing each element in the model matrix or base graph (BG) (also called the base matrix or base code) with a Z c -by-Z c CPM or a Z c -by-Z c zero matrix.
- BG model matrix or base graph
- Fig. 11 illustrates circulant permutation matrices (CPMs).
- CPMs circulant permutation matrices
- Fig. 11 illustrates a 4 ⁇ 4 CPM.
- a is a circulant shift value, a non-negative integer, and is obtained by circulantly shifting an identity matrix I of size Z c ⁇ Z c to the right or left a times.
- the zero matrix is expressed as P ⁇ , but may be expressed differently depending on the definition in the system or standard.
- each element represents a cyclic shift value of the CPM or a zero matrix.
- Each element of the LDPC BG is 0 or 1, and each element of value 0 in the LDPC BG is replaced by a zero matrix 0 of size Z c ⁇ Z c , and each element of value 1 in the LDPC BG is replaced by a CPM I (P i,j ), where i and j are the row and column indices of the element, and I (P i,j ) is obtained by cyclically shifting the identity matrix I of size Z c -by-Z c to the right or left P i,j times.
- the value of V i,j can correspond to a cyclic shift value of the model matrix and may be predefined depending on the system in which the LDPC is used. For example, for 3GPP TS 38.212 Release 15, the values of V i,j are given by Table 5.3.2-2 and Table 5.3.2-3 of 3GPP TS 38.212 Release 15 according to the set index i LS and LDPC BG (see Section 5.3.2 of 3GPSS TS 38.212 Release 15).
- the BG introduced in the NR standard has the feature of a single parity extension to support low code rates.
- two BGs are defined, each having eight CPM values (i.e., cyclic shift values for the eight CPMs, respectively).
- BG1 is advantageous in terms of performance for large data block sizes
- BG2 is advantageous in terms of decoding latency for small data block sizes and low code rates.
- FIG. 13 is a diagram illustrating a criterion for selecting an LDPC base graph.
- a coding rate R i.e., code rate R
- MCS modulation and coding scheme
- LDPC BG2 is used; otherwise, LDPC BG1 is used, where A is the payload size, for example, the transport block size (TBS).
- TBS transport block size
- CPM sizes i.e., lifting sizes
- i ⁇ Z ⁇ S j
- the following table illustrates various sets of Z values obtained using this formula.
- a transport block (TB), which is transmission data, is a MAC PDU, and the transmitter appends, for example, a 24-bit CRC sequence to the TB and performs LDPC encoding.
- the TB with the CRC appended is segmented into multiple code blocks (CBs).
- CBs code blocks
- code block segmentation is performed if the size of the TB with the CRC appended exceeds 8448 bits
- code block segmentation is performed if the size of the TB with the CRC appended exceeds 3840 bits.
- B is the size of the TB with the CRC appended.
- K cb is 8448 for BG1, 3840 for BG2, and L is 24. If the number of CBs C > 1, a 24-bit CRC is appended to each CB, and then LDPC encoding is performed.
- bit sequence input for a given code block is denoted as c 0 ,c 1 ,c 2 ,c 3 ,...,c K-1
- bits after encoding are denoted as d 0 ,d 1 ,d 2 ,d 3 ,...,d N-1
- K is the number of bits to be encoded
- N is the number of bits after encoding:
- the parity check matrix H can be obtained by replacing each element of H BG with a Z c -by-Z c matrix as follows:
- Each element of value 1 in H BG is replaced by a cyclic permutation matrix I (P i,j ) of size Z c *Z c , where i and j are the row and column indices of the element, and I (P i,j ) is obtained by cyclically shifting the identity matrix I of size Z c -by-Z c to the right or left P i,j times.
- V i,j are given by Table 5.3.2-2 and Table 5.3.2-3 of 3GPP TS 38.212 Release 15 according to the set index i LS and LDPC BG (see Section 5.3.2 of 3GPSS TS 38.212 Release 15).
- transmission data bits are transmitted in the form of transport blocks (TBs). If a TB exceeds a certain size, it is divided into multiple code blocks (CBs), and the transmitter encodes and transmits each CB. In this case, to support higher data rates, the TBS increases, which increases the number of transmitted CBs.
- transmission parameters are set to satisfy a certain block error ratio (BLER) for TB transmission. As the number of CBs increases, the error requirements for each CB to satisfy the corresponding BLER also increase. Furthermore, because the entire TB must be retransmitted even if a specific CB fails, HARQ transmission efficiency decreases. To address this situation, the following transmission methods can be considered.
- the transmitter can improve HARQ transmission efficiency by selectively retransmitting only CBs where errors occurred. In this case, the HARQ ACK feedback overhead and the number of control signaling bits increase.
- CB BLER can be improved by having the transmitter perform inter-CB encoding and the receiver perform inter-CB decoding when a CB error occurs. This requires additional decoding, which increases complexity.
- Method 1 has been adopted in the 5G standard. Considering signaling overhead, Method 1 can also be applied by defining multiple CBs as code block groups (CBGs), thereby reducing signaling overhead.
- CBGs code block groups
- Method 2 is considered in some implementations of this specification described below.
- globally coupled LDPC codes may be used for inter-CB encoding.
- Fig. 14 is an example of the structure of a globally coupled LDPC (GC LDPC) code.
- Fig. 14 may be the structure of a base matrix or a parity check matrix of a GC LDPC code.
- Fig. 14(a) illustrates the structure of a base matrix or a parity check matrix of a GC LDPC
- Fig. 14(b) illustrates GC LDPC from the perspective of a Tanner graph representation.
- the construction of GC LDPC codes typically goes through two steps. In the first step, a base matrix (i.e., a base graph) is designed, and then each element of the base matrix is replaced with a CPM of size Z-by-Z or a zero matrix of size Z-by-Z.
- a base matrix i.e., a base graph
- GC LDPC codes are designed based on multiple constituent block LDPC codes (see the paper "Li, S. Lin, K. Abdel-Ghaffar, W. E. Ryan, and D. J. Costello, "Globally coupled LDPC codes," in Information Theory and Applications Workshop (ITA), Jan. 2016.”).
- GC LDPC codes are a novel extension of traditional LDPC codes by introducing global coupling between variable nodes to enhance error correction capability.
- the base matrix or parity check matrix of a GC LDPC code includes disjoint copies of the block LDPC codes, called local codes, and a global part that concatenates the base matrices or parity check matrices of all local codes into a single large matrix.
- the above local codes also called local LDPC codes, are connected only by global coupling check nodes, as illustrated in Fig. 14. These global check nodes provide diversity between codes during decoding, thereby improving the error correction performance of the constituent codes.
- the check nodes connect all variable nodes, providing high connectivity for each coded bit, which provides faster convergence of iterative decoding and improves error correction performance.
- the structure of GC LDPC codes provides high throughput transmission because disjoint local codes can facilitate parallel encoding and decoding.
- a local codeword may mean a codeword generated by a local code
- a global codeword may mean a codeword obtained by applying a global code according to some implementations of the present specification to a codeword obtained from local codewords (e.g., a codeword obtained by concatenating the local codewords).
- Figures 15 and 16 illustrate the error correction performance of GC LDPC codes.
- Figure 15 illustrates the performance as the number L of component codes (e.g., the number L of local codes) with a code rate of 0.5 varies
- Figure 16 compares the error rate performance of decoding for a single GC LDPC code and two-step decoding according to the code rate.
- the GC LDPC code can obtain an error rate performance gain as the number L of coupled constituent codes increases.
- the receiver For GC LDPC codes, the receiver first performs decoding on local codes, and if decoding of some local codes fails, decoding is performed on the entire code using global coupling check nodes. This allows the receiver to minimize decoding delay by minimizing the number of times global check nodes are utilized. In other words, for GC LDPC codes, the receiver can minimize delay and decoding complexity by decoding global codewords only when decoding of individual local codewords fails through two-stage decoding. Referring to Fig.
- Figure 17 illustrates the general structure of a parity check matrix of a GC LDPC code.
- a global-coupled (GC) LDPC code is a type of LDPC code that connects multiple local LDPC codes via global check node(s).
- global check node(s) are added, and the addition of global check node(s) can be considered equivalent to adding new row(s) from the perspective of a parity check matrix. Therefore, a general parity check matrix H GC of a GC LDPC code using n L local LDPC codes can have a structure illustrated in FIG. 17. Referring to FIG. 17, a matrix H local,i (where 1 ⁇ i ⁇ n L ) in H GC is a form that replicates the parity check matrix of a local LDPC code.
- the parity check matrix of the local LDPC code is replicated a total of n L times, and the n L replicates can be used as n L parity check matrices of the diagonal of the GC LDPC code.
- undefined parts e.g., parts indicated as blank
- Fig. 18 is an example of a parity check matrix of a GC LDPC code.
- the parity check matrix corresponding to H Global consists of one row. It is assumed that each element of the row generated for adding the global check node is randomly assigned a value of '0' or '1'. In the example of Fig.
- each of H local,1 and H local,2 has the same form as the matrix of Equation 3, and the matrix of Equation 3 is replicated twice, and the two copies are used as a total of two local LDPC codes.
- the last row used as the global parity check matrix is randomly generated.
- Fig. 19 illustrates a Tanner graph corresponding to the GC LDPC code of Fig. 18.
- the first, third, and fourth VNs are connected to a new CN (corresponding to the global parity check node of Fig. 19), and in the second local code, the second and third VNs are connected to the new VN.
- CN(s) are added through additional row(s) in addition to the rows of the local LDPC codes, and the connection(s) between CN(s) and VN(s) are not limited to the VN(s) of one local code, and connectivity with VNs of multiple local codes can be established.
- GC LDPC codes depend on the global coupling check part that connects the local codes, and the performance of GC LDPC codes depends on the optimization of the global coupling check part.
- the design methods proposed so far for the global coupling check part for GC LDPC codes have focused on optimizing the global coupling check part for a fixed TBS or a fixed number of local codes.
- the global coupling check part since the number of CBs and the number of local codes vary depending on the TBS, if the global coupling check part is defined for a fixed TBS or a fixed number of local codes, the global coupling check part must be defined or optimized for each TBS or number of local codes.
- the global parity check matrix H Global is optimized for a fixed n L , the number of local codes (or the number of code blocks to be transmitted/received at a single transmission/reception time, or the number of code blocks within a code block group) is not easily used in a flexible communication technology. Taking this into consideration, some implementations of the present specification for the global coupling check part of the GC LDPC code are described below.
- the global part of the global parity check matrix is designed to match the size of each local code. Therefore, some implementations of this specification can design or determine GC LDPC codes to accommodate a dynamic or diverse number of local codes. This can reduce the search space for connecting additional global check node(s) to variable node(s) of local codes as a block-level design.
- Fig. 20 illustrates a schematic structure of a GC LDPC code according to some implementations of the present specification.
- the part indicated as “Local Code” is the basic matrix or parity check matrix of the local codeword
- the part indicated as “Global part” is the basic matrix or parity check matrix of the global part corresponding to each local codeword.
- the part indicated as “Global parities” is a part that enables efficient encoding by the global parity check matrix as an additional parity variable node.
- global parity part is composed of an identity matrix.
- some implementations of this specification are not limited to the global parity matrix (e.g., the matrix in the part labeled "Global parities") being an identity matrix with each row or each column having weight 1, and some row(s) or column(s) may have weights greater than 1 (e.g., see the submatrix by the last 46 columns of Fig. 12(a) or the submatrix by the last 42 columns of Fig. 12(b)).
- global parities are generated by global parts that have a connection relationship with a plurality of local codes.
- the global parity part since the number of code blocks varies according to the TBS, it can be efficient to design the global parity part to be divided according to the length of the local code in terms of scalability of the number of code blocks. Referring to FIG. 20, for example, when the length of the local code is N and the length of the global parity is M G , the size of the matrix corresponding to the global part divided by the length of the local code is M G * N, and the size of the global parity matrix is M G * M G.
- n L be the number of CBs associated with one TB or the number of CBs in a CBG to be transmitted at one transmission time
- the number of local codes of the GC LDPC code used for channel encoding for each CB of the TB or CBG can be n L
- the n L local codes can correspond to the n L CBs respectively (respectively) or to the n L CRC additional CBs respectively (respectively).
- an input sequence of length n input to a channel encoder or an information sequence corresponding to a local PCM of length n is also referred to as an information block.
- n L local codes e.g., n L code blocks
- n GlobalPart global parts can be designed to have the same (parity) structure. In this case, since the number of global parts to be optimized is multiplied by 1/n GlobalPart , the global parity check matrix can be efficiently optimized and designed.
- n GlobalPart n L.
- all n L global parts can be designed to have the same (parity) structure. This design approach can reduce optimization complexity. Furthermore, this design approach can be applied to BG1 or BG2 according to the current NR standard, or to cases where the corresponding PCM is used as a local code.
- the global part and global parity part can be designed with a quasi-cyclic (QC) structure, and the following lifting method can be considered for the global part and global parity part with a QC structure.
- QC quasi-cyclic
- the design complexity can be reduced by using the same lifting method as the local code.
- the lifting method according to the current 5G standard e.g., lifting factor, number of cyclic shifts (e.g., cyclic shift values V i,j of CPM), etc.
- the lifting method according to the current 5G standard can be applied to the global part and/or global parity part, thereby reducing the PCM design complexity of the global part and/or global parity part.
- Performance can be improved by lifting methods that are not identical to the local code. For example, assuming that the PCM(s) of the local code are designed, if the PCM(s) of the global part and/or the global parity part are redesigned considering the PCM(s) of the local code, the performance of the GC LDPC code can be improved.
- Some implementations of the present specification described below e.g., identity matrix-based global part, strong node to strong node-based global part, weak node to strong node-based global part, etc.
- scaling factor e.g., 1, 0.8, 0.75, and 0.4
- BLER TB and BLER CB are the required BLER for TB and the required BLER for CB, respectively (respectively), and C is the number of CBs obtained from one TB.
- the transport block size can be determined based on the number of resource elements (REs) N RE within a physical resource block (PRB).
- the number of REs allocated for PDSCH within a PRB N ' RE can be calculated as follows.
- N PRB DMRS Number of REs for DM-RS per PRB in the scheduled duration
- N RE min(156, N ' RE )n PRB , where n PRB is the total number of allocated PRBs for the UE.
- a TB can be divided into C CB(s), and each of the multiple CRC-added CBs obtained by adding a CRC code to each CB can be encoded using an LDPC code according to the 5G standard.
- a single local parity check matrix can be used repeatedly for multiple CBs.
- Fig. 21 illustrates the structure of a codeword obtained by concatenating local codewords
- Fig. 22 illustrates the structure of a codeword obtained by adding global parity bits to the codeword of Fig. 21.
- n L C, which means the number of local codewords, and in Fig. 21, it is assumed that each block has a length equal to the length n of the (local) codeword (CW) after encoding.
- encoding is performed on the codeword obtained by concatenating local codewords to obtain global parity(s).
- m G global parity bit(s) are added, so that a codeword having the form of, for example, FIG. 22 can be obtained.
- the matrix corresponding to the global parity part may be constructed by an identity matrix, in which case a valid codeword by a GC LDPC code must satisfy the following.
- the additional parity check bit sequence is represented by p GC .
- H Global is a parity check matrix, and the matrix consisting of global parts and the matrix of the global parity part, which is the identity matrix, can be expressed as [ A I ].
- x can be a codeword obtained by concatenating local codewords (or codewords obtained by applying rate matching to local codewords).
- Figure 23 illustrates the structure of a parity check matrix for a global code within the GC LDPC structure illustrated in Figure 20.
- I may be an m G -by-m G identity matrix.
- the value of the i-th global parity check node after encoding is the sum of the information bits corresponding to the columns whose element values of the parity check matrix are '1' in the i -th row of the matrix A.
- h (0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1)
- the first sub-row vector h 1 [0, 0, 1, 1, 1] consisting of the first five elements
- the last element 1 is the global parity part.
- FIG. 24 is an example of a parity check matrix of a GC LDPC code according to some implementations of the present specification. Referring to FIG. 24, according to the first step described above, if two codewords, which are the results of two code blocks independently encoded by the local codes illustrated in FIG.
- p 2 (c 11 + c 13 + c 21 + c 23 ) mod 2
- the column(s) containing 1 for each row of the matrix of the global part can be determined using a P-EXIT chart.
- the elements containing 1 among the elements in the matrix of the global part can be determined using a P-EXIT chart.
- the P-EXIT chart is a tool used to quantitatively evaluate the convergence of a decoding algorithm by visualizing the iterative message passing process of a decoder (also known as the iterative decoding process).
- the P-EXIT chart can be used to track how the mutual information (MI) exchanged at each node (e.g., VN or CN) changes during iterative decoding in a protograph-based LDPC code.
- MI mutual information
- the conventional EXIT chart estimates the performance of an entire large ensemble of QC LDPC codes with specific column and row weights
- the P-EXIT chart simulates the mutual information transfer characteristics of a type specified for each node in the base matrix.
- the curve of the variable node (VN) side (VNP) and the curve of the check node (CN) side (CNP) are expressed as a function of I A and I E (I A , I E ) to check whether the decoding performance has converged.
- I A is the mutual information between the VN associated with the VNP and the VNP input (e.g., a priori information)
- I E is the mutual information between the VN associated with the VNP and the VNP output (extrinsic information).
- I A can represent how much the a priori information input to the VN is related to the actual coded bits
- I E can represent the quality of the information newly generated by the VN (e.g., how much more accurate information the VN provides after iterative decoding).
- the two curves do not overlap and gradually connect, forming a tunnel. If this tunnel exists, it indicates that decoding can converge through iterative decoding.
- SNR signal-to-noise ratio
- a parity check matrix can be generated using a protograph LDPC code.
- a protograph LDPC code is a design technique that generates a large LDPC code, such as a parity check matrix, by expanding (also called lifting) a relatively small "base graph” multiple times based on it.
- the LDPC code currently used in 3GPP 5G NR also defines a "base graph (BG)" that matches the concept of a protograph, and lifts it to form a large matrix used in actual transmission.
- BG base graph
- a very small bipartite graph consisting of variable node(s) and check node(s) is first established. Next, the bipartite graph goes through a lifting or expansion process.
- the size of the graph is increased by replicating one edge existing in the protograph by a lifting factor. This ultimately forms a graph that is larger than the protograph by a factor of expansion.
- a lifting factor e.g., the shortest cycle in the Tanner graph of an LDPC code
- various techniques such as cyclic shifts are used to optimize the structure of the graph and improve performance.
- Each element of the protograph is replaced with a locally cyclically shifted form of the identity matrix through lifting.
- the matrix indicating the number of cyclic shifts of the identity matrix corresponding to each element can be defined as an exponent matrix.
- the final parity check matrix can be completed by rearranging the connectivity of this extended large-scale graph in matrix form.
- the size of the basic graph is M ⁇ N and the lifting factor is Z
- the size of the parity check matrix obtained through lifting is (Z*M) ⁇ (Z*N)
- a codeword of length Z*N can be generated.
- the 1 in the first row and first column of the above basic matrix B is replaced with a 3-by-3 matrix obtained by cyclically shifting the 3-by-3 identity matrix by 0, which is the value of the first row and first column of the above exponential matrix E.
- Figures 25 and 26 illustrate the results of P-EXIT analysis for an example of a simple protograph LDPC code and the amount of mutual information for each variable node, respectively (respectively).
- Eb means energy per bit
- No means noise power.
- the integer value in each element of the basic matrix represents the weight of each column or each row of the Z-by-Z matrix corresponding to the element (e.g., the number of 1s in each row or each row). For example, since the element value of the first row and the first column of the basic matrix B is 2, among the Z elements in each row or each column of the Z-by-Z matrix that replaces the first row and the first element, there are 2 elements with 1.
- FIG. 27 is an example of a base matrix for a local codeword that may be used in some implementations of the present specification.
- the base matrix of FIG. 27 may be used as a base matrix corresponding to one local code in the parity check matrix illustrated in FIG. 20.
- some implementations of the present specification are described herein using a small-sized matrix as an example of the base matrix; however, LDPC base matrices or LDPC base graphs of different sizes and shapes may also be used for local codes.
- the global parity part indicated as "Global parities" is configured by an identity matrix
- the part to be designed in some implementations of the present specification may be one global part.
- the size of the basic matrix is 9X13.
- FIG. 29 is an example of a base matrix of a global part according to some implementations of the present specification.
- FIG. 29 is an example of a base matrix of a global part that can be used when the base matrix of FIG. 27 is used as a base matrix for a local codeword.
- the identity matrix-based fundamental matrix for the global part can be obtained by cyclically concatenating identity matrices of size M G -by-M G until the number of columns of the fundamental matrix becomes equal to the number of columns of the fundamental matrix of the local codeword.
- M G 3
- the identity matrix-based fundamental matrix for the global part can be, for example, as shown in FIG. 29 .
- the fundamental matrix of FIG. 29 is a matrix of size 3X13, and is designed to have rows corresponding to three global check nodes and a row length that matches the column length 13 of the fundamental matrix for the local codeword (e.g., the fundamental matrix illustrated in FIG. 27 ).
- Fig. 30 illustrates the amount of mutual information per variable node according to the P-EXIT chart analysis for the variable nodes of the basic matrix illustrated in Fig. 27.
- Fig. 30 illustrates the extent to which the amount of mutual information per variable node of the basic matrix increases through the P-EXIT chart analysis of the variable nodes of the basic matrix for an example of the basic matrix illustrated in Fig. 27.
- variable nodes of the basic matrix of the local code illustrated in Fig. 27 can be obtained.
- the rank of the degree of decoding convergence for each variable node can be determined. If the variable nodes 1 to 13 of the basic matrix illustrated in Fig. 27 are sorted in descending order of the positive MI from the variable node with the highest MI in the special number of iterations, the following variable node sequence or column index sequence can be obtained: ⁇ 5, 3, 6, 1, 2, 4, 11, 13, 9, 10, 12, 8, 7 ⁇ . Referring to the above variable node sequence ⁇ 5, 3, 6, 1, 2, 4, 11, 13, 9, 10, 12, 8, 7 ⁇ , the basic matrix illustrated in FIG. 27 can determine the bit value of variable node 5 with fewer decoding iterations than the bit value of variable node 7.
- variable node sequence or row index sequence used to determine the order of the strong variable nodes can be obtained by sorting the variable node indices or row indices in positive descending or ascending order of MI.
- the variable node sequence or row index sequence used to determine the order of the strong variable nodes can be obtained by sorting the variable node indices or row indices in positive descending or ascending order of the number of decoding iterations required to determine the bit value corresponding to the corresponding variable node or row.
- a GC LDPC structure that outperforms existing GC LDPC code structures that use a global parity check matrix composed of identity matrices can be obtained by connecting strong variable nodes to strong variable nodes to generate a base matrix or parity check matrix for the global part. Connecting strong variable nodes can perform better than connecting strong nodes to weak nodes.
- the reason for this performance improvement is as follows. Once a bit (e.g., a VN) is successfully decoded, information exchange through edges connected to the bit that have already been recovered in the Tanner graph is not actually performed during the decoding iteration. Therefore, the edge connected to the recovered bit can be considered to be effectively removed from the Tanner graph, and the node connected to the recovered bit can be advantageous for decoding because it is no longer connected during the remaining decoding process.
- variable nodes can be explained in terms of the base matrix.
- the floor ⁇ N/ M G ⁇ strongest variable nodes can be connected to each other, and the floor ⁇ N/M G ⁇ next strongest variable nodes can be connected to each other.
- Connecting the variable nodes can mean that the elements of the columns corresponding to the variable nodes in a row each have '1'. Since the parity check matrix is obtained by lifting the base matrix by the lifting factor, the variable nodes that are connected in the base matrix will also be connected in the parity check matrix.
- N is not an integer multiple of M G
- N - M G *floor ⁇ N/M G ⁇ > 0, and the problem is how to deal with the 'N - M G *floor ⁇ N/M G ⁇ ' weakest variable nodes. If N is not an integer multiple of M G , or if N - M G *floor ⁇ N/M G ⁇ > 0, then in some implementations, the 'N - M G *floor ⁇ N/M G ⁇ ' weakest variable nodes can remain unconnected to any other variable node.
- N is not an integer multiple of M G , or if N - M G *floor ⁇ N/M G ⁇ > 0, then in some implementations, the 'floor ⁇ N/M G ⁇ + N - M G *floor ⁇ N/M G ⁇ ' weakest variable nodes can be connected to each other.
- Figure 31 is another example of a basic matrix of a global part according to some implementations of this specification.
- variable nodes when connecting strong nodes to strong nodes according to some implementations of the present specification, based on the variable node sequence ⁇ 5, 3, 6, 1, 2, 4, 11, 13, 9, 10, 12, 8, 7 ⁇ described above, variable nodes ⁇ 5, 3, 6, 1 ⁇ can be connected to each other, variable nodes ⁇ 2, 4, 11, 13 ⁇ can be connected to each other, and variable nodes ⁇ 9, 10, 12, 8 ⁇ can be connected to each other.
- the weakest variable node 7 could remain unconnected to any other variable node.
- the weakest variable node 7 could be interconnected with the weak variable nodes ⁇ 9, 10, 12, 8 ⁇ .
- Figure 31 illustrates a case in which the strongest variable nodes ⁇ 5, 3, 6, 1 ⁇ are connected in the first row of the fundamental matrix of the global part, the next strongest variable nodes ⁇ 2, 4, 11, 13 ⁇ are connected in the second row of the fundamental matrix of the global part, and the weakest variable nodes ⁇ 9, 10, 12, 8 ⁇ are connected in the last row of the fundamental matrix of the global part.
- Fig. 32 is another example of a basic matrix of a global part according to some implementations of the present specification.
- Fig. 32 illustrates a basic matrix obtained by connecting weak variable nodes and strong variable nodes.
- weak node-strong node connection for example, referring to Fig. 32, among the 13 variable nodes of the basic matrix, variable nodes ⁇ 5, 3, 7, 8 ⁇ may be connected to each other, variable nodes ⁇ 6, 1, 12, 10 ⁇ may be connected to each other, and variable nodes ⁇ 2, 4, 9, 13 ⁇ may be connected to each other.
- the basic matrix of the global code can be converted to PCM through lifting, and global parity bits can be generated through encoding using the PCM for codewords obtained from local codewords corresponding to local codes (e.g., codewords obtained by concatenating local codewords).
- Transmission bits can be determined (through rate matching) based on the codewords and the global parity bits, and the transmission bits can be transmitted to a receiver through a wireless channel.
- Each element in the base matrix can be replaced by a Z-by-Z matrix through lifting.
- the Z-by-Z matrix that replaces each element through lifting can be a Z-by-Z zero matrix or a Z-by-Z circulant permutation matrix (CPM).
- CPM circulant permutation matrix
- Simulated annealing can be used as a method for obtaining CPMs associated with cyclic shifts for the basic matrices designed according to some implementations of the present specification described above (the basic matrix of FIG. 29, the basic matrix of FIG. 31, and/or the basic matrix of FIG. 32). It is known that performance degradation occurs when the shortest cycle in the Tanner graph of an LDPC code is 4. In order to avoid performance degradation in all implementations, it may be desirable to design an LDPC code with a girth of 6.
- the parity check matrix generated by the CPM value(s) determined through the SA technique has a girth (e.g., the shortest cycle in the Tanner graph of the LDPC code) of 6.
- the number of global check nodes in the aforementioned basic matrix of the global part is 3
- Figure 33 is an example of a matrix obtained by extending the basic matrix of the global parity part.
- the parity check matrix of the global parity part becomes a 99-by-99 matrix.
- FIGS. 34, 35, and 36 illustrate parity check matrices obtained by extending the basic matrices of FIGS. 29, 31, and 32 for the global part, respectively.
- the parity check matrices of FIGS. 34, 35, and 36 for the global part, respectively can be obtained.
- a parity check matrix of size 99-by-429 corresponding to the global part of the GC LDPC code can be obtained.
- FIG. 34 illustrates an identity matrix-based parity check matrix for the global part
- FIG. 35 illustrates a strong node-strong node connection-based parity check matrix for the global part according to some implementations of the present specification
- FIG. 36 illustrates a weak node-weak node connection-based parity check matrix for the global part according to some implementations of the present specification.
- Figure 37 illustrates the performance evaluation results of GC LDPC codes according to some implementations of the present specification.
- “Baseline” represents the performance by the identity matrix-based parity check matrix
- “StoS” represents the performance by the strong node-strong node connection-based parity check matrix
- “WtoS” represents the performance by the weak node-strong node connection-based parity check matrix.
- 10 codewords were used for one code block group, an additive white Gaussian noise (AWGN) channel, binary phase shift keying (BPSK) were assumed, and a two-stage decoder based on belief propagation (BP) decoder was used.
- AWGN additive white Gaussian noise
- BPSK binary phase shift keying
- BP belief propagation
- a CG LDPC code can be designed efficiently.
- a GC LDPC code having a scalable structure depending on the number of TBSs or CBs to be transmitted/received in one transmission occasion can be provided.
- a GC LDPC code capable of reducing a TB or CBG error rate can be provided.
- even if an error occurs in a TB, CB, or CBG error correction can be enabled, reducing the number of retransmissions and thus improving system throughput.
- Figure 38 illustrates a channel encoding process according to some implementations of this specification.
- a communications device or encoder may perform operations according to some implementations of the present disclosure in connection with channel encoding.
- the communications device may include at least one transceiver; at least one processor; and at least one computer memory operably connected to the at least one processor and storing instructions that, when executed, cause the at least one processor to perform operations according to some implementations of the present disclosure.
- a processing device for the communications device or encoder may include at least one processor; and at least one computer memory operably connected to the at least one processor and storing instructions that, when executed, cause the at least one processor to perform operations according to some implementations of the present disclosure.
- a computer-readable (non-transitory) storage medium may store at least one computer program comprising instructions that, when executed by at least one processor, cause the at least one processor to perform operations according to some implementations of the present disclosure.
- a computer program or computer program product may be recorded on at least one computer-readable (non-transitory) storage medium and may contain instructions that, when executed, cause (at least one processor) to perform operations according to some implementations of the present specification.
- the second matrix may have a structure according to some implementations of the present specification.
- Figure 39 illustrates a channel decoding process according to some implementations of the present specification.
- a communications device or decoder may perform operations according to some implementations of the present disclosure in connection with channel decoding.
- the communications device may include at least one transceiver; at least one processor; and at least one computer memory operably connected to the at least one processor and storing instructions that, when executed, cause the at least one processor to perform operations according to some implementations of the present disclosure.
- a processing device for the communications device or decoder may include at least one processor; and at least one computer memory operably connected to the at least one processor and storing instructions that, when executed, cause the at least one processor to perform operations according to some implementations of the present disclosure.
- a computer-readable (non-transitory) storage medium may store at least one computer program comprising instructions that, when executed by at least one processor, cause the at least one processor to perform operations according to some implementations of the present disclosure.
- a computer program or computer program product may be recorded on at least one computer-readable (non-transitory) storage medium and may contain instructions that, when executed, cause (at least one processor) to perform operations according to some implementations of the present specification.
- a method performed by the communication device, or in the communication device, the decoder, the processing device, the computer-readable (non-transitory) storage medium, and/or the computer program product may include: receiving coded bits associated with a second codeword (S3901); and performing decoding on the coded bits based on a first matrix and a second matrix to determine n L information blocks (S3903).
- the second codeword may be obtained through encoding based on the second matrix for the first codeword
- the first codeword may be obtained based on n L local codewords, each having a length n
- the n L local codewords may be obtained by encoding each of the n L information blocks based on the first matrix.
- the second matrix may have a structure according to some implementations of the present specification.
- P may be an identity matrix of size m G -by-m G.
- the N columns of B G may each include M G column sets, each including floor(N/M G ) columns based on a predetermined column index sequence, and each of the M G rows of B G may include an integer representing a Z-by-Z matrix that is not a Z-by-Z zero matrix in each column of a different column set among the M G column sets.
- each of the M G rows of B G may include an integer representing a Z-by-Z zero matrix in each of the remaining columns of the M G column sets excluding the corresponding column set.
- the predetermined column index sequence may be based on the number of decoding iterations required to determine bit values for each of the bits corresponding to the N columns of B G .
- the predetermined column index sequence may be identical to a sequence obtained by sorting the N column indices of B G in ascending or descending order of the number of iterations, starting from the column index of the column with the fewest number of decoding iterations required to determine the corresponding bit value.
- the n L information blocks may be n L code blocks obtained from transport blocks.
- the n L information blocks may be n L CRC additional code blocks obtained by adding a CRC code to each of the n L code blocks.
- encoding each of the n L information blocks based on a first matrix to determine n L local codewords, each of which has a length n may include: lifting the first matrix by a lifting factor Z to obtain a first PCM; and encoding each of the n L information blocks with the first PCM.
- Implementations of this specification may be used in wireless communication systems, base stations, user equipment, or other equipment.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
nL개 정보 블록들 각각을 제1 행렬을 기반으로 인코딩하여 nL개 로컬 코드워드들을 결정; 상기 nL개 로컬 코드워드들을 기반으로 길이 n*nL의 제1 코드워드를 획득; 및 상기 제1 코드워드를 제2 행렬을 기반으로 인코딩하여 길이 nG인 제2 코드워드를 결정하는 것을 포함할 수 있고, 여기서 nG = n*nL + mG이며, 상기 제2 행렬은 H Global = [ A P ]에 대응하고, 여기서 P 는 mG-by-mG의 행렬이며, A = [ A _1 A _2... A _nL]이며, A _1 = A _2 =... = A _nL = A G이고, A G는 mG-by-n의 행렬이다.
Description
본 명세는 무선 통신 시스템에 관한 것이다.
기기간(machine-to-machine, M2M) 통신, 기계 타입 통신(machine type communication, MTC) 등과, 높은 데이터 전송량을 요구하는 스마트 폰, 태블릿 PC(Personal Computer) 등의 다양한 기기 및 기술이 출현 및 보급되고 있다. 이에 따라, 셀룰러 망(cellular network)에서 처리될 것이 요구되는 데이터 양이 매우 빠르게 증가하고 있다. 이와 같이 빠르게 증가하는 데이터 처리 요구량을 만족시키기 위해, 더 많은 주파수 대역을 효율적으로 사용하기 위한 반송파 집성(carrier aggregation) 기술, 인지 무선(cognitive radio) 기술 등과, 한정된 주파수 내에서 전송되는 데이터 용량을 높이기 위한 다중 안테나 기술, 다중 BS 협력 기술 등이 발전하고 있다.
더 많은 통신 기기가 더 큰 통신 용량을 요구함에 따라, 레거시 무선 접속 기술(radio access technology, RAT)에 비해 향상된 모바일 광대역(enhanced mobile broadband, eMBB) 통신에 대한 필요성이 대두되고 있다. 또한, 복수의 기기 및 객체(object)를 서로 연결하여 언제 어디서나 다양한 서비스를 제공하기 위한 대규모 기계 타입 통신(massive machine type communication, mMTC)는 차세대 통신에서 고려해야 할 주요 쟁점 중 하나이다.
또한, 신뢰도 및 대기 시간에 민감한 서비스/사용자기기(user equipment, UE)를 고려하여 설계될 통신 시스템에 대한 논의가 진행 중이다. 차세대(next generation) 무선 접속 기술의 도입은 eMBB 통신, mMTC, 초 신뢰도 및 저 대기 시간 통신(ultra-reliable and low latency communication, URLLC) 등을 고려하여 논의되고 있다.
통신 기술의 발달에 따라 한 번에 전송되는 수송 블록의 크기가 점차 커질 것이 요구되고 있다. 큰 크기의 수송 블록의 전송 과정에서 오류가 발생할 경우, 전송 오류를 복구하기 위한 효율적인 방법 및 장치가 요구된다.
또한, 수송 블록의 오류율을 낮추기 위해 글로벌하게 커플된(globally coupled, GC) 저 밀도 패리티 검사(low density parity check, LDPC) 코드를 사용하는 것이 고려될 수 있는데, 상기 GC LDPC 코드를 통신에 적용하기 위해서는 통신 시스템에 적합한 GC LDPC 코드를 설계할 것이 요구된다.
또한, 수송 블록 혹은 코드 블록 그룹의 오류율을 감소시킬 수 있는 GC LDPC 코드를 설계할 것이 요구된다.
본 명세가 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 이하의 상세한 설명으로부터 본 명세와 관련된 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세의 일 양상으로, 기기에 의한 방법이 제공된다. 본 명세의 다른 양상으로, 적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서에 동작 가능하게 연결 가능한, 그리고, 실행될 때, 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하도록 하는 명령(instruction)들을 저장한, 적어도 하나의 컴퓨터 메모리를 포함하는, 기기가 제공된다. 본 명세의 또 다른 양상으로, 실행될 때 적어도 하나의 프로세서로 하여금 동작들을 수행하도록 하는 지시들을 포함하는 적어도 하나의 프로그램 코드를 저장하는, 컴퓨터 판독가능한 비일시성(non-transitory) 저장 매체가 제공된다. 상기 방법 또는 상기 동작들은: nL개 정보 블록들을 결정; 상기 nL개 정보 블록들 각각을 제1 행렬을 기반으로 인코딩하여 각각이 길이 n인 nL개 로컬 코드워드들을 획득; 상기 nL개 로컬 코드워드들을 기반으로 길이 n*nL인 제1 코드워드를 획득; 상기 제1 코드워드를 제2 행렬을 기반으로 인코딩하여 길이 nG인 제2 코드워드를 획득, 여기서 nG = n*nL + mG; 상기 제2 코드워드를 기반으로 전송될 코디드 비트들을 결정; 및 상기 코디드 비트들을 전송하는 것을 포함하고. 상기 제2 행렬은 크기 mG-by-nG의 패리티 검사 행렬 H
Global = [A P]와 관련되고, 여기서 P는 크기 mG-by-mG의 행렬이며, A = [A_1 A_2 ... A_nL]이며, A_1 = A_2 = ... = A_nL = A
G이고, A
G는 크기 mG-by-n의 행렬이다.
본 명세의 또 다른 양상으로, 기기에 의한 방법이 제공된다. 본 명세의 다른 양상으로, 적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서에 동작 가능하게 연결 가능한, 그리고, 실행될 때, 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하도록 하는 명령(instruction)들을 저장한, 적어도 하나의 컴퓨터 메모리를 포함하는, 기기가 제공된다. 본 명세의 또 다른 양상으로, 실행될 때 적어도 하나의 프로세서로 하여금 동작들을 수행하도록 하는 지시들을 포함하는 적어도 하나의 프로그램 코드를 저장하는, 컴퓨터 판독가능한 비일시성(non-transitory) 저장 매체가 제공된다. 상기 방법 또는 상기 동작들은: 제2 코드워드와 관련된 코디드 비트들을 수신; 및 상기 코디드 비트들에 대해 제1 행렬 및 제2 행렬을 기반으로 디코딩을 수행하여 nL개 정보 블록들을 결정하는 것을 포함하고, 상기 제2 코드워드는 제1 코드워드에 대한 상기 제2 행렬에 기반한 인코딩을 통해 얻어지고, 상기 제1 코드워드는 각각이 길이 n인 nL개 로컬 코드워드들을 기반으로 얻어지고, 상기 nL개 로컬 코드워드들은 상기 nL개 정보 블록들 각각을 상기 제1 행렬을 기반으로 인코딩하여 얻어지고, 상기 제2 행렬은 크기 mG-by-nG의 패리티 검사 행렬 H
Global = [A P]와 관련되고, 여기서 P는 크기 mG-by-mG의 행렬이며, A = [A_1 A_2 ... A_nL]이며, A_1 = A_2 = ... = A_nL = A
G이고, A
G는 크기 mG-by-n의 행렬이다.
본 명세의 각 양상에 있어서, P는 크기 mG-by-mG의 항등 행렬일 수 있다.
본 명세의 각 양상에 있어서, 상기 방법 또는 상기 동작들은: 상기 제2 행렬의 각 원소를 Z-by-Z 행렬로 대체하여 H
Global을 획득하는 것을 더 포함할 수 있고, 여기서 상기 제2 행렬은 크기 MG-by-NG의 행렬 B
Global = [B P
B]이며, 여기서 mG = Z*MG, nG = Z*NG이고, B = [B_1 B_2 ... B_nL]이고, B_1 = B_2 = ... = B_nL = B
G이고, B
G는 크기 크기 MG-by-N의 행렬이며, 여기서 n = Z*N이고, P
B는 크기 MG-by-MG의 대각 행렬이다.
본 명세의 각 양상에 있어서, P는 P
B의 대각선 내 각 원소를 Z-by-Z 항등 행렬로 대체하고 나머지 원소를 Z-by-Z 영 행렬로 대체하여 얻어질 수 있고, 여기서 mG = Z*MG이다.
본 명세의 각 양상에 있어서, B
G의 N개 열(column)들은 기결정된 열 인덱스 시퀀스(column sequence)에 기반하여 각각이 floor(N/MG)개 열들을 포함하는 MG개 열 세트들을 포함할 수 있고, B
G의 MG개 행(row)들 각각은 상기 MG개 열 세트들 중 상이한 열 세트 내 각 열에 Z-by-Z 영 행렬이 아닌 Z-by-Z 행렬을 표현하는 정수를 포함할 수 있다.
본 명세의 각 양상에 있어서, B
G의 MG개 행(row)들 각각은 상기 MG개 열 세트들 중 해당 열 세트를 제외한 나머지 열들 각각에 Z-by-Z 영 행렬을 표현하는 정수를 포함할 수 있다.
본 명세의 각 양상에 있어서, 상기 기결정된 열 인덱스 시퀀스는 B
G의 상기 N개 열(column)들에 대응하는 비트들 각각에 대한 비트 값들을 결정하는 데 필요한 디코딩 반복(iteration) 횟수를 기반으로 할 수 있다.
본 명세의 각 양상에 있어서, 상기 기결정된 열 인덱스 시퀀스는 해당 비트 값을 결정하는 데 필요한 디코딩 반복(iteration) 횟수가 가장 적은 열의 열 인덱스부터 시작하여 반복(iteration) 반복(iteration) 횟수의 오름차순 혹은 내림차순으로 B
G의 N개 열 인덱스들을 정렬하여 얻어지는 시퀀스와 동일할 수 있다.
상기 과제 해결방법들은 본 명세의 예들 중 일부에 불과하며, 본 명세의 기술적 특징들이 반영된 다양한 예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하의 상세한 설명을 기반으로 도출되고 이해될 수 있다.
본 명세의 몇몇 구현에 의하면, 무선 통신 신호가 효율적으로 전송/수신될 수 있다. 이에 따라, 무선 통신 시스템의 전체 처리량(throughput)이 높아질 수 있다.
본 명세의 몇몇 구현들에 의하면, 수송 블록의 전송 과정에서 오류가 발생할 확률을 낮출 수 있다.
본 명세의 몇몇 구현들에 의하면, 수송 블록 혹은 상기 수송 블록의 일부에 오류가 발생하더라도 수신기가 오류가 발생한 부분을 효율적으로 복구할 수 있다.
본 명세의 몇몇 구현들에 의하면, 상이한 수송 블록 크기 혹은 상이한 개수의 코드 블록들에 대한 GC LDPC 코드들의 설계 복잡도가 감소될 수 있다.
본 명세의 몇몇 구현들에 의하면, 오류 정정 성능이 우수한 GC LDPC 코드가 얻어질 수 있다.
본 명세에 따른 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과는 이하의 상세한 설명으로부터 본 명세와 관련된 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세의 구현들에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 명세의 구현들에 대한 예들을 제공하고, 상세한 설명과 함께 본 명세의 구현들을 설명한다:
도 1은 본 명세의 구현들이 적용되는 통신 시스템 1의 예를 도시한 것이고;
도 2는 본 명세에 따른 방법을 수행할 수 있는 통신 기기들의 예들을 도시한 블록도이며;
도 3은 제3 세대 파트너쉽 프로젝트(3rd generation partnership project, 3GPP) 기반 무선 통신 시스템에서 이용가능한 프레임 구조의 예를 도시한 것이며;
도 4는 수송 블록(transport block, TB)에 대한 전송단 측에서의 처리 과정을 예시하며;
도 5는 몇몇 시나리오들에 따른 수송 블록 인코딩 과정의 일 예를 도시한 것이고;
도 6은 레이트 매칭 과정의 개념을 설명하기 위해 도시된 것이며;
도 7은 LDPC 코드의 패리티 검사 행렬 H와 해당 태너(Tanner) 그래프를 예시하고;
도 6과 도 7은 저 밀도 패리티 검사(low density parity check, LDPC) 코드의 패리티 검사 행렬 H를 이분 그래프(bipartite graph)를 통해 설명하기 위해 도시된 것이며;
도 8은 인코딩에 의해 생성된 시스터매틱 코드워드 구조의 일 예이며;
도 9와 도 10은 LDPC 코드의 패리티 검사 행렬 H를 이분 그래프(bipartite graph)를 통해 설명하기 위해 도시된 것이고;
도 11은 순환 퍼뮤테이션 행렬(circulant permutation matrix, CPM)들을 예시하며;
도 12는 LDPC 코드의 기본 그래프의 개략적 구조를 예시하고;
도 13은 LDPC 기본 그래프를 선택하는 기준을 설명하기 위해 도시된 것이며;
도 14는 글로벌하게 커플된 LDPC(globally coupled LDPC, GC LDPC) 코드의 구조의 일 예이며;
도 15 및 도 16은 GC LDPC 코드의 오류 정정 성능을 예시하고;
도 17은 GC LDPC 코드의 패리티 검사 행렬의 일반적 구조를 예시하며;
도 18은 GC LDPC 코드의 패리티 검사 행렬의 일 예이고;
도 19는 도 18의 GC LDPC 코드에 대응하는 태너 그래프를 예시하며;
도 20은 본 명세의 몇몇 구현들에 따른 GC LDPC 코드의 개략적인 구조를 예시하고;
도 21는 로컬 코드워드들을 연접하여 얻어진 코드워드의 구조를 예시하며;
도 22는 도 21의 코드워드에 글로벌 패리티 비트들이 추가되어 얻어진 코드워드의 구조를 예시하고;
도 23은 도 20에 예시된 GC LDPC 구조 내 글로벌 코드에 대한 패리티 검사 행렬의 구조를 예시하며;
도 24는 본 명세의 몇몇 구현들에 따른 GC LDPC 코드의 패리티 검사 행렬의 일 예이며;
도 25 및 도 26은 간단한 프로토그래프 LDPC 코드의 예제에 대해 P-EXIT 분석을 수행한 결과와 각 변수 노드별 상호 정보(mutual information)의 양을 각각(respectively) 예시하고;
도 27은, 본 명세의 몇몇 구현들에 사용될 수 있는, 로컬 코드워드를 위한 기본 행렬의 일 예이며;
도 28은 정수 격자로 표현된 3-by-3 기본 행렬을 예시하고;
도 29는 본 명세의 몇몇 구현들에 따른 글로벌 파트의 기본 행렬의 일 예이며;
도 30은 도 27에 예시된 기본 행렬의 변수 노드들에 대한 P-EXIT 차트 분석에 따라 얻어진 변수 노드별 상호 정보(mutual information, MI)의 양을 예시하고;
도 31은 본 명세의 몇몇 구현들에 따른 글로벌 파트의 기본 행렬의 다른 예이고;
도 32는 본 명세의 몇몇 구현들에 따른 글로벌 파트의 기본 행렬의 또 다른 예이며;
도 33은 글로벌 패티리 파트의 기본 행렬을 확장하여 얻어진 행렬의 예이고;
도 34 내지 도 36은 글로벌 파트를 위한 도 29, 도 31 및 도 32의 기본 행렬들을 확장하여 얻어진 패리티 검사 행렬들을 각각(respectively) 예시하며;
도 37은 본 명세의 몇몇 구현들에 따른 GC LDPC 코드들의 성능 평가 결과를 도시한 것이고;
도 38은 본 명세의 몇몇 구현들에 따른, 채널 인코딩 과정을 예시하며;
도 39는 본 명세의 몇몇 구현들에 따른, 채널 디코딩 과정을 예시한다.
이하, 본 명세에 따른 구현들을 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 명세의 예시적인 구현을 설명하고자 하는 것이며, 본 명세가 실시될 수 있는 유일한 구현 형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 명세의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나 통상의 기술자는 본 명세가 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
몇몇 경우, 본 명세의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다. 또한, 본 명세 전체에서 동일한 구성요소에 대해서는 동일한 도면 부호를 사용하여 설명한다.
이하에서 설명되는 기법(technique) 및 기기, 시스템은 다양한 무선 다중 접속 시스템에 적용될 수 있다. 다중 접속 시스템의 예들로는 CDMA(code division multiple access) 시스템, FDMA(frequency division multiple access) 시스템, TDMA(time division multiple access) 시스템, OFDMA(orthogonal frequency division multiple access) 시스템, SC-FDMA(single carrier frequency division multiple access) 시스템, MC-FDMA(multi carrier frequency division multiple access) 시스템 등이 있다. CDMA는 UTRA(Universal Terrestrial Radio Access) 또는 CDMA2000과 같은 무선 기술(technology)에서 구현될 수 있다. TDMA는 GSM(Global System for Mobile communication), GPRS(General Packet Radio Service), EDGE(Enhanced Data Rates for GSM Evolution)(즉, GERAN) 등과 같은 무선 기술에서 구현될 수 있다. OFDMA는 IEEE(Institute of Electrical and Electronics Engineers) 802.11(WiFi), IEEE 802.16(WiMAX), IEEE802-20, E-UTRA(evolved-UTRA) 등과 같은 무선 기술에서 구현될 수 있다. UTRA는 UMTS(Universal Mobile Telecommunication System)의 일부이며, 3GPP(3rd Generation Partnership Project) LTE(Long Term Evolution)은 E-UTRA를 이용하는 E-UMTS의 일부이다. 3GPP LTE는 하향링크(downlink, DL)에서는 OFDMA를 채택하고, 상향링크(uplink, UL)에서는 SC-FDMA를 채택하고 있다. LTE-A(LTE-advanced)는 3GPP LTE의 진화된 형태이다.
설명의 편의를 위하여, 이하에서는 본 명세가 3GPP 기반 통신 시스템, 예를 들어, LTE, NR에 적용되는 경우를 가정하여 설명한다. 그러나 본 명세의 기술적 특징이 이에 제한되는 것은 아니다. 예를 들어, 이하의 상세한 설명이 이동통신 시스템이 3GPP LTE/NR 시스템에 대응하는 이동통신 시스템을 기초로 설명되더라도, 3GPP LTE/NR에 특유한 사항을 제외하고는 다른 임의의 이동 통신 시스템에도 적용 가능하다.
본 명세에서 사용되는 용어 및 기술 중 구체적으로 설명되지 않은 용어 및 기술에 대해서는 3GPP 기반 표준 문서들, 예를 들어, 3GPP TS 36.211, 3GPP TS 36.212, 3GPP TS 36.213, 3GPP TS 36.321, 3GPP TS 36.300 및 3GPP TS 36.331, 3GPP TS 37.213, 3GPP TS 38.211, 3GPP TS 38.212, 3GPP TS 38.213, 3GPP TS 38.214, 3GPP TS 38.300, 3GPP TS 38.331 등을 참조할 수 있다.
후술하는 본 명세의 예들에서 기기가 "가정한다"는 표현은 채널을 전송하는 주체가 해당 "가정"에 부합하도록 상기 채널을 전송함을 의미할 수 있다. 상기 채널을 수신하는 주체는 상기 채널이 해당 "가정"에 부합하도록 전송되었다는 전제 하에, 해당 "가정"에 부합하는 형태로 상기 채널을 수신 혹은 디코딩하는 것임을 의미할 수 있다.
본 명세에서, UE는 고정되거나 이동성을 가질 수 있으며, BS(base station, BS)과 통신하여 사용자데이터 및/또는 각종 제어정보를 전송 및/또는 수신하는 각종 기기들이 이에 속한다. UE는 (Terminal Equipment), MS(Mobile Station), MT(Mobile Terminal), UT(User Terminal), SS(Subscribe Station), 무선기기(wireless device), PDA(Personal Digital Assistant), 무선 모뎀(wireless modem), 휴대기기(handheld device) 등으로 불릴 수 있다. 또한, 본 명세에 있어서, BS는 일반적으로 UE 및/또는 다른 BS와 통신하는 고정국(fixed station)을 말하며, UE 및 타 BS와 통신하여 각종 데이터 및 제어정보를 교환한다. BS는 ABS(Advanced Base Station), NB(Node-B), eNB(evolved-NodeB), BTS(Base Transceiver System), 접속 포인트(Access Point), PS(Processing Server) 등 다른 용어로 불릴 수 있다. 특히, UTRAN의 BS는 Node-B로, E-UTRAN의 BS는 eNB로, 새로운 무선 접속 기술 네트워크(new radio access technology network)의 BS는 gNB로 불린다. 이하에서는 설명의 편의를 위해, 통신 기술의 종류 혹은 버전에 관계 없이 BS을 BS로 통칭한다.
본 명세에서 노드(node)라 함은 UE와 통신하여 무선 신호를 전송/수신할 수 있는 고정된 지점(point)을 말한다. 다양한 형태의 BS들이 그 명칭에 관계없이 노드로서 이용될 수 있다. 예를 들어, BS, NB, eNB, 피코-셀 eNB(PeNB), 홈 eNB(HeNB), 릴레이(relay), 리피터(repeater) 등이 노드가 될 수 있다. 또한, 노드는 BS가 아니어도 될 수 있다. 예를 들어, 무선 리모트 헤드(radio remote head, RRH), 무선 리모트 유닛(radio remote unit, RRU)가 될 수 있다. RRH, RRU 등은 일반적으로 BS의 전력 레벨(power level) 더욱 낮은 전력 레벨을 갖는다. RRH 혹은 RRU 이하, RRH/RRU)는 일반적으로 광 케이블 등의 전용 회선(dedicated line)으로 BS에 연결되어 있기 때문에, 일반적으로 무선 회선으로 연결된 BS들에 의한 협력 통신에 비해, RRH/RRU 와 BS에 의한 협력 통신이 원활하게 수행될 수 있다. 일 노드에는 최소 하나의 안테나가 설치된다. 상기 안테나는 물리 안테나를 의미할 수도 있으며, 안테나 포트, 가상 안테나, 또는 안테나 그룹을 의미할 수도 있다. 노드는 포인트(point)라고 불리기도 한다.
본 명세에서 셀(cell)이라 함은 하나 이상(one or more)의 노드가 통신 서비스를 제공하는 일정 지리적 영역을 말한다. 따라서, 본 명세에서 특정 셀과 통신한다고 함은 상기 특정 셀에 통신 서비스를 제공하는 BS 혹은 노드와 통신하는 것을 의미할 수 있다. 또한, 특정 셀의 하향링크/상향링크 신호는 상기 특정 셀에 통신 서비스를 제공하는 BS 혹은 노드로부터의/로의 하향링크/상향링크 신호를 의미한다. UE에게 상/하향링크 통신 서비스를 제공하는 셀을 특히 서빙 셀(serving cell)이라고 한다. 또한, 특정 셀의 채널 상태/품질은 상기 특정 셀에 통신 서비스를 제공하는 BS 혹은 노드와 UE 사이에 형성된 채널 혹은 통신 링크의 채널 상태/품질을 의미한다. 3GPP 기반 통신 시스템에서, UE는 특정 노드로부터의 하향링크 채널 상태를 상기 특정 노드의 안테나 포트(들)이 상기 특정 노드에 할당된 CRS (Cell-specific Reference Signal) 자원 상에서 전송되는 CRS(들) 및/또는 CSI-RS(Channel State Information Reference Signal) 자원 상에서 전송하는 CSI-RS(들)을 이용하여 측정할 수 있다.
한편, 3GPP 기반 통신 시스템은 무선 자원을 관리하기 위해 셀(cell)의 개념을 사용하고 있는데, 무선 자원과 연관된 셀(cell)은 지리적 영역의 셀(cell)과 구분된다.
지리적 영역의 "셀"은 노드가 반송파를 이용하여 서비스를 제공할 수 있는 커버리지(coverage)라고 이해될 수 있으며, 무선 자원의 "셀"은 상기 반송파에 의해 설정(configure)되는 주파수 범위인 대역폭(bandwidth, BW)와 연관된다. 노드가 유효한 신호를 전송할 수 있는 범위인 하향링크 커버리지와 UE로부터 유효한 신호를 수신할 수 있는 범위인 상향링크 커버리지는 해당 신호를 운반(carry)하는 반송파에 의해 의존하므로 노드의 커버리지는 상기 노드가 사용하는 무선 자원의 "셀"의 커버리지와 연관되기도 한다. 따라서 "셀"이라는 용어는 때로는 노드에 의한 서비스의 커버리지를, 때로는 무선 자원을, 때로는 상기 무선 자원을 이용한 신호가 유효한 세기로 도달할 수 있는 범위를 의미하는 데 사용될 수 있다.
한편, 3GPP 통신 표준은 무선 자원을 관리하기 위해 셀(cell)의 개념을 사용한다. 무선 자원과 연관된 "셀"이라 함은 하향링크 자원들(DL resources)와 상향링크 자원들(UL resources)의 조합, 즉, DL 컴포턴트 반송파(component carrier, CC) 와 UL CC의 조합으로 정의된다. 셀은 DL 자원 단독, 또는 DL 자원과 UL 자원의 조합으로 설정될(configured) 수 있다. 반송파 집성이 지원되는 경우, DL 자원(또는, DL CC)의 반송파 주파수(carrier frequency)와 UL 자원(또는, UL CC)의 반송파 주파수(carrier frequency) 사이의 링키지(linkage)는 시스템 정보에 의해 지시될 수 있다. 예를 들어, 시스템 정보 블록 타입 2(System Information Block Type2, SIB2) 링키지(linkage)에 의해서 DL 자원과 UL 자원의 조합이 지시될 수 있다. 여기서, 반송파 주파수는 각 셀 혹은 CC의 중심 주파수(center frequency)와 같거나 다를 수 있다. 반송파 집성(carrier aggregation, CA)가 설정될 때 UE는 네트워크와 하나의 무선 자원 제어(radio resource control, RRC) 연결만을 갖는다. 하나의 서빙 셀이 RRC 연결 수립(establishment)/재수립(re-establishment)/핸드오버 시에 비-접속 층(non-access stratum, NAS) 이동성(mobility) 정보를 제공하며, 하나의 서빙 셀이 RRC 연결 재수립/핸드오버 시에 보안(security) 입력을 제공한다. 이러한 셀을 1차 셀(primary cell, Pcell)이라 한다. Pcell은 UE가 초기 연결 수립 절차를 수행하거나 연결 재-수립 절차를 개시(initiate)하는 1차 주파수(primary frequency) 상에서 동작하는 셀이며. UE 능력(capability)에 따라, 2차 셀(secondary cell, Scell)들이 설정되어 Pcell과 함께 서빙 셀들의 세트를 형성(form)할 수 있다. Scell은 RRC(Radio Resource Control) 연결 수립(connection establishment)이 이루어진 이후에 설정 가능하고, 특별 셀(special cell, SpCell)의 자원들 외에 추가적인 무선 자원을 제공하는 셀이다. 하향링크에서 Pcell에 대응하는 반송파는 하향링크 1차 CC(DL PCC)라고 하며, 상향링크에서 Pcell에 대응하는 반송파는 UL 1차 CC(DL PCC)라고 한다. 하향링크에서 Scell에 대응하는 반송파는 DL 2차 CC(DL SCC)라 하며, 상향링크에서 상기 Scell에 대응하는 반송파는 UL 2차 CC(UL SCC)라 한다.
이중 연결성(dual connectivity, DC) 동작의 경우, SpCell이라는 용어는 마스터 셀 그룹(master cell group, MCG)의 Pcell 또는 2차 셀 그룹(secondary cell group, SCG)의 Pcell을 칭한다. SpCell은 PUCCH 전송 및 경쟁-기반 임의 접속을 지원하고, 항상 활성화(activate)된다. MCG는 마스터 노드(예, BS)와 연관된 서빙 셀들의 그룹이며 SpCell (Pcell) 및 선택적으로(optionally) 하나 이상의 Scell들로 이루어진다. DC로 설정된 UE의 경우, SCG는 2차 노드와 연관된 서빙 셀들의 서브셋이며, PSCell 및 0개 이상의 Scell들로 이루어진다. PSCell은 SCG의 1차 Scell이다. CA 또는 DC로 설정되지 않은, RRC_CONNECTED 상태의 UE의 경우, Pcell로만 이루어진 하나의 서빙 셀만 존재한다. CA 또는 DC로 설정된 RRC_CONNECTED 상태의 UE의 경우, 서빙 셀들이라는 용어는 SpCell(들) 및 모든 Scell(들)로 이루어진 셀들의 세트를 지칭한다. DC에서는, MCG를 위한 매체 접속 제어(medium access control, MAC) 엔티티 하나와 SCG를 위한 MAC 엔티티 하나의 2개 MAC 엔티티들이 UE에 설정된다.
CA가 설정되고 DC는 설정되지 않은 UE에는 Pcell 및 0개 이상의 Scell로 이루어진 Pcell PUCCH 그룹과 Scell(들)로만 이루어진 Scell PUCCH 그룹이 설정된 수 있다. Scell의 경우, 해당 셀과 연관된 PUCCH가 전송되는 Scell(이하 PUCCH cell)이 설정될 수 있다. PUCCH Scell이 지시된 Scell은 Scell PUCCH 그룹에 속하며 상기 PUCCH Scell 상에서 관련 UCI의 PUCCH 전송이 수행되며, PUCCH Scell이 지시되지 않거나 PUCCH 전송용 셀로서 지시된 셀이 Pcell인 Scell은 Pcell PUCCH 그룹에 속하며 상기 Pcell 상에서 관련 UCI의 PUCCH 전송이 수행된다.
무선 통신 시스템에서 UE는 BS로부터 하향링크(downlink, DL)를 통해 정보를 수신하고, UE는 BS로 상향링크(uplink, UL)를 통해 정보를 전송한다. BS와 UE가 전송 및/또는 수신하는 정보는 데이터 및 다양한 제어 정보를 포함하고, 이들이 전송 및/또는 수신하는 정보의 종류/용도에 따라 다양한 물리 채널이 존재한다.
3GPP 기반 통신 표준은 상위 계층으로부터 기원한 정보를 운반하는 자원 요소들에 대응하는 하향링크 물리 채널들과, 물리 계층에 의해 사용되나 상위 계층으로부터 기원하는 정보를 운반하지 않는 자원 요소들에 대응하는 하향링크 물리 신호들을 정의된다. 예를 들어, 물리 하향링크 공유 채널(physical downlink shared channel, PDSCH), 물리 브로드캐스트 채널(physical broadcast channel, PBCH), 물리 하향링크 제어 채널(physical downlink control channel, PDCCH) 등이 하향링크 물리 채널들로서 정의되어 있으며, 참조 신호와 동기 신호(synchronization signal)가 하향링크 물리 신호들로서 정의되어 있다. 파일럿(pilot)이라고도 지칭되는 참조 신호(reference signal, RS)는 BS와 UE가 서로 알고 있는 기정의된 특별한 파형의 신호를 의미한다. 예를 들어, 복조 참조 신호(demodulation reference signal, DMRS), 채널 상태 정보 RS(channel state information RS, CSI-RS) 등이 하향링크 참조 신호로서 정의된다. 3GPP 기반 통신 표준은 상위 계층으로부터 기원한 정보를 운반하는 자원 요소들에 대응하는 상향링크 물리 채널들과, 물리 계층에 의해 사용되나 상위 계층으로부터 기원하는 정보를 운반하지 않는 자원 요소들에 대응하는 상향링크 물리 신호들을 정의하고 있다. 예를 들어, 물리 상향링크 공유 채널(physical uplink shared channel, PUSCH), 물리 상향링크 제어 채널(physical uplink control channel, PUCCH), 물리 임의 접속 채널(physical random access channel, PRACH)가 상향링크 물리 채널로서 정의되며, 상향링크 제어/데이터 신호를 위한 복조 참조 신호(demodulation reference signal, DMRS), 상향링크 채널 측정에 사용되는 사운딩 참조 신호(sounding reference signal, SRS) 등이 정의된다.
본 명세에서 PDCCH(Physical Downlink Control CHannel)는 DCI(Downlink Control Information)를 운반하는 시간-주파수 자원들(예, 자원요소(resource element, RE)들)의 세트를 의미하고, PDSCH(Physical Downlink Shared CHannel)는 하향링크 데이터를 운반하는 시간-주파수 자원들의 세트를 의미한다. 또한, PUCCH(Physical Uplink Control CHannel), PUSCH(Physical Uplink Shared CHannel), PRACH(Physical Random Access CHannel)는 각각(respectively) UCI(Uplink Control Information), 상향링크 데이터, 임의 접속 신호를 운반하는 시간-주파수 자원들의 세트를 의미한다. 이하에서 사용자기기가 PUCCH/PUSCH/PRACH를 전송/수신한다는 표현은, 각각, PUCCH/PUSCH/PUCCH/PRACH 상에서 혹은 통해서 상향링크 제어정보/상향링크 데이터/임의 접속 신호를 전송/수신한다는 것과 동등한 의미로 사용된다. 또한, BS가 PBCH/PDCCH/PDSCH를 전송/수신한다는 표현은, 각각, PBCH/PDCCH/PDSCH 상에서 혹은 통해서 브로드캐스트 정보/하향링크 제어정보/하향링크 데이터를 전송한다는 것과 동일한 의미로 사용된다.
본 명세에서 PUCCH/PUSCH/PDSCH의 전송 또는 수신을 위해 BS에 의해 UE에게 스케줄링 혹은 설정된 무선 자원(예, 시간-주파수 자원)은 PUCCH/PUSCH/PDSCH 자원으로 칭해지기도 한다.
통신 장치는 SSB, DMRS, CSI-RS, PBCH, PDCCH, PDSCH, PUSCH, 및/또는 PUCCH를 셀 상에서 무선 신호들의 형태로 수신하므로, 특정 물리 채널 혹은 특정 물리 신호만을 포함하는 무선 신호들만 선별해서 RF 수신기를 통해 수신하거나 특정 물리 채널 혹은 물리 신호만을 배제한 무선 신호들만 선별해서 RF 수신기를 통해 수신하지는 못한다. 실제 동작에서, 통신 장치는 RF 수신기를 통해 셀 상에서 일단 무선 신호들을 수신하며 RF 대역 신호들인 상기 무선 신호들을 기저대역(baseband) 신호들로 변환(convert)하고, 하나 이상의 프로세서를 이용하여 상기 기저대역 신호들 내 물리 신호 및/또는 물리 채널을 디코딩한다. 따라서, 본 명세의 몇몇 구현들에서, 물리 신호 및/또는 물리 채널을 수신하지 않는다는 것은 실제로는 통신 장치가 아예 해당 물리 신호 및/또는 물리 채널을 포함하는 무선 신호들을 수신하지 않는다는 것이 아니라 상기 무선 신호들로부터 상기 물리 신호 및/또는 물리 채널의 복원을 시도하지 않는 것, 예를 들어, 상기 물리 신호 및/또는 상기 물리 채널의 디코딩을 시도하지 않는 것을 의미할 수 있다.
더욱 많은 통신 기기들이 더욱 큰 통신 용량을 요구하게 됨에 따라 기존의 무선 접속 기술(radio access technology, RAT)에 비해 향상된 모바일 브로드밴드 통신에 대한 필요성이 대두되고 있다. 또한 다수의 기기 및 사물들을 연결하여 언제 어디서나 다양한 서비스를 제공하는 매시브(massive) MTC 역시 차세대 통신에서 고려될 주요 이슈 중 하나이다. 아울러 신뢰도(reliability) 및 레이턴시(latency)에 민감한 서비스/UE를 고려한 통신 시스템 디자인이 논의되고 있다. 이와 같이 진보된 모바일 브로드밴드 통신, 매시브 MTC, URLLC(Ultra-Reliable and Low Latency Communication) 등을 고려한 차세대 RAT의 도입이 논의되고 있다. 현재 3GPP에서는 EPC 이후의 차세대 이동 통신 시스템에 대한 스터디를 진행 중에 있다. 본 명세에서는 편의상 해당 기술을 새 RAT (new RAT, NR) 혹은 5G RAT라고 칭하며, NR을 사용 혹은 지원하는 시스템을 NR 시스템이라 칭한다.
도 1은 본 명세의 구현들이 적용되는 통신 시스템 1의 예를 도시한 것이다. 도 1을 참조하면, 본 명세에 적용되는 통신 시스템(1)은 무선 기기, BS 및 네트워크를 포함한다. 여기서, 무선 기기는 무선 접속 기술(예, 5G NR(New RAT), LTE(예, E-UTRA))을 이용하여 통신을 수행하는 기기를 의미하며, 통신/무선/5G 기기로 지칭될 수 있다. 이로 제한되는 것은 아니지만, 무선 기기는 로봇(100a), 차량(100b-1, 100b-2), XR(eXtended Reality) 기기(100c), 휴대 기기(Hand-held device)(100d), 가전(100e), IoT(Internet of Thing) 기기(100f), AI기기/서버(400)를 포함할 수 있다. 예를 들어, 차량은 무선 통신 기능이 구비된 차량, 자율 주행 차량, 차량간 통신을 수행할 수 있는 차량 등을 포함할 수 있다. 여기서, 차량은 UAV(Unmanned Aerial Vehicle)(예, 드론)를 포함할 수 있다. XR 기기는 AR(Augmented Reality)/VR(Virtual Reality)/MR(Mixed Reality) 기기를 포함하며, HMD(Head-Mounted Device), 차량에 구비된 HUD(Head-Up Display), 텔레비전, 스마트폰, 컴퓨터, 웨어러블 디바이스, 가전 기기, 디지털 사이니지(signage), 차량, 로봇 등의 형태로 구현될 수 있다. 휴대 기기는 스마트폰, 스마트패드, 웨어러블 기기(예, 스마트워치, 스마트글래스), 컴퓨터(예, 노트북 등) 등을 포함할 수 있다. 가전은 TV, 냉장고, 세탁기 등을 포함할 수 있다. IoT 기기는 센서, 스마트미터 등을 포함할 수 있다. 예를 들어, BS, 네트워크는 무선 기기로도 구현될 수 있으며, 특정 무선 기기는 다른 무선 기기에게 BS/네트워크 노드로 동작할 수도 있다.
무선 기기(100a~100f)는 BS(200)을 통해 네트워크(300)와 연결될 수 있다. 무선 기기(100a~100f)에는 AI(Artificial Intelligence) 기술이 적용될 수 있으며, 무선 기기(100a~100f)는 네트워크(300)를 통해 AI 서버(400)와 연결될 수 있다. 네트워크(300)는 3G 네트워크, 4G(예, LTE) 네트워크 또는 5G(예, NR) 네트워크 등을 이용하여 구성될 수 있다. 무선 기기(100a~100f)는 BS(200)/네트워크(300)를 통해 서로 통신할 수도 있지만, BS/네트워크를 통하지 않고 직접 통신(e.g. 사이드링크 통신(sidelink communication))할 수도 있다. 예를 들어, 차량들(100b-1, 100b-2)은 직접 통신(e.g. V2V(Vehicle to Vehicle)/V2X(Vehicle to everything) communication)을 할 수 있다. 또한, IoT 기기(예, 센서)는 다른 IoT 기기(예, 센서) 또는 다른 무선 기기(100a~100f)와 직접 통신을 할 수 있다.
무선 기기(100a~100f)/BS(200)-BS(200)/무선 기기(100a~100f) 간에는 무선 통신/연결(150a, 150b)이 이뤄질 수 있다. 여기서, 무선 통신/연결은 상향/하향링크 통신(150a)과 사이드링크 통신(150b)(또는, D2D 통신)은 다양한 무선 접속 기술(예, 5G NR)을 통해 이뤄질 수 있다. 무선 통신/연결(150a, 150b)을 통해 무선 기기와 BS/무선 기기는 서로 무선 신호를 전송/수신할 수 있다. 이를 위해, 본 명세의 다양한 제안들에 기반하여, 무선 신호의 전송/수신을 위한 다양한 설정 정보 설정 과정, 다양한 신호 처리 과정(예, 채널 인코딩/디코딩, 변조(modulation)/복조(demodulation), 자원 매핑/디매핑 등), 자원 할당 과정 등 중 적어도 일부가 수행될 수 있다.
도 2는 본 명세에 따른 방법을 수행할 수 있는 통신 기기들의 예들을 도시한 블록도이다. 도 2를 참조하면, 제1 무선 기기(100)와 제2 무선 기기(200)는 다양한 무선 접속 기술(예, LTE, NR)을 통해 무선 신호를 전송 및/또는 수신할 수 있다. 여기서, {제1 무선 기기(100), 제2 무선 기기(200)}은 도 1의 {무선 기기(100x), BS(200)} 및/또는 {무선 기기(100x), 무선 기기(100x)}에 대응할 수 있다.
제1 무선 기기(100)는 하나 이상의 프로세서(102) 및 하나 이상의 메모리(104)를 포함하며, 추가적으로 하나 이상의 송수신기(106) 및/또는 하나 이상의 안테나(108)을 더 포함할 수 있다. 프로세서(102)는 메모리(104) 및/또는 송수신기(106)를 제어하며, 아래에서 설명/제안되는 기능, 절차 및/또는 방법들을 구현하도록 구성될 수 있다. 예를 들어, 프로세서(102)는 메모리(104) 내의 정보를 처리하여 제1 정보/신호를 생성한 뒤, 송수신기(106)을 통해 제1 정보/신호를 포함하는 무선 신호를 전송할 수 있다. 또한, 프로세서(102)는 송수신기(106)를 통해 제2 정보/신호를 포함하는 무선 신호를 수신한 뒤, 제2 정보/신호의 신호 처리로부터 얻은 정보를 메모리(104)에 저장할 수 있다. 메모리(104)는 프로세서(102)와 연결될 수 있고, 프로세서(102)의 동작과 관련한 다양한 정보를 저장할 수 있다. 예를 들어, 메모리(104)는 프로세서(102)에 의해 제어되는 프로세스들 중 일부 또는 전부를 수행하거나, 아래에서 설명/제안한 절차 및/또는 방법들을 수행하기 위한 명령들을 포함하는 소프트웨어 코드를 저장할 수 있다. 여기서, 프로세서(102)와 메모리(104)는 무선 통신 기술(예, LTE, NR)을 구현하도록 설계된 통신 모뎀/회로/칩의 일부일 수 있다. 송수신기(106)는 프로세서(102)와 연결될 수 있고, 하나 이상의 안테나(108)를 통해 무선 신호를 전송 및/또는 수신할 수 있다. 송수신기(106)는 전송기 및/또는 수신기를 포함할 수 있다. 송수신기(106)는 RF(Radio Frequency) 유닛과 혼용될 수 있다. 본 명세에서 무선 기기는 통신 모뎀/회로/칩을 의미할 수도 있다.
제2 무선 기기(200)는 하나 이상의 프로세서(202), 하나 이상의 메모리(204)를 포함하며, 추가적으로 하나 이상의 송수신기(206) 및/또는 하나 이상의 안테나(208)를 더 포함할 수 있다. 프로세서(202)는 메모리(204) 및/또는 송수신기(206)를 제어하며, 아래에서 설명/제안한 기능, 절차 및/또는 방법들을 구현하도록 구성될 수 있다. 예를 들어, 프로세서(202)는 메모리(204) 내의 정보를 처리하여 제3 정보/신호를 생성한 뒤, 송수신기(206)를 통해 제3 정보/신호를 포함하는 무선 신호를 전송할 수 있다. 또한, 프로세서(202)는 송수신기(206)를 통해 제4 정보/신호를 포함하는 무선 신호를 수신한 뒤, 제4 정보/신호의 신호 처리로부터 얻은 정보를 메모리(204)에 저장할 수 있다. 메모리(204)는 프로세서(202)와 연결될 수 있고, 프로세서(202)의 동작과 관련한 다양한 정보를 저장할 수 있다. 예를 들어, 메모리(204)는 프로세서(202)에 의해 제어되는 프로세스들 중 일부 또는 전부를 수행하거나, 아래에서 설명/제안한 절차 및/또는 방법들을 수행하기 위한 명령들을 포함하는 소프트웨어 코드를 저장할 수 있다. 여기서, 프로세서(202)와 메모리(204)는 무선 통신 기술(예, LTE, NR)을 구현하도록 설계된 통신 모뎀/회로/칩의 일부일 수 있다. 송수신기(206)는 프로세서(202)와 연결될 수 있고, 하나 이상의 안테나(208)를 통해 무선 신호를 전송 및/또는 수신할 수 있다. 송수신기(206)는 전송기 및/또는 수신기를 포함할 수 있다. 송수신기(206)는 RF 유닛과 혼용될 수 있다. 본 명세에서 무선 기기는 통신 모뎀/회로/칩을 의미할 수도 있다.
본 명세의 무선 기기(100, 200)에서 구현되는 무선 통신 기술은 LTE, NR 및 6G뿐만 아니라 저전력 통신을 위한 Narrowband Internet of Things를 포함할 수 있다. 이때, 예를 들어 NB-IoT 기술은 LPWAN(Low Power Wide Area Network) 기술의 일례일 수 있고, LTE Cat NB1 및/또는 LTE Cat NB2 등의 규격으로 구현될 수 있으며, 상술한 명칭에 한정되는 것은 아니다. 추가적으로 또는 대체적으로, 본 명세의 무선 기기(XXX, YYY)에서 구현되는 무선 통신 기술은 LTE-M 기술을 기반으로 통신을 수행할 수 있다. 이때, 일 예로, LTE-M 기술은 LPWAN 기술의 일례일 수 있고, eMTC(enhanced Machine Type Communication) 등의 다양한 명칭으로 불릴 수 있다. 예를 들어, LTE-M 기술은 1) LTE CAT 0, 2) LTE Cat M1, 3) LTE Cat M2, 4) LTE non-BL(non-Bandwidth Limited), 5) LTE-MTC, 6) LTE Machine Type Communication, 및/또는 7) LTE M 등의 다양한 규격 중 적어도 어느 하나로 구현될 수 있으며 상술한 명칭에 한정되는 것은 아니다. 추가적으로 또는 대체적으로, 본 명세의 무선 기기(XXX, YYY)에서 구현되는 무선 통신 기술은 저전력 통신을 고려한 지그비(ZigBee), 블루투스(Bluetooth) 및 저전력 광역 통신망(Low Power Wide Area Network, LPWAN) 중 적어도 어느 하나를 포함할 수 있으며, 상술한 명칭에 한정되는 것은 아니다. 일 예로 ZigBee 기술은 IEEE 802.15.4 등의 다양한 규격을 기반으로 소형/저-전력 디지털 통신에 관련된 PAN(personal area networks)을 생성할 수 있으며, 다양한 명칭으로 불릴 수 있다.
이하, 무선 기기(100, 200)의 하드웨어 요소에 대해 보다 구체적으로 설명한다. 이로 제한되는 것은 아니지만, 하나 이상의 프로토콜 계층이 하나 이상의 프로세서(102, 202)에 의해 구현될 수 있다. 예를 들어, 하나 이상의 프로세서(102, 202)는 하나 이상의 계층(예, 물리(physical, PHY) 계층, 매체 접속 제어(medium access control, MAC) 계층, 무선 링크 제어(radio link control, RLC) 계층, 패킷 데이터 수렵 프로토콜(packet data convergence protocol, PDCP) 계층, 무선 자원 제어(radio resource control, RRC) 계층, 서비스 데이터 적응 프로토콜(service data adaption protocol, SDAP)와 같은 기능적 계층)을 구현할 수 있다. 하나 이상의 프로세서(102, 202)는 본 명세에 개시된 기능, 절차, 제안 및/또는 방법에 따라 하나 이상의 프로토콜 데이터 유닛(protocol data unit, PDU) 및/또는 하나 이상의 서비스 데이터 유닛(service data unit, SDU)를 생성할 수 있다. 하나 이상의 프로세서(102, 202)는 본 명세에 개시된 기능, 절차, 제안 및/또는 방법에 따라 메시지, 제어정보, 데이터 또는 정보를 생성할 수 있다. 하나 이상의 프로세서(102, 202)는 본 명세에 개시된 기능, 절차, 제안 및/또는 방법에 따라 PDU, SDU, 메시지, 제어정보, 데이터 또는 정보를 포함하는 신호(예, 기저대역(baseband) 신호)를 생성하여, 하나 이상의 송수신기(106, 206)에게 제공할 수 있다. 하나 이상의 프로세서(102, 202)는 하나 이상의 송수신기(106, 206)로부터 신호(예, 기저대역 신호)를 수신할 수 있고, 본 명세에 개시된 기능, 절차, 제안 및/또는 방법에 따라 PDU, SDU, 메시지, 제어정보, 데이터 또는 정보를 획득할 수 있다.
하나 이상의 프로세서(102, 202)는 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 또는 마이크로 컴퓨터로 지칭될 수 있다. 하나 이상의 프로세서(102, 202)는 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합에 의해 구현될 수 있다. 일 예로, 하나 이상의 ASIC(Application Specific Integrated Circuit), 하나 이상의 DSP(Digital Signal Processor), 하나 이상의 DSPD(Digital Signal Processing Device), 하나 이상의 PLD(Programmable Logic Device) 또는 하나 이상의 FPGA(Field Programmable Gate Arrays)가 하나 이상의 프로세서(102, 202)에 포함될 수 있다. 본 명세에 개시된 기능, 절차, 제안 및/또는 방법들은 펌웨어 또는 소프트웨어를 사용하여 구현될 수 있고, 펌웨어 또는 소프트웨어는 모듈, 절차, 기능 등을 포함하도록 구현될 수 있다. 본 명세에 개시된 기능, 절차, 제안 및/또는 방법을 수행하도록 설정된 펌웨어 또는 소프트웨어는 하나 이상의 프로세서(102, 202)에 포함되거나, 하나 이상의 메모리(104, 204)에 저장되어 하나 이상의 프로세서(102, 202)에 의해 구동될 수 있다. 본 명세에 개시된 기능, 절차, 제안 및 또는 방법들은 코드, 명령어 및/또는 명령어의 세트 형태로 펌웨어 또는 소프트웨어를 사용하여 구현될 수 있다.
하나 이상의 메모리(104, 204)는 하나 이상의 프로세서(102, 202)와 연결될 수 있고, 다양한 형태의 데이터, 신호, 메시지, 정보, 프로그램, 코드, 지시 및/또는 명령을 저장할 수 있다. 하나 이상의 메모리(104, 204)는 ROM, RAM, EPROM, 플래시 메모리, 하드 드라이브, 레지스터, 캐쉬 메모리, 컴퓨터 판독 저장 매체 및/또는 이들의 조합으로 구성될 수 있다. 하나 이상의 메모리(104, 204)는 하나 이상의 프로세서(102, 202)의 내부 및/또는 외부에 위치할 수 있다. 또한, 하나 이상의 메모리(104, 204)는 유선 또는 무선 연결과 같은 다양한 기술을 통해 하나 이상의 프로세서(102, 202)와 연결될 수 있다.
하나 이상의 송수신기(106, 206)는 하나 이상의 다른 장치에게 본 명세의 방법들 및/또는 동작 순서도 등에서 언급되는 사용자 데이터, 제어 정보, 무선 신호/채널 등을 전송할 수 있다. 하나 이상의 송수신기(106, 206)는 하나 이상의 다른 장치로부터 본 명세에 개시된 기능, 절차, 제안, 방법 및/또는 동작 순서도 등에서 언급되는 사용자 데이터, 제어 정보, 무선 신호/채널 등을 수신할 수 있다. 예를 들어, 하나 이상의 송수신기(106, 206)는 하나 이상의 프로세서(102, 202)와 연결될 수 있고, 무선 신호를 전송 및/또는 수신할 수 있다. 예를 들어, 하나 이상의 프로세서(102, 202)는 하나 이상의 송수신기(106, 206)가 하나 이상의 다른 장치에게 사용자 데이터, 제어 정보 또는 무선 신호를 전송하도록 제어할 수 있다. 또한, 하나 이상의 프로세서(102, 202)는 하나 이상의 송수신기(106, 206)가 하나 이상의 다른 장치로부터 사용자 데이터, 제어 정보 또는 무선 신호를 수신하도록 제어할 수 있다. 또한, 하나 이상의 송수신기(106, 206)는 하나 이상의 안테나(108, 208)와 연결될 수 있고, 하나 이상의 송수신기(106, 206)는 하나 이상의 안테나(108, 208)를 통해 본 명세에 개시된 기능, 절차, 제안, 방법 및/또는 동작 순서도 등에서 언급되는 사용자 데이터, 제어 정보, 무선 신호/채널 등을 전송 및/또는 수신하도록 설정될 수 있다. 본 명세에서, 하나 이상의 안테나는 복수의 물리 안테나이거나, 복수의 논리 안테나(예, 안테나 포트)일 수 있다. 하나 이상의 송수신기(106, 206)는 수신된 사용자 데이터, 제어 정보, 무선 신호/채널 등을 하나 이상의 프로세서(102, 202)를 이용하여 처리하기 위해, 수신된 무선 신호/채널 등을 RF 대역 신호에서 기저대역(baseband) 신호로 변환(convert)할 수 있다. 하나 이상의 송수신기(106, 206)는 하나 이상의 프로세서(102, 202)를 이용하여 처리된 사용자 데이터, 제어 정보, 무선 신호/채널 등을 기저대역 신호에서 RF 대역 신호로 변환할 수 있다. 이를 위하여, 하나 이상의 송수신기(106, 206)는 (아날로그) 오실레이터 및/또는 필터를 포함할 수 있다.
본 명세에서, 적어도 하나의 메모리(예, 104 또는 204)는 지시들 또는 프로그램들을 저장할 수 있으며, 상기 지시들 또는 프로그램들은, 실행될 때, 상기 적어도 하나의 메모리에 작동가능하게(operably) 연결되는 적어도 하나의 프로세서로 하여금 본 명세의 몇몇 실시예들 또는 구현들에 따른 동작들을 수행하도록 할 수 있다.
본 명세에서, 컴퓨터 판독가능한(readable) (비일시성) 저장(storage) 매체(medium)은 적어도 하나의 지시 또는 컴퓨터 프로그램을 저장할 수 있으며, 상기 적어도 하나의 지시 또는 컴퓨터 프로그램은 적어도 하나의 프로세서에 의해 실행될 때 상기 적어도 하나의 프로세서로 하여금 본 명세의 몇몇 실시예들 또는 구현들에 따른 동작들을 수행하도록 할 수 있다.
본 명세에서, 프로세싱 기기(device) 또는 장치(apparatus)는 적어도 하나의 프로세서와 상기 적어도 하나의 프로세서여 연결 가능한 적어도 하나의 컴퓨터 메모리를 포함할 수 있다. 상기 적어도 하나의 컴퓨터 메모리는 지시들 또는 프로그램들을 저장할 수 있으며, 상기 지시들 또는 프로그램들은, 실행될 때, 상기 적어도 하나의 메모리에 작동가능하게(operably) 연결되는 적어도 하나의 프로세서로 하여금 본 명세의 몇몇 실시예들 또는 구현들에 따른 동작들을 수행하도록 할 수 있다.
본 명세에서, 컴퓨터 프로그램은 적어도 하나의 컴퓨터 판독가능한 (비일시성) 저장 매체에 저장되며, 실행될 때, 본 명세의 몇몇 구현들에 따른 동작들을 수행하는 혹은 적어도 하나의 프로세서로 하여금 본 명세의 몇몇 구현들에 따른 동작들을 수행하게 하는 프로그램 코드를 포함할 수 있다. 상기 컴퓨터 프로그램은 컴퓨터 프로그램 제품(product) 형태로 제공될 수 있다. 상기 컴퓨터 프로그램 제품은 적어도 하나의 컴퓨터 판독가능한 (비일시성) 저장 매체를 포함할 수 있다.
본 명세의 통신 기기는 적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서에 동작 가능하게 연결 가능한, 그리고, 실행될 때, 상기 적어도 하나의 프로세서로 하여금 후술하는 본 명세의 예(들)에 따른 동작들을 수행하도록 하는 명령(instruction)들을 저장한, 적어도 하나의 컴퓨터 메모리를 포함한다.
도 3은 3GPP 기반 무선 통신 시스템에서 이용가능한 프레임 구조의 예를 도시한 것이다.
도 3의 프레임의 구조는 예시에 불과하고, 프레임에서 서브프레임의 수, 슬롯의 수, 심볼의 수는 다양하게 변경될 수 있다. NR 시스템에서는 하나의 UE에게 집성(aggregate)되는 복수의 셀들간에 OFDM 뉴머롤러지(numerology)(예, 부반송파 간격(subcarrier spacing, SCS)가 상이하게 설정될 수 있다. 이에 따라, 동일한 개수의 심볼로 구성된 시간 자원(예, 서브프레임, 슬롯 또는 전송 시간 간격(transmission time interval, TTI))의 (절대 시간) 기간(duration)은 집성된 셀들간에 상이하게 설정될 수 있다. 여기서, 심볼은 OFDM 심볼 (혹은, 순환 프리픽스 - 직교 주파수 분할 다중화(cyclic prefix - orthogonal frequency division multiplexing, CP-OFDM) 심볼), SC-FDMA 심볼 (혹은, 이산 푸리에 변환-확산-OFDM(discrete Fourier transform-spread-OFDM, DFT-s-OFDM) 심볼)을 포함할 수 있다. 본 명세에서 심볼, OFDM-기반 심볼, OFDM 심볼, CP-OFDM 심볼 및 DFT-s-OFDM 심볼은 서로 대체될 수 있다.
도 3을 참조하면, NR 시스템에서 상향링크 및 하향링크 전송들은 프레임들로 조직화(organize)된다. 각 프레임은 Tf = (△fmax*Nf/100)*Tc = 10 ms 기간(duration)을 가지며, 각각 5ms의 기간인 2개 하프-프레임(half-frame)들로 나뉜다. 여기서 NR용 기본 시간 단위(basic time unit)인 Tc = 1/(△fmax*Nf)이고, △fmax = 480*103 Hz이며, Nf=4096이다. 참고로, LTE용 기본 시간 단위인 Ts = 1/(△fref*Nf,ref)이고, △fref = 15*103 Hz이며, Nf,ref=2048이다. Ts와 Tc는 상수 κ = Ts/Tc = 64의 관계를 가진다. 각 하프-프레임은 5개의 서브프레임들로 구성되며, 단일 서브프레임(subframe, SF)의 기간 Tsf는 1ms이다. 서브프레임들은 슬롯들로 더 나뉘고, 서브프레임 내 슬롯의 개수는 부반송파 간격에 의존한다. 각 슬롯은 순환 프리픽스를 기초로 14개 혹은 12개 OFDM 심볼들로 구성된다. 정규(normal) 순환 프리픽스(cyclic prefix, CP)에는 각 슬롯은 14개 OFDM 심볼들로 구성되며, 확장(extended) CP의 경우에는 각 슬롯은 12개 OFDM 심볼들로 구성된다. 상기 뉴머롤러지(numerology)는 지수적으로(exponentially) 스케일가능한 부반송파 간격 △f = 2u*15 kHz에 의존한다. 다음 표는 정규 CP에 대한 부반송파 간격 △f = 2u*15 kHz에 따른 슬롯별 OFDM 심볼들의 개수(N
slot
symb), 프레임별 슬롯의 개수(N
frame,u
slot) 및 서브프레임별 슬롯의 개수(N
subframe,u
slot)를 나타낸 것이다.
다음 표는 확장 CP에 대한 부반송파 간격 △f = 2u*15 kHz에 따른 슬롯 당 OFDM 심볼들의 개수, 프레임당 슬롯의 개수 및 서브프레임당 슬롯의 개수를 나타낸 것이다.
부반송파 간격 설정 u에 대해, 슬롯들은 서브프레임 내에서 증가 순으로 nu
s ∈ {0, ..., nsubframe,u
slot - 1}로 그리고 프레임 내에서 증가 순으로 nu
s,f ∈ {0, ..., nframe,u
slot - 1}로 번호 매겨진다.
슬롯은 시간 도메인에서 복수(예, 14개 또는 12개)의 심볼들을 포함한다. 각 뉴머롤러지(예, 부반송파 간격) 및 반송파에 대해, 상위 계층 시그널링(예, 무선 자원 제어(radio resource control, RRC) 시그널링)에 의해 지시되는 공통 자원 블록(common resource block, CRB) N
start,u
grid에서 시작하는, N
size,u
grid,x*N
RB
sc개 부반송파들 및 N
subframe,u
symb개 OFDM 심볼들의 자원 격자(grid)가 정의된다. 여기서 N
size,u
grid,x은 자원 격자 내 자원 블록(resource block, RB)들의 개수이고, 밑첨자 x는 하향링크에 대해서는 DL이고 상향링크에 대해서는 UL이다. N
RB
sc는 RB당 부반송파의 개수이며, 3GPP 기반 무선 통신 시스템에서 N
RB
sc는 통상 12이다. 주어진 안테나 포트 p, 부반송파 간격 설정(configuration) u 및 전송 방향 (DL 또는 UL)에 대해 하나의 자원 격자가 있다. 부반송파 간격 설정 u에 대한 반송파 대역폭 N
size,u
grid는 네트워크로부터의 상위 계층 파라미터(예, RRC 파라미터)에 의해 UE에게 주어진다. 안테나 포트 p 및 부반송파 간격 설정 u에 대한 자원 격자 내 각각의 요소는 자원 요소(resource element, RE)로 칭해지며, 각 자원 요소에는 하나의 복소 심볼이 매핑될 수 있다. 자원 격자 내 각 자원 요소는 주파수 도메인 내 인덱스 k 및 시간 도메인에서 참조 포인트에 대해 상대적으로 심볼 위치를 표시하는 인덱스 l에 의해 고유하게 식별된다. NR 시스템에서 RB는 주파수 도메인에서 12개의 연속한(consecutive) 부반송파에 의해 정의된다. NR 시스템에서 RB들은 공통 자원 블록(CRB)들과 물리 자원 블록(physical resource block, PRB)들로 분류될 수 있다. CRB들은 부반송파 간격 설정 u에 대한 주파수 도메인에서 위쪽으로(upwards) 0부터 넘버링된다. 부반송파 간격 설정 u에 대한 CRB 0의 부반송파 0의 중심은 자원 블록 격자들을 위한 공통 참조 포인트인 '포인트 A'와 일치한다. 부반송파 간격 설정 u에 대한 PRB들은 대역폭 파트(bandwidth part, BWP) 내에서 정의되고, 0부터 N
size,u
BWP,i-1까지 넘버링되며, 여기서 i는 상기 대역폭 파트의 번호이다. 공통 자원 블록 nu
CRB와 대역폭 파트 i 내 물리 자원 블록 nPRB 간 관계는 다음과 같다: nu
PRB = nu
CRB + N
start,u
BWP,i, 여기서 N
start,u
BWP,i는 상기 대역폭 파트가 CRB 0에 대해 상대적으로 시작하는 공통 자원 블록이다. BWP는 주파수 도메인에서 복수의 연속한 RB를 포함한다. 예를 들어, BWP는 주어진 반송파 상의 BWP i 내 주어진 뉴머롤러지 ui에 대해 정의된 연속(contiguous) CRB들의 서브셋이다. 반송파는 최대 N개(예, 5개)의 BWP를 포함할 수 있다. UE는 주어진 컴포넌트 반송파 상에서 하나 이상의 BWP를 갖도록 설정될 수 있다. 데이터 통신은 활성화된 BWP를 통해서 수행되며, UE에게 설정된 BWP들 중 기결정된 개수(예, 1개)의 BWP만이 해당 반송파 상에서 활성화될 수 있다.
반송파 집성이 설정된 UE는 하나 이상의 셀들을 사용하도록 설정될 수 있다. UE가 다수의 서빙 셀들을 갖도록 설정된 경우, 상기 UE는 하나 또는 복수의 셀 그룹들을 갖도록 설정될 수 있다. UE는 상이한 BS들과 연관된 복수의 셀 그룹들을 갖도록 설정될 수도 있다. 혹은 UE는 단일 BS와 연관된 복수의 셀 그룹들을 갖도록 설정될 수 있다. UE의 각 셀 그룹은 하나 이상의 서빙 셀들로 구성되며, 각 셀 그룹은 PUCCH 자원들이 설정된 단일 PUCCH 셀을 포함한다. 상기 PUCCH 셀은 Pcell 혹은 해당 셀 그룹의 Scell들 중 PUCCH 셀로서 설정된 Scell일 수 있다. UE의 각 서빙 셀은 UE의 셀 그룹들 중 하나에 속하며, 다수의 셀 그룹에 속하지 않는다.
NR 주파수 대역들은 2가지 타입의 주파수 범위들, FR1 및 FR2로 정의되며, FR2는 밀리미터 파(millimeter wave, mmW)로도 불린다. 다음 표는 NR이 동작할 수 있는 주파수 범위들을 예시한다.
도 4는 수송 블록(transport block, TB)에 대한 전송단 측에서의 처리 과정을 예시한 것이다.
무선 신호가 무선 채널에서 겪는 오류를 수신단이 정정할 수 있도록 하기 위해서 전송단은 보내는 정보를 오류 정정 코드(forward error correction code)를 사용하여 코딩(coding)를 한 후 전송하게 된다. 수신단에서는 수신 신호를 복조(demodulation)한 후 오류 정정 코드의 디코딩(decoding) 과정을 거친 후 전송 정보를 복원하게 된다. 이러한 디코딩 과정에서, 무선 채널에 의해서 생긴 수신신호상의 오류를 정정하게 된다.
데이터가 DL/UL 셀별로 매 TTI마다 최대 2개 수송 블록의 행태로 코딩 블록에 도달한다. 다음의 코딩 단계들이 DL/UL 셀의 각 수송 블록에 대해 적용될 수 있다:
- 수송 블록에 순환 리던던시 검사(cyclic redundancy check, CRC) 코드 부가(add);
- 코드 블록 분할(segmentation) 및 코드 블록 CRC 부착(attachment);
- 채널 코딩;
- 레이트 매칭;
- 코드 블록 연접(concatenation).
실제 통신 시스템에서는 실제 구현의 편리함을 위하여 일정 크기 이상의 수송 블록의 경우 여러 개의 작은 데이터 블록으로 나누어 인코딩을 수행하게 된다. 나누어진 작은 데이터 블록을 코드 블록이라 부른다.
도 5는 몇몇 시나리오들에 따른 수송 블록 인코딩 과정의 일 예를 도시한 것이다. 도 5를 참조하면, 예를 들어, TB CRC가 TB에 부가될 수 있다. 상기 TB CRC는 디코딩 과정 동안 상기 TB를 확인(confirm)하는 데 사용될 수 있다. TB CRC 부착 TB(TB CRC attached TB)가 기결정된 크기보다 크지 않으면, 상기 TB CRC 부착 TB가 (채널) 인코더에 의해 인코딩된다. 상기 TB CRC 부착 TB가 상기 기결정된 크기보다 크면, 상기 TB CRC 부착 TB는 다수 코드 블록(code block, CB)들로 분할될 수 있다. 상기 TB CRC 부착 TB가 다수 CB들로 분할된 경우, 몇몇 시나리오들에서, CB CRC들이 각각의 CB들에 부착될 수 있다. 이를 통해 다수 CB CRC 부착 CB들이 얻어질 수 있다. 상기 CB CRC들은 수신기에 의한 디코딩 과정에서 상기 CB들을 확인(confirm)하는 데 사용될 수 있다. 상기 다수 CB CRC 부착 CB들 각각은 (채널) 인코더를 통해 인코딩될 수 있다. CB들은 일반적으로 같은 크기를 갖게 되지만, 채널 인코더의 내부 인터리버의 크기 제한 때문에 여러 개의 CB들 중 하나의 CB는 다른 크기를 가질 수도 있다. 상기 다수 CB CRC 부착 CB들은 각각의(respective) (채널) 인코더들을 통해 병렬로 인코딩될 수도 있고, 하나의 (채널) 인코더를 통해 하나씩 인코딩될 수도 있다. 몇몇 구현들에서, 정해진 인터리버 크기의 CB 단위로 오류 정정 코딩 과정을 거친 후 무선 채널로 전송 시 발생하는 버스트(burst) 오류의 영향을 줄이기 위해 인터리빙이 수행될 수 있다. 그리고, 실제 무선 자원에 매핑되어 전송된다. 실제 전송시 사용되는 무선 자원의 양이 일정하기 때문에 이에 맞추기 위해서는 인코딩된 코드 블록에 대하여 레이트 매칭이 수행되어야 한다. 일반적으로 레이트 매칭은 펑처링이나 반복(repetition)으로 이루어진다. 예를 들어, 무선 자원의 양, 예를 들어, 해당 무선 자원에 의해 전송될 수 있는 전송 비트 수가 M이고, 코딩된 비트 시퀀스, 즉, 인코더의 출력 비트 수가 N이라 하면, M과 N이 다를 경우, 상기 코딩된 비트 시퀀스의 길이를 조절하여 M과 맞추기 위한 레이트 매칭이 수행된다. M>N이면, 레이트 매칭된 시퀀스의 길이가 M과 같아지도록, 코딩된 비트 시퀀스의 비트들 중 전부 혹은 일부가 반복된다. M<N이면, 레이트 매칭된 시퀀스의 길이가 M과 같아지도록, 코딩된 비트 시퀀스의 비트들 중 일부가 펑처링되며, 펑처링된 비트는 전송에서 제외된다.
무선 통신 시스템에서는 전송단이 특정 코드 레이트를 지니는 채널 코딩을 사용하여 전송할 데이터를 인코딩한 후, 펑처링과 반복으로 이루어진 레이트 매칭 과정을 통해 전송할 데이터의 코드 레이트를 조절하게 된다.
레이트 매칭 및 코드 블록 연접 후의 출력 비트 시퀀스는 변조 방식(modulation scheme)에 따라 변조기(modulator)를 통해 변조 심볼들로 변조된다. 상기 변조 심볼들은 기지국에 의해 할당된 무선 자원들에 매핑되며, 상기 무선 자원들을 통해 수신기에게 전송된다. 채널 코드의 디코딩 과정은 인코딩 과정의 반대 과정이며, 전송기의 각 인코더에 대응하는 디코더가 수신기에서 수행되는 디코딩 과정에 사용된다. 수신기는 각 코드 블록(code block, CB)별로 디코딩을 수행한 후, TB를 구성하고 최종적으로 상기 TB에 대해 TB CRC 통과 여부를 확인한다. 현재 3GPP 기반 시스템에서는 CB CRC가 빠른 디코딩 종료를 위해 사용된다. 예를 들어, CB CRC가 실패인 경우, 수신기는 다른 CB들을 디코딩하지 않고 NACK을 생성할 수 있다.
도 6은 레이트 매칭 과정의 개념을 설명하기 위해 도시된 것이다.
몇몇 구현들에서, 채널 코딩 후에 레이트 매칭이 수행될 수 있다. 3GPP 기반 시스템에서, 코디드 비트들에 대한 레이트 매칭은 코드 블록별로 정의되고 서브-블록 인터리빙, 비트 선택(selection), 및 비트 인터리빙으로 이루어질 수 있다. 예를 들어, 레이트 매칭으로의 입력 비트 시퀀스를 d0,d1,d2,d3,...,dN-1로, 레이트 매칭 후에 출력 비트 시퀀스를 f0,f1,f2,f3,...,fE-1로, 서브-블록 인터리버들에게 입력되는 비트들을 코디드 비트들 d0,d1,d2,d3,...,dN-1로 표시(denote)하면, 상기 코디드 비트들 d0,d1,d2,d3,...,dN-1은 복수 개의 서브-블록들로 나눠질 수 있다. 여기서, E는 해당 수송 블록을 위해 스케줄링된 무선 자원의 크기를 기반으로 결정되는 값일 수 있다. 해당 코드 블록에 대해 기결정된 혹은 기정의된 길이일 수 있다. 상기 서브-블록 인터리버로들부터 출력되는 비트들은 y0,y1,y2,y3,...,yN-1로서 표시(denote)하면, 서브-블록 인터리빙 후의 비트 시퀀스 y0,y1,y2,y3,...,yN-1는 길이 N의 순환 버퍼에 쓰여진다(written). 서브-블록 인터리버들이 사용되지 않으면, 즉, 서브-블록 인터리빙이 적용되지 않는 경우, 코디드 비트들 d0,d1,d2,d3,...,dN-1이 길이 N의 순환 버퍼에 쓰여진다(written).
순환 버퍼로부터 레이트 매칭 출력 시퀀스 길이 E만큼의 비트들이 전송 비트들로서 출력된다. 예를 들어, 이번 전송을 위한 리던던시 버전 번호를 rvid라 하면, 서브-블록 인터리빙이 적용되지 않는 경우, 해당 코드 블록에 대한 순환 버퍼로부터 레이트 매칭 출력 비트 시퀀스 fk (여기서, k=0,1,2,...,E-1)이 다음에 따라 얻어질 수 있으며, 여기서 k0는 rvid의 값와 상기 순환 버퍼의 크기 Ncb, 해당 채널 코드를 기반으로 결정되는 값일 수 있다.
> k = 0;
> j = 0;
> while k < E
>> if d(k0+j)mod Ncb ≠<NULL>
>>> fk = d(k0+j)mod Ncb;
>>> k = k+1;
>> end if
>> j = j+1
> end while.
도 4에서 코드 블록(code block, CB) 연접 블록에 대한 입력 비트 시퀀스들을 시퀀스들 fr0, fr1, fr2, fr3,...,fr(Er-1)이라 하면, 여기서 r=0,...,C-1, C는 코드 블록들의 개수이며, Er은 r-번째 코드 블록에 대한 레이트 매칭된 비트들의 개수이다. Er은 무선 자원의 크기를 기반으로 결정되는 값일 수 있다. 상기 코드 블록 연접을 통해 상이한 코드 블록들에 대한 레이트 매칭 출력들을 순차적으로(sequentially) 연접될 수 있다.
하이브리드 자동 요청(hybrid automatic request, HARQ)는 순방향 오류 정정(forward error correction, FEC)와 자동 반복 요청(automatic repeat request, ARQ)가 결합된 기술이다. 예를 들어, 전송기에서 FEC를 이용하여 인코딩된 코디드 비트들의 전체 또는 일부를 전송하고, 수신기에서 수신된 데이터의 오류 여부를 검출하고 전송기로 상기 수신된 데이터에 대한 확인(acknowledgement, ACK) 혹은 부정 ACK(negative ACK, NACK)을 나타내는 HARQ-ACK 신호를 전송한다. 수신기에 수신된 데이터에 오류가 없거나 일정 임계치보다 낮다고 판단될 경우에 전송기는 새로운 데이터를 전송하는 반면, 수신기에 수신된 데이터에 오류가 존재하거나 일정 임계치 이상이라고 판단될 경우에는 전송기는 해당 데이터 블록을 재전송한다. 수신기는 재전송된 데이터 블록을 이전에 전송된 데이터 블록과 컴바이닝하여 다시 디코딩을 수행하여 오류 여부를 검출한다. 이와 같은 동작은 오류가 검출되지 않거나 미리 정해진 차수가 될 때까지 수행될 수 있다. 재전송되는 데이터 블록의 디코딩을 위한 컴바이닝 방식은 다음 2가지로 나뉠 수 있다.
* 체이스 컴바이닝(Chase combining): 수신기에서의 컴바이닝을 위해, 전송기는 최초 전송된 코디드 비트들과 동일한 코디드 비트들을 재전송한다. 체이스 컴바이닝은 재전송된 데이터 블록의 디코딩 시 전력 이득을 통해서 오류 확률을 줄일 수 있다.
* 증분 리던던시(Incremental redundancy, IR): 수신기에서의 컴바이닝을 위해, 전송기는 최초 전송된 코디드 비트들과 동일하지 않은 코디드 비트들을 재전송한다. 예를 들어, 전송기는 최초 전송에서 보내지 않은 리던던시를 재전송에서 수신기에게 보낸다. 재전송에서는 이전 전송에서 보내지 않은 리던던시가 보내지므로, 이전 전송의 리던던시와 현재 전송의 리던던시가 합해져 리던던시가 증가하게 되고, 이에 따라 코드 레이트가 낮아지는 효과가 있다. 즉, 증분 리던던시는 재전송된 데이터 블록의 디코딩 시 코딩 이득을 통해서 오류 확률을 줄일 수 있다 일반적으로, 체이스 컴바이닝은 증분 리던던시 중 증분된 리던던시가 없는 경우에 해당하므로, 체이스 컴바이닝은 증분 리던던시의 특별한 형태로 해석될 수도 있다.
HARQ 동작의 경우, 수신기는 수신된 혹은 수신이 스케줄링된 패킷들에 대해 ACK 아니면 NACK을 생성하여 전송기에 제공한다. 전송에 대해 NACK을 수신한 전송기는 요구되는 패킷을 다시 보낼 수 있다. 순환 버퍼로부터 읽혀 나와 각 재전송에서 보내지는 비트들은 리던던시 버전(redundancy version, RV)으로 결정되는 전송 시작 위치에 따라 상이할 수 있다. 도 6을 참조하면, 순환 버퍼로부터 비트들이 읽혀 나오는 시작 지점의 위치를 정의하는 복수 개(예, 4개) RV들이 있다.
순환 버퍼는 레이트 매칭을 위한 중요한 부분이며, 코디드 비트들에 대한 펑처렁 및/또는 반복을 가능하게 한다. 도 6을 참조하면, 코디드 비트들 혹은 코디드 비트들에 대한 서브-블록 인터리빙 후의 출력 비트들이 머더 코드에 대한 순환 버퍼에 순차적으로 쓰여진다. 코디드 비트들의 개수는 상기 순환 버퍼 내 RV 포인트에 의해 특정되는 시작 시점부터 순서대로 읽혀진다.
오류 정정 코드들에는 다양한 종류가 있다. 오류 정정 코드들 중 저밀도 패리티 검사(low density parity check, LDPC) 코드는 패리티 검사 행렬(parity check matrix) H의 원소(element)들의 대부분이 0이어서 저 밀도(low density)인 선형 블록 코드(linear block code)로서 1962년 갤러거(Gallager)에 의해 제안되었다. LDPC 코드는 매우 복잡하여 제안 당시의 기술로는 구현이 불가능하였기 때문에 잊혀져 있다가 1995년에 재발견되어 성능이 매우 우수함이 입증된 이래로 그에 관한 연구가 활발히 진행되었다(참고문헌: [1] Robert G. Gallager, "Low-Density Parity-Check Codes", The MIT Press, September 15, 1963. [2] D.J.C.Mackay, Good error-correcting codes based on very sparse matrices, IEEE Trans. Inform. Theory, IT-45, pp.399-431(1999)). 현재 LDPC 코드는 802.11n('IEEE P802.11n=D10: 'Draft IEEE Standard for Local Metropolitan networks Specific requirements. Part 11: Wireless LAN Medium Access Control (MAC), and Physical Layer (PHY) specifications: Enhancements for Higher Throughput', March 2006.'참조), 802.11ac, 디지털 비디오 방송(digital video broadcasting, DVB) 등에서 주로 사용되고 있다. 일반적으로, LDPC를 적용한 표준(예, DVB 표준)에서는 생성기 행렬 대신에 패리티 검사 행렬을 이용하여 인코딩이 수행된다. LDPC 코드의 패리티 검사 행렬은 1의 개수가 매우 적기 때문에 매우 큰 블록 크기에서도 반복(iterative) 디코딩을 통하여 디코딩이 가능하여, 블록 크기가 매우 커지면 터보 코드처럼 섀넌(Shannon)의 채널 용량 한계에 근접하는 성능을 보인다. 상기 패리티 검사 행렬에서 행(row) 또는 열(column)에 포함된 1의 개수를 무게(weight)라 한다. LDPC 코드는 (n-k)*n 패리티 검사 행렬 H에 의해 설명될 수 있다. 패리티 검사 행렬 H에 대응하는 생성기 행렬(generator matrix) G는 다음 수학식에 의해 얻어질 수 있다.
여기서, c는 코드워드(codeword)이고, x는 정보 비트들이다. 수신기의 디코더(decoder)는 전송장치에 의한 인코딩 결과인 코드워드 c에서 정보 비트들 x를 구해야 하는데, Hc=0인 성질을 이용하여 x를 찾아낸다. 즉, 수신된 코드워드를 c'이라 할 때, Hc'의 값을 계산하여 결과가 0이면, c'의 앞의 k개의 비트들을 디코딩된 정보 비트들인 것으로 결정한다. Hc'의 값이 0이 아닌 경우, 그래프(graph)를 통한 합 곱(sum-product) 알고리즘, 신뢰도 전파(belief propagation) 알고리즘 등을 사용하여, Hc'의 값이 0을 만족하는 c'를 찾아 x를 복구한다. 상기 검사식 Hc'=0는, 해당 정보 비트와 해당 생성기 행렬 G 간의 관계에 따라 c'H
T=0로 바뀔 수 있으며, 따라서 상기 검사 식은 상기 정보 비트와 상기 생성기 행렬 G 간의 관계에 따라 변할 수 있다.
도 7은 LDPC 코드의 패리티 검사 행렬 H와 해당 태너(Tanner) 그래프를 예시한다.
패리티 검사 행렬은 LDPC 코드의 패리티 검사 식들을 정의하는 이진 행렬이다. 하나의 LDPC 코드를 정의하는 패리티 검사 행렬(parity check matrix)는 하나의 태너(Tanner) 그래프에 의해 표현될 수 있다. 패리티 검사 행렬의 열 벡터(column vector)는 변수 노드(variable node), 패리티 검사 행렬의 행 벡터(row vector)는 검사 노드(check node)와 연관이 있다. 패리티 검사 행렬의 i-번째 행, j-번째 열에 '1'이 존재한다는 것은 i-번째 검사 노드와 j-번째 변수 노드가 연결되어 있음을 의미한다. 예를 들어, 다음과 같은 패리티 검사 행렬(parity check matrix, PCM) H가 있다고 가정하자.
상기 PCM H 또는 도 7(a)를 참조하면, 상기 PCM H의 첫 번째 행, 즉, 첫 번째 검사 노드(check node, CN)는 첫 번째, 두 번째, 세 번째, 및 네 번째 변수 노드(variable node, VN)들과 연결되어 있고, 두 번째 CN은 세 번째, 네 번째, 및 여섯 번째 VN들과 연결되어 있으며, 세 번째 CN은 첫 번째, 네 번째, 및 다섯 번째 VN들과 연결되어 있다. 이를 태너 그래프로 표현하면 도 7(b)와 같을 수 있다. 태너 그래프는 i) 코디드 비트들을 표현(represent)하는 VN들, ii) 상기 코디드 비트들이 만족해야 하는 패리티 검사 식들을 표현하는 CN들, 그리고 iii) VN들과 CN들을 연결하는 엣지(edge)들로 이루어진다. 태너 그래프들에서, 관용적으로, 검사 노드는 사각형으로 표시(express)되며, 변수 노드는 원형으로 표시된다. 행 및 열 무게(weight)들과 같은 PCM H의 속성(property)들은 태너 그래프에서 노드 차수(degree)들로 변환된다. PCM H 내 드물게 분포된(sparsely distributed) 0이 아닌(non-zero) 엔트리들은 태너 그래프에서 엣지들을 표현한다. 0이 아닌 엔트리들의 희소성(sparsity)은 신뢰 전파(belief propagation, BP) 알고리즘으로 알려진 반복(iterative) 디코딩 알고리즘을 사용하여 이러한 코드들의 효율적 디코딩을 가능하게 한다.
도 8은 인코딩에 의해 생성된 시스터매틱 코드워드 구조의 예이다.
LDPC 코드의 PCM은 모든 유효한 코드워드들의 세트를 특정한다. LDPC 코드들의 경우, 유효한 코드워드들은 항상 xH
T = 0에 의해 정의된 패리터 검사 제약(constraint)들을 만족한다. 메시지 비트들을 유효한 코드워드로 매핑하는 과정이 인코딩이라 불린다. 코드워드는 i) 메시지 비트들 u = [u1, u2, u3, ..., uK]과 ii) 상기 PCM에 의해 부가된 상기 제약들에 의해 함께 매핑되는 패리티 비트들 p =[p1, p2, p3, ..., pN-K]로 이루어진다.
LDPC 코드들은 선형 블록 코드들이므로, 메시지 u =[u1, u2, u3,..., uK]를 코드워드 x = [x0, x1 x2, ..., xn-1]로 인코딩하는 것은 u 및 G의 곱으로 다음과 같이 표현될 수 있다: x = uG, 여기서 G는 K-by-N의 생성기 행렬(generator matrix)이다.
시스터매틱 LDPC 코드워드들의 경우, 행렬 G는 K-by-K 항등(identity) 행렬 I
K 그리고 (N-K)-by-K 이진(binary) 행렬 A로 이루어지며, G = [I
K A] 형태의 생성기 행렬이며, 첫 K개 코드워드 비트들은 메시지 비트들 u1, u2, u3, ..., uK로 이루어지고(이는 i-번째 메시지 비트는 i-번째 코드워드 비트에 매핑됨을 의미함), 그리고 나머지 N-K 코드워드 비트들은 (메시지 비트들의 선형 합(linear sum)들인) 패리티 비트들 p1, p2, p3, ..., pN-K로 이루어진다. 생성된 코드워드 x는 도 8에 의해 보여진 형태일 수 있다.
도 9와 도 10은 LDPC 코드의 패리티 검사 행렬 H를 이분 그래프(bipartite graph)를 통해 설명하기 위해 도시된 것이다.
도 9(a)에 예시된 패리티 검사 행렬의 행(row)에서의 '1'은 이분 그래프에서 검사 노드에 연결된 엣지(edge)를 나타내고, 열(column)에서의 '1'은 변수(variable) 노드에 연결된 엣지를 나타낸다. 도 9(b)는 도 9(a)에 예시된 패리티 검사 행렬에 대응하는 이분 그래프의 일부를 예시한 것이다. 도 9(b)를 참조하면 상호 그래프에서 왼쪽 노드들은 변수 노드를 나타내고 오른쪽 노드들은 검사 노드를 나타낸다.
도 10은 다른 패리티 검사 행렬과 전체 상호(bipartite) 선들을 예시한 것이다.
도 10을 참조하면, 패리티 검사 행렬 H와 코드워드 c'의 곱이 0이 되어야 하므로, 임의의(any) 한 검사 노드에서 상기 검사 노드에 연결된 변수 노드들의 경판정(hard decision)된 값의 합이 '0'이 되어야 한다. 도 10(b)에 각 검사 노드에 대한 하드 결정을 위한 수학식들이 예시된다. 이와 같이 검사 노드에서 상기 검사 노드와 연결된 변수 노드(들)의 합이 '0'인지를 검사하는 것을 신드롬(syndrome) 검사(check)라고 한다.
NR 표준에 반영된 LDPC 코드는 의사 순환(quasi-cyclic) LDPC(QC-LDPC) 코드인 것으로 분류될 수 있다. QC-LDPC 코드는 인코딩/디코딩의 복잡도(complexity)가 크지 않고, 병렬화에 유리한 구조를 가지고 있다. QC-LDPC 코드의 패리티 검사 행렬은 Zc-by-Zc 순환 퍼뮤테이션 행렬(circulant permutation matrix, CPM)의 m-by-n 배열(array)로 표현될 수 있다. 예를 들어, 패리티 검사 행렬은 모델 행렬 혹은 기본 그래프(base graph, BG)(기본 행렬 또는 기본 코드라고도 함) 내 각 원소를 Zc-by-Zc CPM 또는 Zc-by-Zc 영 행렬로 대체(replace)함으로써 얻어질 수 있다. 크기 m-by-n의 모델 행렬 또는 크기 m-by-n의 LDPC BG로부터 (mZc)-by-(nZc) 패리티 검사 행렬을 얻는 과정을 리프팅(lifting) 혹은 확장(expanding)이라고 한다.
도 11은 순환 퍼뮤테이션 행렬(circulant permutation matrix, CPM)들을 예시한다. 특히, 도 11은 4×4 CPM를 예시한다. 도 11을 참조하면, CPM P
a에서 a는 순환 천이 값(circulant shift value)이며 음이 아닌 정수이고, 크기 Zc×Zc의 항등 행렬 I를 오른쪽으로 혹은 왼쪽으로 a번만큼 순환 천이하여 얻어진다. 도 11에서 영 행렬은 P
Δ로서 표현되었으나, 시스템 혹은 표준에서의 정의에 따라 다르게 표기될 수 있다. 예를 들어, 시스템 혹은 표준에 따라서는 순환 천이 값 a = -1이 영 행렬을 나타내기 위해 사용되기도 한다.
LDPC를 위한 모델 행렬에서 각 원소는 CPM의 순환 천이 값 또는 영 행렬을 나타내는 값이다. LDPC BG의 각 원소는 0 또는 1이며, LDPC BG내 값 0의 각 원소는 크기 Zc×Zc의 영 행렬 0에 의해 대체되고, LDPC BG 내 값 1의 각 원소는 CPM I(Pi,j)에 의해 대체되며, 여기서 i 및 j는 그 원소의 행(row) 인덱스 및 열(column) 인덱스이고, I(Pi,j)는 크기 Zc-by-Zc의 항등 행렬 I를 오른쪽으로 혹은 왼쪽으로 Pi,j번만큼 순환 천이하여 얻어진다. Pi,j의 값은 Pi,j = mod(Vi,j, Zc)에 의해 주어질 수 있다. Vi,j의 값은 모델 행렬의 순환 천이 값에 해당할 수 있으며, LDPC가 사용되는 시스템에 따라 기정의되어 있을 수 있다. 예를 들어, 3GPP TS 38.212 Release 15의 경우, Vi,j의 값은 세트 인덱스 iLS 및 LDPC BG에 따라 3GPP TS 38.212 Release 15의 표 5.3.2-2 및 표 5.3.2-3에 의해 주어진다(3GPSS TS 38.212 Release 15의 섹션 5.3.2 참조).
NR 표준에 도입된 BG의 경우, 고차원(high degree)을 갖는 변수 노드(variable node)에 해당하는, 기본 그래프의 첫 2개 열(column)들이 펑처링된다. 즉, 기본 그래프와 리프팅 크기 Zc를 기반으로 확장된 패리티 검사 행렬의 첫 2Zc개 열들이 펑처링된다. 따라서, 상기 패리티 검사 행렬을 이용한 인코딩 후에 얻어진 코디드 비트들 중 첫 2Zc개 비트들이 펑처링된다. 또한, NR 표준에 도입된 BG는 낮은 코드 레이트를 지원하기 위해서 단일(single) 패리티 확장의 특징을 가지고 있다. 다양한 데이터 블록 크기(예, 수송 블록 크기, 혹은 코드 블록 크기)를 지원하고, 좋은 성능을 위해서 각각 8개의 CPM 값들(즉, 8개 CPM에 대한 각각의(respective) 순환 천이 값들)을 갖는 2개 BG들이 정의된다. 이 때, 패리티 검사 행렬은 다음과 같이 표현될 수 있다: H = H
BG + Vi,j, 여기서 H
BG는 LDPC BG이고, Vi,j 는 CPM의 순환 천이 값을 나타낸다.
도 12는 LDPC 코드의 기본 그래프의 개략적 구조를 예시한다. 특히, 도 12(a)는 NR 표준에 따른 LDPC 기본 그래프 1(BG1)의 개략적 구조도이고, 도 12(b)는 NR 표준에 따른 LDPC 기본 그래프 2(BG2)의 개략적 구조도이다.
3GPP TS 38.212 Release 15에 의하면, BG1는 시스터매틱 정보 비트들에 해당하는 Kb=22이고, 최소 코드 레이트 1/3을 지원하며, 46-by-68 차원의 행렬이다. BG2는 시스터매틱 정보 비트들에 해당하는 Kb=10이고, 최소 코드 레이트 1/5을 지원하며, 42-by-52 차원의 행렬이다. 일반적으로 BG1은 큰 데이터 블록 크기에 대해서 성능 면에서 유리하고, BG2는 작은 데이터 블록 크기와 낮은 코드 레이트에 대해 디코딩 지연(latency) 면에서 유리하다.
도 13은 LDPC 기본 그래프를 선택하는 기준을 설명하기 위해 도시된 것이다. 수송 블록을 운반하는 물리 채널을 스케줄링하는 제어 정보 포맷 내 변조 및 코딩 방식(modulation and coding scheme, MCS) 인덱스에 의해 지시되는 코딩 레이트 R(즉, 코드 레이트 R)을 가진 수송 블록의 (초기) 전송, 그리고 동일 수송 블록의 재전송을 위해, 상기 수송 블록의 각 코드 블록은 LDPC BG1 혹은 LDPC BG2로 인코딩될 수 있다. 도 13을 참조하면, 예를 들어, A≤292이면, 혹은 A≤3824 및 R≤0.67이면, 혹은 R≤0.25이면, LDPC BG2가 사용된다; 그렇지 않으면 LDPC BG1이 사용되며, 여기서 A는 페이로드 크기, 예를 들어, 수송 블록 크기(transport block size, TBS)이다.
코드 블록 크기 K와 BG의 Kb 값을 이용하여 CPM의 크기 Z가 다음 수식 (1)과 같이 계산할 수 있다: Z = K/Kb.
위 수식에 의해서 결정된 Z 값에 따라 CPM 크기들(즉, 리프팅 크기들)이 다음 수식을 이용하여 선택될 수 있다: i = {Z∈Sj | j∈{1,...,8}}. 다음 표는 이 수식을 이용하여 얻어진 다양한 Z 값들의 세트들을 예시한다.
TBS와 코딩 레이트 R을 기반으로 결정된 BG, 그리고 CPM 크기(즉, 리프팅 크기)를 이용하여 패리티 검사 행렬이 얻어질 수 있다. 예를 들어, 위 표 내 리프팅 크기들의 모든 세트들에서 Kb*Zc≥K'가 되도록 하는 Z의 최소 값인 Zc를 찾아지고, LDPC BG1에 대해 K = 22Zc가, LDPC BG2에 대해 K = 10Zc가 세팅될 수 있다. 여기서, K' = B'/C이며, 각 코드 블록 내 비트들의 개수 K이고, B' = B + C*L이며, 여기서 B는 CRC가 부가된 TB의 크기로서 B = A + L이고, A는 페이로드 크기(즉, TBS)이고, C는 코드 블록들의 개수이며, L은 TB에 부착되는 CRC 시퀀스의 길이, 즉, CRC 비트들의 개수이다. 전송 데이터인 수송 블록(TB)는 MAC PDU로서, 전송기는 예를 들어 24-비트의 CRC 시퀀스를 TB에 부가하고 LDPC 인코딩을 수행한다. 다만, CRC가 부가된 TB의 크기가 일정 값 이상일 경우에는 CRC가 부가된 TB는 다수의 코드 블록(CB)들로 분할(segment)된다. 3GPP TS 38.212 Release 15에 의하면, BG1의 경우에는 CRC가 부가된 TB의 크기가 8448-비트를 초과하면 코드 블록 분할(code block segmentation)이 수행되고, BG2의 경우에는 CRC가 부가된 TB의 크기가 3840-비트를 초과하면 코드 블록 분할이 수행된다. 하나의 TB를 기반으로 얻어지는 코드 블록들의 개수 C는 다음을 이용하여 얻어질 수 있다: C = CEIL{B/(Kcb - L)}, 여기서 Kcb는 최대 코드 블록 크기이고 L은 각 코드 블록에 부착되는 추가 CRC 시퀀스의 길이, 즉, CRC 비트들의 개수이다. 앞서 언급된 바와 같이 B는 CRC가 부가된 TB의 크기이다. 3GPP TS 38.212 Release 15에 의하면, Kcb는 BG1의 경우 8448, BG2의 경우 3840, L은 24이다. CB들의 개수 C > 1이면, 각 CB에는 24-비트의 CRC가 부가된 후, LDPC 인코딩이 수행된다.
주어진 코드 블록에 대한 비트 시퀀스 입력을 c0,c1,c2,c3,...,cK-1라 표시하고, 인코딩 후의 비트들은 d0,d1,d2,d3,...,dN-1라고 표시하면, LDPC에 의해 인코딩되는 각 코드 블록에 대해, 예를 들어, 다음 인코딩 과정이 적용될 수 있으며, 여기서 K는 인코딩할 비트들의 개수이고, N은 인코딩 후의 비트들의 개수이다:
> 1) 표 4에서 Zc를 포함하는 인덱스 iLS인 세트를 찾는다.
> 2) for k = 2Zc to K-1
>> if ck ≠ <NULL>
>>> dk-2Zc = ck;
>> else
>>> ck = 0;
>> end if
> end for
> 3) 가 되도록 N+2Zc-K개 패리티 비트들 w = c=[w0,w1,w2,w3,...,cN+2Zc-K-1]T을 생성하며, 여기서 c=[c0,c1,c2,c3,...,cK-1]T; 0은 모든 원소들이 0인 열 벡터이다. 인코딩은 GF(2)에서 수행되며, 여기서 GF는 갈로아 필드(Galois Field)이다. 몇몇 시나리오들에서, LDPC BG1의 경우에는 H
BG의 행렬은 행 인덱스 i=0,1,2,...,45인 46개 행들 및 열 인덱스들 j=0,1,2,...,67인 68개 열들을 가질 수 있다. 몇몇 시나리오들에서 LDPC BG2의 경우에는 H
BG의 행렬은 행 인덱스 i=0,1,2,...,41인 42개 행들 및 열 인덱스들 j=0,1,2,...,51인 52개 열들을 가질 수 있다. 패리티 검사 행렬 H는 다음에 따라 H
BG의 각 원소를 Zc-by-Zc 행렬로 대체(replace)함으로써 얻어질 수 있다:
- H
BG 내 값 0의 각 원소는 크기 Zc*Zc의 영 행렬 0에 의해 대체된다;
- H
BG 내 값 1의 각 원소는 크기 Zc*Zc의 순환 퍼뮤테이션 행렬 I(Pi,j)에 의해 대체되며, 여기서 i 및 j는 그 원소의 행(row) 인덱스 및 열(column) 인덱스이고, I(Pi,j)는 크기 Zc-by-Zc의 항등 행렬 I를 오른쪽으로 혹은 왼쪽으로 Pi,j번만큼 순환 천이하여 얻어진다. Pi,j의 값은 Pi,j = mod(Vi,j, Zc)에 의해 주어질 수 있다. 예를 들어, 3GPP TS 38.212 Release 15의 경우, Vi,j의 값은 상기 세트 인덱스 iLS 및 LDPC BG에 따라 3GPP TS 38.212 Release 15의 표 5.3.2-2 및 표 5.3.2-3에 의해 주어진다(3GPSS TS 38.212 Release 15의 섹션 5.3.2 참조).
> 4) for k = K to N+2Zc-1
>> dk-2Zc = wk-K;
> end for.
높은 데이터 레이트를 요구하는 통신 시스템을 지원하려면, 단위 전송 시간에 더 많은 데이터 비트들이 전송되어야 한다. 현재, 5G 표준에서는 전송 데이터 비트들은 수송 블록(transport block, TB) 형태로 전송이 되며, TB가 일정 크기 이상인 경우에는 다수 개의 코드 블록(code block, CB)들로 분할되며, 전송기는 각 CB를 인코딩하여 전송한다. 이 경우, 더 높은 데이터 레이트가 지원되려면 TBS가 증가되므로, 전송되는 CB들의 개수가 증가된다. 일반적으로 TB 전송에 대해 일정 블록 오류 비율(block error ratio, BLER)을 만족하도록 전송 파라미터들이 설정되는데, CB들의 개수가 증가하면 해당 BLER를 만족하기 위한 각 CB의 오류 요구조건(requirement)도 강화된다. 또한, 특정 CB의 오류에도 전체 TB가 재전송되어야 하기 때문에 HARQ 전송 효율도 감소하게 된다. 이와 같은 상황을 해결하기 위해 다음과 같은 전송 방법들이 고려될 수 있다.
* 방법 1: 전송기는 오류가 발생한 CB에 대해서만 선택적으로 재전송을 수행함으로써 HARQ전송 효율을 높일 수 있다. 이 경우, HARQ ACK 피드백 오버헤드 및 제어 시그널링 비트들의 개수가 증가하게 된다.
* 방법 2: 전송기가 인터-CB 인코딩을 수행하고, CB 오류가 발생한 경우에는 수신기에서 인터-CB 디코딩을 수행할 수 있도록 하여, CB BLER이 개선될 수 있다. 이 경우, 추가적인 디코딩이 필요하게 되어 복잡도가 증가하게 된다.
5G 표준에서는 방법 1이 채택되었다. 시그널링 오버헤드를 고려하여 다수 개의 CB들을 코드 블록 그룹(code block group, CBG)로서 정의함으로써 시그널링 오버헤드를 감소시키는 형태로 방법 1이 적용될 수도 있다. 그런데, 더 높은 데이터 레이트를 요구하는 통신 시스템의 경우, TBS가 증가함에 따라 CBG 내의 CB들의 개수도 증가하게 되어 방법 1의 효율이 감소할 수 있다. 따라서, 이하에서 설명되는 본 명세의 몇몇 구현들에서는 방법 2가 고려된다.
본 명세의 몇몇 구현들에서, 인터-CB 인코딩을 위해, GC LDPC(globally coupled LDPC code)가 사용될 수 있다.
도 14는 글로벌하게 커플된 LDPC(globally coupled LDPC, GC LDPC) 코드의 구조의 일 예이다. 예를 들어, 도 14는 GC LDPC 코드의 기본 행렬(base matrix) 혹은 패리티 검사 행렬의 구조일 수 있다. 도 14(a)는 GC LDPC의 기본 행렬(base matrix) 혹은 패리티 검사 행렬 구조를 예시하며, 도 14(b)는 GC LDPC를 태너(Tanner) 그래프 표현(representation)의 관점에서 예시한다. GC LDPC 코드들의 구성(construction)은 통상적으로 2 단계들을 거친다. 첫 번째 단계에서 기본 행렬(즉, 기본 그래프)가 설계되고, 그리고 나서 상기 기본 행렬의 각 원소가 크기 Z-by-Z의 CPM 또는 Z-by-Z의 영 행렬로 대체된다.
기존 5G의 TB 기반 통신은 일부 CB에 대한 오류 발생 시, 전체 TB에 대한 추가 전송 혹은 일부 TB에 대한 추가 전송을 요구하고, 이는 높은 지연 시간 및 자원 소모로 이어진다. GC LDPC 코드는 다수의 구성 블록 LDPC 코드들을 기반으로 설계된다(문서 "Li, S. Lin, K. Abdel-Ghaffar, W. E. Ryan, and D. J. Costello, "Globally coupled LDPC codes," in Information Theory and Applications Workshop (ITA), Jan. 2016."참조). GC LDPC 코드들은 오류 정정 능력을 강화하기 위해 변수 노드들 간에 글로벌 커플링을 도입함으로써, 전통적(traditional) LDPC 코드들을 새로이 확장한 것이다. GC LDPC 코드의 기본 행렬 혹은 패리티 검사 행렬은, 로컬 코드들이라고 불리는, 블록 LDPC 코드들의 공통 원소를 갖지 않는(disjoint) 복사본들과 모든 로컬 코드들의 기본 행렬들 혹은 패리티 검사 행렬들을 하나의 큰 행렬로 연결하는 글로벌 파트를 포함한다. 상기 로컬 코드들은 로컬 LDPC 코드들로도 불리며, 로컬 코드들 간의 연결은 도 14에 예시된 바와 같이 글로벌 커플링 검사 노드들로만 이루어진다. 해당 글로벌 검사 노드들은 디코딩 시 코드들 간 다양성(diversity)를 제공하여 구성 코드들의 오류 정정 성능을 향상시킨다. 도 14의 패리티 검사 행렬의 하단(bottom)의 글로벌 커플링 부분에서 검사 노드들은 모든 변수 노드들을 연결하여 각 코디드 비트에 대한 높은 연결성(connectivity)를 제공하며, 이는 반복(iterative) 디코딩의 더 빠른 수렴(convergence)를 제공하고 오류 정정 성능을 향상시킨다. GC LDPC 코드들의 구조는 서로 떨어진(disjoint) 로컬 코드들이 병렬 인코딩 및 디코딩을 용이하게 할 수 있으므로, 높은 처리량(throughput) 전송을 제공한다.
이하에서 로컬 코드워드는 하나의 로컬 코드에 의해 생성된 하나의 코드워드는 로컬 코드워드를 의미할 수 있고, 글로벌 코드워드는 로컬 코드워드들로부터 얻어진 코드워드(예, 상기 로컬 코드워드들을 연접하여 얻어진 코드워드)에 대해 본 명세의 몇몇 구현들에 따른 글로벌 코드를 적용하여 얻어진 코드워드를 의미할 수 있다.
도 15 및 도 16은 GC LDPC 코드의 오류 정정 성능을 예시한다. 특히, 도 15는 코드 레이트 0.5인 구성(component) 코드들의 개수 L(예, 로컬 코드들의 개수 L)의 변화에 따른 성능을 예시하며, 도 16은 단일 GC LDPC 코드에 대한 디코딩 수행과 2-단계 디코딩 시의 오류율 성능을 코드 레이트에 따라 비교한 것이다.
도 15를 참조하면, 적정 코드 레이트 조건 0.5에서 기존 LDPC 코드가 L의 증가에 따라 TB 오류율 성능이 저하되는 것과 달리 GC LDPC 코드는 커플링되는 구성 코드들의 개수 L이 증가함에 따라 오류율 성능 이득을 얻을 수 있음을 확인할 수 있다.
GC LDPC 코드의 경우, 수신기는 먼저 로컬 코드들에 대한 디코딩을 수행하고, 일부 로컬 코드에 대한 디코딩에 실패하면 전체 코드에 대해 글로벌 커플링 검사 노드들를 활용하여 디코딩을 수행한다. 이를 통해 수신기는 글로벌 검사 노드의 활용 횟수를 최소화함으로써 디코딩 지연시간을 최소화할 수 있다. 다시 말해, GC LDPC 코드의 경우, 수신기는 2-단계 디코딩(two-stage decoding)을 통해 개별 로컬 코드워드에 대한 디코딩이 실패했을 때에만 글로벌 코드워드에 대한 디코딩을 수행하여 지연 시간 및 디코딩 복잡도를 최소화할 수 있다. 도 16을 참조하면, 코드 레이트 R = 0.5의 조건 하에서 수신기가 2-단계 디코딩 과정에서 일정 반복(iterative) 횟수 이상 디코딩을 수행하는 경우, GC LDPC 코드를 구성하는 로컬 코드들에 대한 단일 디코딩을 수행하는 것에 비하여 2-단계 디코딩을 통하여 오류율 성능을 개선할 수 있음을 확인할 수 있다. 이는 로컬 코드들로만 이루어진 LDPC 코드의 TB 오류율 성능을 개선시킨다.
도 17은 GC LDPC 코드의 패리티 검사 행렬의 일반적 구조를 예시한다.
앞서 설명된 바와 같이, 글로벌-커플된(global-coupled, GC) LDPC 코드는 여러 개의 로컬(local) LDPC 코드들을 글로벌 검사 노드(들)을 통해 연결하는 LDPC 코드의 일종이다. GC LDPC 코드의 경우, 글로벌 검사 노드(들)이 추가되며, 글로벌 검사 노드(들)의 추가는 패리티 검사 행렬의 관점에서는 새로운 행(row)(들)을 추가하는 것과 동등하다고 간주될 수 있다. 따라서 nL개의 로컬 LDPC 코드들을 사용하는 GC LDPC 코드의 일반적인 패리티 검사 행렬 H
GC는 도 17에 예시된 구조를 가질 수 있다. 도 17을 참조하면, H
GC 내 행렬 H
local,i(여기서 1≤i≤nL)은 로컬 LDPC 코드의 패리티 검사 행렬을 복제한 형태이다. 하나의 GC LDPC 코드를 구성하는 로컬 LDPC 코드들의 개수는 nL개이므로 로컬 LDPC 코드의 패리티 검사 행렬이 총 nL번 복제되며, 상기 nL개 복제본들이 GC LDPC 코드의 대각선의 nL개 패리티 검사 행렬들로서 사용될 수 있다. 도 17에 예시된 패리티 검사 행렬 H
GC에서 정의되지 않은 부분들(예, 공란으로 표시된 부분들)은 '0'들 혹은 영 행렬들로 간주될 수 있다.
도 18은 GC LDPC 코드의 패리티 검사 행렬의 일 예이다. 도 18을 참조하면, 예를 들어, 수학식 3의 LDPC 코드가 로컬 코드로서 사용되고, 총 2개 로컬 코드들과 상기 2개 로컬 코드들을 결정하는 하나의 글로벌 검사 노드를 포함하는 하나의 GC LDPC 코드를 가정하면, H
Global에 해당하는 패리티 검사 행렬은 하나의 행으로 이루어진다. 상기 글로벌 검사 노드의 추가를 위해 생성되는 행의 각 원소로는 임의로(randomly) '0' 혹은 '1'의 값이 부여된다고 가정된다. 도 18의 예에서 H
local,1 및 H
local,2 각각은 수학식 3의 행렬과 동일한 형태를 가지며, 수학식 3의 행렬이 두 번 복제되어 상기 2개 복제본들이 총 2개의 로컬 LDPC 코드들로서 사용된다. 도 18의 예에서 글로벌 패리티 검사 행렬로서 사용되는 마지막 행은 임의로(randomly) 생성된 것이다.
도 19는 도 18의 GC LDPC 코드에 대응하는 태너 그래프를 예시한다. 도 19를 참조하면, 첫 번째 로컬 코드에서 첫 번째, 세 번째, 및 네 번째 VN들이 (도 19의 글로벌 패리티 검사 노드에 해당하는) 새로운 CN에 연결되며, 두 번째 로컬 코드에서는 두 번째, 및 세 번째 VN들이 상기 새로운 VN에 연결된다. 도 17 내지 도 19를 참조하면, GC LDPC 코드의 경우, 로컬 LDPC 코드들의 행들 외에 추가적인 행(들)을 통하여 CN(들)이 추가되며, CN(들)과 VN(들)의 연결(들)은 하나의 로컬 코드의 VN(들)에 국한되지 않으며 다수 로컬 코드들의 VN들과의 연결성을 구축할 수 있다.
GC LDPC 코드는 로컬 코드들을 연결하는 글로벌 커플링 검사 부분에 따라 달라지며, GC LDPC 코드의 성능은 글로벌 커플링 검사 부분의 최적화에 의존한다. GC LDPC 코드들을 위한 글로벌 커플링 검사 부분들에 대한 현재까지 제안된 설계 방안들은 글로벌 커플링 검사 부분을 고정된 TBS 혹은 고정된 개수의 로컬 코드들에 대해 최적화하는 것에 중점을 두어왔다. 그러나, TBS에 따라 CB들의 개수가 달라지고 이에 따라 로컬 코드들의 개수도 달라지므로, 고정된 TBS 혹은 고정된 개수의 로컬 코드들에 대해 글로벌 커플링 검사 부분이 정의되면, TBS 혹은 로컬 코드들의 개수별로 글로벌 커플링 검사 부분이 정의 혹은 최적화되어야 한다. 예를 들어, 기존의 GC LDPC 코드의 경우, 글로벌 패리티 검사 행렬의 연결성을 구축하기 위해 nL개 로컬 코드워드들을 위한 모든 VN들에 대한 모든 연결성이 고려된다. 기존의 GC-LDPC 코드의 설계 방식을 따를 경우, 하나의 추가적인 글로벌 검사 노드에 대하여 로컬 코드들의 개수 nL과 로컬 코드의 길이 n을 곱한 개수만큼의 VN들과 상기 글로벌 CN 간 연결 여부가 고려되어야 하므로, 하나의 글로벌 CN에 대하여 탐색되어야 할 총 연결 후보들의 개수는 2^(nLХn)이다. 또한, 고정된 nL에 대해 글로벌 패리티 검사 행렬 H
Global가 최적화되기 때문에 로컬 코드들의 개수(혹은 한 번의 전송/수신 시기에 전송/수신될 코드 블록들의 개수, 혹은 코드 블록 그룹 내 코드 블록들의 개수)가 유동적인 통신 기술에 사용되기에 용이하지 않다. 이 점을 고려하여, 이하에서는 GC LDPC 코드의 글로벌 커플링 검사 부분에 대한 본 명세의 몇몇 구현들이 설명된다.
후술되는 본 명세의 몇몇 구현들에서는 글로벌 패리티 검사 행렬 내 글로벌 파트가 개별 로컬 코드의 크기에 맞추어 설계된다. 따라서 본 명세의 몇몇 구현들에 의하면, 유동적인 혹은 다양한 로컬 코드들의 개수에 대응하여 GC LDPC 코드가 설계 혹은 결정될 수 있다. 이는 블록 단위의 설계로서 추가적인 글로벌 검사 노드(들)의 로컬 코드들의 변수 노드(들)로의 연결(들)을 위한 탐색 공간을 감소시킬 수 있다.
도 20은 본 명세의 몇몇 구현들에 따른 GC LDPC 코드의 개략적인 구조를 예시한다. 도 20에서 "Local Code"로서 표시된 부분은 로컬 코드워드의 기본 행렬 혹은 패리티 검사 행렬이며, "Global part"로서 표시된 부분은 각 로컬 코드드에 대응하는 글로벌 파트의 기본 행렬 혹은 패리티 검사 행렬이다. 또한, "Global parities"로서 표시된 부분은 추가적인 패리티 변수 노드로서 글로벌 패리티 검사 행렬에 의한 효율적인 인코딩을 수행할 수 있도록 하는 부분이다. 이하에서는 설명의 편의를 위하여 "Global parities"에 해당하는 부분(이하, 글로벌 패리티 파트)이 항등(identity) 행렬에 의해 구성되는 경우를 예로 하여 본 명세의 몇몇 구현들에 따른 글로벌 기본 행렬 혹은 글로벌 패리티 검사 행렬이 설명된다. 그러나, 본 명세의 몇몇 구현들은 글로벌 패리티 행렬(예, "Global parities"로 표시된 부분의 행렬)은 각 행 혹은 각 열의 무게가 1인 항등 행렬인 것에 국한되지 않으며, 일부 행(들) 혹은 열(들)의 무게가 1보다 클 수도 있다(예, 도 12(a)의 마지막 46개 열들에 의한 서브행렬 혹은 도 12(b)의 마지막 42개 열들에 의한 서브행렬 참조).
도 20에 예시된 바와 같이, 본 명세의 몇몇 구현들에 따른 GC LDPC 코드에 의하면, 다수 개의 로컬 코드들과 연결 관계를 가지는 글로벌 파트들에 의해서 글로벌 패리티들이 생성된다. 현재 NR 표준에서 LDPC 인코딩의 경우, 코드 블록들의 개수는 TBS에 따라서 변하므로, 글로벌 패리티 파트는 로컬 코드의 길이에 따라 분할되어 설계되는 것이 코드 블록들의 개수의 확장성(scalability)를 데 있어서 효율적일 수 있다. 도 20을 참조하면, 예를 들어, 로컬 코드의 길이를 N, 글로벌 패리티의 길이를 MG라 할 때, 로컬 코드의 길이 단위로 분할된 글로벌 파트에 해당하는 행렬의 크기는 MG*N, 글로벌 패리티 행렬의 크기는 MG*MG이다. 본 명세의 몇몇 구현들에 따른 GC LDPC 코드의 글로벌 파트들은 로컬 코드들 간의 연결 관계를 형성해 주기 때문에 글로벌 패리티들에 로컬 코드들이 반영되게 된다. 하나의 TB와 연관된 CB들의 개수 혹은 하나의 전송 시기에 전송될 CBG 내 CB들의 개수를 nL이라 하면, 상기 TB 혹은 CBG의 각 CB에 대한 채널 인코딩을 위해 사용되는 GC LDPC 코드의 로컬 코드들의 개수 nL일 수 있고, nL개 로컬 코드들은 nL개 CB들에 각각(respectively) 대응하거나 혹은 nL개 CRC 부가 CB들에 각각(respectively) 대응할 수 있다. 본 명세에서 하나의 채널 인코더 입력되는 길이 n인 입력 시퀀스 혹은 길이 n인 로컬 PCM에 대응하는 정보 시퀀스는 정보 블록이라고 칭해지고도 한다.
도 20에 예시된 구조의 GC LDPC 코드의 성능의 최대화하기 위하여 최적의 글로벌 패리티 파트(들)과 글로벌 파트에 대한 설계가 필요하다. NR LDPC 인코딩이 수행될 때 로컬 코드 블록들은 서로 동일한 크기를 갖고, 동일한 기본 그래프(base graph, BG)를 이용하여 각각(respectively) LDPC 인코딩된다. 따라서, 글로벌 파트의 설계에 있어서 동일 구조의 반복 특성을 이용하는 것이 효율적일 수 있다. 예를 들어, nL개의 로컬 코드들(예, nL개의 코드 블록들)에 대해 LDPC 인코딩이 수행될 때, nGlobalPart개의 글로벌 파트들이 동일한 (패리티) 구조를 갖도록 설계될 수 있다. 이 경우, 최적화되어야 하는 글로벌 파트들의 개수가 1/nGlobalPart배가 되기 때문에, 글로벌 패리티 검사 행렬이 효율적으로 최적화되어 설계될 수 있다. 본 명세의 몇몇 구현들에서 nGlobalPart = nL일 수 있다. 다시 말해, 본 명세의 몇몇 구현들에서, 모든 nL개 글로벌 파트들이 동일한 (패리티) 구조를 갖도록 설계될 수 있다. 이와 같은 설계 방식은 최적화를 위한 복잡도를 감소시킬 수 있다. 또한, 이와 같은 설계 방식은 현재 NR 표준에 따른 BG1 또는 BG2, 혹은 해당 PCM이 로컬 코드로서 사용되는 경우에도 적용될 수 있다. 몇몇 구현들에서, 글로벌 파트와 글로벌 패리티 파트는 의사-순환(quasi-cyclic, QC) 구조로 설계될 수 있으며, QC 구조를 갖는 글로벌 파트 및 글로벌 패리티 파트에 대해 다음과 같은 리프팅 방식이 고려될 수 있다.
* 방법 1: 로컬 코드와 동일한 리프팅 방식을 사용하여 설계를 위한 복잡도를 줄일 수 있다. 예를 들어, 로컬 코드로서 현재 5G 표준에 따른 5G LDPC 코드가 사용되면, 현재 5G 표준에 따른 리프팅 방식(예, 리프팅 인자, 순환 천이 횟수(예, CPM의 순환 천이 값 Vi,j) 등)을 글로벌 파트 및/또는 글로벌 패리티 파트에도 적용하면, 글로벌 파트 및/또는 글로벌 패리티 파트의 PCM 설계를 위한 복잡도가 감소될 수 있다.
* 방법 2: 로컬 코드와 동일하지 않은 리프팅 방식으로 성능을 향상시킬 수 있다. 예를 들어, 로컬 코드의 PCM(들)이 설계되어 있다고 가정하면, 로컬 코드의 상기 PCM(들)을 고려하여 글로벌 파트 및/또는 글로벌 패리티 파트의 PCM(들)이 재설계되면, GC LDPC 코드의 성능이 향상될 수 있다. 후술되는 본 명세의 몇몇 구현들(예, 항등 행렬 기반 글로벌 파트, 강한 노드 to 강한 노드 기반 글로벌 파트, 약한 노드 to 강한 노드 기반 글로벌 파트 등)은 GC LDPC 코드 중 글로벌 코드에 대한 기본 행렬 혹은 PCM을 새롭게 설계함으로써 GC LDPC 코드의 성능을 향상시킬 수 있다.
몇몇 구현들에서, 로컬 코드의 기본 행렬/그래프의 크기가 M-by-N인 경우, 리프팅 인자 Z를 사용한 리프팅을 통해 크기 M-by-N의 상기 기본 행렬/그래프로부터 m-by-n의 PCM이 얻어질 수 있으며, 여기서 m=Z*M, n=Z*N이다. 글로벌 파트의 기본 행렬/그래프의 크기가 MG-by-N인 경우, 리프팅 인자 Z를 사용한 리프팅을 통해 크기 MG-by-N의 상기 기본 행렬/그래프로부터 mG-by-n의 PCM이 얻어질 수 있으며, 여기서 mG=Z*MG, n=Z*N이다. 글로벌 패리티 파트의 기본 행렬/그래프의 크기가 MG-by-MG인 경우, 리프팅 인자 Z를 사용한 리프팅을 통해 크기 MG-by-MG의 상기 기본 행렬/그래프로부터 mG-by-mG의 PCM이 얻어질 수 있으며, 여기서 mG=Z*MG이다.
몇몇 시나리오들에 따른 통신 표준에서의 인코딩은 총 2단계로 수행될 수 있다. 먼저 첫 번째 단계로는 요구되는 길이의 수송 블록이 하나 또는 복수의 코드 블록(들)로 분할(segmentation)되며 각 코드 블록에 대한 인코딩을 통해 개별 로컬 코드워드가 생성될 수 있다. 5G 통신 표준을 예로 하면, 전송률은 다음 식을 통해 계산될 수 있다.
여기서 각 변수의 의미는 다음과 같을 수 있다.
> J : 집성된 컴포넌트 반송파들의 개수(number of aggregated component carriers)
> Rmax : 코드 레이트
> v(j)
Layers : 지원되는 레이어들의 최대 개수(maximum number of supported layers)
> Q(j)
m : 최대 지원되는 변조 차수(maximum supported modulation order)
> f
(j) : 스케일링 인자(예, 1, 0.8, 0.75, 및 0.4)
> Tu
s : 뉴머롤로지 u에 대한 서브프레임 내 평균 OFDM 심볼 기간(average OFDM symbol duration in a subframe for numerology u)
> NW(j),u
PRB : 뉴머롤러지 u를 갖는 대역폭 BW(j) 내 최대 RB 할당(maximum RB allocation in bandwidth BW(j) with numerology u)
> OH(j) : 오버헤드(예, 주파수 범위(frequency range) 2 하향링크에 대해 0.18)
5G 통신의 전송 단위는 수송 블록(transport block, TB0이며, 각 TB는 코드 블록 분할(code block segmentation) 과정을 통해 다수의 코드 블록(code block, CB)들로 분할될 수 있다. 5G 기준 각 TB는 10%의 블록 오류율(block error rate, BLER)을 요구하며, 이를 통해 CB의 요구 BLER은 다음과 같이 결정될 수 있다.
여기서 BLERTB과 BLERCB는 각각(respectively) TB에 대한 요구 BLER과 CB에 대한 요구 BLER이며, C는 하나의 TB로부터 얻어진 CB들의 개수이다.
수송 블록 크기(transport block size, TBS)는 물리 자원 블록(physical resource block, PRB) 내 자원 요소(resource element, RE)들의 개수 NRE를 기반으로 결정될 수 있다. PRB 내 PDSCH를 위해 할당된 RE들의 개수 N'
RE는 다음과 같이 계산될 수 있다.
여기서 각 변수의 의미는 다음과 같을 수 있다.
> NRB
sc : 물리 자원 블록 내 부반송파들의 개수(number of subcarriers in a physical resource block). 예, NRB
sc = 12.
> Nsh
symb : 슬롯 내 PDSCH 할당의 심볼들의 개수(number of symbols of the PDSCH allocation within the slot)
> NPRB
DMRS : 스케줄된 기간 내 PRB당 DM-RS를 위한 RE들의 개수(number of REs for DM-RS per PRB in the scheduled duration)
> NPRB
oh : RRC 설정 PDSCH-ServingCellConfig 내 상위 계층 파라미터 xOverhead에 의해 설정된 오버헤드(overhead configured by higher layer parameter xOverhead in RRC configuration PDSCH-ServingCellConfig)(예, 0, 6, 12 혹은 18)
이를 기반으로 TBS 계산에 필요한 중간 변수 Ninfo 및 N'
info는 다음과 같이 계산될 수 있다.
여기서 각 변수의 의미는 다음과 같을 수 있다.
> NRE = min(156, N'
RE)nPRB, 여기서 nPRB는 UE를 위한 할당된 PRB들의 총 개수이다.
> R = 코드 레이트
> Qm : 변조 차수(modulation order)
> v : 레이어들의 개수 (vХv MIMO)
> n = floor{log2(Ninfo - 24)} - 5
이를 바탕으로 TBS 및 코드 블록들의 개수 C는 다음과 같이 계산될 수 있다.
따라서, 현재 5G 표준에 의하면, TB는 C개의 CB(들)로 분할될 수 있으며 각각의 CB에 CRC 코드를 부가하여 얻어진 복수의 CRC 부가 CB들 각각이 5G 표준에 따른 LDPC 코드를 사용하여 인코딩될 수 있다. 예를 들어, 복수의 CB들에 대해 하나의 로컬 패리티 검사 행렬이 중복되어 사용될 수 있다.
도 21는 로컬 코드워드들을 연접하여 얻어진 코드워드의 구조를 예시하며, 도 22는 도 21의 코드워드에 글로벌 패리티 비트들이 추가되어 얻어진 코드워드의 구조를 예시한다.
도 21에서 nL = C이며 로컬 코드워드들의 개수를 의미하며, 도 21에서 각각의 블록은 인코딩 후의 (로컬) 코드워드(codeword, CW)의 길이 n과 동일한 길이를 가진다고 가정된다.
이후, 두 번째 단계로, 글로벌 패리티(들)을 얻기 위해, 로컬 코드워드들을 연접하여 얻어진 코드워드에 대해 인코딩이 수행된다. 글로벌 패리티(들)을 위한 인코딩 후에는 mG개의 글로벌 패리티 비트(들)이 추가되어, 예를 들어, 도 22의 형태를 갖는 코드워드가 얻어질 수 있다.
본 명세의 몇몇 구현들에서 글로벌 패리티 파트에 대응하는 행렬은 항등 행렬에 의해 구성될 수 있으며, 이 경우, GC LDPC 코드에 의한 유효한 코드워드는 다음을 만족해야 한다. 이때 추가되는 패리티 검사 비트 시퀀스는 p
GC로 표현된다.
여기서, H
Global는 패리티 검사 행렬이며, 글로벌 파트들로 이루어진 행렬과 항등 행렬인 글로벌 패리티 부분의 행렬을 분리하여 [A I]로 표현될 수 있다. x는 로컬 코드워드들(혹은 로컬 코드워드들에 레이트-매칭을 적용하여 얻어진 코드워드들)을 연접하여 얻어진 코드워드일 수 있다,
도 23은 도 20에 예시된 GC LDPC 구조 내 글로벌 코드에 대한 패리티 검사 행렬의 구조를 예시한다. 몇몇 구현들에서, I는 mG-by-mG 항등 행렬일 수 있다.
이진 필드 위에서의 XOR 연산으로 수학식 9를 해석하면, p
GC = A·x를 만족해야 한다. 따라서, 인코딩 후 i-번째 글로벌 패리티 검사 노드의 값은 다음과 같이 주어질 수 있다.
위 수학식을 참조하면, 인코딩 후 i-번째 글로벌 패리티 검사 노드의 값은 행렬 A의 i-번째 행(row)에서 패리티 검사 행렬의 원소 값이 '1'인 열(column)에 해당하는 정보 비트들을 덧셈한 값이 된다. 예를 들어, 2개 CB들에 대한 인코딩 후 얻어진 2개의 로컬 코드워드들 c
1 및 c
2가 다음과 같다고 가정된다: c
1 = (0, 1, 1, 1, 0), c
2 = (1, 1, 0, 0, 1). 그리고 추가된 패리티 검사 행이 다음과 같다고 가정된다: h = (0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1), 여기서 첫 5개 원소들로 이루어진 첫 번째 서브 행 벡터 h
1 = [0, 0, 1, 1, 1] 및 그 다음 5개 원소들로 이루어진 두 번째 서브 행 벡터 h
2 = [0, 0, 1, 1, 1]은 각각 로컬 코드워드들 c
1 및 c
2에 대한 글로벌 파트들이며, 마지막 원소 1은 글로벌 패리티 파트이다. 이는 각 로컬 코드에서 세 번째 네 번째 다섯 번째 VN들이 글로벌 패리티 검사 노드에 연결된 것을 의미하고, 추가된 패리티 검사 행의 길이가 두 개의 로컬 코드들의 길이보다 1 길이만큼 추가되었기 때문에 글로벌 패리티 검사 노드의 길이가 1임을 의미할 수 있다. 연결된 VN들에 해당하는 값들의 합의 XOR 계산의 결과가 0이 되어야 패리티 검사 식이 만족된다. 따라서, 이 예에서, h·[c
1 c
2]T = [0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1]·[0, 1, 1, 1, 0, 1, 1, 0, 0, 1, p]T = (0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + p) mod 2 = 0를 만족시키는 글로벌 패리티 노드의 값 p = 1이 글로벌 패리티 비트로서 전송된다.
도 24는 본 명세의 몇몇 구현들에 따른 GC LDPC 코드의 패리티 검사 행렬의 일 예이다. 도 24를 참조하면, 전술한 첫 번째 단계에 따라, 2개 코드 블록들 각각이 도 24에 예시된 로컬 코드에 의해 독립적으로 인코딩된 결과인 2개 코드워드들을 c
1 = (c11, c12, c13, c14, c15, c16) 및 c
2 = (c21, c22, c23, c24, c25, c26)라 하면, 전술한 두 번째 단계에 따라 상기 2개 코드워드들과 해당 글로벌 파트들에 의해 결정되는 VN들의 값들 혹은 열 벡터는 3개 비트 값들을 가진 열 벡터이며, 상기 3개 비트 값들은 각각(respectively) p1 = (c12 + c13 + c15 + c16 + c22 + c23 + c25 + c26) mod 2, p2 = (c11 + c13 + c21 + c23) mod 2, p3 = (c13 + c16 + c23 + c26) mod 2다. 따라서 상기 두 번째 단계에 의해 계산된 글로벌 패리티 비트 시퀀스 p
GC = (p1, p2, p3)이며, p
GC가 상기 첫 번째 단계에서 얻어진 코드워드들 c1 및 c
2와 함께 전송될 수 있다.
글로벌 파트의 행렬을 어떻게 구성할 것인지가 문제된다. 본 명세의 몇몇 구현들에서는 P-EXIT 차트를 이용하여 글로벌 파트의 행렬의 각 행에 대해 1을 갖는 열(들)이 결정될 수 있다. 다시 말해, 본 명세의 몇몇 구현들에서는 P-EXIT 차트를 이용하여 글로벌 파트의 행렬 내 원소들 중 1을 갖는 원소들이 결정될 수 있다.
P-EXIT 차트에 대해 간략히 설명하면 다음과 같다. P-EXIT 차트는 디코더의 반복(iterative) 메시지 전달 과정(반복(iterative) 디코딩 과정이라고도함)을 시각화하여, 디코딩 알고리즘의 수렴성을 정량적으로 평가하는 데 사용되는 도구이다. 특히 P-EXIT 차트는 프로토그래프(protograph) 기반 LDPC 코드에서 반복(iterative) 디코딩시 각 노드(예, VN 혹은 CN)에서 교환되는 상호 정보(mutual information, MI)가 어떻게 변화하는지를 추적하는 데 사용될 수 있다. 기존의 EXIT 차트가 특정 열 무게(column weight)와 행 무게(row weight)를 가지는 QC LDPC 코드의 전체 대규모 앙상블(ensemble)들의 성능을 추정한다면, P-EXIT 차트는 기본(base) 행렬 내의 노드별로 규정되는 타입의 상호 정보 전이(transfer) 특성을 시뮬레이션한다. P-EXIT 차트에서는 변수 노드(variable node, VN) 측의 곡선 커브(VNP), 검사 노드(check node, CN) 측 곡선 커브(CNP)를 IA와 IE의 함수 형태로 표현하여(IA, IE), 디코딩 성능의 수렴 여부를 확인한다. P-EXIT 차트에서 IA는 해당 VNP에 연관된 VN과 VNP 입력(예, 선험적(a priori) 정보) 간의 상호 정보량이며, IE는 해당 VNP에 연관된 VN과 VNP 출력(외적(extrinsic) 정보) 간의 상호 정보량이다. 예를 들어, P-EXIT 차트에서 IA는 VN에 입력되는 선험적(a priori) 정보가 실제 코디드 비트와 얼마나 관련되는지를 나타낼 수 있으며, IE는 VN이 새로 생성한 정보의 품질(예, VN이 반복(iterative) 디코딩 후에 얼마나 더 정확한 정보를 제공하는지)를 나타낼 수 있다. 이때 두 곡선이 서로 겹치지 않고, 서서히 연결되는 터널(tunnel)이 있는지가 관찰한다. 이 터널이 있으면, 반복(iterative) 디코딩을 통해 디코딩이 수렴 가능함을 의미한다. 이처럼, 터널이 처음 열리는 지점, 다시 말해, 디코딩이 성공적으로 수렴하기 시작하는 신호 대 잡음 비(signal to noise ratio, SNR) 지점을 찾을 수 있고, 이 값은 임계치(threshold)라 칭해진다.
한편, 패리티 검사 행렬은 프로토그래프 LDPC 코드를 이용하여 생성될 수 있다. 프로토그래프 LDPC 코드는 비교적 작은 크기의 '기본 그래프(base graph)'를 기반으로 하여, 이를 여러 번 확장(리프팅(lifting)이라고도 함)함으로써 큰 크기의 LDPC 코드, 예를 들어, 패리티 검사 행렬을 생성하는 설계 기법을 말한다. 현재 3GPP 5G NR에서 사용되는 LDPC 코드도 프로토그래프 개념과 일치하는 "기본 그래프(base graph, BG)"를 정의하고, 이를 리프팅(lifting)해서 실제 전송에 사용되는 거대 행렬을 구성하는 방식을 취한다. 프로토그래프 혹은 기본 그래프를 정의하는 단계에서는 먼저 변수 노드(들)과 검사 노드(들)로 구성된 아주 작은 규모의 이분 그래프가 설정된다. 다음으로는 상기 이분 그래프가 리프팅(lifting) 또는 확장(expansion) 과정을 거치게 된다. 이 단계에서는 프로토그래프에 존재하는 엣지 한 개를 리프팅 인자(lifting factor)만큼 복제하여 그래프의 크기를 키운다. 이를 통해 궁극적으로 프로토그래프보다 확장 인자배만큼 더 큰 규모의 그래프가 형성된다. 다만 단순 복제만으로는 둘레(girth)(예, (LDPC 코드의 태너 그래프에서 가장 짧은 길이의 사이클)이 짧아지거나 성능이 저하될 우려가 있으므로, 순환 천이(cyclic shift) 등 다양한 기법을 활용해 해당 그래프의 구조를 최적화하고 성능을 높인다. 프로토그래프의 각각의 원소 하나는 리프팅을 통해 항등 행렬이 지역적으로(locally) 순환 천이(locally cyclic shift)된 형태로 치환된다. 이때 각각의 원소에 대응하는 항등 행렬이 순환 천이하는 횟수를 나타내는 행렬은 지수 행렬(exponent matrix)로 정의될 수 있다. 마지막으로, 이렇게 확장된 대규모 그래프의 연결 관계를 다시 행렬 형태로 정리함으로써 최종 패리티 검사 행렬이 완성될 수 있다. 결과적으로 기본 그래프의 크기가 MХN라고 하고 리프팅 인자를 Z라고 하면, 리프팅을 통해 얻어진 패리티 검사 행렬의 크기는 (Z*M)Х(Z*N)이며 전송기가 이를 이용하여 인코딩을 수행하면 길이 Z*N의 코드워드가 생성될 수 있다. 예를 들어, 기본 행렬 , 지수 행렬 , 그리고 리프팅 인자 Z = 3이라고 가정하면, 상기 기본 행렬 B를 확장하여 얻어진 패리티 검사 행렬은 다음과 같을 수 있다.
상기 기본 행렬 B에서의 첫 번째 행, 첫 번째 열의 1은 3-by-3 항등 행렬을 상기 지수 행렬 E에서의 첫 번째 행, 첫 번째 열의 값인 0만큼 순환 천이하여 얻어진 3-by-3 행렬로 치환된다.
도 25 및 도 26은 간단한 프로토그래프 LDPC 코드의 예제에 대해 P-EXIT 분석을 수행한 결과와 각 변소 노드별 상호 정보(mutual information)의 양을 각각(respectively) 예시한다. 기본 행렬 에 대해서 P-EXIT 분석을 통한 임계치(threshold)을 찾으면 Eb/No = 0.7751 값을 가지며 이 때의 P-EXIT 차트를 도시하면 도 25와 같다. 여기서 Eb는 비트별 에너지(energy per bit))를 의미하고, No는 잡음 전력(noise power)을 의미한다. 기본 행렬의 각 원소 내 정수 값은 해당 원소에 대응하는 Z-by-Z 행렬의 각 열 혹은 각 행의 무게(예, 각 행 혹은 각 행 내 1의 개수)를 나타낸다. 예를 들어, 상기 기본 행렬 B의 첫 번째 행, 첫 번째 열의 원소 값은 2이므로, 상기 첫 번째 행, 첫 번째의 원소를 치환하는 Z-by-Z 행렬의 각 행 혹은 각 열 내 Z개 원소들 중 1을 가진 원소들은 2개이다.
도 25의 P-EXIT 상기 기본 행렬 B에 따른 각 변수 노드별 상호 정보(mutual information, MI)의 양을 도시하면 도 26과 같다. 각 변수 노드의 상호 정보량이 1에 도달한다는 것은, 디코딩 수렴이 이루어졌다는 것을 의미한다. 본 명세의 몇몇 구현들에서는 빠르게 디코딩 수렴에 도달하는 변수 노드를 강한 노드(strong node), 상대적으로 느리게 디코딩 수렴에 도달하는 변수 노드를 약한 노드(weak node)로 정의하고, 강한 노드와 약한 노드의 개념을 이용하여 글로벌 파트가 설계된다. 강한 노드는 해당 변수 노드에 대응하는 비트 값을 디코딩 과정에서 결정하는 데 필요한 반복(iterative) 횟수가 약한 노드에 대응하는 비트 값을 결정하는 데 필요한 반복(iterative) 횟수에 비해 적은 변수 노드를 의미할 수 있다. 이하에서는 5G와 같은 구조 특성을 가지는 Raptor-like LDPC 코드에 대한 GC LDPC 코드를 예로 하여, 강한 노드와 약한 노드의 개념을 이용하여 글로벌 파트를 설계하는 본 명세의 몇몇 구현들이 설명된다.
도 27은, 본 명세의 몇몇 구현들에 사용될 수 있는, 로컬 코드워드를 위한 기본 행렬의 일 예이다. 예를 들어, 도 27의 기본 행렬은 도 20에 예시된 패리티 검사 행렬에서 하나의 로컬 코드에 대응하는 기본 행렬로서 사용될 수 있다. 본 명에서는 설명의 편의를 위하여 작은 크기의 행렬을 기본 행렬의 예로서 사용하여 본 명세의 몇몇 구현들이 설명되나, 크기와 형태가 다른 LDPC 기본 행렬 또는 LDPC 기본 그래프가 로컬 코드를 위해 사용될 수도 있다.
몇몇 구현들에서, 도 20의 패리티 검사 행렬 내 "Global parities"로 표시되는 글로벌 패리티 파트에 해당하는 행렬은 항등 행렬로서 설계될 수 있다. 이하에서는 행렬 내 1의 위치를 표현하기 위해 정수 격자를 사용한다. 정수 격자 내 교점(intersection point)들 중 둥근 점(dot)가 있는 교점은 기본 행렬에서 '1'을 갖는 원소의 위치이고 둥근 점이 없는 교점은 기본 행렬에서 '0'을 갖는 원소의 위치를 의미한다.
도 28은 정수 격자로 표현된 3-by-3 기본 행렬을 예시한다. 특히 도 28은 3-by-3 항등 행렬을 정수 격자로 표시한 예이다. 정수 격자에서 수평 축은 열 인덱스 축이며, 수직 축은 행 인덱스 축이다.
도 20에 예시된 GC LDPC 코드의 구조에서 "Global parities"로 표시된 글로벌 패리티 파트가 항등 행렬에 의해 설정(configure)되면, 본 명세의 몇몇 구현들에서 설계되어야 하는 부분은 하나의 글로벌 파트일 수 있다. 예를 들어, 도 27의 기본 행렬이 하나의 로컬 코드워드에 대한 기본 행렬로서 사용되면, 상기 기본 행렬의 크기는 9Х13이다.
도 29는 본 명세의 몇몇 구현들에 따른 글로벌 파트의 기본 행렬의 일 예이다. 특히, 도 29는 도 27의 기본 행렬이 로컬 코드워드에 대한 기본 행렬로서 사용될 때 사용될 수 있는 글로벌 파트의 기본 행렬의 일 예이다.
글로벌 검사 노드들의 개수를 MG라고 표시하면, 글로벌 파트를 위한 항등 행렬 기반 기본 행렬은 크기 MG-by-MG의 항등 행렬을 상기 기본 행렬의 열들의 개수가 로컬 코드워드의 기본 행렬의 열들의 개수와 같아질 때까지 순환하여 이어 붙임으로써 얻어질 수 있다. MG=3일 때, 글로벌 파트를 위한 항등 행렬 기반 기본 행렬은, 예를 들어, 도 29와 같을 수 있다. 도 29의 기본 행렬은 크기 3Х13인 행렬이며, 3개의 글로벌 검사 노드들에 해당하는 행들을 가지면서 로컬 코드워드에 대한 기본 행렬(예, 도 27에 예시된 기본 행렬)의 열 길이 13와 일치하는 행 길이를 갖도록 설계된 것이다.
도 30은 도 27에 예시된 기본 행렬의 변수 노드들에 대한 P-EXIT 차트 분석에 따른 변수 노드별 상호 정보의 양을 예시한다. 특히, 도 30은 도 27에 예시된 기본 행렬의 일 예에 대해 상기 기본 행렬의 변수 노드들의 P-EXIT 차트 분석을 통한 기본 행렬의 변수 노드별 상호 정보(mutual information)의 양이 증가하는 정도를 도시한 것이다.
P-EXIT 차트 분석을 통하여 도 27에 예시된 로컬 코드의 기본 행렬의 변수 노드들의 특성을 구할 수 있다. 할당된 최대 반복(iteration) 횟수의 절반 지점에서 각 변수 노드의 상호 정보량을 측정하면 변수 노드별 복호 수렴 정도에 대한 순위를 정할 수 있다. 도 27에 예시된 기본 행렬의 변수 노드들 1 ~ 13을 특수 반복(iteration) 횟수에서 많은 MI를 갖는 변수 노드부터 MI의 양의 내림차순으로 정렬하면 다음과 같은 변수 노드 시퀀스 혹은 열(column) 인덱스 시퀀스를 얻을 수 있다: {5, 3, 6, 1, 2, 4, 11, 13, 9, 10, 12, 8, 7}. 상기 변수 노드 시퀀스 {5, 3, 6, 1, 2, 4, 11, 13, 9, 10, 12, 8, 7}를 참조하면, 도 27에 예시된 기본 행렬은 변수 노드 5의 비트 값은, 변수 노드 7의 비트 값에 비해, 더 적은 디코딩 반복(iteration) 횟수를 거치고도 결정될 수 있다.
몇몇 구현들에서, 강한 변수 노드들의 순서를 결정하는 데 사용되는 변수 노드 시퀀스 혹은 열 인덱스 시퀀스는 변수 노드 인덱스들 혹은 열 인덱스들을 MI의 양의 내림차순 혹은 오름차순으로 정렬하여 얻어질 수 있다. 혹은, 몇몇 구현들에서, 강한 변수 노드들의 순서를 결정하는 데 사용되는 변수 노드 시퀀스 혹은 열 인덱스 시퀀스는 해당 변수 노드 혹은 열에 대응하는 비트 값을 결정하는 데 필요한 디코딩 반복(iteration) 횟수의 내림차순 혹은 오름차순으로 변수 노드 인덱스들 혹은 열 인덱스들을 정렬하여 얻어질 수 있다.
본 명세의 몇몇 구현들에서는 강한 변수 노드와 강한 변수 노드를 연결하여 글로벌 파트를 위한 기본 행렬 또는 패리티 검사 행렬을 생성함으로써, 항등 행렬들로 구성된 글로벌 패리티 검사 행렬을 사용하는 기존 GC LDPC 코드 구조보다 좋은 성능을 보이는 GC LDPC 구조를 얻을 수 있다. 강한 변수 노드들끼리 연결하는 것이 강한 노드와 약한 노드를 연결하는 것보다 더 나은 성능을 보일 수 있다. 이러한 성능 향상의 이유는 다음과 같다. 하나의 비트(예, 하나의 VN)가 성공적으로 디코딩되면, 디코딩 반복(iteration) 과정이 진행되더라도 태너 그래프에서 이미 복원된 상기 비트와 연결된 엣지들을 통한 정보 교환은 실질적으로는 이루어지지 않는다. 따라서, 복원된 비트에에 연결된 엣지는 태너 그래프에서 사실상 제거된 것으로 볼 수 있고, 상기 복원된 비트에 연결된 노드는 남은 디코딩 과정 중에서는 더 이상 연결되지 않은 상태와 마찬가지이기 때문에 디코딩에 유리해질 수 있다.
강한 변수 노드들을 서로 연결하는 본 명세의 몇몇 구현들을 기본 행렬의 관점에서 설명하면, 예를 들어, 글로벌 파트를 위한 MG-by-N의 기본 행렬의 경우, floor{N/ MG}개의 가장 강한 변수 노드들이 서로 연결되며, floor{N/MG}개의 그 다음으로 강한 변수 노드들이 서로 연결되는 식으로 구성될 수 있다. 변수 노드들이 연결된다는 것은 하나의 행(row)에서 상기 변수 노드들에 대응하는 열(column)들의 원소들이 각각 '1'을 갖는다는 것을 의미할 수 있다. 패리티 검사 행렬을 기본 행렬을 리프팅 인자만큼 리프팅하여 얻어지므로, 기본 행렬에서 연결된 변수 노드들은 패리티 검사 행렬에서도 연결되어 있게 된다. N이 MG의 정수 배가 아니면, N - MG*floor{N/MG} > 0이 되어 'N - MG*floor{N/MG}'개의 가장 약한 변수 노드들을 어떻게 처리할 것인지가 문제된다. N이 MG의 정수 배가 아니면, 혹은 N - MG*floor{N/MG} > 0이면, 몇몇 구현들에서, 'N - MG*floor{N/MG}'개의 가장 약한 변수 노드들은 다른 변수 노드와 연결되지 않은 채 남을 수 있다. 이 MG의 정수 배가 아니면, 혹은 N - MG*floor{N/MG} > 0이면, 몇몇 구현들에서, 'floor{N/MG} + N - MG*floor{N/MG}'개의 가장 약한 변수 노드들끼리 연결될 수 있다.
도 31은 본 명세의 몇몇 구현들에 따른 글로벌 파트의 기본 행렬의 다른 예이다.
총 3개의 글로벌 패리티 검사 노드를 포함하는 GC LDPC 코드의 기본 행렬을 예로 하여, 강한 변수 노드들끼리 연결하는 본 명세의 몇몇 구현들에 따른 글로벌 파트를 설명한다. 이 예에서는 도 27의 행렬이 상기 GC LDPC 코드 내 로컬 코드의 기본 행렬로서 사용된다고 가정된다. 이 경우, 본 명세의 몇몇 구현들에 따라 강한 노드와 강한 노드를 연결하면, 전술한 변수 노드 시퀀스 {5, 3, 6, 1, 2, 4, 11, 13, 9, 10, 12, 8, 7}를 기반으로, 변수 노드들 {5, 3, 6, 1}이 서로 연결되고, 변수 노드들 {2, 4, 11, 13}이 서로 연결되며, 변수 노드들 {9, 10, 12, 8}이 서로 연결될 수 있다. 이는 글로벌 파트에 대한 기본 행렬의 3개 행들 중 한 행에서 1, 3, 5, 6-번째 기본 행렬 값들(다시 말해, 1, 3, 5, 6-번째 열들의 원소 값들)이 각각 '1'이며, 나머지 2개 행들 중 한 행에서는 2, 4, 11, 13-번째 값들이 각각 '1'이고, 나머지 행에서는 8, 9, 10, 12-번째 값들이 각각 '1'임을 의미할 수 있다. 몇몇 구현들에서, 가장 약한 변수 노드 7은 다른 변수 노드와 연결되지 않은 채 남을 수 있다. 혹은, 몇몇 구현들에서, 가장 약한 변수 노드 7은 약한 변수 노드들 {9, 10, 12, 8}과 서로 연결될 수 있다. 도 31은 특히 가장 강한 변수 노드들 {5, 3, 6, 1}이 글로벌 파트의 기본 행렬의 첫 번째 행에서 연결되고, 그 다음으로 강한 변수 노드들 {2, 4, 11, 13}이 상기 글로벌 파트의 상기 기본 행렬의 두 번째 행에서 연결되며, 가장 약한 변수 노드들 {9, 10, 12, 8}이 상기 글로벌 파트의 상기 기본 행렬의 마지막 행에서 연결된 경우를 예시한다.
도 32는 본 명세의 몇몇 구현들에 따른 글로벌 파트의 기본 행렬의 다른 예이다. 특히, 도 32는 약한 변수 노드와 강한 변수 노드를 연결하여 얻어진 기본 행렬을 예시한다. 약한 노드-강한 노드 연결의 경우, 예를 들어, 도 32를 참조하면, 기본 행렬의 13개 변수 노드들 중 변수 노드들 {5, 3, 7, 8}이 서로 연결되고, 변수 노드들 {6, 1, 12, 10}이 서로 연결되며, 변수 노드들 {2, 4, 9, 13}이 서로 연결될 수 있다. 도 32의 기본 행렬은 MG = 3이고 각 행의 '1'의 개수를 4로 유지하기 위하여 강한 노드 2개와 약한 노드 2개가 순차적으로 선택되어 연결된 결과이다.
이후, 글로벌 코드의 기본 행렬은 리프팅을 통해 PCM으로 변환될 수 있으며, 로컬 코드들에 대응하는 로컬 코드워드들로부터 얻어진 코드워드(예를 들어, 로컬 코드워드들을 연접하여 얻어진 코드워드)에 대해 상기 PCM을 이용한 인코딩을 통해 글로벌 패리티 비트들이 생성될 수 있다. 상기 코드워드와 상기 글로벌 패리티 비트들을 기반으로 (레이트-매칭을 통해) 전송 비트들이 결정될 수 있으며, 상기 전송 비트들이 무선 채널을 통해 수신기에게 전송될 수 있다.
기본 행렬 내 각 원소는 리프팅을 통해 Z-by-Z 행렬로 대체(replace)될 수 있다. 리프팅을 통해 각 원소를 대체하는 Z-by-Z 행렬은 Z-by-Z 영 행렬 혹은 Z-by-Z 순환 치환 행렬(circulant permutation matrix, CPM)일 수 있다.
전술된 본 명세의 몇몇 구현들에 따라 설계된 기본 행렬들(도 29의 기본 행렬, 도 31의 기본 행렬, 및/또는 도 32의 기본 행렬)에 대하여 순환 천이(cyclic shift)와 연관된 CPM을 구하는 방법으로서 담금질(simulated annealing, SA) 기법이 사용될 수 있다. LDPC 코드의 태너 그래프에서 가장 짧은 길이의 사이클이 4일 때 성능 저하가 이루어지는 것은 알려져 있는 사실이다. 몇몇 구현들 모두에서 성능 저하를 피하기 위하여 둘레 6이 되는 LDPC 코드가 설계되는 것이 바람직할 수 있다. SA 기법을 통해 결정된 CPM 값(들)에 의해 만들어지는 패리티 검사 행렬은 둘레(girth)(예, LDPC 코드의 태너 그래프에서 가장 짧은 길이의 사이클) 6을 가진다. LDPC 코드의 태너 그래프에서 가장 짧은 길이의 사이클이 4일 때 성능 저하가 이루어지는 것은 알려져 있는 사실이다. 몇몇 구현들 모두에서 성능 저하를 피하기 위하여 둘레 6이 되는 LDPC 코드가 설계되는 것이 바람직할 수 있다. SA 기법을 사용하면, 리프팅 인자가 33일 때 둘레 6인 PCM을 수 있다. 리프팅 인자가 33인 경우, 로컬 코드를 위한 전술된 9-by-13의 기본 행렬을 확장하면 로컬 코드워드의 길이는 13*33 = 429가 된다. 또한 각각의 글로벌 파트의 크기는 3-by-13이므로 확장된 행렬은 크기 (3*33)-by-(13*33) = 99-by-429의 행렬이다. 전술한 글로벌 파트의 기본 행렬에서 글로벌 검사 노드들의 개수 MG = 3이므로, 패리티 검사 행렬의 경우에는 GC LDPC 코드의 글로벌 파트들로 인해 추가되는 글로벌 패리티 비트들의 개수는 33*3 = 99이며 총 99개의 글로벌 검사 노드들이 사용된다.
도 33은 글로벌 패티리 파트의 기본 행렬을 확장하여 얻어진 행렬의 예이다. 글로벌 패리티 파트의 기본 행렬을 리프팅 인자 33만큼 확장하면 글로벌 패리티 파트의 패리티 검사 행렬은 99-by-99 행렬이다.
도 34, 도 35 및 도 36은 글로벌 파트를 위한 도 29, 도 31 및 도 32의 기본 행렬들을 확장하여 얻어진 패리티 검사 행렬들을 각각(respectively) 예시한다. 도 29, 도 31 및 도 32의 기본 행렬들을 리프팅 인자 Z=33에 의해 리프팅하여, 각각 글로벌 파트를 위한 도 34, 도 35 및 도 36의 패리티 검사 행렬들이 얻어질 수 있다. 이 경우, GC LDPC 코드의 글로벌 파트에 해당하는 크기 99-by-429의 패리티 검사 행렬이 얻어질 수 있다. 특히, 도 34는 글로벌 파트를 위한 항등 행렬 기반 패리티 검사 행렬을 예시하며, 도 35는 본 명세의 몇몇 구현들에 따른 글로벌 파트를 위한 강한 노드-강한 노드 연결 기반 패리티 검사 행렬을 예시하며, 도 36은 본 명세의 몇몇 구현들에 따른 글로벌 파트를 위한 약한 노드-약한 노드 연결 기반 패리티 검사 행렬을 예시한다.
도 37은 본 명세의 몇몇 구현들에 따른 GC LDPC 코드들의 성능 평가 결과를 도시한 것이다. 도 37에서 "Baseline"은 항등 행렬 기반 패리티 검사 행렬에 의한 성능을 나타내며, "StoS"는 강한 노드-강한 노드 연결 기반 패리티 검사 행렬의 성능을 나타내고, 마지막으로 "WtoS"는 약한 노드-강한 노드 연결 기반 패리티 검사 행렬에 의한 성능을 나타낸다. 도 37의 성능 평가에는 하나의 코드 블록 그룹에 대해 10개 코드워드들이 사용되었으며, 가산 백색 가우시안 잡음(additive white Gaussian noise, AWGN) 채널, 이진 위상 천이 변조(binary phase shift keying, BPSK)가 가정되었고, 신뢰 전파(belief propagation, BP) 디코더 기반 2-단계 디코더가 사용되었다. 도 37을 참조하면, Eb/No 값들에 대해 "StoS"가 "Baseline" 및 "StoS"에 비해 코드 블록 그룹(code block group, CBG)의 오류율이 낮음을 확인할 수 있다.
본 명세의 몇몇 구현들에 의하면, CG LDPC 코드가 효율적으로 설계될 수 있다. 본 명세의 몇몇 구현들에 의하면, TBS 혹은 하나의 전송 시기(occasion)에 전송/수신될 CB들의 개수에 따라 확장가능한(scalable) 구조를 가진 GC LDPC 코드가 제공될 수 있다. 본 명세의 몇몇 구현들에 의하면, TB 혹은 CBG 오류율을 감소시킬 수 있는 GC LDPC 코드가 제공될 수 있다. 본 명세의 몇몇 구현들에 의하면, TB, CB 혹은 CBG에 오류가 발생하더라도 오류 정정이 가능해져 재전송 횟수가 감소될 수 있으며 이에 따라 시스템 처리량이 개선될 수 있다.
도 38은 본 명세의 몇몇 구현들에 따른, 채널 인코딩 과정을 예시한다.
통신 기기 혹은 인코더는 채널 인코딩과 관련하여 본 명세의 몇몇 구현들에 따른 동작들을 수행할 수 있다. 상기 통신 기기는 적어도 하나의 송수신기; 적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서에 동작 가능하게 연결 가능한, 그리고, 실행될 때, 상기 적어도 하나의 프로세서로 하여금 본 명세의 몇몇 구현들에 따른 동작들을 수행하도록 하는 명령(instruction)들을 저장한, 적어도 하나의 컴퓨터 메모리를 포함할 수 있다. 상기 통신 기기 혹은 인코더를 위한 프로세싱 장치는 적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서에 동작 가능하게 연결 가능한, 그리고, 실행될 때, 상기 적어도 하나의 프로세서로 하여금 본 명세의 몇몇 구현들에 따른 동작들을 수행하도록 하는 명령(instruction)들을 저장한, 적어도 하나의 컴퓨터 메모리를 포함할 수 있다. 컴퓨터 판독 가능 (비일시성) 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 본 명세의 몇몇 구현들에 따른 동작들을 수행하도록 하는 지시들을 포함하는 적어도 하나의 컴퓨터 프로그램을 저장할 수 있다. 컴퓨터 프로그램 혹은 컴퓨터 프로그램 제품(product)은 적어도 하나의 컴퓨터 판독가능한 (비일시성) 저장 매체에 기록되며, 실행될 때, (적어도 하나의 프로세서로 하여금) 본 명세의 몇몇 구현들에 따른 동작들을 수행하도록 하는 지시들을 포함할 수 있다.
도 38을 참조하면, 상기 통신 기기에 의해 수행되는 방법, 또는 상기 통신 기기, 상기 인코더, 상기 프로세싱 장치, 상기 컴퓨터 판독 가능 (비일시성) 저장 매체, 및/또는 상기 컴퓨터 프로그램 제품에서, 상기 동작들은: nL개 정보 블록들을 결정; 상기 nL개 정보 블록들 각각을 제1 행렬을 기반으로 인코딩하여 각각이 길이 n인 nL개 로컬 코드워드들을 획득(S3801); 상기 nL개 로컬 코드워드들을 기반으로 길이 n*nL인 제1 코드워드를 획득; 상기 제1 코드워드를 제2 행렬을 기반으로 인코딩하여 길이 nG인 제2 코드워드를 획득(S3803), 여기서 nG = n*nL + mG; 상기 제2 코드워드를 기반으로 전송될 코디드 비트들을 결정; 및 상기 코디드 비트들을 전송하는 것을 포함할 수 있다. 상기 제2 행렬은 본 명세의 몇몇 구현들에 따른 구조를 가질 수 있다. 예를 들어, 상기 제2 행렬은 크기 mG-by-nG의 패리티 검사 행렬 H
Global = [A P]와 관련될 수 있고, 여기서 P는 크기 mG-by-mG의 행렬이며, A = [A_1 A_2 ... A_nL]이며, A_1 = A_2 = ... = A_nL = A
G이고, A
G는 크기 mG-by-n의 행렬이다.
도 39은 본 명세의 몇몇 구현들에 따른, 채널 디코딩 과정을 예시한다.
통신 기기 혹은 디코더는 채널 디코딩과 관련하여 본 명세의 몇몇 구현들에 따른 동작들을 수행할 수 있다. 상기 통신 기기는 적어도 하나의 송수신기; 적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서에 동작 가능하게 연결 가능한, 그리고, 실행될 때, 상기 적어도 하나의 프로세서로 하여금 본 명세의 몇몇 구현들에 따른 동작들을 수행하도록 하는 명령(instruction)들을 저장한, 적어도 하나의 컴퓨터 메모리를 포함할 수 있다. 상기 통신 기기 혹은 디코더를 위한 프로세싱 장치는 적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서에 동작 가능하게 연결 가능한, 그리고, 실행될 때, 상기 적어도 하나의 프로세서로 하여금 본 명세의 몇몇 구현들에 따른 동작들을 수행하도록 하는 명령(instruction)들을 저장한, 적어도 하나의 컴퓨터 메모리를 포함할 수 있다. 컴퓨터 판독 가능 (비일시성) 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 본 명세의 몇몇 구현들에 따른 동작들을 수행하도록 하는 지시들을 포함하는 적어도 하나의 컴퓨터 프로그램을 저장할 수 있다. 컴퓨터 프로그램 혹은 컴퓨터 프로그램 제품(product)은 적어도 하나의 컴퓨터 판독가능한 (비일시성) 저장 매체에 기록되며, 실행될 때, (적어도 하나의 프로세서로 하여금) 본 명세의 몇몇 구현들에 따른 동작들을 수행하도록 하는 지시들을 포함할 수 있다.
도 39를 참조하면, 상기 통신 기기에 의해 수행되는 방법, 또는 상기 통신 기기, 상기 디코더, 상기 프로세싱 장치, 상기 컴퓨터 판독 가능 (비일시성) 저장 매체, 및/또는 상기 컴퓨터 프로그램 제품에서, 상기 동작들은: 제2 코드워드와 관련된 코디드 비트들을 수신(S3901); 및 상기 코디드 비트들에 대해 제1 행렬 및 제2 행렬을 기반으로 디코딩을 수행하여 nL개 정보 블록들을 결정(S3903)하는 것을 포함할 수 있다. 상기 제2 코드워드는 제1 코드워드에 대한 상기 제2 행렬에 기반한 인코딩을 통해 얻어질 수 있고, 상기 제1 코드워드는 각각이 길이 n인 nL개 로컬 코드워드들을 기반으로 얻어질 수 있으며, 상기 nL개 로컬 코드워드들은 상기 nL개 정보 블록들 각각을 상기 제1 행렬을 기반으로 인코딩하여 얻어질 수 있다. 상기 제2 행렬은 본 명세의 몇몇 구현들에 따른 구조를 가질 수 있다. 예를 들어, 상기 제2 행렬은 크기 mG-by-nG의 패리티 검사 행렬 H
Global = [A P]와 관련될 수 있고, 여기서 P는 크기 mG-by-mG의 행렬이며, A = [A_1 A_2 ... A_nL]이며, A_1 = A_2 = ... = A_nL = A
G이고, A
G는 크기 mG-by-n의 행렬이다.
도 38 또는 도 39와 관련하여, P는 크기 mG-by-mG의 항등 행렬일 수 있다.
도 38 또는 도 39와 관련하여, 상기 방법 또는 상기 동작들은: 상기 제2 행렬의 각 원소를 Z-by-Z 행렬로 대체하여 H
Global을 획득하는 것을 더 포함할 수 있고, 여기서 상기 제2 행렬은 크기 MG-by-NG의 행렬 B
Global = [B P
B]이며, 여기서 mG = Z*MG, nG = Z*NG이고, B = [B_1 B_2 ... B_nL]이고, B_1 = B_2 = ... = B_nL = B
G이고, B
G는 크기 크기 MG-by-N의 행렬이며, 여기서 n = Z*N이고, P
B는 크기 MG-by-MG의 대각 행렬이다.
도 38 또는 도 39와 관련하여, P는 P
B의 대각선 내 각 원소를 Z-by-Z 항등 행렬로 대체하고 나머지 원소를 Z-by-Z 영 행렬로 대체하여 얻어질 수 있고, 여기서 mG = Z*MG이다.
도 38 또는 도 39와 관련하여, B
G의 N개 열(column)들은 기결정된 열 인덱스 시퀀스(column sequence)에 기반하여 각각이 floor(N/MG)개 열들을 포함하는 MG개 열 세트들을 포함할 수 있고, B
G의 MG개 행(row)들 각각은 상기 MG개 열 세트들 중 상이한 열 세트 내 각 열에 Z-by-Z 영 행렬이 아닌 Z-by-Z 행렬을 표현하는 정수를 포함할 수 있다.
도 38 또는 도 39와 관련하여, B
G의 MG개 행(row)들 각각은 상기 MG개 열 세트들 중 해당 열 세트를 제외한 나머지 열들 각각에 Z-by-Z 영 행렬을 표현하는 정수를 포함할 수 있다.
도 38 또는 도 39와 관련하여, 상기 기결정된 열 인덱스 시퀀스는 B
G의 상기 N개 열(column)들에 대응하는 비트들 각각에 대한 비트 값들을 결정하는 데 필요한 디코딩 반복(iteration) 횟수를 기반으로 할 수 있다.
도 38 또는 도 39와 관련하여, 상기 기결정된 열 인덱스 시퀀스는 해당 비트 값을 결정하는 데 필요한 디코딩 반복(iteration) 횟수가 가장 적은 열의 열 인덱스부터 시작하여 반복(iteration) 반복(iteration) 횟수의 오름차순 혹은 내림차순으로 B
G의 N개 열 인덱스들을 정렬하여 얻어지는 시퀀스와 동일할 수 있다.
도 38 또는 도 39와 관련하여, 상기 nL개 정보 블록들은 수송 블록로부터 얻어지는 nL개 코드 블록들일 수 있다.
도 38 또는 도 39와 관련하여, 상기 nL개 정보 블록들은 nL개 코드 블록들 각각에 CRC 코드를 부가하여 얻어지는 nL개 CRC 부가 코드 블록들일 수 있다.
도 38 또는 도 39와 관련하여, 상기 nL개 정보 블록들 각각을 제1 행렬을 기반으로 인코딩하여 각각이 길이 n인 nL개 로컬 코드워드들을 결정하는 것은: 상기 제1 행렬을 리프팅 인자 Z에 의해 리프팅하여 제1 PCM을 획득; 및 상기 nL개 정보 블록들 각각을 상기 제1 PCM을 가지고 인코딩하는 것을 포함할 수 있다.
상술한 바와 같이 개시된 본 명세의 예들은 본 명세와 관련된 기술분야의 통상의 기술자가 본 명세를 구현하고 실시할 수 있도록 제공되었다. 상기에서는 본 명세의 예들을 참조하여 설명하였지만, 해당 기술 분야의 통상의 기술자는 본 명세의 예들을 다양하게 수정 및 변경시킬 수 있다. 따라서, 본 명세는 여기에 기재된 예들에 제한되려는 것이 아니라, 여기서 개시된 원리들 및 신규한 특징들과 일치하는 최광의 범위를 부여하려는 것이다.
본 명세의 구현들은 무선 통신 시스템에서, 기지국 또는 사용자기기, 기타 다른 장비에 사용될 수 있다.
Claims (13)
- 기기에 의해 수행되는 방법에 있어서,nL개 정보 블록들을 결정;상기 nL개 정보 블록들 각각을 제1 행렬을 기반으로 인코딩하여 각각이 길이 n인 nL개 로컬 코드워드들을 획득;상기 nL개 로컬 코드워드들을 기반으로 길이 n*nL인 제1 코드워드를 획득;상기 제1 코드워드를 제2 행렬을 기반으로 인코딩하여 길이 nG인 제2 코드워드를 획득, 여기서 nG = n*nL + mG;상기 제2 코드워드를 기반으로 전송될 코디드 비트들을 결정; 및상기 코디드 비트들을 전송하는 것을 포함하며,상기 제2 행렬은 크기 mG-by-nG의 패리티 검사 행렬 H Global = [A P]와 관련되고, 여기서 P는 크기 mG-by-mG의 행렬이며,A = [A_1 A_2 ... A_nL]이며, A_1 = A_2 = ... = A_nL = A G이고, A G는 크기 mG-by-n의 행렬인,방법.
- 제1항에 있어서,P는 크기 mG-by-mG의 항등 행렬인,방법.
- 제1항에 있어서,상기 제2 행렬의 각 원소를 Z-by-Z 행렬로 대체하여 H Global을 획득하는 것을 더 포함하고,상기 제2 행렬은 크기 MG-by-NG의 행렬 B Global = [B P B]이며, 여기서 mG = Z*MG, nG = Z*NG이고,B = [B_1 B_2 ... B_nL]이고, B_1 = B_2 = ... = B_nL = B G이고, B G는 크기 크기 MG-by-N의 행렬이며, 여기서 n = Z*N이고,P B는 크기 MG-by-MG의 대각 행렬인,방법.
- 제3항에 있어서,P는 P B의 대각선 내 각 원소를 Z-by-Z 항등 행렬로 대체하고 나머지 원소를 Z-by-Z 영 행렬로 대체하여 얻어지며, 여기서 mG = Z*MG인,방법.
- 제3항에 있어서,B G의 N개 열(column)들은 기결정된 열 인덱스 시퀀스(column sequence)에 기반하여 각각이 floor(N/MG)개 열들을 포함하는 MG개 열 세트들을 포함하고,B G의 MG개 행(row)들 각각은 상기 MG개 열 세트들 중 상이한 열 세트 내 각 열에 Z-by-Z 영 행렬이 아닌 Z-by-Z 행렬을 표현하는 정수를 포함하는,방법.
- 제3항에 있어서,B G의 MG개 행(row)들 각각은 상기 MG개 열 세트들 중 해당 열 세트를 제외한 나머지 열들 각각에 Z-by-Z 영 행렬을 표현하는 정수를 포함하는,방법.
- 제5항에 있어서,상기 기결정된 열 인덱스 시퀀스는 B G의 상기 N개 열(column)들에 대응하는 비트들 각각에 대한 비트 값들을 결정하는 데 필요한 디코딩 반복(iteration) 횟수를 기반으로 하는,방법.
- 제7항에 있어서,상기 기결정된 열 인덱스 시퀀스는 해당 비트 값을 결정하는 데 필요한 디코딩 되풀이 횟수가 가장 적은 열의 열 인덱스부터 시작하여 디코딩 반복(iteration) 횟수의 오름차순 혹은 내림차순으로 B G의 N개 열 인덱스들을 정렬하여 얻어지는 시퀀스와 동일한,방법.
- 적어도 하나의 프로세서; 및상기 적어도 하나의 프로세서에 동작 가능하게 연결 가능한, 그리고, 실행될 때, 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하도록 하는 명령(instruction)들을 저장한, 적어도 하나의 컴퓨터 메모리를 포함하며, 상기 동작들은:nL개 정보 블록들을 결정;상기 nL개 정보 블록들 각각을 제1 행렬을 기반으로 인코딩하여 길이 n인 nL개 로컬 코드워드들을 획득;상기 nL개 로컬 코드워드들을 기반으로 각각이 길이 n*nL인 제1 코드워드를 획득;상기 제1 코드워드를 제2 행렬을 기반으로 인코딩하여 길이 nG인 제2 코드워드를 획득, 여기서 nG = n*nL + mG;상기 제2 코드워드를 기반으로 전송될 코디드 비트들을 결정; 및상기 코디드 비트들을 전송하는 것을 포함하며,상기 제2 행렬은 크기 mG-by-nG의 패리티 검사 행렬 H Global = [A P]와 관련되고, 여기서 P는 크기 mG-by-mG의 행렬이며,A = [A_1 A_2 ... A_nL]이며, A_1 = A_2 = ... = A_nL = A G이고, A G는 크기 mG-by-n의 행렬인,기기.
- 실행될 때 적어도 하나의 프로세서로 하여금 동작들을 수행하도록 하는 지시들을 포함하는 적어도 하나의 프로그램 코드를 저장하는, 컴퓨터 판독가능한 비일시성(non-transitory) 저장 매체에 있어서, 상기 동작들은:상기 적어도 하나의 프로세서에 동작 가능하게 연결 가능한, 그리고, 실행될 때, 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하도록 하는 명령(instruction)들을 저장한, 적어도 하나의 컴퓨터 메모리를 포함하며, 상기 동작들은:nL개 정보 블록들을 결정;상기 nL개 정보 블록들 각각을 제1 행렬을 기반으로 인코딩하여 길이 n인 nL개 로컬 코드워드들을 획득;상기 nL개 로컬 코드워드들을 기반으로 각각이 길이 n*nL인 제1 코드워드를 획득;상기 제1 코드워드를 제2 행렬을 기반으로 인코딩하여 길이 nG인 제2 코드워드를 획득, 여기서 nG = n*nL + mG;상기 제2 코드워드를 기반으로 전송될 코디드 비트들을 결정; 및상기 코디드 비트들을 전송하는 것을 포함하며,상기 제2 행렬은 크기 mG-by-nG의 패리티 검사 행렬 H Global = [A P]와 관련되고, 여기서 P는 크기 mG-by-mG의 행렬이며,A = [A_1 A_2 ... A_nL]이며, A_1 = A_2 = ... = A_nL = A G이고, A G는 크기 mG-by-n의 행렬인,저장 매체.
- 기기에 의해 수행되는 방법에 있어서,제2 코드워드와 관련된 코디드 비트들을 수신; 및상기 코디드 비트들에 대해 제1 행렬 및 제2 행렬을 기반으로 디코딩을 수행하여 nL개 정보 블록들을 결정하는 것을 포함하며,상기 제2 코드워드는 제1 코드워드에 대한 상기 제2 행렬에 기반한 인코딩을 통해 얻어지고,상기 제1 코드워드는 각각이 길이 n인 nL개 로컬 코드워드들을 기반으로 얻어지고,상기 nL개 로컬 코드워드들은 상기 nL개 정보 블록들 각각을 상기 제1 행렬을 기반으로 인코딩하여 얻어지고,상기 제2 행렬은 크기 mG-by-nG의 패리티 검사 행렬 H Global = [A P]와 관련되고, 여기서 P는 크기 mG-by-mG의 행렬이며,A = [A_1 A_2 ... A_nL]이며, A_1 = A_2 = ... = A_nL = A G이고, A G는 크기 mG-by-n의 행렬인,방법.
- 적어도 하나의 프로세서; 및상기 적어도 하나의 프로세서에 동작 가능하게 연결 가능한, 그리고, 실행될 때, 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하도록 하는 명령(instruction)들을 저장한, 적어도 하나의 컴퓨터 메모리를 포함하며, 상기 동작들은:제2 코드워드와 관련된 코디드 비트들을 수신; 및상기 코디드 비트들에 대해 제1 행렬 및 제2 행렬을 기반으로 디코딩을 수행하여 nL개 정보 블록들을 결정하는 것을 포함하며,상기 제2 코드워드는 제1 코드워드에 대한 상기 제2 행렬에 기반한 인코딩을 통해 얻어지고,상기 제1 코드워드는 각각이 길이 n인 nL개 로컬 코드워드들을 기반으로 얻어지고,상기 nL개 로컬 코드워드들은 상기 nL개 정보 블록들 각각을 상기 제1 행렬을 기반으로 인코딩하여 얻어지고,상기 제2 행렬은 크기 mG-by-nG의 패리티 검사 행렬 H Global = [A P]와 관련되고, 여기서 P는 크기 mG-by-mG의 행렬이며,A = [A_1 A_2 ... A_nL]이며, A_1 = A_2 = ... = A_nL = A G이고, A G는 크기 mG-by-n의 행렬인,기기.
- 실행될 때 적어도 하나의 프로세서로 하여금 동작들을 수행하도록 하는 지시들을 포함하는 적어도 하나의 프로그램 코드를 저장하는, 컴퓨터 판독가능한 비일시성(non-transitory) 저장 매체에 있어서, 상기 동작들은:상기 적어도 하나의 프로세서에 동작 가능하게 연결 가능한, 그리고, 실행될 때, 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하도록 하는 명령(instruction)들을 저장한, 적어도 하나의 컴퓨터 메모리를 포함하며, 상기 동작들은:제2 코드워드와 관련된 코디드 비트들을 수신; 및상기 코디드 비트들에 대해 제1 행렬 및 제2 행렬을 기반으로 디코딩을 수행하여 nL개 정보 블록들을 결정하는 것을 포함하며,상기 제2 코드워드는 제1 코드워드에 대한 상기 제2 행렬에 기반한 인코딩을 통해 얻어지고,상기 제1 코드워드는 각각이 길이 n인 nL개 로컬 코드워드들을 기반으로 얻어지고,상기 nL개 로컬 코드워드들은 상기 nL개 정보 블록들 각각을 상기 제1 행렬을 기반으로 인코딩하여 얻어지고,상기 제2 행렬은 크기 mG-by-nG의 패리티 검사 행렬 H Global = [A P]와 관련되고, 여기서 P는 크기 mG-by-mG의 행렬이며,A = [A_1 A_2 ... A_nL]이며, A_1 = A_2 = ... = A_nL = A G이고, A G는 크기 mG-by-n의 행렬인,저장 매체.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2024-0018550 | 2024-02-07 | ||
| KR20240018550 | 2024-02-07 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025170367A1 true WO2025170367A1 (ko) | 2025-08-14 |
Family
ID=96700312
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2025/001847 Pending WO2025170367A1 (ko) | 2024-02-07 | 2025-02-07 | 기기에 의해 수행되는 방법, 기기 및 저장 매체 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025170367A1 (ko) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110708078A (zh) * | 2019-11-08 | 2020-01-17 | 西安电子科技大学 | 基于基模图的全局耦合ldpc码构造方法 |
| CN115664431A (zh) * | 2022-11-03 | 2023-01-31 | 哈尔滨工业大学 | 基于嵌套结构的全局耦合低密度奇偶校验码构造系统 |
| CN117318732A (zh) * | 2023-10-23 | 2023-12-29 | 西安电子科技大学 | 一种全局耦合码的译码方法和译码装置 |
-
2025
- 2025-02-07 WO PCT/KR2025/001847 patent/WO2025170367A1/ko active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110708078A (zh) * | 2019-11-08 | 2020-01-17 | 西安电子科技大学 | 基于基模图的全局耦合ldpc码构造方法 |
| CN115664431A (zh) * | 2022-11-03 | 2023-01-31 | 哈尔滨工业大学 | 基于嵌套结构的全局耦合低密度奇偶校验码构造系统 |
| CN117318732A (zh) * | 2023-10-23 | 2023-12-29 | 西安电子科技大学 | 一种全局耦合码的译码方法和译码装置 |
Non-Patent Citations (2)
| Title |
|---|
| LI JUANE; LIN SHU; ABDEL-GHAFFAR KHALED; RYAN WILLIAM E.; COSTELLO DANIEL J.: "Globally coupled LDPC codes", 2016 INFORMATION THEORY AND APPLICATIONS WORKSHOP (ITA), 31 January 2016 (2016-01-31), pages 1 - 10, XP033082414, DOI: 10.1109/ITA.2016.7888167 * |
| MA XIAO; WANG QIANFAN; XIE MANGANG; CAI SUIHUA: "Implicit Globally-Coupled LDPC Codes Using Free-Ride Coding", 2022 IEEE WIRELESS COMMUNICATIONS AND NETWORKING CONFERENCE (WCNC), 10 April 2022 (2022-04-10), pages 1117 - 1122, XP034123446, DOI: 10.1109/WCNC51071.2022.9771931 * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2019194635A1 (en) | Apparatus and method for encoding and decoding using polar code in wireless communication system and broadcasting system | |
| WO2016089157A1 (en) | Sc-ldpc codes for wireless communication systems | |
| WO2019098677A1 (ko) | Pbch 전송 방법 및 전송 장치, 및 pbch 수신 방법 및 수신 장치 | |
| WO2019221499A1 (ko) | 무선 통신 시스템에서 재전송을 수행하기 위한 장치 및 방법 | |
| WO2018236114A1 (en) | METHOD AND APPARATUS FOR FLOW ADAPTATION FOR COMMUNICATION AND BROADCASTING SYSTEMS | |
| WO2010107232A2 (en) | Method of retransmission for supporting mimo in synchronous harq | |
| EP3625887A1 (en) | Method and apparatus of rate-matching for communication and broadcasting systems | |
| WO2018097545A1 (ko) | 셀룰라 통신 시스템에서 상향링크 전송 방법 및 장치 | |
| WO2017217711A1 (ko) | 폴라 코드를 위한 데이터 재송신 방법 및 이를 위한 장치 | |
| WO2020145516A1 (ko) | 무선 통신 시스템에서 저밀도 패리티 체크 행렬을 이용한 채널 코딩을 수행하는 방법 및 장치 | |
| WO2018124779A1 (ko) | 폴라 코드에 기반한 harq를 수행하는 방법 및 장치 | |
| WO2018128435A2 (ko) | 다중 ldpc 코드에서 ldpc 베이스 코드를 선택하는 방법 및 이를 위한 장치 | |
| WO2017171396A1 (ko) | 무선 통신 시스템에서 기지국과 단말이 데이터 신호를 송수신하는 방법 및 이를 지원하는 장치 | |
| WO2019031841A1 (ko) | 정보 전송 방법 및 전송 장치 및 정보 수신 방법 및 수신 장치 | |
| WO2019139412A1 (ko) | 정보를 전송하는 방법 및 장치, 그리고 정보를 수신하는 방법 및 장치 | |
| WO2020226304A1 (en) | Apparatus and method for decoding of low-density parity check codes in wireless communication system | |
| WO2018174672A2 (ko) | 하향링크 신호 수신 방법 및 사용자기기, 그리고 하향링크 신호 전송 방법 및 기지국 | |
| WO2018143743A1 (ko) | 행-직교 구조(row-orthogonal)를 이용한 LDPC 코드 전송 방법 및 이를 위한 장치 | |
| WO2017023079A1 (ko) | 폴라 코드에서의 데이터 비트 결정 방법 및 이를 위한 장치 | |
| WO2018225885A1 (ko) | Sc-ldpc 코드 부호화 방법 및 이를 위한 장치 | |
| WO2018151555A1 (ko) | 정보 전송 방법 및 전송장치 | |
| WO2022260469A1 (ko) | 채널 인코딩을 수행하는 방법, 통신 기기, 프로세싱 장치, 및 저장 매체, 그리고 채널 디코딩을 수행하는 방법 및 통신 기기 | |
| WO2018143772A1 (ko) | 수송 블록 전송 방법 및 전송 장치 | |
| WO2018079987A1 (ko) | Ldpc 코드의 운송블록 분할 방법 및 이를 위한 장치 | |
| WO2019098689A1 (ko) | 무선 통신 시스템에서 부호화 및 복호화를 위한 방법 및 장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 25752476 Country of ref document: EP Kind code of ref document: A1 |