CN114268409B - Method and device for constructing index sequence of polarization code - Google Patents

Method and device for constructing index sequence of polarization code Download PDF

Info

Publication number
CN114268409B
CN114268409B CN202010973768.2A CN202010973768A CN114268409B CN 114268409 B CN114268409 B CN 114268409B CN 202010973768 A CN202010973768 A CN 202010973768A CN 114268409 B CN114268409 B CN 114268409B
Authority
CN
China
Prior art keywords
index
indexes
nested
subset
sets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010973768.2A
Other languages
Chinese (zh)
Other versions
CN114268409A (en
Inventor
李洋
陈志堂
皇甫幼睿
李榕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010973768.2A priority Critical patent/CN114268409B/en
Publication of CN114268409A publication Critical patent/CN114268409A/en
Application granted granted Critical
Publication of CN114268409B publication Critical patent/CN114268409B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Optical Communication System (AREA)

Abstract

The application discloses a method and a device for constructing an index sequence of Polar codes in the field of communication. The method comprises the following steps: acquiring an index set; obtaining a plurality of nested subsets of an index set; respectively carrying out polarization coding according to the plurality of nested subsets to obtain a plurality of nested polarization codes; acquiring performance evaluation results of a plurality of nested polarization codes; and under the condition that the performance evaluation results of the plurality of nested polarization codes do not meet the preset condition, updating the plurality of nested subsets of the index set based on the performance evaluation results, repeating the steps until the performance evaluation results meet the preset condition or the updating times reach the preset times, and obtaining the index sequence of the target polarization code according to the plurality of nested subsets of the updated index set. The method can improve the accuracy of the reliability of the sub-channel, and further improve the performance of Polar codes.

Description

Method and device for constructing index sequence of polarization code
Technical Field
The present application relates to the field of communications, and more particularly, to a method and apparatus for constructing an index sequence of a polarization code.
Background
Channel coding, which is the most basic wireless access technology, plays a crucial role in ensuring reliable data transmission, and in the existing wireless communication system, turbo codes, low-density parity check codes and polarization (Polar) codes are generally used for channel coding. The Polar code is a coding scheme of a control channel in the current 5G enhanced mobile broadband scene, and is also the only current channel coding method which is proved to be capable of reaching the Shannon capacity. However, the existing coding method is completely based on information theory, and the channel coding process is implemented under the assumption of ideal channel and decoding environment. The actual channel and decoder are often far from ideal, and therefore, the channel coding based on the ideal assumption is difficult to achieve ideal performance in the environment of the actual channel and decoder.
Therefore, how to improve the coding performance of the polar code is a technical problem that needs to be solved urgently.
Disclosure of Invention
The application provides a method and a device for constructing an index sequence of a Polar code, which can improve the accuracy of the reliability of a sub-channel and further improve the performance of the Polar code.
In a first aspect, a method for constructing an index sequence of a polar code is provided, the method including: the method comprises the following steps: acquiring an index set, wherein the index set comprises indexes of a plurality of polarized sub-channels; step two: obtaining a plurality of nested subsets of the index set according to the index set; step three: respectively carrying out polarization coding according to a plurality of nested subsets of the index set to obtain a plurality of nested polarization codes corresponding to the index set, wherein the positions of information bits in the plurality of nested polarization codes corresponding to the index set are respectively determined according to indexes in the plurality of nested subsets of the index set; step four: acquiring performance evaluation results of a plurality of nested polarization codes corresponding to the index set; under the condition that the performance evaluation results of the plurality of nested polarization codes corresponding to the index set do not meet the preset condition, updating the plurality of nested subsets of the index set in the step two based on the performance evaluation results of the plurality of nested polarization codes corresponding to the index set, repeating the steps from the third step to the fourth step until the performance evaluation results of the plurality of nested polarization codes corresponding to the index set meet the preset condition or the updating times reach the preset times, and obtaining the index sequence of the target polarization code according to the plurality of nested subsets of the updated index set.
According to the scheme of the embodiment of the application, the nested subset is continuously updated through the performance evaluation indexes of the Polar codes under the given channel and decoding environment until the Polar codes meeting the conditions are obtained, and the index sequence of the target Polar code is obtained based on the updated nested subset, so that the accuracy of the reliability of the sub-channel is improved, and the performance of the Polar codes is further improved.
Moreover, the scheme of the embodiment of the application does not depend on the assumption of a channel model and a decoding algorithm, does not need to model the relation between the coding and the performance of an actual channel and a decoder, can obtain different performance evaluation results in different channel environments and decoding environments, and obtains the index sequence of the target polarization code based on the evaluation results. Therefore, the scheme can adapt to different channel environments and different decoders, and is favorable for matching the actual channel and the decoding environment.
The number of elements in each of the plurality of nested subsets is different. When the plurality of nested subsets are arranged according to the order of the number of elements in the subsets from small to large, the elements in the former subset belong to the latter subset. When the plurality of nested subsets are arranged according to the order of the number of elements in the subsets from large to small, the elements in the latter subset belong to the former subset.
Exemplarily, step two may be implemented by a neural network model.
The polarization codes in the plurality of nested polarization codes are in one-to-one correspondence with subsets in the plurality of nested subsets. Each subset of the plurality of nested subsets may be used to generate a Polar code, and the plurality of nested subsets may be used to generate a plurality of Polar codes. The Polar codes have nesting performance, namely the Poalr codes are nested Polar codes.
Performance evaluation indicators include, but are not limited to, any of: block error rate, delay, or power consumption, etc.
For example, the performance evaluation indicator is a block error rate (BLER), and the performance evaluation result of the plurality of nested polarization codes corresponding to the index set may be a sum of the BLERs of the plurality of nested polarization codes or an average value of the BLERs of the plurality of nested polarization codes.
The index sequence of the target polarization code is used to indicate the reliability ordering of the polarized subchannels.
For example, the parameters of the neural network model may be updated based on a reinforcement learning algorithm, i.e., the parameters of the neural network model are updated with the goal of maximizing the expectation value of reward (reward)
With reference to the first aspect, in some implementations of the first aspect, the obtaining the index set includes: dividing the indexes in the index sequence of the first polarization code into Q sets according to the order of the indexes in the index sequence of the first polarization code, wherein each set in the Q sets comprises at least one index, and Q is an integer greater than 1; taking P sets in the Q sets as P index sets, wherein each set in the P sets comprises at least two indexes, P is an integer larger than 1 and is less than or equal to Q; and the positions of the information bits in the plurality of nested polarization codes corresponding to the index set are respectively determined according to the indexes in the plurality of nested subsets of the index set, and the method comprises the following steps: the positions of information bits in a plurality of nested polarization codes corresponding to the first index set are respectively determined according to indexes in a plurality of nested subsets of the first index set and indexes in a set before the first index set based on the sequence of the indexes in the index sequence of the first polarization code, and the first index set is one of P index sets; and obtaining an index sequence of the target polarization code according to the plurality of nested subsets of the updated index set, including: generating P subsequences according to a plurality of nested subsets of the updated P index sets; combining the rest Q-P sets and P subsequences based on the sequence of indexes in the index sequence of the first polarization code to obtain an index sequence of a second polarization code; and obtaining the index sequence of the target polarization code according to the index sequence of the second polarization code.
According to the scheme of the embodiment of the application, in the training process, the elements in the index sequence of the first polarization code are divided into a plurality of sets, and the parallel training is carried out based on the plurality of sets, so that the decision space can be reduced, for example, when the index sequence is divided into 2L subsets, the decision space is reduced from O (N!)
Figure BDA0002685012610000021
Especially for Polar codes with longer code length, the scheme can obviously reduce decision space and improve processing efficiency.
With reference to the first aspect, in some implementations of the first aspect, the obtaining the index set further includes: dividing the indexes in the index sequence of the second polarization code into L sets according to the order of the indexes in the index sequence of the second polarization code, wherein each set in the L sets comprises at least one index, L is an integer larger than 1, and at least one set in the L sets is different from the indexes in any set of the Q sets; taking M sets in the L sets as M index sets, wherein each set in the M sets comprises at least two indexes, M is an integer greater than 1 and is less than or equal to L; and the positions of the information bits in the plurality of nested polarization codes corresponding to the index set are respectively determined according to the indexes in the plurality of nested subsets of the index set, and the method comprises the following steps: the positions of information bits in a plurality of nested polarization codes corresponding to the second index set are respectively determined according to indexes in a plurality of nested subsets of the second index set and indexes in a set before the second index set based on the order of indexes in the index sequence of the second polarization code, and the second index set is one of M index sets; and obtaining an index sequence of the target polarization code according to the index sequence of the second polarization code, including: generating M subsequences according to the updated multiple nested subsets of the M index sets; combining the rest L-M sets and the M subsequences based on the order of indexes in the index sequence of the second polarization code to obtain an index sequence of a third polarization code, updating the index sequence of the first polarization code according to the index sequence of the third polarization code under the condition that the performance evaluation results of a plurality of nested polarization codes corresponding to the M index sets do not meet a preset condition, alternately dividing the index sequence of the first polarization code into Q sets and dividing the index sequence of the second polarization code into L sets to obtain the index sets until the performance evaluation results of the plurality of nested polarization codes corresponding to the P index sets meet the preset condition, and taking the updated index sequence of the second polarization code as the index sequence of the target polarization code; or until the performance evaluation results of a plurality of nested polarization codes corresponding to the M index sets meet a preset condition, taking the updated index sequence of the third polarization code as the index sequence of the target polarization code.
According to the scheme of the embodiment of the application, because the Q subsets and the M subsets are not identical, namely, the segmentation positions are mutually overlapped through cross segmentation, for example, the index sequence is sequentially segmented into odd sets and even sets, and parallel training is performed based on different sets, so that the element sequencing in the index sequence can be further adjusted to obtain a more accurate index sequence, and the performance of the Polar code is further improved.
With reference to the first aspect, in some implementations of the first aspect, obtaining a plurality of nested subsets of the index set from the index set includes: step 2-1: respectively extracting the characteristics of the indexes of the plurality of polarized sub-channels to obtain the characteristic vectors of the indexes of the plurality of polarized sub-channels; step 2-2: determining output probabilities of the indexes of the plurality of polarized sub-channels according to the feature vectors of the indexes of the plurality of polarized sub-channels; step 2-3: adding one of the indexes of the plurality of polarized subchannels to the first subset according to an output probability of the indexes of the plurality of polarized subchannels; step 2-4: extracting features of the first subset to obtain a feature vector of the first subset; step 2-5: updating the output probability of the index not belonging to the first subset according to the feature vector of the index not belonging to the first subset and the feature vector of the first subset in the indexes of the plurality of polarized sub-channels; step 2-6: adding one of the indexes not belonging to the first subset according to an output probability of the index not belonging to the first subset; step 2-7: and updating the first subset in the step 2-4, repeating the step 2-4 to the step 2-7, and taking the obtained plurality of first subsets as a plurality of nested subsets.
In the embodiment of the present application, the order of the indexes in the index set does not affect the output result, and the first subset is processed to avoid that the order of the elements in the subset output this time affects the elements in the subset output next time, so as to ensure that the subset output i-th time is only related to the elements in the subset output i-1-th time, and the order of the elements in the subset output i-1-th time does not affect the elements in the subset output i-th time. Therefore, the scheme of the embodiment of the application can fully express the input-output relation of the coding structure, improve the training effect, namely improve the accuracy of the reliability sequencing of the polarized sub-channels, improve the training efficiency and reduce the time cost.
With reference to the first aspect, in some implementation manners of the first aspect, the performing feature extraction on the indexes of the multiple polarized subchannels respectively to obtain feature vectors of the indexes of the multiple polarized subchannels includes: performing one-hot encoding on the indexes of the plurality of polarized sub-channels respectively; and performing feature extraction on the result of the one-hot coding to obtain feature vectors of indexes of a plurality of polarized sub-channels.
one-hot encoding can convert input elements into a form that is readily utilized by machine learning algorithms. Furthermore, the order relation of the elements in the index set can be removed through one-hot encoding. This can further ensure that the order of the elements in the index set does not affect the output result of the set-pointer network.
With reference to the first aspect, in some implementations of the first aspect, the performing feature extraction on the first subset to obtain a feature vector of the first subset includes: summing or averaging the indexed feature vectors in the first subset; and performing feature extraction on the processed result to obtain a feature vector of the first subset.
According to the scheme of the embodiment of the application, the feature vectors of the indexes in the first subset are subjected to summation processing or averaging processing, so that the feature vectors of the first subset are not influenced by the element sequence in the first subset.
With reference to the first aspect, in some implementation manners of the first aspect, the performing feature extraction on the processed result to obtain a feature vector of the first subset includes: and performing feature extraction on the processed result by using a linear function to obtain a feature vector of the first subset.
With reference to the first aspect, in certain implementations of the first aspect, updating the output probabilities of the indexes not belonging to the first subset according to the feature vector of the index not belonging to the first subset and the feature vector of the first subset among the indexes of the plurality of polarized subchannels includes: respectively calculating attention scores between the feature vectors of the indexes, which do not belong to the first subset, in the indexes of the plurality of polarized sub-channels and the feature vectors of the first subset by using an additive attention model; updating an output probability of an index not belonging to the first subset according to an attention score between a feature vector of an index not belonging to the first subset and a feature vector of the first subset among indexes of the plurality of polarized subchannels.
With reference to the first aspect, in some implementation manners of the first aspect, the performing feature extraction on the processed result to obtain a feature vector of the first subset includes: and performing feature extraction on the processed result by using a nonlinear function to obtain a feature vector of the first subset.
With reference to the first aspect, in certain implementations of the first aspect, updating the output probabilities of the indexes not belonging to the first subset according to the feature vector of the index not belonging to the first subset and the feature vector of the first subset among the indexes of the plurality of polarized subchannels includes: calculating attention scores between feature vectors of the indexes of the plurality of polarized sub-channels, which do not belong to the first subset, and feature vectors of the first subset respectively by using a multiplicative attention model; updating an output probability of an index not belonging to the first subset according to an attention score between a feature vector of an index not belonging to the first subset and a feature vector of the first subset among indexes of the plurality of polarized subchannels.
With reference to the first aspect, in certain implementations of the first aspect, when the number of indexes in the index sequence of the target polarization code is 64, the index sequence of the target polarization code is: (62,55,63,47,61,59,31,60,57,23,58,15,54,53,46,51,45,56,30,43,52,39,29,50,27,42,49,44,7,37,28,41,25,38,11,48,35,22,26,21,40,14,19,36,13,24,34,5,33,18,20,10,17,3,12,32,6,9,16,8,2,1,4,0).
With reference to the first aspect, in certain implementations of the first aspect, when the number of indexes in the index sequence of the target polar code is 256, the index sequence of the target polar code is: (255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,237,222,248,235,219,244,231,126,215,242,221,187,236,207,190,241,111,234,183,233,123,230,220,175,218,227,159,125,229,188,214,217,63,240,205,119,211,185,182,232,95,213,206,124,186,203,181,228,174,122,226,171,117,199,216,157,107,179,212,121,225,118,173,158,210,93,167,184,110,204,155,202,115,94,180,209,151,109,178,47,201,143,198,103,169,61,120,224,91,172,177,116,87,197,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,55,108,196,163,101,92,31,149,200,142,90,105,176,85,102,147,141,60,194,99,57,135,168,86,77,164,139,89,54,83,152,112,58,78,162,43,193,104,45,148,75,161,53,146,71,98,27,140,88,46,137,51,100,23,84,145,29,134,97,39,82,76,56,138,30,52,192,73,133,15,81,160,70,50,131,44,41,74,14,144,69,49,38,136,96,21,67,26,42,132,35,28,80,37,25,72,22,48,130,11,7,68,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2).
With reference to the first aspect, in some implementations of the first aspect, when the number of indexes in the index sequence of the target polarization code is 256, the index sequence of the target polarization code is: (255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,235,222,248,237,111,219,244,231,221,242,123,215,190,241,236,183,207,234,233,187,126,229,220,175,218,230,125,227,159,188,214,217,95,240,213,63,186,206,181,203,119,232,211,124,179,205,185,228,174,121,226,118,157,182,199,216,107,173,212,122,225,117,171,158,202,47,167,209,115,155,184,94,178,204,151,110,61,210,197,109,172,143,180,103,201,120,93,224,169,87,198,177,116,91,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,105,102,31,196,141,163,92,55,200,147,85,108,176,90,142,149,101,60,194,27,99,139,89,78,168,164,83,135,57,112,54,193,86,148,77,161,43,58,152,104,75,162,53,71,146,98,45,140,88,46,137,23,100,81,51,192,30,134,84,74,145,97,39,56,15,138,69,50,133,29,82,160,76,44,131,41,52,70,14,73,144,49,35,136,67,21,96,42,26,132,80,37,28,38,25,130,11,72,22,68,7,48,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2).
In a second aspect, a Polar code encoding method is provided, where the method includes: determining an index sequence of a target polarization code; polar code coding is carried out on bits to be coded based on the index sequence of the target polarization code to obtain a coded bit sequence; the index sequence of the target polarization code is obtained by obtaining an index set, wherein the index set comprises indexes of a plurality of polarization subchannels, a plurality of nested subsets of the index set are obtained according to the index set, polarization coding is respectively carried out according to the plurality of nested subsets of the index set, a plurality of nested polarization codes corresponding to the index set are obtained, and the positions of information bits in the plurality of nested polarization codes corresponding to the index set are respectively determined according to the indexes in the plurality of nested subsets of the index set; acquiring performance evaluation results of a plurality of nested polarization codes corresponding to the index set; and under the condition that the performance evaluation results of the plurality of nested polarized codes corresponding to the index set do not meet the preset condition, updating the plurality of nested subsets of the index set in the second step based on the performance evaluation results of the plurality of nested polarized codes corresponding to the index set, repeating the third step to the fourth step until the performance evaluation results of the plurality of nested polarized codes corresponding to the index set meet the preset condition or the updating times reach the preset times, and obtaining the index set according to the plurality of nested subsets of the updated index set.
In the present application, since the index sequence of the target Polar code is obtained by using the method of the first aspect, and is relatively in line with or close to the application requirement of Polar code coding, the performance of Polar code (e.g., reducing bit error rate) can be improved by using the index sequence of the target Polar code to perform Polar code coding.
According to the scheme of the embodiment of the application, the nested subset is continuously updated through the performance evaluation indexes of the Polar codes under the given channel and decoding environment until the Polar codes meeting the conditions are obtained, and the index sequence of the target Polar code is obtained based on the updated nested subset, so that the accuracy of the reliability of the sub-channel is improved, and the performance of the Polar codes is further improved.
In addition, the scheme of the embodiment of the application does not depend on the assumptions of a channel model and a decoding algorithm, does not need to model the relation between the actual channel and the coding and performance under a decoder, can obtain different performance evaluation results under different channel environments and decoding environments, and obtains the index sequence of the target polarization code based on the evaluation results. Therefore, the scheme can adapt to different channel environments and different decoders, and is favorable for matching the actual channel and the decoding environment.
In a third aspect, a Polar code encoding method is provided, where the method includes: determining an index sequence of a target polarization code; and carrying out Polar code coding on the bits to be coded based on the index sequence of the target polarization code to obtain a coded bit sequence.
With reference to the third aspect, in some implementations of the third aspect, when the number of indexes in the index sequence of the target polar code is 64, the index sequence of the target polar code is: (62,55,63,47,61,59,31,60,57,23,58,15,54,53,46,51,45,56,30,43,52,39,29,50,27,42,49,44,7,37,28,41,25,38,11,48,35,22,26,21,40,14,19,36,13,24,34,5,33,18,20,10,17,3,12,32,6,9,16,8,2,1,4,0). Wherein, the indexes in the index sequence are arranged according to the reliability of the polarized sub-channel from high to low.
With reference to the third aspect, in some implementations of the third aspect, when the number of indexes in the index sequence of the target polarization code is 256, the index sequence of the target polarization code is: (255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,237,222,248,235,219,244,231,126,215,242,221,187,236,207,190,241,111,234,183,233,123,230,220,175,218,227,159,125,229,188,214,217,63,240,205,119,211,185,182,232,95,213,206,124,186,203,181,228,174,122,226,171,117,199,216,157,107,179,212,121,225,118,173,158,210,93,167,184,110,204,155,202,115,94,180,209,151,109,178,47,201,143,198,103,169,61,120,224,91,172,177,116,87,197,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,55,108,196,163,101,92,31,149,200,142,90,105,176,85,102,147,141,60,194,99,57,135,168,86,77,164,139,89,54,83,152,112,58,78,162,43,193,104,45,148,75,161,53,146,71,98,27,140,88,46,137,51,100,23,84,145,29,134,97,39,82,76,56,138,30,52,192,73,133,15,81,160,70,50,131,44,41,74,14,144,69,49,38,136,96,21,67,26,42,132,35,28,80,37,25,72,22,48,130,11,7,68,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2). Wherein, the indexes in the index sequence are arranged according to the reliability of the polarized sub-channel from high to low.
With reference to the third aspect, in some implementations of the third aspect, when the number of indexes in the index sequence of the target polarization code is 256, the index sequence of the target polarization code is: (255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,235,222,248,237,111,219,244,231,221,242,123,215,190,241,236,183,207,234,233,187,126,229,220,175,218,230,125,227,159,188,214,217,95,240,213,63,186,206,181,203,119,232,211,124,179,205,185,228,174,121,226,118,157,182,199,216,107,173,212,122,225,117,171,158,202,47,167,209,115,155,184,94,178,204,151,110,61,210,197,109,172,143,180,103,201,120,93,224,169,87,198,177,116,91,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,105,102,31,196,141,163,92,55,200,147,85,108,176,90,142,149,101,60,194,27,99,139,89,78,168,164,83,135,57,112,54,193,86,148,77,161,43,58,152,104,75,162,53,71,146,98,45,140,88,46,137,23,100,81,51,192,30,134,84,74,145,97,39,56,15,138,69,50,133,29,82,160,76,44,131,41,52,70,14,73,144,49,35,136,67,21,96,42,26,132,80,37,28,38,25,130,11,72,22,68,7,48,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2). Wherein, the indexes in the index sequence are arranged according to the reliability of the polarized sub-channel from high to low.
In a fourth aspect, an apparatus for constructing an index sequence of a polar code is provided, the apparatus including means for performing the method in any one of the implementations of the first aspect and the first aspect.
It is to be understood that extensions, definitions, explanations and explanations of relevant matters in the above-mentioned first aspect also apply to the same matters in the second, third and fourth aspects.
In a fifth aspect, an apparatus for constructing an index sequence of a polar code is provided, the apparatus comprising: a memory for storing a program; a processor configured to execute the program stored in the memory, and when the program stored in the memory is executed, the processor is configured to perform the method in any one of the implementations of the first aspect and the first aspect.
The processor in the fifth aspect may be a Central Processing Unit (CPU) or a combination of the CPU and a neural network computing processor, where the neural network computing processor may include a Graphics Processing Unit (GPU), a neural-Network Processing Unit (NPU), a Tensor Processing Unit (TPU), and the like. Wherein, the TPU is an artificial intelligence accelerator application specific integrated circuit which is completely customized for machine learning by google (google).
A sixth aspect provides a computer readable medium storing program code for execution by a device, the program code comprising instructions for performing the method of any one of the implementations of the first aspect.
In a seventh aspect, a computer program product containing instructions is provided, which when run on a computer causes the computer to perform the method of any one of the implementations of the first aspect.
In an eighth aspect, a chip is provided, where the chip includes a processor and a data interface, and the processor reads an instruction stored in a memory through the data interface to execute the method in any one of the implementation manners in the first aspect.
Optionally, as an implementation manner, the chip may further include a memory, where instructions are stored in the memory, and the processor is configured to execute the instructions stored in the memory, and when the instructions are executed, the processor is configured to execute the method in any one of the implementation manners of the first aspect.
The chip may be a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC).
Drawings
FIG. 1 is a schematic diagram of an artificial intelligence framework provided by an embodiment of the present application;
fig. 2 is a schematic structural diagram of a system architecture according to an embodiment of the present application;
fig. 3 is a schematic diagram of a hardware structure of a chip according to an embodiment of the present disclosure;
FIG. 4 is a diagram illustrating a system architecture according to an embodiment of the present application;
fig. 5 is a schematic diagram of a polarized subchannel provided in an embodiment of the present application;
FIG. 6 is a schematic block diagram of an apparatus for constructing an index sequence of Polar codes according to an embodiment of the present application;
FIG. 7 is a schematic flowchart of a method for constructing an index sequence of Polar codes according to an embodiment of the present application;
FIG. 8 is a schematic block diagram of a method for constructing an index sequence of Polar codes according to an embodiment of the present application;
FIG. 9 is a schematic block diagram of a set-pointer network provided in an embodiment of the present application;
FIG. 10 is a schematic block diagram of another set-pointer network provided by an embodiment of the present application;
FIG. 11 is a schematic block diagram of yet another set-pointer network provided in an embodiment of the present application;
FIG. 12 is a schematic flow chart diagram of a training method provided by an embodiment of the present application;
FIG. 13 is a diagram illustrating the comparison of Polar code performance provided in the embodiments of the present application;
FIG. 14 is a diagram illustrating the comparison of Polar code performance provided in the embodiments of the present application;
FIG. 15 is a schematic block diagram of an apparatus for constructing an index sequence of Polar codes according to an embodiment of the present application;
FIG. 16 is a schematic block diagram of a Polar code encoding apparatus according to an embodiment of the present application;
FIG. 17 is a schematic block diagram of an apparatus for constructing index sequences of Polar codes according to an embodiment of the present application;
FIG. 18 is a schematic block diagram of a Polar code encoding apparatus according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.
FIG. 1 shows a schematic diagram of an artificial intelligence body framework that describes the overall workflow of an artificial intelligence system, applicable to the general artificial intelligence field requirements.
The artificial intelligence topic framework described above is described in detail below in two dimensions, "intelligent information chain" (horizontal axis) and "Information Technology (IT) value chain" (vertical axis).
The "smart information chain" reflects a list of processes processed from the acquisition of data. For example, the general processes of intelligent information perception, intelligent information representation and formation, intelligent reasoning, intelligent decision making and intelligent execution and output can be realized. In this process, the data undergoes a "data-information-knowledge-wisdom" process of consolidation.
The 'IT value chain' reflects the value of the artificial intelligence to the information technology industry from the bottom infrastructure of the human intelligence, information (realization of providing and processing technology) to the industrial ecological process of the system.
(1) Infrastructure:
the infrastructure provides computing power support for the artificial intelligent system, realizes communication with the outside world, and realizes support through a foundation platform.
The infrastructure may communicate with the outside through sensors, and the computing power of the infrastructure may be provided by a smart chip.
The intelligent chip may be a hardware acceleration chip such as a Central Processing Unit (CPU), a neural-Network Processing Unit (NPU), a Graphics Processing Unit (GPU), an Application Specific Integrated Circuit (ASIC), and a Field Programmable Gate Array (FPGA).
The infrastructure platform may include distributed computing framework and network, and may include cloud storage and computing, interworking network, and the like.
For example, for an infrastructure, data may be obtained through sensors and external communications and then provided to an intelligent chip in a distributed computing system provided by the underlying platform for computation.
(2) Data:
data at the upper level of the infrastructure is used to represent the data source for the field of artificial intelligence. The data relates to graphs, images, voice and texts, and also relates to the data of the Internet of things of traditional equipment, including service data of the existing system and sensing data such as force, displacement, liquid level, temperature, humidity and the like.
(3) Data processing:
the data processing generally includes processing modes such as data training, machine learning, deep learning, searching, reasoning, decision making and the like.
The machine learning and the deep learning can perform symbolized and formalized intelligent information modeling, extraction, preprocessing, training and the like on data.
Inference means a process of simulating an intelligent human inference mode in a computer or an intelligent system, using formalized information to think about and solve a problem by a machine according to an inference control strategy, and a typical function is searching and matching.
The decision-making refers to a process of making a decision after reasoning intelligent information, and generally provides functions of classification, sequencing, prediction and the like.
(4) General-purpose capability:
after the above-mentioned data processing, further general capabilities may be formed based on the results of the data processing, such as algorithms or a general system, for example, translation, analysis of text, computer vision processing, speech recognition, recognition of images, and so on.
(5) Intelligent products and industrial applications:
the intelligent product and industry application refers to the product and application of an artificial intelligence system in various fields, and is the encapsulation of an artificial intelligence integral solution, the intelligent information decision is commercialized, and the landing application is realized, and the application field mainly comprises: intelligent manufacturing, intelligent transportation, intelligent home, intelligent medical treatment, intelligent security, automatic driving, safe city, intelligent terminal and the like.
The technical scheme of the embodiment of the application can be applied to various communication systems, for example: global system for Mobile communications (GSM) systems, code Division Multiple Access (CDMA) systems, wideband Code Division Multiple Access (WCDMA) systems, general Packet Radio Service (GPRS), long Term Evolution (LTE) systems, LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD), universal Mobile telecommunications system (universal Mobile telecommunications system, UMTS), worldwide Interoperability for Microwave Access (WiMAX) communication systems, fifth generation (5, 5G) systems, future generation (sixth generation) 6 or new generation (G) radio systems, NR), vehicle-to-other devices (vehicle-to-X V2X), wherein the V2X may include vehicle-to-internet (V2N), vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), vehicle-to-pedestrian (V2P), etc., long term evolution (LTE-V) for vehicle-to-vehicle communication, MTC-networking, machine type communication (MTC, internet of things (IoT), long term evolution (LTE-M) for machine-to-machine communication, M2M, etc., and a three-large application enhanced Mobile Broadband (Broadband) for next generation 5G Mobile communication systems, eMBB), ultra-reliable low latency communications (URLLC), and massive machine type communications (eMTC). In addition, the method can also be applied to various communication systems such as WiFi, optical fibers, microwaves and the like.
The communication system applied by the embodiment of the application comprises a sending end and a receiving end. The transmitting end may also be referred to as an encoding end, and the receiving end may also be referred to as a decoding end. The sending end may be a network device, and the receiving end is a terminal device. Or the sending end is a terminal device and the receiving end is a network device. When a transmitting end sends data or information, the Polar code sequence obtained by the Polar code sequence construction method provided by the embodiment of the application can be adopted.
Illustratively, the communication system of the embodiment of the present application may include a network device and a plurality of terminal devices. The network device may include 1 antenna or multiple antennas. Additionally, the network device can additionally include a transmitter chain and a receiver chain, each of which can comprise a plurality of components associated with signal transmission and reception (e.g., processors, modulators, multiplexers, demodulators, demultiplexers, antennas, etc.), as will be appreciated by one skilled in the art.
The network device may communicate with a plurality of terminal devices. The terminal device in the embodiment of the present application may also be referred to as: user Equipment (UE), mobile Station (MS), mobile Terminal (MT), access terminal, subscriber unit, subscriber station, mobile station, remote terminal, mobile device, user terminal, wireless communication device, user agent, or user device, etc.
The terminal device may be a device providing voice/data connectivity to a user, e.g. a handheld device, a vehicle mounted device, etc. with wireless connection capability. Currently, some examples of terminals are: a mobile phone (mobile phone), a tablet computer, a notebook computer, a palm computer, a Mobile Internet Device (MID), a wearable device, a Virtual Reality (VR) device, an Augmented Reality (AR) device, a wireless terminal in industrial control (industrial control), a wireless terminal in unmanned driving (self driving), a wireless terminal in remote surgery (remote medical supply), a wireless terminal in smart grid (smart grid), a wireless terminal in transportation security (smart), a wireless terminal in city (smart city), a wireless terminal in smart home (smart home), a cellular phone, a cordless phone, a session initiation protocol (session initiation protocol), SIP) phone, wireless Local Loop (WLL) station, personal Digital Assistant (PDA), handheld device with wireless communication capability, computing device or other processing device connected to a wireless modem, vehicle mounted device, wearable device, terminal device in a future 5G network or in a future evolved Public Land Mobile Network (PLMN), and/or any other suitable device for communicating over a wireless communication system, which is not limited by the embodiments of the present application.
The network device in the embodiment of the present application may be a device for communicating with a terminal device, and the network device may be a Base Transceiver Station (BTS) in a global system for mobile communications (GSM) system or a Code Division Multiple Access (CDMA) system, a base station B (nodeB, NB) in a Wideband Code Division Multiple Access (WCDMA) system, an evolved base station B (eNB, or eNodeB) in an LTE system, a radio controller in a Cloud Radio Access Network (CRAN) scenario, a Radio Network Controller (RNC), a base station controller (base station controller, BSC), a home base station (e.g., home evolved nodeB, or home nodeB, HNB), baseband unit (BBU), or the network device may be a relay station, an access point, a vehicle-mounted device, a wearable device, and a network device in a future 5G network or a network device in a future evolved PLMN network, or the like, may be an Access Point (AP), a wireless relay node, a wireless backhaul node, a Transmission Point (TP), or a Transmission and Reception Point (TRP) in a WLAN, may be a gNB or a transmission point (TRP or TP) in a new radio, NR) system, or one or a group (including multiple antenna panels) of antenna panels of a base station in a 5G system, or may also be a network node constituting a gNB or a transmission point, such as a baseband unit (BBU), a Distributed Unit (DU), or the like, which is not limited in the embodiments of the present application.
Since the embodiments of the present application relate to the application of a large number of neural networks, for the sake of understanding, the following description will be made first of all with respect to terms and concepts of the neural networks to which the embodiments of the present application may relate.
(1) Neural network
The neural network may be composed of neural units, which may be referred to as x s And an arithmetic unit with intercept 1 as input, the output of which may be:
Figure BDA0002685012610000101
wherein s =1, 2, \8230, n is natural number greater than 1, and W is s Is x s Weight of (b), bIs the bias of the neural unit. f is an activation function (activation functions) of the neural unit for introducing a nonlinear characteristic into the neural network to convert an input signal in the neural unit into an output signal. The output signal of the activation function may be used as an input for the next convolutional layer, and the activation function may be a sigmoid function. A neural network is a network formed by a plurality of the above-mentioned single neural units being joined together, i.e. the output of one neural unit may be the input of another neural unit. The input of each neural unit can be connected with the local receiving domain of the previous layer to extract the characteristics of the local receiving domain, and the local receiving domain can be a region composed of a plurality of neural units.
(2) Deep neural network
Deep Neural Networks (DNNs), also called multi-layer neural networks, can be understood as neural networks with multiple hidden layers. The DNNs are divided according to the positions of different layers, and the neural networks inside the DNNs can be divided into three categories: input layer, hidden layer, output layer. Generally, the first layer is an input layer, the last layer is an output layer, and the middle layers are hidden layers. The layers are all connected, that is, any neuron of the ith layer is necessarily connected with any neuron of the (i + 1) th layer.
Although DNN appears complex, it is not as complex as the work of each layer, in short the following linear relational expression:
Figure BDA0002685012610000102
wherein it is present>
Figure BDA0002685012610000103
Is an input vector, is greater than or equal to>
Figure BDA0002685012610000104
Is the output vector->
Figure BDA0002685012610000105
Is an offset vector, W is a weight matrix (also called coefficient), and α () is an activation function. Each layer is onlyIs to the input vector->
Figure BDA0002685012610000106
By such simple operation an output vector is obtained>
Figure BDA0002685012610000107
Due to the large number of DNN layers, the coefficient W and the offset vector->
Figure BDA0002685012610000108
The number of the same is large. The definition of these parameters in DNN is as follows: taking coefficient W as an example: assume that in a three-level DNN, the linear coefficients for the 4 th neuron of the second level to the 2 nd neuron of the third level are defined as->
Figure BDA0002685012610000109
Superscript 3 represents the number of layers in which the coefficient W lies, and the subscripts correspond to the third layer index 2 at the output and the second layer index 4 at the input.
In summary, the coefficients from the kth neuron at layer L-1 to the jth neuron at layer L are defined as
Figure BDA00026850126100001010
Note that the input layer is without the W parameter. In deep neural networks, more hidden layers make the network more able to depict complex situations in the real world. Theoretically, the more parameters the higher the model complexity, the larger the "capacity", which means that it can accomplish more complex learning tasks. The final goal of the process of training the deep neural network, i.e., learning the weight matrix, is to obtain the weight matrix (formed by a number of layers of vectors W) of all layers of the deep neural network that has been trained.
(3) Loss function
In the process of training the deep neural network, because the output of the deep neural network is expected to be as close to the value really expected to be predicted as possible, the weight vector of each layer of the neural network can be updated according to the difference between the predicted value of the current network and the really expected target value (of course, the process of changing the weight vector before the first updating, namely presetting parameters for each layer in the deep neural network) for example, if the predicted value of the network is high, the weight vector is adjusted to be lower, and the adjustment is continued until the deep neural network can predict the really expected target value or the value which is very close to the really expected target value. Therefore, it is necessary to define in advance "how to compare the difference between the predicted value and the target value", which are loss functions (loss functions) or objective functions (objective functions), which are important equations for measuring the difference between the predicted value and the target value. Taking the loss function as an example, if the higher the output value (loss) of the loss function indicates the larger the difference, the training of the deep neural network becomes the process of reducing the loss as much as possible.
(4) Back propagation algorithm
The neural network can adopt a Back Propagation (BP) algorithm to correct the size of parameters in the neural network model in the training process, so that the reconstruction error loss of the neural network model is smaller and smaller. Specifically, the error loss is generated by transmitting the input signal in the forward direction until the output, and parameters in the neural network model are updated by reversely propagating the error loss information, so that the error loss is converged. The back propagation algorithm is a back propagation motion with error loss as a dominant factor, aiming at obtaining the optimal parameters of the neural network model, such as a weight matrix.
As shown in fig. 2, the present embodiment provides a system architecture 100. In fig. 2, a data acquisition device 160 is used to acquire training data. For the method of constructing a code sequence of Polar of the embodiment of the present application, the training data may include an index set of subchannels.
After the training data is collected, data collection device 160 stores the training data in database 130, and training device 120 trains target model/rule 101 based on the training data maintained in database 130.
The following describes that the training device 120 obtains the target model/rule 101 based on the training data, the training device 120 processes the index set of the input sub-channel, obtains a group of nested Polar codes based on the output nested subset, obtains the coding performance of the group of nested Polar codes, and trains the target model/rule 101 based on the coding performance of the group of nested Polar codes until the nested subset output by the training device 120 enables the coding performance of the nested Polar codes to meet the preset condition, thereby completing the training of the target model/rule 101.
The target model/rule 101 can be used for implementing the method for constructing Polar code sequences in the embodiments of the present application. The target model/rule 101 in the embodiment of the present application may specifically be a neural network. It should be noted that, in practical applications, the training data maintained in the database 130 does not necessarily come from the acquisition of the data acquisition device 160, and may also be received from other devices. It should be noted that, the training device 120 does not necessarily perform the training of the target model/rule 101 based on the training data maintained by the database 130, and may also obtain the training data from the cloud or other places for performing the model training, and the above description should not be taken as a limitation to the embodiment of the present application.
The target model/rule 101 obtained by training according to the training device 120 may be applied to different systems or devices, for example, the execution device 110 shown in fig. 2, where the execution device 110 may be a terminal, such as a mobile phone terminal, a tablet computer, a notebook computer, an Augmented Reality (AR) AR/Virtual Reality (VR), a vehicle-mounted terminal, or the like, or may be a server or a cloud, or may be a network device, or the like. In fig. 2, the execution device 110 configures an input/output (I/O) interface 112 for data interaction with an external device, and a user may input data to the I/O interface 112 through the client device 140, where the input data may include: the index set of the sub-channel input by the user.
In the process that the execution device 110 preprocesses the input data or in the process that the calculation module 111 of the execution device 110 executes the calculation or other related processes, the execution device 110 may call data, codes or the like in the data storage system 150 for corresponding processes, or store data, instructions or the like obtained by corresponding processes in the data storage system 150.
Finally, the I/O interface 112 returns the processing results, such as the Polar sequence obtained as described above, to the client device 140 for presentation to the user.
It should be noted that the training device 120 may generate corresponding target models/rules 101 for different targets or different tasks based on different training data, and the corresponding target models/rules 101 may be used to achieve the targets or complete the tasks, so as to provide the user with the required results.
In the case shown in fig. 2, the user may manually give the input data, which may be operated through an interface provided by the I/O interface 112. Alternatively, the client device 140 may automatically send the input data to the I/O interface 112, and if the client device 140 is required to automatically send the input data to obtain authorization from the user, the user may set the corresponding permissions in the client device 140. The user can view the result output by the execution device 110 at the client device 140, and the specific presentation form can be display, sound, action, and the like. The client device 140 may also serve as a data collection terminal, collecting input data of the input I/O interface 112 and output results of the output I/O interface 112 as new sample data, and storing the new sample data in the database 130. Of course, the input data inputted to the I/O interface 112 and the output result outputted from the I/O interface 112 as shown in the figure may be directly stored in the database 130 as new sample data by the I/O interface 112 without being collected by the client device 140.
It should be noted that fig. 2 is only a schematic diagram of a system architecture provided in an embodiment of the present application, and the position relationship between the devices, modules, and the like shown in the diagram does not constitute any limitation, for example, in fig. 2, the data storage system 150 is an external memory with respect to the execution device 110, and in other cases, the data storage system 150 may also be disposed in the execution device 110.
As shown in fig. 2, a target model/rule 101 is obtained according to training of the training device 120, where the target model/rule 101 may be a neural network in the present application in the embodiment of the present application, and specifically, the neural network constructed in the embodiment of the present application may be a set-pointer network.
Fig. 3 is a hardware structure of a chip provided in an embodiment of the present application, where the chip includes a neural network processor 50. The chip may be provided in the execution device 110 as shown in fig. 2 to complete the calculation work of the calculation module 111. The chip may also be provided in the training apparatus 120 as shown in fig. 2 to complete the training work of the training apparatus 120 and output the target model/rule 101.
The neural network processor NPU 50 is mounted as a coprocessor on a main processing unit (CPU) (host CPU), and tasks are distributed by the main CPU. The core portion of the NPU is an arithmetic circuit 503, and the controller 504 controls the arithmetic circuit 503 to extract data in a memory (weight memory or input memory) and perform arithmetic.
In some implementations, the arithmetic circuit 503 includes a plurality of processing units (PEs) therein. In some implementations, the operational circuitry 503 is a two-dimensional systolic array. The arithmetic circuit 503 may also be a one-dimensional systolic array or other electronic circuit capable of performing mathematical operations such as multiplication and addition. In some implementations, the arithmetic circuitry 503 is a general-purpose matrix processor.
For example, assume that there is an input matrix A, a weight matrix B, and an output matrix C. The arithmetic circuit fetches the data corresponding to matrix B from the weight memory 502 and buffers each PE in the arithmetic circuit. The arithmetic circuit takes the matrix a data from the input memory 501 and performs matrix operation with the matrix B, and partial or final results of the obtained matrix are stored in an accumulator (accumulator) 508.
The vector calculation unit 507 may further process the output of the operation circuit, such as vector multiplication, vector addition, exponential operation, logarithmic operation, magnitude comparison, and the like. For example, the vector calculation unit 507 may be used for network calculation of non-convolution/non-FC layers in a neural network, such as pooling (Pooling), batch normalization (batch normalization), local response normalization (local response normalization), and the like.
In some implementations, the vector calculation unit 507 can store the processed output vector to the unified buffer 506. For example, the vector calculation unit 507 may apply a non-linear function to the output of the arithmetic circuit 503, such as a vector of accumulated values, to generate the activation value. In some implementations, the vector calculation unit 507 generates normalized values, combined values, or both. In some implementations, the vector of processed outputs can be used as activation inputs to the arithmetic circuitry 503, for example for use in subsequent layers in a neural network.
The unified memory 506 is used to store input data as well as output data.
The weight data directly passes through a memory unit access controller 505 (DMAC) to transfer the input data in the external memory to the input memory 501 and/or the unified memory 506, store the weight data in the external memory in the weight memory 502, and store the data in the unified memory 506 in the external memory.
A Bus Interface Unit (BIU) 510, configured to implement interaction between the main CPU, the DMAC, and the instruction fetch memory 509 through a bus.
An instruction fetch buffer 509 connected to the controller 504 for storing instructions used by the controller 504.
The controller 504 is configured to call the instruction cached in the instruction storage 509 to implement controlling the working process of the operation accelerator.
Generally, the unified memory 506, the input memory 501, the weight memory 502, and the instruction fetch memory 509 are On-Chip memories, the external memory is a memory outside the NPU, and the external memory may be a double data rate synchronous dynamic random access memory (DDR SDRAM), a High Bandwidth Memory (HBM), or other readable and writable memories.
The operation of the set-pointer network in the embodiment of the present application may be performed by the operation circuit 503 or the vector calculation unit 507.
As shown in fig. 4, the present embodiment provides a system architecture 300. The system architecture includes a local device 301, a local device 302, and an execution device 310 and a data storage system 350, wherein the local device 301 and the local device 302 are connected with the execution device 310 through a communication network.
The execution device 310 may be implemented by one or more servers. Optionally, the execution device 310 may be used with other computing devices, such as: data storage, routers, load balancers, and the like. The execution device 310 may be disposed on one physical site or distributed across multiple physical sites. The execution device 310 may use data in the data storage system 350 or call program code in the data storage system 350 to implement the method for constructing Polar code according to the embodiment of the present application.
Specifically, in one implementation, the execution device 110 may perform the following processes:
the method comprises the following steps: acquiring an index set, wherein the index set comprises indexes of a plurality of polarized sub-channels;
step two: obtaining a plurality of nested subsets of the index set according to the index set;
step three: respectively carrying out polarization coding according to the plurality of nested subsets of the index set to obtain a plurality of nested polarization codes corresponding to the index set, wherein the positions of information bits in the plurality of nested polarization codes corresponding to the index set are respectively determined according to indexes in the plurality of nested subsets of the index set;
step four: acquiring performance evaluation results of a plurality of nested polarization codes corresponding to the index set;
and under the condition that the performance evaluation results of the plurality of nested polarization codes corresponding to the index set do not meet the preset condition, updating the plurality of nested subsets of the index set in the second step based on the performance evaluation results of the plurality of nested polarization codes corresponding to the index set, repeating the third step to the fourth step until the performance evaluation results of the plurality of nested polarization codes corresponding to the index set meet the preset condition or the updating times reach the preset times, and obtaining the index sequence of the target polarization code according to the plurality of nested subsets of the updated index set.
The index sequence of the target polarization code can be obtained by the above-described procedure executing apparatus 110.
The user may operate respective user devices (e.g., local device 301 and local device 302) to interact with the execution device 310. Each local device may represent any computing device, such as a personal computer, computer workstation, smartphone, tablet, smart camera, smart car or other type of cellular phone, media consumption device, wearable device, set-top box, gaming console, and so forth.
The local devices of each user may interact with the enforcement device 310 via a communication network of any communication mechanism/standard, such as a wide area network, a local area network, a peer-to-peer connection, etc., or any combination thereof.
The execution device 310 may also be a cloud device, and at this time, the execution device 310 may be deployed in the cloud; alternatively, the execution device 310 may also be a terminal device, in which case, the execution device 310 may be deployed at a user terminal side, which is not limited in this embodiment of the application.
For the sake of understanding of the embodiments of the present application, polar codes will be briefly described below.
Polar code coding has the basic idea that channels are combined and split to obtain N sub-channels, and the characteristics of the sub-channels show the bipolar differentiation phenomenon along with the increase of the number N of the channels. As N approaches infinity, the coding rate of such a coding scheme may achieve a channel capacity where the capacity of a portion of the subchannels approaches 1, i.e., a portion of the subchannels approaches a perfect noise-free subchannel with a capacity of 1, and the capacity of another portion of the subchannels approaches 0, i.e., another portion of the subchannels approaches a perfect noise subchannel with a capacity of 0. For example, the capacity of K subchannels in N subchannels tends to 1, and the capacity of N-K subchannels approaches 0, then the subchannels whose capacity tends to 1 may be used to transmit information bits, and the N-K subchannels whose capacity approaches 0 may be used to transmit a fixed value, called as a frozen bit or a fixed bit, agreed in advance by a transmitting end and a receiving end, so as to implement a correspondence relationship from K information bits to N coded bits, i.e., implement a pealr coding process with a code rate of K/N. As shown in FIG. 5, N is 8, K is 5, and N-K is 3. That is, in the 8 subchannels of fig. 5, the capacity of 5 subchannels approaches 1,3 subchannels approaches 0.
The coding strategy of Polar codes is to transmit useful information of users by using a noiseless channel, and to transmit appointed information or not to transmit information by using a full-noise channel. Polar code is a linear block code, and a sending end transmits an information bit sequence u N Coded as a codeword x N And transmitted to the receiving end through the channel. The coding mode is x N =u N G N Wherein x is N =(x 1 ,x 2 ,…,x N ) Is a coded bit sequence, u N =(u 1 ,u 2 ,…,u N ) The information bit sequence is a binary input vector with the length of N, namely the code length of N; g N To code the matrix, G N Is an N x N matrix.
u N A part of the bits used to carry information is called a set of information bits. Generally, various types of check bits, including but not limited to Cyclic Redundancy Check (CRC) bits and Parity Check (PC) bits, are also included in the set of information bits. The number of elements in the set of information bits is K and the set of indices for these information bits is denoted as a. u. u N The other part of the bits in the set is used for carrying a fixed value which is predetermined by a receiving end and a transmitting end, namely frozen bits or fixed bits, and is called a fixed bit set or a frozen bit set, the number of elements in the set is N-K, and the set of indexes of the fixed bits uses a complementary set A of A c And (4) showing. The fixed bit is usually set to 0, but may be arbitrarily set as long as the receiving end and the transmitting end agree in advance.
The process of determining the set of indexes of the information bits according to the length of the information bits and the length of the code words is called a construction process of Polar codes. The Polar code constructing process is the selection process of the set A, namely the selection process of the reliable sub-channel. The Polar code constructing process generally includes determining that N sub-channels coexist according to the code length N of a mother code, respectively corresponding to N rows of a coding matrix, calculating the reliability of the sub-channels, and taking the indexes of the first K sub-channels with higher reliability as a setThe element of a, that is, K subchannels with higher reliability are selected to place the information bits. The indexes corresponding to the remaining N-K sub-channels are used as a set A of fixed bit indexes c I.e., the remaining N-K subchannels are used to place the fixed bits. Therefore, the accuracy of the selection of reliable sub-channels determines the coding performance of Polar codes.
In one implementation, a length N may be designed according to nesting rules max Reliability sequence Q of Nmax For code blocks of arbitrary code length N, from Q Nmax Selecting elements with values less than N to obtain corresponding reliability sequence Q N ,N≤N max . The reliability sequence is used to indicate the reliability of the sub-channel. For example, a sequence in which subchannel indexes are obtained in order from high to low or from low to high in terms of the reliability of the subchannel may be referred to as a reliability sequence.
Common reliability calculation methods include the barytan parametric method, the density evolution method, and the Gaussian Approximation (GA) method. These three methods are all information theory based methods. In particular, the above calculation methods all rely on various assumed ideal channel models and ideal decoding algorithms. For example, the babbitt parameter method has better accuracy only in the case of calculating the reliability of an ideal binary erasure channel, but has larger error in the reliability calculation of a binary additive white gaussian noise channel in most research scenarios. The density evolution method and the gaussian approximation method can only approximately calculate the reliability of a binary additive white gaussian noise channel under the assumption of an ideal decoding algorithm, but still cannot obtain more accurate channel reliability aiming at the channel environment and a decoder with low complexity in various practical scenes. Because the reliability of the sub-channel cannot be obtained accurately, the coding performance obtained by the existing Polar coding scheme still has a larger space for improvement, for example, the error code rate of the Polar code obtained by the existing Polar coding scheme is still larger when the decoding signal-to-noise ratio is given, and the required decoding signal-to-noise ratio is higher when the error code rate is given.
Therefore, how to improve the coding performance of Polar codes becomes a problem to be solved urgently.
The embodiment of the application provides a method for constructing a Polar code sequence, which can improve the accuracy of the reliability sequencing of the sub-channels, improve the coding performance of the Polar code, and adapt to different channels and decoding environments.
In order to better explain the method for constructing the Polar code sequence in the embodiment of the present application, the following describes the Polar code encoding method in the embodiment of the present application. The Polar code encoding method provided by the embodiment of the application comprises a step S1 and a step S2.
S1, determining a reliability sequence Q N
Reliability sequence Q N And the sorting sequence is an index sorting sequence of N sub-channels and is used for representing the reliability sorting of the N sub-channels, wherein N is the length of a mother code of Polar code, and N is the positive integer power of 2. Specifically, the indices of the N subchannels are in the reliability sequence Q N In terms of the reliability of the N subchannels ranked from high to low or from low to high.
The length of the mother code can be determined according to the length K of the information bit, and when polarization coding is carried out, the length of the mother code required by different information bit lengths K can be different. The length of the information bits is the number of elements in the set of information bits.
For example, if K =7, the mother code length N =8; if K =9, the required mother code length N =16.
It should be understood that the method for determining the length of the mother code may be determined according to methods in the prior art, and this is not limited in this embodiment of the present application.
Illustratively, the reliability sequence Q N May be generated off-line. That is, step S1 may be reading the reliability sequence Q based on given transmission parameters (e.g., code length and code rate) N
Alternatively, the reliability sequence Q N May be generated online. That is, step S1 may be to generate the reliability sequence Q based on given transmission parameters (e.g., code length and code rate) N
The method for constructing Polar code sequence in the embodiment of the application can be used for generating the reliability sequence Q N . Detailed description referring to method 800 hereinafter, the Polar code sequence generated in the method 800 may be a reliability sequence Q N
In one implementation, the reliability sequence Q N Can be composed of a reliability sequence Q Nmax And (4) determining. Reliability sequence Q Nmax Is the maximum code length N max The reliability sequence corresponding to the Polar code of (1). N is a radical of hydrogen max Is a positive integer power of 2, the sequence can cover any code rate and the code length is less than N in a nested mode max Any combination of (a).
When the mother code length of Polar code is N, the slave Q Nmax Selecting elements with values less than N to obtain corresponding reliability sequence Q N ,N≤N max . For example, from Q Nmax The N elements with the highest reliability are selected to be arranged to obtain a reliability sequence Q N
Illustratively, the reliability sequence Q Nmax May be generated off-line. That is, step S1 may include reading the reliability sequence Q Nmax Obtaining a corresponding reliability sequence Q based on given transmission parameters (e.g., code length and code rate) N
The method for constructing Polar code sequence in the embodiment of the application can be used for generating the reliability sequence Q Nmax . Detailed description referring to method 800 hereinafter, the Polar code sequence generated in the method 800 may be a reliability sequence Q Nmax
And S2, performing Polar code coding on the bits to be coded based on the reliability sequence to obtain a coded bit sequence.
Specifically, a bit to be coded is obtained, a set of indexes of the information bit is determined according to the reliability sequence, and Polar code coding is performed on the bit to be coded according to the set of indexes of the information bit to obtain a coded bit sequence.
Determining the set of indexes of the information bits according to the reliability sequence means selecting the indexes of the first K sub-channels with the maximum reliability from the indexes of the N sub-channels included in the reliability sequence as the positions for placing the information bits during polarization coding.
Wherein the K bits to be encoded are mapped onto K of the N polarized channels. The reliability of the K sub-channels is higher than the reliability of the remaining N-K sub-channels. The K bits to be encoded are K information bits.
If the indexes of the sub-channels in the reliability sequence are arranged in the order of the reliability of the sub-channels from high to low, the reliability of the K sub-channels is higher than the reliability of the remaining N-K sub-channels, that is, the indexes of the K sub-channels in the reliability sequence are after the remaining N-K sub-channels.
If the indexes of the sub-channels are arranged in the reliability sequence from low to high, the reliability of the K sub-channels is higher than the reliability of the remaining N-K sub-channels, that is, the indexes of the K sub-channels are located after the remaining N-K sub-channels in the reliability sequence.
Fig. 6 shows a schematic block diagram of a Polar code sequence constructing apparatus 600 provided in the embodiment of the present application, and in order to better understand the method for constructing a Polar code sequence in the embodiment of the present application, the following briefly describes the functions of the respective modules in fig. 6.
The Polar code sequence constructing apparatus 600 comprises an encoding construction module 610 and an encoding evaluation module 620.
The code constructing module 610 is configured to generate a coding result, for example, generate Polar codes, and input the coding result to the code evaluating module 620.
The Polar code sequence in the embodiment of the application is obtained based on a reinforcement learning mode. Polar code generated by the code construction module 610 can be understood as action (action) in reinforcement learning.
The code evaluation module 620 is used for evaluating the generated Polar code and returning the evaluation result to the value code construction module 610.
The evaluation result can be understood as reward (reward) in reinforcement learning. That is, the evaluation result of the polar code can be understood as the reward corresponding to the action.
Specifically, performance indexes of Polar codes, such as bit error rate, delay time or power consumption, may be adopted as the evaluation result of Polar codes.
Illustratively, the performance index may be the result of evaluating Polar codes under actual channels and decoders.
Alternatively, the performance index may be the result of evaluating Polar codes under channels and decoders in a simulation environment.
The encoding construction module 610 updates the parameters of the encoding construction module 610 based on the evaluation result.
Specifically, the code construction module 610 updates the parameters of the code construction module 610 with the goal of maximizing the expected value of reward. For example, the parameters of the code construction module 610 are updated with the goal of minimizing the error rate of Polar codes.
The code construction module 610 updates the Polar code based on the updated parameters and inputs the code to the code evaluation module 620. The above process is repeated until the termination condition is met.
Illustratively, the termination condition includes, but is not limited to, any of: the repetition times reach the preset times, the evaluation result meets the preset conditions, and the like.
For example, the evaluation result satisfying the preset condition may be: the error rate is less than or equal to a preset error rate.
A method 700 for constructing Polar code sequences according to the embodiment of the present application is described in detail below with reference to FIG. 7. The method shown in fig. 7 may be executed by a Polar code sequence constructing apparatus, which may be a terminal device or a network device. For example, the Polar code sequence constructing means may be the means 600 in fig. 6, or the training device 120 in fig. 2, or the neural network processor 50 in fig. 3, or the executing device 310 in fig. 4, etc.
The method 700 includes steps S710 to S740. The following describes steps S710 to S740 in detail.
S710, an index set is obtained, wherein the index set comprises indexes of a plurality of polarized sub-channels.
Illustratively, the index set may comprise the indices of all polarized subchannels, in which case the index set may also be understood as the full set of indices of the polarized subchannels.
For example, if the number of indices of all polarized subchannels is N, then the number of elements in the index set is N. N is an integer power of 2. The method 700 obtains the number of elements in the index sequence of the target polarization code as N. See method 800, infra, for a detailed description.
Alternatively, the index set may include indexes of the partially polarized subchannels.
For example, the number of indexes of all polarized subchannels is N, the indexes of all polarized subchannels are divided into a plurality of index sets, the method 700 is performed based on the plurality of index sets, and the number of elements in the index sequence of the obtained target polarization code is N. See fig. 12, infra, for a detailed description.
S720, a plurality of nested subsets of the index set are obtained according to the index set.
The number of elements in each of the plurality of nested subsets is different. When the plurality of nested subsets are arranged according to the order of the number of elements in the subsets from small to large, the elements in the former subset belong to the latter subset. When the plurality of nested subsets are arranged according to the order of the number of elements in the subsets from large to small, the elements in the latter subset belong to the former subset.
Illustratively, the number of nested subsets of the index set is the same as the number of indices of the polarized subchannels in the index set. The plurality of nested subsets may also be referred to as a set of nested subsets.
For example, the index set is {1,2,3,4}, the number of nested subsets in a set is 4, and a set of nested subsets may include: {4}, {4,1,2} and {4,1,2,3}.
For another example, the index set is {2,7}, the number of nested subsets in a set is 2, and a set of nested subsets may include: {7} and {7,2}.
Illustratively, the number of nested subsets of the index set is less than the number of indices of the polarized subchannels in the index set.
For example, the index set is {1,2,3,4}, the number of the plurality of nested subsets is 3, and the plurality of nested subsets may include: {4,1}, {4,1,2} and {4,1,2,3}.
The elements in the plurality of nested subsets may be indices of the reliably polarized subchannels. In this case, step S720 may be understood as obtaining an index of the nested reliably polarized sub-channels. The reliably polarized subchannels are used for transmitting information bits.
The number of elements in the plurality of nested subsets is different, that is, the number of indices of the reliably polarized subchannels included in each subset is different, that is, the number of information bits that can be transmitted by each subset is different. The index of a set of nested reliably polarized subchannels may be used to generate a set of nested Polar codes in which the number of information bits corresponding to each Polar is different.
In one implementation, the N nested subsets are arranged in order of the number of indexes from small to large, and the N nested subsets may also be referred to as a sequence of subsets.
For example, step S720 may be implemented by a neural network model. That is, step S720 may include: and inputting the index set into a neural network model to obtain a plurality of nested subsets of the index set. For example, the neural network model may be a set-pointer network (set-pointer network). A detailed description of the set-pointer network is provided hereinafter in FIG. 9.
For another example, step S720 may include: and randomly obtaining a plurality of nested subsets of the index set according to the index set.
Illustratively, step S720 may be performed by the code construction module 610 in the apparatus 600. In particular, it may be performed by a neural network model in the code construction module 610. The code construction module 610 derives a plurality of nested subsets of an input index set based on the index set.
And S730, respectively carrying out polarization coding according to the plurality of nested subsets of the index set to obtain a plurality of nested polarization codes corresponding to the index set, wherein the positions of information bits in the plurality of nested polarization codes corresponding to the index set are respectively determined according to indexes in the plurality of nested subsets of the index set.
The number of information bits in the plurality of nested polarization codes is different.
The polarization codes in the plurality of nested polarization codes are in one-to-one correspondence with subsets in the plurality of nested subsets. Each subset of the plurality of nested subsets may be used to generate a Polar code, and the plurality of nested subsets may be used to generate a plurality of Polar codes. The Polar codes have nesting performance, namely the Polar codes are nested Polar codes.
For example, the positions of the information bits in the plurality of nested polarization codes corresponding to the index set may be determined only from the indexes in the plurality of nested subsets of the index set.
In this case, different numbers of information bits are mapped on the polarized subchannels indicated by the subsets having the same number of elements, respectively.
For example, the number of information bits in the plurality of nested polarization codes increases from 1 to 4, the plurality of nested subsets comprising: {4}, {4,1,2} and {4,1,2,3}, and accordingly, the generated nested polarization codes are determined according to 0001,1001,1101, 1111.
Alternatively, the positions of the information bits in the plurality of nested polar codes to which the index set corresponds may be determined from the indexes and other indexes in the plurality of nested subsets of the index set.
In this case, different numbers of information bits are respectively mapped on the polarized subchannels indicated by the subsets having the correspondence.
For example, the number of information bits in the plurality of nested polarization codes is 6 and 7, and the plurality of nested subsets may include: {7} and {7,2}, where the positions of 5 information bits are determined according to other indices, e.g., (4, 6,5, 1) to indicate 5 information bits, the resulting nested polarization codes are determined according to 10011110 and 11011110.
And S740, obtaining the performance evaluation result of the plurality of nested polarization codes corresponding to the index set.
Illustratively, the performance evaluation result may be a result of evaluating the performance of Polar codes under an actual channel and decoder.
Alternatively, the performance evaluation result may be a result of evaluating the performance of Polar codes under channels and decoders in a simulation environment.
For example, communication is performed in an emulation environment, and the plurality of nested Polar codes are decoded. Specifically, a white Gaussian noise channel or a fading channel can be used as a simulation channel, a low-complexity SCL-PM or SCL-Genie decoding algorithm is used as a simulation decoder, and the plurality of nested Polar codes are decoded to obtain the performance evaluation result of the plurality of nested Polar codes.
Performance evaluation indicators include, but are not limited to, any of: block error rate, delay, or power consumption, etc.
In one implementation, the performance evaluation results may be pre-stored, e.g., in a look-up table. In this case, the performance evaluation result of acquiring the polarization code may also be a performance evaluation result of reading the polarization code.
For example, the polar code generated for the first time during the execution of the method 700 and the performance evaluation result of the polar code are stored in the lookup table, and if the same polar code appears again during the execution of the method 700, the performance evaluation result of the polar code is obtained from the lookup table.
Thus, the time required for the performance evaluation process can be reduced, and the processing efficiency can be improved.
For example, the performance evaluation index is a block error rate (BLER), and the performance evaluation result of the plurality of nested polarization codes corresponding to the index set may be a sum of BLERs of the plurality of nested polarization codes or an average value of BLERs of the plurality of nested polarization codes.
Illustratively, step S740 may be performed by the code evaluation module 620 in the apparatus 600 and return the performance evaluation result to the code construction module 610.
Under the condition that the performance evaluation results of the plurality of nested polarization codes corresponding to the index set do not meet the preset condition, updating the plurality of nested subsets of the index set in the step S720 based on the performance evaluation results of the plurality of nested polarization codes corresponding to the index set, repeating the steps S730 to S740 until the performance evaluation results of the plurality of nested polarization codes corresponding to the index set meet the preset condition or the number of updating times reaches the preset number of times, and obtaining the index sequence of the target polarization code according to the plurality of nested subsets of the updated index set.
The index sequence of the target polarization code is used to indicate the reliability rank of the polarized subchannels.
For example, the performance evaluation index is a block error rate, and the performance evaluation result of the plurality of nested polarization codes meeting the preset condition may be: the sum of BLERs of the plurality of nested polarization codes is less than or equal to a preset block error rate.
As previously mentioned, the plurality of nested subsets in step S720 may be derived from a neural network model, in which case updating the plurality of nested subsets of the index set in step S720 may include: and updating parameters of the neural network model, and obtaining a plurality of nested subsets of the index set based on the updated neural network model. The number of updates can also be understood as the number of iterations of the neural network model.
In particular, parameters of the neural network model may be updated based on a reinforcement learning algorithm. The method for implementing the method 800 based on reinforcement learning may be referred to as a model-free coding method based on reinforcement learning. I.e. the parameters of the neural network model are updated with the goal of maximizing the expected value of reward. For example, the performance evaluation indicator is BLER, i.e., a parameter for updating the neural network model with the goal of minimizing the BLER of the plurality of nested polarization codes.
For example, parameters of the neural network model may be updated by a policy gradient (policy gradient) algorithm until the performance evaluation result of the plurality of nested polarization codes corresponding to the index set meets a preset condition or the number of updates reaches a preset number, and the index sequence of the target polarization code is obtained according to the plurality of nested subsets of the updated index set.
Specifically, obtaining the index sequence of the target polarization code according to the updated plurality of nested subsets may include: and obtaining an index sequence of the target polarization code according to the nesting order of the plurality of nested subsets.
The nesting order of the plurality of nested subsets may be in a descending order of the number of indices in the plurality of nested subsets.
For example, if the plurality of updated nesting subsets are {2}, {2,1,3,4}, the index sequence of the target polarization code obtained according to the nesting order is (2, 1,3, 4).
According to the scheme of the embodiment of the application, the nested subset is continuously updated through the performance evaluation indexes of the Polar codes under the given channel and decoding environment until the Polar codes meeting the conditions are obtained, and the index sequence of the target Polar code is obtained based on the updated nested subset, so that the accuracy of the reliability of the sub-channel is improved, and the performance of the Polar codes is further improved.
In addition, the scheme of the embodiment of the application does not depend on the assumptions of a channel model and a decoding algorithm, does not need to model the relation between the actual channel and the coding and performance under a decoder, can obtain different performance evaluation results under different channel environments and decoding environments, and obtains the index sequence of the target polarization code based on the evaluation results. Therefore, the scheme can adapt to different channel environments and different decoders, and is favorable for matching the actual channel and the decoding environment.
A method 800 for constructing a code sequence of Polar in the embodiment of the present application is described below. Method 800 may be considered a specific implementation of method 700. The method 800 includes steps S810 to S840. The following describes steps S810 to S840 in detail.
S810, acquiring an index set.
Step S810 corresponds to step S710 in method 700.
The index set may comprise the indices of all polarized subchannels, in which case the index set may also be understood as the full set of indices of the polarized subchannels.
For example, if the number of indices of all polarized subchannels is N, then the number of elements in the index set is N. N is an integer power of 2.
Illustratively, N may be the maximum code length of Polar codes. Alternatively, N may be the length of the mother code.
For example, as shown in fig. 8, when N =4, the index set may be {1,2,3,4}.
S820, a plurality of nested subsets of the index set are obtained according to the index set.
Step S820 corresponds to step S720 in method 700.
The elements in the plurality of nested subsets may be indices of the reliably polarized subchannels. In this case, step S820 may be understood as deriving an index of the nested reliably polarized subchannels. The reliably polarized subchannel is used for transmitting information bits, that is to say the plurality of nested subsets are used to indicate the position of the information bits.
Illustratively, the number of nested subsets of the index set is the same as the number of indices of the polarized subchannels in the index set. The plurality of nested subsets may also be referred to as a set of nested subsets.
For example, as shown in fig. 8, when N =4, the index set is {1,2,3,4}, the number of a set of nested subsets is 4, and the numbers of indexes in a set of nested subsets are: 1,2,3,4, a set of nested subsets may include: {4}, {4,1,2} and {4,1,2,3}.
Illustratively, the number of nested subsets of the index set is less than the number of indices of the polarized subchannels in the index set.
For example, the index set is {1,2,3,4}, the number of the plurality of nested subsets is 3, the number of indexes in the 3 nested subsets is 2,3,4, respectively, and the plurality of nested subsets may include: {4,1}, {4,1,2} and {4,1,2,3}.
Each of the N nested subsets may be used to generate one Polar code, and the N nested subsets may be used to generate N Polar codes. The N Polar codes have nesting, that is, the N Poalr codes are N nested Polar codes.
The index in each subset is the index of the polarized subchannel used to map the information bits. That is, the index in each subset is used to indicate the position of the information bit in one Polar code. The number of indices in each subset is the number of information bits.
For example, if the number of indexes in one subset of the N nested subsets is 3, the subset may be used to generate a Polar code with 3 information bits.
Exemplarily, step S820 may include: and randomly obtaining a plurality of nested subsets of the index set according to the index set.
Optionally, step S820 may include: and inputting the index set into a set-pointer network (set-pointer network) for processing to obtain a plurality of nested subsets of the index set.
A detailed description of the set-pointer network can be found in FIG. 9 hereinafter.
And S830, respectively carrying out polarization coding according to the plurality of nested subsets to obtain a plurality of nested Polar codes corresponding to the index set. The positions of the information bits in the plurality of nested polarization codes corresponding to the index set are determined according to the indexes in the plurality of nested subsets of the index set.
Step S830 corresponds to step S730 in method 700.
The plurality of nested subsets and the plurality of nested Polar codes are in one-to-one correspondence.
Specifically, the kth subset S of the plurality of nested subsets k Corresponding to the kth Polar code of the plurality of nested Polar codes. The kth subset comprises k indexes, and accordingly, the length of the information bits in the kth Polar code is k. In this case, the positions of the information bits in the plurality of nested polar codes to which the index set corresponds may be determined only from the indexes in the plurality of nested subsets of the index set.
The plurality of nested Polar codes may also be referred to as an index sequence of nested Polar codes.
Illustratively, N nested subsets are obtained in step S820, and N information bits with different lengths are respectively mapped onto the polarized subchannels indicated by the indexes in the corresponding N nested subsets, so as to obtain a group of nested Polar codes with a code length N.
For example, as shown in fig. 8, the 4 nested subsets are {4}, {4,1,2}, {4,1,2,3}, respectively, the 4 nested subsets are used to indicate the positions of information bits in 4 Polar codes, the lengths of the information bits in the 4 Polar codes are 1,2,3,4, respectively, and accordingly, the generated nested Polar codes are determined according to 0001,1001,1101, 1111.
S840, obtaining the performance evaluation result of a plurality of nested polarization codes corresponding to the index set.
Step S840 corresponds to step S740 of method 700.
Performance evaluation indicators include, but are not limited to, any of: block error rate, delay or power consumption, etc.
Illustratively, the performance evaluation index is BLER, and the evaluation result of N nested polarization codes may be the sum of BLER of the N nested polarization codes
Figure BDA0002685012610000211
Wherein BLER i Indicating the BLER of the polarization code generated by the ith subset (i.e., the ith polarization code).
For example, as shown in fig. 8, the performance evaluation indicator may be a BLER, and the performance evaluation result of the plurality of nested polarization codes corresponding to the index set may be a sum of BLERs of the plurality of nested polarization codes
Figure BDA0002685012610000212
Wherein BLER i Indicating the BLER of the i-th polarization code.
Under the condition that the performance evaluation results of the plurality of nested Polar codes do not meet the preset condition, updating the plurality of nested subsets of the index set in the step S820 based on the performance evaluation results of the plurality of nested Polar codes, repeating the steps S830 to S840 until the performance evaluation results of the plurality of nested Polar codes meet the preset condition or the number of updating times reaches the preset number of times, and obtaining the index sequence of the target Polar code according to the updated plurality of nested subsets.
As previously described, multiple nested subsets may be obtained through a set-pointer network in step S820. In this case, updating the plurality of nested subsets of the index set in step S820 based on the performance evaluation results of the plurality of nested polarization codes may include: and updating parameters of the set-pointer network based on the performance evaluation results of the plurality of nested polarization codes, and obtaining a plurality of nested subsets based on the updated set-pointer network.
For example, the performance evaluation result of the plurality of nested polarization codes corresponding to the index set may be the sum of the BLERs of the plurality of nested polarization codes
Figure BDA0002685012610000213
The optimization objective satisfies the following formula:
Figure BDA0002685012610000221
i.e. updating the parameters of the set-pointer network with the target of minimizing BLER.
For example, the parameters of the set-pointer network may be updated by policy gradient (policy gradient).
When the performance evaluation results of the plurality of nested polarization codes meet the preset conditions or the updating times reach the preset times, the set-pointer network training is finished to obtain a trained set-pointer network, and the index sequence of the target polarization code is obtained according to the plurality of nested subsets output by the trained set-pointer network.
Specifically, obtaining the index sequence of the target polarization code according to the updated plurality of nested subsets may include: and obtaining an index sequence of the target polarization code according to the nesting order of the plurality of nested subsets.
The nesting order of the plurality of nested subsets may be in a descending order of the number of indices in the plurality of nested subsets.
For example, if the plurality of updated nested subsets are {2}, {2,1,3,4}, the index sequence of the target polarization code obtained according to the nesting order is (2, 1,3, 4).
According to the scheme of the embodiment of the application, the nested subset is continuously updated through the performance evaluation indexes of the Polar codes under the given channel and decoding environment until the Polar codes meeting the condition are obtained, and the index sequence of the target Polar code is obtained based on the updated nested subset, so that the accuracy of the reliability of the sub-channel is improved, and the performance of the Polar codes is further improved.
In addition, the scheme of the embodiment of the application does not depend on the assumptions of a channel model and a decoding algorithm, does not need to model the relation between the actual channel and the coding and performance under a decoder, can obtain different performance evaluation results under different channel environments and decoding environments, and obtains the index sequence of the target polarization code based on the evaluation results. Therefore, the scheme can adapt to different channel environments and different decoders, and is favorable for matching the actual channel and the decoding environment.
In the context of real channels and decoders, the performance of Polar codes is a black-box function of Polar codes, and the number of nested Polar codes is determined by the number of sets of nested reliable subchannels, in particular by the number of permutations of indices N! And (6) determining. For example, when N =1024, the combined space will reach N! =10 253 This puts higher requirements on the computation capability and affects the construction efficiency of the Polar code sequence.
FIG. 9 shows that a set-pointer network proposed in the embodiment of the present application can reduce the computation overhead and improve the efficiency of constructing a Polar code sequence.
The set-pointer network may be disposed in a code construction module 610 in the apparatus 600 for outputting a plurality of nested subsets.
The input of the set-pointer network is a set, and the output is a set of nested subsets, namely a plurality of subsets are output, and the plurality of subsets have nesting performance.
In the embodiment of the application, the index set is input into a set-pointer network for processing, and the set-pointer network sequentially outputs a plurality of nested subsets. The conditional probability distribution of a set-pointer network is
Figure BDA0002685012610000222
Wherein S is i Subset representing the ith output of a set-pointer network, S i-1 Denotes the subset of i-1 th output of the set-pointer network, S denotes the index set of the input, S 0 For the empty set, p represents the probability, θ represents a parameter of the set-pointer network, and N represents the number of elements in the index set, i.e., the number of indices of the polarized subchannel.
Step S720 or step S820 may obtain a plurality of nested subsets of the index set through the set-pointer network, and specifically may include step S721 to step S727.
And S721, respectively extracting the characteristics of the indexes of the plurality of polarized sub-channels to obtain the characteristic vectors of the indexes of the plurality of polarized sub-channels.
Optionally, step S721 includes: performing one-hot (one-hot) encoding on the indexes of the plurality of polarized subchannels, respectively; and performing feature extraction on the result of the one-hot coding to obtain feature vectors of indexes of a plurality of polarized sub-channels.
one-hot encoding can convert input elements into a form that is readily utilized by machine learning algorithms. Furthermore, the order relation of the elements in the index set can be removed through one-hot encoding. This can further ensure that the order of the elements in the index set does not affect the output result of the set-pointer network. For example, as shown in fig. 9, the index set is {1,2,3,4}, and four elements in the index set are respectively subjected to one-hot encoding to obtain four codes a1, a2, a3, a4 corresponding to the four elements.
For example, as shown in fig. 9, g (·) represents a function for feature extraction, and four codes a1, a2, a3, and a4 are respectively subjected to feature extraction to obtain corresponding four feature vectors x1, x2, x3, and x4.
Specifically, feature extraction may be performed using a linear function or a nonlinear function. In the neural network model, a linear function may also be referred to as a linear layer, and a nonlinear function may also be referred to as a nonlinear layer.
For example, as shown in fig. 10 or fig. 11, a linear function may be used for feature extraction, a feature vector x k The following formula is satisfied:
x k =Wa k
wherein W represents a weight matrix, x k Feature vector representing the k-th element, a k Representing the encoding of the k-th element.
It should be understood that fig. 10 and fig. 11 are only schematic diagrams, and feature extraction may also be performed through a nonlinear function, and the embodiment of the present application does not limit the manner of feature extraction.
And S722, determining the output probability of the indexes of the plurality of polarized sub-channels according to the feature vectors of the indexes of the plurality of polarized sub-channels.
That is, the output probability of each element in the index set is determined according to the feature vector of each element.
And S723, adding one index of the indexes of the plurality of polarized subchannels to the first subset according to the output probability of the indexes of the plurality of polarized subchannels.
For example, the index with the highest output probability among the indexes of the plurality of polarized subchannels is added to the first subset.
As another example, sampling is performed according to output probabilities of the indices of the plurality of polarized subchannels, and the sampled indices are added to the first subset. This way the update process can be trapped in local optima.
The Set-pointer network may output the first subset.
And S724, performing feature extraction on the first subset to obtain a feature vector of the first subset.
Optionally, step S724 includes: summing or averaging the indexed feature vectors in the first subset; and performing feature extraction on the processed result to obtain a feature vector of the first subset.
For example, as shown in FIG. 9, the feature vector u of the first subset i-1 The following formula is satisfied:
Figure BDA0002685012610000231
u i-1 subset S representing the i-1 th output of the Set-pointer network i-1 The subset of the (i-1) th output, i.e. the first subset, x, output in step S723 in the current iteration process j A feature vector representing the jth element belonging to S i-1 . h (.) represents a function for feature extraction on the subset.
The feature vectors of the first subset thus obtained are not affected by the order of the elements in the first subset.
Optionally, a linear function may be used to perform feature extraction on the processed result, so as to obtain a feature vector of the first subset.
Illustratively, as shown in FIG. 10, feature extraction may be performed using linear layers, feature vectors u i-1 The following formula is satisfied:
Figure BDA0002685012610000232
where H represents a weight matrix.
Optionally, a nonlinear function may be adopted to perform feature extraction on the processed result, so as to obtain a feature vector of the first subset.
Illustratively, as shown in fig. 11, a non-linear layer may be used for feature extraction, and a feature vector u i-1 The following formula is satisfied:
Figure BDA0002685012610000241
where H denotes a weight matrix and ReLU () denotes a linear rectification function (ReLU).
S725 updates an output probability of an index not belonging to the first subset based on the eigenvector of the index not belonging to the first subset among the indexes of the plurality of polarized subchannels and the eigenvector of the first subset.
I.e. determining the output probability of other elements than the first subset.
For example, as shown in fig. 9, the output probabilities of the other elements outside the first subset satisfy the following formula:
Figure BDA0002685012610000242
p i,k indicating the output probability of the kth element, it can also be understood that the kth element is output to S i The probability of (c). f (.) represents a function that calculates the output probability, x k Feature vector representing the kth element, the kth element not belonging to S i-1
Step S722 may also be understood as updating the output probability of the index not belonging to the first subset according to the feature vector of the index not belonging to the first subset and the feature vector of the first subset among the indexes of the plurality of polarized subchannels according to the above formula. The first subset is an empty set, and the feature vector of the first subset is u 0 =h(x 0 ) Wherein x is 0 Representing one parameter of the neural network model.
Specifically, attention scores between the feature vectors of the indexes of the plurality of polarized subchannels, which do not belong to the first subset, and the feature vectors of the first subset may be respectively calculated based on an attention (attention) model, and an output probability of the indexes not belonging to the first subset may be determined according to the attention scores.
I.e. separately calculating S based on the attention model i-1 Sum of feature vectors of S i-1 (ii) an attention score between feature vectors of the other indices, from which attention score S is determined i-1 Output probabilities of indices other than the one.
For example, index set S includes 4 elements, S i-1 Including an element, calculating S separately i-1 Sum of feature vectors not belonging to S i-1 The feature vectors of the other three elements of (1).
Optionally, step S725 includes:
respectively calculating attention scores between the feature vectors of the indexes which do not belong to the first subset in the indexes of the plurality of polarized sub-channels and the feature vectors of the first subset by using an additive attention model; updating an output probability of an index not belonging to the first subset according to an attention score between a feature vector of an index not belonging to the first subset and a feature vector of the first subset among indexes of the plurality of polarized subchannels.
For example, as shown in FIG. 10, S i-1 C and the feature vector of the kth element i,k The following formula is satisfied:
Figure BDA0002685012610000243
where v represents a vector.
Optionally, step S725 includes:
calculating attention scores between the feature vectors of the indexes of the plurality of polarized sub-channels, which do not belong to the first subset, and the feature vectors of the first subset by using a multiplicative attention model; updating an output probability of an index not belonging to the first subset according to an attention score between a feature vector of an index not belonging to the first subset and a feature vector of the first subset among indexes of the plurality of polarized subchannels.
For example, as shown in FIG. 11, S i-1 C and the feature vector of the kth element i,k The following formula is satisfied:
Figure BDA0002685012610000244
specifically, determining an output probability of an index not belonging to the first subset according to the attention score includes: and performing normalization processing on the attention scores, and taking the processing result as the output probability of the index not belonging to the first subset.
For example, as shown in fig. 10 or fig. 11, S is obtained based on the attention score i-1 The output probability distribution of the other elements is p i The following formula is satisfied:
p i =softmax(c i );
c i denotes S i-1 Sum of feature vectors of S i-1 Attention scores between feature vectors of elements other than the one.
S726, one of the indexes not belonging to the first subset is added to the first subset according to the output probability of the index not belonging to the first subset.
For example, the index with the highest output probability among the indexes not belonging to the first subset is added to the first subset.
As another example, sampling is performed based on the output probability of an index not belonging to the first subset, and the sampled index is added to the first subset. This way the update process can be trapped in local optima.
The Set-pointer network may output the first subset.
S727: and updating the first subset in the step S724, repeating the steps S724 to S727, and taking the obtained plurality of first subsets as the plurality of nested subsets.
In the execution of steps S721 to S727, the Set-pointer network may output the first subset after each update. For example, if the number of the nested subsets is N, step S727 may be repeated from step S724 to step S727 until the Set-pointer network outputs N first subsets, that is, N nested subsets.
As described above, in the case that the performance evaluation results of the plurality of nested polar codes corresponding to the index set do not satisfy the preset condition, the plurality of nested subsets of the index set in step S720 are updated based on the performance evaluation results of the plurality of nested polar codes corresponding to the index set.
Specifically, parameters of the set-pointer network can be updated based on performance evaluation results of a plurality of nested polarization codes corresponding to the index set, the steps S721 to S727 are repeated based on the updated set-pointer network to obtain a plurality of nested subsets until the training of the set-pointer network is completed, a trained set-pointer network is obtained, and the index sequence of the target polarization code is obtained according to the plurality of nested subsets output by the trained set-pointer network.
Illustratively, the parameters of the set-pointer network may be updated by the policy gradient algorithm. The method for updating parameters of the neural network model based on the reinforcement learning may adopt other methods in the prior art, which is not limited in this embodiment of the present application.
Based on the nesting of Polar codes, the output subset is related only to the indexes in the input index set, and is not related to the order of the indexes in the input index set. However, for sequence-to-sequence (sequence) models in existing schemes, such as pointer networks (pointer networks), the order of the indices in the index set in the input model affects the output subset. That is, in the case where the elements in the input index set are the same, if the order of the elements in the input index set is different, the subsets output by the pointer network are also different. Therefore, the neural network model in the existing scheme cannot fully express the input-output relationship of the coding structure, so that an accurate nested subset cannot be obtained, and the training efficiency and the training effect are influenced.
In the embodiment of the application, the input of the set-pointer network is an index set, and the order of the indexes in the index set does not affect the output result, for example, the indexes are encoded by one-hot encoding to eliminate the influence of the size of the indexes on the output result. In addition, the subset output each time is processed, for example, the feature vector of the index in the subset is summed up or the average value is calculated, so as to avoid that the order of the elements in the subset output this time affects the elements in the subset output next time, that is, the method of the embodiment of the present application can ensure that the subset output i-th time is only related to the elements in the subset output i-1-th time, and the order of the elements in the subset output i-1-th time does not affect the elements in the subset output i-th time. For example, N =4, the index set S input to the set-pointer network is {1,2,3,4}, and in the case where the subset of the i-1 th output is {1,4} or the subset of the i-1 st output is {4,1}, the probability that the set of the indices of the i-th output is {4,1,2} is the same, that is, the probability that the set of the indices of the i-th output is {4,1,2} satisfies the following formula.
p θ ({4,1,2}|{1,2,3,4},{4,1})=p θ ({4,1,2}|{1,2,3,4},{1,4});
The change in order of index 4 and index 1 in the subset of i-1 th outputs does not affect the probability that the subset of outputs is 4,1, 2.
Therefore, the scheme of the embodiment of the application can fully express the input-output relation of the coding structure, improve the training effect, namely improve the accuracy of the reliability sequencing of the polarized sub-channels, improve the training efficiency and reduce the time cost.
A method 1200 for constructing Polar code sequences in the embodiments of the present application is described below. The method 1200 may be executed by a Polar code sequence constructing apparatus, which may be a terminal device or a network device. For example, the Polar code sequence constructing means may be the means 600 in fig. 6, or the training device 120 in fig. 2, or the neural network processor 50 in fig. 3, or the executing device 310 in fig. 4, etc.
Method 1200 may be considered a specific implementation of method 700, and specific description may refer to method 700. In order to avoid unnecessary repetition, the repeated description is appropriately omitted below when the method 1200 is introduced.
The method 1200 includes steps S1210 to S1240. The following describes steps S1210 to S1240 in detail.
S1210, an index set is obtained.
Specifically, step S1210 includes:
(1) The indexes in the index sequence of the first polarization code are divided into Q sets according to the order of the indexes in the index sequence of the first polarization code, each set of the Q sets comprises at least one index, and Q is an integer greater than 1.
(2) P sets in the Q sets are used as P index sets. Wherein each set of the P sets comprises at least two indexes, P is an integer greater than 1, and P is less than or equal to Q.
The index sequence of the first polarization code can be understood as a sub-optimal sequence.
Illustratively, the index sequence of the first polarization code has a length of N, and is partitioned into Q =2R mutually disjoint sets in a front-to-back order. N is a positive integer power of 2. The number of elements in each set is N/2R. R is a positive integer.
For example, an index sequence of N =8 (4, 6,5,1,2,8,3, 7), may be partitioned into 2r =4 subsets, the number of elements in each subset being 2, the 4 subsets including: {4,6}, {5,1}, {2,8} and {3,7}.
S1220, executing the method 700 based on the P index sets, respectively, to obtain a plurality of nested subsets of the updated P index sets, respectively.
Illustratively, the P index sets can be respectively input into P set-pointer networks for parallel training, and the trained P set-pointer networks respectively obtain a plurality of nested subsets corresponding to the P index sets. For example, as shown in fig. 12, P is 4, and the current index sequence is an index sequence of the first polarization code.
Specifically, corresponding nested Polar codes are respectively obtained based on the nested subsets output by each set-pointer network, and reinforcement learning is performed based on the performance evaluation result of the nested Polar codes, namely, the performance evaluation result is updated to the parameters of the set-pointer network.
Optionally, the positions of information bits in the multiple nested polarization codes corresponding to the index set are respectively determined according to indexes in multiple nested subsets of the index set, and the method includes:
the positions of the information bits in the plurality of nested polar codes corresponding to the first index set are respectively determined according to the indexes in the plurality of nested subsets of the first index set and the indexes in the set before the first index set based on the order of the indexes in the index sequence of the first polar code. The first index set is one of the P index sets.
The index sequence of the first polarization code is arranged from high to low according to the reliability of the polarized sub-channel, and the reliability of the polarized sub-channel corresponding to the index before the first index set is higher than that of the polarized sub-channel corresponding to the index in the first index set. Thus, in the optimization process of the first set of indices, the indices preceding the first set of indices are used to transmit information bits.
For example, the first index set is {2,8}, and {2,8} is input into one set-pointer network A of the P set-pointer networks, and the output nested subset may include: {8},{8,2}. The position of the information bit in the {2,8} corresponding nested polarization code is determined from the index in {8} and the index in {8,2} and the index (4, 5,6, 1) located before {2,8 }. That is, the code at the position indicated by the index (4, 6,5, 1) is 1, and the code at the position indicated by the index (3, 7) is 0. The corresponding nested polarization code of {2,8} is determined from 10011101 and 11011101. And updating the parameters of the set-pointer network A based on the performance evaluation result of the set of nested polarization codes until the training of the set-pointer network A is completed, and obtaining a plurality of nested subsets corresponding to {2,8 }.
Specifically, the specific process of obtaining a plurality of nested subsets of the updated index set through set-pointer network processing may refer to the method shown in fig. 9, and details are not described here.
P Set-Pointer networks can be trained in parallel based on the same mode, decisions of all Set-pointers are independent, and a plurality of nested subsets corresponding to P index sets can be obtained based on the trained P Set-Pointer networks.
S1230, generating P subsequences according to the updated multiple nested subsets of the P index sets, and combining the rest Q-P sets and the P subsequences based on the sequence of indexes in the index sequence of the first polarization code to obtain an index sequence of a second polarization code.
The 4 trained set-pointer networks can obtain nested subsets corresponding to the 4 index sets, 4 subsequences can be obtained based on the nested subsets corresponding to the 4 index sets, and the 4 subsequences are combined into an index sequence of a second polarization code according to the sequence of indexes in the index sequence of the first polarization code.
For example, the nested subset of {4,6} includes {4} and {4,6}, the nested subset of {5,1} includes {1} and {1,5}, the nested subset of {2,8} includes {8} and {8,2}, and the nested subset of {3,7} includes {3} and {3,7}, and the index sequence of the second polarization code obtained by combining is (4, 6,1,5,8,2,3, 7).
And S1240, obtaining the index sequence of the target polarization code according to the index sequence of the second polarization code.
Exemplarily, the index sequence of the second polarization code is taken as the index sequence of the target polarization code.
Specifically, under the condition that the performance evaluation results of the nested Polar codes generated by the plurality of nested subsets of the updated P index sets satisfy the preset condition, the index sequence of the second Polar code is used as the index sequence of the target Polar code.
For example, the performance evaluation indicator is BLER, and taking the aforementioned index sequence of N =8 (4,6,5,1,2,8,3,7) as an example, in the case that the sum of BLERs of 8 nested Polar codes generated by a plurality of nested subsets of the updated 4 index sets is less than or equal to the preset BLER, the index sequence of the second polarization code is taken as the index sequence of the target polarization code.
In this way, the processing procedures of the set-pointer networks are independent of each other, and parallel training can be realized. Because the index sequence has nesting, after the index sequence is divided into a plurality of sets, the position code indicated by the index positioned in front of each index set is 1, and the position code indicated by the index positioned behind each index set is 0, so that Polar codes corresponding to the index sequence under the independent training condition have certainty, the calculation amount can be reduced, and the training efficiency is further improved.
Optionally, the method 1200 may further include steps S1250 to S1280. In this case, step S1240 may not be performed.
S1250, acquiring the index set.
Specifically, step S1250 includes: and dividing the indexes in the index sequence of the second polarization code into L sets according to the sequence of the indexes in the index sequence of the second polarization code, wherein each set in the L sets comprises at least one index, and L is an integer greater than 1. At least one of the L sets has indices that are different from indices in any of the Q sets.
That is, the division positions for the first polarization code and the division positions for the second polarization code overlap each other.
And taking M sets in the L sets as M index sets. Wherein each set of the M sets comprises at least two indexes, M is an integer greater than 1, and M is less than or equal to L.
Illustratively, the length of the index sequence of the second polarization code is N, and the index sequence of the second polarization code is divided into 2r +1 mutually disjoint sets in the order from front to back. N is a positive integer power of 2. For example, the first and last sets of 2R +1 sets include N/4R elements, and each subset of the remaining (2R-1) sets includes N/2R elements. N is more than or equal to 4R.
For example, the index sequence (4, 6,1,5,8,2,3, 7) of the second polarization code is divided into 2r +1=5 sets, the first set and the last set include 1 element, each of the remaining 3 sets include 2 elements, and the 3 sets are taken as 3 index sets. The 5 sets include: {4}, {6,1}, {5,8}, {2,3} and {7}.
Illustratively, in a case that the performance evaluation result of the nested Polar code generated by the plurality of nested subsets of the updated P index sets does not satisfy the preset condition, steps S1250 to S1280 are performed.
S1260, execute the method 700 based on the M index sets respectively, and obtain a plurality of nested subsets of the updated M index sets respectively.
Exemplarily, the M index sets can be respectively input into M set-pointer networks for parallel training, and a plurality of nested subsets corresponding to the M index sets are respectively obtained by the trained M set-pointer networks. For example, as shown in fig. 12, M is 3, that is, a plurality of nested subsets corresponding to 3 index sets are obtained by using 3 set-pointer networks, and the current index sequence is the index sequence of the second polarization code. It should be understood that the number of set-pointer networks in fig. 12 is only an illustration, and in practical applications, the number of set-pointer networks may be adjusted as needed, which is not limited in the embodiment of the present application.
Optionally, the positions of information bits in the multiple nested polarization codes corresponding to the index set are respectively determined according to indexes in multiple nested subsets of the index set, and the method includes: the positions of the information bits in the plurality of nested polarization codes corresponding to the second index set are respectively determined according to the indexes in the plurality of nested subsets of the second index set and the indexes in the set before the second index set based on the order of the indexes in the index sequence of the second polarization code, and the second index set is one of the M index sets.
For example, the second index set is {5,8}, and {5,8} is input into one set-pointer network B of the M set-pointer networks, the nested subset of outputs may include: {8},{8,5}. The position of the information bit in the {5,8} corresponding nested polar code is determined from the index in {8} and the index in {8,5} and the index (4, 6, 1) located before {5,8 }. That is, the code at the position indicated by the index (4, 6, 1) is 1, and the code at the position indicated by the index (2, 3, 7) is 0. The corresponding nested polarization code of {5,8} is determined from 10010101 and 10011101. And updating parameters of the set-pointer network B based on the performance evaluation result of the set of nested polarization codes until the training of the set-pointer network B is completed to obtain a plurality of nested subsets corresponding to {5,8 }.
For a detailed description, refer to step S1220, which is not described herein again.
S1270, generating M subsequences according to the updated multiple nested subsets of the M index sets, and combining the rest L-M sets and the M subsequences based on the sequence of indexes in the index sequence of the second polarization code to obtain the index sequence of the third polarization code.
The 3 trained set-pointer networks can obtain nested subsets corresponding to the 3 index sets, 3 subsequences can be obtained based on the nested subsets corresponding to the 3 index sets, and the 3 subsequences are combined according to the sequence of indexes in the index sequence of the second polarization code to obtain the index sequence of the third polarization code.
For example, the nested subset of {6,1} includes {6} and {6,1}, {5,8} includes {8} and {8,5}, {2,3} includes {2} and {2,3}, and the index sequence of the third polarization code obtained by the combination is (4, 6,1,8,5,2,3, 7).
If the performance evaluation results of the plurality of nested polarization codes corresponding to the M index sets do not satisfy the preset condition, the index sequence of the first polarization code in step S1210 is updated according to the index sequence of the third polarization code, and step S1210 to step S1270 are repeatedly performed, that is, the index sequence of the first polarization code is alternately divided into Q sets and the index sequence of the second polarization code is alternately divided into L sets to obtain the index sets. Until the performance evaluation results of a plurality of nested polarization codes corresponding to the P index sets meet preset conditions, taking the index sequence of the second polarization code obtained after updating as the index sequence of the target polarization code; or, until the performance evaluation results of the plurality of nested polarization codes corresponding to the M index sets satisfy a preset condition, taking the updated index sequence of the third polarization code as the index sequence of the target polarization code.
It should be understood that the above-mentioned training termination condition is only an example, for example, the training termination condition may also be that the number of iterations reaches a preset number. Steps S1210 to S1280 are an iterative process.
If the performance evaluation results of the plurality of nested polarization codes corresponding to the P index sets satisfy the preset condition after the step S1240 is executed for the first time, the iteration may be terminated, that is, the index sequence of the target polarization code that satisfies the requirement is obtained after half iteration.
For example, the performance evaluation result of the plurality of nested polarization codes corresponding to the P index sets may be the sum or average of the BLERs of the plurality of nested polarization codes corresponding to the P index sets. Or the sum or the average value of BLERs of a plurality of nested polarization codes corresponding to the M index sets.
In the training process, the elements in the index sequence of the first polarization code are divided into a plurality of sets, and the decision space can be reduced based on the parallel training of the plurality of sets, for example, when the index sequence is divided into 2L subsets, the decision space is reduced from O (N!) to
Figure BDA0002685012610000291
Especially for Polar codes with longer code length, the scheme can obviously reduce decision space and improve processing efficiency. Because the Q subsets and the M subsets are not completely the same, that is, the segmentation positions are mutually overlapped through cross segmentation, for example, the index sequence is sequentially segmented into odd sets and even sets, and parallel training is performed based on different sets, so that the element sequencing in the index sequence can be further adjusted to obtain a more accurate index sequence, and the performance of the Polar code is further improved.
For example, the method 1300 may be executed by a terminal device or a network device, and the method may be executed by the terminal device or the network device.
The index sequence of the Polar code used in method 1300 may be constructed by method 700 or method 800 or method 1200 in FIG. 7, described above. The method 1300 includes steps S1310 to S1320. Specific implementations in the method 1300 may refer to the foregoing method 700, and in order to avoid unnecessary repetition, the following description appropriately omits repetition in describing the method 1300.
1310, determining an index sequence Q of the target polarization code N
The index sequence of the target polarization code may also be referred to as a reliability sequence.
Optionally, the index sequence of the target polarization code is obtained by obtaining an index set, where the index set includes indexes of multiple polarization subchannels, obtaining multiple nested subsets of the index set according to the index set, and performing polarization coding according to the multiple nested subsets of the index set, respectively, to obtain multiple nested polarization codes corresponding to the index set, where positions of information bits in the multiple nested polarization codes corresponding to the index set are determined according to the indexes in the multiple nested subsets of the index set, respectively; acquiring performance evaluation results of a plurality of nested polarization codes corresponding to the index set; and under the condition that the performance evaluation results of the plurality of nested polarization codes corresponding to the index set do not meet the preset condition, updating the plurality of nested subsets of the index set in the step two based on the performance evaluation results of the plurality of nested polarization codes corresponding to the index set, repeating the steps from the third step to the fourth step until the performance evaluation results of the plurality of nested polarization codes corresponding to the index set meet the preset condition or the updating times reach the preset times, and obtaining the result according to the plurality of nested subsets of the updated index set.
Optionally, when N =64, that is, when the number of indexes in the index sequence of the target polarization code is 64, the index sequence of the target polarization code is: (62,55,63,47,61,59,31,60,57,23,58,15,54,53,46,51,45,56,30,43,52,39,29,50,27,42,49,44,7,37,28,41,25,38,11,48,35,22,26,21,40,14,19,36,13,24,34,5,33,18,20,10,17,3,12,32,6,9,16,8,2,1,4,0). Wherein, the indexes in the index sequence are arranged according to the reliability of the polarized sub-channel from high to low.
Alternatively, when N =256, that is, when the number of indexes in the index sequence of the target polarization code is 256, the index sequence of the target polarization code is: (255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,237,222,248,235,219,244,231,126,215,242,221,187,236,207,190,241,111,234,183,233,123,230,220,175,218,227,159,125,229,188,214,217,63,240,205,119,211,185,182,232,95,213,206,124,186,203,181,228,174,122,226,171,117,199,216,157,107,179,212,121,225,118,173,158,210,93,167,184,110,204,155,202,115,94,180,209,151,109,178,47,201,143,198,103,169,61,120,224,91,172,177,116,87,197,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,55,108,196,163,101,92,31,149,200,142,90,105,176,85,102,147,141,60,194,99,57,135,168,86,77,164,139,89,54,83,152,112,58,78,162,43,193,104,45,148,75,161,53,146,71,98,27,140,88,46,137,51,100,23,84,145,29,134,97,39,82,76,56,138,30,52,192,73,133,15,81,160,70,50,131,44,41,74,14,144,69,49,38,136,96,21,67,26,42,132,35,28,80,37,25,72,22,48,130,11,7,68,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2). Wherein, the indexes in the index sequence are arranged according to the reliability of the polarized sub-channel from high to low.
Alternatively, when N =256, that is, when the number of indexes in the index sequence of the target polar code is 256, the index sequence of the target polar code is: (255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,235,222,248,237,111,219,244,231,221,242,123,215,190,241,236,183,207,234,233,187,126,229,220,175,218,230,125,227,159,188,214,217,95,240,213,63,186,206,181,203,119,232,211,124,179,205,185,228,174,121,226,118,157,182,199,216,107,173,212,122,225,117,171,158,202,47,167,209,115,155,184,94,178,204,151,110,61,210,197,109,172,143,180,103,201,120,93,224,169,87,198,177,116,91,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,105,102,31,196,141,163,92,55,200,147,85,108,176,90,142,149,101,60,194,27,99,139,89,78,168,164,83,135,57,112,54,193,86,148,77,161,43,58,152,104,75,162,53,71,146,98,45,140,88,46,137,23,100,81,51,192,30,134,84,74,145,97,39,56,15,138,69,50,133,29,82,160,76,44,131,41,52,70,14,73,144,49,35,136,67,21,96,42,26,132,80,37,28,38,25,130,11,72,22,68,7,48,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2). Wherein, the indexes in the index sequence are arranged according to the reliability of the polarized sub-channel from high to low.
1320, polar code encoding is carried out on the bits to be encoded based on the index sequence of the target Polar code, and an encoded bit sequence is obtained.
Optionally, obtaining the index set includes: dividing the indexes in the index sequence of the first polarization code into Q sets according to the sequence of the indexes in the index sequence of the first polarization code, wherein each set in the Q sets comprises at least one index, and Q is an integer greater than 1; taking P sets in the Q sets as P index sets, wherein each set in the P sets comprises at least two indexes, P is an integer larger than 1 and is less than or equal to Q; and the positions of the information bits in the plurality of nested polarization codes corresponding to the index set are respectively determined according to the indexes in the plurality of nested subsets of the index set, and the method comprises the following steps: the positions of information bits in a plurality of nested polarization codes corresponding to the first index set are respectively determined according to indexes in a plurality of nested subsets of the first index set and indexes in a set before the first index set based on the order of the indexes in the index sequence of the first polarization code, and the first index set is one of P index sets; and obtaining an index sequence of the target polarization code according to the plurality of nested subsets of the updated index set, including: generating P subsequences according to a plurality of nested subsets of the updated P index sets; combining the other Q-P sets and the P subsequences based on the sequence of indexes in the index sequence of the first polarization code to obtain an index sequence of a second polarization code; and obtaining the index sequence of the target polarization code according to the index sequence of the second polarization code.
Optionally, obtaining the index set further includes: dividing the indexes in the index sequence of the second polarization code into L sets according to the sequence of the indexes in the index sequence of the second polarization code, wherein each set in the L sets comprises at least one index, L is an integer larger than 1, and at least one set in the L sets is different from the indexes in any one set of the Q sets; taking M sets in the L sets as M index sets, wherein each set in the M sets comprises at least two indexes, M is an integer greater than 1 and is less than or equal to L; and the positions of the information bits in the plurality of nested polarization codes corresponding to the index set are respectively determined according to the indexes in the plurality of nested subsets of the index set, and the method comprises the following steps: the positions of information bits in a plurality of nested polar codes corresponding to the second index set are respectively determined according to indexes in a plurality of nested subsets of the second index set and indexes in a set before the second index set based on the order of indexes in the index sequence of the second polar code, and the second index set is one of M index sets; and obtaining an index sequence of the target polarization code according to the index sequence of the second polarization code, including: generating M subsequences according to the updated multiple nested subsets of the M index sets; combining the rest L-M sets and the M subsequences based on the order of indexes in the index sequence of the second polarization code to obtain an index sequence of a third polarization code, updating the index sequence of the first polarization code according to the index sequence of the third polarization code under the condition that the performance evaluation results of a plurality of nested polarization codes corresponding to the M index sets do not meet a preset condition, alternately dividing the index sequence of the first polarization code into Q sets and dividing the index sequence of the second polarization code into L sets to obtain the index sets until the performance evaluation results of the plurality of nested polarization codes corresponding to the P index sets meet the preset condition, and taking the updated index sequence of the second polarization code as the index sequence of the target polarization code; or until the performance evaluation results of a plurality of nested polarization codes corresponding to the M index sets meet a preset condition, taking the updated index sequence of the third polarization code as the index sequence of the target polarization code.
Optionally, obtaining a plurality of nested subsets of the index set according to the index set includes:
step 2-1: respectively extracting the characteristics of the indexes of the plurality of polarized sub-channels to obtain characteristic vectors of the indexes of the plurality of polarized sub-channels;
step 2-2: determining output probabilities of the indexes of the plurality of polarized sub-channels according to the eigenvectors of the indexes of the plurality of polarized sub-channels;
step 2-3: adding one of the indexes of the plurality of polarized subchannels to the first subset according to an output probability of the indexes of the plurality of polarized subchannels;
step 2-4: extracting features of the first subset to obtain a feature vector of the first subset;
step 2-5: updating the output probability of the index not belonging to the first subset according to the feature vector of the index not belonging to the first subset and the feature vector of the first subset in the indexes of the plurality of polarized sub-channels;
step 2-6: adding one of the indexes not belonging to the first subset according to an output probability of the index not belonging to the first subset;
step 2-7: and updating the first subset in the step 2-4, repeating the step 2-4 to the step 2-7, and taking the obtained plurality of first subsets as a plurality of nested subsets.
Optionally, the performing feature extraction on the indexes of the plurality of polarized subchannels respectively to obtain feature vectors of the indexes of the plurality of polarized subchannels includes: performing one-hot encoding on the indexes of the plurality of polarized sub-channels respectively; and performing feature extraction on the result of the one-hot coding to obtain feature vectors of indexes of a plurality of polarized sub-channels.
Optionally, performing feature extraction on the first subset to obtain a feature vector of the first subset, including: summing or averaging the indexed feature vectors in the first subset; and performing feature extraction on the processed result to obtain a feature vector of the first subset.
Optionally, performing feature extraction on the processed result to obtain a feature vector of the first subset, including: and performing feature extraction on the processed result by using a linear function to obtain a feature vector of the first subset.
Optionally, updating the output probability of the index not belonging to the first subset according to the feature vector of the index not belonging to the first subset and the feature vector of the first subset from the indexes of the plurality of polarized subchannels includes: respectively calculating attention scores between the feature vectors of the indexes, which do not belong to the first subset, in the indexes of the plurality of polarized sub-channels and the feature vectors of the first subset by using an additive attention model; updating an output probability of an index not belonging to the first subset according to an attention score between a feature vector of an index not belonging to the first subset and a feature vector of the first subset among indexes of the plurality of polarized subchannels.
Optionally, performing feature extraction on the processed result to obtain a feature vector of the first subset, including: and performing feature extraction on the processed result by using a nonlinear function to obtain a feature vector of the first subset.
Optionally, updating the output probability of the index not belonging to the first subset according to the feature vector of the index not belonging to the first subset and the feature vector of the first subset from the indexes of the plurality of polarized subchannels includes: calculating attention scores between feature vectors of the indexes of the plurality of polarized sub-channels, which do not belong to the first subset, and feature vectors of the first subset respectively by using a multiplicative attention model; updating an output probability of an index not belonging to the first subset according to an attention score between a feature vector of an index not belonging to the first subset and a feature vector of the first subset among indexes of the plurality of polarized subchannels.
According to the scheme of the embodiment of the application, the nested subset is continuously updated through the performance evaluation indexes of the Polar codes under the given channel and decoding environment until the Polar codes meeting the conditions are obtained, and the index sequence of the target Polar code is obtained based on the updated nested subset, so that the accuracy of the reliability of the sub-channel is improved, and the performance of the Polar codes is further improved.
In addition, the scheme of the embodiment of the application does not depend on the assumptions of a channel model and a decoding algorithm, does not need to model the relation between the actual channel and the coding and performance under a decoder, can obtain different performance evaluation results under different channel environments and decoding environments, and obtains the index sequence of the target polarization code based on the evaluation results. Therefore, the scheme can adapt to different channel environments and different decoders, and is favorable for matching the actual channel and the decoding environment.
FIGS. 13 and 14 show a comparison of the performance of the Polar codes obtained by the method 1300 with those in the 5G standard.
Wherein, a white Gaussian noise channel is given, an SCL-Genie decoder is adopted, the size (list size) of a decoding parameter list is 8, and the check size (check size) is 8. The abscissa represents the length K of the information bits, and the ordinate represents the relative Signal Noise Ratio (SNR) at an error rate of 0.01. The performance of Polar codes in the 5G standard is taken as a baseline, i.e. the line with a relative signal-to-noise ratio of 0 in FIGS. 13 and 14.
Fig. 13 is a diagram illustrating comparison of performances corresponding to a code length N = 64. By adopting the method of the embodiment of the application, the index set with the code length of 64 is input into the set-pointer network for training, and the obtained index sequence is shown in step S1310.
As shown in fig. 13, when the bit error rate is 0.01, the decoding signal-to-noise ratio required by the nested Polar code obtained by the scheme of the present application is lower. For Polar codes with a reliable channel number of 20, the required decoding signal-to-noise ratio is about 0.175dB lower than the 5G baseline. The decoding signal-to-noise ratio of the nested Polar codes obtained by the scheme of the application is about 0.04dB lower than that of a 5G base line on average.
Fig. 14 is a diagram illustrating comparison of performances corresponding to a code length N = 256. The 5G baseline sequence is taken as the index sequence of the initial first Polar code in step S1210 in method 1200. The sequence is divided into 8 sets, the sets are respectively input into 8 set-pointer networks for training, after half iteration is completed (namely step S1220 is executed for the first time), the obtained index sequences are arranged in the following order according to the reliability from high to low: (255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,237,222,248,235,219,244,231,126,215,242,221,187,236,207,190,241,111,234,183,233,123,230,220,175,218,227,159,125,229,188,214,217,63,240,205,119,211,185,182,232,95,213,206,124,186,203,181,228,174,122,226,171,117,199,216,157,107,179,212,121,225,118,173,158,210,93,167,184,110,204,155,202,115,94,180,209,151,109,178,47,201,143,198,103,169,61,120,224,91,172,177,116,87,197,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,55,108,196,163,101,92,31,149,200,142,90,105,176,85,102,147,141,60,194,99,57,135,168,86,77,164,139,89,54,83,152,112,58,78,162,43,193,104,45,148,75,161,53,146,71,98,27,140,88,46,137,51,100,23,84,145,29,134,97,39,82,76,56,138,30,52,192,73,133,15,81,160,70,50,131,44,41,74,14,144,69,49,38,136,96,21,67,26,42,132,35,28,80,37,25,72,22,48,130,11,7,68,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2). The sequence is further divided into 9 subsets, the middle 7 subsets are respectively input into 7 set-pointer networks for training, after one iteration is completed (namely, the step S1280 is performed for the first time), the obtained index sequences are arranged in the following order from high reliability to low reliability: (255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,235,222,248,237,111,219,244,231,221,242,123,215,190,241,236,183,207,234,233,187,126,229,220,175,218,230,125,227,159,188,214,217,95,240,213,63,186,206,181,203,119,232,211,124,179,205,185,228,174,121,226,118,157,182,199,216,107,173,212,122,225,117,171,158,202,47,167,209,115,155,184,94,178,204,151,110,61,210,197,109,172,143,180,103,201,120,93,224,169,87,198,177,116,91,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,105,102,31,196,141,163,92,55,200,147,85,108,176,90,142,149,101,60,194,27,99,139,89,78,168,164,83,135,57,112,54,193,86,148,77,161,43,58,152,104,75,162,53,71,146,98,45,140,88,46,137,23,100,81,51,192,30,134,84,74,145,97,39,56,15,138,69,50,133,29,82,160,76,44,131,41,52,70,14,73,144,49,35,136,67,21,96,42,26,132,80,37,28,38,25,130,11,72,22,68,7,48,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2).
Fig. 14 (a) shows the performance of nested Polar codes generated by an index sequence obtained after a half iteration of the scheme of the embodiment of the present application, and fig. 14 (b) shows the performance of nested Polar codes generated by an index sequence obtained after a half iteration of the scheme of the embodiment of the present application. As shown in fig. 14, when the bit error rate is 0.01, the decoding signal-to-noise ratio required by the nested Polar codes obtained after half iteration of the scheme of the present application is lower than the 5G baseline, and the decoding signal-to-noise ratio required by the nested Polar codes obtained after one iteration is the lowest, and the lowest value is lower than the 5G baseline by more than 0.5 dB. The decoding signal-to-noise ratio of the nested Polar codes obtained by one iteration of the scheme of the application is about 0.03dB lower than that of a 5G base line.
The apparatus in the embodiment of the present application will be described with reference to fig. 15 to 18.
Fig. 15 shows an apparatus 2000 for constructing an index sequence of Polar codes according to an embodiment of the present application, where the apparatus 2000 is configured to perform a method 700 for constructing an index sequence of Polar codes shown in fig. 7, and the apparatus 2000 includes: an acquisition unit 2010, a processing unit 2020.
The acquiring unit 2010 is used for the first step: an index set is obtained, the index set including indexes of the plurality of polarized sub-channels.
The processing unit 2020 is configured to: step two: obtaining a plurality of nested subsets of the index set according to the index set; step three: respectively carrying out polarization coding according to a plurality of nested subsets of the index set to obtain a plurality of nested polarization codes corresponding to the index set, wherein the positions of information bits in the plurality of nested polarization codes corresponding to the index set are respectively determined according to indexes in the plurality of nested subsets of the index set; step four: acquiring performance evaluation results of a plurality of nested polarization codes corresponding to the index set; under the condition that the performance evaluation results of the plurality of nested polarization codes corresponding to the index set do not meet the preset condition, updating the plurality of nested subsets of the index set in the step two based on the performance evaluation results of the plurality of nested polarization codes corresponding to the index set, repeating the steps from the third step to the fourth step until the performance evaluation results of the plurality of nested polarization codes corresponding to the index set meet the preset condition or the updating times reach the preset times, and obtaining the index sequence of the target polarization code according to the plurality of nested subsets of the updated index set.
Optionally, as an embodiment, the obtaining unit 2010 is specifically configured to: dividing the indexes in the index sequence of the first polarization code into Q sets according to the sequence of the indexes in the index sequence of the first polarization code, wherein each set in the Q sets comprises at least one index, and Q is an integer greater than 1; taking P sets in the Q sets as P index sets, wherein each set in the P sets comprises at least two indexes, P is an integer larger than 1 and is less than or equal to Q; and the positions of the information bits in the plurality of nested polarization codes corresponding to the index set are respectively determined according to the indexes in the plurality of nested subsets of the index set, and the method comprises the following steps: the positions of information bits in a plurality of nested polarization codes corresponding to the first index set are respectively determined according to indexes in a plurality of nested subsets of the first index set and indexes in a set before the first index set based on the order of the indexes in the index sequence of the first polarization code, and the first index set is one of P index sets; and the processing unit 2020 is specifically configured to: generating P subsequences according to a plurality of nested subsets of the updated P index sets; combining the other Q-P sets and the P subsequences based on the sequence of indexes in the index sequence of the first polarization code to obtain an index sequence of a second polarization code; and obtaining the index sequence of the target polarization code according to the index sequence of the second polarization code.
Optionally, as an embodiment, the obtaining unit 2010 is further configured to: dividing the indexes in the index sequence of the second polarization code into L sets according to the sequence of the indexes in the index sequence of the second polarization code, wherein each set in the L sets comprises at least one index, L is an integer larger than 1, and at least one set in the L sets is different from the indexes in any one set of the Q sets; taking M sets in the L sets as M index sets, wherein each set in the M sets comprises at least two indexes, M is an integer greater than 1 and is less than or equal to L; and the positions of the information bits in the plurality of nested polarization codes corresponding to the index set are respectively determined according to the indexes in the plurality of nested subsets of the index set, and the method comprises the following steps: the positions of information bits in a plurality of nested polarization codes corresponding to the second index set are respectively determined according to indexes in a plurality of nested subsets of the second index set and indexes in a set before the second index set based on the order of indexes in the index sequence of the second polarization code, and the second index set is one of M index sets; and the processing unit 2020 is specifically configured to: generating M subsequences according to the updated multiple nested subsets of the M index sets; combining the rest L-M sets and the M subsequences based on the order of indexes in the index sequence of the second polarization code to obtain an index sequence of a third polarization code, updating the index sequence of the first polarization code according to the index sequence of the third polarization code under the condition that the performance evaluation results of a plurality of nested polarization codes corresponding to the M index sets do not meet a preset condition, alternately dividing the index sequence of the first polarization code into Q sets and dividing the index sequence of the second polarization code into L sets to obtain the index sets until the performance evaluation results of the plurality of nested polarization codes corresponding to the P index sets meet the preset condition, and taking the updated index sequence of the second polarization code as the index sequence of the target polarization code; or until the performance evaluation results of a plurality of nested polarization codes corresponding to the M index sets meet a preset condition, taking the updated index sequence of the third polarization code as the index sequence of the target polarization code.
Optionally, as an embodiment, the processing unit 2020 is specifically configured to: step 2-1: respectively extracting the characteristics of the indexes of the plurality of polarized sub-channels to obtain characteristic vectors of the indexes of the plurality of polarized sub-channels; step 2-2: determining output probabilities of the indexes of the plurality of polarized sub-channels according to the eigenvectors of the indexes of the plurality of polarized sub-channels; step 2-3: adding one of the indexes of the plurality of polarized subchannels to the first subset according to an output probability of the indexes of the plurality of polarized subchannels; step 2-4: extracting features of the first subset to obtain a feature vector of the first subset; step 2-5: updating the output probability of the index not belonging to the first subset according to the feature vector of the index not belonging to the first subset and the feature vector of the first subset in the indexes of the plurality of polarized sub-channels; step 2-6: adding one of the indexes not belonging to the first subset according to an output probability of the index not belonging to the first subset; step 2-7: and updating the first subset in the step 2-4, repeating the step 2-4 to the step 2-7, and taking the obtained plurality of first subsets as a plurality of nested subsets.
Optionally, as an embodiment, the processing unit 2020 is specifically configured to: performing one-hot encoding on the indexes of the plurality of polarized sub-channels respectively; and performing feature extraction on the result of the one-hot coding to obtain feature vectors of indexes of a plurality of polarized sub-channels.
Optionally, as an embodiment, the processing unit 2020 is specifically configured to: summing or averaging the indexed feature vectors in the first subset; and performing feature extraction on the processed result to obtain a feature vector of the first subset.
Optionally, as an embodiment, the processing unit 2020 is specifically configured to: and performing feature extraction on the processed result by using a linear function to obtain a feature vector of the first subset.
Optionally, as an embodiment, the processing unit 2020 is specifically configured to: respectively calculating attention scores between the feature vectors of the indexes, which do not belong to the first subset, in the indexes of the plurality of polarized sub-channels and the feature vectors of the first subset by using an additive attention model; updating an output probability of an index not belonging to the first subset according to an attention score between a feature vector of an index not belonging to the first subset and a feature vector of the first subset among indexes of the plurality of polarized subchannels.
Optionally, as an embodiment, the processing unit 2020 is specifically configured to: and performing feature extraction on the processed result by using a nonlinear function to obtain a feature vector of the first subset.
Optionally, as an embodiment, the processing unit 2020 is specifically configured to: calculating attention scores between feature vectors of the indexes of the plurality of polarized sub-channels, which do not belong to the first subset, and feature vectors of the first subset respectively by using a multiplicative attention model; updating an output probability of an index not belonging to the first subset according to an attention score between a feature vector of an index not belonging to the first subset and a feature vector of the first subset among indexes of the plurality of polarized subchannels.
Optionally, as an embodiment, when the number of indexes in the index sequence of the target polar code is 64, the index sequence of the target polar code is: (62,55,63,47,61,59,31,60,57,23,58,15,54,53,46,51,45,56,30,43,52,39,29,50,27,42,49,44,7,37,28,41,25,38,11,48,35,22,26,21,40,14,19,36,13,24,34,5,33,18,20,10,17,3,12,32,6,9,16,8,2,1,4,0).
Optionally, as an embodiment, when the number of indexes in the index sequence of the target polarization code is 256, the index sequence of the target polarization code is: (255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,237,222,248,235,219,244,231,126,215,242,221,187,236,207,190,241,111,234,183,233,123,230,220,175,218,227,159,125,229,188,214,217,63,240,205,119,211,185,182,232,95,213,206,124,186,203,181,228,174,122,226,171,117,199,216,157,107,179,212,121,225,118,173,158,210,93,167,184,110,204,155,202,115,94,180,209,151,109,178,47,201,143,198,103,169,61,120,224,91,172,177,116,87,197,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,55,108,196,163,101,92,31,149,200,142,90,105,176,85,102,147,141,60,194,99,57,135,168,86,77,164,139,89,54,83,152,112,58,78,162,43,193,104,45,148,75,161,53,146,71,98,27,140,88,46,137,51,100,23,84,145,29,134,97,39,82,76,56,138,30,52,192,73,133,15,81,160,70,50,131,44,41,74,14,144,69,49,38,136,96,21,67,26,42,132,35,28,80,37,25,72,22,48,130,11,7,68,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2).
Optionally, as an embodiment, when the number of indexes in the index sequence of the target polarization code is 256, the index sequence of the target polarization code is: (255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,235,222,248,237,111,219,244,231,221,242,123,215,190,241,236,183,207,234,233,187,126,229,220,175,218,230,125,227,159,188,214,217,95,240,213,63,186,206,181,203,119,232,211,124,179,205,185,228,174,121,226,118,157,182,199,216,107,173,212,122,225,117,171,158,202,47,167,209,115,155,184,94,178,204,151,110,61,210,197,109,172,143,180,103,201,120,93,224,169,87,198,177,116,91,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,105,102,31,196,141,163,92,55,200,147,85,108,176,90,142,149,101,60,194,27,99,139,89,78,168,164,83,135,57,112,54,193,86,148,77,161,43,58,152,104,75,162,53,71,146,98,45,140,88,46,137,23,100,81,51,192,30,134,84,74,145,97,39,56,15,138,69,50,133,29,82,160,76,44,131,41,52,70,14,73,144,49,35,136,67,21,96,42,26,132,80,37,28,38,25,130,11,72,22,68,7,48,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2).
For the concepts, explanations, details and other steps related to the technical solutions provided in the embodiments of the present application related to the apparatus 2000, please refer to the descriptions of the foregoing methods or other embodiments, which are not repeated herein.
Fig. 16 shows a Polar code encoding apparatus 3000 provided in the embodiment of the present application, where the apparatus 3000 is used for executing a Polar code encoding method 1300, and the apparatus 3000 includes: a determination unit 3010, a processing unit 3020.
Determining unit 3010 for determining index sequence Q of target polarization code N
The index sequence of the target polarization code is obtained by obtaining an index set, wherein the index set comprises indexes of a plurality of polarization subchannels, a plurality of nested subsets of the index set are obtained according to the index set, polarization coding is carried out according to the plurality of nested subsets of the index set respectively, a plurality of nested polarization codes corresponding to the index set are obtained, and the positions of information bits in the plurality of nested polarization codes corresponding to the index set are determined according to the indexes in the plurality of nested subsets of the index set respectively; acquiring performance evaluation results of a plurality of nested polarization codes corresponding to the index set; and under the condition that the performance evaluation results of the plurality of nested polarization codes corresponding to the index set do not meet the preset condition, updating the plurality of nested subsets of the index set in the step two based on the performance evaluation results of the plurality of nested polarization codes corresponding to the index set, repeating the steps from the third step to the fourth step until the performance evaluation results of the plurality of nested polarization codes corresponding to the index set meet the preset condition or the updating times reach the preset times, and obtaining the result according to the plurality of nested subsets of the updated index set.
The processing unit 3020 is configured to perform Polar code encoding on bits to be encoded based on the index sequence of the target polarization code to obtain an encoded bit sequence.
For the concepts, explanations, details and other steps related to the technical solutions provided in the embodiments of the present application related to the apparatus 3000, please refer to the descriptions of the foregoing methods or other embodiments, which are not repeated herein.
The apparatus 2000 and the apparatus 3000 are embodied as functional units. The term "unit" herein may be implemented in software and/or hardware, and is not particularly limited thereto.
For example, a "unit" may be a software program, a hardware circuit, or a combination of both that implement the above-described functions. The hardware circuitry may include an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (e.g., a shared processor, a dedicated processor, or a group of processors) and memory that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that support the described functionality.
Accordingly, the units of the respective examples described in the embodiments of the present application can be realized in electronic hardware, or a combination of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
Fig. 17 is a schematic hardware structure diagram of an apparatus for constructing an index sequence of Polar codes according to an embodiment of the present application. The apparatus 5000 for constructing an index sequence of Polar codes shown in fig. 17 (the apparatus 5000 may specifically be a computer device) includes a memory 5001, a processor 5002, a communication interface 5003 and a bus 5004. The memory 5001, the processor 5002 and the communication interface 5003 are communicatively connected to each other through a bus 5004.
The memory 5001 may be a Read Only Memory (ROM), a static memory device, a dynamic memory device, or a Random Access Memory (RAM). The memory 5001 may store a program, and when the program stored in the memory 5001 is executed by the processor 5002, the processor 5002 is used for executing the steps of the method for constructing the index sequence of Polar codes according to the embodiment of the present application. In particular, the processor 5002 may perform the method 700 illustrated in fig. 7 above.
The processor 5002 may be a general-purpose Central Processing Unit (CPU), a microprocessor, an Application Specific Integrated Circuit (ASIC), a Graphics Processing Unit (GPU), or one or more integrated circuits, and is configured to execute related programs to implement the neural network model updating method according to the embodiment of the present invention.
The processor 5002 may also be an integrated circuit chip having signal processing capabilities, such as the chip shown in fig. 3. In the implementation process, each step of the method for constructing the index sequence of Polar code of the present application may be completed by an integrated logic circuit of hardware in the processor 5002 or an instruction in the form of software.
The processor 5002 may also be a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, or discrete hardware components. The various methods, steps, and logic blocks disclosed in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in the memory 5001, and the processor 5002 reads information in the memory 5001, and completes, in combination with hardware thereof, functions required to be executed by a unit included in the apparatus for constructing an index sequence of a Polar code according to the embodiment of the present application, or executes a method for constructing an index sequence of a Polar code according to the embodiment of the present application.
The communication interface 5003 enables communication between the apparatus 5000 and other devices or communication networks using transceiver means such as, but not limited to, a transceiver. For example, the performance evaluation result of the nested Polar code and the index set may be obtained through the communication interface 5003.
The bus 5004 may include a pathway to transfer information between the various components of the apparatus 5000 (e.g., the memory 5001, the processor 5002, the communication interface 5003).
It should be noted that although the apparatus 5000 as described above shows only a memory, a processor, and a communication interface, in a specific implementation, those skilled in the art will appreciate that the apparatus 5000 may also include other devices necessary to achieve normal operation. Also, those skilled in the art will appreciate that the apparatus 5000 may also include hardware components for performing other additional functions, according to particular needs. Furthermore, those skilled in the art will appreciate that the apparatus 5000 may also include only those components necessary to implement the embodiments of the present application, and need not include all of the components shown in FIG. 17.
Fig. 18 shows a Polar code encoding apparatus 6000 provided in the embodiment of the present application, where the Polar code encoding apparatus 6000 is used to execute a Polar code encoding method 1300. Part or all of the Polar code encoding method 1300 may be implemented by hardware or software, and when implemented by hardware, the Polar code encoding apparatus 6000 includes an input interface circuit 6010 for acquiring bits to be encoded; the logic circuit 6020 is configured to execute the Polar code encoding method 1300, which is specifically described in the foregoing method embodiment and is not described herein again; and an output interface circuit 6030 configured to output the encoded bit sequence.
Optionally, the Polar code encoding apparatus 6000 may be a chip or an integrated circuit when being implemented specifically.
Optionally, when part or all of the Polar code encoding method of the foregoing embodiment is implemented by software, as shown in the figure, the Polar code encoding apparatus 6000 includes: a memory 4010 for storing programs; and the processor 4020 is configured to execute the program stored in the memory 4010, and when the program is executed, the Polar code encoding apparatus 6000 may implement the above Polar code encoding method.
Alternatively, the memory 4010 may be a physically separate unit, or the memory 4010 and the processor 4020 may be integrated as shown in the figure.
Optionally, when part or all of the Polar code encoding method is implemented by software, polar code encoding apparatus 6000 may only include processor 4020. The memory 4010 for storing programs may be located outside the Polar code encoding apparatus, and the processor 4020 is connected to the memory 4010 through a circuit/wire, and is configured to read and execute the programs stored in the memory 4010.
It should be understood that, in the embodiment of the present application, the processor may be a Central Processing Unit (CPU), and the processor may also be other general-purpose processors, digital Signal Processors (DSPs), application Specific Integrated Circuits (ASICs), field Programmable Gate Arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
It will also be appreciated that the memory in the embodiments of the subject application can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. The non-volatile memory may be a read-only memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an electrically Erasable EPROM (EEPROM), or a flash memory. Volatile memory can be Random Access Memory (RAM), which acts as external cache memory. By way of example, but not limitation, many forms of Random Access Memory (RAM) are available, such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), and direct bus RAM (DR RAM).
Embodiments of the present application further provide a computer program product comprising instructions, which when run on a computer, cause the computer to execute the Polar code encoding method.
The embodiment of the application also provides a computer storage medium, which stores a computer program, wherein the computer program comprises a code encoding method for executing Polar codes.
It should be understood that the processor in the embodiments of the present application may be a Central Processing Unit (CPU), and the processor may also be other general-purpose processors, digital Signal Processors (DSPs), application Specific Integrated Circuits (ASICs), field Programmable Gate Arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
It will also be appreciated that the memory in the embodiments of the subject application can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. The non-volatile memory may be a read-only memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an electrically Erasable EPROM (EEPROM), or a flash memory. Volatile memory can be Random Access Memory (RAM), which acts as external cache memory. By way of example, but not limitation, many forms of Random Access Memory (RAM) are available, such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), and direct bus RAM (DR RAM).
The above embodiments may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, the above-described embodiments may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions or computer programs. The procedures or functions according to the embodiments of the present application are wholly or partially generated when the computer instructions or the computer program are loaded or executed on a computer. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored on a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, data center, etc., that contains one or more collections of available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. The semiconductor medium may be a solid state disk.
It should be understood that the term "and/or" herein is merely one type of association relationship that describes an associated object, meaning that three relationships may exist, e.g., a and/or B may mean: a exists alone, A and B exist simultaneously, and B exists alone, wherein A and B can be singular or plural. In addition, the "/" in this document generally indicates that the former and latter associated objects are in an "or" relationship, but may also indicate an "and/or" relationship, which may be understood with particular reference to the former and latter text.
In the present application, "at least one" means one or more, "a plurality" means two or more. "at least one of the following" or similar expressions refer to any combination of these items, including any combination of the singular or plural items. For example, at least one (one) of a, b, or c, may represent: a, b, c, a-b, a-c, b-c, or a-b-c, wherein a, b, c may be single or multiple.
It should be understood that, in the various embodiments of the present application, the sequence numbers of the above-mentioned processes do not imply any order of execution, and the order of execution of the processes should be determined by their functions and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (29)

1. A method of constructing an index sequence of a polar code, comprising:
the method comprises the following steps: acquiring an index set, wherein the index set comprises indexes of a plurality of polarized sub-channels;
step two: obtaining a plurality of nested subsets of the index set according to the index set;
step three: carrying out polarization coding according to the plurality of nested subsets of the index set respectively to obtain a plurality of nested polarization codes corresponding to the index set, wherein the positions of information bits in the plurality of nested polarization codes corresponding to the index set are determined according to indexes in the plurality of nested subsets of the index set respectively;
step four: acquiring performance evaluation results of a plurality of nested polarization codes corresponding to the index set;
under the condition that the performance evaluation results of the plurality of nested polarization codes corresponding to the index set do not meet the preset condition, updating the plurality of nested subsets of the index set in the second step based on the performance evaluation results of the plurality of nested polarization codes corresponding to the index set, repeating the third step to the fourth step until the performance evaluation results of the plurality of nested polarization codes corresponding to the index set meet the preset condition or the updating times reach the preset times, and obtaining the index sequence of the target polarization code according to the plurality of nested subsets of the updated index set.
2. The method of claim 1, wherein obtaining the index set comprises:
dividing indexes in an index sequence of a first polarization code into Q sets according to the sequence of the indexes in the index sequence of the first polarization code, wherein each set in the Q sets comprises at least one index, and Q is an integer greater than 1;
taking P sets of the Q sets as P index sets, wherein each set of the P sets comprises at least two indexes, P is an integer greater than 1 and is less than or equal to Q;
and the positions of the information bits in the plurality of nested polarization codes corresponding to the index set are respectively determined according to the indexes in the plurality of nested subsets of the index set, and the method comprises the following steps:
the positions of information bits in a plurality of nested polarization codes corresponding to a first index set are respectively determined according to indexes in a plurality of nested subsets of the first index set and indexes in a set before the first index set based on the order of indexes in an index sequence of the first polarization code, wherein the first index set is one of P index sets;
and the index sequence of the target polarization code is obtained according to the plurality of nested subsets of the updated index set, and the index sequence comprises:
generating P subsequences according to a plurality of nested subsets of the updated P index sets;
combining the other Q-P sets and the P subsequences based on the order of indexes in the index sequence of the first polarization code to obtain an index sequence of a second polarization code;
and obtaining an index sequence of the target polarization code according to the index sequence of the second polarization code.
3. The method of claim 2, wherein obtaining the index set further comprises:
dividing the indexes in the index sequence of the second polarization code into L sets according to the sequence of the indexes in the index sequence of the second polarization code, wherein each set in the L sets comprises at least one index, L is an integer greater than 1, and at least one set in the L sets is different from the indexes in any one set of the Q sets;
taking M sets of the L sets as M index sets, wherein each set of the M sets comprises at least two indexes, M is an integer greater than 1 and is less than or equal to L;
and the positions of the information bits in the plurality of nested polarization codes corresponding to the index set are respectively determined according to the indexes in the plurality of nested subsets of the index set, and the method comprises the following steps:
the positions of information bits in a plurality of nested polarization codes corresponding to a second index set are respectively determined according to indexes in a plurality of nested subsets of the second index set and indexes in a set before the second index set based on the order of indexes in an index sequence of the second polarization code, wherein the second index set is one of M index sets;
and the obtaining of the index sequence of the target polarization code according to the index sequence of the second polarization code comprises:
generating M subsequences according to the updated multiple nested subsets of the M index sets;
combining the rest L-M sets and the M subsequences based on the order of indexes in the index sequence of the second polarization code to obtain an index sequence of a third polarization code, updating the index sequence of the first polarization code according to the index sequence of the third polarization code under the condition that the performance evaluation results of a plurality of nested polarization codes corresponding to the M index sets do not meet preset conditions, alternately dividing the index sequence of the first polarization code into Q sets and dividing the index sequence of the second polarization code into L sets to obtain the index sets until the performance evaluation results of the plurality of nested polarization codes corresponding to the P index sets meet the preset conditions, and taking the updated index sequence of the second polarization code as the index sequence of a target polarization code; or
And taking the updated index sequence of the third polarization code as the index sequence of the target polarization code until the performance evaluation results of the plurality of nested polarization codes corresponding to the M index sets meet the preset condition.
4. The method of any one of claims 1 to 3, wherein said deriving a plurality of nested subsets of the index set from the index set comprises:
step 2-1: respectively extracting the characteristics of the indexes of the plurality of polarized sub-channels to obtain characteristic vectors of the indexes of the plurality of polarized sub-channels;
step 2-2: determining output probabilities of the indexes of the plurality of polarized sub-channels according to the eigenvectors of the indexes of the plurality of polarized sub-channels;
step 2-3: adding one of the indices of the plurality of polarized sub-channels to a first subset according to an output probability of the indices of the plurality of polarized sub-channels;
step 2-4: performing feature extraction on the first subset to obtain a feature vector of the first subset;
step 2-5: updating output probabilities of the indexes not belonging to the first subset according to the feature vectors of the indexes not belonging to the first subset and the feature vector of the first subset in the indexes of the plurality of polarized sub-channels;
step 2-6: adding one of the indexes not belonging to the first subset according to an output probability of the index not belonging to the first subset;
step 2-7: updating the first subset in the step 2-4, repeating the step 2-4 to the step 2-7, and taking the obtained plurality of first subsets as the plurality of nested subsets.
5. The method according to claim 4, wherein the performing feature extraction on the indexes of the plurality of polarized sub-channels to obtain feature vectors of the indexes of the plurality of polarized sub-channels respectively comprises:
performing one-hot encoding on the indexes of the plurality of polarized sub-channels, respectively;
and performing feature extraction on the result of the one-hot coding to obtain feature vectors of indexes of the plurality of polarized sub-channels.
6. The method according to claim 4 or 5, wherein said extracting features from the first subset to obtain a feature vector of the first subset comprises:
summing or averaging the indexed feature vectors in the first subset;
and performing feature extraction on the processed result to obtain a feature vector of the first subset.
7. The method of claim 6, wherein said extracting features from the processed result to obtain the feature vector of the first subset comprises:
and performing feature extraction on the processed result by using a linear function to obtain a feature vector of the first subset.
8. The method of claim 7, wherein the updating the output probabilities of the indices not belonging to the first subset according to the eigenvector of the index not belonging to the first subset and the eigenvector of the first subset of the indices of the plurality of polarized sub-channels comprises:
calculating attention scores between feature vectors of indexes of the plurality of polarized sub-channels, which do not belong to the first subset, and feature vectors of the first subset by using an additive attention model;
updating an output probability of the index not belonging to the first subset according to an attention score between a feature vector of the index not belonging to the first subset and a feature vector of the first subset among the indexes of the plurality of polarized sub-channels.
9. The method of claim 6, wherein said extracting features from the processed result to obtain the feature vector of the first subset comprises:
and performing feature extraction on the processed result by using a nonlinear function to obtain a feature vector of the first subset.
10. The method according to claim 9, wherein said updating the output probability of the index not belonging to the first subset according to the eigenvector of the index not belonging to the first subset and the eigenvector of the first subset in the indexes of the plurality of polarized sub-channels comprises:
calculating attention scores between feature vectors of the indexes of the plurality of polarized sub-channels, which do not belong to the first subset, and feature vectors of the first subset respectively by using a multiplicative attention model;
updating an output probability of the index not belonging to the first subset according to an attention score between a feature vector of the index not belonging to the first subset and a feature vector of the first subset among the indexes of the plurality of polarized sub-channels.
11. The method according to any one of claims 1 to 10, wherein when the number of indexes in the index sequence of the target polarization code is 64, the index sequence of the target polarization code is: (62,55,63,47,61,59,31,60,57,23,58,15,54,53,46,51,45,56,30,43,52,39,29,50,27,42,49,44,7,37,28,41,25,38,11,48,35,22,26,21,40,14,19,36,13,24,34,5,33,18,20,10,17,3,12,32,6,9,16,8,2,1,4,0).
12. The method according to any one of claims 1 to 10, wherein when the number of indexes in the index sequence of the target polar code is 256, the index sequence of the target polar code is: (255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,237,222,248,235,219,244,231,126,215,242,221,187,236,207,190,241,111,234,183,233,123,230,220,175,218,227,159,125,229,188,214,217,63,240,205,119,211,185,182,232,95,213,206,124,186,203,181,228,174,122,226,171,117,199,216,157,107,179,212,121,225,118,173,158,210,93,167,184,110,204,155,202,115,94,180,209,151,109,178,47,201,143,198,103,169,61,120,224,91,172,177,116,87,197,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,55,108,196,163,101,92,31,149,200,142,90,105,176,85,102,147,141,60,194,99,57,135,168,86,77,164,139,89,54,83,152,112,58,78,162,43,193,104,45,148,75,161,53,146,71,98,27,140,88,46,137,51,100,23,84,145,29,134,97,39,82,76,56,138,30,52,192,73,133,15,81,160,70,50,131,44,41,74,14,144,69,49,38,136,96,21,67,26,42,132,35,28,80,37,25,72,22,48,130,11,7,68,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2).
13. The method according to any one of claims 1 to 10, wherein when the number of indexes in the index sequence of the target polar code is 256, the index sequence of the target polar code is: (255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,235,222,248,237,111,219,244,231,221,242,123,215,190,241,236,183,207,234,233,187,126,229,220,175,218,230,125,227,159,188,214,217,95,240,213,63,186,206,181,203,119,232,211,124,179,205,185,228,174,121,226,118,157,182,199,216,107,173,212,122,225,117,171,158,202,47,167,209,115,155,184,94,178,204,151,110,61,210,197,109,172,143,180,103,201,120,93,224,169,87,198,177,116,91,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,105,102,31,196,141,163,92,55,200,147,85,108,176,90,142,149,101,60,194,27,99,139,89,78,168,164,83,135,57,112,54,193,86,148,77,161,43,58,152,104,75,162,53,71,146,98,45,140,88,46,137,23,100,81,51,192,30,134,84,74,145,97,39,56,15,138,69,50,133,29,82,160,76,44,131,41,52,70,14,73,144,49,35,136,67,21,96,42,26,132,80,37,28,38,25,130,11,72,22,68,7,48,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2).
14. An apparatus for constructing an index sequence of a polarization code, comprising:
an acquisition unit configured to:
the method comprises the following steps: acquiring an index set, wherein the index set comprises indexes of a plurality of polarized sub-channels;
a processing unit to:
step two: obtaining a plurality of nested subsets of the index set according to the index set;
step three: carrying out polarization coding according to the plurality of nested subsets of the index set respectively to obtain a plurality of nested polarization codes corresponding to the index set, wherein the positions of information bits in the plurality of nested polarization codes corresponding to the index set are determined according to indexes in the plurality of nested subsets of the index set respectively;
step four: acquiring performance evaluation results of a plurality of nested polarization codes corresponding to the index set;
under the condition that the performance evaluation results of the plurality of nested polarization codes corresponding to the index set do not meet the preset condition, updating the plurality of nested subsets of the index set in the second step based on the performance evaluation results of the plurality of nested polarization codes corresponding to the index set, repeating the third step to the fourth step until the performance evaluation results of the plurality of nested polarization codes corresponding to the index set meet the preset condition or the updating times reach the preset times, and obtaining the index sequence of the target polarization code according to the plurality of nested subsets of the updated index set.
15. The apparatus according to claim 14, wherein the obtaining unit is specifically configured to:
dividing indexes in an index sequence of a first polarization code into Q sets according to the order of the indexes in the index sequence of the first polarization code, wherein each set of the Q sets comprises at least one index, and Q is an integer greater than 1;
taking P sets of the Q sets as P index sets, wherein each set of the P sets comprises at least two indexes, P is an integer greater than 1 and is less than or equal to Q;
and the positions of the information bits in the plurality of nested polarization codes corresponding to the index set are respectively determined according to the indexes in the plurality of nested subsets of the index set, and the method comprises the following steps:
the positions of information bits in a plurality of nested polarization codes corresponding to a first index set are respectively determined according to indexes in a plurality of nested subsets of the first index set and indexes in a set before the first index set based on the order of indexes in an index sequence of the first polarization code, wherein the first index set is one of P index sets;
and the processing unit is specifically configured to:
generating P subsequences according to the updated multiple nested subsets of the P index sets;
combining the other Q-P sets and the P subsequences based on the order of indexes in the index sequence of the first polarization code to obtain an index sequence of a second polarization code;
and obtaining an index sequence of the target polarization code according to the index sequence of the second polarization code.
16. The apparatus of claim 15, wherein the obtaining unit is further configured to:
dividing indexes in the index sequence of the second polarization code into L sets according to the order of the indexes in the index sequence of the second polarization code, wherein each set in the L sets comprises at least one index, L is an integer larger than 1, and at least one set in the L sets is different from the indexes in any one set of the Q sets;
taking M sets in the L sets as M index sets, wherein each set in the M sets comprises at least two indexes, M is an integer greater than 1, and M is less than or equal to L;
and the positions of the information bits in the plurality of nested polarization codes corresponding to the index set are respectively determined according to the indexes in the plurality of nested subsets of the index set, and the method comprises the following steps:
the positions of information bits in a plurality of nested polar codes corresponding to a second index set are respectively determined according to indexes in a plurality of nested subsets of the second index set and indexes in a set before the second index set based on the order of the indexes in the index sequence of the second polar code, wherein the second index set is one of the M index sets;
and the processing unit is specifically configured to:
generating M subsequences according to the updated multiple nested subsets of the M index sets;
combining the rest L-M sets and the M subsequences based on the order of indexes in the index sequence of the second polarization code to obtain an index sequence of a third polarization code, updating the index sequence of the first polarization code according to the index sequence of the third polarization code under the condition that the performance evaluation results of a plurality of nested polarization codes corresponding to the M index sets do not meet preset conditions, alternately dividing the index sequence of the first polarization code into Q sets and dividing the index sequence of the second polarization code into L sets to obtain the index sets until the performance evaluation results of the plurality of nested polarization codes corresponding to the P index sets meet the preset conditions, and taking the updated index sequence of the second polarization code as the index sequence of a target polarization code; or
And taking the updated index sequence of the third polarization code as the index sequence of the target polarization code until the performance evaluation results of the plurality of nested polarization codes corresponding to the M index sets meet the preset condition.
17. The apparatus according to any one of claims 14 to 16, wherein the processing unit is specifically configured to:
step 2-1: respectively extracting the characteristics of the indexes of the plurality of polarized sub-channels to obtain characteristic vectors of the indexes of the plurality of polarized sub-channels;
step 2-2: determining output probabilities of the indexes of the plurality of polarized sub-channels according to the eigenvectors of the indexes of the plurality of polarized sub-channels;
step 2-3: adding one of the indices of the plurality of polarized sub-channels to a first subset according to an output probability of the indices of the plurality of polarized sub-channels;
step 2-4: extracting features of the first subset to obtain a feature vector of the first subset;
step 2-5: updating output probabilities of the indexes not belonging to the first subset according to the feature vectors of the indexes not belonging to the first subset and the feature vector of the first subset in the indexes of the plurality of polarized sub-channels;
step 2-6: adding one of the indexes not belonging to the first subset according to the output probability of the index not belonging to the first subset;
step 2-7: updating the first subset in the step 2-4, repeating the step 2-4 to the step 2-7, and taking the obtained plurality of first subsets as the plurality of nested subsets.
18. The apparatus according to claim 17, wherein the processing unit is specifically configured to:
performing one-hot encoding on the indexes of the plurality of polarized sub-channels, respectively;
and performing feature extraction on the result of the one-hot coding to obtain feature vectors of indexes of the plurality of polarized sub-channels.
19. The apparatus according to claim 17 or 18, wherein the processing unit is specifically configured to:
summing or averaging the indexed feature vectors in the first subset;
and performing feature extraction on the processed result to obtain a feature vector of the first subset.
20. The apparatus according to claim 19, wherein the processing unit is specifically configured to:
and performing feature extraction on the processed result by using a linear function to obtain a feature vector of the first subset.
21. The apparatus according to claim 20, wherein the processing unit is specifically configured to:
calculating attention scores between feature vectors of the indexes of the plurality of polarized sub-channels, which do not belong to the first subset, and feature vectors of the first subset respectively by using an additive attention model;
updating an output probability of the index not belonging to the first subset according to an attention score between a feature vector of the index not belonging to the first subset and a feature vector of the first subset among the indexes of the plurality of polarized sub-channels.
22. The apparatus according to claim 19, wherein the processing unit is specifically configured to:
and performing feature extraction on the processed result by using a nonlinear function to obtain a feature vector of the first subset.
23. The apparatus according to claim 22, wherein the processing unit is specifically configured to:
calculating attention scores between feature vectors of indexes of the plurality of polarized sub-channels, which do not belong to the first subset, and feature vectors of the first subset by using a multiplicative attention model;
updating an output probability of the index not belonging to the first subset according to an attention score between a feature vector of the index not belonging to the first subset and a feature vector of the first subset among the indexes of the plurality of polarized sub-channels.
24. The apparatus according to any one of claims 14 to 23, wherein when the number of indexes in the index sequence of the target polar code is 64, the index sequence of the target polar code is: (62,55,63,47,61,59,31,60,57,23,58,15,54,53,46,51,45,56,30,43,52,39,29,50,27,42,49,44,7,37,28,41,25,38,11,48,35,22,26,21,40,14,19,36,13,24,34,5,33,18,20,10,17,3,12,32,6,9,16,8,2,1,4,0).
25. The apparatus according to any one of claims 14 to 23, wherein when the number of indexes in the index sequence of the target polarization code is 256, the index sequence of the target polarization code is: (255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,237,222,248,235,219,244,231,126,215,242,221,187,236,207,190,241,111,234,183,233,123,230,220,175,218,227,159,125,229,188,214,217,63,240,205,119,211,185,182,232,95,213,206,124,186,203,181,228,174,122,226,171,117,199,216,157,107,179,212,121,225,118,173,158,210,93,167,184,110,204,155,202,115,94,180,209,151,109,178,47,201,143,198,103,169,61,120,224,91,172,177,116,87,197,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,55,108,196,163,101,92,31,149,200,142,90,105,176,85,102,147,141,60,194,99,57,135,168,86,77,164,139,89,54,83,152,112,58,78,162,43,193,104,45,148,75,161,53,146,71,98,27,140,88,46,137,51,100,23,84,145,29,134,97,39,82,76,56,138,30,52,192,73,133,15,81,160,70,50,131,44,41,74,14,144,69,49,38,136,96,21,67,26,42,132,35,28,80,37,25,72,22,48,130,11,7,68,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2).
26. The apparatus according to any one of claims 14 to 23, wherein when the number of indexes in the index sequence of the target polarization code is 256, the index sequence of the target polarization code is: (255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,235,222,248,237,111,219,244,231,221,242,123,215,190,241,236,183,207,234,233,187,126,229,220,175,218,230,125,227,159,188,214,217,95,240,213,63,186,206,181,203,119,232,211,124,179,205,185,228,174,121,226,118,157,182,199,216,107,173,212,122,225,117,171,158,202,47,167,209,115,155,184,94,178,204,151,110,61,210,197,109,172,143,180,103,201,120,93,224,169,87,198,177,116,91,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,105,102,31,196,141,163,92,55,200,147,85,108,176,90,142,149,101,60,194,27,99,139,89,78,168,164,83,135,57,112,54,193,86,148,77,161,43,58,152,104,75,162,53,71,146,98,45,140,88,46,137,23,100,81,51,192,30,134,84,74,145,97,39,56,15,138,69,50,133,29,82,160,76,44,131,41,52,70,14,73,144,49,35,136,67,21,96,42,26,132,80,37,28,38,25,130,11,72,22,68,7,48,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2).
27. An apparatus for constructing an index sequence of a polar code, comprising a processor and a memory, the memory for storing program instructions, the processor for invoking the program instructions to perform the method of any of claims 1-13.
28. A computer-readable storage medium, characterized in that the computer-readable medium stores program code for execution by a device, the program code comprising instructions for performing the method of any of claims 1 to 13.
29. A chip comprising a processor and a data interface, the processor reading instructions stored on a memory through the data interface to perform the method of any one of claims 1 to 13.
CN202010973768.2A 2020-09-16 2020-09-16 Method and device for constructing index sequence of polarization code Active CN114268409B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010973768.2A CN114268409B (en) 2020-09-16 2020-09-16 Method and device for constructing index sequence of polarization code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010973768.2A CN114268409B (en) 2020-09-16 2020-09-16 Method and device for constructing index sequence of polarization code

Publications (2)

Publication Number Publication Date
CN114268409A CN114268409A (en) 2022-04-01
CN114268409B true CN114268409B (en) 2023-04-18

Family

ID=80824303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010973768.2A Active CN114268409B (en) 2020-09-16 2020-09-16 Method and device for constructing index sequence of polarization code

Country Status (1)

Country Link
CN (1) CN114268409B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107005690A (en) * 2014-11-27 2017-08-01 华为技术有限公司 Method, device and the Wireless Telecom Equipment of the rate-matched of polarization code
CN108540260A (en) * 2017-03-02 2018-09-14 华为技术有限公司 Method, apparatus and equipment for determining Polar code encoding and decoding
WO2018173006A1 (en) * 2017-03-24 2018-09-27 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for puncturing a polar code
CN109525360A (en) * 2017-09-18 2019-03-26 华为技术有限公司 The method and apparatus of the rate-matched of polarization code
CN110771072A (en) * 2017-06-23 2020-02-07 高通股份有限公司 Polar code with cross-referenceable nested structure for hierarchical signaling

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107005690A (en) * 2014-11-27 2017-08-01 华为技术有限公司 Method, device and the Wireless Telecom Equipment of the rate-matched of polarization code
CN108540260A (en) * 2017-03-02 2018-09-14 华为技术有限公司 Method, apparatus and equipment for determining Polar code encoding and decoding
WO2018173006A1 (en) * 2017-03-24 2018-09-27 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for puncturing a polar code
CN110637417A (en) * 2017-03-24 2019-12-31 瑞典爱立信有限公司 Method and apparatus for puncturing a polarization code
CN110771072A (en) * 2017-06-23 2020-02-07 高通股份有限公司 Polar code with cross-referenceable nested structure for hierarchical signaling
CN109525360A (en) * 2017-09-18 2019-03-26 华为技术有限公司 The method and apparatus of the rate-matched of polarization code

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZTE等.Consideration on polar codes for NR.《3GPP TSG RAN WG1#87 R1-1611113》.2016, *

Also Published As

Publication number Publication date
CN114268409A (en) 2022-04-01

Similar Documents

Publication Publication Date Title
EP3735658A1 (en) Generating a compressed representation of a neural network with proficient inference speed and power consumption
CN113326930B (en) Data processing method, neural network training method, related device and equipment
CN111712835A (en) Channel modeling in data transmission system
US20240135191A1 (en) Method, apparatus, and system for generating neural network model, device, medium, and program product
US20230299872A1 (en) Neural Network-Based Communication Method and Related Apparatus
CN109361404A (en) A kind of LDPC decoding system and interpretation method based on semi-supervised deep learning network
WO2022088063A1 (en) Method and apparatus for quantizing neural network model, and method and apparatus for processing data
KR20200062653A (en) Method and Apparatus for maching learning based beamforming scheme in multi antenna interference channel
CN114723057A (en) Neural network collaborative reasoning method for multi-access edge computing system
CN113595993A (en) Vehicle-mounted sensing equipment joint learning method for model structure optimization under edge calculation
Jankowski et al. Airnet: Neural network transmission over the air
CN110009048B (en) Method and equipment for constructing neural network model
CN114781654A (en) Federal transfer learning method, device, computer equipment and medium
Lee et al. PMNet: Robust pathloss map prediction via supervised learning
CN114268409B (en) Method and device for constructing index sequence of polarization code
CN110782396B (en) Light-weight image super-resolution reconstruction network and reconstruction method
CN112561050A (en) Neural network model training method and device
CN115618252A (en) Photovoltaic access capacity evaluation method and device and electronic equipment
CN114758130B (en) Image processing and model training method, device, equipment and storage medium
CN116644783A (en) Model training method, object processing method and device, electronic equipment and medium
Liu et al. Flexible beamforming of dynamic MIMO networks through fully convolutional model
CN116996142A (en) Wireless channel parameter prediction method, device, electronic equipment and storage medium
CN116419257A (en) Communication method and device
CN114764610A (en) Channel estimation method based on neural network and communication device
CN115022172A (en) Information processing method, device, communication equipment and readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant