Encoding method, decoding method, and related devices

By introducing CRC check in concatenated coding to verify the accuracy of the bit sequence, the problems of low reliability and high complexity of channel coding are solved, improving the data transmission reliability and efficiency of wireless communication, and making it suitable for various communication networks.

WO2026157669A1PCT designated stage Publication Date: 2026-07-30ZTE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
ZTE CORP
Filing Date
2025-12-16
Publication Date
2026-07-30

AI Technical Summary

Technical Problem

Existing channel coding technologies have low reliability and high complexity in the encoding and decoding process of wireless communication, making it difficult to meet the requirements of ultra-high data rate, ultra-low latency and ultra-high reliability in 6G mobile communication, especially in 5G protocols where the bit error rate is difficult to reduce quickly.

Method used

Cyclic redundancy check (CRC) encoding is performed before each encoding method in the concatenated encoding process. The accuracy of the bit sequence is verified by CRC encoding, the decoding process is managed, and error correction performance and decoding efficiency are improved.

Benefits of technology

It improves the reliability and decoding efficiency during data transmission and is suitable for 5G-A and 6G mobile communication networks as well as other communication networks, such as satellite communication and high-frequency microwave communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025142943_30072026_PF_FP_ABST
    Figure CN2025142943_30072026_PF_FP_ABST
Patent Text Reader

Abstract

An encoding method, a decoding method, and related devices. The encoding method is applied to a first node, and comprises: on the basis of a first cyclic redundancy check (CRC), encoding a bit sequence to be encoded, so as to obtain a first encoded bit sequence; segmenting the first encoded bit sequence to obtain at least one first code block; and performing concatenated encoding on the first code block, and performing CRC encoding at most once before each encoding of the concatenated encoding, so as to obtain a second encoded bit sequence.
Need to check novelty before this filing date? Find Prior Art

Description

An encoding method, a decoding method, and related equipment

[0001] This disclosure claims priority to Chinese patent application No. 202510099383.0, filed on January 21, 2025, the entire contents of which are incorporated herein by reference. Technical Field

[0002] This disclosure relates to the field of communication technology, and in particular to an encoding method, a decoding method, and related equipment. Background Technology

[0003] With the development of communication technology, the service interactions between communication devices (such as base stations and user equipment) in wireless communication networks are becoming more and more frequent, and users' demands for service data transmission between communication devices are also increasing. For example, users have higher requirements for the reliability of data transmission between communication devices. Summary of the Invention

[0004] On the one hand, an encoding method is provided, which is applied to a first node, including: encoding the bit sequence to be encoded based on a first cyclic redundancy check (CRC) to obtain a first encoded bit sequence; segmenting the first encoded bit sequence to obtain at least one first code block; performing concatenated encoding on the first code block and performing at most one CRC encoding before each encoding in the concatenated encoding to obtain a second encoded bit sequence.

[0005] On the other hand, a decoding method is provided, which is applied to a second node, comprising: decoding a first code block in the second encoded bit sequence based on multiple check bit sequences in the second encoded bit sequence, wherein the multiple check bit sequences include: check bit sequences for each encoding of concatenated encoding, and check bit sequences for at most one CRC encoding performed before each encoding of concatenated encoding; concatenating all first code blocks in the second encoded bit sequence to obtain a decoded first encoded bit sequence after all first code blocks in the second encoded bit sequence have been decoded; and decoding the bit sequence to be encoded in the decoded first encoded bit sequence based on the check bit sequences of the first CRC encoding in the decoded first encoded bit sequence.

[0006] On the other hand, an encoding device is provided for use in a first node, the device comprising: a processing module.

[0007] The processing module is used to encode the bit sequence to be encoded based on the first cyclic redundancy check (CRC) to obtain the first encoded bit sequence; the processing module is also used to segment the first encoded bit sequence to obtain at least one first code block; the processing module is also used to perform concatenated encoding on the first code block and perform at most one CRC encoding before each encoding in the concatenated encoding to obtain the second encoded bit sequence.

[0008] On the other hand, a decoding device is provided for use in a second node, the device comprising: a processing module.

[0009] The processing module is used to decode the first code block in the second encoded bit sequence based on multiple check bit sequences in the second encoded bit sequence. The multiple check bit sequences include: the check bit sequence of each encoding of the concatenated encoding and the check bit sequence of at most one CRC encoding performed before each encoding of the concatenated encoding. The processing module is also used to concatenate all the first code blocks in the second encoded bit sequence to obtain the decoded first encoded bit sequence after all the first code blocks in the second encoded bit sequence have been decoded. The processing module is also used to decode the bit sequence to be encoded in the decoded first encoded bit sequence based on the check bit sequence of the first CRC encoding in the decoded first encoded bit sequence.

[0010] In another aspect, a communication device is provided, comprising: a memory and a processor. The memory and the processor are coupled. The memory is used to store a computer program. When the processor executes the computer program, it implements the method described above.

[0011] In another aspect, a computer-readable storage medium is provided, on which computer program instructions are stored, which, when executed by a processor, implement the above-described method.

[0012] In another aspect, a computer program product is provided, which includes computer program instructions that, when executed, implement the above-described method. Attached Figure Description

[0013] To more clearly illustrate the technical solutions in this disclosure, the accompanying drawings used in some embodiments of this disclosure will be briefly described below. Obviously, the drawings described below are merely drawings of some embodiments of this disclosure; those skilled in the art can obtain other drawings based on these drawings.

[0014] Figure 1 is an architecture diagram of a communication system according to some embodiments.

[0015] Figure 2 is a flowchart of an encoding method according to some embodiments.

[0016] Figure 3 is an example diagram of an encoding process according to some embodiments.

[0017] Figure 4 is an example diagram of another encoding process according to some embodiments.

[0018] Figure 5 is an example diagram of another encoding process according to some embodiments.

[0019] Figure 6 is an example diagram of another encoding process according to some embodiments.

[0020] Figure 7 is an example diagram of another encoding process according to some embodiments.

[0021] Figure 8 is an example diagram of another encoding process according to some embodiments.

[0022] Figure 9 is an example diagram of another encoding process according to some embodiments.

[0023] Figure 10 is a flowchart of a decoding method according to some embodiments.

[0024] Figure 11 is an example diagram of another decoding process according to some embodiments.

[0025] Figure 12 is an example diagram of another decoding process according to some embodiments.

[0026] Figure 13 is an example diagram of another decoding process according to some embodiments.

[0027] Figure 14 is an example diagram of another decoding process according to some embodiments.

[0028] Figure 15 is an example diagram of another decoding process according to some embodiments.

[0029] Figure 16 is an example diagram of another decoding process according to some embodiments.

[0030] Figure 17 is an example diagram of another decoding process according to some embodiments.

[0031] Figure 18 is a flowchart of an interactive encoding and decoding method according to some embodiments.

[0032] Figure 19 is a block diagram of an encoding device according to some embodiments.

[0033] Figure 20 is a block diagram of a decoding device according to some embodiments.

[0034] Figure 21 is a block diagram of another encoding device according to some embodiments.

[0035] Figure 22 is a block diagram of another decoding device according to some embodiments. Detailed Implementation

[0036] The technical solutions of this disclosure will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.

[0037] It should be noted that, in this disclosure, the words "exemplarily" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "exemplarily" or "for example" in this disclosure should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of the words "exemplarily" or "for example" is intended to present the relevant concepts in a specific manner.

[0038] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature.

[0039] In the description of this disclosure, unless otherwise stated, " / " means "or," for example, A / B can mean A or B. "And / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. Furthermore, "at least one" means one or more, and "more than one" means two or more.

[0040] With the current development of virtual reality / augmented reality, intelligent transportation, intelligent industrial control, and AI (artificial intelligence) large-scale models, the requirements for ultra-high data rates, ultra-low latency, and ultra-high reliability in 6G mobile communication technology are becoming increasingly stringent. Compared to existing 5G mobile communication technology, the research target for reliability (air interface) may be as low as 10. -5 Up to 10 -7 Currently, the parity check matrices (PCM) in 5G protocols have a reliability of 10. -5 Up to 10 -7 Significant error planes may appear nearby, making it difficult to quickly reduce the bit error rate even if the signal-to-noise ratio is increased.

[0041] Digital communication systems generally consist of three main parts: the transmitter, the channel, and the receiver.

[0042] At the transmitting end, the transmitting end can perform channel coding on the information sequence to be coded to obtain coded codewords, perform rate matching on the coded codewords, adjust the code rate of the codewords through the rate matching process according to the actual transmission requirements, interleave the rate-matched coded bits, and map the interleaved bits into modulation symbols. Then, the modulation symbols can be processed and transmitted according to the communication channel information.

[0043] In a channel, data transmission errors can occur due to factors such as multipath propagation, noise, and interference. The receiving end receives the modulated symbol data transmitted through the channel; this data is now distorted. Based on the encoding method used by the transmitting end to encode the information sequence, the receiving end can process the received data to reliably recover the original information sequence. Here, the encoding method used by the transmitting end to encode the information sequence is visible to both the transmitting and receiving ends.

[0044] Generally, the encoding method is based on forward error correction (FEC) coding, where FEC adds redundant information to the information sequence. The receiver can then use this redundant information to reliably recover the original information sequence.

[0045] At the sending end, the data blocks to be transmitted typically need to be encoded using Cyclic Redundancy Check (CRC). CRC is a commonly used check method based on division and remainders, used to detect errors during data transmission or storage. The basic principle of CRC is to treat the data as a very large number, divide it by a predetermined polynomial (called the generator polynomial), and then append the remainder to the original data to form a complete data packet. Upon receiving the data, the receiver performs the same generator polynomial division on the entire data packet. If the remainder is zero, the data is considered error-free; if the remainder is not zero, an error is considered to have occurred during transmission.

[0046] The transmitting end appends the CRC codeword information obtained through CRC encoding to the data block to be transmitted. The decoding end, after obtaining the data block with the appended CRC, performs CRC verification to determine if the decoded data block is erroneous. Then, the data block with the appended CRC is divided into multiple smaller data blocks, generally called code blocks. Each code block is then subjected to FEC encoding. The FEC encoding rate is generally defined as the ratio of the number of bits entering the encoder to the actual number of transmitted bits. Commonly used channel coding methods include low-density parity check (LDPC) coding, polar coding, turbo coding, convolutional coding, non-systematic Reed-Solomon (RS) coding, and Bose-Chaudhuri-Hocquenghem (BCH) coding.

[0047] Currently, channel coding generally employs concatenated coding to improve data transmission reliability and error correction capabilities. Concatenated coding is a method that strings together multiple codes to enhance error correction. Specifically, concatenated coding divides the coding process into multiple stages, typically consisting of two or more different encoders connected in series to form a long code. In concatenated coding, the output of one encoder becomes the input of the next, thus leveraging the error correction characteristics of different encoders to improve overall error correction performance, enhance resistance to multi-user interference, and improve fast convergence during iterative detection and decoding.

[0048] In concatenated coding, the CRC can be located at different positions in the entire coding chain to play different roles.

[0049] For example, error detection and verification: CRC can detect errors in data during transmission or storage. The CRC codeword is appended to the data, and the receiver determines whether the data has changed by checking the CRC value.

[0050] Auxiliary decoding: Taking the belief propagation (BP) decoding of LDPC codes as an example, CRC can be used as an early termination condition in the iterative decoding process of LDPC codes. When the CRC check passes, the iteration process can be terminated early, thereby improving decoding efficiency.

[0051] Path selection and verification: Taking the successive cancellation list (SCL) decoding of Polar codes as an example, CRC helps to select the correct decoding result from the SCL decoding list, thereby greatly improving the error correction performance of Polar codes.

[0052] This disclosure primarily describes two different CRC addition methods in the concatenated coding of FEC: the CRC addition methods differ when the external code is a systematic code and when the external code is a non-systematic code. This allows for early determination of whether the data has been successfully decoded during decoding, improving decoding efficiency. Generally, the encoder connected to the source is called the external encoder, and the encoder connected to the channel is called the internal encoder. In this disclosure, the encoding method in the external encoder is referred to as the first encoding method, and the encoding method in the internal encoder is referred to as the second encoding method.

[0053] Systematic coding means that the encoded codeword contains the original information sequence. One advantage of systematic coding is that the information bits are directly obtained after decoding, without the need for additional steps to extract them. A systematically coded codeword typically consists of two parts: information bits and parity bits. The information bits remain unchanged, while the parity bits are combinations of the information bits. In systematic coding, data and redundant bits can be separated by examining the encoder output. The generator matrix of a systematic codeword typically has the form [Ik|Q], where Ik is a k×k identity matrix, Q is a k×r matrix, k is the number of information bits, and r is the number of parity bits. Non-systematic coding means that the encoded codeword does not directly contain the original information sequence; information bits and parity bits are interleaved and mixed together. The generator matrix of a non-systematic codeword does not have the form of a systematic codeword generator matrix, i.e., it does not have the [Ik|Q] structure. Therefore, systematic coding allows the direct extraction of information bits from the encoded codeword, while non-systematic coding requires a decoding process to recover the information bits.

[0054] The CRC encoding process essentially involves selecting a suitable divisor, treating the data to be CRC encoded as the dividend, and then performing modulo-2 division. The remainder obtained is the CRC checksum. For example, given a 10-bit data A to be CRC encoded as 1101011011, and a divisor B as the bit sequence 10011, we first need to add 4 zero bits after the dividend A. The number of zero bits added is equal to the length of the bit sequence B minus one. Then, we perform modulo-2 division, i.e., XOR operation. The final remainder C, 1110, is the CRC checksum, as shown in Formula 1 below.

[0055] The remainder chosen is usually called the "generating polynomial". For example, the above 10011 is described as having a generating polynomial of G(x) = x. 4 +x+1, different generator polynomials correspond to different CRC types. Table 1 shows some common CRC types and their corresponding generator polynomials. Here, the "6" in CRC-6 indicates that the CRC checksum is generated with 6 bits.

[0056] Table 1. Mapping Table between CRC Types and Generator Polynomials

[0057] After receiving data with CRC appended, the receiving end divides the data by a generator polynomial. If the remainder is 0, it means the transmitted data is correct; if the remainder is not 0, it means the transmitted data has an error.

[0058] In summary, given the low reliability and high complexity of the encoding and decoding process in channel coding technologies, how to encode service data through channel coding to improve the reliability and efficiency of data transmission has become an urgent technical problem to be solved.

[0059] Based on this, to solve the aforementioned technical problems, this disclosure provides an encoding method applied to channel coding scenarios for wireless data transmission between communication devices. Cyclic Redundancy Check (CRC) encoding is performed before each encoding method in the concatenated encoding process. This allows the subsequent decoding end to verify the accuracy of the received bit sequence in advance based on CRC during decoding, thereby managing the decoding process (i.e., if the CRC passes, the bit sequence is accurate, and the decoding process can be skipped). Thus, by applying CRC encoding to a concatenated encoding process composed of multiple encoding methods, error correction performance and decoding efficiency can be improved.

[0060] In other words, during data transmission, due to the influence of factors such as multipath, noise, and interference, FEC coding can be used as a channel coding method to eliminate the distortion caused by data during transmission, while CRC can be used for error detection and verification, and auxiliary decoding.

[0061] In this way, depending on whether the first encoding method is systematic encoding or non-system encoding, CRC encoding can be selectively performed at different positions, which can improve decoding reliability, reduce computational complexity and improve decoding efficiency in different scenarios.

[0062] Furthermore, the encoding method provided in this disclosure can be applied to 5G-A, 6G mobile communication networks or other communication networks (such as satellite communication and high-frequency microwave communication).

[0063] The network architecture of the mobile communication network (including but not limited to 2G, 3G, 4G, 5G, and future mobile communication networks such as 5G-A and 6G) ​​in this disclosure may include at least a first communication node and a second communication node. It should be understood that in this example, in the uplink, the first communication node can be a terminal-side node (e.g., including but not limited to a terminal), and the second communication node can be a network-side node (e.g., including but not limited to a base station). Of course, in the downlink, the first communication node can also be a network-side node, and the second communication node can also be a terminal-side node. In node-to-node communication between the two communication nodes, both the first and second communication nodes can be base stations or terminals. The first and second communication nodes may be referred to as the first node and the second node, respectively.

[0064] For example, as shown in FIG1, it is an architecture diagram of a communication system according to some embodiments, which may include: a first node 101 and a second node 102.

[0065] Here, when the first node 101 transmits wireless signals to the second node 102, it can perform channel coding on the initial bit sequence to be transmitted (i.e. the bit sequence to be encoded) and send the encoded initial bit sequence to the second node 102 so that the second node 102 can receive the encoded initial bit sequence and then recover the encoded initial bit sequence through channel decoding to obtain the initial bit sequence.

[0066] In this embodiment of the disclosure, during the channel coding of the initial bit sequence by the first node 101, the first node 101 can encode the initial bit sequence based on a first CRC to obtain a first coded bit sequence. Next, the first node 101 can segment the first coded bit sequence to obtain at least one first code block. Then, the first node 101 can perform first encoding, second encoding, and at most two CRC encodings based on the first code block to obtain a second coded bit sequence (i.e., the bit sequence after encoding the first code block).

[0067] Here, at most two CRC encodings can be one of the following: zero CRC encoding, one CRC encoding, or two CRC encodings. The initial bit sequence length B is an integer greater than 0; the first encoded bit sequence length N1 is an integer greater than B; the length K of the first code block is an integer less than or equal to N1 and greater than 0; the product of the second encoded bit sequence length N2 and the number of the first code blocks is an integer greater than N1.

[0068] Furthermore, the encoded initial bit sequence sent by the first node 101 to the second node 102 can be all or part of the bits in the encoded initial bit sequence.

[0069] In this way, by applying at least one CRC code to a concatenated code consisting of two encoding methods (i.e., the first encoding method and the second encoding method), error correction performance and decoding efficiency can be improved, thereby improving the reliability of data transmission.

[0070] It should be noted that the embodiments disclosed herein do not limit the first node and the second node.

[0071] For example, the first node 101 and the second node 102 may include, but are not limited to, the following electronic devices: base station (BS), access point (AP), node B, g-node B (generalized node B), radio network controller (RNC), evolved node B (eNB), base station controller (BSC), base transceiver station (BTS), transceiver function (TF), radio router, radio transceiver, basic service set (BSS), extended service set (ESS), or radio base station (RBS).

[0072] For example, the first node 101 and the second node 102 can also be access terminals, user equipment (UE), user units, user stations, mobile stations, mobile stations, remote stations, remote terminals, mobile devices, user terminals, wireless communication equipment, user agents, or user devices.

[0073] Alternatively, the second node 102 can be a cellular phone, cordless phone, session initiation protocol (SIP) phone, wireless local loop (WLL) station, personal digital assistant (PDA), handheld device with wireless communication capabilities, computing device or other processing device connected to a wireless modem, in-vehicle device, wearable device, 5G network or terminal device in future 5G or higher networks, etc.

[0074] Specifically, user equipment (UE) can be a device with wireless transceiver capabilities. User equipment can be a mobile phone, tablet, computer with wireless transceiver capabilities, virtual reality (VR) terminal, augmented reality (AR) terminal, wireless terminal in industrial control, wireless terminal in self-driving, wireless terminal in remote medical care, wireless terminal in smart grid, wireless terminal in transportation safety, wireless terminal in smart city, wireless terminal in smart home, etc. The embodiments of this disclosure do not limit the application scenarios. A terminal may also be referred to as a user, terminal, artificial intelligence of things (A-IoT) device, access terminal, UE unit, UE station, mobile station, mobile station, remote station, transmitter, remote terminal, mobile device, UE terminal, wireless communication device, UE agent, or UE device, etc., and the embodiments of this disclosure do not limit this.

[0075] A base station (BS) can be a base station in LTE, Long Term Evolution Advanced (LTEA) or an evolved Node B (eNB or eNodeB), a base station device (gNB) in a 5G network, or a base station in a future communication system. Base stations can include various macro base stations, micro base stations, femtocell base stations, wireless remote extensions, reconfigurable intelligent surfaces (RISS), routers, relay stations, transmission and reception points (TRPs), receivers, access points, wireless fidelity (Wi-Fi) devices, and other network-side equipment. A base station can sometimes also be referred to as a reader / writer used for communication with terminals.

[0076] It should be noted that Figure 1 is only an exemplary framework diagram. The number of nodes included in Figure 1 and the names of each node are not limited. In addition to the nodes shown in Figure 1, the communication system may also include other nodes, such as core network elements.

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

[0078] Figure 2 shows a flowchart of an encoding method. As shown in Figure 2, the encoding method is applied to the first node, including: S201-S203.

[0079] In S201, the bit sequence to be encoded is encoded based on the first cyclic redundancy check to obtain the first encoded bit sequence.

[0080] Here, the bit sequence to be encoded is a transport block of length B, where B is an integer greater than 0.

[0081] In some embodiments, the transport block size B can be determined based on at least one of the following parameters (1.1)-(1.6):

[0082] (1.1) The number of transmission layers, v;

[0083] (1.2) Modulation order Q;

[0084] (1.3) Bitrate R;

[0085] (1.4) The number of physical resource blocks (PRBs) n allocated PRB ;

[0086] (1.5) The number N of available resource elements (REs) in each physical resource block RE ;

[0087] (1.6) The length of the first CRC, C1.

[0088] For example, the transport block size B, the product of the following parameters, and the length of the first CRC have the mapping relationship shown in Formula 2: f(N RE +n PRB Formula 2: ·R·Q·v,C1)=B

[0089] It should be noted that the process of the first node encoding the bit sequence to be encoded based on the first cyclic redundancy check to obtain the first encoded bit sequence can be referred to the above introduction of CRC encoding, and will not be repeated here.

[0090] Here, during the process of the first node encoding the bit sequence to be encoded based on the first CRC, the CRC check length of the first CRC used by the first node can be any of the following: 11, 12, 16, 24, 32.

[0091] For example, referring to Table 1 above, when the CRC check length of the first CRC is 11, the first CRC encoding generator polynomial is g(x) = x 11 +x 10 +x 9 +x 5 +1.

[0092] When the CRC check length of the first CRC is 12, the first CRC encoding generator polynomial is g(x) = x. 12 +x 11 +x 3 +x 2 +x+1.

[0093] When the CRC check length of the first CRC is 16, the first CRC encoding generator polynomial is g(x) = x. 16 +x 12 +x 5 +1.

[0094] When the CRC check length of the first CRC is 24, the first CRC encoding generator polynomial is g(x) = x. 24 +x 23 +x 6 +x 5 +x+1.

[0095] When the CRC check length of the first CRC is 32, the generator polynomial of the first CRC encoding is g(x) = x. 32 +x 26 +x 23 +x 22 +x 16 +x 12 +x 11 +x 10 +x 8 +x 7 +x 5 +x 4 +x 2 +x+1.

[0096] In S202, the first encoded bit sequence is segmented to obtain at least one first code block.

[0097] Here, during the process of segmenting the first encoded bit sequence by the first node, the first node can determine the segmentation position of the first encoded bit sequence by determining whether the length of the first encoded bit sequence is greater than the first length threshold.

[0098] In some embodiments, when the length of the first encoded bit sequence is less than or equal to the first length threshold, the first node can position the segment position before the first bit or after the last bit in the first encoded bit sequence, retain the entire first encoded bit sequence, and use the first encoded bit sequence as the first code block to obtain one first code block.

[0099] In other words, if the length of the first encoded bit sequence is short, it is not necessary to segment it. The first encoded bit sequence can be directly used as the first code block for subsequent encoding processing, and the number of the first code block is 1.

[0100] In some embodiments, when the length of the first coded bit sequence is greater than the first length threshold, the first node can locate or randomly locate the segment position in the first coded bit sequence according to the second length threshold to obtain at least two first code blocks.

[0101] In other words, when the length of the first encoded bit sequence is long, segmented encoding can be used to perform subsequent encoding processing on the first encoded bit sequence, so as to achieve parallel multi-threaded encoding processing of multiple first code blocks and improve encoding processing efficiency.

[0102] Here, if the first node is located at a segment position in the first coded bit sequence according to the second length threshold, then the length of the first code block is less than or equal to the second length threshold, and the number of bits in all first code blocks is equal.

[0103] In other words, the sum of the length B of the bit sequence to be encoded and the length C1 of the first CRC (i.e. the length of the first encoded bit sequence) is a multiple of the length K of a single first code block, thus achieving equal distribution.

[0104] For example, if the sum of the length B of the bit sequence to be encoded and the length C1 of the first CRC is not divisible by the second length threshold, the first node can fill the bit sequence to be encoded so that the sum of the length B′ of the filled bit sequence to be encoded and the length C1 of the first CRC is divisible by the second length threshold.

[0105] It should be noted that the first length threshold and / or the second length threshold can be preset thresholds in the first node. Alternatively, the first length threshold and / or the second length threshold can be length thresholds determined by the first node based on relevant information of each encoding scheme in subsequent concatenated encoding.

[0106] Here, the embodiments of this disclosure do not limit the number of encodings in the concatenated encoding. For example, the number of encodings in the concatenated encoding can be 2. Another example is that the number of encodings in the concatenated encoding is 3. Yet another example is that the number of encodings in the concatenated encoding is 5.

[0107] The following describes the encoding method provided in this embodiment of the present disclosure, taking a concatenated encoding with two encoding times as an example.

[0108] In some embodiments, the number of encoding operations for concatenated coding can be two, and concatenated coding can include encoding based on a first encoding method and encoding based on a second encoding method.

[0109] Here, the second encoding method is either systematic encoding or non-system encoding, and the first encoding method is either non-system encoding or non-system encoding.

[0110] It should be noted that the second encoding method can be any one of the following (2.1)-(2.3):

[0111] (2.1) LDPC encoding;

[0112] (2.2) Polar encoding;

[0113] (2.3) Turbo encoding.

[0114] Furthermore, when the first encoding method is a non-system encoding method, the first encoding method can be any one of the following (3.1)-(3.3):

[0115] (3.1) Convolutional coding;

[0116] (3.2) RS encoding;

[0117] (3.3) Polar encoding.

[0118] When the first encoding method is system encoding, the first encoding method can be any one of the following (4.1)-(4.3):

[0119] (4.1) BCH encoding;

[0120] (4.2) RS encoding;

[0121] (4.3) LDPC encoding.

[0122] For example, the first encoding method is RS encoding, and the second encoding method is LDPC encoding. Alternatively, the first encoding method is BCH encoding, and the second encoding method is LDPC encoding.

[0123] In some embodiments, the first length threshold satisfies any one of the following (5.1)-(5.2):

[0124] (5.1) The first length threshold is determined based on the maximum input bits of the second encoding method, the code rate of the first encoding method, and the CRC check length of the CRC encoding before the second encoding method (i.e., the third CRC below) is C3.

[0125] (5.2) The first length threshold is determined based on the maximum input bits of the second encoding method, the code rate of the second encoding method, the code rate of the first encoding method, and the CRC check length of the CRC encoding before the second encoding method (i.e., the third CRC below) is C3.

[0126] In other words, the length of the first encoded bit sequence is determined based on the upper limit of the input bits and the code rate of the encoding method in the concatenated encoding.

[0127] For example, taking (5.1) above as an example, the value of the first length threshold K1 is determined by the maximum number of input (in) bits K of the second encoding method. 2,in The code rate R1 of the first encoding method and the CRC check length C3 of the third CRC are obtained, and the first length threshold K1 can be calculated by the following formula three or formula four:

[0128] For example, K 2,in If R1 equals 16384, C3 equals 0.89, and C3 equals 0 (meaning no CRC encoding is performed before the second encoding method), then K1 equals 14581 or 14582.

[0129] For example, K 2,in If R1 equals 16384, C3 equals 0.89, and C3 equals 24, then K1 equals 14560 or 14561.

[0130] Taking (5.2) above as an example, the value of the first length threshold K1 is determined by the maximum number of output (out) bits of the second encoding method K. 2,out The code rate R1 of the first encoding method and the code rate R2 of the second encoding method are obtained, and the first length threshold K1 can be calculated by the following formula five or formula six:

[0131] For example, K 2,out If R1 equals 4096, R2 equals 0.89, R2 equals 0.926, and C3 equals 0 (meaning no CRC encoding is performed before the second encoding method), then K1 equals 3375 or 3376.

[0132] For example, K 2,out If R1 equals 4096, R2 equals 0.89, R3 equals 0.926, and C3 equals 16, then K1 equals 3361 or 3362.

[0133] In some embodiments, the second length threshold satisfies any one of the following (6.1)-(6.2):

[0134] (6.1) The second length threshold is determined based on the maximum input bits of the second encoding method, the code rate of the first encoding method, and the CRC check length of each CRC encoding.

[0135] (6.2) The second length threshold is determined based on the maximum input bits of the second encoding method, the code rate of the second encoding method, the code rate of the first encoding method, and the CRC check length of each CRC encoding.

[0136] In other words, the block size of segmented encoding is determined based on the upper limit of the input bits and the code rate of the encoding method in concatenated encoding, as well as the check length of CRC encoding.

[0137] Here, the CRC check length of the CRC encoding before the first encoding method (i.e., the second CRC below) is C2, and the CRC check length of the CRC encoding before the second encoding method (i.e., the third CRC below) is C3.

[0138] For example, taking (6.1) above as an example, the value of the second length threshold K2 is determined by the maximum number of input bits K of the second encoding method. 2,in The code rate R1 of the first encoding method, the CRC check length C2 of the second CRC encoding, and the CRC check length C3 of the third CRC encoding are obtained, and the second length threshold K2 can be calculated using the following formula seven or formula eight:

[0139] For example, K 2,in If K2 equals 16384, R1 equals 0.89, C3 equals 0 (i.e., no CRC encoding is performed before the second encoding method), and C2 equals 16, then K2 equals 14565 or 14566.

[0140] For example, K 2,in If R1 equals 0.89, C3 equals 16, C2 equals 16, then K2 equals 14551 or 14552.

[0141] For example, K 2,in If R1 equals 16384, C3 equals 0.89, C2 equals 24, and C2 equals 0 (meaning no CRC encoding is performed before the first encoding method), then K2 equals 14560 or 14561.

[0142] Taking (6.2) above as an example, the value of the second length threshold K2 is determined by the maximum number of output bits K of the second encoding method. 2,outThe code rate R1 of the first encoding method, the code rate R2 of the second encoding method, and the CRC check length C2 for each CRC encoding are obtained, and the second length threshold K2 can be calculated using the following formula nine or formula ten:

[0143] For example, K 2,out If K2 equals 4096, R1 equals 0.89, R2 equals 0.926, C3 equals 0 (i.e., no CRC encoding is performed before the second encoding method), and C2 equals 16, then K2 equals 3359 or 3360.

[0144] For example, K 2,out If R1 equals 4096, R2 equals 0.89, R2 equals 0.926, C3 equals 16, and C2 equals 16, then K2 equals 3345 or 3346.

[0145] For example, K 2,out If R1 equals 4096, R2 equals 0.89, R2 equals 0.926, C3 equals 16, and C2 equals 0 (i.e., no CRC encoding is performed before the first encoding method), then K2 equals 3361 or 3362.

[0146] In some embodiments, the first node may perform the following S203 for each first code block.

[0147] In S203, the first code block is concatenated and encoded, and at most one cyclic redundancy check encoding is performed before each encoding of the concatenated code to obtain the second encoded bit sequence.

[0148] Here, the first node performs at most one CRC encoding before each encoding in the concatenated encoding. Therefore, the first node can perform at most two CRC encodings in the concatenated encoding, such as zero CRC encodings, one CRC encoding, and two CRC encodings.

[0149] In this embodiment of the disclosure, the CRC encoding before the first encoding method of concatenated encoding is the encoding of the second CRC, and the CRC encoding before the second encoding method of concatenated encoding is the encoding of the third CRC.

[0150] It should be noted that the purpose of cascading the first and second encoding methods is to improve the system's performance, including enhancing its ability to resist multi-user interference and its ability to converge quickly during iterative detection and decoding.

[0151] The second encoding method, namely the internal code, needs to be able to resist interference from multiple users and converge quickly during iterative detection and decoding. This generally means that the internal code usually needs to have a high error correction capability.

[0152] The first encoding method, namely the external code, is generally considered to have the ability to correct sudden errors, and focuses more on correcting sudden errors or long-distance errors.

[0153] The first CRC is mainly used to verify the decoded and recovered data to determine whether the decoded data is correct.

[0154] The third CRC is used in the decoding process of the second encoding method. It can not only be used to verify the correctness of the data, but also save computation through early termination operation.

[0155] The second CRC is used in the decoding process of the first encoding method and / or the second encoding method. It can not only be used to verify the correctness of the data, but also save computation through early termination operation.

[0156] Here, if both the first and second encoding methods are system encodings, then the second CRC can be used in the decoding process of both encoding methods. Alternatively, if the first encoding method is a system encoding and the second encoding method is a non-system encoding, then the second CRC is only used in the decoding process of the first encoding method.

[0157] In some embodiments, the second coded bit sequence includes at least one of the following (7.1)-(7.5):

[0158] (7.1) First code block;

[0159] (7.2) A parity bit sequence encoded based on the first encoding method;

[0160] (7.3) The parity bit sequence encoded based on the second encoding method;

[0161] (7.4) The first check bit sequence based on the second CRC encoding;

[0162] (7.5) The second check bit sequence based on the third CRC encoding.

[0163] It should be noted that the CRC check length of the second CRC and the CRC check length of the third CRC can be any of the following: 8, 11, 12, 16, 24.

[0164] For example, referring to Table 1 above, taking the second CRC as an example, when the CRC check length of the second CRC is 8, the second CRC encoding generator polynomial is g(x) = x 8 +x 2 +x+1.

[0165] When the CRC check length of the second CRC is 11, the generator polynomial of the second CRC encoding is g(x) = x. 11 +x 10+x 9 +x 5 +1.

[0166] When the CRC check length of the second CRC is 12, the generator polynomial of the second CRC encoding is g(x) = x. 12 +x 11 +x 3 +x 2 +x+1.

[0167] When the CRC check length of the second CRC is 16, the generator polynomial of the second CRC encoding is g(x) = x. 16 +x 12 +x 5 +1.

[0168] When the CRC check length of the second CRC is 24, the generator polynomial of the second CRC encoding is g(x) = x. 24 +x 23 +x 18 +x 17 +x 14 +x 11 +x 10 +x 7 +x 6 +x 5 +x 4 +x 3 +x+1.

[0169] Similarly, the generator polynomials corresponding to different CRC check lengths of the third CRC can be referenced from the generator polynomials corresponding to different CRC check lengths of the second CRC, which will not be elaborated here.

[0170] In some embodiments, if the first encoding method is system encoding, the first node can encode the first code block according to the second encoding strategy to obtain the second encoded bit sequence.

[0171] Here, the second encoding strategy can be any one of the following (8.1)-(8.2):

[0172] (8.1) Sequentially execute the second CRC encoding, the first encoding method encoding, and the second encoding method encoding;

[0173] (8.2) Execute the encoding of the first encoding method and the encoding of the second encoding method in sequence.

[0174] It should be noted that the first node can refer to the number of the first code block when selecting the second coding strategy.

[0175] In some embodiments, when the number of first code blocks is greater than 1, the second encoding strategy selected by the first node is as described in (8.1), and the encoding of the second CRC, the encoding of the first encoding method, and the encoding of the second encoding method are executed in sequence.

[0176] For example, taking the second encoding method as the system encoding, as shown in Figure 3, 301 is a bit sequence to be encoded with a length of B. After encoding by the first CRC, a CRC check bit sequence 302 with a length of C1 is obtained. 303 represents a code block (i.e., the first code block) after code block segmentation. The code block is encoded by the second CRC to obtain a CRC check bit sequence 304 (i.e., the first check bit sequence) with a length of C2. 305 is the check bit sequence part obtained after encoding by the first encoding method. 306 is the check bit sequence part obtained after encoding by the second encoding method.

[0177] Here, the specific representations of data after encoding using different encoding methods are as follows:

[0178] The bit sequence length of the code block is K, and the bit sequence of the code block can be [a0, a1, ..., a...]. K-1 ], here, a i This represents an information bit, i = 0, 1, ..., K-1.

[0179] After the code block is encoded by the second CRC, the C2 check bits generated by the second CRC are appended to the bit sequence of the code block to obtain the encoded data bit sequence 1, represented as: Here, p j This represents a second CRC check bit, j = 0, 1, ..., C2-1.

[0180] Data bit sequence 1 is encoded using the first encoding method to obtain m1 parity bits. Data bit sequence 1 of length K+C2 and the m1 parity bits together form the encoded data bit sequence 2, represented as: Here, q t This represents a parity bit for a first encoding scheme, t = 0, 1, ..., m1-1.

[0181] The second encoding method is either systematic encoding or non-systematic encoding. If the second encoding method is systematic encoding, the data bit sequence 2, after being encoded using the second encoding method, obtains m2 parity bits. The data bit sequence 2 of length K+C2+m1, together with the m2 parity bits, constitutes the encoded data bit sequence 3 as follows: Here, r eLet e ​​represent a parity bit for a second encoding method, where e = 0, 1, ..., m2-1. In this case, the total bit length of the encoded bit sequence is equal to N2, where N2 = K + C2 + m1 + m2.

[0182] If the second encoding method is a non-systematic encoding, the data bit sequence 2, after being encoded by the second encoding method, obtains an encoded bit sequence 3 of length N2. The encoded bit sequence 3 of length N2 can be represented as: Here, b s Let s represent a bit encoded using a second encoding method, where s = 0, 1, ..., N²-1.

[0183] In some embodiments, when the number of first code blocks is 1, the second encoding strategy selected by the first node is as described in (8.2), and the encoding of the first encoding method and the encoding of the second encoding method are executed in sequence.

[0184] In other words, since there is only one code block after the first encoded bit sequence is segmented, it is not necessary to add a CRC check bit sequence after the first encoded bit sequence. This is because the first encoded bit sequence already contains the bit sequence to be encoded and a first CRC check bit sequence. Using the first CRC check bit sequence can achieve the same function of CRC verification and CRC-assisted decoding.

[0185] For example, taking the second encoding method as the system encoding, as shown in Figure 4, 411 is a bit sequence to be encoded with a length of B. After being encoded by the first CRC, a CRC check bit sequence with a length of C1 is obtained, 412. 413 is the check bit sequence part obtained after being encoded by the first encoding method, and 414 is the check bit sequence part obtained after being encoded by the second encoding method.

[0186] Here, the specific representations of data after encoding using different encoding methods are as follows:

[0187] The bit sequence length of a code block (i.e., the bit sequence to be encoded) is K, and the bit sequence of the code block can be [a0, a1, ..., a...]. K-1 ], here, a i This represents an information bit, i = 0, 1, ..., K-1.

[0188] The code block is encoded using the first encoding method to obtain m1 parity bits, which are then appended to the bit sequence of the code block. The code block of length K and the m1 parity bits together form the encoded data bit sequence 1, represented as: Here, q t This represents a parity bit for a first encoding scheme, t = 0, 1, ..., 1m1-1.

[0189] The second encoding method is either systematic encoding or non-systematic encoding. If the second encoding method is systematic encoding, the data bit sequence 1, after being encoded using the second encoding method, obtains m2 parity bits. The data bit sequence 1 of length K+m1, together with the m2 parity bits, constitutes the encoded data bit sequence 2 as follows: Here, r e Let e ​​represent a parity bit for a second encoding method, where e = 0, 1, ..., m2-1. In this case, the total bit length of the encoded bit sequence is equal to N2, where N2 = K + m1 + m2.

[0190] If the second encoding method is a non-systematic encoding, the data bit sequence 1, after being encoded by the second encoding method, obtains an encoded bit sequence 2 of length N2. The encoded bit sequence 2 of length N2 can be represented as: Here, b s Let s represent a bit encoded using a second encoding method, where s = 0, 1, ..., N²-1.

[0191] In other embodiments, if the first encoding method is a non-system encoding, the first node can encode the first code block according to the first encoding strategy to obtain the second encoded bit sequence.

[0192] Here, the first encoding strategy can be any one of the following (9.1)-(9.2):

[0193] (9.1) Execute the second CRC encoding, the first encoding method encoding, the third CRC encoding, and the second encoding method encoding in sequence;

[0194] (9.2) Execute the encoding of the first encoding method, the encoding of the third CRC, and the encoding of the second encoding method in sequence.

[0195] It should be noted that the first node can refer to the number of the first code blocks when selecting the first coding strategy.

[0196] In some embodiments, when the number of first code blocks is greater than 1, the first encoding strategy selected by the first node is as described in (9.1), and the encoding of the second CRC, the encoding of the first encoding method, the encoding of the third CRC, and the encoding of the second encoding method are executed in sequence.

[0197] For example, taking the second encoding method as a system encoding, as shown in Figure 5, 501 is a bit sequence to be encoded with a length of B. After encoding by the first CRC, a CRC check bit sequence with a length of C1 is obtained 502. 503 represents a code block after code block segmentation (i.e., the first code block). The code block is encoded by the second CRC to obtain a CRC check bit sequence with a length of C2, 504 (i.e., the first check bit sequence). 505 is the encoded bit sequence obtained after encoding by the first encoding method without system encoding. It is then encoded by the third CRC to obtain a CRC check bit sequence with a length of C3, 506 (i.e., the second check bit sequence). 507 is the check bit sequence part obtained after encoding by the second encoding method.

[0198] Here, the specific representations of data after encoding using different encoding methods are as follows:

[0199] The bit sequence length of the code block is K, and the bit sequence of the code block can be [a0, a1, ..., a...]. K-1 ], here, a i This represents an information bit, i = 0, 1, ..., K-1.

[0200] After the code block is encoded by the second CRC, the C2 check bits generated by the second CRC are appended to the bit sequence of the code block to obtain the encoded data bit sequence 1, represented as: Here, p j This represents a second CRC check bit, j = 0, 1, ..., C2-1.

[0201] Since the first encoding method is a non-systematic encoding, the data bit sequence 1, after being encoded using the first encoding method, obtains an encoded bit sequence 2 of length N3, represented as: Here, N3 is greater than K+C2.

[0202] After the encoded bit sequence 2 is encoded by the third CRC, the resulting C3 third CRC check bits are appended to the bit sequence of the encoded bit sequence 2 to obtain the data bit sequence 3 encoded by the third CRC, as shown below: Here, p j This represents a third CRC check bit, j = 0, 1, ..., C3-1.

[0203] The second encoding method is either systematic encoding or non-systematic encoding. If the second encoding method is systematic encoding, the data bit sequence 3, after being encoded using the second encoding method, obtains m² parity bits. The data bit sequence 3 of length N³+C³, together with the m² parity bits, constitutes the encoded data bit sequence 4 as follows: Here, r eLet e ​​represent a parity bit for a second encoding method, where e = 0, 1, ..., m²-1. In this case, the total bit length of the encoded bit sequence is equal to N², where N² = N³ + C³ + m².

[0204] If the second encoding method is a non-systematic encoding, the data bit sequence 3, after being encoded by the second encoding method, obtains an encoded bit sequence 4 of length N2. The encoded bit sequence 4 of length N2 can be represented as: Here, b s Let s represent a bit encoded using a second encoding method, where s = 0, 1, ..., N²-1.

[0205] In some embodiments, when the number of the first code block is 1 or greater than 1, the first encoding strategy that the first node can choose is as described in (9.2), and the encoding of the first encoding method, the encoding of the third CRC, and the encoding of the second encoding method are executed in sequence.

[0206] In other words, since there is only one code block after the first encoded bit sequence is segmented, and the code block contains an additional first CRC check bit sequence, but because the first encoding method is a non-systematic encoding, the correctness of the bit sequence to be encoded cannot be determined by the first CRC check bit sequence after encoding. Therefore, the data sequence encoded by the first encoding method is encoded using a third CRC, and the correctness of the decoded data sequence corresponding to the data sequence encoded by the first encoding method is determined by the check bit sequence of the third CRC. Using the check bit sequence of the third CRC can also achieve the functions of CRC check and CRC-assisted decoding.

[0207] For example, taking a first code block with a quantity of 1 and a second encoding method of systematic encoding as an example, as shown in Figure 6, 611 is a bit sequence to be encoded with a length of B. After encoding by the first CRC, a CRC check bit sequence with a length of C1 is obtained, 612. 613 is the encoded data bit sequence obtained after encoding by the first encoding method of non-systematic encoding. After encoding by the third CRC, a CRC check bit sequence with a length of C3 is obtained, 614 (i.e., the second check bit sequence). 615 is the check bit sequence part obtained after encoding by the second encoding method.

[0208] Here, the specific representations of data after encoding using different encoding methods are as follows:

[0209] The bit sequence length of a code block (i.e., the bit sequence to be encoded) is K, and the bit sequence of the code block can be [a0, a1, ..., a...]. K-1 ], here, a i This represents an information bit, i = 0, 1, ..., K-1.

[0210] Since the first encoding method is a non-systematic encoding, the code block, after being encoded using the first encoding method, obtains a coded bit sequence of length N3, represented as: Here, N3 is greater than K.

[0211] After the encoded bit sequence 1 is encoded by the third CRC, the resulting C3 third CRC check bits are appended to the bit sequence of the encoded bit sequence 1 to obtain the data bit sequence 2 encoded by the third CRC, as shown below: Here, p j This represents a third CRC check bit, j = 0, 1, ..., C3-1.

[0212] The second encoding method is either systematic encoding or non-systematic encoding. If the second encoding method is systematic encoding, the data bit sequence 2, after being encoded using the second encoding method, obtains m² parity bits. The data bit sequence 2 of length N³+C³, together with the m² parity bits, forms the encoded data bit sequence 3 as follows: Here, r e Let e ​​represent a parity bit for a second encoding method, where e = 0, 1, ..., m²-1. In this case, the total bit length of the encoded bit sequence is equal to N², where N² = N³ + C³ + m².

[0213] If the second encoding method is a non-systematic encoding, the data bit sequence 2, after being encoded by the second encoding method, obtains an encoded bit sequence 3 of length N2. The encoded bit sequence 3 of length N2 can be represented as: Here, b s Let s represent a bit encoded using a second encoding method, where s = 0, 1, ..., N²-1.

[0214] For example, taking a first code block with a number greater than 1 and a second encoding method of systematic encoding as an example, as shown in Figure 7, 701 is a bit sequence to be encoded with a length of B. After encoding by the first CRC, a CRC check bit sequence with a length of C1 is obtained 702. 703 represents a code block after code block segmentation (i.e., the first code block). The code block is encoded by the first encoding method of non-systematic encoding to obtain the encoded bit sequence 704. It is then encoded by the third CRC to obtain a CRC check bit sequence 705 with a length of C3 (i.e., the second check bit sequence). 706 is the check bit sequence part obtained after encoding by the second encoding method.

[0215] Here, the specific representations of data after encoding using different encoding methods are as follows:

[0216] The bit sequence length of the code block is K, and the bit sequence of the code block can be [a0, a1, ..., a...]. K-1 ], here, a iThis represents an information bit, i = 0, 1, ..., K-1.

[0217] Since the first encoding method is a non-systematic encoding, the code block, after being encoded using the first encoding method, obtains a coded bit sequence of length N3, represented as: Here, N3 is greater than K.

[0218] After the encoded bit sequence 1 is encoded by the third CRC, the resulting C3 third CRC check bits are appended to the bit sequence of the encoded bit sequence 1 to obtain the data bit sequence 2 encoded by the third CRC, as shown below: Here, p j This represents a third CRC check bit, j = 0, 1, ..., C3-1.

[0219] The second encoding method is either systematic encoding or non-systematic encoding. If the second encoding method is systematic encoding, the data bit sequence 2, after being encoded using the second encoding method, obtains m² parity bits. The data bit sequence 2 of length N³+C³, together with the m² parity bits, forms the encoded data bit sequence 3 as follows: Here, r e Let e ​​represent a parity bit for a second encoding method, where e = 0, 1, ..., m²-1. In this case, the total bit length of the encoded bit sequence is equal to N², where N² = N³ + C³ + m².

[0220] If the second encoding method is a non-systematic encoding, the data bit sequence 2, after being encoded by the second encoding method, obtains an encoded bit sequence 3 of length N2. The encoded bit sequence 3 of length N2 can be represented as: Here, b s Let s represent a bit encoded using a second encoding method, where s = 0, 1, ..., N²-1.

[0221] In some embodiments, the first node can concatenate multiple first code blocks for batch processing to improve the encoding efficiency of all first code blocks.

[0222] In some embodiments, taking the second encoding strategy described in (8.1) above as an example, during the process of the first node encoding the first code block according to the second encoding strategy to obtain the second encoded bit sequence, the first node can sequentially perform the second CRC encoding and the first encoding method encoding on each first code block to obtain multiple second code blocks. Then, the first node can concatenate at least two of the multiple second code blocks to obtain at least one third code block, and perform the second encoding method encoding on each third code block to obtain at least one second encoded bit sequence.

[0223] In other words, the second node can concatenate at least one encoded bit sequence after being encoded by the first encoding method to obtain a new data sequence, and then encode the new encoded bit sequence by the second encoding method to obtain an encoded bit sequence.

[0224] For example, taking the second encoding method as the system encoding, as shown in Figure 8, 811 is a bit sequence to be encoded with a length of B. After encoding by the first CRC, a CRC check bit sequence 812 with a length of C1 is obtained. 813 represents a code block after code block segmentation (i.e., the first code block). The code block is encoded by the second CRC to obtain a CRC check bit sequence 814 with a length of C2 (i.e., the first check bit sequence). 815 is the check bit sequence part obtained after encoding by the first encoding method. 816 is the encoded bit sequence (i.e., the third code block) obtained by concatenating two code blocks (i.e., the second code block) encoded by the first encoding method. 817 is the check bit sequence part obtained after encoding by the second encoding method.

[0225] In some embodiments, taking the second encoding strategy described in (8.1) above as an example, during the process of the first node encoding the first code block according to the second encoding strategy to obtain the second encoded bit sequence, the first node can concatenate at least two of the multiple first code blocks to obtain at least one fourth code block, where a fourth code block is composed of a first number of concatenated first code blocks. Next, the first node can perform second CRC encoding on each fourth code block to obtain at least one fifth code block. Then, for each fifth code block, the first node can segment it according to the first number corresponding to the fifth code block to obtain a first number of sixth code blocks. Afterwards, the first node can perform encoding using the first encoding method on each sixth code block to obtain multiple second code blocks. Next, the first node can concatenate at least two of the multiple second code blocks to obtain at least one third code block, and perform encoding using the second encoding method on each third code block to obtain at least one second encoded bit sequence.

[0226] For example, taking the second encoding method as the system encoding, as shown in Figure 9, 901 is a bit sequence to be encoded of length B. After encoding by the first CRC, a CRC check bit sequence of length C1 is obtained, 902. 903 represents a code block after code block segmentation (i.e., the first code block). The w code blocks are concatenated and then encoded by the second CRC. In the example, the two code blocks are concatenated and then encoded by the second CRC to obtain a CRC check bit sequence of length C2, 904 (i.e., the first check bit sequence). The data block after the second CRC encoding is divided into w new code blocks (i.e., the sixth code block), which are encoded by the first encoding method respectively. 905 is the check bit sequence part obtained after encoding by the first encoding method. The bit sequence 906 obtained by concatenating the w code blocks (i.e., the second code block) encoded by the first encoding method is encoded by the second encoding method. 907 is the check bit sequence part obtained after encoding 906 by the second encoding method. Here, w is an integer greater than 1 and less than the total number of code blocks, and w is divisible by the total number of code blocks.

[0227] Here, the first encoding method can be RS encoding, and the second encoding method can be LDPC encoding. If the length of each segmented code block is 1900, and w = 2 code blocks are concatenated for the second CRC encoding, the second CRC length C2 = 24. At this time, the total length of the two code blocks and the second CRC is 1900*2 + 24 = 3824 bits (i.e., the length of the fifth code block). After being divided into two new code blocks (i.e., the sixth code block), each new code block has a length of 1912. Each new code block is encoded using the first encoding method. The 1912 bits are in GF (a finite field) (2 8 The corresponding information symbols are 1912 / 8 = 239. The bit length of the codeword under GF(28) is 255*8 = 2040. Therefore, the RS code type is RS(255,239). The length of the encoded bit sequence obtained after each new code block is encoded by the second CRC and the first encoding method is 2040 (i.e. the length of the second code block). The coded bit sequences of w = 2 are concatenated, and the length of the concatenated bit sequence is 4080 (i.e. the length of the third code block). The bit sequence of length 4080 is used as the input of the second encoding method and encoded by the second encoding method to obtain the second encoded bit sequence.

[0228] Similarly, when the first encoding method is non-system encoding, the first node can also combine the first encoding strategy (9.1) shown in Figure 5 and the first encoding strategy (9.2) shown in Figure 7 to perform concatenation processing on the code blocks in the encoding process.

[0229] For example, as shown in Figure 5, the code block 1203 after code block segmentation can be encoded by the second CRC after concatenating w code blocks. The data block after the second CRC encoding is divided into w new code blocks, and then encoded by the first encoding method, the third CRC encoding, and the second encoding method. w is an integer greater than 1 and less than the total number of code blocks, and w is divisible by the total number of code blocks.

[0230] For example, the encoded bit sequence 1205 obtained by the first encoding method shown in Figure 5 can be encoded by the third CRC after being concatenated by at least one CRC. The encoded sequence obtained after the third CRC encoding is then encoded by the second encoding method to obtain the second encoded bit sequence.

[0231] For example, the encoded bit sequence 1304 obtained by the first encoding method shown in Figure 7 can be encoded by the third CRC after being concatenated by at least one CRC. The encoded sequence obtained after the third CRC encoding is then encoded by the second encoding method to obtain the second encoded bit sequence.

[0232] In some embodiments, a bit interleaving process may also be included between different encoding methods, that is, changing the order of data in different encoding processes.

[0233] For example, in the process of the first encoding method and the second encoding method, the encoded data sequence obtained by the first encoding method is interleaved, and then the interleaved bit data sequence is encoded by the second encoding method.

[0234] There are various types of interleavers, including but not limited to: row-column interleavers, triangular interleavers, convolutional interleavers, pseudo-random interleavers, and spiral interleavers.

[0235] Taking a row-column interleaver as an example, the interleaving process is described as follows: The first node organizes the data into a matrix by rows, and then reads it in the order of columns to achieve the purpose of interleaving.

[0236] For example, given the original data sequence [1,2,3,4,5,6], the first node can organize it into a two-row, three-column matrix [1,2,3;4,5,6], where “;” indicates a newline. The data sequence after reading it in column order is [1,4,2,5,3,6].

[0237] In some embodiments, after the first node performs a series of encoding processes on the bit sequence to be encoded to obtain the second encoded bit sequence, the first node may send all or part of the bits of the second encoded bit sequence to the second node.

[0238] Here, the encoded bit sequence sent by the first node to the second node can be a bit sequence to be sent, which includes all or part of the bits of the second encoded bit sequence.

[0239] For example, if the length of the second encoded bit sequence is N2, the number of bits in the bit sequence to be sent can be E, where E is an integer less than or equal to N2.

[0240] In some embodiments, the first node may perform bit selection on the second coded bit sequence according to at least one of the following (10.1)-(10.4) to obtain a bit sequence of length E to be transmitted:

[0241] (10.1) Punch bit position;

[0242] (10.2) Zero-filling shortens bit positions;

[0243] (10.3) Bitrate;

[0244] (10.4) The length of the bit sequence to be encoded.

[0245] It should be noted that when both the first encoding method and the second encoding method are system encoding, the second encoded bit sequence of length N2 obtained above may contain source information bits, zero-padding bits, and parity bits. The length N2 of the second encoded bit sequence may not meet the code rate requirements, so it is necessary to select some bits here for transmission.

[0246] For example, both the first encoding method and the second encoding method are system encoding. The first node can obtain the number of parity bits contained in the bit sequence to be sent by the floor function (i.e., the function of rounding down), the code rate R, the length K of the code block information bit sequence, and the number of system bit punchings puncSysBit, as shown in the following formula eleven: floor(K / R)-K+puncSysBit Formula eleven.

[0247] The check bits here include: check data generated based on the first encoding method, check data generated based on the second encoding method, and check bits generated by at most two CRC checks (such as the first check bit sequence and the second check bit sequence).

[0248] The first node can obtain the number of code block information bits contained in the bit sequence to be transmitted by using the length K of the code block information bit sequence and the number of system bit punctures, puncSysBit, as shown in the following formula 12:

[0249] K-puncSysBit Formula Twelve.

[0250] In addition to the floor function, you can also use the ceil function (which rounds up) or the round function (which rounds up to the minimum difference between the rounded and rounded functions).

[0251] In this embodiment of the disclosure, the positions of the punch bits and the zero-padding bits are preset.

[0252] For example, the system bit punching position is located at the first puncSysBit bit position of the second encoded bit sequence; the zero padding bit position is located at the last paddingBit bit position of the encoded bit sequence to be encoded in the second encoding method, where paddingBit is greater than or equal to 0 and less than the length of the encoded bit sequence to be encoded in the second encoding method.

[0253] This disclosure also provides a decoding method applied to a second node, as shown in FIG10. The decoding method may include: S1001-S1003.

[0254] In S1001, the first code block in the second encoded bit sequence is decoded based on multiple check bit sequences in the second encoded bit sequence.

[0255] Here, the multiple check bit sequences include: the check bit sequence of each encoding in the concatenated encoding, and the check bit sequence of at most one CRC encoding performed before each encoding in the concatenated encoding.

[0256] It should be noted that for the introduction of concatenated coding, and the introduction of the at most one CRC encoding performed before each encoding of the corresponding concatenated coding, please refer to the description of the first encoding method, the second encoding method, the second CRC, and the third CRC in the above embodiments, which will not be repeated here.

[0257] In this embodiment of the disclosure, the second node can receive the second encoded bit sequence sent by the first node.

[0258] It should be noted that the second node can receive all or part of the bits of the second encoded bit sequence sent by the first node.

[0259] In some embodiments, if the second node receives only a portion of the bits of the second encoded bit sequence sent by the first node, the second node can recover the remaining bits of the unreceived second encoded bit sequence to obtain the complete second encoded bit sequence.

[0260] In S1002, after all the first code blocks in the second encoded bit sequence have been decoded, all the first code blocks are concatenated to obtain the decoded first encoded bit sequence.

[0261] In S1003, based on the check bit sequence of the first CRC encoding in the decoded first encoded bit sequence, the bit sequence to be encoded in the decoded first encoded bit sequence is decoded.

[0262] Here, the length B of the decoded bit sequence to be encoded is an integer greater than 0; the length N1 of the first encoded bit sequence after decoding is an integer greater than B; the length K of the first code block after decoding is an integer less than or equal to N1 and greater than 0; and the length N′ of the received second encoded bit sequence is an integer greater than N1 and less than or equal to N2.

[0263] In other words, for the received data sequence to be decoded (i.e., the second encoded bit sequence), the decoded code block can be obtained based on the decoding of the first encoding method, the decoding of the second encoding method, and at most two CRC decodings. Multiple decoded code blocks are concatenated to obtain the decoded first encoded bit sequence. The decoded first encoded bit sequence is then subjected to the first CRC decoding to obtain the decoded bit sequence to be encoded. When the decoding result is correct, the decoded bit sequence to be encoded obtained above should be the same as the data to be encoded at the sending end. The decoding process is represented as the inverse process based on the encoding of the first encoding method, the encoding of the second encoding method, and at most two CRC encodings, which will not be elaborated here.

[0264] In some embodiments, the second node may perform different decoding methods to decode the first code block in the second encoded bit sequence according to the type of the first encoding method in the concatenated encoding (i.e., systematic encoding or non-systematic encoding), and then concatenate all the first code blocks to decode to obtain the bit sequence to be encoded.

[0265] In some embodiments, taking the first encoding method as the system encoding as an example, the second node can perform CRC verification on the first code block based on the first check bit sequence of the second CRC encoding during the decoding process of the second encoding bit sequence. Then, if the first check bit sequence verification passes, the second node can exit the decoding process of the second encoding method in advance and skip the decoding process of the first encoding method to obtain the first code block.

[0266] In other words, when the first encoding method is system encoding, the decoding process of the second encoding method can directly verify whether the decoded code block is correct through the second CRC check. If the verification passes, the decoding of the second encoding method can be exited in advance, and the decoded code block can be directly output without performing the first encoding method decoding again. If the verification fails, the first encoding method decoding is performed, and then the second CRC check is used to determine whether the code block has been successfully decoded.

[0267] For example, combining the second encoding strategy (8.1) shown in Figure 3 above, as shown in Figure 11, 1101 is the data to be decoded received by the second node (i.e., all or part of the bits of the second encoded bit sequence), 1103 is the decoded code block obtained after passing the second CRC check during the decoding process of the second encoding method, 1102 is the final decoding result obtained by the second encoding method when the second CRC check fails during the decoding process of the second encoding method. At this time, although the second CRC check fails, the check generated by the first encoding method can further provide error correction. 1104 is the data sequence obtained by decoding 1102 using the first encoding method, including the decoded code block and the second CRC. 1105 is the decoded code block obtained after passing the second CRC check. Then the second node concatenates the multiple decoded code blocks to obtain 1106 (i.e., the first encoded bit sequence), and performs the first CRC check on 1106 to finally obtain the decoded bit sequence to be encoded 1107.

[0268] Here, the second node can select (K+C2) bits at preset positions for the second CRC check during the decoding process of the second encoded bit sequence using the second encoding method, for example, the first (K+C2) bits. When the second CRC check is successful, it can be assumed that only the second encoding method is needed to obtain the correct code block, thus eliminating the need for decoding using the first encoding method. However, it is important to understand that a successful CRC check does not guarantee that the decoded code block is correct; there is still a certain probability that it is incorrect. This probability is very low and is generally related to parameters such as the CRC generator polynomial and the length of the bit sequence to be CRC-encoded.

[0269] It should be noted that the second encoding method can be either systematic encoding or non-system encoding. This is because, regardless of whether it is systematic or non-system encoding, the decoded result consists of the decoded code block, the check bit of the second CRC, and the check bit of the first encoding method during the decoding process. Therefore, the check bit sequence of the second CRC can be detected in advance.

[0270] For example, the second encoding method can be LDPC encoding. LDPC encoding is a systematic encoding, and the LDPC decoding process adopts an iterative BP decoding method. In each iteration of LDPC decoding, hard decision can be performed on the codeword bits to obtain a bit sequence composed of the code block, the second CRC check bit, and the check bit of the first encoding method. At this time, CRC check is performed on the bit sequence composed of the code block and the second CRC check bit. If the check passes, the code block data obtained after hard decision is considered to be correctly decoded. Therefore, the iterative decoding process can be exited in advance, and the decoded code block data can be obtained directly.

[0271] For example, the second encoding method can be Polar encoding. Polar encoding is a non-systematic encoding, and the Polar decoding process uses CRC-aided consecutive cancellation list (CA-SCL) decoding. During Polar code decoding, the SCL decoding algorithm is used to obtain L search paths. Then, with the prior information that "correct information bits can pass the second CRC check," the L paths are selected to output the optimal decoding path. The second CRC check can be performed early in the decoding process to determine whether the decoding is correct in advance and directly obtain the decoded code block data. This avoids useless calculations and reduces average complexity and latency.

[0272] For example, in conjunction with the second encoding strategy (8.2) shown in Figure 4 above, as shown in Figure 12, 1211 is the data to be decoded received by the second node (i.e. all or part of the bits of the second encoded bit sequence), 1213 is the decoded code block obtained after passing the first CRC check during the decoding process of the second encoding method, 1212 is the final decoding result obtained by the second encoding method when the first CRC check fails during the decoding process of the second encoding method. At this time, although the first CRC check fails, the check generated by the first encoding method can further provide error correction. 1214 is the data sequence obtained by decoding 1212 using the first encoding method, including the decoded code block and the first CRC. 1215 is the decoded code block obtained after passing the first CRC check, and finally the decoded bit sequence to be encoded, 1216, is obtained.

[0273] Here, the second node can select (K+C1) bits at preset positions for the first CRC check during the decoding process of the second encoded bit sequence using the second encoding method, for example, the first (K+C1) bits. When the first CRC check is successful, it can be considered that only the decoding of the second encoding method is needed to obtain the correct code block, thus eliminating the need for decoding of the first encoding method.

[0274] It should be noted that the second encoding method can be either system encoding or non-system encoding.

[0275] For example, the second encoding method can be LDPC encoding. LDPC encoding is a systematic encoding, and the LDPC decoding process adopts an iterative BP decoding method. In each iteration of LDPC decoding, hard decision can be performed on the codeword bits to obtain a bit sequence composed of the code block, the check bit of the first CRC, and the check bit of the first encoding method. At this time, CRC check is performed on the bit sequence composed of the code block and the check bit of the first CRC. If the check passes, the code block data obtained after hard decision is considered to be correctly decoded. Therefore, the iterative decoding process can be exited in advance, and the decoded code block data can be obtained directly.

[0276] For example, the second encoding method can be Polar encoding. Polar encoding is a non-systematic encoding, and the Polar decoding process uses the CA-SCL decoding method. During Polar code decoding, the SCL decoding algorithm is used to obtain L search paths. Then, with the prior information that "correct information bits can pass the first CRC check," the L paths are selected to output the optimal decoding path. The first CRC check can be performed early in the decoding process to determine whether the decoding is correct in advance and directly obtain the decoded code block data. This avoids useless calculations and reduces average complexity and latency.

[0277] In other words, when the first encoding method is system encoding, the decoding process of the second encoding method can directly verify whether the decoded code block is correct through the first CRC check. If the check passes, the decoding of the second encoding method can be exited in advance, and the decoded code block can be directly output without the need to perform the first encoding method again. If the check fails, the decoding of the first encoding method is performed, and then the first CRC check is used to determine whether the code block has been successfully decoded.

[0278] For example, in conjunction with the second encoding strategy (8.1) shown in Figure 8 above, the correctness of the decoded code block can be directly verified by the second CRC check during the decoding process of the second encoding method. At this time, the bit sequence obtained by decoding the second encoding method contains at least one code block information and at least one second CRC information corresponding to the code block information. As shown in Figure 13, 1301 is the data to be decoded received by the second node (i.e., all or part of the bits of the second encoded bit sequence). The bit sequence obtained by decoding the second encoding method contains two code block information and two second CRC information corresponding to the two code block information. The two code blocks are checked by the second CRC check using the above information. If both CRC checks pass, it can be considered that the two code blocks have been successfully obtained by decoding the second encoding method. Therefore, the first encoding method decoding is no longer required, and the two code blocks 1303 that have passed the second CRC check are obtained. If at least one of the two second CRC checks fails, the bit sequence obtained by decoding the second encoding method corresponding to 1302 needs to be segmented to obtain two sub-bit sequences 1304 as shown in the figure. The number of these sub-bit sequences is equal to the number of times the encoded bit sequences are concatenated on the encoding side. Each sub-bit sequence is decoded using the first encoding method to obtain bit sequence 1305. Then, the bit sequence 1305 obtained by decoding the first encoding method is subjected to a second CRC check to obtain decoded code block 1306. The obtained 1303 or 1306 is concatenated with other decoded code blocks to obtain 1307. The first CRC check is performed on 1307 to obtain the decoded bit sequence to be encoded 1308. In this example, by concatenating the information encoded by the first encoding method on the encoding side, multiple code blocks can be processed in parallel on the decoding side, improving decoding efficiency.

[0279] Here, the first encoding method can be RS encoding, and the second encoding method can be LDPC encoding. Here, the codeword length corresponding to RS encoding under GF(28) is 255, so the bit length corresponding to this codeword length is 255*8=2040. That is, the length of the encoded bit sequence obtained after each code block is encoded by the second CRC encoding and the first encoding method is 2040. If the four encoded bit sequences are concatenated, the length of the concatenated bit sequence is 8160. The bit sequence of length 8160 is used as the input of the second encoding method, and the second encoding method is used to obtain the second encoded bit sequence.

[0280] Furthermore, since the first encoding method is a systematic encoding, the second node can select (K+C2) bits corresponding to a preset position for each code block to perform a second CRC check during the decoding process of the second encoding method. Because the decoding process of the second encoding method involves multiple code blocks, only when multiple second CRC checks are successful can it be considered that only the decoding of the second encoding method is needed to obtain the correct code block, thus eliminating the need for decoding of the first encoding method. However, it should be understood that a successful second CRC check does not necessarily mean that the decoded code block is correct; there is still a certain probability that it is incorrect, but this probability is very low.

[0281] For example, in conjunction with the second encoding strategy (8.1) shown in Figure 9 above, the decoding process of the second encoding method can directly verify whether the decoded code block is correct through the second CRC check. At this time, the bit sequence obtained by decoding through the second encoding method contains w code block information and a corresponding second CRC information. As shown in Figure 14, 1401 is the data to be decoded received by the second node (i.e., all or part of the bits of the second encoded bit sequence). The bit sequence obtained by decoding through the second encoding method contains two code block information and a second CRC information corresponding to the two code block information (compared to the decoding process shown in Figure 13 above, the overhead of w-1 second CRCs is saved here). The bit sequence obtained by concatenating the two code blocks is checked by the second CRC check using the above information. If the CRC check passes, it can be considered that the two code block information has been successfully obtained through the decoding of the second encoding method. Therefore, the first encoding method decoding is no longer required, and the two code blocks 1403 that have passed the second CRC check are obtained. If the second CRC check fails, the bit sequence obtained by decoding the second encoding method corresponding to 1402 needs to be segmented to obtain two sub-bit sequences 1404 as shown in the figure. The number of these sub-bit sequences is equal to the number of code blocks concatenated on the encoding side. Each sub-bit sequence is decoded using the first encoding method to obtain bit sequence 1405. Then, the bit sequence 2305 obtained by decoding the first encoding method is subjected to the second CRC check to obtain decoded code block 1406. The obtained 1403 or 1406 is concatenated with other decoded code blocks to obtain 1407. The first CRC check is performed on 1407 to obtain the decoded bit sequence to be encoded. In this example, by concatenating the code block information on the encoding side, multiple code blocks can be processed in parallel on the decoding side. Compared with the decoding process shown in Figure 13 above, the overhead of w-1 second CRCs is reduced, but the process of segmenting the data block after the second CRC encoding into w new code blocks is added.

[0282] Here, since the first encoding method is a system encoding, the second node can select (w·K+C2) bits corresponding to a preset position for each code block during the decoding process of the second encoding method for the second CRC check. Because the decoding process of the second encoding method involves multiple code blocks but only one second CRC, when the second CRC check is successful, it can be considered that only the decoding of the second encoding method is needed to obtain the correct w code blocks, thus eliminating the need for decoding of the first encoding method. However, it should be understood that a successful second CRC check does not necessarily mean that the decoded data is correct; there is still a certain probability that it is incorrect, but this probability is very low.

[0283] In some embodiments, taking a non-systematic encoding method as an example, the second node can perform a CRC check on the second encoded bit sequence based on the second check bit sequence encoded by the third CRC during the decoding process of the second encoded bit sequence. Then, if the second check bit sequence passes the check, the second node can prematurely exit the decoding process of the second encoding method and perform the decoding process of the first encoding method on the decoded second encoded bit sequence. Then, during the decoding process of the first encoding method on the decoded second encoded bit sequence, the second node can perform a CRC check on the first code block in the decoded second encoded bit sequence based on the first check bit sequence encoded by the second CRC, and if the first check bit sequence passes the check, prematurely exit the decoding process of the first encoding method to obtain the first code block.

[0284] For example, combining the first encoding strategy (9.1) shown in Figure 5 above, as shown in Figure 15, 1501 is the data to be decoded received by the second node (i.e., all or part of the bits of the second encoded bit sequence), 1502 is the data sequence obtained by decoding 1501 using the second encoding method, and 1503 is the data sequence obtained when 1502 undergoes a third CRC check and the check passes. In this example, a successful CRC check can be considered as the recovery of correct data. However, it is understandable that there is still a certain probability that even if the CRC check passes, the decoded data will still be incorrect. The probability of this happening is very low. Therefore, for the case where the third CRC check passes, whether to perform a second CRC check after decoding 1503 using the first encoding method is optional, i.e., the step corresponding to 1505 in the figure. If the second CRC check is performed, the detection accuracy can be improved; if the second CRC check is not performed, the computational load can be reduced. 1504 is the decoded data sequence obtained when the third CRC check fails. Decoding 1504 using the first encoding method yields the data sequence 1506, consisting of the decoded code block and the second CRC check. Since the third CRC check failed, a second CRC check is needed to further determine the correctness of the decoded code block. After the second CRC check, the decoded code block 1507 is obtained; this second CRC check cannot be omitted. Concatenating the decoded code blocks yields the data sequence 1508, consisting of the decoded bit sequence to be encoded and the first CRC check. However, it is still impossible to completely determine the correctness of the bit sequence to be encoded at this point. Therefore, a first CRC check is performed on 1508 to obtain the decoded bit sequence to be encoded.

[0285] Here, because the first encoding method is a non-systematic encoding, it's impossible to directly determine whether the code block is correctly and completely decoded using the second CRC check, as in the example above. In this example, a third CRC encoding is added, allowing the decoding process of the second encoding method to directly verify the correctness of the decoded code block. The third CRC check is performed during the decoding process of the second encoding method. When the CRC check is successful, the data sequence obtained from the second encoding method can be considered error-free. However, the obtained data sequence corresponds to the data sequence obtained through the non-systematic encoding of the first encoding method. The code block data cannot be directly obtained from the decoded data sequence; therefore, the first encoding method must be used to decode and obtain the code block data. At this point, the obtained code block data can be considered correct. However, it's important to understand that a successful CRC check does not guarantee that the decoded code block is correct; there is still a very low probability that it is incorrect.

[0286] It should be noted that the second encoding method can be either systematic or non-systematic. This is because, regardless of whether systematic or non-systematic encoding is used, the decoded result in the second encoding method consists of the data sequence corresponding to the first encoding method and the check bit of the third CRC.

[0287] For example, the second encoding method can be LDPC encoding. LDPC encoding is a systematic encoding, and the LDPC decoding process adopts an iterative BP decoding method. In each iteration of LDPC decoding, hard decision can be performed on the codeword bits to obtain a bit sequence composed of the code block, the check bit of the third CRC, and the check bit of the first encoding method. At this time, CRC check is performed on the bit sequence composed of the code block and the check bit of the third CRC. If the check passes, it is considered that the code block data obtained after hard decision is correctly decoded. Therefore, the iterative decoding process can be exited in advance, and the first encoding method can be further decoded.

[0288] For example, the second encoding method can be Polar encoding. Polar encoding is a non-systematic encoding, and the Polar decoding process uses the CA-SCL decoding method. During Polar code decoding, the SCL decoding algorithm is used to obtain L search paths. Then, with the prior information that "correct information bits can pass the third CRC check," the L paths are selected to output the optimal decoding path. The third CRC check can be performed early in the decoding process to determine whether the decoding is correct in advance, and the corresponding data sequence after the first encoding method is obtained directly. This avoids useless calculations and reduces average complexity and latency.

[0289] In other words, when the first encoding method is a non-systematic encoding, the second CRC check cannot be used directly to determine whether the code block is correctly and completely decoded during the decoding process of the second encoding method. By adding a third CRC encoding, the correctness of the decoded code block can be directly checked through the third CRC check during the decoding process of the second encoding method. If the check passes, the decoding of the second encoding method can be exited early, and the result of the second encoding method can be decoded using the first encoding method to obtain the data sequence consisting of the decoded code block and the second CRC. Since the third CRC check passes, it can be considered that the decoded data is error-free. Therefore, optionally, the decoded code block data portion can be directly used as the decoded result. Alternatively, optionally, the second CRC check can be further performed on the data sequence consisting of the decoded code block and the second CRC to further determine whether the decoded code block is correct. If the third CRC check fails, the first encoding method is used to decode to obtain the data sequence consisting of the decoded code block and the second CRC. Since the third CRC check fails, it is impossible to determine whether the result of the first encoding method is correct. Therefore, the second CRC check is used to determine whether the code block was successfully decoded.

[0290] For example, combining the first encoding strategy (9.2) shown in Figure 6 above, as shown in Figure 16, 1611 is the data to be decoded received by the second node (i.e., all or part of the bits of the second encoded bit sequence), 1612 is the data sequence obtained by decoding 1611 using the second encoding method, and 1613 is the data sequence obtained when 1612 undergoes a third CRC check and the check passes. In this example, a successful CRC check can be considered as the recovery of correct data. However, it is understood that there is still a certain probability that even if the CRC check passes, the decoded data will still be incorrect. The probability of this happening is very low. Therefore, for the case where the third CRC check passes, whether to perform the first CRC check after decoding 1613 using the first encoding method is optional, i.e., the step corresponding to 1615 in the figure. If the first CRC check is performed, the detection accuracy can be improved; if the first CRC check is not performed, the computational load can be reduced. 1614 is the decoded data sequence obtained when the third CRC check fails. At this point, decoding 1614 using the first encoding method yields a data sequence consisting of the decoded code block and the first CRC check. Since the third CRC check failed, the first CRC check must be performed to further determine if the decoded code block is correct. After the first CRC check, the decoded code block 1617 is obtained. The first CRC check cannot be omitted here. Finally, the decoded bit sequence to be encoded, 1618, is obtained.

[0291] Here, because the first encoding method is a non-systematic encoding, it's impossible to directly determine whether the code block is correctly and completely decoded using the first CRC check, as in the example above. In this example, a third CRC encoding is added, allowing the decoding process of the second encoding method to directly verify the correctness of the decoded code block. The third CRC check is performed during the decoding process of the second encoding method. When the CRC check is successful, the data sequence obtained by decoding the second encoding method can be considered error-free. However, the obtained data sequence corresponds to the data sequence obtained by the non-systematic encoding first encoding method. The code block data cannot be directly obtained from the decoded data sequence; therefore, decoding using the first encoding method is necessary to obtain the code block data. At this point, the obtained code block data can be considered correct. However, it's important to understand that a successful CRC check does not guarantee that the decoded code block is correct; there is still a very low probability that it is incorrect.

[0292] In other words, when the first encoding method is a non-systematic encoding, the first CRC check cannot be used directly to determine whether the code block is correctly and completely decoded during the decoding process of the second encoding method. By adding a third CRC encoding, the correctness of the decoded code block can be directly checked through the third CRC check during the decoding process of the second encoding method. If the check passes, the decoding of the second encoding method can be exited early, and the result of the second encoding method can be decoded using the first encoding method to obtain the data sequence consisting of the decoded code block and the third CRC. Since the third CRC check passes, it can be considered that the decoded data is error-free. Therefore, optionally, the decoded code block data portion can be directly used as the decoded result. Alternatively, optionally, the first CRC check can be further performed on the data sequence consisting of the decoded code block and the first CRC to further determine whether the decoded code block is correct. If the third CRC check fails, the first encoding method is used to decode to obtain the data sequence consisting of the decoded code block and the first CRC. Since the third CRC check fails, it is impossible to determine whether the result of the first encoding method is correct. Therefore, the first CRC check is used to determine whether the code block was successfully decoded.

[0293] For example, combining the first encoding strategy (9.2) shown in Figure 7 above, as shown in Figure 17, 1701 is the data to be decoded received by the second node (i.e., all or part of the bits of the second encoded bit sequence), 1702 is the data sequence obtained by decoding 1701 using the second encoding method, 1704 is the data sequence obtained when 1702 is checked by the third CRC and the check passes, 1704 is decoded by the first encoding method to obtain 1706, 1703 is the decoded data sequence obtained when the third CRC check fails, 1703 is decoded by the first encoding method to obtain 1705, at which point the correctness of the decoded 1705 cannot be determined. Since the ultimate goal of the decoding process is to obtain the decoded bit sequence of length B, the decoded multiple code blocks are concatenated to obtain the data sequence 1707 composed of the decoded bit sequence and the first CRC, and the first CRC check is further performed on 1707 to obtain the decoded bit sequence 1708.

[0294] Compared to the decoding example in Figure 13 above, the second CRC check is reduced, and the first CRC check is responsible for the final verification of the decoded data. This approach is generally applicable in scenarios with good channel quality, saving a significant amount of computational resources for the second CRC check. In the decoding example in Figure 13, the second CRC check result can be used to determine in advance whether a code block is erroneous, thereby determining in advance whether the data sequence B to be encoded is correct. This approach is generally applicable in scenarios with poor channel quality, allowing for early determination of the correctness of the decoded data by early backoff.

[0295] Here, since the first encoding method is a non-systematic encoding, this example uses a third CRC encoding. This allows the decoded code block to be directly verified for correctness during the decoding process of the second encoding method using the third CRC check. When the third CRC check is successful during the decoding process of the second encoding method, the data sequence obtained from the decoding of the second encoding method can be considered error-free. However, the obtained data sequence corresponds to the data sequence obtained through the non-systematic encoding of the first encoding method. Code block data cannot be directly obtained from the decoded data sequence; therefore, the first encoding method must be used to decode the code block data. At this point, the obtained code block data can be considered correct. However, when the third CRC check fails, the code block obtained through the decoding of the first encoding method may not be correct. Therefore, at least one code block needs to be concatenated and then the first CRC check performed to determine whether the decoded data to be encoded is correct.

[0296] In other words, when the first encoding method is a non-systematic encoding, the third CRC encoding allows the decoding process of the second encoding method to directly verify the correctness of the decoded code block. If the verification passes, the decoding of the second encoding method can be exited early, and the result of the second encoding method can be decoded using the first encoding method to obtain the decoded code block. Since the third CRC verification passes, the decoded data can be considered error-free. If the third CRC verification fails, the first encoding method is still used to obtain the decoded code block. Since the third CRC verification fails, it is impossible to determine whether the result of the first encoding method is correct. Multiple code blocks obtained by decoding using the first encoding method are concatenated, and finally, the first CRC is used to verify whether the decoded data to be encoded is correct.

[0297] The following describes the encoding and decoding methods provided in the above embodiments, taking the interaction between the first node and the second node as an example, as shown in Figure 18, including: S1801-S1807.

[0298] In S1801, the first node encodes the bit sequence to be encoded based on the first cyclic redundancy check to obtain the first encoded bit sequence.

[0299] In S1802, the first node segments the first coded bit sequence to obtain at least one first code block.

[0300] In S1803, the first node performs concatenated encoding on the first code block and performs at most one cyclic redundancy check encoding before each encoding in the concatenated encoding to obtain the second encoded bit sequence.

[0301] In S1804, the first node sends all or part of the bits of the second encoded bit sequence to the second node.

[0302] In S1805, the second node decodes the first code block in the second encoded bit sequence based on multiple check bit sequences in the second encoded bit sequence.

[0303] In S1806, when the second node has completed decoding of all the first code blocks in the second encoded bit sequence, it concatenates all the first code blocks to obtain the decoded first encoded bit sequence.

[0304] In S1807, the second node decodes the bit sequence to be encoded in the first encoded bit sequence based on the check bit sequence of the first CRC encoding in the decoded first encoded bit sequence.

[0305] It is understood that, in order to achieve the above-mentioned functions, the encoding and decoding devices include corresponding hardware structures and / or software modules for performing each function. Those skilled in the art should readily recognize that, based on the algorithmic steps of the examples described in conjunction with the embodiments of this disclosure, this disclosure can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this disclosure.

[0306] This disclosure embodiment can divide the encoding device and decoding device into functional modules according to the above method embodiment. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one functional module. The integrated module can be implemented in hardware or software. It should be noted that the module division in this disclosure embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods. The following description uses the example of dividing each functional module according to each function.

[0307] Figure 19 is a block diagram of an encoding apparatus according to some embodiments. The encoding apparatus can be applied to a first node and execute the encoding method shown in Figure 2 above, as well as the embodiment on the first node side in Figure 18. As shown in Figure 19, the encoding apparatus 1900 includes: a processing module 1901.

[0308] Processing module 1901 is used to encode the bit sequence to be encoded based on the first cyclic redundancy check (CRC) to obtain a first encoded bit sequence; processing module 1901 is also used to segment the first encoded bit sequence to obtain at least one first code block; processing module 1901 is also used to perform concatenated encoding on the first code block and perform at most one CRC encoding before each encoding in the concatenated encoding to obtain a second encoded bit sequence.

[0309] In some embodiments, the concatenated coding is performed twice, and the concatenated coding includes: coding based on a first coding method and coding based on a second coding method.

[0310] In some embodiments, the second encoding method is either systematic encoding or non-systematic encoding.

[0311] In some embodiments, the second encoding method is any one of the following:

[0312] Low-density parity-check (LDPC) coding;

[0313] Polar codes;

[0314] Turbo encoding.

[0315] In some embodiments, the first encoding method is a non-system encoding.

[0316] In some embodiments, the first encoding method is any one of the following:

[0317] Convolutional coding;

[0318] Non-system RS encoding;

[0319] Polar encoding.

[0320] In some embodiments, the processing module 1901 is specifically configured to encode the first code block according to a first encoding strategy to obtain a second encoded bit sequence, wherein the first encoding strategy is any one of the following:

[0321] The encoding of the second CRC, the encoding of the first encoding method, the encoding of the third CRC, and the encoding of the second encoding method are executed sequentially.

[0322] The encoding is performed sequentially using the first encoding method, the third CRC encoding, and the second encoding method.

[0323] In some embodiments, when the number of the first code block is 1, the first encoding strategy is to sequentially perform encoding using the first encoding method, encoding using the third CRC, and encoding using the second encoding method.

[0324] In some embodiments, when the number of first code blocks is greater than 1, the first encoding strategy is to sequentially perform the encoding of the second CRC, the encoding of the first encoding method, the encoding of the third CRC, and the encoding of the second encoding method.

[0325] In some embodiments, the CRC check length of the second CRC and the CRC check length of the third CRC are any one of the following: 8, 11, 12, 16, 24.

[0326] In some embodiments, the first encoding method is system encoding.

[0327] In some embodiments, the first encoding method is any one of the following:

[0328] Bosai-Ray-Chadri-Hokungamm BCH code;

[0329] RS encoding;

[0330] Low-density parity check (LDPC) coding.

[0331] In some embodiments, the processing module 1901 is specifically configured to encode the first code block according to a second encoding strategy to obtain a second encoded bit sequence, wherein the second encoding strategy is any one of the following:

[0332] The encoding of the second CRC, the encoding of the first encoding method, and the encoding of the second encoding method are executed sequentially.

[0333] The encoding of the first encoding method and the encoding of the second encoding method are executed in sequence.

[0334] In some embodiments, when the number of the first code block is 1, the second encoding strategy is to sequentially execute the encoding of the first encoding method and the encoding of the second encoding method.

[0335] In some embodiments, when the number of the first code blocks is greater than 1, the second encoding strategy is to sequentially perform the encoding of the second CRC, the encoding of the first encoding method, and the encoding of the second encoding method.

[0336] In some embodiments, the CRC check length of the second CRC encoding is any one of the following: 8, 11, 12, 16, 24.

[0337] In some embodiments, the CRC check length of the first CRC is any one of the following: 11, 12, 16, 24, 32.

[0338] In some embodiments, the second coded bit sequence includes at least one of the following:

[0339] First code block;

[0340] A parity bit sequence encoded based on the first encoding method;

[0341] A parity bit sequence encoded using the second encoding method;

[0342] The first check bit sequence based on the second CRC encoding;

[0343] The second check bit sequence is based on the third CRC encoding.

[0344] In some embodiments, the processing module 1901 is specifically used to sequentially perform second CRC encoding and first encoding method encoding on each first code block to obtain a plurality of second code blocks; the processing module 1901 is also used to concatenate at least two of the plurality of second code blocks to obtain at least one third code block; the processing module 1901 is also used to perform second encoding method encoding on each third code block to obtain at least one second encoded bit sequence.

[0345] In some embodiments, the processing module 1901 is specifically configured to concatenate at least two of the multiple first code blocks to obtain at least one fourth code block, wherein a fourth code block is composed of a first number of concatenated first code blocks; the processing module 1901 is further configured to perform second CRC encoding on each fourth code block to obtain at least one fifth code block; the processing module 1901 is further configured to segment each fifth code block according to the first number corresponding to the fifth code block to obtain a first number of sixth code blocks; the processing module 1901 is further configured to perform first encoding on each sixth code block to obtain multiple second code blocks.

[0346] In some embodiments, the processing module 1901 is specifically used to treat the first encoded bit sequence as a first code block when the length of the first encoded bit sequence is less than or equal to a first length threshold, and the number of the first code blocks is 1.

[0347] In some embodiments, the processing module 1901 is specifically used to segment the first encoded bit sequence to obtain at least two first code blocks when the length of the first encoded bit sequence is greater than a first length threshold.

[0348] In some embodiments, the first length threshold is determined based on the maximum input bits of the second encoding method and the code rate of the first encoding method; or, the first length threshold is determined based on the maximum input bits of the second encoding method, the code rate of the second encoding method, and the code rate of the first encoding method.

[0349] In some embodiments, the length of the first code block is less than or equal to a second length threshold.

[0350] In some embodiments, the second length threshold is determined based on the maximum input bits of the second encoding method, the code rate of the first encoding method, and the CRC check length of each CRC encoding; or, the second length threshold is determined based on the maximum output bits of the second encoding method, the code rate of the second encoding method, the code rate of the first encoding method, and the CRC check length of each CRC encoding.

[0351] In some embodiments, the encoding device 1900 further includes a transmitting device 1902. The transmitting device 1902 is configured to transmit all or part of the bits of the second encoded bit to the second node.

[0352] Figure 20 is a block diagram of a decoding device according to some embodiments. The decoding device can be applied to a second node and execute the decoding method shown in Figure 10 above, as well as the embodiment on the second node side in Figure 18. As shown in Figure 20, the decoding device 2000 includes: a processing module 2001.

[0353] Processing module 2001 is used to decode a first code block in the second encoded bit sequence based on multiple check bit sequences in the second encoded bit sequence. The multiple check bit sequences include: check bit sequences for each encoding of concatenated encoding and check bit sequences for at most one CRC encoding performed before each encoding of concatenated encoding. Processing module 2001 is also used to concatenate all first code blocks in the second encoded bit sequence to obtain a decoded first encoded bit sequence after all first code blocks in the second encoded bit sequence have been decoded. Processing module 2001 is also used to decode the bit sequence to be encoded in the decoded first encoded bit sequence based on the check bit sequences of the first CRC encoding in the decoded first encoded bit sequence.

[0354] In some embodiments, the concatenated coding is performed twice, and the concatenated coding includes: coding based on a first coding method and coding based on a second coding method.

[0355] In some embodiments, the first encoding method is either systematic encoding or non-systematic encoding.

[0356] In some embodiments, the first encoding method is system encoding; the processing module 2001 is specifically used to perform CRC verification on the first code block based on the first check bit sequence of the second CRC encoding during the decoding process of the second encoding bit sequence, wherein the second CRC is the CRC encoding before the first encoding method; the processing module 2001 is also used to exit the decoding process of the second encoding method in advance and skip the decoding process of the first encoding method if the first check bit sequence verification passes, thereby obtaining the first code block.

[0357] In some embodiments, the first encoding method is a non-system encoding; the processing module 2001 is specifically used to perform CRC verification on the second encoded bit sequence based on the second check bit sequence of the third CRC encoding during the decoding process of the second encoded bit sequence using the second encoding method, wherein the third CRC encoding is the CRC encoding prior to the second encoding method; the processing module 2001 is also used to exit the decoding process of the second encoding method in advance and perform the decoding process of the first encoding method on the decoded second encoded bit sequence if the second check bit sequence verification passes; the processing module 2001 is also used to perform CRC verification on the first code block in the decoded second encoded bit sequence based on the first check bit sequence of the second CRC encoding during the decoding process of the first encoding method on the decoded second encoded bit sequence; the processing module 2001 is also used to exit the decoding process of the first encoding method in advance and obtain the first code block if the first check bit sequence verification passes.

[0358] In the case of implementing the functions of the integrated modules described above in hardware, this disclosure provides another possible block diagram of the encoding apparatus involved in the above embodiments. As shown in FIG21, the encoding apparatus 2100 includes a processor 2102 and a bus 2104. In some embodiments, the encoding apparatus may further include a memory 2101. In some embodiments, the encoding apparatus may further include a communication interface 2103.

[0359] Processor 2102 may implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with embodiments of this disclosure. Processor 2102 may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with embodiments of this disclosure. Processor 2102 may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a digital signal processor (DSP), and a microprocessor, etc.

[0360] The communication interface 2103 is used to connect with other devices via a communication network. This communication network can be Ethernet, wireless access network, wireless local area network (WLAN), etc.

[0361] The memory 2101 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), disk storage medium or other magnetic storage device, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto.

[0362] In some embodiments, the memory 2101 may exist independently of the processor 2102. The memory 2101 may be connected to the processor 2102 via a bus 2104 and may be used to store instructions or program code. When the processor 2102 calls and executes the instructions or program code stored in the memory 2101, it can implement the encoding method provided in the embodiments of this disclosure.

[0363] In other embodiments, memory 2101 may also be integrated with processor 2102.

[0364] Bus 2104 can be an extended industry standard architecture (EISA) bus, etc. Bus 2104 can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in Figure 21, but this does not mean that there is only one bus or one type of bus.

[0365] Similarly, when implementing the functions of the integrated modules described above in hardware, this disclosure provides another possible block diagram of the decoding device involved in the above embodiments. As shown in FIG22, the decoding device 2200 includes a processor 2202 and a bus 2204. In some embodiments, the decoding device may further include a memory 2201. In some embodiments, the decoding device may further include a communication interface 2203.

[0366] Processor 2202 may implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with embodiments of this disclosure. Processor 2202 may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with embodiments of this disclosure. Processor 2202 may also be a combination of functions implementing computing capabilities, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.

[0367] The communication interface 2203 is used to connect with other devices via a communication network. This communication network can be Ethernet, wireless access network, wireless local area network (WLAN), etc.

[0368] The memory 2201 may be a ROM or other type of static storage device that can store static information and instructions, RAM or other type of dynamic storage device that can store information and instructions, or it may be an EEPROM, a disk storage medium or other magnetic storage device, 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, but is not limited thereto.

[0369] In some embodiments, the memory 2201 may exist independently of the processor 2202. The memory 2201 may be connected to the processor 2202 via a bus 2204 and may be used to store instructions or program code. When the processor 2202 calls and executes the instructions or program code stored in the memory 2201, it can implement the decoding method provided in the embodiments of this disclosure.

[0370] In other embodiments, memory 2201 may also be integrated with processor 2202.

[0371] Bus 2204 can be an EISA bus, etc. Bus 2204 can be divided into address bus, data bus, control bus, etc. For ease of representation, only one thick line is used in Figure 22, but this does not mean that there is only one bus or one type of bus.

[0372] Some embodiments of this disclosure provide a computer-readable storage medium (e.g., a non-transitory computer-readable storage medium) storing computer program instructions that, when executed on a computer, cause the computer to perform the method shown in any of the embodiments described above.

[0373] Exemplary examples show that the aforementioned computer-readable storage media may include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks, or magnetic tapes), optical discs (e.g., compact disks (CDs), digital versatile disks (DVDs), etc.), smart cards, and flash memory devices (e.g., erasable programmable read-only memory (EPROMs), cards, sticks, or key drives, etc.). The various computer-readable storage media described in this disclosure may represent one or more devices and / or other machine-readable storage media for storing information. The term "machine-readable storage medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing, and / or carrying instructions and / or data.

[0374] This disclosure provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the method shown in any of the embodiments described above.

[0375] The above descriptions are merely specific embodiments of this disclosure, but the scope of protection of this disclosure is not limited thereto. Any variations or substitutions within the technical scope disclosed in this disclosure should be included within the scope of protection of this disclosure. Therefore, the scope of protection of this disclosure should be determined by the scope of the claims.

Claims

1. An encoding method, wherein, Applied to the first node, including: The first encoded bit sequence is obtained by encoding the bit sequence to be encoded based on the first cyclic redundancy check (CRC). The first encoded bit sequence is segmented to obtain at least one first code block; The first code block is concatenated and encoded, and at most one CRC encoding is performed before each encoding in the concatenation to obtain the second encoded bit sequence.

2. The method according to claim 1, wherein, The concatenated encoding is performed twice, and the concatenated encoding includes encoding based on a first encoding method and encoding based on a second encoding method.

3. The method according to claim 2, wherein, The second encoding method is either systematic encoding or non-system encoding.

4. The method according to claim 3, wherein, The second encoding method is any one of the following: Low-density parity-check (LDPC) coding; Polar codes; Turbo encoding.

5. The method according to claim 2, wherein, The first encoding method is a non-system encoding.

6. The method according to claim 5, wherein, The first encoding method is any one of the following: Convolutional coding; Non-system RS encoding; Polar encoding.

7. The method according to claim 5, wherein, The step of concatenating and encoding the first code block and performing at most one CRC encoding before each encoding step in the concatenation to obtain the second encoded bit sequence includes: The first code block is encoded according to a first encoding strategy to obtain the second encoded bit sequence, wherein the first encoding strategy is any one of the following: The encoding of the second CRC, the encoding of the first encoding method, the encoding of the third CRC, and the encoding of the second encoding method are executed sequentially. The encoding of the first encoding method, the encoding of the third CRC, and the encoding of the second encoding method are executed sequentially.

8. The method according to claim 7, wherein, When the number of the first code blocks is 1, the first encoding strategy is to sequentially execute the encoding of the first encoding method, the encoding of the third CRC, and the encoding of the second encoding method.

9. The method according to claim 7, wherein, When the number of the first code blocks is greater than 1, the first encoding strategy is to sequentially execute the encoding of the second CRC, the encoding of the first encoding method, the encoding of the third CRC, and the encoding of the second encoding method.

10. The method according to claim 7, wherein, The CRC check length of the second CRC and the CRC check length of the third CRC are any one of the following: 8, 11, 12, 16, 24.

11. The method according to claim 2, wherein, The first encoding method is system encoding.

12. The method according to claim 11, wherein, The first encoding method is any one of the following: Bosai-Ray-Chadri-Hokungamm BCH code; RS encoding; Low-density parity check (LDPC) coding.

13. The method according to claim 11, wherein, The step of concatenating and encoding the first code block and performing at most one CRC encoding before each encoding step in the concatenation to obtain the second encoded bit sequence includes: The first code block is encoded according to the second encoding strategy to obtain the second encoded bit sequence, wherein the second encoding strategy is any one of the following: The encoding of the second CRC, the encoding of the first encoding method, and the encoding of the second encoding method are executed sequentially. The encoding of the first encoding method and the encoding of the second encoding method are executed sequentially.

14. The method according to claim 13, wherein, When the number of the first code blocks is 1, the second encoding strategy is to sequentially execute the encoding of the first encoding method and the encoding of the second encoding method.

15. The method according to claim 13, wherein, When the number of the first code blocks is greater than 1, the second encoding strategy is to sequentially execute the encoding of the second CRC, the encoding of the first encoding method, and the encoding of the second encoding method.

16. The method according to claim 13, wherein, The CRC check length of the second CRC encoding is any one of the following: 8, 11, 12, 16, 24.

17. The method according to any one of claims 1-16, wherein, The CRC check length of the first CRC is any one of the following: 11, 12, 16, 24, or 32.

18. The method according to any one of claims 1-16, wherein, The second encoded bit sequence includes at least one of the following: The first code block; A check bit sequence encoded based on the first encoding method; A parity bit sequence encoded based on the second encoding method; The first check bit sequence based on the second CRC encoding; The second check bit sequence is based on the third CRC encoding.

19. The method according to claim 15, wherein, The step of encoding the first code block according to the second encoding strategy to obtain the second encoded bit sequence includes: For each of the first code blocks, the second CRC encoding and the first encoding method encoding are performed sequentially to obtain multiple second code blocks; At least two of the plurality of second code blocks are concatenated to obtain at least one third code block; The second encoding method is applied to each of the third code blocks to obtain at least one second encoded bit sequence.

20. The method according to claim 19, wherein, The process of sequentially performing the second CRC encoding and the first encoding method on each of the first code blocks yields multiple second code blocks, including: At least two of the plurality of first code blocks are concatenated to obtain at least one fourth code block, wherein a fourth code block is formed by concatenating a first number of first code blocks. The second CRC encoding is performed on each of the fourth code blocks to obtain at least one fifth code block; For each fifth code block, the fifth code block is segmented according to the first number corresponding to the fifth code block to obtain the first number of sixth code blocks; The first encoding method is applied to each of the sixth code blocks to obtain the plurality of second code blocks.

21. The method according to claim 2, wherein, The step of segmenting the first coded bit sequence to obtain at least one first code block includes: If the length of the first encoded bit sequence is less than or equal to the first length threshold, the first encoded bit sequence is used as the first code block, and the number of the first code blocks is 1.

22. The method according to claim 2, wherein, The step of segmenting the first coded bit sequence to obtain at least one first code block includes: If the length of the first encoded bit sequence is greater than the first length threshold, the first encoded bit sequence is segmented to obtain at least two first code blocks.

23. The method according to claim 21 or 22, wherein, The first length threshold is determined based on the maximum input bits of the second encoding method and the code rate of the first encoding method; or, The first length threshold is determined based on the maximum input bits of the second encoding method, the code rate of the second encoding method, and the code rate of the first encoding method.

24. The method according to claim 22, wherein, The length of the first code block is less than or equal to the second length threshold.

25. The method according to claim 24, wherein, The second length threshold is determined based on the maximum input bits of the second encoding method, the code rate of the first encoding method, and the CRC checksum length for each CRC encoding; or, The second length threshold is determined based on the maximum output bits of the second encoding method, the code rate of the second encoding method, the code rate of the first encoding method, and the CRC check length of each CRC encoding.

26. The method according to claim 1, wherein, The method further includes: Send all or part of the bits of the second encoded bit to the second node.

27. A decoding method, wherein, Applied to the second node, including: Based on multiple check bit sequences in the second encoded bit sequence, the first code block in the second encoded bit sequence is decoded, wherein the multiple check bit sequences include: the check bit sequence of each encoding of the concatenated encoding, and the check bit sequence of at most one CRC encoding performed before each encoding of the concatenated encoding; If all the first code blocks in the second encoded bit sequence have been decoded, all the first code blocks are concatenated to obtain the decoded first encoded bit sequence. Based on the check bit sequence of the first CRC encoding in the decoded first encoded bit sequence, decode the bit sequence to be encoded in the decoded first encoded bit sequence.

28. The method according to claim 27, wherein, The concatenated encoding is performed twice, and the concatenated encoding includes encoding based on a first encoding method and encoding based on a second encoding method.

29. The method according to claim 28, wherein, The first encoding method is either systematic encoding or non-system encoding.

30. The method according to claim 29, wherein, The first encoding method is system encoding; the step of decoding the first code block in the second encoded bit sequence based on multiple check bit sequences in the second encoded bit sequence includes: In the decoding process of the second encoded bit sequence using the second encoding method, the first code block is subjected to CRC verification based on the first check bit sequence of the second CRC encoding, wherein the second CRC is the CRC encoding prior to the first encoding method; If the first check bit sequence passes the check, the decoding process of the second encoding method is terminated early, and the decoding process of the first encoding method is skipped to obtain the first code block.

31. The method according to claim 29, wherein, The first encoding method is a non-systematic encoding; the step of decoding the first code block in the second encoded bit sequence based on multiple check bit sequences in the second encoded bit sequence includes: During the decoding process of the second encoded bit sequence using the second encoding method, the second encoded bit sequence is subjected to CRC verification based on the second check bit sequence of the third CRC encoding, wherein the third CRC encoding is the CRC encoding prior to the second encoding method; If the second check bit sequence passes the check, the decoding process of the second encoding method is terminated early, and the decoding process of the first encoding method is executed on the decoded second encoded bit sequence; In the decoding process of the decoded second encoded bit sequence using the first encoding method, the first code block in the decoded second encoded bit sequence is subjected to CRC verification based on the first check bit sequence of the second CRC encoding; If the first check bit sequence passes the check, the decoding process of the first encoding method is terminated early to obtain the first code block.

32. A communication device, wherein, include: Memory and processor; The memory and the processor are coupled; The memory is used to store instructions that can be executed by the processor; When the processor executes the instructions, it performs the method as described in any one of claims 1-31.

33. A computer-readable storage medium, wherein, The computer-readable storage medium stores computer instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1-31.

34. A computer program product, wherein, The computer program product includes computer program instructions that, when executed, implement the method as described in any one of claims 1-31.