A low-complexity puncturing method for convolutional coding with polarization adjustment

By selecting frozen bits at the output end of the PAC code encoder and combining convolutional precoding and polarization transformation, the problem of fixed code length and complexity of existing hole punching algorithms is solved, and flexible adjustment of code length and code rate and performance improvement are achieved.

CN117294395BActive Publication Date: 2025-05-16UNIV OF ELECTRONICS SCI & TECH OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311333897.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-10-16
Publication Date
2025-05-16
Estimated Expiration
2043-10-16

AI Technical Summary

Technical Problem

The code length of the PAC code must be 2n, which limits its application in actual channel transmission. The existing hole punching algorithm is complex and it is difficult to adapt to the adjustment of code length and code rate.

Method used

A low-complexity punching method is proposed. By selecting freezing bits at the output end of the encoder to determine the punching position, combined with convolutional precoding and polarization transformation, the punching parameters are dynamically adjusted to achieve flexible adjustment of code length and code rate.

Benefits of technology

It reduces channel degradation, improves the performance of PAC code, realizes adaptive adjustment of code length and code rate, and enhances the universality of the encoding scheme.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure SMS_6
    Figure SMS_6
  • Figure SMS_18
    Figure SMS_18
  • Figure FDA0004495044860000014
    Figure FDA0004495044860000014
Patent Text Reader

Abstract

The present invention belongs to the field of communication technology, and in particular, relates to a low-complexity puncturing method for convolutional coding suitable for polarization adjustment. Compared with the traditional puncturing method based on polarization structure, the scheme proposed by the present invention selects the puncturing position based on frozen bits, reduces the overall degradation of the channel, and at the same time, the scheme takes into account the influence of convolution pre-transformation on codeword performance. Compared with the traditional puncturing algorithm, the PAC code punctured by the scheme has obvious performance improvement.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of communication technology, and in particular relates to a low-complexity puncturing method suitable for polarization-adjusted convolutional codes (PAC). Background Art

[0002] Polar code is a coding method proposed by Erdal Arikan based on channel polarization theory. It is the first channel coding scheme that has been proven to strictly achieve the capacity of a binary symmetric channel using a serial cancellation decoding algorithm when the code length is infinite (E. "Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-Input memoryless channels," IEEE Transactions on Information Theory, vol. 55, pp. 3051–3073, 2009.), however, when the code length is limited, the channel polarization is insufficient, resulting in poor performance of polarization codes. To this end, E. Arikan proposed a coding scheme that combines polarization codes with convolutional codes, called polarization adjusted convolutional (PAC) codes, to compensate for the channel capacity loss of polarization codes in short code scenarios (E. “From sequential decoding to channel polarization and back again,” ArXiv, vol. abs / 1908.09594, 2019.). The construction principle and basic method of PAC code are similar to those of polarization code, that is, to determine the position of the frozen bits that are equal to the number of check bits. However, since PAC code is generated based on polarization transformation, its code length is limited to 2. n, but from a practical point of view, the code length required for channel transmission is not necessarily equal to this value, and the actual channel is a time-varying channel, and the code rate must be adjusted according to the actual channel conditions. Puncturing algorithm is an important method to make the code length variable. A. Eslami proposed random puncturing and stop-tree puncturing for polar codes in 2011, which met the requirements of variable code length (A. Eslami and H. Pishro-Nik, "A practical approach to polar codes," 2011 IEEE International Symposium on Information Theory Proceedings, St. Petersburg, Russia, pp. 16-20, 2011.). Subsequently, K.Niu proposed a uniform puncturing algorithm, which makes the punctured bits evenly distributed through binary sorting of bits, with simple operation and good decoding performance (K.Niu, K.Chenand J.-R.Lin, "Beyond turbo codes: Rate-compatible punctured polar codes," IEEE International Conference on Communications, Hungary, pp.3423-3427, 2013.). On this basis, W.Liu proposed an improved forward sequence puncturing algorithm, which improved the puncturing performance when the code rate is low and the number of punctured bits is large (W.Liu, Y.Wang, A.Li, P.Yu and F.Zhou, "An Improved Puncturing Scheme for Polar Codes," 2020 International Wireless Communications and Mobile Computing, Limassol, Cyprus, pp.154-158, 2020.). M. Jang proposed that a more optimal polar code puncturing pattern can be determined through binary partial order control, and at the same time provided guidance for designing a practical polar code rate matching scheme (M. Jang, "Rate Matching for Polar Codes Based on Binary Domination," IEEE Transactions on Communications, vol. 67, no. 10, pp. 6668-6681, 2019.).L. Zhang proposed a puncturing algorithm that uses Gaussian approximation to re-match the rate after puncturing, which improves the performance of the puncturing algorithm but has a high complexity (L. Zhang, "On the puncturing patterns for punctured polar codes," IEEE International Symposium on Information Theory, Honolulu, pp. 121-125, 2014.). The above puncturing algorithms are all for polar codes, and may not be applicable to PAC codes. Therefore, it is necessary to design a coding scheme for PAC codes that can adaptively adjust both the code length and the code rate without changing the basic coding structure. Summary of the invention

[0003] The problem addressed by the present invention is that, according to the basic coding structure of the PAC code, its code length must be 2 n Therefore, the practical use of PAC codes is limited. The purpose of the present invention is to propose a new low-complexity puncturing scheme, which allows the code length and code rate to be flexibly changed without changing the basic coding structure of the PAC code, thereby improving the universality of the PAC code.

[0004] The PAC code puncturing strategy refers to puncturing some bits at the output of the encoder. These bits will not be transmitted, thereby changing the code length and code rate. Since the receiving end has no prior information about these punctured bits, the decoder will assume that the probability of these bits being zero or one is equal before decoding.

[0005] The technical solution of the present invention is:

[0006] A low-complexity puncturing method for convolutional coding suitable for polarization adjustment is provided, wherein the original code length of a PAC code is defined as N, the number of information bits is defined as K, 1≤K≤N, and the number of puncturing bits required is defined as p, 1≤p≤NK; the puncturing method comprises:

[0007] S1. Use the classical construction method to construct the PAC code, select K information bits and NK frozen bits, obtain the subchannel reliability ascending order T according to the adopted construction method, and obtain the corresponding subchannel index sorting set S according to the arrangement T;

[0008] S2. Define a set Q to record the index of the unreliable bits at the encoding input end, and add the first p bits of S to Q;

[0009] S3, define a set Q' for recording the index of unreliable bits after convolution precoding, and the calculation process is Q'=Q;

[0010] S4. Determine the puncturing parameters of the bits after polarization transformation by using the puncturing parameter transfer rule, specifically:

[0011] Punch parameters of unreliable bits before polarization conversion recorded in Q' Set to 0, a∈Q', the puncturing parameters of other bits before polarization transformation Set to 1, Where 1≤a,b≤N;

[0012] The puncturing parameters of each bit in the polarization process are calculated iteratively. The puncturing parameters of the bit after the f-th level of polarization are calculated as follows:

[0013]

[0014] in represents the (2i)2 in the f-th polarization f-1 +j-bit puncturing parameters, the calculation symbol & represents AND operation, and the calculation is iterated until the puncturing parameters of the bit after log2 N-level polarization are obtained

[0015] S5. The corresponding bit index i constitutes the puncturing set P;

[0016] S6, check the number of elements in the puncturing set P, if it is less than or equal to p, then P is the final puncturing bit set, and go to step S11; if the number of elements in P is greater than p, go to S7;

[0017] S7. Select p elements in P according to the set order to form a new set P'. Define that there are m elements in P, and get species P', set the threshold r, The maximum value is If m≤r, keep If m>r, only the first The size of P',r is determined by the acceptable complexity, and the puncturing parameters of the bits before polarization conversion are determined by the anti-puncturing parameter transfer rule, which is specifically:

[0018] The puncturing parameters of the bits recorded in P' after polarization transformation Set to 0, a∈P', the puncturing parameters of other polarization transformed bits Set to 1, Where 1≤a,b≤N;

[0019] The puncturing parameters of each bit in the polarization reversal process are calculated iteratively. The puncturing parameters of the bit after the f-th level of polarization are calculated as follows:

[0020]

[0021] in represents the (2i)2 in the f-th polarization f-1 + The puncturing parameters of the j-bit are calculated iteratively until the puncturing parameters of the bits before polarization are obtained. 1≤i≤N;

[0022] S8. The corresponding bit index i forms a set C', which is obtained from the possible situations of P' species C';

[0023] S9, define a set C for recording unreliable bit indexes before convolution transformation, and the calculation process is C=C';

[0024] S10. Take p elements from T according to the index recorded in C, sum these elements, and get the sum t. There are C possible situations, and we get For each type t, select the set C corresponding to t with the lowest sum of reliability, and execute P = C;

[0025] S11. Puncture the obtained P as the final punctured bit set.

[0026] The beneficial effect of the present invention is that, compared with the traditional puncturing method based on polarization structure, the scheme proposed by the present invention selects the puncturing position based on frozen bits, thereby reducing the overall degradation of the channel. At the same time, the scheme takes into account the influence of convolution pre-transformation on codeword performance. Compared with the traditional puncturing algorithm, the PAC code punctured using this scheme has obvious performance improvement. DETAILED DESCRIPTION

[0027] The present invention is described in further detail below in conjunction with the embodiments.

[0028] Example

[0029] This example constructs a PAC code with N=64, K=32, and puncturing bit number p=8, and specifically includes the following steps:

[0030] Step 1: Use Gaussian approximation to construct the PAC code, design the signal-to-noise ratio to 6 dB, and obtain the information bit index set A and the frozen bit index set A. c , where A and A c The number of elements in is 32. According to the Gaussian approximation, the sub-channel log-likelihood ratio (LLR) means are arranged in ascending order T, and the corresponding sub-channel index sorting set S is obtained according to the arrangement T.

[0031] Step 2: Take the first p=8 bits and elements of set S to form set Q, and get Q={1,2,3,5,9,17,8,4}.

[0032] Step 3: Use set Q' to record the index of the least reliable 8 bits after convolution precoding. The calculation process is Q'=Q, and Q'={1,2,3,5,9,17,8,4} is obtained.

[0033] Step 4: Determine the puncturing parameters of the bits after polarization transformation using the puncturing parameter transfer rule. The process is as follows:

[0034] (1) Set the puncturing parameters. Set the puncturing parameters of the 1st, 2nd, 3rd, 5th, 9th, 17th, 8th, and 4th bits recorded in Q' before polarization transformation to

[0035] (a={1,2,3,5,9,17,8,4}) is set to 0, and the puncturing parameters of other bits before polarization conversion are (1≤b≤N,b ≠a) is set to 1.

[0036] (2) According to the formula Iteratively calculate the puncturing parameters of each bit during the polarization process. Iteratively calculate the puncturing parameters of the bit after log2 N levels of polarization.

[0037] Step 5: After the iterative calculation in step 4, the puncturing parameters of the encoded output bits are obtained. 1≤i≤N,

[0038] Will The corresponding bit index i forms a puncturing set P, and P = {1, 2, 3, 4, 5, 6, 7, 8, 9, 17}.

[0039] Step 6: Check whether the number of elements in the punch set P is greater than p, and proceed to step 7.

[0040] Step 7: Select p = 8 elements in P to form a new set P'. There are 10 elements in P, so we can get The puncturing parameters of the bits before polarization conversion are determined by using the reverse puncturing parameter transfer rule, and the process is as follows:

[0041] (1) Set the puncturing parameters at the output end of the code. Set the puncturing parameters of the bits recorded in P' after polarization conversion to

[0042] Set to 0, the puncturing parameters of other bits before polarization conversion Set to 1, where

[0043] 1≤a,b≤N.

[0044] (2) According to the formula Iteratively calculate the puncturing parameters of each bit in the polarization inversion process. Continuously iterate the calculation until the puncturing parameters of the bit before polarization (f=0) are obtained.

[0045] Step 8: After iterative calculation in step 7, the puncturing parameters of the bits before polarization are obtained. 1≤i≤N,

[0046] The corresponding bit index i forms a set C', and 45 types of C' can be obtained from the possible situations of P'.

[0047] Step 9: Use set C to record the unreliable bit indexes before convolution transformation, and the calculation process is C=C'.

[0048] Step 10. Take p elements in T according to the index recorded in C, sum these elements, and get the sum t. Through 45 possible situations of C, we get 45 kinds of t. Select the set C corresponding to t when the sum of reliabilities is the lowest, and get C = {1, 2, 3, 4, 5, 7, 9, 17}. Execute P = C. At this time, P = {1, 2, 3, 4, 5, 7, 9, 17} is the final punctured bit set.

Claims

1. A low-complexity puncturing method for convolutional coding suitable for polarization adjustment, defining the original code length of the PAC code as N, the number of information bits as K, 1≤K≤N, and the number of puncturing bits required as p, 1≤p≤NK; characterized in that, The punching method comprises: S1. Use the classical construction method to construct the PAC code, select K information bits and NK frozen bits, obtain the subchannel reliability ascending order T according to the adopted construction method, and obtain the corresponding subchannel index sorting set S according to the arrangement T; S2. Define a set Q to record the index of the unreliable bits at the encoding input end, and add the first p bits of S to Q; S3, define a set Q' for recording the index of unreliable bits after convolution precoding, and the calculation process is Q'=Q; S4. Determine the puncturing parameters of the bits after polarization transformation by using the puncturing parameter transfer rule, specifically: Punch parameters of unreliable bits before polarization conversion recorded in Q' Set to 0, a∈Q', the puncturing parameters of other bits before polarization transformation Set to 1, Where 1≤a,b≤N; The puncturing parameters of each bit in the polarization process are calculated iteratively. The puncturing parameters of the bit after the f-th level of polarization are calculated as follows: in represents the (2i)2 in the f-th polarization f-1 +j-bit puncturing parameters, the calculation symbol & represents AND operation, and the calculation is iterated until the puncturing parameters of the bit after log2 N-level polarization are obtained 1≤i≤N; S5. The corresponding bit index i constitutes the puncturing set P; S6, check the number of elements in the puncturing set P, if it is less than or equal to p, then P is the final puncturing bit set, and go to step S11; if the number of elements in P is greater than p, go to S7; S7. Select p elements in P according to the set order to form a new set P'. Define that there are m elements in P, and get species P', set the threshold r, The maximum value is If m≤r, keep If m>r, only the first The size of P',r is determined by the complexity, and the puncturing parameters of the bits before polarization conversion are determined by the anti-puncturing parameter transfer rule, which is specifically: The puncturing parameters of the bits recorded in P' after polarization transformation Set to 0, a∈P', the puncturing parameters of other polarization transformed bits Set to 1, Where 1≤a,b≤N; The puncturing parameters of each bit in the polarization reversal process are calculated iteratively. The puncturing parameters of the bit after the f-th level of polarization are calculated as follows: in represents the (2i)2 in the f-th polarization f-1 + The puncturing parameters of the j-bit are calculated iteratively until the puncturing parameters of the bits before polarization are obtained. 1≤i≤N; S8. The corresponding bit index i forms a set C', which is obtained from the possible situations of P' species C'; S9, define a set C for recording unreliable bit indexes before convolution transformation, and the calculation process is C=C'; S10. Take p elements from T according to the index recorded in C, sum these elements, and get the sum t. There are C possible situations, and we get For each type t, select the set C corresponding to t with the lowest sum of reliability, and execute P = C; S11. Puncture the obtained P as the final punctured bit set.