Communication method and communication apparatus

By employing a flexible method for determining translation values ​​in different regions of the LDPC code's base matrix, the trap set and loop properties are optimized, solving the problems of high coding complexity and performance limitations in existing technologies, and achieving more efficient coding performance and stability.

WO2026012232A1PCT designated stage Publication Date: 2026-01-15HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/106123
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-12
Filing Date
2025-06-30
Publication Date
2026-01-15

AI Technical Summary

Technical Problem

Existing LDPC codes, due to the use of the same shift value determination method during the encoding process, cannot fully optimize the performance of each region, resulting in high encoding complexity and limited performance.

Method used

A flexible method for determining translation values ​​is adopted. Different methods are used in different regions according to the different requirements of the basis matrix, thereby optimizing the trap set and circle properties and taking into account the coding performance.

Benefits of technology

By using a flexible method to determine the shift value, the coding performance and stability of LDPC codes are improved, the coding complexity is reduced, and it can adapt to communication scenarios with different code rate requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025106123_15012026_PF_FP_ABST
    Figure CN2025106123_15012026_PF_FP_ABST
Patent Text Reader

Abstract

A communication method and a communication apparatus. In the method, a device can perform encoding or decoding on the basis of an LDPC matrix, wherein the LDPC matrix is determined on the basis of an LDPC base matrix, the base matrix comprises at least two regions, any two regions among the at least two regions do not coincide with each other, and translation value determination modes corresponding to said any two regions are different from each other. Compared with existing global use of a unified translation value determination mode, the method can flexibly use different translation value determination modes in different regions of a base matrix on the basis of the requirements of the regions of the base matrix, thereby ensuring the performance of LDPC codes.
Need to check novelty before this filing date? Find Prior Art

Description

Communication methods and communication devices

[0001] This application claims priority to Chinese Patent Application No. 202410944335.2, filed on July 12, 2024, entitled "Communication Method and Communication Apparatus", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of coding, and more specifically, to a communication method and a communication device. Background Technology

[0003] In the field of channel coding, low-density parity check (LDPC) codes are one of the most mature and widely used channel coding schemes. Quasi-cyclic low-density parity check (QC-LDPC) codes are a type of structured LDPC codes. Due to the unique structure of their parity check matrix, they can be encoded using simple feedback shift registers, reducing the coding complexity of LDPC codes.

[0004] Generally, the initial translation value of each 1 element in the basis matrix of the NR LDPC code can be pre-stored. Then, the same translation value determination method is used globally to determine the final translation value corresponding to each 1 element in the basis matrix. For example, the global translation value determination method of the basis matrix is ​​to take the modulus of the initial translation value. Such a translation value determination method has great limitations on the translation value and cannot guarantee the performance of the LDPC code. Summary of the Invention

[0005] Embodiments of this application provide a communication method and a communication device. This method can flexibly use different translation value determination methods in different regions of the base matrix based on the needs of each region of the base matrix, thereby ensuring the performance of the LDPC code.

[0006] In a first aspect, a communication method is provided, which can be executed by a transmitting device. Unless otherwise specified, the term "transmitting device" in this application can refer to the transmitting device itself (e.g., a network device, a terminal device), a component in the transmitting device (e.g., a processor, a chip, or a chip system), or a logic module or software that can implement all or part of the functions of the transmitting device.

[0007] The method includes: acquiring an information bit sequence; determining an LDPC parity-check matrix, which is determined based on an LDPC base matrix, the base matrix including at least two regions, where any two regions do not overlap, and the translation values ​​corresponding to any two regions are determined in different ways; encoding the information bit sequence according to the LDPC parity-check matrix to obtain a codeword sequence; and outputting the codeword sequence.

[0008] The above technical solution allows for flexible use of different translation value determination methods in different regions of the basis matrix based on their specific needs, thereby ensuring the performance of the LDPC code. For example, part B of the basis matrix (see Figure 4 in the specification for the description of part B) can use a translation value determination method that optimizes the trap set in this region, while other regions of the basis matrix besides part B can use a translation value determination method that better optimizes the loop property. This approach balances optimization in both aspects, ensuring the performance of the LDPC code.

[0009] Secondly, a communication method is provided, which can be executed by a receiving device. Unless otherwise specified, the term "receiving device" in this application can refer to the receiving device itself (e.g., a network device, a terminal device), a component in the receiving device (e.g., a processor, a chip, or a chip system), or a logic module or software that can implement all or part of the functions of the receiving device.

[0010] The method includes: acquiring a symbol sequence; determining an LDPC parity check matrix, which is determined based on an LDPC base matrix, the base matrix including at least two regions, where any two regions do not overlap, and the translation values ​​corresponding to any two regions are determined in different ways; and decoding the symbol sequence according to the LDPC parity check matrix to obtain an information bit sequence.

[0011] For the beneficial effects of the second aspect, please refer to the description of the first aspect, which will not be repeated here.

[0012] In some implementations of the first or second aspect, the translation value corresponding to one of the at least two regions is determined in one of the following ways:

[0013] Method 1: SV i,j =P i,j , or SV i,j =P i,j +w, or SV i,j =mod(P i,j ,Zc), or SV i,j =mod(P i,j +w,Zc),

[0014] Method 2: SVi,j =P i,j *Zc / Z max Or, SV i,j =P i,j *Zc / Z max +w, or SV i,j equals (P) i,j *Zc / Z max Round up or down, or SV i,j equals (P) i,j *Zc / Z max Round up or down and add w, or SV i,j equals (P) i,j *Zc / Z max +w) Round up or down.

[0015] Method 3: SV i,j equals (mod(P)) i,j +w,Zc))*Zc / Z max Round up or down, or, SV i,j equals (mod(P)) i,j +w,Zc))*Zc / Z max Round up or down and add w, or SV i,j equals ((mod(P)) i,j +w,Zc))*Zc / Z max +w) Round up or down.

[0016] Method 4: SV i,j =mod(P i,j +w,2 s ), of which 2 s S is the maximum value not greater than Zc, where S is a positive integer.

[0017] Among them, in methods one to four, SV i,j P is the 1-element in row i and column j of the basis matrix. i,j Let w be a predefined translation value corresponding to the 1 element in a region, where w is a preset fixed value, Zc is the lifting value corresponding to the basis matrix, and P is the predefined translation value. i,j It is determined based on Zc, Z max The largest boost value in the predefined set of boost values ​​containing Zc.

[0018] Method 5: The shift value of each 1 element in a region is determined based on two sequences. All elements of the first sequence correspond one-to-one with all rows of the basis matrix, and all elements of the second sequence correspond one-to-one with all columns of the basis matrix. SV i,jIt is determined based on the element R(i) corresponding to row i in the first sequence and the element C(j) corresponding to column j in the second sequence.

[0019] The above technical solution provides several possible methods for determining translation values, and different methods can be used in different regions of the base matrix based on different needs.

[0020] In some implementations of the first or second aspect, the translation value corresponding to the other region of at least two regions is determined by any of the remaining methods from Method 1 to Method 5, excluding the method for determining the translation value corresponding to one region.

[0021] It is understandable that the translation values ​​of any two regions in at least two regions of the basis matrix are determined in different ways. Therefore, region #1 in at least two regions of the basis matrix corresponds to one of the methods from method one to method five, and the translation value of region #2 in at least two regions of the basis matrix is ​​determined by one of the remaining methods from method one to method five, excluding the method corresponding to region #1.

[0022] In some implementations of the first or second aspect, the basis matrix comprises X rows and Y columns, wherein the matrix corresponding to the region formed by the x1+1 to X rows and the y2+1 to Y columns of the basis matrix is ​​the identity matrix, the matrix corresponding to the region formed by the 1 to x1 rows and the y2+1 to Y columns of the basis matrix is ​​an all-zero matrix, and the matrix corresponding to the region formed by the 1 to x1 rows and the y1+1 to y2 columns of the basis matrix is ​​a square matrix, wherein 1≤x1≤X, 1≤y1≤y2≤Y, and x1, X, y1, y2, and Y are all integers.

[0023] The characteristics of the regions formed by the rows and columns of the basis matrix have been described above. In the following implementation, the specific locations of at least two regions included in the basis matrix can be specified based on the described row and column characteristics of the basis matrix.

[0024] In some implementations of the first or second aspect, at least two regions include a first region and a second region, wherein the first region is the region consisting of rows 1 to x1 and columns y1+1 to y2 of the basis matrix (i.e., the B part of the corresponding basis matrix), and the second region is the region consisting of rows 1 to x1 and columns 1 to y1 of the basis matrix and rows x1+1 to x and columns 1 to y2 of the basis matrix (i.e., the A part + D part of the corresponding basis matrix), or, the second region is all the remaining regions in the basis matrix except for the first region. More specifically, the first region is determined using translation value method two, and the second region is determined using translation value method one.

[0025] In the above technical solution, part B can use a translation value determination method that can optimize the trap set in this region, while other regions besides part B can use a translation value determination method that can better optimize the loop property, thus taking into account optimization in both aspects.

[0026] In some implementations of the first or second aspect, at least two regions include a first region and a second region, wherein the first region is the region consisting of rows 1 to x1 and columns 1 to y1 of the basis matrix and the region consisting of rows 1 to x1 and columns y1+1 to y2 of the basis matrix (i.e., corresponding to part A + part B of the basis matrix), and the second region is the region consisting of rows x1+1 to x and columns 1 to y2 of the basis matrix (i.e., corresponding to part D of the basis matrix), or, the second region is all the remaining regions in the basis matrix except for the first region. More specifically, the first region is determined using translation value method two, and the second region is determined using translation value method one.

[0027] In the above technical solution, high bitrate regions (part A + part B) are supported first, and then low bitrate regions are supported, which can make the performance of flexible bitrate more stable.

[0028] In some implementations of the first or second aspect, at least two regions include a first region and a second region. The first region is a portion of the region consisting of rows 1 to x1 and columns 1 to y1 of the basis matrix, the region consisting of rows 1 to x1 and columns y1+1 to y2 of the basis matrix, and the region consisting of rows x1+1 to X and columns 1 to y2 of the basis matrix (i.e., corresponding to part A + part B + part D of the basis matrix). The second region is the remaining region in the region consisting of rows x1+1 to X and columns 1 to y2 of the basis matrix, excluding the region occupied by the first region (i.e., the remaining region in part D of the basis matrix excluding the region occupied by the first region). Alternatively, the second region is all regions remaining in the basis matrix excluding the first region. More specifically, the first region is determined using translation value method two, and the second region is determined using translation value method one.

[0029] The above technical solution provides a more detailed division of the bitrate, which can support communication scenarios with a high degree of flexibility in bitrate, and the performance is stable.

[0030] In some implementations of the first or second aspect, at least two regions include a first region and a second region, wherein the first region is the region consisting of all rows of the base matrix and at least one column from column y1+1 to y2, and the second region is the region remaining in the region consisting of all rows of the base matrix and columns 1 to y2, excluding the region occupied by the first region; or, the second region is all regions remaining in the base matrix excluding the first region. More specifically, the first region is determined using translation value method two, and the second region is determined using translation value method one.

[0031] The above technical solution can maintain simple hardware encoding while ensuring the absence of small trap sets, resulting in better performance in error leveling. Furthermore, the low bitrate trap set properties are better in this solution.

[0032] In some implementations of the first or second aspect, at least two regions include a first region and a second region, wherein the first region is the region consisting of at least one column from rows 1 to x1 and columns y1+1 to y2 of the base matrix, and the second region is the region remaining excluding the area occupied by the first region within the region consisting of all rows of the base matrix and columns 1 to y2 of the base matrix; or, the second region is all regions remaining in the base matrix excluding the first region. More specifically, the first region is determined using translation value method two, and the second region is determined using translation value method one.

[0033] The above technical solution can maintain simple hardware coding while ensuring that there are no small trap sets, and has better performance in error leveling. In addition, the second region design space is larger in this solution, which simplifies the design of translation values ​​and reduces the difficulty of implementation.

[0034] In some implementations of the first or second aspect, at least one of the columns y1+1 to y2 includes all columns in the y1+1 to y2 columns, or at least one of the columns y1+1 to y2 includes a first column, which satisfies a first condition, wherein the column weight of the first column in the region formed by the first to x1 rows of the base matrix and the y1+1 to y2 columns is an odd number greater than 1.

[0035] In some implementations of the first or second aspect, at least two regions include a first region and a second region, wherein the first region is the region consisting of at least one row from rows 1 to x1 and columns 1 to y2 of the base matrix, and the second region is the region remaining in the region consisting of rows 1 to x1 and columns 1 to y2 of the base matrix excluding the region occupied by the first region; or, the second region is all the regions remaining in the base matrix excluding the first region; or, the first region is the region consisting of at least one row from rows x1+1 to x and columns 1 to y2 of the base matrix, and the second region is the region remaining in the region consisting of rows x1+1 to x and columns 1 to y2 of the base matrix excluding the region occupied by the first region; or, the second region is all the regions remaining in the base matrix excluding the first region. More specifically, the first region is determined using translation value method two, and the second region is determined using translation value method one.

[0036] In the above technical solution, some lines use other translation value nesting methods, which can ensure that some small trap sets do not exist, and reduce the error floor of LDPC at a specific bit rate.

[0037] In some implementations of the first or second aspect, the first split sequence θ includes X elements, which correspond one-to-one with X rows of the basis matrix. The element θ(i) corresponding to row i indicates whether to perform normal expansion or split expansion. The element θ(i) corresponds to the row number of a row of the basis matrix associated with θ(i). The element θ(i) indicates that the θ(i) row is to be split expanded. The element θ(i) corresponds to θ(i) being equal to the first character. The element θ(i) indicates that the ith row is to be to be expanded normally. The first character is not equal to the row number of any row of the basis matrix. Where θ(i) is associated with the row number of a row of the basis matrix, the element in row i and column j of the basis matrix and the element in row θ(i) and column j of the basis matrix are located in the same region of at least two regions. Column j is any column from the 1st to the y2nd column of the basis matrix.

[0038] In some implementations of the first or second aspect, the translation value SV corresponding to the first region i,j The determination method is Method 2, and the translation value SV corresponding to the second region is used. i,j The determination method is Method 1, where Method 1 is: SV i,j =P i,j , or SV i,j =P i,j +w, or SV i,j =mod(P i,j ,Zc), or SV i,j =mod(P i,j +w,Zc), Method 2 is: SV i,j =P i,j *Zc / Z max Or, SV i,j =P i,j *Zc / Z max +w, or SV i,j equals (P) i,j *Zc / Z max Round up or down, or SV i,j equals (P) i,j *Zc / Z max Round up or down and add w, or SV i,j equals (P) i,j *Zc / Z max +w) rounds up or down, where SV i,j P is the 1-element in row i and column j of the basis matrix. i,j Let w be the predefined translation value corresponding to the 1 element in row i and column j of the base matrix, and Zc be the lift value corresponding to the base matrix. i,j It is determined based on Zc, Z max The largest boost value in the predefined boost value set containing Zc.

[0039] Thirdly, a communication apparatus is provided for performing the method provided by any of the above aspects or their implementations. Specifically, the apparatus may include units and / or modules for performing the method provided by any of the above aspects or their implementations, such as processing units and / or transceiver units.

[0040] In one implementation, the device is either a transmitting device or a receiving device. When the device is a transmitting device or a receiving device, the transceiver unit can be a transceiver, an input / output interface, or a communication interface; the processing unit can be at least one processor. Optionally, the transceiver is a transceiver circuit. Optionally, the input / output interface is an input / output circuit.

[0041] In another implementation, the device is a chip, chip system, or circuit used in a transmitting or receiving device. When the device is a chip, chip system, or circuit used in a transmitting or receiving device, the transceiver unit can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip, chip system, or circuit; the processing unit can be at least one processor, processing circuit, or logic circuit.

[0042] Fourthly, a communication device is provided, comprising: a memory for storing a program; and at least one processor for executing the computer program or instructions stored in the memory to perform the method provided in any of the foregoing aspects or their implementations.

[0043] In one implementation, the device is either a transmitting device or a receiving device.

[0044] In another implementation, the device is a chip, chip system, or circuit used in a transmitting or receiving device.

[0045] Fifthly, a communication device is provided, comprising: at least one processor and a communication interface, wherein the at least one processor is configured to obtain a computer program or instructions stored in a memory via the communication interface to execute the method provided in any of the foregoing aspects or their implementations. The communication interface may be implemented in hardware or software.

[0046] In one implementation, the device further includes the memory.

[0047] Sixthly, a processor is provided for executing the methods provided in the above aspects.

[0048] Unless otherwise specified, or if it does not contradict its actual function or internal logic in the relevant description, the transmission and acquisition / reception operations involved in the processor can be understood as processor output and reception, input and other operations, or as transmission and reception operations performed by radio frequency circuits and antennas. This application does not limit them in this regard.

[0049] In a seventh aspect, a computer-readable storage medium is provided that stores program code for execution by a device, the program code including methods for performing any of the foregoing aspects or their implementations.

[0050] Eighthly, a computer program product containing instructions is provided, which, when run on a computer, causes the computer to perform the method provided in any of the foregoing aspects or their implementations.

[0051] Ninthly, a chip is provided, comprising a processor and a communication interface. The processor reads instructions stored in a memory through the communication interface and executes the methods provided in any of the above aspects or their implementations. The communication interface can be implemented in hardware or software.

[0052] Optionally, as one implementation, the chip also includes a memory that stores computer programs or instructions. The processor is used to execute the computer programs or instructions stored in the memory. When the computer programs or instructions are executed, the processor is used to perform the methods provided by any of the above aspects or their implementations.

[0053] When the method provided in this application is executed by a chip, this application does not limit the specific number of chips implementing the method. For example, it can be executed by one chip, or by two or more chips. Furthermore, when the number of chips implementing the method is two or more, the chip manufacturers are not limited; they can be from the same manufacturer or different manufacturers.

[0054] In a tenth aspect, a computer program is provided that, when run on a computer, causes the methods provided by any of the foregoing aspects or their implementations to be executed.

[0055] Eleventhly, a communication system is provided, including at least one of the transmitting end device or receiving end device described above. Attached Figure Description

[0056] Figure 1 is a schematic diagram of a network architecture to which embodiments of this application can be applied.

[0057] Figure 2 is a schematic diagram of the parity check matrix H of an LDPC.

[0058] Figure 3 shows the Tanner plot of the parity-check matrix H of an LDPC.

[0059] Figure 4 is a schematic diagram of the structure of the parity check matrix.

[0060] Figure 5 is a schematic diagram of the information transmission process.

[0061] Figure 6 is a schematic flowchart of a communication method 600 provided in this application.

[0062] Figure 7 is a schematic diagram of the coding structure corresponding to part B under different scales.

[0063] Figure 8 is a schematic diagram of the first zone under different division methods.

[0064] Figure 9 is a schematic diagram of traditional extension and split extension.

[0065] Figure 10 is a schematic block diagram of a communication device 1000 provided in an embodiment of this application.

[0066] Figure 11 is a schematic block diagram of the communication device 1100 provided in an embodiment of this application. Detailed Implementation

[0067] To facilitate understanding of the embodiments of this application, the following points will be explained before introducing the embodiments of this application.

[0068] The terms "for indicating" or "instruction" can include both direct and indirect indication, or they can be explicit and / or implicit. The various numerical designations such as "first," "second," etc., are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application, such as distinguishing different messages or different information. "Predefined" can be implemented by pre-storing corresponding codes, tables, or other methods that can be used to indicate relevant information in the device; this application does not limit the specific implementation method. The "protocol" involved can refer to standard protocols in the field of communication, such as the Long Term Evolution (LTE) protocol, the New Radio (NR) protocol, and related protocols applied to future communication systems; this application does not limit this. The words "exemplary," "for example," "exemplary," "as another example," etc., are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as an "example" in this application should not be construed as being more preferred or advantageous than other embodiments or designs. The terms "comprising," "including," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized. "At least one" means one or more, while "more" means two or more. "At most one" means one or zero. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, and c can mean: a, or, b, or, c, or, a and b, or, a and c, or, b and c, or, a, b, and c. Here, a, b, and c can be single or multiple. Descriptions relating to network element A sending messages, information, or data to network element B, and network element B receiving messages, information, or data from network element A, aim to specify which network element the message, information, or data is intended for, without specifying whether the transmission is direct or indirect via other network elements. Descriptions such as "when," "under the circumstances," "if," and "if" indicate that the device will take corresponding action under certain objective conditions, not that there is a time limit, nor do they require the device to perform a judgment action during implementation, nor do they imply any other limitations.

[0069] Furthermore, the network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0070] The following describes a communication system to which embodiments of this application can be applied.

[0071] The embodiments of this application can be applied to various communication systems, including but not limited to: 5th generation (5G) systems, LTE systems, Long Term Evolution-Advanced (LTE-A) systems, LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, etc. They can also be applied to future communication systems, such as 6th generation mobile communication systems. Furthermore, they can be applied to device-to-device (D2D) communication, vehicle-to-everything (V2X) communication, machine-to-machine (M2M) communication, machine-type communication (MTC), Internet of Things (IoT) communication systems, narrowband Internet of Things (NB-IoT) systems, or other communication systems. Furthermore, it can be extended to similar wireless communication systems, such as Wireless-Fidelity (WiFi), Worldwide Interoperability for Microwave Access (WIMAX), and communication systems related to the 3rd Generation Partnership Project (3GPP), without limitation.

[0072] The communication system applicable to embodiments of this application may include one or more transmitting devices and one or more receiving devices. Optionally, one of the transmitting device and the receiving device may be a terminal device, and the other may be a network device. Optionally, both the transmitting device and the receiving device may be terminal devices. Optionally, both the transmitting device and the receiving device may be network devices.

[0073] Figure 1 is a schematic diagram of a network architecture applicable to an embodiment of this application. As shown in Figure 1, the embodiments of this application can be applied to both uplink and downlink data transmission. Figure 1 only uses uplink or downlink data transmission between one network device and two terminal devices (such as terminal device 1 and terminal device 2) as an example. In uplink data transmission, the sending device is the terminal device and the receiving device is the network device; conversely, in downlink data transmission, the sending device is the network device and the receiving device is the terminal device. Furthermore, the applicability of the embodiments of this application in other communication scenarios is not limited; for example, they can also be applied to sidelink communication.

[0074] The terminal equipment in this application can also be referred to as user equipment (UE), access terminal, user unit, user station, mobile station, mobile station, mobile terminal (MT), remote station, remote terminal, mobile device, user terminal, terminal, drone, wireless communication equipment, user agent, or user device, etc. The terminal equipment in the embodiments of this application can be a device that provides voice and / or data connectivity to a user, and can be used to connect people, objects, and machines, such as handheld devices with wireless connectivity, vehicle-mounted devices, etc. The terminal devices in the embodiments of this application may be mobile phones, tablets, laptops, handheld computers, mobile internet devices (MIDs), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, etc.

[0075] The network equipment in this application can be a device with wireless transceiver capabilities, which can be a device that provides wireless communication services. It is usually located on the network side, including but not limited to next-generation base stations (gNodeB, gNB) in 5G systems, base stations in sixth-generation mobile communication systems, base stations in future mobile communication systems, or access nodes in wireless fidelity (WiFi) systems, evolved node B (eNB), radio network controller (RNC), node B (NB), base station controller (BSC), home base station (e.g., home evolved NodeB or home Node B, HNB), base band unit (BBU), transmission reception point (TRP), transmitting point (TP), base transceiver station (BTS), satellites, drones, etc. in long term evolution (LTE) systems. In a network architecture, network equipment may include centralized unit (CU) nodes, distributed unit (DU) nodes, RAN equipment including CU and DU nodes, RAN equipment including control plane CU nodes, user plane CU nodes, and DU nodes, or, in a cloud radio access network (CRAN) scenario, radio controllers, relay stations, vehicle-mounted equipment, and wearable devices. Furthermore, a base station may be a macro base station, micro base station, relay node, donor node, or a combination thereof. A base station may also refer to a communication module, modem, or chip installed within the aforementioned equipment or apparatus. A base station may also be a mobile switching center and equipment performing base station functions in D2D, V2X, and M2M communications, network-side equipment in 6G networks, and equipment performing base station functions in future communication systems. A base station can support networks with the same or different access technologies, without limitation.

[0076] Unless otherwise specified, the means for implementing the functions of a terminal device or network device in this application can refer to the terminal device or network device itself, or it can refer to a means that enables the terminal device or network device to implement the functions, such as a chip system or chip, specifically a system-on-a-chip (SoC) or a modem. This means can be installed in the terminal device or network device. In the embodiments of this application, the chip system can be composed of chips, or it can include chips and other discrete devices.

[0077] It should also be noted that some embodiments in this article use a 5G system as an example to illustrate specific solution details. It is understood that when this solution is used in other communication systems, such as LTE systems or future communication systems, the messages, channels, or information in the solution can be replaced with messages, channels, or information in other communication systems that can achieve the corresponding functions, and this application does not limit this.

[0078] Furthermore, the embodiments of this application can be applied to various application scenarios, such as high-throughput scenarios, high-reliability scenarios, low-latency scenarios, high-reliability low-latency scenarios, or low-power scenarios. Among them, high-throughput scenarios can be, for example, enhanced mobile broadband (eMBB) scenarios, high-reliability low-latency scenarios can be, for example, URLLC (ultra-reliable low-latency communication) scenarios, and low-power scenarios can be, for example, M2M scenarios, MTC scenarios, or IoT scenarios.

[0079] To facilitate understanding of the embodiments of this application, several concepts or terms involved in the embodiments of this application are briefly described. The concepts or terms described below are based on the concepts or terms specified in the agreement, but do not mean that the embodiments of this application can only be applied to existing systems. The concepts or terms involved in the embodiments of this application can be applied to future systems. Furthermore, the specific names of the concepts or terms (e.g., concepts or terms involving functional descriptions) can be adjusted as the system develops in the future.

[0080] 1. LDPC code

[0081] LDPC codes are a type of linear block code. Linear block codes divide the information sequence to be encoded into groups of q bits each. The encoder then performs linear operations on these q information bits to obtain m parity bits. These q information bits are then combined with the m parity bits to obtain a codeword of length n = q + m. The mapping from q information bits to an n-bit codeword is typically represented by a parity check matrix H. Based on the parity check matrix H, a codeword sequence can be generated to complete the encoding process. After the codeword sequence is transmitted through the channel, the receiving equipment decodes the received signal to determine the original information bits.

[0082] The parity-check matrix H of an LDPC is a sparse matrix. The number of zero elements in the parity-check matrix H is far greater than the number of non-zero elements; in other words, the row weight (or column weight) of the parity-check matrix is ​​far less than the number of elements in each row (or column) of the LDPC matrix. Specifically, an LDPC code with an information bit sequence length of q and a code length of n can be uniquely determined by its parity-check matrix H.

[0083] In 1981, Tanner represented the parity-check matrix H graphically, and this type of graph is now called a Tanner graph. There is a one-to-one correspondence between the Tanner graph and the parity-check matrix. A Tanner graph consists of two types of vertices: one type represents codeword bits and is called variable nodes, and the other type consists of parity nodes, representing parity constraints. Each parity node represents a parity constraint, which will be explained below with reference to Figures 2 and 3.

[0084] Figure 2 is a schematic diagram of the parity check matrix H of an LDPC.

[0085] In Figure 2, {V i} represents the set of variable nodes (VN), {C i} represents the set of check nodes (CNs). Each row of the check matrix H represents a check equation, and each check equation corresponds to a check node. Each column represents a codeword bit, and each codeword bit corresponds to a variable node. In Figure 2, there are 8 variable nodes and 4 check nodes. If a codeword bit is included in the corresponding check equation, a line is used to connect the involved variable nodes and check nodes to obtain the Tanner graph.

[0086] Figure 3 is a Tanner plot of the parity-check matrix H of an LDPC.

[0087] As shown in Figure 3, the Tanner graph represents the parity-check matrix of the LDPC. For example, for a parity-check matrix H of size m rows and n columns, the Tanner graph contains two types of nodes: n variable nodes and m parity nodes. The n variable nodes correspond to the n columns of the parity-check matrix H, and the m parity nodes correspond to the m rows of the parity-check matrix H. A cycle in the Tanner graph consists of interconnected vertices. The cycle starts and ends at one vertex in this group of vertices and passes through each node only once. The length of a cycle is defined as the number of edges it contains, and the perimeter of the graph, also known as the graph's circumference, is defined as the minimum cycle length in the graph. In Figure 3, the perimeter is 4, as shown by the bolded lines. The variable nodes in the Tanner graph correspond to each column of the parity-check matrix H, which is equivalent to each codeword bit in the LDPC. The parity nodes in the Tanner graph correspond to each row of the parity-check matrix H, which is equivalent to the parity bits in the LDPC. The connections between the two types of nodes correspond to the values ​​of the elements in the H matrix. If there is a connection between the i-th check node and the j-th variable node, then the element (i, j) in the H matrix has a value of 1; if there is no connection, the corresponding element is 0. The connection between a variable node and a check node can also be called an edge. A connection between a check node and a variable node can also be described as: there is a connection or an edge between the check node and the variable node. The edge relationship between a check node and a variable node can include either the presence of an edge or the absence of an edge. Furthermore, in a Tanner graph, a cycle is a closed loop formed by connecting variable nodes, check nodes, and edges end-to-end.

[0088] 2. QC-LDPC code

[0089] QC-LDPC codes are a type of structured LDPC codes. Due to the unique structure of their parity-check matrix, encoding can be implemented using a simple feedback shift register, reducing the encoding complexity of LDPC codes. In practice, QC-LDPC codes are represented using a base graph (BG), where elements are either 0 or 1. Expanding the 1s and 0s in the BG yields a parity-check matrix H, which can be used for encoding or decoding. In the embodiments of this application, the BG can be written in matrix form, which can be referred to as the base matrix H in this application. BG Basis matrix H BGAn element of 0 indicates that there are no edges in the base graph, while a value of 1 indicates that there are edges in the base graph (or that the corresponding check is associated with the corresponding variable). NR LDPC codes involve multiple base graph selection. Currently, the 5G communication protocol standard describes two base graphs: BG1 and BG2. It can be understood that the BG1 (or BG2) described below refers to the 5G BG1 (or BG2), or the NR BG1 (or BG2). BG2 is used when the information length is less than or equal to 292, or the information length is less than or equal to 3824 and the code rate is less than or equal to 2 / 3, or the code rate is less than or equal to 0.25; otherwise, BG1 is used. The expansion process of the base matrix is ​​described below.

[0090] Based on the basis matrix and the boosting value Z c (Lifting size) allows the basis matrix to be expanded into a complete parity-check matrix for encoding or decoding. In this application, Z... c It can also be called the expansion factor, lifting factor, expansion value, expansion coefficient, lifting size, etc. The expansion process involves lifting all elements in the basis matrix to a Z-shape. c ×Z c A square matrix, in which 0 is promoted to Z. c ×Z c The zero matrix is ​​promoted to an identity matrix, and then cyclically shifted based on the shifting value (SV) corresponding to the 1. This cyclic shift can be to the left or right, which is not limited in this application. It can be understood that each 1 in the base matrix corresponds to a shifting value. Taking a 4*4 identity matrix as an example, if the shifting values ​​are 0, 1, and 3, the cyclically shifted matrix after shifting to the right is as follows:

[0091] (1) When the translation value is 0 (i.e., remains unchanged), the corresponding cyclically shifted matrix is:

[0092] (2) When the translation value is 1, the corresponding cyclically shifted matrix is:

[0093] (3) When the translation value is 3, the corresponding cyclically shifted matrix is:

[0094] Alternatively, it can be understood that the complete parity check matrix H can be derived from an exponential matrix H. b H indicates b Each element in the array corresponds to a Z. c ×Z c The submatrix is ​​represented by an exponential matrix H, where each element indicates the number of times the corresponding submatrix has been cyclically shifted by the identity matrix. This significantly reduces the storage space required for the complete parity check matrix H. b The elements in it can also be called QC blocks.

[0095] For example, the exponent matrix H of the QC-LDPC code b As shown below:

[0096] It can be seen that the exponent matrix H b The size is 4 rows and 24 columns, and the exponent matrix H b Each element i in the array represents a Z. c Square matrix of order Let represent a cyclic shift matrix, where i represents the cyclic shift value of the cyclic shift matrix, and i is an integer. Additionally, the exponent matrix H... b In this context, "-1" represents a zero matrix and "0" represents the identity matrix.

[0097] For example, As shown below:

[0098] Optional, exponent matrix H b In addition to "-1", zero elements in the matrix can also be represented in other ways, such as using "-" or null values ​​to represent a matrix of all zeros.

[0099] It is understandable that the above exponent matrix H b The matrix corresponding to the positions greater than or equal to 0 that are changed to 1 and the positions of -1 that are changed to 0 is the base matrix. The 1s in the base matrix are then expanded into a cyclic shift matrix based on the corresponding elements of the exponent matrix, and the 0s are expanded into a 0 matrix of the corresponding size. After expansion, the parity check matrix is ​​obtained.

[0100] 3. Increase value Z c (Lifting Size) and (Shifting Value)

[0101] The storage content of the 5G LDPC code regarding shifting values ​​includes: (1) a list of lifting sizes; and (2) a list of shifting values ​​that correspond one-to-one with the rows of the lifting size list.

[0102] For example, the list of Lifting Sizes is shown in Table 1.

[0103] Table 1

[0104] The j-th row of the Lifting Size list includes Where a j ∈{2,3,5,7,9,11,13,15} max (k j)∈{7,7,6,5,5,5,4,4}; The row index of Lifting Size corresponds one-to-one with the column index of Shifting Value, that is, the lifting size in each row of the Lifting Size list corresponds to a set of Shifting Values.

[0105] For example, the list of Shifting Values ​​is shown in Table 2.

[0106] Table 2

[0107] For a fixed lift index, a non-zero position in the base matrix corresponds to one translation value. For example, H... BG The shift value corresponding to row 0, column 0 when the promotion index is 0 is 211, H BG The shift value corresponding to the 6th column of the 1st row in the middle when the lifting index is 3 is 66, H BG The shift value corresponding to the second row and ninth column of the middle column when the lifting value index is 7 is 206.

[0108] It's understandable that LDPC encoding requires first determining the lift value, and then constructing a parity check matrix based on the corresponding shift value. For example, if the determined lift value is 40, and the lift value index corresponding to 40 in Table 1 is 2, then the parity check matrix can be constructed based on the shift value in the column corresponding to lift value index = 2 in Table 2.

[0109] 4. Column weight and row weight

[0110] For a column of a matrix, column weight refers to the number of non-zero elements contained in that column. For a row of a matrix, row weight refers to the number of non-zero elements contained in that row.

[0111] 5. Structure of the parity-check matrix and the basis matrix

[0112] Figure 4 is a schematic diagram of the structure of the parity check matrix.

[0113] As shown in Figure 4(a), the parity check matrix can include a high-rate region, an all-zero region, an incremental redundancy region, and a raptor-like region. The high-rate region can include parts A and B as shown in Figure 4(b). Part A corresponds to information bits (or information digits, system bits, etc.), and part B is a square matrix corresponding to the core parity bits (or core parity digits). The core parity can be the parity corresponding to the highest bit rate, or it can be a parity with a degree greater than or equal to 2, or it can be the parity node corresponding to the row set with the largest row weight (row weight significantly higher than other rows). The all-zero region can correspond to part C in Figure 4(b) and is an all-zero matrix. The incremental redundancy region can correspond to part D in Figure 4(b). The raptor-like region can correspond to part E in Figure 4(b) and can be an identity matrix corresponding to the parity bits of the low-rate extension.

[0114] The parity-check matrix of the LDPC code shown in Figure 4 adopts a "raptor-like" structure, which can be gradually extended to low code rates from a high code rate core matrix. In actual use, as shown in Figure 4(a), the first X rows and the first Y columns of the parity-check matrix can be extracted. As the code rate decreases, X and Y gradually increase, and the area of ​​the matrix used also gradually expands.

[0115] It should be noted that the parity check matrix can be obtained by extending the LDPC basis matrix. Therefore, the structure of the LDPC basis matrix is ​​similar to that of the parity check matrix, and will not be described in detail here.

[0116] 6. Information column and validation column

[0117] The columns of the LDPC base matrix consist of information columns and check columns.

[0118] Information column: Corresponding to information bits (or information bits, system bits, etc.), it is the column corresponding to part A.

[0119] Check columns: Corresponding to check bits (or check digits, etc.), these are the columns corresponding to parts B and C, and can include core check columns and extended check columns. The core check columns are those corresponding to part B, while the extended check columns are those corresponding to parts C or E. Extended check columns can also be called raptor-like columns. Alternatively, the core check columns are the check columns in part B with a column weight greater than 1 (part B has 1 elements both above and below its diagonal), and the extended check columns are the remaining check columns excluding the core check columns.

[0120] 7. Core rows, core columns, and core matrix

[0121] Core rows: The core rows of the LDPC base matrix correspond to the core parity bits. In other words, the core rows are the rows corresponding to high bitrate regions, or the rows corresponding to parts A, B, or C.

[0122] Core columns: These can include all information columns and all core check columns. In other words, core columns are the columns corresponding to high bitrate areas, or the columns corresponding to part A plus part B.

[0123] The kernel matrix is ​​a matrix region consisting of all the kernel rows and columns of the LDPC base matrix. In other words, the kernel matrix is ​​the high-rate region of the LDPC base matrix, or the part consisting of part A and part B.

[0124] 8. Message length, code length, and code rate

[0125] The information length is the length of the bit sequence of information to be sent (i.e., the number of bits contained therein). This length can be the length of the payload information bits, or the length of the payload information bits after adding cyclic redundancy check (CRC) bits. This application does not impose any specific restrictions.

[0126] Code length refers to the length of the bit sequence to be transmitted, which can be the transmitted bit sequence corresponding to the modulated symbol.

[0127] Code rate refers to the ratio of the length of the bit sequence of information to be transmitted to the code length.

[0128] Optionally, the above three values ​​can be pre-configured by higher-layer signaling, medium access control (MAC) layer, or downlink physical layer signals, or they can be directly obtained and calculated by the transceiver. For example, the code length can be determined by the frame structure, number of layers, and modulation scheme of the encoded and transmitted information bit sequence; the code rate can be indicated in the above manner or given in the modulation and coding scheme (MCS).

[0129] 9. Information Transmission Process

[0130] Figure 5 is a schematic diagram of the information transmission process applicable to this application. As shown in Figure 5, information is sent from the source, undergoes source coding, channel coding, modulation, air interface transmission, demodulation, channel decoding, and source recovery, and finally reaches the destination, completing the transmission of information from the source to the destination. The processing shown in the upper layer of Figure 5 (including source coding, channel coding, and modulation) is performed at the transmitting end device, while the processing shown in the lower layer (including demodulation, channel decoding, and source recovery) is performed at the receiving end device. The embodiments of this application mainly involve the source coding, channel coding, channel decoding, and source recovery shown in Figure 5.

[0131] As described in the background section, global updates cannot be applied to the global scope of the basis matrix, thus failing to guarantee the performance of LDPC codes. In view of this, this application proposes a communication method that effectively solves the aforementioned technical problems. The method proposed in this application is described in detail below.

[0132] Figure 6 is a schematic flowchart of a communication method 600 provided in this application. The method includes the following steps.

[0133] It is understood that method 600 can be executed by both the sending device and the receiving device. Unless otherwise specified, "sending device" or "receiving device" can refer to the sending device or receiving device itself, or it can refer to a device that enables the sending device or receiving device to implement this function. For ease of description, the following text will use "sending device" and "receiving device" to describe it. Among them, the sending device can be a terminal device or a network device, and the receiving device can be a terminal device or a network device.

[0134] S610, the transmitting device obtains the information bit sequence.

[0135] It is understandable that if the sending device needs to communicate with the receiving device, that is, if the sending device needs to send a signal to the receiving device, then the sending device needs to first obtain the information bit sequence corresponding to the signal to be sent to the receiving device.

[0136] The process of the transmitting device acquiring the information bit sequence can refer to: the transmitting device performing source encoding on the source symbols to generate the information bit sequence; or, the transmitting device acquiring the information bit sequence can also refer to: the transmitting device receiving the information bit sequence from other communication devices. This application does not limit the method of acquiring the information bit sequence.

[0137] S620, the transmitting device determines the LDPC check matrix.

[0138] The LDPC parity-check matrix is ​​determined based on the LDPC base matrix (hereinafter referred to as the base matrix). The base matrix includes at least two regions, and any two regions do not overlap with each other, and the translation values ​​corresponding to any two regions are determined in different ways.

[0139] It can be understood that only 1 elements in the basis matrix have translation values, while 0 elements do not. Therefore, the way to determine the translation value of a region in the basis matrix can also be understood as the way to determine the translation value of the 1 element in that region.

[0140] Optionally, the union of at least two regions is all regions of the basis matrix. For example, the basis matrix consists of a first region and a second region, meaning that each element in the basis matrix either lies in the first region or belongs to the second region.

[0141] Optionally, the union of at least two regions is a partial region of the basis matrix. For example, according to the region division in Figure 4(b), by default, the translation values ​​of part E are all 0, and part C has no 1 elements, so there are no translation values. Then, the at least two regions included in the basis matrix can be understood as the regions corresponding to the division of parts A, B, and D of the basis matrix.

[0142] The method of dividing at least two regions in the basis matrix will be described in detail later, and will not be elaborated here.

[0143] The following describes some possible ways to determine the translation values. For example, the translation values ​​of any region in at least two regions of the basis matrix can be obtained using one of the following methods, but the translation values ​​of any two regions can be determined in different ways.

[0144] Method 1: SV i,j =P i,j , or SV i,j =P i,j +w, or SV i,j =mod(P i,j ,Zc), or SV i,j =mod(P i,j +w,Zc).

[0145] Here, mod represents the modulo operator, mod(a, b) = a mod b = c, indicating that the remainder when a is divided by b is c.

[0146] Method 2: SV i,j =P i,j *Zc / Z max , or SV i,j =P i,j *Zc / Z max +w, or SV i,j equals (P)i,j *Zc / Z max Round up, or SV i,j equals (P) i,j *Zc / Z max Round down, or SV i,j equals (P) i,j *Zc / Z max Round up and add w, or SV i,j equals (P) i,j *Zc / Z max Round down and add w, or SV i,j equals (P) i,j *Zc / Z max +w) rounds up, or SV i,j equals (P) i,j *Zc / Z max +w) rounds down to the nearest integer.

[0147] Method 3: SV i,j equals (mod(P)) i,j +w,Zc))*Zc / Z max Round up, or SV i,j equals (mod(P)) i,j +w,Zc))*Zc / Z max Round down, or SV i,j equals (mod(P)) i,j +w,Zc))*Zc / Z max Round up and add w, or SV i,j equals (mod(P)) i,j +w,Zc))*Zc / Z max Round down and add w, or SV i,j equals ((mod(P)) i,j +w,Zc))*Zc / Z max +w) rounds up, or SV i,j equals ((mod(P)) i,j +w,Zc))*Zc / Z max +w) rounds down to the nearest integer.

[0148] Method 4: SV i,j =mod(P i,j +w,2 s ), of which 2 s S is the maximum value not greater than Zc, and S is a positive integer.

[0149] In methods one through four above, SV i,j P is the 1-element in row i and column j of the basis matrix. i,jLet w be the predefined translation value corresponding to the 1 element in row i and column j of the base matrix, and let Zc be the lift value corresponding to the base matrix. max The largest boost value in the predefined boost value set containing Zc.

[0150] For example, the lift value Zc corresponding to the base matrix is ​​determined based on the target code length, code rate, and communication scenario. For example, the second shift value of the base matrix can be determined based on the lift value Zc. The process for determining the lift value Zc and the second shift value of the base matrix is ​​described in terms of terms explained in sections 2 and 3 above, and will not be repeated here.

[0151] For example, all rows and all columns of the base matrix correspond to the same preset fixed value w.

[0152] For example, each row of the basis matrix corresponds to a different preset fixed value w, and each column of the basis matrix corresponds to a different preset fixed value w.

[0153] It's understandable, P i,j It is determined based on Zc. For example, after determining Zc, the lifting index corresponding to Zc is determined based on Table 1. Based on this lifting index and Table 2, a set of translation values ​​is determined, where the translation value corresponding to the element 1 in row i and column j in the determined set of translation values ​​is P. i,j .

[0154] Method 5: Determine the translation value determination method of region #1 in at least two regions based on at least one sequence, wherein the at least one sequence corresponds to the row and / or column of region #1, that is, each row / column corresponds to an element in the sequence.

[0155] In one possible implementation, the shift value of each 1 element in region #1 is determined based on two sequences. All elements of the first sequence correspond one-to-one with all rows of the basis matrix, and all elements of the second sequence correspond one-to-one with all columns of the basis matrix. SV i,j It is determined based on the element R(i) corresponding to row i in the first sequence R and the element C(j) corresponding to column j in the second sequence C.

[0156] For example, the correspondence between the first sequence and the rows, and the correspondence between the second sequence and the columns, is a sequential correspondence, that is, the i-th element in the first sequence corresponds to the i-th row of the base matrix, and the i-th element in the second sequence corresponds to the i-th column of the base matrix.

[0157] Example, SV i,j It is determined based on elements R(i), C(j), Zc, and the relevant parameters of Zc (e.g., the largest prime number that can divide Zc). For example, SV i,j=mod(R(i)*C(j),Zc).

[0158] For example, the elements in the first and second sequences are elements in the q-element field, and q ≥ 2. For instance, if q = 11, then the first and second sequences can take integers from 0 to 10, or they can take integers from 1 to 11.

[0159] For example, q can be a prime number corresponding to the row number or column number of region #1; or, q can be a prime number that can be obtained by Z. max The largest prime number divisible by Z max Let q be the largest lift value in the predefined lift value set containing Zc; or, q can be a prime number that is divisible by lift values ​​in all lift value sets.

[0160] In another possible implementation, the shift value of each 1 element in region #1 is determined based on a sequence that corresponds to both the rows and columns of the base matrix. For example, the number of all elements in this sequence is equal to the largest value in both the number of rows and columns of the base matrix.

[0161] Optionally, each region can correspond to multiple translation value determination methods. The specific translation value determination method used can be determined based on segmentation of Zc. For example, if divided into 2 segments, translation value determination method x is used when Zc ≤ Zc1, otherwise translation value determination method y is used. For example, if divided into 3 segments, translation value determination method x is used when Zc is less than or equal to Zc1, translation value determination method y is used when Zc is greater than Zc1 and less than or equal to Zc2, and translation value determination method z is used when Zc is greater than Zc2. For example, the number of segments can also be an integer greater than 3, which will not be elaborated here. For example, the segmentation method corresponding to each lifting value set (i.e., the translation value set corresponding to the same index) in Table 1 is the same.

[0162] The partitioning of the basis matrix into at least two regions is described in detail below. Several specific implementation methods for region partitioning are given below.

[0163] Before introducing the specific implementation method, we first describe the row and column characteristics of the basis matrix. The basis matrix has a total of X rows and Y columns. The regions formed by some rows and some columns of the basis matrix have the following characteristics: the matrix corresponding to the region formed by the x1+1 to X rows and the y2+1 to Y columns of the basis matrix is ​​the identity matrix (i.e., the E part of the corresponding basis matrix); the matrix corresponding to the region formed by the 1 to x1 rows and the y2+1 to Y columns of the basis matrix is ​​the matrix of all zeros (i.e., the C part of the corresponding basis matrix); and the matrix corresponding to the region formed by the 1 to x1 rows and the y1+1 to y2 columns of the basis matrix is ​​the square matrix (i.e., the B part of the corresponding basis matrix). Where 1 < x1 < X, 1 < y1 < y2 < Y, and x1, X, y1, y2, and Y are all integers.

[0164] For example, rows 1 to x1 of the base matrix can be called core rows, columns 1 to y1+1 of the base matrix can be called information columns, columns y1+1 to y2 of the base matrix can be called core check columns, columns 1 to y2 of the base matrix can be called core columns, and columns y2+1 to Y can be called extended check columns. The following describes specific implementation methods for possible region division based on the above row and column characteristics.

[0165] Implementation Method 1: The region partitioning result of this implementation method is related to the five parts of the base matrix (i.e., parts A to D). However, it is understandable that this implementation method does not require first partitioning into five parts; the region partitioning can be performed directly based on the rows and columns of the base matrix. The following example illustrates this using at least two regions of the base matrix, including the first and second regions.

[0166] Example 1: The first region is the area consisting of rows 1 to x1 and columns y1+1 to y2 of the base matrix (i.e., part B of the corresponding base matrix). The second region is the area consisting of rows 1 to x1 and columns 1 to y1 of the base matrix, and rows x1+1 to x and columns 1 to y2 of the base matrix (i.e., part A + part D of the corresponding base matrix). Alternatively, the second region can be any remaining region in the base matrix excluding the first region. More specifically, the first region is determined using translation value method two, and the second region is determined using translation value method one.

[0167] The advantage of this example is that part B can use a translation value determination method that optimizes the trap set in this region, while other regions outside part B can use a translation value determination method that better optimizes the loop property, thus taking into account optimization in both aspects.

[0168] Example 2: The first region is the region consisting of rows 1 to x1 and columns 1 to y1 of the base matrix and the region consisting of rows 1 to x1 and columns y1+1 to y2 of the base matrix (i.e., the A part + B part of the base matrix). The second region is the region consisting of rows x1+1 to x and columns 1 to y2 of the base matrix (i.e., the D part of the base matrix), or the second region is all the remaining regions in the base matrix except for the first region.

[0169] The advantage of this example is that the first region uses translation value determination method two, and the second region uses translation value determination method one. This allows for priority support of high bitrate regions (part A + part B) before supporting low bitrate regions, resulting in more stable performance for flexible bitrates.

[0170] Example 3: The first region is a portion of the region consisting of rows 1 to x1 and columns 1 to y1 of the base matrix, the region consisting of rows 1 to x1 and columns y1+1 to y2 of the base matrix, and the region consisting of rows x1+1 to X and columns 1 to y2 of the base matrix (i.e., the A part + B part + part D part of the base matrix). The second region is the remaining region in the region consisting of rows x1+1 to X and columns 1 to y2 of the base matrix excluding the region occupied by the first region (i.e., the remaining region in part D of the base matrix excluding the region occupied by the first region), or the second region is all the remaining regions in the base matrix excluding the first region.

[0171] The advantage of this example is that the first region uses translation value determination method two, and the second region uses translation value determination method one, which allows for more detailed division of the bitrate and can support communication scenarios with a very high degree of flexibility in bitrate, while maintaining stable performance.

[0172] Implementation Method Two: The region partitioning result of this method is related to the column types of the base matrix. For example, the partitioning result is related to the information columns and check columns (or core check columns) of the base matrix. However, it is understandable that this implementation method does not require prior column definition; region partitioning can be performed directly based on the rows and columns of the base matrix. The following example illustrates this using at least two regions of the base matrix, including the first and second regions.

[0173] Example 1: The first region is the region consisting of all rows of the base matrix and at least one column from column y1+1 to y2 (i.e., the core check column). The second region is the region remaining in the region consisting of all rows of the base matrix and column 1 to y2 of the base matrix, excluding the region occupied by the first region. Alternatively, the second region is all regions remaining in the base matrix excluding the first region.

[0174] Optionally, the first region is determined using translation value method two, and the second region is determined using translation value method one.

[0175] Optionally, at least one column from column y1+1 to y2 is all columns from column y1+1 to y2.

[0176] Optionally, at least one of the columns from y1+1 to y2 includes the first column, which satisfies the first condition: the column weight of the first column in the region formed by rows 1 to x1 and columns y1+1 to y2 of the base matrix (i.e., part B of the base matrix) is an odd number greater than 1. It is important to emphasize that an odd number of column weights greater than 1 here means that the number of 1s in the elements of the first column located in part B is an odd number greater than 1.

[0177] It is understandable that the encoding structure of part B of the base matrix in the current 5G standard is a double diagonal structure. Figure 7 is a schematic diagram of the encoding structure corresponding to part B at different scales. As shown in Figure 7, any box in the figure represents the size of the matrix corresponding to part B of the base matrix. 0 and 1 in each box represent translation values. Since 1 elements of the base matrix have translation values ​​and 0 elements do not, the element corresponding to the position with a translation value in each box is a 1 element, and the element corresponding to the position without a translation value in the figure is a 0 element. The column degree distribution in part B is that there is one triple column (i.e., the first column in each box), and the rest are double columns (i.e., the remaining columns in each box). Among them, the two translation values ​​of the double column are the same (both are 0 as shown in Figure 7), and two of the three translation values ​​of the triple column are the same (two of the three translation values ​​of the triple column are 1, and the other translation value is 0 as shown in Figure 7). The special properties of the translation values ​​ensure that they can be encoded in a simple way. It can be understood that the first column above is a triple column of part B (that is, the first column in part B, corresponding to the y1+1th column of the basis matrix).

[0178] Optionally, the B part of the basis matrix in this application can be obtained using the second method of determining translation values ​​(the translation value characteristics of the IRA itself can be classified as the first method of determining translation values).

[0179] Optionally, in this application, the first region is the region composed of the triple columns of part B and all rows of the basis matrix, and the remaining region in the basis matrix excluding the first region is the second region. The first region is determined using translation value determination method two, and the second region is determined using translation value determination method one. Further, the first region is the region composed of all columns corresponding to part B and all rows of the basis matrix, and the remaining region in the basis matrix excluding the first region is the second region. The first region is determined using translation value determination method two, and the second region is determined using translation value determination method one.

[0180] Example 2: The first region is the region consisting of at least one column from the first to the x1st rows (i.e., core rows) and the y1+1st to the y2th columns (i.e., core check columns) of the base matrix. The second region is the region remaining in the base matrix excluding the region occupied by the first region, which is the region consisting of all rows of the base matrix and the region consisting of the first to the y2th columns of the base matrix. Alternatively, the second region is all the regions remaining in the base matrix excluding the first region.

[0181] Optionally, the first region is determined using translation value method two, and the second region is determined using translation value method one.

[0182] For a specific example of at least one column from y1+1 to y2, please refer to the description in Example 1, which will not be repeated here.

[0183] It is understandable that the difference between Example 2 and Example 1 lies in the fact that the region partitioning result is not only related to the column type of the base matrix, but also to the five parts of the base matrix, specifically to part B. In other words, the first region in Example 1 includes all elements in the base matrix of a certain column of the core check column, while the first region in Example 2 only includes all elements in part B of a certain column of columns y1+1 to y2 (i.e., the core check column). Taking Figure 8 as an example, if at least one column of columns y1+1 to y2 is all columns of columns y1+1 to y2, based on Example 1, the first region is the region composed of rows 1 to X and columns y1+1 to y2, specifically the region filled in Figure 8(a). Based on Example 2, the first region is the region composed of rows 1 to x1 and columns y1+1 to y2, specifically the region filled in Figure 8(b).

[0184] The advantage of Examples 1 and 2 is that the first region uses translation value determination method 2, while the second region uses translation value determination method 1. This maintains simple hardware encoding while ensuring the absence of small trap sets, resulting in better performance in terms of error floors. Specifically, Example 1 has better characteristics regarding low-to-medium bitrate trap sets, while Example 2 offers greater design flexibility for the second region, simplifying translation value design and implementation.

[0185] Implementation Method 3: The region partitioning result of this method is related to the rows of the base matrix. For example, the partitioning result is related to the core rows of the base matrix. However, it is understandable that this method does not require defining the rows in advance; the region partitioning can be performed directly based on the rows and columns of the base matrix. The following example illustrates this using at least two regions of the base matrix, including the first region and the second region.

[0186] Example 1: The first region is the region consisting of at least one row from the first to the x1st row (i.e., the core row) and the first to the y2st column (i.e., the core column) of the base matrix. The second region is the region remaining in the region consisting of the first to the x1st row and the first to the y2st column of the base matrix, excluding the region occupied by the first region. Alternatively, the second region is all the regions remaining in the base matrix except for the first region.

[0187] Example 2: The first region is the region consisting of at least one row from row x1+1 to row X (i.e., all rows in row X except the core row) and columns 1 to y2 of the base matrix. The second region is the region remaining in the region consisting of row x1+1 to row X and columns 1 to y2 of the base matrix, excluding the region occupied by the first region. Alternatively, the second region is all regions remaining in the base matrix except for the first region.

[0188] The advantage of Examples 1 and 2 above is that the first region uses the second method of shift value determination, the second region uses the first method of shift value determination, and some lines use the second method of shift value determination, which avoids the formation of some small-scale trap sets and reduces the error level of LDPC at a specific bit rate.

[0189] Implementation Method 4: The region partitioning result of this implementation method is related to the first splitting sequence θ. The first splitting sequence θ will be introduced first below.

[0190] The first split sequence θ includes X elements, which correspond one-to-one with X rows of the basis matrix. The element θ(i) corresponding to row i indicates whether to perform normal expansion or split expansion. It corresponds to the row number of a row of the basis matrix associated with θ(i). The element θ(i) indicates that the θ(i) row should be split expanded. It corresponds to θ(i) being equal to the first character. The element θ(i) indicates that the i-th row should be expanded normally. The first character is not equal to the row number of any row of the basis matrix.

[0191] In this application, a base matrix can be obtained based on a first LDPC storage matrix and a first split sequence. The X elements correspond one-to-one with the X rows of the base matrix, which can also be understood as the X elements corresponding one-to-one with the rows of the first LDPC storage matrix; that is, one element from the X elements in the first split sequence corresponds to one row in the first LDPC storage matrix. For example, the multiple LDPC storage matrices can be pre-stored matrices or predefined matrices by the protocol.

[0192] For example, the value of element θ(i) in the first split sequence can be the first character or a positive integer, where the first character is not equal to any positive integer. When θ(i) is a positive integer, it is less than i, meaning the value of θ(i) is less than the row number of the current row. The value of element θ(i) in the first split sequence represents the expansion method of the first LDPC storage matrix. For example, when θ(i) is a positive integer, it indicates that the i-th row is split and expanded, meaning the i-th row needs to split and expand the θ(i)-th row, where the θ(i)-th row is equivalent to the parent node of the i-th row, and the i-th row is equivalent to the child node of the θ(i)-th row; when θ(i) is the first character, it indicates that the i-th row is expanded normally.

[0193] For ease of description, the rows of the matrices involved in this application are calculated starting from row 1, and the columns are calculated starting from column 1. That is, the first character in this application can be 0. If the rows of the matrix are calculated starting from row 0, and / or the columns are calculated starting from column 0, then the first character cannot be 0, but can be other characters, such as -1, -2, etc. The first character can be a number, letter, or symbol, etc., and this application does not limit this. The following description uses 0 as an example for the first character.

[0194] As an example, in the process of obtaining the base matrix, the transmitting device can select the corresponding rows in the first LDPC storage matrix for expansion according to the X elements included in the first split sequence, from the 1st element to the Xth element. The transmitting device determines the expansion method of the i-th row based on the value θ(i) of the i-th element being either the first character or a positive integer. For example, if the 5th element θ(5) = 3 in the first split sequence, the 5th row in the first LDPC storage matrix needs to split and expand the 3rd row. Here, the 3rd row is equivalent to the parent node of the 5th row, and the 5th row is equivalent to the child node of the 3rd row. Alternatively, the 3rd row can be called the parent node row of the 5th row, and the 5th row can be called the child node row of the 3rd row.

[0195] The following section introduces the split extension and the traditional extension, and provides examples with reference to Figure 8.

[0196] (1) Traditional expansion: also known as normal expansion, refers to the low bit rate expansion based on the traditional method. In this method, the rows of the storage matrix are read as the rows of the base matrix.

[0197] (2) Split Expansion: Unlike traditional expansion, this method involves reading a row from the storage matrix as a new row in the base matrix. Simultaneously, the newly added row is used to eliminate a row in the base matrix preceding the newly added row. The eliminated row and the newly added row, excluding the expansion node, are orthogonal. This can also be understood as the eliminated row splitting into the newly added row and the eliminated row; or, the eliminated row and the newly added row, excluding the expansion node, are orthogonal; or, the eliminated row truly contains all other rows in the newly added row except for the expansion check node. The eliminated row can correspond to a parent node, and the newly added row, or the eliminated row, can correspond to a child node.

[0198] Figure 9 illustrates the traditional expansion and the split expansion. Figure 9(a) shows the matrix before expansion. Figure 9(b) shows the matrix after adding a row. The transition from Figure 9(a) to Figure 9(b) can be considered a traditional expansion. Figure 9(c) shows the matrix after eliminating elements in the second row using the added row. The transition from Figure 9(a) to Figure 9(b) and then to Figure 9(c) represents a split expansion. The eliminated row (i.e., the second row) and the newly added row, except for the last column, are orthogonal.

[0199] For θ(i) > 0, then row i and row θ(i) are correlated. For example, in the first LDPC storage matrix, there is... Where N represents the adjacent variable nodes of the verification equation in the core region (i.e., the positions of the non-zero elements in row i). That is, except for the core part and the rows corresponding to special characters, the variable nodes (excluding extended nodes) contained in the other rows of the matrix are properly contained in the variable nodes contained in their split parent nodes.

[0200] Example 1: For row i, if θ(i) > 0, then the element in row i and column j of the basis matrix is ​​located in the same region of at least two regions as the element in row θ(i) and column j of the basis matrix, where column j is any column from the 1st to the y2nd column of the basis matrix.

[0201] Example 1 above can be understood as the child node's region division in the core column being the same as the parent node's region division in the core column.

[0202] Example 2: For row i, if θ(i) > 0, then for j ∈ N(θ(i)) (i.e., all columns associated with row i, or the core column associated with row i), the element in row i, column j of the basis matrix and the element in row θ(i), column j of the basis matrix are located in the same region of at least two regions. This relationship is nested; that is, if θ(θ(i)) > 0, then the element in row i, column j of the basis matrix and the element in row θ(θ(i)), column j of the basis matrix are located in the same region.

[0203] It is understandable that in Examples 1 and 2, the child node and the parent node are located in the same area, so the translation values ​​of the child node and the parent node are determined accordingly.

[0204] S630: The transmitting device encodes the information bit sequence according to the LDPC parity check matrix and outputs the codeword sequence.

[0205] S640, the transmitting device determines the symbol sequence based on the codeword sequence.

[0206] It is understandable that a symbol sequence can be a rate-matched sequence or a modulated sequence. For example, the transmitting device performs rate matching on the codeword sequence, then modulates the rate-matched sequence to obtain a symbol sequence, and then maps the modulated symbol sequence onto physical resources for transmission.

[0207] S650, the transmitting device sends a symbol sequence to the receiving device. Correspondingly, the receiving device receives the symbol sequence from the transmitting device.

[0208] It is understandable that the symbol sequence #1 sent by the transmitting device and the symbol sequence #2 received by the receiving device may be different because channel noise signals may be introduced during the transmission of the symbol sequence.

[0209] S660: The receiving device decodes the symbol sequence according to the LDPC parity check matrix to obtain the information bit sequence.

[0210] The LDCP check matrix used for decoding by the receiving device is the same as the LDPC check matrix used for encoding by the sending device. The specific method by which the receiving device determines the LDPC check matrix can be found in the description on the sending device side, and will not be detailed here.

[0211] It is understood that the steps in the above figures are merely illustrative and are not intended to be strictly limited. Furthermore, the sequence numbers of the processes described above do not imply a specific order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0212] It is also understood that some optional features in the various embodiments of this application may not depend on other features in some scenarios, or may be combined with other features in some scenarios, without limitation.

[0213] It is also understood that, in the above-described method embodiments, the methods and operations implemented by the device (transmitting device or receiving device) can also be implemented by components of the device (such as chips or circuits), without limitation.

[0214] The method embodiments provided in this application have been described in detail above with reference to Figures 1 to 9. The apparatus embodiments of this application will now be described with reference to Figures 10 and 11. It is understood that, in order to implement the functions in the above embodiments, the apparatuses in Figures 10 and 11 include hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and method steps of the various examples described in conjunction with the embodiments disclosed in this application, this application can be implemented in hardware or a combination of hardware and computer software. It is understood that the technical features described in the above method embodiments are also applicable to the following apparatus embodiments.

[0215] Figures 10 and 11 are schematic diagrams of possible apparatus structures provided in embodiments of this application. These apparatuses can be used to implement the functions of the transmitting or receiving devices in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments.

[0216] Figure 10 is a schematic block diagram of a communication device 1000 provided in an embodiment of this application. As shown in Figure 10, the device 1000 may include a communication unit 1010 and a processing unit 1020. The communication unit 1010 can communicate with the outside world, and the processing unit 1020 is used for data processing. The communication unit 1010 may also be referred to as a communication interface or a transceiver unit.

[0217] In one possible design, the device 1000 can implement the steps or processes corresponding to those performed by the transmitting device in the above method embodiments, wherein the processing unit 1020 is used to perform processing-related operations of the transmitting device in the above method embodiments, and the communication unit 1010 is used to perform transmission-related operations of the transmitting device in the above method embodiments.

[0218] In another possible design, the device 1000 can implement the steps or processes corresponding to those performed by the receiving device in the above method embodiments, wherein the communication unit 1010 is used to perform the receiving-related operations of the receiving device in the above method embodiments, and the processing unit 1020 is used to perform the processing-related operations of the receiving device in the above method embodiments.

[0219] It is understood that the device 1000 here is embodied in the form of a functional unit. The term "unit" here can refer to an application-specific integrated circuit (ASIC), electronic circuitry, a processor (e.g., a shared processor, a proprietary processor, or a group processor, etc.) and memory for executing one or more software or firmware programs, integrated logic circuitry, and / or other suitable components supporting the described functions. In an alternative example, those skilled in the art will understand that the device 1000 may specifically be the transmitting end device in the above embodiments, used to execute the various processes and / or steps corresponding to the transmitting end device in the above method embodiments; or, the device 1000 may specifically be the receiving end device in the above embodiments, used to execute the various processes and / or steps corresponding to the receiving end device in the above method embodiments. To avoid repetition, further details are omitted here.

[0220] The apparatus 1000 of each of the above-described schemes has the function of implementing the corresponding steps performed by the transmitting device in the above-described method, or the apparatus 1000 of each of the above-described schemes has the function of implementing the corresponding steps performed by the receiving device in the above-described method. The function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions; for example, the communication unit can be replaced by a transceiver (e.g., the transmitting unit in the communication unit can be replaced by a transmitter, and the receiving unit in the communication unit can be replaced by a receiver), and other units, such as processing units, can be replaced by a processor, respectively executing the transmission and reception operations and related processing operations in each method embodiment.

[0221] Furthermore, the aforementioned communication unit can also be a transceiver circuit (e.g., it may include a receiving circuit and a transmitting circuit), and the processing unit can be a processing circuit. In the embodiments of this application, the device in FIG10 can be the receiving end device or transmitting end device in the foregoing embodiments, or it can be a chip or a chip system, such as a system on chip (SoC). The communication unit can be an input / output circuit or a communication interface; the processing unit is a processor, microprocessor, or integrated circuit integrated on the chip. No limitations are imposed here.

[0222] Figure 11 is a schematic block diagram of a communication device 1100 provided in an embodiment of this application. The device 1100 includes a processor 1110 and a transceiver 1120. The processor 1110 and the transceiver 1120 communicate with each other through an internal connection path. The processor 1110 is used to execute instructions to control the transceiver 1120 to send and / or receive signals.

[0223] Optionally, the device 1100 may further include a memory 1130, which communicates with the processor 1110 and the transceiver 1120 via an internal connection path. The memory 1130 stores instructions, and the processor 1110 can execute the instructions stored in the memory 1130. In one possible implementation, the device 1100 is used to implement the various processes and steps corresponding to the transmitting device in the above method embodiments. In another possible implementation, the device 1100 is used to implement the various processes and steps corresponding to the receiving device in the above method embodiments.

[0224] Optionally, the memory 1130 may be integrated into the processor 1110.

[0225] In one possible scenario, device 1100 includes at least one processor with integrated memory, and other memory besides the memory integrated on the processor.

[0226] It is understood that the device 1100 can specifically be the transmitting or receiving device in the above embodiments, or it can be a chip or a chip system. Correspondingly, the transceiver 1120 can be the transceiver circuit of the chip, which is not limited here. Specifically, the device 1100 can be used to execute the various steps and / or processes corresponding to the transmitting or receiving device in the above method embodiments.

[0227] Optionally, the memory 1130 may include read-only memory and random access memory, and provide instructions and data to the processor. The memory may include non-volatile random access memory. For example, the memory may also store device type information. The processor 1110 may be used to execute instructions stored in the memory, and when the processor 1110 executes instructions stored in the memory, the processor 1110 is used to perform the various steps and / or processes of the method embodiments corresponding to the transmitting or receiving devices described above.

[0228] In implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software. The steps of the method disclosed in the embodiments of this application can be directly implemented by a hardware processor, or by a combination of hardware and software modules in the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, detailed descriptions are omitted here.

[0229] It should be noted that the processor in the embodiments of this application can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method embodiments can be completed by the integrated logic circuitry in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, digital signal processing (DSP), ASIC, field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The processor in the embodiments of this application can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above methods.

[0230] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0231] Optionally, the memory (e.g., 1130) in this embodiment may be integrated into the processor (e.g., 1110).

[0232] In addition, this application also provides a computer-readable storage medium storing computer instructions, which, when executed on a computer, cause the operations and / or processes performed by the sending or receiving device in the various method embodiments of this application to be executed.

[0233] This application also provides a computer program product, which includes computer program code or instructions. When the computer program code or instructions are run on a computer, the operations and / or processes performed by the sending end device or the receiving end device in the various method embodiments of this application are executed.

[0234] Furthermore, this application also provides a chip including a processor. A memory for storing a computer program is provided independently of the chip, and the processor is used to execute the computer program stored in the memory, such that operations and / or processes performed by a transmitting or receiving device in any method embodiment are performed.

[0235] Furthermore, the chip may also include a communication interface. The communication interface may be an input / output interface or an interface circuit, etc. Furthermore, the chip may also include a memory.

[0236] In addition, this application also provides a communication system, including the transmitting end device and the receiving end device in the embodiments of this application.

[0237] It should also be noted that the memory described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0238] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative; for example, the division of units is merely a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling or direct coupling or communication connection may be through some interfaces; the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs. Furthermore, the functional units in the various embodiments of this application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0239] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.

[0240] It is understood that the term "embodiment" used throughout the specification means that a specific feature, structure, or characteristic related to an embodiment is included in at least one embodiment of this application. Therefore, various embodiments throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments.

[0241] It can also be understood that in this application, "when," "if," and "if" all refer to the network element making corresponding processing under certain objective circumstances, and are not time-limited, nor do they require the network element to make a judgment when it is implemented, nor do they mean that there are other limitations.

[0242] It can also be understood that in the various embodiments of this application, "B corresponding to A" means that B is associated with A, and B can be determined based on A. However, it can also be understood that determining B based on A does not mean that B is determined solely based on A; B can also be determined based on A and / or other information.

Claims

1. A communication method based on low-density parity-check (LDPC) codes, characterized in that, The method includes: Obtain the information bit sequence; Determine the LDPC parity-check matrix, which is based on the LDPC base matrix. The base matrix includes at least two regions, where any two regions do not overlap, and the translation values ​​corresponding to any two regions are determined in different ways. The information bit sequence is encoded according to the LDPC parity check matrix to obtain a codeword sequence; Output the codeword sequence.

2. A communication method based on low-density parity-check (LDPC) codes, characterized in that, Obtain the symbol sequence; Determine the LDPC parity-check matrix, which is based on the LDPC base matrix. The base matrix includes at least two regions, where any two regions do not overlap, and the translation values ​​corresponding to any two regions are determined in different ways. The symbol sequence is decoded according to the LDPC parity check matrix to obtain the information bit sequence.

3. The method according to claim 1 or 2, characterized in that, The base matrix comprises X rows and Y columns, and the at least two regions comprise a first region and a second region, wherein... The first region is the region consisting of rows 1 to x1 and columns y1+1 to y2 of the base matrix; the second region is the region consisting of rows 1 to x1 and columns 1 to y1 of the base matrix and rows x1+1 to x and columns 1 to y2 of the base matrix; or, the second region is all the remaining regions in the base matrix except for the first region. or, The first region is the region consisting of rows 1 to x1 and columns 1 to y1 of the base matrix and the region consisting of rows 1 to x1 and columns y1+1 to y2 of the base matrix. The second region is the region consisting of rows x1+1 to x and columns 1 to y2 of the base matrix, or, the second region is all the remaining regions in the base matrix except for the first region. or, The first region is a portion of the region consisting of rows 1 to x1 and columns 1 to y1 of the base matrix, the region consisting of rows 1 to x1 and columns y1+1 to y2 of the base matrix, and the region consisting of rows x1+1 to x and columns 1 to y2 of the base matrix. The second region is the remaining region in the region consisting of rows x1+1 to x and columns 1 to y2 of the base matrix, excluding the region occupied by the first region; or, the second region is all the remaining regions in the base matrix excluding the first region. Where 1 < x1 < X, 1 < y1 < y2 < Y, and x1, X, y1, y2, and Y are all integers.

4. The method according to claim 1 or 2, characterized in that, The base matrix comprises X rows and Y columns, and the at least two regions comprise a first region and a second region, wherein... The first region is the region consisting of all rows of the base matrix and at least one column from the (y1+1)th to (y2)th columns. The second region is the region consisting of all rows of the base matrix and columns 1 to y2 of the base matrix, excluding the region occupied by the first region; or, the second region is all the regions remaining in the base matrix excluding the first region. Where 1 < x1 < X, 1 < y1 < y2 < Y, and x1, X, y1, y2, and Y are all integers.

5. The method according to claim 1 or 2, characterized in that, The base matrix comprises X rows and Y columns, and the at least two regions comprise a first region and a second region, wherein... The first region is the region formed by at least one column from rows 1 to x1 of the base matrix and columns y1+1 to y2. The second region is the region consisting of all rows of the base matrix and columns 1 to y2 of the base matrix, excluding the region occupied by the first region; or, the second region is all the regions remaining in the base matrix excluding the first region. Where 1 < x1 < X, 1 < y1 < y2 < Y, and x1, X, y1, y2, and Y are all integers.

6. The method according to claim 4 or 5, characterized in that, At least one column in the y1+1 to y2 columns includes all columns in the y1+1 to y2 columns. or, At least one of the columns from y1+1 to y2 includes a first column, which satisfies a first condition, namely, the column weight of the first column in the region formed by the first to x1 rows and the y1+1 to y2 columns of the base matrix is ​​an odd number greater than 1.

7. The method according to claim 1 or 2, characterized in that, The base matrix comprises X rows and Y columns, and the at least two regions comprise a first region and a second region, wherein... The first region is the region consisting of at least one row from rows 1 to x1 and columns 1 to y2 of the base matrix; the second region is the region remaining in the region consisting of rows 1 to x1 and columns 1 to y2 of the base matrix excluding the region occupied by the first region; or, the second region is all the regions remaining in the base matrix excluding the first region. or, The first region is the region consisting of at least one row from row x1+1 to x and columns 1 to y2 of the base matrix. The second region is the region remaining in the region consisting of row x1+1 to x and columns 1 to y2 of the base matrix, excluding the region occupied by the first region. Alternatively, the second region is all regions remaining in the base matrix except for the first region. Where 1 < x1 < X, 1 < y1 < y2 < Y, and x1, X, y1, y2, and Y are all integers.

8. The method according to any one of claims 1 to 7, characterized in that, The basis matrix comprises X rows and Y columns, where, The matrix corresponding to the region formed by the x1+1 to Xth rows and the y2+1 to Yth columns of the basis matrix is ​​the identity matrix. The matrix corresponding to the region formed by rows 1 to x1 and columns y2+1 to Y of the base matrix is ​​a matrix consisting entirely of zeros. The matrix corresponding to the region formed by rows 1 to x1 and columns y1+1 to y2 of the basis matrix is ​​a square matrix. Where 1 < x1 < X, 1 < y1 < y2 < Y, and x1, X, y1, y2, and Y are all integers.

9. The method according to claim 1 or 2, characterized in that, The basis matrix comprises X rows and Y columns, and includes a first region and a second region, wherein... The first region is contained within the third region, which is the region consisting of rows 1 to x1 and columns y1+1 to y2 of the base matrix. The second region is the remaining region in the base matrix excluding the first region. and, The matrix corresponding to the region formed by the x1+1 to Xth rows and the y2+1 to Yth columns of the basis matrix is ​​the identity matrix. The matrix corresponding to the region formed by rows 1 to x1 and columns y2+1 to Y of the base matrix is ​​a matrix consisting entirely of zeros. The matrix corresponding to the third region is a square matrix. 1 < x1 < X, 1 < y1 < y2 < Y, where x1, X, y1, y2, and Y are all integers.

10. The method according to claim 9, characterized in that, The first region is the third region.

11. The method according to claim 9, characterized in that, The first region is the region consisting of the first to x1 rows and the first column of the base matrix. The first column satisfies a first condition, which is that the column weight of the first column in the third region is an odd number greater than 1.

12. The method according to claim 1 or 2, characterized in that, The basis matrix comprises X rows and Y columns, and includes a first region and a second region. In the first region, a single element corresponds to multiple second translation values, and in the second region, a single element corresponds to one second translation value. The first region is the region consisting of all rows of the base matrix and the first column from the (y1+1)th to (y2)th columns that satisfies the first condition, where the column weight of the first column in the third region is an odd number greater than 1. The third region is the region consisting of rows 1 to x1 and columns y1+1 to y2 of the base matrix. The second region is the remaining region of the base matrix excluding the first region. and, The matrix corresponding to the region formed by the x1+1 to Xth rows and the y2+1 to Yth columns of the basis matrix is ​​the identity matrix. The matrix corresponding to the region formed by rows 1 to x1 and columns y2+1 to Y of the base matrix is ​​a matrix consisting entirely of zeros. The matrix corresponding to the third region is a square matrix. 1 < x1 < X, 1 < y1 < y2 < Y, where x1, X, y1, y2, and Y are all integers.

13. The method according to claim 1 or 2, characterized in that, The first splitting sequence θ comprises X elements, each corresponding one-to-one with an X row of the base matrix. The element θ(i) corresponding to row i indicates whether to perform normal expansion or split expansion. θ(i) is associated with the row number of a row in the base matrix. The element θ(i) indicates that row θ(i) should be split expanded. θ(i) equal to the first character indicates that row i should be expanded normally. The first character is not equal to the row number of any row in the base matrix. in, If θ(i) is associated with the row number of a row of the base matrix, then the element in row i and column j of the base matrix is ​​located in the same region of the at least two regions as the element in row θ(i) and column j of the base matrix, where column j is any column from the 1st to the y2nd column of the base matrix.

14. The method according to any one of claims 1 to 13, characterized in that, The translation value corresponding to one of the at least two regions is determined in one of the following ways: Method 1: SV i,j =P i,j , or SV i,j =P i,j +w, or SV i,j =mod(P i,j ,Zc), or SV i,j =mod(P i,j +w,Zc), Method 2: SV i,j =P i,j *Zc / Z max Or, SV i,j =P i,j *Zc / Z max +w, or SV i,j equals (P) i,j *Zc / Z max Round up or down, or, SV i,j equals (P) i,j *Zc / Z max Round up or down and add w, or SV i,j equals (P) i,j *Zc / Z max +w) Round up or down. Method 3: SV i,j equals (mod(P)) i,j +w,Zc))*Zc / Z max Round up or down, or, SV i,j equals (mod(P)) i,j +w,Zc))*Zc / Z max Round up or down and add w, or SV i,j equals ((mod(P)) i,j +w,Zc))*Zc / Z max +w) Round up or down. Method 4: SV i,j =mod(P i,j +w,2 s ), of which 2 s S is the maximum value not greater than Zc, where S is a positive integer. Among them, in methods one to four, the SV i,j P is the element at row i and column j in the base matrix. i,j The predefined translation values ​​of the base matrix are the predefined translation values ​​corresponding to the 1 element in the region, where w is a preset fixed value, Zc is the lift value corresponding to the base matrix, and P... i,j It is determined based on Zc, where Z is... max Zc is the largest boost value in the predefined boost value set. Method 5: The shift value of each 1 element in the region is determined based on two sequences. All elements of the first sequence correspond one-to-one with all rows of the base matrix, and all elements of the second sequence correspond one-to-one with all columns of the base matrix. The SV... i,j It is determined based on the element R(i) corresponding to row i in the first sequence and the element C(j) corresponding to column j in the second sequence.

15. The method according to claim 14, characterized in that, The translation value corresponding to the other region of the at least two regions is determined by any one of the remaining methods from Method 1 to Method 5, except for the method for determining the translation value corresponding to the first region.

16. The method according to any one of claims 1 to 12, characterized in that, The basis matrix includes a first region and a second region, and the translation value SV corresponding to the first region is... i,j The determination method is Method 2, and the translation value SV corresponding to the second region is... i,j The method of determination is Method 1. The first method is: SV i,j =P i,j , or SV i,j =P i,j +w, or SV i,j =mod(P i,j ,Zc), or SV i,j =mod(P i,j +w,Zc), The second method is: SV i,j =P i,j *Zc / Z max Or, SV i,j =P i,j *Zc / Z max +w, or SV i,j equals (P) i,j *Zc / Z max Round up or down, or, SV i,j equals (P) i,j *Zc / Z max Round up or down and add w, or SV i,j equals (P) i,j *Zc / Z max +w) Round up or down. Wherein, the SV i,j P is the element at row i and column j in the base matrix. i,j Let w be a predefined translation value corresponding to the 1-element in row i and column j of the base matrix, and let Zc be the lift value corresponding to the base matrix. i,j It is determined based on Zc, where Z is... max Zc is the largest boost value in the predefined boost value set.

17. A communication device, characterized in that, The device includes at least one processor and an interface circuit, the interface circuit being configured to receive signals from other communication devices besides the communication device and transmit them to the processor, or to send signals from the processor to other communication devices besides the communication device, the processor causing the method as described in any one of claims 1 to 16 to be implemented via logic circuits or executing code instructions.

18. The communication device according to claim 17, characterized in that, The communication device is a chip or chip system.

19. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions that, when executed, cause the method as described in any one of claims 1 to 16 to be implemented.

20. A computer program product, characterized in that, Includes a computer program that, when run, causes the method as described in any one of claims 1 to 16 to be implemented.

21. A communication system, characterized in that, include: A transmitting device for performing the method as described in any one of claims 1, 3 to 16; A receiving device for performing the method as described in any one of claims 2 to 16.

Citation Information

Patent Citations

  • Design of shift values for quasi-cyclic LDPC codes

    CN110832782A

  • LDPC coding and decoding method and related device

    CN117081605A

  • LDPC coding and decoding method and related device

    CN117294315A

  • Method of encoding / decoding using low density check code matrix

    US20100115359A1