Coding and decoding method and device, communication device and computer storage medium

By setting a V-type power distribution method in the basic matrix, the high block error rate problem of SC-SRC in the case of limited coupling width and length of the basic matrix is ​​solved, and the decoding success rate and encoding efficiency are improved.

CN120074543APending Publication Date: 2025-05-30HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311615843.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-28
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

When the coupling width and coupling length of the base matrix are limited, the block error rate (BLER) of SC-SRC is higher.

Method used

By setting the value of the non-zero term close to the outside in the basic matrix, a V-type power distribution method is realized, thereby reducing the BLER of the SC-SRC.

Benefits of technology

The success rate of the AMP decoder during decoding is improved, especially the success rate of symbols at both ends of the codeword, and the success rate of the internal symbols is improved, and the BLER of SC-SRC is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120074543A_ABST
    Figure CN120074543A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a coding and decoding method and device, a communication device and a computer storage medium, and belongs to the technical field of channel coding. In the embodiment of the invention, the value of the non-zero item close to the outer side in the basic matrix is set to be larger, namely the power of the non-zero item close to the outer side is larger. When the decoder decodes based on the AMP algorithm, decoding is carried out in sequence from two ends of the code word to the inside, and since the outer side power of the basic matrix is high, code elements at two ends of the code word can be successfully decoded, so that the success rate of decoding the code elements at two ends of the code word by the decoder is higher; and the successfully decoded outer code element is used as the side information, so that the decoding success rate of the internal code element is correspondingly improved, and the BLER of the SC-SRC is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the technical field of channel coding, and in particular, to a coding and decoding method, apparatus, communication device, and computer storage medium. Background Art

[0002] Spatially coupled sparse regression code (SC-SRC) is a coding technology based on sparse regression code (SRC). In SC-SRC, a base matrix with a coupling width and a coupling length is extended into a design matrix to introduce a spatial coupling structure into the design matrix. During encoding, the information to be transmitted is represented as a sparse signal, and then the sparse signal is multiplied by the design matrix to obtain a codeword.

[0003] In the related art, for each non-zero term in the base matrix, the value of each non-zero term is usually set to the same value, so as to evenly distribute power to each non-zero term. However, this power distribution method easily leads to a high block error rate (BLER) of SC-SRC. Summary of the Invention

[0004] The embodiments of the present application provide a coding and decoding method, apparatus, communication device, and computer storage medium, which can reduce the BLER of SC-SRC when the coupling width and coupling length of the base matrix are limited. The technical solutions are as follows:

[0005] In a first aspect, a coding method is provided. In this method, encoding is performed based on a base matrix; the base matrix is a matrix with the number of rows greater than or equal to the number of columns. The elements on the main diagonal of the base matrix, or the main diagonal and one or more consecutive diagonals below the main diagonal and adjacent to the main diagonal are all non-zero terms, and the remaining elements are all zero terms. The main diagonal is the diagonal composed of elements with the same row position and column position in the base matrix. The base matrix includes a first non-zero term and a second non-zero term. The first non-zero term is closer to the outside of the base matrix than the second non-zero term, and the value of the first non-zero term is greater than the value of the second non-zero term.

[0006] In the embodiments of the present application, the values of the non-zero terms near the outer side of the base matrix are set to be larger, that is, the power of the non-zero terms near the outer side is greater. The AMP algorithm adopted by the approximate message passing (AMP) decoder and the spatial structure of the SC-SRC determine that when the AMP decoder decodes, it decodes from both ends of the codeword to the inside in sequence. The higher power on the outer side of the base matrix helps the AMP decoder to successfully decode the code elements at both ends, that is, the success rate of the AMP decoder in decoding the code elements at both ends is higher. When the code elements at both ends are successfully decoded, they can be used as side information to assist in decoding the internal code elements, and accordingly, the success rate of decoding the internal code elements is also improved, thereby reducing the BLER of the SC-SRC.

[0007] Based on the method provided in the first aspect, in a possible implementation manner, the first non-zero term is a non-zero term in the first column of the base matrix, the second non-zero term is a non-zero term in the second column of the base matrix, and the first column is closer to the outer side of the base matrix than the second column.

[0008] In other words, the values of the non-zero terms in the columns closer to the outer side of the base matrix are larger, and the values of the non-zero terms in the columns closer to the inner side are smaller, so as to achieve a V-shaped power distribution method.

[0009] Based on the method provided in the first aspect, in a possible implementation manner, the first column is one of the first type of columns of the base matrix, the second column is one of the second type of columns of the base matrix, the first type of columns includes the N columns closest to the left and right sides of the base matrix respectively, the second type of columns includes the columns other than the first type of columns in the base matrix, and the values of the non-zero terms in the first type of columns are all greater than the values of the non-zero terms in the second type of columns, where N is a positive integer.

[0010] In the embodiments of the present application, the columns of the base matrix are divided into two major categories, the first type of columns and the second type of columns. The first type of columns is also called the outer columns, and the second type of columns is also called the inner columns, so as to facilitate making the values of the non-zero terms in the columns closer to the outer side larger and the values of the non-zero terms in the columns closer to the inner side smaller.

[0011] Based on the method provided in the first aspect, in a possible implementation manner, the values of the non-zero terms in the first type of columns are all the first power, and the values of the non-zero terms in the second type of columns are all the second power, and the first power is greater than the second power.

[0012] Set a larger power for the values of all non-zero terms in the outer columns, and set a smaller power for the values of all non-zero terms in the inner columns. This can reduce the complexity of subsequent encoding, thereby improving the encoding efficiency.

[0013] Based on the method provided in the first aspect, in a possible implementation, in this method, based on the performance characteristics of the AMP decoder and the power threshold, the values of the non-zero terms of the base matrix are determined. The AMP decoder is used to decode the encoded codeword through the approximate message passing algorithm, and the performance characteristics of the AMP decoder can indicate the decoding accuracy rate of the AMP decoder, and the power threshold indicates the threshold of the transmission power of the encoded codeword.

[0014] In the embodiments of the present application, the values of the non-zero terms of the base matrix can be determined by combining the performance characteristics of the AMP decoder and the power threshold, so that the power of the non-zero terms near the outer side of the base matrix is greater, thereby reducing the BLER of SC-SRC.

[0015] Based on the method provided in the first aspect, in a possible implementation, the implementation process of determining the values of the non-zero terms in the base matrix based on the performance characteristics of the approximate message passing (AMP) decoder and the power threshold can be as follows: Based on the target coding rate, the target channel noise variance, and the asymptotic state evolution function of the AMP decoder, the initial values of the non-zero terms in the base matrix are determined. The asymptotic state evolution function indicates the performance of the AMP decoder, and the initial value of the first non-zero term in the base matrix is greater than the initial value of the second non-zero term; Based on the power threshold, the initial values of the non-zero terms in the base matrix are adjusted to obtain the intermediate values of the non-zero terms in the base matrix; Based on the intermediate values of the non-zero terms in the base matrix, the values of the non-zero terms in the base matrix are determined.

[0016] In the embodiments of the present application, the initial values of each non-zero term in the base matrix can be first determined based on the asymptotic state evolution function that can indicate the performance of the AMP decoder, so that the initial values of the base matrix show a trend of being larger on the outside and smaller on the inside. Subsequently, the initial values can be adjusted based on the power threshold, so that the finally determined power can not only meet the power threshold but also maintain the trend of being larger on the outside and smaller on the inside.

[0017] For the method provided in the first aspect, in a possible implementation manner, the implementation process of determining the initial value of the non-zero term in the basis matrix based on the target coding rate, the target channel noise variance, and the progressive state evolution function of the AMP decoder may be as follows: Based on the coding rate, the target channel noise variance, and the number of rows and columns in the basis matrix, in the order from the central column to the first column of the basis matrix, the following operations are sequentially performed on each column between the central column and the first column: Determine the power solution of the corresponding column by solving the progressive state evolution function, add the power solution of the corresponding column to the reference power to obtain the initial value of the corresponding column, and use the initial value of the corresponding column to determine the power solution of the next column. The reference power is a preset value greater than 0. The first column is the leftmost first column or the rightmost first column of the basis matrix, the central column is the column at the central position between the leftmost first column and the rightmost first column of the basis matrix, and the initial values of each column between the central column and the first column show a non-decreasing trend; Based on the initial values of each column between the central column and the first column in the basis matrix, determine the initial value of each column in the other columns of the basis matrix. The initial values of each column between the central column and the last column also show a non-decreasing trend. The last column is the column in the basis matrix that is farthest from the first column; Among them, the initial value of any non-zero term in the basis matrix is equal to the initial value of the column to which the corresponding non-zero term belongs.

[0018] In the embodiments of the present application, the initial value of each column in the left or right half of the basis matrix can be determined first, and then the initial value of each column in the other half is determined according to the symmetry principle. In this way, a basis matrix with a high initial value on the outside and a low initial value on the inside can be quickly obtained, that is, a basis matrix with a V-shaped power distribution is obtained.

[0019] For the method provided in the first aspect, in a possible implementation manner, the implementation process of adjusting the initial value of the non-zero term in the basis matrix based on the power threshold to obtain the intermediate value of the non-zero term in the basis matrix may be as follows: Based on the initial values of each non-zero term in the basis matrix, determine the total initial value of the basis matrix; Based on the power threshold and the total initial value of the basis matrix, adjust the initial value of the non-zero term in the basis matrix to obtain the intermediate value of the non-zero term in the basis matrix.

[0020] The adjustment of the initial value based on the power threshold can be achieved in the above manner. Among them, adjusting the initial value of the non-zero term can be to amplify the initial value or to reduce the initial value, so that the adjusted intermediate value meets the power threshold.

[0021] Based on the method provided in the first aspect, in a possible implementation, the intermediate values of different non-zero terms in the same column of the base matrix are the same, and the intermediate values of the non-zero terms from the leftmost first column to the non-zero terms in the central column of the base matrix are the same as the intermediate values of the non-zero terms from the rightmost first column to the non-zero terms in the central column of the base matrix. The central column is the column at the central position between the leftmost first column and the rightmost first column of the base matrix, and the intermediate values of the non-zero terms from the leftmost first column to the non-zero terms in the central column of the base matrix show a non-increasing trend. In this scenario, the implementation process of determining the values of the non-zero terms in the base matrix based on the intermediate values of the non-zero terms in the base matrix can be as follows: Determine the power threshold based on the maximum and minimum values of the intermediate values of the non-zero terms in the base matrix. The power threshold is between the maximum and minimum values. The columns in the base matrix where the intermediate values of the non-zero terms are between the maximum value and the power threshold are the N columns closest to the left and right sides respectively; Determine the first type of columns as the N columns closest to the left and right sides respectively in the base matrix, and determine the columns in the base matrix other than the first type of columns as the second type of columns; Determine the first power and the second power based on the power threshold; Among them, the value of each non-zero term in each column of the first type of columns is the first power, and the value of each non-zero term in each column of the second type of columns is the second power. When the power threshold indicates the average transmission power threshold of the codeword, the first power is greater than the average transmission power threshold, and the second power is less than the average transmission power threshold.

[0022] Through the above method, the columns of the base matrix can be divided into two categories, the first type of columns and the second type of columns, that is, the outer columns and the inner columns. Set a larger power, that is, the first power, for the values of all non-zero terms in all outer columns, and set a smaller power, that is, the first power, for the values of all non-zero terms in all inner columns. This can reduce the complexity of subsequent encoding and thus improve the encoding efficiency.

[0023] In the second aspect, a decoding method is provided. In this method, decoding is performed based on the base matrix; the base matrix is a matrix with the number of rows greater than or equal to the number of columns. The elements on the main diagonal of the base matrix, or the elements on the main diagonal and one or more consecutive diagonals below the main diagonal and adjacent to the main diagonal are all non-zero terms, and the remaining elements are all zero terms. The main diagonal is the diagonal composed of elements with the same row position and column position in the base matrix. The base matrix includes a first non-zero term and a second non-zero term. The first non-zero term is closer to the outside of the base matrix than the second non-zero term, and the value of the first non-zero term is greater than the value of the second non-zero term.

[0024] In the embodiments of the present application, the values of the non-zero terms closer to the outside in the base matrix are set to be larger, that is, the power of the non-zero terms closer to the outside is greater. The AMP algorithm adopted by the approximate message passing (AMP) decoder and the spatial structure of SC-SRC determine that when the AMP decoder decodes, it decodes from both ends of the codeword to the inside in sequence. The high power on the outside of the base matrix helps the AMP decoder to successfully decode the code elements at both ends, that is, the success rate of the AMP decoder in decoding the code elements at both ends is higher. When the code elements at both ends are decoded successfully, they can be used as side information to assist in decoding the internal code elements. Correspondingly, the decoding success rate of the internal code elements is also improved, thereby reducing the BLER of SC-SRC.

[0025] The implementation manner of the base matrix in the above decoding method can refer to the implementation manner of the base matrix in the encoding method provided in the first aspect, which will not be elaborated here.

[0026] In a third aspect, an encoding device is provided. The encoding device has the function of implementing the behaviors of the encoding method in the first aspect above. The encoding device includes at least one module, and this at least one module is used to implement the encoding method provided in the first aspect above.

[0027] In a fourth aspect, a decoding device is provided. The decoding device has the function of implementing the behaviors of the decoding method in the second aspect above. The decoding device includes at least one module, and this at least one module is used to implement the decoding method provided in the second aspect above.

[0028] In a fifth aspect, a communication device is provided. The structure of the communication device includes a processor and a memory. The memory is used to store a program that supports the communication device to execute the encoding method provided in the first aspect above, and to store data involved in implementing the encoding method provided in the first aspect above. The processor is configured to execute the program stored in the memory.

[0029] In a sixth aspect, a communication device is provided. The structure of the communication device includes a processor and a memory. The memory is used to store a program that supports the communication device to execute the decoding method provided in the second aspect above, and to store data involved in implementing the decoding method provided in the second aspect above. The processor is configured to execute the program stored in the memory.

[0030] In a seventh aspect, a computer-readable storage medium is provided. Instructions are stored in the computer-readable storage medium. When it runs on a computer, it causes the computer to execute the encoding method described in the first aspect above.

[0031] In an eighth aspect, there is provided a computer-readable storage medium storing instructions which, when run on a computer, cause the computer to execute the decoding method described in the second aspect above.

[0032] In a ninth aspect, there is provided a computer program product containing instructions which, when run on a computer, cause the computer to execute the encoding method described in the first aspect above.

[0033] In a tenth aspect, there is provided a computer program product containing instructions which, when run on a computer, cause the computer to execute the encoding method described in the second aspect above.

[0034] In an eleventh aspect, there is provided a computer-readable storage medium storing a code stream, the code stream including codewords, the codewords including first code elements and second code elements, the power of the first code elements being greater than the power of the second code elements, and the first code elements being closer to both ends of the codewords than the second code elements.

[0035] The technical effects obtained by the corresponding technical means in the second to eleventh aspects above are similar and will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] Figure 1 is a schematic diagram of the encoding and decoding process of an SRC provided by an embodiment of the present application;

[0037] Figure 2 is a schematic diagram of a sparse signal and a design matrix provided by an embodiment of the present application;

[0038] Figure 3 is a schematic diagram of expanding a basis matrix W into a design matrix A provided by an embodiment of the present application;

[0039] Figure 4 is a schematic diagram of the architecture of a communication system provided by an embodiment of the present application;

[0040] Figure 5 is a flowchart of an encoding method provided by an embodiment of the present application;

[0041] Figure 6 is another flowchart of an encoding method provided by an embodiment of the present application;

[0042] Figure 7 is a schematic diagram of the power distribution of a basis matrix provided by an embodiment of the present application;

[0043] Figure 8 is another schematic diagram of the power distribution of a basis matrix provided by an embodiment of the present application;

[0044] Figure 9It is a schematic diagram of code for determining the power distribution of a fundamental matrix provided by an embodiment of the present application;

[0045] Figure 10 It is a BLER schematic diagram of respectively adopting a V-shaped power allocation scheme and a uniform power allocation scheme in a scenario provided by an embodiment of the present application;

[0046] Figure 11 It is a BLER schematic diagram of respectively adopting a V-shaped power allocation scheme and a uniform power allocation scheme in a second scenario provided by an embodiment of the present application;

[0047] Figure 12 It is a flowchart of a decoding method provided by an embodiment of the present application;

[0048] Figure 13 It is a schematic structural diagram of an encoding device provided by an embodiment of the present application;

[0049] Figure 14 It is a schematic structural diagram of a decoding device provided by an embodiment of the present application;

[0050] Figure 15 It is a schematic structural diagram of a communication device provided by an embodiment of the present application. Detailed implementation manners

[0051] To make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the following will further describe the embodiments of the present application in detail with reference to the accompanying drawings.

[0052] Sparse regression code (SRC), also known as sparse superposition code, is a channel coding that can achieve the Shannon capacity of an additive white Gaussian noise channel.

[0053] Figure 1 It is a schematic diagram of the encoding and decoding process of SRC provided by an embodiment of the present application. As Figure 1 shown, at the sending end, information sources such as audio, video, and pictures to be sent are represented as a sparse signal. The SRC encoder on the sending end multiplies the sparse signal by a design matrix to obtain a codeword. The sending end sends the encoded codeword through the channel to the receiving end. The SRC decoder on the receiving end uses the approximate message passing (AMP) algorithm based on the channel output result to estimate the transmitted sparse signal, thereby realizing decoding. Therefore, the SRC decoder is also called an AMP decoder. Among them, the AMP algorithm is an iterative decoding algorithm with reasonable complexity and is commonly used in fields such as SRC decoding and compressive sensing.

[0054] Figure 2 This is a schematic diagram of a sparse signal and a design matrix provided by an embodiment of the present application. As Figure 2 shown, the symbol β represents the sparse signal, and the symbol A represents the design matrix. Among them, the sparse signal β is a vector with a total length of L×M, which can be divided into L segments, each segment has a length of M and each segment contains only one non-zero term. Figure 2 β in 1 β 2 β L respectively represent the non-zero terms included in each segment. The design matrix A is an independent and identically distributed (i.i.d.) Gaussian matrix with n rows and L×M columns.

[0055] Based on Figure 2 the sparse signal and the design matrix shown, the encoded codeword can be expressed as x, where x = Aβ. For the convenience of subsequent description, the length of the encoded codeword is marked as n. Correspondingly, the code rate of SRC can be expressed as Llog 2 (M) / n. Among them, the code rate can be understood as the amount of bits transmitted in a unit channel, or it can also be understood as the ratio between the amount of bits before encoding and the amount of bits after encoding. These two are essentially the same and will not be explained in detail here.

[0056] In addition, during the actual process of transmitting the codeword through the channel, a power threshold is also set for the transmission power of the codeword to meet the channel transmission limit. For example, the power threshold can be the average transmission power threshold of the codeword. Assuming that the average transmission power threshold is marked as P, then the maximum value of E[||x|| 2 / n is P. Based on this, during encoding, the values of the non-zero terms in the design matrix or the values of the non-zero terms in the sparse signal can be set based on this power threshold, so that the encoded codeword meets this power threshold.

[0057] On the basis of SRC, SC-SRC introduces a spatially coupled structure to the design matrix, which further improves the performance of SRC in the finite blocklength scenario. Similar to the construction of spatially coupled low density parity check (LDPC) codes, the design matrix A of SC-SRC is expanded from a base matrix. For the convenience of subsequent description, the base matrix is marked as W.

[0058] The base matrix W is a matrix with the number of rows greater than or equal to the number of columns. For the base matrix, the elements on the main diagonal, or the elements on the main diagonal and one or more consecutive diagonals below and adjacent to the main diagonal are non-zero terms, and the remaining elements are zero terms. The main diagonal is the diagonal composed of the elements with the same row position and column position in the base matrix.

[0059] Among them, the number of rows of the base matrix can be understood as the total number of rows included in the base matrix, and the number of columns of the base matrix can be understood as the total number of columns included in the base matrix. The row position of an element in the base matrix can be understood as the row number where the element is located. For example, if the row where the element is located is the i-th row, then the row position is i. The column position of an element in the base matrix can be understood as the column number where the element is located. For example, if the row where the element is located is the j-th row, then the column position is j. The same row position and column position can be understood as: i = j.

[0060] When all the elements on the main diagonal of the base matrix are non-zero terms and the remaining elements are zero terms, the base matrix can also be called a diagonal matrix. When the elements on the main diagonal and one or more consecutive diagonals below and adjacent to the main diagonal of the base matrix are non-zero terms and the remaining elements are zero terms, the base matrix can also be called a multi-diagonal matrix, a band diagonal matrix, or a band matrix, etc. The band diagonal matrix is relative to the diagonal matrix. The diagonal matrix refers to a matrix in which all elements except the main diagonal are zero terms. Therefore, the band diagonal matrix can be understood as: the elements in a relatively wide diagonal area are non-zero terms, and all other elements except this relatively wide diagonal area are zero terms.

[0061] To facilitate the description of the positions of non-zero terms in the base matrix, two parameters are defined for the base matrix: the coupling width and the coupling length. The coupling width and the coupling length determine the number of rows, the number of columns, and the positions of non-zero terms of the base matrix W. Assume that the coupling width of the base matrix W is ω and the coupling length is λ. The number of rows of the base matrix is obtained as ω + λ - 1, the number of columns is λ, and for each column c of the base matrix, 1 ≤ c ≤ λ, only the values in the c-th to the (c + ω - 1)-th rows are non-zero, that is, non-zero terms, and the others are zero terms.

[0062] Figure 3 It is a schematic diagram showing how to expand the base matrix W into a design matrix A provided by an embodiment of the present application. As Figure 3As shown, the coupling width ω of the basis matrix W is 2, and the coupling length λ is 4. Then the number of rows of the basis matrix is 5, and the number of columns is 4. In the first column of the basis matrix, the terms from the first row to the second row are non-zero terms, and the others are zero terms. In the second column of the basis matrix, the terms from the second row to the third row are non-zero terms, and the others are zero terms. And so on. In the fourth column of the basis matrix, the terms from the fourth row to the fifth row are non-zero terms, and the others are zero terms, so that the elements of the basis matrix W are non-zero terms on two diagonals and zero terms for the rest. As Figure 3 shown, each term W rc (where r and c represent the column position and row position respectively) of the basis matrix W is expanded into a sub-matrix with M R rows and M C columns in the design matrix A. This sub-matrix is an i.i.d. Gaussian matrix with an expectation of 0 and a variance of W rc / L.

[0063] Another way to expand the basis matrix W into the design matrix A is: expand each non-zero term of the basis matrix into a Hadamard matrix and multiply it by

[0064] Same as the above SRC, a power threshold is correspondingly set for the codeword x obtained based on the SC-SRC coding. Currently, the non-zero terms of the sparse signal can be set to 1 without loss of generality, and then the power threshold is satisfied by changing the values of the non-zero terms of the basis matrix.

[0065] Considering that when the coupling width and coupling length approach infinity and satisfy specific conditions, uniform power allocation can make the SC-SRC reach the Shannon capacity of the additive white Gaussian noise channel. Therefore, currently, the power of the non-zero terms of the basis matrix is usually evenly distributed, that is, the values of each non-zero term in the basis matrix are set to the same value. For example, for Figure 3 the shown basis matrix W, the value W rc of any non-zero term in this basis matrix W is P*(ω + λ - 1) / ω. Where P is the average transmission power threshold of the codeword.

[0066] However, in the case where the coupling width and coupling length of the basis matrix are finite, this uniform power allocation method is likely to result in a relatively high BLER of the SC-SRC. Based on this, the embodiment of the present application provides an encoding method that can reduce the BLER of the SC-SRC when the coupling width and coupling length of the basis matrix are finite.

[0067] Next, the communication system, encoding and decoding method, and related products provided by the embodiments of the present application are explained.

[0068] Figure 4It is a schematic diagram of the architecture of a communication system provided by an embodiment of the present application. As Figure 4 shown, the communication system includes a sending end 01 and a receiving end 02. Among them, the sending end 01 is used to perform SC-SRC encoding on information sources such as audio, video, and pictures to be sent, obtain codewords, and send the codewords to the receiving end 02 through a channel. The receiving end 02 decodes the received codewords to restore the information sent by the sending end.

[0069] Exemplarily, as Figure 4 shown, the sending end 01 can convert information sources such as audio, video, and pictures into a bit sequence, hereinafter simply referred to as an information bit sequence. Then, the information bit sequence is segmented, and a cyclic redundancy check (CRC) block is added after each segment, Figure 4 and this operation is hereinafter simply referred to as segmentation & cyclic check. The sending end 01 continues to perform SC-SRC encoding on each segment to obtain codewords, and this operation can be implemented by an encoder on the sending end 01. After that, the sending end 01 performs layering and resource element (RE) mapping on the codewords. Among them, layering can be understood as allocating the symbols after modulating the codewords to different transmission layers, and RE mapping can be understood as mapping the codewords to the time-frequency resources of each subcarrier of a carrier with a certain bandwidth. The sending end 01 uses orthogonal frequency division multiple access (OFDMA) to achieve multiplexing in the frequency domain space for the mapped codewords, and finally sends the processed codewords to a filter to send the encoded codewords to the receiving end 02 through a channel.

[0070] It should be noted that Figure 4 the functions of the sending end 01 in are used for illustrative purposes. In the embodiments of the present application, the sending end 01 may include more or fewer functions to implement SC-SRC encoding.

[0071] Among them, the method provided by the embodiments of the present application can be implemented by Figure 4 the encoder on the sending end 01 and the AMP decoder on the receiving end 02 shown. The sending end 01 may be a wireless sending end in a fifth-generation (5G) mobile communication network, or a sending end in other types of communication fields, etc., and will not be exemplified one by one here.

[0072] In addition, as Figure 4As shown, an AMP decoder is configured on the receiving end 02, which is used to decode the received codeword to restore the information sent by the sending end. The receiving end 02 can be a wireless receiving end in a 5G mobile communication network, or a receiving end in other types of communication fields, etc., and will not be exemplified one by one here.

[0073] Figure 5 is a flowchart of an encoding method provided by an embodiment of the present application. This method is exemplarily applied to Figure 4 the sending end shown, and is specifically implemented by an encoder on the sending end. As Figure 5 shown, this method includes the following steps.

[0074] Step 501: Encode based on the base matrix; the base matrix is a matrix with the number of rows greater than or equal to the number of columns. The elements on the main diagonal of the base matrix, or the main diagonal and one or more consecutive diagonals below the main diagonal and adjacent to the main diagonal, are all non-zero terms, and the remaining elements are all zero terms. The main diagonal is the diagonal composed of elements with the same row position and column position in the base matrix. The base matrix includes a first non-zero term and a second non-zero term. The first non-zero term is closer to the outside of the base matrix than the second non-zero term, and the value of the first non-zero term is greater than the value of the second non-zero term.

[0075] In the embodiments of the present application, SC-SRC encoding can be performed based on the base matrix, or other types of encoding can be performed based on the base matrix. Here, SC-SRC encoding is taken as an example for illustration.

[0076] In some embodiments, in the scenario of SC-SRC encoding, as Figure 6 shown, step 501 can be implemented through the following steps.

[0077] Step 5011: Determine a sparse signal based on the information to be encoded. The sparse signal includes L vectors, the length of each vector in the L vectors is M, and each vector includes a non-zero term. L and M are positive integers.

[0078] Among them, the information to be encoded can exemplarily be an information bit sequence converted from sources such as audio, video, and pictures through source compression technology. In this scenario, the implementation method of determining the sparse signal based on the information to be encoded is: divide the information bit sequence into blocks, and map each block after division to a sparse signal. Optionally, the information to be encoded can exemplarily be sources such as audio, video, and pictures. In this scenario, the implementation method of determining the sparse signal based on the information to be encoded is: convert sources such as audio, video, and pictures into an information bit sequence through source compression technology, divide the information bit sequence into blocks, and map each block after division to a sparse signal. That is, the information to be encoded can be any form of information to be sent to the receiving end, and will not be exemplified one by one here.

[0079] Step 5011 can be referred to as the sparse representation of the information to be encoded (or the signal to be transmitted). The purpose of signal sparse representation is that its sparsity enables the receiving end to restore the signal by means of compressive sensing, making it easier to obtain the information contained in the signal subsequently.

[0080] Among them, the information can be mapped to a sparse signal through different algorithms, and the embodiments of the present application do not limit the type of algorithm for mapping the information to a sparse signal. Additionally, an example of the form of the determined sparse signal is Figure 2 the sparse signal β shown, which will not be elaborated here.

[0081] Step 5012: Determine the base matrix based on the coupling width, coupling length, and power threshold.

[0082] Regarding the coupling width and coupling length, reference can be made to the foregoing content, which will not be elaborated here. The power threshold can be, for example, the average transmission power threshold of the codeword. Assuming the length of the codeword is n, the average transmission power threshold can be understood as the upper limit of the power for transmitting a codeword of unit length. Optionally, the power threshold can also be other types of codeword transmission power thresholds, such as the total transmission power threshold of the codeword, which will not be exemplified one by one here.

[0083] Among them, the first non-zero term and the second non-zero term can be any two non-zero terms in the base matrix.

[0084] In the embodiments of the present application, the values of the non-zero terms closer to the outside of the base matrix are set to be larger, that is, the power of the non-zero terms closer to the outside is greater. The AMP algorithm adopted by the AMP decoder and the spatial structure of the SC-SRC determine that when the AMP decoder decodes, it decodes from both ends of the codeword to the inside in sequence. And the higher power on the outside of the base matrix helps the AMP decoder to successfully decode the code elements at both ends, that is, the success rate of the AMP decoder in decoding the code elements at both ends is higher. When the code elements at both ends are successfully decoded, they can be used as side information to assist in decoding the internal code elements, and correspondingly, the decoding success rate of the internal code elements is also improved, thereby reducing the BLER of the SC-SRC.

[0085] In some embodiments, the first non-zero term is a non-zero term in the first column of the base matrix, the second non-zero term is a non-zero term in the second column of the base matrix, and the first column is closer to the outside of the base matrix than the second column.

[0086] Exemplarily, the values of the non-zero terms in the first column closer to the outside are all the larger first power, and the values of the non-zero terms in the second column closer to the inside are all the smaller second power. In other words, the values of different non-zero terms in the same column of the base matrix are equal, and the values of the non-zero terms in the column closer to the outside are larger, and the values of the non-zero terms in the column closer to the inside are smaller, thereby realizing a V-shaped power distribution method.

[0087] For example, Figure 7 is a schematic diagram of the power distribution of a basic matrix provided by an embodiment of the present application. As Figure 7 shown, the values of the non-zero terms in the first column on the left and the first column on the right are both P1, the values of the non-zero terms in the second column on the left and the second column on the right are both P2, the values of the non-zero terms in the third column on the left and the third column on the right are both P3, and the values of the non-zero terms in the fourth column on the left and the fourth column on the right are both P4. Among them, P1 > P2 > P3 > P4. Among them, Figure 7 the squares without marked values represent the zero terms of the basic matrix.

[0088] Exemplarily, the first column is a column in the first type of columns in the basic matrix, the second column is a column in the second type of columns in the basic matrix. The first type of columns are the N columns closest to the left and right sides respectively in the basic matrix, the second type of columns are the columns other than the first type of columns in the basic matrix, and the values of the non-zero terms in the first type of columns are all greater than the values of the non-zero terms in the second type of columns, where N is a positive integer.

[0089] In the embodiment of the present application, the columns of the basic matrix are divided into two major categories, the first type of columns and the second type of columns. The first type of columns are also called outer columns, and the second type of columns are also called inner columns, so as to facilitate making the values of the non-zero terms in the columns closer to the outside larger and the values of the non-zero terms in the columns closer to the inside smaller.

[0090] Further, the values of the non-zero terms in the first type of columns are all the first power, and the values of the non-zero terms in the second type of columns are all the second power, and the first power is greater than the second power. That is, the values of the non-zero terms in all the outer columns are set to a larger power, and the values of the non-zero terms in all the inner columns are set to a smaller power, which can reduce the complexity of subsequent coding and thus improve the coding efficiency.

[0091] For example, Figure 8 is another schematic diagram of the power distribution of a basic matrix provided by an embodiment of the present application. As Figure 8 shown, N = 2, the values of the non-zero terms in the first column on the left and the first column on the right, the second column on the left and the second column on the right are both P1, and the values of the non-zero terms in the third column on the left and the third column on the right, the fourth column on the left and the fourth column on the right are both P2. Among them, P1 > P2. Among them, Figure 8 the squares without marked values represent the zero terms of the basic matrix.

[0092] Optionally, the columns of the basic matrix can also be divided into more categories, and then the power can be set for each type of column gradiently in the order of decreasing power from the outside to the inside, and no further examples will be given here.

[0093] Optionally, the values of different non-zero terms in the same column of the base matrix can also be different, as long as the value of the non-zero term closer to the outer side of the base matrix is greater than the value of the non-zero term closer to the inner side of the base matrix. The same will not be exemplified one by one here.

[0094] In addition, the non-zero terms closer to the outer side in the above base matrix are exemplified by the non-zero terms closer to the leftmost or the rightmost. Optionally, in some embodiments of the present application, in other scenarios, the non-zero terms closer to the outer side can be set as the non-zero terms closer to the uppermost side (i.e., the first row) or the lowermost side (i.e., the last row) according to the decoding mechanism of the AMP decoder, so as to improve the decoding success rate of the AMP decoder, thereby reducing the BLER of SC-SRC. This will not be elaborated here.

[0095] The above shows the manifestation form of the base matrix provided by the embodiments of the present application. The following exemplifies how to obtain the above base matrix.

[0096] In some embodiments, the implementation of step 5012 can be: based on the coupling width and coupling length, determine the number of rows and columns in the base matrix and the positions of the non-zero terms in the base matrix; based on the performance characteristics and power threshold of the AMP decoder, determine the values of the non-zero terms in the base matrix, where the AMP decoder is used to decode the encoded codeword through the approximate message passing algorithm, and the performance characteristics of the AMP decoder can indicate the decoding accuracy rate of the AMP decoder, and the power threshold indicates the threshold of the transmission power of the encoded codeword.

[0097] In the embodiments of the present application, the values of the non-zero terms in the base matrix can be determined in combination with the performance characteristics and power threshold of the AMP decoder, so that the power of the non-zero terms closer to the outer side of the base matrix is greater, thereby reducing the BLER of SC-SRC.

[0098] Assume that the coupling width of the base matrix is ω and the coupling length is λ, and the number of rows and columns of the base matrix are L R and L C , then the number of rows L R of the base matrix = λ + ω - 1, the number of columns L C of the base matrix = λ, and for each column c of the base matrix, 1 ≤ c ≤ λ, only the terms from the c-th row to the (c + ω - 1)-th row are non-zero terms, and other terms are zero terms.

[0099] In addition, when determining the values of the non-zero terms in the base matrix based on the performance characteristics and power threshold of the AMP decoder, the initial values of the non-zero terms can be first determined according to the performance characteristics of the AMP decoder, and then the initial values of the non-zero terms can be adjusted based on the power threshold to determine the values of the non-zero terms. In some embodiments, it can be implemented through the following three steps.

[0100] Step 1: Based on the target coding rate, the target channel noise variance, and the asymptotic state evolution function of the AMP decoder, determine the initial value of the non-zero terms in the base matrix. The asymptotic state evolution function indicates the performance of the AMP decoder, and the initial value of the first non-zero term in the base matrix is greater than the initial value of the second non-zero term.

[0101] In the embodiments of the present application, the initial value of each non-zero term in the base matrix can be determined first based on the asymptotic state evolution function that can indicate the performance of the AMP decoder, so that the initial value of the base matrix shows a trend of being larger on the outside and smaller on the inside. Subsequently, the initial value can be adjusted based on the power threshold, so that the finally determined power can not only meet the power threshold but also maintain the trend of being larger on the outside and smaller on the inside.

[0102] Exemplarily, the implementation manner of determining the initial value of the non-zero terms in the base matrix based on the target coding rate, the target channel noise variance, and the asymptotic state evolution function of the AMP decoder can be: based on the coding rate, the target channel noise variance, and the number of rows and columns in the base matrix, in the order from the central column to the first column of the base matrix, perform the following operations on each column between the central column and the first column in turn: determine the power solution of the corresponding column by solving the asymptotic state evolution function, add the power solution of the corresponding column and the reference power to obtain the initial value of the corresponding column, and use the initial value of the corresponding column to determine the power solution of the next column. The reference power is a preset value greater than 0. The first column is the leftmost first column or the rightmost first column of the base matrix, the central column is the column at the central position between the leftmost first column and the rightmost first column of the base matrix, and the initial value of each column between the central column and the first column shows a non-decreasing trend; based on the initial value of each column between the central column and the first column of the base matrix, determine the initial value of each column in the other columns of the base matrix, and the initial value of each column between the central column and the last column also shows a non-decreasing trend. The last column is the column farthest from the first column in the base matrix; wherein, the initial value of any non-zero term in the base matrix is equal to the initial value of the column to which the corresponding non-zero term belongs.

[0103] In the embodiments of the present application, the initial value of each column in the left or right half of the base matrix can be determined first, and then the initial value of each column in the other half of the columns can be determined according to the symmetry principle, so that a base matrix with a high initial value on the outside and a low initial value on the inside can be obtained quickly, that is, a base matrix with a V-shaped power distribution is obtained.

[0104] For example, the asymptotic state evolution function can be expressed by the following formula, where R represents the coding rate, σ 2 represents the target channel noise variance, W iRepresents the power solution of the non-zero terms in the i-th column of the basis matrix. ω and λ are the coupling width and coupling length of the basis matrix respectively, and L R and L C are the number of rows and columns of the basis matrix respectively. θ = ceil(λ / 2) represents the central column of the basis matrix:

[0105]

[0106] It should be noted that the above formula is an example representation of the progressive state evolution function. In the embodiments of the present application, the progressive state evolution function can also be represented by other formulas, which will not be exemplified one by one here.

[0107] Let f t = 2RL R , then we can first let t = θ to calculate the power solution of the central column, and represent the power solution of the central column as W θ . After obtaining the power solution of the central column, add this power solution to the reference power to obtain the initial value of the central column, and represent the initial value of the central column as W θ ’, that is, W θ ’ = W θ + δ, where δ represents the pre-set reference power.

[0108] Then let t = θ - 1 to calculate the power solution of the next column of the central column (that is, the (θ - 1)-th column). It should be noted that when calculating the power solution of the (θ - 1)-th column, the power of the central column needs to be substituted. At this time, the power of the central column substituted is the initial value of the central column determined above. After obtaining the power solution of the (θ - 1)-th column, add this power solution to the reference power to obtain the initial value of the (θ - 1)-th column. And so on, until the initial value of the first column is determined.

[0109] For example, the power solutions of each column from the first column to the central column are respectively represented as W 1 , W 2 , …, W θ . Then the initial values of each column from the first column to the central column can be respectively represented as W 1 ’, W 2 ’, …, W θ ’, where W 1 ’ = W 1 + δ, W 2 ’ = W 2 + δ, …, W θ ’ = W θ + δ.

[0110] In addition, the reference power can be pre-set. Exemplarily, the reference power can be an extremely small value, so that after adding the reference power to the power solution of each column, the progressive state evolution function can satisfy ft >2RL R Under this condition, when the code length is infinite, the preliminary power allocation can enable successful SC-SRC decoding.

[0111] Optionally, the reference power can also be set to a value slightly greater than 1, and then the reference power is multiplied by the power of each column to obtain the initial value of each column.

[0112] In addition, based on the initial values of each column between the first column and the central column in the base matrix, the implementation method for determining the initial values of each column in the other columns of the base matrix can be: in the way that the power is symmetrically distributed along the central column, the initial values of each column between the first column and the central column are sequentially assigned to each column from the last column to the central column in the base matrix, so as to obtain the initial values of each column from the last column to the central column in the base matrix.

[0113] For example, the initial values of each column from the first column to the central column are respectively represented as W 1 ’, W 2 ’, …, W θ ’, then the initial values of each column from the last column to the central column are respectively W 1 ’, W 2 ’, …, W θ ’.

[0114] In addition, the non-decreasing trend of the initial values of each column between the central column and the first column can include: the initial values of each column between the central column and the first column show a monotonically increasing trend. Optionally, it can also include part of the monotonically increasing part without change.

[0115] The non-decreasing trend of the initial values of each column between the central column and the last column of the base matrix can include: the initial values of each column between the central column and the last column show a monotonically increasing trend. Optionally, it can also include part of the monotonically increasing part without change.

[0116] Step 2: Adjust the initial values of the non-zero terms in the base matrix based on the power threshold to obtain the intermediate values of the non-zero terms in the base matrix.

[0117] Among them, adjusting the initial value of the non-zero term can be to amplify the initial value or to reduce the initial value so that the adjusted intermediate value meets the power threshold.

[0118] After obtaining the initial values through Step 1, the initial values need to be adjusted so that the values of the non-zero terms in the base matrix meet the power threshold.

[0119] Exemplarily, the implementation manner of adjusting the initial value of the non-zero term in the basis matrix based on the power threshold to obtain the intermediate value of the non-zero term in the basis matrix can be, for example: determining the total initial value of the basis matrix based on the initial value of each non-zero term in the basis matrix; and adjusting the initial value of the non-zero term in the basis matrix based on the power threshold and the total initial value of the basis matrix to obtain the intermediate value of the non-zero term in the basis matrix.

[0120] For example, the initial value of each column in the basis matrix is obtained through Step 1, and the initial value of the non-zero term in each column is the initial value of the corresponding column. In this scenario, the adjustment of the initial value can be implemented through the following formula:

[0121]

[0122]

[0123] where P resultant represents the total initial value of the basis matrix, and P represents the average transmission power threshold in the power threshold.

[0124] It should be noted that the above formula is used to exemplarily illustrate how to adjust the initial value. Optionally, the embodiments of the present application may also adopt other methods to adjust the initial value so that the intermediate value meets the power threshold, which will not be exemplified one by one here.

[0125] Step 3: Determine the value of the non-zero term in the basis matrix based on the intermediate value of the non-zero term in the basis matrix.

[0126] Exemplarily, the intermediate values of the non-zero terms of the basis matrix determined through Step 2 satisfy the following distribution: the intermediate values of different non-zero terms in the same column of the basis matrix are the same, and the intermediate values of the non-zero terms from the leftmost first column to the non-zero terms in the central column of the basis matrix are the same as the intermediate values of the non-zero terms from the rightmost first column to the non-zero terms in the central column of the basis matrix. The central column is the column at the central position between the leftmost first column and the rightmost first column of the basis matrix, and the intermediate values of the non-zero terms from the leftmost first column to the non-zero terms in the central column of the basis matrix show a non-increasing trend.

[0127] In this scenario, the implementation method for determining the values of the non-zero elements in the base matrix based on the median value of the non-zero elements in the base matrix can be as follows: Determine the power threshold based on the maximum and minimum values of the median values of the non-zero elements in the base matrix. The power threshold is between the maximum and minimum values. The columns in the base matrix where the median value of the non-zero elements is between the maximum value and the power threshold are the N columns closest to the left and right sides respectively; Determine the first type of columns as the N columns closest to the left and right sides respectively in the base matrix, and determine the columns in the base matrix other than the first type of columns as the second type of columns; Determine the first power and the second power based on the power threshold; Among them, the value of each non-zero element in each column of the first type of columns is the first power, and the value of each non-zero element in each column of the second type of columns is the second power. When the power threshold indicates the average transmission power threshold of the codeword, the first power is greater than the average transmission power threshold, and the second power is less than the average transmission power threshold.

[0128] Through the above method, the columns of the base matrix can be divided into two categories, the first type of columns and the second type of columns, that is, the outer columns and the inner columns. Set a relatively large power for the values of all non-zero elements in all outer columns, and set the values of all non-zero elements in all inner columns to a relatively small power. This can reduce the complexity of subsequent encoding and thus improve the encoding efficiency.

[0129] Among them, determining the power threshold based on the maximum and minimum values of the median values of the non-zero elements in the base matrix can be achieved through the following formula:

[0130]

[0131] Among them, average represents the power threshold, a is a preset value greater than 1. Since the median value of each column from the first column to the central column shows a non-decreasing trend, the maximum value of the median values of each column from the first column to the central column is the median value W of the first column 1 , and the minimum value of the median values of each column from the first column to the central column is the median value W of the central column θ .

[0132] In addition, determining the first power and the second power based on the power threshold can be achieved through the following formula:

[0133]

[0134] P outer ←(1 + b)P inner

[0135] Among them, P inner represents the second power, P outer represents the first power, y represents the total number of columns included in the first type of columns. In the scenario where the first type of columns are the N columns closest to the left and right sides respectively in the base matrix, y = 2N.

[0136] The above a and b are preset values. For example, the values of a and b can be set by technicians based on experience. Exemplarily, a = 2 and b = 0.1.

[0137] Optionally, in step three, the intermediate value of the non-zero terms in the basis matrix obtained in step two can also be directly used as the value of the corresponding final non-zero terms, which will not be elaborated here.

[0138] The above takes determining the values of the non-zero terms of the basis matrix by combining the performance characteristics of the AMP decoder and the power threshold as an example. Optionally, a basis matrix with a V-shaped power distribution can also be set only based on the power threshold, which will not be elaborated here.

[0139] Figure 9 It is a schematic code diagram for determining the power distribution of the basis matrix provided by an embodiment of the present application. Regarding Figure 9 the respective characters and formulas in have been explained in the foregoing content and will not be repeated here.

[0140] Step 5013: Encode the sparse signal based on the basis matrix to obtain a codeword.

[0141] After obtaining the basis matrix through step 5012, the basis matrix can be extended to a design matrix, and then the design matrix is multiplied by the sparse signal to obtain a codeword.

[0142] The power distribution of the codewords obtained through steps 5011 to 5013 also shows a trend of being large at both ends and small in the middle, that is, the power of the code elements at both ends of the codeword is high and the power of the internal code elements is low, thereby reducing the BLER of SC-SRC. Among them, the power of the codeword is also called the energy of the codeword.

[0143] In other words, the code stream obtained by the encoding method provided by the embodiment of the present application includes codewords, and the codewords include first code elements and second code elements, where the power of the first code elements is greater than that of the second code elements, and the first code elements are closer to both ends of the codeword than the second code elements.

[0144] In summary, in the embodiment of the present application, the values of the non-zero terms near the outside of the basis matrix are set to be larger, that is, the power of the non-zero terms near the outside is greater. When the AMP decoder decodes based on the AMP algorithm, it decodes from both ends to the inside of the codeword. Since the high power on the outside of the basis matrix helps the code elements at both ends of the codeword to be successfully decoded, the success rate of the AMP decoder in decoding the code elements at both ends of the codeword is higher, and the successfully decoded outside code elements, as side information, correspondingly improve the decoding success rate of the internal code elements, thereby reducing the BLER of SC-SRC.

[0145] The technical effects of the encoding method provided by the embodiments of the present application are illustrated below by way of two scenarios for example.

[0146] Scenario 1: Set the SC - SRC parameters M = 512, L = 90, L C = 45, L R = 49, M R = 28, code rate R = 0.59 bytes / channel use, V - type power allocation free parameters a = 2, b = 0.1, reference power δt = 0.1, signal - to - noise ratio SNR = 3.0 - 5.5 decibels (dB).

[0147] Scenario 2: Set the SC - SRC parameters M = 512, L = 90, L C = 45, L R = 49, M R = 20, code rate R = 0.83 bits / channel use, V - type power allocation free parameters a = 2, b = 0.1, reference power δt = 0.1, signal - to - noise ratio SNR = 6 - 7 dB.

[0148] For the above two - scenario parameters, use the Figure 9 shown V - type power allocation scheme to determine the basis matrix W, and further expand it into the design matrix A. Generate a sparse signal β of length ML, multiply the sparse signal β by the design matrix A to obtain the codeword x = Aβ, and send the codeword x into an additive white Gaussian noise channel. Based on the channel output, use the AMP algorithm for decoding at the receiving end. When the AMP algorithm iterates to the maximum number of iterations of 350 times or meets the termination condition, output the estimation result, and compare the estimation result with the original sparse signal. Repeat the above process, and count the BLERs obtained in the two scenarios respectively.

[0149] Figure 10 is a BLER schematic diagram of the V - type power allocation scheme and the uniform power allocation scheme respectively in Scenario 1. Figure 11 is a BLER schematic diagram of the V - type power allocation scheme and the uniform power allocation scheme respectively in Scenario 2. As Figure 10 and Figure 11 shown, regardless of whether it is Scenario 1 or Scenario 2, the BLER of the SC - SRC corresponding to the basis matrix obtained by using the V - type power allocation scheme is lower than the BLER of the SC - SRC corresponding to the basis matrix obtained by using the uniform power allocation scheme.

[0150] Figure 12 is a flowchart of a decoding method provided by the embodiments of the present application. This method is applied to the Figure 4 shown receiving end, and is specifically implemented by the AMP decoder on the receiving end. As Figure 12 shown, this method includes the following steps.

[0151] Step 1201: Decode based on the base matrix; the base matrix is a matrix with the number of rows greater than or equal to the number of columns. For the base matrix, the elements on the main diagonal, or the elements on the main diagonal and one or more consecutive diagonals below the main diagonal and adjacent to the main diagonal are all non-zero terms, and the remaining elements are all zero terms. The main diagonal is the diagonal composed of elements with the same row position and column position in the base matrix. The base matrix includes a first non-zero term and a second non-zero term. The first non-zero term is closer to the outside of the base matrix than the second non-zero term, and the value of the first non-zero term is greater than the value of the second non-zero term.

[0152] Optionally, the first non-zero term is a non-zero term in the first column of the base matrix, and the second non-zero term is a non-zero term in the second column of the base matrix. The first column is closer to the outside of the base matrix than the second column.

[0153] Optionally, the first column is one of the first type of columns of the base matrix, and the second column is one of the second type of columns of the base matrix. The first type of columns includes the N columns that are closest to the left and right sides respectively in the base matrix. The second type of columns includes the columns in the base matrix other than the first type of columns, and the values of the non-zero terms in the first type of columns are all greater than the values of the non-zero terms in the second type of columns, where N is a positive integer.

[0154] Optionally, the values of the non-zero terms in the first type of columns are all the first power, and the values of the non-zero terms in the second type of columns are all the second power, and the first power is greater than the second power.

[0155] Optionally, before encoding based on the base matrix, the method further includes:

[0156] Determine the values of the non-zero terms of the base matrix based on the performance characteristics of the approximate message passing (AMP) decoder and the power threshold. The AMP decoder is used to decode the received codeword through the approximate message passing algorithm. The performance characteristics of the AMP decoder can indicate the decoding accuracy rate of the AMP decoder, and the power threshold indicates the threshold of the transmission power of the codeword.

[0157] Optionally, determining the values of the non-zero terms in the base matrix based on the performance characteristics of the AMP decoder and the power threshold includes:

[0158] Determine the initial values of the non-zero terms in the base matrix based on the target coding rate, the target channel noise variance, and the asymptotic state evolution function of the AMP decoder. The asymptotic state evolution function indicates the performance of the AMP decoder. The initial value of the first non-zero term in the base matrix is greater than the initial value of the second non-zero term;

[0159] Adjust the initial values of the non-zero terms in the base matrix based on the power threshold to obtain the intermediate values of the non-zero terms in the base matrix;

[0160] Determine the value of non-zero elements in the fundamental matrix based on the median value of non-zero elements in the fundamental matrix.

[0161] Optionally, determine the initial value of non-zero elements in the fundamental matrix based on the target coding rate, the target channel noise variance, and the asymptotic state evolution function of the AMP decoder, including:

[0162] Based on the coding rate, the target channel noise variance, and the number of rows and columns of the fundamental matrix, perform the following operations on each column between the central column and the first column in order from the central column to the first column of the fundamental matrix: determine the power solution of the corresponding column by solving the asymptotic state evolution function, add the power solution of the corresponding column to the reference power to obtain the initial value of the corresponding column, and use the initial value of the corresponding column to determine the power solution of the next column. The reference power is a pre-set value greater than 0. The first column is the leftmost or rightmost first column of the fundamental matrix, the central column is the column at the central position between the leftmost first column and the rightmost first column of the fundamental matrix, and the initial values of each column between the central column and the first column are non-decreasing.

[0163] Based on the initial values of each column between the central column and the first column in the fundamental matrix, determine the initial value of each column in the other columns of the fundamental matrix. The initial values of each column between the central column and the last column are also non-decreasing. The last column is the column in the fundamental matrix that is farthest from the first column.

[0164] Wherein, the initial value of any non-zero element in the fundamental matrix is equal to the initial value of the column to which the corresponding non-zero element belongs.

[0165] Optionally, adjust the initial value of non-zero elements in the fundamental matrix based on a power threshold to obtain the median value of non-zero elements in the fundamental matrix, including:

[0166] Based on the initial values of each non-zero element in the fundamental matrix, determine the total initial value of the fundamental matrix;

[0167] Based on the power threshold and the total initial value of the fundamental matrix, adjust the initial value of non-zero elements in the fundamental matrix to obtain the median value of non-zero elements in the fundamental matrix.

[0168] Optionally, the median values of different non-zero elements in the same column of the fundamental matrix are the same, and the median values of non-zero elements in the leftmost first column of the fundamental matrix to the median values of non-zero elements in the central column are the same as the median values of non-zero elements in the rightmost first column of the fundamental matrix to the median values of non-zero elements in the central column, respectively. The central column is the column at the central position between the leftmost first column and the rightmost first column of the fundamental matrix, and the median values of non-zero elements in the leftmost first column of the fundamental matrix to the median values of non-zero elements in the central column are non-increasing;

[0169] Determining the values of the non-zero terms in the fundamental matrix based on the median value of the non-zero terms in the fundamental matrix, including:

[0170] Determining a power threshold based on the maximum and minimum values among the median values of the non-zero terms in the fundamental matrix, where the power threshold is between the maximum and minimum values, and the columns in the fundamental matrix whose median values of non-zero terms are between the maximum value and the power threshold are the N columns closest to the left and right sides respectively;

[0171] Determining the columns that are the N columns closest to the left and right sides in the fundamental matrix as the first type of columns, and determining the columns in the fundamental matrix other than the first type of columns as the second type of columns;

[0172] Determining a first power and a second power based on the power threshold;

[0173] Wherein, the value of each non-zero term in each column of the first type of columns is the first power, and the value of each non-zero term in each column of the second type of columns is the second power. When the power threshold indicates the average transmission power threshold of the codeword, the first power is greater than the average transmission power threshold, and the second power is less than the average transmission power threshold.

[0174] Wherein, the determination method, the representation form of the fundamental matrix, and the related technical effects in step 1201 can all refer to Figure 5 the embodiments shown, and will not be elaborated here.

[0175] Figure 13 is a schematic structural diagram of an encoding device provided by an embodiment of the present application. As Figure 13 shown, the device 1300 includes the following modules.

[0176] An encoding module 1301, configured to perform encoding based on the fundamental matrix; the specific implementation manner can refer to Figure 5 step 501 in the embodiment.

[0177] The fundamental matrix is a matrix whose number of rows is greater than or equal to the number of columns. The elements on the main diagonal of the fundamental matrix, or the main diagonal and one or more consecutive diagonals below the main diagonal and adjacent to the main diagonal are all non-zero terms, and the remaining elements are all zero terms. The main diagonal is the diagonal composed of elements with the same row position and column position in the fundamental matrix. The fundamental matrix includes a first non-zero term and a second non-zero term. The first non-zero term is closer to the outside of the fundamental matrix than the second non-zero term, and the value of the first non-zero term is greater than the value of the second non-zero term.

[0178] Optionally, the first non-zero term is the non-zero term in the first column of the fundamental matrix, the second non-zero term is the non-zero term in the second column of the fundamental matrix, and the first column is closer to the outside of the fundamental matrix than the second column.

[0179] Optionally, the first column is one of the first type of columns of the basis matrix, the second column is one of the second type of columns of the basis matrix, the first type of columns includes the N columns that are respectively the closest to the left and right sides in the basis matrix, the second type of columns includes the columns in the basis matrix other than the first type of columns, and the values of the non-zero terms in the first type of columns are all greater than the values of the non-zero terms in the second type of columns, where N is a positive integer.

[0180] Optionally, the values of the non-zero terms in the first type of columns are all the first power, and the values of the non-zero terms in the second type of columns are all the second power, and the first power is greater than the second power.

[0181] Optionally, the apparatus further includes:

[0182] A determination module, configured to determine the values of the non-zero terms of the basis matrix based on the performance characteristics of an approximate message passing (AMP) decoder and a power threshold, where the AMP decoder is used to decode the encoded codeword through the approximate message passing algorithm, the performance characteristics of the AMP decoder can indicate the decoding accuracy rate of the AMP decoder, and the power threshold indicates the threshold of the transmission power of the encoded codeword.

[0183] Optionally, the determination module is configured to:

[0184] Determine the initial values of the non-zero terms in the basis matrix based on the target coding code rate, the target channel noise variance, and the asymptotic state evolution function of the AMP decoder, where the asymptotic state evolution function indicates the performance of the AMP decoder, and the initial value of the first non-zero term in the basis matrix is greater than the initial value of the second non-zero term;

[0185] Adjust the initial values of the non-zero terms in the basis matrix based on the power threshold to obtain the intermediate values of the non-zero terms in the basis matrix;

[0186] Determine the values of the non-zero terms in the basis matrix based on the intermediate values of the non-zero terms in the basis matrix.

[0187] Optionally, the determination module is configured to:

[0188] Based on the coding code rate, the target channel noise variance, and the number of rows and columns of the basis matrix, in the order from the central column to the first column of the basis matrix, perform the following operations on each column between the central column and the first column in turn: determine the power solution of the corresponding column by solving the asymptotic state evolution function, add the power solution of the corresponding column and a reference power to obtain the initial value of the corresponding column, and use the initial value of the corresponding column to determine the power solution of the next column, where the reference power is a preset value greater than 0, the first column is the leftmost first column or the rightmost first column of the basis matrix, the central column is the column at the central position between the leftmost first column and the rightmost first column of the basis matrix, and the initial values of each column between the central column and the first column are in a non-decreasing trend;

[0189] Based on the initial values of each column between the central column and the first column in the fundamental matrix, determine the initial values of each column in the other columns of the fundamental matrix. The initial values of each column between the central column and the last column also show a non-decreasing trend, and the last column is the column in the fundamental matrix that is farthest from the first column.

[0190] Wherein, the initial value of any non-zero term in the fundamental matrix is equal to the initial value of the column to which the corresponding non-zero term belongs.

[0191] Optionally, the determining module is used to:

[0192] Based on the initial values of each non-zero term in the fundamental matrix, determine the total initial value of the fundamental matrix;

[0193] Based on the power threshold and the total initial value of the fundamental matrix, adjust the initial values of the non-zero terms in the fundamental matrix to obtain the intermediate values of the non-zero terms in the fundamental matrix.

[0194] Optionally, the intermediate values of different non-zero terms in the same column of the fundamental matrix are the same, and the intermediate values of the non-zero terms from the first column on the left side of the fundamental matrix to the non-zero terms in the central column are the same as the intermediate values of the non-zero terms from the first column on the right side of the fundamental matrix to the non-zero terms in the central column. The central column is the column at the central position between the first column on the left side and the first column on the right side of the fundamental matrix, and the intermediate values of the non-zero terms from the first column on the left side of the fundamental matrix to the non-zero terms in the central column show a non-increasing trend;

[0195] The determining module is used to:

[0196] Based on the maximum value and the minimum value among the intermediate values of the non-zero terms in the fundamental matrix, determine the power threshold. The power threshold is between the maximum value and the minimum value. The columns in the fundamental matrix where the intermediate values of the non-zero terms are between the maximum value and the power threshold are the N columns closest to the left and right sides respectively;

[0197] Determine the N columns closest to the left and right sides in the fundamental matrix as the first type of columns, and determine the columns in the fundamental matrix other than the first type of columns as the second type of columns;

[0198] Based on the power threshold, determine the first power and the second power;

[0199] Wherein, the value of each non-zero term in each column of the first type of columns is the first power, and the value of each non-zero term in each column of the second type of columns is the second power. When the power threshold indicates the average transmission power threshold of the codeword, the first power is greater than the average transmission power threshold, and the second power is less than the average transmission power threshold.

[0200] In summary, in the embodiments of the present application, the values of the non-zero terms near the outer side of the base matrix are set to be larger, that is, the power of the non-zero terms near the outer side is greater. When the AMP decoder decodes based on the AMP algorithm, it decodes from both ends of the codeword to the inside in sequence. Since the high power on the outer side of the base matrix helps the code elements at both ends of the codeword to be successfully decoded, the success rate of the AMP decoder in decoding the code elements at both ends of the codeword is higher, and the successfully decoded outer code elements, as side information, correspondingly improve the decoding success rate of the inner code elements, thereby reducing the BLER of SC-SRC.

[0201] It should be noted that: when the encoding device provided in the above embodiment encodes, only the above-mentioned division of each functional module is used for illustration. In practical applications, the above functions can be allocated to different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the encoding device provided in the above embodiment and the encoding method embodiment belong to the same concept, and the specific implementation process can be found in the method embodiment and will not be elaborated here.

[0202] Figure 14 It is a schematic structural diagram of a decoding device provided by an embodiment of the present application. As Figure 14 shown, the device 1400 includes the following modules.

[0203] A decoding module 1401, configured to decode based on a base matrix; the specific implementation manner may refer to Figure 12 step 1201 in the embodiment.

[0204] The base matrix is a matrix with the number of rows greater than or equal to the number of columns. The elements on the main diagonal of the base matrix, or the elements on the main diagonal and one or more consecutive diagonals below the main diagonal and adjacent to the main diagonal are all non-zero terms, and the remaining elements are all zero terms. The main diagonal is the diagonal composed of the elements with the same row position and column position in the base matrix. The base matrix includes a first non-zero term and a second non-zero term. The first non-zero term is closer to the outer side of the base matrix than the second non-zero term, and the value of the first non-zero term is greater than the value of the second non-zero term.

[0205] Optionally, the first non-zero term is a non-zero term in the first column of the base matrix, and the second non-zero term is a non-zero term in the second column of the base matrix. The first column is closer to the outer side of the base matrix than the second column.

[0206] Optionally, the first column is one of the first type of columns of the base matrix, and the second column is one of the second type of columns of the base matrix. The first type of columns includes the N columns that are respectively the closest to the left and right sides in the base matrix. The second type of columns includes the columns other than the first type of columns in the base matrix, and the values of the non-zero terms in the first type of columns are all greater than the values of the non-zero terms in the second type of columns, where N is a positive integer.

[0207] Optionally, the non-zero terms of the first type of columns all take a first power value, and the non-zero terms of the second type of columns all take a second power value, where the first power is greater than the second power.

[0208] Optionally, the apparatus further includes:

[0209] A determination module, configured to determine the values of the non-zero terms of the basis matrix based on the performance characteristics of an approximate message passing (AMP) decoder and a power threshold, where the AMP decoder is used to decode the received codeword through an approximate message passing algorithm, and the performance characteristics of the AMP decoder can indicate the decoding accuracy rate of the AMP decoder, and the power threshold indicates the threshold of the transmission power of the codeword.

[0210] Optionally, the determination module is configured to:

[0211] Determine the initial values of the non-zero terms in the basis matrix based on a target coding rate, a target channel noise variance, and the asymptotic state evolution function of the AMP decoder, where the asymptotic state evolution function indicates the performance of the AMP decoder, and the initial value of the first non-zero term in the basis matrix is greater than the initial value of the second non-zero term;

[0212] Adjust the initial values of the non-zero terms in the basis matrix based on the power threshold to obtain the intermediate values of the non-zero terms in the basis matrix;

[0213] Determine the values of the non-zero terms in the basis matrix based on the intermediate values of the non-zero terms in the basis matrix.

[0214] Optionally, the determination module is configured to:

[0215] Based on the coding rate, the target channel noise variance, and the number of rows and columns of the basis matrix, perform the following operations on each column between the central column and the first column in sequence from the central column to the first column of the basis matrix: determine the power solution of the corresponding column by solving the asymptotic state evolution function, add the power solution of the corresponding column to a reference power to obtain the initial value of the corresponding column, and use the initial value of the corresponding column to determine the power solution of the next column, where the reference power is a preset value greater than 0, the first column is the leftmost first column or the rightmost first column of the basis matrix, the central column is the column at the central position between the leftmost first column and the rightmost first column of the basis matrix, and the initial values of each column between the central column and the first column are non-decreasing;

[0216] Determine the initial values of each column in the other columns of the basis matrix based on the initial values of each column between the central column and the first column in the basis matrix, and the initial values of each column between the central column and the last column are also non-decreasing, where the last column is the column farthest from the first column in the basis matrix;

[0217] Among them, the initial value of any non-zero term in the base matrix is equal to the initial value of the column to which the corresponding non-zero term belongs.

[0218] Optionally, the determining module is configured to:

[0219] Determine the total initial value of the base matrix based on the initial values of each non-zero term in the base matrix;

[0220] Adjust the initial values of the non-zero terms in the base matrix based on the power threshold and the total initial value of the base matrix to obtain the intermediate values of the non-zero terms in the base matrix.

[0221] Optionally, the intermediate values of different non-zero terms in the same column of the base matrix are the same, and the intermediate values of the non-zero terms from the leftmost first column to the center column in the base matrix are the same as the intermediate values of the non-zero terms from the rightmost first column to the center column in the base matrix. The center column is the column at the center position between the leftmost first column and the rightmost first column in the base matrix, and the intermediate values of the non-zero terms from the leftmost first column to the center column in the base matrix show a non-increasing trend;

[0222] The determining module is configured to:

[0223] Determine a power threshold based on the maximum value and the minimum value among the intermediate values of the non-zero terms in the base matrix. The power threshold is between the maximum value and the minimum value. The columns in the base matrix where the intermediate values of the non-zero terms are between the maximum value and the power threshold are the N columns closest to the left and right sides respectively;

[0224] Determine the N columns closest to the left and right sides in the base matrix as the first type of columns, and determine the columns in the base matrix other than the first type of columns as the second type of columns;

[0225] Determine a first power and a second power based on the power threshold;

[0226] Among them, the value of each non-zero term in each column of the first type of columns is the first power, and the value of each non-zero term in each column of the second type of columns is the second power. When the power threshold indicates the average transmission power threshold of the codeword, the first power is greater than the average transmission power threshold, and the second power is less than the average transmission power threshold.

[0227] In summary, in the embodiments of the present application, the values of the non-zero terms closer to the outside in the base matrix are set to be larger, that is, the power of the non-zero terms closer to the outside is greater. When the AMP decoder decodes based on the AMP algorithm, it decodes from both ends of the codeword to the inside in sequence. Since the high power on the outside of the base matrix helps the code elements at both ends of the codeword to be successfully decoded, the success rate of the AMP decoder in decoding the code elements at both ends of the codeword is higher, and the successfully decoded outside code elements, as side information, correspondingly improve the decoding success rate of the internal code elements, thereby reducing the BLER of the SC - SRC.

[0228] It should be noted that when decoding the decoding device provided in the above embodiments, only the division of the above functional modules is used for illustration. In actual applications, the above functions can be assigned to different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the decoding device provided in the above embodiments and the embodiments of the decoding method belong to the same concept. For the specific implementation process, please refer to the method embodiments and will not be elaborated here.

[0229] In addition, an embodiment of the present application further provides a computer-readable storage medium. A bitstream is stored in the computer-readable storage medium. The bitstream includes codewords. The codewords include first code elements and second code elements. The power of the first code element is greater than that of the second code element, and the first code element is closer to both ends of the codeword than the second code element.

[0230] Figure 15 It is a schematic structural diagram of a communication device provided by an embodiment of the present application. The encoding device or the decoding device in the foregoing embodiments can all be implemented by Figure 15 the communication device shown. Refer to Figure 15 , the communication device includes at least one processor 1501, a communication bus 1502, a memory 1503, and at least one communication interface 1504.

[0231] The processor 1501 may be a general-purpose central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the solution of the present application.

[0232] The communication bus 1502 may include a path for transmitting information between the above components.

[0233] The memory 1503 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or can also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM), or other optical disc storage, optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disks or other magnetic storage devices, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 1503 can exist independently and be connected to the processor 1501 through the communication bus 1502. The memory 1503 can also be integrated with the processor 1501.

[0234] Among them, the memory 1503 is used to store the program code for executing the solution of this application, and is controlled by the processor 1501 for execution. The processor 1501 is used to execute the program code stored in the memory 1503. The program code can include one or more software modules. The encoder in the foregoing embodiment can determine the data for developing an application through one or more software modules in the program code of the processor 1501 and the memory 1503.

[0235] The communication interface 1504 uses any device such as a transceiver to communicate with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area networks (WLAN), etc.

[0236] In a specific implementation, as an embodiment, the communication device can include multiple processors, such as Figure 15 the processor 1501 and the processor 1505 shown in. Each of these processors can be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. Here, the processor can refer to one or more devices, circuits, and / or processing cores for processing data (such as computer program instructions).

[0237] In a specific implementation, as an example, the communication device may further include an output device 1506 and an input device 1507. The output device 1506 communicates with the processor 1501 and can display information in various ways. For example, the output device 1506 may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device 1507 communicates with the processor 1501 and can receive user input in various ways. For example, the input device 1507 may be a mouse, a keyboard, a touch screen device, or a sensing device, etc.

[0238] The above-mentioned communication device may be a general communication device or a dedicated communication device. In a specific implementation, the communication device may be a desktop computer, a portable computer, a network server, a personal digital assistant (PDA), a mobile phone, a tablet computer, a wireless terminal device, a communication device, or an embedded device. The embodiments of the present application do not limit the type of the communication device.

[0239] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer may be a general-purpose computer, a dedicated computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, a computer, a server, or a data center to another website, a computer, a server, or a data center in a wired manner (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or a wireless manner (such as infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, a data center, etc. that contains one or more available media integrated. The available media may be magnetic media (such as floppy disks, hard disks, magnetic tapes), optical media (such as digital versatile discs (DVDs)), or semiconductor media (such as solid state disks (SSDs)), etc.

[0240] Those of ordinary skill in the art can understand that all or part of the steps to implement the above embodiments can be completed by hardware, or can be completed by instructing relevant hardware through a program. The program can be stored in a computer-readable storage medium. The above-mentioned storage medium can be a read-only memory, a magnetic disk or an optical disc, etc.

[0241] The above content is not intended to limit the embodiments of the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the embodiments of the present application shall be included in the protection scope of the embodiments of the present application.

Claims

1. A coding method, characterized in that, the method includes: encoding based on a basis matrix; the basis matrix is a matrix with the number of rows greater than or equal to the number of columns, and elements on the main diagonal of the basis matrix, or elements on the main diagonal and one or more consecutive diagonals below the main diagonal and adjacent to the main diagonal are all non-zero terms, and the remaining elements are all zero terms. The main diagonal is the diagonal composed of elements with the same row position and column position in the basis matrix. The basis matrix includes a first non-zero term and a second non-zero term. The first non-zero term is closer to the outside of the basis matrix than the second non-zero term, and the value of the first non-zero term is greater than the value of the second non-zero term.

2. The method according to claim 1, characterized in that, the first non-zero term is a non-zero term in the first column of the basis matrix, the second non-zero term is a non-zero term in the second column of the basis matrix, and the first column is closer to the outside of the basis matrix than the second column.

3. The method according to claim 2, characterized in that, the first column is one of the first type of columns in the basis matrix, the second column is one of the second type of columns in the basis matrix. The first type of columns includes the N columns closest to the left and right sides respectively in the basis matrix. The second type of columns includes the columns in the basis matrix other than the first type of columns, and the value of the non-zero term in the first type of column is greater than the value of the non-zero term in the second type of column, where N is a positive integer.

4. The method according to claim 3, characterized in that, the value of the non-zero term in the first type of column is all the first power, the value of the non-zero term in the second type of column is all the second power, and the first power is greater than the second power.

5. The method according to any one of claims 1-4, characterized in that, before encoding based on the basis matrix, the method further includes: determining the value of the non-zero term of the basis matrix based on the performance characteristics of an approximate message passing (AMP) decoder and a power threshold. The AMP decoder is used to decode the encoded codeword through the approximate message passing algorithm. The performance characteristics of the AMP decoder can indicate the decoding accuracy rate of the AMP decoder, and the power threshold indicates the threshold of the transmission power of the encoded codeword.

6. The method according to claim 5, characterized in that, determining the value of the non-zero term of the basis matrix based on the performance characteristics of the AMP decoder and the power threshold includes: determining the initial value of the non-zero term of the basis matrix based on the target coding code rate, the target channel noise variance, and the asymptotic state evolution function of the AMP decoder. The asymptotic state evolution function indicates the performance of the AMP decoder, and the initial value of the first non-zero term in the basis matrix is greater than the initial value of the second non-zero term; adjusting the initial value of the non-zero term of the basis matrix based on the power threshold to obtain the intermediate value of the non-zero term of the basis matrix; determining the value of the non-zero term of the basis matrix based on the intermediate value of the non-zero term of the basis matrix.

7. The method according to claim 6, It is characterized in that determining an initial value of a non-zero term in the base matrix based on the target coding rate, the target channel noise variance, and an asymptotic state evolution function of the AMP decoder, includes: Based on the coding rate, the target channel noise variance, and the number of rows and columns of the base matrix, in order from the central column to the first column of the base matrix, the following operations are sequentially performed on each column between the central column and the first column: determining a power solution of the corresponding column by solving the asymptotic state evolution function, adding the power solution of the corresponding column and a reference power to obtain an initial value of the corresponding column, and using the initial value of the corresponding column to determine a power solution of the next column, where the reference power is a preset value greater than 0, the first column is the leftmost first column or the rightmost first column of the base matrix, the central column is the column at the central position between the leftmost first column and the rightmost first column of the base matrix, and the initial values of each column between the central column and the first column are non-decreasing; Based on the initial values of each column between the central column and the first column in the base matrix, determining the initial value of each column in the other columns of the base matrix, where the initial values of each column between the central column and the last column are also non-decreasing, and the last column is the column in the base matrix that is farthest from the first column; wherein, the initial value of any non-zero term in the base matrix is equal to the initial value of the column to which the corresponding non-zero term belongs.

8. The method according to claim 6, It is characterized in that adjusting the initial value of the non-zero term in the base matrix based on the power threshold to obtain an intermediate value of the non-zero term in the base matrix, includes: determining a total initial value of the base matrix based on the initial values of each non-zero term in the base matrix; adjusting the initial value of the non-zero term in the base matrix based on the power threshold and the total initial value of the base matrix to obtain an intermediate value of the non-zero term in the base matrix.

9. The method according to claim 6, It is characterized in that the intermediate values of different non-zero terms in the same column of the base matrix are the same, and the intermediate values of the non-zero terms in the leftmost first column of the base matrix to the intermediate values of the non-zero terms in the central column are the same as the intermediate values of the non-zero terms in the rightmost first column of the base matrix to the intermediate values of the non-zero terms in the central column, the central column is the column at the central position between the leftmost first column and the rightmost first column of the base matrix, and the intermediate values of the non-zero terms in the leftmost first column of the base matrix to the intermediate values of the non-zero terms in the central column are non-increasing; determining a value of the non-zero term in the base matrix based on the intermediate value of the non-zero term in the base matrix, includes: determining a power threshold based on the maximum value and the minimum value among the intermediate values of the non-zero terms in the base matrix, the power threshold is between the maximum value and the minimum value, and the columns in the base matrix where the intermediate values of the non-zero terms are between the maximum value and the power threshold are the N columns closest to the left and right sides respectively; Determine the N columns closest to the left and right sides respectively in the base matrix as the first type of columns, and determine the columns in the base matrix other than the first type of columns as the second type of columns; Based on the power threshold, determine the first power and the second power; Wherein, the value of each non-zero term in each column of the first type of columns is the first power, and the value of each non-zero term in each column of the second type of columns is the second power. When the power threshold indicates the average transmission power threshold of the codeword, the first power is greater than the average transmission power threshold, and the second power is less than the average transmission power threshold.

10. A decoding method, Characterized in that, The method includes: Perform decoding based on the base matrix; The base matrix is a matrix with the number of rows greater than or equal to the number of columns. The elements on the main diagonal of the base matrix, or the main diagonal and one or more consecutive diagonals below the main diagonal and adjacent to the main diagonal are all non-zero terms, and the remaining elements are all zero terms. The main diagonal is the diagonal composed of elements with the same row position and column position in the base matrix. The base matrix includes a first non-zero term and a second non-zero term. The first non-zero term is closer to the outside of the base matrix than the second non-zero term, and the value of the first non-zero term is greater than the value of the second non-zero term.

11. An encoding device, Characterized in that, The device includes: An encoding module for encoding based on the base matrix; The base matrix is a matrix with the number of rows greater than or equal to the number of columns. The elements on the main diagonal of the base matrix, or the main diagonal and one or more consecutive diagonals below the main diagonal and adjacent to the main diagonal are all non-zero terms, and the remaining elements are all zero terms. The main diagonal is the diagonal composed of elements with the same row position and column position in the base matrix. The base matrix includes a first non-zero term and a second non-zero term. The first non-zero term is closer to the outside of the base matrix than the second non-zero term, and the value of the first non-zero term is greater than the value of the second non-zero term.

12. The device according to claim 11, Characterized in that, The first non-zero term is the non-zero term in the first column of the base matrix, and the second non-zero term is the non-zero term in the second column of the base matrix. The first column is closer to the outside of the base matrix than the second column.

13. The device according to claim 12, Characterized in that, The first column is one of the first type of columns in the base matrix, and the second column is one of the second type of columns in the base matrix. The first type of columns includes the N columns closest to the left and right sides respectively in the base matrix, and the second type of columns includes the columns in the base matrix other than the first type of columns. And the value of each non-zero term in the first type of columns is greater than the value of each non-zero term in the second type of columns. N is a positive integer.

14. The device according to claim 13, Characterized in that, The value of each non-zero term in the first type of columns is the first power, and the value of each non-zero term in the second type of columns is the second power. The first power is greater than the second power.

15. The device according to any one of claims 11-14, characterized in that, the device further comprises: a determination module, configured to determine the value of the non-zero term of the base matrix based on the performance characteristics of an approximate message passing (AMP) decoder and a power threshold, where the AMP decoder is used to decode the encoded codeword through an approximate message passing algorithm, the performance characteristics of the AMP decoder can indicate the decoding accuracy rate of the AMP decoder, and the power threshold indicates the threshold of the transmission power of the encoded codeword.

16. The device according to claim 15, characterized in that, the determination module is configured to: determine the initial value of the non-zero term in the base matrix based on the target coding rate, the target channel noise variance, and the asymptotic state evolution function of the AMP decoder, where the asymptotic state evolution function indicates the performance of the AMP decoder, and the initial value of the first non-zero term in the base matrix is greater than the initial value of the second non-zero term; adjust the initial value of the non-zero term in the base matrix based on the power threshold to obtain the intermediate value of the non-zero term in the base matrix; determine the value of the non-zero term in the base matrix based on the intermediate value of the non-zero term in the base matrix.

17. The device according to claim 16, characterized in that, the determination module is configured to: based on the coding rate, the target channel noise variance, and the number of rows and columns of the base matrix, in the order from the central column to the first column of the base matrix, perform the following operations on each column between the central column and the first column in turn: determine the power solution of the corresponding column by solving the asymptotic state evolution function, add the power solution of the corresponding column to a reference power to obtain the initial value of the corresponding column, and use the initial value of the corresponding column to determine the power solution of the next column, where the reference power is a preset value greater than 0, the first column is the leftmost first column or the rightmost first column of the base matrix, the central column is the column at the central position between the leftmost first column and the rightmost first column of the base matrix, and the initial values of each column between the central column and the first column are in a non-decreasing trend; determine the initial value of each column in the other columns of the base matrix based on the initial values of each column between the central column and the first column of the base matrix, and the initial values of each column between the central column and the last column are also in a non-decreasing trend, where the last column is the column farthest from the first column in the base matrix; wherein, the initial value of any non-zero term in the base matrix is equal to the initial value of the column to which the corresponding non-zero term belongs.

18. The device according to claim 16, characterized in that, the determination module is configured to: determine the total initial value of the base matrix based on the initial values of each non-zero term in the base matrix; adjust the initial value of the non-zero term in the base matrix based on the power threshold and the total initial value of the base matrix to obtain the intermediate value of the non-zero term in the base matrix.

19. The device according to claim 16, characterized in that, The median values of different non-zero terms in the same column of the basis matrix are the same, and the median values of the non-zero terms from the leftmost first column to the non-zero terms in the central column of the basis matrix are the same as the median values of the non-zero terms from the rightmost first column to the non-zero terms in the central column of the basis matrix. The central column is the column at the central position between the leftmost first column and the rightmost first column of the basis matrix, and the median values of the non-zero terms from the leftmost first column to the non-zero terms in the central column of the basis matrix show a non-increasing trend; The determining module is configured to: Determine a power threshold based on the maximum value and the minimum value among the median values of the non-zero terms in the basis matrix. The power threshold is between the maximum value and the minimum value. The columns in the basis matrix where the median values of the non-zero terms are between the maximum value and the power threshold are the N columns closest to the left and right sides respectively; Determine the N columns closest to the left and right sides respectively in the basis matrix as the first type of columns, and determine the columns in the basis matrix other than the first type of columns as the second type of columns; Determine the first power and the second power based on the power threshold; Wherein, the value of each non-zero term in each column of the first type of columns is the first power, and the value of each non-zero term in each column of the second type of columns is the second power. When the power threshold indicates the average transmission power threshold of the codeword, the first power is greater than the average transmission power threshold, and the second power is less than the average transmission power threshold.

20. A decoding device, Characterized in that, The device includes: A decoding module for decoding based on a basis matrix; The basis matrix is a matrix with the number of rows greater than or equal to the number of columns. The elements on the main diagonal of the basis matrix, or the elements on the main diagonal and one or more consecutive diagonals below the main diagonal and adjacent to the main diagonal are all non-zero terms, and the remaining elements are all zero terms. The main diagonal is the diagonal composed of the elements with the same row position and column position in the basis matrix. The basis matrix includes a first non-zero term and a second non-zero term. The first non-zero term is closer to the outside of the basis matrix than the second non-zero term, and the value of the first non-zero term is greater than the value of the second non-zero term.

21. A communication device, Characterized in that, The device includes a memory and a processor; The memory is used to store a program for supporting the device to execute the method according to any one of claims 1-9, and to store data involved in implementing the method according to any one of claims 1-9; The processor is configured to execute the program stored in the memory.

22. A communication device, Characterized in that, The device includes a memory and a processor; The memory is used to store a program for supporting the device to execute the method according to claim 10, and to store data involved in implementing the method according to claim 10; The processor is configured to execute the program stored in the memory.

23. A computer-readable storage medium, Characterized in that, A bitstream is stored in the computer-readable storage medium. The bitstream includes codewords, and each codeword includes a first symbol and a second symbol. The power of the first symbol is greater than that of the second symbol, and the first symbol is closer to both ends of the codeword than the second symbol.