Encoding method, encoding and decoding method, and device of Polar code

By disassembling the target code length and estimating the channel, building a sequence group to be encoded and coding in parallel, the problem that standard Polar code cannot be applied to low-voltage power line communication is solved, and efficient encoding and rapid transmission of non-2n-byte-length data is achieved.

CN114598331BActive Publication Date: 2025-07-01CHINA GRIDCOM +2
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210220932.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-08
Publication Date
2025-07-01
Estimated Expiration
2042-03-08

AI Technical Summary

Technical Problem

The standard Polar code compilation and decoding method cannot be applied to low-voltage power line communication because it can only implement 2n code long encoding, while the length of the physical block in actual power line communication is not necessarily 2n.

Method used

By disassembling the target code length, multiple subcode lengths are obtained, each subcode length is 2n bytes, channel estimation is performed separately, a group of sequences to be encoded, and parallel encoding is performed to obtain the Polar encoding of the target code length.

Benefits of technology

It solves the problem that standard Polar code cannot encode non-2n byte length data, enhances the encoding flexibility of Polar code, reduces encoding complexity, and speeds up the transmission speed of low-voltage power line communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114598331B_ABST
    Figure CN114598331B_ABST
Patent Text Reader

Abstract

The present application discloses a coding method, encoding and decoding method, and device for Polar codes. The coding method includes: obtaining a target code length; performing code length decomposition on the target code length to obtain multiple sub-code lengths; respectively performing channel estimation on the multiple sub-code lengths to obtain a bit sequence; constructing a sequence group to be encoded according to the bit sequence; performing parallel coding on the sequence group to be encoded to obtain a Polar code of the target code length; wherein each sub-code length is 2<supgt;n< / supgt> bytes. The Polar encoding and decoding method of the present application solves the problem that the standard Polar code cannot encode data with a length other than 2<supgt;n< / supgt> bytes, and thus cannot be applied to low-voltage power lines, enhances the flexibility of Polar code encoding, and has a lower complexity compared to traditional low-voltage power line coding methods, and speeds up the transmission speed of low-voltage power lines.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technologies, and particularly to a coding method, a coding and decoding method, and a device for Polar codes. Background Art

[0002] Power Line Communication (PLC) technology has excellent characteristics that meet the development trend of modern communication systems, such as high transmission rate, wide transmission range, and no need for re-wiring. It is one of the communication methods with great potential in the application of intelligent systems. However, the power line channel is not an ideal communication channel and requires excellent reliability optimization methods. Channel coding is one of the important components in a communication system. Shannon proposed in the noisy channel coding theorem that when the information transmission rate does not exceed the channel capacity, there exists a channel coding method that can achieve an arbitrarily small error probability. This achievable channel capacity is also called the Shannon limit, which determines the maximum transmission rate of information transmission. However, Shannon's theorem does not point out the specific channel coding scheme for realizing Shannon's theorem. It was not until 2008 that Professor Erdal Arikan first proposed the concept of channel polarization at the International Symposium on Information Theory (ISIT) conference and proposed a new type of channel coding - Polar code based on this concept. Polar codes have been proven to be able to strictly reach the Shannon limit under the Binary Discrete Memoryless Channel (B-DMC) and the Binary Erasure Channel (BEC), which cannot be achieved by all previously known channel codings with acceptable coding and decoding complexity. Therefore, Polar codes have attracted much attention since they were first proposed. In 2016, at the 87th meeting of 3GPP RAN1, the international mobile communication standardization organization 3GPP finally determined that the control channel coding scheme for the 5G enhanced Mobile Broadband (eMBB) scenario is Polar code.

[0003] A power line communication system under the low - voltage power line broadband carrier communication standard specification. The physical layer receives input data from the data link layer. The data format is divided into frame control data and payload data, which are respectively encoded at the physical layer transmitting end. The channel coding method is Turbo code. The frame control symbol coding block length is 16 bytes, and the code rate is 0.5. The payload symbol coding block length supports four modes: 72 bytes, 136 bytes, 264 bytes, and 520 bytes. Referring to the Polar code encoding and decoding method, first, N independent binary discrete memoryless channels with the same number as the Polar code length and being uncorrelated need to be combined iteratively through the Polar code encoding linear transformation matrix generated by constructing from the basic matrix, and then the combined N independent binary discrete memoryless channels are linearly transformed and merged into an overall vector channel through the Polar code encoding linear transformation matrix. This process is called channel combination. The channel combing process starts from a single channel and iterates. The number of channels doubles successively with the increase of the iteration times, that is, the iteration times n is related to the number of channels, namely the data code length N, N = 2 n , n ≥ 0. Therefore, the Polar coding principle determines that the standard Polar code can only achieve 2 n code - length encoding. After the channel combination is completed, the combined channel is split again, that is, the vector channel formed by combining N independent binary discrete memoryless channels is split into N binary input channels that affect each other and are not independent according to the channel transition probability, so as to maximize the transmission efficiency of the split binary input channels and realize the polarization of the channel. The encoding and decoding method of the standard Polar code can only achieve the encoding and decoding of data blocks with a code length of 2 n length, while in actual power line communication, the physical block length is not 2 n . Therefore, the encoding and decoding method of the standard Polar code cannot be applied to power line communication. Summary of the Invention

[0004] The purpose of the embodiments of the present application is to provide a Polar code encoding method, encoding and decoding method, and device to solve the problem that the encoding and decoding method of the standard Polar code in the prior art cannot be applied to power line communication.

[0005] To achieve the above purpose, the first aspect of the present application provides a Polar code encoding method applied to a low - voltage power line. The encoding method includes:

[0006] Obtain a target code length;

[0007] Perform code - length decomposition on the target code length to obtain multiple sub - code lengths;

[0008] Respectively perform channel estimation on the multiple sub - code lengths to obtain a bit - sequence;

[0009] Construct a sequence group to be encoded according to the bit - sequence;

[0010] Parallelly encode the coding sequence group to obtain a Polar code with a target code length;

[0011] wherein each sub-code length is 2 n bytes.

[0012] In the embodiment of the present application, disassemble the target code length to obtain multiple sub-code lengths, including:

[0013] When the target code length is less than the first threshold, disassemble the target code length into the first number of sub-code lengths;

[0014] When the target code length is greater than the first threshold and less than the second threshold, disassemble the target code length into the second number of sub-code lengths;

[0015] When the target code length is greater than the second threshold, disassemble the target code length into the third number of sub-code lengths.

[0016] In the embodiment of the present application, perform channel estimation on multiple sub-code lengths respectively to obtain a bit sequence, including:

[0017] Perform channel estimation on the polarization sub-channels corresponding to multiple sub-code lengths;

[0018] Merge the polarization sub-channels to obtain an overall reliability sequence;

[0019] Sort the overall reliability sequence in descending order to obtain a first order;

[0020] Select the serial numbers of the target length to be encoded according to the first order to obtain a bit sequence.

[0021] In the embodiment of the present application, the channel estimation is Gaussian estimation.

[0022] In the embodiment of the present application, construct a sequence group to be encoded according to the bit sequence, including:

[0023] Use the first preset number of information bits as cyclic redundancy check transmission bits;

[0024] Use the second preset number of information bits as data bit transmission bits;

[0025] Use the third preset number of transmission bits as a frozen bit sequence;

[0026] Determine the sequence to be encoded according to the cyclic redundancy check transmission bits, data bit transmission bits, and frozen bit sequence;

[0027] Split the sequence to be encoded to the corresponding positions in the polarization code group according to the categories of multiple sub-code lengths to obtain a sequence group to be encoded;

[0028] Wherein, the sum of the first preset quantity and the second preset quantity is the length of the target to be encoded; the sum of the length of the target to be encoded and the third preset quantity is the length of the target code; the reliability of the data bit transmission bits is greater than the reliability of the cyclic redundancy check transmission bits; the reliability of the cyclic redundancy check transmission bits is greater than the reliability of the frozen bit sequence.

[0029] In the embodiment of the present application, performing parallel encoding on the sequence group to be encoded to obtain Polar encoding with the target code length includes:

[0030] Performing parallel encoding on the sequence group to be encoded according to the number of sub-code lengths to obtain multiple groups of Polar encoding;

[0031] Combining multiple groups of Polar encoding to obtain Polar encoding with the target code length.

[0032] In the embodiment of the present application, performing parallel encoding on the sequence group to be encoded according to the number of sub-code lengths to obtain multiple groups of Polar encoding includes:

[0033] Determining the number of encoders according to the number of sub-code lengths;

[0034] Inputting the sequence to be encoded into the corresponding encoder according to the category of the sub-code length;

[0035] Performing parallel encoding on the sequence group to be encoded through multiple encoders to obtain multiple groups of Polar encoding.

[0036] A second aspect of the present application provides a Polar code encoding and decoding method, which is applied to a low-voltage power line. The encoding and decoding method includes:

[0037] The above-mentioned Polar code encoding method;

[0038] Performing parallel decoding on the Polar encoding with the target code length to obtain multiple groups of target decoding results;

[0039] Performing path selection and combination on multiple groups of target decoding results to obtain the final decoding result.

[0040] In the embodiment of the present application, performing path selection and combination on multiple groups of target decoding results to obtain the final decoding result includes:

[0041] Selecting a target decoding path from each group of target decoding results respectively for path combination;

[0042] Determining the path metric value of each path combination and performing sorting to obtain the second order;

[0043] Performing cyclic redundancy check in sequence according to the second order;

[0044] Determine the first path combination passing the cyclic redundancy check as the final decoding result.

[0045] A third aspect of the present application provides an encoding and decoding apparatus for Polar codes, which is applied to low-voltage power lines and includes:

[0046] A memory configured to store instructions; and

[0047] A processor configured to call instructions from the memory and be able to implement the above-mentioned Polar code encoding method or the above-mentioned Polar code encoding and decoding method when executing the instructions.

[0048] A fourth aspect of the present application provides a machine-readable storage medium, on which instructions are stored, and the instructions are used to cause a machine to execute the above-mentioned Polar code encoding method or the above-mentioned Polar code encoding and decoding method.

[0049] Through the above technical solution, in a low-voltage power line, the obtained target code length is disassembled into multiple sub-code lengths, where each sub-code length is 2 n bytes; then channel estimation is respectively performed on the multiple sub-code lengths to obtain a bit sequence; and then a sequence group to be encoded is constructed according to the bit sequence; the sequence group to be encoded is encoded in parallel to obtain a Polar code encoding of the target code length. The Polar code encoding method of the present application solves the problem that the standard Polar code cannot encode data with a length other than 2 n bytes, so that it cannot be applied to low-voltage power lines, enhances the encoding flexibility of the Polar code, and has a lower complexity compared with the traditional encoding method for low-voltage power lines, and speeds up the transmission speed of low-voltage power lines.

[0050] Other features and advantages of the embodiments of the present application will be described in detail in the subsequent specific implementation part. BRIEF DESCRIPTION OF THE DRAWINGS

[0051] The drawings are used to provide a further understanding of the embodiments of the present application, and constitute a part of the specification, and are used to explain the embodiments of the present application together with the following specific implementation, but do not constitute a limitation to the embodiments of the present application. In the drawings:

[0052] Figure 1 Schematically shows a flowchart of a Polar code encoding method according to an embodiment of the present application;

[0053] Figure 2 Schematically shows a flowchart of disassembling a target code length according to an embodiment of the present application;

[0054] Figure 3Schematically shown is a flowchart of a Polar code encoding and decoding method according to an embodiment of the present application;

[0055] Figure 4 Schematically shown is a schematic diagram of an application environment of a Polar code encoding and decoding method according to a specific embodiment of the present application;

[0056] Figure 5 Schematically shown is a block diagram of a Polar code encoding and decoding device according to an embodiment of the present application. Detailed implementation manners

[0057] To make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. It should be understood that the specific implementation manners described herein are only for explaining and illustrating the embodiments of the present application, and are not used to limit the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.

[0058] It should be noted that if there are directional indications (such as up, down, left, right, front, back,...) involved in the embodiments of the present application, the directional indications are only used to explain the relative position relationship and movement conditions between components in a specific posture (as shown in the drawings). If the specific posture changes, the directional indications will also change accordingly.

[0059] In addition, if there are descriptions involving "first", "second", etc. in the embodiments of the present application, the descriptions of "first", "second", etc. are only for descriptive purposes, and cannot be understood as indicating or implying their relative importance or implicitly indicating the quantity of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include at least one of such features. In addition, the technical solutions between various embodiments may be combined with each other, but it must be based on the fact that those of ordinary skill in the art can implement them. When the combination of technical solutions results in contradictions or cannot be implemented, it should be considered that such a combination of technical solutions does not exist and is not within the protection scope required by the present application.

[0060] Figure 1 Schematically shown is a flowchart of a Polar code encoding method according to an embodiment of the present application. As Figure 1 shown, the embodiments of the present application provide a Polar code encoding method applied to low-voltage power lines. The encoding method may include the following steps:

[0061] Step 101, obtain a target code length;

[0062] Step 102: Decompose the target code length to obtain multiple sub-code lengths.

[0063] Step 103: Perform channel estimation on multiple sub-code lengths respectively to obtain bit sequences.

[0064] Step 104: Construct a sequence group to be encoded according to the bit sequences.

[0065] Step 105: Perform parallel encoding on the sequence group to be encoded to obtain Polar encoding of the target code length.

[0066] Among them, each sub-code length is 2 n bytes.

[0067] The encoding method of the Polar code in the embodiment of the present application is applied to low-voltage power lines. In a power line communication system under the broadband carrier communication standard specification of low-voltage power lines, the load symbol coding block length supports four modes: 72 bytes, 136 bytes, 264 bytes, and 520 bytes. In the embodiment of the present application, the channel coding method for low-voltage power lines is re-selected as the Polar code. The capacity of the Polar code can reach the code and there is no error floor, and the complexity of encoding and decoding is relatively low. While maintaining approximately the same excellent performance as the Turbo code, the complexity of channel encoding and decoding is reduced.

[0068] In the embodiment of the present application, code length decomposition refers to decomposing the target code length into a group of sub-code lengths, and each sub-code length is 2 n bytes. In a low-voltage power system, the target length K to be encoded can be 72 bytes, 136 bytes, 264 bytes, and 520 bytes. Since the code rate is 0.5, the target code length N can be 144 bytes, 272 bytes, 528 bytes, and 1040 bytes. For code length decomposition, the target code length can be decomposed into multiple parts, where the first part can be 2 4 = 16 bytes, and the remaining parts can also be decomposed into multiple 2 n bytes. For example, for 144 bytes, it can be decomposed into two parts: 16 bytes and 128 bytes, which are 2 4 bytes and 2 7 bytes respectively; for 272 bytes, it can be decomposed into two parts: 16 bytes and 256 bytes, which are 2 4 bytes and 2 8 bytes respectively; for 528 bytes, it can be decomposed into 16 bytes and two 256 bytes, which are 2 4 bytes and two 2 8 bytes respectively; for 1040 bytes, it can be decomposed into 16 bytes and four 256 bytes, which are 2 4 bytes and four 2 8 bytes respectively. In this way, the non-standard code length is decomposed into multiple 2 nThe sub - code length in bytes balances resource consumption and coding / decoding performance, and realizes Polar coding with a target code length that is not a power of 2. n This lays a foundation for subsequent parallel coding and parallel decoding.

[0069] After disassembling the target code length to obtain multiple sub - code lengths, channel polarization is performed on the grouping results of the multiple sub - code lengths, and the reliability of the corresponding channel transmission is estimated. Then, the reliability sets of the groups are combined, and the overall reliability set is sorted in descending order. Furthermore, the sequence numbers of the K channels with the highest reliability are selected to form the bit - sequence of the overall information. Taking the target code length N of 144 bytes as an example, N1 and N2 correspond to 16 and 128 bytes respectively, and each byte corresponds to a channel. After estimating the reliability of each channel of N1 and N2 respectively, the two groups of reliabilities are combined. The overall reliability sequence is sorted in descending order, that is, sorted according to sequence number 1 to sequence number 144, to obtain the channels corresponding to 144 bytes arranged in descending order of reliability. Selecting the sequence numbers of the K channels with the highest reliability, that is, the 72 sequence numbers with the highest reliability, these 72 sequence numbers can form the overall information bit - sequence. Preferably, in the embodiment of the present application, Gaussian estimation can be used for channel estimation, and the reliability result obtained by Gaussian estimation is more accurate.

[0070] After obtaining the bit - sequence, a sequence group to be encoded can be constructed according to the bit - sequence. When selecting information bits, multiple sub - code lengths can be regarded as a whole. The error probability of each sub - channel corresponding to each sub - code length is calculated, the error probabilities of all channels are sorted and selected, and these information bits are scattered in each code block. For a single polar code, the code rate is not necessarily the target code rate, but for the entire polar code, its code rate is the target code rate. In the embodiment of the present application, the bit - sequence can be processed in two parts. The 2 bytes with the worst reliability are used as Cyclic Redundancy Check (CRC) transmission bits, and the remaining information bits can be used as data - bit transmission bits, while the remaining transmission bits outside the bit - sequence can be a frozen - bit sequence, filled with 0 bits. According to the above - mentioned CRC transmission bits, data - bit transmission bits, and frozen - bit sequence, the sequence to be encoded can be determined, and then the sequence to be encoded is disassembled to the corresponding positions in the polar - code group according to the categories of multiple sub - code lengths to obtain the sequence group to be encoded. Taking the bit - sequence including 72 sequence numbers as an example, the corresponding target code length is 144 bytes. The 2 bytes with the worst reliability are used as CRC transmission bits, the remaining 70 bytes are used as data - bit transmission bits, and the remaining 72 transmission bits are the frozen - bit sequence, so that the sequence to be encoded can be formed. For 144 bytes, it is disassembled into two parts of 16 bytes and 128 bytes, and the sequence to be encoded is classified according to 16 bytes and 128 bytes to obtain the sequence groups to be encoded of 16 bytes and 128 bytes.

[0071] After obtaining the sequence group to be encoded, parallel encoding can be performed on the sequence group to be encoded according to the number of sub-code lengths, and the generating matrix is calculated in sequence to obtain multiple groups of Polar encodings; then the multiple groups of Polar encodings are merged to obtain the Polar encoding with the target code length. In one example, the sequence to be encoded can be input into the corresponding encoder according to the category of the sub-code length, and then the sequence group to be encoded is parallelly encoded by multiple encoders. Taking the target length K = 72 bytes to be encoded as an example, the target code length of 144 bytes is split into a sequence group to be encoded of 16 bytes and 128 bytes. 16 bytes pass through Polar encoder 1, and 128 bytes pass through Polar encoder 2, respectively obtaining two groups of encoded Polar encodings. Then the two groups of Polar encodings are concatenated in sequence. For example, they are concatenated in the order of 16 bytes first and then 144 bytes, so as to obtain the encoded sequence of 144 bytes, that is, the Polar encoding with the target code length.

[0072] Through the above technical solution, in the low-voltage power line, the target code length obtained is disassembled into multiple sub-code lengths, where each sub-code length is 2 n bytes; then channel estimation is respectively performed on the multiple sub-code lengths to obtain bit sequences; and then a sequence group to be encoded is constructed according to the bit sequences; parallel encoding is performed on the sequence group to be encoded to obtain the Polar encoding with the target code length. The above Polar encoding method solves the problem that the standard Polar code cannot encode data with a length other than 2 n bytes, so it cannot be applied to low-voltage power lines, enhances the encoding flexibility of the Polar code, and has lower complexity compared with the traditional encoding method for low-voltage power lines.

[0073] In the embodiment of the present application, step 102, disassembling the target code length into multiple sub-code lengths may include:

[0074] In the case where the target code length is less than the first threshold, the target code length is disassembled into the first number of sub-code lengths;

[0075] In the case where the target code length is greater than the first threshold and less than the second threshold, the target code length is disassembled into the second number of sub-code lengths;

[0076] In the case where the target code length is greater than the second threshold, the target code length is disassembled into the third number of sub-code lengths.

[0077] Specifically, in a low-voltage power system, the length K of the target to be encoded can be 72 bytes, 136 bytes, 264 bytes, and 520 bytes. Since the code rate is 0.5, the target code length N can be 144 bytes, 272 bytes, 528 bytes, and 1040 bytes. For the decomposition of the code length, the target code length can be decomposed into multiple parts, where the first part can be 2 4 = 16 bytes, and the remaining parts can also be decomposed into multiple 2 n bytes.

[0078] Figure 2 FIG. schematically shows a flowchart of decomposing the target code length according to an embodiment of the present application. As Figure 2 shown, in the embodiment of the present application, two thresholds can be set. For example, the first threshold can be 512 bytes, and the second threshold can be 1024 bytes. Therefore, the decomposition of the code length can be processed in three cases. Case 1: When the input code length N is less than 512 bytes, the target code length may be 144 bytes or 272 bytes. The target code length can be decomposed into two parts, that is, j = 2, which are N1 = 16 bytes and N2 = N - N1 respectively. For example, when the target code length is 144 bytes, N1 = 16 bytes and N2 = 128 bytes; when the target code length is 272 bytes, N1 = 16 bytes and N2 = 256 bytes. Case 2: When the input code length N is greater than 512 bytes and less than 1024 bytes, the target code length is 528 bytes. The target code length can be decomposed into three parts, that is, j = 3, which are N1 = 16 bytes, N2 = N3 = 256 bytes respectively. Case 3: When the input code length N is greater than 1024 bytes, that is, when the target code length is 1040 bytes, the target code length can be decomposed into five parts, that is, j = 5, which are N1 = 16 bytes, N2 = N3 = N4 = N5 = 256 bytes respectively. In this way, the non-standard code length is decomposed into multiple 2 n byte sub-code lengths, balancing resource consumption and coding / decoding performance, and realizing Polar coding of the target code length that is not 2 n bytes, laying a foundation for subsequent parallel coding and parallel decoding.

[0079] In the embodiment of the present application, step 103 of performing channel estimation on multiple sub-code lengths to obtain a bit sequence may include:

[0080] Performing channel estimation on the polarization sub-channels corresponding to the multiple sub-code lengths;

[0081] Merging the polarization sub-channels to obtain an overall reliability sequence;

[0082] Sorting the overall reliability sequence in descending order to obtain a first order;

[0083] Screen the serial numbers of the target length to be encoded according to the first order to obtain a bit sequence.

[0084] Specifically, taking the target code length N as 144 bytes as an example, N1 and N2 correspond to 16 and 128 bytes respectively, and each byte corresponds to a channel. After estimating the reliability of each channel of N1 and N2 respectively, the reliability of the two groups is combined for merging. The overall reliability sequence is sorted from largest to smallest to obtain the first order. The first order includes the channels corresponding to 144 bytes sorted from largest to smallest in terms of reliability, and is sorted according to serial number 1 to serial number 144. Screen the serial numbers of the K channels with the highest reliability, that is, the 72 serial numbers with the highest reliability, and these 72 serial numbers can form the overall information bit sequence.

[0085] In the embodiment of the present application, the channel estimation can be Gaussian estimation.

[0086] Specifically, the operation steps of Gaussian estimation are as follows:

[0087] 1. First, input parameters: target code length N, code rate R, and noise variance σ;

[0088] 2. Recursively calculate each channel parameter m according to the following steps:

[0089]

[0090]

[0091]

[0092] iv. Among them, the function:

[0093] 3. The probability of variable node decision error is

[0094] 4. Select the serial numbers of the smallest K = NR values in the P sequence, and generate the information bit sequence p sorted from largest to smallest in terms of reliability.

[0095] The reliability result obtained by using Gaussian estimation for channel estimation in the embodiment of the present application is more accurate.

[0096] In the embodiment of the present application, step 104, constructing the sequence group to be encoded according to the bit sequence may include:

[0097] Take the first preset number of information bits as the cyclic redundancy check transmission bits;

[0098] Take the second preset number of information bits as the data bit transmission bits;

[0099] Take the third preset number of transmission bits as the frozen bit sequence;

[0100] Determine the sequence to be encoded based on the cyclic redundancy check transmission bits, data bit transmission bits, and frozen bit sequence;

[0101] Split the sequence to be encoded to the corresponding positions in the polar code group according to the categories of multiple sub-code lengths to obtain a group of sequences to be encoded;

[0102] Wherein, the sum of the first preset quantity and the second preset quantity is the target length to be encoded; the sum of the target length to be encoded and the third preset quantity is the target code length; the reliability of the data bit transmission bits is greater than that of the cyclic redundancy check transmission bits; the reliability of the cyclic redundancy check transmission bits is greater than that of the frozen bit sequence.

[0103] Specifically, in the embodiments of the present application, the bit sequence can be processed in two parts. The first preset quantity with the worst reliability (for example, 2 bytes) is used as the cyclic redundancy check (CRC) transmission bits, and the remaining second preset quantity of information bits can be used as the data bit transmission bits. The remaining third preset quantity of transmission bits outside the bit sequence can be the frozen bit sequence, filled with 0 bits. Therefore, in the sequence to be encoded, the reliability of the data bit transmission bits is the best, the reliability of the cyclic redundancy check transmission bits is the second; the reliability of the frozen bit sequence is the worst. According to the above cyclic redundancy check transmission bits, data bit transmission bits, and frozen bit sequence, the sequence to be encoded can be determined, and then the sequence to be encoded is split to the corresponding positions in the polar code group according to the categories of multiple sub-code lengths to obtain a group of sequences to be encoded. Taking the bit sequence including 72 serial numbers as an example, the corresponding target code length is 144 bytes. The first preset quantity is 2, the second preset quantity is 72 - 2 = 70 bytes, and the third preset quantity is 144 - 72 = 72 bytes. Therefore, 2 bytes with the worst reliability can be used as the CRC transmission bits, the remaining 70 bytes as the data bit transmission bits, and the remaining 72 transmission bits are the frozen bit sequence, so as to form the sequence to be encoded. For 144 bytes, it is disassembled into two parts of 16 bytes and 128 bytes, and the sequence to be encoded is classified according to 16 bytes and 128 bytes to obtain a group of sequences to be encoded of 16 bytes and 128 bytes.

[0104] In the embodiments of the present application, step 105, parallelly encode the group of sequences to be encoded to obtain the Polar encoding with the target code length, which may include:

[0105] Parallelly encode the group of sequences to be encoded according to the number of sub-code lengths to obtain multiple groups of Polar encodings;

[0106] Merge the multiple groups of Polar encodings to obtain the Polar encoding with the target code length.

[0107] Specifically, after obtaining the sequence group to be encoded, parallel encoding can be performed on the sequence group to be encoded according to the number of sub-code lengths, and the generating matrix can be calculated in sequence to obtain multiple groups of Polar encodings; then, the multiple groups of Polar encodings are merged to obtain the Polar encoding with the target code length.

[0108] In the embodiment of the present application, the Polar encoding may include the following steps:

[0109] 1. Preset the initialization matrix

[0110] 2. Calculate where n is the code length N of the disassembling module respectively i The corresponding power n i , represents the Kronecker product calculation;

[0111] 3. Perform an inverse-order rearrangement mapping on the sequence to be encoded, and the specific steps are as follows:

[0112] i. Subtract 1 from the original sequence index;

[0113] ii. Convert the sequence index from decimal to binary;

[0114] iii. Reverse the original binary index;

[0115] iv. Convert the sequence index from binary to decimal;

[0116] v. Add 1 to the index value;

[0117] vi. Swap the information bits corresponding to the original index value of the sequence to be encoded to the new index value to obtain the sequence after bit-reversal rearrangement

[0118] 4. Encode the sequence

[0119] In the embodiment of the present application, parallel encoding of the sequence group to be encoded according to the number of sub-code lengths to obtain multiple groups of Polar encodings may include:

[0120] Determine the number of encoders according to the number of sub-code lengths;

[0121] Input the sequence to be encoded into the corresponding encoder according to the category of the sub-code length;

[0122] Perform parallel encoding on the sequence group to be encoded through multiple encoders to obtain multiple groups of Polar encodings.

[0123] Specifically, the number of encoders can be determined first. For example, if the target code length is 144 bytes, after splitting, a group of sequences to be encoded with lengths of 16 bytes and 128 bytes can be obtained. Therefore, the corresponding number of encoders is 2. The sequences to be encoded can be input into the corresponding encoders according to the categories of sub-code lengths, and then the group of sequences to be encoded can be encoded in parallel by multiple encoders. Still taking the target length K = 72 bytes of the sequence to be encoded as an example, the target code length of 144 bytes is split into a group of sequences to be encoded with lengths of 16 bytes and 128 bytes. The 16-byte sequence is encoded by Polar encoder 1, and the 128-byte sequence is encoded by Polar encoder 2, respectively obtaining two groups of Polar codes after encoding. Then, the two groups of Polar codes are concatenated in sequence. For example, they are concatenated in the order of 16 bytes first and then 144 bytes, so as to obtain a 144-byte encoded sequence, that is, the Polar code of the target code length. Through parallel encoding, the parallelism of Polar code encoding can be enhanced.

[0124] Figure 3 Schematically shows a flowchart of a method for encoding and decoding a Polar code according to an embodiment of the present application. As Figure 3 shown, an embodiment of the present application provides a method for encoding and decoding a Polar code, which is applied to a low-voltage power line. The method for encoding and decoding may include the following steps:

[0125] The above-mentioned Polar code encoding method;

[0126] Step 106: Perform parallel decoding on the Polar code of the target code length to obtain multiple groups of target decoding results;

[0127] Step 107: Perform path selection and merging on the multiple groups of target decoding results to obtain a final decoding result.

[0128] In the embodiment of the present application, the Polar decoder may include the following steps:

[0129] 1. Path extension. Path extension means that the upper layer of the current path makes 01 branches in sequence, that is, the number of paths is doubled after each path extension operation;

[0130] 2. Determine whether the current number of paths l is greater than the maximum search path number L, where L = 8; if it is greater, go to step 3; otherwise, return to step 1;

[0131] 3. Calculate the path metric value of each path;

[0132] 4. Retain the 8 paths with the smallest path metric values, and delete the remaining paths;

[0133] Specifically, taking the target code length of 144 bytes as an example, the length of the sequence to be decoded is 144 bytes, which is split into two parts of 16 bytes and 128 bytes. They are decoded in parallel through Polar decoder 1 and Polar decoder 2 to obtain two groups of target decoding results with the number of paths L = 8. One decoding path is selected from each set for combination to obtain all possible combinations of paths. Calculate the path metric value of each combination and sort them. According to the sorting result, perform CRC check in order from good to bad (from small to large path metric value), and determine the check result of the first path combination that passes the CRC check as the final decoding result. The embodiment of the present application realizes encoding with a target code length that is not a power of 2 n bytes, while enhancing the parallelism of Polar encoding and decoding, and reducing the decoding complexity to O(LN max log2 N max ), where N max is the maximum code length in the disassembled code groups, effectively reducing the delay of encoding and decoding and accelerating the transmission speed of low-voltage power lines.

[0134] In the embodiment of the present application, path selection and combination of multiple groups of target decoding results are performed to obtain the final decoding result, which may include:

[0135] Select one target decoding path from each group of target decoding results for path combination;

[0136] Determine the path metric value of each path combination and sort them to obtain the second order;

[0137] Perform cyclic redundancy check in sequence according to the second order;

[0138] Determine the first path combination that passes the cyclic redundancy check as the final decoding result.

[0139] Specifically, the second order is the order from small to large path metric value (i.e., from good to bad paths). One decoding path is selected from each of the two groups of target decoding results with the number of paths L = 8 for combination, and there are 64 possible combinations of all paths. Calculate the path metric value of each combination and sort them. Perform CRC check on the combined paths from good to bad according to the sorting result, and the first result that passes the CRC check is the final decoding result.

[0140] In the above decoding description, the 01 branch means that there are two results, 0 and 1, for the decoding of each bit. The path is a possibility of the decoding result. After the received sequence to be decoded is split, 8 feasible decoding results are calculated respectively. According to the two-fold judgment of the path metric value and the CRC check, the final decoding result is determined.

[0141] The main purpose of the embodiment of the present application is to design a code length that is not a power of 2 for the coding mode of a power line communication system that complies with the low-voltage power line broadband carrier standard specificationn Polar code encoding and decoding method. Figure 4 Schematically shows an application environment diagram of an encoding and decoding method of a Polar code according to a specific embodiment of the present application. As Figure 4 shown, in this specific embodiment, it is connected to the data link layer and consists of code length decomposition, Gaussian estimation, reconstructed input sequence, multiple Polar encoders, OFDM modulator, OFDM demodulator, and Polar decoder. The core part of the present application is the code length decomposition and sequence reconstruction module. The code length decomposition module sets two thresholds to select a specific splitting scheme to obtain a set of 2 n code length sets. The feature of the sequence reconstruction module is that the complete Polar code is divided into multiple Polar code blocks by the code length decomposition module, but is regarded as a whole when selecting information bits. The error probability of each sub-channel of each block of Polar code is calculated according to the code length and channel parameters, and the error probabilities of all channels are sorted and selected. These information bits are scattered in each code block. For a single Polar code, the code rate is not necessarily the target code rate, but for the entire Polar code, its code rate is the target code rate. For the specific encoding and decoding method of the Polar code, refer to the above embodiment.

[0142] Figure 5 Schematically shows a structural block diagram of an encoding and decoding device of a Polar code according to an embodiment of the present application. As Figure 5 shown, the embodiment of the present application provides an encoding and decoding device of a Polar code, which can be applied to low-voltage power lines and may include:

[0143] A memory 510 configured to store instructions; and

[0144] A processor 520 configured to call instructions from the memory 510 and capable of implementing the above-mentioned Polar code encoding method or the above-mentioned Polar code encoding and decoding method when executing the instructions.

[0145] Specifically, in the embodiment of the present application, the processor 520 may be configured to:

[0146] Obtain a target code length;

[0147] Perform code length decomposition on the target code length to obtain multiple sub-code lengths;

[0148] Perform channel estimation on multiple sub-code lengths respectively to obtain a bit sequence;

[0149] Construct a sequence group to be encoded according to the bit sequence;

[0150] Perform parallel encoding on the sequence group to be encoded to obtain a Polar code of the target code length;

[0151] wherein each sub-code length is 2 n bytes.

[0152] Further, the processor 520 may also be configured to:

[0153] Perform code length decomposition on the target code length to obtain multiple sub-code lengths, including:

[0154] When the target code length is less than the first threshold, decompose the target code length into the first number of sub-code lengths;

[0155] When the target code length is greater than the first threshold and less than the second threshold, decompose the target code length into the second number of sub-code lengths;

[0156] When the target code length is greater than the second threshold, decompose the target code length into the third number of sub-code lengths.

[0157] Further, the processor 520 may also be configured to:

[0158] Perform channel estimation on multiple sub-code lengths respectively to obtain a bit sequence, including:

[0159] Perform channel estimation on the polar sub-channels corresponding to multiple sub-code lengths;

[0160] Merge the polar sub-channels to obtain an overall reliability sequence;

[0161] Sort the overall reliability sequence in descending order to obtain a first order;

[0162] Screen the serial numbers of the target length to be encoded according to the first order to obtain a bit sequence.

[0163] In the embodiments of the present application, the channel estimation is Gaussian estimation.

[0164] Further, the processor 520 may also be configured to:

[0165] Construct a sequence group to be encoded according to the bit sequence, including:

[0166] Use the first preset number of information bits as cyclic redundancy check transmission bits;

[0167] Use the second preset number of information bits as data bit transmission bits;

[0168] Use the third preset number of transmission bits as a frozen bit sequence;

[0169] Determine the sequence to be encoded according to the cyclic redundancy check transmission bits, data bit transmission bits, and frozen bit sequence;

[0170] Split the sequence to be encoded to the corresponding positions in the polar code group according to the categories of multiple sub-code lengths to obtain a sequence group to be encoded;

[0171] Among them, the sum of the first preset quantity and the second preset quantity is the length of the target to be encoded; the sum of the length of the target to be encoded and the third preset quantity is the length of the target code; the reliability of the data bit transmission bits is greater than the reliability of the cyclic redundancy check transmission bits; the reliability of the cyclic redundancy check transmission bits is greater than the reliability of the frozen bit sequence.

[0172] Furthermore, the processor 520 can also be configured to:

[0173] Perform parallel encoding on the sequence group to be encoded to obtain a Polar code with the target code length, including:

[0174] Perform parallel encoding on the sequence group to be encoded according to the number of sub-code lengths to obtain multiple groups of Polar codes;

[0175] Merge multiple groups of Polar codes to obtain a Polar code with the target code length.

[0176] Furthermore, the processor 520 can also be configured to:

[0177] Perform parallel encoding on the sequence group to be encoded according to the number of sub-code lengths to obtain multiple groups of Polar codes, including:

[0178] Determine the number of encoders according to the number of sub-code lengths;

[0179] Input the sequence to be encoded into the corresponding encoder according to the category of the sub-code length;

[0180] Perform parallel encoding on the sequence group to be encoded through multiple encoders to obtain multiple groups of Polar codes.

[0181] Furthermore, the processor 520 can also be configured to:

[0182] The above-mentioned encoding method of the Polar code;

[0183] Perform parallel decoding on the Polar code with the target code length to obtain multiple groups of target decoding results;

[0184] Perform path selection and merging on multiple groups of target decoding results to obtain the final decoding result.

[0185] Furthermore, the processor 520 can also be configured to:

[0186] Perform path selection and merging on multiple groups of target decoding results to obtain the final decoding result, including:

[0187] Select a target decoding path from each group of target decoding results respectively for path combination;

[0188] Determine the path metric values of each path combination and sort them to obtain the second order;

[0189] Perform cyclic redundancy checks in sequence according to the second order;

[0190] Determine the first path combination that passes the cyclic redundancy check as the final decoding result.

[0191] Through the above technical solution, in the low-voltage power line, the obtained target code length is disassembled into multiple sub-code lengths, where each sub-code length is 2 n bytes; then perform channel estimation on multiple sub-code lengths respectively to obtain a bit sequence; furthermore, construct a sequence group to be encoded according to the bit sequence; perform parallel encoding on the sequence group to be encoded to obtain the Polar encoding of the target code length. The Polar encoding method of this application solves the problem that the standard Polar code cannot encode data with a length other than 2 n bytes, so it cannot be applied to low-voltage power lines, enhances the encoding flexibility of the Polar code, and has lower complexity compared with the traditional encoding method for low-voltage power lines, thus accelerating the transmission speed of low-voltage power lines.

[0192] The embodiment of this application also provides a machine-readable storage medium, on which instructions are stored, and these instructions are used to make a machine execute the above-mentioned Polar code encoding method or the above-mentioned Polar code encoding and decoding method.

[0193] Those skilled in the art should understand that the embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, this application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0194] This application is described with reference to the flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to the embodiments of this application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate means for realizing the functions specified in one process Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.

[0195] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including an instruction means that implements the functions specified in one or more of the processes and / or blocks Figure 1 of one or more of the processes and / or blocks Figure 1 specified in the flowchart.

[0196] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, so that the instructions executed on the computer or other programmable apparatus provide steps for implementing the functions specified in one or more of the processes and / or blocks Figure 1 of one or more of the processes and / or blocks Figure 1 specified in the flowchart.

[0197] In a typical configuration, a computing device includes one or more processors (CPUs), an input / output interface, a network interface, and memory.

[0198] The memory may include non-permanent memory in the form of computer-readable media, random access memory (RAM) and / or non-volatile memory such as read-only memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.

[0199] Computer-readable media includes both permanent and non-permanent, removable and non-removable media implemented by any method or technology for storing information. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile discs (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices, or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory media such as modulated data signals and carrier waves.

[0200] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0201] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included within the scope of the claims of the present application.

Claims

1. A coding method for Polar codes, characterized in that, Applied to low-voltage power lines, the encoding method includes: Obtain the target code length; Perform code length decomposition on the target code length to obtain multiple sub-code lengths; Perform channel estimation on the multiple sub-code lengths respectively to obtain a bit sequence; Construct a sequence group to be encoded according to the bit sequence; Perform parallel encoding on the sequence group to be encoded to obtain Polar encoding of the target code length; Among them, each sub-code length is 2 n bytes; Among them, the performing channel estimation on the multiple sub-code lengths respectively to obtain a bit sequence includes: Perform channel estimation on the polarization sub-channels corresponding to the multiple sub-code lengths; Merge the polarization sub-channels to obtain an overall reliability sequence; Sort the overall reliability sequence in descending order to obtain a first order; Screen the serial numbers of the target length to be encoded according to the first order to obtain the bit sequence; Among them, the constructing a sequence group to be encoded according to the bit sequence includes: Use a first preset number of information bits as cyclic redundancy check transmission bits; Use a second preset number of information bits as data bit transmission bits; Use a third preset number of transmission bits as a frozen bit sequence; Determine the sequence to be encoded according to the cyclic redundancy check transmission bits, the data bit transmission bits, and the frozen bit sequence; Split the sequence to be encoded to the corresponding positions in the polarization code group according to the categories of the multiple sub-code lengths to obtain the sequence group to be encoded; Among them, the sum of the first preset number and the second preset number is the target length to be encoded; the sum of the target length to be encoded and the third preset number is the target code length; the reliability of the data bit transmission bits is greater than the reliability of the cyclic redundancy check transmission bits; the reliability of the cyclic redundancy check transmission bits is greater than the reliability of the frozen bit sequence.

2. The encoding method according to claim 1, wherein The performing code length decomposition on the target code length to obtain multiple sub-code lengths includes: When the target code length is less than a first threshold, decompose the target code length into a first number of sub-code lengths; When the target code length is greater than the first threshold and less than a second threshold, decompose the target code length into a second number of sub-code lengths; When the target code length is greater than the second threshold, decompose the target code length into a third number of sub-code lengths.

3. The encoding method according to claim 1, wherein The channel estimation is Gaussian estimation.

4. The encoding method according to claim 1, characterized in that, The performing parallel encoding on the sequence group to be encoded to obtain Polar encoding of the target code length includes: Perform parallel encoding on the sequence group to be encoded according to the number of sub-code lengths to obtain multiple groups of Polar encoding; Merge the multiple groups of Polar encoding to obtain Polar encoding of the target code length.

5. The encoding method according to claim 4, characterized in that, The performing parallel encoding on the sequence group to be encoded according to the number of sub-code lengths to obtain multiple groups of Polar encoding includes: Determine the number of encoders according to the number of sub-code lengths; Input the sequence to be encoded into the corresponding encoder according to the category of the sub-code length; Perform parallel encoding on the sequence group to be encoded through multiple encoders to obtain multiple groups of Polar encoding.

6. A coding and decoding method for Polar codes, characterized in that, Applied to low-voltage power lines, the encoding and decoding method includes: The encoding method of Polar code according to any one of claims 1 to 5; Perform parallel decoding on the Polar encoding of the target code length to obtain multiple groups of target decoding results; Perform path selection and combination on the multiple groups of target decoding results to obtain the final decoding result.

7. The encoding and decoding method according to claim 6, characterized in that, The performing path selection and combination on the multiple groups of target decoding results to obtain the final decoding result includes: Select a target decoding path from each group of target decoding results respectively for path combination; Determine the path metric value of each path combination and sort them to obtain the second order; Perform cyclic redundancy check in sequence according to the second order; Determine the path combination that passes the cyclic redundancy check first as the final decoding result.

8. A Polar code encoding and decoding device, which is applied to low-voltage power lines, is characterized in that, Including: A memory configured to store instructions; And A processor configured to call the instructions from the memory and capable of implementing the encoding method of Polar code according to any one of claims 1 to 5 or the encoding and decoding method of Polar code according to any one of claims 6 to 7 when executing the instructions.

9. A machine-readable storage medium, characterized in that, Instructions are stored on the machine-readable storage medium, and the instructions are used to cause the machine to execute the encoding method of Polar code according to any one of claims 1 to 5 or the encoding and decoding method of Polar code according to any one of claims 6 to 7.

Citation Information

Patent Citations

  • Segmentation polarization code coding and decoding method and system based on LSC-CRC decoding

    CN106888026A

  • Method and apparatus for wirelessly communicating over a noisy channel with a variable codeword length polar code to improve transmission capacity

    US20200106459A1