Coding method and device and computer readable storage medium
By adjusting the bit index in the polarized sequence, the problem of insufficient decoding performance of Fast-SC decoder for specific subcodes is solved, and more efficient decoding performance and communication system transmission performance improvement is achieved.
Patent Information
- Application Number
- CN202310709616.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-14
- Publication Date
- 2024-12-17
AI Technical Summary
The existing polarization code Fast-SC decoder cannot quickly decode subcodes with code rates of 4/16, 5/16, 6/16, 8/16, 9/16, 10/16, 12/16, This leads to decoding delay and performance bottlenecks, and the existing adjustment methods require adjustment of a large number of bit indexes, which is inefficient.
By adjusting the bit index in the polarized sequence, the number of information bit indexes of the subcode is increased or decreased, so that it supports Fast-SC algorithm decoding, flexibly designs and adjusts the direction, adaptively matches the characteristics of the subcode, reduces the number of adjustments, and improves the number of adjustments. Decoding performance.
It effectively reduces the number of bit indexes that need to be adjusted, improves the decoding performance and efficiency, ensures that the subcode supports preset decoding algorithm decoding, and improves the transmission performance of the communication system.
Smart Images

Figure CN119154893A_ABST
Abstract
Description
Technical Field
[0001] 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
[0002] At present, one of the main research directions of polar code high-throughput decoder is to use the Fast Successive Cancellation (Fast-SC) algorithm, which can quickly decode specific types of subcodes. 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.
[0003] However, the problem of fast decoding of 7 types of subcodes with code rates of 4 / 16, 5 / 16, 6 / 16, 8 / 16, 9 / 16, 10 / 16, and 12 / 16 has not yet been solved. For the Fast-SC decoder of polar codes, the existence of subcodes that cannot be quickly decoded is an obstacle to further improving the decoding performance. In order to further reduce the decoding delay of the Fast-SC decoder, one solution is 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 by adjusting the position of the index in the polarization sequence. Therefore, how to adjust the position of the bit index in the polarization sequence, reduce the number of subcodes that do not support Fast-SC algorithm decoding, and improve decoding performance is a problem that needs to be solved urgently. Summary of the invention
[0004] The embodiments of the present application provide a coding method, a device, and a computer-readable storage medium to reduce the number of bit indexes that need to be adjusted in a polarization sequence and improve decoding performance.
[0005] On the one hand, a coding method is provided, comprising: 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 comprises 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 generation matrix to obtain a coded sequence, and sending the coded sequence.
[0006] On the other hand, there is provided an encoding device, comprising: a processing unit, a sending unit;
[0007] A processing unit is used to adjust, 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 an input bit sequence; and encoding the sequence to be encoded based on a generation matrix to obtain a coded sequence.
[0008] The sending unit is used to send the coding sequence.
[0009] 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.
[0010] 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 used to implement the encoding method described in any of the above embodiments, and the decoding device is used to decode the encoding sequence sent by the encoding device based on a preset decoding algorithm.
[0011] 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.
[0012] 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 of the above embodiments is implemented.
[0013] In the embodiment of the present application, for the subcode in the polarization sequence that does not support decoding by the preset decoding algorithm, the subcode can be adjusted to support decoding by the preset decoding algorithm by increasing the number of information bit indexes of the subcode or reducing the number of information bit indexes of the subcode, and after the adjustment, the encoding process is performed to obtain the encoding sequence and send it. 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 and single, which improves the adjustment efficiency of the subcode and thus improves the decoding performance. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] In order to more clearly illustrate the technical solution in the present application, the drawings required for use in some embodiments of the present application will be briefly introduced below. 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.
[0015] Figure 1AA schematic diagram of the architecture of a communication system provided by some embodiments of the present application;
[0016] Figure 1B Schematic diagram of data transmission between a transmitting end and a receiving end provided in some embodiments of the present application;
[0017] Figure 2 A schematic diagram of a flow chart of an encoding method provided in some embodiments of the present application;
[0018] Figure 3A A performance simulation schematic diagram provided for some embodiments of the present application;
[0019] Figure 3B Another performance simulation schematic diagram provided for some embodiments of the present application;
[0020] Figure 4A Another performance simulation schematic diagram provided for some embodiments of the present application;
[0021] Figure 4B Another performance simulation schematic diagram provided for some embodiments of the present application;
[0022] Figure 5 A flowchart of another encoding method provided for some embodiments of the present application;
[0023] Figure 6 A flowchart of another encoding method provided for some embodiments of the present application;
[0024] Figure 7 A structural diagram of an encoding device provided in some embodiments of the present application;
[0025] Figure 8 A structural diagram of yet another encoding device provided for some embodiments of the present application. DETAILED DESCRIPTION
[0026] Before introducing the embodiments of the present application, some technical terms involved in the present application are explained:
[0027] Polar code coding is a coding method that uses polarization effect to perform channel coding so that it can achieve the symmetric channel capacity I(W). The basic idea of polar code coding is to establish a selection method for information bits for multiple polarized channels so that each information bit can independently pass through a parallel polarized channel and send the information bit that actually needs to be transmitted on the polarized channel with the channel symmetric capacity I(W)≈1 or the Bhattacharyya parameter Z(W)≈0. On the remaining polarized channels except the channel symmetric capacity I(W)≈1 or the Bhattacharyya parameter Z(W)≈0, bits known to both the sender and the receiver or fixed bits can be transmitted. Among them, the polarized channels with the channel symmetric capacity I(W)≈1 or the Bhattacharyya parameter Z(W)≈0 can be called information channel sets or information sets or information bits, and the bits transmitted on them can be called information bits. The polarized channels other than these can be called frozen channel sets or frozen sets or frozen bits, and the bits transmitted on them can be called frozen bits.
[0028] A polarization sequence may be referred to as a polarization code or a polarization code sequence. Specifically, a polarization sequence includes an index of a polarization channel (or a bit index). A polarization sequence may include an information bit index set and a frozen bit index set, wherein the information bit index set is used to indicate which polarization channels are used to transmit channel bits, and the frozen bit index set is used to indicate which polarization channels are used to transmit frozen bits. Taking N polarization channels as an example, a polarization sequence includes N indexes corresponding to the N polarization channels, and the index may be the number of the polarization channel, etc., and one index indicates one polarization channel. It should be understood that the present application does not limit the naming of the polarization channel, and may also be referred to as a channel or a transmission channel, etc., without limitation. The polarization channel described in the present application may be an Additive White Gaussian Noise (AWGN) channel.
[0029] The polarization code encoding process may include: for input information bits of length K, according to the information bit index set of the polarization sequence, one-to-one mapping of the input information bits on the polarization sequence of length N, and the remaining NK bits of frozen bit indexes are unified as "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 effect on the channel transmission effect. Afterwards, the mapped sequence is input into the polarization code encoder to complete the polarization code encoding.
[0030] Corresponding to the polar code encoding, on the decoder side, the serial cancellation (Successive-cancellation, SC) decoding algorithm can be used to decode the polar code. Among them, the SC decoding algorithm decodes the code elements continuously in sequence during decoding. If the code length of the polar code is long, the decoding delay will be large, reducing the throughput of the communication system. However, when the code length of the polar code is long, the coding performance is relatively good. In order to take into account the code length of the polar code and the decoding delay on the decoding side, at present, during decoding, the fast serial cancellation (Fast successive cancellation, Fast-SC) algorithm is used for decoding, and multiple subcodes are used to represent the polar code. Fast decoding is achieved by processing each subcode in parallel, providing a high-throughput decoder.
[0031] Among them, the Fast-SC algorithm can quickly decode specific types of subcodes. For example, the Fast-SC algorithm can quickly decode 8 types of subcodes, namely rate 0 (Rate-0), repetition (REP), REP-2, parity checked repetition (PCR), repeated parity check (RPC), SPC-2, single check (SPC) and Rate-1. For example, when the decoding parallelism is set to 16 (that is, the code length is 16), the code rates of the 8 types of subcodes that the Fast-SC algorithm can process are 0, 1 / 16, 2 / 16, 3 / 16, 13 / 16, 14 / 16, 15 / 16 and 1 respectively. In addition, the use of BCH codes to replace subcodes with code rates of 7 / 16 and 11 / 16 can solve the problem of fast decoding of subcodes with code rates of 7 / 16 and 11 / 16 in the Fast-SC algorithm, but the problem of fast decoding of 7 types of subcodes with code rates of 4 / 16, 5 / 16, 6 / 16, 8 / 16, 9 / 16, 10 / 16, and 12 / 16 remains unsolved. For the Fast-SC decoder of polar codes, the existence of subcodes that cannot be quickly decoded is an obstacle to further improving the decoder throughput. In order to further reduce the decoding delay of the Fast-SC decoder, by adjusting the index type of the bit index in the polarization sequence, the number of subcodes with code rates of 4 / 16, 5 / 16, 6 / 16, 8 / 16, 9 / 16, 10 / 16, and 12 / 16 is reduced as much as possible, for example, to 0.
[0032] At present, the implementation method for adjusting the bit index in the polarization sequence is: set all frozen bit indexes in the polarization sequence to active state, and divide the polarization code position information of length N into equal lengths according to the set parallelism M, 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 subcodes cannot be quickly decoded, the code rate needs to be adjusted. Among them, 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, determine 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 an inactive state, and the rate adjustment process is repeated.
[0033] Although the current solution can adjust the code rate of the subcode of the polarization sequence to reduce the amount of subcodes that do not support Fast-SC decoder decoding as much as possible, in this solution, the information bit index in the subcode is adjusted to the frozen bit index, the adjustment direction is single, and the frozen bit index is selected from all subcodes after the current subcode to exchange the index type, the selection range is limited, resulting in a large number of bit indexes that need to be adjusted and a high number of adjustments, which reduces the adjustment efficiency of the subcode in the polarization sequence and affects the decoding performance of the Fast-SC algorithm.
[0034] 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, adjust 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 reducing the number of information bit indexes of the first subcode; and encode and send 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 fixed and single, which effectively reduces the number of bit indexes that need to be adjusted, so that the requirement that the subcode be decoded by the preset decoding algorithm can be met with a small number of adjustments, thereby improving the adjustment efficiency of the subcode, and ensuring that the subcodes support decoding by the preset decoding algorithm on the basis of improved adjustment efficiency, thereby improving the decoding performance.
[0035] In addition, in the present application, the target bit index is searched from d bit indexes outside the first subcode (such as all bit indexes 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, and 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 as the selection range, so as to more efficiently and accurately find the matching target bit index from the candidate index sequence, and reduce the number of bit indexes 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) to ensure the transmission performance of the entire communication system.
[0036] The following will be combined with the drawings in this application to clearly and completely describe the technical solutions in this application. Obviously, the described embodiments 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 creative work are within the scope of protection of this application.
[0037] 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 as "exemplary" or "for example" in this application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.
[0038] In the following, the terms "first" and "second" are used for descriptive purposes only and shall not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, 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 "multiple" means two or more.
[0039] The technical solution of the embodiment of the present application can be applied to various mobile communication systems that support polarization 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., and can also be applied to wireless local area networks (WLAN) that support polarization code encoding-Fast-SC algorithm, etc. The embodiment of the present application is based on the principle of polarization code encoding-Fast-SC algorithm. Figure 1A The communication system shown is used as an example.
[0040] Figure 1A The following is a schematic diagram of the architecture of a communication system provided in an embodiment of the present application. Figure 1A As shown, the communication system 100 may include a transmitting end 10 and one or more receiving ends 20. Data and / or information may be transmitted between the transmitting end 10 and the receiving end 20 via a polarized channel. Specifically, the transmitting end 10 is equipped with a method for executing the encoding described in the present application, and the transmitting end 10 may be integrated with an encoding device. The receiving end is used to receive a coded sequence and has a decoding function, and the receiving end 20 may be integrated with a decoding device.
[0041] 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.
[0042] In some embodiments, the transmitting end 10 may be a base station, which is used to provide wireless access services for multiple terminals. Specifically, a base station provides a service coverage area (also referred to as a cell). The terminal entering the area can communicate with the base station through wireless signals to receive the wireless access services provided by the base station. Specifically, the base station may be a base station or an evolved base station (evolutional node B, 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.
[0043] In some embodiments, the receiving end 20 may be a terminal, which may be a device with wireless transceiver function, which may be deployed on land, including indoors or outdoors, handheld, wearable or vehicle-mounted; it may also be deployed on the water surface (such as a ship, etc.); it may also be deployed in the air (such as an airplane, a balloon, and a satellite, etc.). The terminal may be a mobile phone, a tablet computer (Pad), a computer with wireless transceiver function, 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, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in smart home, etc. The embodiments of the present application do not limit the application scenarios. A 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., but the embodiments of the present application are not limited to this.
[0044] 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 the information bit with a polarization code and sends the encoded polarization code to the opposite end, and the receiving end may refer to a device that receives the encoded polarization code and decodes the received information bit encoded with the polarization code. Figure 1B As shown in FIG. , it is a schematic diagram of data transmission between a sending end and a receiving end. Figure 1B As shown, the signal obtained by the transmitter after performing source coding, channel coding, constellation modulation, and resource mapping on the source (i.e., the information bits to be transmitted) is sent to the receiver through the channel. After receiving the signal, the receiver performs resource demapping, constellation demodulation, channel decoding, and source decoding on the signal to obtain the destination, i.e., the restored source.
[0045] in, Figure 1B The channel in can be an AWGN channel. Figure 1B The channel coding in can adopt the coding method provided by the present application, and the channel coding can be called polar code coding. Correspondingly, Figure 1B The channel decoding in may support the use of a preset decoding algorithm (such as the Fast-SC algorithm) to decode the coded sequence output by the channel coding.
[0046] It should be understood that Figure 1A The communication system shown is only for the purpose of more clearly illustrating the technical solution of the present application and does not constitute a limitation on 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. Figure 1A is an exemplary framework diagram, Figure 1A The number of nodes included is unlimited, except Figure 1A In addition to the functional nodes shown, the communication system may also include other nodes, such as gateway devices, application servers, etc., without limitation.
[0047] Combine the following Figure 1A The communication system shown describes a coding method provided in an embodiment of the present application. Among them, the actions, terms, etc. involved in the various embodiments of the present application can refer to each other. The message name or parameter name in the message exchanged between the various devices in the embodiment of the present application is only an example, and other names can also be used in the specific implementation without limitation.
[0048] Figure 2 A coding method provided in an embodiment of the present application, such as Figure 2 As shown, this method can be Figure 1A Specifically, the method may be performed by an encoding device in the transmitting end, and the method may include:
[0049] S201. Acquire multiple subcodes of a polarization sequence.
[0050] Among them, 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, 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, such as the channel symmetric capacity I(W)≈1 of the polarization channel indicated by the bit index with the highest reliability, and vice versa, 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 may be set as needed, for example, N may be set according to the size or code length of the coding block, 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, and the polarization sequence corresponding to the 5G NR communication system may include N=2 n (n≤10) bit index.
[0051] Among the multiple bit indexes included in the polarization sequence, there is at least one of the following types of bit indexes: information bit indexes and frozen bit indexes, for example, all of the multiple bit indexes are information bit indexes, or the multiple bit indexes include information bit indexes and frozen bit indexes, or all of the multiple bit indexes are frozen bit indexes. The set of information bit indexes included in the polarization sequence may be referred to as an information bit index set, and the set of frozen bit indexes included in the polarization sequence may be referred to as a bit index set.
[0052] In the present application, the information bit index indicates a polarization channel that can transmit information bits, and the frozen bit index indicates a polarization channel that cannot transmit information bits. Exemplarily, the bit index can be determined as an information bit index or a frozen bit index based on the reliability of the bit index, such as determining a bit index with higher reliability as an information bit index, and determining a bit index with lower reliability as a frozen bit index. Optionally, in a polarization sequence, when multiple bit indexes are arranged from high to low or from low to high according to reliability, the K bit indexes with the highest reliability are used as information bit indexes, and the other bit indexes except the K information bit indexes are used as frozen bit indexes. The value of K is related to the code rate of the polarization sequence, which can be preset, and the ratio of the number of information bit indexes K to the code length of the polarization sequence needs to meet the preset code rate.
[0053] In a possible implementation, the polarization sequence is predefined, such as by a protocol. Taking the 5G NR communication system as an example, the polarization sequence can be obtained from the protocol standard corresponding to the 5G NR communication system.
[0054] Polarization sequence corresponding to 5G NR communication system For example, in which the polarization sequence represents the i-th bit index, N max =1024. Indicates bit index Reliability of polarization sequence According to the reliability of the bit index, the bits are sorted from low to high (or in 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 of (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, that is, Information bit index set is the polarization sequence The set of partial bit indices in , the frozen bit index set By polarization sequence The remaining bit indices 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 It should be understood that in this application, the symbol "\" represents taking the difference, for example, A\B means: taking the data in A except B, for example Indicates taking Medium Data other than .
[0055] In yet another possible implementation, the polarization sequence may be obtained according to a preset algorithm.
[0056] 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 the standard. Specifically, the process of obtaining a polarization sequence according to any one of the GA algorithm, the density evolution algorithm, the PW sequence algorithm, and the reinforcement learning algorithm may refer to the prior art.
[0057] Taking the polarization sequence obtained by GA algorithm as an example, the polarization sequence According to the polarization channel error probability The size is sorted in descending order, that is, The calculation of is shown in the following formula (1):
[0058]
[0059] in is the mean of the log-likelihood, n=log2N. The calculation method is shown in the following formula (2):
[0060]
[0061] Function f c (t) and f v (t) is defined as follows:
[0062] f c (t) = φ -1 (1-(1-φ(t)) 2 ),
[0063] f v (t) = 2t
[0064] The function φ(t) is expressed as shown in the following formula (3):
[0065]
[0066] and in is the noise variance of the binary input Gaussian white noise channel.
[0067] Exemplarily, the bit indexes 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, 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. The present application is illustrated by taking equal interval division as an example, and the case of unequal interval division can refer to the method described in the present application, and will not be repeated.
[0068] Polarization Sequence Taking N bit indexes as an example, for this polarization sequence, the bit index sequence obtained by arranging the index values in order from small to large is: The length of the segments is M = 2 with equal intervals m (m<10), for Divide the segmentation into equal intervals to obtain T = N / M = 2n-m subcodes, the length of each subcode is M=2 m (m<10).
[0069] S202, traversing each subcode of the multiple subcodes, determining whether the subcode supports decoding by a preset decoding algorithm, and if so, determining whether the next subcode supports decoding by the decoding algorithm; if not, executing S203.
[0070] 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 check (Single-Parity-Check, SPC) and Rate-1, and may also be other decoding algorithms that appear with the evolution of the standard, without limitation.
[0071] Exemplarily, each subcode may be traversed in order of the number of the segment where the subcode is located from small to large, 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 numbers of the segments where the T subcodes are located are arranged from small to large as 0, 1, 2┈T-1, then starting from the subcode numbered 0, it can be determined whether the subcode supports decoding by the preset decoding algorithm. If it does, it is determined whether the subcode numbered 1 supports decoding by the preset decoding algorithm. If it does not, S203 is executed. When the subcode is adjusted to support decoding by the preset decoding algorithm, it is determined whether the subcode numbered 2 supports decoding by the preset decoding algorithm. This is repeated until it is determined whether the subcode numbered T-1 supports decoding by the preset decoding algorithm. If it does, it ends. If it does not, S203 is executed to adjust the information bit index included in the subcode to the subcode that supports decoding by the preset decoding algorithm, and the process ends.
[0072] In a possible implementation, it can be determined whether the subcode is decoded by a preset decoding algorithm based on the number of information bit indexes included in the subcode. Specifically, the number of information bit indexes corresponding to the subcode that supports decoding by the preset decoding algorithm can be stored in a set, which can be called a third number set or a fast decoding set, and its naming is not limited. The third number set is used as an example for explanation in this application. Further, it is determined whether the number of information bit indexes 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.
[0073] For example, the polarization sequence The information bit index set is right The corresponding bit index sequence Divide the segmentation into equal intervals to obtain T = N / M = 2 n-m subcodes, for the tth 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, firstly detect the t-th subcode P t The information bit set Count the bit indexes 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 determine 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 If the t-th subcode belongs to the third number set S, it is determined that the t-th subcode can be decoded by the preset decoding algorithm; otherwise, it is determined that the t-th subcode does not support decoding by the preset decoding algorithm.
[0074] The third quantity set includes a plurality of data, which is the number of information bit indexes included in the subcode that supports decoding by the 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, and the subcode that supports decoding by the preset decoding algorithm can be pre-specified or protocol-specified. For example, taking the code length as M as an example, the third quantity set Ω=a subset of {0,1,2,…,M-1}.
[0075] 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), The subcodes include rate-check (RPC), SPC-2, single-parity-check (SPC) and rate-1. The code rates corresponding to these subcodes are 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 can also support Fast-SC algorithm decoding. The code lengths of these 10 subcodes are positive integer powers of 16. Taking the code length of these 10 subcodes as 16 as an example, the numbers of information bit indexes included in these 10 subcodes are 0, 1, 2, 3, 13, 14, 15, 16, 7, 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}, which can be used to determine whether the subcodes obtained by segmentation support Fast-SC algorithm 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 8 included in the subcode does not belong to the set, it is determined that the subcode does not support decoding by the Fast-SC algorithm.
[0076] 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}, which 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 4 belongs to the set, it is determined that the subcode does not support decoding by the Fast-SC algorithm. If the number of information bit indexes 3 does not belong to the set It is determined that the subcode supports decoding by the Fast-SC algorithm.
[0077] In another possible implementation, whether the subcode is decoded by the preset decoding algorithm can be determined according to the subcode pattern. If the information bit index combination included in the subcode belongs to the subcode pattern, it is determined that the subcode supports decoding by the preset decoding algorithm, and conversely, if the information bit index combination included in the subcode does not belong to the subcode pattern, it is determined that the subcode does not support decoding by the preset decoding algorithm.
[0078] Among them, 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 a plurality of information bit index combinations of subcodes that support decoding by a preset decoding algorithm. It should be understood that the present application does not limit the naming of the subcode pattern, and it may also be named as a fast decoding pattern set or other names, etc., without limitation. In addition, the information bit index combination described in the present 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.
[0079] In the present application, the subcode pattern may be pre-set, for example, it may be pre-specified in the 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 the subcode to be decoded by a preset decoding algorithm is K1, or K2, or K3, then the K1 bit indexes with the highest reliability may be combined as bit index combination 1, the K2 bit indexes with the highest bit index reliability may be combined as bit index combination 2, and the K3 bit indexes with the highest reliability may be combined as bit index combination 3, and bit index combination 1, bit index combination 2, and bit index combination 3 may be combined to obtain the subcode pattern.
[0080] For example, for the t-th subcode P with code length M t , 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 satisfy any of the following: 0, 1, 2, 3, 13, 14, 15, 16. Therefore, the subcodes P can be taken separately. t The subcode pattern E shown in Table 1 is obtained by using the 0th bit index with the highest reliability, the 1st bit index with the highest reliability, the 2nd bit index with the highest reliability, the 3rd bit index with the highest reliability, the 13th bit index with the highest reliability, the 14th bit index with the highest reliability, the 15th bit index with the highest reliability, and the 16th bit index with the highest reliability. The 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 a certain information bit combination in the subcode pattern E, it is determined that the t-th subcode supports decoding by the preset decoding algorithm. Otherwise, it is determined that the t-th subcode does not support decoding by the preset decoding algorithm.
[0081] Table 1
[0082]
[0083] 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.
[0084] 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 to be decoded by a preset decoding algorithm.
[0085] Wherein, the target adjustment direction may include increasing the number of information bit indexes of the first subcode, or reducing 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 replaced by the description of increasing the code rate of the first subcode. Reducing the number of information bit indexes of the first subcode can also be replaced by the description of reducing 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, so as to ensure that the code rate of the first subcode is adjusted by adjusting the number of information bit indexes of the first subcode, and ensure that the adjusted code rate of the first subcode meets the code rate supported by the preset decoding algorithm.
[0086] In a possible implementation, the target adjustment direction can be determined according to the current code rate of the first subcode. For example, if the current code rate of the first subcode is less than the first code rate threshold, it means that the current code rate of the first subcode is relatively small. At this time, it is determined to reduce the number of information bit indexes included in the first subcode, so that when the code rate supported by the preset decoding algorithm is relatively small (for example, the code rate is 3 / 16), the code rate of the first subcode meets 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 the second code rate threshold, it means that the current code rate of the first subcode is relatively large. At this time, it is determined to increase the number of information bit indexes included in the first subcode, so that when the code rate supported by the preset decoding algorithm is relatively large (for example, the code rate is 15 / 16), the code rate of the first subcode meets the code rate supported by the preset decoding algorithm as soon as possible.
[0087] The first code rate threshold and the second code rate threshold can be set as needed, and the two can be the same or different, without limitation. Exemplarily, 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 , otherwise, increase the total number of information bit indexes k of the subcode t .
[0088] In another possible implementation, the target adjustment direction may be determined according to 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 indexes currently included in the subcode of the information bit index to be increased. The second quantity set indicates the number of information bit indexes currently included in the subcode of the information bit index to be decreased.
[0089] Taking the preset set including the first quantity set as an example, when the number of information bit indexes included in the first subcode belongs to the first quantity set, the target adjustment direction is to increase the number of information bit indexes of the first subcode. When the number of information bit indexes included in the first subcode does not belong to the first quantity set, the target adjustment direction is to reduce the number of information bit indexes of the first subcode.
[0090] Taking the preset set including the second number set as an example, when 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 of the first subcode. When the number of information bit indexes included in the first subcode belongs to the second number set, the target adjustment direction is to reduce the number of information bit indexes included in the first subcode.
[0091] Taking the preset set including the first quantity set and the second quantity set as an example, when the information bit index included in the first subcode belongs to the first quantity 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 quantity set, the target adjustment direction is to reduce the number of information bit indexes of the first subcode.
[0092] 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 as the rate increase segment information bit number set S sup Or the bit number set of the segment information of the code rate increase. The second number set can also be named the bit number set of the segment information of the rate reduction S sub Or the code rate is reduced by a set of segment information bit numbers.
[0093] For example, the number of segment information bits is increased by a preset set including a rate S sup = {6, 9, 10, 12} and the number of bits of the rate-reduced segment information set 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 of information bit indexes in the first subcode k3.
[0094] In the present application, for the first subcode whose 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 the target adjustment direction, the bit index to be adjusted in the first subcode is obtained; the target bit index is selected from a candidate index sequence outside the first subcode; and the index type of the bit index to be adjusted and the target bit index is adjusted.
[0095] Among them, the candidate index sequence includes d bit indexes among the bit indexes outside 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 outside the first subcode. Since the candidate index sequence can include the segment after the segment where the first subcode is located, and 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.
[0096] Among them, the index types include: information bit index and frozen bit index. Adjusting the index types of the bit index to be adjusted and the target bit index can also be described as exchanging 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 the information bit index and the target bit index is the frozen bit index, the bit index to be adjusted is adjusted from the information bit index to the frozen bit index, and the index type of the target bit index is adjusted from the frozen bit index to the information bit index. Alternatively, if the bit index to be adjusted is the frozen bit index and the target bit index is the information bit index, the bit index to be adjusted is adjusted from the frozen bit index to the information bit index, and the target bit index is adjusted from the information bit index to the frozen bit index.
[0097] 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. In the case where the target adjustment direction reduces 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.
[0098] In a possible implementation, when the target adjustment direction is to increase the number of information bit indexes included in 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. 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 from high to low reliability. Relatively speaking, the candidate index sequence includes the d information bit indexes with the lowest reliability among the information bit indexes other than the first subcode in the polarization sequence, and the reliability of these d information bit indexes 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 replaced with an information bit index among the d information bit indexes with the lowest reliability, it is ensured that the information bit is still transmitted on a polarized channel with a better channel capacity, and the transmission performance of the communication system is not affected. It can also be ensured that the encoded code sequence is decoded by a preset decoding algorithm, thereby improving the decoding performance.
[0099] For example, if it is necessary to increase the number of information bit indexes 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. The information bit indexes in all segments except the first subcode are arranged in ascending order according to the reliability to obtain the external information bit index sequence From sequence D I The first d information bit indexes are selected as candidate index sequences, and the target bit index j is selected from the candidate index sequences.
[0100] 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 speaking, the candidate index sequence includes the d frozen bit indexes with the highest reliability among the frozen bit indexes in the polarization sequence except the first subcode, and the reliability of these d information bit indexes with the highest reliability is closest to the frozen bit index with the lowest reliability in the first subcode. In this way, when the index type of the information bit index with the lowest reliability in the first subcode is replaced with a frozen bit index among the d frozen bit indexes with the highest reliability, it is ensured that the information bit is still transmitted on the polarization channel with better channel capacity, and the transmission performance of the communication system is not affected. It can also be ensured that the encoded code sequence is decoded by a preset decoding algorithm, thereby improving the decoding performance.
[0101] For example, if it is necessary to reduce the number of information bit indexes 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 a target bit index j is selected from the candidate index sequences.
[0102] 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.
[0103] Specifically, selecting a target bit index from a candidate index sequence includes the following process:
[0104] Traversing the bit indexes in the candidate index sequence, determining 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 a preset decoding algorithm;
[0105] In the case where there is a bit index belonging to the second subcode in the candidate index sequence, the bit index belonging to the second subcode is used as the target bit index. Optionally, in the case where 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. In the case where there are multiple bit indexes belonging to the second subcode, the bit index with the smaller index value among the multiple bit indexes belonging to the second subcode can be used as the target bit index.
[0106] In the case that 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 a preset decoding algorithm, the index size of the bit index to be adjusted is compared with the index size 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 a 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.
[0107] Among them, it can be determined whether the bit index in the candidate index sequence belongs to the second subcode or the third subcode in the following manner: determine the segment where the bit index is located, count the number of information bit indexes of the subcode corresponding to the segment, if the number of information bit indexes does not belong to the third number set, then determine that the bit index belongs to the second subcode, otherwise, it belongs to the third subcode. Alternatively, referring to the above-mentioned method of determining according to the subcode pattern, determine whether the information bit index combination of the subcode corresponding to the segment belongs to the subcode pattern, if not, then determine that the subcode is the second subcode that does not support decoding by the preset decoding algorithm, the bit index belongs to the second subcode, otherwise, it belongs to the third subcode.
[0108] 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:
[0109] Get D Ior D F The first d elements of {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.
[0110] If the candidate index sequence {D0,D1,D2,…,D d-1} does not contain a bit index that cannot be decoded by the Fast-SC algorithm. Starting from D0, determine whether D0 meets the following requirements: compare the relative size relationship between D0 and the bit index i to be adjusted. If D0>i, then directly select D0 as the target index j. If D0<i, and the subcode rate where D0 is located can still be decoded by the Fast-SC algorithm after adjustment, then directly select D0 as the target index j. Otherwise, check the next bit index D1 in turn to see if it meets the requirements. Repeat the detection process until a target index j that meets the requirements is obtained.
[0111] It should be understood that in the present application, for multiple subcodes, the segments where the subcodes are located can be numbered, and the following processing is performed on each subcode in order from the smallest segment number to the largest segment number: determine whether the subcode (such as the subcode with the smallest segment number) supports decoding by the preset decoding algorithm, if not, adjust the number of information bit indexes of the subcode with reference to the process shown in S203, so as to adjust the subcode to support decoding by the preset decoding algorithm, if supported, perform the processing on the next subcode in turn, traverse 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, so when processing the last subcode, if the last subcode does not support decoding by the preset decoding algorithm, adjust the number of information bit indexes of the last subcode with reference to S203, and if supported, end the adjustment of the bit index of the polarization sequence.
[0112] 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.
[0113] Further optionally, 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 the frozen bit index in the polarization sequence change. At this time, it is also necessary to update the information bit index set and the frozen bit index set corresponding to the polarization sequence in real time to ensure the accuracy of the information bit index set and the frozen bit index set in the polarization sequence.
[0114] Optionally, updating the information bit index set and the 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 it to the information bit index set, deleting the target bit index from the information bit index set, and updating it to the frozen bit index set.
[0115] 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.
[0116] For example, assuming that the information bit index set of the polarization sequence is The set of frozen bit indices 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
[0117] If you need 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 , 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 , and update the target bit index j to the frozen bit index set
[0118] If it is necessary to reduce the number of information bit indexes 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 , 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 the bit index i to be adjusted and update it to the frozen bit index set middle.
[0119] S204. Based on the adjusted polarization sequence and the input bit sequence, a sequence to be encoded is obtained. The adjusted polarization sequence may refer to a new polarization sequence obtained after traversing each subcode of the polarization sequence and performing the above S202 and S203 on the subcode. It should be understood that with the adjustment of the bit index to be adjusted and the target bit index in the subcode, the information bit index and the frozen bit index in the polarization sequence also change, and the index type of some bit indexes will change, but the total number of information bit indexes and the total number of frozen bit indexes in the polarization sequence remain unchanged.
[0120] In one possible design, when all subcodes in the polarization sequence support decoding by the preset decoding algorithm, S204 is executed. In another possible design, when the number of subcodes in the polarization sequence that support decoding by the preset decoding algorithm reaches a preset number requirement, S204 is executed, which not only ensures the overall transmission performance of the communication system, but also improves the coding efficiency.
[0121] Among them, the input bit sequence can be replaced by describing as a valid information bit sequence or input information bit or other names, without limitation. 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 according to 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.
[0122] 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 indexes sorted from small to large.
[0123] 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 the positions of the information bit indexes of the adjusted polarization sequence in sequence according to the order of the information bits in the input bit sequence, wherein one information bit is mapped to the position of the information bit index. A fixed bit, such as a bit "0", is configured at the position of the information bit index of the adjusted polarization sequence.
[0124] 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 ]:
[0125] k = 0;
[0126] for n=0to N-1
[0127]
[0128] u n =c k ;
[0129] k = k + 1;
[0130] else
[0131] u n =0;
[0132] end if
[0133] end for
[0134] 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 indexes 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 The bit index (i.e., frozen bit index) is set to 0.
[0135] For example, assuming that the polarization sequence includes 8 bit indexes: 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 executed to map the four input bits to the positions of information bit indexes 3, 5, 6, and 7 respectively, and the positions of frozen bit indexes 0, 1, 2, and 4 are filled with fixed bits 0, and the obtained sequence to be encoded is {0, 0, 0, 1, 0, 1, 1, 1}.
[0136] S205. Encode the sequence to be encoded based on the generator matrix to obtain a coded sequence, and send the coded sequence.
[0137] The generator matrix is The generated matrix is an N*N matrix. represents the n-th Kronecker power of G2,
[0138] The length and code rate of the coding sequence are the same as 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 ], the encoding sequence x = [x0,x1,x2,…,x N-1 ],x=uG N .
[0139] Optionally, sending the coding sequence may include sending the coding sequence to one or more receiving ends. In the present 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., without limitation.
[0140] Correspondingly, the decoding device receives the coding sequence and decodes the coding sequence using a preset decoding algorithm. For example, the Fast-SC algorithm is used to decode the coding sequence. It should be understood that when the decoding device is integrated into the receiving end, the decoding device receiving the coding sequence can be replaced by the following description: the receiving end receives the coding sequence and decodes the coding sequence using a preset decoding algorithm of the coding device.
[0141] based on Figure 2 The coding method shown in the embodiment of the present application, for the subcode in the polarization sequence that does not support decoding by the preset decoding algorithm, the subcode can be adjusted to support decoding by the preset decoding algorithm by increasing the number of information bit indexes of the subcode or reducing the number of information bit indexes of the subcode, and the coding process is performed after adjustment to obtain the coding sequence and send it. 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, which effectively reduces the number of bit indexes that need to be exchanged, and the requirement that the subcode is decoded by the preset decoding algorithm can be met with a small number of adjustments, and the adjustment efficiency of the subcode is improved. On the basis of the improved adjustment efficiency, it is ensured that the subcode supports decoding by the preset decoding algorithm, thereby improving the decoding performance. At the same time, in the method shown in the present application, the target bit index is searched in the d bit indexes whose reliability is close to the reliability of the bit index to be adjusted, and the index type is interchanged, so that the information bit is transmitted on the polarization channel with high channel quality (or high reliability) before and after the bit index adjustment, and the transmission performance of the entire communication system is guaranteed.
[0142] For example, as shown in Table 2 below, the comparison of the number of exchanged bit indexes in the method provided by the present application and the method provided by the prior art is shown when the total number of information bit indexes is 768, 832, 896, and 960, respectively, for different code lengths of 1024. 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 in the method provided by the prior art, the bit index needs to be exchanged 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.
[0143] Table 2
[0144]
[0145] It can be seen from the above that the encoding method provided by the present application can effectively reduce the number of bit indexes that need to be exchanged, thereby improving the performance of the entire communication system. Figure 3A-Figure 4B , illustrating the performance of the encoding scheme provided in the embodiment of the present application.
[0146] For example, Figure 3A 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 given, in which the polarization sequence is a polarization sequence (1024, 768) specified by the 5G NR system, 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. The following are the simulation curve diagrams 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. Figure 3A As shown, the horizontal axis is the signal to noise ratio (SNR) (dB), and the vertical axis is the error rate (Error rates). Figure 3A The values given in are all frame error rates. Figure 3A It can be seen that compared with the coding scheme without bit rate adjustment, when the frame error rate is 10 -3 The existing code rate adjustment method causes a performance loss of about 0.3dB, and the performance loss caused by the encoding method proposed in this application is less than 0.05dB. Compared with the existing code rate adjustment scheme, the performance of the method provided by this application is greatly improved.
[0147] For example, Figure 3BA 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 given, in which the polarization sequence is a polarization sequence (1024, 832) specified by the 5G NR system, the code length is 1024, the total number of information bit indexes is 832, 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. Figure 3B As shown, the horizontal axis is the signal-to-noise ratio SNR (dB), and the vertical axis is the Error rates. Figure 3B The values given in are all frame error rates. Figure 3B It can be seen that compared with the coding scheme without bit rate adjustment, when the frame error rate is 10 -3 The existing code rate adjustment method causes a performance loss of about 0.3dB, and the performance loss caused by the encoding method proposed in this application is less than 0.05dB. Compared with the existing code rate adjustment scheme, the performance of the method provided by this application is greatly improved.
[0148] Figure 3A and Figure 3B The performance is described by taking the polarization sequence specified by the 5G NR communication system as an example. Figure 4A and Figure 4B A polarization sequence obtained according to the GA algorithm is taken as an example for description.
[0149] For example, Figure 4A A simulation curve diagram of a coding scheme without code rate adjustment, a prior art code rate adjustment scheme, and a coding scheme provided in an embodiment of the present application is given in which a polarization sequence (1024, 768) is obtained based on a GA algorithm, a code length of 1024, a total number of information bit indexes of 768, a polarization channel is an AWGN channel, a modulation mode is BPSK, a preset decoding algorithm is SC algorithm decoding, a third number set S = {0, 1, 2, 3, 7, 11, 13, 14, 15, 16}, and a communication scenario in which d = 3 is given, such as Figure 4A As shown, the horizontal axis is the signal-to-noise ratio SNR (dB), and the vertical axis is the Error rates. Figure 4A The middle curves are all frame error rates. Figure 4A It can be seen that compared with the coding scheme without bit rate adjustment, when the frame error rate is 10 -2 The existing code rate adjustment method causes a performance loss of about 0.3dB, and the performance loss caused by the encoding method proposed in this application is less than 0.1dB. Compared with the existing code rate adjustment scheme, the performance of this application is improved.
[0150] For example, Figure 4BA polarization sequence (1024, 832) is obtained based on the GA algorithm, the code length is 1024, the total number of information bit indexes is 832, 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}, d = 3 or d = 25, and simulation curves of the coding scheme without code rate adjustment, the prior art code rate adjustment scheme, and the coding scheme provided in the embodiment of the present application are given, as shown in FIG. Figure 4B As shown, the horizontal axis is the signal-to-noise ratio SNR (dB), and the vertical axis is the Error rates. Figure 4B The middle curves are all frame error rates. Figure 4B It can be seen that compared with the coding scheme without bit rate adjustment, when the frame error rate is 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 of the existing rate adjustment method. In addition, Figure 4B It can be seen that in the high signal-to-noise ratio area, the 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.
[0151] It is assumed below 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. The method provided in the present application is described in detail.
[0152] Figure 5 A flowchart of another encoding method provided by this application, such as Figure 5 As shown, including:
[0153] 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
[0154] 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, for example The element 0 in the column means the reliability is 0. The elements in the column represent bit indices, such as Element 0 in the column represents bit index 0.
[0155] Table 3
[0156]
[0157]
[0158] Optionally, the K=8 bit indexes with the highest reliability are selected to generate the information bit index set:
[0159] S502, sort the index values in ascending order with length M=16 The equally spaced segments yield T=4 subcodes: P0={0,1,2,…,15}, P1={16,17,18,…,31}, P2={16,17,18,…,31}, P3={48,49,50,…,63}.
[0160] S503: Determine whether the 0th subcode supports Fast-SC algorithm decoding. If the 0th subcode supports Fast-SC algorithm decoding, execute S504.
[0161] 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 without the need for bit rate adjustment.
[0162] 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 without the need for bit rate adjustment.
[0163] S504: Determine whether the first subcode supports Fast-SC algorithm decoding. If the first subcode supports Fast-SC algorithm decoding, execute S505.
[0164] In one implementation, for the bit index set P1 = {16, 17, 18, ..., 31} of the first subcode, the set is calculated 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.
[0165] In another implementation, for the bit index set P1={16, 17, 18, ..., 31} of the first subcode, the set is calculated 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 without bit rate adjustment.
[0166] S505: Determine whether the second subcode supports Fast-SC algorithm decoding. If the second subcode supports Fast-SC algorithm decoding, execute S506.
[0167] In one implementation, for the bit index set P2 = {32, 33, 34, ..., 47} of the second subcode, the set is calculated 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.
[0168] In another implementation, for the bit index set P2 = {32, 33, 34, ..., 47} of the second subcode, 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 without bit rate adjustment.
[0169] 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.
[0170] In one implementation, for the bit index set P3 = {48, 49, 50, ..., 63} of the third subcode, the set is calculated 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.
[0171] In another implementation, for the bit index set P3 = {48, 49, 50, ..., 63} of the third subcode, the set is calculated The information bit index combination of the third subcode is obtained as {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.
[0172] Table 4
[0173]
[0174] S507: Determine that the target adjustment direction of the third subcode is to reduce the number of information bit indexes k3.
[0175] 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, it is determined that the target adjustment direction of the third subcode is to reduce the number of information bit indexes k3.
[0176] 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.
[0177] S509: Arrange the frozen bit indexes in all segments except the third subcode in descending order according to the 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 indexes {46, 45, 30} with the highest reliability are selected from the frozen bit index sequence as the candidate index sequence.
[0178] 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.
[0179] Specifically, for the candidate index sequence {46, 45, 30}, it is determined that bit indexes 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 are no elements in the candidate index sequence {46, 45, 30} that do not support decoding by the Fast-SC algorithm. Therefore, first compare the relative size relationship between D0=46 and the bit index i=60 to be adjusted. Since D0<i, determine whether the subcode where D0 is located still supports decoding by the Fast-SC algorithm after the code rate is adjusted: bit index D0=46 is located in the first The number of information index bit indexes of the second segment is k2=1, and the parameter k2=2 after adding 1 information index bit. Since 2∈S, that is, the subcode where D0=46 is located can still be decoded by the Fast-SC algorithm after the bit rate adjustment, the target bit index j=46 is selected.
[0180] S511: Update the information index bit index set of the polarization sequence to The updated frozen bit index set is
[0181] S512: Determine whether the adjusted third subcode supports Fast-SC algorithm decoding. If not, refer to the above S507-S511 to adjust the number of information bit indexes included in the third subcode again until the third subcode is adjusted to support Fast-SC algorithm decoding. If it is supported, the polarization sequence adjustment is completed.
[0182] 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}.
[0183] The execution process of S513 may refer to S204 and will not be described in detail.
[0184] S514: Encode the sequence to be encoded based on the generator matrix to obtain a coded sequence, and send the coded sequence.
[0185] The execution process of S514 may refer to S205 and will not be described in detail.
[0186] based on Figure 5 The method shown can reduce the number of information bit indexes in the third subcode of the polarization sequence with a length of 64, so that the third subcode can support Fast-SC algorithm decoding as soon as possible. In this way, the requirement that the subcode be decoded by the Fast-SC algorithm can be met with a small number of adjustments, and the adjustment efficiency of the subcode is improved. On the basis of the improved adjustment efficiency, it is ensured that the subcode supports Fast-SC algorithm decoding, thereby improving the decoding performance. At the same time, Figure 5 In the method shown, the target bit index is searched among three bit indexes whose reliability is close to the reliability of the bit index to be adjusted, and the index types are interchanged, so that the information bits are transmitted on the polarized channel with higher channel quality (or higher reliability) before and after the bit index adjustment, thereby ensuring the transmission performance of the entire communication system.
[0187] 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=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 equally spaced segments of the polarization sequence is 16, the method provided in the present application is described in detail:
[0188] Figure 6 A flowchart of another encoding method provided by this application, such as Figure 6 As shown, including:
[0189] 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
[0190] The implementation process of step S601 may refer to step S501 and will not be described in detail.
[0191] Optionally, the 10 most reliable bit indexes are taken to generate the information bit index set
[0192] S602, sort the index values in ascending order with length M=16 The equally spaced segments yield T=4 subcodes: P0={0,1,2,…,15}, P1={16,17,18,…,31}, P2={16,17,18,…,31}, P3={48,49,50,…,63}.
[0193] S603: Determine whether the 0th subcode supports Fast-SC algorithm decoding. If the 0th subcode supports Fast-SC algorithm decoding, execute S604.
[0194] Among them, S603 is the same as S503 and will not be described in detail.
[0195] S604: Determine whether the first subcode supports Fast-SC algorithm decoding. If the first subcode supports Fast-SC algorithm decoding, execute S605.
[0196] Among them, S604 is the same as S504 and will not be described in detail.
[0197] S605: Determine whether the second subcode supports Fast-SC algorithm decoding. If the second subcode supports Fast-SC algorithm decoding, execute S606.
[0198] Among them, S605 is the same as S505 and will not be described in detail.
[0199] 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.
[0200] Among them, S607 is the same as S507 and will not be described in detail.
[0201] S607: Determine that the target adjustment direction of the third subcode is to increase the number of information bit indexes k3.
[0202] Assuming that the first code rate threshold is 0.5, since the bit index set of the third subcode P3 = {48, 49, 50, ..., 63}, the calculation set The number of information bit indices for 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.
[0203] 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.
[0204] S609: Arrange the information bit indexes in all segments except the third subcode in descending order according to the 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.
[0205] S610 . Select a target bit index j=31 from a candidate index sequence, and adjust index types of the target bit index and the bit index to be adjusted.
[0206] 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 of D0 is still supported by 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 code rate where D0=31 is located can still support Fast-SC algorithm decoding after adjustment, the target bit index j=31 can be selected.
[0207] S611: Update the information index bit index set of the polarization sequence to The updated frozen bit index set is
[0208] S612: Determine whether the adjusted third subcode supports Fast-SC algorithm decoding. If not, refer to the above S607-S611 to adjust the number of information bit indexes included in the third subcode again until the third subcode is adjusted to support Fast-SC algorithm decoding. If it is supported, the polarization sequence adjustment is completed.
[0209] 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,1}.
[0210] The execution process of S613 may refer to S204 and will not be described in detail.
[0211] S614: Encode the sequence to be encoded based on the generation matrix to obtain a coded sequence, and send the coded sequence.
[0212] The execution process of S614 may refer to S205 and will not be described in detail.
[0213] based on Figure 6 The method shown can increase the number of information bit indexes in the third subcode of the polarization sequence with a length of 64, so that the third subcode can support Fast-SC algorithm decoding as soon as possible. In this way, the requirement that the subcode be decoded by the Fast-SC algorithm can be met with a small number of adjustments, and the adjustment efficiency of the subcode is improved. On the basis of the improved adjustment efficiency, it is ensured that the subcode supports Fast-SC algorithm decoding, thereby improving the decoding performance. At the same time, Figure 6 In the method shown, the target bit index is searched for in two bit indexes whose reliability is close to the reliability of the bit index to be adjusted, and the index types are interchanged, so that the information bits are transmitted on the polarized channel with higher channel quality (or higher reliability) before and after the bit index adjustment, thereby ensuring the transmission performance of the entire communication system.
[0214] Above Figure 5 , Figure 6 The bit index in the subcode supporting Fast-SC algorithm decoding is selected as the target bit index as an example for explanation. Figure 5 , Figure 6 The difference is that the following is explained by taking the bit index in the subcode that does not support Fast-SC algorithm decoding as the target bit index as an example:
[0215] For example, 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=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 polarization sequence is 16, and the information bit set 30,45,51,46,53,54,57,58,60,31,47,55,59,61,62,63}.
[0216] The bit index set of the 0th subcode P0 = {0, 1, 2, ..., 15}, calculate the set The number of information bit indices for this subcode Since k0∈S, it is determined that the subcode can be supported and decoded by the Fast-SC algorithm without bit rate adjustment.
[0217] The bit index set of the first subcode P1 = {16, 17, 18, ..., 31}, calculate the set The number of information bit indices for 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.
[0218] The bit index set of the second subcode P2 = {32, 33, 34, ..., 47}, calculate the set The number of information bit indices for 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.
[0219] The bit index set of the third subcode P3 = {48, 49, 50, ..., 63}, calculate the set The number of information bit indices for 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.
[0220] When adjusting the first subcode, since the code rate of the first subcode is r=k1 / M=1 / 4<1 / 2, the number of information bit indexes k1 in the subcode needs to be reduced. The index sequence obtained by arranging in ascending order according to 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 according to 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 Are there any elements in the first 6 elements of 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 preferentially selected as the target bit index, that is, j=44. The updated information bit index is Updated
[0221] For another example, assume that the code length of the polarization sequence is N=64, the total number of information bit indexes of the polarization 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 polarization sequence is 16, and the information bit set 62,63}. The first quantity set S sup ={4,9,10,12} and the second number set Ssub={5,6,8}.
[0222] The bit index set of the 0th subcode P0 = {0, 1, 2, ..., 15}, calculate the set The number of subcode information bit indexes Since k0∈S, it is determined that the subcode can be decoded by the Fast-SC algorithm without bit rate adjustment.
[0223] The bit index set of the first subcode P1 = {16, 17, 18, ..., 31}, calculate the set The number of information bit indices for 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.
[0224] The bit index set of the second subcode P2 = {32, 33, 34, ..., 47}, calculate the set The number of information bit indices for 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.
[0225] The bit index set of the third subcode P3 = {48, 49, 50, ..., 63}, calculate the set The number of subcode information bit indexes Since k3∈S, it is determined that the subcode corresponding to the subcode can be supported by the Fast-SC algorithm for decoding, and there is no need to adjust the bit rate.
[0226] 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 D I={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 decodable 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 segment that cannot be quickly decoded, so D0=39 is preferentially selected as the target bit index, that is, j=39. The updated information bit index is Updated
[0227] It is understandable that, in order to realize the above functions, the coding device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should be easily aware that, in conjunction with the algorithm steps of each example described in the embodiment 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 the form of hardware or computer software driving hardware 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 the present application.
[0228] 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.
[0229] Figure 7 is a schematic diagram of the structure of a coding device provided in an embodiment of the present application, and the coding device can execute the coding method provided in the above method embodiment. Figure 7 As shown, the encoding device includes: a processing unit 701 and a sending unit 702.
[0230] The processing unit 701 is configured to adjust, 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 an input bit sequence; and encoding the sequence to be encoded based on a generation matrix to obtain a coded sequence.
[0231] The sending unit 702 is used to send a coding sequence.
[0232] In a possible implementation, the processing unit 701 is specifically used to: obtain the bit index to be adjusted in the first subcode according to the target adjustment direction; select the target bit index from the candidate index sequence outside 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; adjust the index type of the bit index to be adjusted and the target bit index.
[0233] In a possible implementation, 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.
[0234] In a possible implementation, 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 the information bit index in the first subcode whose reliability is less than a second reliability threshold; the candidate index sequence includes the d frozen bit indexes with the highest reliability among the frozen bit indexes other than the first subcode in the polarization sequence.
[0235] 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 a preset decoding algorithm before and after the target bit index adjustment index type.
[0236] In a possible implementation manner, the target adjustment direction is determined according to the current bit rate of the first subcode.
[0237] In one possible implementation, 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; 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.
[0238] 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; the second number set indicates the number of information bit indexes currently included in the subcode whose information bit index is to be decreased.
[0239] 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 reduce the number of information bit indexes of the first subcode.
[0240] 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.
[0241] In a possible implementation, 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 a preset decoding algorithm.
[0242] In a possible implementation manner, 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.
[0243] In a possible implementation manner, the polarization sequence is predetermined; or, the polarization sequence is obtained by any of the following algorithms: Gaussian approximation algorithm, density evolution algorithm, PW sequence algorithm, reinforcement learning algorithm.
[0244] In the case of implementing the functions of the above-mentioned integrated modules in the form of hardware, the embodiment of the present application provides another possible structure of the encoding device involved in the above-mentioned embodiment. Figure 8 As shown, the encoding device 80 includes: a processor 802 and a bus 804. Optionally, the encoding device may further include a memory 801; optionally, the encoding device may further include a communication interface 803.
[0245] The processor 802 may be a processor that implements or executes various exemplary logic blocks, modules, and circuits described in conjunction with the embodiments of the present application. The 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 devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the embodiments of the present application. The processor 802 may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.
[0246] The communication interface 803 is used to connect with other devices via a communication network, which may be Ethernet, wireless access network, or wireless local area network (WLAN).
[0247] The memory 801 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices 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 codes in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto.
[0248] As a possible implementation, the memory 801 may exist independently of the processor 802, and the memory 801 may be connected to the processor 802 via a bus 804 for storing 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.
[0249] In another possible implementation, the memory 801 may also be integrated with the processor 802 .
[0250] The bus 804 may be an extended industry standard architecture (EISA) bus, etc. The bus 804 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 8 It can be represented by a thick line, but it does not mean that there is only one bus or one type of bus.
[0251] 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.
[0252] 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, etc.), optical disks (e.g., compact disks (CD), digital versatile disks (DVD), etc.), smart cards and flash memory devices (e.g., erasable programmable read-only memory (EPROM), cards, sticks or key drives, etc.). The various computer-readable storage media described in this application 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.
[0253] The embodiment of the present application 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 encoding sequence sent by the encoding device based on a preset decoding algorithm.
[0254] The embodiment of the present application also provides a computer-readable storage medium. All or part of the processes in the above method embodiments can be completed by computer instructions to instruct the relevant hardware, and the program can be stored in the above computer-readable storage medium. When the program is executed, it may include the processes of the above method embodiments. The computer-readable storage medium can be the memory or memory of any of the above embodiments. The above computer-readable storage medium can also be an external storage device of the above device or device, 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 device or device. Further, the above computer-readable storage medium can also include both the internal storage unit of the above device or device and an external storage device. The above computer-readable storage medium is used to store the above computer program and other programs and data required by the above device or device. The above computer-readable storage medium can also be used to temporarily store data that has been output or is to be output.
[0255] An embodiment of the present application also 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.
[0256] 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 changes to the disclosed embodiments by viewing 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 situations. A single processor or other unit can 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.
[0257] Although the present application has been described in conjunction with specific features and embodiments thereof, it is obvious 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 exemplary illustrations of the present application as defined by the appended claims, and are deemed to have covered 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, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
[0258] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope 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, and when the computer instructions are executed on a computer, the computer is caused to perform the encoding method according to any one of claims 1 to 13.
Citation Information
Cited By
Data sequence out-of-order processing method and device, chip, storage medium and product
CN121309151A
Coding method and apparatus, and computer-readable storage medium
EP4683230A1
Coding method and apparatus, and computer-readable storage medium
WO2024255288A1
