A method and apparatus for polar adjustment convolutional code encoding
By constructing a polar coding generator matrix and using a channel utilization weighting method, the problems of discontinuous code rate and insufficient performance in polar-adjusted convolutional code coding are solved, realizing polar-adjusted convolutional code coding with continuous code rate and excellent performance, and reducing the construction complexity.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SUN YAT SEN UNIV
- Filing Date
- 2022-03-31
- Publication Date
- 2026-08-04
AI Technical Summary
Existing polarization-adjusted convolutional code coding methods have shortcomings in terms of code rate continuity and performance excellence. In particular, the polar-like construction method has poor performance, the RM-polar construction method has few selectable code rates, and the Monte Carlo construction method requires a lot of simulation and has unstable performance.
By constructing a polarization coding generator matrix, the RM weights of polarization sub-channels are determined, a set of reference channel indices is selected, the target index is determined based on the weighted sum of channel utilization, a target channel set is constructed, and the output signal is obtained through convolutional coding and polarization coding, combined with the decoding unit for information extraction.
It achieves continuous rate polarization-adjusted convolutional coding with excellent performance, low construction complexity, and no reliance on simulation, and can maintain good performance under different channel conditions.
Smart Images

Figure CN114900198B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of wireless communication technology, and in particular to a method and apparatus for polarization-adjusted convolutional code encoding. Background Technology
[0002] Channel coding, as a key technology for ensuring reliable transmission, has played a crucial role in generations of wireless communication systems. Faced with new application scenarios and the challenges of high reliability and low latency, channel coding techniques, especially those with medium to short code lengths, require further research and development. As a novel channel coding method, Polarization-Adjusted Convolutional (PAC) codes concatenate convolutional and polar coding, achieving near-theoretical performance limits for finite code lengths with the aid of a Fano decoder. Despite its excellent performance, the related construction theory and optimal construction method remain open questions, attracting widespread attention from academia and industry.
[0003] In related technologies, typical construction schemes can be divided into two categories: polar-like construction methods and Reed-Muller (RM)-like construction methods. Polar-like construction methods, such as the density evolution-Gaussian approximation construction method, follow the same approach as polar construction: first, the capacity or reliability of the polar sub-channel is approximated, and then the location of the highly reliable polar sub-channel is selected for information transmission. RM-like code construction selects the transmission channel based on the Hamming weights of the rows in the polar code's generator matrix, choosing the position with the largest Hamming weight as the information bit. There is also the RM-polar construction, which combines RM and polar construction; it first determines part of the channel based on the Hamming weight, and then determines the remaining channel based on the reliability of the polar sub-channel. In addition, there is the simulation-based Monte Carlo construction method.
[0004] However, among the solutions offered by related technologies, the polar-like construction exhibits the worst decoding performance under the same Fano decoder because it does not consider the codeword structure. RM-polar improves upon this, but it is still not ideal. The RM-like construction can provide excellent performance, but the number of selectable code rates is limited. For example, for a 128-code-length PAC code, there are only 8 selectable code rates, resulting in a discontinuous code rate problem. The Monte Carlo construction method is based on simulation. Although it can provide sufficiently good construction for PAC codes of arbitrary code length and code rate, its construction requires a large number of simulations and cannot maintain superior performance under channel conditions different from the simulation conditions. Summary of the Invention
[0005] In view of this, in order to at least partially solve one of the above-mentioned technical problems, the purpose of the embodiments of the present invention is to provide a systematic, simulation-independent, rate-continuous and high-performance polarization-adjusted convolutional code encoding method, as well as an apparatus capable of implementing the method.
[0006] On the one hand, the technical solution of this application provides a method for polarization-adjusted convolutional code encoding, including the following steps:
[0007] The input signal is acquired, and a polar coding generator matrix is constructed according to the definition of polar coding. The RM weights of the polar sub-channels are determined based on the generator matrix.
[0008] Determine that the code length, information dimension, and code rate of the target signal meet the first preset condition, and construct an initial information index set and a candidate index set;
[0009] The target channel set is constructed based on the RM weights, the initial information index set, and the alternative index set.
[0010] The encoded target signal is output through the channels in the target channel set;
[0011] The step of constructing the target channel set based on the RM weights, the initial information index set, and the candidate index set includes:
[0012] Determine the error probability of the polarization sub-channel;
[0013] A reference channel index set is obtained by filtering the polarization sub-channels based on the error probability;
[0014] The target index is determined based on the weighted sum of the RM weights and the channel utilization rates of the channels in the reference channel index set;
[0015] The target channel set is obtained by adding the channels from the candidate index set to the initial information index set according to the target index.
[0016] In one feasible embodiment of the solution in this application, the first preset condition is:
[0017]
[0018] The code length of the target signal is N = 2. n K is the information dimension, h is a positive integer, and h satisfies 0≤h≤n-1.
[0019] In one feasible embodiment of the present application, after acquiring the input signal, constructing the polar coding generator matrix according to the definition of polar coding, and determining the RM weights of the polar sub-channels according to the generator matrix, the method further includes the following steps:
[0020] The code length, information dimension, and code rate of the target signal are determined to meet the second preset condition, and the target channel set is obtained by filtering according to the preset weight value condition;
[0021] The second preset condition is:
[0022]
[0023] The code length of the target signal is N = 2. n K is the information dimension, h is a positive integer, and h satisfies 0 ≤ h ≤ n-1; the preset weight value condition is:
[0024] f w (i-1)>h
[0025] Among them, f w (i-1) is the weight of the RM, and i satisfies 1≤i≤N.
[0026] In one feasible embodiment of the present application, the step of determining the error probability of the polarization sub-channel includes:
[0027] The error probability of the polarization sub-channel is determined by Gaussian approximation, and the error probability is:
[0028]
[0029] in, This represents the i-th polarization sub-channel. Let Q represent the mean output of the i-th polarization sub-channel. The function Q is defined as follows:
[0030] In one feasible embodiment of the scheme in this application, the mean value of the output of the i-th polarization sub-channel can be iteratively calculated using the following formula:
[0031]
[0032]
[0033] The function φ is defined as:
[0034]
[0035] Wherein, the initial iteration value The initial iteration value is the initial value for constructing a Gaussian approximation with a signal-to-noise ratio of 0dB.
[0036] In one feasible embodiment of the scheme in this application, the input signal includes information bits and frozen bits. Before the step of determining the target index based on the weighted sum of the channel utilization rates of the channels in the reference channel index set according to the RM weights, the method further includes:
[0037] The bit state of the input signal is determined based on the information bits and the frozen bits;
[0038] The number of information bits transmitted in the polarized subchannel is calculated based on the bit state and the generator polynomial, and the channel utilization rate is obtained.
[0039] In one feasible embodiment of the present application, after the step of outputting the encoded target signal through the channels of the target channel set, the method further includes:
[0040] Determine the log-likelihood value or path value of the virtual channel;
[0041] The first backpropagation value is obtained by performing a convolutional inverse mapping on the log-likelihood value, or the second backpropagation value is obtained by performing a convolutional inverse mapping on the path value.
[0042] The virtual channel is iteratively updated based on the first or the second return value, and the decoding result is obtained by outputting the updated virtual channel.
[0043] In one feasible embodiment of the present application, the step of determining the log-likelihood value or path value of the virtual channel includes:
[0044] The log-likelihood value is obtained by iterative calculation using a butterfly diagram.
[0045] The globally optimal path is determined by depth-first search, and the path value of the globally optimal path is the virtual channel with the highest reliability determined by posterior probability accumulation.
[0046] On the other hand, the present application also provides a device for polarization-adjusted convolutional code encoding, the device comprising:
[0047] A code rate configuration unit is used to acquire an input signal and configure the code rate of the input signal; determine that the code length, information dimension and code rate of the target signal meet a first preset condition, and construct an initial information index set and a candidate index set; construct a target channel set according to the RM weight, the initial information index set and the candidate index set.
[0048] A convolutional coding unit is used to construct a generator matrix for convolutional coding based on the generator polynomial of convolutional coding, and is used to output the convolutionally coded signal.
[0049] The polar coding unit is used to construct a polar coding generator matrix according to the definition of polar coding, determine the RM weights of the polar sub-channels according to the generator matrix, and output the polar-coded target signal through the channels in the target channel set.
[0050] The target channel set is constructed based on the RM weights, the initial information index set, and the candidate index set, including:
[0051] Determine the error probability of the polarization sub-channel;
[0052] A reference channel index set is obtained by filtering the polarization sub-channels based on the error probability;
[0053] The target index is determined based on the weighted sum of the RM weights and the channel utilization rates of the channels in the reference channel index set;
[0054] The target channel set is obtained by adding the channels from the candidate index set to the initial information index set according to the target index.
[0055] In one feasible embodiment of the present application, the system further includes:
[0056] Decoding unit, used to determine the log-likelihood value or path value of the virtual channel;
[0057] The polarization mapping unit is configured to perform a convolutional inverse mapping on the log-likelihood value to obtain a first return value, or perform a convolutional inverse mapping on the path value to obtain a second return value; and iteratively update the virtual channel based on the first or second return value.
[0058] The information extraction unit is used to obtain the original signal through the updated virtual channel output, and to extract information from the original signal to obtain the decoding result.
[0059] The advantages and beneficial effects of the present invention will be set forth in part in the following description, and the rest will become apparent from the specific embodiments thereof:
[0060] Compared to the systematic theoretical construction methods in related technologies, namely the RM-like construction method, the technical solution of this application can provide continuous code rate design. Furthermore, given the code length and code rate that can be designed using the RM-like construction method, the PAC code constructed by the technical solution of this application is completely identical to the RM-like method. This solution can be seen as a general extension of the RM-like construction method for arbitrary code lengths and rates. Compared to simulation-based Monte Carlo construction methods, the technical solution of this application achieves similar performance without requiring extensive simulations, thus exhibiting the advantage of low construction complexity. Attached Figure Description
[0061] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0062] Figure 1 This is a flowchart illustrating the steps of a polarization-adjusted convolutional code encoding method proposed in the technical solution of this application.
[0063] Figure 2 This is a flowchart illustrating the steps involved in encoding the PAC code in the technical solution of this application.
[0064] Figure 3 This is a flowchart illustrating the steps involved in calculating the weighted sum in the technical solution of this application.
[0065] Figure 4 This is a schematic diagram illustrating the transmission of information bits on multiple polarization sub-channels in the technical solution of this application.
[0066] Figure 5 A schematic diagram for generating a (4, 2) PAC code in the technical solution of this application;
[0067] Figure 6 This is a flowchart illustrating the steps involved in decoding the PAC code in the technical solution of this application.
[0068] Figure 7 This is a schematic diagram illustrating the iterative calculation process using a butterfly diagram in the technical solution of this application.
[0069] Figure 8 The flowchart of the code tree for the Fano decoding algorithm of the polar code with code length N=4 in the technical solution of this application is shown.
[0070] Figure 9 The frame error rate performance curves of PAC codes with information dimensions of 42 and 85 respectively in the technical solution of this application are shown.
[0071] Figure 10 This is a graph showing the frame error rate performance of the PAC code with a code length of 64 and an information dimension of 32 in the technical solution of this application. Detailed Implementation
[0072] The embodiments of the present invention are described in detail below. Examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and should not be construed as limiting the present invention. The step numbers in the following embodiments are set only for ease of explanation, and there is no limitation on the order between the steps. The execution order of each step in the embodiments can be adaptively adjusted according to the understanding of those skilled in the art.
[0073] Based on the aforementioned theoretical foundation and the shortcomings or defects in the relevant technical solutions pointed out, such as Figure 1 As shown, the method in this embodiment includes steps S100-S400:
[0074] S100. Obtain the input signal, construct the polarization coding generator matrix according to the definition of polarization coding, and determine the RM weights of the polarization sub-channels according to the generator matrix.
[0075] Specifically, in the embodiments, such as Figure 2 As shown, the encoding of PAC codes first involves code rate configuration, which first involves configuring the information bits. Place into vector In the information bits, the corresponding set of subscripts is: The frozen position is fixed at 0, and its index set is: Then, through a convolutional transform and polarization transform with a code rate of 1, a PAC codeword with an outer convolutional code and an inner Polar code is obtained.
[0076] For example, the generator polynomial of polar coding is g(x) = g0 + g1x + ... + g t x t Its constraint length is t+1. Then the generator matrix of polar coding can be represented as an upper triangular Topletz matrix:
[0077]
[0078] Furthermore, the codewords of the convolutional code satisfy:
[0079]
[0080] By using the codewords of the convolutional code as input to the Polar encoder, we can obtain the codewords of the PAC code:
[0081]
[0082] in, This is a bit-flipping matrix. Let F be the nth power of the Kronecker product. A binary field is a set of N binary field values.
[0083] For example, the PAC code to be designed in the embodiment has a code length of N=2. n The information dimension is K, the bitrate is R, and the convolutional generator polynomial used is g(x) = g0 + g1x + ... + g t x t The implementation first introduces two new parameters: 1) reference RM weight; 2) channel utilization, the relevant definitions of which are as follows:
[0084] 1) Refer to RM weights:
[0085] Given a constructed channel ratio, for example, set to 0 dB in this embodiment, the error probability of the i-th polarization sub-channel is calculated using a Gaussian approximation. The polarization sub-channels are sorted in ascending order of error probability, and the top ones are selected. Each channel is used as a reference channel, and its index set is: Reference RM weight ω i The definition is as follows:
[0086]
[0087] Where 1≤i≤N, f w (i) represents the number of 1s in the binary representation of i. That is, for a reference channel, its reference RM weight is equal to the original RM weight, while for a non-reference channel, its reference RM weight is set to 0. For example, the binary representation of 5 is 101, where the number of 1s is 2, then f w (5) = 2. For the polar generating matrix G... p The RM weight of its i-th row is defined as f w (i-1), the Hamming weight of this row is equal to
[0088] 2) Channel utilization:
[0089] Based on the structure of PAC codes, it can be seen that PAC codes do not directly transmit information bits or freeze bits on the polarized subchannels. Instead, a convolution transformation with a code rate of 1 is performed before transmission on the polarized subchannels, thereby achieving a more flexible capacity allocation. In order to match the allocated transmission task with the channel conditions, it is necessary to characterize the utilization of each polarized subchannel.
[0090] In other words, before the method obtains the target PAC code, it may include a step of calculating the channel utilization, which may include sub-steps S101-S102:
[0091] S101. Determine the bit state of the input signal based on the information bits and the frozen bits;
[0092] S102. Calculate the number of information bits transmitted in the polarized subchannel based on the bit state and the generator polynomial, and obtain the channel utilization rate.
[0093] Specifically, in the embodiment, the input of the convolution transformation... It can be divided into information bits, and its index set is: and frozen bits, whose index set is Let B i Indicates v i The state, that is, the state of the signal bits, can be obtained as follows:
[0094]
[0095] Where 1≤i≤N, the channel utilization is represented by τ. i Represented as:
[0096]
[0097] Where 1≤i≤N, τ i This represents the number of information bits transmitted through the i-th polarization sub-channel.
[0098] S200. Determine that the code length, information dimension, and code rate of the target signal meet the first preset condition, and construct the initial information index set and the candidate index set;
[0099] Specifically, in the embodiments, based on the RM weights and channel utilization proposed in the foregoing section, such as Figure 3 As shown, in this embodiment, the RM weight of each row of the polar coding generator matrix is calculated, that is, the RM weight of the i-th row is f. w (i-1). Choose a positive integer h, 0≤h≤n-1 that satisfies:
[0100]
[0101] In this embodiment, if the equality sign on the left is true, That is, the code length, information dimension, and code rate of the target signal are determined to meet the second preset condition. In this embodiment, the RM weights are directly selected to satisfy f. w The row number (i-1)>h, 1≤i≤N is used as the information bit index for PAC encoding. The design result is the same as the RM construction in the prior art.
[0102] In this embodiment, if the equality sign is not true, that is, if the first preset condition is met: According to f w(i-1) Define the initial information bit index set and alternative index set S. Among them, Collect RM weights that satisfy f w The row number (i-1)>h, 1≤i≤N, S collects the RM weights satisfying f w (i-1) = h, where 1 ≤ i ≤ N is the row number.
[0103] S300. The target channel set is constructed based on the RM weights, the initial information index set, and the alternative index set.
[0104] Specifically, in the embodiment, step S300 may further include steps S301-S304:
[0105] S301. Determine the error probability of the polarization subchannel;
[0106] Specifically, in this embodiment, the error probability of the polarization sub-channel is determined using the Gaussian approximation. The Gaussian approximation is a commonly used method for estimating the reliability of a polarization sub-channel. For a binary input Gaussian white noise channel, the noise power is σ. 2 The output of this channel follows a Gaussian distribution with a mean of 2 / σ. 2 The variance is 4 / σ 2 Assuming the transmitter sends an all-zero codeword, and the channel transition probability likelihood ratio (LLR) during decoding is a random value following a Gaussian distribution, then for an N-length polar code, the mean of the output of its i-th polarization sub-channel is... The calculation can be performed using the following iterative formula:
[0107]
[0108]
[0109] Its initial iteration value is The definition of φ(·) is as follows:
[0110]
[0111] The error probability of each polarichannel can be obtained through iterative formulas.
[0112]
[0113] The definition of Q(·) is as follows:
[0114]
[0115] S302. Based on the error probability, filter the polarization sub-channels to obtain the reference channel index set;
[0116] Specifically, in the embodiments, when the conditions are met... In the case of building Collect RM weights that satisfy f w The row indices (i-1)>t, 1≤i≤N are used as the initial information index set, and S collects RM weights that satisfy f w The row numbers (i-1) = t, 1 ≤ i ≤ N are used as the candidate index set.
[0117] S303. Determine the target index based on the weighted sum of the RM weights and the channel utilization rates of the channels in the reference channel index set;
[0118] Specifically, in this embodiment, to more accurately characterize the conditions of the polarization sub-channel, the reference RM weight is attenuated using channel utilization, and the weight of the polarization sub-channel is analyzed after determining a certain number of information bit positions. For the i-th polarization sub-channel, its initial channel weight is the reference RM weight, i.e., ω. i The channel utilization rate of this sub-channel is τ. i That is, τ i Information bits are transmitted on this channel. For example, the information bits transmitted on this channel are independent of each other and share the transmission capacity of this channel; in this case, for a newly added information bit, it will be related to τ. i If each information bit shares the channel, then the newly added information bit can obtain 1 / τ of the polarization sub-channel. i +1 transmission resources. Correspondingly, the channel weight is reduced to 1 / (τ) of the original weight. i +1), i.e., ω i / τ i +1.
[0119] like Figure 4 As shown, through convolution transformation, information bits v i Transmission can be carried out on multiple polarization sub-channels, and the transmission v will participate in the transmission i The weights of the polarization sub-channels are added together, and the resulting weighted sum is:
[0120]
[0121] Where 1 ≤ i ≤ N. Weighting extends the characterization of channel conditions from polarimetric subchannels to before convolutional coding, where θ i This reflects the priority of the i-th row as information bits for transmission, θ i The larger the value, the more reliable the information transmission using that location.
[0122] S304. Add the channels from the candidate index set to the initial information index set according to the target index to obtain the target channel set;
[0123] Specifically, in the implementation example, the index i with the largest weighted sum in the candidate index set is determined. * It satisfies:
[0124] i * =argmax{θ i ,i∈S}
[0125] will i * Move from S to calculate number of elements like Then output As a final result, the implementation method terminates; if Then jump back to the process of calculating the channel utilization, iterate and update the channel utilization, and iterate through steps S301-S304.
[0126] S400: Output the encoded target signal through the channels in the target channel set;
[0127] Specifically, in the embodiment, the final output is the target signal after polarization convolution coding is completed.
[0128] The polarization-adjusted convolutional coding process provided in the embodiments of this application will be described in detail with reference to the accompanying drawings:
[0129] For example, the code length of the PAC code to be designed is N=2. n The information dimension is K, the bitrate is R, and the convolutional generator polynomial used is g(x) = g0 + g1x + ... + g t x t .
[0130] (1) Calculate the RM weight of each row of the polar coding generator matrix, that is, the RM weight of the i-th row is f. w (i-1). Choose a positive integer h, 0≤h≤n-1 that satisfies
[0131] (2) If the equality sign on the left is true, that is Collect RM weights that satisfy f w Output the row number where (i-1)>h, 1≤i≤N. The algorithm terminates as a final result; if the equality sign is not true. Collect RM weights that satisfy f w The row indices (i-1)>t, 1≤i≤N are used as the initial information index set, and S collects RM weights that satisfy f w The row numbers (i-1) = t, 1 ≤ i ≤ N are used as the candidate index set;
[0132] (3) Calculate the error probability of each polarization subchannel. It can be obtained using the Gaussian approximation method:
[0133]
[0134] The definition of Q(·) is as follows:
[0135]
[0136] The value can be calculated using the following iterative formula:
[0137]
[0138]
[0139] Its initial iteration value The initial value corresponding to the Gaussian approximation is constructed when the signal-to-noise ratio is 0dB, where φ(·) is defined as follows:
[0140]
[0141] (4) Sort the polarization sub-channels from smallest to largest according to their error probabilities, and select the top ones. Each channel is used as a reference channel, and its index set is: The reference RM weight is calculated using the following formula:
[0142]
[0143] (5) Calculate the channel utilization rate according to the following formula:
[0144]
[0145] Among them B i Indicates v i The state. That is:
[0146]
[0147] (6) For i∈S, calculate the weighted sum according to the following formula:
[0148]
[0149] (7) Determine the index with the largest weighted sum in the candidate index set:
[0150] i * =argmax{θ i ,i∈S}
[0151] will i * Move from S to
[0152] (8) Calculation number of elements like Then output As a final result, the algorithm terminates; if Then jump back to step (5) for iteration.
[0153] like Figure 5 As shown, to design a (4,2) PAC code, the convolution generator polynomial is g(x) = 1 + x. 2 Its convolutional network is as follows Figure 5 As shown. The calculated RM weight for each row is {f}. w (0),f w (1),f w (2),f w (3)}={0,1,1,2}. We can obtain h=1, which is the initial information index set at this point. The alternative index set S = {2, 3}. According to the formula... Therefore, the number of reference channels is 3, and the reference RM weight is... Based on the initial information index set The channel utilization rate is achievable. Therefore, the weighted sum can be calculated as follows: As can be seen, the weighted sum of {2} in the candidate index set is the largest, so we move it from S to... Right now S = {3}. At this time... The iteration terminates when the final set of information bit indices is...
[0154] In addition, such as Figure 6 As shown, the technical solution of this application also provides a decoding process for PAC codes, that is, the method in the embodiment may further include steps S500-S700:
[0155] S500, Determine the log-likelihood value or path value of the virtual channel;
[0156] In one embodiment, the log-likelihood value can be obtained by iterative calculation using a butterfly graph; or the global optimal path can be determined by depth-first search, and the path value of the global optimal path is the virtual channel with the highest reliability determined by accumulating the posterior probabilities.
[0157] Specifically, in this embodiment, compared to Polar's decoding method, PAC codes transfer the binary tree search process to convolutional codes. u is calculated through SC or Fano decoding. i log-likelihood value or path value
[0158] S600. Perform convolution inverse mapping on the log-likelihood value to obtain the first backpropagation value, or perform convolution inverse mapping on the path value to obtain the second backpropagation value.
[0159] Specifically, in the implementation example, based on the current state of the convolution register... v i →u i The following mapping exists: 0→0, 1→1. The log-likelihood values are then subjected to a convolutional inverse mapping, i.e. or Use this soft value to perform the corresponding tree search algorithm, and then use the decision value. Return. If v i →u i If the mapping relationship is satisfied: 0→1, 1→0, then... or Return estimate
[0160] S700: Iteratively update the virtual channel based on the first or second return value, and obtain the decoding result by outputting the updated virtual channel.
[0161] Specifically, in the embodiment, the next log-likelihood value or path value is obtained by iteratively based on the returned value, and so on, until the search ends and a complete decoding result is obtained.
[0162] In addition, two decoding methods are provided in the embodiment:
[0163] 1. SC Decoding Algorithm
[0164] Encoded codeword vector c After BPSK modulation and discrete memoryless channel, the received symbol vector is obtained. use This represents the information vector for decoding estimation. Based on channel polarization theory, for the i-th polarized sub-channel, it can be considered as the input being... and The output is u i The virtual channel has a channel transition probability likelihood ratio of satisfy:
[0165]
[0166] in, For channel transition probability, Represents the real number field. The set representing the values of N real number fields should be N (codeword length). For example... Figure 7 As shown, The LLR value can be calculated iteratively using a butterfly diagram. The butterfly diagram for a Polar code of length N. Figure 1 There are a total of log2N+1 layers. Starting from the leftmost layer, on each layer's decoding node, u represents the i-th information bit of a Polar code of length N. i The LLR value is calculated from the LLR values of the next two subcodes with a code length of N / 2, and so on, ultimately decomposing it into N subcodes with a code length of 1. This part is the LLR value of the received symbol. This can be obtained directly through channel observation:
[0167]
[0168] Where 1≤i≤N.
[0169] The recursive formula for LLR is as follows:
[0170]
[0171]
[0172] in, and Represent The elements corresponding to odd-numbered indices and the elements corresponding to even-numbered indices. f + (·) and f - The definition of (·) is as follows:
[0173]
[0174]
[0175] in The LLR value at the information bit end can be calculated using the above recursive formula. For all frozen bits, it is directly determined to be 0, i.e. For information bits The following judgment shall be made:
[0176]
[0177] 2. Fano Decoding Algorithm
[0178] Compared to the locally optimal decoding approach of SC decoding, the Fano decoding algorithm, building upon SC, employs a depth-first search strategy to seek the global optimum. It assumes that the information bits are uniformly distributed, i.e. P(u i =0)=P(u i=1) =0.5. Using Bayes' theorem, the posterior probability (APP) can be obtained. satisfy:
[0179]
[0180] in This can be obtained through the iterative formula of SC. To fairly compare the reliability of paths of different lengths, the algorithm proposes a new metric based on the posterior probability of the path. Assume that from... arrive The cumulative posterior probability of the path is:
[0181]
[0182] This value represents the reliability of the estimated path. Ideally, this value should have an upper bound equal to the accumulated value of the MAP.
[0183]
[0184] In this embodiment, the information bits are independent of each other, so the upper bound is approximated as follows:
[0185]
[0186] in For the i-th information bit The lower bound of the decoding error probability can be calculated using the Gaussian approximation method. This value can be used to correct the original path metric to achieve a fair comparison of paths of different lengths. The path metric of the Fano decoding algorithm is represented as follows:
[0187]
[0188] in Initialized to 0, this value physically represents the offset of the current path compared to the ideal optimal path. In a binary tree representation, This represents the path metric of a node at level i, and it has two representations. and These represent the metrics of the left and right paths extended from layer (i-1), respectively. A larger metric value indicates a more reliable path. To prevent the extension of erroneous paths, the Fano decoding algorithm introduces a threshold T and a step size Δ. A path is considered worth extending only when its metric value is greater than T. Furthermore, to ensure the decoder always outputs a complete decoding result, the threshold T dynamically changes according to the step size Δ, i.e., T∈{0,±Δ,±2Δ,…}. The specific decoding algorithm is described below:
[0189] For each new expansion node The decoder will and For ease of description, let's compare it with the threshold T. The larger of the two values is The corresponding decoding estimate is Conversely, it is recorded as and
[0190] 1. If satisfied Then expand
[0191] 2. If satisfied This means the current path is not ideal. In this case, the decoder will backtrack and traverse the parent nodes of the current node from the nearest to the furthest. Continue until a node that meets the following conditions is found or the process returns to the starting point.
[0192] a)
[0193] b) It was not expanded.
[0194] During the forward or backward movement, the threshold T will be dynamically adjusted according to the following rules:
[0195] 1. During the forward process, if the expanded condition is met... Then T = T + jΔ, j = 1, 2, ..., such that the updated T satisfies
[0196] 2. During the rollback process, if Let T = T - Δ;
[0197] 3. If we return to the starting point, then let T = T - Δ.
[0198] Once a complete path from the root node to the leaf node is obtained, the decoder will stop decoding and output the result corresponding to the complete path as the final decoding result.
[0199] like Figure 8 The diagram shows the code tree flowchart of the Fano decoding algorithm for a polar code of length N=4. In this embodiment, Threshold T = -4, step size Δ = 4. The numbers next to the nodes represent the path value, and the numbers on the arrows represent u. i The value of is obtained by calculation when i = 3. and satisfy choose The path is then expanded. Then the calculation is performed. The value was found. At this point, the decoder backtracks and discovers... choose The path is then expanded. Subsequently, there is... At this point, the decoder has successfully expanded to the leaf nodes, the decoding is complete, and the decoding result is:
[0200] To demonstrate the advantages of this scheme, the relevant simulation results are given below. The simulated channel conditions are additive white Gaussian noise, the modulation method is binary phase shift keying, and the step size of the Fano decoder used is Δ = 1.
[0201] like Figure 9 As shown, the frame error rate performance comparison of PAC codes with a code length of 128 and information dimensions of 42 and 85 is presented. The "Weighted Sum" curve represents the frame error rate curve of the PAC code constructed by the proposed method, the "RM-polar" curve represents the frame error rate curve of the PAC code constructed by RM-polar, and NA is the theoretical lower bound of the frame error rate for this code length and code rate. It is worth noting that the above example cannot be designed using the RM-like construction method. It can be seen that, under the same decoder, the performance of the designed PAC code is far superior to that of the PAC code constructed by RM-polar.
[0202] like Figure 10 As shown, the frame error rate performance comparison of PAC codes with a code length of 64 and an information dimension of 32 is presented. The "Monte-Carlo XdB" curve represents the frame error rate curve of the PAC code designed based on the Monte Carlo method under the condition of constructing a signal-to-noise ratio of XdB. It can be seen that the performance of the PAC code provided by this scheme effectively approaches that of the Monte Carlo-designed PAC code. Furthermore, the technical solution of this application does not rely on simulation and has the advantage of low construction complexity.
[0203] On the other hand, the technical solution of this application also provides a data processing apparatus; which includes:
[0204] A code rate configuration unit is used to acquire an input signal and configure the code rate of the input signal; determine that the code length, information dimension and code rate of the target signal meet a first preset condition, and construct an initial information index set and a candidate index set; and construct a target channel set according to the RM weight, the initial information index set and the candidate index set.
[0205] A convolutional coding unit is used to construct a generator matrix for convolutional coding based on the generator polynomial of convolutional coding, and is used to output the convolutionally coded signal.
[0206] The polar coding unit is used to construct a polar coding generator matrix according to the definition of polar coding, determine the RM weights of the polar sub-channels according to the generator matrix, and output the polar-coded target signal through the channels in the target channel set.
[0207] The target channel set is constructed based on the RM weights, the initial information index set, and the candidate index set, including:
[0208] Determine the error probability of the polarization sub-channel;
[0209] A reference channel index set is obtained by filtering the polarization sub-channels based on the error probability;
[0210] The target index is determined based on the weighted sum of the RM weights and the channel utilization rates of the channels in the reference channel index set;
[0211] The target channel set is obtained by adding the channels from the candidate index set to the initial information index set according to the target index.
[0212] In some alternative embodiments, the system can also implement a decoding function, the system comprising:
[0213] Decoding unit, used to determine the log-likelihood value or path value of the virtual channel;
[0214] The polarization mapping unit is used to perform convolutional inverse mapping on the log-likelihood value to obtain the first backhaul value, or to perform convolutional inverse mapping on the path value to obtain the second backhaul value; and to iteratively update the virtual channel based on the first or second backhaul value.
[0215] The information extraction unit is used to obtain the original signal through the updated virtual channel output and to extract information from the original signal to obtain the decoding result.
[0216] From the above specific implementation process, it can be concluded that the technical solution provided by the present invention has the following advantages or strengths compared with the prior art:
[0217] (1) Compared with the best-performing systematic theoretical construction method currently available, the RM-like construction method, the method proposed in this application can provide continuous code rate design. Furthermore, given the code length and code rate that the RM-like construction method can design, the PAC code constructed by the proposed method is completely identical to that of the RM-like method. The proposed method can be seen as a general extension of the RM-like construction method for arbitrary code lengths and codes.
[0218] (2) Compared with the simulation-based Monte Carlo construction method, the technical solution of this application achieves similar performance without the need for a large number of simulations, and has the advantage of low construction complexity.
[0219] In some alternative embodiments, the functions / operations mentioned in the block diagrams may not occur in the order shown in the operation diagrams. For example, depending on the functions / operations involved, two consecutively shown blocks may actually be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order. Furthermore, the embodiments presented and described in the flowcharts of this invention are provided by way of example to provide a more comprehensive understanding of the technology. The disclosed methods are not limited to the operations and logic flows presented herein. Alternative embodiments are contemplated in which the order of various operations is altered and sub-operations described as part of a larger operation are executed independently.
[0220] Furthermore, although the invention has been described in the context of functional modules, it should be understood that, unless otherwise stated, one or more of the functions and / or features may be integrated into a single physical device and / or software module, or one or more functions and / or features may be implemented in a separate physical device or software module. It is also understood that a detailed discussion of the actual implementation of each module is unnecessary for understanding the invention. Rather, given the properties, functions, and internal relationships of the various functional modules in the apparatus disclosed herein, the actual implementation of the module will be understood within the scope of conventional skill of an engineer. Therefore, those skilled in the art can implement the invention as set forth in the claims using ordinary techniques without excessive experimentation. It is also understood that the specific concepts disclosed are merely illustrative and not intended to limit the scope of the invention, which is determined by the full scope of the appended claims and their equivalents.
[0221] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus or device (such as a computer-based system, a processor-included system or other system that can fetch and execute instructions from, an instruction execution system, apparatus or device).
[0222] In the description of this specification, references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0223] Although embodiments of the invention have been shown and described, those skilled in the art will understand that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.
[0224] The above is a detailed description of the preferred embodiments of the present invention. However, the present invention is not limited to the above embodiments. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of the present invention. All such equivalent modifications or substitutions are included within the scope defined by the claims of this application.
Claims
1. A method for polarization-adjusted convolutional code encoding, characterized in that, Includes the following steps: The input signal is acquired, and a polar coding generator matrix is constructed according to the definition of polar coding. The RM weights of the polar sub-channels are determined based on the generator matrix. Determine that the code length, information dimension, and code rate of the target signal meet the first preset condition, and construct an initial information index set and a candidate index set; The target channel set is constructed based on the RM weights, the initial information index set, and the alternative index set. The encoded target signal is output through the channels in the target channel set; The step of constructing the target channel set based on the RM weights, the initial information index set, and the candidate index set includes: Determine the error probability of the polarization sub-channel; A reference channel index set is obtained by filtering the polarization sub-channels based on the error probability; The target index is determined based on the weighted sum of the RM weights and the channel utilization rates of the channels in the reference channel index set; The target channel set is obtained by adding the channels from the candidate index set to the initial information index set according to the target index; The first preset condition is: Wherein, the code length of the target signal is , For information dimensions, It is a positive integer, and satisfy , It is a positive integer.
2. The method for polarization-adjusted convolutional code encoding according to claim 1, characterized in that, After acquiring the input signal, constructing the polar coding generator matrix according to the definition of polar coding, and determining the RM weights of the polar sub-channels based on the generator matrix, the method further includes the following steps: The code length, information dimension, and code rate of the target signal are determined to meet the second preset condition, and the target channel set is obtained by filtering according to the preset weight value condition; The second preset condition is: Wherein, the code length of the target signal is , For information dimensions, It is a positive integer, and satisfy , It is a positive integer; the preset weight value condition is: in, For the RM weight, and satisfy .
3. The method for polarization-adjusted convolutional code encoding according to claim 1, characterized in that, The step of determining the error probability of the polarization sub-channel includes: The error probability of the polarization sub-channel is determined by Gaussian approximation, and the error probability is: in, Indicates the first Error probability of each polarization subchannel Indicates the first The mean of the output of each polarization sub-channel, a function The definition of is: , Representation function Input parameters.
4. The method for polarization-adjusted convolutional code encoding according to claim 3, characterized in that, The first The mean of the output of each polarization sub-channel is iterated using the following formula: function Defined as: Wherein, the initial iteration value The initial iteration value is the initial value constructed using the Gaussian approximation, resulting in a signal-to-noise ratio of 0 dB. For function Input parameters.
5. The method for polarization-adjusted convolutional code encoding according to claim 1, characterized in that, The input signal includes information bits and frozen bits. Prior to the step of determining the target index based on the weighted sum of the channel utilization rates of the channels in the reference channel index set according to the RM weights, the method further includes: The bit state of the input signal is determined based on the information bits and the frozen bits; The number of information bits transmitted in the polarized subchannel is calculated based on the bit state and the generator polynomial, and the channel utilization rate is obtained.
6. The method for polarization-adjusted convolutional code encoding according to claim 1, characterized in that, After the step of outputting the encoded target signal through the channels of the target channel set, the method further includes: Determine the log-likelihood value or path value of the virtual channel; The first backpropagation value is obtained by performing a convolutional inverse mapping on the log-likelihood value, or the second backpropagation value is obtained by performing a convolutional inverse mapping on the path value. The virtual channel is iteratively updated based on the first or the second return value, and the decoding result is obtained by outputting the updated virtual channel.
7. The method for polarization-adjusted convolutional code encoding according to claim 6, characterized in that, The step of determining the log-likelihood value or path value of the virtual channel includes: The log-likelihood value is obtained by iterative calculation using a butterfly diagram. The globally optimal path is determined by depth-first search, and the path value of the globally optimal path is the virtual channel with the highest reliability determined by posterior probability accumulation.
8. A device for polarization-adjusted convolutional code encoding, characterized in that, The device includes: A code rate configuration unit is used to acquire an input signal and configure the code rate of the input signal; determine that the code length, information dimension and code rate of the target signal meet a first preset condition, and construct an initial information index set and a candidate index set; and construct a target channel set according to the RM weight, the initial information index set and the candidate index set. A convolutional coding unit is used to construct a generator matrix for convolutional coding based on the generator polynomial of convolutional coding, and is used to output the convolutionally coded signal. The polar coding unit is used to construct a polar coding generator matrix according to the definition of polar coding, determine the RM weights of the polar sub-channels according to the generator matrix, and output the polar-coded target signal through the channels in the target channel set. The target channel set is constructed based on the RM weights, the initial information index set, and the candidate index set, including: Determine the error probability of the polarization sub-channel; A reference channel index set is obtained by filtering the polarization sub-channels based on the error probability; The target index is determined based on the weighted sum of the RM weights and the channel utilization rates of the channels in the reference channel index set; The target channel set is obtained by adding the channels from the candidate index set to the initial information index set according to the target index; The first preset condition is: Wherein, the code length of the target signal is , For information dimensions, It is a positive integer, and satisfy , It is a positive integer.
9. The apparatus for polarization-adjusted convolutional code encoding according to claim 8, characterized in that, The device further includes: Decoding unit, used to determine the log-likelihood value or path value of the virtual channel; The polarization mapping unit is configured to perform a convolutional inverse mapping on the log-likelihood value to obtain a first return value, or perform a convolutional inverse mapping on the path value to obtain a second return value; and iteratively update the virtual channel based on the first or second return value. The information extraction unit is used to obtain the original signal through the updated virtual channel output, and to extract information from the original signal to obtain the decoding result.