Encoding method, decoding method, and communication apparatus

By dynamically selecting the decoder and encoding matrix, the problem of high decoding complexity in GRAND at low code rates or long code lengths is solved, thereby improving decoding performance and flexibility.

WO2025261322A1PCT designated stage Publication Date: 2025-12-26HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/101324
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-20
Filing Date
2025-06-17
Publication Date
2025-12-26

AI Technical Summary

Technical Problem

Existing random noise guessing decoding methods (GRAND) have high decoding complexity when dealing with low code rates or long code lengths, which limits their application scope.

Method used

By dynamically selecting the decoder and encoding matrix, and flexibly matching the decoder and encoder according to the code rate, the decoding complexity is reduced.

Benefits of technology

While ensuring decoding performance, it reduces the decoding complexity of low code rate or long code length encodings, and improves decoding speed and flexibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025101324_26122025_PF_FP_ABST
    Figure CN2025101324_26122025_PF_FP_ABST
Patent Text Reader

Abstract

The present application provides an encoding method, a decoding method, and a communication apparatus. The decoding method comprises: a second device acquires a first sequence to be decoded and a first code rate, wherein said first sequence is obtained from a first information bit sequence, and the first code rate is related to the first information bit sequence; the second device can determine, according to the first code rate, a target decoder corresponding to said first sequence; and then, the second device can use the target decoder to perform channel decoding on said first sequence to obtain the first information bit sequence. The second device can dynamically select a corresponding decoder according to the first code rate, so that the second device can select an appropriate decoder according to the code rate to perform channel decoding, thereby reducing decoding complexity while ensuring decoding performance.
Need to check novelty before this filing date? Find Prior Art

Description

Encoding, decoding method and communication device

[0001] Cross-reference to related applications

[0002] This application claims priority to the Chinese Patent Application No. 202410805013.X, filed on June 20, 2024, and entitled "Encoding, decoding method and communication device", the entire contents of which are incorporated herein by reference. TECHNICAL FIELD

[0003] The present application relates to the field of communication technology, and in particular, to an encoding, decoding method and communication device. BACKGROUND

[0004] A communication system usually adopts channel coding to improve the reliability of data transmission, so as to ensure the quality of communication. The signal coded by the sending device through channel coding is transmitted to the receiving device through the channel, and the receiving device recovers the original signal by performing corresponding channel decoding on the received signal.

[0005] Taking guessing random additive noise decoding (GRAND) as an example, the decoding process of GRAND is relatively simple, which only needs to use a check matrix H to decode. Specifically, the receiving device uses GRAND to decode the encoding (also referred to as code, codeword or encoding sequence) with a higher code rate or shorter code length, and can quickly obtain the decoding result. However, when the receiving device also uses GRAND to decode the encoding with a lower code rate or longer code length, the average decoding complexity or the maximum decoding complexity increases by a combination number level, and the decoding speed is relatively slow, which limits the application range of GRAND, so that GRAND is not suitable for the current mainstream communication system. SUMMARY

[0006] The present application provides an encoding, decoding method and communication device to reduce the decoding complexity of the encoding with a lower code rate or longer code length.

[0007] In a first aspect, the present application provides a decoding method, which can be executed by a second device. In the present application, the "second device" can refer to the second device itself (such as a terminal device or a network device), a module (such as a processor, a processing unit, a chip system, a circuit or a chip) in the second device, or a logic node, a logic module or software capable of realizing all or part of the functions of the second device. For example, the decoding method executed by the second device is described below. The method can include the following steps: the second device obtains a first to-be-decoded sequence and a first code rate, wherein the first to-be-decoded sequence is obtained from a first information bit sequence, and the first code rate is related to the first information bit sequence. Then, the second device can determine a target decoder corresponding to the first to-be-decoded sequence according to the first code rate, and then the second device can use the target decoder to perform channel decoding on the first to-be-decoded sequence to obtain the first information bit sequence.

[0008] In the method, the second device can dynamically select a decoder according to the first code rate (i.e., the code rate of the current encoding), which can realize channel decoding by selecting a suitable decoder according to the code rate, and can reduce the decoding complexity while ensuring the decoding performance, such as reducing the decoding complexity of the random noise guessing decoder for encoding with a lower code rate or a longer code length. In addition, the method can make the selection of the decoder more flexible, and the selected decoder can be more matched with the to-be-decoded sequence, which can help to ensure the decoding accuracy of the to-be-decoded sequence.

[0009] In a possible implementation, the second device determines the target decoder corresponding to the first to-be-decoded sequence according to the first code rate, including:

[0010] If the first code rate is greater than a first code rate threshold, the second device can determine the first decoder as the target decoder; or

[0011] If the first code rate is less than the first code rate threshold, the second device can determine the second decoder as the target decoder; or

[0012] If the first code rate is equal to the first code rate threshold, the second device can determine the first decoder or the second decoder as the target decoder.

[0013] In the above method, the decoding complexity of the second decoder is the same as the decoding complexity of the first decoder and / or the chip area of the decoder of the second decoder is the same as the chip area of the decoder of the first decoder, and the decoding performance of the second decoder is higher than the decoding performance of the first decoder; or the decoding performance of the second decoder is the same as the decoding performance of the first decoder, the decoding complexity of the second decoder is lower than the decoding complexity of the first decoder and / or the chip area of the second decoder is smaller than the chip area of the first decoder.

[0014] In the above implementation, the second device selects a suitable decoder according to the code rate of the current encoding to perform channel decoding on the first to-be-decoded sequence, so that the decoding complexity can be reduced while ensuring the decoding performance, for example, the decoding complexity in a high code rate interval can be reduced.

[0015] In a possible implementation, the first code rate threshold can be determined according to the channel state information corresponding to the first to-be-decoded sequence, or the first code rate threshold can be predefined.

[0016] The above implementation can predefine the first code rate threshold, or determine the first code rate threshold according to a given performance requirement, which can facilitate the second device to timely and accurately determine whether to use the first decoder or the second decoder.

[0017] In a possible implementation, the first decoder can be a random noise guess decoder, and the second decoder can be a partial-order statistical decoder.

[0018] In the above implementation, the decoding performance of the random noise guess decoder at a high code rate is almost the same as that of the partial-order statistical decoder at the same flipping order, so that the partial-order statistical decoder is more suitable for a low code rate interval than the random noise guess decoder, thereby reducing the decoding complexity of the random noise guess decoder for encoding with a relatively low code rate or a relatively long code length.

[0019] In a second aspect, the present application provides an encoding method, which can be executed by a first device. In the absence of special description, the "first device" in the present application can refer to the first device itself (such as a terminal device or a network device), a module (such as a processor, a processing unit, a chip system, a circuit or a chip) in the first device, or a logic node, a logic module or software capable of realizing all or part of the functions of the first device. Exemplarily, the following takes the first device executing the encoding method as an example. The method can include the following steps: the first device obtains a first information bit sequence, determines a target encoding matrix corresponding to the first information bit sequence according to a first code rate corresponding to the first information bit sequence, and performs channel encoding on the first information bit sequence using the target encoding matrix to obtain a first encoded sequence.

[0020] In the method, the first device can dynamically (or flexibly) select a corresponding (or matched) encoding matrix according to the first code rate (i.e., the code rate of the current encoding), so that the encoding of the information bit sequence is more flexible, more targeted and more accurate, thereby ensuring the encoding performance.

[0021] In a possible implementation, the first device determines the target encoding matrix corresponding to the first information bit sequence according to a first code rate corresponding to the first information bit sequence, including:

[0022] If the first code rate is greater than or equal to a first code rate threshold, the first device can determine the first encoding matrix as the target encoding matrix; or,

[0023] If the first code rate is less than the first code rate threshold, the first device can determine the second encoding matrix as the target encoding matrix.

[0024] The second encoding matrix is different from the first encoding matrix.

[0025] In the implementation, the first device selects a suitable encoding matrix according to the code rate of the current encoding to perform channel encoding on the first information bit sequence, so that the selected encoding matrix is more matched with the first information bit sequence and more conforms to the actual encoding condition, thereby making the encoding of the information bit sequence more targeted and more accurate, and ensuring the encoding performance.

[0026] In a possible implementation, the first code rate threshold can be determined according to channel state information corresponding to the first encoding sequence; or the first code rate threshold can be predefined.

[0027] The implementation can implement the predefined first code rate threshold, or determine the first code rate threshold according to a given performance requirement, so that the first device can timely and accurately determine whether to use the first encoding matrix or the second encoding matrix.

[0028] In a third aspect, the present application provides an encoding method, which can be executed by the first device. In the absence of special description, the "first device" in the present application can refer to the first device itself (such as a terminal device or a network device), or a module (such as a processor, a processing unit, a chip system, a circuit or a chip) in the first device, or a logic node, a logic module or software capable of realizing all or part of the functions of the first device. For example, the following describes the encoding method executed by the first device. The method can include the following steps: the first device obtains first information, determines a second code rate threshold corresponding to the first information (i.e., the first information can be used to determine the second code rate threshold), and then determines a target code rate corresponding to a second information bit sequence, wherein the target code rate is greater than or equal to the second code rate threshold. Then, the first device can perform channel encoding on the second information bit sequence according to the target code rate to obtain a second encoding sequence.

[0029] In the method, the first device accurately determines the code rate threshold for selecting the code rate according to the first information, so that the first device can more accurately select a suitable code rate for encoding the second information bit sequence, and the selected code rate matches the decoding requirement (such as requiring a higher code rate and / or a longer code length) of the decoding end (such as the second device), thereby effectively reducing the decoding complexity of the decoding end.

[0030] In a fourth aspect, the present application provides a decoding method, which can be executed by the second device. In the absence of special description, the "second device" in the present application can refer to the second device itself (such as a terminal device or a network device), a module (such as a processor, a processing unit, a chip system, a circuit or a chip) in the second device, or a logic node, a logic module or software capable of realizing all or part of the functions of the second device. Exemplarily, the decoding method executed by the second device is taken as an example below. The method can include the following steps: the second device sends first information, wherein the first information can be used to determine a second code rate threshold, then the second device can obtain a second to-be-decoded sequence, and then the second device can perform channel decoding on the second to-be-decoded sequence according to a target code rate to obtain a second information bit sequence, wherein the target code rate is greater than or equal to the second code rate threshold.

[0031] In the method, the second device provides the first information to the first device, so that the first device can accurately determine the second code rate threshold according to the first information, and then the first device determines a code rate for encoding the second information sequence according to the second code rate threshold, and the code rate is greater than or equal to the second code rate threshold, so that the code rate determined by the first device matches the decoding requirement of the second device, meets the decoding requirement of the second device, and thus effectively reduces the decoding complexity of the first device.

[0032] Based on the third aspect or the fourth aspect, in a possible implementation, the first information includes first indication information, the first indication information is used to indicate a decoder type, wherein the decoder type is associated with at least one candidate code rate threshold, and the second code rate threshold can be included in the at least one candidate code rate threshold.

[0033] In the implementation manner, the first device can determine the second code rate threshold according to the type of the decoder, and determine the encoding code rate required for encoding the second information bit sequence according to the second code rate threshold, and the encoding code rate is greater than or equal to the second code rate threshold, so that the encoding code rate determined by the first device matches the decoding requirement of the decoding end, and thus the decoding complexity of the decoding end can be reduced. For example, the decoding complexity of the random noise guess decoder increases in a combination number level as the code length increases, and thus the type of the decoder adopted by the decoding end is indicated by the first indication information as the type of the random noise guess decoder, which limits the maximum code length of the decoding end, so that the length of the encoding sequence encoded by the first device is not too long, and the encoding code rate determined by the first device is greater than or equal to the second code rate threshold associated with the type of the random noise guess decoder, so that the decoding complexity of the decoding end can be reduced.

[0034] According to the third aspect or the fourth aspect, in a possible implementation manner, the first information includes second indication information, and the second indication information is used to indicate a modulation and coding scheme index, where a second code rate corresponding to the modulation and coding scheme index can be used as the second code rate threshold.

[0035] In the implementation manner, the second indication information carried in the first information enables the first device to determine the encoding code rate required for encoding the second information bit sequence according to the modulation and coding scheme index in a timely and accurate manner, and the encoding code rate is greater than or equal to the code rate corresponding to (or associated with) the modulation and coding scheme index, so that the encoding code rate determined by the first device matches the decoding requirement of the decoding end, and thus the decoding complexity of the decoding end can be reduced.

[0036] According to the third aspect or the fourth aspect, in a possible implementation manner, the first information can include third indication information, and the third indication information can be used to indicate the second code rate threshold.

[0037] In the implementation manner, the third indication information carried in the first information enables the first device to determine the encoding code rate required for encoding the second information bit sequence according to the second code rate threshold in a timely and accurate manner, and the encoding code rate is greater than or equal to the second code rate threshold, so that the encoding code rate determined by the first device matches the decoding requirement of the decoding end, and thus the decoding complexity of the decoding end can be reduced.

[0038] According to the third aspect or the fourth aspect, in a possible implementation manner, the first information can further include fourth indication information, and the fourth indication information can be used to indicate a first encoding type, where the first encoding type can correspond to an encoding manner corresponding to the target code rate.

[0039] In the implementation manner, the fourth indication information is carried in the first information, so that the first device can learn the encoding mode currently used by the decoding end in time, and thus the first device can accurately determine whether to use the encoding mode corresponding to the target code rate (such as the encoding mode based on the limited buffer rate matching) according to the encoding mode currently used by the decoding end.

[0040] In a possible implementation manner provided in the third aspect, if the decoder corresponding to the decoder type is the third decoder, the length of the buffer area for buffering the second encoded sequence can be a first length, where the first length is the minimum length of a second length and a third length, the second length is the length of the second encoded sequence, and the third length is determined according to the total number of bits corresponding to the second information bit sequence and the number of segments; or,

[0041] If the decoder corresponding to the decoder type is the fourth decoder, the length of the buffer area for buffering the second encoded sequence is the second length, where the fourth decoder is different from the third decoder.

[0042] In the implementation manner, the length of the buffer area for buffering the second encoded sequence is determined based on the decoder type, so that the length of the encoded sequence output by the first device is matched with the decoder type, and thus the decoding end can use a matched (or suitable) decoder to decode the corresponding to-be-decoded sequence, so as to ensure the decoding performance of the decoding end and reduce the decoding complexity to a certain extent.

[0043] In a possible implementation manner provided in the third aspect, the third decoder can be a random noise guessing decoder, and the fourth decoder can be a non-random noise guessing decoder.

[0044] In the implementation manner, when the first indication information indicates that the decoder type used by the decoding end is the type of the random noise guessing decoder, the maximum code length of the decoding end is limited, so that the length of the encoded sequence obtained by the first device is not too long, and the encoding code rate determined by the first device is greater than or equal to the second code rate threshold associated with the type of the random noise guessing decoder, so that the decoding complexity of the decoding end is reduced.

[0045] In the fifth aspect, the present application provides a communication apparatus, which can be the first device, and can also be a module (such as a chip) in the first device. The apparatus has a function of implementing the method in any one of the possible implementation manners of the second aspect or the third aspect. The function can be implemented by hardware, or can be implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions.

[0046] In a sixth aspect, the present application provides a communication apparatus, which can be the second device, and can also be a module (such as a chip) in the second device. The apparatus has the function of implementing the method in any possible implementation manner of any one of the first aspect or the fourth aspect. 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.

[0047] In a seventh aspect, the present application provides a communication apparatus, which includes units or means for performing each step of any possible implementation manner of any one of the first aspect to the fourth aspect.

[0048] In an eighth aspect, the present application provides a communication apparatus, which includes a processor and an interface circuit, the processor is used to communicate with other apparatuses through the interface circuit, and perform the method in any possible implementation manner of any one of the first aspect to the fourth aspect. The processor includes one or more.

[0049] Optionally, the communication apparatus can further include a memory for storing computer instructions, the memory is coupled with the processor, and the processor executes the computer instructions stored in the memory, so that the apparatus performs the method in any possible implementation manner of any one of the first aspect to the fourth aspect.

[0050] In a ninth aspect, the present application provides a possible communication system, which can include one or more of the first device or the second device mentioned in the first aspect or the second aspect. Wherein, the related function implementation of the first device or the second device can refer to the related description mentioned in the first aspect or the second aspect, and will not be repeated here.

[0051] For example, the number of the first device or the second device can be one or more, which is not limited by the present application.

[0052] In a tenth aspect, the present application provides a possible communication system, which can include one or more of the first device or the second device mentioned in the third aspect or the fourth aspect. Wherein, the related function implementation of the first device or the second device can refer to the related description mentioned in the third aspect or the fourth aspect, and will not be repeated here.

[0053] For example, the number of the first device or the second device can be one or more, which is not limited by the present application.

[0054] In a eleventh aspect, the present application provides a computer program product, which comprises computer programs or instructions, and when the computer programs or instructions are run on a communication device (or a computer), the communication device (or the computer) is caused to perform the method in any possible implementation manner of any one of the first aspect to the fourth aspect.

[0055] In a twelfth aspect, the present application provides a computer readable storage medium, which stores computer programs or instructions, and when the computer programs or instructions are executed by a communication device (or a computer), the communication device (or the computer) is caused to perform the method in any possible implementation manner of any one of the first aspect to the fourth aspect.

[0056] In a thirteenth aspect, the present application provides a chip, which can comprise a processor, and can further comprise a memory (or the chip is coupled with the memory), and the chip executes program instructions in the memory, so as to cause the chip to perform the method in any possible implementation manner of any one of the first aspect to the fourth aspect. The "coupled" means that two components are directly or indirectly combined with each other, and the coupling can mean that the two components are electrically connected.

[0057] In a fourteenth aspect, the present application further provides a chip system, which comprises a processor, and is used for supporting a computer device to perform the method in any possible implementation manner of any one of the first aspect to the fourth aspect. In a possible implementation manner, the chip system further comprises a memory, which is used for saving necessary programs and data of the computer device. The chip system can be constituted by a chip, or can comprise the chip and other discrete devices.

[0058] On the basis of the implementation manners of the aspects provided in the present application, further combinations can be made to provide more implementation manners. BRIEF DESCRIPTION OF DRAWINGS

[0059] FIG. 1 exemplarily shows a communication system architecture diagram provided by an embodiment of the present application;

[0060] FIG. 2 exemplarily shows a coding and decoding flow diagram provided by an embodiment of the present application;

[0061] FIG. 3 exemplarily shows a flow diagram of an encoding method provided by an embodiment of the present application;

[0062] FIG. 4 exemplarily shows a flow diagram of a decoding method provided by an embodiment of the present application;

[0063] FIG. 5 exemplarily shows a diagram of performance difference of GRAND and OSD under different code rates provided by an embodiment of the present application;

[0064] FIG. 6 shows a schematic diagram of a decoding process of an OSD according to an embodiment of the present application;

[0065] FIG. 7 shows a performance diagram of a GRAND and an OSD at different code rates according to an embodiment of the present application;

[0066] FIG. 8 shows a schematic diagram of a coding and decoding method according to an embodiment of the present application;

[0067] FIG. 9 shows a schematic diagram of a possible communication apparatus according to an embodiment of the present application;

[0068] FIG. 10 shows a schematic diagram of another possible communication apparatus according to an embodiment of the present application. DETAILED DESCRIPTION

[0069] Before introducing the technical solutions provided by the present application, some terms involved in the present application are first explained and described so as to facilitate understanding by those skilled in the art.

[0070] (1) Information bit sequence

[0071] The information bit sequence refers to a sequence composed of multiple bits to be transmitted. For example, the bits to be transmitted are 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1 in turn, and the information bit sequence composed of the bits is 10101100101.

[0072] (2) Code length

[0073] The code length refers to the length of a bit sequence to be transmitted obtained by encoding the information bit sequence. The code length is greater than or equal to the length of the information bit sequence.

[0074] (3) Code rate

[0075] The code rate is the ratio of the length of the information bit sequence to the code length.

[0076] The length of the information bit sequence, the code length, and the code rate can be pre-configured by high-layer signaling, MAC layer signaling, or a downlink physical layer signal, and can also be obtained or calculated by the transmitting device and the receiving device. For example, the transmitting device and the receiving device can determine the code length according to the encoding mode, the frame structure used to transmit the information bits, the number of layers, and the modulation scheme. For example, the transmitting device and the receiving device can obtain the code rate based on the high-layer signaling, the MAC layer signaling, or the downlink physical layer signal, or determine the code rate according to the modulation and coding scheme (MCS).

[0077] (4) Low Density Parity Check (LDPC) code

[0078] LDPC code is a channel coding scheme very close to the Shannon line, with good performance and low complexity. It has been determined by the 3rd Generation Partnership Project (3GPP) to be the coding and decoding scheme for data channels in the 5th Generation (5G) mobile communication. The mainstream application of LDPC code has a quasi-cycle (QC) structure, which can avoid bad structures such as short cycles by setting the shift amount of each block to improve the code distance.

[0079] LDPC code can be represented using a base matrix, with elements of 0 or 1 in the base matrix. The element 1 in the base matrix is extended to a cyclic shift matrix of Zc*Zc, and the element 0 in the base matrix is extended to a zero matrix of Zc*Zc. After the extension, a check matrix is obtained, which can be used for encoding or decoding. Zc can be referred to as an extension factor, a lifting factor, an extension value, an extension coefficient, a lifting size, etc. The base matrix can be represented as H_BG, where BG is an abbreviation for base graph. The base matrix can also be represented by a base graph, and the two have a corresponding relationship.

[0080] (5) Polar code

[0081] Polar code is a coding scheme that can be strictly proven to "reach" the Shannon channel capacity, with good decoding performance and low complexity. It has been determined by the 3rd Generation Partnership Project (3GPP) to be the control channel coding scheme for the enhanced mobile broadband (eMBB) scenario.

[0082] (6) Rate matching

[0083] The data block before encoding is called a transport block (TB), and because the number of bits of the TB is large, the sending end usually splits one TB into multiple code blocks (CBs), and each CB is separately channel-encoded. Because the physical resources used to transmit the code blocks may not be consistent with the physical time-frequency resources of the code blocks to be transmitted, the code blocks to be transmitted need to be retransmitted or punctured or shortened to match the carrying capacity of the physical time-frequency resources, and this process is called rate matching. Multiple CBs that have been channel-encoded need to be rate matched, then interleaved, concatenated, and the like, and then transmitted to the receiving end as a physical data block (codeword). The following further describes the rate matching method in three cases.

[0084] a. Puncture: "Puncture" refers to directly drilling holes in some positions of the Polar code of the encoding length and not transmitting, and generating a Polar code encoding bit sequence of any length by this method. At the decoding side, because there is no information quantity corresponding to the "punctured" position, the log likelihood ratio (LLR) of the corresponding bit is set to 0.

[0085] b. Shorten: "Shorten" is another common rate matching method, which is to design the Polar code so that some positions in the encoding bit sequence are fixed values, and therefore do not need to be transmitted. At the decoding side, because the corresponding "shortened" position is equivalent to known (usually 0) at the receiving end, the LLR of the corresponding bit is set to infinity.

[0086] c. Repetition: "Repetition" refers to transmitting part of the codeword bits repeatedly to obtain a longer Polar code encoding bit sequence.

[0087] (7) Channel state information (CSI)

[0088] CSI is information used to characterize the channel state. Among them, the CSI can include: channel state information reference signal resource indicator (CRI), channel quality indicator (CQI), precoding matrix indicator (PMI), rank indicator (RI), layer indicator (LI), reference signal received power (RSRP), signal to interference plus noise ratio (SINR), or reference signal receiving quality (RSRQ), etc.

[0089] (8) Modulation and coding scheme (MCS)

[0090] MCS defines how many valid bits a resource element (RE) (or can be referred to as resource unit or resource element or resource particle) can carry. The higher the MCS index, the higher the number of valid bits that can be carried.

[0091] For example, MCS defines two parts, modulation scheme and coding rate.

[0092] For modulation scheme: 5G new radio (or can be referred to as new radio, NR) supports optional modulation schemes including quadrature phase shift keying (QPSK), 16 quadrature amplitude modulation (QAM), 64 QAM and 256 QAM. Using QPSK, each RE can transmit 2 bits of information, using 16 QAM can transmit 4 bits, using 64 QAM can transmit 6 bits, and using 256 QAM can transmit 8 bits.

[0093] For coding rate: the ratio between useful bits and total transmission bits (useful bits + redundancy bits) is used to measure the redundancy added by the physical layer. Redundancy bits are used for forward error correction (FEC). The lower the coding rate, the more redundancy increases.

[0094] The embodiments of the present application will be described in detail below with reference to the drawings.

[0095] The communication system architecture to which the encoding and decoding methods provided by the present application are applicable will be introduced below. It should be noted that these introductions are for the convenience of those skilled in the art to understand, and do not constitute a limitation on the scope of protection required by the present application.

[0096] The encoding and decoding methods provided by the embodiments of the present application can be applied to various communication systems, such as an internet of things (IoT) system, a non-terrestrial network (NTN) communication system (e.g., a satellite communication system, a high altitude platform station (HAPS) communication system), a narrow band internet of things (NB-IoT) system, a 4G communication system (e.g., a long term evolution (LTE) system), a worldwide interoperability for microwave access (WiMAX) communication system, a 5G communication system (e.g., an NR system), and a future mobile communication system, etc.

[0097] FIG. 1 exemplarily shows a communication system architecture to which the embodiments of the present application are applicable. As shown in FIG. 1, the communication system architecture can include a network device and a terminal device. Among them, the number of network devices is taken as 1, and the number of terminal devices is taken as 2 (such as terminal device A and terminal device B). Among them, when the network device is the sending end, the terminal device A or the terminal device B is the receiving end; when the terminal device A or the terminal device B is the sending end, the network device is the receiving end.

[0098] The terminal device can be widely applied to various scenarios, for example, device-to-device (D2D), vehicle to everything (V2X) communication, machine-type communication (MTC), internet of things (IoT), virtual reality, augmented reality, industrial control, automatic driving, remote medical treatment, smart power grid, smart furniture, smart office, smart wear, smart transportation, smart city, etc. The terminal device can be a mobile phone, a tablet computer (Pad), a personal digital assistant (PDA) computer, a virtual reality (VR) device, an augmented reality (AR) device, a computer with wireless transceiver function, a wearable device, a vehicle, a drone, a helicopter, an airplane, a ship, a robot, a mechanical arm, a smart home device, a vehicle-mounted terminal, an IoT terminal, a wearable device, etc. The embodiments of the present application do not limit the specific technology and specific device form of the terminal device.

[0099] The network device can also be referred to as an access network (AN) device, or a radio access network (RAN) device, or an access node, etc. For example, the network device can be a base station, an evolved Node B (eNodeB), a transmitter and receiver point (TRP), an integrated access and backhauling (IAB) node, a future base station in a 5G communication system (gNB), a base station in a future mobile communication system, a base station in other future mobile communication systems, or an access node in a WiFi system, a home base station (e.g., home eNodeB, or home Node B (HNB)), an access point (AP) in a wireless fidelity (WIFI) system, a wireless relay node, a wireless backhaul node, etc. It can also be a module or unit that completes part of the functions of a base station, e.g., it can be a central unit (CU) or a distributed unit (DU). The CU here completes the functions of the radio resource control protocol and the packet data convergence protocol (PDCP) of the base station, and can also complete the function of the service data adaptation protocol (SDAP); the DU completes the functions of the radio link control layer and the medium access control (MAC) layer of the base station, and can also complete part of the physical layer or the entire physical layer. For specific descriptions of the above-mentioned various protocol layers, reference can be made to the relevant technical specifications of 3GPP. The network device can also be a non-terrestrial base station, such as a low earth orbit (LEO) / very low earth orbit (VLEO) satellite, a HAPS, and can also be a terminal that undertakes the function of a network device in V2X, D2D, and machine to machine (M2M) communication, etc.

[0100] In the embodiments of the present application, the functions of the network device can also be performed by a module (such as a chip) in the network device, or can be performed by a control subsystem containing the functions of the network device. The control subsystem containing the functions of the network device herein can be a control center in the above-mentioned application scenarios such as smart power grids, industrial control, smart transportation, and smart cities. The functions of the terminal device can also be performed by a module (such as a chip or a modem) in the terminal device, or can be performed by a device containing the functions of the terminal device.

[0101] Still taking the communication system shown in FIG. 1 as an example, in order to ensure the reliability of communication between devices, the sending end (or can be referred to as a sending device) can perform encoding processing on the information to be sent, and the receiving end (or can be referred to as a receiving device) can perform decoding processing on the information to be decoded corresponding to the information to be sent. Referring to the encoding and decoding process shown in FIG. 2, the source of the sending end sequentially undergoes source encoding, channel encoding, and modulation to output modulation symbols, and the receiving end receives the modulation symbols and sequentially undergoes demodulation, channel decoding, and source recovery to obtain a sink. Based on the sink, the receiving end can obtain useful information. For example, the sending end is a terminal device in the communication system shown in FIG. 1, and the receiving end is a network device in the communication system shown in FIG. 1; or the sending end is a network device in the communication system shown in FIG. 1, and the receiving end is a terminal device in the communication system shown in FIG. 1; or the sending end and the receiving end are different terminal devices in the communication system shown in FIG. 1.

[0102] The function modules in the encoding and decoding process shown in FIG. 2 will be briefly introduced below.

[0103] Source encoding can reduce the redundancy of signals as much as possible to transmit more information with less overhead, thereby increasing the effectiveness of the system. It can be understood that source encoding is to encode the source to obtain a sequence of information bits, which can also be referred to as a sequence of message bits. Correspondingly, at the receiving end, the source recovery corresponding to the source encoding is to recover the symbol sequence after channel decoding processing to obtain a sink.

[0104] Channel coding is to add appropriate redundancy in the information bit sequence obtained by source coding to obtain a coded sequence, which includes information bits and check bits. Among them, the length of the information bit sequence is less than the length of the coded sequence, the length of the information bit sequence refers to the number of information bits in the information bit sequence, and the length of the coded sequence refers to the number of code word bits in the coded sequence, which can be referred to as coding length or code length. The ratio between the length of the information bit and the length of the coded sequence is called code rate or coding code rate. Through channel coding, the receiving end can correct a certain degree of transmission error according to the check bits to increase the reliability of the system. At the receiving end, the channel coding corresponds to the channel decoding, and the channel decoding is to recover the correct data bits from the demodulated symbol sequence (which may add various noises of the channel).

[0105] Modulation is to output the code word bit sequence obtained by channel coding in a certain form, such as converting the bit sequence obtained by channel coding into a form that can be transmitted by the channel. In actual communication systems, source coding is usually completed in the application layer, and channel coding and modulation are usually completed in the physical layer. At the receiving end, demodulation corresponds to modulation, and the function of demodulation is opposite to that of modulation.

[0106] The channel decoding method is introduced below. Taking GRAND as an example, the decoding process of GRAND is as follows:

[0107] Step 1: Check the received symbol vector If the result of is all 0, the check is passed, and the decoding is ended. Among them, the check matrix H is used to check whether the received symbol conforms to the code word characteristics. The check matrix H represents the parity check matrix of s*t. Among them, s is the number of information bits, and t is the length of the code word.

[0108] Step 2: If the check fails, flip a certain position (or can be called bit) of randomly (0->1 or 1->0), and check the flipped result . If the check is passed, the decoding is ended, otherwise, flip another position of , and check until the flipped vector that passes the check is found, or any position of is flipped once.

[0109] Step 3: In the case that any position of is flipped once and the check fails, flip any two positions of , and judge whether the check is passed.

[0110] Step 4: After all the two-position flip combinations are tried, go to flip 3, 4, 5, … positions combinations, and flip until the correct result is checked.

[0111] Therefore, the decoding process of GRAND is a decoding method that finds the codeword closest to the received symbol by continuously trying to flip 1, 2, 3, … symbols and takes the result as the decoding result. As can be seen, using GRAND to decode high code rate or short code length encoding can quickly obtain the decoding result. However, when GRAND is used to decode low code rate or long code length encoding, the average decoding complexity or maximum decoding complexity increases by a combination number level, and the decoding speed is relatively slow, which limits the application range of GRAND.

[0112] In view of this, the present application provides an encoding and decoding method to reduce the decoding complexity of low code rate or long code length encoding.

[0113] The specific implementation of the encoding and decoding method in the embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0114] FIG. 3 illustrates an encoding method provided by an embodiment of the present application. The method is applicable to the communication system architecture shown in FIG. 1. It can be understood that the encoding method shown in FIG. 3 can be executed by the first device, or can also be executed by a module (such as a processor, a processing unit, a chip system, a circuit or a chip, etc.) in the first device. Alternatively, the encoding method shown in FIG. 3 can also be implemented by a logic node, a logic module or software that can implement all or part of the functions of the first device. For example, the first device can be a terminal device, a network device or other types of devices, and the specific type of the first device is not limited in the embodiments of the present application. The encoding method shown in FIG. 3 will be described below as an example, and the specific implementation process of the encoding method can include:

[0115] Step 301: The first device acquires a first information bit sequence.

[0116] The first information bit sequence can be a to-be-encoded information bit sequence. Alternatively, the first information bit sequence can also be referred to as a to-be-encoded sequence, or a code stream, etc.

[0117] For example, the first information bit sequence can include one or more information bits (or message bits). It can be understood that the information bit can refer to a bit carrying information. Alternatively, the information bit can be referred to as a to-be-transmitted payload information bit or an original information bit. For example, the information bit can be an information bit obtained through source encoding.

[0118] Step 302: The first device determines a target encoding matrix corresponding to the first information bit sequence according to a first code rate corresponding to the first information bit sequence.

[0119] The first code rate refers to a code rate of current encoding (i.e., a code rate used for encoding the first information bit sequence). For example, the first code rate is a ratio of a number of information bits included in the first information bit sequence (or a length of the first information bit sequence) to a code length after rate matching (or a length of an encoded sequence (or can be referred to as a code word) corresponding to the first information bit sequence). For example, the first code rate can be pre-configured, or can be obtained by the first device based on high-layer signaling, MAC layer signaling, or a downlink physical layer signal, or can be determined by the first device based on a used MCS, and the embodiments of the present application do not limit this.

[0120] In one example, if the first device uses different encoding manners for information bit sequences of different code rates, then the different code rates respectively have corresponding encoding matrices (or can be referred to as generating matrices) in the different encoding manners. In other words, the encoding matrices corresponding to the different code rates in the different encoding manners are not the same. For example, the encoding manners can include, but are not limited to, LDPC encoding, Polar encoding, tail-biting convolutional code (TBCC), Turbo codes, bose-chaudhuri-hocquenghem codes (BCH codes), or extended bose-chaudhuri-hocquenghem codes (eBCH codes), and the like.

[0121] It can be understood that for different encoding manners, each encoding manner is configured with an encoding matrix under one or more code rates (or it can be understood that for each encoding manner, a mapping relationship of different encoding matrices corresponding to one or more code rates is configured). For example, taking LDPC encoding and Polar encoding as examples. For LDPC encoding, an encoding matrix a corresponding to a code rate a and an encoding matrix b corresponding to a code rate b are configured. For Polar encoding, an encoding matrix c corresponding to a code rate c and an encoding matrix d corresponding to a code rate d are configured.

[0122] In another example, if the first device employs the same encoding manner for the information bit sequences of different code rates, the different code rates correspond to different encoding matrices in the same encoding manner respectively. It can be understood that for the same encoding manner, the encoding manner is configured with encoding matrices of different code rates (or it can be understood that for the same encoding manner, a mapping relationship of different code rates corresponding to different encoding matrices is configured). For example, taking LDPC encoding as an example. For the LDPC encoding, the code rate a corresponds to the encoding matrix a, the code rate b corresponds to the encoding matrix b, the code rate a' corresponds to the encoding matrix a', and the code rate b' corresponds to the encoding matrix b'.

[0123] For example, the implementation process of the first device determining the target encoding matrix corresponding to the first information bit sequence is introduced below through the following possible implementation manners.

[0124] Implementation manner one: if the first code rate is greater than or equal to the first code rate threshold, the first device can determine the first encoding matrix (or can be referred to as the first generation matrix) as the target encoding matrix.

[0125] For example, the first code rate threshold (or can be referred to as the first code rate threshold, such as 0.9375) can be predefined or preconfigured. Alternatively, the first code rate threshold can also be determined by the first device according to the CSI (or it can be understood as the channel quality or CSI of the channel used for transmitting the first encoding sequence) corresponding to the first encoding sequence, so as to realize the determination of the first code rate threshold according to the given performance requirement.

[0126] For example, the first code rate threshold can satisfy the following formula:

[0127] wherein, R min is used to represent the first code rate threshold, SNR loss is used to represent the signal to noise ratio (SNR) loss.

[0128] In one example, when the CSI includes RSRP, the signal to noise ratio loss can be determined by the first device according to the RSRP corresponding to the plurality of reference signals.

[0129] In another example, when the CSI includes SINR, the signal to noise ratio loss can be determined by the first device according to the SINR corresponding to the plurality of reference signals.

[0130] In yet another example, when the CSI includes RSRQ, the signal to noise ratio loss can be determined by the first device according to the RSRQ corresponding to the plurality of reference signals.

[0131] Implementation two: If the first code rate is less than the first code rate threshold, the first device can determine a second encoding matrix (or can be referred to as a second generating matrix) as the target encoding matrix.

[0132] Wherein, the second encoding matrix and the first encoding matrix are not the same.

[0133] Exemplarily, the second encoding matrix and the first encoding matrix are not the same are introduced below through the following several possible examples.

[0134] Example one: If the first device adopts different encoding manners for information bit sequences of different code rates, the second encoding matrix is not the same as the first encoding matrix. Wherein, the first encoding matrix and the second encoding matrix correspond to different encoding manners respectively. Exemplarily, the first encoding matrix and the second encoding matrix are encoding matrices corresponding to two different code rates respectively under different encoding manners.

[0135] For example, taking two code rates (such as code rate 1 and code rate 2) as an example. Wherein, the code rate 1 is less than the first code rate threshold, and the code rate 2 is greater than or equal to the first code rate threshold. Assuming that the encoding manner corresponding to the code rate 1 is LDPC encoding, and the encoding manner corresponding to the code rate 2 is Polar encoding. If the first information bit sequence corresponds to the code rate 1, the first device can determine the encoding matrix 1 from the corresponding relationship table (or can be referred to as the mapping relationship table or the association relationship table, such as the corresponding relationship table between different code rates and different encoding matrices) between the code rate and the encoding matrix corresponding to the LDPC encoding according to the code rate 1, and can take the encoding matrix 1 as (or determine as) the target encoding matrix. Optionally, the first device can also determine the encoding matrix 1 according to the code rate 1 and the mapping relationship between the code rate and the encoding matrix corresponding to the pre-configured LDPC encoding.

[0136] If the first information bit sequence corresponds to the code rate 2, the first device can determine the encoding matrix 2 from the corresponding relationship table between the code rate and the encoding matrix corresponding to the Polar encoding according to the code rate 2, and can take the encoding matrix 2 as the target encoding matrix. Optionally, the first device can also determine the encoding matrix 2 according to the code rate 2 and the mapping relationship between the code rate and the encoding matrix corresponding to the pre-configured Polar encoding.

[0137] Example two: If the first device adopts the same encoding manner for information bit sequences of different code rates, the second encoding matrix includes the first encoding matrix. Wherein, the first encoding matrix and the second encoding matrix correspond to the same encoding manner. Exemplarily, the first encoding matrix and the second encoding matrix are encoding matrices corresponding to two different code rates respectively under the same encoding manner.

[0138] For example, the second encoding matrix can be understood as the first encoding matrix belonging to a sub-encoding matrix of the second encoding matrix (or can be understood as the first encoding matrix being one of at least one sub-encoding matrix included in the second encoding matrix), or can also be understood as the first encoding matrix being an encoding matrix composed of multiple element values (such as element values of some rows or some columns, or element values of the ith row and the jth column) selected (or determined) from the second encoding matrix.

[0139] For example, continue to take two code rates (such as code rate 1 and code rate 2) as an example. Among them, the code rate 1 is less than the first code rate threshold, and the code rate 2 is greater than or equal to the first code rate threshold. Assuming that the encoding modes corresponding to the code rate 1 and the code rate 2 are both LDPC encoding. If the first code rate corresponding to the first information bit sequence is the code rate 1, the first device can determine the encoding matrix 1 from the correspondence relationship table between the code rates corresponding to the LDPC encoding and the encoding matrices according to the code rate 1, and can take the encoding matrix 1 as the target encoding matrix. Alternatively, the first device can also determine the encoding matrix 1 according to the code rate 1 and the mapping relationship between the code rates corresponding to the LDPC encoding and the encoding matrices pre-configured.

[0140] If the first code rate corresponding to the first information bit sequence is the code rate 2, the first device can determine the encoding matrix 1' from the correspondence relationship table between the code rates corresponding to the LDPC encoding and the encoding matrices according to the code rate 2, and can take the encoding matrix 1' as the target encoding matrix. Alternatively, the first device can also determine the encoding matrix 1' according to the code rate 2 and the mapping relationship between the code rates corresponding to the LDPC encoding and the encoding matrices pre-configured.

[0141] Step 303: The first device uses the target encoding matrix to perform channel encoding on the first information bit sequence to obtain a first encoding sequence.

[0142] For example, the target encoding matrix can refer to the first encoding matrix, or the target encoding matrix can also refer to the second encoding matrix.

[0143] The following describes the implementation process of the first device using the target encoding matrix to perform channel encoding on the first information bit sequence to obtain a first encoding sequence (or can be referred to as a first encoding bit sequence) through the following possible implementation manners.

[0144] Manner one: When the target encoding matrix refers to the first encoding matrix, the first device can use the first encoding matrix to perform channel encoding on the first information bit sequence to obtain the first encoding sequence.

[0145] Manner two: When the target encoding matrix refers to the second encoding matrix, the first device can use the second encoding matrix to perform channel encoding on the first information bit sequence to obtain the first encoding sequence.

[0146] For example, continue to take two code rates (such as code rate 1 and code rate 2) as an example, and take the first information bit sequence as information bit sequence a. Among them, code rate 1 is less than the first code rate threshold, and code rate 2 is greater than or equal to the first code rate threshold.

[0147] In one example, take code rate 1 and code rate 2 as an example corresponding to different encoding modes. Assuming that the encoding mode corresponding to code rate 1 is LDPC encoding, and the encoding mode corresponding to code rate 2 is Polar encoding. When the first code rate corresponding to the information bit sequence a is code rate 1, the encoding matrix 1 is the target encoding matrix. Among them, the encoding matrix 1 is the encoding matrix corresponding to LDPC encoding at code rate 1. Then, the first device can use the encoding matrix 1 to perform channel encoding on the information bit sequence a to obtain the encoding sequence a. When the first code rate corresponding to the information bit sequence a is code rate 2, the encoding matrix 2 is the target encoding matrix. Among them, the encoding matrix 2 is the encoding matrix corresponding to Polar encoding at code rate 2. Then, the first device can use the encoding matrix 2 to perform channel encoding on the information bit sequence a to obtain the encoding sequence a'.

[0148] In another example, take code rate 1 and code rate 2 as an example corresponding to the same encoding mode. Assuming that the encoding mode corresponding to code rate 1 and code rate 2 is LDPC encoding. When the first code rate corresponding to the information bit sequence a is code rate 1, the encoding matrix 1 is the target encoding matrix. Among them, the encoding matrix 1 is the encoding matrix corresponding to LDPC encoding at code rate 1. Then, the first device can use the encoding matrix 1 to perform channel encoding on the information bit sequence a to obtain the encoding sequence a. When the first code rate corresponding to the information bit sequence a is code rate 2, the encoding matrix 1' is the target encoding matrix. Among them, the encoding matrix 1' is the encoding matrix corresponding to LDPC encoding at code rate 2. Then, the first device can use the encoding matrix 1' to perform channel encoding on the information bit sequence a to obtain the encoding sequence a".

[0149] Optionally, the first device can perform rate matching on the first encoding sequence when outputting the first encoding sequence.

[0150] As can be seen from the above steps 301 to 303, the first device can dynamically (or flexibly or adaptively) select the corresponding (or matched or appropriate) encoding matrix according to the first code rate (i.e. the code rate of the current encoding), so that the encoding of the information bit sequence is more flexible, and the encoding of the information bit sequence is more targeted and more accurate, thereby ensuring the encoding performance.

[0151] FIG. 4 is a flow diagram of a decoding method according to an embodiment of the present application. The method is applicable to the communication system architecture shown in FIG. 1. It can be understood that the decoding method shown in FIG. 4 can be executed by the second device, or can also be executed by a module (such as a processor, a processing unit, a chip system, a circuit or a chip, etc.) in the second device. Alternatively, the encoding method shown in FIG. 3 can also be implemented by a logic node, a logic module or software capable of implementing all or part of the functions of the second device. For example, the second device can be a terminal device, a network device or other types of devices, and the specific type of the second device is not limited in the embodiments of the present application. The decoding method shown in FIG. 4 is taken as an example below, and the specific implementation process of the decoding method can include the following steps:

[0152] Step 401: The second device acquires a first to-be-decoded sequence and a first code rate.

[0153] The first to-be-decoded sequence is obtained from a first information bit sequence. It can be understood that the first to-be-decoded sequence corresponds to a first encoded sequence. The first encoded sequence is also obtained based on the first information bit sequence.

[0154] For example, the first information bit sequence can include one or more information bits. It can be understood that an information bit can refer to a bit carrying information. Alternatively, the information bit can be referred to as a payload information bit or an original information bit to be transmitted. For example, the information bit can be an information bit obtained through source encoding.

[0155] In one example, the second device acquires the first to-be-decoded sequence, specifically, the second device can receive a physical signal through an air interface, and acquire the first to-be-decoded sequence by analyzing the physical signal. In another example, the second device acquires the first to-be-decoded sequence, specifically, the second device can acquire the first to-be-decoded sequence from the local through an internal interface.

[0156] For example, the second device acquires the first code rate, specifically, the second device can receive a physical signal (or information or message, etc.) through an air interface, and acquire the first code rate by analyzing the physical signal (or information or message, etc.), or the second device can acquire the first code rate from the local through an internal interface.

[0157] The first code rate is related to the first information bit sequence. For example, the first code rate being related to the first information bit sequence can mean that the first code rate has a corresponding relationship (or can be referred to as an association relationship or a mapping relationship) with the first information bit sequence, or can mean that the first code rate is determined according to the first information bit sequence, for example, the first code rate refers to the ratio of the length of the first information bit sequence to the code length after rate matching.

[0158] Step 402: The second device determines the target decoder corresponding to the first to-be-decoded sequence according to the first code rate.

[0159] Exemplarily, the target decoder (or can be referred to as a target decoding algorithm or a target decoding manner) can refer to the first decoder (or can be referred to as a first decoding algorithm or a first decoding manner), or the target decoder can also refer to the second decoder (or can be referred to as a second decoding algorithm or a second decoding manner).

[0160] In one example, in the case that the decoding complexity of the second decoder is the same as the decoding complexity of the first decoder and / or the decoder chip area of the second decoder is the same as the decoder chip area of the first decoder, the decoding performance of the second decoder is higher (or greater) than the decoding performance of the first decoder. In another example, in the case that the decoding performance of the second decoder is the same as the decoding performance of the first decoder, the decoding complexity of the second decoder is lower (or smaller) than the decoding complexity of the first decoder and / or the chip area of the second decoder is smaller than the chip area of the first decoder.

[0161] For example, the first decoder can be GRAND (or referred to as a GRAND decoding algorithm), and the second decoder can be an ordered statistic decoder (OSD).

[0162] The implementation process of the second device determining the target decoder corresponding to the first to-be-decoded sequence according to the first code rate is introduced below through the following possible implementation manners.

[0163] Implementation manner one: If the first code rate is greater than a first code rate threshold, the second device can determine the first decoder as the target decoder.

[0164] For example, the first code rate threshold (such as 0.9375) can be predefined or preconfigured. Alternatively, the first code rate threshold can also be determined by the second device according to the CSI corresponding to the first to-be-decoded sequence (or can be understood as the channel quality of the channel corresponding to the first to-be-decoded sequence or the CSI), so as to realize the determination of the first code rate threshold according to the performance requirement. Alternatively, the first code rate threshold can also be sent by the first device to the second device.

[0165] Optionally, when the first code rate threshold is determined by the second device, the formula of the first code rate threshold can refer to the description of the formula of the first code rate threshold in step 302, which will not be repeated here. It can be understood that in the case where the first code rate threshold is determined by the second device, in one example, when the CSI includes RSRP, the signal-to-noise ratio loss involved in the formula of the first code rate threshold can be determined by the second device according to the RSRP corresponding to the plurality of reference signals. In another example, when the CSI includes SINR, the signal-to-noise ratio loss involved in the formula of the first code rate threshold can be determined by the second device according to the SINR corresponding to the plurality of reference signals. In yet another example, when the CSI includes RSRQ, the signal-to-noise ratio loss involved in the formula of the first code rate threshold can be determined by the second device according to the RSRQ corresponding to the plurality of reference signals.

[0166] For example, based on the decoding performance of OSD, the greater the performance loss (which can be represented by the signal-to-noise ratio loss) relative to the performance of OSD, the greater the code rate interval using GRAND. If the performance loss relative to the performance of 3-order OSD is required to be no more than 1 dB, as long as the current code rate (such as the first code rate) is higher (or greater) than the code rate threshold 0.875 (i.e., Rmin=(1-1 / 8)=0.875), the performance loss condition can be met. If the performance loss relative to the performance of 3-order OSD is required to be 3 dB, the code rate threshold is 0.625 (i.e., Rmin=(1-3 / 8)=0.625), and when the current code rate is higher than the code rate threshold 0.625, using GRAND can meet the performance loss.

[0167] Referring to FIG. 5, a diagram of performance difference of BCH codes with code length N=128 and message bit number (i.e., the number of message bits included in the message bit sequence) K={8, 15, 22, 29, 36, 43, 50, 57, 64, 71, 78, 85, 92, 99, 106, 113, 120} at different code rates under GRAND and OSD is shown. Wherein, the horizontal axis is the code rate R, and the vertical axis is the SNR difference required for 3-order GRAND and 3-order OSD to reach a block error rate (BLER) of 0.1, respectively. It can be understood that the code rate R can be the ratio of the message bit number to the code length. As can be seen from FIG. 5, the lower the curve, the smaller the performance difference between 3-order GRAND and 3-order OSD, i.e., the closer the decoding performance of 3-order GRAND to the decoding performance of 3-order OSD. Moreover, as can be seen from FIG. 5, for 3-order decoding, the smaller the performance difference between 3-order GRAND and 3-order OSD is, the greater the code rate R is.

[0168] Implementation two: If the first code rate is less than the first code rate threshold, the second device can determine the second decoder as the target decoder.

[0169] For example, consider two code rates (e.g., code rate 1 and code rate 2), with the first decoder being GRAND and the second decoder being OSD. Code rate 1 is less than a first code rate threshold, and code rate 2 is greater than the first code rate threshold. When the first code rate is code rate 1, the second device can select OSD as the target decoder. When the first code rate is code rate 2, the second device can select GRAND as the target decoder.

[0170] Implementation method 3: If the first code rate is equal to the first code rate threshold, the second device can determine the first decoder or the second decoder as the target decoder.

[0171] For example, consider a first code rate of 3, a first decoder of GRAND, and a second decoder of OSD. Here, code rate 3 equals the first code rate threshold. Based on the fact that code rate 3 equals the first code rate threshold, the second device can choose either OSD or GRAND as the target decoder.

[0172] Step 403: The second device uses the target decoder to perform channel decoding on the first sequence to be decoded to obtain the first information bit sequence.

[0173] For example, the target decoder can refer to the first decoder, or the target decoder can refer to the second decoder.

[0174] The following describes the implementation process of the second device using the target decoder to perform channel decoding on the first sequence to be decoded, thereby obtaining the first information bit sequence, through several possible implementation methods.

[0175] Method 1: When the target decoder refers to the first decoder, the second device can use the first decoder to perform channel decoding on the first sequence to be decoded to obtain the first information bit sequence.

[0176] For example, let the first decoder be GRAND and the first sequence to be decoded be the received symbol vector. For example, It contains n elements. System bits. for The first to k elements in the system bit, that is, the system bit include The first to the kth elements in the array. For example, for GRAND, the default (or set) maximum flip order is t. Specifically, the decoding process of GRAND includes the following steps.

[0177] Step 1, the second device... Encode the code to obtain the decoding result a0, i.e. Here, G represents the encoding matrix, which is a k*n matrix. Then, the second device statistically analyzes a0 and... The difference is calculated to obtain the number of differences x, and a0 is recorded as the currently retained decoding result.

[0178] Step 2, the second device is flipped. The first bit (or what can be understood as the second device flipping) in the middle. The element at the first position (or bit) in the array (e.g., 0->1 or 1->0) is obtained. After that, the second device... Encode the code to obtain the decoding result a0. 1 ,Right now

[0179] Step 3, the second device counts a0 1 and The difference is calculated to obtain the difference quantity x'. If the difference quantity x' is less than the difference quantity x, the second device can update (or adjust) the currently retained decoding result from a0 to a0. 1 (This can be understood as the second device will a0) 1 The second device can update the number of differences from x to x' (which can be understood as the second device using x' as the currently retained number of differences). If the number of differences x' is greater than or equal to the number of differences x, the second device will not update the currently retained decoding result and the number of differences.

[0180] Step 4, the second device flips sequentially. The 2nd, 3rd, ..., nth bits (which can be understood as the second device flipping each of the 2nd to nth bits once in sequence) are used to obtain the result after each flip. And for each flipped result Encode the result after each flip to obtain the final product. The corresponding decoding result a0 i ,Right now Where i = {2, 3, ..., n}. It should be understood that the second device addresses each decoding result a0... i Proceed to step 3.

[0181] Step 5, Selecting the second device Flip 2 bits in the data to get the flipped result. And the result after flipping Encode the code to obtain the decoding result a2, which is... in, Used to indicate flipping The result is obtained from 2 bits. Then, the second device performs step 3 on the decoded result a2. Step 5 is repeated until a 2-bit flipped combination is selected (with...). All combinations) are executed.

[0182] For example, with Taking a 4-bit array (e.g., 0101) as an example, bit 1 corresponds to element 0, bit 2 corresponds to element 1, bit 3 corresponds to element 0, and bit 4 corresponds to element 1. Thus, combinations of flipping 2 bits include combinations of bit 1 and bit 2 (i.e., flipping the elements of bit 1 and bit 2, for example, flipping the element corresponding to 0 in bit 1 to 1 and the element corresponding to 1 in bit 2 to 0), combinations of bit 1 and bit 3 (i.e., flipping the elements of bit 1 and bit 3), combinations of bit 1 and bit 4 (i.e., flipping the elements of bit 1 and bit 4), combinations of bit 2 and bit 3 (i.e., flipping the elements of bit 2 and bit 3), combinations of bit 2 and bit 4 (i.e., flipping the elements of bit 2 and bit 4), and combinations of bit 3 and bit 4 (i.e., flipping the elements of bit 3 and bit 4). For example, a second device can first perform a flip based on the combination of bit 1 and bit 2... The process involves flipping the image to obtain a flipped result, which is then encoded to obtain the corresponding decoded result. Next, the second device performs step 3 based on this decoded result. Following this, the second device can sequentially perform other combinations described above... The process involves flipping the image to obtain the result after each flip, and then encoding each flipped result to obtain the corresponding decoded result. Then, after obtaining the decoded result for each flipped result, the second device executes step 3.

[0183] Step 6, Selecting the Second Device The 3rd, 4th, 5th, ..., tth bits are flipped (which can be understood as the second device selecting first). The three bits in the sequence are flipped. After all the flipped combinations of the three bits are completed, the corresponding operation is performed (i.e., the result after each flip is encoded to obtain the decoding result corresponding to each flip, and step 3 is performed for the decoding result corresponding to each flip). Then, the sequence is selected. The four bits in the sequence are flipped. After all the flipped combinations of the four bits have been processed, the selection is performed. Flip 5 bits in the selection, and so on, until the selection is complete. The process involves flipping t bits in the data to obtain the result after each flip (or the data after each flip), and then encoding each flip result to obtain the corresponding decoding result. It should be understood that the second device performs step 3 for each flip result's corresponding decoding result. This means that when the second device selects... When flipping t bits in the first device, the second device also needs to perform the corresponding operation on all flipped combinations of t bits. For the specific implementation process, please refer to the second device selection section below. The relevant description of flipping 3 bits in the data.

[0184] For example, selecting the second device Taking the flipping of 3 bits as an example. The second device is selected... Flip 3 bits in the data to get the flipped result. And the result after flipping Encode the result to obtain the reversed version. The corresponding decoding result is a3, that is in, Used to indicate flipping The result is obtained from 3 bits. Then, the second device performs step 3 on the decoded result a3. This process is repeated until a 3-bit flipped combination is selected (with...). All combinations) are executed.

[0185] For example, continue with Taking a 4-bit array (e.g., 0101) as an example, bit 1 corresponds to element 0, bit 2 corresponds to element 1, bit 3 corresponds to element 0, and bit 4 corresponds to element 1. Thus, the flipping combinations of these 3 bits include combinations of bit 1, bit 2, and bit 3 (i.e., flipping the elements of bit 1, bit 2, and bit 3, for example, flipping the element corresponding to bit 1 (0) to 1, the element corresponding to bit 2 (1) to 0, and the element corresponding to bit 3 (0) to 1), combinations of bit 1, bit 2, and bit 4 (i.e., flipping the elements of bit 1, bit 2, and bit 4), combinations of bit 1, bit 3, and bit 4 (i.e., flipping the elements of bit 1, bit 3, and bit 4), and combinations of bit 2, bit 3, and bit 4 (i.e., flipping the elements of bit 2, bit 3, and bit 4). For example, a second device can first perform a flip based on the combination of bit 1, bit 2, and bit 3... The process involves flipping the image to obtain a flipped result, which is then encoded to obtain the corresponding decoded result. Next, the second device performs step 3 based on this decoded result. Following this, the second device can sequentially perform other combinations described above... The process involves flipping the image to obtain the result after each flip, and then encoding each flipped result to obtain the corresponding decoded result. Then, after obtaining the decoded result for each flipped result, the second device executes step 3.

[0186] Step 7: The second device uses the currently retained decoding result as the final decoding result, that is, decodes the information bit sequence.

[0187] Method 2: When the target decoder refers to the second decoder, the second device can use the second decoder to perform channel decoding on the first sequence to be decoded to obtain the first information bit sequence.

[0188] For example, let the first decoder be the OSD and the first sequence to be decoded be the received symbol vector. For example, It contains n elements. System bits. include The OSD contains p elements. Specifically, the OSD decoding process includes the following steps. As an example, the OSD decoding process can be seen in Figure 6.

[0189] Step 1, the second device from From the n elements included, the p elements with the highest reliability metric (or reliability level) are identified, and based on this, the most reliable bit sequence (MRB) is determined. Then, the second device can use the MRB as the system bits. The MRB consists of p elements (or can be understood as consisting of p bits). Each element included corresponds to a reliability metric (or can be understood as...) Each bit in the table corresponds to a reliability metric (one bit corresponds to one element). For example, the reliability metric here could refer to the magnitude of the log-likelihood ratio.

[0190] In this embodiment of the application, the second device can perform tests in descending order of reliability metric values. The n elements are sorted, and the first p elements in the sort can be selected to determine the MRB.

[0191] Step 2: The second device performs Gaussian elimination on the encoding matrix with MRB as the system bit, that is, it treats MRB as the message position, and the resulting matrix is ​​the Systematic Generator Matrix (SGM) corresponding to the current MRB.

[0192] Step 3: The second device performs a hard decision on the log-likelihood ratio corresponding to the MRB, and obtains...

[0193] Step 4, the second device... Re-encoding is performed to obtain the candidate codeword (which can also be understood as the decoding result) b0, i.e.

[0194] Step 5, the second device... Perform bit flipping (which can be understood as a second device flipping) The elements at positions 1, 2, 3, ..., q (or bits) are used, and the result of each flip is re-encoded to obtain the candidate codeword corresponding to each flip result, that is, the candidate codeword b = b0 corresponding to each flip result. m Where m represents the number of bits to be flipped based on b0 (or can be understood as the number of elements), m = {1,2,3,…,q}, and q represents the maximum number of bits that can be flipped.

[0195] For example, flipping with a second device Taking 2 bits as an example. The second device flips. The 2 bits in the middle are used to obtain the flipped result. And the result after flipping Re-encode to obtain the reversed result. The corresponding candidate codeword, i.e., the result after flipping. The corresponding candidate codeword b = b0 2 .in, Used to indicate flipping The result is obtained from 2 bits in the middle.

[0196] For example, with For example, the second device can first perform flipping based on the combination of bit 1 and bit 2, obtain a flipped result, and re-encode the flipped result to obtain a candidate codeword corresponding to the flipped result. Next, the second device can perform flipping based on the other combinations in turn, obtain a flipped result each time, and re-encode each flipped result to obtain a candidate codeword corresponding to the flipped result each time. For example, the second device can first perform flipping based on the combination of bit 1 and bit 2, obtain a flipped result, and re-encode the flipped result to obtain a candidate codeword corresponding to the flipped result. Next, the second device can perform flipping based on the other combinations in turn, obtain a flipped result each time, and re-encode each flipped result to obtain a candidate codeword corresponding to the flipped result each time. For example, the second device can first perform flipping based on the combination of bit 1 and bit 2, obtain a flipped result, and re-encode the flipped result to obtain a candidate codeword corresponding to the flipped result. Next, the second device can perform flipping based on the other combinations in turn, obtain a flipped result each time, and re-encode each flipped result to obtain a candidate codeword corresponding to the flipped result each time.

[0197] Step 6: The second device calculates, according to the acceptance symbol vector and the candidate codewords corresponding to the flipped results each time, a maximum likelihood (ML) metric value corresponding to each candidate codeword, i.e., a maximum likelihood metric value For example, the second device can first perform flipping based on the combination of bit 1 and bit 2, obtain a flipped result, and re-encode the flipped result to obtain a candidate codeword corresponding to the flipped result. Next, the second device can perform flipping based on the other combinations in turn, obtain a flipped result each time, and re-encode each flipped result to obtain a candidate codeword corresponding to the flipped result each time. For example, the second device can first perform flipping based on the combination of bit 1 and bit 2, obtain a flipped result, and re-encode the flipped result to obtain a candidate codeword corresponding to the flipped result. Next, the second device can perform flipping based on the other combinations in turn, obtain a flipped result each time, and re-encode each flipped result to obtain a candidate codeword corresponding to the flipped result each time.

[0198] Step 7: The second device selects, from the plurality of candidate codewords, a first candidate codeword corresponding to the M largest maximum likelihood metric values as a target codeword (here, the target codeword can be understood as a target decoding result).

[0199] It can be understood that the larger M is, the greater the likelihood that the corresponding candidate codeword is a correct codeword, and therefore the second device can select, from the plurality of candidate codewords, a first candidate codeword corresponding to the M largest maximum likelihood metric values as a target codeword. Subsequently, the second device can output the target codeword.

[0200] As can be seen from the above steps 401 to 403, the second device can dynamically select a corresponding decoder according to a first code rate (i.e., a code rate of current encoding), which can enable the second device to select a suitable decoder for channel decoding according to a code rate, so as to achieve the purpose of reducing decoding complexity (e.g., reducing decoding complexity of the first decoder for encoding with a lower code rate or a longer code length) while ensuring decoding performance. In addition, the method can make the selection of the decoder more flexible, and the selected decoder can be more matched to the to-be-decoded sequence (or can be understood as the selected decoder being more suitable for the to-be-decoded sequence), which can help to ensure the decoding accuracy of the to-be-decoded sequence.

[0201] The simulation result diagram of the decoding method provided by the embodiment of the present application is described below in combination with FIG. 7. Referring to FIG. 7, the performance diagram of the BCH code with code length N=128 and message bit number K={8, 15, 22, 29, 36, 43, 50, 57, 64, 71, 78, 85, 92, 99, 106, 113, 120} under different code rates of GRAND and OSD is shown. The horizontal axis is code rate R, and the vertical axis is the SNR required for 3-order GRAND and 3-order OSD to reach BLER of 0.1. It can be understood that the code rate R can be the ratio of the message bit number to the code length. It can be seen from FIG. 5 that the lower the curve, the better the performance. Moreover, it can be seen from FIG. 7 that, for the same 3-order decoding, the decoding performance of GRAND under high code rate can approach the decoding performance of OSD under high code rate, because GRAND is more suitable for decoding linear codes under high code rate. That is, it can be understood that, under the same flipping order, the decoding performance of GRAND under high code rate is almost the same as the decoding performance of OSD.

[0202] It can be understood that, although the existing OSD has better decoding performance, it needs Gaussian elimination operation and is relatively complex to implement, and therefore the decoding method provided by the embodiment of the present application can effectively reduce the decoding complexity (such as reducing the decoding complexity in the high code rate interval) while ensuring the decoding performance, by selecting a suitable (or matched or corresponding) decoder according to the current code rate.

[0203] Moreover, it can be seen from FIG. 7 that, under the same flipping order 3, OSD is more suitable for the low code rate interval than GRAND. For example, taking the case where the code length is equal to N=128, the code rate R=K / N=1 / 8, and the message bit dimension K=0.128*128=16 as an example. GRAND needs to flip at most 3 positions in 128 positions. The maximum test error pattern (TEP) number is And OSD only needs to flip in K=16 message bit positions, and the maximum flipping number (or TEP number) is It can be seen from this that the TEP number required to be detected by OSD is only 1 / 500 of that of GRAND.

[0204] The encoding method embodiment shown in FIG. 3 and the decoding method embodiment shown in FIG. 4 can be independently implemented or combined. In the case of combined implementation, after step 303, the first device can send the first encoding sequence to the second device, the second device receives a physical signal generated based on the first encoding sequence, parses the physical signal, and obtains the first to-be-decoded sequence corresponding to the first encoding sequence sent by the first device. Then, the second device executes the decoding method embodiment shown in FIG. 4 to determine the target decoder corresponding to the first to-be-decoded sequence according to the first code rate, and then uses the target decoder to channel-decode the first to-be-decoded sequence to obtain the first information bit sequence.

[0205] FIG. 8 is a flowchart of an encoding and decoding method according to an embodiment of the present application. The method is applicable to the communication system architecture shown in FIG. 1. It can be understood that the encoding and decoding method shown in FIG. 8 is illustrated by taking the first device and the second device as the interactive execution subject, but the present application does not limit the interactive execution subject. It should be understood that, without special indication, the "first device" in the present application can refer to the first device itself (such as a network device or a terminal device or other types of devices), a module in the first device (such as a processor, a processing unit, a chip system, a circuit or a chip, etc.), or a logic node, a logic module or software capable of realizing all or part of the functions of the first device. Similarly, without special indication, the "second device" in the present application can refer to the second device itself (such as a network device or a terminal device or other types of devices), a module in the second device (such as a processor, a processing unit, a chip system, a circuit or a chip, etc.), or a logic node, a logic module or software capable of realizing all or part of the functions of the second device. For example, when the first device is a terminal device, the second device can be a network device, or the second device can also be a terminal device; when the first device is a network device, the second device can be a terminal device, or the second device can also be a terminal device. As shown in FIG. 8, the specific implementation process of the encoding and decoding method can include:

[0206] Step 801: The second device sends the first information. Correspondingly, the first device receives the first information.

[0207] Step 802: The first device determines the second code rate threshold corresponding to the first information.

[0208] For example, the second device can be a decoding device (or can be called a decoding end or a receiving device, such as a device for receiving a to-be-decoded sequence), and the first device can be an encoding device (or can be called an encoding end or a sending device, such as a device for sending an encoding sequence).

[0209] In the embodiments of the present application, after obtaining the first information, the first device can determine the second code rate threshold according to the first information (i.e., the first information can be used to determine the second code rate threshold). In this way, the second device can more accurately select the corresponding (or appropriate) code rate to encode the information bit sequence to be encoded according to the second code rate threshold, so as to improve the encoding performance (or encoding efficiency). For example, the first information can include at least one of the following: first indication information, second indication information, third indication information, or fourth indication information, etc. Wherein, the first indication information can be used to indicate the type of the decoder (i.e., the type of the decoder used by the second device), for example, the type of the decoder can be the type of the third decoder, or the type of the decoder can also be the type of the fourth decoder. The second indication information can be used to indicate the MCS index (i.e., the index of the MCS currently used by the second device). The third indication information can be used to indicate the second code rate threshold, and the fourth indication information can be used to indicate the first encoding type (i.e., the type of the encoding manner currently used by the second device), which corresponds to (or can be called associated with) the first encoding manner (or can be called the first encoding scheme or the first encoding strategy). For example, the first encoding manner can include a random channel encoding manner (or can be called a random channel encoding scheme) and / or a limited buffer rate matching (LBRM) based encoding manner. The LBRM based encoding manner is the encoding manner corresponding to the target code rate. Optionally, the fourth indication information can also be used to indicate the second encoding type. Wherein, the second encoding type corresponds to the second encoding manner. For example, the second encoding manner can include the channel encoding manner in the existing NR (such as one or more channel encoding manners in the existing NR). For example, the channel encoding manner in the existing NR can include but is not limited to Polar encoding or LDPC encoding, etc. Wherein, the indication of the fourth indication information indicating the first encoding type or the second encoding type (i.e., the encoding type indicated by the fourth indication information is the first encoding type or the second encoding type) can refer to the related description of the indication of the first indication information below, which will not be repeated here.

[0210] The following describes the implementation of the first device determining the second code rate threshold according to the first information through the following possible examples.

[0211] In an example, when the first indication information indicates the decoder type corresponding to the third decoder, the first device can determine the length of the buffer region for buffering the encoded sequence according to the second length and the third length, where the first length is the minimum length of the second length and the third length, the second length is the length of the second encoded sequence (i.e., the length of the encoded sequence output by the channel encoder after processing the second information bit sequence), and the third length is determined by the first device according to the total number of bits corresponding to the second information bit sequence and the number of segments. The second information bit sequence can be a to-be-encoded information bit sequence. Alternatively, the second information bit sequence can also be referred to as a to-be-encoded sequence, or a code stream, etc. For example, the second information bit sequence can include one or more information bits.

[0212] For example, the decoder corresponding to the decoder type can be a third decoder, or the decoder corresponding to the decoder type can also be a fourth decoder. The third decoder can be different from the fourth decoder. For example, the third decoder can be a GRAND, and the fourth decoder can be a non-GRAND.

[0213] Alternatively, when the first indication information is used to indicate the decoder type, the first device can also determine the length of the buffer region for buffering the encoded sequence (such as the second encoded sequence (or referred to as the second code word)) according to the decoder type, so that the buffer region can meet the buffering requirement of the encoded sequence (or referred to as the code word), and the first device can dynamically adjust the length of the buffer region according to the decoder type, which has high flexibility, so that the length of the buffer region can be matched with the length of the encoded sequence.

[0214] In an example, when the decoder type indicated by the first indication information corresponds to the third decoder, the first device can determine the length of the buffer region for buffering the encoded sequence as the first length according to the second length and the third length. The first length is the minimum length of the second length and the third length, the second length is the length of the second encoded sequence (i.e., the length of the encoded sequence output by the channel encoder after processing the second information bit sequence), and the third length is determined by the first device according to the total number of bits corresponding to the second information bit sequence and the number of segments. The second information bit sequence can be a to-be-encoded information bit sequence. Alternatively, the second information bit sequence can also be referred to as a to-be-encoded sequence, or a code stream, etc. For example, the second information bit sequence can include one or more information bits.

[0215] In another example, when the decoder type indicated by the first indication information corresponds to the fourth decoder, the first device can determine the second length as the length of the buffer region for buffering the encoded sequence.

[0216] For example, taking the third decoder as GRAND, the fourth decoder as non-GRAND, and the encoding sequence output by the second information bit sequence after the channel coding processing as d0, d1, d2, …, dN as an example. Wherein, N is the code word length (or can be referred to as the encoding sequence length) output by the channel coding. After the first device obtains the corresponding encoding sequence by channel coding on the second information bit sequence, the encoding sequence needs to be written (or buffered) into a circular buffer (CB) with a length of Ncb. For example, when the decoder type indicated by the first indication information corresponds to a non-GRAND decoder, Ncb=N. For another example, when the decoder type indicated by the first indication information corresponds to a GRAND decoder, Ncb=min{N, Nref}. Wherein, wherein, wherein,

[0217] For example, the following takes the case that the first indication information indicates that the decoder used by the second device is GRAND or non-GRAND as an example, and introduces the indication of the first indication information through the following possible examples.

[0218] Example 1: The decoder used by the second device is GRAND or non-GRAND, which can be indicated by the corresponding change (such as content change or format change or length change or field change, etc.) of the first indication information.

[0219] Example 2: The decoder used by the second device is GRAND or non-GRAND, which can be indicated by the first indication information occupying (or using) 1 bit to realize the corresponding indication content.

[0220] For example, when the first indication information bit value is 1, the first indication information can be used to indicate that the decoder used by the second device is GRAND (or can be referred to as the decoder used by the first device is GRAND). When the first indication information bit value is 0, the first indication information can be used to indicate that the decoder used by the second device is non-GRAND (or can be referred to as the decoder used by the first device is non-GRAND).

[0221] It can be understood that in some cases, the first indication information can also be understood as a parameter. For example, the first indication information is represented by parameter 1. Parameter 1 uses 1 bit to realize the corresponding indication content. In the case of parameter 1, there are two different parameter values (or can be understood as bit values, such as 0, 1) for indicating different indication contents. For example, when the parameter value of parameter 1 is 1, the parameter value 1 can indicate that the decoder used by the second device is GRAND. When the parameter value of parameter 1 is 0, the parameter value 0 can indicate that the decoder used by the second device is non-GRAND.

[0222] Example 3: The decoder used by the second device is GRAND or non-GRAND, which can realize the corresponding indication content by the first indication information type.

[0223] For example, when the first indication information type is type 1, it indicates that the decoder used by the second device is GRAND. When the first indication information type is type 2, it indicates that the decoder used by the second device is non-GRAND.

[0224] It can be understood that in some cases, the first indication information can also be understood as a parameter. For example, the first indication information is represented by parameter 2. When the type of parameter 2 carried in the first information sent by the second device is type 1, it indicates that the decoder used by the second device is GRAND. When the type of parameter 2 carried in the first information sent by the second device is type 2, it indicates that the decoder used by the second device is non-GRAND.

[0225] Example 4: The decoder used by the second device is GRAND or non-GRAND, which can be indicated by whether the first indication information appears.

[0226] For example, when the first indication information appears, it indicates that the decoder used by the second device is GRAND. When the first indication information does not appear, it indicates that the decoder used by the second device is non-GRAND.

[0227] It can be understood that in some cases, the first indication information can also be understood as a parameter. For example, the first indication information is represented by parameter 3. When the second device sends the first information carrying parameter 3, it indicates that the decoder used by the second device is GRAND. When the second device sends the first information without carrying parameter 3, it indicates that the decoder used by the second device is non-GRAND.

[0228] Example two: when the first information includes second indication information, the first device can obtain the second indication information from the first information after obtaining the first information. The second indication information indicates a corresponding relationship (or a mapping relationship or an association relationship) between the MCS index and the second code rate. Then, the first device can obtain the MCS index according to the second indication information. Then, the first device can determine the second code rate corresponding to the MCS index from the MCS table, and can take the second code rate as the second code rate threshold.

[0229] Optionally, the MCS table can be sent by the second device to the first device in advance, or the MCS table can be stored by the first device in advance, or the MCS table can be predefined, such as predefined by a protocol. For example, the MCS table can include a plurality of MCSs, each of which can correspond to a modulation order and a coding rate.

[0230] Example three: when the first information includes third indication information, the first device can obtain the third indication information from the first information after obtaining the first information. Then, the first device can obtain the second code rate threshold according to the third indication information.

[0231] It can be understood that the above examples one to three can be implemented separately or in combination (or can be referred to as combined implementation), and the embodiments of the present application do not limit this.

[0232] Optionally, the second device can also carry fourth indication information in the first information, so that the first device can learn which encoding manner is currently used by the second device in time, and thus the first device can accurately decide whether to use the LBRM-based encoding manner according to the encoding manner currently used by the second device. In an example, the first encoding type is indicated by the fourth indication information. After obtaining the first information, the first device can obtain the fourth indication information from the first information. Then, the first device can learn from the fourth indication information that the encoding manner currently used by the second device is the first encoding manner. When the first encoding manner includes the LBRM-based encoding manner, the first device can select to use the LBRM-based encoding manner to channel encode the second information bit sequence, and the minimum encoding rate used by the first device when using the LBRM-based encoding manner to channel encode the second information bit sequence is not lower than (understandably greater than or equal to) the second code rate threshold. When the first encoding manner includes the random channel encoding manner, the first device can select to use the random channel encoding manner to channel encode the second information bit sequence. When the first encoding manner includes the random channel encoding manner and the LBRM-based encoding manner, the first device can select to use the random channel encoding manner to channel encode the second information bit sequence, or the first device can also select to use the LBRM-based encoding manner to channel encode the second information bit sequence, and the minimum encoding rate used by the first device when using the LBRM-based encoding manner to channel encode the second information bit sequence is not lower than the second code rate threshold.

[0233] In another example, the second encoding type is indicated by the fourth indication information. After obtaining the first information, the first device can obtain the fourth indication information from the first information. Then, the first device can learn from the fourth indication information that the encoding manner currently used by the second device is the second encoding manner. When the second encoding manner includes a certain channel encoding manner in the existing NR, the first device can select to use the channel encoding manner to channel encode the second information bit sequence.

[0234] Step 803: The first device determines a target code rate corresponding to the second information bit sequence.

[0235] Step 804: The first device channel encodes the second information bit sequence according to the target code rate to obtain a second encoded sequence.

[0236] The target code rate (or can be referred to as a target encoding rate) is greater than or equal to the second code rate threshold. The target code rate refers to the code rate of the current encoding (i.e., the code rate used for encoding the second information bit sequence).

[0237] In the embodiments of the present application, after determining the second code rate threshold according to the first information, the first device can select a certain code rate greater than or equal to the second code rate threshold as a target code rate. Then, the first device can perform channel coding on the second information bit sequence according to the target code rate, to obtain a second coded sequence.

[0238] For example, taking the case that the first information includes one or more of the first indication information, the second indication information or the third indication information, and the second code rate threshold is 2 / 3. After determining the second code rate threshold according to the first information, if the code rate corresponding to the MCS (or MCS index) used (or supported) by the first device is greater than or equal to 2 / 3, or if the code rate supported by the number of currently available resource bits is greater than or equal to 2 / 3, the first device can determine the code rate corresponding to the MCS or the code rate supported by the number of currently available resource bits as the target code rate, or the first device can also select other code rates greater than or equal to 2 / 3 as the target code rate. Then, the first device can perform channel coding on the second information bit sequence according to the target code rate using the LBRM-based coding manner, to obtain a coded sequence f. That is, it can be understood that the lowest coding code rate (which can be understood as the target code rate) used by the first device when performing channel coding on the second information bit sequence using the LBRM-based coding manner is greater than or equal to 2 / 3.

[0239] After determining the second code rate threshold according to the first information, if the code rate corresponding to the MCS used by the first device is less than 2 / 3, or if the code rate supported by the number of currently available resource bits is less than 2 / 3, the first device can still perform channel coding on the second information bit sequence using the coding manner with a coding code rate (which can be understood as the target code rate) of 2 / 3, to obtain a coded sequence f' (i.e., the coded sequence obtained by performing channel coding on the second information bit sequence using the coding manner with a coding code rate of 2 / 3). Then, the first device can perform transmission on the coded sequence f' using the rate matching method as the repetition transmission manner. For example, the first device can perform channel coding on the second information bit sequence using the coding matrix corresponding to the coding code rate 2 / 3, and then rate match to 1 / 3, so that the code rate is reduced to 1 / 3 by repeating the transmission of some redundant bits.

[0240] Hereinafter, taking the case that the target code rate is R1 and the target code length (or can be referred to as the transmission code length, i.e., the target code length of the channel coding output) is E as an example to introduce the related implementation of the first device performing channel coding on the second information bit sequence according to the target code rate. The first device can determine the number of rows of the coding matrix L according to the target code rate R1 and the target code length E, i.e., the number of rows of the coding matrix L wherein, is used to represent the upward rounding. In addition, the column number v of the encoding matrix L is determined according to the target code length E, such as v = E. Then, the first device can select elements corresponding to the row number u and the column number v of the mother matrix to form the encoding matrix L according to the row number u of the encoding matrix L and the column number v of the encoding matrix L. Then, the first device can use the encoding matrix L to perform channel coding on the second information bit sequence to obtain a second encoding sequence.

[0241] Step 805: The first device outputs the second encoding sequence. Correspondingly, the second device acquires the second to-be-decoded sequence corresponding to the second encoding sequence.

[0242] For example, the first device can modulate the second encoding sequence and then output the modulated second encoding sequence to the channel between the first device and the second device. Alternatively, in the case where the first device acquires the MCS parameter, the first device can output the N elements of the second encoding sequence in a manner that each Q elements are mapped to a modulation symbol according to the modulation order Q determined by the MCS.

[0243] For example, the second encoding sequence is modulated by the first device to obtain a modulation symbol, and the modulation symbol is received by the second device after being transmitted through the channel. The second device demodulates the received modulation symbol to obtain the second to-be-decoded sequence.

[0244] It can be understood that the second to-be-decoded sequence is usually obtained by transforming the second encoding sequence disturbed by factors such as noise in the channel, that is, the second to-be-decoded sequence can be understood as the second encoding sequence disturbed by the channel and the like.

[0245] Alternatively, the first device can perform rate matching on the second encoding sequence when outputting the second encoding sequence.

[0246] Step 806: The second device performs channel decoding on the second to-be-decoded sequence according to the target code rate to obtain the second information bit sequence.

[0247] In the embodiments of the present application, the second device can perform channel decoding on the second to-be-decoded sequence according to the target code rate by using the LBRM-based decoding manner to obtain the second information bit sequence.

[0248] For example, the second device performs channel decoding on the second to-be-decoded sequence according to the target code rate by using the LBRM-based decoding manner to obtain the second information bit sequence. wherein, is used to represent the upward rounding. In addition, the number of columns v' of the decoding matrix L' is determined according to the target code length E, such as v' = E. Then, the second device can select elements corresponding to the number of rows u' and the number of columns v' of the mother matrix to form the decoding matrix L' according to the number of rows u' of the decoding matrix L' and the number of columns v' of the encoding matrix L. Then, the second device can use the decoding matrix L' to perform channel decoding on the second information bit sequence to obtain the second information bit sequence.

[0249] Optionally, when the second encoding sequence corresponding to the second to-be-decoded sequence is obtained by the first device using a random channel encoding manner, the second device can perform channel decoding on the second to-be-decoded sequence using a random channel decoding manner to obtain the second information bit sequence.

[0250] When the second encoding sequence corresponding to the second to-be-decoded sequence is obtained by the first device using a channel encoding manner in the existing NR, the second device can perform channel decoding on the second to-be-decoded sequence using a channel decoding manner corresponding to the channel encoding manner to obtain the second information bit sequence.

[0251] As can be seen from the above steps 801 to 806, by providing the first information to the first device, the second device can enable the first device to accurately determine the second code rate threshold according to the first information, and then the first device can determine the encoding code rate to be used for encoding the second information sequence according to the second code rate threshold, the encoding code rate being greater than or equal to the second code rate threshold, so that the encoding code rate determined by the first device matches the decoding requirement of the second device (such as requiring a relatively high code rate and / or a relatively long code length of the decoded sequence), and meets the decoding requirement of the second device, thereby effectively reducing the decoding complexity of the second device. For example, the encoding code rate determined by the first device meets the decoding requirement of the second device, which can effectively avoid a too low encoding code rate or a too long code length, thereby reducing the decoding complexity of the second device using the third decoder.

[0252] It can be understood that, in order to implement the functions in the above embodiments, the first device or the second device includes a hardware structure and / or a software module corresponding to each function. Those skilled in the art should easily realize that, in combination with the units and method steps of the examples described in the embodiments disclosed in the present application, the present application can be realized in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in the form of hardware or computer software driving hardware depends on the specific application scenario and design constraints of the technical solution.

[0253] FIG. 9 and FIG. 10 are structural diagrams of possible communication apparatuses provided by embodiments of the present application. The communication apparatuses can be used to implement the functions of the first device or the second device in the above-mentioned method embodiments, and thus can also achieve the beneficial effects possessed by the above-mentioned method embodiments. In embodiments of the present application, the communication apparatus can be the first device or the second device, or a module (such as a chip) applied to the first device or the second device.

[0254] The communication apparatus 900 shown in FIG. 9 includes a processing unit 910 (or can be referred to as a processing module) and a transceiver unit 920 (or can be referred to as a communication module or a transceiver module or a communication module, used for transmitting and receiving data). The communication apparatus 900 can be used to implement the functions of the first device or the second device in the above-mentioned method embodiments shown in FIG. 3, FIG. 4 or FIG. 8. For example, the transceiver unit 920 can perform the receiving actions and the transmitting actions performed by the first device or the second device in the above-mentioned method embodiments. The processing unit 910 can perform other actions of the first device or the second device in the above-mentioned method embodiments, except for the transmitting actions and the receiving actions.

[0255] When the communication apparatus 900 is used to implement the functions of the second device in the above-mentioned method embodiment shown in FIG. 3: the transceiver unit 920 is configured to obtain a first to-be-decoded sequence and a first code rate. The first to-be-decoded sequence is obtained from a first information bit sequence, and the first code rate is related to the first information bit sequence. The processing unit 910 is configured to determine a target decoder corresponding to the first to-be-decoded sequence according to the first code rate. The processing unit 910 is further configured to perform channel decoding on the first to-be-decoded sequence using the target decoder to obtain the first information bit sequence.

[0256] When the communication apparatus 900 is used to implement the functions of the first device in the above-mentioned method embodiment shown in FIG. 4: the transceiver unit 920 is configured to obtain a first information bit sequence. The processing unit 910 is configured to determine a target encoding matrix corresponding to the first information bit sequence according to a first code rate corresponding to the first information bit sequence. The processing unit 910 is further configured to perform channel encoding on the first information bit sequence using the target encoding matrix to obtain a first encoded sequence.

[0257] When the communication apparatus 900 is used to implement the functions of the first device in the above-mentioned method embodiment shown in FIG. 8: the transceiver unit 920 is configured to obtain first information. The first information can be used to determine a second code rate threshold. The processing unit 910 is configured to determine a target code rate corresponding to a second information bit sequence. The target code rate is greater than or equal to the second code rate threshold. The processing unit 910 is further configured to perform channel encoding on the second information bit sequence according to the target code rate to obtain a second encoded sequence.

[0258] When the communication apparatus 900 is configured to implement the function of the second device in the method embodiment shown in FIG. 8, the transceiver 920 is configured to send the first information. The first information can be used to determine the second code rate threshold. The transceiver 920 is further configured to obtain the second to-be-decoded sequence. The processing unit 910 is configured to perform channel decoding on the second to-be-decoded sequence according to the target code rate to obtain the second information bit sequence. The target code rate is greater than or equal to the second code rate threshold.

[0259] For more details about the processing unit 910 and the transceiver 920, refer to the related description in the method embodiments shown in FIG. 3, FIG. 4, or FIG. 8, which will not be repeated here.

[0260] It should be understood that the transceiver 920 in the embodiments of the present application can be implemented by an interface circuit or an interface circuit related circuit component, and the processing unit 910 can be implemented by a processor or a processor related circuit component.

[0261] It should be noted that the division of modules in the embodiments of the present application is illustrative, and is only a logical function division. In actual implementation, another division mode can be used. In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or can be physically separated, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.

[0262] If the integrated unit is realized in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application essentially or the part that contributes to the prior art or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a personal computer, a server, etc.) or a processor to perform all or part of the steps of the methods in the embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various program code storage media.

[0263] The communication apparatus 1000 shown in FIG. 10 comprises a processor 1010 and an interface circuit 1020. The processor 1010 and the interface circuit 1020 are coupled with each other. It can be understood that the interface circuit 1020 can be a transceiver or an input / output interface. Optionally, the communication apparatus 1000 can further comprise a memory 1030 for storing instructions executed by the processor 1010 or storing input data required by the processor 1010 to execute instructions or storing data generated after the processor 1010 executes instructions.

[0264] When the communication apparatus 1000 is used to implement the method embodiments shown in FIG. 3, FIG. 4 or FIG. 8, the processor 1010 is used to implement the functions of the processing unit 910, and the interface circuit 1020 is used to implement the functions of the transceiver unit 920.

[0265] For example, taking the first device as a terminal device and the second device as a network device. When the communication apparatus is a chip applied to a terminal device, the terminal device chip implements the functions of the terminal device in the method embodiments. The terminal device chip receives information from a base station, which can be understood as the information is first received by other modules (such as a radio frequency module or an antenna) in the terminal device, and then sent to the terminal device chip by these modules. The terminal device chip sends information to a network device, which can be understood as the information is first sent to other modules (such as a radio frequency module or an antenna) in the terminal device, and then sent to the network device by these modules.

[0266] When the communication apparatus is a chip applied to a network device, the network device chip implements the functions of the network device in the method embodiments. The network device chip receives information from a terminal device, which can be understood as the information is first received by other modules (such as a radio frequency module or an antenna) in the network device, and then sent to the network device chip by these modules. The network device chip sends information to a terminal device, which can be understood as the information is first sent to other modules (such as a radio frequency module or an antenna) in the network device, and then sent to the terminal device by these modules.

[0267] In the present application, the sending of information from entity A to entity B can be direct sending from A to B or indirect sending from A to B via other entities. Similarly, the receiving of information from entity A by entity B can be direct receiving of information sent by entity A or indirect receiving of information sent by entity A via other entities. Here, entity A and entity B can be the first device or the second device, or a module inside the first device or the second device. For example, taking the first device and the second device as an example. The sending and receiving of information can be information interaction between the first device and the second device. For example, taking the first device as a terminal device and the second device as a network device as an example, the sending and receiving of information can be information interaction between the terminal device and the network device. For another example, taking the first device as a terminal device and the second device as a terminal device as an example, the sending and receiving of information can be information interaction between the terminal device and the terminal device. For yet another example, taking the first device as a network device and the second device as a network device as an example, the sending and receiving of information can be information interaction between the network device and the network device. Alternatively, the sending and receiving of information can also be information interaction between two first devices (or two second devices), for example, information interaction between terminal device 1 and terminal device 2, or information interaction between network device 1 and network device 2. The sending and receiving of information can also be information interaction between different modules inside one apparatus, for example, information interaction between a terminal device chip and other modules of the terminal device, or information interaction between a network device chip and other modules of the network device.

[0268] Based on the same idea, the embodiments of the present application further provide a possible communication system. The communication system includes one or more of the first device or the second device. The first device can be used to implement the technical solutions related to the first device in the above embodiments, and the second device can be used to implement the technical solutions related to the second device in the above embodiments.

[0269] Based on the same idea, the embodiments of the present application further provide a computer program product, which includes a computer program or instructions, and when the computer program or instructions run on a communication apparatus (or a computer), the communication apparatus (or the computer) executes the method provided in the above embodiments.

[0270] Based on the same idea, the embodiments of the present application further provide a computer readable storage medium, which stores a computer program or instructions, and when the computer program or instructions are executed by a communication apparatus (or a computer), the communication apparatus (or the computer) executes the method provided in the above embodiments.

[0271] The storage medium can be any available medium that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk storage devices can also be removable, for example, magnetic or optical disks, memory cards, or any other removable memory devices.

[0272] Based on the same idea, the embodiments of the present application further provide a chip, which can include a processor and can further include a memory (or the chip is coupled with the memory), the processor executes program instructions in the memory to enable the chip to perform the method provided by the above embodiments. Wherein, "coupled" means that two components are directly or indirectly combined with each other, such as the coupling can mean that the two components are electrically connected.

[0273] Based on the same idea, the embodiments of the present application further provide a chip system, which includes a processor for supporting a computer device to implement the functions related to the first device or the second device in the above embodiments. In a possible implementation manner, the chip system further includes a memory for saving necessary programs and data of the computer device. The chip system can be composed of a chip, or can include a chip and other discrete devices.

[0274] It can be understood that the processor in the embodiments of the present application can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. The general-purpose processor can be a microprocessor, or any conventional processor.

[0275] The method steps in the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disk, portable hard disk, compact disc read-only memory (CD-ROM), or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Furthermore, the ASIC can reside in a first device or a second device. Alternatively, the processor and storage medium can exist as discrete components in the first device or the second device.

[0276] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. A computer program is a set of instructions that directs each step of an action of an electronic computer or other device with message processing capabilities. It is typically written in a programming language and runs on a target architecture. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed, in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video optical disc; or it can be a semiconductor medium, such as a solid-state drive. The computer-readable storage medium can be volatile or non-volatile, or it can include both types of storage media.

[0277] In the various embodiments of the present application, the terms and / or descriptions between different embodiments are consistent and can be referred to each other if there is no special description and logical conflict, and the technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationship.

[0278] In the present application, "at least one" means one or more, and "multiple" means two or more. The association relationship between the associated objects is described by "and / or", which means that there can be three kinds of relationships, for example, A and / or B can represent the following three cases: A exists alone, A and B exist together, and B exists alone, where A and B can be singular or plural. In the textual description of the present application, the character " / " generally represents an "or" relationship between the associated objects before and after it; in the formula of the present application, the character " / " represents a "division" relationship between the associated objects before and after it.

[0279] It can be understood that various numbers involved in the embodiments of the present application are only distinguished for the convenience of description, and are not used to limit the scope of the embodiments of the present application. The size of the serial number of the above processes does not mean the order of execution, and the execution order of the processes should be determined according to their functions and inherent logic.

Claims

1. A decoding method, comprising: The method comprises the following steps: acquiring a first to-be-decoded sequence and a first code rate, the first to-be-decoded sequence being obtained based on a first information bit sequence, and the first code rate being related to the first information bit sequence; determining a target decoder corresponding to the first to-be-decoded sequence according to the first code rate; performing channel decoding on the first to-be-decoded sequence by using the target decoder to obtain the first information bit sequence.

2. The method of claim 1, wherein, The step of determining the target decoder corresponding to the first to-be-decoded sequence according to the first code rate comprises the following steps: if the first code rate is greater than a first code rate threshold, determining a first decoder as the target decoder; or if the first code rate is less than the first code rate threshold, determining a second decoder as the target decoder; or if the first code rate is equal to the first code rate threshold, determining the first decoder or the second decoder as the target decoder. The second decoder has the same decoding complexity as the first decoder and / or the same decoder chip area as the first decoder, and the decoding performance of the second decoder is higher than that of the first decoder; or the decoding performance of the second decoder is the same as that of the first decoder, the decoding complexity of the second decoder is lower than that of the first decoder, and / or the chip area of the second decoder is smaller than that of the first decoder.

3. The method of claim 2, wherein, The first code rate threshold is determined according to channel state information corresponding to the first to-be-decoded sequence; or The first code rate threshold is predefined.

4. The method of claim 2 or 3, wherein, The first decoder is a random noise guess decoder, and the second decoder is a partial-order statistics decoder.

5. An encoding method characterized by comprising: The method comprises the following steps: acquiring a first information bit sequence; determining a target encoding matrix corresponding to the first information bit sequence according to a first code rate corresponding to the first information bit sequence; performing channel encoding on the first information bit sequence by using the target encoding matrix to obtain a first encoding sequence.

6. The method of claim 5, wherein, The step of determining the target encoding matrix corresponding to the first information bit sequence according to the first code rate corresponding to the first information bit sequence comprises the following steps: if the first code rate is greater than or equal to a first code rate threshold, determining a first encoding matrix as the target encoding matrix; or if the first code rate is less than the first code rate threshold, determining a second encoding matrix as the target encoding matrix. The second encoding matrix is different from the first encoding matrix.

7. The method of claim 6, wherein, The first code rate threshold is determined according to channel state information corresponding to the first encoding sequence; or The first code rate threshold is predefined.

8. An encoding method characterized by comprising: The method comprises the following steps: acquiring first information; determining a second code rate threshold corresponding to the first information; determining a target code rate corresponding to a second information bit sequence, the target code rate being greater than or equal to the second code rate threshold; performing channel encoding on the second information bit sequence according to the target code rate to obtain a second encoding sequence.

9. The method of claim 8, wherein, The first information comprises first indication information, the first indication information is used for indicating a decoder type, the decoder type is associated with at least one candidate code rate threshold, and the second code rate threshold is included in the at least one candidate code rate threshold.

10. The method of claim 8 or 9, wherein, The first information comprises second indication information, the second indication information is used for indicating a modulation and coding scheme index, and a second code rate corresponding to the modulation and coding scheme index is taken as the second code rate threshold.

11. The method of claim 8 or 9, wherein, The first information comprises third indication information, the third indication information is used for indicating the second code rate threshold.

12. The method of claim 9, wherein, If the decoder corresponding to the decoder type is a third decoder, the length of a buffer area used for buffering the second encoded sequence is a first length, the first length is the minimum length in a second length and a third length, the second length is the length of the second encoded sequence, and the third length is determined according to the total number of bits corresponding to the second information bit sequence and the number of segments; or, If the decoder corresponding to the decoder type is a fourth decoder, the length of the buffer area used for buffering the second encoded sequence is the second length, and the fourth decoder is different from the third decoder.

13. The method of claim 12, wherein, The third decoder is a random noise guessing decoder, and the fourth decoder is a non-random noise guessing decoder.

14. The method according to any one of claims 8 to 13, wherein, The first information further comprises fourth indication information, the fourth indication information is used for indicating a first encoding type, and the first encoding type is associated with an encoding mode corresponding to the target code rate.

15. A decoding method, comprising: The method comprises: sending first information, the first information is used for determining a second code rate threshold; obtaining a second to-be-decoded sequence; performing channel decoding on the second to-be-decoded sequence according to a target code rate to obtain a second information bit sequence, the target code rate being greater than or equal to the second code rate threshold.

16. The method of claim 15, wherein, The first information comprises first indication information, the first indication information is used for indicating a decoder type, the decoder type is associated with at least one candidate code rate threshold, and the second code rate threshold is included in the at least one candidate code rate threshold.

17. The method of claim 15 or 16, wherein, The first information comprises second indication information, the second indication information is used for indicating a modulation and coding scheme index, and a second code rate corresponding to the modulation and coding scheme index is taken as the second code rate threshold.

18. The method of claim 15 or 16, wherein, The first information comprises third indication information, the third indication information is used for indicating the second code rate threshold.

19. The method of any one of claims 16-18, wherein, The first information further comprises fourth indication information, the fourth indication information is used for indicating a first encoding type, and the first encoding type is associated with an encoding mode corresponding to the target code rate.

20. A communications device, characterized by The method comprises modules or units for performing the method of any one of claims 1-4, or modules or units for performing the method of any one of claims 5-7, or modules or units for performing the method of any one of claims 8-14, or modules or units for performing the method of any one of claims 15-19.

21. A communications device, characterized by The apparatus comprises a processor and an interface circuit; The interface circuit is used for receiving signals from other communication devices and transmitting the signals to the processor or sending signals from the processor to other communication devices; The processor is configured to implement the method of any one of claims 1-4 or the method of any one of claims 5-7 or the method of any one of claims 8-14 or the method of any one of claims 15-19 by logic circuitry or by executing computer program instructions.

22. A communication system, characterized by The first device and the second device are included; The first device is configured to implement the method of any one of claims 5-7; The second device is configured to implement the method of any one of claims 1-4.

23. A communication system, characterized by The first device and the second device are included; The first device is configured to implement the method of any one of claims 8-14; The second device is configured to implement the method of any one of claims 15-19.

24. A computer-readable storage medium, characterized in that, The computer program or instructions are stored in the computer readable storage medium and, when executed by the communication apparatus, cause the communication apparatus to implement the method of any one of claims 1-4 or the method of any one of claims 5-7 or the method of any one of claims 8-14 or the method of any one of claims 15-19.

25. A computer program product, characterised in that, The computer program product includes the computer program or instructions, which, when run on the communication apparatus, cause the communication apparatus to implement the method of any one of claims 1-4 or the method of any one of claims 5-7 or the method of any one of claims 8-14 or the method of any one of claims 15-19.

Citation Information

Patent Citations

  • Method and device applied in UE supporting channel coding and method and device applied in base station supporting channel coding

    CN107979439A

  • Decoding method and device

    CN115955294A

  • Information processing method and equipment

    CN116156550A

  • Decoding method and device

    WO2015070415A1