RaptorQ code precoding matrix construction method, apparatus, storage medium, and terminal
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-07-26
- Publication Date
- 2026-08-14
AI Technical Summary
[0004]本发明所要解决的技术问题是现有的RaptorQ码编译中对预编码矩阵的求逆过程复杂度高,译码耗长
[0031]应用本发明实施例提供的RaptorQ码预编码矩阵构造方法,通过设置可降低计算量的掩模矩阵,并基于掩模矩阵对高密度奇偶校验矩阵进行掩模操作,从而有效降低矩阵密度,在不损失系统编译码性能的前提下减少了矩阵求逆运算所需的译码耗时,提高系统的吞吐量性能,复杂度低,可应用于各类对功耗要求较高的终端中。
Smart Images

Figure CN115694519B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication technology, and in particular to a method and apparatus for constructing a RaptorQ code precoding matrix, a storage medium, and a terminal. Background Technology
[0002] Fountain codes were designed to address the performance degradation caused by channel deletion. Their most significant characteristic is rate-less coding, meaning the encoder can generate an unlimited number of coded symbols, and the decoder only needs to receive a sufficient number of these symbols to reconstruct the data, regardless of which symbols were collected or their order. Therefore, the encoder can continuously generate coded symbols like a fountain until the decoder can successfully reconstruct the original file.
[0003] Raptor codes were first proposed by Amin Shokrollahi. As a type of fountain code, Raptor codes evolved from LT codes. Compared to LT codes, Raptor codes are systematic codes with higher transmission efficiency. Raptor codes are currently widely used in many fields such as wireless real-time multimedia transmission, file distribution, and satellite communication. R10 Raptor codes and RaptorQ codes are two typical Raptor code technologies. RaptorQ codes inherit the basic architecture and encoding / decoding process of R10 Raptor codes, with the main difference being the generation process of the pre-encoding (decoding) matrix. Unlike R10 Raptor codes, the HDPC matrix in RaptorQ codes belongs to the GF(256) field. GF is an abbreviation for Galois Field, which can be referred to as the Galois field or finite field in Chinese. The advantage of using a multi-domain matrix is that when there are only 1-2 redundant symbols, the packet loss rate of the system will be significantly reduced. However, its drawbacks are also obvious. The most critical module in the RaptorQ code compilation process is the inversion of the precoding matrix, which has the highest algorithm complexity, accounting for more than 90% of the entire decoding process time. The use of multi-domain matrices has led to a significant increase in computational complexity. Summary of the Invention
[0004] The technical problem to be solved by this invention is that the inversion process of the precoding matrix in the existing RaptorQ code compilation is highly complex and the decoding process is time-consuming.
[0005] To address the aforementioned technical problems, this invention provides a method for constructing a RaptorQ code precoding matrix, comprising:
[0006] An initial mask matrix is generated based on the set mask parameters, and the initial mask matrix is used as the operation mask matrix;
[0007] Based on the operation mask matrix, a mask operation is performed on the preset high-density parity check matrix to obtain the mask parity check matrix, and the loop count N is incremented by 1;
[0008] A temporary precoding matrix is constructed based on the mask parity check matrix, the preset low-density parity check matrix, the preset identity matrix, and the preset LT coding matrix.
[0009] Determine whether the temporary precoding matrix is invertible. If it is invertible, use the temporary precoding matrix as the RaptorQ code precoding matrix. Otherwise, determine whether the number of iterations N is less than a preset threshold. If so, perform a continuation operation on the operation mask matrix to obtain a new operation mask matrix. Then, perform a mask operation on the preset high-density parity check matrix based on the new operation mask matrix. Otherwise, end the construction of the current RaptorQ code precoding matrix.
[0010] The initial mask matrix is: B = [b i,j ], b i,j ∈[0,1], 1≤i≤H, 1≤j≤LH, H is the number of rows of the preset high-density parity check matrix, LH is the number of columns of the preset high-density parity check matrix, and the initial value of N is 0;
[0011] Furthermore, performing a mask operation on the preset high-density parity check matrix based on the operation mask matrix includes: if the preset high-density parity check matrix is G HDPC Then the mask parity check matrix is
[0012] Preferably, generating the initial mask matrix based on the set mask parameters includes:
[0013] Set the column weights of the mask matrix;
[0014] When the column weights of the mask matrix are the same, an initial mask matrix is generated by a binary sequence of the same column weights.
[0015] When the mask matrix has different column weights, the initial mask matrix is generated by a binary different column weight sequence generation method.
[0016] Preferably, generating the initial mask matrix using a binary identical column re-sequence generation method includes:
[0017] When the column weight of the mask matrix is h, determine whether the number of columns of the preset high-density parity check matrix is less than or equal to the number of columns in the combination. If so, an initial mask matrix of dimension H×(LH) is generated using the binary identical column repetition sequence generation method; otherwise, an initial mask matrix of dimension H×(LH) is generated using the binary identical column repetition sequence generation method. An intermediate mask matrix is obtained, and then all columns of the intermediate mask matrix are arranged in sequence to form an initial mask matrix with dimension H×(LH).
[0018] Preferably, the binary identical column repetition sequence generation method is a binary anti-Gray sequence generation method or a binary Gray sequence generation method.
[0019] Preferably, generating the initial mask matrix using a binary different column resequence generation method includes:
[0020] Determine whether the number of columns in the preset high-density parity check matrix is less than or equal to 2. H -1, if so, then generate an initial mask matrix of dimension H×(LH) using the binary different column reorder generation method; otherwise, generate an initial mask matrix of dimension H×(2) using the binary different column reorder generation method. H The intermediate mask matrix is obtained by repeating all columns of the intermediate mask matrix in sequence to form an initial mask matrix with dimension H×(LH).
[0021] Preferably, the binary different column repetition sequence generation method is a binary enumeration sequence generation method.
[0022] To solve the above-mentioned technical problems, the present invention also provides a RaptorQ code precoding matrix construction device, characterized in that it includes an initial mask matrix module, a mask parity check matrix module, a temporary precoding matrix module, and a judgment module;
[0023] The initial mask matrix module is used to generate an initial mask matrix based on the set mask parameters, and to use the initial mask matrix as the operation mask matrix. The initial mask matrix is: B = [b i,j ], b i,j ∈[0,1], 1≤i≤H, 1≤j≤LH, where H is the number of rows in the preset high-density parity check matrix and LH is the number of columns in the preset high-density parity check matrix;
[0024] The mask parity check matrix module is used to perform a mask operation on the preset high-density parity check matrix based on the operation mask matrix to obtain the mask parity check matrix, and increment the loop count N by 1, with the initial value of N being 0. The mask operation on the preset high-density parity check matrix based on the operation mask matrix includes: if the preset high-density parity check matrix is G... HDPC Then the mask parity check matrix is
[0025] The temporary precoding matrix module is used to construct a temporary precoding matrix based on the mask parity check matrix, a preset low-density parity check matrix, a preset identity matrix, and a preset LT coding matrix.
[0026] The judgment module is used to determine whether the temporary precoding matrix is invertible. If it is invertible, the temporary precoding matrix is used as the RaptorQ code precoding matrix. Otherwise, it is determined whether the number of iterations N is less than a preset threshold. If so, the operation mask matrix is extended to obtain a new operation mask matrix. Then, a mask operation is performed on the preset high-density parity check matrix based on the new operation mask matrix. Otherwise, the construction of the current RaptorQ code precoding matrix ends.
[0027] To address the aforementioned technical problems, the present invention also provides a storage medium storing a computer program that, when executed by a processor, implements the RaptorQ code precoding matrix construction method.
[0028] To solve the above-mentioned technical problems, the present invention also provides a solution comprising: a processor and a memory;
[0029] The memory is used to store computer programs, and the processor is used to execute the computer programs stored in the memory to enable the terminal to perform the RaptorQ code precoding matrix construction method as described above.
[0030] Compared with the prior art, one or more embodiments of the above solutions may have the following advantages or beneficial effects:
[0031] The RaptorQ code precoding matrix construction method provided in this embodiment of the invention effectively reduces matrix density by setting a mask matrix that reduces computational load and performing mask operations on a high-density parity check matrix based on the mask matrix. This reduces the decoding time required for matrix inversion without sacrificing system encoding and decoding performance, thereby improving system throughput performance. It has low complexity and can be applied to various terminals with high power consumption requirements.
[0032] Other features and advantages of the invention will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention may be realized and obtained by means of the structures particularly pointed out in the description, claims, and drawings. Attached Figure Description
[0033] The accompanying drawings are provided to further illustrate the invention and form part of the specification. They are used in conjunction with the embodiments of the invention to explain the invention and do not constitute a limitation thereof. In the drawings:
[0034] Figure 1A schematic diagram of the RaptorQ code precoding matrix construction method according to Embodiment 1 of the present invention is shown;
[0035] Figure 2 A schematic diagram of the RaptorQ code precoding matrix structure according to Embodiment 1 of the present invention is shown;
[0036] Figure 3 The error rate-deletion rate performance of decoding using the RaptorQ code precoding matrix method of the present invention is shown when the number of source symbols K is 301 and the overhead is 0.
[0037] Figure 4 The frame error rate-deletion rate performance of decoding using the RaptorQ code precoding matrix method of this invention is shown when the number of source symbols K is 301 and the overhead is 1.
[0038] Figure 5 The error rate-deletion rate performance of decoding using the RaptorQ code precoding matrix method of this invention is shown when the source symbol number K is 1002 and the overhead is 0.
[0039] Figure 6 The error rate-deletion rate performance of decoding using the RaptorQ code precoding matrix method of this invention is shown when the source symbol number K is 1002 and the overhead is 1.
[0040] Figure 7 The decoding time performance of the RaptorQ code precoding matrix method of the present invention is shown when the number of source symbols K is 301 and the overhead is 0.
[0041] Figure 8 The decoding time performance of the RaptorQ code precoding matrix method of the present invention is shown when the number of source symbols K is 301 and the overhead is 1.
[0042] Figure 9 A schematic diagram of the structure of the RaptorQ code precoding matrix construction device according to Embodiment 2 of the present invention is shown;
[0043] Figure 10 A schematic diagram of the terminal structure of Embodiment 4 of the present invention is shown. Detailed Implementation
[0044] The embodiments of the present invention will be described in detail below with reference to the accompanying drawings and examples, so that the process of how the present invention uses technical means to solve technical problems and achieve technical effects can be fully understood and implemented accordingly. It should be noted that, as long as there is no conflict, the various embodiments and features in the various embodiments of the present invention can be combined with each other, and the resulting technical solutions are all within the protection scope of the present invention.
[0045] The current RaptorQ code shares the same basic architecture and encoding / decoding process as the R10 Raptor code, but its HDPC matrix belongs to the GF(256) field, meaning it uses a multi-field matrix. This significantly reduces the packet loss rate when there are only 1-2 redundant symbols. However, the most crucial module in the RaptorQ code compilation process is the inversion of the precoding matrix, which has the highest algorithm complexity, accounting for over 90% of the entire decoding process time. The use of a multi-field matrix leads to a substantial increase in computational complexity.
[0046] Example 1
[0047] To address the technical problems existing in the prior art, this invention provides a method for constructing a RaptorQ code precoding matrix.
[0048] Figure 1 A schematic diagram of the RaptorQ code precoding matrix construction method according to Embodiment 1 of the present invention is shown; see reference. Figure 1 As shown, the RaptorQ code precoding matrix construction method of this invention includes the following steps.
[0049] Step S101: Generate an initial mask matrix based on the set mask parameters, and use the initial mask matrix as the operation mask matrix.
[0050] Specifically, some necessary parameters need to be set before constructing the RaptorQ code precoding matrix. For example, the column weights of the mask matrix and whether the column weights are the same need to be set. Furthermore, the high-density parity check matrix of the RaptorQ code precoding matrix to be constructed needs to be defined, and the high-density parity check matrix of the RaptorQ code precoding matrix to be constructed needs to be set to the preset high-density parity check matrix G. HDPC Furthermore, the dimension of the preset high-density parity-check matrix is set to H×(LH). The specific process for obtaining the preset high-density parity-check matrix for constructing the RaptorQ code precoding matrix will be discussed in subsequent steps.
[0051] At the same time, the concept of a mask matrix needs to be defined. Specifically, the concept of a mask matrix is: assuming there exists an M×N dimensional matrix Z = [z i,j ], where z i,j The mask matrix can take values in a binary and / or multi-dimensional domain, 1≤i≤M, 1≤j≤N; the mask matrix is defined as an M×N dimensional binary matrix B=[b i,j ], where b i,j ∈[0,1], 1≤i≤M, 1≤j≤N; then the mask matrix of Z to B is Mask. Z =[m i,j It can be written as This represents the element-wise multiplication operation between matrix elements.
[0052] Then, an initial mask matrix is generated based on the set column weights of the mask matrix and a preset high-density parity check matrix. Specifically, when the column weights of the mask matrix are the same, the initial mask matrix is generated using a binary sequence of the same column weights. Further, if the column weight of the mask matrix is h, it is necessary to determine whether the number of columns H×(LH) of the preset high-density parity check matrix is less than or equal to the number of columns in the combination. like Then, an initial mask matrix B of dimension H×(LH) needs to be generated using the binary identical column re-sequence generation method; otherwise, an initial mask matrix B of dimension H×(LH) needs to be generated first using the binary identical column re-sequence generation method. The intermediate mask matrix B′ is then formed by repeating all columns of the intermediate mask matrix B′ in sequence to construct an initial mask matrix B of dimension H×(LH). This involves repeating the intermediate mask matrix B′. This yields an initial mask matrix B with dimension H×(LH). It should be noted that the intermediate mask matrix B′ may not be a multiple of the initial mask matrix B. Therefore, when the intermediate mask matrix B′ is repeated for the last time, columns within the range of the initial mask matrix B should be retained, while columns outside the range of the initial mask matrix B should be deleted. Preferably, the binary identical column repetition sequence generation method is a binary anti-Gray sequence generation method or a binary Gray sequence generation method.
[0053] When the mask matrix has different column weights, an initial mask matrix is generated using a binary sequence generation method with different column weights. Further, it is necessary to determine whether the number of columns H×(LH) of the preset high-density parity check matrix is less than or equal to combination 2. H -1, if H×(LH)≤2 H If the value is -1, an initial mask matrix B of dimension H×(LH) needs to be generated using the binary different column reorder generation method; otherwise, an initial mask matrix B of dimension H×2 needs to be generated using the binary different column reorder generation method. H The intermediate mask matrix B′ with no repeating columns is initially constructed by repeating all columns of the intermediate mask matrix B′ in sequence to form an initial mask matrix B of dimension H×(LH). This process involves repeating the intermediate mask matrix B′. This yields an initial mask matrix B with dimension H×(LH). It should be noted that the intermediate mask matrix B′ may not be a multiple of the initial mask matrix B. Therefore, when the intermediate mask matrix B′ is repeated for the last time, columns within the range of the initial mask matrix B should be retained, while columns outside the range of the initial mask matrix B should be deleted. Preferably, the binary different column reordering sequence is generated using a binary enumeration sequence generation method.
[0054] The initial mask matrix B obtained at this point (in cases where the column weights of the mask matrix are the same or different) will be used as the operation mask matrix for subsequent mask operations.
[0055] Step S102: Perform a mask operation on the preset high-density parity check matrix based on the operation mask matrix to obtain the mask parity check matrix, and increment the loop count N by 1.
[0056] Specifically, referring to the concept of a mask matrix, the preset high-density parity check matrix G is... HDPC Perform masking operations. Furthermore, based on the operation mask matrix B obtained above, apply the preset high-density parity check matrix G... HDPC Perform masking operations to obtain the mask parity check matrix. That is, the mask parity check matrix is Furthermore, when the i-th row and j-th column of the mask matrix B is zero, G will be... HDPC The corresponding positions in the matrix are also replaced with zeros, finally yielding the mask parity check matrix. Furthermore, in this step, it is also necessary to count the number of iterations in certain steps during the construction of the RaptorQ code precoding matrix. That is, the number of iterations N is incremented by 1 each time this step is executed, and the initial value of N is set to 0.
[0057] Step S103: Construct a temporary precoding matrix based on the mask parity check matrix, the preset low-density parity check matrix, the preset identity matrix, and the preset LT coding matrix.
[0058] Figure 2 A schematic diagram of the RaptorQ code precoding matrix structure according to Embodiment 1 of the present invention is shown; Reference Figure 2 As shown, assume the structure of the RaptorQ code precoding matrix is denoted as A. mask Among them, G LDPC1 It is an S×B low-density parity check matrix, which is essentially composed of It consists of S cyclic submatrices with S columns, for example, the column weight of a submatrix can be 3; I S and I H G represents the identity matrix with dimensions S×S and H×H, respectively; LDPC2 Let G be an S×(U+H) dimensional permanently deactivated symbol encoding matrix. LDPC2 The first and second columns of the first row are both 1, and the remaining rows are obtained by circularly shifting the first row to the right; G ENC Let G be a K′×(B+S+U+H) dimensional LT coding matrix. All of the above matrices must be obtained before constructing the RaptorQ code precoding matrix; therefore, the above G matrices are sequentially... LDPC1 and G LDPC2 Set as the preset low-density parity-check matrix of the RaptorQ code precoding matrix to be constructed, and set I Sand I H Let G be the identity matrix of the Raptor Q code precoding matrix to be constructed. ENC Set as the LT encoding matrix of the RaptorQ code precoding matrix to be constructed.
[0059] Furthermore, a high-density parity check matrix G is preset. HDPC The generation method is as follows:
[0060] G HDPC =[Δ1|Δ2|…|Δ K′+S-1 |Y]·Γ,
[0061] Γ=[α 0 ,α 1 ,…,α H-2 ,α 0 ]
[0062]
[0063] Where α is the minimal polynomial over GF(256) and x 8 +x 4 +x 3 +x 2 +1 element, Δ1, Δ1…Δ K′+S-1 It is a random sequence with a weight of 2. The meanings of each parameter are explained in Table 1:
[0064] Table 1
[0065]
[0066] Obtaining the mask parity check matrix After setting the low-density parity check matrix, the identity matrix, and the LT coding matrix, a temporary precoding matrix can be constructed based on the above matrices.
[0067] Step S104: Determine whether the temporary precoding matrix is invertible. If it is invertible, proceed to step S105; otherwise, proceed to step S106.
[0068] Step S105: Use the temporary precoding matrix as the Raptor Q code precoding matrix A. mask .
[0069] Specifically, after determining that the temporary precoding matrix is invertible, the current temporary precoding matrix is used as the Raptor Q code precoding matrix A. mask Then, the Raptor Q code precoding matrix A... mask The process involves inversion, encoding, and other steps to complete the RaptorQ encoding operation on the source data symbols and generate encoded symbols.
[0070] Step S106: Determine whether the number of loops N is less than a preset threshold. If yes, proceed to step S107; otherwise, proceed to step S108.
[0071] Specifically, to avoid excessive iterations or meaningless infinite repetitions in the process of constructing the RaptorQ code precoding matrix, the number of iterations needs to be limited, i.e., a preset threshold needs to be set. During each iteration, the iteration count N needs to be determined. If the iteration count N is less than the preset threshold, proceed to step S107; otherwise, proceed to step S108.
[0072] Step S107: Perform a continuation operation on the operation mask matrix to obtain a new operation mask matrix, and then proceed to step S102.
[0073] Specifically, performing a continuation operation on the operation mask matrix essentially means moving the last column of the current operation mask matrix before the first column, that is, moving the first column of the current operation mask matrix to the end as the second column, and the original last column as the new first column, and so on.
[0074] Step S108: End the construction of the current RaptorQ code precoding matrix.
[0075] Specifically, when the number of iterations N is not less than the preset threshold, it means that the number of iterations N has exceeded the set range and the construction of the RaptorQ code precoding matrix cannot be realized. At this time, the construction of the current RaptorQ code precoding matrix ends.
[0076] To provide a more detailed explanation of the RaptorQ code precoding matrix construction method of the present invention, the following describes the mask parity check matrix generation process for two cases: the same column weight and different column weights.
[0077] In the first case, the column weights are the same.
[0078] 1) Assume H = 4, column weight h = 2;
[0079] First, generate a high-density parity check matrix G in the GF(256) field. HDPC1 ,Right now
[0080]
[0081] Next, a 4×6 dimensional intermediate mask matrix B′ with column weight h=2 is generated using the binary anti-Gray sequence generation method. The method for generating binary anti-Gray sequences with the same column weight is as follows: First, for all positive integers i (i=1,2,...,2...), ... H ) Calculate sequentially The resulting b[i] sequence is the enumerated binary Gray sequence. Next, the resulting enumerated binary Gray sequence is bit-inverted, i.e., "1" becomes "0" and "0" becomes "1", resulting in the enumerated binary inverse Gray sequence. Finally, a subset of sequences with column weight h = 2 is selected sequentially or randomly from the enumerated binary inverse Gray sequence as the final intermediate mask matrix. The generated intermediate mask matrix B′ can be expressed as:
[0082]
[0083] Then, mask matrix B is constructed based on the intermediate mask matrix B′. Since G HDPC1 Since the number of columns is 14, the intermediate mask matrix B' needs to be iterated 3 times. The last iteration only takes the first 2 columns of the intermediate mask matrix B'. The constructed mask matrix B is...
[0084]
[0085] Finally, the mask matrix B and G are compared. HDPC1 Performing element-wise dot products on the matrix yields the mask parity check matrix.
[0086] 2)G HDPC2 For an H×(LH) dimensional matrix, when K′=30, H=10, S=11, and column weight h=3, since L=K′+S+H, G is... HDPC2 The number of columns in the matrix LH = K′ + S = 41 is less than Therefore, a mask matrix B of dimension H×(LH) can be directly generated by enumerating the binary anti-Gray sequence generation method, and then by applying G... HDPC2 After performing a mask operation to obtain a density reduction Matrix. G HDPC2 The generation method is the same as G HDPC1 Similarities will not be elaborated upon here.
[0087] The second scenario involves different column weights;
[0088] Still using H=4 and G in the first case HDPC1 For example, the column weight can be 1 to 4, resulting in 2 columns. 4 The mask matrix is -1 = 15, since G is at this time HDPC1 Since the number of columns LH is less than 15, the mask matrix B can be directly generated using the binary enumeration sequence generation method as follows:
[0089]
[0090] Then compare the mask matrix B with G HDPC1Performing element-wise dot products on the matrix yields the masked matrix.
[0091]
[0092] To provide a more detailed explanation of the RaptorQ code precoding matrix construction method of the present invention, the following analysis and illustration are provided using several practical examples of the RaptorQ code precoding matrix construction method of the present invention.
[0093] Figure 3 The error rate-deletion rate performance of decoding using the RaptorQ code precoding matrix method of the present invention is shown when the number of source symbols K is 301 and the overhead is 0. Figure 4 The error rate-deletion rate performance of decoding using the RaptorQ code precoding matrix method of this invention is shown when the source symbol number K is 301 and the overhead is 1; from Figure 3 and Figure 4 It can be observed that the frame error rate performance of the RaptorQ code precoding matrix generated by the method of this embodiment with column weights of 3, 4, 5, and 6 is almost the same as the baseline performance of the RFC6330 RaptorQ code with a column weight of 10. Figure 5 The error rate-deletion rate performance of decoding using the RaptorQ code precoding matrix method of this invention is shown when the source symbol number K is 1002 and the overhead is 0. Figure 6 The error rate-deletion rate performance of decoding using the RaptorQ code precoding matrix method of this invention is shown when the source symbol number K is 1002 and the overhead is 1; from Figure 5 and Figure 6 The same conclusion can be drawn from this. This also shows that the RaptorQ code precoding matrix generated based on the method of this invention has a wide range of applications and can achieve good performance for source information blocks K of different lengths. Figure 7 The decoding time performance of the RaptorQ code precoding matrix method of this invention is shown when the source symbol number K is 301 and the overhead is 0; Reference Figure 7 It can be seen that the RaptorQ code precoding matrices generated by the method of the present invention with different column weights all have less decoding time than the traditional RFC6330 RaptorQ scheme. For example, when the channel deletion rate is 0.2 and the column weight is 3, the decoding time of the method of the present invention can be reduced by about 30%, and the decoding time of other mask schemes with different column weights is also reduced by more than 15%. Figure 8 The decoding time performance of the RaptorQ code precoding matrix method of this invention is shown when the source symbol number K is 301 and the overhead is 1; Reference Figure 8 As shown, the decoding time of the matrix mask scheme with a column weight of 3 can also be reduced by more than 30%.
[0094] The RaptorQ code precoding matrix construction method provided in this invention reduces the computational load by setting a mask matrix and performing mask operations on a high-density parity check matrix based on the mask matrix. This effectively reduces the matrix density, decreases the decoding time required for matrix inversion without sacrificing system encoding and decoding performance, improves system throughput performance, and has low complexity. It can be applied to various terminals with high power consumption requirements.
[0095] Example 2
[0096] To address the technical problems existing in the prior art, embodiments of the present invention provide a RaptorQ code precoding matrix construction device.
[0097] Figure 9 A schematic diagram of the structure of the RaptorQ code precoding matrix construction device according to Embodiment 2 of the present invention is shown; see reference. Figure 9 As shown, the RaptorQ code precoding matrix construction device of Embodiment 2 of the present invention includes an initial mask matrix module, a mask parity check matrix module, a temporary precoding matrix module, and a judgment module.
[0098] The initial mask matrix module is used to generate an initial mask matrix based on the set mask parameters, and uses the initial mask matrix as the operation mask matrix. The initial mask matrix is: B = [b i,j ], b i,j ∈[0,1], 1≤i≤H, 1≤j≤LH, H is the number of rows of the preset high-density parity check matrix, LH is the number of columns of the preset high-density parity check matrix, and the initial value of N is 0.
[0099] The mask parity check matrix module is used to perform mask operations on a preset high-density parity check matrix based on the operation mask matrix to obtain the mask parity check matrix, and increment the loop count N by 1, with the initial value of N being 0; the mask operation on the preset high-density parity check matrix based on the operation mask matrix includes: if the preset high-density parity check matrix is G HDPC Then the mask parity check matrix is
[0100] The temporary precoding matrix module is used to construct a temporary precoding matrix based on the mask parity check matrix, a preset low-density parity check matrix, a preset identity matrix, and a preset LT coding matrix.
[0101] The judgment module is used to determine whether the temporary precoding matrix is invertible. If it is invertible, the temporary precoding matrix is used as the RaptorQ code precoding matrix. Otherwise, it is determined whether the number of loops N is less than a preset threshold. If so, the operation mask matrix is extended to obtain a new operation mask matrix. Then, a mask operation is performed on the preset high-density parity check matrix based on the new operation mask matrix. Otherwise, the construction of the current RaptorQ code precoding matrix ends.
[0102] The RaptorQ code precoding matrix construction method provided in this invention reduces the computational load by setting a mask matrix and performing mask operations on a high-density parity check matrix based on the mask matrix. This effectively reduces the matrix density, decreases the decoding time required for matrix inversion without sacrificing system encoding and decoding performance, improves system throughput performance, and has low complexity. It can be applied to various terminals with high power consumption requirements.
[0103] Example 3
[0104] To address the aforementioned technical problems in the prior art, this embodiment of the invention also provides a storage medium storing a computer program that, when executed by a processor, can implement all the steps in the RaptorQ code precoding matrix construction method of Embodiment 1.
[0105] The specific steps of the RaptorQ code precoding matrix construction method and the beneficial effects obtained by applying the readable storage medium provided in this embodiment are the same as in Embodiment 1, and will not be repeated here.
[0106] It should be noted that storage media include various media that can store program code, such as ROM, RAM, magnetic disks, or optical disks.
[0107] Example 4
[0108] To address the aforementioned technical problems in the prior art, embodiments of the present invention also provide a terminal.
[0109] Figure 10 A schematic diagram of the terminal structure of Embodiment 4 of the present invention is shown, with reference to... Figure 10 As shown, the terminal in this embodiment includes a processor and a memory connected to each other; the memory is used to store computer programs, and the processor is used to execute the computer programs stored in the memory, so that the terminal can implement all the steps in the RaptorQ code precoding matrix construction method of Embodiment 1 when it is executed.
[0110] The specific steps of the RaptorQ code precoding matrix construction method and the beneficial effects obtained by the terminal provided by the application of the present invention are the same as those in Embodiment 1, and will not be repeated here.
[0111] It should be noted that the memory may include random access memory (RAM) and may also include non-volatile memory, such as at least one disk storage device. Similarly, the processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0112] While the embodiments disclosed in this invention are as described above, the content is merely for the purpose of facilitating understanding of the invention and is not intended to limit the invention. Any person skilled in the art to which this invention pertains may make any modifications and changes in form and detail of the implementation without departing from the spirit and scope disclosed herein; however, the scope of protection of this invention shall still be determined by the scope defined in the appended claims.
Claims
1. A method for constructing a RaptorQ code precoding matrix, comprising: An initial mask matrix is generated based on the set mask parameters, and the initial mask matrix is used as the operation mask matrix; Based on the operation mask matrix, a mask operation is performed on the preset high-density parity check matrix to obtain the mask parity check matrix, and the loop count N is incremented by 1; A temporary precoding matrix is constructed based on the mask parity check matrix, the preset low-density parity check matrix, the preset identity matrix, and the preset LT coding matrix. Determine whether the temporary precoding matrix is invertible. If it is invertible, use the temporary precoding matrix as the RaptorQ code precoding matrix. Otherwise, determine whether the number of iterations N is less than a preset threshold. If so, perform a continuation operation on the operation mask matrix to obtain a new operation mask matrix. Then, perform a mask operation on the preset high-density parity check matrix based on the new operation mask matrix. Otherwise, end the construction of the current RaptorQ code precoding matrix. The initial mask matrix is: B = [b i,j ], b i,j ∈[0,1], 1≤i≤H, 1≤j≤LH, H is the number of rows of the preset high-density parity check matrix, LH is the number of columns of the preset high-density parity check matrix, and the initial value of N is 0; Furthermore, performing a mask operation on the preset high-density parity check matrix based on the operation mask matrix includes: if the preset high-density parity check matrix is G HDPC Then the mask parity check matrix is 2. The method according to claim 1, characterized in that, The initial mask matrix is generated based on the set mask parameters, including: Set the column weights of the mask matrix; When the column weights of the mask matrix are the same, an initial mask matrix is generated by a binary sequence of the same column weights. When the mask matrix has different column weights, the initial mask matrix is generated by a binary different column weight sequence generation method.
3. The method according to claim 2, characterized in that, The initial mask matrix is generated using a binary identical column re-sequence generation method, including: When the column weight of the mask matrix is h, determine whether the number of columns of the preset high-density parity check matrix is less than or equal to the number of columns in the combination. If so, an initial mask matrix of dimension H×(LH) is generated using the binary identical column repetition sequence generation method; otherwise, an initial mask matrix of dimension H×(LH) is generated using the binary identical column repetition sequence generation method. An intermediate mask matrix is obtained, and then all columns of the intermediate mask matrix are arranged in sequence to form an initial mask matrix with dimension H×(LH).
4. The method according to claim 3, characterized in that, The binary identical column repetition sequence generation method is either a binary anti-Gray sequence generation method or a binary Gray sequence generation method.
5. The method according to claim 2, characterized in that, The initial mask matrix is generated using a binary re-sequence generation method involving different columns, including: Determine whether the number of columns in the preset high-density parity check matrix is less than or equal to 2. H -1, if so, then generate an initial mask matrix of dimension H×(LH) using the binary different column reorder generation method; otherwise, generate an initial mask matrix of dimension H×(2) using the binary different column reorder generation method. H The intermediate mask matrix is obtained by repeating all columns of the intermediate mask matrix in sequence to form an initial mask matrix with dimension H×(LH).
6. The method according to claim 5, characterized in that, The method for generating binary different column heavy sequences is a binary enumeration sequence generation method.
7. The method according to claim 1, characterized in that, The continuation operation on the operation mask matrix includes: Move the last column of the operation mask matrix before the first column.
8. A device for constructing a RaptorQ code precoding matrix, characterized in that, It includes an initial mask matrix module, a mask parity check matrix module, a temporary precoding matrix module, and a judgment module; The initial mask matrix module is used to generate an initial mask matrix based on the set mask parameters, and to use the initial mask matrix as the operation mask matrix. The initial mask matrix is: B = [b i,j ], b i,j ∈[0,1], 1≤i≤H, 1≤j≤LH, where H is the number of rows in the preset high-density parity check matrix and LH is the number of columns in the preset high-density parity check matrix; The mask parity check matrix module is used to perform a mask operation on a preset high-density parity check matrix based on the operation mask matrix to obtain a mask parity check matrix, and increment the loop count N by 1, with the initial value of N being 0. The mask operation on the preset high-density parity check matrix based on the operation mask matrix includes: if the preset high-density parity check matrix is G... HDPC Then the mask parity check matrix is The temporary precoding matrix module is used to construct a temporary precoding matrix based on the mask parity check matrix, a preset low-density parity check matrix, a preset identity matrix, and a preset LT coding matrix. The judgment module is used to determine whether the temporary precoding matrix is invertible. If it is invertible, the temporary precoding matrix is used as the RaptorQ code precoding matrix. Otherwise, it is determined whether the number of iterations N is less than a preset threshold. If so, the operation mask matrix is extended to obtain a new operation mask matrix. Then, a mask operation is performed on the preset high-density parity check matrix based on the new operation mask matrix. Otherwise, the construction of the current RaptorQ code precoding matrix ends.
9. A storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the program implements the RaptorQ code precoding matrix construction method as described in any one of claims 1 to 7.
10. A terminal, characterized in that, include: Processor and memory; The memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory to cause the terminal to perform the RaptorQ code precoding matrix construction method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Encoding method for low-density parity check matrix
CN104426553A
Speed-compatible and low-density parity check code coding and encoding method and codec
CN107947802A