QC-LDPC encoding method, device, and non-transitory computer-readable medium
By determining the code block size and generating parity check matrix in the 5G NR system, the problem of improving QC-LDPC encoding performance is solved, and more efficient coding efficiency and performance optimization are achieved.
Patent Information
- Application Number
- CN202111219885.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2017-06-28
- Filing Date
- 2018-05-04
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2038-05-04
AI Technical Summary
Existing quasi-cyclic low-density parity (QC-LDPC) encodings have a need for performance improvement in 5G new radio (NR) systems, especially when generating parity check matrices, it is difficult to balance various factors to optimize coding performance.
By determining the comparison of the code block size (CBS) with the threshold, the Kb number is determined, and a parity check matrix is generated based on the code rate and the Kb number. The information part of the parity check matrix is composed of M cyclic permutation matrices for operating the LDPC encoder or decoder.
The performance of QC-LDPC codes is improved, the factor selection is rebalanced when generating parity check matrix, and the encoding efficiency and performance are improved.
Smart Images

Figure CN113949389B_ABST
Abstract
Description
[0001] This application is a divisional application of a patent application filed on May 4, 2018, with application number 201880002374.3 (international application number PCT / CN2018 / 085648), and invention name “Improved QC-LDPC Code”. Technical Field
[0002] The present invention relates generally to mobile communication systems, and more particularly to a method and apparatus for quasi-cyclic low-density parity check (QC-LDPC) coding. Background Art
[0003] The statements in this section merely provide background information related to the present disclosure and may not constitute prior art.
[0004] Wireless communication systems are widely deployed to provide a variety of telecommunication services, such as telephony, video, data, messaging, and broadcasting. Typical wireless communication systems may employ multiple access technologies that can support communication with multiple users by sharing available system resources. Examples of such multiple access technologies include code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal frequency division multiple access (OFDMA), single-carrier frequency division multiple access (SC-FDMA), and time division synchronous code division multiple access (TD-SCDMA).
[0005] These multiple access technologies have been adopted by various telecommunication standards to provide a common protocol that enables different wireless devices to communicate at the municipal, national, regional and even global levels. An example telecommunication standard is 5G New Radio (NR). 5G NR is part of the continued mobile broadband evolution released by the Third Generation Partnership Project (3GPP) to meet new requirements associated with latency, reliability, security, scalability (for example, with the Internet of Things (IoT)) and other requirements. Some aspects of 5G NR may be based on the 4G Long Term Evolution (LTE) standard. 3GPP also agreed that QC-LDPC will be used for 5GNR data channels. There is a need to further improve QC-LDPC coding. Summary of the Invention
[0006] The following presents a simplified summary of one or more aspects in order to provide a basic understanding of these aspects. This summary is not an extensive overview of all contemplated aspects and is intended to neither identify key or critical elements of all aspects nor delineate the scope of any or all aspects. The sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.
[0007] In one aspect of the present disclosure, a method, a computer-readable medium, and an apparatus are provided. The apparatus may be a user equipment (UE) or a base station. The apparatus determines a code block size (CBS) of information bits contained in an LDPC-encoded codeword. The apparatus also compares the CBS with at least one threshold value and determines a Kb number based on the result of the comparison. In addition, the apparatus determines a Kp number based on the code rate and the Kb number. The apparatus also generates a parity check matrix for the LDPC code. The information portion of the parity check matrix is a first matrix formed by M second matrices. M is equal to Kp multiplied by Kb. The total number of columns in the Kb second matrices is equal to the total number of bits in the CBS. One or more matrices in the M second matrices are cyclic permutation matrices. The apparatus operates an LDPC encoder or an LDPC decoder based on the parity check matrix.
[0008] In another aspect, a device for wireless communication includes a processor and a memory device coupled to the processor. The memory device includes an instruction set that, when executed by the processor, causes the processor to determine the CBS of information bits contained in an LDPC-encoded codeword. The instruction set also causes the processor to compare the CBS with at least one threshold value and determine a Kb number based on the result of the comparison. In addition, the instruction set causes the processor to determine a Kp number based on the code rate and the Kb number. The instruction set also causes the processor to generate a parity check matrix for the LDPC code. The information portion of the parity check matrix is a first matrix formed by M second matrices. M is equal to Kp multiplied by Kb. The total number of columns in the Kb second matrices is equal to the total number of bits in the CBS. One or more matrices in the M second matrices are cyclic permutation matrices. Finally, the instruction set causes the processor to operate an LDPC encoder or an LDPC decoder based on the parity check matrix.
[0009] Through the quasi-cyclic low-density parity check coding method and apparatus of the present invention, the selection of factors to be considered can be rebalanced to generate a parity check matrix, and the parity check matrix is used to operate an LDPC encoder or decoder, thereby improving the performance of QC LDPC codes.
[0010] To accomplish the foregoing and related ends, the one or more aspects comprise the features fully described below and particularly pointed out in the claims. The following description and the accompanying drawings set forth in detail certain illustrative features of the one or more aspects. However, these features are indicative of only a few of the various ways in which the principles of the various aspects may be employed, and this description is intended to include all such aspects and their equivalents. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Figure 1 is an example diagram of a wireless communication system and access network.
[0012] Figure 2A 、 Figure 2B 、 Figure 2C as well as Figure 2D Diagrams of examples of a DL frame structure, a DL channel within the DL frame structure, a UL frame structure, and a UL channel within the UL frame structure, respectively.
[0013] Figure 3 is a diagram illustrating a base station communicating with a UE in an access network.
[0014] Figure 4 An exemplary logical architecture of a distributed access network is illustrated.
[0015] Figure 5 An exemplary physical architecture of a distributed access network is illustrated.
[0016] Figure 6 is an example diagram of a DL center subframe.
[0017] Figure 7 is an example diagram of the UL center subframe.
[0018] Figure 8 is a diagram of an exemplary multi-embedded LDPC code design.
[0019] Figure 9 is a flow chart 900 of a method (process) for using an improved QC-LDPC code.
[0020] Figure 10 is a block diagram of an exemplary communication system.
[0021] Figure 11 This is an example diagram of hardware implementation. DETAILED DESCRIPTION
[0022] The detailed description set forth below in conjunction with the accompanying drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. This detailed description includes specific details for the purpose of providing a thorough understanding of the various concepts. However, it will be understood by those skilled in the art that these concepts may be practiced without these specific details. In some cases, known structures and components are shown in block diagram form to avoid obscuring these concepts.
[0023] Various aspects of telecommunications systems will be presented below with reference to various apparatus and methods. These apparatus and methods will be described in the detailed description below and illustrated in the accompanying drawings by various blocks, components, circuits, processes, algorithms, etc. (collectively, "elements"). These elements can be implemented using electronic hardware, computer software, or any combination thereof. Whether these elements are implemented as hardware or software depends on the specific application and design constraints imposed on the overall system.
[0024] For example, an element, or any part of an element, or any combination of elements can be implemented as a "processing system" including one or more processors. Examples of processors include microprocessors, microcontrollers, graphics processing units (GPUs), central processing units (CPUs), application processors, digital signal processors (DSPs), reduced instruction set computing (RISC) processors, systems on chips (SoCs), baseband processors, field programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gate logic, discrete hardware circuits, and other suitable hardware configured to perform the various functions described throughout the present invention. One or more processors in a processing system can execute software. Software should be broadly interpreted to mean instructions, instruction sets, codes, code segments, program codes, programs, subroutines, software components, applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, processes, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description languages, or other.
[0025] Therefore, in one or more exemplary embodiments, the functions described can be implemented in hardware, software, or any combination thereof. If implemented in software, the functions can be stored on a computer-readable medium or encoded as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media. Storage media can be any available medium that can be accessed by a computer. For example (non-limiting), such computer-readable media can include random-access memory (RAM), read-only memory (ROM), electrically erasable programmable memory ROM (EEPROM), optical disk storage, magnetic disk storage, other magnetic storage devices, a combination of the aforementioned types of computer-readable media, or any other medium that can be used to store instructions or data structures that can be accessed by a computer.
[0026] Figure 11 is an example diagram illustrating a wireless communication system and access network 100. The wireless communication system (also known as a wireless wide area network (WWAN)) includes a base station 102, a UE 104, and an Evolved Packet Core (EPC) 160. The base station 102 may include a macro cell (a high-power cellular base station) and / or a small cell (a low-power cellular base station). A macro cell includes a base station. A small cell includes a femtocell, a picocell, and a microcell.
[0027] Base stations 102 (collectively referred to as the Evolved Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access Network (E-UTRAN)) interface with EPC 160 via a backhaul link 132 (e.g., an S1 interface). Base stations 102 may perform one or more of the following functions, among other things: delivering user data, radio channel encryption and decryption, integrity protection, header compression, mobility control functions (e.g., handover, dual connectivity), inter-cell interference coordination, connection establishment and release, load balancing, distribution of non-access stratum (NAS) messages, NAS node selection, synchronization, Radio Access Network (RAN) sharing, multimedia broadcast multicast service (MBMS), subscriber and device tracking, RAN information management (RIM), paging, positioning, and delivery of warning messages. Base stations 102 may communicate with each other directly or indirectly (eg, through EPC 160) via backhaul links 134 (eg, an X2 interface). Backhaul links 134 may be wired or wireless.
[0028] Base stations 102 can communicate wirelessly with UEs 104. Each of base stations 102 can provide communication coverage for a respective geographic coverage area 110. There can be overlapping geographic coverage areas 110. For example, a small cell 102' can have a coverage area 110' that overlaps with the coverage area 110 of one or more macro base stations 102. A network that includes both small cells and macro cells can be referred to as a heterogeneous network. A heterogeneous network can also include Home Evolved NodeBs (HeNBs), which can provide service to a restricted group known as a Closed Subscriber Group (CSG). The communication link 120 between base station 102 and UE 104 can include uplink (UL) (also known as reverse link) transmissions from UE 104 to base station 102 and / or downlink (DL) (also known as forward link) transmissions from base station 102 to UE 104. The communication link 120 may use multiple-input and multiple-output (MIMO) antenna technology, including spatial multiplexing, beamforming and / or transmit diversity. The communication link may be through one or more carriers. The base station 102 / UE 104 may use spectrum with a bandwidth of up to Y MHz (e.g., 5 MHz, 10 MHz, 15 MHz, 20 MHz, 100 MHz) per carrier allocated in carrier aggregation for up to a total of Yx MHz (x component carriers) for transmission in each direction. The carriers may be adjacent to each other or may not be adjacent to each other. The allocation of carriers may be asymmetric with respect to DL and UL (e.g., more or fewer carriers may be allocated for DL than for UL). The component carriers may include a primary component carrier and one or more secondary component carriers. The primary component carrier may be referred to as a primary cell (PCell) and the secondary component carrier may be referred to as a secondary cell (SCell).
[0029] The wireless communication system may also include a Wi-Fi access point (AP) 150 that communicates with a Wi-Fi station (STA) 152 in the 5 GHz unlicensed spectrum via a communication link 154. When communicating in the unlicensed spectrum, the STA 152 / AP 150 may perform a clear channel assessment (CCA) to determine whether the channel is available before communicating.
[0030] The small cell 102' can operate in licensed and / or unlicensed spectrum. When operating in the unlicensed spectrum, the small cell 102' can employ NR and use the same 5 GHz unlicensed spectrum used by the Wi-Fi AP 150. The small cell 102' employing NR in the unlicensed spectrum can improve the coverage of the access network and / or increase the capacity of the access network.
[0031] gNodeB (gNB) 180 can operate at millimeter wave (mmW) frequencies and / or near-mmW frequencies when communicating with UE 104. When gNB 180 operates at mmW or near-mmW frequencies, gNB 180 can be referred to as a mmW base station. Extremely high frequency (EHF) is a portion of the RF spectrum in the electromagnetic spectrum. EHF has a range of 30 GHz to 300 GHz and a wavelength between 1 mm and 10 mm. Radio waves in this frequency band can be referred to as millimeter waves. Near-mmW can extend down to frequencies of 3 GHz and have a wavelength of 100 mm. The super high frequency (SHF) band extends between 3 GHz and 30 GHz and is also referred to as centimeter waves. Communications using the mmW / near-mmW radio frequency bands have extremely high path loss and short range. The mmW base station 180 can utilize beamforming 184 with the UE 104 to compensate for the extremely high path loss and short range.
[0032] The EPC 160 may include a Mobility Management Entity (MME) 162, other MMEs 164, a Serving Gateway 166, an MBMS Gateway 168, a Broadcast Multicast Service Center (BM-SC) 170, and a Packet Data Network (PDN) Gateway 172. The MME 162 may communicate with a Home Subscriber Server (HSS) 174. The MME 162 is a control node that handles signaling between the UE 104 and the EPC 160. Typically, the MME 162 provides bearer and connection management. All user Internet Protocol (IP) packets are passed through the Serving Gateway 166 (which itself is connected to the PDN Gateway 172). The PDN Gateway 172 provides UE IP address allocation and other functions. The PDN Gateway 172 and the BM-SC 170 are connected to the IP Services 176. The IP services 176 may include the Internet, an intranet, an IP Multimedia Subsystem (IMS), a PS Streaming Service (PSS), and / or other IP services. The BM-SC 170 may provide functionality for MBMS user service provisioning and delivery. The BM-SC 170 may serve as an entry point for content providers' MBMS transmissions, may be used to authorize and initiate MBMS bearer services within a public land mobile network (PLMN), and may be used to schedule MBMS transmissions. The MBMS gateway 168 may be used to allocate MBMS services to base stations 102 belonging to a Multicast Broadcast Single Frequency Network (MBSFN) area that broadcasts a specific service, and may be responsible for session management (start / stop) and for collecting eMBMS-related charging information.
[0033] A base station may also be referred to as a gNB, a Node B, an evolved Node B, an access point, a base transceiver station, a radio base station, a radio transceiver, a transceiver function, a basic service set (BSS), an extended service set (ESS), or some other suitable terminology. Base station 102 provides an access point to EPC 160 for UE 104. Examples of UE 104 include a cellular phone, a smartphone, a Session Initiation Protocol (SIP) phone, a laptop, a personal digital assistant (PDA), a satellite radio, a global positioning system, a multimedia device, a video device, a digital audio player (e.g., an MP3 player), a camera, a game console, a tablet, a smart device, a wearable device, a vehicle, an electric meter, a gas pump, an oven, or any other similarly functional device. Some of UE 104 may be referred to as IoT devices (e.g., a parking meter, a gas pump, an oven, a vehicle, etc.). UE 104 may also be referred to as a station, a mobile station, a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communication device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a user agent, a mobile client, a client, or some other suitable terminology.
[0034] Figure 2A is a diagram 200 illustrating an example of a DL frame structure. Figure 2B is an example diagram 230 of channels within a DL frame structure. Figure 2C is a diagram 250 illustrating an example of a UL frame structure. Figure 2D Figure 280 is an example of a channel within a UL frame structure. Other wireless communication technologies may have different frame structures and / or different channels. A frame (10 ms) may be divided into 10 equally sized subframes. Each subframe may include two consecutive time slots. A resource grid may be used to represent two time slots, each time slot including one or more time concurrent resource blocks (RBs) (also known as physical RBs (PRBs)). The resource grid is divided into multiple resource elements (REs). For a normal cyclic prefix, one RB contains 12 consecutive subcarriers in the frequency domain and 7 consecutive symbols in the time domain (OFDM symbols for DL and SC-FDMA symbols for UL), for a total of 84 REs. For an extended cyclic prefix, one RB contains 12 consecutive subcarriers in the frequency domain and 6 consecutive symbols in the time domain, for a total of 72 REs. The number of bits carried by each RE depends on the modulation scheme.
[0035] like Figure 2A As shown, some of the REs carry DL reference (pilot) signals (DL-RS) for channel estimation at the UE. DL-RS can include cell-specific reference signals (CRS) (sometimes also called common RS), UE-specific reference signals (UE-RS), and channel state information reference signals (CSI-RS). Figure 2A CRSs for antenna ports 0, 1, 2, and 3 (indicated as R0, R1, R2, and R3, respectively), a UE-RS for antenna port 5 (indicated as R5), and a CSI-RS for antenna port 15 (indicated as R) are illustrated. Figure 2B The physical control format indicator channel (PCFICH) is in symbol 0 of slot 0 and carries the information indicating whether the physical downlink control channel (PDCCH) occupies 1, 2 or 3 symbols ( Figure 2B The control format indicator (CFI) of the PDCCH (which occupies 3 symbols) is illustrated. The PDCCH carries downlink control information (DCI) in one or more control channel elements (CCEs), each of which includes nine RE groups (RE groups, REGs), and each REG includes four consecutive REs in one OFDM symbol. The UE can be configured with a UE-specific enhanced PDCCH (ePDCCH) that also carries DCI. The ePDCCH can have 2, 4, or 8 RB pairs ( Figure 2BTwo RB pairs are shown, with each subset including one RB pair. A physical hybrid automatic repeat request (HARQ) indicator channel (PHICH) is also in symbol 0 of slot 0 and carries a HARQ indicator (HI) that indicates HARQ acknowledgment (ACK) / negative ACK (NACK) feedback based on the physical uplink shared channel (PUSCH). The primary synchronization channel (PSCH) can be in symbol 6 of slot 0 within subframes 0 and 5 of the frame. The PSCH carries the primary synchronization signal (PSS) used by the UE to determine subframe / symbol timing and physical layer identification. The secondary synchronization channel (SSCH) can be in symbol 5 of slot 0 within subframes 0 and 5 of the frame. The SSCH carries the secondary synchronization signal (SSS) used by the UE to determine the physical layer cell identification group number and radio frame timing. Based on the physical layer identifier and the physical layer cell identifier group number, the UE can determine the physical cell identifier (PCI). Based on the PCI, the UE can determine the location of the aforementioned DL-RS. The physical broadcast channel (PBCH) (which carries the master information block (MIB)) can be logically grouped with the PSCH and SSCH to form a synchronization signal (SS) block. The MIB provides multiple RBs in the DL system bandwidth, PHICH configuration, and system frame number (SFN). The physical downlink shared channel (PDSCH) carries user data, broadcast system information that is not sent via the PBCH (such as the system information block (SIB)), and paging messages.
[0036] like Figure 2CAs shown, some REs carry demodulation reference signals (DM-RS) for channel estimation at the base station. The UE may also transmit a sounding reference signal (SRS) in the last symbol of the subframe. The SRS may have a comb structure, and the UE may transmit the SRS on one of the teeth of the comb. The base station may use the SRS for channel quality estimation to enable frequency-dependent scheduling on the UL. Figure 2D Examples of various channels within the UL subframe of a frame are illustrated. Based on the physical random access channel (PRACH) configuration, the PRACH can be within one or more subframes within a frame. The PRACH can include six consecutive RB pairs within a subframe. The PRACH allows the UE to perform initial system access and achieve UL synchronization. The physical uplink control channel (PUCCH) can be located at the edge of the UL system bandwidth. The PUCCH carries uplink control information (UCI), such as scheduling requests, channel quality indicators (CQI), precoding matrix indicators (PMI), rank indicators (RI), and HARQ ACK / NACK feedback. The PUSCH carries data and can also be used to carry buffer status reports (BSR), power headroom reports (PHR), and / or UCI.
[0037] Figure 33 is a block diagram of a base station 310 communicating with a UE 350 in an access network. In the DL, IP packets from the EPC 160 may be provided to a controller / processor 375. The controller / processor 375 implements layer 3 and layer 2 functions. Layer 3 includes the radio resource control (RRC) layer, while layer 2 includes the packet data convergence protocol (PDCP), radio link control (RLC), and medium access control (MAC) layers. The controller / processor 375 provides: RRC layer functions associated with system information (e.g., MIB, SIB) broadcast, RRC connection control (e.g., RRC connection paging, RRC connection establishment, RRC connection modification, and RRC connection release), mobility between radio access technologies (RATs), and measurement configuration for UE measurement reporting; PDCP layer functions associated with header compression / decompression, security (ciphering, deciphering, integrity protection, integrity verification), and handover support functions; RLC layer functions associated with delivering upper layer packet data units (PDUs), error correction through ARQ, concatenation, segmentation, and reassembly of RLC service data units (SDUs), resegmentation of RLC data PDUs, and reordering of RLC data PDUs; and MAC layer functions associated with mapping between logical channels and transport channels, multiplexing of MAC SDUs onto transport blocks (TBs), demultiplexing MAC SDUs from TBs, scheduling information reporting, error correction through HARQ, priority handling, and logical channel prioritization.
[0038] The transmit (TX) processor 316 and the receive (RX) processor 370 implement layer 1 functions associated with various signal processing functions. Layer 1 (which includes the physical (PHY) layer) may include error detection on the transmission channel, forward error correction (FEC) encoding / decoding of the transmission channel, interleaving, rate matching, mapping to the physical channel, modulation / demodulation of the physical channel, and MIMO antenna processing. The TX processor 316 processes the mapping to the signal constellation based on various modulation schemes (e.g., binary phase-shift keying (BPSK), quadrature phase-shift keying (QPSK), M-phase-shift keying (M-PSK), M-quadrature amplitude modulation (M-QAM)). The coded and modulated symbols can then be divided into parallel streams. Each stream can then be mapped to an OFDM subcarrier, multiplexed with a reference signal (e.g., a pilot) in the time and / or frequency domain, and then combined using an Inverse Fast Fourier Transform (IFFT) to produce a physical channel carrying a time-domain OFDM symbol stream. The OFDM stream is spatially precoded to produce multiple spatial streams. Channel estimates from a channel estimator 374 can be used to determine the coding and modulation schemes, as well as for spatial processing. The channel estimate can be derived based on a reference signal and / or channel condition feedback sent by the UE 350. Each spatial stream can then be provided to a different antenna 320 via a separate transmitter 318TX. Each transmitter 318TX can modulate an RF carrier with a corresponding spatial stream for transmission.
[0039] At the UE 350, each receiver 354RX receives a signal via its corresponding antenna 352. Each receiver 354RX recovers the information modulated onto the RF carrier and provides the information to the RX processor 356. The TX processor 368 and the RX processor 356 implement layer 1 functions associated with various signal processing functions. The RX processor 356 can perform spatial processing on the information to recover any spatial streams destined for the UE 350. If there are multiple spatial streams destined for the UE 350, they can be combined into a single OFDM symbol stream by the RX processor 356. The RX processor 356 then converts the OFDM symbol stream from the time domain to the frequency domain using a Fast Fourier Transform (FFT). The frequency domain signal includes a separate OFDM symbol stream for each subcarrier of the OFDM signal. The symbols on each subcarrier, as well as the reference signal, are recovered and demodulated by determining the most likely signal constellation point transmitted by the base station 310. These soft decisions can be based on the channel estimate calculated by the channel estimator 358. The soft decisions are then decoded and deinterleaved to recover the data and control signals originally transmitted on the physical channel by the base station 310. The data and control signals are then provided to a controller / processor 359 which performs layer 3 and layer 2 functions.
[0040] The controller / processor 359 may be associated with a memory 360 that stores program codes and data. The memory 360 may be referred to as a computer-readable medium. In the UL, the controller / processor 359 provides demultiplexing between transport and logical channels, packet reassembly, decryption, header decompression, and control signal processing to recover IP packets from the EPC 160. The controller / processor 359 is also responsible for error detection using an ACK and / or NACK protocol to support HARQ operations.
[0041] Similar to the functions described in conjunction with DL transmissions performed by the base station 310, the controller / processor 359 provides: RRC layer functions associated with system information (e.g., MIB, SIB) acquisition, RRC connection, and measurement reporting; PDCP layer functions associated with header compression / decompression and security (encryption, decryption, integrity protection, integrity verification); RLC layer functions associated with delivering upper layer PDUs, error correction through ARQ, concatenation, segmentation and reassembly of RLC SDUs, resegmentation of RLC data PDUs, and reordering of RLC data PDUs; and MAC layer functions associated with mapping between logical channels and transport channels, multiplexing of MAC SDUs onto TBs, demultiplexing of MAC SDUs from TBs, scheduling information reporting, error correction through HARQ, priority handling, and logical channel prioritization.
[0042] Channel estimates derived by the channel estimator 358 based on a reference signal or feedback transmitted by the base station 310 can be used by the TX processor 368 to select an appropriate coding and modulation scheme and to facilitate spatial processing. The spatial streams generated by the TX processor 368 can be provided to different antennas 352 via separate transmitters 354TX. Each transmitter 354TX can modulate an RF carrier for transmission using a corresponding spatial stream. UL transmissions are processed at the base station 310 in a manner similar to that described in conjunction with the receiver functionality at the UE 350. Each receiver 318RX receives a signal via its corresponding antenna 320. Each receiver 318RX recovers the information modulated onto the RF carrier and provides the information to the RX processor 370.
[0043] The controller / processor 375 may be associated with a memory 376 that stores program codes and data. The memory 376 may be referred to as a computer-readable medium. In the UL, the controller / processor 375 provides demultiplexing between transport and logical channels, packet reassembly, decryption, header decompression, and control signal processing to recover IP packets from the UE 350. The IP packets from the controller / processor 375 may be provided to the EPC 160. The controller / processor 375 is also responsible for error detection using an ACK and / or NACK protocol to support HARQ operations.
[0044] NR may refer to a radio configured to operate according to a new air interface (e.g., in addition to an air interface based on Orthogonal Frequency Division Multiple Access (OFDMA)) or a fixed transport layer (e.g., in addition to the Internet Protocol (IP)). NR may utilize OFDM with a cyclic prefix (CP) on both the uplink and downlink, and may include support for half-duplex operation utilizing time division duplexing (TDD). NR may include mission-critical features such as enhanced mobile broadband (eMBB) services for wide bandwidths (e.g., over 80 MHz), mmW for high carrier frequencies (e.g., 60 GHz), massive MTC (mMTC) for non-backward compatible MTC technologies, and / or ultrareliable low latency communications (URLLC) services.
[0045] A single component carrier bandwidth of 100 MHz can be supported. In one example, an NR resource block can span 12 subcarriers with a subcarrier bandwidth of 75 kHz for a duration of 0.1 ms or a bandwidth of 15 kHz for a duration of 1 ms. Each radio frame can consist of 10 or 50 subframes of length 10 ms. Each subframe can have a length of 0.2 ms. Each subframe can indicate the link direction (i.e., DL or UL) used for data transmission, and the link direction for each subframe can be switched dynamically. Each subframe can include DL / UL data and DL / UL control data. The UL and DL subframes for NR can be as follows relative to Figure 6 and Figure 7 As described in more detail.
[0046] Beamforming can be supported, and the beam direction can be dynamically configured. MIMO transmission with precoding can also be supported. MIMO configurations in the DL can support up to 8 transmit antennas, with multi-layer DL transmission of up to 8 streams and up to 2 streams per UE. Multi-layer transmission of up to 2 streams per UE can be supported. Multi-cell aggregation of up to 8 serving cells can be supported. Alternatively, NR can support different air interfaces in addition to the OFDM-based interface.
[0047] The NR RAN may include a central unit (CU) and a distributed unit (DU). An NR BS (e.g., gNB, 5G Node B, Node B, transmission reception point (TRP), access point (AP)) may correspond to one or more BSs. An NR cell may be configured as an access cell (ACell) or a data-only cell (DCell). For example, the RAN (e.g., a central unit or a distributed unit) may configure the cell. A DCell may be a cell used for carrier aggregation or dual connectivity and may not be used for initial access, cell selection / reselection, or handover. In some cases, a DCell may not send a synchronization signal (SS), and in some cases, a DCell may send an SS. The NR BS may send a downlink signal indicating the cell type to the UE. Based on the cell type indication, the UE may communicate with the NR BS. For example, the UE may determine the NR BS to be considered for cell selection, access, handover, and / or measurement based on the indicated cell type.
[0048] Figure 4An exemplary logical architecture 400 of a distributed RAN according to aspects of the present invention is illustrated. A 5G access node 406 may include an access node controller (ANC) 402. The ANC may be a central unit (CU) of the distributed RAN 400. The backhaul interface to the next generation core network (NG-CN) 404 may terminate at the ANC. The backhaul interface to the adjacent next generation access node (NG-AN) may terminate at the ANC. The ANC may include one or more TRPs 408 (which may also be referred to as a BS, NR BS, Node B, 5G NB, AP, or some other terminology). As described above, TRP may be used interchangeably with "cell."
[0049] The TRP 408 may be a distributed unit (DU). The TRP may be connected to one ANC (ANC 402) or more than one ANC (not shown). For example, for RAN sharing, radio as a service (RaaS), and service-specific RAN deployments, the TRP may be connected to more than one ANC. The TRP may include one or more antenna ports. The TRP may be configured to provide services to UEs individually (e.g., dynamically selected) or jointly (e.g., joint transmission).
[0050] The local architecture of the distributed RAN 400 can be used to illustrate the fronthaul definition. The architecture can be defined to support fronthaul solutions across different deployment types. For example, the architecture can be based on transmitting network capabilities (e.g., bandwidth, latency, and / or jitter). The architecture can share features and / or components with LTE. According to various aspects, the NG-AN 410 can support dual connectivity with NR. The NG-AN can share a common fronthaul for LTE and NR.
[0051] The architecture may enable collaboration between TRPs 408. For example, collaboration may be pre-set within and / or across TRPs via ANC 402. According to various aspects, an inter-TRP interface may not be required / present.
[0052] According to various aspects, dynamic configuration of separate logical functions may exist within the architecture of the distributed RAN 400. PDCP, RLC, MAC protocols may be adaptively placed at the ANC or TRP.
[0053] Figure 5An exemplary physical architecture of a distributed RAN 500 according to aspects of the present invention is illustrated. A centralized core network unit (C-CU) 502 can host core network functions. The C-CU can be centrally deployed. C-CU functions can be offloaded (e.g., to advanced wireless services (AWS)) in an effort to handle peak capacity. A centralized RAN unit (C-RU) 504 can host one or more ANC functions. Optionally, the C-RU can host core network functions locally. The C-RU can have a distributed deployment. The C-RU may be closer to the edge of the network. A distributed unit (DU) 506 can host one or more TRPs. The DU can be located at the edge of the network with radio frequency (RF) functions.
[0054] Figure 6 FIG600 is an example diagram of a DL center subframe. The DL center frame may include a control portion 602. The control portion 602 may be present in the initial or beginning portion of the DL center subframe. The control portion 602 may include various scheduling information and / or control information corresponding to various portions of the DL center subframe. In certain configurations, such as Figure 6 As shown, the control portion 602 may be a PDCCH. The DL center subframe may also include a DL data portion 604. The DL data portion 604 may sometimes be referred to as the payload of the DL center subframe. The DL data portion 604 may include communication resources used to transmit DL data from a scheduling entity (e.g., a UE or a BS) to a subordinate entity (e.g., a UE). In some configurations, the DL data portion 604 may be a PDSCH.
[0055] The DL center subframe may also include a common UL portion 606. The common UL portion 606 may sometimes be referred to as a UL burst, a common UL burst, and / or various other suitable terms. The common UL portion 606 may include feedback information corresponding to various other portions of the DL center subframe. For example, the common UL portion 606 may include feedback information corresponding to the control portion 602. Non-limiting examples of feedback information may include an ACK signal, a NACK signal, a HARQ indicator, and / or various other suitable types of information. The common UL portion 606 may include additional or alternative information, such as information related to a RACH process, a scheduling request (SR), and various other suitable types of information.
[0056] like Figure 6As shown, the end of the DL data portion 604 can be separated in time from the beginning of the common UL portion 606. Such a time interval may sometimes be referred to as a gap, a guard period, a guard interval, and / or various other suitable terms. The interval provides time for switching from DL communication (e.g., reception by a subordinate entity (e.g., a UE)) to UL communication (e.g., transmission by a subordinate entity (e.g., a UE)). It will be appreciated by those skilled in the art that the foregoing is merely an example of a DL center subframe, and that alternative structures having similar features may exist without necessarily departing from the various aspects described herein.
[0057] Figure 7 700 is an example diagram of a UL center subframe. The UL center subframe may include a control portion 702. The control portion 702 may be present in the initial or beginning portion of the UL center subframe. Figure 7 The control portion 702 in the embodiment may be similar to the above reference Figure 6 The control portion 602 described above may also include a UL center subframe. The UL center subframe may also include a UL data portion 704. The UL data portion 704 may sometimes be referred to as the payload of the UL center subframe. The UL portion may refer to communication resources used to transmit UL data from a lower-level entity (e.g., a UE) to a scheduling entity (e.g., a UE or a base station). In some configurations, the control portion 702 may be a PDCCH.
[0058] like Figure 7 As shown, the end of the control portion 702 can be separated in time from the beginning of the UL data portion 704. Such a time interval may sometimes be referred to as a gap, a guard period, a guard interval, and / or various other suitable terms. This interval provides time for switching from DL communication (e.g., reception by the scheduling entity) to UL communication (e.g., transmission by the scheduling entity). The UL center subframe may also include a common UL portion 706. Figure 7 The common UL portion 706 in the example may be similar to that described above with reference to Figure 6 The common UL portion 606 described above may also include information about CQI, SRS, and various other suitable types of information. It should be understood by those skilled in the art that the foregoing is merely an example of a UL center subframe, and that alternative structures having similar features may exist without departing from the various aspects described herein.
[0059] In some cases, two or more subordinate entities (e.g., UEs) can communicate with each other using sidelink signals. Real-world applications of such sidelink communications may include public safety, proximity services, UE-to-network relay, vehicle-to-vehicle (V2V) communications, Internet of Everything (IOE) communications, IoT communications, mission-critical grids, and / or various other suitable applications. Generally, a sidelink signal may refer to a signal transmitted from one subordinate entity (e.g., UE1) to another subordinate entity (e.g., UE2) without the need to relay the communication through a scheduling entity (e.g., UE or BS) even if the scheduling entity (e.g., UE or BS) can be used for scheduling and / or control purposes. In some examples, the sidelink signal may be transmitted using a licensed spectrum (unlike wireless local area networks that typically use unlicensed spectrum).
[0060] The following discloses embodiments for using LDPC codes in cellular and other communication systems.LDPC codes are linear block codes that can be constructed using sparse bipartite graphs.
[0061] LDPC codes are defined by a sparse parity-check matrix. Consider an (N,K) LDPC code, where K is the information block length and N is the coding block length. The parity-check matrix is of size (N–K)*N, with most elements being zero. As a linear block code, the encoding of an LDPC code is based on its generator matrix. The decoding of an LDPC code is based on the belief propagation algorithm or sum-product decoding.
[0062] The design of a good LDPC code relies on the design of its parity-check matrix. A type of LDPC code constructed in a deterministic and systematic manner is called QC-LDPC. See IEEE Std 802.11-2012, "Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications," for standardized implementation of QC-LDPC codes. A QC-LDPC code can be uniquely defined by its base graph, B.
[0063] LDPC codes are used in a variety of standards and in many communications systems, including the DVB-S2 standard for satellite transmission of digital television, the ITU-T G.hn standard, 10GBase-T Ethernet systems, and the Wi-Fi 802.11 standard. In 5G, LDPC codes have several use cases where they are particularly useful, such as eMBB communications.
[0064] Typically, a QC-LDPC matrix can be described by its equivalent bipartite graph ("Tanner graph"), where each edge of the Tanner graph connects one of a plurality of variable nodes (which form a first set of bipartite graphs) to one of a plurality of check nodes (which form a second set of bipartite graphs). The well-known construction of LDPC codes is based on a protograph, also known as a base graph or projection graph. In such a construction, the bipartite base graph G is replicated N times, and for each edge e of G, a permutation is applied to the N copies of e to interconnect the N copies of G. The resulting graph, called an N-cover or N-lifting of G, is then used as the Tanner graph of the LDPC code. If the permutation is cyclic, the resulting LDPC code is called a QC LDPC code.
[0065] QC LDPC codes are attractive due to their relatively simple implementation and analysis. For example, a QC-LDPC matrix with r rows and n columns can be represented by its equivalent bipartite graph with r check nodes and n variable nodes. If there is a corresponding "1" in the QC-LDPC matrix, then the equivalent bipartite graph has an edge between the check node and the variable node (see R. Tanner, "A Recursive Approach to Low Complexity Codes", IEEE TRANSACTIONS ININFORMATION THEORY, Volume 27, Issue 5, Pages 533-547, September 1981). Therefore, the variable nodes represent the codeword bits, while the check nodes represent the parity check equations.
[0066] In some configurations, different types of base graphs may be used for QC LDPC codes, for example, depending on the selected information block size and code rate (CR). CR is defined as the number of information bits divided by the number of coding bits.
[0067] Figure 81 is a diagram illustrating a technique used by a base station (e.g., base station 102) or a UE (e.g., UE 104) to generate a parity check matrix (PCM). Exemplary base graph 802 defines the basic structure of the parity check matrix to be generated by the base station or UE. In this example, base graph 802 has eight columns. Furthermore, in this example, base graph 802 has an information region 803-1 and a parity region 803-2. In this example, information region 803-1 includes the first four columns, while parity region 803-2 includes the remaining columns. In this technique, when generating the PCM, the base station and / or UE selects a region of base graph 802 and then replaces each "1" in the selected region with a circular permutation matrix (CPM) of size Z×Z (e.g., 8×8), and replaces each "0" (e.g., element 830) in the selected region with a Z×Z matrix of all zeros, where Z is the lifting factor. Each CPM is an identity matrix whose rows are cyclically shifted by the amount described below. Figure 8 Exemplary CPMs 808, 810 are shown.
[0068] The rows of the parity check matrix 812 generated as described below are the coefficients of the parity check equation. That is, they show how the linear combination of certain numbers (components) of each codeword equals zero. For example, the parity check matrix
[0069]
[0070] Briefly represent the parity check equation,
[0071] c3+c4=0
[0072] c1+c2=0
[0073] The above formula must be satisfied for c1, c2, c3, and c4 as code words.
[0074] More specifically, to generate PCM, the UE or base station initially replaces the "1"s in base graph 802 with an identity matrix of size Z. Furthermore, the UE or base station cyclically shifts the elements of the identity matrix based on the corresponding shift coefficient table 806. A specific positive number in shift coefficient table 806 indicates that the corresponding identity matrix in base graph 802 should be shifted right a specific number of times. A specific negative number in shift coefficient table 806 indicates that the corresponding identity matrix in base graph 802 should be shifted left a specific number of times. For example, shift coefficient 807-1 in shift coefficient table 806 corresponds to element 804-1 in base graph 802. The number "0" in shift coefficient 807-1 indicates that the identity matrix has not been shifted. Therefore, element 804-1 is replaced by CPM 808 in the generated parity check matrix 812. Shift coefficient 807-2 in shift coefficient table 806 corresponds to element 804-2 in base graph 802. The number "2" in the shift coefficient 807-2 indicates that the identity matrix is shifted to the right twice. Therefore, the element 804-1 is replaced by the CPM 810 in the generated parity check matrix 812.
[0075] Parity check matrix 812 has two parts. The first part 816 (corresponding to information area 803-1 in base image 802) represents the information column portion, while the second part 818 (corresponding to parity area 803-2 in base image 802) represents the parity column portion. Using the techniques described below, the UE or base station can determine the number of Kb. Based on this number of Kb, the UE or base station uses the entire or only a selected portion 814 of base image 802 to generate parity check matrix 812. Selected portion 814 is formed from two parts: one part includes a subset of the information columns of parity check matrix 812, and the second part includes a subset of the parity columns of parity check matrix 812. In the example shown, the first part 816 of parity check matrix 812 has a size of 4×4 information columns, and the second part 818 has a size of 4×4 parity columns. However, submatrix 814 only uses a number of Kb (e.g., 3) information bit columns 820 and Kp (e.g., 2) parity bit columns 821. The number Kp is determined based on the number Kb and the code rate. For example, if the number Kb is 3 and the code rate is 2 / 3, then the number Kp is 3*2 / 3 (i.e., 2). The parity part is a square matrix having a size of Kp times Kp. In this example, the two parts of the submatrix 814 have sizes 2×3 and 2×2 corresponding to the information part and the parity part, respectively. Specifically, the UE or base station selects a submatrix having a size of Kp times Kb and including the last information element 804-3 on the first row from the information area 803-1 of the base image 802 to form the first part 816 of the parity check matrix 812. The UE or base station selects a square submatrix having a size of Kp times Kp and including the first parity element 804-4 on the first row from the parity area 803-2 of the base image 802 to form the second part 818 of the parity check matrix 812. Kp is a number that can be determined based on the number Kb and the code rate used.
[0076] The code block size (CBS) of an LDPC code represents the number of information bits in the LDPC code. Therefore, the CBS is equal to the number of columns in the information region of the submatrix 814. As described above, each row in the information region of the submatrix 814 contains Kb CPMs. Each CPM is a Z by Z matrix. Therefore, the CBS can be expressed by the following equation (1):
[0077] CBS=Kb*Z (1)
[0078] Figure 8 The information region of the sub-matrix 814 is shown to have Kb (eg, 3) information bit columns 820 .
[0079] Z is also called the lifting factor. Generally, LDPC code performance improves if either Kb or Z is larger. A larger Kb provides more degrees of freedom in the information columns, which can lead to better performance. A larger Z provides more degrees of freedom in the shift coefficient matrix, which can also lead to better performance.
[0080] There is a trade-off between the number of Kb and the choice of the lifting factor Z. The effect of increasing the size of the information bitstream (Kb) and / or a higher lifting factor Z is highly nonlinear. The benefits of the Kb size and the lifting factor Z are different. Whether Kb or Z determines the performance generally depends on the CBS. Therefore, the choice of these factors can be rebalanced to improve the performance of QC LDPC codes. QC LDPC codes generally perform better for larger CBSs because they provide greater flexibility for both the information bitstream size Kb and the lifting factor Z. Larger CBSs provide the benefit of a high degree of randomness relative to information transfer between nodes.
[0081] As described above, for initial transmission of a transport block at a specific code rate and for subsequent retransmissions of the same transport block, each code block of the transport block is encoded using the LDPC basis according to certain rules. Figure 1 Or base 2 to encode. Typically, LDPC basis Figure 1 Covers 8 / 9 to 2 / 3 CR and small to large block sizes, while LDPC base 2 covers 2 / 3 to 1 / 5 CR and very small to medium block sizes. Figure 1 is a matrix with 46 rows with row indices i=0,1,2,...,45 and 68 columns with column indices j=0,1,2,...,67. LDPC basis graph 2 is a matrix with 42 rows with row indices i=0,1,2,...,41 and 52 columns with column indices j=0,1,2,...,51. Figure 1 ) and Table 2 (for LDPC base graph 2) have a value of 1, and all other elements have a value of 0.
[0082]
[0083]
[0084]
[0085]
[0086]
[0087]
[0088] Table 1
[0089]
[0090]
[0091]
[0092]
[0093] Table 2
[0094] UE or base station can be used to select base Figure 1 In one configuration, if CBS≤292, or CBS≤3824 and CR≤0.67, or if CR≤0.25, then LDPC basis 2 should be used. Otherwise, LDPC basis Figure 1 .
[0095] In one aspect, the boosting factor Z may limit the performance of QC LDPC codes when LDPC base graph 2 is used in conjunction with choosing Kb to be 10. The various configurations described below contemplate different rules for addressing this issue and further enhancing the performance of QC LDPC codes.
[0096] In some configurations, LDPC basis can be performed based on CBS and CR values. Figure 1 Or 2 options. Typically, LDPC basis Figure 1 LDPC base graph 2 performs better than base graph 2 with higher CR value and larger CBS value. Figure 1 In some configurations, if: 1) CBS>3840 or if 2) the initial transmitted CR value>0.67, then the first basegraph (LDPC basegraph) Figure 1 ) can be used for the initial transmission and subsequent retransmissions of the same transport block. In some configurations, if: 1) CBS ≤ 3840; if 2) the CR value of the initial transmission ≤ 0.67, then the second base graph (LDPC base graph 2) can be used for the initial transmission and subsequent retransmissions of the same transport block.
[0097] Furthermore, once a specific basemap is selected, the following technique can be used to determine the optimal number of Kb. For example, when the CBS is between 40 and 656, the UE or base station can be configured to use a number of Kb in the range of 5 to 10. When the Block Error Rate (BLER) at the receiver is 10 -2 The absolute SNR value and BLER are 10 -4The optimal Kb number can be determined when the sum of the absolute SNR values for all candidate CRs and a given Kb value is minimized. For example, for a target CBS (e.g., CBS=40), a specific Kb number (e.g., Kb=5) is selected from the candidate Kb numbers to generate a Kb value for all candidate CR values where the BLER is 10 -4 The SNR measurement and the BLER are 10 -4 The cumulative sum of the SNR measurements of the candidate Kb values. In one configuration, the CR values used to determine the optimal Kb number may include 1 / 5, 1 / 3, 2 / 5, 1 / 2, 2 / 3. Thus, for the target CBS, at the Kb number of 5, the cumulative sum of the SNR measurements for all candidate CR values is determined. Subsequently, another Kb number (e.g., Kb number = 6) can be selected from the candidate Kb numbers, and the corresponding cumulative sum of the SNR values can be calculated. This process is repeated for the entire range of candidate Kb numbers (e.g., 5 to 10). As described above, the optimal Kb number can be determined as the Kb number that produces the lowest cumulative sum of the SNR measurements. This selection process for the optimal Kb number can be described using the following equation (2):
[0098]
[0099] In one example, based on equation (2), the optimal number of Kb for LDPC base graph 2 is determined for different CBSs. Specifically, if the CBS is greater than 640, the optimal number of Kb is 10. If the CBS is not greater than 640 but greater than 560, the optimal number of Kb is 9. If the CBS is not greater than 560 but greater than 192, the optimal number of Kb is 8. If the CBS is not greater than 192, the optimal number of Kb is 6.
[0100] Figure 9 900 is a flowchart of a method (process) for using an improved QC-LDPC code. The method can be performed by a UE (e.g., UE 104, UE 350, device 1002 / 1002') or by a base station (e.g., base station 102, base station 310, device 1002 / 1002'). It is worth noting that although the following description is provided in the context of a UE, the following description also applies to a base station. In operation 902, the UE or base station determines the CBS of the information bits contained in the LDPC-encoded codeword. As described above, each LDPC codeword includes both an information part and a parity part. Therefore, in operation 902, the UE or base station determines the length of the information part. In operation 904, the UE or base station compares the determined CBS with at least one predetermined threshold, as described below. This comparison is performed to determine the optimal number of Kb.
[0101] At operation 906, the UE or the base station determines the optimal number of Kb for the LDPC base graph 2 using the following rule:
[0102] If CBS>640, use Kb=10
[0103] Otherwise if 640 ≥ CBS > 560, use Kb = 9
[0104] Otherwise if 560 ≥ CBS > 192, use Kb = 8
[0105] Otherwise if CBS≤192, use Kb=6.
[0106] In operation 907, the UE or the base station determines a Kp number. The Kp number is determined based on the Kb number and the code rate.
[0107] At operation 908, the UE or base station generates a parity check matrix (e.g., parity check matrix 812) for the LDPC code using the determined optimal number of Kb. As described above, the parity check matrix 812 has two parts. The first part 816 represents the information bit part, and the second part 818 represents the parity bit part. The parity check matrix 812 may also include at least one submatrix 814.
[0108] At operation 910, the UE or the base station operates an LDPC encoder (eg, Figure 1 192) or an LDPC decoder (e.g., LDPC decoder 194). In other words, LDPC encoding / decoding is performed by dedicated logic within the LDPC encoder / decoder circuit. This dedicated logic utilizes the generated parity check matrix.
[0109] In certain configurations, the at least one threshold includes a first threshold of 640 bits, and when the CBS is greater than the first threshold, the number of Kb is determined to be 10.
[0110] In certain configurations, the at least one threshold includes a first threshold of 640 bits and a second threshold of 560 bits, and when the CBS is less than or equal to the first threshold and greater than the second threshold, the number of Kb is determined to be 9.
[0111] In certain configurations, the at least one threshold includes a first threshold of 560 bits and a second threshold of 192 bits, and when the CBS is less than or equal to the first threshold and greater than the second threshold, the number of Kb is determined to be 8.
[0112] In certain configurations, the at least one threshold includes a first threshold of 192 bits, and when the CBS is less than or equal to the first threshold, the number of Kb is determined to be 6.
[0113] In certain configurations, the circulant permutation matrix is located at a position of the first matrix as indicated by the employed basis graph.
[0114] In some configurations, the first base picture or the second base picture is selected as the employed base picture based on at least one of the CBS and the code rate of the initial transmission.
[0115] In certain configurations, the second base picture is selected when the CBS is less than or equal to 3840 bits and the code rate is less than or equal to 0.67.
[0116] Figure 10 10 is a conceptual data flow diagram 1000 illustrating the data flow between different components / devices in an exemplary apparatus 1002. Apparatus 1002 can be a UE or a base station. Apparatus 1002 includes a receiving component 1004, a PCM generation component 1006, an encoder 1012, a decoder 1008, a transmitting component 1010, and a data application 1014. If apparatus 1002 is a UE, receiving component 1004 can receive a signal 1062 from a base station 1050, and transmitting component 1010 can transmit a signal 1064 to base station 1050. If apparatus 1002 is a base station, receiving component 1004 can receive a signal 1062 from a UE 1054, and transmitting component 1010 can transmit a signal 1064 to the UE 1054.
[0117] In certain configurations, the PCM generation component 1006 is preconfigured to determine the CBS of the information bits contained in the LDPC-encoded codeword. In other words, the PCM generation component 1006 is preconfigured to determine the length of the information portion of the LDPC codeword. The PCM generation component 1006 compares the determined CBS with at least one threshold.
[0118] Based on the results of the comparisons performed, the PCM generation component 1006 determines the number of Kb. When the at least one threshold value includes only one threshold value of 640 bits and when the CBS is greater than 640 bits, the PCM generation component 1006 determines the number of Kb as 10. When the CBS is compared with two different threshold values of 560 bits and 640 bits, and when the CBS is greater than 560 bits and the CBS is less than or equal to 640 bits, the PCM generation component 1006 determines the number of KB as 9. When the CBS is compared with two different threshold values of 192 bits and 560 bits, and when the CBS is greater than 192 bits and the CBS is less than or equal to 560 bits, the PCM generation component 1006 determines the number of Kb as 8. When the at least one threshold value includes only one threshold value of 192 bits and when the CBS is less than or equal to 192 bits, the PCM generation component 1006 determines the number of Kb as 6.
[0119] In certain configurations, the PCM generation component 1006 selects the first basegraph or the second basegraph as the adopted basegraph based on at least one of the determined CBS and the code rate of the initial transmission. When the CBS is less than or equal to 3840 and the code rate is less than or equal to 0.67, the PCM generation component 1006 selects the second basegraph as the adopted basegraph. The adopted basegraph defines the structure of the parity check matrix. The PCM generation component 1006 generates the LDPC-coded parity check matrix 1020 using the adopted basegraph and the determined number of Kb. Based on the determined number of Kb, the PCM generation component 1006 uses all or only a selected portion of the adopted basegraph to generate the parity check matrix. The selected portion is formed of two parts, one comprising a subset of the information columns of the parity check matrix and a second comprising a subset of the parity columns of the parity check matrix. The number of information columns used in the selected portion is the determined number of Kb, and the number of parity columns used in the selected portion is the determined number of Kp. The information portion of the parity check matrix is formed by M square matrices. M equals Kp*Kb. The total number of columns in the Kb square matrices equals the total number of bits in the CBS. One or more of the M square matrices is a cyclic permutation matrix. The cyclic permutation matrix is located in the information portion of the parity check matrix at the position indicated by the base diagram used.
[0120] In one aspect, encoder 1012 receives data bits 1022 from data application 1014 and encodes data bits 1022 using a generator matrix derived from parity check matrix 1020 generated by PCM generation component 1006 to generate LDPC code 1024. In some configurations, encoder 1012 sends the generated LDPC code 1024 to transmission component 1010. In one aspect, decoder 1008 decodes LDPC code 1025 received from receiving component 1004 to generate data bits 1027. In some configurations, decoder 1008 can send the generated data bits 1027 to data application 1014. In various configurations, data application 1014 can generally be any application that facilitates the operation of an organization (or multiple affiliated organizations) and can include, but is not limited to, mail server applications, file server applications, mail client applications, database applications, word processing applications, spreadsheet applications, financial applications, presentation applications, browser applications, mobile applications, entertainment applications, and the like.
[0121] Figure 11FIG11 is an example diagram 1100 illustrating a hardware implementation for an apparatus 1002′ employing a processing system 1114. Apparatus 1002′ may be a UE or a base station. Processing system 1114 may be implemented using a bus architecture, generally represented by bus 1124. Depending on the specific application and overall design constraints of processing system 1114, bus 1124 may include any number of interconnecting buses and bridges. Bus 1124 links various circuits together, including one or more processors and / or hardware components, represented by one or more processors 1104, receiving component 1004, PCM generation component 1006, decoder 1008, transmitting component 1010, encoder 1012, and computer-readable medium / memory 1106. Bus 1124 may also link various other circuits, such as timing sources, peripherals, voltage regulators, and power management circuits.
[0122] The processing system 1114 can be coupled to a transceiver 1110, which can be one or more of the transceivers 354 if the apparatus 1002′ is a UE, or one or more of the transceivers 318 if the apparatus 1002′ is a base station. The transceiver 1110 is coupled to one or more antennas 1120, which can be communication antennas 352 if the apparatus 1002′ is a UE, or communication antennas 320 if the apparatus 1002′ is a base station.
[0123] The transceiver 1110 provides a means for communicating with various other devices over a transmission medium. The transceiver 1110 receives signals from the one or more antennas 1120, extracts information from the received signals, and provides the extracted information to the processing system 1114 (particularly the receiving component 1004). In addition, the transceiver 1110 receives information from the processing system 1114 (particularly the transmitting component 1010) and generates signals to be applied to the one or more antennas 1120 based on the received information.
[0124] The processing system 1114 includes one or more processors 1104 coupled to a computer-readable medium / memory 1106. The one or more processors 1104 are responsible for general processing, including executing software stored on the computer-readable medium / memory 1106. When executed by the one or more processors 1104, the software causes the processing system 1114 to perform the various functions described above for any particular device. The computer-readable medium / memory 1106 can also be used to store data manipulated by the one or more processors 1104 when executing the software. The processing system 1114 also includes at least one of a receiving component 1004, a PCM generation component 1006, a decoder 1008, a transmitting component 1010, and an encoder 1012. These components can be software components running on the one or more processors 1104 and resident / stored in the computer-readable medium / memory 1106, one or more hardware components coupled to the one or more processors 1104, or some combination thereof. In one configuration, the processing system 1114 may be a component of the UE 350 and may include the memory 360 and / or at least one of the TX processor 368, the RX processor 356, and the communication processor 359. In another configuration, the processing system 1114 may be a component of the base station 310 and may include the memory 376 and / or at least one of the TX processor 316, the RX processor 370, and the communication processor 375.
[0125] In one configuration, the apparatus 1002 / apparatus 1002′ for wireless communication includes a method for performing Figure 9 The aforementioned means may be one or more of the aforementioned components of the device 1002 and / or the processing system 1114 of the device 1002' configured to perform the functions described by the aforementioned means.
[0126] As described above, the processing system 1114 may include the TX processor 368, the RX processor 356, and the communication processor 359, or may include the TX processor 316, the RX processor 370, and the communication processor 375. Thus, in one configuration, the aforementioned means may be the TX processor 368, the RX processor 356, and the communication processor 359 configured to perform the functions described by the aforementioned means. In another configuration, the aforementioned means may be the TX processor 316, the RX processor 370, and the communication processor 375 configured to perform the functions described by the aforementioned means. It should be understood that the specific order or hierarchy of blocks in the disclosed process / flowcharts is illustrative of exemplary methods. Based on design preferences, it should be understood that the specific order or hierarchy of blocks in the process / flowcharts may be rearranged. Furthermore, some blocks may be combined or omitted. The accompanying method claims present elements of the various blocks in an example order and are not intended to be limited to the specific order or hierarchy presented.
[0127] The preceding description is provided to enable any person skilled in the art to practice the various aspects of the present invention. Those skilled in the art will readily appreciate various modifications to these aspects and may apply the general principles defined herein to other aspects. Therefore, the claims are not intended to be limited to the aspects shown in the present invention, but rather to conform to the full scope consistent with the language of the claims, wherein reference to a component in the singular does not mean "one and only one" (unless specifically provided otherwise), but rather means "one or more." The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any aspect of the present invention described as "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects. Unless otherwise specifically provided, the term "some" refers to one or more. Combinations such as "at least one of A, B, or C," "one or more of A, B, or C," "at least one of A, B, and C," "one or more of A, B, and C," and "A, B, C, or any combination thereof" include any combination of A, B, and / or C and may include multiple A, multiple B, or multiple C. In particular, combinations such as "at least one of A, B, or C," "one or more of A, B, or C," "at least one of A, B and C," "one or more of A, B, and C," and "A, B, C, or any combination thereof" may be A only, B only, C only, A and B, A and C, B and C, or A and B and C, wherein any such combination may include one or more of A, B, or C. All structural and functional equivalents to the elements described throughout the various aspects of this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are encompassed by the claims. In addition, nothing disclosed herein is intended to be committed to publication regardless of whether such disclosure is expressly recited in the claims. The words "module," "mechanism," "element," "device," etc. are not intended to be substitutes for the word "means." Thus, no claim element is to be construed as means-plus-function unless the phrase "means for" is used to expressly recite the element.
Claims
1. A quasi-cyclic low-density parity check coding method, the method comprising the following steps determining a code block size of information bits contained in a low-density parity-check coded codeword; comparing the code block size to at least one threshold; determining a Kb number based on a result of the comparison, wherein Kb is an integer, when the code block size is greater than the at least one threshold, the Kb number is a first value, and when the code block size is less than or equal to the at least one threshold, the Kb number is a second value, wherein the first value is different from the second value; Determine a Kp number based on the bit rate and the Kb number, wherein Kp is an integer; generating a parity check matrix for the low-density parity-check code by selecting a first portion of a base matrix when the number of Kb is the first value or selecting a second portion of the base matrix when the number of Kb is the second value, wherein an information portion of the parity check matrix is a first matrix formed by M second square matrices, where M is equal to Kp multiplied by Kb, wherein a total number of columns in the Kb second square matrices is equal to a total number of bits of the code block size, and one or more matrices in the M second square matrices are circulant permutation matrices; generating the parity check matrix; and A low density parity check encoder or a low density parity check decoder is operated based on the parity check matrix.
2. The quasi-cyclic low-density parity check coding method according to claim 1, wherein: The at least one threshold includes a first threshold of 640 bits, wherein when the code block size is greater than the first threshold, the number of Kb is determined to be 10.
3. The quasi-cyclic low-density parity check coding method according to claim 1, wherein: The at least one threshold includes a first threshold of 640 bits and a second threshold of 560 bits, wherein when the code block size is less than or equal to the first threshold and greater than the second threshold, the number of Kb is determined to be 9.
4. The quasi-cyclic low-density parity-check coding method according to claim 1, wherein: The at least one threshold includes a first threshold of 560 bits and a second threshold of 192 bits, wherein when the code block size is less than or equal to the first threshold and greater than the second threshold, the number of Kb is determined to be 8.
5. The quasi-cyclic low-density parity check coding method according to claim 1, wherein: The at least one threshold includes a first threshold of 192 bits, wherein when the code block size is less than or equal to the first threshold, the number of Kb is determined to be 6.
6. The quasi-cyclic low-density parity check coding method according to claim 1, wherein: The circulant permutation matrix is located at a position of the first matrix indicated by the adopted basis graph.
7. The quasi-cyclic low-density parity-check coding method according to claim 6, further comprising: The first base picture or the second base picture is selected as the adopted base picture based on at least one of the code block size and the code rate of initial transmission.
8. The quasi-cyclic low-density parity check coding method according to claim 7, wherein: When the code block size is less than or equal to 3840 bits and the code rate of the initial transmission is less than or equal to 0.67, the second base graph is selected.
9. A quasi-cyclic low-density parity-check coding device, the device comprising: A processor and a memory device coupled to the processor, the memory device containing a set of instructions that, when executed by the processor, cause the processor to: determining a code block size of information bits contained in a low-density parity-check coded codeword; comparing the code block size to at least one threshold; determining a Kb number based on a result of the comparison, wherein Kb is an integer, when the code block size is greater than the at least one threshold, the Kb number is a first value, and when the code block size is less than or equal to the at least one threshold, the Kb number is a second value, wherein the first value is different from the second value; Determine a Kp number based on the bit rate and the Kb number, wherein Kp is an integer; generating a parity check matrix for the low-density parity-check code by selecting a first portion of a base matrix when the number of Kb is the first value or selecting a second portion of the base matrix when the number of Kb is the second value, wherein an information portion of the parity check matrix is a first matrix formed by M second square matrices, where M is equal to Kp multiplied by Kb, wherein a total number of columns in the Kb second square matrices is equal to a total number of bits of the code block size, and one or more matrices in the M second square matrices are circulant permutation matrices; generating the parity check matrix; and A low density parity check encoder or a low density parity check decoder is operated based on the parity check matrix.
10. The quasi-cyclic low-density parity-check coding device according to claim 9, characterized in that: The at least one threshold includes a first threshold of 640 bits, wherein when the code block size is greater than the first threshold, the number of Kb is determined to be 10.
11. The quasi-cyclic low-density parity-check coding device according to claim 9, wherein: The at least one threshold includes a first threshold of 640 bits and a second threshold of 560 bits, wherein when the code block size is less than or equal to the first threshold and greater than the second threshold, the number of Kb is determined to be 9.
12. The quasi-cyclic low-density parity-check coding device according to claim 9, wherein: The at least one threshold includes a first threshold of 560 bits and a second threshold of 192 bits, wherein when the code block size is less than or equal to the first threshold and greater than the second threshold, the number of Kb is determined to be 8.
13. The quasi-cyclic low-density parity-check coding device according to claim 9, wherein: The at least one threshold includes a first threshold of 192 bits, wherein when the code block size is less than or equal to the first threshold, the number of Kb is determined to be 6.
14. The quasi-cyclic low-density parity-check coding device according to claim 9, wherein: The circulant permutation matrix is located at a position of the first matrix indicated by the adopted basis graph.
15. The quasi-cyclic low-density parity-check encoding device according to claim 14, further comprising: The first base picture or the second base picture is selected as the adopted base picture based on at least one of the code block size and the code rate of initial transmission.
16. The quasi-cyclic low-density parity-check coding device according to claim 15, characterized in that: When the code block size is less than or equal to 3840 bits and the code rate of the initial transmission is less than or equal to 0.67, the second base graph is selected.
17. A tangible, non-transitory computer-readable medium having encoded thereon software that, when executed by a processor, is operable to: determining a code block size of information bits contained in a low-density parity-check coded codeword; comparing the code block size to at least one threshold; determining a Kb number based on a result of the comparison, wherein Kb is an integer, when the code block size is greater than the at least one threshold, the Kb number is a first value, and when the code block size is less than or equal to the at least one threshold, the Kb number is a second value, wherein the first value is different from the second value; Determine a Kp number based on the bit rate and the Kb number, wherein Kp is an integer; generating a parity check matrix for the low-density parity-check code by selecting a first portion of a base matrix when the number of Kb is the first value or selecting a second portion of the base matrix when the number of Kb is the second value, wherein an information portion of the parity check matrix is a first matrix formed by M second square matrices, where M is equal to Kp multiplied by Kb, wherein a total number of columns in the Kb second square matrices is equal to a total number of bits of the code block size, and one or more matrices in the M second square matrices are circulant permutation matrices; generating the parity check matrix; and A low density parity check encoder or a low density parity check decoder is operated based on the parity check matrix.
18. The computer-readable medium of claim 17, wherein: The at least one threshold includes a first threshold of 640 bits, wherein when the code block size is greater than the first threshold, the number of Kb is determined to be 10.
19. The computer-readable medium of claim 17, wherein: The at least one threshold includes a first threshold of 640 bits and a second threshold of 560 bits, wherein when the code block size is less than or equal to the first threshold and greater than the second threshold, the number of Kb is determined to be 9.
20. The computer-readable medium of claim 17, wherein: The at least one threshold includes a first threshold of 560 bits and a second threshold of 192 bits, wherein when the code block size is less than or equal to the first threshold and greater than the second threshold, the number of Kb is determined to be 8.
Citation Information
Patent Citations
Transmission method, reception method, transmission device, and reception device
CN106134085A
Access point (AP), user station (STA) and methods for variable length encoding and for iterative decoding
US20160380722A1