Method and process for flexible and high parallel polar coding and decoding
By generating and pruning polarity factor graphs, BP decoding method similar to LDPC is used to solve the problem of increased decoding complexity of polarity codes when the polarity code is medium to large block lengths, and the performance improvement in high-throughput applications is achieved. It is suitable for scenarios with 5G NR eMBB data rates and above.
Patent Information
- Application Number
- CN202411880761.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2019-01-29
- Filing Date
- 2020-01-29
- Publication Date
- 2025-03-21
AI Technical Summary
The prior art increases polar code decoding complexity when medium to large block lengths, limiting its use in high throughput applications, especially in scenarios with 5G NR eMBB data rates (~20 Gbps) and above.
By generating a polarity factor graph and pruning, a pruning factor graph is obtained. The BP decoding method similar to LDPC is used. The pruning factor graph includes input variable nodes, check nodes and output variable nodes, initializes the input variable nodes, and transmits values in multiple encoding levels, performs XOR operations, identifying the check nodes with a single connection, and transmits the value to the input variable node.
By pruning the factor graph, the complexity and delay of polar code decoding are reduced, and the performance in high-throughput applications is improved. It is suitable for scenarios with 5G NR eMBB data rates and above.
Smart Images

Figure CN119675830A_ABST
Abstract
Description
This application is a divisional application of Chinese patent application No. 202080020677.5, filed on January 29, 2020, entitled “Methods and processes for flexible and highly parallel polarity encoding and decoding”, and the contents of the parent application are incorporated herein by reference. CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 62 / 798,121, filed on January 29, 2019, the contents of which are incorporated herein by reference. Summary of the invention
[0002] A method performed by a wireless transmit / receive unit (WTRU), the method may include generating a polar factor graph, and pruning the polar factor graph to generate a pruned factor graph. The pruned factor graph may include an input variable node, a check node, and an output variable node. The method may also include initializing the input variable node. For each of a plurality of coding levels of the pruned factor graph, a value from the input variable node may be transmitted to the check node. An operation such as an exclusive OR (XOR) addition may be performed on the value of the check node. A check node having a single connection to another node that was not used in a previous transmission may be identified. The value from the identified check node may be transmitted to the input variable node. A binary value from the input variable node may be transmitted to the output variable node. The binary value from the input variable node may be transmitted to the output variable node for transmission to a receiver. BRIEF DESCRIPTION OF THE DRAWINGS
[0003] The present invention may be understood in more detail from the following description given by way of example in conjunction with the accompanying drawings, in which like reference numerals represent like elements, and in which:
[0004] Figure 1A is a system diagram illustrating an example communication system in which one or more disclosed embodiments may be implemented;
[0005] Figure 1B is a diagram showing that according to one embodiment, Figure 1A A system diagram of an example wireless transmit / receive unit (WTRU) for use within a communication system is shown;
[0006] Figure 1C is a diagram showing that according to one embodiment, Figure 1A A system diagram of an example radio access network (RAN) and an example core network (CN) used within the communication system shown;
[0007] Figure 1D is a diagram showing that according to one embodiment, Figure 1A A system diagram of another exemplary RAN and another exemplary CN used within the communication system shown;
[0008] Figure 2 is a diagram of a polar encoder with N=8;
[0009] Figure 3 is an illustration of a factor graph for belief propagation (BP) decoding when N=8;
[0010] Figure 4 is a graphical illustration of log-likelihood ratio (LLR) messaging for BP decoding;
[0011] Figure 5 (a) is a diagram of the application phase of the pruning process for N = 8;
[0012] Figure 5 (b) is a diagram of the application phase of the pruning process when N = 8;
[0013] Figure 5 (c) is a diagram of the application phase of the pruning process when N = 8;
[0014] Figure 5 (d) is a diagram of the application phase of the pruning process for N = 8;
[0015] Figure 5 (e) is a diagram of the application phase of the pruning process when N = 8;
[0016] Figure 6 (a) is a flow chart showing a conventional low-density parity check (LDPC)-like BP decoding / decoder implementation;
[0017] Figure 6 (b) is the flowchart of the proposed LDPC-like BP decoding / decoder implementation;
[0018] Figure 7 is a graphical representation of the pruned factor graph;
[0019] Figure 8 (a) is an illustration of a modified encoding process performed using a pruning factor graph;
[0020] Figure 8 (b) is an illustration of a modified encoding process performed using a pruned factor graph;
[0021] Figure 8 (c) is an illustration of a modified encoding process performed using a pruned factor graph;
[0022] Figure 8 (d) is an illustration of a modified encoding process performed using a pruned factor graph;
[0023] Figure 8 (e) is an illustration of a modified encoding process performed using a pruned factor graph;
[0024] Figure 8 (f) is an illustration of a modified encoding process performed using a pruned factor graph;
[0025] Fig. 9 (a) is a diagram showing the first timing step of determining the code bit value;
[0026] Fig. 9 (b) is a diagram of the second timing step of determining the code bit value;
[0027] Fig.10 is a flow chart of the encoding through the proposed flexible factor graph;
[0028] Fig.11 (a) is an illustration of the application of factor graph in polar decomposition;
[0029] Fig.11 (b) is an illustration of the application of factor graph in polar decomposition;
[0030] Fig.12 is a graphical representation of the comparison of block / bit error performance between BP and LDPC-like BP; and
[0031] Fig.13 is a graphic illustration of the timing step comparison between BP and LDPC-like BP. DETAILED DESCRIPTION
[0032] Figure 1A 1 is a schematic diagram of an exemplary communication system 100 in which one or more disclosed embodiments may be implemented. The communication system 100 may be a multiple access system that provides content such as voice, data, video, messaging, broadcast, etc. to multiple wireless users. The communication system 100 may enable multiple wireless users to access such content by sharing system resources including wireless bandwidth. For example, the communication system 100 may use one or more channel access methods such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), single carrier FDMA (SC-FDMA), zero tail unique word discrete Fourier transform-spread OFDM (ZT-UW-DFT-S-OFDM), unique word OFDM (UW-OFDM), resource block filtered OFDM, and filter bank multi-carrier (FBMC), etc.
[0033] like Figure 1A As shown, the communication system 100 may include wireless transmit / receive units (WTRUs) 102a, 102b, 102c, 102d, a radio access network (RAN) 104, a core network (CN) 106, a public switched telephone network (PSTN) 108, the Internet 110, and other networks 112, although it should be appreciated that the disclosed embodiments contemplate any number of WTRUs, base stations, networks, and / or network components. Each of the WTRUs 102a, 102b, 102c, 102d may be any type of device configured to operate and / or communicate in a wireless environment. For example, any of the WTRUs 102a, 102b, 102c, 102d may be referred to as a station (STA), which may be configured to transmit and / or receive wireless signals, and may include a user equipment (UE), a mobile station, a fixed or mobile subscriber unit, a subscription-based unit, a pager, a cellular phone, a personal digital assistant (PDA), a smart phone, a laptop, a netbook, a personal computer, a wireless sensor, a hotspot or Mi-Fi device, an Internet of Things (IoT) device, a watch or other wearable device, a head-mounted display (HMD), a vehicle, a drone, medical devices and applications (e.g., remote surgery), industrial devices and applications (e.g., robots and / or other wireless devices working in an industrial and / or automated process chain environment), consumer electronic devices, and devices working on a commercial and / or industrial wireless network, etc. Any of the WTRUs 102a, 102b, 102c, 102d may be interchangeably referred to as a UE.
[0034] The communication system 100 may also include a base station 114a and / or a base station 114b. Each of the base stations 114a, 114b may be any type of device configured to facilitate access to one or more communication networks (e.g., the CN 106, the Internet 110, and / or other networks 112) by wirelessly interfacing with at least one of the WTRUs 102a, 102b, 102c, 102d. For example, the base stations 114a, 114b may be a base transceiver station (BTS), a Node B, an eNode B (eNB), a Home Node B, a Home eNode B, a next generation Node B (such as a gNB), a new radio (NR) Node B, a site controller, an access point (AP), a wireless router, and the like. Although each of the base stations 114a, 114b is depicted as a single component, it should be appreciated that the base stations 114a, 114b may include any number of interconnected base stations and / or network components.
[0035] The base station 114a may be part of the RAN 104, which may also include other base stations and / or network components (not shown), such as a base station controller (BSC), a radio network controller (RNC), a relay node, and the like. The base station 114a and / or the base station 114b may be configured to transmit and / or receive wireless signals on one or more carrier frequencies called cells (not shown). These frequencies may be in a licensed spectrum, an unlicensed spectrum, or a combination of licensed and unlicensed spectrum. A cell may provide wireless service coverage for a specific geographic area that is relatively fixed or may change over time. A cell may be further divided into cell sectors. For example, a cell associated with the base station 114a may be divided into three sectors. Thus, in one embodiment, the base station 114a may include three transceivers, i.e., each transceiver corresponds to a sector of the cell. In an embodiment, the base station 114a may use multiple-input multiple-output (MIMO) technology and may use multiple transceivers for each sector of the cell. For example, by using beamforming, signals may be transmitted and / or received in a desired spatial direction.
[0036] The base stations 114a, 114b may communicate with one or more of the WTRUs 102a, 102b, 102c, 102d over an air interface 116, which may be any suitable wireless communication link (e.g., radio frequency (RF), microwave, centimeter wave, millimeter wave, infrared (IR), ultraviolet (UV), visible light, etc.). The air interface 116 may be established using any suitable radio access technology (RAT).
[0037] More specifically, as described above, the communication system 100 may be a multiple access system and may use one or more channel access schemes, such as CDMA, TDMA, FDMA, OFDMA, SC-FDMA, and the like. For example, the base station 114a in the RAN 104 and the WTRUs 102a, 102b, 102c may implement a radio technology such as Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access (UTRA), which may use Wideband CDMA (WCDMA) to establish an air interface 116. WCDMA may include communication protocols such as High Speed Packet Access (HSPA) and / or Evolved HSPA (HSPA+). HSPA may include High Speed Downlink (DL) Packet Access (HSDPA) and / or High Speed UL Packet Access (HSUPA).
[0038] In an embodiment, the base station 114a and the WTRUs 102a, 102b, 102c may implement a radio technology such as Evolved UMTS Terrestrial Radio Access (E-UTRA), which may establish the air interface 116 using Long Term Evolution (LTE) and / or Advanced LTE (LTE-A) and / or Advanced LTE Pro (LTE-A Pro).
[0039] In an embodiment, the base station 114a and the WTRUs 102a, 102b, 102c may implement a radio technology that may use NR to establish the air interface 116, such as NR radio access.
[0040] In an embodiment, the base station 114a and the WTRUs 102a, 102b, 102c may implement multiple radio access technologies. For example, the base station 114a and the WTRUs 102a, 102b, 102c may jointly implement LTE radio access and NR radio access (e.g., using dual connectivity (DC) principles). Thus, the air interface used by the WTRUs 102a, 102b, 102c may be characterized by multiple types of radio access technologies and / or transmissions sent to / from multiple types of base stations (e.g., eNBs and gNBs).
[0041] In other embodiments, the base station 114a and the WTRUs 102a, 102b, 102c may implement radio technologies such as IEEE 802.11 (i.e., Wireless Fidelity (WiFi)), IEEE 802.16 (i.e., Worldwide Interoperability for Microwave Access (WiMAX)), CDMA2000, CDMA2000 1X, CDMA2000 EV-DO, Interim Standard 2000 (IS-2000), Interim Standard 95 (IS-95), Interim Standard 856 (IS-856), Global System for Mobile Communications (GSM), Enhanced Data Rates for GSM Evolution (EDGE), and GSM EDGE (GERAN), among others.
[0042] Figure 1AThe base station 114b in the example may be, for example, a wireless router, a Home NodeB, a Home eNodeB, or an access point, and may use any appropriate RAT to facilitate wireless connectivity in a local area, such as a business location, a residence, a vehicle, a campus, an industrial facility, an air corridor (e.g., for use by drones), a road, and the like. In one embodiment, the base station 114b and the WTRUs 102c, 102d may establish a wireless local area network (WLAN) by implementing a radio technology such as IEEE 802.11. In an embodiment, the base station 114b and the WTRUs 102c, 102d may establish a wireless personal area network (WPAN) by implementing a radio technology such as IEEE 802.15. In yet another embodiment, the base station 114b and the WTRUs 102c, 102d may establish a picocell or a femtocell by using a cellular-based RAT (e.g., WCDMA, CDMA2000, GSM, LTE, LTE-A, LTE-A Pro, NR, and the like). As Figure 1A As shown, the base station 114b may be directly connected to the Internet 110. Thus, the base station 114b does not need to access the Internet 110 via the CN 106.
[0043] The RAN 104 may be in communication with the CN 106, which may be any type of network configured to provide voice, data, applications, and / or Voice over Internet Protocol (VoIP) services to one or more of the WTRUs 102a, 102b, 102c, 102d. The data may have different quality of service (QoS) requirements, such as different throughput requirements, latency requirements, fault tolerance requirements, reliability requirements, data throughput requirements, mobility requirements, etc. The CN 106 may provide call control, billing services, mobile location-based services, pre-paid calling, Internet connectivity, video distribution, etc., and / or may perform advanced security functions such as user authentication. Although in Figure 1A Although not shown, it will be appreciated that the RAN 104 and / or the CN 106 may be in direct or indirect communication with other RANs that employ the same RAT or a different RAT as the RAN 104. For example, in addition to being connected to the RAN 104 employing NR radio technology, the CN 106 may also be in communication with another RAN (not shown) employing GSM, UMTS, CDMA 2000, WiMAX, E-UTRA, or WiFi radio technology.
[0044] The CN 106 may also act as a gateway for the WTRUs 102a, 102b, 102c, 102d to access the PSTN 108, the Internet 110, and / or other networks 112. The PSTN 108 may include a circuit-switched telephone network that provides plain old telephone service (POTS). The Internet 110 may include a global system of interconnected computer network devices that use common communication protocols, such as TCP, User Datagram Protocol (UDP), and / or IP in the Transmission Control Protocol / Internet Protocol (TCP / IP) Internet protocol suite. The networks 112 may include wired or wireless communication networks owned and / or operated by other service providers. For example, the networks 112 may include another CN connected to one or more RANs, where the one or more RANs may use the same RAT or a different RAT as the RAN 104.
[0045] Some or all of the WTRUs 102a, 102b, 102c, 102d in the communication system 100 may include multi-mode capabilities (e.g., the WTRUs 102a, 102b, 102c, 102d may include multiple transceivers for communicating with different wireless networks over different wireless links). Figure 1A The illustrated WTRU 102c may be configured to communicate with the base station 114a, which may employ a cellular-based radio technology, and with the base station 114b, which may employ an IEEE 802 radio technology.
[0046] Figure 1B is a system diagram illustrating an exemplary WTRU 102. Figure 1B As shown, the WTRU 102 may include a processor 118, a transceiver 120, a transmit / receive element 122, a speaker / microphone 124, a numeric keypad 126, a display / touchpad 128, a non-removable memory 130, a removable memory 132, a power source 134, a global positioning system (GPS) chipset 136, and / or peripherals 138. It should be appreciated that the WTRU 102 may include any sub-combination of the foregoing elements while remaining consistent with an embodiment.
[0047] The processor 118 may be a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors associated with a DSP core, a controller, a microcontroller, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), any other type of integrated circuit (IC), a state machine, and the like. The processor 118 may perform signal coding, data processing, power control, input / output processing, and / or any other functionality that enables the WTRU 102 to operate in a wireless environment. The processor 118 may be coupled to the transceiver 120, which may be coupled to the transmit / receive element 122. Although Figure 1B The processor 118 and the transceiver 120 are depicted as separate components, however it should be appreciated that the processor 118 and the transceiver 120 may also be integrated together in one electronic component or chip.
[0048] The transmit / receive component 122 may be configured to transmit or receive signals to or from a base station (e.g., base station 114a) via the air interface 116. For example, in one embodiment, the transmit / receive component 122 may be an antenna configured to transmit and / or receive RF signals. As an example, in another embodiment, the transmit / receive component 122 may be an emitter / detector configured to transmit and / or receive IR, UV, or visible light signals. In yet another embodiment, the transmit / receive component 122 may be configured to transmit and / or receive RF and light signals. It should be appreciated that the transmit / receive component 122 may be configured to transmit and / or receive any combination of wireless signals.
[0049] Although in Figure 1B 102 as a single component, but the WTRU 102 may include any number of transmit / receive components 122. More specifically, the WTRU 102 may employ MIMO technology. Thus, in one embodiment, the WTRU 102 may include two or more transmit / receive components 122 (e.g., multiple antennas) for transmitting and receiving wireless signals over the air interface 116.
[0050] The transceiver 120 may be configured to modulate signals to be transmitted by the transmit / receive component 122 and to demodulate signals received by the transmit / receive component 122. As described above, the WTRU 102 may have multi-mode capabilities. Thus, the transceiver 120 may include multiple transceivers that allow the WTRU 102 to communicate via multiple RATs (e.g., NR and IEEE 802.11).
[0051] The processor 118 of the WTRU 102 may be coupled to a speaker / microphone 124, a numeric keypad 126, and / or a display / touchpad 128 (e.g., a liquid crystal display (LCD) display unit or an organic light emitting diode (OLED) display unit), and may receive user input data from these components. The processor 118 may also output user data to the speaker / microphone 124, the keypad 126, and / or the display / touchpad 128. In addition, the processor 118 may access information from and store information in any suitable memory such as a non-removable memory 130 and / or a removable memory 132. The non-removable memory 130 may include a random access memory (RAM), a read-only memory (ROM), a hard disk, or any other type of memory storage device. The removable memory 132 may include a subscriber identity module (SIM) card, a memory stick, a secure digital (SD) memory card, and the like. In other embodiments, the processor 118 may access information from, and store data in, memory that is not physically located on the WTRU 102, such as, for example, on a server or a home computer (not shown).
[0052] The processor 118 may receive power from the power source 134, and may be configured to distribute and / or control power for use by other components in the WTRU 102. The power source 134 may be any suitable device for powering the WTRU 102. For example, the power source 134 may include one or more dry cell batteries (e.g., nickel-cadmium (Ni-Cd), nickel-zinc (Ni-Zn), nickel-metal hydride (NiMH), lithium-ion (Li-ion), etc.), solar cells, fuel cells, and the like.
[0053] The processor 118 may also be coupled to the GPS chipset 136, which may be configured to provide location information (e.g., longitude and latitude) related to the current location of the WTRU 102. In addition to or in lieu of the information from the GPS chipset 136, the WTRU 102 may receive location information from a base station (e.g., base stations 114a, 114b) via the air interface 116 and / or determine its location based on the timing of signals received from two or more nearby base stations. It should be appreciated that the WTRU 102 may acquire location information via any suitable positioning method while remaining consistent with an embodiment.
[0054] The processor 118 may also be coupled to other peripheral devices 138, wherein the peripheral devices may include one or more software and / or hardware modules that provide additional features, functions, and / or wired or wireless connectivity. For example, the peripheral devices 138 may include an accelerometer, an electronic compass, a satellite transceiver, a digital camera (for photos and / or video), a universal serial bus (USB) port, a vibration device, a television transceiver, a hands-free headset, Modules, FM radio units, digital music players, media players, video game console modules, Internet browsers, virtual reality and / or augmented reality (VR / AR) devices, and activity trackers, etc. The peripheral device 138 may include one or more sensors. The sensor may be one or more of the following: a gyroscope, an accelerometer, a Hall effect sensor, a magnetometer, an orientation sensor, a proximity sensor, a temperature sensor, a time sensor, a geographic location sensor, an altimeter, a light sensor, a touch sensor, a magnetometer, a barometer, a gesture sensor, a biometric sensor, and a humidity sensor, etc.
[0055] The WTRU 102 may include a full-duplex radio in which reception or transmission of some or all signals (e.g., associated with specific subframes for UL (e.g., for transmission) and DL (e.g., for reception)) may be concurrent and / or simultaneous for the radio. A full-duplex radio may include an interference management unit that reduces and / or substantially eliminates self-interference by means of hardware (e.g., chokes) or by signal processing by a processor (e.g., a separate processor (not shown) or by the processor 118). In an embodiment, the WTRU 102 may include a half-duplex radio that transmits and receives some or all signals (e.g., associated with specific subframes for UL (e.g., for transmission) or DL (e.g., for reception)).
[0056] Figure 1C 1 is a system diagram showing the RAN 104 and the CN 106 according to an embodiment. As described above, the RAN 104 may communicate with the WTRUs 102a, 102b, 102c using an E-UTRA radio technology over the air interface 116. The RAN 104 may also communicate with the CN 106.
[0057] The RAN 104 may include eNode-Bs 160a, 160b, 160c, however it will be appreciated that the RAN 104 may include any number of eNode-Bs while remaining consistent with an embodiment. The eNode-Bs 160a, 160b, 160c may each include one or more transceivers for communicating with the WTRUs 102a, 102b, 102c over the air interface 116. In one embodiment, the eNode-Bs 160a, 160b, 160c may implement MIMO technology. Thus, for example, the eNode-B 160a may use multiple antennas to transmit wireless signals to, and / or receive wireless signals from, the WTRU 102a.
[0058] Each of the eNodeBs 160a, 160b, 160c may be associated with a particular cell (not shown) and may be configured to handle radio resource management decisions, handover decisions, user scheduling in the UL and / or DL, etc. Figure 1C As shown, the eNode-Bs 160a, 160b, 160c may communicate with each other via an X2 interface.
[0059] Figure 1C The illustrated CN 106 may include a mobility management entity (MME) 162, a serving gateway (SGW) 164, and a packet data network (PDN) gateway (PGW) 166. Although the foregoing components are described as being part of the CN 106, it should be appreciated that any of these components may be owned and / or operated by an entity other than the CN operator.
[0060] The MME 162 may be connected to each of the eNode-Bs 160a, 160b, 160c in the RAN 104 via an S1 interface and may serve as a control node. For example, the MME 162 may be responsible for authenticating users of the WTRUs 102a, 102b, 102c, performing bearer activation / deactivation processing, selecting a particular serving gateway during an initial attach procedure for the WTRUs 102a, 102b, 102c, and the like. The MME 162 may provide a control plane function for switching between the RAN 104 and other RANs (not shown) that employ other radio technologies, such as GSM and / or WCDMA.
[0061] The SGW 164 may be connected to each of the eNode-Bs 160a, 160b, 160c in the RAN 104 via an S1 interface. The SGW 164 may generally route and forward user data packets to / from the WTRUs 102a, 102b, 102c. The SGW 164 may also perform other functions, such as anchoring the user plane during an inter-eNB handover, triggering paging processing when DL data is available for the WTRUs 102a, 102b, 102c, and managing and storing the contexts of the WTRUs 102a, 102b, 102c, and the like.
[0062] The SGW 164 may be connected to the PGW 146, which may provide the WTRUs 102a, 102b, 102c with access to packet-switched networks, such as the Internet 110, to facilitate communications between the WTRUs 102a, 102b, 102c and IP-enabled devices.
[0063] The CN 106 may facilitate communications with other networks. For example, the CN 106 may provide the WTRUs 102a, 102b, 102c with access to circuit-switched networks, such as the PSTN 108, to facilitate communications between the WTRUs 102a, 102b, 102c and traditional land-line communications devices. For example, the CN 106 may include or communicate with an IP gateway, such as an IP Multimedia Subsystem (IMS) server, and the IP gateway may serve as an interface between the CN 106 and the PSTN 108. In addition, the CN 106 may provide the WTRUs 102a, 102b, 102c with access to other networks 112, which may include other wired and / or wireless networks owned and / or operated by other service providers.
[0064] Although in Figures 1A-1D While the WTRU is described as a wireless terminal, it should be appreciated that in certain representative embodiments, such a terminal may use a (eg, temporary or permanent) wired communication interface with a communication network.
[0065] In a representative embodiment, the other network 112 may be a WLAN.
[0066] A WLAN using an infrastructure basic service set (BSS) mode may have an access point (AP) for the BSS and one or more stations (STAs) associated with the AP. The AP may access or be connected to a distributed system (DS) or other types of wired / wireless networks that send traffic into and / or out of the BSS. Traffic originating from outside the BSS and destined for the STA may arrive through the AP and be delivered to the STA. Traffic originating from the STA and destined for a destination outside the BSS may be sent to the AP for delivery to the corresponding destination. Traffic between STAs within the BSS may be sent through the AP, for example, under the condition that the source STA may send traffic to the AP and the AP may deliver traffic to the destination STA. Traffic between STAs within the BSS may be considered and / or referred to as point-to-point traffic. The point-to-point traffic may be sent between the source and destination STAs (e.g., directly therebetween) using a direct link establishment (DLS). In certain representative embodiments, the DLS may use 802.11e DLS or 802.11z channelized DLS (TDLS)). For example, a WLAN using an independent BSS (IBSS) mode does not have an AP, and STAs (e.g., all STAs) within or using the IBSS can communicate directly with each other. Here, the IBSS communication mode may sometimes be referred to as an "ad-hoc" communication mode.
[0067] When using the 802.11ac infrastructure mode of operation or a similar mode of operation, the AP may transmit a beacon on a fixed channel (e.g., a primary channel). The primary channel may have a fixed width (e.g., a bandwidth of 20 MHz) or a dynamically set width. The primary channel may be an operating channel of the BSS and may be used by STAs to establish a connection with the AP. In certain representative embodiments, carrier sense multiple access (CSMA / CA) with collision avoidance (e.g., in an 802.11 system) may be implemented. For CSMA / CA, STAs (e.g., each STA) including the AP may sense the primary channel. If a particular STA senses / detects and / or determines that the primary channel is busy, the particular STA may back off. In a specified BSS, one STA (e.g., only one station) transmits at any given time.
[0068] A high throughput (HT) STA may communicate using a 40 MHz wide channel (eg, by combining a 20 MHz wide primary channel with a 20 MHz wide adjacent or non-adjacent channel to form a 40 MHz wide channel).
[0069] Very high throughput (VHT) STA can support channels with widths of 20MHz, 40MHz, 80MHz and / or 160MHz. 40MHz and / or 80MHz channels can be formed by combining continuous 20MHz channels. A 160MHz channel can be formed by combining 8 continuous 20MHz channels or by combining two discontinuous 80MHz channels (this combination can be referred to as an 80+80 configuration). For the 80+80 configuration, after channel coding, the data can be transmitted and passed through a segment parser, which can separate the data into two streams. Inverse Fast Fourier Transform (IFFT) processing and time domain processing can be performed separately on each stream. The stream can be mapped on two 80MHz channels, and the data can be transmitted by the STA performing the transmission. At the receiver of the STA performing the reception, the above operations for the 80+80 configuration can be reversed, and the combined data can be sent to the medium access control (MAC).
[0070] 802.11af and 802.11ah support working modes below 1 GHz. Compared with 802.11n and 802.11ac, the channel working bandwidth and carrier used in 802.11af and 802.11ah are reduced. 802.11af supports 5MHz, 10MHz and 20MHz bandwidths in the TV White Space (TVWS) spectrum, and 802.11ah supports 1MHz, 2MHz, 4MHz, 8MHz and 16MHz bandwidths using non-TVWS spectrum. According to a representative embodiment, 802.11ah can support meter type control / machine type communication (MTC), such as MTC devices in macro coverage areas. MTC devices can have certain capabilities, such as limited capabilities including support (e.g., only support) certain and / or limited bandwidths. MTC devices can include a battery, and the battery life of the battery is higher than a threshold (e.g., for maintaining a very long battery life).
[0071] For WLAN systems that can support multiple channels and channel bandwidths (e.g., 802.11n, 802.11ac, 802.11af, and 802.11ah), these systems include channels that can be designated as primary channels. The bandwidth of the primary channel can be equal to the maximum common operating bandwidth supported by all STAs in the BSS. The bandwidth of the primary channel can be set and / or limited by a certain STA, where the STA originates from all STAs operating in the BSS that supports the minimum bandwidth operating mode. In the example of 802.11ah, even if the AP and other STAs in the BSS support 2MHz, 4MHz, 8MHz, 16MHz and / or other channel bandwidth operating modes, for STAs (e.g., MTC-type devices) that support (e.g., only support) 1MHz mode, the width of the primary channel can be 1MHz. Carrier sensing and / or network allocation vector (NAV) settings can depend on the status of the primary channel. If the primary channel is busy (e.g., because a STA (which only supports the 1MHz operating mode) transmits to the AP), then all available frequency bands can be considered busy even if most of the available frequency bands remain idle.
[0072] In the United States, the available frequency band for 802.11ah is 902MHz to 928MHz. In South Korea, the available frequency band is 917.5MHz to 923.5MHz. In Japan, the available frequency band is 916.5MHz to 927.5MHz. Depending on the country code, the total bandwidth available for 802.11ah is 6MHz to 26MHz.
[0073] Figure 1D 1 is a system diagram showing the RAN 104 and the CN 106 according to an embodiment. As described above, the RAN 104 may communicate with the WTRUs 102a, 102b, 102c using NR radio technology over the air interface 116. The RAN 104 may also communicate with the CN 106.
[0074] The RAN 104 may include gNBs 180a, 180b, 180c, though it will be appreciated that the RAN 104 may include any number of gNBs while remaining consistent with an embodiment. The gNBs 180a, 180b, 180c may each include one or more transceivers to communicate with the WTRUs 102a, 102b, 102c over the air interface 116. In one embodiment, the gNBs 180a, 180b, 180c may implement MIMO technology. For example, the gNBs 180a, 180b may use beamforming processing to transmit and / or receive signals to and / or from the gNBs 180a, 180b, 180c. Thus, for example, the gNB 180a may use multiple antennas to transmit wireless signals to the WTRU 102a, and receive wireless signals from the WTRU 102a. In an embodiment, the gNBs 180a, 180b, 180c may implement carrier aggregation technology. For example, gNB 180a may transmit multiple component carriers to WTRU 102a (not shown). A subset of these component carriers may be on unlicensed spectrum, while the remaining component carriers may be on licensed spectrum. In an embodiment, gNBs 180a, 180b, 180c may implement coordinated multi-point (CoMP) technology. For example, WTRU 102a may receive coordinated transmissions from gNB 180a and gNB 180b (and / or gNB 180c).
[0075] The WTRUs 102a, 102b, 102c may communicate with the gNBs 180a, 180b, 180c using transmissions associated with a scalable digital configuration. For example, the OFDM symbol spacing and / or OFDM subcarrier spacing may be different for different transmissions, different cells, and / or different portions of the radio transmission spectrum. The WTRUs 102a, 102b, 102c may communicate with the gNBs 180a, 180b, 180c using subframes or transmission time intervals (TTIs) of different or scalable lengths (e.g., containing different numbers of OFDM symbols and / or lasting different absolute time lengths).
[0076] The gNBs 180a, 180b, 180c may be configured to communicate with the WTRUs 102a, 102b, 102c in a standalone configuration and / or a non-standalone configuration. In a standalone configuration, the WTRUs 102a, 102b, 102c may communicate with the gNBs 180a, 180b, 180c without accessing other RANs (e.g., the eNodeBs 160a, 160b, 160c). In a standalone configuration, the WTRUs 102a, 102b, 102c may use one or more of the gNBs 180a, 180b, 180c as mobility anchors. In a standalone configuration, the WTRUs 102a, 102b, 102c may communicate with the gNBs 180a, 180b, 180c using signals in an unlicensed band. In a non-standalone configuration, the WTRU 102a, 102b, 102c may communicate / connect to the gNB 180a, 180b, 180c while communicating / connecting to another RAN (e.g., the eNode-B 160a, 160b, 160c). For example, the WTRU 102a, 102b, 102c may communicate with one or more gNBs 180a, 180b, 180c and one or more eNode-Bs 160a, 160b, 160c in a substantially simultaneous manner by implementing the DC principle. In a non-standalone configuration, the eNode-B 160a, 160b, 160c may act as a mobility anchor for the WTRU 102a, 102b, 102c, and the gNB 180a, 180b, 180c may provide additional coverage and / or throughput to serve the WTRU 102a, 102b, 102c.
[0077] Each of the gNBs 180a, 180b, 180c may be associated with a particular cell (not shown) and may be configured to handle radio resource management decisions, handover decisions, user scheduling in UL and / or DL, support network slicing, DC, implement interworking between NR and E-UTRA, route user plane data to user plane functions (UPFs) 184a, 184b, and route control plane information to access and mobility management functions (AMFs) 182a, 182b, etc. Figure 1D As shown, gNB180a, 180b, and 180c can communicate with each other through the Xn interface.
[0078] Figure 1DThe CN 106 shown may include at least one AMF 182a, 182b, at least one UPF 184a, 184b, at least one session management function (SMF) 183a, 183b, and may include a data network (DN) 185a, 185b. Although the foregoing components are described as part of the CN 106, it should be understood that any of these components may be owned and / or operated by an entity other than the CN operator.
[0079] The AMF 182a, 182b may be connected to one or more of the gNBs 180a, 180b, 180c in the RAN 104 via an N2 interface and may act as a control node. For example, the AMF 182a, 182b may be responsible for authenticating users of the WTRU 102a, 102b, 102c, supporting network slicing (e.g., handling different protocol data unit (PDU) sessions with different requirements), selecting a specific SMF 183a, 183b, managing registration areas, terminating non-access stratum (NAS) signaling, and mobility management, etc. The AMF 182a, 182b may use network slicing processing to customize the CN support provided to the WTRU 102a, 102b, 102c based on the type of service used by the WTRU 102a, 102b, 102c. As an example, different network slices may be established for different use cases, such as services relying on ultra-reliable low latency (URLLC) access, services relying on enhanced massive mobile broadband (eMBB) access, and services for MTC access, etc. The AMF 182a, 182b may provide a control plane function for switching between the RAN 104 and other RANs (not shown) that use other radio technologies (e.g., LTE, LTE-A, LTE-A Pro, and / or non-3rd Generation Partnership Project (3GPP) access technologies such as WiFi).
[0080] The SMF 183a, 183b may be connected to the AMF 182a, 182b in the CN 106 via the N11 interface. The SMF 183a, 183b may also be connected to the UPF 184a, 184b in the CN 106 via the N4 interface. The SMF 183a, 183b may select and control the UPF 184a, 184b, and may configure traffic routing through the UPF 184a, 184b. The SMF 183a, 183b may perform other functions, such as managing and allocating UE IP addresses, managing PDU sessions, controlling policy enforcement and QoS, and providing downlink data notifications, etc. The PDU session type may be IP-based, non-IP-based, Ethernet-based, etc.
[0081] The UPF 184a, 184b can be connected to one or more of the gNBs 180a, 180b, 180c in the RAN 104 via the N3 interface, which can provide the WTRUs 102a, 102b, 102c with access to packet-switched networks (e.g., the Internet 110) to facilitate communication between the WTRUs 102a, 102b, 102c and IP-enabled devices. The UPF 184, 184b can perform other functions such as routing and forwarding packets, implementing user plane policies, supporting multi-host PDU sessions, processing user plane QoS, buffering DL packets, and providing mobility anchor processing, etc.
[0082] The CN 106 may facilitate communications with other networks. For example, the CN 106 may include or may communicate with an IP gateway (e.g., an IP Multimedia Subsystem (IMS) server) that acts as an interface between the CN 106 and the PSTN 108. In addition, the CN 106 may provide the WTRUs 102a, 102b, 102c with access to other networks 112, which may include other wired and / or wireless networks owned and / or operated by other service providers. In one embodiment, the WTRUs 102a, 102b, 102c may be connected to the DNs 185a, 185b via an N3 interface to the UPFs 184a, 184b and an N6 interface between the UPFs 184a, 184b and the local DNs 185a, 185b and through the UPFs 184a, 184b.
[0083] In view of Figures 1A-1D and about Figures 1A-1D , one or more or all of the functions described herein with reference to one or more of the following may be performed by one or more simulation devices (not shown): WTRU 102a-d, base station 114a-b, eNodeB 160a-c, MME 162, SGW 164, PGW 166, gNB 180a-c, AMF 182a-b, UPF 184a-b, SMF 183a-b, DN 185a-b, and / or one or more other devices described herein. These simulation devices may be one or more devices configured to simulate one or more or all of the functions described herein. For example, these simulation devices may be used to test other devices and / or simulate network and / or WTRU functions.
[0084] The simulation device can be designed to implement one or more tests about other devices in a laboratory environment and / or an operator network environment. For example, the one or more simulation devices can perform one or more or all functions while being implemented and / or deployed as a part of a wired and / or wireless communication network in whole or in part to test other devices inside the communication network. The one or more simulation devices can perform one or more or all functions while being temporarily implemented or deployed as a part of a wired and / or wireless communication network. The simulation device can be directly coupled to other equipment to perform the test, and / or use over-the-air wireless communication to perform the test.
[0085] The one or more simulation devices can perform one or more functions, including all functions, while not being implemented or deployed as part of a wired and / or wireless communication network. For example, the simulation device can be used in a test lab and / or a test scenario of a wired and / or wireless communication network that is not deployed (e.g., tested) to implement tests on one or more components. The one or more simulation devices can be test devices. The simulation device can transmit and / or receive data using direct RF coupling and / or wireless communication with the aid of RF circuits (e.g., which can include one or more antennas).
[0086] Polar codes are the first channel codes for which capacity is analytically proven to be achievable. When aided by an embedded cyclic redundancy check (CRC), polar codes show comparable performance to conventional low-density parity-check (LDPC) codes or turbo codes with a low or no error floor, especially for small to medium block lengths. Polar encoding with successive erasure decoding requires relatively low encoding and decoding complexity. However, when CRC-assisted list decoding is employed, the decoding complexity increases proportionally with the list size and the block length of the codeword. The increase in complexity becomes a central issue, especially at medium to large block lengths, and limits the adoption of polar codes for high-throughput applications, which include 5G NR eMBB data rates (~20 Gbps) and beyond.
[0087] Due to the superior performance in small block length, polar codes have been adopted as the channel coding scheme for 3GPP New Radio (NR) standard for control channel forward error correction (FEC) operation.
[0088] Polar code encoding can be defined as in Equation 1.
[0089] By inputting the vector And the generator matrix G N The product of generates the codeword vector of the polar code and is of length N = 2n , a binary vector, where N represents the codeword block length. The generator matrix G N can be defined by the Kronecker power of
[0090] In Equation 2, represents the nth Kronecker power of (). In Arikan's original paper, represents the bit-reversal matrix, and it changes the order of the elements in. The bit-reversal operation can be performed in some embodiments. Without loss of generality, unless otherwise stated, it is assumed that
[0091] Some of the input bits for polar code operations can have fixed values, typically zero, and these bits can be referred to as "frozen bits". The input indices of these frozen bits can be represented by the set where if i < j, then
[0092] The remaining part of the input bits for polar encoding can carry variable information bits, and they are called "unfrozen bits". The input indices for the unfrozen bits can be represented by the set A = {a1, a2, a3…, a K}, where if i < j, then a i < a j . The number of information bits or unfrozen bits is defined as K, and the number of frozen bits is N - K. The code rate R of the polar code can be defined as The process of determining the input bit indices of frozen and unfrozen bits can be referred to as the code construction of the polar code.
[0093] Several code construction methods for polar codes have been developed. Generally, these methods initially calculate the reliability of each input bit index and thus have an order of bit index reliability before starting the encoding operation. According to the obtained reliability order, the least reliable input bits are assigned as frozen bits, and the remaining bits are assigned as unfrozen / information bits. The ratio of frozen and unfrozen bits is determined according to the desired code rate. When the positions of frozen and unfrozen bits are available, the encoding operation is as shown in in Equation 1 and is also shown in Figure 2 .
[0094] Figure 2 is an example that can be considered to follow the polar encoder 200 described during the 3GPP NR discussion. As Figure 2As shown in the example of FIG. 2 , the polar encoder 200 can be represented by nodes denoted by (i, j), where i=1, ..., N and j=0, ..., n. Figure 2 In the example shown, bits u1-u8 202-216 are input bits fed to the leftmost node. Four exclusive or (XOR) operations are performed in a first step 218, such as bit-by-bit addition without a carry bit, while the other four bits flow through. Another four XOR operations are performed in a second stage 220, and another four bits flow through. In a third stage, at 222, another four XOR operations are performed using the four other bits that flow through. Bits c1-c8 224-238 are output bits. Based on the coding rate, the input bits 202-216 can be frozen or unfrozen.
[0095] Prior art decoding algorithms for polar codes can be classified into two algorithms: decoding based on successive cancellation (SC) and decoding based on belief propagation (BP). SC polar decoding is a sequential decoding method that calculates the log-likelihood ratio (LLR) values of the input bits in a serial manner. It is based on the assumption that the previously decoded bits are correct and they are used to decode the current bits. Successive cancellation table (SCL) decoding uses multiple candidate path lists to improve the performance of SC decoding. Based on the results of the LLR calculation, the best list is selected. CRC-assisted successive cancellation list (CA-SCL) decoding uses an embedded CRC as a tool for selecting the list. Through CA-SCL decoding, polar coding can achieve error performance comparable to or better than traditional LDPC codes or turbo code type coding.
[0096] In another representation, denoted as a factor graph representation of polar codes, polar codes can be decoded by a message passing algorithm according to a sum-product algorithm or a minimum-sum algorithm. Message passing is a power technique used in various iteration-based decoders, such as in LDPC decoders and neural networks.
[0097] Belief propagation (BP) is a well-known technique widely used for decoding of various code classes, including LDPC codes. An application of BP-based decoding (BP decoding) for polar codes has been proposed. An improved method known as LDPC-like decoding can be performed, in which the traditional BP decoding process is modified based on the features utilized in LDPC encoding. Specifically, the factor graph can be pruned to have a simpler and lower complexity configuration in order to exploit the LDPC decoding characteristics. The factor graph is a bipartite graph and is composed of or consists of two types of nodes, represented as variable nodes and check nodes, respectively.
[0098] Figure 3 Depicts a factor graph 300 for polar coding, where N=2n =2 3 =8. Similar to Figure 2 In the illustrated polar encoder 200, the factor graph 300 has n+1 levels (eg, stages). Figure 3 In the figure, circles indicate variable nodes, and squares indicate check nodes. The detailed definitions and functions of the variable nodes and check nodes can be found in the following, which are incorporated herein by reference: FRKschischang, BJFrey and H.-A.Loeliger, "Factor graphs and the sum-product algorithm," IEEE Trans. Inform. Theory, Vol. 47, pp. 498-519, February 2001. In the leftmost level (level 0) of the factor graph 300, variable nodes 302-316 represent input bits, while in the rightmost level (level n), variable nodes 318-332 represent encoded output bits. Input variable nodes 302-306, 310 are frozen bits. The input nodes (input bits) are bit-inverted, which results in the same Figure 2 The input shown is a different sequence than the one shown in Figure 1. This bit reversal process can be called a bit reversal operation.
[0099] Through message passing, it can be executed in an iterative manner Figure 3 The decoding algorithm of the factor graph 300 shown. One iteration step can be divided into two half iteration steps. Once the round trip schedule is assumed, the first half iteration initially calculates the metric (e.g., LLR value) based on equations 3 and 4, and starts from the rightmost node (codeword variable node), and continues the same metric calculation of equations 3 and 4 until it reaches the leftmost node (input bit node). On the other hand, the second half iteration performs the metric (e.g., LLR value) calculation based on equations 5 and 6 starting from the leftmost node until it reaches the rightmost node.
[0100] This configuration of half iterations follows the round-trip rule, and other scheduling methods are possible. L i,j =G(L i,j+1 , L i′,j+1 +R i′,j ) Equation 3 L i′,j =G(R i,j , L i,j+1 )+L i′,j+1 Equation 4 R i,j+1 =G(R i,j , L i′,j+1 +R i′,j ) Equation 5 Ri′,j+1 =G(R i,j , L i,j+1 )+R i′,j Equation 6 Where G(x, y) = sgn(x)sgn(y)min(|x|, |y|) and sgn(x) is the sign value of x. When x≥0, sgn(x) = 1, and when x<0, sgn(x) = -1. |x| is the absolute value of x.
[0101] Figure 4 is a diagram 400 illustrating metric or LLR value calculations and relationships between nodes. Figure 4 The operation shown starts from the rightmost nodes (i, j+1) 402 and (i+2 j , j+1)404 starts and calculates L i,j 406 and 408. This is denoted as the first half iteration. In Equation 3-6, i′ is equal to i+2 j .
[0102] Initially, all node values except the rightmost node value are assumed to be zero. The rightmost node value L i,j+ 1410 and 412 is an LLR value obtained from the wireless channel.
[0103] Then, L is calculated based on equations 3 and 4, respectively. i,j 406 and 408, which are the values assigned to the leftmost node. That is, using the G formula, (L i,j+1 , L i′,j+1 +R i′,j ) is input to the G formula, which outputs L i,j 406 values. In the same half iteration, using the input R i,j 416,L i,j+1 410,L i′,j+1 To calculate 408.
[0104] With the first half iteration, the values of the leftmost nodes 414, 424 are updated and these values are assigned to R i,j 416 and 418. Then, using equations 5 and 6, which are G formulas with corresponding inputs, calculate the value R i,j+1 420 and 422, and these values are assigned to the rightmost nodes 426, 428. This update can be called the second half iteration. In fact, this iteration operation can be performed multiple times, for example between 20-30 iterations.
[0105] BP decoding in some methods may have structural redundancy. The pruning technique disclosed herein can be used to remove variable nodes or check nodes that do not contribute to the decoding process.
[0106] In the factor graph representation, the length is N = 2 n The polar decoder of contains n+1 stages / levels, V=(n+1)N variable nodes and C=nN check nodes. Therefore, the factor graph can be represented by a C×V parity check matrix (with size nNx(n+1)N). k can be defined as the kth variable node in the V vector, and CN l is defined as the lth check node in the C vector. k and CN l If the nodes are connected, the connection is determined by the parity check matrix (CN l , VN k ) indicates a value of "1". Otherwise, for example, in the variable node VN k and check node CN l If there is no connection between them, the corresponding item (CN l , VN k ) is represented by the value "0".
[0107] In addition, the degree of a variable node or a check node can be defined by the total number of connections that the node has with other nodes in the factor graph. For example, a level 1 variable node (VN) means that the variable node has only one connection with the corresponding check node, while a level 2 check node (CN) means that the check node has 2 connections with the corresponding variable node.
[0108] Figure 5 is a representation of the five stages (a) 500, (b) 560, (c) 570, (d) 580, and (e) 590. The leftmost figure / stage (a) is equivalent to Figure 3 The factor graph 300 of the polar code of length N=8 is shown, and the leftmost stage (a) 500 shows the variable node v 11 ...v 84 501-532 and check node c 11 ...c 83 533-556. In each of the five steps 500 and 590, manipulations occur that preserve the connections between the variable nodes and the check nodes represented by the original factor graph 300. In steps (b) 560, (c) 570, (d) 580, and (e) 590, the fully connected graph is pruned. Thus, each stage corresponds to a pruning process. The rightmost stage (e) 590 corresponds to a fully pruned graph, which does not result in additional simplifications. The fully pruned graph 590 includes the variable nodes v72 ,v 14 ,v 24 ,v 34 ,v 44 ,v 54 ,v 64 ,v 74 , v 84 515, 525, 526, 527, 528, 530, 531, 532 and check node c 22 , c 13 ,c 33 ,c 53 ,c 73 542, 549, 551, 555.
[0109] Figure 5 The five steps (a)-(e) 500, 560, 570, 580, 590 shown in FIG. 4 show the application of the pruning process, N = 8. Three types of variable nodes are shown: 1. Channel variable node (VNCH) V 14 525,V 24 526, V 34 527, V 44 528, V 54 529, V 64 530,V 74 531, V 84 532 corresponds to Figure 5 The codeword bit (or symbol) position in the channel is initialized by the LLR values calculated from the received channel symbols; 2. The hidden variable nodes (VNH) as nodes without any previous metric information (e.g., LLR values) include Figure 5 Node V in 41 504, V 61 506, V 71 507, V 81 508, V 12 509, V 22 510, V 32 511, V 42 512, V 52 513, V 62 514, V 72 515,V 82 516, V 13 517, V 23 518, V 33 519, V 43 520, V 53 521, V 63 522, V 73 523, V 83524, these nodes are initialized by LLR value 0; 3. Freeze variable node V 11 501, V 21 502, V 31 503, V 51 505 corresponds to freezing the input bits, these nodes are initialized with infinite LLR values.
[0110] like Figure 5 The example pruning process steps shown for the factor graph applied to the decoder can be summarized as follows: 1) Frozen nodes: remove the frozen variable nodes; 2) Level 1 check nodes (CN): remove the level 1 CN and its connected VNs; 3) Level 1 VNCH and level 2 CN: remove the level 2 CN connected to the level 1 VNCH, and then merge the level 1 VNCH with the VNH connected to the level 2 CN; 4) Level 1 VNH: remove the level 1 VNH and the CN nodes connected to these VNHs; 5) Level 2 VNH: remove the level 2 VNH and merge the corresponding two CNs into a newly created CN. 6) Level 2 CN: remove the level 2 CN and merge the two VNHs connected to these CNs into a newly created VNH.
[0111] In one embodiment, the pruning process identifies nodes with specific connection types, such as VNH, VNCH and CN, such as level 1, level 2, etc., which do not contribute to the decoding process but are redundant operations. In fact, since they are redundant, they may cause delays and unnecessary power consumption in the entire decoding process. For example, frozen nodes are always assumed to have a value of 0, so they do not contribute to decoding. Therefore, these nodes can be removed. In step 2, for level 1 CN, the parity check equation of CN can be satisfied only when the connected VN has a value of 0, which makes CN=0. Therefore, similarly, it does not contribute to the decoding process. All remaining steps 3-6 may also correspond to redundant operations. These steps are independent of each other, and the pruning process given in the above figure includes one or more of these steps at each stage. The pruning step is further disclosed by the following article, which is incorporated herein by reference: S. Cammerer, M. Ebada, A. Elkelesh and S. Brink, "Sparse Graphs for Belief Propagation Decoding of Polar Codes," 2018 IEEE International Symposium on Information Theory (ISIT), Vail, CO, USA, 2018, pp. 1465-1469.
[0112] Using the above pruning technique, the factor graph of the polar decoder and the parity check matrix corresponding to the factor graph can be modified.
[0113] Traditional LDPC decoding methods are mainly performed based on message passing algorithms. The sum-product algorithm (SPA) and the minimum sum algorithm (MSA) are the most important message-based algorithms used in LDPC decoding. In both methods, multiple iterations of the algorithm are usually performed before completing the decoding operation corresponding to a received codeword block. One iteration can consist of two LLR message passing processes (variable node to check node and check node to variable node). It can be represented by the following equation. Among them, y c→v is the LLR message from check node c to variable node v, x v→c is the LLR message from variable node v to check node c. c is the set of variable nodes connected to the check node c, and C v is the set of check nodes connected to the variable node v. c / v} is from V c The remaining set after removing v.
[0114] After the maximum number of iterations or after the early stopping criterion is met, the decoding is stopped. The early stopping criterion ensures that the iteration phase is stopped before the maximum number of iterations is reached. Here, the known criterion calculates the product of the output code bit vector and the parity check matrix. If the product is equal to zero, the iteration is stopped. Then, for example, the final code bits (hard decisions of the values in the output nodes) can be encoded by multiplying the output code bit vector by the generator matrix to obtain the decoded input bits.
[0115] A method denoted as LDPC-like BP decoding can improve the decoding delay of conventional BP decoding of polar codes. For each code rate or number of unfrozen bits, the LDPC-like BP decoding method may require a predetermined and unique pruning process to obtain a sparse factor graph and a corresponding parity check matrix. Under the application of flexible code rates and rate-matched code block lengths that are characteristics of conventional wireless systems, some methods may not be able to implement the pruning process with acceptable complexity and delay.
[0116] Therefore, new methods and processes may be needed to obtain flexible factor graphs and corresponding parity check matrices to be used in polar encoding and decoding. An extended method based on polar decomposition is also proposed to provide a simple configuration of a large polar factor graph or parity check matrix through simple component factor graphs or parity check matrices.
[0117] In an embodiment, a factor graph and a corresponding parity check matrix may be generated for polar encoding and decoding operations, wherein the factor graph is a pruned version of a conventional polar factor graph. The pruning method may involve minimizing the size of the factor graph, for example, minimizing the connections between the nodes of the factor graph. The variable nodes of the factor graph corresponding to the input bits may be excluded from the pruning operation. The polar encoding operation using the pruned factor graph may be performed so that a specific order of output code bits is generated at the encoder and the specific order is sent over a channel. Depending on the desired code rate and code length parameters at the encoder and decoder, the number of input bits may be adjusted by initializing frozen bits or pruning columns corresponding to frozen bits in the parity check matrix. The polar code may be decomposed into a plurality of component polar codes, and for each component polar decoder, the corresponding pruned factor graph is used when decoding the entire polar code.
[0118] Figure 6 A comparison of traditional factor graph and flexible factor graph for LDPC-like BP decoding is shown. Figure 6 (a) shows the structure of a conventional LDPC-like BP decoding and decoder implementation 600. Using the necessary parameters (e.g., input bit length (K), code length (N) available 602 and provided to the encoder), the code construction process 604 determines the location of frozen and unfrozen bits in the polar code. The code construction can be further affected by a rate matching algorithm for applying puncturing, shortening or repetition to have a flexible code size, for example, which is represented by the parameters puncturing number (P), shortening number (S) and repetition number (R). After code construction, conventional pruning can provide a sparse factor graph and a corresponding sparse parity check matrix 606. Information indicating the sparse factor graph (sparse parity check matrix) is saved 608 for use in decoding based on a LDPC-like BP process 610. Conventional LDPC-like BP decoding requires a separate pruning process for each instance of N, K, P, S and R. This requirement makes conventional LDPC-like BP decoding impractical for flexible code rate and size use cases due to large memory requirements.
[0119] Figure 6(b) shows the process of LDPC-like BP decoding process 620. Independent of the specific code construction performed by N, K, P, S and R, a flexible factor graph (parity check matrix) is generated 622 by a modified pruning process of the proposed process. The modified (e.g., flexible) factor graph (parity check matrix) can be used for LDPC-like BP decoding. In the proposed method, based on the proposed offline pruning process, only one factor graph (parity check matrix) for a given code length N needs to be saved 624. Moreover, the factor graph can be flexibly used for arbitrary K, P, S and R 626.
[0120] To perform adaptive LDPC-like BP decoding, Figure 3 The factor graph shown may need to be modified to a sparse parity check matrix, in particular to reduce decoding complexity. There are several techniques that can be used to prune the factor graph, where the corresponding parity check matrix can be directly obtained from the pruned factor graph. The pruned factor graph and the corresponding parity check matrix do not include input variable nodes. Input variable nodes represent variable nodes in the factor graph that have and provide input bit values of the polarity code. These values also correspond to unfrozen bits, such as Figure 3 The v shown 41 308,v 61 312,v 71 314,v 81 316. However, by limiting the number of input variable nodes to be removed in the factor graph, for example, by introducing a pruning range, a new modified factor graph and a corresponding parity check matrix can be generated. From this modified parity check matrix, a modified polar encoder / decoder can be obtained.
[0121] The steps of the modified pruning process with the modification applied are given herein. 1) Frozen nodes: Frozen nodes can be removed from the factor graph. Frozen nodes may not necessarily be removed. 2) Level 1 check node (CN): Remove the level 1 CN and the connected VN from the factor graph. There may or may not be changes in practice. 3) Level 1 VNCH and level 2 CN: Remove the level 2 CN connected to the level 1 VNCH, and merge the VNH connected to the removed level 2 CN with the level 1 VNCH. There may or may not be changes in practice. 4) Level 1 VNH: Remove the level 1 VNH and the CN nodes connected to the level 1 VNH. Remove the level 1 VNH nodes except the input bit VNH nodes and the CN nodes connected to the level 1 VNH nodes. The input bit variable nodes correspond to Figure 2 or Figure 35) Level 2 VNH: The level 2 VNH node can be removed, and the two CNs connected to the level 2 VNH can be merged into one CN. Level 2 VNHs other than the input bit VNH can be removed, and the two CNs connected to the level 2 VNH can be merged into one CN. 6) Level 2 CN: The level 2 CN can be removed, and the two VNHs connected to the level 2 CN can be merged into one VNH. There may or may not be a change in practice.
[0122] Figure 7 An example of a flexible and improved matrix 700 is shown. The matrix 700 has been modified by the proposed pruning factor graph of the (10, 18) matrix for N=8 polar codes. Figure 7 The first N=8 variable nodes 702-716 shown by the top circle correspond to the input bits u1, ..., u8, and the last N=8 variable nodes 722-736 shown by the bottom circle correspond to the output code bits c1, ..., c8. There are also two hidden nodes 718 and 720 in the figure. Check nodes 738-756 are linked to variable nodes 702-736.
[0123] The corresponding modified flexible parity check matrix generated by the proposed method for N=8 is given as:
[0124] The sizes of the parity check matrices generated by the proposed method are summarized in Table 1. N Matrix size 8 (10,18) 16 (24,40) 32 (56,88) 64 (128,192) 128 (288,416) 256 (640,896) 512 (1408,1920) 1024 (3072,4096) 2048 (6656,8704) 4096 (14336,18432) Table 1: Size of the flexible parity check matrix
[0125] In one option, traditional polar coding can be combined with flexible LDPC-like BP decoding. In another option, polar coding can also be implemented based on a flexible factor graph (parity matrix). Polar coding through the proposed flexible factor graph (parity check matrix) can provide new code bit generation patterns and orders.
[0126] In a polar coding process with a flexible factor graph, in one option, initialization of frozen bits with zero (empty) values can be performed for a pruned factor graph or a pruned parity check matrix. This initialization method corresponds to a similar operation to that used in conventional polar coding to ensure flexibility of the variable length of input bits. In conventional pruning methods, initialization of frozen bits may not be possible for input nodes because there are no input variable nodes for encoding due to the pruning operation. In another option, once the flexible factor graph and the corresponding parity check matrix are created, the columns corresponding to the frozen nodes can be removed during polar coding or decoding according to the required code rate or number of input bits. These two options are used to provide flexibility in the number K of unfrozen bits.
[0127] In addition, in addition to the number of unfrozen bits, code rate and code length flexibility may require the option of flexibly selecting the frozen bit index in the polar code construction. Therefore, this means a modified parity check matrix and a modified factor graph that support flexible freezing of input bit positions and flexible unfrozen input bit positions. In the factor graph and parity check matrix, the positions of frozen input bits and unfrozen input bits are fixed before the pruning process, so they cannot adapt to different possible code rates or code block lengths. In one embodiment, a full rate (code rate 1) factor graph and a parity check matrix are provided for general use of flexible code rates and code block lengths. The full rate factor graph corresponds to the situation where all input nodes are initially assigned information (unfrozen) bits, and by including frozen nodes in the selected graph, the desired code rate and code length can be obtained. Flexible freezing and unfrozen bits can also provide rate matching flexibility via puncturing, shortening and repetition.
[0128] Figure 8 is a diagram of a polar code encoding operation having a plurality of steps including (a) 800, (b) 820, (c) 830, (d) 840, (e) 850, and (f) 860 using a pruning factor graph. The polar code encoding process includes a process of generating code bits from input bits. Thus, the process is from Figure 8 (a) Input variable nodes 802-816 in 800. The encoding steps are sequential, and the timing steps of the encoding based on the flexible factor graph also require n (=log2N), as in the standard polar encoding. Half of the timing steps in the encoding correspond to the transfer of binary information from the variable nodes to the check nodes, and the other half of the timing steps in the encoding correspond to the transfer of binary information from the check nodes to the variable nodes. For example, in Figure 8, each of (a) 800 and (b) 820 represents a timing step, and each of (c) 830, (d) 840, (e) 850, and (f) 860 represents other timing steps. In the semi-timing step from the check node to the variable node, there are rules that define which check nodes can perform the transmission operation.
[0129] exist Figure 8 In the figure, the thick line represents the binary information transmission from the input variable to the check node. Once the transmission operation is completed, the narrow line is converted to a thick line. Only in the check node (box) with a connection (narrow edge) to the variable node, the calculated value (all XOR additions of the bit values from other variable nodes) can be transmitted to the variable node via this connection.
[0130] Fig. 9 (a)-(b) show the Figure 8 Detail 900, 960 corresponding to (a) 800 and (b) 820 (i.e., the first timing step) starting from the far left. The initial information transmission from the input node to the check node is shown with thick lines 902-928. After the first thick connection 902-928, check nodes 4930, 5932, 7934 and 8936 have only one thin connection 938-944 to variable nodes 946-952. The addition of the binary values from the other bold variable nodes is transmitted to the variable node shown in the next figure (b) 960. c6, c8962, 964 are generated in the first timing step corresponding to ((a) 800 and (b) 820).
[0131] exist Figure 8 In the second timing step ((c) 830 and (d) 840), c5 846, c7 848, c2 842, c4 844 are generated, and in the third timing step ((e) 850 and (f) 860), c1 862, c3 864 are generated. In one option, the index for the code bits can be bit reversed.
[0132] Fig.10 is a flow chart 1000 describing the process. Fig.10 In the embodiment of the present invention, after obtaining 1002 the flexible factor graph, frozen and non-frozen nodes are initialized 1004. The frozen nodes are initialized by fixed values, such as zero, and the non-frozen nodes are initialized by information bits intended for transmission. There may be n timing steps (N=2) of the cycle through the coding levels starting from the initial coding level 1006. n). Each timing step consists of a transmission 1008 from a variable node to a check node and a transmission 1012 from a check node to a variable node. In the transmission 1008 from a check node to a variable node, a check node 1010 is found (selected) that has only one connection after excluding the previously transmitted connection from the variable node. The XOR sum of all previously transmitted binary values is transmitted to the variable node, that is, the only variable node that has not been transmitted. The transmission 1008 of the variable node to the check node is completed in the remaining loops by including the variable node with the value transmitted from the check node to the variable. With each iteration of the loop, as long as t≠n, t is increased by one 1018. After n timing steps 1014, the loop ends 1016, and the variable nodes corresponding to the code bits have their values output as the code.
[0133] Figure 8 The proposed modified polar encoder shown outputs the same coded bits as in conventional polar encoding, however the order of the generated bits is different. Using the proposed method, an early decoding process can be performed according to the order of code bit generation by the modified polar encoder.
[0134] The modified encoding method for polar codes results in a code corresponding to, for example, Figure 2 The conventional polar code encoding operation has different code bit generation order, however, the two encoding processes generate the same code bits. Based on the above method, the code bit generation order T1, T2, ..., T n :
[0135] For N′=4, T1: 3, 4; T2: 1, 2.
[0136] For N′=8, T1: 6, 8; T2: 5, 7, 2, 4; T3: 1, 3.
[0137] For N′=16, T1: 12, 16; T2: 11, 15, 10, 14, 4, 8; T3: 9, 13, 3, 7, 2, 6; T4: 1, 5.
[0138] For N′=32, T1: 24, 32; T2: 23, 31, 22, 30, 20, 28, 8, 16; T3: 21, 29, 19, 27, 7, 15, 18, 26, 6, 14, 4, 12; T4: 17, 25, 5, 13, 3, 11, 2, 10; T5: 1, 9.
[0139] For N′=64, T1: 48, 64; T2: 47, 63, 46, 62, 44, 60, 40, 56, 16, 32; T3: 45, 61, 43, 59, 39, 55, 15, 31, 42, 58, 38, 54, 14, 30, 36, 52, 12, 28, 8, 24; T4: 41, 57, 37, 53, 13, 29, 35, 51, 11, 27, 7, 23, 34, 50, 10, 26, 6, 22, 4, 20; T5: 33, 49, 9, 25, 5, 21, 3, 19, 2, 18; T6: 1, 17.
[0140] For N′=128, T1: 96, 128; T2: 95, 127, 94, 126, 92, 124, 88, 120, 80, 112, 32, 64; T3: 93, 125, 91, 123, 87, 119, 79, 111, 31, 63, 90, 122, 86, 118, 78, 110, 30, 62, 84, 116, 76, 108, 28, 60, 72, 104, 24, 56, 16, 48; T4: 89, 121, 85, 117, 77, 109, 29, 61, 83, 115, 75, 107, 27, 59, 7 1, 103, 23, 55, 15, 47, 82, 114, 74, 106, 26, 58, 70, 102, 22, 54, 14, 46, 68, 100, 20, 52, 12, 44, 8, 40; T5: 81, 113, 73, 105, 25, 57, 69, 1 01, 21, 53, 13, 45, 67, 99, 19, 51, 11, 43, 7, 39, 66, 98, 18, 50, 10, 42, 6, 38, 4, 36; T6: 65, 97, 17, 49, 9, 41, 5, 37, 3, 35, 2, 34; T7: 1, 33.
[0141] Where N′(=2 n′ ) is the length of the polar code, which is considered for the generation order of the code bits, and T i is the set of code bit indices generated at encoding step i (i=1, ..., n').
[0142] Polar decoding can be performed based on a LDPC-like decoding process. The MSA or STA algorithm based on equations 7 and 8 can be used without modification. In the decoder, flexibility, such as the number of information bits (K) or code length (N), can be achieved by freezing bit processing and removing the columns corresponding to the frozen bits in the flexible parity check matrix. Here, freezing bit processing refers to initializing the frozen bits to infinite values.
[0143] A pruning operation of the parity check matrix can be performed before polar decoding, which is uniquely used for each required code rate or number of unfrozen input bits. On the other hand, in the flexible encoding / decoding method, a pruning process for each instance of code rate and code size is not required. Instead, only one offline construction of the proposed flexible parity check matrix is sufficient to modify and configure the parity check matrix for various code rates and sizes in encoding and decoding operations.
[0144] Decoder expansion can be performed by polar decomposition.Decomposing the flexible factor graph into smaller factor graphs can result in smaller memory requirements by saving only the smaller factor graph(s), as well as the benefits of regularization achieved due to the small factor graphs.
[0145] Fig.11 (a) shows a polar code of length N = N'×N", which can be decomposed into component polar codes P1, ..., P N′ and Q1, ..., Q N″ , where P i , i = 1, N′ and Q i , i=1, N″ corresponds to the component codes in each level of the polar encoder. The decomposition method can be based on the content of the following article, which is incorporated herein by reference: E. Arikan, "Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels," IEEE Transactions on Information Theory, July 2009. In one option, the component polar codes are decoded according to a BP decoding method similar to LDPC.
[0146] In one embodiment, the component polarity decoder can be replaced by a component polarity decoder with a flexible parity check matrix. The connection between component polarity codes can be described, and the corresponding variable nodes in these component codes can be merged into a single variable node. For example, Fig.11 As shown by the thick line 1126 in (b), P N′ The connection between the last output bit in 1122 (channel variable node) and the first input bit in Q11124 (input variable node) can be used to merge these variable nodes into a single node. N′ 1102-1106 with Q1, ..., QN″ Other connections between can follow the same rules.
[0147] In the proposed decoding method with polar code decomposition, the iterative steps corresponding to variable node to check node and check node to variable node can be performed based on the LDPC-like BP decoding message passing rules of Equations 7 and 8. Even though the component polar decoding can be considered to be replaced by the LDPC-like BP decoding of the corresponding component polar code, all decoding iterations are performed between all check nodes and all variable nodes in the factor graph, so there is no need to distinguish between specific component factor graphs in the decoding process. Therefore, there is no sequential order in the LDPC-like BP decoding of the component polar code. In addition, the message passing rules given in Equations 7 and 8 can be applied to the proposed decoding process. Modifications in the message passing process due to the considered variable node merging operation can be described as (where P1, ..., P N′ and Q1, ..., Q N″ Shared variable nodes between: Where P represents the number of cells included in P1, ..., P N′ The middle v s The set of factor graphs of the component polar codes, and Q represents the factor graphs included in Q1, ..., Q N″ The middle v s The collection of factor graphs of component polar codes. It is connected to v inside P s The set of check nodes, and It is the internal connection of Q to v s The set of check nodes.
[0148] The simulation conditions are summarized in Table 2.
[0149] Fig.12 Shown with E s / N0db 1204 compared to BLER / BER 1202. At low E s When / N0, there is a difference in error performance between BP decoding 1206, 1208 and BP decoding 1210, 1212 similar to LDPC by extension method, but at high E s / N0, no difference was observed.
[0150] Fig.13 Shown with E s / N0db 1304 is compared to the timing step 1302. Fig.13, the benefit of reduced latency through LDPC-like BP decoding 1308 is observed through the extended approach compared to BP 1306. Table 2: Simulation conditions
[0151] Although features and elements of the invention are described in particular combinations in preferred embodiments, each feature or element may be used alone without the other features and elements of the preferred embodiment, or in various combinations with or without other features and elements of the invention.
[0152] Although the embodiments described herein consider New Radio (NR), 5G or LTE, LTE-A specific, terabit or megahertz communication protocols, it is to be understood that the solutions described herein are not limited to this scenario and may also be applied to other wireless systems.
[0153] Although the features and elements are described above in specific combinations, one of ordinary skill in the art will recognize that each feature or element may be used alone or in any combination with the other features and elements. In addition, the methods described herein may be implemented in a computer program, software, or firmware that is incorporated into a computer-readable medium for execution by a computer or processor. Examples of computer-readable media include electronic signals (transmitted via a wired or wireless connection) and computer-readable storage media. Examples of computer-readable storage media include, but are not limited to, read-only memory (ROM), random access memory (RAM), registers, buffer memory, semiconductor storage devices, magnetic media (such as internal hard disks and removable disks), magneto-optical media, and optical media (such as CD-ROM discs and digital versatile discs (DVDs)). A processor associated with the software may be used to implement a radio frequency transceiver used in a WTRU 102, UE, terminal, base station, RNC, or any computer host.
Claims
1. A method performed by a wireless transmit / receive unit (WTRU), the method comprising: Generate polarity factor graph; Pruning the polarity factor graph to generate a pruned factor graph, wherein the pruned factor graph includes input variable nodes, check nodes, and output variable nodes; Initializing the input variable nodes of the pruning factor graph; as well as A binary value is transferred from the input variable node to the output variable node.
2. The method according to claim 1, further comprising: For each encoding level in the plurality of encoding levels of the pruning factor graph: transferring a value from the input variable node to the check node; performing an operation on the value of the check node; and A check node having a single connection to another node that was not used in a previous transmission is identified, and a value is transmitted from the identified check node to the input variable node. The method of claim 1 , wherein input variable nodes of the polarity factor graph are excluded from the pruning.
4. The method according to claim 1, further comprising: The value of the output variable node is sent to a receiver.
5. The method according to claim 1, wherein: The pruned factor graph is a minimized factor graph. The method according to claim 1 , wherein variable nodes of the polarity factor graph corresponding to input bits are not pruned.
7. The method according to claim 1, further comprising: Based on the desired code rate and code length, the number of input bits is adjusted by initializing the frozen bits.
8. The method according to claim 1, further comprising: Based on the desired code rate and code length, the number of input bits is adjusted by pruning columns of the polarity factor map.
9. A wireless transmit / receive unit (WTRU), the WTRU comprising: A circuit configured to generate a polarity factor map; a circuit configured to prune the polarity factor graph to generate a pruned factor graph, wherein the pruned factor graph includes input variable nodes, check nodes, and output variable nodes; a circuit configured to initialize the input variable node; as well as Circuitry configured to transfer a binary value from the input variable node to the output variable node.
10. The WTRU of claim 9, further comprising: Circuitry is configured to, for each encoding level of a plurality of encoding levels of the pruning factor graph: transferring a value from the input variable node to the check node; performing an operation on the value of the check node; and A check node having a single connection to another node that was not used in a previous transmission is identified, and a value is transmitted from the identified check node to the input variable node.
11. The WTRU of claim 9, wherein input variable nodes of the polarity factor graph are excluded from the pruning.
12. The WTRU of claim 9, further comprising: A transmitter is configured to transmit the value of the output variable node to a receiver.
13. The WTRU of claim 9, wherein the pruned factor graph is a minimized factor graph.
14. The WTRU of claim 9, wherein variable nodes of the factor graph corresponding to input bits are not pruned.
15. The WTRU of claim 9, further comprising: Circuitry is configured to adjust the number of input bits by initializing frozen bits of the pruning factor graph based on a desired code rate and code length.
16. A wireless transmit / receive unit (WTRU), the WTRU comprising: A circuit,configured to initialize input variable nodes of the pruned factor graph; Circuitry is configured to, for each encoding level of a plurality of encoding levels of the pruning factor graph: transferring a value from the input variable node to a check node; performing an operation on a value of the check node; A check node having a single connection to another node that was not used in a previous transmission is identified, and a value is transmitted from the identified check node to the input variable node; and a binary value is transmitted from the input variable node to an output variable node.
17. The WTRU of claim 16, wherein input variable nodes of a polar factor graph used to generate the pruned factor graph are excluded from the pruning.
18. The WTRU of claim 16, wherein the pruned factor graph is a minimized factor graph.
19. The WTRU of claim 16, wherein variable nodes of the factor graph corresponding to input bits are not pruned.