Coding method and apparatus, and computer-readable storage medium

By adjusting the bit index position in the polarized sequence, the subcode problem that Fast-SC decoder cannot be decoded quickly is solved, the decoding performance and efficiency are improved, and the code rate is 4/16 and 5/16 are achieved. Quick decoding of 6/16, 8/16, 9/16, 10/16, 12/16 subcodes.

WO2024255288A1PCT designated stage expired Publication Date: 2024-12-19ZTE CORP
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/076806
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-06-14
Filing Date
2024-02-07
Publication Date
2024-12-19

AI Technical Summary

Technical Problem

The existing subcodes that cannot be quickly decoded by the existing polarized Fast-SC decoder exist, resulting in decoding delay and throughput problems, especially the code rates are 4/16, 5/16, 6/16, 8/16. , 9/16, 10/16, 12/16 are difficult to achieve.

Method used

By adjusting the bit index position in the polarized sequence, the number of subcodes that do not support the decoding of Fast-SC algorithm is reduced, and the direction of flexible subcodes is adjusted to increase or decrease the number of information bit indexes to adapt to the matching of different subcodes. Adjust to improve decoding performance.

Benefits of technology

It effectively reduces the number of bit indexes that need to be adjusted, improves the decoding performance and efficiency, reduces the number of bit rate adjustments, ensures that the subcode supports preset decoding algorithm decoding, and improves the transmission performance of the communication system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024076806_19122024_PF_FP_ABST
    Figure CN2024076806_19122024_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of communications, and relates to a coding method and apparatus, and a computer-readable storage medium. The method of the present application comprises: on the basis of a target adjustment direction, adjusting the number of information bit indexes of a first sub-code, which does not support decoding implemented by means of a preset decoding algorithm, among a plurality of sub-codes of a polarization sequence, wherein the target adjustment direction comprises increasing the number of information bit indexes of the first sub-code or reducing the number of information bit indexes of the first sub-code; on the basis of the adjusted polarization sequence and an input bit sequence, obtaining a sequence to be coded; and on the basis of a generation matrix, coding the sequence to be coded, so as to obtain a coded sequence, and sending the coded sequence. The method provided in the present application can reduce the number of bit indexes, which need adjustment, in a polarization sequence, thereby improving the performance of decoding. The present application can be used in a wireless communication process.
Need to check novelty before this filing date? Find Prior Art

Description

Coding method, device and computer-readable storage medium

[0001] This disclosure claims priority to Chinese patent application No. 202310709616.5, filed on June 14, 2023, the entire contents of which are incorporated herein by reference. Technical Field

[0002] The present application relates to the field of communication technology, and in particular to a coding method, device, and computer-readable storage medium. Background Art

[0003] Currently, a major research direction for high-throughput polar code decoders is the use of the Fast Successive Cancellation (Fast-SC) algorithm. This algorithm can quickly decode specific subcode types. For example, it can quickly decode subcodes with code rates of 0, 1 / 16, 2 / 16, 3 / 16, 13 / 16, 14 / 16, 15 / 16, and 1.

[0004] However, the problem of fast decoding of the seven subcode types with code rates of 4 / 16, 5 / 16, 6 / 16, 8 / 16, 9 / 16, 10 / 16, and 12 / 16 remains unresolved. For the Fast-SC decoder of polar codes, the existence of subcodes that cannot be quickly decoded is an obstacle to further improving decoding performance. To further reduce the decoding delay of the Fast-SC decoder, one solution is to adjust the position of the index in the polar sequence to reduce the number of subcodes with code rates of 4 / 16, 5 / 16, 6 / 16, 8 / 16, 9 / 16, 10 / 16, and 12 / 16. Therefore, how to adjust the position of the bit index in the polar sequence to reduce the number of subcodes that cannot be decoded by the Fast-SC algorithm and improve decoding performance has become an urgent problem to be solved.

[0005] Summary of the Invention

[0006] Embodiments of the present application provide a coding method, apparatus, and computer-readable storage medium to reduce the number of bit indices that need to be adjusted in a polarization sequence and improve decoding performance.

[0007] In one aspect, a coding method is provided, comprising: adjusting, based on a target adjustment direction, the number of information bit indexes of a first subcode that is not decoded by a preset decoding algorithm, among multiple subcodes of a polarization sequence; wherein the target adjustment direction includes increasing the number of information bit indexes of the first subcode or decreasing the number of information bit indexes of the first subcode; obtaining a sequence to be coded based on the adjusted polarization sequence and an input bit sequence; encoding the sequence to be coded based on a generator matrix to obtain a coded sequence, and transmitting the coded sequence.

[0008] On the other hand, there is provided an encoding device, comprising: a processing unit, a sending unit;

[0009] A processing unit is configured to adjust, based on a target adjustment direction, the number of information bit indexes of a first subcode that is not supported for decoding by a preset decoding algorithm, among multiple subcodes of a polarization sequence; wherein the target adjustment direction includes increasing the number of information bit indexes of the first subcode or decreasing the number of information bit indexes of the first subcode; obtain a sequence to be encoded based on the adjusted polarization sequence and an input bit sequence; and encode the sequence to be encoded based on a generator matrix to obtain a coded sequence.

[0010] The sending unit is used to send the coding sequence.

[0011] On the other hand, a coding 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; and the processor implements the coding method described in any of the above embodiments when executing the computer program.

[0012] In another aspect, a communication system is provided, comprising an encoding device and a decoding device implementing any of the above embodiments. The encoding device is configured to implement the encoding method described in any of the above embodiments, and the decoding device is configured to decode a coded sequence sent by the encoding device based on a preset decoding algorithm.

[0013] On the other hand, a computer-readable storage medium is provided, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the encoding method described in any of the above embodiments is implemented.

[0014] On the other hand, a computer program product is provided, which includes computer program instructions, and when the computer program instructions are executed by a processor, the encoding method described in any one of the above embodiments is implemented.

[0015] In the embodiments of the present application, for subcodes in a polarization sequence that are not decoded by a preset decoding algorithm, the subcodes can be adjusted to support decoding by the preset decoding algorithm by increasing or decreasing the number of information bit indices in the subcode. After the adjustment, encoding is performed to obtain a coded sequence and transmitted. This allows for flexible design of the subcode adjustment direction, adaptively adjusting the subcode's information bit indices based on the subcode's matching adjustment direction. This eliminates the need for a single, fixed adjustment direction, improves subcode adjustment efficiency, and thus enhances decoding performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] In order to more clearly illustrate the technical solutions in the present application, the following briefly introduces the drawings required for use in some embodiments of the present application. Obviously, the drawings described below are only drawings of some embodiments of the present application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.

[0017] FIG1A is a schematic diagram of the architecture of a communication system provided by some embodiments of the present application;

[0018] FIG1B is a schematic diagram of data transmission between a transmitting end and a receiving end provided in some embodiments of the present application;

[0019] FIG2 is a schematic flow chart of an encoding method provided in some embodiments of the present application;

[0020] FIG3A is a schematic diagram of a performance simulation provided by some embodiments of the present application;

[0021] FIG3B is another performance simulation diagram provided by some embodiments of the present application;

[0022] FIG4A is another performance simulation diagram provided by some embodiments of the present application;

[0023] FIG4B is another performance simulation diagram provided by some embodiments of the present application;

[0024] FIG5 is a flowchart of another encoding method provided in some embodiments of the present application;

[0025] FIG6 is a flowchart of another encoding method provided in some embodiments of the present application;

[0026] FIG7 is a structural diagram of an encoding device provided in some embodiments of the present application;

[0027] FIG8 is a structural diagram of another encoding device provided in some embodiments of the present application. DETAILED DESCRIPTION

[0028] Before introducing the embodiments of the present application, some technical terms involved in the present application are explained:

[0029] Polar coding utilizes polarization effects for channel coding, enabling it to achieve a symmetric channel capacity of I(W). The basic concept of polar coding is to establish an information bit selection method for multiple polarized channels, allowing each information bit to independently pass through a parallel polarized channel. The actual information bit to be transmitted is sent on a polarized channel with a symmetric channel capacity of I(W) ≈ 1 or a Bhattacharyya parameter of Z(W) ≈ 0. On the remaining polarized channels, other than those with a symmetric channel capacity of I(W) ≈ 1 or a Bhattacharyya parameter of Z(W) ≈ 0, bits known to both the sender and receiver, or fixed bits, can be transmitted. The polarized channels with a symmetric channel capacity of I(W) ≈ 1 or a Bhattacharyya parameter of Z(W) ≈ 0 are referred to as the information channel set, information set, or information bits, and the bits transmitted on them are referred to as information bits. The remaining polarized channels are referred to as the frozen channel set, frozen set, or frozen bits, and the bits transmitted on them are referred to as frozen bits.

[0030] Polar sequences can be referred to as polar codes or polar code sequences. Specifically, a polarization sequence includes an index (or bit index) of a polarization channel. The polarization sequence can include an information bit index set and a frozen bit index set. The information bit index set indicates which polarization channels are used to transmit channel bits, and the frozen bit index set indicates which polarization channels are used to transmit frozen bits. Taking N polarization channels as an example, the polarization sequence includes N indices corresponding to the N polarization channels. The index can be, for example, the number of the polarization channel, with one index indicating one polarization channel. It should be understood that this application does not limit the naming of polarization channels. Polarization channels can also be referred to as channels or transmission channels, etc., and this is not a limitation herein. The polarization channel described in this application can be an Additive White Gaussian Noise (AWGN) channel.

[0031] The polar code encoding process may include: For input information bits of length K, based on the information bit index set of the polar sequence, one-to-one mapping the input information bits to a polar sequence of length N, while the remaining N-bit frozen bit indices are uniformly set to "0" or "1" according to predefined values. K is an integer less than the number of polarization channels, N. It should be understood that the value of the frozen bit index has no impact on the channel transmission performance. The mapped sequence is then input into the polar code encoder to complete the polar code encoding.

[0032] Corresponding to polar code encoding, the decoder can use the successive-cancellation (SC) decoding algorithm to decode the polar code. The SC decoding algorithm decodes code elements sequentially during decoding. If the polar code length is long, the decoding delay will be large, reducing the throughput of the communication system. However, when the polar code length is long, the coding performance is relatively good. To balance the code length of the polar code and the decoding delay on the decoding side, the fast serial cancellation (Fast-SC) algorithm is currently used during decoding. The polar code is represented by multiple subcodes and fast decoding is achieved by parallel processing of each subcode, providing a high-throughput decoder.

[0033] The Fast-SC algorithm can quickly decode specific subcode types. For example, it can quickly decode eight subcode types: Rate-0, Repetition (REP), REP-2, Parity Checked Repetition (PCR), Repeated Parity Check (RPC), SPC-2, Single-Parity-Check (SPC), and Rate-1. For example, when the decoding parallelism is set to 16 (i.e., the code length is 16), the eight subcode rates that the Fast-SC algorithm can process are 0, 1 / 16, 2 / 16, 3 / 16, 13 / 16, 14 / 16, 15 / 16, and 1, respectively. Furthermore, replacing subcodes with rates of 7 / 16 and 11 / 16 with BCH codes solves the problem of fast decoding of these subcodes in the Fast-SC algorithm. However, the problem of fast decoding of the seven subcode types with rates of 4 / 16, 5 / 16, 6 / 16, 8 / 16, 9 / 16, 10 / 16, and 12 / 16 remains unresolved. For polar code Fast-SC decoders, the presence of subcodes that cannot be quickly decoded is an obstacle to further improving decoder throughput. To further reduce the decoding delay of the Fast-SC decoder, the index type of the bit index in the polar sequence is adjusted to minimize the number of subcodes with rates of 4 / 16, 5 / 16, 6 / 16, 8 / 16, 9 / 16, 10 / 16, and 12 / 16, for example, to zero.

[0034] At present, the implementation method for adjusting the bit index in the polarization sequence is as follows: all frozen bit indexes in the polarization sequence are set to active state, and according to the set parallelism M, the polarization code position information of length N is divided into equal lengths, and each segment is a subcode. The number of subcode segments is N / M; whether the N / M subcodes can be quickly decoded is serially detected. If the detected N / M subcodes are subcodes that cannot be quickly decoded, the code rate needs to be adjusted. In the process of code rate adjustment, the information bit index with the lowest reliability in the current subcode is denoted as i, the frozen bit index with the highest reliability in the active state among all subcodes after the current subcode is denoted as j, and the number of information bit indexes in the subcode where the frozen bit index with index j is located is k. j ; In the process of bit rate adjustment, judge k j ≥11 and k j <16 or k j <3 is true. If true, the position with index i is transformed into a frozen bit index, and the frozen bit index with index j is replaced with an information bit index; otherwise, the frozen bit index with index j is set to inactive and the rate adjustment process is repeated.

[0035] Although the current solution can minimize the number of subcodes that cannot be decoded by the Fast-SC decoder by adjusting the code rate of the polar sequence subcodes, this solution adjusts the information bit index in the subcode to the frozen bit index, with a single adjustment direction. Furthermore, the frozen bit index is swapped with the index type from all subcodes after the current subcode, which limits the selection range. This results in a large number of bit indices requiring adjustment and a high number of adjustments, reducing the adjustment efficiency of the polar sequence subcodes and affecting the decoding performance of the Fast-SC algorithm.

[0036] In order to solve the above technical problems and improve the decoding performance of the Fast-SC algorithm, the present application provides a coding method: based on the target adjustment direction, adjusting the number of information bit indexes of the first subcode that does not support decoding by the preset decoding algorithm among multiple subcodes of the polarization sequence; wherein the target adjustment direction includes increasing the number of information bit indexes of the first subcode or decreasing the number of information bit indexes of the first subcode; encoding and sending based on the adjusted polarization sequence. In this way, the adjustment direction of the subcode is flexibly designed, and the information bit index of the subcode is adaptively adjusted based on the adjustment direction matched by the subcode. The adjustment direction is no longer single and fixed, which effectively reduces the number of bit indexes that need to be adjusted, and achieves the requirement that the subcode be decoded by the preset decoding algorithm with a small number of adjustments, thereby improving the adjustment efficiency of the subcode. On the basis of the improved adjustment efficiency, it is ensured that all subcodes support decoding by the preset decoding algorithm, thereby improving the decoding performance.

[0037] In addition, in the present application, the target bit index is searched from d bit indices outside the first subcode (for example, all bit indices except the first subcode in the polarization sequence) whose reliability is close to the reliability of the bit index to be adjusted, and the index type of the bit index to be adjusted and the target bit index is adjusted. In this way, a matching target bit index can be selected from an index sequence outside the first subcode. Since the candidate index sequence can include segments after the segment where the first subcode is located, it can also include segments before the segment where the first subcode is located. The selection range of the target index bit is expanded and is no longer limited to the frozen bit index after the segment where the first subcode is located. This allows for more efficient and accurate search of the matching target bit index from the candidate index sequence, reducing the number of bit indices that need to be adjusted. At the same time, before and after the bit index adjustment, the information bit is transmitted on a polarization channel with higher channel quality (or higher reliability), ensuring the transmission performance of the entire communication system.

[0038] The following will be combined with the accompanying drawings to clearly and completely describe the technical solutions in this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0039] It should be noted that, in this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described in this application as "exemplary" or "for example" should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0040] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In the description of this application, unless otherwise specified, " / " means "or", for example, A / B can mean A or B. "And / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships may exist, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, "at least one" means one or more, and "a plurality" means two or more.

[0041] The technical solutions of the embodiments of the present application can be applied to various mobile communication systems that support polar code encoding, such as universal mobile telecommunication system (UMTS), worldwide interoperability for microwave access (WiMAX) communication system, fourth generation (4G) system, long term evolution (LTE) system, and future 5G (fifth generation, 5G) communication system, new radio (NR) system, NR-vehicle-to-everything (V2X) system or other next-generation communication systems, etc. It can also be applied to wireless local area networks (WLAN) that support polar code encoding-Fast-SC algorithm. The embodiment of the present application takes the communication system shown in Figure 1A as an example.

[0042] Figure 1A is a schematic diagram of the architecture of a communication system provided in an embodiment of the present application. As shown in Figure 1A, communication system 100 may include a transmitter 10 and one or more receivers 20. Data and / or information can be transmitted between transmitter 10 and receiver 20 via a polarized channel. Specifically, transmitter 10 is capable of executing the encoding method described herein and may include an integrated encoding device. Receivers are configured to receive coded sequences and have decoding capabilities, and receivers 20 may include an integrated decoding device.

[0043] The sending end 10 can provide communication services for the receiving end 20, and the sending end 10 can also communicate with the core network.

[0044] In some embodiments, the transmitting end 10 may be a base station, which is used to provide wireless access services to multiple terminals. Specifically, a base station provides a service coverage area (also referred to as a cell). Terminals entering the area can communicate with the base station via wireless signals to receive wireless access services provided by the base station. Specifically, the base station may be a base station or an evolved base station (eNB or eNodeB) in LTE, long term evolution advanced (LTEA), a base station device in a 5G network, or a base station in a future communication system, etc. The base station may include various macro base stations, micro base stations, home base stations, wireless remotes, reconfigurable intelligent surfaces (RIS), routers, wireless fidelity (WIFI) devices, and other network-side devices.

[0045] In some embodiments, the receiving end 20 can be a terminal, which can be a device with wireless transceiver capabilities and can be deployed on land, including indoors or outdoors, handheld, wearable or vehicle-mounted; it can also be deployed on the water (such as a ship, etc.); it can also be deployed in the air (for example, on an airplane, a balloon, and a satellite, etc.). The terminal can be a mobile phone, a tablet computer, a computer with wireless transceiver capabilities, a virtual reality (VR) terminal, an augmented reality (AR) terminal, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical care, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, etc. The embodiments of the present application do not limit the application scenarios. The terminal may sometimes also be referred to as a user, user equipment (UE), access terminal, UE unit, UE station, mobile station, mobile station, remote station, remote terminal, mobile device, UE terminal, wireless communication equipment, UE agent or UE device, etc., which is not limited in the embodiments of the present application.

[0046] It should be noted that in the embodiments of the present application, the receiving end and the transmitting end are relative concepts. The receiving end may refer to a device that encodes information bits with polar codes and sends the encoded polar codes to the other end, and the receiving end may refer to a device that receives the encoded polar codes and decodes the received polar code-encoded information bits. As shown in Figure 1B, a schematic diagram of data transmission between a transmitting end and a receiving end is shown. As shown in Figure 1B, the transmitting end performs source coding, channel coding, constellation modulation, and resource mapping on the source (i.e., the information bits to be transmitted) and sends the resulting signal to the receiving end through a channel. After receiving the signal, the receiving end performs resource demapping, constellation demodulation, channel decoding, and source decoding on the signal to obtain the destination, i.e., the restored source.

[0047] The channel in FIG1B may be an AWGN channel. The channel coding in FIG1B may employ the coding method provided in this application, which may be referred to as polar code coding. Correspondingly, the channel decoding in FIG1B may support employing a preset decoding algorithm (such as the Fast-SC algorithm) to decode the coded sequence output by the channel coding.

[0048] It should be understood that the communication system shown in FIG1A is only for the purpose of more clearly illustrating the technical solution of the present application and does not constitute a limitation of the present application. A person skilled in the art will know that with the evolution of network architecture and the emergence of new business scenarios, the technical solution provided by the present application is also applicable to similar technical problems. In addition, FIG1A is an exemplary framework diagram. The number of nodes included in FIG1A is not limited, and in addition to the functional nodes shown in FIG1A, the communication system may also include other nodes, such as gateway devices, application servers, etc., without limitation.

[0049] The following describes an encoding method provided by an embodiment of the present application in conjunction with the communication system shown in Figure 1A. The actions, terms, and other aspects of the various embodiments of the present application can be referenced across them. The message names or parameter names in messages exchanged between devices in the embodiments of the present application are merely examples, and other names may be used in specific implementations without limitation.

[0050] FIG2 is a coding method provided in an embodiment of the present application. As shown in FIG2 , the method may be performed by the transmitting end in FIG1A . Specifically, the method may be performed by the coding device in the transmitting end. The method may include:

[0051] S201: Acquire multiple subcodes of a polarization sequence.

[0052] The polarization sequence may include multiple bit indexes, for example, the polarization sequence may include N bit indexes, one bit index indicates one polarization channel, and the reliability of the bit index is directly proportional to the channel capacity (or channel symmetric capacity) of the polarization channel indicated by it. The higher the reliability of the bit index, the larger the channel capacity of the polarization channel indicated by the bit index. For example, the channel symmetric capacity I(W)≈1 of the polarization channel indicated by the bit index with the highest reliability, and conversely, the lower the reliability of the bit index, the smaller the channel capacity of the polarization channel indicated by the bit index. Specifically, the bit index may be the number of the polarization channel or the channel number. The value of N can be set as needed, for example, N can be set according to the size of the coding block or the code length, and N≤the number of polarization channels in the communication system. Taking the 5G NR communication system as an example, the maximum code length of the polarization sequence is 1024, that is, N_{max}=1024. The polarization sequence corresponding to the 5G NR communication system may include N=2 n (n≤10) bit index.

[0053] The multiple bit indices included in the polarization sequence include at least one of the following types of bit indices: information bit indices and frozen bit indices. For example, all of the multiple bit indices are information bit indices, or the multiple bit indices include information bit indices and frozen bit indices, or all of the multiple bit indices are frozen bit indices. The set of information bit indices included in the polarization sequence may be referred to as an information bit index set, and the set of frozen bit indices included in the polarization sequence may be referred to as a bit index set.

[0054] In this application, an information bit index indicates a polarization channel that can transmit information bits, and a frozen bit index indicates a polarization channel that cannot transmit information bits. Exemplarily, a bit index can be determined as an information bit index or a frozen bit index based on its reliability. For example, a bit index with higher reliability is determined as an information bit index, and a bit index with lower reliability is determined as a frozen bit index. Optionally, when multiple bit indices in a polarization sequence are arranged from high to low or from low to high according to reliability, the K bit indices with the highest reliability are used as information bit indices, and the remaining bit indices except the K information bit indices are used as frozen bit indices. The value of K is related to the code rate of the polarization sequence, which can be preset. The ratio of the number of information bit indices K to the code length of the polarization sequence must meet the preset code rate.

[0055] In one possible implementation, the polarization sequence is predefined, for example, by a protocol. Taking a 5G NR communication system as an example, the polarization sequence can be obtained from the protocol standard corresponding to the 5G NR communication system.

[0056] Polarization sequence corresponding to 5G NR communication system For example, the polarization sequence represents the i-th bit index, Indicates bit index Reliability of polarization sequence Sort by bit index reliability from low to high (or ascending order), that is, For any code block coded as N bits, a polar sequence is required Polarization sequence by sequence Less than N=2 n All bit indices (n≤10) Composition, that is, polarization sequence is a sequence A subset of polarization sequence The elements in are arranged in ascending order according to their reliability, i.e. Information bit index set is the polarization sequence The set of partial bit indices in , the frozen bit index set By polarization sequence The rest of the bit indexes in the , and the information bit index set Size gather Size Specifically, the information bit index set Depend on The most reliable K bit indexes in the , and there is also a frozen bit index set It should be understood that in this application, the symbol "\" represents taking the difference, for example, A\B means: take the data in A except B, for example Indicates taking Medium Data other than .

[0057] In another possible implementation, the polarization sequence may be obtained according to a preset algorithm.

[0058] The preset algorithm may include, but is not limited to, a Gaussian approximation (GA) algorithm, a density evolution algorithm, a PW sequence algorithm, or a reinforcement learning algorithm, and may also be other algorithms that emerge with the evolution of standards. Specifically, the process of obtaining a polarization sequence using any of the GA algorithm, the density evolution algorithm, the PW sequence algorithm, or the reinforcement learning algorithm can refer to existing technologies.

[0059] Taking the polarization sequence obtained by GA algorithm as an example, the polarization sequence According to the polarization channel error probability The size of is sorted in descending order, that is, The calculation of is shown in the following formula (1):

[0060] in is the mean of the log-likelihood, n=log2N. The calculation method is shown in the following formula (2):

[0061] Function f c (t) and f v (t) is defined as follows: c (t) = φ -1 (1-(1-φ(t)) 2 ), f v (t) = 2t

[0062] The function φ(t) is expressed as shown in the following formula (3):

[0063] and in is the noise variance of the binary input Gaussian white noise channel.

[0064] Exemplarily, the bit indices included in the polarization sequence can be arranged in index order to obtain a bit index sequence, and the obtained bit index sequence can be divided to obtain multiple subcodes, where the length of each subcode is an integer power of 2, and the length of the subcode can be set as needed. In the present application, the bit index sequence can be divided at equal intervals or at unequal intervals, without limitation. This application uses equal interval division as an example for illustration. The case of unequal interval division can refer to the method described in this application and is not described in detail.

[0065] Polarization sequence Taking N bit indices as an example, for this polarization sequence, the bit index sequence obtained by arranging the index values ​​in ascending order is: The length of the segments is M=2 with equal intervals m (m<10), for Perform equal interval segmentation to obtain T = N / M = 2 n-m subcodes, the length of each subcode is M=2 m (m<10).

[0066] S202: traverse each subcode in the plurality of subcodes to determine whether the subcode supports decoding by a preset decoding algorithm. If so, determine whether the next subcode supports decoding by the preset decoding algorithm. If not, execute S203.

[0067] Among them, the preset decoding algorithm may include but is not limited to any of the following Fast-SC algorithms: rate 0 (Rate-0), repetition (REP), REP-2, parity checked repetition (PCR), repeated parity check (RPC), SPC-2, single-parity-check (SPC) and Rate-1. The preset decoding algorithm may also be other decoding algorithms that emerge with the evolution of the standard, which is not limited in this document.

[0068] Exemplarily, each subcode can be traversed in ascending order of the subcode segment number to determine whether the subcode supports decoding by the preset decoding algorithm. For example, if the bit index sequence is divided into T subcodes, and the subcode segments of the T subcodes are numbered in ascending order 0, 1, 2, and T-1, then starting with subcode numbered 0, whether the subcode supports decoding by the preset decoding algorithm can be determined. If so, then whether subcode numbered 1 supports decoding by the preset decoding algorithm can be determined. If not, S203 is executed. After the subcode is adjusted to support decoding by the preset decoding algorithm, whether subcode numbered 2 supports decoding by the preset decoding algorithm can be determined. This process is repeated until whether subcode numbered T-1 supports decoding by the preset decoding algorithm is determined. If so, the process ends. If not, S203 is executed to adjust the information bit index included in the subcode so that the subcode supports decoding by the preset decoding algorithm, and the process ends.

[0069] In one possible implementation, whether a subcode can be decoded by a preset decoding algorithm can be determined based on the number of information bit indices included in the subcode. Specifically, the number of information bit indices corresponding to subcodes that support decoding by the preset decoding algorithm can be stored in a set. This set can be referred to as a third number set or a fast decoding set, and the naming is not limited. The third number set is used as an example for illustration in this application. Further, it is determined whether the number of information bit indices included in the subcode is included in the third number set. If not, it is determined that the subcode does not support decoding by the preset decoding algorithm. If included, it is determined that the subcode supports decoding by the preset decoding algorithm.

[0070] For example, the polarization sequence The information bit index set is right The corresponding bit index sequence Perform equal interval segmentation to obtain T = N / M = 2 n-m subcodes, for the t-th subcode, the bit index set of the subcode is P t ={t×M,t×M+1,t×M+2,…,t×M+(M-1)} , Where 0≤t≤T-1. When detecting the t-th subcode, first detect the t-th subcode P t belongs to the information bit set Count the bit indexes of the t-th subcode to get the number of information bit indexes included in the t-th subcode The number of frozen bit indices f t =Mk t , then judge k t Whether it belongs to the third number set S, if the number of information bit indexes included in the t-th subcode is k t belongs to the third number set S, it is determined that the tth subcode can be decoded by the preset decoding algorithm; otherwise, it is determined that the tth subcode does not support decoding by the preset decoding algorithm.

[0071] The third quantity set includes multiple data, which represents the number of information bit indexes included in a subcode that supports decoding by a preset decoding algorithm. The length of the subcode that supports decoding by the preset decoding algorithm is the same as the length of the subcode obtained by segmentation. The subcode that supports decoding by the preset decoding algorithm may be pre-defined or protocol-specified. For example, taking a code length of M as an example, the third quantity set Ω = a subset of {0, 1, 2, ..., M-1}.

[0072] For example, taking the preset decoding algorithm as the Fast-SC algorithm as an example, the subcodes supported by the Fast-SC algorithm may include the following 8 types: rate 0 (Rate-0), repetition (REP), REP-2, parity checked repetition (PCR), repeated parity check (PCR), and repeated parity check (PCR). The subcodes correspond to code rates of 0, 1 / 16, 2 / 16, 3 / 16, 13 / 16, 14 / 16, 15 / 16, and 1, respectively. In addition, two subcodes with code rates of 7 / 16 and 11 / 16 also support Fast-SC decoding. The code lengths of these 10 subcodes are positive integer powers of 16. Taking the code length of these 10 subcodes as an example, the numbers of information bit indexes included in these 10 subcodes are 0, 1, 2, 3, 13, 14, 15, 16, 7, and 11, respectively. The numbers of information bit indexes of these 10 subcodes are stored in the set {0, 1, 2, 3, 13, 14, 15, 16, 7, 11}. This set can be used to determine whether the subcodes obtained by segmentation support Fast-SC decoding. For example, if the code length of a subcode is 16 and the number of information bit indexes 3 belongs to the set, it is determined that the subcode supports decoding by the Fast-SC algorithm; if the number of information bit indexes included in the subcode is 8 and does not belong to the set, it is determined that the subcode does not support decoding by the Fast-SC algorithm.

[0073] It should be understood that, referring to the above implementation, alternatively, the number of information bit indexes corresponding to the subcodes that do not support decoding by the preset decoding algorithm can be stored in a set (which can be called a set that does not support decoding by the preset decoding algorithm). Further, determine whether the number of information bit indexes included in the subcode is included in the set. If not, determine that the subcode supports decoding by the preset decoding algorithm. If included, determine that the subcode does not support decoding by the preset decoding algorithm. For example, taking the preset decoding algorithm as the Fast-SC algorithm, the subcodes that do not support decoding by the Fast-SC algorithm include 7 types of subcodes with code rates of 4 / 16, 5 / 16, 6 / 16, 8 / 16, 9 / 16, 10 / 16, and 12 / 16. Taking the code length of these 7 subcodes as 16 as an example, the number of information bit indexes of these 7 subcodes is stored in the set {4, 5, 6, 8, 9, 10, 12}. This set can be used to determine whether the subcode obtained by segmentation supports decoding by the Fast-SC algorithm. For example, if the code length of a subcode is 16 and the number of information bit indexes is 4, it is determined that the subcode does not support decoding by the Fast-SC algorithm. If the number of information bit indexes is 3, it does not belong to the set. It is determined that the subcode supports decoding by the Fast-SC algorithm.

[0074] In another possible implementation, whether a subcode can be decoded by a preset decoding algorithm can be determined based on a subcode pattern. If the information bit index combination included in the subcode belongs to the subcode pattern, then the subcode is determined to support decoding by the preset decoding algorithm. Conversely, if the information bit index combination included in the subcode does not belong to the subcode pattern, then the subcode is determined to not support decoding by the preset decoding algorithm.

[0075] The subcode pattern may indicate a bit index combination of a subcode that supports decoding by a preset decoding algorithm. The subcode pattern may be composed of multiple information bit index combinations of subcodes that support decoding by a preset decoding algorithm. It should be understood that this application does not limit the naming of the subcode pattern, and it may also be named a fast decoding pattern set or other names, etc., without limitation. In addition, the information bit index combination described in this application is empty or includes at least one information bit, and the information bit index combination corresponding to a subcode is composed of all information bit index combinations included in the subcode. In this application, the subcode pattern may be pre-set, for example, it may be pre-specified in a standard. Alternatively, the subcode pattern may be determined based on the reliability of the information bit index and / or the type of subcode that supports decoding by a preset decoding algorithm. For example, for a subcode, if the number of information bit indexes required for decoding by a preset decoding algorithm supported by the subcode is K1, K2, or K3, then the K1 bit indexes with the highest reliability can be combined as bit index combination 1, the K2 bit indexes with the highest bit index reliability can be combined as bit index combination 2, and the K3 bit indexes with the highest reliability can be combined as bit index combination 3. Bit index combination 1, bit index combination 2, and bit index combination 3 are combined to obtain a subcode pattern.

[0076] For example, for the t-th subcode P with code length Mt , if the subcode P t Support Fast-SC algorithm decoding, then the subcode P t Must meet any of the following 8 code rates: 0, 1 / 16, 2 / 16, 3 / 16, 13 / 16, 14 / 16, 15 / 16 and 1, subcode P t The number of information bit indexes must meet any of the following conditions: 0, 1, 2, 3, 13, 14, 15, 16. Therefore, the subcode P can be taken separately. t The most reliable bit index 0, the most reliable bit index 1, the most reliable bit index 2, the most reliable bit index 3, the most reliable bit index 13, the most reliable bit index 14, the most reliable bit index 15, and the most reliable bit index 16 are combined to obtain a subcode pattern E as shown in Table 1 below. Subcode pattern E includes 8 combinations. If the information bit index combination included in the t-th subcode belongs to the subcode pattern E and is the same as an information bit combination in the subcode pattern E, then the t-th subcode is determined to support decoding by the preset decoding algorithm. Otherwise, it is determined that the t-th subcode does not support decoding by the preset decoding algorithm.

[0077] Table 1

[0078] It should be understood that S201 and S202 are optional steps, including but not limited to being executed by the encoding device, and can also be executed by other functional modules or devices, and the encoding device obtains the execution results from the other functional modules or devices.

[0079] S203: Adjust, based on the target adjustment direction, the number of information bit indexes of a first subcode in the polarization sequence that is not supported for decoding by a preset decoding algorithm.

[0080] The target adjustment direction may include increasing the number of information bit indexes of the first subcode, or decreasing the number of information bit indexes of the first subcode. It should be understood that increasing the number of information bit indexes of the first subcode can also be described as increasing the code rate of the first subcode. Decreasing the number of information bit indexes of the first subcode can also be described as decreasing the code rate of the first subcode. It should be understood that when adjusting the number of information bit indexes of the first subcode, the code length of the first subcode remains unchanged. This ensures that the code rate of the first subcode is adjusted by adjusting the number of information bit indexes of the first subcode, and that the adjusted code rate of the first subcode meets the code rate supported by the preset decoding algorithm.

[0081] In one possible implementation, the target adjustment direction can be determined based on the current code rate of the first subcode. For example, if the current code rate of the first subcode is less than a first code rate threshold, it indicates that the current code rate of the first subcode is relatively low. In this case, the number of information bit indexes included in the first subcode is determined to be reduced. In this way, when the code rate supported by the preset decoding algorithm is relatively low (for example, a code rate of 3 / 16), the code rate of the first subcode is made to meet the code rate supported by the preset decoding algorithm as soon as possible. If the current code rate of the first subcode is greater than a second code rate threshold, it indicates that the current code rate of the first subcode is relatively high. In this case, the number of information bit indexes included in the first subcode is determined to be increased. In this way, when the code rate supported by the preset decoding algorithm is relatively high (for example, a code rate of 15 / 16), the code rate of the first subcode is made to meet the code rate supported by the preset decoding algorithm as soon as possible.

[0082] The first code rate threshold and the second code rate threshold can be set as needed, and they can be the same or different, which is not limited in this article. For example, the first code rate threshold and the second code rate threshold can both be set to 0.5. For example, the number of information bit indexes of the subcode is k t , code rate r = k t / M, if r < 0.5, then reduce the number of information bit indexes k of the subcode t , on the contrary, increase the total number of information bit indexes k of the subcode t .

[0083] In another possible implementation, the target adjustment direction can be determined based on a preset set. The preset set includes a first quantity set; or, the preset set includes a second quantity set; or, the preset set includes a first quantity set and a second quantity set. The first quantity set indicates the number of information bit indices currently included in the subcode whose information bit index is to be increased. The second quantity set indicates the number of information bit indices currently included in the subcode whose information bit index is to be decreased.

[0084] Taking the preset set including the first number set as an example, if the number of information bit indexes included in the first subcode belongs to the first number set, the target adjustment direction is to increase the number of information bit indexes of the first subcode. If the number of information bit indexes included in the first subcode does not belong to the first number set, the target adjustment direction is to decrease the number of information bit indexes of the first subcode.

[0085] Taking the preset set including the second number set as an example, if the number of information bit indexes included in the first subcode does not belong to the second number set, the target adjustment direction is to increase the number of information bit indexes included in the first subcode. If the number of information bit indexes included in the first subcode belongs to the second number set, the target adjustment direction is to decrease the number of information bit indexes included in the first subcode.

[0086] Taking the example of a preset set including a first number set and a second number set, when the information bit indexes included in the first subcode belong to the first number set, the target adjustment direction is to increase the number of information bit indexes of the first subcode. When the information bit index set included in the first subcode belongs to the second number set, the target adjustment direction is to decrease the number of information bit indexes of the first subcode.

[0087] It should be understood that the present application does not limit the naming of the first number set and the second number set. Alternatively, the first number set can also be named the rate increase segment information bit number set S sup Or the bit number set of the code rate increased segment information. The second number set can also be named the bit number set of the rate reduced segment information sub Or the code rate is reduced by a set of segment information bits.

[0088] For example, the number of segment information bits set S is increased at a preset set rate. sup = {6, 9, 10, 12} and the number of bits of rate-reduced segment information S sub ={4,5,8}, for example, if the number of information bit indexes of the first subcode is k3=6∈S sup , since the number of information bit indices k3=6∈S sup , it is determined to increase the number k3 of information bit indexes in the first subcode.

[0089] In the present application, for a first subcode in which the number of information bit indexes needs to be adjusted, the number of information bit indexes included in the first subcode can be iteratively adjusted in the following manner until the adjusted first subcode supports decoding by a preset decoding algorithm: according to a target adjustment direction, obtaining the bit index to be adjusted in the first subcode; selecting a target bit index from a candidate index sequence outside the first subcode; and adjusting the index type of the bit index to be adjusted and the target bit index.

[0090] Among them, the candidate index sequence includes d bit indexes among the bit indexes other than the first subcode, whose index type is different from the index type of the bit index to be adjusted and whose reliability is closest to the reliability of the bit index to be adjusted. d is a preset number and can be set as needed. For example, d can be set to 3 or other values. In this way, a matching target bit index can be selected from the candidate index sequence other than the first subcode. Since the candidate index sequence can include the segment after the segment where the first subcode is located, it can also include the segment before the segment where the first subcode is located. The candidate index sequence provided in the present application can expand the selection range of the target index bit and is no longer limited to the frozen bit index after the segment where the first subcode is located as the selection range, so as to more efficiently and accurately find the matching target bit index from the candidate index sequence.

[0091] Among them, the index type includes: information bit index and frozen bit index. Adjusting the index type of the bit index to be adjusted and the target bit index can also be described as swapping the index types of the bit index to be adjusted and the target bit index. For example, if the bit index to be adjusted is an information bit index and the target bit index is a frozen bit index, the bit index to be adjusted is adjusted from an information bit index to a frozen bit index, and the index type of the target bit index is adjusted from a frozen bit index to an information bit index. Alternatively, if the bit index to be adjusted is a frozen bit index and the target bit index is an information bit index, the bit index to be adjusted is adjusted from a frozen bit index to an information bit index, and the target bit index is adjusted from an information bit index to a frozen bit index.

[0092] Among them, the bit index to be adjusted may refer to the bit index of the first subcode whose index type needs to be adjusted. It should be understood that the present application does not limit the naming of the bit index to be adjusted, and it can also be replaced by the description of the bit index to be exchanged. Specifically, according to the target adjustment direction, obtaining the bit index to be adjusted in the first subcode may include: when the target adjustment direction is to increase the number of information bit indexes included in the first subcode, obtaining the frozen bit index in the first subcode as the bit index to be adjusted, and increasing the number of information bit indexes in the first subcode. When the target adjustment direction is to reduce the number of information bit indexes included in the first subcode, obtaining the information bit index in the first subcode as the bit index to be adjusted, thereby reducing the number of information bit indexes in the first subcode.

[0093] In one possible implementation, when the target adjustment direction is to increase the number of information bit indices included in the first subcode, the bit index to be adjusted is the frozen bit index in the first subcode whose reliability is greater than a first reliability threshold. The first reliability threshold can be set as needed. Optionally, during the iterative adjustment process, when the bit index to be adjusted is the frozen bit index with the highest reliability for the first adjustment, and when the bit index to be adjusted is the frozen bit index with the second highest reliability for the second adjustment, and so on. As mentioned above, the information bit index and the frozen bit index are obtained by dividing them in order of reliability from high to low. Relatively, the candidate index sequence includes the d information bit indices with the lowest reliability among the information bit indices other than the first subcode in the polarization sequence. The reliability of these d information bit indices with the lowest reliability is closest to the frozen bit index with the highest reliability in the first subcode. In this way, when the index type of the frozen bit index with the highest reliability in the first subcode is exchanged with an information bit index among the d information bit indices with the lowest reliability, the information bits are still transmitted on a polarized channel with good channel capacity, without affecting the transmission performance of the communication system. In addition, the encoded code sequence can be decoded by a preset decoding algorithm, thereby improving decoding performance.

[0094] For example, if it is necessary to increase the number of information bit indices k of the first subcode t , then the frozen bit index with the highest reliability in the first subcode is recorded as the bit index to be adjusted i. Arrange the information bit indexes in all segments except the first subcode in ascending order according to the reliability to obtain the external information bit index sequence From sequence D I Select the first d information bit indexes as the candidate index sequence, and select the target bit index j from the candidate index sequence.

[0095] In another possible implementation. When the target adjustment direction is to reduce the number of information bit indexes included in the first subcode, the bit index to be adjusted is the information bit index in the first subcode whose reliability is less than the second reliability threshold, wherein the second reliability threshold can be set as needed. Optionally, during the iterative adjustment process, when the bit index to be adjusted is the information bit index with the lowest reliability for the first adjustment, and when the bit index to be adjusted is the information bit index with the second lowest reliability for the second adjustment. As mentioned above, the information bit index and the frozen bit index are obtained by dividing them in order from high to low reliability. Relatively, the candidate index sequence includes the d most reliable frozen bit indexes among the frozen bit indexes in the polarization sequence except the first subcode. The reliability of these d most reliable information bit indexes is closest to the frozen bit index with the lowest reliability in the first subcode. In this way, when the index type of the lowest-reliable information bit index in the first subcode is exchanged with a frozen bit index among the d highest-reliable frozen bit indices, the information bits are still transmitted on a polarized channel with good channel capacity, without affecting the transmission performance of the communication system. Furthermore, the encoded code sequence can be decoded by a preset decoding algorithm, thereby improving decoding performance.

[0096] For example, if it is necessary to reduce the number of information bit indices k of the first subcode t , then the information bit index with the lowest reliability in the first subcode is recorded as the bit index to be adjusted i, and the frozen bit indexes in all segments except the first subcode are arranged in descending order according to the reliability to obtain the external frozen bit index sequence From sequence D F The first d frozen bit indexes are selected as candidate index sequences, and the target bit index j is selected from the candidate index sequences.

[0097] In the present application, the target bit index can be a bit index in the second subcode in the candidate index sequence that does not support decoding by the preset decoding algorithm; or, the target bit index can be a bit index in the third subcode in the candidate index sequence that supports decoding by the preset decoding algorithm, and the third subcode supports decoding by the preset decoding algorithm before and after the target bit index adjusts the index type.

[0098] Specifically, selecting a target bit index from a candidate index sequence includes the following process:

[0099] Traversing the bit indexes in the candidate index sequence to determine whether there is a bit index belonging to the second subcode in the candidate index sequence; wherein the second subcode does not support decoding by the preset decoding algorithm;

[0100] If a bit index belonging to the second subcode exists in the candidate index sequence, the bit index belonging to the second subcode is used as the target bit index. Alternatively, if there is one bit index belonging to the second subcode, the one bit index belonging to the second subcode can be used as the target bit index. If there are multiple bit indexes belonging to the second subcode, the bit index with the smallest index value among the multiple bit indexes belonging to the second subcode can be used as the target bit index.

[0101] When there is no bit index belonging to the second subcode in the candidate index sequence, the bit indexes in the candidate bit indexes are traversed. If it is determined that a certain bit index belongs to the third subcode and the third subcode supports decoding by the preset decoding algorithm, the index size of the bit index to be adjusted is compared with the index value of the bit index belonging to the third subcode. If the index value of the bit index belonging to the third subcode is greater than the index value of the bit index to be adjusted, the bit index belonging to the third subcode is used as the target bit index. Conversely, if the index value of the bit index belonging to the third subcode is less than the index value of the bit index to be adjusted, it is determined whether the third subcode supports decoding by the preset decoding algorithm before and after the target bit index is adjusted. If it supports decoding by the preset decoding algorithm before and after the adjustment, the bit index belonging to the third subcode is used as the target bit index.

[0102] Whether a bit index in a candidate index sequence belongs to the second subcode or the third subcode can be determined by: determining the segment in which the bit index resides, counting the number of information bit indexes of the subcode corresponding to the segment, and if the number of information bit indexes does not belong to a third number set, determining that the bit index belongs to the second subcode; otherwise, it belongs to the third subcode. Alternatively, referring to the above-mentioned determination method based on the subcode pattern, determining whether the combination of information bit indexes of the subcode corresponding to the segment belongs to the subcode pattern; if not, determining that the subcode is a second subcode that is not decoded by a preset decoding algorithm, and the bit index belongs to the second subcode; otherwise, it belongs to the third subcode.

[0103] For example, assuming that the preset decoding algorithm is the Fast-SC algorithm, the set that is not supported by the Fast-SC algorithm is D I (or D F ) as an example, the target bit index j can be selected in the following way:

[0104] Get D Ior D F The first d elements {D0,D1,D2,…,D d-1} as the candidate index sequence, determine the candidate index sequence {D0, D1, D2, ..., D d-1} contains a bit index that belongs to a subcode that cannot be decoded by the Fast-SC algorithm, then the bit index is directly selected as the target index j. Specifically, first calculate the first d bit indices {D0, D1, D2, ..., D d-1}The corresponding segment index T D ={t e |0≤e<d}, where T D The corresponding number of information bit indices is in if It represents D I or D F Among the first d bit indices of , there are bit indices that cannot be decoded by the Fast-SC algorithm. There is a bit index in Then directly select D e As the target index j. If There are multiple bit indices in Then select the index D with the smallest subscript e As the target index j. If represents the candidate index sequence {D0,D1,D2,…,D d-1} does not contain any bit index that cannot be decoded by the Fast-SC algorithm.

[0105] If the candidate index sequence {D0,D1,D2,…,D d-1} does not contain any bit indices that are not decodable by the Fast-SC algorithm. Starting from D0, determine whether D0 meets the following requirements: compare the relative size of D0 and the bit index to be adjusted i. If D0>i, directly select D0 as the target index j. If D0<i, and the subcode containing D0 can still be decodable by the Fast-SC algorithm after the bit rate adjustment, directly select D0 as the target index j. Otherwise, check whether the next bit index D1 meets the requirements. Repeat this test process until a target index j that meets the requirements is obtained.

[0106] It should be understood that in the present application, for multiple subcodes, the segments in which the subcodes are located can be numbered, and the following processing is performed on each subcode in ascending order of segment number: determining whether the subcode (e.g., the subcode with the smallest segment number) supports decoding by the preset decoding algorithm; if not, adjusting the number of information bit indexes of the subcode with reference to the process shown in S203 to adjust the subcode to support decoding by the preset decoding algorithm; if so, performing the same processing on the next subcode in sequence, traversing each subcode until the last subcode (the subcode with the largest segment number) is performed. It should be noted that for the last subcode, there is no next subcode. Therefore, when processing the last subcode, if the last subcode does not support decoding by the preset decoding algorithm, the number of information bit indexes of the last subcode is adjusted with reference to S203; if so, adjusting the bit indexes of the polarization sequence ends.

[0107] It should be noted that the present application is not limited to the example of processing the subcodes in order of segment numbers from small to large. Alternatively, each subcode can be processed in order of segment numbers from large to small. The processing process can refer to the above and will not be repeated here.

[0108] Furthermore, after adjusting the index types of the to-be-adjusted bit index and the target bit index of the first subcode, the information bit index and frozen bit index in the polarization sequence change. In this case, the information bit index set and frozen bit index set corresponding to the polarization sequence need to be updated in real time to ensure the accuracy of the information bit index set and frozen bit index set in the polarization sequence.

[0109] Optionally, updating the information bit index set and frozen bit index set corresponding to the polarization sequence may include: when the number of information bit indexes of the first subcode is increased, deleting the adjusted bit index in the first subcode from the frozen bit index set, updating the index to the information bit index set, and deleting the target bit index from the information bit index set, and updating the index to the frozen bit index set.

[0110] When the number of information bit indexes of the first subcode is reduced, the adjusted bit index in the first subcode is deleted from the information bit index set and updated to the frozen bit index set, and the target index bit is deleted from the frozen bit index and updated to the information bit index set.

[0111] For example, assuming that the information bit index set of the polarization sequence is The frozen bit index set is After determining the bit index to be adjusted i and the target bit index j, the information bit index set can be updated by the following method: With frozen bit index set

[0112] If it is necessary to increase the number of information bit indexes k of the current subcode t , then the updated information bit set The target bit index j is removed from the information bit index set Delete (or remove), and update the bit index i to be adjusted to the information bit index set The updated frozen bit index set The bit index i to be adjusted is removed from the frozen bit index set Delete and update the target bit index j to the frozen bit index set

[0113] If it is necessary to reduce the number of information bit indices k of the current subcode t , then the updated information bit index set The bit index i to be adjusted is removed from the information bit index set Delete and update the target bit index j to the information bit index set The updated frozen bit index set The target bit index j is removed from the frozen bit index set Delete and update the bit index i to be adjusted to the frozen bit index set middle.

[0114] S204: Obtain a sequence to be encoded based on the adjusted polarization sequence and the input bit sequence.

[0115] The adjusted polarization sequence may refer to a new polarization sequence obtained by traversing each subcode of the polarization sequence and performing S202 and S203 on the subcodes. It should be understood that as the to-be-adjusted bit index and the target bit index in the subcode are adjusted, the information bit index and frozen bit index in the polarization sequence also change, and the index type of some bit indexes also changes, but the total number of information bit indexes and frozen bit indexes in the polarization sequence remains unchanged.

[0116] In one possible design, if all subcodes in the polarization sequence support decoding by the preset decoding algorithm, S204 is executed. In another possible design, if the number of subcodes in the polarization sequence that support decoding by the preset decoding algorithm reaches a preset requirement, S204 is executed. This not only ensures the overall transmission performance of the communication system but also improves coding efficiency.

[0117] Among them, the input bit sequence can be replaced by the description of valid information bit sequence or input information bit or other names, which is not limited in this article. The input bit sequence includes K input bits, wherein the input bit can be a valid information bit or an information bit, and K is equal to the total number of information bit indexes in the polarization sequence. Exemplarily, the input bit sequence can be obtained based on the baseband signal generated by the baseband module of the transmitter, or it can be obtained after processing the baseband signal generated by the baseband module, such as after modulating the baseband signal generated by the baseband module. Optionally, the modulation method may include but is not limited to any modulation method of Quadrature Amplitude Modulation (QAM), Absolute Phase Shift Keying (APSK) modulation, Binary Phase Shift Keying (BPSK), and Quadrature Phase Shift Keying (QPSK) modulation.

[0118] Optionally, the length of the sequence to be encoded is the same as the length of the polarization sequence, and the sequence to be encoded includes bits corresponding to bit indices sorted from small to large.

[0119] Specifically, obtaining the sequence to be encoded based on the adjusted polarization sequence and the input bit sequence may include mapping the information bits to positions corresponding to information bit indexes of the adjusted polarization sequence in sequence according to the order of the information bits in the input bit sequence, with one information bit mapped to one position corresponding to an information bit index. A fixed bit, such as a bit "0," is configured at the position corresponding to the information bit index of the adjusted polarization sequence.

[0120] Assume that the input bit sequence is represented as c0,c1,c2,c3,…,c K-1 , the length of the polarization sequence is N, the number of information bit indexes is K, and the information bit index set of the adjusted polarization sequence is The sequence to be encoded can be obtained by the following mapping method u=[u0,u1,u2,…,u N-1 ]: k=0; for n=0to N-1 if u n =c k ; k=k+1;

[0121] else u n =0;

[0122] end if

[0123] end for

[0124] That is, for K input bits from 0 to K-1, according to the order of the input bits, starting from the 0th input bit, map to the bit index in the following way: find N bit indices arranged in ascending order according to the index value, traverse each bit index starting from the first bit index, and determine whether the bit index belongs to the information bit index set If it does, the 0th input bit is mapped to the bit index, otherwise, the position of the bit index is set to (or filled with) 0. Then, for the first input bit, find out whether the next bit index belongs to the information bit index set If the information bit index belongs to , the first input bit is mapped to the bit index. Otherwise, the position of the bit index is set to (or filled with) 0, and so on, until the K-1th input bit is mapped to the last information bit index. Other bits that do not belong to the information bit index set are mapped to the last information bit index. The bit index (ie, frozen bit index) is set to 0.

[0125] For example, assuming that a polarization sequence includes eight bit indices: 0-7, the information bit index set of the polarization sequence is {3, 5, 6, 7}, the frozen bit index set is {0, 1, 2, 4}, and the input bit sequence is {1, 1, 1, 1}. S204 is performed to map the four input bits to the positions of information bit indices 3, 5, 6, and 7, respectively, and the positions of frozen bit indices 0, 1, 2, and 4 are filled with fixed bits 0. The resulting sequence to be encoded is {0, 0, 0, 1, 0, 1, 1, 1}.

[0126] S205 . Encode the sequence to be encoded based on the generator matrix to obtain a coded sequence, and send the coded sequence.

[0127] The generator matrix is The generated matrix is ​​an N*N matrix. represents the n-th Kronecker power of G2,

[0128] The length and code rate of the coding sequence are the same as those of the polarization sequence, and the coding sequence can be referred to as a coded polarization sequence. Optionally, encoding the sequence to be coded based on the generator matrix to obtain the coding sequence may include performing matrix multiplication of the sequence to be coded and the generator matrix to obtain the coding sequence. For example: the sequence to be coded u = [u0, u1, u2, ..., u N-1 ], encoding sequence x=[x0,x1,x2,…,x N-1 ],x=uG N .

[0129] Optionally, sending the coded sequence may include sending the coded sequence to one or more receiving ends. In this application, the receiving end may be replaced by a transmission node. Specifically, the receiving end may be a decoding device, or a device integrated with a decoding device, etc., which is not limited herein.

[0130] Accordingly, the decoding device receives the coded sequence and decodes the coded sequence using a preset decoding algorithm. For example, the Fast-SC algorithm is used to decode the coded sequence. It should be understood that when the decoding device is integrated into the receiving end, the decoding device receiving the coded sequence can be alternatively described as: the receiving end receiving the coded sequence and decoding the coded sequence using the preset decoding algorithm of the encoding device.

[0131] Based on the encoding method shown in Figure 2, in an embodiment of the present application, for subcodes in a polarization sequence that do not support decoding by a preset decoding algorithm, the subcode can be adjusted to support decoding by the preset decoding algorithm by increasing or decreasing the number of information bit indexes of the subcode, and after the adjustment, encoding processing is performed to obtain a coded sequence and sent. In this way, the adjustment direction of the subcode is flexibly designed, and the information bit index of the subcode is adaptively adjusted based on the adjustment direction matched by the subcode. The adjustment direction is no longer fixed, effectively reducing the number of bit indexes that need to be exchanged, achieving the requirement that the subcode be decoded by the preset decoding algorithm with a small number of adjustments, improving the adjustment efficiency of the subcode, and ensuring that the subcode supports decoding by the preset decoding algorithm based on the improved adjustment efficiency, thereby improving the decoding performance. At the same time, the method shown in the present application searches for the target bit index among the d bit indexes whose reliability is close to the reliability of the bit index to be adjusted, and interchanges the index types, so that the information bits are transmitted on a polarization channel with high channel quality (or high reliability) before and after the bit index adjustment, thereby ensuring the transmission performance of the entire communication system.

[0132] For example, Table 2 shows a comparison of the number of exchanged bit indexes in the method provided by the present application and the method provided by the prior art when the code length is 1024 and the total number of information bit indexes is 768, 832, 896, and 960, respectively. As shown in Table 2, when the total number of information bit indexes is 768, the present application needs to exchange the bit index 7 times to achieve that all subcodes support decoding by the preset decoding algorithm, while the method provided by the prior art needs to exchange the bit index 17 times to achieve that all subcodes are decoded by the preset decoding algorithm. Similarly, when the total number of information bit indexes is other numbers, the number of bit indexes exchanged in the present application is also less than the number of bit indexes exchanged in the prior art. Compared with the prior art, the method provided by the present application can effectively reduce the number of bit indexes that need to be exchanged.

[0133] Table 2

[0134] As can be seen from the above, the encoding method provided by the present application can effectively reduce the number of bit indices that need to be exchanged, thereby improving the performance of the entire communication system. The performance of the encoding scheme provided by the embodiment of the present application is described below in conjunction with Figures 3A-4B.

[0135] For example, Figure 3A shows a polarization sequence (1024, 768) specified by the 5G NR system, a code length of 1024, a total number of information bit indexes of 768, an AWGN channel, a modulation mode of BPSK, and a preset decoding algorithm. The decoding algorithm is SC algorithm decoding, and the third number set S = {0, 1, 2, 3, 7, 11, 13, 14, 15, 16}, d = 3. In the communication scenario, a simulation curve diagram of a coding scheme without code rate adjustment in a 5G NR communication system, a code rate adjustment scheme in the prior art, and a coding scheme provided in an embodiment of the present application is shown in Figure 3A. As shown in Figure 3A, the horizontal axis is the signal-to-noise ratio (SNR) (dB), and the vertical axis is the error rate (Error rates). All the values ​​shown in Figure 3A are frame error rates. As can be seen from Figure 3A, compared with the coding scheme without bit rate adjustment, at a frame error rate of 10-3, the existing bit rate adjustment method causes a performance loss of approximately 0.3dB, and the performance loss caused by the coding method proposed in this application is less than 0.05dB. Compared with the existing bit rate adjustment scheme, the performance of the method provided by this application is greatly improved.

[0136] For another example, Figure 3B shows a polarization sequence (1024, 832) specified by the 5G NR system, a code length of 1024, a total number of information bit indexes of 832, an AWGN channel, a modulation mode of BPSK, and a preset decoding algorithm. The decoding algorithm is SC algorithm decoding, and the third number set S = {0, 1, 2, 3, 7, 11, 13, 14, 15, 16}, d = 3. In the communication scenario, a simulation curve diagram of a coding scheme without code rate adjustment in a 5G NR communication system, a code rate adjustment scheme in the prior art, and a coding scheme provided in an embodiment of the present application is shown in Figure 3B. The horizontal axis is the signal-to-noise ratio SNR (dB), and the vertical axis is the error rate. The frame error rate is shown in Figure 3B. As can be seen from Figure 3B, compared with the coding scheme without bit rate adjustment, at a frame error rate of 10-3, the existing bit rate adjustment method causes a performance loss of approximately 0.3dB, and the performance loss caused by the coding method proposed in this application is less than 0.05dB. Compared with the existing bit rate adjustment scheme, the performance of the method provided by this application is greatly improved.

[0137] 3A and 3B illustrate the performance using a polarization sequence specified by the 5G NR communication system as an example. The following description is given in conjunction with FIG4A and 4B using a polarization sequence obtained according to the GA algorithm as an example.

[0138] For example, FIG4A shows a simulation curve diagram of a coding scheme without rate adjustment, a prior art rate adjustment scheme, and a coding scheme provided by an embodiment of the present application in a communication scenario where the polarization sequence (1024, 768) is obtained based on the GA algorithm, the code length is 1024, the total number of information bit indexes is 768, the polarization channel is an AWGN channel, the modulation mode is BPSK, the preset decoding algorithm is SC algorithm decoding, the third number set S = {0, 1, 2, 3, 7, 11, 13, 14, 15, 16}, and d = 3. As shown in FIG4A, the horizontal axis is the signal-to-noise ratio SNR (dB) and the vertical axis is the error rate. The curves in FIG4A are all frame error rates. As can be seen from FIG4A, compared to the coding scheme without rate adjustment, at a frame error rate of 10-2, the existing rate adjustment method causes a performance loss of approximately 0.3dB, while the performance loss caused by the coding method proposed in the present application is less than 0.1dB. Compared with the existing rate adjustment scheme, the performance of the present application is improved.

[0139] For another example, FIG4B shows a polarization sequence (1024, 832) obtained based on the GA algorithm, a code length of 1024, a total number of information bit indexes of 832, an AWGN channel, a modulation mode of BPSK, and a preset decoding algorithm of the SC algorithm. In a communication scenario where the third number set S = {0, 1, 2, 3, 7, 11, 13, 14, 15, 16}, d = 3 or d = 25, a simulation curve diagram of a coding scheme without code rate adjustment, a conventional code rate adjustment scheme, and a coding scheme provided in an embodiment of the present application is shown in FIG4B . As shown in FIG4B , the horizontal axis is the signal-to-noise ratio SNR (dB), and the vertical axis is the error rate. The curves in FIG4B are all frame error rates. As can be seen from Figure 4B, compared with the coding scheme without rate adjustment, at a frame error rate of 10-2, the existing rate adjustment method causes a performance loss of about 0.2dB. The coding method proposed in this application causes a performance loss of less than 0.1dB when d=3. Compared with the existing rate adjustment scheme, the performance of this application is improved. The performance loss in the high signal-to-noise ratio area is the same as that caused by the existing rate adjustment method. In addition, as can be seen from Figure 4B, in the high signal-to-noise ratio area, an excessively large parameter d=25 causes additional performance loss. Therefore, the parameter d should be selected as a small positive integer, for example, 3≤d≤10.

[0140] The method provided in this application is described in detail below, assuming that the code length of the polarization sequence is N = 64, the total number of information bit indexes of the polarization sequence is K = 8, the preset decoding algorithm is the Fast-SC algorithm, the fast decoding set S = {0, 1, 2, 3, 7, 11, 13, 14, 15, 16}, and the length of the equally spaced segments of the polarization sequence is 16.

[0141] FIG5 is a flowchart of another encoding method provided by the present application, as shown in FIG5 , including:

[0142] S501: Obtain a polarization sequence with a code length of 64, and sort the 64 bit indexes 0-63 of the polarization sequence from low to high according to reliability to obtain a sequence

[0143] Among them, the following table 3 shows the reliability of the 64-bit index Sorting. Table 3 The elements in the column represent the reliability, such as The element 0 in the column indicates that the reliability is 0. The elements in the column represent bit indices, such as Element 0 in the column represents bit index 0.

[0144] Table 3

[0145] Optionally, the K=8 bit indices with the highest reliability are taken to generate the information bit index set

[0146] S502, sort the index values ​​in ascending order with length M=16 The equally spaced segments are divided into T=4 subcodes: P0={0,1,2,…,15}, P1={16,17,18,…,31}, P2={16,17,18,…,31}, P3={48,49,50,…,63}.

[0147] S503: Determine whether the 0th subcode supports Fast-SC algorithm decoding. If the 0th subcode supports Fast-SC algorithm decoding, execute S504.

[0148] In one implementation, for the bit index set P0 = {0, 1, 2, ..., 15} of the 0th subcode, the set Get the number of information bit indexes of the 0th subcode Since k0∈S, it is determined that the 0th subcode supports decoding by the Fast-SC algorithm and no rate adjustment is required.

[0149] In another implementation, for the bit index set P0={0,1,2,…,15} of the 0th subcode, the set Get the information bit index combination of the 0th subcode It is determined that the 0th subcode supports decoding by the Fast-SC algorithm and no bit rate adjustment is required.

[0150] S504: Determine whether the first subcode supports Fast-SC algorithm decoding. If the first subcode supports Fast-SC algorithm decoding, execute S505.

[0151] In one implementation, for the bit index set P1 = {16, 17, 18, ..., 31} of the first subcode, the set Get the number of information bit indexes of the first subcode Since k1∈S, it is determined that the first subcode supports decoding by the Fast-SC algorithm and no bit rate adjustment is required.

[0152] In another implementation, for the bit index set P1 = {16, 17, 18, ..., 31} of the first subcode, the set The information bit index combination of the first subcode is obtained as It is determined that the first subcode supports decoding by the Fast-SC algorithm and no bit rate adjustment is required.

[0153] S505: Determine whether the second subcode supports Fast-SC algorithm decoding. If the second subcode supports Fast-SC algorithm decoding, execute S506.

[0154] In one implementation, for the bit index set P2 = {32, 33, 34, ..., 47} of the second subcode, the set Get the number of information bit indexes of the second subcode Since k2∈S, it is determined that the second subcode supports decoding by the Fast-SC algorithm and no bit rate adjustment is required.

[0155] In another implementation, for the bit index set P2 of the second subcode = {32, 33, 34, ..., 47}, the set is calculated The information bit index combination of the second subcode is obtained as It is determined that the second subcode supports decoding by the Fast-SC algorithm and no bit rate adjustment is required.

[0156] S506: Determine whether the third subcode supports decoding by the Fast-SC algorithm. If it is determined that the third subcode does not support decoding by the Fast-SC algorithm, execute S507.

[0157] In one implementation, for the bit index set P3 = {48, 49, 50, ..., 63} of the third subcode, the set Get the number of information bit indexes of the third subcode because It is determined that the third subcode cannot be decoded by the Fast-SC algorithm and the bit rate needs to be adjusted.

[0158] In another implementation, for the bit index set P3 = {48, 49, 50, ..., 63} of the third subcode, the set The information bit index combination of the third subcode is {55, 59, 60, 61, 62, 63}, which does not belong to the subcode pattern E shown in Table 4 below. It is determined that the third subcode does not support decoding by the Fast-SC algorithm and needs to be adjusted in bit rate.

[0159] Table 4

[0160] S507: Determine the target adjustment direction of the third subcode as reducing the number k3 of information bit indexes.

[0161] Assuming that the first code rate threshold is 0.5, since the code rate of the third subcode is r=k3 / M=3 / 8<1 / 2, the target adjustment direction of the third subcode is determined to be reducing the number of information bit indexes k3.

[0162] S508: Index the information bit in the third subcode The index sequence obtained by arranging in ascending order of reliability is {60, 55, 59, 61, 62, 63}, and the information bit index i=60 with the lowest reliability is obtained. The information bit index i=60 is used as the bit index to be adjusted.

[0163] S509: Arrange the frozen bit indexes in all segments except the third subcode in descending order according to their reliability to obtain a frozen bit index sequence D. F ={46, 45, 30, 43, 29, 39, ...}. When the parameter d=3, the three frozen bit indices {46, 45, 30} with the highest reliability are selected from the frozen bit index sequence as the candidate index sequence.

[0164] S510 : Select a target bit index j=46 from a candidate index sequence, and adjust the index types of the target bit index and the bit index to be adjusted.

[0165] Specifically, for the candidate index sequence {46, 45, 30}, it is determined that bit indices 46 and 45 belong to the second subcode, and bit index 30 belongs to the first subcode. As can be seen from the above, both the first subcode and the second subcode support decoding by the Fast-SC algorithm, so there is no element in the candidate index sequence {46, 45, 30} that does not support decoding by the Fast-SC algorithm. Therefore, first compare the relative size relationship between D0=46 and the bit index to be adjusted i=60. Since D0<i, determine whether the subcode where D0 is located still supports decoding by the Fast-SC algorithm after the code rate adjustment: bit index D0=46 is located in the first The number of information index bit indexes in the second segment is k2 = 1, and the parameter k2 after adding one information index bit is 2. Since 2∈S, that is, the subcode where D0 = 46 still supports decoding by the Fast-SC algorithm after the bit rate adjustment, the target bit index j = 46 is selected.

[0166] S511: Update the information index bit index set of the polarization sequence to The updated frozen bit index set is

[0167] S512: Determine whether the adjusted third subcode supports Fast-SC decoding. If not, refer to S507-S511 above and adjust the number of information bit indexes included in the third subcode again until the third subcode is adjusted to support Fast-SC decoding. If so, polarization sequence adjustment is complete.

[0168] S513 : Obtain a sequence to be encoded based on the adjusted polarization sequence and the input bit sequence {1,1,1,1,1,1,1,1}.

[0169] The execution process of S513 may refer to S204 and will not be described in detail.

[0170] S514: Encode the sequence to be encoded based on the generator matrix to obtain a coded sequence, and send the coded sequence.

[0171] The execution process of S514 may refer to S205 and will not be described in detail.

[0172] Based on the method shown in Figure 5, by reducing the number of information bit indices in the third subcode of a polarization sequence of length 64, the third subcode can be quickly supported for decoding using the Fast-SC algorithm. This allows the subcode to be decoded using the Fast-SC algorithm with fewer adjustments, improving subcode adjustment efficiency. This improved adjustment efficiency ensures that all subcodes support decoding using the Fast-SC algorithm, thereby improving decoding performance. Furthermore, the method shown in Figure 5 searches for the target bit index among three bit indices with a reliability close to that of the bit index to be adjusted, and swaps the index types. This ensures that information bits are transmitted on a polarization channel with high channel quality (or high reliability) before and after bit index adjustment, thus ensuring the transmission performance of the entire communication system.

[0173] The method provided in this application is described in detail below, assuming that the code length of the polar sequence is N = 64, the total number of information bit indexes of the polar sequence is K = 10, the preset decoding algorithm is the Fast-SC algorithm, the fast decoding set S = {0, 1, 2, 3, 7, 11, 13, 14, 15, 16}, and the length of the polar sequence is 16 equally spaced segments.

[0174] FIG6 is a flowchart of another encoding method provided by the present application, as shown in FIG6 , including:

[0175] S601: Obtain a polarization sequence with a code length of 64, and sort the 64 bit indexes 0-63 of the polarization sequence from low to high according to reliability to obtain a sequence

[0176] The implementation process of step S601 may refer to S501 and will not be described in detail.

[0177] Optionally, the 10 most reliable bit indices are used to generate the information bit index set.

[0178] S602, sort the index values ​​in ascending order with length M=16 The equally spaced segments are divided into T=4 subcodes: P0={0,1,2,…,15}, P1={16,17,18,…,31}, P2={16,17,18,…,31}, P3={48,49,50,…,63}.

[0179] S603: Determine whether the 0th subcode supports Fast-SC algorithm decoding. If the 0th subcode supports Fast-SC algorithm decoding, execute S604.

[0180] Among them, S603 is the same as S503 and will not be repeated here.

[0181] S604: Determine whether the first subcode supports Fast-SC algorithm decoding. If the first subcode supports Fast-SC algorithm decoding, execute S605.

[0182] Among them, S604 is the same as S504 and will not be repeated here.

[0183] S605: Determine whether the second subcode supports Fast-SC algorithm decoding. If the second subcode supports Fast-SC algorithm decoding, execute S606.

[0184] Among them, S605 is the same as S505 and will not be repeated here.

[0185] S606: Determine whether the third subcode supports decoding by the Fast-SC algorithm. If it is determined that the third subcode does not support decoding by the Fast-SC algorithm, execute S607.

[0186] Among them, S607 is the same as S507 and will not be repeated here.

[0187] S607: Determine that the target adjustment direction of the third subcode is to increase the number of information bit indexes k3.

[0188] Assuming the first code rate threshold is 0.5, since the bit index set of the third subcode is P3 = {48, 49, 50, ..., 63}, the calculation set The number of information bit indices of this subcode The code rate of the third subcode is r=k3 / M=1 / 2≥1 / 2, so the number of information bit indexes in the segment needs to be increased by k3.

[0189] S608: Index the frozen bits in the third subcode The index sequence obtained by arranging in descending order of reliability is {54, 53, 51, 56, 52, 50, 49, 48}, and the frozen bit index i=54 with the highest reliability is obtained. The frozen bit index i=54 is used as the bit index to be adjusted.

[0190] S609: Arrange the information bit indexes in all segments except the third subcode in descending order according to reliability to obtain the information bit index sequence D I ={31,47}. When the parameter d=3, the information bit index {31,47} with the highest reliability is selected from the information bit index sequence as the candidate index sequence.

[0191] S610 : Select a target bit index j=31 from a candidate index sequence, and adjust the index types of the target bit index and the bit index to be adjusted.

[0192] Specifically, for the candidate index sequence {31, 47}, there is no element that does not support Fast-SC algorithm decoding. First, compare the relative size relationship between D0=31 and the bit index to be adjusted i=54. Since D0<i, it is necessary to determine whether the subcode rate where D0 is located can still support Fast-SC algorithm decoding after the bit rate adjustment: bit index D0=31 is located in the first The number of information bit indexes of the first segment is k1=1, and the parameter k1 after reducing one information bit is 0. Since 0∈S, that is, the segment where D0=31 still supports Fast-SC algorithm decoding after the bit rate adjustment, the target bit index j=31 can be selected.

[0193] S611: Update the information index bit index set of the polarization sequence to The updated frozen bit index set is

[0194] S612: Determine whether the adjusted third subcode supports Fast-SC decoding. If not, refer to S607-S611 above and adjust the number of information bit indexes included in the third subcode again until the third subcode is adjusted to support Fast-SC decoding. If so, polarization sequence adjustment is complete.

[0195] S613. Obtain a sequence to be encoded based on the adjusted polarization sequence and the input bit sequence {1, 1, 1, 1, 1, 1, 1}.

[0196] The execution process of S613 may refer to S204 and will not be described in detail.

[0197] S614: Encode the sequence to be encoded based on the generator matrix to obtain a coded sequence, and send the coded sequence.

[0198] The execution process of S614 may refer to S205 and will not be described in detail.

[0199] Based on the method shown in Figure 6, by increasing the number of information bit indices in the third subcode of a polarization sequence of length 64, the third subcode can be quickly supported for decoding using the Fast-SC algorithm. This allows the subcode to be decoded using the Fast-SC algorithm with fewer adjustments, improving subcode adjustment efficiency. This improved adjustment efficiency ensures that all subcodes support decoding using the Fast-SC algorithm, thereby improving decoding performance. Furthermore, the method shown in Figure 6 searches for the target bit index among two bit indices with similar reliability to the bit index to be adjusted, and swaps the index types. This ensures that information bits are transmitted on a polarization channel with high channel quality (or high reliability) before and after bit index adjustment, thus ensuring the transmission performance of the entire communication system.

[0200] The above Figures 5 and 6 are respectively described by taking the bit index in the subcode supporting Fast-SC algorithm decoding as the target bit index as an example. Unlike Figures 5 and 6, the following description is based on the selection of the bit index in the subcode that does not support Fast-SC algorithm decoding as the target bit index as an example:

[0201] For example, assuming that the code length of the polar sequence is N = 64, the total number of information bit indexes of the polar sequence is K = 20, the preset decoding algorithm is the Fast-SC algorithm, the fast decoding set S = {0, 1, 2, 3, 7, 11, 13, 14, 15, 16}, the length of the equally spaced subcode for the polar sequence is 16, and the information bit set is

[0202] The bit index set P0 of the 0th subcode is {0, 1, 2, ..., 15}, and the calculation set The number of information bit indices of this subcode Since k0∈S, it is determined that the subcode can be supported and decoded by the Fast-SC algorithm without the need for bit rate adjustment.

[0203] The bit index set of the first subcode P1={16,17,18,…,31}, calculate the set The number of information bit indices of this subcode because It is determined that the subcode cannot be decoded by the Fast-SC algorithm and the bit rate needs to be adjusted.

[0204] The bit index set of the second subcode P2 = {32, 33, 34, ..., 47}, the calculation set The number of information bit indices of this subcode because It is determined that the subcode cannot be decoded by the Fast-SC algorithm and the bit rate needs to be adjusted.

[0205] The bit index set of the third subcode P3 = {48, 49, 50, ..., 63}, the calculation set The number of information bit indices of this subcode Since k3∈S, it is determined that the subcode can be supported and decoded by the Fast-SC algorithm, and no bit rate adjustment is required.

[0206] When adjusting the first subcode, since the code rate of the first subcode is r=k1 / M=1 / 4<1 / 2, it is necessary to reduce the number of information bit indexes k1 in the subcode. The index sequence obtained by arranging in ascending order of reliability is {27, 29, 30, 31}, and the least reliable information bit index i = 27. Arrange the frozen bit indexes in all segments except the current segment in descending order of reliability to obtain the frozen bit index sequence D F ={56,52,15,50,44,49,42,…}. Parameter d = 6, first we need to determine the sequence D F Whether there are any elements in the first 6 elements of the segment that cannot be decoded by the Fast-SC algorithm. 0~5 ={56,52,15,50,44,49} is in the segment number T D ={3,3,0,3,2,3}. As can be seen from the above content, the second subcode belongs to the segment that cannot be decoded by the Fast-SC algorithm, so D4=44 is preferred as the target bit index, that is, j=44. The updated information bit index is Updated

[0207] For another example, assume that the code length of the polar sequence is N = 64, the total number of information bit indexes of the polar sequence is K = 20, the preset decoding algorithm is the Fast-SC algorithm, the fast decoding set S = {0, 1, 2, 3, 7, 11, 13, 14, 15, 16}, the length of the equally spaced subcode for the polar sequence is 16, and the information bit set is The first number set S sup ={4,9,10,12} and the second number set S sub ={5,6,8}.

[0208] The bit index set P0 of the 0th subcode is {0, 1, 2, ..., 15}, and the calculation set The number of subcode information bit indices Since k0∈S, it is determined that the subcode can be decoded by the Fast-SC algorithm without the need for bit rate adjustment.

[0209] The bit index set of the first subcode P1={16,17,18,…,31}, calculate the set The number of information bit indices of this subcode because It is determined that the subcode cannot be decoded by the Fast-SC algorithm and the bit rate needs to be adjusted.

[0210] The bit index set of the second subcode P2 = {32, 33, 34, ..., 47}, the calculation set The number of information bit indices of this subcode because It is determined that the subcode cannot be decoded by the Fast-SC algorithm and the bit rate needs to be adjusted.

[0211] The bit index set of the third subcode P3 = {48, 49, 50, ..., 63}, the calculation set The number of subcode information bit indices Since k3∈S, it is determined that the subcode corresponding to the subcode can be decoded by the Fast-SC algorithm and does not require bit rate adjustment.

[0212] When adjusting the first subcode, due to the code rate k1∈S of the first subcode, sup , then the number of information bit indexes in the subcode needs to be increased k1. The frozen bit index in the current subcode The index sequence obtained by arranging in descending order of reliability is {23, 15, 28, 22, 25, 26, ...}, and the most reliable frozen bit index i = 23. Arrange the information bit indexes in all segments except the current segment in ascending order of reliability to obtain the information bit index sequence DI ={39,43,45,51,46,53,54…}. Parameter d = 6, first we need to determine the sequence D I Whether there are any elements in the first 6 elements of the index sequence D that belong to the non-fast decoding segment. 0~5 ={39,43,45,51,46,53} is in the segment number T D ={2,2,2,3,2,3}. As can be seen from the above content, the second segment is a non-fast decoding segment, so D0=39 is preferred as the target bit index, that is, j=39. The updated information bit index is Updated

[0213] It is understandable that, in order to realize the above functions, the encoding device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in conjunction with the algorithm steps of each example described in the embodiments of the present application, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in a hardware or computer software driven hardware manner depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0214] The embodiment of the present application can divide the functional modules of the encoding device according to the above method embodiment. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one functional module. The above integrated module can be implemented in the form of hardware or software. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. The following is an example of dividing each functional module corresponding to each function.

[0215] FIG7 is a schematic diagram of the structure of an encoding device provided in an embodiment of the present application, which can execute the encoding method provided in the above method embodiment. As shown in FIG7 , the encoding device includes: a processing unit 701 and a sending unit 702.

[0216] A processing unit 701 is configured to adjust, based on a target adjustment direction, the number of information bit indexes of a first subcode that is not supported for decoding by a preset decoding algorithm, among multiple subcodes of a polarization sequence; the target adjustment direction includes increasing the number of information bit indexes of the first subcode or decreasing the number of information bit indexes of the first subcode; obtain a sequence to be encoded based on the adjusted polarization sequence and an input bit sequence; and encode the sequence to be encoded based on a generator matrix to obtain a coded sequence.

[0217] The sending unit 702 is configured to send a coding sequence.

[0218] In one possible implementation, the processing unit 701 is specifically configured to: obtain, according to a target adjustment direction, a bit index to be adjusted in the first subcode; select a target bit index from a candidate index sequence outside the first subcode; wherein the candidate index sequence includes d bit indexes whose index types are different from the index types of the bit index to be adjusted and whose reliabilities are closest to the reliability of the bit index to be adjusted; d is a preset number; and adjust the index types of the bit index to be adjusted and the target bit index.

[0219] In one possible implementation, when the target adjustment direction is to increase the number of information bit indexes of the first subcode, the bit indexes to be adjusted are frozen bit indexes in the first subcode whose reliability is greater than a first reliability threshold; and the candidate index sequence includes d information bit indexes with the lowest reliability among the information bit indexes in the polarization sequence other than the first subcode.

[0220] In one possible implementation, when the target adjustment direction is to reduce the number of information bit indexes of the first subcode, the bit indexes to be adjusted are information bit indexes in the first subcode whose reliability is less than a second reliability threshold; and the candidate index sequence includes d frozen bit indexes with the highest reliability among the frozen bit indexes in the polarization sequence excluding the first subcode.

[0221] In one possible implementation, the target bit index is a bit index in a second subcode in a candidate index sequence that does not support decoding by a preset decoding algorithm; or, the target bit index is a bit index in a third subcode in a candidate index sequence that supports decoding by a preset decoding algorithm, whose index value is greater than the index value of the bit index to be adjusted; or, the target bit index is a bit index in a third subcode in a candidate index sequence that supports decoding by a preset decoding algorithm, whose index value is less than the index value of the bit index to be adjusted, and the third subcode supports decoding by the preset decoding algorithm both before and after the target bit index adjustment index type.

[0222] In a possible implementation, the target adjustment direction is determined according to the current bit rate of the first subcode.

[0223] In one possible implementation, when the current code rate of the first subcode is less than a first code rate threshold, the target adjustment direction is to reduce the number of information bit indexes of the first subcode; when the current code rate of the first subcode is greater than a second code rate threshold, the target adjustment direction is to increase the number of information bit indexes of the first subcode.

[0224] In one possible implementation, the target adjustment direction is determined based on the number of information bit indexes of the first subcode and a preset set; wherein the preset set includes at least one of the following: a first number set or a second number set; the first number set indicates the number of information bit indexes currently included in the subcode whose information bit index is to be increased; and the second number set indicates the number of information bit indexes currently included in the subcode whose information bit index is to be decreased.

[0225] In one possible implementation, when the number of information bit indexes of the first subcode belongs to a first number set, the target adjustment direction is to increase the number of information bit indexes of the first subcode; and / or, when the number of information bit indexes of the first subcode belongs to a second number set, the target adjustment direction is to decrease the number of information bit indexes of the first subcode.

[0226] In a possible implementation, the number of information bit indexes of the first subcode does not belong to a third number set, where the third number set indicates the number of information bit indexes of subcodes that support decoding by a preset decoding algorithm.

[0227] In a possible implementation, the information bit index combination of the first subcode does not belong to a subcode pattern, where the subcode pattern is used to indicate an information bit index combination of a subcode that supports decoding by a preset decoding algorithm.

[0228] In a possible implementation, the subcode pattern is preset; or, the subcode pattern is determined according to the reliability of the information bit index and / or the type of subcode that supports decoding by a preset decoding algorithm.

[0229] In a possible implementation, the polarization sequence is predetermined; or, the polarization sequence is obtained by using any of the following algorithms: a Gaussian approximation algorithm, a density evolution algorithm, a PW sequence algorithm, or a reinforcement learning algorithm.

[0230] In the case of implementing the functions of the above-mentioned integrated modules in hardware, the embodiments of the present application provide another possible structure of the encoding device involved in the above-mentioned embodiments. As shown in Figure 8, the encoding device 80 includes: a processor 802 and a bus 804. Optionally, the encoding device may also include a memory 801; optionally, the encoding device may also include a communication interface 803.

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

[0232] The communication interface 803 is used to connect to other devices via a communication network, which may be Ethernet, a wireless access network, or a wireless local area network (WLAN).

[0233] The memory 801 may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (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 can be accessed by a computer, but is not limited thereto.

[0234] As a possible implementation, the memory 801 can exist independently of the processor 802. The memory 801 can be connected to the processor 802 via a bus 804 to store instructions or program codes. When the processor 802 calls and executes the instructions or program codes stored in the memory 801, the encoding method provided in the embodiment of the present application can be implemented.

[0235] In another possible implementation, the memory 801 and the processor 802 may also be integrated together.

[0236] Bus 804 can be an Extended Industry Standard Architecture (EISA) bus, etc. Bus 804 can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, FIG8 may be represented by a single thick line, but this does not mean that there is only one bus or only one type of bus.

[0237] Some embodiments of the present application provide a computer-readable storage medium (e.g., a non-transitory computer-readable storage medium), which stores computer program instructions. When the computer program instructions are executed on a computer, the computer executes the encoding method described in any of the above embodiments.

[0238] Exemplarily, the above-mentioned computer-readable storage media may include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks, or magnetic tapes), optical disks (e.g., compact disks (CDs), digital versatile disks (DVDs), etc.), smart cards, and flash memory devices (e.g., erasable programmable read-only memories (EPROMs), cards, sticks, or key drives, etc.). The various computer-readable storage media described herein 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.

[0239] The present invention provides a communication system comprising an encoding device and a decoding device implementing any of the above embodiments. The encoding device is used to implement the encoding method described in any of the above embodiments, and the decoding device is used to decode the coded sequence sent by the encoding device based on a preset decoding algorithm.

[0240] The embodiment of the present application also provides a computer-readable storage medium. All or part of the processes in the above-mentioned method embodiment can be completed by computer instructions to instruct the relevant hardware, and the program can be stored in the above-mentioned computer-readable storage medium. When the program is executed, it may include the processes of the above-mentioned method embodiments. The computer-readable storage medium can be the memory or memory of any of the aforementioned embodiments. The above-mentioned computer-readable storage medium can also be an external storage device of the above-mentioned device or apparatus, such as a plug-in hard disk, a smart memory card (smart media card, SMC), a secure digital (secure digital, SD) card, a flash card (flash card), etc. equipped on the above-mentioned device or apparatus. Further, the above-mentioned computer-readable storage medium can also include both the internal storage unit of the above-mentioned device or apparatus and an external storage device. The above-mentioned computer-readable storage medium is used to store the above-mentioned computer program and other programs and data required by the above-mentioned device or apparatus. The above-mentioned computer-readable storage medium can also be used to temporarily store data that has been output or is to be output.

[0241] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program product is run on a computer, the computer is enabled to execute any one of the methods provided in the above embodiments.

[0242] Although the present application is described herein in conjunction with various embodiments, in the process of implementing the claimed application, those skilled in the art may understand and implement other variations of the disclosed embodiments by reviewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "one" or "an" does not exclude multiple components. A single processor or other unit may implement several functions listed in the claims. Certain measures are recorded in different dependent claims, but this does not mean that these measures cannot be combined to produce good results.

[0243] Although the present application has been described with reference to specific features and embodiments thereof, it is apparent that various modifications and combinations may be made thereto without departing from the spirit and scope of the present application. Accordingly, this specification and the drawings are merely illustrative of the present application as defined by the appended claims and are deemed to cover any and all modifications, variations, combinations or equivalents within the scope of the present application. Obviously, those skilled in the art may make various modifications and variations to the present application without departing from the spirit and scope of the present application. Thus, the present application is intended to include such modifications and variations as fall within the scope of the claims of the present application and their equivalents.

[0244] The above is only a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or replacements within the technical scope disclosed in the present application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.

Claims

1. A coding method, characterized in that: include: Adjusting, based on a target adjustment direction, the number of information bit indexes of a first subcode that does not support decoding by a preset decoding algorithm among multiple subcodes of a polarization sequence; wherein the target adjustment direction includes increasing the number of information bit indexes of the first subcode or decreasing the number of information bit indexes of the first subcode; Obtaining a sequence to be encoded based on the adjusted polarization sequence and the input bit sequence; The sequence to be encoded is encoded based on a generator matrix to obtain an encoded sequence, and the encoded sequence is sent.

2. The method according to claim 1, characterized in that The adjusting the number of information bit indexes of a first subcode that does not support decoding by a preset decoding algorithm among multiple subcodes of the polarization sequence includes: According to the target adjustment direction, obtaining a bit index to be adjusted in the first subcode; Selecting a target bit index from a candidate index sequence other than the first subcode; wherein the candidate index sequence includes d bit indexes whose index type is different from the index type of the bit index to be adjusted and whose reliability is closest to the reliability of the bit index to be adjusted; d is a preset number; Adjusting the index types of the to-be-adjusted bit index and the target bit index; The index types include: information bit index and frozen bit index.

3. The method according to claim 2, characterized in that When the target adjustment direction is to increase the number of information bit indexes of the first subcode, the bit index to be adjusted is a frozen bit index in the first subcode whose reliability is greater than a first reliability threshold; and the candidate index sequence includes d information bit indexes with the lowest reliability among the information bit indexes other than the first subcode in the polarization sequence.

4. The method according to claim 2, characterized in that: When the target adjustment direction is to reduce the number of information bit indexes of the first subcode, the bit index to be adjusted is an information bit index in the first subcode whose reliability is less than a second reliability threshold; and the candidate index sequence includes d frozen bit indexes with the highest reliability among the frozen bit indexes in the polarization sequence except the first subcode.

5. The method according to any one of claims 2 to 4, characterized in that: The target bit index is a bit index in the second subcode in the candidate index sequence that does not support decoding by the preset decoding algorithm; or, The target bit index is a bit index in the candidate index sequence, which has an index value greater than the index value of the bit index to be adjusted in the third subcode that supports decoding by the preset decoding algorithm; or The target bit index is a bit index in the candidate index sequence, in which the index value of the third subcode supporting decoding by the preset decoding algorithm is less than the index value of the bit index to be adjusted, and the third subcode supports decoding by the preset decoding algorithm both before and after the target bit index adjustment index type.

6. The method according to claim 1, characterized in that The target adjustment direction is determined according to a current bit rate of the first subcode.

7. The method according to claim 6, characterized in that When the current code rate of the first subcode is less than the first code rate threshold, the target adjustment direction is to reduce the number of information bit indexes of the first subcode; or, when the current code rate of the first subcode is greater than the second code rate threshold, the target adjustment direction is to increase the number of information bit indexes of the first subcode.

8. The method according to claim 1, characterized in that The target adjustment direction is determined according to the number of information bit indexes of the first subcode and a preset set; wherein the preset set includes at least one of the following: a first number set or a second number set; the first number set indicates the number of information bit indexes currently included in the subcode whose information bit index is to be increased; the second number set indicates the number of information bit indexes currently included in the subcode whose information bit index is to be decreased.

9. The method according to claim 8, characterized in that In a case where the number of information bit indexes of the first subcode belongs to the first number set, the target adjustment direction is to increase the number of information bit indexes of the first subcode; or, When the number of information bit indexes of the first subcode belongs to the second number set, the target adjustment direction is to reduce the number of information bit indexes of the first subcode.

10. The method according to claim 1, characterized in that The number of information bit indexes of the first subcode does not belong to a third number set, wherein the third number set indicates the number of information bit indexes of subcodes that support decoding by the preset decoding algorithm.

11. The method according to claim 1, characterized in that: The information bit index combination of the first subcode does not belong to a subcode pattern, wherein the subcode pattern is used to indicate an information bit index combination of a subcode that supports decoding by the preset decoding algorithm.

12. The method according to claim 11, characterized in that The subcode pattern is preset; or, The subcode pattern is determined according to the reliability of the information bit index and / or the type of the subcode supported for decoding by the preset decoding algorithm.

13. The method according to claim 1, characterized in that The polarization sequence is predetermined; or, The polarization sequence is obtained by any one of the following algorithms: Gaussian approximation algorithm, density evolution algorithm, PW sequence algorithm, reinforcement learning algorithm.

14. A coding device, characterized in that: include: Processor and memory; The memory stores instructions executable by the processor; When the processor is configured to execute the instructions, the communication device implements the encoding method according to any one of claims 1 to 13.

15. A computer-readable storage medium, characterized in that: The computer-readable storage medium comprises computer instructions, which, when executed on a computer, enable the computer to perform the encoding method according to any one of claims 1 to 13.

Citation Information

Patent Citations

  • Coding method and device and computer readable storage medium

    CN119154893A

  • Rate matching method and device of Polar code

    CN108809482A

  • Apparatus and method for applying POLAR CODES

    CN109155634A

  • Cascade encoding method and device

    CN110890894A

  • Reducing the search space of maximum-likelihood decoding for polar codes

    CN111034080A